-
[Computer Science] CPU : ALU와 제어장치Computer Science 2024. 5. 9. 21:04
CPU를 구성하는 여러가지 부품 중 ALU와 제어장치에 대하여 정리하였습니다.참조 : 인프런 '개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제'
CPU 구성 요소 3가지
< ALU >
출처 : 인프런 '혼자공부하는 컴퓨터구조 + 운영체제' 1. 계산을 하기 위해서는 피연산자(from. 레지스터)와 수행할 연산(from. 제어장치)이 필요
2. 계산의 결괏값을 레지스터에 저장(숫자, 문자, 주소 등..)
+. 메모리보다 레지스터에 접근하는 게 더 빠르기 때문에 레지스터에 저장합니다.3. 연산 결과에 대한 부가 정보를 플래그 레지스터라는 특수한 레지스터에 저장
(연산 결과가 음수이다, 연산 결과가 레지스터에 비해 너무 크다=오버플로우 등..)
플래그 레지스터 종류 :
플래그 종류 의미 사용 예시 부호 플래그 연산한 결과의 부호를 나타낸다. 부호 플래그가 1일 경우 계산 결과는 음수, 0일 경우 계산 결과는 양수를 의미한다. 제로 플래그 연산 결과가 0인지 여부를 나타낸다. 제로 플래그가 1일 경우 연산 결과는 0, 0일 경우 결과는 0이 아님을 의미한다. 캐리 플래그 연산 결과 올림수가 빌림수가 발생했는지를 나타낸다. 캐리 플래그가 1일 경우 올림수나 빌림수가 발생했음을 의미하고, 0일 경우 발생하지 않았음을 의미한다. 오버플로우 플래그 오버플로우가 발생했는지를 나타낸다. 오버플로우 플래그가 1일 경우 오버플로우가 발생했음을 의미하고, 0일 경우 발생하지 않았음을 의미한다. 인터럽트 플래그 인터럽트가 가능한지를 나타낸다. 인터럽트 플래그가 1일 경우 인터럽트가 가능함을 의미하고, 0일 경우 인터럽트가 불가능함을 의미한다. 슈퍼바이저 플래그 커널 모드로 실행 중인지, 사용자 모드로 실행 중인지를 나타낸다. 슈퍼바이저 플래그가 1일 경우 커널 모드로 실행 중임을 의미하고, 0일 경우 사용자 모드로 실행 중임을 의미한다.
< 제어장치 >
출처 : 인프런 '혼자공부하는 컴퓨터구조 + 운영체제' [ 받아들이는 정보 ]
1. 클럭신호 확인
출처 : 인프런 '혼자공부하는 컴퓨터구조 + 운영체제' 클럭 : 컴퓨터의 모든 부품을 일사불란하게 움직일 수 있게 하는 시간 단위
2. 해석할 명령어(from.명령어 레지스터) 확인
3. 그 외 부가적인 정보(from.플래그 레지스터) 확인
4. 외부로부터 제어 신호 확인
+. 입출력 장치를 비롯한 주변장치들도 제어신호를 발생시킬 수 있습니다.[ 내보내는 정보 ]
1. 레지스터 : CPU 내부에 전달
(어떤 정보를 저장해라, 어떤 값을 저장해라, 어떤 행동을 해라 등)
2. ALU : CPU 내부에 전달
(어떤 연산을 수행해라)
3. 메모 : CPU 외부에 전달
(메모리를 읽어라, 메모리에 써라 등)
4. 입출력 장치 : CPU 외부에 전달
(입출력장치를 써라, 입출력장치를 테스트해라 등)
'Computer Science' 카테고리의 다른 글
[Computer Science] CPU : 명령어 사이클과 인터럽트 (0) 2024.05.10 [Computer Science] CPU : 레지스터 (0) 2024.05.10 [Computer Science] 명령어 : 명령어의 구조 (0) 2024.05.09 [Computer Science] 명령어 : 소스 코드와 명령어 (0) 2024.05.09 [Computer Science] 데이터 : 0과 1로 문자를 표현하는 방법 (0) 2024.05.09