Register Transfer Languages (RTL)Basic DefinitionsData-paths and Control unitsRegister Transfer OperationsWhat is Register Transfer Language?Instruction RepresentationInstruction Representation (cont.)Register StructureCommon Micro-OpsMicro-Ops Transfer ParallelMicro-Ops Transfer SerialMicro-Ops Transfer BusMicro-Ops Transfer MemoryMicro-Ops Arithmetic & LogicApplications of Logic Micro-opsMicro-Ops ShiftUsing RTL to specify Digital SystemData-path DesignMore Complex Digital System & RTLThank youRegister Transfer Languages (RTL)CS 147Monday, June 18, 2001Cody NguyenBasic DefinitionsDigital system is a collection of digital hardware modulesModules are registers, counters, arithmetic elements, etc connected via:- data paths routes on which information is moved- control paths routes on which control signals are movedMicro operations (micro-ops) are operations on data stored in registersDigital modules (often just called “registers”) are defined by their information contents and the set of micro-ops they performRegister transfer language is a concise and precise means of describing those operationsData-paths and Control unitsData-path module comprises processing logic and collection of registers that perform data processingControl unit module is made up of logic that determines the sequence of data processing operations carried out in the data-pathRegister Transfer OperationsRegisters: denoted by upper case letters, and optionally followed by digits or lettersRegister transfer operations: the movement of data stored in registers and the processing performed on the dataWhat is Register Transfer Language?Register Transfer Language (RTL): used to describe CPU organization in high-level termsRTL expressions are made up of elements which describe the registers being manipulated, and the micro-ops being performed on themHere are the basic components of RTL expressions:Instruction RepresentationWord size is 16 bits12 bits to represent a memory address3-bit opcode1 bit to distinguish between direct and indirect memory addressingWhen the I (indirect) bit is 0, the value in AD is the actual address of the operand (direct addressing)When I is 1, contains the address of an indirect word, which in turn will contain the actual operand address (indirect addressing)Instruction Representation(cont.)Register StructureCommon Micro-OpsThere are 4 types of Micro-Ops:Transfer: transfers data from one register to anotherR0 <- R1 Arithmetic: performs arithmetic on data in registers R0 <- R1 + R2 Logic/bit manipulation: performs bit (Boolean) operations on data R0 <- R1 & R2 ; or R0 <- R1 | R2 Shift: shift data in registers by one or more bit positions R0 <- R1 << 3; or R0 <- R2 >> 2Micro-Ops TransferParallelParallel transfer is typically used for transfers between registersEx: Transfer all contents of A into B on one clock pulse A <- BControl function: we can do this by structuring the RTL expression to indicate the controlling conditionEx: P: A<- BMicro-Ops TransferSerialSerial transfer is used to specify that a collection of bits are to be moved, but that the transfer is to occur one bit at a timeEx: S: A <- B, B <-BMicro-Ops TransferBusA bus consists of a set of parallel data linesTo transfer data using a bus: connect the output of the source register to the bus; connect the input of the target register to the bus; when the clock pulse arrives, the transfer occursMicro-Ops TransferMemoryMemory transfers are similar to register transfers, but…Memory to register transfers are called read operations, while register to memory transfers are called write operationsRTL expressions for a read operation, assuming the use of an address registers: AR <- addressDR <- M[AR]RTL expressions for a write operation, assuming use of a data register: AR <- addressDR <- valueM[AR] <- DRMicro-Ops Arithmetic & LogicCPU typically provides addition, subtraction, increment, and decrement operations in its ALU (arithmetic-logic unit). Logic micro-ops are like arithmetic, but treat each bit of the register(s) separatelyApplications of Logic Micro-opsHow are logic operations useful?- can be used to change bit values- delete a group of bits- insert new bits into a registerMicro-Ops Shift Move the information in a register by one bit positionShifts come in three varieties:- Logical- Arithmetic- CircularUsing RTL to specify Digital SystemSpecification of Digital ComponentsD flip-flopSpecification and Implementation of simple system: complete design of the system to implement the RTL code using,Direct connectionBus and Tri-state buffersBus and MultiplexerData-path DesignExample Design and OperationTable: Micro-operation Control Signal Definitions Micro-operation RTL ExpressionX2X1X0Load A B 010Add A B + A 000Subtract A B - A 101IncrementA B + 1 110DecrementA B - 1 011More Complex Digital System & RTLThere are two complex Digital System and RTL:Module 6 CounterToll Booth ControllerThank youCopyright for CS 147Summer
View Full Document