1. ALU와 제어 장치
1.1. ALU (산술논리연산장치)
ALU는
- 레지스터에게 피연산자를 받음
- 제어장치에게 제어신호(수행할 연산)를 받음
연산 수행 결과는 숫자 or 문자 or 메모리 주소
이 결과 값은 메모리 저장 전 일시적으로 레지스터에 저장됨
CPU가 메모리에 접근하는 속도는 레지스터에 접근하는 속도 보다 훨 느림
ALU가 연산 시 마다 결과를 메모리에 저장한다면?
-> CPU는 메모리에 자주 접근하게 되고, 프로그램 실행 속도도 늦추게 됨.
--> 즉, ALU의 결과 값을 레지스터에 우선 저장함
ALU가 내보내는 것
- 결과 값( to 레지스터)
- 플래그 (to 플래그 레지스터)
이진수로는 음수인지 양수인지 확인X
-> 구분 위해 플래그 사용
연산 결과 너무 크면 결과 값 너무 크다고도 알려줌
->ALU 연산 결과가 연산 결과를 담는 레지스터 보다 큰 상황 == Overflow
대표적인 플래그
- 부호 플래그, 제로 플래그, 캐리 플래그, 오버플로우 플래그, 인터럽트 플래그, 슈퍼바이저 플래그
- 참고로 부호 플래그가 0이면 양수, 1이면 음수
1.2. 제어장치
제어장치는 제어 신호 보내고, 명령어 해석하는 부품임
제어신호는 컴 부품 관리하고, 작동시키는 전기 신호
클럭Clock?
- 컴퓨터의 모든 부품이 움직일 수 있게 하는 시간 단위임
- 컴퓨터의 부품들이 클럭 마다 작동하는 것은 아님
- 클럭 주기가 다를 수 있음
해석할 명령어?
- CPU가 해석할 명령어는 명령어 레지스터 에 저장됨
- 제어장치는 명령어 레지스터에게 해석할 명령어 받고 해석 후 제어 신호 발생 (컴퓨터 부품 수행할 내용 알려주기 위해)
플래그 레지스터 속 플래그 값 받기?
- 플래그는 ALU 연산에 대한 추가적인 상태 정보임
- 제어장치는 이 플래그 값 받아서 참고해서 제어 신호 발생시킴
시스템 버스 중 하나인 제어 버스로 전달 받은 제어 신호를 받는다구?
- 제어 신호는 CPU뿐 아니라 CPU 외부 장치도 발생시킬 수 있음
- 제어장치는 CPU 내 외부로 제어신호를 보냄
'운영체제' 카테고리의 다른 글
[컴퓨터 구조] 명령어 사이클과 인터럽트 (0) | 2024.08.09 |
---|---|
[컴퓨터 구조] 레지스터 (0) | 2024.08.08 |
[컴퓨터 구조] 명령어와 명령어의 구조 (0) | 2024.08.03 |
[컴퓨터 구조] 2진수, 16진수, 인코딩 (0) | 2024.07.31 |
[컴퓨터 구조] CPU, 메모리, 시스템버스, 보조기억장치 (0) | 2024.07.29 |