본문 바로가기
Computer Engineering

ALU와 제어장치 / 레지스터

by KkingKkang 2024. 3. 27.

CPU 구성요소

  • ALU : 계산장치
  • 제어장치
  • 여러개의 레지스터

 

클럭

  • 컴퓨터의 모든 부품을 일사불란하게 움직일 수 있게 하는 시간 단위 

 

레지스터

  • CPU 내부의 작은 임시저장장치 
  • 프로그램 속 명령어 & 데이터는 실행 전후로 레지스터에 저장 

 

레지스터 종류

1. 프로그램 카운터 : 메모리에서 가져올 명령어의 주소 저장

2. 명령어 레지스터 : 해석할 명령어 저장(방금 명령어에서 읽어들인 명령어)

3. 메모리 주소 레지스터 : 메모리 주소 저장

4. 메모리 버퍼 레지스터 : 메모리와 주고받을 값(데이터와 명령어) 저장

 

메모리

... ...
1101 1000번지
1111 1001번지
... ...

 

프로그램 카운터 (1000) -> 메모리 주소 레지스터(1000) -> 메모리 버퍼 레지스터(1101) -> 명령어 레지스터(1101) 
                                                                                             프로그램 카운터 1 증가(1001)
                                                                                                  ㄴ 마냥 증가하는건 아님*

*순차적인 실행 흐름이 끊기는 경우

  • 특정 메모리 주소로 실행 흐름을 이동하는 명령어 실행 시 (JUMP, CONDITIONAL JUMP, CALL, RET)
  • 인터럽트 발생 시 
  • 등등

 

5. 플래그 레지스터 : 연산 결과 또는 cpu 상태에 대한 부가적인 정보

6. 범용 레지스터 : 다양하고 일반적인 상황에서 자유롭게 사용

 

주소 지정에 사용 ▼

7. 스택 포인터 : 스택 주소 지정 방식에서 스택의 꼭대기를 가리키는 레지스터 (스택이 어디까지 차 있는지에 대한 표시)

메모리 안에 스택 영역 있음 

 

8. 베이스 레지스터 : 기준 주소 저장 - 변위 주소 지정 방식에 사용

변위 주소 지정 방식 : 오퍼랜드 필드의 값(변위)과 특정 레지스터의 값을 더하여 유효 주소 얻기 

 

 

 

 

반응형

댓글