CSC 220: Computer Organization

Slides:



Advertisements
Similar presentations
Computer Architecture CS 215
Advertisements

CPEN Digital System Design
REGISTER TRANSFER LANGUAGE (RTL)
Princess Sumaya Univ. Computer Engineering Dept. د. بســام كحـالــه Dr. Bassam Kahhaleh.
Chapter 7 Henry Hexmoor Registers and RTL
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.
1 Review: Counters and Registers CS 231 Review October 26, 2007 By Joshua Smith Please note the NOTES in the PPT file for help with the examples.
Chapter 7. Register Transfer and Computer Operations
Logic and Computer Design Dr. Sanjay P. Ahuja, Ph.D. FIS Distinguished Professor of CIS ( ) School of Computing, UNF.
Chapter 7 – Registers and Register Transfers Part 1 – Registers, Microoperations and Implementations Logic and Computer Design Fundamentals.
EKT 124 / 3 DIGITAL ELEKTRONIC 1
Computer System Configuration and Function Computer Architecture and Design Lecture 6.
Digital 2 : EKT 221. Today’s Outline RTL Arithmetic Operations Conditional Register Transfer RTL Logical Operations RTL Shift Operations.
EKT 221/4 DIGITAL ELECTRONICS II  Registers, Micro-operations and Implementations - Part2.
Rabie A. Ramadan Lecture 3
Chapter 4 Register Transfer and Micro -operations
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.
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.
REGISTER TRANSFER LANGUAGE MICROOPERATIONS. TODAY OUTLINES Logic Microoperations Shift Microoperations.
REGISTER TRANSFER & MICROOPERATIONS By Sohaib. Digital System Overview  Each module is built from digital components  Registers  Decoders  Arithmetic.
Registers Page 1. Page 2 What is a Register?  A Register is a collection of flip-flops with some common function or characteristic  Control signals.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 7 – Registers and Register Transfers Part.
Sequential Logic Circuit
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
DIGITAL 2 : EKT 221 RTL : Microoperations on a Single Register
EKT 221 : Chapter 4 Computer Design Basics
EKT 124 / 3 DIGITAL ELEKTRONIC 1
1 Chapter 7 Henry Hexmoor Registers and RTL. REGISTER TRANSFER AND MICROOPERATIONS Register Transfer Language Register Transfer Bus and Memory Transfers.
Register Transfer Languages (RTL)
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.
Jeremy R. Johnson William M. Mongan
REGISTER TRANSFER & MICROOPERATIONS By Sohaib. Digital System Overview  Each module is built from digital components  Registers  Decoders  Arithmetic.
1 REGISTER TRANSFER & MICROOPERATIONS. 2 OUTLINES Register Transfer Language Register Transfer Bus and Memory Transfers Arithmetic Microoperations Logic.
REGISTER TRANSFER AND MICROOPERATIONS
CS 270: Mathematical Foundations of Computer Science
Overview Register Transfer Language Register Transfer
REGISTER TRANSFER AND MICROOPERATIONS
Chap 7. Register Transfers and Datapaths
KU College of Engineering Elec 204: Digital Systems Design
DIGITAL 2 : EKT 221 RTL : Microoperations on a Single Register
Register Transfer and Microoperations
3.2 Shift Register Basic shift register function
REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT
Computer Organization and Design
Control Unit.
CSC 220: Computer Organization
REGISTER TRANSFER LANGUAGE
Computer Architecture and Design Lecture 6
CSC 220: Computer Organization
Systems Architecture I (CS ) Lecture 2: A Simplified Computer
Computer Organization and Design
Unit 7 Sequential Circuits (Flip Flop)
CSC 220: Computer Organization Logic Gates and Functions
Unit 12 CPU Design & Programming
Registers.
Overview Part 1 - Registers, Microoperations and Implementations
CSC 220: Computer Organization
Unit 10 Arithmetic-logic Units
CSC 220: Computer Organization COMBINATIONAL CIRCUITS-2
Overview Part 1 - Registers, Microoperations and Implementations
Unit 3 Simplification and K-map
CHAPTER-3 REGISTER TRANSFER LANGUAGE AND MICROOPERATIONS
Instruction execution and ALU
Presentation transcript:

CSC 220: Computer Organization College of Computer and Information Sciences Department of Computer Science CSC 220: Computer Organization Unit 8 Registers and RTL

Overview Registers Parallel in Parallel out Registers Shift Registers Unit 8: Registers and RTL Overview Registers Parallel in Parallel out Registers Shift Registers Bus Construction Register Transfer Language Micro operations Chapter-6 M. Morris Mano, Charles R. Kime and Tom Martin, Logic and Computer Design Fundamentals, Global (5th) Edition, Pearson Education Limited, 2016. ISBN: 9781292096124

Dr Mohamed A Berbar

MUX 2 - 1 MUX 2 - 1

Serial Parallel MUX 2 - 1 MUX 2 - 1

A Bidirectional Shift Register with parallel load Operation S0 S1 No change Shift left 1 Shift right Parallel load

Other types of shift registers Logical shifts – Standard shifts like we just saw. In the absence of a SI input, 0 occupies the vacant position. Left: 0110 -> 1100 Right: 0110 -> 0011 Circular shifts (also called ring counters or rotates) – The shifted out bit wraps around to the vacant position. Left: 1001 -> 0011 Right: 1001 -> 1100 Switch-tail ring counter (aka Johnson counter) – Similar to the ring counter, but the serial input is the complement of the serial output. Left: 1001 -> 0010 Right: 1001 -> 0100 Arithmetical shifts – Left shifting is the same as a logical shift. Right shifting however maintains the MSB. Right: 0110 -> 0011; 1011 -> 1101

Example Consider a 4-bit register with the following inputs parallel data inputs ABCD = 0011 left serial input LSI = 1 (This is the serial input for a left shift.) right serial input RSI = 0 (This is the serial input for a right shift.) The three control inputs S2, S1, S0 operate as shown in the table to the right. Let the initial register content be QAQBQCQD = 0101 S2 S1 S0 Operation left shift 1 circular left shift right shift circular right shift no change parallel load complement each bit set to 1111

Example ABCD = 0011 S2 S1 S0 QA QB QC QD 1 S2 S1 S0 Operation left shift 1 circular left shift right shift circular right shift no change parallel load complement each bit set to 1111 Other Information Parallel Load ABCD = 0011 LS1 RSI S2 S1 S0 QA QB QC QD 1

Example ABCD = 0011 S2 S1 S0 QA QB QC QD 1 S2 S1 S0 Operation left shift 1 circular left shift right shift circular right shift no change parallel load complement each bit set to 1111 Other Information Parallel Load ABCD = 0011 LS1 RSI S2 S1 S0 QA QB QC QD 1

Example ABCD = 0011 S2 S1 S0 QA QB QC QD 1 S2 S1 S0 Operation left shift 1 circular left shift right shift circular right shift no change parallel load complement each bit set to 1111 Other Information Parallel Load ABCD = 0011 LS1 RSI S2 S1 S0 QA QB QC QD 1

Example ABCD = 0011 S2 S1 S0 QA QB QC QD 1 S2 S1 S0 Operation left shift 1 circular left shift right shift circular right shift no change parallel load complement each bit set to 1111 Other Information Parallel Load ABCD = 0011 LS1 RSI S2 S1 S0 QA QB QC QD 1

Example ABCD = 0011 S2 S1 S0 QA QB QC QD 1 S2 S1 S0 Operation left shift 1 circular left shift right shift circular right shift no change parallel load complement each bit set to 1111 Other Information Parallel Load ABCD = 0011 LS1 RSI S2 S1 S0 QA QB QC QD 1

Example ABCD = 0011 S2 S1 S0 QA QB QC QD 1 S2 S1 S0 Operation left shift 1 circular left shift right shift circular right shift no change parallel load complement each bit set to 1111 Other Information Parallel Load ABCD = 0011 LS1 RSI S2 S1 S0 QA QB QC QD 1

Example ABCD = 0011 S2 S1 S0 QA QB QC QD 1 S2 S1 S0 Operation left shift 1 circular left shift right shift circular right shift no change parallel load complement each bit set to 1111 Other Information Parallel Load ABCD = 0011 LS1 RSI S2 S1 S0 QA QB QC QD 1

Example ABCD = 0011 S2 S1 S0 QA QB QC QD 1 S2 S1 S0 Operation left shift 1 circular left shift right shift circular right shift no change parallel load complement each bit set to 1111 Other Information Parallel Load ABCD = 0011 LS1 RSI S2 S1 S0 QA QB QC QD 1

Example ABCD = 0011 S2 S1 S0 QA QB QC QD 1 S2 S1 S0 Operation left shift 1 circular left shift right shift circular right shift no change parallel load complement each bit set to 1111 Other Information Parallel Load ABCD = 0011 LS1 RSI S2 S1 S0 QA QB QC QD 1

Example ABCD = 0011 S2 S1 S0 QA QB QC QD 1 S2 S1 S0 Operation left shift 1 circular left shift right shift circular right shift no change parallel load complement each bit set to 1111 Other Information Parallel Load ABCD = 0011 LS1 RSI S2 S1 S0 QA QB QC QD 1

Example ABCD = 0011 S2 S1 S0 QA QB QC QD 1 S2 S1 S0 Operation left shift 1 circular left shift right shift circular right shift no change parallel load complement each bit set to 1111 Other Information Parallel Load ABCD = 0011 LS1 RSI S2 S1 S0 QA QB QC QD 1

Bus Construction A bus consists of a set of parallel data lines To 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 occurs

Bus and Memory transfers

Step 1: The content of register C is placed on the bus Step 2: The content of the bus is loaded into register A by activating its load control input.

A digital computer has a common bus system for 16 registers of Question A digital computer has a common bus system for 16 registers of 32 bit each. The bus is constructed with multiplexers. How many selection inputs are there is each multiplexer? What size of multiplexers is needed? How many multiplexers are there in the bus?

Register Transfer Language Micro operations (micro-ops) are operations on data stored in registers Register transfer language (RTL) is a concise and precise means of describing those operations RTL expressions are made up of elements which describe the registers being manipulated, and the micro-ops being performed on them Registers are denoted by uppercase letters (sometimes followed by numbers) that indicate the function of the register e.g. R0, R1, AR, PC, MAR, et al. The individual bits can be denoted using parenthesis and bit numbers or labels e.g. R0(0), R0(7:0), PC(L), PC(H)

Note: The contents of the source register do not change as a result of the transfer— only the contents of the destination register change.

A statement that specifies a register transfer implies that datapath circuits are available from the outputs of the source register to the inputs of the destination register and that the destination register has a parallel load capability. Every statement written in register-transfer notation presupposes a hardware construct for implementing the transfer. All RTL statements occur in response to a clock tick. Normally we want a given transfer to occur not for every clock pulse, but only for specific values of the control signals. RTL conditional statements: e.g. If (K1 = 1) Then (R2  R1) Control function notation (Colon, :) e.g. K1: R2  R1 A comma is used to separate two or more register transfers that are executed at the same time. e.g. Go: R2  R1, R4  R3

Bitwise operations 1 0 1 1 AND 1 1 1 0 1 0 1 0 1 0 1 1 OR 1 1 1 0 Most computers also support logical operations like AND, OR and NOT, but extended to multi-bit words instead of just single bits. To apply a logical operation to two words X and Y, apply the operation on each pair of bits Xi and Yi: Single operand logical operation: “complementing” all the bits in a number. 1 0 1 1 AND 1 1 1 0 1 0 1 0 1 0 1 1 OR 1 1 1 0 1 1 1 1 1 0 1 1 XOR 1 1 1 0 0 1 0 1 NOT 1 0 1 1 0 1 0 0