9-3 산술/논리 연산장치 (ALU)

Download Report

Transcript 9-3 산술/논리 연산장치 (ALU)

Chapter 9. 컴퓨터설계기초
9-1
9-2
9-3
9-4
9-5
9-6
9-7
9-8
9-9
머리말
데이터 처리장치 (Datapath)
산술/논리 연산장치 (ALU)
Shifter
Datapath Representation
Control Word (제어워드)
Simple Computer Architecture
Single Cycle Hardwired Control
Multi Cycle hardwired Control
9-1 머리말
 제어장치와 메모리가 결합된 표준 데이터처리장치는 프로그램 가능한 시
스템이며, 이런 것을 단순 컴퓨터라 함
 명령어 셋 아키텍쳐(Instruction Set Architecture)는 컴퓨터를 설명하는
수단이며, ISA 를 구현하기 위해서는 제어장치와 데이터 처리장치를 결
합하여 CPU 를 구성한다
 단순 컴퓨터에 대한 구조 (Architecture)는 전형적으로 데이터 처리장치
(Datapath) 와 제어장치 (Control Unit) 로 나뉜다
 데이터 처리장치의 구성요소
1. 레지스터의 집합
2. 레지스터에 저장된 데이터에 대한 microoperation
3. 제어 인터페이스
9-2 Datapaths
 ALU (Arithmetic Logic Unit)
/ To perform a microoperation, the contents of specified source
registers are applied to the inputs of the shared ALU.
 Set of register 와 ALU 간 의 interconnecting path 가 system 의
datapath 이다.
 Datapath는 Register 뿐 아니라 여러 종류의 microoperation을 구현하
는 digital logic을 포함하고 있다.
/ Digital logic에는 bus, MUX, decoder 그리고 processing unit로
구성
Datapaths 의 Block Diagram [그림 9-1]
Datapaths 의 Block Diagram [그림 9-1]
 Simple bus-based datapath with four registers, an ALU,
and a shifter
 Two MUXes to form ALU input buses A and B
 Bus B 는 MUX B 에 연결 : 외부 data 받아들임
 G select inputs : 어느 microoperation이 수행될 것인가를 결정
 H select inputs : select a shift microoperation
 MUX F selects the output of ALU or the output of the shifter
 MUX D selects the output of MUX F or external data applied
to Data in to be applied to Bus D.
 Bus D is connected to the inputs of all registers.
R1 ← R2 + R3 Microoperation을 실행할 경우
Control Unit 는 다음의 control input에
대하여 binary selection 값을 공급해야 한다.
1. A select, to place the contents of R2
onto A data and, hence, Bus A.
2. B select, to place the contents of R3
onto the "0" input of MUX B
; and MB select, to put the "0" input of
MUX B onto Bus B.
3. G select, to provide the arithmetic
operation A+B.
4. MF select, to place the ALU output on
the MUX F output.
5. MD select, to place the MUX F output
onto Bus D.
6. Destination select, to select R1 as the
destination of the data on Bus D.
7. Load enable, to enable a register
이 경우, R1 이 load 된다.
9-3 Arithmetic Logic Unit (산술/논리 연산 장치)
ALU
; 기본적인 산술 및 논리
microoperation을
수행하는 조합논리회로
Selection lines are decoded
within the ALU.
; Selection lines are used to
determine the operation to
be performed.
[그림 9-2] n-bit ALU의 기호
n-Bit ALU
n-bit ALU.
A, B ; inputs
G ; output
S2 ; Arithmetic or Logic operations 선택
S0 , S1; functions-select inputs to specify
the particular arithmetic or logical
operation to be performed.
4가지의 Arithmetic and Logical operation
수행 가능
[그림 9-2] n-bit ALU의 기호
Arithmetic Circuit (산술 연산회로)
- Basic component is Parallel Adder
- Arithmetic sum is calculated as follows
G = X + Y + Cin
[그림 9-3] 산술 연산회로의 Block diagram
Function table for Arithmetic Circuit
[표 9-1] 산술 연산회로에 대한 함수표 (Function table)
S1, S0의 값에 따라 Y input을 control 할 수 있음.
Decrement (G=A-1) 의 경우
; -1 을 2의 보수로 표시하면 “1111” 이 된다.
B input logic 회로

n 개의 MUX를 이용하여 구현 가능
; Stage i (i=0,1,...n-1)에서의 각 MUX의 입력은 0, Bi, Bi', and 1 이다.
각 입력의 selection input은 S1S0 : 00, 01, 10, 11 이다.
; Arithmetic circuit can be constructed with n full adders and n (4-to-1)
MUXs.
B input logic 의 설계


S1, S0, Bi are inputs and Yi is output.
Yi = BiS0 + BiS1

S1, S0 are common to all n stage.

각 stage의 i 는 입력 Bi와 출력 Yi와 연관되어있다.
(여기서 i = 0,1,2,.....,n 이다)
[그림 9-4] 산술 연산회로의 한 단계에
대한 B 입력 논리회로
Logic diagram of a 4-bit arithmetic circuit

S1, S0, Cin : selection variable

S1, S0 는 Fig.7-12(b)의 B.F 식에 따라
Full Adder의 모든 Y 입력을 control 한
다.

8 개의 arithmetic operation은 표7-7
에 list up 되어 있다.
※ Transfer 가 두 개 있음을 유의
[그림 9-5] 4-bit 산술 연산회로의
Logic diagram
Logic Circuit Design(논리 연산회로)
- One stage of the logic circuit
; Consists of 4 gates(AND, OR, EX-OR, NOT) and 4-to-1 MUX
- A typical stage with subscript i.
따라서 n bit를 위한 logic circuit을 구현하려면 [그림 9-6]과 같은
diagram이 n 번 반복되어야 한다. (여기서 i = 0,1,2,.....,n 이다)
[그림 9-6] 논리 연산회로의 한 단계
Arithmetic/Logic Unit
[그림 9-7] shows just one typical stage of the ALU.
그러므로 n-bit ALU를 구현하려면 위 그림이 n 번 반복되어야 한다.
[그림 9-7] ALU 의 한 단계
Function Table for ALU
[표 9-2] ALU 에 대한 함수표