컴퓨터구조

CPU 구성

juniordigital 2024. 7. 30. 20:36

 

CPU 구성

 

 

내부구성


ALU 

산술 : 덧셈, 뺄셈, 곱하기, 나눗셈 등등

논리 : AND, OR, NOT 등등

플래그 :

종류 의미
부호 플래그 연산한 결과의 부호를 나타냄
제로 플래그 연산 결과가 0인지 여부를 나타냄
캐리 플래그 연산 결과 올림수나 빌림수가 발생했는지를 나타냄
오버플로우 플래그 오버플로우가 발생했는지를 나타냄
인터럽트 플래그 인터럽트가 가능한지를 나타냄
슈퍼바이저 플래그 커널 모드로 실행 중인지, 사용자 모드로 실행 중인지를 나타냄

 

Register

종류 의미
프로그램 카운터 (PC) 메모리에서 가져올 명령어의 주소
명령어 레지스 터 (IR) 해석할 명령어
메모리 주소 레지스터 (MAR) 메모리의 주소를 저장
메모리 버퍼 레지스터 (MBR) 메모리와 주고 받을 값 ( 데이터, 명령어 )
플래그 레지스터 CPU의 상태, ALU의 연산결과에 대한 정보 표시
범용 레지스터 자유롭게 사용하는 레지스터
스택 포인터 (SP) 스택의 꼭대기 가르킴 ( 인터럽트 발생시 현재 주소, 값 저장 )
베이스 레지스터 기준주소 저장 ( I/O 연결시 주소 시작위치 정하기)

 

 

Control Unit

명령어, 조건, 분기 등의 조합으로 Cycle이 적절하게 돌아가도록 제어 

종류 의미
명령어 해독기 IR에서 들어온 연산 코드를 해독, 해당 연산을 수행하기 위한 시작 주소 결정
제어 주소 레지스터(CAR) 다음에 실행할 마이크로 명령어의 주소를 저장
제어 기억장치 마이크로 명령어들로 이루어진 내부 기억장치
제어 버퍼 레지스터(CBR) 제어 기억장치로부터 읽힌 마이크로 명령어를 일시적으로 저장
서브루틴 레지스터(SBR) 현재의 CAR 내용을 일시적으로 저장
순서 제어 모듈 마이크로 명령어의 실행 순서를 결정

 


Memory

데이터, 주소 등을 저장 

메모리의 주소가 0~4000 번지까지 있다고 가정하면 0~1000 = A1, 1000 ~ 2000 = A2 2000 ~ 3000 = A3 등과 같이 구역을 할당한다. 베이스 레지스터를 통해 CPU의 논리주소 메모리의 물리주소를 더해 주소를 지정할 수 있습니다.

 

메모리의 접근을 줄이기 위해 CPU와 메모리 사이에 위치에 Cashe memory 를 추가해 CPU에서 사용할법한 명령어를 미리 가지고와 속도를 향상 할 수 있습니다. 최근에 접근했던 메모리에 접근하려는 경향이 있으며, 접근한 메모리 공간 근처를 접근하려는 경향이 있습니다.

 


 

System Bus

 

종류 의미
주소 버스(Address Bus) 메모리의 주소나 I/O Unit의 포트 번호를 전달 ( Memory 단방향, I/O 양방향 )
데이터 버스(Data Bus) 데이터 전달 ( CPU, Memory, I/O Unit 양방향 )
제어 버스(Control Bus) 제어 신호 전달, Read, Write 신호 전달