CS/Computer Architecture

[컴퓨터구조] 4-1. Register Transfer

F12:) 2023. 9. 14. 17:00

디지털 컴퓨터 시스템은 register, decoder, arithmetic element, control logic 등과 같은 component들로 이루어진 여러 종류의 디지털 모듈들로 구성됩니다.

 

디지털 모듈이란 register들과 그 register 속 저장된 데이터에 대한 operation들입니다. 우리는 이러한 operation을 통해서 레지스터에 저장된 값을 shiftm count, clear, load와 같은 작업을 통해 갱신합니다. 이러한 operation을  μoperation이라고 합니다.

 

레지스터

레지스터는 데이터를 저장하는 역할을 합니다. 여기서는 컴퓨터에서 사용되는 기본 레지스터에 대해서 설명합니다.

 

1. MAR(Memoty Address Register) : 데이터의 주소를 기억하는 레지스터입니다. 줄여서 AR로 많이 쓰입니다.

2. PC(Program Counter) : 다음에 실행될 instruction의 주소를 기억합니다.

3. IR(Instruction Register) : 현재 수행하는 instruction을 저장합니다.

4. Process Register : 현재 수행 중인 instruction에서 지역변수와 같이 필요한 값들을 저장합니다. R1, R2 등으로 표기합니다.

 

 

RTL(Register Transfer Language)

register들 사이에서 μoperation을 기술하기 위한 언어입니다. 아래는 기본적인 RTL을 나타냅니다.

 

기호 설명
문자 or 숫자 레지스터의 이름을 의미합니다. MAR, R1 등..
괄호 () 레지스터 내의 비트 위치를 의미합니다. R2(0-7)은 레지스터에서 하위 0~7 비트.
R2(L)은 레지스터의 L번째 비트.
화살표 ← 데이터의 정보 이동을 의미합니다. R2 ← R1은 R1의 값을 R2에 load.
반점 , 두 개의 μoperation을 구분합니다. R2 ← R1, R3 ← R2

 

이 외에도 자주 쓰이는 예는 아래와 같습니다.

 

 

이는 P를 만족할 때, R1의 값을 R2로 load함을 의미합니다.