Sie sind auf Seite 1von 5

International Journal of Emerging Technologies and Engineering (IJETE)

Volume 1 Issue 5, June 2014, ISSN 2348 8050



112
www.ijete.org


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 Microprocessors 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 time-
consuming (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;
todays 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.






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
ALU Register
Array
Control Unit
R/W
Memory,
64K
International Journal of Emerging Technologies and Engineering (IJETE)
Volume 1 Issue 5, June 2014, ISSN 2348 8050

113
www.ijete.org

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.

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.
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.

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.
International Journal of Emerging Technologies and Engineering (IJETE)
Volume 1 Issue 5, June 2014, ISSN 2348 8050

114
www.ijete.org



Fig. 3 Simulation waveform for ALU



Fig. 4Simulation waveform for RAM



Fig. 5 Simulation waveform for Shift Unit
International Journal of Emerging Technologies and Engineering (IJETE)
Volume 1 Issue 5, June 2014, ISSN 2348 8050

115
www.ijete.org


Fig. 6 Simulation waveform for Control Unit


Fig. 7 Simulation waveform for Registers


Fig. 7 Simulation waveform for CPU
International Journal of Emerging Technologies and Engineering (IJETE)
Volume 1 Issue 5, June 2014, ISSN 2348 8050

116
www.ijete.org

5. CONCLUSION
The simulation waveforms show that the
microprocessors 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.

Das könnte Ihnen auch gefallen