문타쿠, 공부하다.
[혼공컴운] Chapter 04. CPU의 작동 원리 본문
04-1. ALU와 제어장치
- CPU: 메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행하는 장치
- ALU: 계산 담당
- 제어장치: 명령을 읽어 들이고 해석
- 레지스터: 작은 임시 저장 장치
"ALU"
계산을 담당하는 ALU는 어떤 정보를 받아들이고 계산하여 내보낼까?
<ALU가 받아들이는 정보>
- 레지스터를 통해 1) 피연산자를 받아들이고,
- 제어장치로부터 수행할 연산을 알려주는 2) 제어 신호를 받아들인다.
- ALU는 레지스터와 제어장치로부터 받아들인 피연산자와 제어 신호로 산술 연산, 논리 연산 등 다양한 연산을 수행한다.
<ALU가 내보내는 정보>
1) 연산을 수행한 결과값
- 특정 숫자나 문자가 될 수도 있고, 메모리 주소가 될 수도 있다.
- 결과 값은 메모리에 저장되지 않고 일시적으로 레지스터에 저장된다.
- CPU가 메모리에 접근하는 속도는 레지스터에 접근하는 속도보다 느리다.
- ALU가 연산할 때마다 결과 값을 메모리에 저장한다면 CPU는 메모리에 자주 접근하게 되고, 이는 CPU가 프로그램의 실행 속도를 늦출 수 있기 때문에, ALU의 결과값은 메모리가 아닌 레지스터에 우선 저장하는 것이다.
2) 플래그
- 연산 결과에 대한 추가적인 상태 정보
- CPU가 프로그램을 실행하는 도중 반드시 기억해야 하는 일종의 참고 정보
- 부호 플래그(연산 결과의 부호), 제로 플래그(연산 결과가 0인지), 캐리 플래그(연산 결과 올림수나 빌림수가 발생했는지), 오버플로우 플래그(오버플로우가 발생했는지), 인터럽트 플래그(인터럽트가 가능한지), 슈퍼바이저 플래그(커널 모드인지 사용자 모드인지) 등등
- 플래그는 '플래그 레지스터'라는 플래그의 값들을 저장하는 레지스터에 저장된다.
"제어 장치"
제어장치
- 제어 신호를 내보내고, 명령어를 해석하는 부품
제어 신호
- 컴퓨터 부품들을 관리하고 작동시키기 위한 일종의 전기 신호
<제어장치가 받아들이는 정보>
1) 클럭 신호
- 클럭이란? 컴퓨터의 모든 부품을 일사불란하게 움직일 수 있게 하는 시간 단위로, 클럭의 주기에 맞춰 한 레지스터에서 다른 레지스터로 이동되거나, ALU에서 연산이 수행되거나, CPU가 메모리에 저장된 명령어를 읽어 들이거나 한다.
2) (명령어 레지스터 속) 해석해야 할 명령어
- CPU가 해석해야 할 명령어는 '명령어 레지스터'라는 레지스터에 저장된다.
- 제어장치는 명령어 레지스터로부터 해석할 명령어를 받아들이고 해석한 뒤, 제어 신호를 발생시켜 컴퓨터 부품들에게 수행해야 할 내용을 알려준다.
3) (플래그 레지스터 속) 플래그 값
- 플래그란? ALU 연산에 대한 추가적인 상태 정보
- 제어장치는 플래그 값을 받아들이고 이를 참고하여 제어 신호를 발생 시킨다.
4) 시스템 버스 중 제어 버스로 전달된 제어 신호
- 제어 신호는 CPU뿐만 아니라 입출력장치를 비롯한 CPU 외부 장치도 발생시킬 수 있다.
- 제어장치는 제어 버스를 통해 외부로부터 전달된 제어 신호를 받아들이기도 한다.
<제어장치가 내보내는 정보>
1) CPU 외부에 전달하는 제어 신호(=제어 버스로 보내는 제어 신호)
- 메모리에 전달하는 제어 신호
- 제어장치가 메모리에 저장된 값을 읽거나 메모리에 새로운 값을 쓰고 싶다면 메모리로 제어 신호를 내보낸다,
- 입출력장치(보조기억장치)에 전달하는 제어 신호
- 제어장치가 입출력장치의 값을 읽거나 입출력 장치에 새로운 값을 쓰고 싶을 때는 입출력장치로 제어 신호를 내보낸다.
2) CPU 내부에 전달하는 제어 신호
- ALU에 전달하는 제어 신호
- 수행할 연산을 지시하기 위해
- 레지스터에 전달하는 제어 신호
- 레지스터 간에 데이터를 이동시키거나 레지스터에 저장된 명령어를 해석하기 위해
04-2. 레지스터
투 비 컨티뉴... 였는데 방 정리하면서 책 실종...
'컴퓨터 구조 > 혼자 공부하는 컴퓨터 구조+ 운영체제' 카테고리의 다른 글
[혼공컴운] Chapter 03. 명령어 (0) | 2023.08.23 |
---|---|
[혼공컴운] Chapter 02. 데이터 (0) | 2023.08.10 |
[혼공컴운] Chapter 01. 컴퓨터 구조 시작하기 (0) | 2023.08.03 |
[혼자 공부하는 컴퓨터 구조+운영체제] 2023.08.03 ~ 책 실종... (0) | 2023.08.03 |