songs about computer science topics digital logic …

36
Topics Datapath x stages performing computation [x=5] y hardware components needed Combinational and Sequential logic Logic Gates Computer Organisation 300096, Jamie Yang: [email protected] Lecture 09: Datapath and Control SONGS ABOUT COMPUTER SCIENCE DIGITAL LOGIC Written by Emmanuel Schanzer To the tune of: A Spoonful of Sugar http://www.cs.utexas.edu/users/walter/cs- songbook/digital_logic.html To get all our programs to run There must be compilation done Into ones and zer-os: Seems rather tame. But how do ones and zeros make Our hardware bump and shake? Trans-..is-..tor..gates! It won't be hard to see. We Use... Digital logic: inputs, switches...and grounds. inputs, switches...and grounds. inputs, switches...and grounds. Just by abstracting voltage, into zer-o's and ones. We can hack all night and day. … …

Upload: others

Post on 28-Oct-2021

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Topics Datapath

x stages performing computation [x=5]

y hardware components needed

Combinational and Sequential logic Logic Gates

Computer Organisation 300096, Jamie Yang: [email protected]

Lecture 09: Datapath and Control

SONGS ABOUT COMPUTER SCIENCE

DIGITAL LOGICWritten by Emmanuel SchanzerTo the tune of: A Spoonful of Sugarhttp://www.cs.utexas.edu/users/walter/cs-songbook/digital_logic.html

To get all our programs to runThere must be compilation doneInto ones and zer-os:Seems rather tame.

But how do ones and zeros makeOur hardware bump and shake?Trans-..is-..tor..gates!It won't be hard to see.We Use...

Digital logic: inputs, switches...and grounds.inputs, switches...and grounds.inputs, switches...and grounds.Just by abstracting voltage, into zer-o's and ones.We can hack all night and day.… …

Page 2: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Five components of a Computer

2Computer Organisation 300096, Jamie Yang: [email protected]

Processor

Control

Datapath

Memory

Devices

Output

Input

Processor (CPU):

Datapath:

Control:

Elements that process data and addresses in the CPU [e.g. registers, ALUs, …]Determines which computation is performed [e.g. Routes data thru datapath (which regs, which ALU op)

Page 3: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Connection and Communication via Bus

3Computer Organisation 300096, Jamie Yang: [email protected]

Processor

Control

Datapath

Memory

Devices

Output

Input

A Bus is a shared communication link Single set of wires used to connect multiple subsystems A Bus is also a fundamental tool for composing large,

complex systems … this topic is fully covered in Computer Architecture course…

Page 4: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Datapath concept

Possible approach: build a single block to “execute an instruction”, which designed to perform all necessary operations starting from fetching the instruction Possible, but too bulky, inefficient and inflexible

4Computer Organisation 300096, Jamie Yang: [email protected]

Modular approach: break up the process of “executing an instruction” into stages, then connect stages… datapath is born! Advantages:

smaller, easier to understand and easier design blocks easier to optimise: one block can be changed without

affecting the others Elements that process data and addressesin the CPU

Fetch Decode Exec

Page 5: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Datapath Stages

5Computer Organisation 300096, Jamie Yang: [email protected]

+4

ALU

stage 4 OR stage 5

1. 2. 3. 4. 5.

rdrsrt

imm

PC (Program Counter)… Memory… Various registers ... ALU …

1. Fetch 2. Decode 3. ALU 4. Mem 5. Reg

Page 6: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Datapath Stages: 1

There is a wide variety of MIPS instructions: what general steps do they have in common?

6Computer Organisation 300096, Jamie Yang: [email protected]

Stage 1: Instruction FetchPC=PC+4

Page 7: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Datapath Stages: 2

7Computer Organisation 300096, Jamie Yang: [email protected]

Stage 2: Instruction Decode [0x 02324020 --- refer to ‘instruction decoding.pdf’ in materials folder]

5-bit decoder:specifies registers 0 - 31

register operands

555

Page 8: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Datapath Stages: 3

8Computer Organisation 300096, Jamie Yang: [email protected]

Stage 3: ALU (Arithmetic-Logic Unit) … Perform arithmetic/logical operation …

Page 9: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Datapath Stages: 4 and 5

9Computer Organisation 300096, Jamie Yang: [email protected]

Stage 5: Register Write

Stage 4: Memory Access (load/store data)

Calculate memory address sw

lw0x 0040003c

Page 10: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Datapath Instruction Example

10Computer Organisation 300096, Jamie Yang: [email protected]

+4

ALU

rdrsrt

imm

3 1 2

reg[1]

reg[2]

reg[1]+

reg[2]

look at a sample instruction add: add $r3, $r1, $r2 # r3 = r1+r2

Page 11: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Role of Controller

11Computer Organisation 300096, Jamie Yang: [email protected]

Controller causes the right transfers to happen.

+4

ALU

rdrsrt

imm

Controller

opcode, funct

Page 12: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

R-Format Instructions

12Computer Organisation 300096, Jamie Yang: [email protected]

Read two register operands Perform arithmetic/logical operation Write register result

Page 13: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Branch Instructions

13Computer Organisation 300096, Jamie Yang: [email protected]

Read register operands Compare operands

Use ALU, subtract and check Zero output Calculate target address

bne $s0, $s1, Exit

bi-directional

address words

Page 14: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Combinational and Sequential Circuits

14Computer Organisation 300096, Jamie Yang: [email protected]

A complex functional component is implemented using lower level components - there are two classes of logic circuits:

COMBINATIONAL circuits SEQUENTIAL/STATE circuitsNo memory Have internal memory (or: elements that

contain state)The output depends only on the input

the output depends both on the set of inputs supplied and the value stored in memory, which is called the state of the logic block

how to ensure memory element is updated neither too soon, nor too late?

Truth Tables, Boolean Algebra Finite state machine (Mealy, Moore) …more on sequential circuits later, first: combinational logic…

Page 15: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Truth Tables, Boolean Algebra

15Computer Organisation 300096, Jamie Yang: [email protected]

Combinational logic does not have memory, so it’s described by defining the values of the outputs for each possible set of input values, as in truth tables.

Another approach: one can express the logic function with logic equations with the use of Boolean algebra.

Main Boolean algebra laws: [“+” is operator OR, and “●” is operator AND]Identity law A+0=A and A ● 1=AZero and One laws A+1=1 and A ● 0=0Inverse laws A+Ā=1 and A ● Ā=0Commutative laws A+B=B+A and A ● B= B ● AAssociative laws A+(B+C)=(A+B)+C and A ● (B ● C)=(A ● B) ● CDistributive laws A ● (B+C)=(A ● B)+ (A ● C) and

A+(B ● C)=(A+B) ● (A+C)

Page 16: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Logic Gates, Inverter and Multiplexor (Mux)

16Computer Organisation 300096, Jamie Yang: [email protected]

1. AND gate (c = a ● b)

2. OR gate (c = a + b)

3. Inverter (c = a)

4. Multiplexor (Mux)(if d = = 0, c = a;

else c = b)

Page 17: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Selector (Decoder)

17Computer Organisation 300096, Jamie Yang: [email protected]

Only one output is asserted for each input combination For example:

if inputs In0, In1, In2 are: 1 0 0 (decimal 4):Out4 = 1, all other outputs are 0

Out0Out1Out2Out3Out4Out5Out6Out7

3-bit decoder:inputs In0, In1, In2

00001000

Convert one bit-pattern to another bit-pattern

Page 18: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Universal Gates [Exercise]

18Computer Organisation 300096, Jamie Yang: [email protected]

In fact ALL logic functions can be constructed with only a single gate type, if it is inverting.

Common inverting gates are NOR (inverted OR) and NAND (inverted AND).

NOR and NAND are called universal gates.

Exercise:prove the above by implementingAND, OR and NOT:

1. using only NOR gates,2. using only NAND gates.

Page 19: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Universal Gates [Exercise]

19Computer Organisation 300096, Jamie Yang: [email protected]

Exercise:prove the above by implementing AND, OR and NOT:

1. using only NOR gates,2. using only NAND gates.

AND

OR

NOT

A Ā

Page 20: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

XOR implementation [Exercise]

20Computer Organisation 300096, Jamie Yang: [email protected]

How to construct eXclusive OR (XOR)?

Ordinary Implementation Universal Implementation?

Page 21: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Multiplexor implementation [Exercise]

21Computer Organisation 300096, Jamie Yang: [email protected]

How to construct Multiplexor (Mux)?

Ordinary Implementation Universal Implementation?

(Select)

S c0 a1 b

Page 22: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Arrays of logic elements

22Computer Organisation 300096, Jamie Yang: [email protected]

Used when combinational operations need to be performed on entire word (32 bits) for example when the result of an instruction that is written

into a register can come from one of two sources

32-bit wide 2-to-1 multiplexor

32-b

it w

ide

mul

tiple

xor i

s an

ar

ray

of 3

2 1-

bit m

ultip

lexo

rs

Page 23: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Programmable Logic Array (PLA)

23Computer Organisation 300096, Jamie Yang: [email protected]

Two-levels sum of products representation the 1st stage: array of AND gates that forms a set of product

terms (also known as miniterms), the 2nd stage: array of OR gates each of which forms a

logical sum of any number of the product terms.

1st stage

2nd stage

Page 24: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Sample PLA 1/2

24Computer Organisation 300096, Jamie Yang: [email protected]

Implements logic from page C-13 in the textbook (three inputs, three outputs)

2nd stage

1st stage

See a simplified drawing in next slide

Ā ● B ● C

Page 25: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Sample PLA 2/2

25Computer Organisation 300096, Jamie Yang: [email protected]

As before, simplified drawing shows AND and OR planes. Note inputs A, B and C run the width of AND plane in both

true and complement form.

true

complement

Ā ● B ● C

Page 26: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Clock

26Computer Organisation 300096, Jamie Yang: [email protected]

Clock: free running signal with fixed cycle time (clock period)

Clock determines when to write memory element level-triggered – act (store) on clock high (or low) edge-triggered – act (store) only on clock edge

We will consider here only negative (falling) edge-triggeredclocking methodology

Page 27: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Clock in MIPS (5 steps of datapath)

27Computer Organisation 300096, Jamie Yang: [email protected]

Synchronous (or clocked) combinational circuits Single-cycle machine: does everything in one clock cycle

instruction execution = up to 5 steps must complete 5th step before cycle ends

clocksignal

rising clock edge

falling clock edge

instruction executionstep 1/step 2/step 3/step 4/step 5

datapathstable

when the active clock edge occurs

Page 28: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Sequential logic: memory elements

28Computer Organisation 300096, Jamie Yang: [email protected]

All memory element store states: The output from any memory element depends BOTH on the

inputs and on the value stored inside the memory element. The simplest memory elements are unclocked (see S-R latch

next).

Page 29: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

SR (set-reset) Latch, unclocked

29Computer Organisation 300096, Jamie Yang: [email protected]

SR-latch implemented with NOR Gates Output depends on both inputs and values stored (previous state)

S = 1 and R = 1 not allowed R=S=0 (removal of the input combination of 0’s and 1’s), output will

not change (NC) -- depends on the values in previous state Otherwise output copying input (set or reset action)

S=1 asserted, set Q=1 asserted;R asserted, Q deasserted.

Page 30: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

D Latch (clocked), or: Delay Flip-Flop

30Computer Organisation 300096, Jamie Yang: [email protected]

When the clock C is asserted, the latch is opened, and the output Q immediately assumes the value of the D input

Sometimes called a transparent latch (when the latch opened, Q changes as D changes)

a clock signal

value to be stored

C controls the behavior of Qattempting to learn from D

FYI - Electronics Demonstrations:“Clocked SR Flip-Flop” athttps://www.falstad.com/circuit/e-clockedsrff.html

Page 31: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

D flip-flop with a falling-edge trigger

31Computer Organisation 300096, Jamie Yang: [email protected]

Flip-flop: state changes only on a clock edge Master: the first latch, when the clock C is asserted Q follows D Slave: the second latch, when the clock C falls gets its input

from the output of the master latch.

C controls the behavior of Qattempting to learn from D

FYI - Electronics Demonstrations:“Master-Slave Flip-Flop” at https://www.falstad.com/circuit/e-masterslaveff.html

Page 32: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Register File Implementation

32Computer Organisation 300096, Jamie Yang: [email protected]

A register file with two read ports and one write port. Can be implemented with a decoder for each read or write port and

an array of D flip-flops used as registers.

Appendix C, C-54

Register: multiple flip-flops forming a single entity with the same clock signal

Page 33: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Register File Implementation 1/2 (read)

33Computer Organisation 300096, Jamie Yang: [email protected]

Implementation of two register read ports for a 32-bit wide register file

‘read register’ signal used as the multiplexor selector signal.

Read registernumber 1

Read registernumber 2

Read data 1

Read data 2

Page 34: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Register File Implementation 2/2 (write)

34Computer Organisation 300096, Jamie Yang: [email protected]

Decoder used together with the write signal to determine which register to write.

All three inputs will have set-up and hold-time constraints.

Write

Register number

Register data

$30

Page 35: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Revision

35Computer Organisation 300096, Jamie Yang: [email protected]

The following block-diagram demonstrates the branch instruction processing. Explain what do ‘Sign-extend’ and ‘Shift left 2’ perform.

The two-stage Programmable Logic Array (PLA)models its output as “a sum of products”.What does it mean?

bne $s0, $s1, Exit

Page 36: SONGS ABOUT COMPUTER SCIENCE Topics DIGITAL LOGIC …

Recommended readings

36Computer Organisation 300096, Jamie Yang: [email protected]

Text readings are listed in Teaching Schedule and Learning Guide

PH4: eBook is available

PH5: no eBook on library site yet

PH5: companion materials (e.g. online sections for further readings) http://booksite.elsevier.com/9780124077263/?ISBN=9780124077263