- Instruction Set
- Software는 code와 데이터로 이루어져 있다.
- Software Engineer : code를 작성하느 사람
- Machine language : CPU는 Instruction code를 만들어 놓고 제공한다.
- 컴파일 : 프로그래밍 언어로 작성된 프로그램은 컴파일러를 통해 CPU가 제공하는 Instruction code를 기반으로 변경한다.
1. ALU(Arithmetic Logic Unit)
각종 산술 연산과 논리 연산을 수행하는 회로들로 이루어진 하드웨어 모듈
2. Control Unit
컴퓨터의 제어를 담당하며 IODevice, Memory,ALU등의 동작을 제어한다.
3. Register set
내부에 위치한 기억 장치로 CPU에서 Memory로 이동하는 시간을 단축해 빠르게 데이터를 처리할 수 있게 해주는 장치이다.
- 레지스터의 종류
- PC : 다음 실행할 명령어 주소를 가리키는 레지스터
- IR : InstructionRegister의 약자로 가장 최근에 인출한 명령어 보관 레지스터
- 누산기 : Accumulator로 데이터를 일시 보관하는 레지스터
- MAR : CPU가 메모리 참조하기 위해 보관하는 데이터 주소를 가진 레지스터 (Memory Address Resister)
- MBR : CPU가 메모리로부터 읽거나 저장 할 데이터 자체를 보관하는 레지스터 (Memory Buffer Resister)
- Instruction Fetch : 실행 할 명령어를 메모리에서 읽어 CPU로 가져옴
- PC가 가리키는 주소를 MAR로 보낸다.
- MAR에 적힌 주소를 메모리에서 읽어서 MBR에 보낸다.
- MBR에 있는 명령어를 IR에 저장한다.
- 다음 명령어를 가르키도록 PC를 더해준다.
- Instruction Decode : 인출한 명령어에 포함된 데이터를 가져오고 명령, 해독한다.
- Instruction Execution : 명령어를 실행한다.
- MBR의 데이터와 ACC의 데이터로 연산 후 ACC에 저장
- Write Back : 실행결과를 저장한다.
- 파이프라인 : 명령을 여러 단계로 세분화 하여 처리속도를 대폭 증가시킨다.
- 대표적인 파이프라인으로 4단계로 세분화 할 수 있다.
- 명령어 인출, 2.명령어해독, 3.오퍼랜드 인출 4. 명령어 실행
- 하나의 명령을 실행하는데 단계가 n단계로 이루어져 있으면 ncycle이 걸린다 라고 이야기 한다.
- 최근에는 16단계로 세분화 한 파이프라인을 사용하고 있다.