1 / 60

Computer Design Basics

Computer Design Basics. Chapter 4. ~ Outline ~ Datapath Arithmetic Logic Unit (ALU) The Shifter Datapath Representation The Control Word. Datapath. Datapath. Computer Specification Instruction Set Architecture (ISA)

Télécharger la présentation

Computer Design Basics

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. Computer Design Basics Chapter 4 ~ Outline ~ Datapath Arithmetic Logic Unit (ALU) The Shifter Datapath Representation The Control Word

  2. Datapath

  3. Datapath • Computer Specification • Instruction Set Architecture (ISA) • The specification of a computer's appearance to a programmer at its lowest level. • It describe all the available instruction set in the computer, where it is kept (address) and how to use it (read). • Computer Architecture • A high-level description of the hardware implementing the computer derived from the ISA • Consists of: A Datapath and A Control

  4. Datapath • The architecture usually includes additional specifications such as speed, cost, and reliability. • Simple computer architecture comprise of: • Datapath for performing operations • Control unitfor controlling datapath operations • A datapath is specified by: • A set of registers • The micro-operations performed on the data stored in the registers • A control interface

  5. Datapath and Control • Control Unit - Determines the enabling and sequencing of the operations • Datapath - performs data transfer and processing operations The control unit receives: – External control inputs – Status signals The control unit sends: – Control signals – Control outputs

  6. A General Purpose Processor CPU Control Word

  7. A General Purpose Processor • Computer Datapath • Implements register transfer micro-operations and serves as a framework for the design of detailed processing logic. • Control Word • Provides a tie between the datapath and the control unit.

  8. Datapath Guiding principles for basic datapaths (Typical): • The set of registers: • Collection of individual registers • A set of registers with common access resources called a register file • A combination (individual & set of reg.) of the above • Micro-operation implementation: • One or more shared resources for implementing micro-operations • Buses - shared transfer paths • Arithmetic-Logic Unit (ALU) - shared resource for implementing arithmetic and logic micro-operations • Shifter - shared resource for implementing shift micro-operations

  9. Datapath • The combination of: A set of registers with a shared ALU, and interconnecting paths.

  10. Block Diagram of a Generic Datapath • Four parallel-load registers • • Two mux-based register selectors • • Register destination decoder • • Mux B for external constant input • • Buses A and B with external address and data outputs • • ALU and Shifter with Mux F for output select (Function Unit) • • Mux D for external data input • • Logic for generating status bits V, C, N, Z

  11. Block Diagram of a Generic Datapath Example: R1  R2 + R3 Note: G Select must refer to Function Table of Arithmetic Circuit (refer next 3 slides)

  12. The Arithmetic / Logic Unit (ALU)

  13. Arithmetic Logic Unit (ALU) • ALU Comprise of: • An arithmetic circuit (add, subtract) • A logic circuit (bitwise operation) • A selector to pick between the two circuits 1 2 3

  14. Arithmetic Logic Unit (ALU) • ALU Comprise of: • An arithmetic circuit • An n-bit parallel adder • A block of input logic with 2 selectors S1 and S0 1 * Mode Select (S2) distinguishes between arithmetic and logic operations which actually construct item G Select (4-bits) 3

  15. ALU • Is a combinational circuit that performs a set of basic micro-operations on: • Arithmetic • Logic • Has a number of selection lines used to determine the operations to be performed e.g. • n selection lines can specify up to 2n types of operations.

  16. An n-bit ALU • n data inputs of A are combined with n data inputs of B, to generate the result of an operation at the G outputs. • S2=0  Arithmetic operations (8). Which one – is specified by S1, So and Cin. • S2=1  Logic operations (4). Which one – is specified by So and Cin.

  17. Question • What are the 8 arithmetic operations? • What are the 4 logic operations?

  18. How to design the ALU? • Design the arithmetic section • Design the logic section • Combine both sections

  19. To be designed… One Stage of ALU S2 = 0 for Arithmetic S2 = 1 for Logic

  20. Arithmetic Circuit Design 1 Given …

  21. Arithmetic Circuit Design 1 Analyze the Circuit: Use Note : X = A G = A + Y + Cin For S1 and S0 = 00, then G = A + 0 + 0 G = A E.g. We can verify for n = 4 bit: A = 1010 B = 0101

  22. Y = BS0 + BS1 Building the B input Logic • Obtain the K-Map • Get the Boolean Expression Input = S1, S0 and B Output = Y

  23. Y Building the B input Logic Y = BS0 + BS1 Example of a 4-bit Arithmetic Circuit Any other alternative?

  24. Use Multiplexer 0 B B 1

  25. Building the Logic Circuit 2 • The Logic Circuit performs bitwise operation • Commonly : AND, OR, XOR and NOT Note: if 4 bit is wanted, then we have to arrange it in array One Stage of Logic Circuit

  26. Building the Selector for choosing Arithmetic or Logic Unit 3 S2 = 0 for Arithmetic S2 = 1 for Logic One Stage of ALU Refer also Fig. 10.2

  27. Exercise 1. Design a 4-bit logic unit of an ALU to do:

  28. Exercise 2. Draw the complete diagram of the ALU, which consists of: • The Arithmetic Circuit • The Logic Circuit • The Selector circuit For: • A bit-slice (one stage) circuit • A 2-bits circuit • A 4-bits circuit

  29. Find the G select for given RTL: Exercise R1  R2 + R3 Therefore; S2 = 0 for Arithmetic operation S1 = 0 S0 = 1 Cin = 0 LSB G Select (4-bits) 0010 0010 Answer : MSB

  30. The Shifter

  31. The Shifter • The Shifter Shifts the value on Bus B, placing the result on an input of MUX F • The Shifter can: • Shift Right • Shift Left • It is obvious that the shifter would be a bidirectional shift register with parallel load. • Alternatively, a combinational logic shifter can be constructed using multiplexers.

  32. Barrel Shifter • Barrel in BM = ? • “Tong Deram” • Is a combinational circuit. • Can shift data more than 1-bit position in a single clock cycle? • Number of bit positions to be shifted or rotated is specified by the “select” inputs. • Shift here is Rotate Left. • Data is shifted left with the MSB rotated back as LSB.

  33. Barrel Shifter • The data can be shifted or rotated more than one bit position in a single clock cycle • By using MUX. • 2n input requires 2n MUX.

  34. 4 Bit Basic Shifter • Serial Inputs: • IR : right shift • IL : left shift

  35. 4-Bit Barrel Shifter • A rotate is a shift in which the bits shifted out are inserted into the positions vacated • The circuit rotates its contents left from 0 to 3 positions depending on Selector S. Note that a left rotation by three (3) positions is the same as a right rotation by one position in this 4 bit barrel shifter

  36. Exercise Find the output Y for each of the following bit patterns applied to S1, S0, D3, D2, D1 and D0: • 000101 • 101010 • 010011

  37. Datapath Representation

  38. Datapath Representation Regs, mux, dec., enable hw Register File One hierarchy level Up ALU, shifter, mux F, zero detect Function Unit

  39. n D data Write m D address m 2 n x Register file m m A address B address A data B data Constant in n n n 1 0 MB select MUX B n Bus A Address out Bus B n Data out A B 4 FS V Function C unit N Z F n n Data in 0 1 MD select MUX D Datapath Representation (cont.) • In the register file: • Multiplexer select inputs become A address and B address • Decoder input becomes D address • Multiplexer outputs become A data and B data • Input data to the registers becomes D data • Load enable becomes write • The register file now appears like a memory based on clocked flip-flops (the clock is not shown) • The function unit labeling is quite straightforward except for FS

  40. Definition of Function Unit Select (FS) Codes • Notice that the G, H and MF Select are combined as FS. • Boolean Equations: • MF = F3.F2 • Gi = Fi • Hi = Fi

  41. Control Word

  42. Control Word • The datapath has many control inputs. • The signals driving these inputs can be defined and organized into a control word. • To execute a micro-instruction, we apply control word values for a clock cycle. • For most micro-operations, the positive edge of the clock cycle is needed to perform the register load. • The control word represents the control inputs to the datapath. • Its determines the micro-operation to be executed for each clock pulse.

  43. A Datapath with Control variables MUX B Selects between constant values on Constant in and register values on B data. • Register File • 8 registers, R0 to R7. • Outputs to Function Unit via Bus A and Bus B. MUX D Selects the function unit output or the data on Data in as input for the register file. • 16 control inputs (represented by control word).

  44. The Control Word Fields Control Word Fields (7): • DA : D Address • AA : A Address • BA : B Address • MB : Mux B • FS : Function Select • MD : Mux D • RW : Register Write Total : 16-bits (3-bits) (3-bits) (3-bits) (4-bits) (1-bit) Register Fields

  45. How a Control Word Specifies a Micro-op

  46. n D data Write m D address m 2 n x Register file m m A address B address A data B data Constant in n n n 1 0 MB select MUX B n Bus A Address out Bus B n Data out A B 4 FS V Function C unit N Z F n n Data in 0 1 MD select MUX D

  47. Control Word Encoding

  48. R1  R2 + R3 + 1 How RTL is coded as a Control Word • R2: source register for A input of ALU • R3: source register for B input of ALU • Function Unit operation: F= A+B+1 • R1: Destination register for results DA AA BA MB FS MD RW R1 R2 R3 Register F= A+B+1 Function Write 001 010 011 0 0101 0 1

  49. Control Word Encoding

  50. R4  sl R6 How RTL is coded as a Control Word • Shifter : to shift left • Contents of R6, shifted to the left, is transferred to R4 • Shifter is driven by B bus • Source register: specified in BA field. DA AA BA MB FS MD RW R4 - R6 Register F= sl B Function Write 100 XXX 110 0 1110 0 1

More Related