명령어 사이클

서재·2023년 5월 30일
0

컴퓨터구조론

목록 보기
4/16
post-thumbnail

♻️ 명령어 사이클

👉 한 개의 명령어를 처리하는 과정


⚙️ 특수 목적 레지스터

명령어 처리에 사용되는 특수 목적 레지스터

⚙️ 프로그램 카운터 (PC)
다음에 실행할 명령어의 주소를 저장, 실행 시마다 PC <- PC+1

⚙️ 누산기 (AC)
연산의 결과 데이터가 저장

⚙️ 명령어 레지스터 (IR)
최근에 실행된 명령어를 저장

⚙️ 기억장치 주소 레지스터 (MAR)
PC의 내용 (명령어의 주소) 를 저장

⚙️ 기억장치 버퍼 레지스터 (MBR)
기억장치로부터 읽은 명령어를 저장

⚙️ 스택 포인터 (SP)
인터럽트 서비스 루틴을 위해, 다음에 실행할 명령어의 주소를 저장


♻️ 인출 사이클

👉 기억장치에서 명령어를 읽어오는 과정

♻️ PC -> MAR -(주소버스)-> 기억장치 -(데이터버스)-> MBR -> IR


♻️ 실행 사이클

👉 명령어에 맞는 연산을 수행

♻️ IR -> MAR -(주소버스)-> 기억장치 -(데이터버스)-> MBR -> ALU(AC를 호출) -> AC


♻️ 인터럽트 사이클

🛑 인터럽트

👉 명령어 실행을 중단하고 다른 프로그램을 실행하도록 요구하는 것
👉 해당 프로그램 : 인터럽트 서비스 루틴 (ISR)

♻️ 인터럽트 사이클

( Stack[SP] <- PC )

MBR <- PC
MAR <- SP
M[MAR] <- MBR

PC <- ISR의 시작 주소
SP <- SP-1 (일반적으로 주기억장치의 끝 부분을 스택의 시작지점으로 사용하므로 +1이 아닌 -1)


♻️ 간접 사이클

👉 주소를 통해 읽은 데이터가 주소인 경우

♻️ IR(addr) -> MAR -(주소버스)-> 기억장치 -(데이터버스)-> MBR -> IR(addr)


김종현 저, 『컴퓨터구조론』, 생능출판, 2019.

profile
입니다.

0개의 댓글