본문 바로가기
컴퓨터구조

[컴퓨터 구조] 레지스터 전송(Register Transfer)

by 유노brain 2023. 9. 11.
반응형

Register Transfer Language

- 디지털 컴퓨터 시스템 레지스터(register), 디코더(decoder), 산술요소(arithmetic element), 논리제어(control logic)등과 같은 요소들로 이루어진 여러 종류의 디지털 모듈들로 구성이 되어있다.

- 디지털 모듈들은 레지스터(register)들과 그 속에 저장된 데이터에 대한 작동(operation)들로 정의된다.

- 레지스터(register)들에 저장된 데이터에 취해지는 작동(operation)을 μoperation 이라고 한다.

- μoperation으로 register의 정보가 변경되거나 다른 register에 전달된다(shift, count, clear, load 등)

- Register들 사이에 전달되는 μoepration들을 기술하는 symbolic notation을 register transfer language라고 부른다.

 

Register Transfer

컴퓨터의 기본 register들

- PC(Program Counter), MAR(Memory Address Register), IR(Instruction Register), R1(Processor Register)

제어조건에 따른 레지스터 전송(Register transfer with control condition)

위의 그림에 대해 설명을 하면 R1 -> R2를 가는데에 있어 P = 1일때 전송이 된다는것이다.

Clock가 1이면서 Load가 enable상태일때 전송이 일어나므로 (b) Timing diagram을 보면 Clock의 t+1지점 Load가 enable상태일 때 전송이 된다.

 

레지스터 전송을 위한 기본 기호들(Basic symbols for register transfers)

Symbol = 기호 Description = 묘사 Examples = 예
Letters(and numerals) = 문자, 숫자들 레지스터 표기 MAR,R2
Parentheses() = 괄호 레지스터의 한 부분 표기 R2(0-7),R2(L) <-R2의 하위 8bit
R2(8-15),R2(
Arrow <- = 화살표 정보 전송 표기 R2 <- R1
Comma , 두개의 마이크로 연산 분리 R2 <- R1, R1 <- R2

 

https://bit.ly/3LicEaZ

 

엄마중독

 

deg.kr

Bus and Memory Transfer

1. Common Bus System with multipiexer for 4 registers

위의 그림에 대해 추론해보자

4개의 레지스터로 이루어진 bus system 구조가 위에 보여진다.

bus는 4개의 입력(input)과 1개의 출력(output)을 가지는 4x1 mux 4개와 0~3의 숫자 비트를 가진 4개 레지스터를 가진다.

거기에 추가적으로 select input S0과 S1을 가진다.

 

먼저 옆에 있는 diagram을 통해 S1,S0이 각각 (0,0), (0,1), (1,0), (1,1)인 경우 레지스터에 A, B, C, D가 나온다.

 

위의 그림에서 내가 가졌던 의문에 대한 답으로 설명을 하겠다.

 

1. 4 x 1 MUX3에서만 Register를 받는가?

먼저 해답을 말하자면 Register A에서의 A0이 4 x 1 MUX0의 A0으로 간다는 것이다. 

마찬가지로 Reigster B에서의 B2는 4 x 1 MUX2의 B2로 간다는 것이다.

처음에 위 그림을 보고 Register A에서의 A3만 4 x 1 MUX3의 A3에 연결돠나?라는 잘못된 생각을 했다.

 

2. S0, S1이 각각 (0,0)일 때 결과 값이 어떻게 A가 나오는 것이냐?

일단은 diagram으로 A가 나온다는 것을 확인할 수 있다.

저 그림으로 어떻게 A가 나오는지가 의문이였기 때문에 이에 대해 설명을 하자면

S0, S1에 (0,0)이 들어간다라고 했을 때 각각의 4 x 1 MUX0에서는 A0, 4 x 1 MUX1에서는 A1, 4 x 1 MUX2에서는 A2, 4 x 1 MUX3 에서는 A3가 나와서 이것을 모두 합했을 때 A가 나온다는 것을 뜻한다.

바보같이 각 MUX(1~4)마다 다른 값들이 나오는 줄 알았다.

 

2. Three-state bus buffers

- three-state gate: 3가지 상태를 가지는 디지털 신호(0, 1, high-impedence state)

위의 그림은 three-state gate를 그린 것이다.

three-state gate라고 불리는 이유는 다음과 같다.

만약 C=1이라면 Y는 A의 상태값에 따라 결정이 될 것이다.

즉 Y 는 0,1 2가지의 상태가 될 수 있다는 것이다.

이제 C=0이라고 해보자 C=0이라는 것은 Y값이 나올 수 없다는 것을 말한다.

그렇기 때문에 C=0일 때 Y는 0,1도 아닌 high-impedence 상태를 갖게 된다.

 

Bus line with three-state buffers

위의 그림은 2 x 4 decoder를 이용한 bus line with three-state buffers 뜻한다.

2 x 4 decoder의 경우 입력이 2개에 출력이 4개 Enable이 1개를 가지는 구조이다.

S0, S1의 입력 값에 따라 출력이 0~4 중 하나가 나오게 된다.

decoder에서 나오는 출력값에 따라 A0~ D0들 중 하나가 나오게 된다.

반응형

댓글