Fall 2013, Koç University

ELEC 204 Digital Systems Design

Engin Erzin College of Engineering Koç University,Istanbul,Turkey [email protected] Lecture 21

KU College of Engineering Elec 204: Digital Systems Design

1

Today: Lecture 21 Datapaths Ø  Datapath Example Ø  Aritmetic Logic Unit (ALU) Ø  Shifter Ø  Datapath Representation Ø  Control Word Elec204 Fall 2013 Calendar (Tentative) W T F

M

T

Sep 16, 13 Sep 23, 13 Sep 30, 13 Oct 7, 13 Oct 14, 13 Oct 21, 13 Oct 28, 13 Nov 4, 13 Nov 11, 13 Nov 18, 13 Nov 25, 13 Dec 2, 13 Dec 9, 13 Dec 16, 13 Dec 23, 13

Sep 17, 13 Sep 24, 13 Oct 1, 13 Oct 8, 13 Oct 15, 13 Oct 22, 13 Oct 29, 13 Nov 5, 13 Nov 12, 13 Nov 19, 13 Nov 26, 13 Dec 3, 13 Dec 10, 13 Dec 17, 13 Dec 24, 13

Lecture 15

Sep 18, 13 Sep 25, 13 Oct 2, 13 Oct 9, 13 Oct 16, 13 Oct 23, 13 Oct 30, 13 Nov 6, 13 Nov 13, 13 Nov 20, 13 Nov 27, 13 Dec 4, 13 Dec 11, 13 Dec 18, 13 Dec 25, 13

Sep 19, 13 Sep 26, 13 Oct 3, 13 Oct 10, 13 Oct 17, 13 Oct 24, 13 Oct 31, 13 Nov 7, 13 Nov 14, 13 Nov 21, 13 Nov 28, 13 Dec 5, 13 Dec 12, 13 Dec 19, 13 Dec 26, 13

Sep 20, 13 Sep 27, 13 Oct 4, 13 Oct 11, 13 Oct 18, 13 Oct 25, 13 Nov 1, 13 Nov 8, 13 Nov 15, 13 Nov 22, 13 Nov 29, 13 Dec 6, 13 Dec 13, 13 Dec 20, 13 Dec 27, 13

TA

Lab1

PS1

Lab2 Lab3

PS2

Lab4 Midterm Lab5 Project Prop

PS3 PS4

PS5

Lab Midterm

KU College of Engineering Elec 204: Digital Systems Design

PS6

Mustafa-­‐Narjis  /  Mustafa       Tugba  -­‐  Naveed  /  Tugba   Rizwan-­‐Shoaib   Shoaib   Mustafa-­‐Shoaib  /  Narjis   Narjis-­‐Naveed   Naveed   Tugba-­‐Rizwan   Rizwan  

Project Report/Demo

2

Introduction •  Computer Specification –  Instruction Set Architecture (ISA) - the specification of a computer's appearance to a programmer at its lowest level –  Computer Architecture - a high-level description of the hardware implementing the computer derived from the ISA –  The architecture usually includes additional specifications such as speed, cost, and reliability.

Lecture 21

KU College of Engineering Elec 204: Digital Systems Design

3

Introduction (continued) •  Simple computer architecture decomposed into: –  Datapath for performing operations –  Control unit for controlling datapath operations

•  A datapath is specified by: –  A set of registers –  The microoperations performed on the data stored in the registers –  A control interface

Lecture 21

KU College of Engineering Elec 204: Digital Systems Design

4

Datapaths •  Guiding principles for basic datapaths: –  The set of registers •  Collection of individual registers •  A set of registers with common access resources called a register file •  A combination of the above

–  Microoperation implementation •  One or more shared resources for implementing microoperations •  Buses - shared transfer paths •  Arithmetic-Logic Unit (ALU) - shared resource for implementing arithmetic and logic microoperations •  Shifter - shared resource for implementing shift microoperations

Lecture 21

KU College of Engineering Elec 204: Digital Systems Design

5

Datapath Example Load enable

Write D data

•  •  •  •  •  •  •  • 

Four parallel-load registers Two mux-based register selectors Register destination decoder Mux B for external constant input Buses A and B with external address and data outputs ALU and Shifter with Mux F for output select Mux D for external data input Logic for generating status bits V, C, N, Z

A select

n Load

2

2

n

Load

R1 0 1 MUX 2 3

n n

0 1

Load

2 3

R2 n

n

Load

MUX

R3

n

0 1 2 3

n

n

Decoder D address 2 Constant in n Destination select n MB select

Register file A data

1

0

MUX B

Bus A A

n

C N Z

B

G select A B 4 S2:0 || Cin Arithmetic/logic unit (ALU) G 0 1 MUX F F n

MD select n

KU College of Engineering Elec 204: Digital Systems Design

Bus D

H select 2 S IR 0

Out

n B

Shifter

IL

0

H n

n

Zero Detect

Address Out Data

n

Bus B

V

B data

n

MF select

Lecture 21

B address

R0 n

B select

A address

Function unit n

Data In

0 1 MUX D

6

Datapath Example: Performing a Microoperation Load enable

•  Microoperation: R0 ← R1 + R2 §  Apply 01 to A select to place contents of R1 onto Bus A §  Apply 10 to B select to place contents of R2 onto B data and apply 0 to MB select to place B data on Bus B §  Apply 0010 to G select to perform addition G = Bus A + Bus B §  Apply 0 to MF select and 0 to MD select to place the value of G onto BUS D §  Apply 00 to Destination select to enable the Load input to R0 §  Apply 1 to Load Enable to force the Load input to R0 to 1 so that R0 is loaded on the clock pulse (not shown) §  The overall microoperation requires 1 clock cycle

Lecture 21

A select

Write D data

n Load

B address

2

2

R0 n

B select

A address

n

Load

R1 0 1 MUX 2 3

n n

0 1

Load

2 3

R2 n

n

Load

MUX

R3

n

0 1 2 3

n

n

Decoder D address 2 Constant in n Destination select n MB select

Register file A data

1

0

MUX B

Bus A A

n

C N Z

B

G select A B 4 S2:0 || Cin Arithmetic/logic unit (ALU) G 0 1 MUX F F n

MF select

MD select n

KU College of Engineering Elec 204: Digital Systems Design

Bus D

H select 2 S IR 0

Out

n B

Shifter

IL

0

H n

n

Zero Detect

Address Out Data

n

Bus B

V

B data

n

Function unit n

Data In

0 1 MUX D

7

Datapath Example: Key Control Actions for Microoperation Alternatives Load enable

A select

Write D data

n Load

•  •  • 

• 

• 

Perform a shift microoperation – apply 1 to MF select Use a constant in a micro- operation using Bus B – apply 1 to MB select Provide an address and data for a memory or output write microoperation – apply 0 to Load enable to prevent register loading Provide an address and obtain data for a memory or output read microoperation – apply 1 to MD select For some of the above, other control signals become don't cares

2

2

n

Load

R1 0 1 MUX 2 3

n n

0 1

Load

2 3

R2 n

n

Load

MUX

R3

n

0 1 2 3

n

n

Decoder D address 2 Constant in n Destination select n MB select

Register file A data

1

0

MUX B

A

n

N Z

B

G select A B 4 S2:0 || Cin Arithmetic/logic unit (ALU) G 0 1 MUX F F n

MF select

MD select n

KU College of Engineering Elec 204: Digital Systems Design

Bus D

H select 2 S IR 0

Out

n B

Shifter

IL

0

H n

n

Zero Detect

Address Out Data

n

Bus B

V

B data

n

Bus A

C

Lecture 21

B address

R0 n

B select

A address

Function unit n

Data In

0 1 MUX D

8

Arithmetic Logic Unit (ALU) •  In this and the next section, we deal with detailed design of typical ALUs and shifters •  Decompose the ALU into: –  An arithmetic circuit –  A logic circuit –  A selector to pick between the two circuits

•  Arithmetic circuit design –  Decompose the arithmetic circuit into: •  An n-bit parallel adder •  A block of logic that selects four choices for the B input to the adder •  See next slide for diagram

Lecture 21

KU College of Engineering Elec 204: Digital Systems Design

9

Arithmetic Circuit Design (continued) • 

• 

There are only four functions of B to select as Y in G = A + Y: Y Cin = 0 Cin = 1 0

G=A

G=A+1

B

G=A+B

G=A+B+1

B

G=A+B

G=A+B+1

1 G=A–1 G=A What functions are implemented with carry-in to the adder = 0? =1? Cin

n

A

B S0 S1

X n-bit parallel adder

n B input logic

n

n

G=X+Y+Cin

Y

Cout

Lecture 21

KU College of Engineering Elec 204: Digital Systems Design

10

Arithmetic Circuit Design (continued) •  Adding selection codes to the functions of B:

•  The useful arithmetic functions are labeled in the table •  Note that all four functions of B produce at least one useful function Lecture 21

KU College of Engineering Elec 204: Digital Systems Design

11

Logic Circuit •  The text gives a circuit implemented using a multiplexer plus gates implementing: AND, OR, XOR and NOT •  Here we custom design a circuit for bit Gi by beginning with a truth table organized as a K-map and assigning (S1, S0) codes to AND, OR, etc. •  Gi = S0 Ai Bi + S1 Ai Bi S1S0 AND OR XOR NOT + S0 Ai Bi + S1 S0 Ai •  Gate input count for AiBi 00 01 11 10 MUX solution > 29 •  Gate input count for 00 0 0 0 1 above circuit < 20 01 0 1 1 1 •  Custom design better

Lecture 21

11

1

1

0

0

10

0

1

1

0

KU College of Engineering Elec 204: Digital Systems Design

12

Arithmetic Logic Unit (ALU) • 

The custom circuit has interchanged the (S1,S0) codes for XOR and NOT compared to the MUX circuit. To preserve compatibility with the text, we use the MUX solution. •  Next, use the arithmetic circuit, the logic circuit, and a 2-way multiplexer to form the ALU. See the next slide for the bit slice diagram. •  The input connections to the arithmetic circuit and logic circuit have been been assigned to prepare for seamless addition of the shifter, keeping the selection codes for the combined ALU and the shifter at 4 bits: –  Carry-in Ci and Carry-out Ci+1 go between bits –  Ai and Bi are connected to both units –  A new signal S2 performs the arithmetic/logic selection –  The select signal entering the LSB of the arithmetic circuit, Cin, is connected to the least significant selection input for the logic circuit, S0.

Lecture 21

KU College of Engineering Elec 204: Digital Systems Design

13

Arithmetic Logic Unit (ALU) (continued) Ci

Ci

Ai

Ai

Bi

Bi

S0

S0

S1

S1

Ci

+1

One stage of arithmetic circuit

Ai

C in

2-to-1 0 MUX Gi 1

S

B i One stage of logic circuit S0 S1

S2

• 

The next most significant select signals, S0 for the arithmetic circuit and S1 for the logic circuit, are wired together, completing the two select signals for the logic circuit. •  The remaining S1 completes the three select signals for the arithmetic circuit.

Lecture 21

KU College of Engineering Elec 204: Digital Systems Design

14

Combinational Shifter Parameters •  Direction: Left, Right •  Number of positions with examples: –  Single bit: •  1 position •  0 and 1 positions

–  Multiple bit: •  1 to n – 1 positions •  0 to n – 1 positions

•  Filling of vacant positions –  Many options depending on instruction set –  Here, will provide input lines or zero fill

Lecture 21

KU College of Engineering Elec 204: Digital Systems Design

15

4-Bit Basic Left/Right Shifter

B3

B2

B1

B0

Serial output L

Serial

output R IL

IR S

S

0 1 2 M U X

0 1 2 M U X

H2

0 1 2M U X

S

0 1 2M U X

H1

H0

Serial Inputs: –  IR for right shift –  IL for left shift

• 

S

2 H3

• 

S

Serial Outputs –  R for right shift (Same as MSB input) –  L for left shift (Same as LSB input)

Lecture 21

§  Shift Functions: (S1, S0) = 00 Pass B unchanged 01 Right shift 10 Left shift 11 Unused

KU College of Engineering Elec 204: Digital Systems Design

16

Datapath Representation n

•  •  • 

•  • 

Have looked at detailed design of ALU and shifter in the datapath in slide 8 Here we move up one level in the hierarchy from that datapath The registers, and the multiplexer, decoder, and enable hardware for accessing them become a register file The ALU, shifter, Mux F and status hardware become a function unit The remaining muxes and buses which handle data transfers are at the new level of the hierarchy

D data Write D address 2mx n Register file

m

m

A address

B address

A data Constant in

B data n

n

n 1 0 MUX B

MB select Bus A

FS V C N Z

4

A

n Bus B n

Address out Data out

B Function unit F n

MD select

Lecture 21

m

KU College of Engineering Elec 204: Digital Systems Design

n

Data in

0 1 MUX D

17

Datapath Representation (continued) n

• 

In the register file:

m

–  Multiplexer select inputs become A address and B address –  Decoder input becomes D address –  Multiplexer outputs become A data and B data –  Input data to the registers becomes D data –  Load enable becomes write

The register file now appears like a memory based on clocked flip-flops (the clock is not shown) •  The function unit labeling is quite straightforward except for FS

m

D data Write D address 2mx n Register file A address

B address

A data Constant in

B data n

n

n 1 0 MUX B

MB select Bus A

• 

FS V C N Z

4

A

n Bus B n

Address out Data out

B Function unit F n

MD select

Lecture 21

m

KU College of Engineering Elec 204: Digital Systems Design

n

Data in

0 1 MUX D

18

Definition ofand Function Unit Select (FS) Codes G Select,H Select, MF in T FS(3:0)

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110

Lecture 21

of FS Codes MF Select

0 0 0 0 0 0 0 0 0 0 0 0 1 1 1

G H Select(3:0) Select(3:0)

0000 0001 0010 0011 0100 0101 0110 0111 1 X00 1 X01 1 X10 1 X 11 XXXX XXXX XXXX

XX XX XX XX XX XX XX XX XX XX XX XX 00 01 10

Microoperation

F F F F F F F F F F F F F F F

← A ←A+1 ←

A +

B ←

A +

B +

1 ←

A +

B ←

A +

B+

1 ←

A -

1 ←

A ←

A ∧

B ←

A ∨

B ←

A ⊕

B ←

A ←

B ←

sr B ←

sl B

KU College of Engineering Elec 204: Digital Systems Design

Boolean Equations: MFS = F3 F2 GSi = Fi HSi = Fi

19

The Control Word •  The datapath has many control inputs •  The signals driving these inputs can be defined and organized into a control word •  To execute a microinstruction, we apply control word values for a clock cycle. For most microoperations, the positive edge of the clock cycle is needed to perform the register load •  The datapath control word format and the field definitions are shown on the next slide

Lecture 21

KU College of Engineering Elec 204: Digital Systems Design

20

The Control Word Fields 15 14 13 12 11 10 9 8 DA

•  Fields –  –  –  –  –  –  – 

AA

BA

7 6

5

M B

4

3 FS

2

1 0 MR D W

Control word

DA – D Address AA – A Address BA – B Address MB – Mux B FS – Function Select MD – Mux D RW – Register Write

•  The connections to datapath are shown in the next slide Lecture 21

KU College of Engineering Elec 204: Digital Systems Design

21

Control Word Block Diagram n

D data

RW 0

Write

15 D A 14 13

D address

12 AA 11 10

A address

8x n Register file 9 8 BA 7

B address

A data n

B data n n

Constant in

MB 6

1 0 MUX B

Bus A

n n

Bus B A V C N Z

Data out

B 5 4 FS 3 2

Function unit

n

n 0 MD 1

Address out

Data in

1

MUX D Bus D

Lecture 21

KU College of Engineering Elec 204: Digital Systems Design

22

Control Word Encoding

Encoding of Control W DA, AA, BA

MB

FS

Function Code

Function Code Function

R0 R1 R2 R3 R4 R5 R6 R7

Register 0 Constant 1

000 001 010 011 100 101 110 111

Lecture 21

F F F F F F F F F F F F F F F

MD Code



A 0000 0001 ←

A +

1 ←

A +

B 0010 ←

A +

B+

1 0011 ←

A +

B 0100 ←

A +

B+

1 0101 ←

A -

1 0110 ←

A 0111 ←

A∧

B 1000 ←

A∨

B 1001 1010 ←

A ⊕

B 1011 ←

A 1100 ←

B ←

sr B 1101 1110 ←

sl B

RW

Function Code Function Code

Function 0 Data In 1

KU College of Engineering Elec 204: Digital Systems Design

No write 0 Write 1

23

Microoperations for the Datapath - Symbolic Representation Micro-operation

DA

AA

BA

MB

FS

R1 ← R2 - R3 R4 ← sl R6 R7 ← R7 + 1 R1 ← R0 + 2 Data out ← R3 R4 ← Data in R5 ← 0

R1 R4 R7 R1 —— R4 R5

R2 — R7 R0

R3 R6 — — R3

Register Register Register Constant Register — Register

F=A+B+1 F = sl B F=A+1 F=A+B — — F=A⊕B

Lecture 21

—— R0 R0

KU College of Engineering Elec 204: Digital Systems Design

MD

Function Function Function Function — Data in Function

RW

Write Write Write Write No Write Write Write

24

Microoperations for the Datapath m Microoperations fromaT Binary Co Binary Representation Micro-operation

DA

R1 ← R2 - R3 R4 ← sl R6 R7 ← R7 + 1 R1 ← R0 + 2 Data out ← R3 R4 ← Data in R5 ← 0

001 010 011 0 100 XXX 110 0 111 111 XXX 0 001 000 XXX 1 XXX XXX 011 0 100 XXX XXX X 101 000 000 0

Lecture 21

AA

BA

MB

FS

0101 1110 0001 0010 XXXX XXXX 1010

KU College of Engineering Elec 204: Digital Systems Design

MD

0 0 0 0 X 1 0

o

RW

1 1 1 1 0 1 1

25

Lecture 21

KU College of Engineering Elec 204: Digital Systems Design

26

Pipelined Datapath •  Concerned about how fast can we execute a single micro-op –  Maximum delay values need to be considered –  Allowable clock rate will be a function of maximal delay for a single micro-op

•  Pipelined datapath: break the datapath into smaller functional blocks and placed registers between each consecutive blocks

Lecture 21

KU College of Engineering Elec 204: Digital Systems Design

27

Operand-fetch

Execute

Write-back

Lecture 21

KU College of Engineering Elec 204: Digital Systems Design

28

Lecture 21

KU College of Engineering Elec 204: Digital Systems Design

29

Execution of pipeline micro-operations

Lecture 21

KU College of Engineering Elec 204: Digital Systems Design

30

ELEC 204 Digital Systems Design

Zero Detect. MF select n n n. F. MUX F. H select. 2 n. A. B. S 2:0 || C in. Arithmetic/logic unit (ALU). G. B. S. Shifter. H. MUX. 0. 1. 2. 3. MUX. 0. 1. 2. 3. 0 1 2 3. Decoder. Load. Load. Load. Load. Load enable. Write. D data. D address. 2. Destination select. Constant in. MB select. A select. A address. B select. B address. R3. R2.

1MB Sizes 1 Downloads 235 Views

Recommend Documents

l 204 2044L 204 204 211i
Apr 26, 1993 - An antenna switching system for handling high traf?c ... call to another sector or cell. .... hardware/software to determine what frequency to.

Elec III .pdf
Swapna Manorkar E V iMEET. 77 52 67.53% 39 10 0 3. Prof. A.A. Kale M ACPCE, Khrghar. Page 1 of 1. Elec III .pdf. Elec III .pdf. Open. Extract. Open with.

Elec Eng.pdf
Whoops! There was a problem loading more pages. Elec Eng.pdf. Elec Eng.pdf. Open. Extract. Open with. Sign In. Details. Comments. General Info. Type.

Elec Eng.pdf
rd SAU National Interdisciplinary Conference 2016. การศึกษาพฤติกรรมการใช้อินเตอร์เน็ตผ่านระบบออนไลน์ของครูและบุคลากร. à¹

204 K 202
on a computer system, the method comprising the steps o?i displaying a main ... presented to the user as a document containing a list of hyper links. The user ...

Diagnosis and Reliable Design of Digital Systems
US/Data/Engineering-Transportation. 3.5/5 From 518 Reviews. Melvin A. Breuer, Arthur D. Friedman. ePub | *DOC | audiobook | ebooks | Download PDF.

0123695287 - (2007) Digital Design (VHDL) An Embedded Systems ...
0123695287 - (2007) Digital Design (VHDL) An Embedded Systems Approach Using VHDL.pdf. 0123695287 - (2007) Digital Design (VHDL) An Embedded ...

Online PDF VLSI Digital Signal Processing Systems: Design and ...
Systems: Design and Implementation E-Books, VLSI Digital Signal Processing Systems: Design and Implementation Online , Read Best Book Online VLSI Digital Signal Processing Systems: Design and Implementation, ... graduate-level courses, this volume is

0123695287 - (2007) Digital Design (VHDL) An Embedded Systems ...
0123695287 - (2007) Digital Design (VHDL) An Embedded Systems Approach Using VHDL.pdf. 0123695287 - (2007) Digital Design (VHDL) An Embedded ...

Heinze 204.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Heinze 204.pdf.

Sadrzaj 204.pmd
Sep 1, 2002 - As a final result both the external system of oxygen delivery ..... Haeberli, & Straub, 1990; El-Sayed, Sale, ..... Phone: + 359 (88) 8802 590.

digital design
University of Colorado, Colorado Springs rev 01/21/2007. © 2007 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. This publication is protected by Copyright and written permission should be obtained from the publisher prior to an