수행해야하는 프로그램 혹은 테스크에 따라
- 메모리에서 실행할 opcode(or operation)과 operand를 ALU에게 전달
- ALU의 연산 처리 결과를 다시 메모리에 저장
함으로서 메모리와 ALU, I/O devic에 제어 신호를 보내고, 해당 장치들로부터 신호를 받아 다음에 처리할 작업을 제어.
von Neumann 이 제안한 storead program computer는
메모리에 "처리할 instruction들의 list"(=program)가 저장되어 있고, execution unit은 이를 차례대로 읽어와서 수행함.
Program Counter and Execution Unit
수행해야하는 insturction이 저장된 주소는 program counter register (PC라고도 부름)에 저장되어 있음.
- execution unit은 PC register에 저장된 주소가 reference(가리키는, 참조하는)하는 memory location에 있는 instruction을 fetch ( instruction을 "instruction register"에 저장시킴)하고
- instruction register에 저장된 instruction을 decode하여 실행시킴 (실행단계).
PC register는 instruction의 size만큼 증가하는 counter로, 다음에 수행할 instruction이 저장된 memory의 address가 저장됨.
일반적으로 execution unit이 instruction을 수행하고나며 instruction이 메모리에 저장된 크기만큼 증가하여 다음에 수행할 instruction을 가르키겨 됨.
일부 instruction들은 PC regster에 저장된 값을 직접 변화시킬 수 있음(branching)
Fetch
instruction이 수행되기 위해서는 instruction register로 수행될 instruction(명령어)가 저장되어야 하는데,
이는 memory에 저장되어있고, 해당 위치는 PC register에 저장되어 있음.
Execution Unit은 이 과정이 일어나도록 지시를 하는 boss라고 할 수 있음.
Execution
instructino register의 instruction이 실제 수행되는 단계.
instruction의 해당 내용에 따라 instruction은 수행되며 이 시간을 execution cycle이라고 함.
fetch와 execution cycle은 instruction이 수행되는 단계를 구성하며 댜음과 같은 state machine으로 표시됨.
Instruction (명령어)
컴퓨터가 어떤 동작을 해야하는지를 나타내고 있는 bit pattern.
각 특정 모델의 CPU에 따라 이 bit pattern은 다름 (Intel과 AMD 사마다 설계한 instruction이 다름).
'Computer > CE' 카테고리의 다른 글
[CE] GPU (Graphics Processing Unit) (0) | 2022.12.18 |
---|---|
[CE] Instruction Set Architecture : RISC vs. CISC (0) | 2022.12.18 |
[CE] Flash Memory (or PROM Flash) and SSD (Solid State Disk) (1) | 2022.12.10 |
[CE] Disk Drive (0) | 2022.12.10 |
[CE] Propagation delay (전파지연) (0) | 2022.12.08 |