컴퓨터구조

컴퓨터구조 - CPU의 논리회로 설계(연산장치)

asu2880 2019. 11. 7. 15:13

연산장치

  • 연산될 데이터와 연산한 결과를 기억시킬 레지스터가 필요
  • 연산의 상태를 나타내기 위한 상태 레지스터들의 연결 필요
  • 가산기 : 덧셈
  • 누산기(AC) : 연산 결과를 일시적으로 저장
  • 기억장치 버퍼 레지스터 : 데이터 보관
  • 보수기 : 보수를 만듬
  • 상태 레지스터 : 계산 결과의 상태를 점검

 

ALU에서의 연산 회로

산술연산 회로

  • 4개의 전가산기(FA)로 구성된다.

  • 병렬 가산기가 여러 가지 연산을 수행하려면 전가산기의 한쪽 입력단자에 논리회로를 추가

  • 4개의 전가산기(FA)로 구성된다.

선택 신호와 자리 올림

출력

연산 동작

S1

S0

Ci

0

0

0

F = A

A를 전송

0

0

1

F = A + 1

A의 증가 캐리를 포함한 덧셈

0

1

0

F = A + B

AB의 가산

0

1

1

F = A + B + 1

AB의 캐리 가진 가산

1

0

0

F = A + B’

AB1의 보수 가산

1

0

1

F = A + B’ + 1

감산(AB2의 보수 덧셈)

1

1

0

F = A – 1

A1감소

1

1

1

F = A

A를 전송

연산 회로

  • 논리 게이트들을 이용항 조합 논리회로를 구성하면 다양한 논리연산을 수행할 수 있다.
  • 입력되는 데이터 AB의 내용을 연산 지시에 의해 AND, OR, XOR NOT연산을 수행할 수 있다.
  • 논리 게이트의 조합 논리회로와 이들을 선택할 수 있는 멀티플렉서로 구성되어 있다.
  • 4 X 1 멀티플렉서는 4개의 논리연산이 선택 선S1S0에 의해서 하나가 선택되고 출력하게 한다.

ALU

  • 설계된 산술연산 회로와 논리연산 회로를 조합하면 ALU가 완성된다.
  • 선택 선 S1S0는 산술연산 회로와 논리연산 회로가 공통으로 사용하고, 또 하나의 선택 선 S2는 두 회로 중 하나를 선택하는데 사용
  • S20이면 산술연산, S21이면 논리연산 수행

 

상태비트

  • 플래그(flag)나 조건 코드라고 불린다.
  • 자리올림(C:carray), 부호(S:sign), 제로(Z:zero), 오버플로우(V:overflow) 네가지가 필수적이다.
  • 오버플로우 비트를 동작하려면 XOR게이트 필요
  • 제로 비트를 동작하려면 NOR게이트 필요

    -C : 자리 올림 비트가 1이면 자리 올림수가 발생한 것
    -S : 부호 비트가 1이면 음수, 0이면 양수
    -Z : 결과의 모든 출력이 0이면 제로 비트는 1, 그렇지 않으면 0
    -V : ALU두자리 올림수 C8, C9XOR한 결과가 1이면 오버플로우 발생, 0이면 오버플로우 발생하지 않은 것

이동회로(shifter)

  • 이동기는 이동 레지스터라고도 한다.
  • 이동기에서 이동방향은 좌측과 우측이다.
  • 이동할 때 이동 방향의 마지막 비트 값은 바깥으로 밀려난다.
  • 반대편의 처음 비트는 상대적을 공백이 생기는데 이곳에 0이나 1이 채워진다.
728x90
반응형