컴퓨터구조

손원진·2023년 3월 6일
0

컴퓨터기초

목록 보기
9/11

레지스터

CPU내부에 작은 저장장치

프로그램속 명령어 & 데이터는 실행 전후로 레지스터에 저장
CPU내부에는 다양한 레지스터들이 있고 각기 다른 역할을 가진다.

레지스터의 종류

  1. 프로그램 카운터
  2. 명령어 레지스터
  3. 메모리 주소 레지스터
  4. 메모리 버퍼 레지스터
프로그램 카운터 

메모리에서 가져올 명령어의 주소(메모리에서 읽어 들일 명령어의 주소)

메모리 주소 레지스터 

해석할 명령어(방금 메모리에서 읽어들인 명령어)
메모리에서 읽어들인 명령어를 데이터버스를 통해 메모리로 전송하고
제어장치에서는 다음으로 실행할

메모리 주소 레지스터 

메모리의 주소 -> CPU가 읽어들이고자 하는 주소를 주소버스로 보낼 때 거치는 레지스터

메모리 버퍼 레지스터 

메모리와 주고 받을 값(데이터와 명령어)

레지스터의 상호작용 설명


다음으로 실행할 주소를 저장한다.

다음으로 명령할 주소값은 메모리 주소 레지스터로 전송이된다.
메모리 주소 레지스터는 주소버스를 통해 몇번지 주소를 읽고 싶은지 쏴주고,
제어장치에서 메모리를 읽는다.


메모리에서 메모리 버퍼레지스터에 데이터버스를 타고 데이터를 전송하고 프로그램 카운터는 1이 증가한다.(다음으로 읽을 메모리를 저장)

다음 제어장치가 해석해야할 명령어가 명령어 레지스터에 담기게 된다.


위와같이 프로그램 카운터가 1씩 증가하면서 명령어 레지스터에 데이터가 전달되며, 해석이 가능해진다.

  • 프로그램 순차적인 흐름이 끊기는 경우도 있다.

특정 메모리 주소로 실행흐름을 이동하는 경우도 있다(JUMP, CONDITION JUMP 등등)


플래그 레지스터

연산결과 또는 CPU상태에 대한 부가적인 정보

범용 레지스터

다양하고 일반적인 상황에서 자유롭게 사용

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

    스텍은 메모리안에 있으며 스텍처럼 사용할 수 있는 메모리 공간을 지정할 수 있다.

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

! 상대주소 지정방식- 오퍼랜드에 있는 값과 프로그램 카운터를 더하여 얻는 유호지정 방식

! 베이스 레지스터 - 오퍼랜드 필드의 값(변위)과 베이스레지스터의 값을 더하여 더하여 유효주소 얻기

profile
매일 한 걸음

0개의 댓글