session 7. Datapath Design

Similar documents
COMARCH. COMPUTER ARCHITECTURE TERM 3 SY COMPUTER ENGINEERING DE LA SALLE UNIVERSITY Quiz 1

Register Transfer and Micro-operations

CHAPTER SIX BASIC COMPUTER ORGANIZATION AND DESIGN

Chapter 5. Computer Architecture Organization and Design. Computer System Architecture Database Lab, SANGJI University

REGISTER TRANSFER LANGUAGE

COMPUTER ORGANIZATION

SCRAM Introduction. Philipp Koehn. 19 February 2018

Outcomes. Lecture 13 - Introduction to the Central Processing Unit (CPU) Central Processing UNIT (CPU) or Processor

Department of Computer and Mathematical Sciences. Lab 4: Introduction to MARIE

CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.

REGISTER TRANSFER AND MICROOPERATIONS

Computer Organization II CMSC 3833 Lecture 33

REGISTER TRANSFER AND MICROOPERATIONS

Chapter 4. The Processor

16.1. Unit 16. Computer Organization Design of a Simple Processor

Processor (I) - datapath & control. Hwansoo Han

UNIT-III REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT

The Processor: Datapath and Control. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

CHAPTER 4: Register Transfer Language and Microoperations

C.P.U Organization. Memory Unit. Central Processing Unit (C.P.U) Input-Output Processor (IOP) Figure (1) Digital Computer Block Diagram

CPU ARCHITECTURE. QUESTION 1 Explain how the width of the data bus and system clock speed affect the performance of a computer system.

Computer architecture Assignment 3

COMPUTER ARCHITECTURE AND ORGANIZATION Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital

csitnepal Unit 3 Basic Computer Organization and Design

CISC Processor Design

PSIM: Processor SIMulator (version 4.2)

Chapter 4. The Processor

General purpose registers These are memory units within the CPU designed to hold temporary data.

Computer Organization and Design

Faculty of Engineering Systems & Biomedical Dept. First Year Cairo University Sheet 6 Computer I

Note that none of the above MAY be a VALID ANSWER.

Blog -

Basics of Microprocessor

CS222: Processor Design

UNIT - V MEMORY P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) Department of Electronics and Communication Engineering, VBIT

Teaching London Computing

Chapter 4. The Processor. Instruction count Determined by ISA and compiler. We will examine two MIPS implementations

Unit II Basic Computer Organization

Class Notes. Dr.C.N.Zhang. Department of Computer Science. University of Regina. Regina, SK, Canada, S4S 0A2

ECE260: Fundamentals of Computer Engineering

Computer Architecture Programming the Basic Computer

Chapter 16. Control Unit Operation. Yonsei University

Programming Level A.R. Hurson Department of Computer Science Missouri University of Science & Technology Rolla, Missouri

CHAPTER 5 Basic Organization and Design Outline Instruction Codes Computer Registers Computer Instructions Timing and Control Instruction Cycle

CN310 Microprocessor Systems Design

Chapter 4. The Processor Designing the datapath

5-1 Instruction Codes

Combinational and sequential circuits (learned in Chapters 1 and 2) can be used to create simple digital systems.

THE MICROPROCESSOR Von Neumann s Architecture Model

Block diagram view. Datapath = functional units + registers

BASIC COMPUTER ORGANIZATION AND DESIGN

Pin Description, Status & Control Signals of 8085 Microprocessor

ASSIGNMENT ECE514 (COMPUTER ORGANIZATION) ASSIGNMENT NO. 3

Chapter 4. MARIE: An Introduction to a Simple Computer. Chapter 4 Objectives. 4.1 Introduction. 4.2 CPU Basics

Control and Datapath 8

Digital System Design Using Verilog. - Processing Unit Design

Basic Computer Organization - Designing your first computer. Acknowledgment: Most of the slides are adapted from Prof. Hyunsoo Yoon s slides.

Little Man Computer (LMC)

MICROPROCESSOR AND MICROCONTROLLER BASED SYSTEMS

Memory General R0 Registers R1 R2. Input Register 1. Input Register 2. Program Counter. Instruction Register

MICROCOMPUTER OPERATION

Fundamentals of Computer Architecture. 8. Bringing It All Together The Hardware Engineer s Perspective

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

BASIC COMPUTER ORGANIZATION AND DESIGN

EXPERIMENT NO. 1 THE MKT 8085 MICROPROCESSOR TRAINER

The MIPS Processor Datapath

Computer Organization (Autonomous)

Assembly Language Programming of 8085

A3 Computer Architecture

The Itanium Bit Microprocessor Report

Instruction : A command to the microprocessor to perform a given task on specified data. Each instruction has two parts

The Processor (1) Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Computer Architecture

Chapter 2 Instruction Set Architecture

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 3, 2015

STRUCTURE OF DESKTOP COMPUTERS

Computer Organization (Autonomous)

EE 2700 Project 2 Microprocessor Design

The functional block diagram of 8085A is shown in fig.4.1.

BASIC COMPUTER ORGANIZATION AND DESIGN

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 2, 2016

Section 6. Memory Components Chapter 5.7, 5.8 Physical Implementations Chapter 7 Programmable Processors Chapter 8

Lecture1: introduction. Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor

Laboratory 5 Processor Datapath

CO Computer Architecture and Programming Languages CAPL. Lecture 9

Computer Architecture and Organization: L04: Micro-operations

Processing Unit CS206T

Digital Circuit Design and Language. Datapath Design. Chang, Ik Joon Kyunghee University

For more notes of DAE

Computers and Microprocessors. Lecture 34 PHYS3360/AEP3630

Chapter 4. MARIE: An Introduction to a Simple Computer

Microcomputer Architecture and Programming

Introduction to CPU Design

CHAPTER 5 : Introduction to Intel 8085 Microprocessor Hardware BENG 2223 MICROPROCESSOR TECHNOLOGY

Processor: Multi- Cycle Datapath & Control

DC57 COMPUTER ORGANIZATION JUNE 2013

1 MALP ( ) Unit-1. (1) Draw and explain the internal architecture of 8085.

Input. Output. Datapath: System for performing operations on data, plus memory access. Control: Control the datapath in response to instructions.

Register-Level Design

Transcription:

General Objective: Determine the hardware requirement of a digital computer based on its instruction set. Specific Objectives: Describe the general concepts in designing the data path of a digital computer from its instruction set. Design the data processing elements such as the arithmetic circuits, counters and registers. Design data routing circuits that transport data to various processing elements. Draw the interconnections of the various elements. 1

General concepts in designing the data path of a digital computer from its instruction set. Instruction Set Mnemonic OpCode LDA ADD 1 SUB 1 OUT HLT 11 1111 Description Load ACC with the contents of the memory specified address. Add the contents of the ACC with the contents of the B register and place the result in the ACC. SUBtract the contents of the B register from the ACC and store the result in the ACC. OUTput he contents of the ACC to the OUTR register. Halt or stop MSAP. Instruction Format D7 D6 D5 D4 OPCODE D3 D2 D1 D OPERAND 2

Extracting hardware requirements from the Instruction Set 1. Starting with the arithmetic instructions, ADD and SUB, ADD M[address] and SUB M[address] which mean add (subtract) the contents of the memory specified in the instruction from the contents of the accumulator and store the results to the accumulator. Symbolically, ACC <= ACC + M[address] or ACC <= ACC - M[address] one addend (minuend) is already in the ACC, while the other addend (subtrahend is found in the memory. It is typical that the data read from the memory is stored in a temporary register. This will lead to a configuration below; ACC ACC + TMP TMP 3

combining the add and subtract operations, ACC +/TMP su The addition or subtraction operation is selected by su. When su =, add operation is performed. when su = 1, subtraction is performed. 4

2. Memory Operation. Data manipulated by the arithmetic operations are stored in the memory. Accessing the memory requires two signals; the address signal which specifies the location of the data in the memory, and the rd control signal which specifies the exact time data is outputted by the memory. The address must be constantly applied to the memory during the entire memory read cycle. This necessitates the use of a register to hold the address, thus it is named the Memory Address Register (MAR).The size of MAR is equal to the number of address bits. Symbolically, memory read operation is represented as, rd : REG <= M[MAR] Memory Unit (2N x M MAR N Address Data out M REG rd 5

3. Sequencing of memory access. The memory contains both sequences of instruction codes (computer program), and operands (data to be manipulated by the program). The instruction code must be first read (fetched) from memory, decoded, and the memory is read again to get the operand (operand fetch). Processing of data then can be carried out (executed), in the processing elements. The type of processing ( arithmetic) is indicated by the instruction code. Thus, the computer cycles between operation code and operand fetch cycle (opcode and operand fetch), and the execute cycle. To keep track of the instruction code to be fetched next from memory, a Program Counter (PC) is used to always point to a memory address containing the next instruction code to be fetched. PC Memory Unit (2N x M) opcode/ operand fetch cycle EXecute Cycle MAR N Address Data out M rd 6

4. Fetch Cycle and Operand Fetch During the OpCode Fetch, the instruction code is read from memory and then stored in a special register called as the Instruction Register (IR). During the operand fetch, the address of the operand is stored in MAR in preparation to read the data from memory. Generally, data read from memory during operand fetch is stored in a general purpose register (example, the ACCumulator register). PC PC Memory Unit (2N x M) MAR N MAR Address Data out rd Memory Unit (2N x M) M IR N Address Data out M ACC rd 7

5. To support Data Transfer Operations, registers should have the capability to receive data in parallel (parallel load). The load control input when active enables the data at the data inputs to be loaded in parallel on the next clock pulse. Din Load clk Dout 8

6. Data Transfer Operations. To support instructions that moves data between registers (to support arithmetic operations), various registers must be organized (interconnected) to facilitate the transfer of data. Data Routing Circuits, route data from source registers to the inputs of all registers. Source registers are selected by multiplexers and the target register is selected by a decoder. DECODER MXN 1 destination select 2 N N - 1 MUX Reg Reg1 1 Reg2 2 RegN N Y source select 9

Summary: the instruction set of a digital computer defines the set of operation its datapath can support. instructions defines the characteristics and capabilities of the processing elements of the datapath. arithmetic instructions such as addition and subtraction can be implemented using adder and subtractor circuit. registers are provided to hold data needed by arithmetic circuits. computer cycles involve the fetch cycle and the execute cycle. registers are organized to facilitate transfer of data to required parts of the system. 1

Control Unit Reset Control Signals Combinational Network Memory (State) 11

Reset Control Unit Datapath Combinational Network (Binary Multiplier) Memory (State) 12

Reset Control Unit Datapath Combinational Network General Purpose Processor Instruction Set Architecture Complex Instruction Set Computer Direct Addressing Mode Memory (State) 13

(General Data Processor): Fetch Cycle Control Unit Reset Combinational Network Memory (State) Datapath IR PC Memory 14

(General Data Processor) : Execute Cycle Control Unit Reset Combinational Network Memory (State) Datapath IR PC Memory ACC TMP Processing Elements +/su 15

(General Data Processor) : Execute Cycle Control Unit Reset Combinational Network Datapath IR PC Data Routing circuits Memory (State) Memory ACC TMP Processing Elements +/su 16

Simple As Possible Computer (SAP) 17

Simple As Possible Computer (SAP) MEMORY 18

Simple As Possible Computer (SAP) Fetch Cycle Elements 19

Simple As Possible Computer (SAP) Processing Elements (EXecute Cycle) 2

Simple As Possible Computer (SAP) Data Routing Circuits 21

Parts of a Digital Computer Control Unit Memory Unit Central Processing Unit InputOutput Unit 22

23

Read Only Memory 24

Memory Address Register 25

2-1 MULTIPLEXER 26

ALU -Arithmetic Logic Unit 27

Adder/Subtractor Circuit 28

29

8-BIT REGISTERS 3

8-BIT REGISTER TIMING 31

32

33

34

clrpc incpc dessel srcsel rd su 1 ' ' PC CLEAR PC or reset ' ' MAR PC PC to MAR 1' 1' 1 IR M[MAR] MEMORY TO IR (opcode fetch) 1 ' ' PC PC + 1 INCrement PC ' 11 MAR IR[3:] IR TO MAR Transfer operand 1' 1' 1 A M[MAR] MEMory to ACC memory read to A 1' 1' 1 B M[MAR] MEMory to B memory read to B 1' 1' A A+ B ALU to ACC (addition) 1' 1' 1 A A- B ALU to ACC (subtraction) 11' 1' OUTR A ACC to OUTR Micro operations Description 35

clrpc incpc dessel srcsel rd su Hexcode Micro operations RESET 1 ' ' 2 PC Fetch Cycle ' ' ' MAR PC 1 1' 1' 1 186 IR M[MAR], PC PC + 1 LDA ' 11 1' MAR IR[3:] 1' 1' 1 26' A M[MAR], goto Fetch ADD ' 11 1' MAR IR[3:] 1' 1' 1 46' B M[MAR] 1' 1' 3' A A + B, goto Fetch SUB ' 11 1' MAR IR[3:] 1' 1' 1 46' B M[MAR] 1' 1' 1 31' A A - B, goto Fetch OUT 11' 1' 68' OUTR A, goto Fetch HLT ' ' ' enstate 36

37

Designing the Simple As Possible Computer Control Unit Memory Unit THANK YOU Central Processing Unit InputOutput Unit 38