100% found this document useful (1 vote)
3K views5 pages

Basic Architecture of 8085 Simulator:: GNUSIM8085

GNUSIM8085 is a graphical simulator, debugger and assembler for the Intel 8085 microprocessor that can run on Linux and Windows. It allows users to write, assemble and debug 8085 assembly code. The 8085 is an 8-bit microprocessor designed by Intel in 1977 with an 8-bit data bus, 16-bit address bus, six 8-bit registers, and ability to address up to 64KB of memory. GNUSIM8085 provides features like assembly editing, register viewing, memory viewing, step-wise execution and more to help develop and test 8085 assembly programs.

Uploaded by

Harsh Modi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
3K views5 pages

Basic Architecture of 8085 Simulator:: GNUSIM8085

GNUSIM8085 is a graphical simulator, debugger and assembler for the Intel 8085 microprocessor that can run on Linux and Windows. It allows users to write, assemble and debug 8085 assembly code. The 8085 is an 8-bit microprocessor designed by Intel in 1977 with an 8-bit data bus, 16-bit address bus, six 8-bit registers, and ability to address up to 64KB of memory. GNUSIM8085 provides features like assembly editing, register viewing, memory viewing, step-wise execution and more to help develop and test 8085 assembly programs.

Uploaded by

Harsh Modi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

GNUSIM8085:

It is a graphical simulator, debugger and assembler for the Intel 8085 microprocessor in Linux and windows.
8085 is pronounced as "eighty-eighty-five" microprocessor. It is an 8-bit microprocessor designed by Intel
in 1977 using NMOS technology.

It has the following configuration −

 8-bit data bus


 16-bit address bus, which can address upto 64KB
 A 16-bit program counter
 A 16-bit stack pointer
 Six 8-bit registers arranged in pairs: BC, DE, HL
 Requires +5V supply to operate at 3.2 MHZ single phase clock

Its main features are:

 A simple editor component with syntax highlighting.


 A keypad to input assembly language instructions with appropriate arguments.
 Easy view of register components.
 Easy view of flag components.
 Hexadecimal Decimal converter.
 View of stack, memory and I/O contents.
 Stepwise program execution.
 UI translated in various languages.

8085 Microprocessor – Basic Architecture Functional Units

Basic architecture of 8085 simulator: The architecture of the 8085 microprocessor mainly
includes the timing & control unit, Arithmetic and logic unit, decoder, and instruction register; interrupt
control, a register array, serial input/output control. The most important part of the microprocessor is the
central processing unit.
8085 consists of the following functional units −

Accumulator

It is an 8-bit register used to perform arithmetic, logical, I/O & LOAD/STORE operations. It is connected to
internal data bus & ALU.

Arithmetic and logic unit

As the name suggests, it performs arithmetic and logical operations like Addition, Subtraction, AND, OR,
etc. on 8-bit data.

General purpose register

There are 6 general purpose registers in 8085 processor, i.e. B, C, D, E, and H & L. Each register can hold
8-bit data.
These registers can work in pair to hold 16-bit data and their pairing combination is like B-C, D-E & H-L.

Program counter

It is a 16-bit register used to store the memory address location of the next instruction to be executed.
Microprocessor increments the program whenever an instruction is being executed, so that the program
counter points to the memory address of the next instruction that is going to be executed.

Stack pointer

It is also a 16-bit register works like stack, which is always incremented/decremented by 2 during push &
pop operations.

Temporary register

It is an 8-bit register, which holds the temporary data of arithmetic and logical operations.

Flag register

It is an 8-bit register having five 1-bit flip-flops, which holds either 0 or 1 depending upon the result stored
in the accumulator.
These are the set of 5 flip-flops −

 Sign (S)
 Zero (Z)
 Auxiliary Carry (AC)
 Parity (P)
 Carry (C)
Instruction register and decoder

It is an 8-bit register. When an instruction is fetched from memory then it is stored in the Instruction
register. Instruction decoder decodes the information present in the Instruction register.

Timing and control unit

It provides timing and control signal to the microprocessor to perform operations. Following are the timing
and control signals, which control external and internal circuits −

 Control Signals: READY, RD’, WR’, ALE


 Status Signals: S0, S1, IO/M’
 DMA Signals: HOLD, HLDA
 RESET Signals: RESET IN, RESET OUT

Interrupt control

As the name suggests it controls the interrupts during a process. When a microprocessor is executing a main
program and whenever an interrupt occurs, the microprocessor shifts the control from the main program to
process the incoming request. After the request is completed, the control goes back to the main program.
There are 5 interrupt signals in 8085 microprocessor: INTR, RST 7.5, RST 6.5, RST 5.5, and TRAP.

Serial Input/output control

It controls the serial data communication by using these two instructions: SID (Serial input data) and SOD
(Serial output data).

Address buffer and address-data buffer

The content stored in the stack pointer and program counter is loaded into the address buffer and address-
data buffer to communicate with the CPU. The memory and I/O chips are connected to these buses; the
CPU can exchange the desired data with the memory and I/O chips.

Address bus and data bus

Data bus carries the data to be stored. It is bidirectional, whereas address bus carries the location to where it
should be stored and it is unidirectional. It is used to transfer the data & Address I/O devices.
Working of 8085 Microprocessor

Now after having an idea about the functional units of the 8085 microprocessor, let us proceed
further to understand the operation of the 8085 microprocessor.

We already know that the function of a microprocessor is to execute instructions. Also, in order
to execute an instruction, it first needs to be fetched then decoded and then executed. And in
order to fetch an instruction, firstly the address of the instruction must be known.
The address of the instruction is present in the program counter. This address is then placed on
the 16-bit address bus and is then forwarded towards the memory. From the memory, the
instruction present at that particular memory location is fetched through the 8-bit data bus.
Here, in the this figure, we can clearly see that we have
combinely used data bus and address bus so as to reduce
the number of lines. As we know that at a particular time
the processor will access either the data bus or the address
bus.

Further when the instruction is fetched from the memory,


then through internal buses the instruction is provided to
the instruction register. At this particular point of time
fetching the instruction from the memory is over.
Now, it’s time for the processor to decode the instruction.
So, it is then fed to the instruction decoder.

We already have the idea that both data and instruction in


the memory is stored in the form of an opcode. So, the
fetched opcode is analyzed by the instruction decoder
present inside the processor in order to execute the
instruction.
But, a noteworthy point over here is that, after an instruction is fetched from the memory, then
PC increments itself thereby providing the address location of the next instruction. As PC does
not play any role in decoding and executing.

However, after execution of first instruction, the next is fetched form the memory.

Now, this is all about fetching and decoding, now what about the execution of the instruction.

In this figure, as we can see the timing


and control circuit. This circuit basically
sends the control signals to the various
units of the microprocessor to execute the
instruction.
Suppose, the instruction is ADD A and B.
This simply tells the ALU to add the data
present in B register with the data present
in accumulator i.e., A register. But, in
8085 the decoded instruction is
simply ADD B. So, automatically, the
ALU adds the value present in the accumulator with the data in register B.
Also, in 8085 the outcome of the operation is stored register A which is nothing but an
accumulator.
Further when an instruction ADD C is decoded by the 8085, then data at C register is added to
the data present in register A and is stored at register A. Due to such cumulative action, register
A is termed as an accumulator.
Basically, the timing and control circuit timely sends the signals to the accumulator to release its
value for proceeding execution. Also, this timing and control circuit sends signals to the register
select that tells it to choose the particular register.
Once the data is fetched from a particular register then it is stored in the temporary register and it
is used by the ALU. It is to be kept in mind that a programmer can only access the general
purpose register as the temporary register is used by the processor to hold the 2nd operand of the
operation.
Now, once the operation is executed, then the result is fed to the accumulator through the data
bus. But a flag register is also present that holds the status of the result present at the
accumulator.

As we have also discussed in the functional unit that a flag register holds a sign, carry etc. related
information of the generated result.

After every instruction execution performed by the ALU, the status of the flag register gets
changed. So, ALU produces the result and its status simultaneously after each operation.
As we have already discussed that W and Z are the temporary registers but these are not
accessed by the programmer as both are used by the processor to hold the temporary value stored
by it.
So, this is all about the block diagram and working of 8085 microprocessor.

You might also like