Baixe o app para aproveitar ainda mais
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
Compartilhar