마이크로아키텍처
프로세서 구조
- 데이터패스
- 실제 계산을 담당하는 산술 논리 연상장치(ALU)와 메모리 계층의 여러 요소(레지스터 파일, 캐시, 메모리 장치)가 있다.
- 컨트롤 장치
- 데이터패스를 서로 조율하여 명령어가 오가면서 계산이 이루어지도록 제어한다.
스레드
- 하나의 실행 문맥을 가지며 프로세서를 사용하는 최소 단위
프로세스는 실행 중인 프로그램의 여러 상태를 가지고 하나 이상의 스레드를 가짐으로써 코드를 수행한다.
가상 메모리
- 프로그램마다 독립적인 가상의 연속적인 주소 공간을 할당함으로써 물리적인 메모리 한계를 극복할 뿐만 아니라 운영체제의 안정성도 크게 높여 프로그래밍을 훨씬 쉽게 한다.
마이크로아키텍처란?
- 마이크로프로세서 하나를 만드는 데 필요한 알고리즘 및 회로 수준의 구조를 자세히 정의하는 것을 의미.
- 현대의 마이크로프로세서의 설계는 크게 두 단계로 이루어 진다.
- 설계
- 목표한 성능을 가능케 하는 여러 알고리즘과 테크닉을 개발
- 고안한 아이디어가 합리적인지는 성능 모델을 만들어 평가한다.
- 이것을 평가하는것은 마이크로아키텍처 시뮬레이터라고 불리는 것을 이용한다.
- 실제 칩으로 만들어서 테스트하는것은 현실적으로 무리이기 때문에
- 극단적으로 코딩을 하는 형태라고 봐도 된다.
- 시뮬레이터는 몇 사이클을 아낄 수 있는지, 전력은 얼마나 절약 가능한지 예측하여 알려준다.
- RTL(Register Transfer Language)라는 언어를 사용한다.
- 로직 설계