Buscar

Datapath

Prévia do material em texto

Datapath
Saeed M. Khan
 
Two Parts of a Microprocessor
• Datapath
• Control Unit
 
Datapath
• The datapath the actual execution of all data 
operations performed by the microprocessor, 
e.g. the addition of two numbers inside the 
arithmetic logic unit. 
• The datapath includes registers for the 
temporary storage of your data
• The functional units in a datapath are connected 
together with multiplexers and data signal lines, 
in our example these the ALU and the register
• Data signal lines are for transferring data 
between two functional units
 
Datapath Components
• Functional units: adders, shifters, 
multipliers, ALUs and Comparators
• Registers and other memory elements for 
the storage of data
• Buses, multiplexers and tri-state buffers
 
Register Transfer Level
• Datapath design is also referred to as 
register-transfer level (RTL) design
• In register-transfer level (RTL) design, we 
look at how data is transferred from one 
register to another, or back to the same 
register
 
Designing Datapaths
• Dedicated 
• General
 
Dedicated Datapaths
• What kind of registers do we need to use, and 
how many are needed?
• What kind of functional units to use, how many 
are needed?
• Can a certain functional unit be shared between 
two or more operations?
• How are the registers and functional units 
connected together such that, all data 
movements specified by the algorithm can be 
realized?
 
Three Examples
• A+3
• A=B+C
• A=A+3 and A=B+C
– Without mux
– With mux
• Designing with only one mux
 
Diagrams
 
A+3
 
B+C
 
 
A=A+B and A=A+3
 
Selecting Registers
• In most cases one register is used for 
each variable
• If variables are not used at the same time 
they can share a register
• If registers are shared then data transfer 
connection leading to and out of the 
register is usually more complex
• You can use a MUX to select source
 
Register Example
 
 
Selecting Functional Units
• Need to know what type of functional 
operations are needed
– Dedicated
– Not dedicated
• Decreasing functional units will increase 
datapath size
 
Data Transfer Methods
• Multiple sources
• Multiple Destinations
• Tri-state buffer
 
Tri-State Buffer Example
 
 
Generating Status Signals
• Although control unit is responsible for 
sequencing statement execution datapath 
must supply the results of the conditional 
test for the control unit
• IF (A = 0) THEN…
 
Generating Status Signals an 
Example
 
 
Deriving a control word
 
General Datapaths
• The general datapath has all of the 
required functional units and enough 
registers for storing all of the required 
data.
• The general idea is to use a “ready-made” 
datapath circuit to solve a given circuit 
without having to modify it
 
General Datapath Example
 
 
General Datapath Example
 
Simulation of the general datapath 
example
 
What are the two main parts of the 
microprocessor?
• The datapath is like a microprocessor 
without a control unit
 
How do we accomplish an 
increment one to a number
• We load the number by passing through 
ALU and storing in the register 
• We than increment the stored number and 
replace the old one
– Load A
– Inc A
 
So what control words are 
required?
• Load A  44h
• Inc A  35h
 
A simulation
 
 
 
 
 
	Datapath
	Two Parts of a Microprocessor
	Slide 3
	Datapath Components
	Register Transfer Level
	Designing Datapaths
	Dedicated Datapaths
	Three Examples
	Diagrams
	A+3
	B+C
	A=A+B and A=A+3
	Selecting Registers
	Register Example
	Selecting Functional Units
	Data Transfer Methods
	Tri-State Buffer Example
	Generating Status Signals
	Generating Status Signals an Example
	Deriving a control word
	General Datapaths
	General Datapath Example
	Slide 23
	Simulation of the general datapath example
	What are the two main parts of the microprocessor?
	How do we accomplish an increment one to a number
	So what control words are required?
	A simulation
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 33

Continue navegando