execute cycle (instruction cycle)
- CPU가 instruction을 처리해나가는 절차
- Fetch → Decode → Operand → execute
- 인출 → 해독 → 추가 data → 실행
1. Fetch (다음 instruction 인출)
- PC에 저장된 기억장치의 주소로 접근
- 그 주소에 있는 instruction IR(Instruction Register)로 가져옴 (복사 → IR에 저장)
- PC는 다음에 실행될 instruction의 주소를 갖게 업데이트 되어야 함
- 주로 바로 다음 (PC+4, IR의 인스트럭션 길이 만큼 바이트를 더해 다음 instruction주소를 저장) ~ 프로그램은 "순차적"이다.
- 그러나 loop, jump등의 분기문 일때는 달라질 수 있다.
⇒ Fetch = IR저장 + PC업데이트
2. Decode (해독)
- IR에 있는 instruction, 실행하려면 무슨 명령인지 알아야 한다
- IR의 명령어 해독
- ex) IR에 있는 값이 0000 ~ load / IR에 있는 값이 0001 ~ ADD
3. Operand (필요한 경우 데이터 가져오기)
- instruction 실행 이전에 데이터가 필요해서 기억장치에 접근해야하는 경우
- bus를 통해 RAM→Register로 데이터 가져옴
- ex) IR : X+Y ⇒ 실행 이전에 X와 Y값을 가져와야함
4. Execute
- 명령어 실행
⇒ program 종료까지 이 execute cycle을 반복함
'Master Piece of jun > 컴퓨터개론' 카테고리의 다른 글
micro instruction과 micro program, Control sign (0) | 2021.11.08 |
---|---|
BUS system - 어드레스 버스가 N-bit vs N-bit 프로세서 (0) | 2021.11.08 |
instruction set 구성과 machine dependent (0) | 2021.11.08 |
CPU의 구성과 동작과정 (0) | 2021.11.08 |
Register의 개념 특징과 종류 (0) | 2021.11.08 |