CSC321 Where We’ve Been Binary representations Boolean logic Logic gates – combinational circuits Flip-flops – sequential circuits Complex gates – modules.

Slides:



Advertisements
Similar presentations
Part 4: combinational devices
Advertisements

REGISTER TRANSFER LANGUAGE (RTL)
Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
Princess Sumaya Univ. Computer Engineering Dept. د. بســام كحـالــه Dr. Bassam Kahhaleh.
Chapter 7 Henry Hexmoor Registers and RTL
Princess Sumaya University
ARITHMETIC LOGIC SHIFT UNIT
1 Register Transfer &  -operations Computer Organization Computer Architectures Lab REGISTER TRANSFER AND MICROOPERATIONS Register Transfer Language Register.
8085 processor. Bus system in microprocessor.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Chapter 7 – Registers.
Chapter 7. Register Transfer and Computer Operations
Cpe 252: Computer Organization1 Lo’ai Tawalbeh Lecture #4 Register Transfer and Microoperations 23/2/2006 Chapter 4:
CPEN Digital System Design Chapter 9 – Computer Design
Chapter 7 - Part 2 1 CPEN Digital System Design Chapter 7 – Registers and Register Transfers Part 2 – Counters, Register Cells, Buses, & Serial Operations.
Logic and Computer Design Dr. Sanjay P. Ahuja, Ph.D. FIS Distinguished Professor of CIS ( ) School of Computing, UNF.
16/07/2015CSE1303 Part B lecture notes 1 Hardware Implementation Lecture B17 Lecture notes section B17.
Computer Organization and Architecture
Chapter 4 Register Transfer and Microoperations
Micro-operations Are the functional, or atomic, operations of a processor. A single micro-operation generally involves a transfer between registers, transfer.
Computer System Configuration and Function Computer Architecture and Design Lecture 6.
EKT 221/4 DIGITAL ELECTRONICS II  Registers, Micro-operations and Implementations - Part2.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Logic Circuits I.
Unit I Digital computer: functional units and their interconnections Mr. Mukul Varshney.
Chapter 4 Register Transfer and Micro -operations
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Logic Circuits I.
DIGITAL 2 : EKT 221. Today’s Outline Register Transfer Clock Gating Load Control Feedback Register Transfer Language Type of Registers Basic Symbols Mathematical.
REGISTER TRANSFER AND MICROOPERATIONS
Eng. Mohammed Timraz Electronics & Communication Engineer University of Palestine Faculty of Engineering and Urban planning Software Engineering Department.
EKT 221/4 DIGITAL ELECTRONICS II  Registers, Micro-operations and Implementations - Part3.
Computer System Architecture © Korea Univ. of Tech. & Edu. Dept. of Info. & Comm. Chap. 4 Register Transfer and Microoperations 4-1 Chap. 4 Register Transfer.
CSC321 Making a Computer Binary number system → Boolean functions Boolean functions → Combinational circuits Combinational circuits → Sequential circuits.
EKT221 ELECTRONICS DIGITAL II CHAPTER 4: Computer Design Basics
Chap 7. Register Transfers and Datapaths. 7.1 Datapaths and Operations Two types of modules of digital systems –Datapath perform data-processing operations.
Chapter 4 Computer Design Basics. Chapter Overview Part 1 – Datapaths  Introduction  Datapath Example  Arithmetic Logic Unit (ALU)  Shifter  Datapath.
REGISTER TRANSFER & MICROOPERATIONS By Sohaib. Digital System Overview  Each module is built from digital components  Registers  Decoders  Arithmetic.
1 Chapter Four Register Transfer and Micro operations.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 7 – Registers and Register Transfers Part.
CDA 3101 Fall 2013 Introduction to Computer Organization The Arithmetic Logic Unit (ALU) and MIPS ALU Support 20 September 2013.
Computer Architecture Souad MEDDEB
EKT 221 : Chapter 4 Computer Design Basics
1 Outline Bus Transfer Memory Transfer Microoperations.
1 Chapter 7 Henry Hexmoor Registers and RTL. REGISTER TRANSFER AND MICROOPERATIONS Register Transfer Language Register Transfer Bus and Memory Transfers.
Logic Design / Processor and Control Units Tony Diep.
Concepts of Engineering and Technology Copyright © Texas Education Agency, All rights reserved.
Register Transfer Languages (RTL)
Chapter 4 Register Transfer and Microoperations Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2010.
1 COMP541 Datapaths I Montek Singh Mar 8, Topics  Over next 2/3 classes: datapaths  Basic register operations Book sections 7-2 to 7-6 and 7-8.
Chapter 1_0 Registers & Register Transfer. Chapter 1- Registers & Register Transfer  Chapter 7 in textbook.
EKT 221 : Digital 2 Computer Design Basics Date : Lecture : 2 hrs.
REGISTER TRANSFER & MICROOPERATIONS By Sohaib. Digital System Overview  Each module is built from digital components  Registers  Decoders  Arithmetic.
ECEG-3202: Computer Architecture and Organization, Dept of ECE, AAU 1 Register Transfer & Microoperations.
1 Register Transfer and Microoperations Acknowledgment: Most of the slides are adapted from Prof. Hyunsoo Yoon’s slides.
1 REGISTER TRANSFER & MICROOPERATIONS. 2 OUTLINES Register Transfer Language Register Transfer Bus and Memory Transfers Arithmetic Microoperations Logic.
REGISTER TRANSFER AND MICROOPERATIONS
Overview Register Transfer Language Register Transfer
REGISTER TRANSFER AND MICROOPERATIONS
Chapter 4 Register Transfer and Microoperations
Chap 7. Register Transfers and Datapaths
CS140 Lecture 03: The Machinery of Computation: Combinational Logic
KU College of Engineering Elec 204: Digital Systems Design
Register Transfer and Microoperations
REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT
Computer Organization and Design
Control Unit.
Instructor: Alexander Stoytchev
Computer Architecture and Design Lecture 6
Recall: ROM example Here are three functions, V2V1V0, implemented with an 8 x 3 ROM. Blue crosses (X) indicate connections between decoder outputs and.
COMS 361 Computer Organization
Digital Circuits and Logic
CHAPTER-3 REGISTER TRANSFER LANGUAGE AND MICROOPERATIONS
Presentation transcript:

CSC321 Where We’ve Been Binary representations Boolean logic Logic gates – combinational circuits Flip-flops – sequential circuits Complex gates – modules Circuit design techniques Assembly language programming

CSC321 What We Can Do Create digital systems –Interconnection of modules to accomplish a specific task –Through an appropriate set of modules and connections we can create a digital computer –Rather than show the circuits in all their glorious detail we use an abstract representation

CSC321 Architectural Functional Block Diagram

CSC321 So What? A digital computer is a fascinating thing in and of itself but somewhat useless It is the job of the programmer to make it do something useful The programmer’s job is to supply specific, detailed instructions to move and manipulate binary data patterns within the architecture to accomplish a meaningful task

CSC321 Sounds Easy The problem is that we [the programmers] don’t want to be burdened with the knowledge of gates, registers, flip-flops, etc. So, we describe the architecture in terms of various parameters useful to the programmer Note that “the programmer” may not be an “applications programmer” – it may be a “language compiler writer”, for example

CSC321 Descriptive Parameters The set of registers within the architecture –The names and functions (uses) of the registers The set of operations available for moving data between registers and manipulating data contained within registers –Microoperations The method of specifying the sequence of execution of the microoperations Note that this is a level lower than assembly language

CSC321 Microoperations To describe the operations we use a language called Register Transfer Language We [as programmers] assume that the logic circuits [combinational and/or sequential] are available to perform the “transfers”

CSC321 Register Transfer Language A register is nothing but a small, fast piece of memory A system for expressing in symbolic form the micro-operation sequences among the registers of a digital module Note [again] that this is not Assembly Language!!!

CSC321 Register Transfer Language (RTL) Registers are designated by capital letters –MAR – Memory Address Register –PC – Program Counter –IR – Instruction Register –Rx – General purpose register –etc. Bits within registers are numbered 0 to n-1 (n-bit register) starting at the LSB (rightmost bit) What are registers made of?

CSC321 Register Representations (Pictorial) R R R2(H)R2(L) 78

CSC321 Register Transfers Move the data from one register to another The bit pattern that is in register R1 is copied into register R2 –Again, we are assured that the circuitry required to perform the transfer is available –Implies a parallel load operation R1R2

CSC321 Conditional Transfer Conditionally move the data from one register to another The bit pattern that is in register R1 is copied into register R2 if the control signal P is high (1) –This isn’t a Java “if/then” statement! –Again, we are assured that the circuitry required to perform the transfer is available –Implies a parallel load operation R1if (P = 1) then R2

CSC321 Control Function Conditionally move the data from one register to another Same meaning as the if/then statement P may be [typically is] a complex logic expression/combinational circuit R1P: R2

CSC321 Hardware Implication R1P: R2 Control circuit R2 R1 clock PLoad n clock load Rising edge of clock sets the load signal Next rising edge cause the transfer to occur

CSC321 Parallel Operations Some microoperations take multiple clock cycles (periods) Some microoperations can be performed simultaneously (in parallel) –During the same clock edge transition –It’s this kind of operation that distinguishes between computers and “super computers” R1, R3P: R2R0

CSC321 Data Paths We’ve been assuming that the circuitry to perform the transfers exists Two choices for realizing this assumption

CSC321 Data Paths Lots and lots of little wires Every register pair that can transfer data must be wired together 3210 C0C0 C1C1 C2C2 C3C3 register C 3210 B0B0 B1B1 B2B2 B3B3 register B 3210 A0A0 A1A1 A2A2 A3A3 register A 3210 D0D0 D1D1 D2D2 D3D3 register D You would have to do this for all registers!

CSC321 Data Paths Common bus –A set of n wires (for n-bit register transfers) shared by all registers –Registers take turns putting their bit patterns onto the bus

CSC321 Bus Implementation x 1 MUX x 1 MUX x 1 MUX x 1 MUX A0A0 A1A1 A2A2 A3A3 B0B0 B1B1 B2B2 B3B3 C0C0 C1C1 C2C2 C3C3 D0D0 D1D1 D2D2 D3D3 A0A0 B0B0 C0C0 D0D0 A1A1 B1B1 C1C1 D1D1 A2A2 B2B2 C2C2 D2D2 A3A3 B3B3 C3C3 D3D3 bit 0 bit 1 bit 2 bit 3 select 0 select 1 register Dregister Cregister Bregister A

CSC321 Bus Implementation Completing the transfer (we now have data bits from a register on the bus) –Simple – we just connect the bus data lines to the inputs of the registers –The data is then available to all registers on the bus –We activate the Load line for the actual destination register

CSC321 Register Transfer Language In long-hand: In short-hand Bus activation is implied R1, R2BUS R1R2

CSC321 Three-State Gates In constructing the bus we used multiplexers –Convenient but expensive in terms of size and money An alternative is the three-state gate –Similar to the logic gates we’ve looked at so far (NOT, AND, OR, NAND, NOR, XOR) –Different in that they’re not binary

CSC321 Three-State Gates Three-state gates have a 3 rd output value that corresponds to “no output” –When in this state the gate is effectively out of the circuit – it acts as if it isn’t even there –Technically, this is called a high-impedance state and acts as an open circuit You’ll also here these called tri-state gates

CSC321 Three-State Gates The most common tri-state gate is the buffer What’s a buffer? What’s a tri-state buffer? inputoutput inputcontroloutput 00open inputoutput control

CSC321 Tri-State Buffer Usage 2 x 4 Decoder S0S0 S1S1 E A0A0 B0B0 C0C0 D0D0 A3A3 B3B3 C3C3 D3D3 bit 0 bit 3 Select Enable from registers bus lines ─1 decoder ─A bunch of buffers

CSC321 Memory Transfers Recall we must specify a direction (read/write), a source address, and a destination address Read from memory location at address in the AR register (Address Register) and place the contents into the R1 register M[AR]Read: R1

CSC321 Memory Transfers Write (copy) the contents of register R1 to the memory location at address in the AR register (Address Register) R1Write: M[AR]

CSC321 Register Transfer Language (RTL) Arithmetic Operations R1 + R3R2 R1 - R3R2 R1R2 R1 + 1R2 R2 + R1 + 1R2 R1 + 1R2 R1 - 1R2 Addition Subtraction Increment Decrement Negate (2’s complement) Complement (invert bits) Subtraction We need circuits to do all these operations

CSC321 Binary Adder Circuit Recall there are two types of adder –Half adder Adds two bits Produces a sum and carry –Full adder Adds three bits Produces a sum and carry S C S C

CSC321 Creating Larger Adders Connect full adders together –n-bit binary adder is created from n full adders Full Adder B3B3 A3A3 B2B2 A2A2 B1B1 A1A1 B0B0 A0A0 C3C3 C2C2 C1C1 C0C0 C out S3S3 S2S2 S1S1 S0S0 4-bit binary adder

CSC321 Binary Subtractor Subtraction is performed by a 2’s complement operation followed by an addition Full Adder B3B3 A3A3 B2B2 A2A2 B1B1 A1A1 B0B0 A0A0 C3C3 C2C2 C1C1 C0C0 C out S3S3 S2S2 S1S1 S0S0 M

CSC321 Incrementer Can use a binary adder with a 1 as the 2 nd input Can be done more simply with a series of half adders Half Adder Half Adder Half Adder Half Adder A0A0 A1A1 A2A2 A3A3 1 S3S3 S2S2 S1S1 S0S0 C3C3 C2C2 C1C1 C0C0

CSC321 Decrementer Subtractor with a 1 at the 2 nd input

CSC321 Arithmetic Unit We don’t want all these separate circuits in our system –Too much space, too much complexity, too much money Can we combine all these operations in a single circuit?

CSC321 Arithmetic Unit Note: MSB is on the right, LSB is on the left

CSC321 Select Lines Set To 00

CSC321 Select Lines Set To 01

CSC321 Select Lines Set To 10

CSC321 Select Lines Set To 11

CSC321 Summary Select S0S0 S1S1 C in 1 st Operand2 nd OperandOutput (D)Microoperation 000ABA + Badd 001ABA + B + 1add with carry 010AB’A + B’subtract with borrow 011AB’A + B’ + 1subtract 100A0Atransfer (assignment) 101A0A + 1increment 110A1A - 1decrement 111A1Atransfer (assignment)

Where are we? This takes us up to section 4-5 Homework: –4-1, 4-2, 4-3, 4-6, 4-7, 4-8 –Due next lecture CSC321