본문 바로가기
Hardware/실습

simplescalar[1] - simplescalar란?

by je0nsye0n 2023. 8. 11.

SimpleScalar는 CPU, cache 및 memory hirachy등 가상 컴퓨터 시스템을 모델링하는 일련의 도구입니다. SimpleScalar 도구를 사용하여 모델링 애플리케이션을 구축하거나 프로세서 및 시스템에서 실행되는 실제 프로그램을 시뮬레이션 할 수 있습니다. 이 도구 내에는 빠른 기능 시뮬레이터부터 논블로킹 캐시, 추측 실행 및 분기 예측을 지원하는 동적 스케줄 프로세서 모델까지 다양한 샘플 시뮬레이터가 포함되어 있으며 시각화 도구, 통계 분석 리소스, 디버그 및 검증 인프라가 모두 포함되어 있습니다. 

 

또한, SImpleScalar는 Alpha와 PISA(Portable ISA) 명령어 집합 아키텍처를 시뮬레이션할 수 있습니다. Alpha 아키텍처는 고성능 RISC 기반 아키텍처이며, PISA는 교육 및 연구 목적으로 개발된 간단한 명령어 집합 아키텍처입니다.

 

마이크로아키텍쳐 시뮬레이터

SimpleScalar 도구 세트에는 다양한 수준의 디테일에서 마이크로프로세서를 시뮬레이트하는 일련의 마이크로아키텍쳐 시뮬레이터가 포함되어 있습니다.

 

1. sim-fast : 속도 최적화된 명령어 해석기

- 파이프라인, 캐시 또는 마이크로아키텍처의 다른 부분의 동작을 고려하지 않습니다.

- 프로그램에서 명령어의 실행 순서대로 실행하면서 기능 시뮬레이션만 수행합니다.

 

2.  sim-safe : 느린 명령어 해석기

- 모든 메모리 작업에 대해 메모리 정렬 및 메모리 접근 권한을 확인합니다. 

- 시뮬레이션된 프로그램이 sim-fast를 설명 없이 충돌시키는 경우 이 시뮬레이터를 사용할 수 있습니다.

 

3. sim-profile : 명령어 해석기 및 프로파일러

- 동적 명령어 카운트, 명령어 클래스 카운트, 주소 모드 사용 및 텍스트 및 데이터 세그먼트의 프로파일을 추적하고 보고합니다.

 

4. sim-cache : 메모리 시스템 시뮬레이터

- 다양한 크기와 구성으로 구성할 수 있는 다중 레벨의 명령어 및 데이터 캐시 시스템을 시뮬레이트 할 수 있습니다.

 

5. sim-bpred : 분기 예측기 시뮬레이터

- 다양한 분기 예측 스킴을 시뮬레이션하고 예측 명중률 및 미스율과 같은 결과를 보고합니다.

 

6. sim-outorder : 자세한 마이크로아키텍처 시뮬레이터

- 세부적으로 설계된 및 순서를 무시한 마이크로프로세서를 모델링합니다.

- 분기 예측, 캐시 및 외부 메모리를 포함한 모든 기능이 포함되어 있습니다.

- 매우 매개변수화되어 있으며 다양한 실행 유닛 수를 에뮬레이트할 수 있습니다.

 

reference : 1) www.simplescalar.com

2)  http://www.eecs.umich.edu/~taustin/papers/UWTR97-simple.pdf

3)  http://www.cems.uwe.ac.uk/~rwilliam/ACA_ufeEHK-20-3/simplescalar_article_in_ieee_computer.pdf