04-1 ALU와 제어장치
- CPU : 메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행하는 장치
- ALU : 계산 담당
- 제어 장치 : 제어신호 발생, 명령어 해석
- 레지스터 : 임시 저장 장치 ( 여러 개 )
ALU
- 계산을 위해서 ⇒ 수행할 연산 & 피연산자가 필요
- 받아들이는 장치
- 레지스터 : 피연산자를 받아들임
- 제어장치 : 제어 신호를 받아들임
- 내보내는 장치
- 플래그 레지스터 : 플래그를 내보냄 ( 플래그 : 연산 결과에 대한 부가적 정보 )
- 레지스터 : ALU의 결괏값
CPU가 메모리에 접근하는 속도 <<< CPU가 레지스터에 접근하는 속도
⇒ ALU의 결괏값 레지스터에 우선 저장하는 이유!
플래그 종류
부호 플래그 | 연산 결과의 부호 | 1 : 음수 / 0 : 양수 |
제로 플래그 | 연산 결과가 0인지 여부 | 1 : 연산 결과 0 / 0 : 연산 결과가 0이 아님 |
캐리 플래그 | 올림수 / 빌림수가 발생했는지 여부 | 1 : 발생 / 0 : 발생하지 않았음 |
오버플로우 플래그 | 오버플로우 발생 여부 | 1 : 발생 / 0: 발생하지 않았음 |
인터럽트 플래그 | 인터럽트 가능한지 여부 | 1 : 가능 / 0 : 불가 |
슈퍼바이저 플래그 | 커널 모드 / 사용자 모드로 실행 중인지 | 1 : 커널 모드로 실행 중 / 0 : 사용자 모드로 실행 중 |
플래그 레지스터 구조 (예시와 함께)
부호 플래그 제로 플래그 캐리 플래그 오버플로우 플래그 인터럽트 플래그 슈퍼바이저 플래그
1 | 0 | 0 | 0 | 0 | 0 |
- 연산 결과 : 음수
부호 플래그 제로 플래그 캐리 플래그 오버플로우 플래그 인터럽트 플래그 슈퍼바이저 플래그
0 | 1 | 0 | 0 | 0 | 0 |
- 연산 결과 : 0
제어장치
- 제어 신호를 내보내고 명령어를 해석하는 부품
- 제어 신호 : 컴퓨터 부품들을 관리하고 작동시키기 위한 전기 신호
받아들이는 정보
1 ) 클럭 신호
- 클럭 : 컴퓨터의 모든 부품을 일사불란하게 움직일 수 있게 하는 시간 단위 ( 똑 - 딱 - 똑 - 딱 )
2 ) 해석해야 할 명령어 => 명령어 레지스터
- 명령어 레지스터로 명령어 받아들이고 해석 → 제어 신호 발생
3 ) 플래그 값(플래그 레지스터 내)
- 플래그 값 참고하여 제어 신호 발생
4 ) 제어 신호(제어 버스로 전달된)
내보내는 정보 (제어 신호)
- CPU 외부에 전달
- 제어 버스로 제어 신호를 내보냄
- 메모리에 전달 (메모리 읽기/쓰기 지시)
- 입출력장치에 전달(~를 읽어라 써라 등)
- 제어 버스로 제어 신호를 내보냄
- CPU 내부에 전달
- 레지스터로 전달 (레지스터를 움직이게 하는 제어신호)
- ALU로 전달 (수행할 연산 지시)
마무리
확인문제1. -5
확인문제2. 4번
확인문제3. 플래그 레지스터, 명령어 레지스터, 제어버스
확인문제4. 4번
'CS지식' 카테고리의 다른 글
[혼공학습단 10기 - 컴퓨터 구조 + 운영체제] 2주차 / Chapter 04-2. 레지스터 (0) | 2023.07.24 |
---|---|
[혼공학습단 10기 - 컴퓨터 구조 + 운영체제] 1주차 / Chapter 03. 명령어 (0) | 2023.07.09 |
[혼공학습단 10기 - 컴퓨터 구조 + 운영체제] 1주차 / Chapter 02. 데이터 (0) | 2023.07.05 |
[혼공학습단 10기 - 컴퓨터 구조 + 운영체제] 1주차 / Chapter 01. 컴퓨터 구조 시작하기 (0) | 2023.07.01 |