본문 바로가기

CS/컴퓨터구조(Mano)

[컴퓨터구조] ch.5 기본 컴퓨터의 구조와 설계 (10) 기본 컴퓨터의 설계

Mano의 컴퓨터시스템구조 제3판, 프로텍 미디어, 김종상 옮김 도서를 정리, 요약하는 글입니다.

 

1. 기본 컴퓨터의 설계

- 하드웨어 구성

(1) 4096 x 16 메모리

(2) 9개 레지스터 : AR, PC, DR, AC, IR, TR, OUTR, INPR, SC

(3) 7개의 플립플롭 : I, S, E, R, IEN, FGI, FGO

(4) 2개의 디코더 : 3x8 디코더, 4x16 디코더

(5) 16비트 공통 버스

(6) 제어 논리 게이트들

(7) AC 입력에 연결된 가산 논리 회로

 

2. 제어 논리 게이트

 

- 제어 논리 게이트는 컴퓨터가 명령어를 수행할 때 필요한 다양한 제어 신호를 생성하고 전달하는 역할을 한다.

- 입력 신호 : IR의 0~15비트, SC와 연결된 4x16 디코더, AC가 0인지 검사하기 위한 AC의 0~15비트, 부호를 검사하기 위한 AC(15)비트, DR이 0인지 검사하기 위한 0~15비트, 7개의 플립플롭 값 등

- 출력 신호 : 9개 레지스터 입력 제어 신호, 메모리 쓰기 및 읽기 제어 신호, 플립플롭 세트, 클리어, 보수 신호, 버스 선택(S0, S1, S2) 신호, AC에 대한 가산 논리 회로 제어 신호

 

3. 레지스터와 메모리에 대한 제어

- 레지스터의 제어 입력에는 LD(로드), INR(인크리트), CLR(클리어) 등이 연결된다.  

- 예를 들어서 AR 레지스터의 제어 입력을 구성하는 게이트 구조를 만들고 싶다면, 먼저 AR의 내용을 변경시키는 마이크로 연산을 찾는다.

 

R'T0 : AR PC

R'T2 : AR  IR(0-11)

D7'IT3 : AR  M[AR]

RT0 : AR 0

D5T4: AR  AR + 1

 

이렇게 찾은 제어 함수를 부울 함수식으로 만든다.

 

LD(AR) = R'T0 + R'T2 + D7'IT3

CLR(AR) = RT0 

INR(AR) = D5T4

게이트 논리도는 위와 같다.

 

4. 단일 플립플롭에 대한 제어

- 레지스터 제어 입력과 마찬가지로, 플립플롭 값이 변하는 제어 함수를 찾아 부울 함수 식으로 바꾼다. 예를 들어, IEN 플립플롭의 값이 변하는 제어함수는 다음과 같다.

 

pB7 : IEN ← 1

pB6 : IEN ← 0

RT2 : IEN ← 0

 

여기서 p는 D7IT3를 나타내고 B7은 IR(6), B6는 IR(7)이다. 이를 JK 플립플롭으로 제어 게이트 논리를 구하면 다음과 같다.

 

5. 공통 버스에 대한 제어

- 16비트 공통 버스의 선택 입력은 S2, S1, S0에 의해 제어된다. 이진 인코더의 진리표를 나타내어 인코더의 출력은 버스 선택 논리에 연결된다.

 

- 예를 들어 메모리 데이터 출력은 x7 = 1, S2S1S0 = 111 일때 선택되는데, 이에 대한 부울식은 다음과 같다.

x7 = R'T1 + D7'T3 + (D0 + D1 + D2 + D6)T4 이다.

 

메모리에 출력하는 마이크로 연산에 대한 자세한 내용은 아래와 같다.

R'T1 : IR M[AR] 

D7'T3 : AR M[AR]

D0T4 : DR M[AR]

D1T4 : DR M[AR]

D2T4 : DR M[AR]

D6T4 : DR M[AR]