Master Piece of jun/컴퓨터개론

execute cycle (instruction cycle)

JUNFUTURE 2021. 11. 8. 00:27

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을 반복함