CPU 내부에는 ALU, 레지스터, 제어장치가 있다.
- ALU: CPU 내부에서 계산하는 장치
- 제어장치: CPU 내부에서 제어 신호를 발생시키고 명령어를 해석하는 장치
ALU
계산을 하기 위해서는 피연산자와 수행할 연산이 필요하다.
- ALU는 레지스터로부터 피연산자를 받아들이고 제어장치로부터 제어 신호를 받아들인다. 결과값은 레지스터에 전달한다.
- 결과값을 메모리가 아닌 레지스터에 전달하는 이유는 CPU가 메모리에 접근하는 것보다 레지스터에 접근하기 더 빠르기 때문이다. 레지스터는 CPU의 내부에 있기 때문이다.
- 결과값을 메모리가 아닌 레지스터에 전달하는 이유는 CPU가 메모리에 접근하는 것보다 레지스터에 접근하기 더 빠르기 때문이다. 레지스터는 CPU의 내부에 있기 때문이다.
- ALU는 연산 결과에 대한 부가 정보인 ‘플래그’도 전달한다. 플래그에 양수, 음수에 정보도 포함되어 있다.
- 연산 결과가 레지스터에 담기 어려울 정도로 크다면 ‘오버플로우’가 일어난다.
- 연산 결과가 레지스터에 담기 어려울 정도로 크다면 ‘오버플로우’가 일어난다.
- 플래그 정보
이런식으로 저장된다.
제어장치
제어장치가 받아들이는 정보
- 클럭
클럭 신호에 맞추어 명령어들이 실행된다.
- 해석할 명령어
제어장치가 해석할 명령어들이 명령어 레지스터에 저장된다. 이 명령어들 해석해 제어장치에 제어 신호를 내보낸다.
- 플래그
- 명령어를 해석하는 과정에서 부가 정보인 플래그는 반드시 필요하다.
- 명령어를 해석하는 과정에서 부가 정보인 플래그는 반드시 필요하다.
- 제어 신호
- 제어장치가 제어 신호를 발생시키지만 외부에서 제어 신호가 발생돼 CPU로 전달된다면 제어장치에서 받아들인다.
제어장치가 내보내는 신호
- 제어신호
CPU 내부에 전달하는 제어 신호와 외부에 전달하는 제어 신호가 있다.- 레지스터에 내보내는 제어 신호: 레지스터 간에 정보를 이동해라, 값을 저장해라 등의 제어 신호
- ALU에 내보내는 제어 신호: 계산에 관한 제어 신호
- 메모리에 내보내는 제어 신호: 메모리를 읽어라, 써라
- 입출력장치에 내보내는 제어 신호: 입출력장치를 읽어라, 써라
'컴퓨터 공학 기초 > 컴퓨터 구조' 카테고리의 다른 글
명령어 사이클과 인터럽트 (0) | 2025.04.22 |
---|---|
CPU의 내부 구성 - 레지스터 (0) | 2025.04.17 |
C언어의 컴파일 (0) | 2025.03.15 |
명령어의 구조와 주소 지정 방식 (0) | 2025.03.15 |
소스코드와 명령어 (0) | 2025.03.15 |