[컴퓨터구조] CPU : 레지스터

Local Gaji·2023년 6월 17일
0

컴퓨터구조

목록 보기
4/9

🎈 주요 레지스터

  1. 프로그램 카운터 : 가져올 명령어의 메모리상 주소를 저장
  2. 명렁어 레지스터 : 메모리에서 가져온 명령어를 저장
    • 제어 장치가 이 명령어의 제어신호를 내보냄
  3. 메모리 주소 레지스터 : 메모리의 주소 저장
    • CPU가 읽어들일 주소 값을 주소 버스로 보낼때, 이 레지스터를 거침
  4. 메모리 버퍼 레지스터 : 메모리와 값(데이터, 명령어)을 저장
    • CPU가 데이터 버스로 주고받는 값은 이 레지스터를 거침
  5. 범용 레지스터 : 다양한 상황에서 자유롭게 사용하는 레지스터, 데이터와 주소를 모두 저장
  6. 플래그 레지스터 : 연산 결과나 상태에 대한 부가적인 정보를 저장

🎈 CPU - 레지스터 - 메모리가 값을 주고받는 과정

  1. 가져올 명령어의 주소를 프로그램 카운터에 저장한다
  2. 이 주소를 메모리 주소 레지스터를 거쳐 주소버스로 보낸다
  3. 메모리 읽기 제어신호를 제어버스로 보낸다
  4. 이 주소에 저장된 값은 데이터 버스를 통해 메모리 버퍼 레지스터에 저장된다
  5. 이 값은 명령어 레지스터로 이동한다.
  6. 제어 장치가 명령어 레지스터의 명령을 해석하고, 제어신호를 발생시킨다
  7. 프로그램 카운터가 1 증가하여 다음 주소의 값을 읽어들일 준비를 한다.

🎈 레지스터 주소 지정 방식

1. 스택 주소 지정 방식

메모리 안에 스택영역이 있다.
스택에 값이 저장됨
스택 포인터(레지스터)는 스택의 맨위를 가리킨다

2. 변위 주소 지정 방식

오퍼랜드 값과 레지스터의 값을 더하여 유효 주소를 얻음

명령어 형식

연산코드레지스터오퍼랜드

레지스터는 프로그램 카운터일수도 있고 베이스 레지스터 일수도 있다
레지스터에는 주로 기준 주소, 오퍼랜드에는 기준 주소에서 얼마나 떨어져있는지를 저장한다

0개의 댓글