Chap 04. CPU의 작동 원리
04-1. ALU와 제어장치
ALU
- CPU 내부에서 계산 (연산) 을 담당하는 구성요소
- 피연산자 (From 레지스터), 제어신호 (From 제어장치) 를 전달받아 적절한 연산 수행 후 결과를 레지스터에 저장*
- 계산 결과와 더불어 플래그**도 함께 내보냄
- 캐싱 : CPU가 메모리에 접근하는 속도는 레지스터에 접근하는 속도보다 훨씬 느리기 때문에 연산 결과를 메모리에 곧바로 저장할 경우 병목 발생. 이런 속도 차이를 해결하기 위해 레지스터에 임시 저장.
** 플래그 :
플래그 종류 | 의미 | 사용 예시 |
---|
부호 플래그 | 연산 결과의 부호 | 1 : 음수 / 0 : 양수 |
제로 플래그 | 연산 결과가 0인지 | 1 : 연산 결과는 0 |
캐리 플래그 | 연산 결과 올림수 빌림수가 발생했는지 여부 | 1 : 발생 |
오버플로우 플래그 | 오버플로우 발생 여부 | 1 : 발생 |
인터럽트 플래그 | 인터럽트 가능 여부 | 1 : 가능 / 0 : 불가능 |
슈퍼바이저 플래그 | 커널 모드 여부 | 1 : 커널 모드 실행 중임 / 0 : 사용자 모드 실행 중임 |
제어장치
- 제어 신호 송출 및 명령어 해석
- 제어 장치가 수신하는 신호
- 클럭 신호
- 해석해야 할 명령어
- 플래그 레지스터 속 플래그 값
- 시스템 버스 (제어 버스) 제어 신호
04-2. 레지스터
반드시 알아야 할 레지스터
- PC (프로그램 카운터)
- IR (Instruction Register : 명령어 레지스터)
- 메모리 주소 레지스터
- 메모리 버퍼 레지스터
- 플래그 레지스터
- 범용 레지스터
- 스택 포인터
- 베이스 레지스터
특정 레지스터를 이용한 주소 지정 방식 (1) : 스택 주소 지정 방식
특정 레지스터를 이용한 주소 지정 방식 (2) : 변위 주소 지정 방식
- 상대 주소 지정 방식 : 오퍼랜드 + 프로그램 카운터 = 유효 주소
- 베이스 레지스터 주소 지정 방식 : 오퍼랜드 + 베이스 레지스터 = 유효 주소
상용화된 CPU 속 레지스터 및 주소 지정 방식
04-3. 명령어 사이클과 인터럽트
명령어 사이클
인터럽트
- ISR (Interrupt Service Routine; Interrupt Handler)
** Interrupt Vector : ISR 식별 정보
예외의 종류
- Fault
- Trap
- Abort
- Software Interrupt
Chap 05. CPU 성능 향상 기법
05-1. 빠른 CPU를 위한 설계 기법
05-2. 명령어 병렬 처리 기법
05-3. CISC 와 RISC
2주차 숙제
(p. 125) 확인 문제 2번
- 설명에 맞는 레지스터를 보기에서 찾아 빈칸을 채워 보세요.
[보기] 프로그램 카운터, 명령어 레지스터, 플래그 레지스터, 범용 레지스터
- [
래그 레지스터
] : 연산 결과 혹은 CPU 상태에 대한 부가 정보를 저장하는 레지스터
- [
프로그램 카운터
] : 메모리에서 가져올 명령어의 주소를 저장하는 레지스터
- [
범용 레지스터
] : 데이터와 주소를 모두 저장할 수 있는 레지스터
- [
명령어 레지스터
] : 해석할 명령어를 저장하는 레지스터
(p. 155) 확인 문제 4번
- 다음 그림은 멀티코어 CPU를 간략하게 도식화한 그림입니다. 빈칸에 알맞은 용어를 써 넣으세요.
- 답 :
코어
추가 숙제 - Ch.05(05-1) 코어와 스레드, 멀티 코어와 멀티 스레드의 개념 정리
코어
스레드
멀티 코어
멀티 스레드