Datapath.

Slides:



Advertisements
Similar presentations
Computer Architecture CS 215
Advertisements

CPEN Digital System Design
Chapter 7 Henry Hexmoor Registers and RTL
7-5 Microoperation An elementary operations performed on data stored in registers or in memory. Transfer Arithmetic Logic: perform bit manipulation on.
1 Register Transfer &  -operations Computer Organization Computer Architectures Lab REGISTER TRANSFER AND MICROOPERATIONS Register Transfer Language Register.
8085 processor. Bus system in microprocessor.
Chapter 9 Computer Design Basics. 9-2 Datapaths Reminding A digital system (or a simple computer) contains datapath unit and control unit. Datapath: A.
Instructor: Yuzhuang Hu The Shifter 3 clock cycles will be needed if using a bidirectional shift register with parallel load.  A clock.
Overview Part 1 – Datapaths Part 2 – A Simple Computer
1 COMP541 Datapaths II Montek Singh Mar 22, 2007.
Chapter 7. Register Transfer and Computer Operations
Computer Basics. Datapath Operations The Register File.
Henry Hexmoor1 Chapter 10- Control units We introduced the basic structure of a control unit, and translated assembly instructions into a binary representation.
CPEN Digital System Design Chapter 9 – Computer Design
Logic and Computer Design Dr. Sanjay P. Ahuja, Ph.D. FIS Distinguished Professor of CIS ( ) School of Computing, UNF.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Chapter 10 – Computer.
Chapter 7 – Registers and Register Transfers Part 1 – Registers, Microoperations and Implementations Logic and Computer Design Fundamentals.
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.
Eng. Mohammed Timraz Electronics & Communication Engineer University of Palestine Faculty of Engineering and Urban planning Software Engineering Department.
Computer Design Basics
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.
A Simple Computer Architecture Digital Logic Design Instructor: Kasım Sinan YILDIRIM.
Instructor: Yuzhuang Hu Midterm The midterm is schedule on June 17 th, 17:30-19:30 pm. It covers the following:  VHDL Programming. 
Multiple-Cycle Hardwired Control Digital Logic Design Instructor: Kasım Sinan YILDIRIM.
CoE3DJ4 Digital Systems Design
EKT 221 : Chapter 4 Computer Design Basics
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Register Transfer Languages (RTL)
Lecture 5: Register Transfer & Micro-OpsOverview1.
Lecture 15: Pipelined Datapath Soon Tee Teoh CS 147.
Designing a CPU –Reading a programs instruction from memory –Decoding the instruction –Executing the instruction –Transferring Data to/From memory / IO.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Datapath.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 23 Introduction Computer Specification –Instruction Set Architecture (ISA) - the specification.
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.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Types of Micro-operation  Transfer data between registers  Transfer data from register to external  Transfer data from external to register  Perform.
REGISTER TRANSFER AND MICROOPERATIONS
Overview Register Transfer Language Register Transfer
Control Unit Lecture 6.
REGISTER TRANSFER AND MICROOPERATIONS
Chapter 4 Register Transfer and Microoperations
Computer Design Basics
Chap 7. Register Transfers and Datapaths
SLIDES FOR CHAPTER 12 REGISTERS AND COUNTERS
KU College of Engineering Elec 204: Digital Systems Design
Overview Register Transfer Language Register Transfer
Register Transfer and Microoperations
REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT
Computer Organization and Design
Control Unit.
Overview Part 1 – Datapaths Part 2 – A Simple Computer Introduction
Datapaths For the rest of the semester, we’ll focus on computer architecture: how to assemble the combinational and sequential components we’ve studied.
Computer Architecture and Design Lecture 6
Instruction encoding We’ve already seen some important aspects of processor design. A datapath contains an ALU, registers and memory. Programmers and compilers.
Recall: ROM example Here are three functions, V2V1V0, implemented with an 8 x 3 ROM. Blue crosses (X) indicate connections between decoder outputs and.
Unit 12 CPU Design & Programming
Overview Part 1 - Registers, Microoperations and Implementations
CSC 220: Computer Organization
Recall: ROM example Here are three functions, V2V1V0, implemented with an 8 x 3 ROM. Blue crosses (X) indicate connections between decoder outputs and.
Overview Part 1 - Registers, Microoperations and Implementations
Computer Design Basics
Instruction encoding We’ve already seen some important aspects of processor design. A datapath contains an ALU, registers and memory. Programmers and compilers.
The ARM Instruction Set
Review: The whole processor
CHAPTER-3 REGISTER TRANSFER LANGUAGE AND MICROOPERATIONS
Computer Architecture Assembly Language
Presentation transcript:

Datapath

Digital Systems Digital systems process digital information Datapath 0 and 1 Datapath + control unit CPUs too Datapath A collection of functional units, registers, and interconnections between them that together perform data-processing operations Control unit (CU) Controls operations of the datapath and determines the sequence of the operations Coordinates interactions between the datapath and main memory

A 32-bit Datapath Register file + ALU Control bits Description AA specifies a register for the value on the bus A BA specifies a register for the value on the bus B DA specifies a register to which the value on the bus D is loaded AS selects one between the value of a register and Addressin for the value on the bus A BS selects one between the value of a register and Constantin for the value on the bus B FS selects an ALU operation DS selects one between the result of the ALU and the data from the memory for the value on the bus D RW stores the value on the bus D to the register specified by DA

Treating a Memory As an array of 2m n-bit registers Write occurs on the positive edge of the next clock cycle 64K × 32 memory

Attaching a Memory to the Datapath MW stores the value that appears on the bus B into the memory location specified by the address on the bus A

Control Words A collection of control bits are called a control word Provided by the control unit in a prescribed manner Its content determines the operation performed in the datapath and memory

Microoperations The elementary operations on the data stored in the registers Loading a constant value to a register Loading the content of one register to another Adding the contents of two registers and storing the result to another Storing the content of one register in the memory ... In our case, each microopration completes in a single clock cycle

Register Transfer Language A convenient notation for representing microoperations Total 8 registers in the datapath Rx x is the address of the register in the register file R0, R1, ..., R7

The Function Table of the ALU

Register Transfer Microoperations U ← V U and V are registers (possibly the same) V may be a constant The content of register or a constant V is transferred to the register U The content of U is overwritten on the positive edge of the next clock cycle The content of V remains unchanged AA BA DA AS BS FS DS RW MW 1 X Constantin 0xXXXXXXXX Addressin 0xXXXXXXXX AA BA DA AS BS FS DS RW MW X 1 Constantin 0x00000005 Addressin 0xXXXXXXXX AA BA DA AS BS FS DS RW MW 1 X Constantin 0xXXXXXXXX Addressin 0xXXXXXXXX

AA BA DA AS BS FS DS RW MW 1 X Constantin 0xXXXXXXXX Addressin 0xXXXXXXXX

Arithmetic Microoperations U ← V opa W U and V are registers, and W may be either of a register and a constant Two or all three of U, V, and W are possibly the same opa One of + and - A binary arithmetic operation opa is performed on the contents of V and W, and the result is transferred to a register U The content of U is overwritten The contents of V and W remain unchanged

Arithmetic Microoperations (contd.) AA BA DA AS BS FS DS RW MW 1 Constantin 0xXXXXXXXX Addressin 0xXXXXXXXX AA BA DA AS BS FS DS RW MW 1 X Constantin 0x00000004 Addressin 0xXXXXXXXX AA BA DA AS BS FS DS RW MW 1 X Constantin 0xXXXXXXXX Addressin 0xXXXXXXXX AA BA DA AS BS FS DS RW MW 1 X Constantin 0xXXXXXXXX Addressin 0xXXXXXXXX

AA BA DA AS BS FS DS RW MW 1 Constantin 0xXXXXXXXX Addressin 0xXXXXXXXX

Logic Microoperations U ← V opl W U and V are registers, and W may be either of a register and a constant Two or all three of U, V, and W are possibly the same opl ⋀, ⋁, and ⊕ A binary logic operation opa is performed on the contents of V and W, and the result is transferred to a register U The content of U is overwritten The contents of V and W remain unchanged

Logic Microoperations (contd.) U ← V’ U is a register, and V may be either of a register and a constant U and V are possibly the same The bitwise negation operation is performed on the content of V or a constant V, and the result is transferred to a register U The content of U is overwritten The contents of V remains unchanged

Logic Microoperations (contd.) AA BA DA AS BS FS DS RW MW 1 X Constantin 0xXXXXXXXX Addressin 0xXXXXXXXX AA BA DA AS BS FS DS RW MW 1 X Constantin 0xXXXXXXXX Addressin 0xXXXXXXXX AA BA DA AS BS FS DS RW MW 1 X Constantin 0xXXXXXXXX Addressin 0xXXXXXXXX AA BA DA AS BS FS DS RW MW 1 X Constantin 0xXXXXXXXX Addressin 0xXXXXXXXX AA BA DA AS BS FS DS RW MW 1 X Constantin 0x0F0F0F0F Addressin 0xXXXXXXXX

AA BA DA AS BS FS DS RW MW 1 X Constantin 0xXXXXXXXX Addressin 0xXXXXXXXX

Shift Microoperations U ← ops V U is a register V may be either of a register and a constant ops lsl (logical shift left) lsr (logical shift right) asr (arithmetic shift right) A 1-bit shift operation ops is performed on the content of a register V or a constant V, and the result is transferred to U The content of U is overwritten The content of V remains unchanged

Shift Microoperations (contd.) AA BA DA AS BS FS DS RW MW X 1 Constantin 0xXXXXXXXX Addressin 0xXXXXXXXX AA BA DA AS BS FS DS RW MW X 1 Constantin 0xXXXXXXXX Addressin 0xXXXXXXXX AA BA DA AS BS FS DS RW MW X 1 Constantin 0xXXXXXXXX Addressin 0xXXXXXXXX AA BA DA AS BS FS DS RW MW X 1 Constantin 0x80FF0001 Addressin 0xXXXXXXXX

Memory Transfer Microoperations Memory reads U ← M[V] U and V are possibly the same registers The address of the desired word is given by the content of V The content of U is overwritten The word in the memory remains unchanged

Memory Transfer Microoperations (contd.) Memory writes M[V] ← U U and V are possibly the same registers U may be a constant The address of the desired word is the content of V The content of a register U or a constant U is transferred to the memory word specified by V The content of the specified word in the memory is overwritten U remains unchanged

Memory Transfer Microoperations (contd.) AA BA DA AS BS FS DS RW MW 1 X Constantin 0xXXXXXXXX Addressin 0xXXXXXXXX AA BA DA AS BS FS DS RW MW 1 X Constantin 0xXXXXXXXX Addressin 0xXXXXXXXX AA BA DA AS BS FS DS RW MW 1 X Constantin 0x00000018 Addressin 0xXXXXXXXX

AA BA DA AS BS FS DS RW MW 1 X Constantin 0xXXXXXXXX Addressin 0xXXXXXXXX