1. CPU 기본 구조
- CPU에는 레지스터(Register)라는 저장공간이 있음
- 역할: 빠른 실행을 위해
- PC(Program Counter): 다음 실행할 명령어 주소를 가리키는 레지스터
- IR(Instruction Register): 가장 최근에 인출한 명령어 보관 레지스터
- 누산기(ACC, Accumulator): 데이터 일시 보관 레지스터
- MAR(Memory Address Register): CPU가 메모리 참조를 위해 보관하는 데이터 주소를 가진 레지스터
- MBR(Memort Buffer Register): CPU가 메모리로부터 읽거나, 저장할 데이터 자체를 보관하는 레지스터
2. CPU 기본 실행 구조(4가지)
2.1. Instruction Fetch
- 실행할 명령어를 메모리에서 읽어 CPU로 가져온다.
- PC가 가리키는 주소 → MAR
- MAR에 적힌 주소를 메모리(Memory)에서 읽어 → MBR
- MBR에 있는 명령어 → IR 저장
- 다음 명령어를 가리키도록 PC 주소값 증가
2.2. Instruction Decode
- IR에 저장된 인출한 명령어를 해석을 해서 해당 명령어에 포함된 데이터를 가져오고 이 명령어(ex.10h)를 해독하는 과정
- 여기서 "인출한 명령어에 포함된 데이터를 가져온다" 를 CPU 명령어 구조로 파악하자면,
- 실제로 메모리에는 명령어 메모리, 주소 메모리를 따로 가지고 있지는 않다. 그냥 하나의 메모리에 명령어와 필요한 주소 데이터, 즉 인자(Argument)를 작성 해놓는다. (= 기본적으로 하나의 명령은 opcode + argument(operand)) 구조이다.
- 그러면 실제로 이 부분은 아래 빨간 네모 박스처럼 RAM(메모리)에 저장되어 있다.
- 위 그림에서 LOD A라는 명렁과 01h라는 주소가 00111110(OpCode)와 00000001(Operand, argument)처럼 2진수로 표현될 것이다.
- 이것을 16진수로 표현하면 3E, 01로 표현되며, RAM에 순차적으로 저장되어 있다.
2.3. Instruction Execution : 명령어 실행
- MBR의 데이터와 ACC(Accumulator)의 데이터로 연산 후, ACC(Accumulator)에 저장
2.4. Write Back : 실행 결과를 저장
반응형
'CS > 컴퓨터 구조(Computer Architecture)' 카테고리의 다른 글
[컴퓨터 구조] CISC vs RISC (0) | 2023.01.16 |
---|---|
[컴퓨터 구조] 파이프라인 (0) | 2023.01.13 |
[컴퓨터 구조] Instruction Set이란? (0) | 2023.01.09 |
[컴퓨터 구조] Program Counter(PC)란? (0) | 2023.01.07 |
[컴퓨터 구조] Accumulator란? (0) | 2023.01.04 |