Visualizing Data Flow and Control Signaling Inside the Microprocessor

Similar documents
Lecture 2 Microcomputer Organization: Fig.1.1 Basic Components of Microcomputer

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

Basic Processing Unit: Some Fundamental Concepts, Execution of a. Complete Instruction, Multiple Bus Organization, Hard-wired Control,

MICROCONTROLLERS 8051

COMPUTER SYSTEM. COMPUTER SYSTEM IB DP Computer science Standard Level ICS3U. COMPUTER SYSTEM IB DP Computer science Standard Level ICS3U

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

Hardware Description Languages (HDLs) Verilog

Architecture of 8085 microprocessor

1. Fundamental Concepts

Introduction to Microprocessor

Chapter 7: Processor and Memory

Microprocessors/Microcontrollers

INTRODUCTION TO MICROPROCESSORS

Microcomputer Architecture and Programming

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra

Basics of Microprocessor

Computer Logic II CCE 2010

Computer Architecture

Processing Unit CS206T

Designing an Improved 64 Bit Arithmetic and Logical Unit for Digital Signaling Processing Purposes

Chapter 5: Computer Systems Organization

Chapter 5: Computer Systems Organization. Invitation to Computer Science, C++ Version, Third Edition

Computer Organization and Assembly Language (CS-506)

Digital System Design Using Verilog. - Processing Unit Design

Microprocessor (COM 9323)

INTRODUCTION TO INFORMATION & COMMUNICATION TECHNOLOGY (ICT) LECTURE 2 : WEEK 2 CSC-111-T

MicroProcessor. MicroProcessor. MicroProcessor. MicroProcessor

3.1 Description of Microprocessor. 3.2 History of Microprocessor

Embedded Systems Design (630414) Lecture 1 Introduction to Embedded Systems Prof. Kasim M. Al-Aubidy Computer Eng. Dept.

MICROPROCESSOR MEMORY ORGANIZATION

Computer Systems Organization

COMPUTER ORGANISATION CHAPTER 1 BASIC STRUCTURE OF COMPUTERS

INTRODUCTION OF MICROPROCESSOR& INTERFACING DEVICES Introduction to Microprocessor Evolutions of Microprocessor

ASSEMBLY LANGUAGE MACHINE ORGANIZATION

8086 INTERNAL ARCHITECTURE

machine cycle, the CPU: (a) Fetches an instruction, (b) Decodes the instruction, (c) Executes the instruction, and (d) Stores the result.

csitnepal Unit 3 Basic Computer Organization and Design

Department of Computer Science and Engineering CS6303-COMPUTER ARCHITECTURE UNIT-I OVERVIEW AND INSTRUCTIONS PART A

Chapter 1 : Introduction

ISSN: [Bilani* et al.,7(2): February, 2018] Impact Factor: 5.164

Computer Architecture and Organization:

Prachi Sharma 1, Rama Laxmi 2, Arun Kumar Mishra 3 1 Student, 2,3 Assistant Professor, EC Department, Bhabha College of Engineering

FACTFILE: GCE DIGITAL TECHNOLOGY

Roberto Muscedere Images and Text Portions 2003 Prentice Hall 1

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

Chapter 1. Microprocessor architecture ECE Dr. Mohamed Mahmoud.

Write A General Form Of The Assembly

Computer Organization

UNIVERSITY OF HONG KONG DEPARTMENT OF ELECTRICAL AND ELECTRONIC ENGINEERING

Computer Architecture

Segment 1A. Introduction to Microcomputer and Microprocessor


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

COURSE DESCRIPTION. CS 232 Course Title Computer Organization. Course Coordinators

OS And Hardware. Computer Hardware Review PROCESSORS. CPU Registers. CPU Registers 02/04/2013

CREATED BY M BILAL & Arslan Ahmad Shaad Visit:

Microprocessors I MICROCOMPUTERS AND MICROPROCESSORS

Implementation of Low Power High Speed 32 bit ALU using FPGA

1. INTRODUCTION TO MICROPROCESSOR AND MICROCOMPUTER ARCHITECTURE:

Fig 1. Block diagram of a microcomputer

Chapter 4. MARIE: An Introduction to a Simple Computer

WinARM - Simulating Advanced RISC Machine Architecture. Shuqiang Zhang

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

Basic characteristics & features of 8086 Microprocessor Dr. M. Hebaishy

A Presentation created By Ramesh.K Press Ctrl+l for full screen view


b. List different system buses of 8085 microprocessor and give function of each bus. (8) Answer:

Computer Architecture

VLSI DESIGN OF REDUCED INSTRUCTION SET COMPUTER PROCESSOR CORE USING VHDL

What is This Course About? CS 356 Unit 0. Today's Digital Environment. Why is System Knowledge Important?

MICROPROCESSOR AND MICROCONTROLLER BASED SYSTEMS

The Microarchitecture Level

Blog -

UNIVERSITY OF HONG KONG DEPARTMENT OF ELECTRICAL AND ELECTRONIC ENGINEERING. Principles of Computer Operation

CSC 220: Computer Organization Unit 12 CPU programming

COMPUTER STRUCTURE AND ORGANIZATION

DESIGN RAM MEMORIES BY USING FLIP-FLOP CIRCUITS

Problem Set 1 Solutions

Introduction to Microcontrollers

MARIE: An Introduction to a Simple Computer

MARIE: An Introduction to a Simple Computer

Computers: Inside and Out

Fundamentals of Digital Computers The mechanical computer age began with the advent of the abacus in 500 B.C by Babylonians. The abacus, which was

MICROPROCESSOR MICROPROCESSOR. From the above description, we can draw the following block diagram to represent a microprocessor based system: Output

FPGA Based Implementation of Pipelined 32-bit RISC Processor with Floating Point Unit

Module 5 - CPU Design

Introduction to Computers - Chapter 4

THE MICROPROCESSOR Von Neumann s Architecture Model

CN310 Microprocessor Systems Design

DC57 COMPUTER ORGANIZATION JUNE 2013

Summary of Computer Architecture

Control Unit: The control unit provides the necessary timing and control Microprocessor resembles a CPU exactly.

Behavioral ARM Processor Model Using System C. Dallas Webster IEEE Student Member No Texas Tech University 12/05/05

5 Computer Organization

Design of a Pipelined 32 Bit MIPS Processor with Floating Point Unit

For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to

5 Computer Organization

Multiple Choice Type Questions

From CISC to RISC. CISC Creates the Anti CISC Revolution. RISC "Philosophy" CISC Limitations

Various Instruction Addressing Modes Of 8086 Microprocessor Ppt

Transcription:

Visualizing Data Flow and Control Signaling Inside the Microprocessor Ms. Isha Sharma 1, Mrs. Neha Sharma 2, Mr. Jitender Chhabra 3 1 M.Tech. Scholar, SGTIET, Gurgaon. 2 Asst. Professor, SGTIET, Gurgaon 3 Asst. Professor, AKGEC, Ghaziabad. ABSTRACT This paper describes the key aspects of simulation of a 16-bit Microprocessor s hardware using VHDL to visualize the data flow and control signaling inside the microprocessor. Functioning of all the key components such as CPU, ALU, RAM, Registers and Control unit are visualized analytically through the VHDL simulated waveforms. All the components are simulated separately by writing the separate VHDL code for them. Keywords: ALU, CPU, Microprocessor, Simulation, VHDL 1. INTRODUCTION Designing a microprocessor is extremely timeconsuming (up to seven years). Computer designers and architects heavily rely on simulation tools for exploring the huge microprocessor design space. These simulation tools are at least three or four orders of magnitude slower than real hardware execution. In addition, architects and designers use long-running benchmarks that are built from real-life applications; today s benchmarks execute several hundreds of billions of instructions. [1] The end result is that simulating a single benchmark can take days to weeks. And this is to simulate a single microarchitecture configuration. As a result, exploring a huge design space in order to find an optimal trade-off between design metrics of interest - such as performance, cost or power consumption is impossible through detailed simulation. 16 bit microprocessor contains a number of basic modules which together completes the processor. The processor uses 16 bit data bus to communicate through different sections like General purpose registers, Arithmetic logic unit, CU (control unit), memory, comparator, program counter, address register, instruction register and shift register. With the advancement in integrated circuit technology the power of the processor has increased tremendously. 2. ARCHITECTURE OF A 16-BIT MICROPROCESSOR A microprocessor incorporates the functions of a computer's central processing unit (CPU) on a single integrated circuit (IC), or at most a few integrated circuits. It is a multipurpose, programmable device that accepts digital data as input, processes it according to instructions stored in its memory, and provides results as output. It is an example of sequential digital logic, as it has internal memory. Microprocessors operate on numbers and symbols represented in the binary numeral system. The advent of low-cost computers on integrated circuits has transformed modern society. General-purpose microprocessors in personal computers are used for computation, text editing, multimedia display, and communication over the Internet. Many more microprocessors are part of embedded systems, providing digital control over myriad objects from appliances to automobiles to cellular phones and industrial process control. [2] Fig. 1 below shows the 16 bit microprocessor architecture. ALU Register Array Control Unit R/W Memory, 64K Fig1. 16-bit Microprocessor Architecture The key components as shown in the figure above are the ALU, Registers, and Control Unit. All these components are interfaced with an external memory of 64K 3. FUNCTIONAL DESCRIPTION OF THE HARDWARE TO BE SIMULATED 3.1 CENTRAL PROCESSING UNIT (CPU) CPU controls the operation of the computer.in a microcomputer the CPU is a microprocessor. The CPU fetches the binary coded instructions from memory, decodes the instructions into a series of simple action and carries out these actions in sequence of steps. CPU contains an a address counter or instruction pointer 112

register which holds the address of the next instruction or data item to be fetched from memory, general purpose register, which are used for temporary storage or binary data and circuitry, which generates the control bus signals. Similarly, the bit pattern of an instruction initiates a sequence of clock signals, activates the appropriate logic circuits in the ALU, and performs the task; this is called microprogramming, which is done in the design stage of the microprocessor. 3.2 ARITHMETIC LOGIC UNIT (ALU) Microprocessors tend to have a single module that performs arithmetic operations on integer values. This is because many of the different arithmetic and logical operations can be performed using similar (if not identical) hardware. The component that performs the arithmetic and logical operations is known as the Arithmetic Logic Unit, or ALU. The ALU is one of the most important components in a microprocessor, and is typically the part of the processor that is designed first. Once the ALU is designed, the rest of the microprocessor is implemented to feed operands and control codes to the ALU. 3.3 RAM A RAM memory device has either one or two control inputs. If there is one control input it is often called R/W. This pin selects a read operation or a write operation only if the device is selected by the selection input (CS ). Static RAM memory device retain data for as long as DC power is applied. Because no special action is required to retain stored data, these devices are called as static memory. They are also called volatile memory because they will not retain data without power. Whenever a large capacity memory is required in a microprocessor, the memory subsystem is generally designed using dynamic RAM because there are various advantages of dynamic RAM. 3.4 REGISTER 8086 has a powerful set of registers containing general purpose and special purpose registers. All the registers of 8086 are 16-bit registers. The general purpose registers, can be used either 8-bit registers or 16-bit registers. The general purpose registers are either used for holding the data, variables and intermediate results temporarily or for other purpose like counter or for storing offset address for some particular addressing modes etc. The special purpose registers are used as segment registers, pointers, index registers or as offset storage registers for particular addressing modes. Fig 2 shows register organization of 8086. 3.5 CONTROL UNIT It provides the necessary timing and control signals to all the operations in the microprocessor. It controls the flow of data between microprocessor and memory / peripherals. A clock initiates every operation. Fig2. 8086 Registers 4. SIMULATION RESULTS All the components mentioned and shown in the architecture are taken one by one for analysis. A separate code is written for each of the components i.e. for ALU, RAM, Shift Unit, Control Unit, Registers and CPU. Keeping in mind the data bus and address bus specifications of the microprocessor to be designed some variables, constants and signals pertaining to different data types are declared while writing the VHDL code for the individual components. On successful compilation of the VHDL code separate test bench is generated for each of the component where the stimulus is provided for the input variables and signals. Troubleshooting is done on the VHDL code and the generated test bench if any error has occurred. On successful compilation of both the source code and the testbench the simulation waveforms are obtained which explicitly shows the data flow and control signaling inside the microprocessor. [3] Figure 3, 4, 5, 6, 7 and 8 shows the simulated waveforms for ALU, RAM, Shift Unit, Control Unit, Registers and CPU respectively. 113

Fig. 3 Simulation waveform for ALU Fig. 4Simulation waveform for RAM Fig. 5 Simulation waveform for Shift Unit 114

Fig. 6 Simulation waveform for Control Unit Fig. 7 Simulation waveform for Registers Fig. 7 Simulation waveform for CPU 115

5. CONCLUSION The simulation waveforms show that the microprocessor s all functional units described in the paper are operational in the way they should be. Separate analysis of each component has provided a greater insight to the data flow and the control signaling occurring inside the microprocessor. Also the work shown in this paper lays a strong foundation for the design and implementation of a 32-bit microprocessor and other higher associates. REFERENCES [1] M. Mano and C. Kime, Logic and Computer Design Fundamentals, 2nd Edition, Prentice Hall, 2001. [2] Ronald J. Tocci, Neal S. Widmer and Gregory L.Moss, Digital systems principles and application, Prentice Hall, 2007. [3] Douglas L. Perry, VHDL Programming by Examples, TMH, 200 [4] Davy Genbrugge and LievenEeckhout, Memory Data Flow Modeling in Statistical Simulation for the Efficient Exploration of Microprocessor Design Spaces, IEEE Transactions on Computers, 45(2),2007, 192-205. [5] Fu-Ching Yang, Student Member, IEEE, Wen-Kai Huang, Automatic Verification of External Interrupt Behaviors for Microprocessor Design, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 27, NO. 9, September 2008, 1670-1683. [6] Benjamin Stolt, Yonatan Mittlefehldt, Design and Implementation of the POWER6 Microprocessor, IEEE Journal of Solid-State Circuits, Vol. 43, No. 1, January 2008, 21-28. International Journal of Emerging Technologies and Engineering (IJETE) 116