2주차 (1/8 ~ 1/14)
chapter. 04 : CPU의 작동 원리
chapter. 05 : CPU 성능 향상 기법
CPU = ALU + 제어장치 + 레지스터
📌 ALU가 받아 들이는 정보
제어신호
from 제어장치피연산자
from 레지스터📌 ALU가 내보내는 정보
연산의 결괏값
to 레지스터플래그
to 플래그 레지스터📌 제어장치가 받아들이는 정보
클럭신호
from 클럭: 컴퓨터의 모든 부품을 일사불란하게 움직일 수 있게 하는 시간 단위해석해야 할 명령어
from 명령어 레지스터플래그 값
from 플래그 레지스터제어신호
from 제어버스(시스템버스) 📌 제어장치가 내보내는 정보
제어신호 to CPU 내부
(ALU, 레지스터)제어신호 to CPU 외부
(메모리, 입출력장치)레지스터
: cpu내부의 임시저장장치로, 메모리에서 가져온 명령어와 데이터가 저장되거나, 연산의 결괏값이 저장되는 곳
레지스터의 종류
✅ 프로그램 카운더(PC)
메모리에서 읽어들일 명령어의 주소를 저장한다.
명령어 처리가 끝나면, 프로그램카운터는 증가하여 다음 명령어의 주소를 (1001번지) 저장한다.
이처럼 프로그램 카운터는 지속적으로 증가하여 계속해서 다음 명령어를 읽어들인 준비한다.
결국 CPU가 메모리 속 프로그램을 순차적으로 읽어 들이고 실행해 나갈 수 있는 이유는 CPU 속 프로그램 카운터가 꾸준히 증가하기 때문이다.
✅ 메모리 주소 레지스터
메모리의 주소
를 저장하는 레지스터 ✅ 메모리 버퍼 레지스터
메모리와 주고 받을 값(데이터나 명령어)
저장하는 레지스터✅ 명령어 레지스터
방금 메모리에서 읽어 들인 명령어
를 저장하는 레지스터✅ 플래그 레지스터
연산결과 또는 CPU 상태에 대한 부가적인 정보
저장하는 레지스터✅ 범용 레지스터
데이터와 주소를 모두 저장
할 수 있는 레지스터 ✅ 스택 포인터
스택에 마지막으로 저장한 값의 위치
를 저장하는 레지스터 ✅ 베이스 레지스터
기준 주소
의 역할 📌 추가 : 스택포인터와 베이스 레지스터 이용한 주소지정방식
📌 명령어 사이클
: 하나의 명령어가 처리되는 주기로 인출, 실행, 간접, 인터럽트 사이클로 구성 됨
📌 인터럽트
📌 하드웨어 인터럽트
CPU가 프린터에 출령을 명령했다고 가정.
입출력장치는 CPU보다 속도가 현저히 느리기 때문에 CPU는 입출력 작업의 결과를 바로 받아볼 수 없다. 이때 하드웨어 인터럽트 사용하지 않으면 CPU는 프린터가 언제 프린트를 끝낼지 모르기 때문에 주기적으로 프린트 완료여부 확인해야 한다.
이때하드웨어 인터럽트를 이용하면 CPU는 프린터로부터 완료 인터럽트를 받을 때까지 다른 작업을 처리할 수 있다.
하드웨어 인터럽트를 사용하면 CPU로 하여금 효율적으로 명령어를 처리할 수 있게 한다.
📌 하드웨어 인터럽트 처리순서
인터럽트 서비스 루틴은 인터럽트 사용 설명서 같은 것
p. 125의 확인 문제 2번
부가정보
를 저장하는 레지스터메모리에서 가져올 명령어
를 저장할 레지스터 데이터와 주소를 모두
저장하는 레지스터해설할 명령어
를 저장하는 레지스터