Machineboy空
CPU ① ALU와 제어장치 본문
CPU의 구성품 중 ALU(Arithmetic Logic Unit)와 제어 장치(Control Unit)
1) ALU(Arithmetic Logic Unit) = 계산기
- ALU가 받아들이는 정보: 계산을 하기 위해 필요한 정보
- 피연산자 (from 레지스터)
- 수행할 연산 (from 제어장치의 제어 신호)
- ALU가 내보내는 정보: 계산한 결과값
- 계산한 결과값을 레지스터에 저장한다. *메모리가 아닌 레지스터에 저장하는 이유: CPU가 메모리에 접근하는 속도보다 레지스터에 접근하는 속도가 더 빠르기 때문
- 플래그값을 플래그 레지스터에 저장한다. *플래그: 연산 결과에 대한 부가 정보
- 연산결과가 결과를 담을 레지스터에 비해 너무 클 때도 플래그 래지스터에 담는다. *오버플로우(overflow)
2) 제어 장치(Control Unit)
- 제어장치가 받아들이는 정보
- 클럭(clock): 시계처럼 똑 딱 똑 딱 반복적으로 발생하는 전기 신호 *클럭 신호에 맞춰 명령어가 수행된다.
- 해석할 명령어 (from 명령어 레지스터)
- 플래그(flag) (from 플래그 레지스터) * 명령어 레지스터에서 해석할 명령어를 받고 플래그(연산 결과에 대한 부가 정보)를 합해서 제어신호를 만들어낸다.
- 제어신호 * 제어 신호를 발생시키는 것은 제어 장치만이 아닌 입출력장치, CPU 등도 있음
- 제어장치가 내보내는 정보
- CPU 내부에 전달하는 것
- 레지스터: 레지스터 간에 정보를 이동해라! 값을 저장해라 등
- ALU: 수행할 연산 지시
- CPU 외부에 전달하는 것 : 메모리, 입출력장치
- 메모리: 읽어라! 써라! 등
- 입출력장치: 읽어라! 써라! 테스트 해라! 등
- CPU 내부에 전달하는 것
'Computer > CS' 카테고리의 다른 글
CPU ③ 명령어 사이클과 인터럽트 (1) | 2024.01.05 |
---|---|
CPU ② 레지스터 (1) | 2024.01.04 |
C 언어 컴파일 과정 : 전처리(preprocess) - 컴파일(compile) - 어셈블(assemble) - 링크(link) (0) | 2024.01.04 |
명령어의 구조(연산코드, 오퍼랜드)와 주소 지정 방식 (1) | 2024.01.03 |
소스 코드와 명령어 - 저급 언어, 고급 언어 (0) | 2024.01.03 |