what do we know?

40
Chapter 4 The Von Neumann Model & The LC3 Datapath & Control (These slides were developed in large part by Diana Palsetia at Upenn)

Upload: jeff

Post on 23-Feb-2016

32 views

Category:

Documents


0 download

DESCRIPTION

Chapter 4 The Von Neumann Model & The LC3 Datapath & Control (These slides were developed in large part by Diana Palsetia at Upenn ). What Do We Know?. Already discovered: Gates (AND, OR..) Combinational logic circuits (decoders, mux) Memory (latches, flip-flops) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: What Do We Know?

Chapter 4The Von Neumann Model & The LC3 Datapath & Control(These slides were developed in large part by Diana Palsetiaat Upenn)

Page 2: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 2

What Do We Know?

Already discovered:• Gates (AND, OR..)• Combinational logic circuits (decoders, mux)• Memory (latches, flip-flops)• Sequential logic circuits (state machines)• Simple processors (programmable traffic sign)

What’s next?• Apply all this to build a working processor

Page 3: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 3

Von Neumann Model

MEMORY

MAR MDR

INPUT Keyboard

MouseScanner

Disk

OUTPUT MonitorPrinterLEDDisk

PROCESSING UNIT

ALU TEMP

CONTROL UNIT

PC IR

Page 4: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 4

LC-3 Processor Von Nuemann Model

CONTROL

UNIT

Page 5: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 5

LC-3 Data Path

Filled arrow = info to be processed.

Unfilled arrow= control signal.

The data path of a computer is all the logic used to process information

CONTROL

UNIT

Page 6: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 6

One More DeviceTri-state buffer

• NOT an inverter!• Device with a special output that can take a third state (i.e.

besides 0 and 1)

Allows wires to be “shared”• Alternative to mux• Only one source may drive at a time!• Usually used to control data over a bus

D Q

E

E D Q1 0 01 1 10 0 Z0 1 Z

Z = “high impedance” state

Page 7: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 7

Data Path ComponentsGlobal bus

• Set of wires that carry 16-bit signals to many components• Inputs to bus are controlled by triangle structure called tri-state

devices Place signal on bus when enabled Only one (16-bit) signal should be enabled at a time Control unit decides which signal “drives” the bus

• Any number of components can read bus Register only captures bus data if write-enabled by the control

unit

Memory and I/O• Control signals and data registers for memory and I/O devices

Memory: MAR, MDR (also control signal for read/write) Input (keyboard): KBSR, KBDR Output (text display): DSR, DDR

Page 8: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

4-8

Memory2k x m array of stored bitsAddress

• unique (k-bit) identifier of locationContents

• m-bit value stored in location

Basic Operations:LOAD

• read a value from a memory locationSTORE

• write a value to a memory location

•••

0000000100100011010001010110

110111101111

00101101

10100010

Page 9: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 9

Data Path Components (cont.)

ALU• Input: register file or sign-extended bits from IR (immediate field)• Output: bus; used by…

Condition code registers Register file Memory and I/O registers

Register File• Two read addresses, one write address (3 bits each)• Input: 16 bits from bus

Result of ALU operation or memory (or I/O) read• Outputs: two 16-bit

Used by ALU, PC, memory address Data for store instructions passes through ALU

Page 10: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

ALUCombinational Logic

4-10

Page 11: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Register FileA bank of (nearby) memory

4-11

Page 12: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 12

Data Path Components (contd..)

PC and PCMUX• Three inputs to PC, controlled by PCMUX

1. Current PC plus 1 (normal operation)2. Adder output (BR, JMP, …)3. Bus (TRAP)

MAR and MARMUX• Some inputs to MAR, controlled by MARMUX

1. Zero-extended IR[7:0] (used for TRAP; more later)2. Adder output (LD, ST, …)

Page 13: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 13

Data Path Components (cont..)

Condition Code Logic• Looks at value (from ALU) on bus and generates N, Z, P

signals• N,Z,P Registers are set only when control unit enables them

Control Unit• For each stage in instruction processing decides:

Who drives the bus?Which registers are write enabled?Which operation should ALU perform?

Lets Look at Instruction Processing next..

Page 14: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 14

InstructionsFundamental unit of workConstituents

• Opcode: operation to be performed• Operands: data/locations to be used for operation

Encoded as a sequence of bits (just like data!)• Sometimes have a fixed length (e.g., 16 or 32 bits)• Atomic: operation is either executed completely, or not at

all

Page 15: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

4-15

Example: LC-3 ADD InstructionLC-3 has 16-bit instructions.

• Each instruction has a four-bit opcode, bits [15:12].LC-3 has eight registers (R0-R7) for temporary storage.

• Sources and destination of ADD are registers.

“Add the contents of R2 to the contents of R6,and store the result in R6.”

Page 16: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

4-16

Page 17: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

4-17

Instruction Set Architecture

ISA = All of the programmer-visible componentsand operations of the computer

• memory organization address space -- how may locations can be addressed? addressability -- how many bits per location?

• register set how many? what size? how are they used?

• instruction set opcodes data types addressing modes

ISA provides all information needed for someone that wants towrite a program in machine language (or translate from a high-level language to machine language).

Page 18: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 18

Instruction Processing

DECODE instruction

EVALUATE ADDRESS

FETCH OPERANDS

EXECUTE operation

STORE result

FETCH instruction from mem.

Page 19: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 19

Instruction Processing: FETCHIdea

• Put next instruction in IR & increment PC

Steps• Load contents of PC into MAR• Increment PC• Send “read” signal to memory• Read contents of MDR, store in IR

EA

OP

EX

S

F

D

Page 20: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 20

FETCH in LC-3

Load PC into MAR (inc PC)Control

Data

CONTROL

UNIT

Page 21: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 21

FETCH in LC-3

Load PC into MARRead Memory

Control

Data

CONTROL

UNIT

Page 22: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 22

FETCH in LC-3

Load PC into MARRead MemoryCopy MDR into IR

Control

Data

CONTROL

UNIT

Page 23: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 23

Instruction Processing: DECODE

Identify opcode• In LC-3, always first four bits of instruction• 4-to-16 decoder asserts control line corresponding

to desired opcode

Identify operands from the remaining bits• Depends on opcode

e.g., for LDR, last six bits give offsete.g., for ADD, last three bits name source operand #2

EA

OP

EX

S

F

D

Page 24: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 24

DECODE in LC-3

CONTROL

UNITDecoding usually a part of the Control Unit but can be seperate

Page 25: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

4-25

Control Unit State DiagramThe control unit is a state machine. Here is part of asimplified state diagram for the LC-3:

A more complete state diagram is in Appendix C.It will be more understandable after Chapter 5.

Page 26: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 26

Instruction Processing: EVALUATE ADDRESS

Compute address• For loads and stores • For control-flow instructions

Examples• Add offset to base register (as in LDR)• Add offset to PC (as in LD and BR)

EA

OP

EX

S

F

D

Page 27: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 27

EVALUATE ADDRESS in LC-3

Load/Store

CONTROL

UNIT

Page 28: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 28

Instruction Processing: FETCH OPERANDS

Get source operands for operation

Examples• Read data from register file (ADD)• Load data from memory (LDR) EA

OP

EX

S

F

D

Page 29: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 29

FETCH OPERANDS in LC-3

ADD

CONTROL

UNIT

Page 30: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 30

FETCH OPERANDS in LC-3

LDR

CONTROL

UNIT

Page 31: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 31

Instruction Processing: EXECUTEActually perform operation

Examples• Send operands to ALU and assert ADD signal• Do nothing (e.g., for loads and stores)

EA

OP

EX

S

F

D

Page 32: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 32

EXECUTE in LC-3

ADD

CONTROL

UNIT

Page 33: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 33

Instruction Processing: STOREWrite results to destination

• Register or memory

Examples• Result of ADD is placed in destination reg.• Result of load instruction placed in destination reg.• For store instruction, place data in memory

Set MDRAssert WRITE signal to memory

EA

OP

EX

S

F

D

Page 34: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 34

STORE in LC-3

ADD

CONTROL

UNIT

Page 35: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 35

STORE in LC-3

LDR

CONTROL

UNIT

Page 36: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 36

STORE in LC-3

STORESet MDR

CONTROL

UNIT

Page 37: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 37

STORE in LC-3

STORESet MDRAssert “write”

CONTROL

UNIT

Page 38: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 38

Time to Complete One Instruction

• It takes fixed number of clock ticks (repetition of rising or falling edge) to execute each instructionThe time interval between ticks is known as clock cycleThus instruction performance is measured in clock cycles

• Hence the clock sequences each phase of an instruction by raising the right signals as the right time

• So what determines the time between ticks i.e. the length of the clock cycle?

Page 39: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 39

Clocking Methodology• Defines when signals can be read and when they can be

written

• It is important to specify the timing of reads and writes because, if a value is written at the same time it is read, the value of read could be old, new or mix of both

• All values are stored on clock edge (edge-triggered) i.e. within a defined interval of time (length of the clock cycle)

• In a processor, since only memory elements can store values this means that

Any collection of combinational logic must have its inputs coming from a set of memory elements and its outputs written into a set of memory elements

Page 40: What Do We Know?

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

7 - 40

Clocking Methodology (contd..)• The length of the clock cycle is determined as follows:

• The time necessary for the signals to reach memory

element 2 defines the length of the clock cycle i.e. minimum clock cycle time must be at least as great as the

maximum propagation delay of the circuit