Microprocessor - WordPress.com

advertisement
MICROPROCESSOR
Microcomputer & Microprocessor
A microcomputer is a small computer,
making use of microprocessor as the
central processing unit (CPU) and
usually has a word length of 4, 8, or 16
bits.
A microprocessor is a digital
electronic component with
transistors on a single
semiconductor integrated
circuit (IC).
Microprocessors have replaced
conventional digital logic in a wide variety
of systems and, therefore, microcomputers are mostly used as component
of electronic systems.
Microprocessor is processing device of
every computing device. It is like an
artificial brain. It needs to communicate
with outer world.
To communicate with external world,
Microprocessor make use of buses.
A bus is a group of conducting lines that
carries data, address and control signals.
Examples of devices with microprocessor
Digital Watches
Personal Computers
ATM
Home Security &
Control devices
CD Players
Video games
Calculators
Microprocessor 8085
A common way of categorizing microprocessors is by the number of bits that their ALU can
work at a time.
Microprocessor 8085 can read or write or perform arithmetic and logical operations on 8-bit
data at a time.
The 8085 was one of the first (1978) of the 8-bit Microprocessors where all the processing
elements for a computer were contained on a single chip.
Based on the 8080, the 8085's instruction set was almost identical but the major changes
were that the electronics required to design an 8085 system were much simpler (one rather
than 3 power supplies and internal clock and bus logic).
The 8085 is a typical of that generation of 8-bit Microprocessor which was able to put all the
processing unit onto one chip but still requiring surrounding supporting chips to create a
complete system.
Block Diagram / Architecture of Microprocessor 8085
Block Diagram / Architecture of Microprocessor 8085
1. Bus
A bus is a collection of conducting path which is used to transfer signal from one functional
unit to another functional unit. The microprocessor 8085 has three types of buses.
1. Address bus
2. Data bus
3. Control bus
2.
ALU
ALU stands for arithmetic and logical unit. The ALU of microprocessor 8085 is 8-bit
microprocessor.
The ALU is responsible to perform all arithmetic and logical operation like addition,
subtraction, comparison, etc.
Block Diagram / Architecture of Microprocessor 8085
3.
Registers
i.
Accumulator:
An 8-bit register used in the arithmetic and logical operations. It stores the result
of the operation carried out by the ALU.
ii.
General Purpose Register:
B, C, D, E, H and L are 8-bit general purpose registers used to hold data.
These registers can also be used for 16-bit operations in pairs. The default
pairs are BC, DE and HL.
Block Diagram / Architecture of Microprocessor 8085
iii. Stack Pointer (SP):
A 16-bit register used to store the 16-bit address of stack memory. It is used as a
memory pointer. It points to a memory location in R/W memory called stack.
iv. Program Counter (PC):
A 16-bit register which holds the address of the next instruction to be executed.
Consider that an instruction is being executed by processor. As soon as the ALU
finished executing the instruction, the processor looks for the next instruction to
be executed. So, there is a necessity for holding the address of the next instruction
to be executed in order to save time. This is taken care by the program counter.
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.
Block Diagram / Architecture of Microprocessor 8085
v.
Instruction Register (IR):
It is an 8-bit register used to hold current instruction which the microprocessor is
executing.
vi. Address Latch:
It increments/ decrements the address before sent to the address buffer
Block Diagram / Architecture of Microprocessor 8085
vii. Flag Register:
An 8-bit register which can store maximum 8-bit data. The flags are mainly
associated with arithmetic and logic operations. A flag is actually a latch which can
hold some bits of information. It alerts the processor that some event has taken
place.
There are 5 types of flags:
1. Carry flag
2. Parity flag
3. Auxiliary flag
4. Zero flag
5. Sign flag
Flag Registers
1. Sign flag: Sign flag shows whether the output of operation has positive sign or
negative sign. A value 0 is returned for positive sign and 1 is returned for negative
sign.
2. Parity flag: If the result of the latest operation is having even number of ‘1’s, then
this flag will be set. Otherwise this will be reset to ‘0’. This is used for error
checking.
3. Auxiliary flag: This flag is not accessible to programmer. This flag will be used by the
system during BCD operations.
4. Zero flag: Zero flag shows whether the output of the operation is 0 or not. If the
value of Zero flag is 0 then the result of operation is not zero. If it is zero the flag
returns value 1.
5. Carry flag: If the result of the latest operations exceeds 8-bits then this flag will be set.
Otherwise it be reset.
Machine Cycles & Timing of 8085
The timing and control unit generates timing signals for the execution of instruction
and control of peripheral devices.
Timing Diagram:
A graphical representation. It represents the execution time taken by each
instruction in a graphical format. The execution time is represented in T-states.
Instruction Cycle:
The time required to execute an instruction is called an instruction cycle.
Machine Cycle:
The time required to access the memory or input/output devices is called
machine cycle.
T-State:
The machine cycle and instruction cycle takes multiple clock periods. A portion of
an operation carried out in one system clock period is called as T-State.
Machine Cycles & Timing of 8085
8085 System Bus
A bus is a collection of conducting path which are used to transfer signal from one unit to
another. The microprocessor 8085 has the following types of buses. They are : address
bus, data bus and control bus
Address bus: used to specify a physical memory
address. This can include primary memory (e.g.
RAM and ROM) secondary memory (e.g. hard disk
drives) and any other connected devices.
Address bus is unidirectional. This is because the
address is an identification number used by the
microprocessor to identify or access a memory
location or I/O device.
it is an output signal from the microprocessor.
Data bus: connects the microprocessor
(CPU) with other devices mapped onto the
system.
The data bus is bi-directional. This is
because the microprocessor has to fetch
(read) the data from memory or input device
fro processing and after processing, it has to
store (write) the data to memory or output
device.
Control bus: carries commands from and returns
status signals to the microprocessor.
The control unit inside a CPU manages the internal
control bus — internal to the CPU — and the
external control bus.
Bus Structure of 8085 Microprocessor
Pin Diagram of Microprocessor 8085
Pin Description of Microprocessor 8085
The pins on the chip can be grouped into 6 groups:
1. Address Bus.
2. Data Bus.
3. Control and Status Signals.
4. Power supply and frequency.
5. Externally Initiated Signals.
6. Serial I/O ports.
1.
Address Bus:
The 8085 microprocessor has 8 signal line, A15 - A8 which are unidirectional &
used as a high order address bus.
2.
Data Bus:
The signal line AD7 - AD0 are bidirectional for dual purpose. They are used as low
order address bus as well as data bus.
Pin Description of Microprocessor 8085
3.
Control signal and Status signal:
Control Signal
RD bar - It is a read control signal (active low). It is active when memory read the
data.
WR bar - It is a write control signal (active low). It is active when written into selected
memory.
Status signal
ALE (Address Latch Enable) - When ALU is high, 8085 microprocessor uses
address bus. When ALU is low, 8085 microprocessor uses data bus.
IO/M bar - This is a status signal used to differentiate between i/o and memory
operation. When it is high, it indicates an i/o operation and when it is low, it
indicates memory operation.
S1 and S0 - These status signal, similar to i/o and memory bar, can identify various
operation, but they are rarely used in small system.
Pin Description of Microprocessor 8085
4.
Power Supply and Frequency signal:
Vcc - +5v power supply.
Vss (GND) - ground reference.
X1, X2 - A crystal is connected at these two pins. The frequency is internally divided by
two operate system at 3-MHz, the crystal should have a frequency of 6-MHz.
CLK out - This signal can be used as the system clock for other devices.
Pin Description of Microprocessor 8085
5.
Externally initiated signal:
INTR(i/p)
• Interrupt request.
INTA bar (o/p)
• It is used as acknowledge interrupt.
TRAP(i/p)
• This is non-maskable interrupt and has highest priority.
HOLD(i/p)
It is used to hold the executing program.
 Indicates that another Master is requesting the use of the Address and Data buses. The
CPU, upon receiving the Hold request will relinquish the use of buses as soon as the
completion of the current machine cycle. Processor can regain the buses only after the
Hold is removed.
HLDA(o/p)
• Hold acknowledge.
 Indicates that the CPU has received the Hold request and that it will relinquish the buses
in the next clock cycle.
Pin Description of Microprocessor 8085
5.
Externally initiated signal:
READY(i/p) - This signal is used to delay the microprocessor read or write cycle until a slow
responding peripheral is ready to accept or send data.
RESET IN bar - sets the program counter is set to zero, the bus are tri-stated, & MPU is reset.
RESET OUT - This signal indicate that MPU is being reset. The signal can be used to reset other
devices.
RST 7.5, RST 6.5, RST 5.5 (Request interrupt) - It is used to transfer the program control to
specific memory location. They have higher priority than INTR interrupt.
Pin Description of Microprocessor 8085
6.
Serial I/O ports:
The 8085 microprocessor has two signals to implement the serial transmission which are
SID (serial input data) and SOD (serial output data).
Interfaces between memory and I/O devices
•
In every microprocessor, the memory is the central part of microprocessor.
•
Microprocessor need to access memory quite frequently to read instructions and data
stored in memory, and the memory interfacing circuit enables that access.
•
Any application of a microprocessor based system requires the transfer of data between
external circuitry to the microprocessor and vice versa.
•
User can give information to the microprocessor using keyboard and user can see the
result or output information form the microprocessor with the help of display device.
•
The transfer of data between keyboard and microprocessor, and between microprocessor
and display device is called input/output data transfer or I/O data transfer.
•
An interface:
• involves designing a circuit that will match the memory requirements with the
microprocessor signal.
• is a concept that refers to a point of interaction between components, and is
applicable at the level of both hardware and software.
Interfaces between memory and I/O devices
•
This allows a component (such as a graphics card or an Internet browser) to function
independently while using interfaces to communicate with other components via an
input/output system and an associated protocol.
•
Memory has certain signal requirements to read from and write into memory. Similarly,
microprocessor initiates the set of signals when it wants to read from and write into
memory.
•
There are two types of interfacing in context of the 8085 processor.
• Memory Interfacing
• I/O Interfacing
Interfaces between memory and I/O devices
Memory Interfacing
•
While executing an instruction, there is a necessity for the microprocessor to access
memory frequently for reading various instruction codes and data stored in the memory.
•
The interfacing circuit aids in accessing the memory.
•
Memory requires some signals to read from and write to registers. Similarly the
microprocessor transmits some signals for reading or writing a data.
But what is the purpose of interfacing circuit here?
•
The interfacing process involves matching the memory requirements with the
microprocessor signals. The interfacing circuit therefore should be designed in such a
way that it matches the memory signal requirements with the signals of the
microprocessor.
•
For example for carrying out a READ process, the microprocessor should initiate a read
signal which the memory requires to read a data.
•
In simple words, the primary function of a memory interfacing circuit is to aid the
microprocessor in reading and writing a data to the given register of a memory chip.
I/O Interfacing
•
Keyboard and displays are used as communication channel with outside world. So it is
necessary that we interface keyboard and displays with the microprocessor. This is called
I/O interfacing.
•
In this type of interfacing we use latches and buffers for interfacing the keyboards and
displays with the microprocessor.
•
But the main disadvantage with this interfacing is that the microprocessor can perform
only one function. It functions as an input device if it is connected to buffer and as an
output device if it is connected to latch. Thus the capability is very limited in this type of
interfacing.
8085 Interfacing Pins
Higher Address Bus
8085
Lower Address/Data Bus
ALE
IO/M
RD
WR
READY
A15 – A8
AD7 – AD0
Microprocessor Operation
• Fetch
• Decode
• Execute
Fetch – Execute Cycle
Fetch Cycle
•
Fetch the Instruction from Main Memory
The CPU presents the value of the program counter on the address bus. The CPU then
fetches the instruction from main memory via the data bus into the Instruction Register.
•
Decode the Instruction
The instruction decoder (ID) interprets and implements the instruction
Execute Cycle
•
Get Data from Main Memory
Fetch required data from main memory to be processed and placed into registers.
•
Execute the Instruction
Control signals are initialized to process the data using ALU and write the result back to a
register.
•
Store Results
The result generated by the operation is stored in the main memory, or sent to an output
device.
Semiconductor Memories
•
Memory refers to any device that stores information for later use. The memory of a
computer can be divided into two categories: primary and secondary memory.
•
Primary memories are semiconductor memories.
•
Semiconductor memory is a device used for storing digital information that is made up
by using integrated circuit technology.
•
Semiconductor memory technology is an essential element of today's electronics.
•
Indeed as processors have become more popular and the number of microprocessor
controlled items has increased so has the requirement for semiconductor memory.
•
With the rapid growth in the requirement for semiconductor memories there have been
a number of technologies and types of memory that have emerged. Names such as ROM,
RAM, EPROM, EEPROM, DRAM, SRAM, SDRAM, and the very new MRAM can now be seen
in the electronics literature.
Semiconductor Memories
•
RAM - Random Access Memory:
 As the names suggest, the RAM or random access memory is a form of semiconductor
memory technology that is used for reading and writing data in any order as required.
 It is used for such applications as the computer or processor memory where variables
and other stored and are required on a random basis.
 Data is stored and read many times to and from this type of memory.
•
ROM - Read Only Memory:
 A ROM is a form of semiconductor memory technology used where the data is written
once and then not changed.
 In view of this it is used where data needs to be stored permanently, even when the power
is removed - many memory technologies lose the data once the power is removed.
•
PROM:
 PROM refers to the kind of ROM that the user can burn information into. In other words,
PROM is a user-programmable memory.
 For every bit of the PROM, there exists a fuse. PROM is programmed by blowing the fuses.
If the information burned into PROM is wrong, that PROM must be discarded since its
internal fuses are blown permanently.
 For this reason, PROM is also referred to as OTP (one-time programmable). Programming
ROM, also called burning ROM, requires special equipment called a ROM burner or ROM
programmer.
Semiconductor Memories
•
EPROM (Erasable Programmable Read Only Memory. ):
 This form of semiconductor memory can be programmed and then erased at a later
time.
 EPROM was invented to allow making changes in the contents of PROM after it is
burned.
 In EPROM, one can program the memory chip and erase it thousands of times. This
is especially necessary during development of the prototype of a microprocessorbased project.
 A widely used EPROM is called UV-EPROM, where UV stands for ultraviolet.
 The only problem with UV-EPROM is that erasing its contents can take up to 20
minutes.
 All UV-EPROM chips have a window through which the programmer can shine
ultraviolet (UV) radiation to erase its contents. For this reason, EPROM is also
referred to as UV-erasable EPROM or simply UV-EPROM.
Semiconductor Memories
•
EEPROM (Electrically Erasable Programmable Read Only Memory. ):
 Data can be written to it and it can be erased using an electrical voltage.
 EEPROM has several advantages over EPROM, such as the fact that its method of
erasure is electrical and therefore instant, as opposed to the 20-minute erasure time
required for UV-EPROM.
 In addition, in EEPROM one can select which byte to be erased, in contrast to UVEPROM, in which the entire contents of ROM are erased.
 However, the main advantage of EEPROM is that one can program and erase its
contents while it is still in the system board.
 It does not require physical removal of the memory chip from its socket. In other
words, unlike UV-EPROM, EEPROM does not require an external erasure and
programming device.
 To utilize EEPROM fully, the designer must incorporate the circuitry to program the
EEPROM into the system board . In general, the cost per bit for EEPROM is much
higher than for UV-EPROM.
Semiconductor Memories
•
DRAM:
 Dynamic RAM is a form of random access memory.
 DRAM uses a capacitor to store each bit of data, and the level of charge on each
capacitor determines whether that bit is a logical 1 or 0.
 However these capacitors do not hold their charge indefinitely, and therefore the
data needs to be refreshed periodically.
 As a result of this dynamic refreshing it gains its name of being a dynamic RAM.
 DRAM is the form of semiconductor memory that is often used in equipment
including personal computers and workstations where it forms the main RAM for
the computer.
•
SRAM:
 Static Random Access Memory. This form of semiconductor memory gains its
name from the fact that, unlike DRAM, the data does not need to be refreshed
dynamically.
 It is able to support faster read and write times than DRAM (typically 10 ns against
60 ns for DRAM), and in addition its cycle time is much shorter because it does not
need to pause between accesses.
 However it consumes more power, is less dense and more expensive than DRAM. As
a result of this it is normally used for caches, while DRAM is used as the main
semiconductor memory technology.
Semiconductor Memories
•
SDRAM:
 Synchronous DRAM. This form of semiconductor memory can run at faster speeds
than conventional DRAM.
 It is synchronised to the clock of the processor and is capable of keeping two sets of
memory addresses open simultaneously.
•
MRAM:
 This is Magneto-resistive RAM, or Magnetic RAM.
 It is a non-volatile RAM memory technology that uses magnetic charges to store
data instead of electric charges.
 Unlike technologies including DRAM, which require a constant flow of electricity to
maintain the integrity of the data, MRAM retains data even when the power is
removed.
 An additional advantage is that it only requires low power for active operation.
 As a result this technology could become a major player in the electronics industry
now that production processes have been developed to enable it to be produced.
Download