1 / 23

SYEN 3330 Digital Systems

SYEN 3330 Digital Systems. Chapter 7 – Part 3. Datapath and Operations . Review of Digital Logic Systems Digital System – a sequential circuit made up of interconnected flip-flops and gates . Gates – implement the logic functions.

Télécharger la présentation

SYEN 3330 Digital Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SYEN 3330 Digital Systems Chapter 7 – Part 3 SYEN 3330 Digital Systems

  2. Datapath and Operations Review of Digital Logic Systems • Digital System – a sequential circuit made up of interconnected flip-flops and gates. • Gates – implement the logic functions. • Functional Blocks – a collection of gates implementing a specific function. (e.g. multiplexers, adders, shifters, etc.) • Flip-flops – provide the state variables. • Registers – a collection of flip-flops. • Memory – a large collection of flip-flops (or other storage elements) combined with a method of accessing the flip-flops. • We will study how to organize these elements into two interacting subsystems – Control and Datapath SYEN 3330 Digital Systems

  3. Memory CPU Control Datapath Input/Output Review: A Computer • CPU (Central Processing Unit): Determines a sequence of data processing operations to be performed in the datapath portion. • Datapath: performs basic operation on data stored in registers. • Control: configures data transfers and establish operations to be performed. • Memory: -- A regular array of data storage elements. • Input/Output: -- A collection of devices that store, display and convert information. SYEN 3330 Digital Systems

  4. Control Control Inputs Control Unit Data Output Datapath Status Control Outputs Data Inputs Datapath and Control Unit • Control Unit: Determines a sequence of data processing operations to be performed in the datapath portion. • Datapath: Performs basic operation on data stored in registers. • Control: signals that configure data transfers and establish operations to be performed. • Status: -- signals that represent the state of data, such as overflow bits, “zero” tests, etc. These signals are tested to change the sequence of operations. SYEN 3330 Digital Systems

  5. Register Transfer Operations • Resisters – a collection of binary storage flip-flops organized in some logical fashion. • Register Transfer Operations – the movement of data stored in registers and the processing performed on the data. • Three basic components: • Set of registers • Operations • Control • Elementary Operations • Load, count, shift, add, bitwise “OR”, etc. • Elementary operations are called micro-operations. SYEN 3330 Digital Systems

  6. R 7 6 5 4 3 2 1 0 PC(H) PC(L) R2 15 8 7 0 15 0 Register Transfer • Register Nomenclature • Letters and numbers – denotes a register (ex. R2, PC, IR) • Parentheses ( ) – denotes a range of register bits (ex. R1(1), PC(7:0), AR(L)) • Arrow () – denotes data transfer (ex. R1  R2, PC(L)  R0) • Comma – separates parallel operations • Brackets [ ] – Specifies a memory address (ex. R0  M[AR], R3  M[PC]) SYEN 3330 Digital Systems

  7. K1 Load R2 n R1 Clock Clock K1 Transfer Occurs Here Conditional Transfer • If (K1 = 1) then (R2  R1) is shortened to • K1: (R2  R1) • where K1 is a control variable specifying a conditional execution condition. • Conditional execution is used to modify the sequence of microoperations. SYEN 3330 Digital Systems

  8. Microoperations • Logical Groupings: • Transfer – move data from one set of registers to another. • Arithmetic – perform arithmetic on data in registers. • Logic – manipulate data or use bitwise logical operations. • Shift – shift data in registers. • Arithmetic operations (word – wide) • + Addition – Subtraction * Multiplication / Division • Logical operations (bitwise) •  Logical OR  Logical AND  Logical Exclusive OR ¯ Not SYEN 3330 Digital Systems

  9. Example Microoperations • Add the content of R1 to the content of R2 and place the result in R1. R1  R1 + R2 • Multiply the content of R1 by the content of R6 and place the result in PC. PC  R1 * R6 • Exclusive OR the content of R1 with the content of R2 and place the result in R1. R1  R1  R2 SYEN 3330 Digital Systems

  10. Example Microoperations (Continued) • Take the 1’s Complement of the contents of R2 and place it in the PC. PC  R2 • On condition K1OR K2, Logical bitwise OR the content of R1 with the content of R3 and place the result in R1. (K1+K2): R1  R1  R3 • Note: “+” (as in K1 + K2) and  both mean “OR”! SYEN 3330 Digital Systems

  11. The control variable for an operation appears to the left of the operation and is separated by a colon. Control variables specify the logical conditions for the operation. Control Variable values of: Logic “1” – the operation takes place. Logic “0” – the operation is inhibited. Examples: X’  K1 : R1  R1 + R2 X  K1 : R1  R1 + R2’ + 1 Variable K1 enables the add or subtract operation. If X=0, then X’ = 1 so X’  K1 = 1, activating add of R1 and R2. If X=1, then X  K1 = 1, activating add of R1 and the two’s comp. of R2 (Subtract) Control Variables SYEN 3330 Digital Systems

  12. Symbolic Designation Description R0  R1 + R2 Addition R0  R1 One’s Complement R0  R1 + 1 Two’s Complement R0  R2 + R1 + 1 R2 minus R1 (2’s Comp) R1  R1 + 1 Increment (count up) R1  R1 – 1 Decrement (count down) Arithmetic Microoperations • From Table 7-3 • Note that any register may be specified for source1, source2, or destination. • These simple microoperations operate on the whole word – except for 1’s complement which is a bitwise operation. SYEN 3330 Digital Systems

  13. Logical Microoperations • From Table 7-4 SYEN 3330 Digital Systems

  14. Logical Microoperations (Continued) • Let R1 = 10101010, and R2 = 11110000 • Then after “Operation”, R0 Becomes: SYEN 3330 Digital Systems

  15. Shift Microoperations • From Table 7-5: • Let R2 = 11001001 • Then after “Operation”, R1 becomes: • Note: These shifts “zero fill”. Sometimes a separate “link” bit can be used to provide the data shifted in, or to “catch” the data shifted out. • Other shifts are possible (circular, arithmetic). SYEN 3330 Digital Systems

  16. Register Transfer Structures Multiplexer-Based Transfers Register inputs are connected to multiple sources via a multiplexer. Bus-Based Transfers Register inputs are connected to a single bus driven by a multiplexer. Three-State Bus Register inputs and outputs are connected to a single bus via tri-state drivers. Memory Transfer Registers provide a source for Memory Addresses and a source or sink for Memory Data. Other Transfer Structure Use multiple multiplexers, multiple busses, combinations of all the above, etc. SYEN 3330 Digital Systems

  17. Load R2 Load R1 Load R0 n n n Multiplexer-Based Transfers • Multiplexers connected to register inputs produce flexible transfer structures: (Note: Clocks are left off for clarity) • The transfer are: K1: R0  R1 K2  K1’: R0  R2 K1  K2 S MUX 0 1 SYEN 3330 Digital Systems

  18. L0 Load R0 L1 n S  Load R1 0 n MUX  n 1  S n n n 0 MUX L2 1 S n Load R2 0 n MUX n 1 MUX-Based Transfers (Continued) • Multiplexers connected to each register input produces a very flexible transfer structure: • What transfers are possible with this structures? How many operations can occur in parallel? SYEN 3330 Digital Systems

  19. L0 Load R0 L1 S1 S0 n Load R1 n n  n n n L2 S1 S0 0 Load R2 n 1 MUX 2 Bus-Based Transfers • A single input bus driven by a multiplexer limits the available transfers: • What transfers can occur here? SYEN 3330 Digital Systems

  20. L0 Load R0 n  L1 Load R1 n n  n E1 L2 Load R2 n E0 n  E2 Three-State Bus • The three-input MUX can be replaced by 3 – state buffers. Transfers are still limited • What transfers are allowed here? SYEN 3330 Digital Systems

  21. Memory Transfer • Memory operations require: • ADDRESS • And require • DATA (write operations), • Or provide • DATA (read operations) • Typically: • There can be more than one memory address source in a system • There can be more than one data source or data sink in a system • Some structure of busses and multiplexers is needed to access the memory. SYEN 3330 Digital Systems

  22. Other Transfer Structures • Fast systems require that parallel operations occur within the same clock. • Parallel operations imply “resources” required to move the data • SO: • Multiple busses are used, and • Multiplexers are used to select input sources. • THIS REQUIRES MOER HARDWARE! SYEN 3330 Digital Systems

  23. L0 S0 n S 0 MUX 1 n Load R0 n n E0a n E0b L1 S1 n S 0 MUX 1 n Load R1 n n E1a n L2 E1b S2 n S 0 MUX 1 n Load R2 n n E2a n E2b Other Transfer Structures (Continued) • What transfers does this system allow? SYEN 3330 Digital Systems

More Related