Thursday, August 27, 2009


A microprocessor incorporates most or all of the functions of a central processing unit (CPU) on a single integrated circuit (IC). The first microprocessors emerged in the early 1970s and were used for electronic calculators, using binary-coded decimal (BCD) arithmetic on 4-bit words. Other embedded uses of 4- and 8-bit microprocessors, such as terminals, printers,
Date invented Late 1960s/Early 1970s (see article for explanation)
Connects to Printed circuit boards via sockets, soldering, or other methods.
Architectures PowerPC, x86, x86-64, and many others (see below, and article)
Common manufacturers AMD, Applied Micro Circuits
Corporation, Analog Devices, Atmel, Cypress,
Fairchild, Fujitsu, Hitachi, IBM, Infineon, Intel, Intersil, ITT,
Maxim, Microchip, Mitsubishi, MOS Technology, Motorola, National,
, NXP (Philips), OKI, Renesas, Samsung, Sharp, Siemens, Signetics, STM, Synertek,
Texas Instruments, Toshiba, TSMC, UMC, Winbond, Zilog, and others.

various kinds of automation etc, followed rather quickly. Affordable 8-bit microprocessors with 16-bit addressing also led to the first general purpose microcomputers in the mid-1970s.

Computer processors were for a long period constructed out of small and medium-scale ICs containing the equivalent of a few to a few hundred transistors. The integration of the whole CPU onto a single VLSI chip therefore greatly reduced the cost of processing capacity. From their humble beginnings, continued increases in microprocessor capacity have rendered other forms of computers almost completely obsolete (see history of computing hardware), with one or more microprocessor as processing element in everything from the smallest embedded systems and handheld devices to the largest mainframes and supercomputers.

Since the early 1970s, the increase in capacity of microprocessors has been known to generally follow Moore's Law, which suggests that the complexity of an integrated circuit, with respect to minimum component cost, doubles every two years. In the late 1990s, and in the high-performance microprocessor segment, heat generation (TDP), due to switching losses, static current leakage, and other factors, emerged as a leading developmental constraint

Wednesday, July 8, 2009

Intel 8085

An Intel 8085AH processor.
Produced From 1977 to 1990s
Common manufacturer(s) Intel and several others
Max. CPU clock 3,5 and 6 MHz
Instruction set pre x86
Package(s) 40 pin DIP


The Intel 8085 is an 8-bit microprocessor introduced by
Intel in 1977. It was binary-compatible with the more-famous Intel 8080 but required less supporting hardware, thus allowing simpler and less expensive microcomputer systems to be built.The "5" in the model number came from the fact that the 8085 required only a +5-volt (V) power supply rather than the +5V, -5V and +12V supplies the 8080 needed. Both processors were sometimes used in computers running the CP/M operating system, and the 8085 later saw use as a microcontroller (much by virtue of its component
count reducing feature). Both designs were eclipsed
for desktop computers by the compatible but more
capable Zilog Z80, which took over most of the CP/
M computer market as well as taking a large share of
the booming home computer market in the early-to-mid-1980s.

The 8085 had a very long life as a controller. Once designed into such products as the DECtape controller and the VT100 video terminal in the late 1970s, it continued to serve for new production throughout the life span of those products (generally many times longer than the new manufacture lifespan of desktop computers).
questions for Web application developers
8086 interview questions »
8085 microprocessor questions


1. What are the various registers in 8085? - Accumulator register, Temporary register, Instruction register, Stack Pointer, Program Counter are the various registers in 8085
.
2. In 8085 name the 16 bit registers? - Stack pointer and Program counter all have 16 bits.

3. What are the various flags used in 8085? - Sign flag, Zero flag, Auxillary flag, Parity flag, Carry flag.

4. What is Stack Pointer? - Stack pointer is a special purpose 16-bit register in the Microprocessor, which holds the address of the top of the stack.

5. What is Program counter? - Program counter holds the address of either the first byte of the next instruction to be fetched for execution or the address of the next byte of a multi byte instruction, which has not been completely fetched. In both the cases it gets incremented automatically one by one as the instruction bytes get fetched. Also Program register keeps the address of the next instruction.

6. Which Stack is used in 8085? - LIFO (Last In First Out) stack is used in 8085.In this type of Stack the last stored information can be retrieved first.

7. What happens when HLT instruction is executed in processor? - The Micro Processor enters into Halt-State and the buses are tri-stated.

8. What is meant by a bus? - A bus is a group of conducting lines that carriers data, address, & control signals.

9. What is Tri-state logic? - Three Logic Levels are used and they are High, Low, High impedance state. The high and low are normal logic levels & high impedance state is electrical open circuit conditions. Tri-state logic has a third line called enable line.

10. Give an example of one address microprocessor? - 8085 is a one address microprocessor.

11. In what way interrupts are classified in 8085? - In 8085 the interrupts are classified as Hardware and Software interrupts.

12. What are Hardware interrupts? - TRAP, RST7.5, RST6.5, RST5.5, INTR.

13. What are Software interrupts? - RST0, RST1, RST2, RST3, RST4, RST5, RST6, RST7.

14. Which interrupt has the highest priority? - TRAP has the highest priority.

15. Name 5 different addressing modes? - Immediate, Direct, Register, Register indirect, Implied addressing modes.

16. How many interrupts are there in 8085? - There are 12 interrupts in 8085.

17. What is clock frequency for 8085? - 3 MHz is the maximum clock frequency for 8085.

18. What is the RST for the TRAP? - RST 4.5 is called as TRAP.

19. In 8085 which is called as High order / Low order Register? - Flag is called as Low order register & Accumulator is called as High order Register.

20. What are input & output devices? - Keyboards, Floppy disk are the examples of input devices. Printer, LED / LCD display, CRT Monitor are the examples of output devices.

21. Can an RC circuit be used as clock source for 8085? - Yes, it can be used, if an accurate clock frequency is not required. Also, the component cost is low compared to LC or Crystal.

22. Why crystal is a preferred clock source? - Because of high stability, large Q (Quality Factor) & the frequency that doesn’t drift with aging. Crystal is used as a clock source most of the times.

23. Which interrupt is not level-sensitive in 8085? - RST 7.5 is a raising edge-triggering interrupt.

24. What does Quality factor mean? - The Quality factor is also defined, as Q. So it is a number, which reflects the lossness of a circuit. Higher the Q, the lower are the losses.

25. What are level-triggering interrupt? - RST 6.5 & RST 5.5 are level-triggering interrupts.

AMD
AM8085A-2DC / C8085A-2
5 MHz
40-pin ceramic DIP
Purple ceramic/gold top/gold pins


Intel
Intel C8085

Intel C8085
3 MHz
40-pin ceramic DIP
Purple ceramic/black top/tin pins



NEC
NEC D8085A

NEC D8085A
3 MHz
40-pin ceramic DIP
White ceramic/silver top/gold pins



Mitsubishi
Mitsubishi M5L8085AP

Mitsubishi M5L8085AP
3 MHz
40-pin plastic DIP



OKI
OKI MSM80C85ARS

OKI MSM80C85ARS

OKI MSM80C85A microprocessors, implemented in CMOS technology, had a couple of advantages over NMOS 8085 microprocessors. MSM80C85A had greater operating temperature range from -40 to 85°C and they didn't use as much power as NMOS 8085 microprocessors. For example, this OKI MSM80C85ARS uses 8 times less power than Intel 8085 microprocessor running at the same frequency.


Siemens
Siemens SAB8085A-C

Siemens SAB8085A-C
3 MHz
40-pin ceramic DIP
Purple ceramic/silver top/tin pins


Toshiba
Toshiba TMP8085AP

Toshiba TMP8085AP
3 MHz
40-pin plastic DIP


USSR
USSR IM1821VM85A

USSR IM1821VM85A
3.6 MHz
40-pin ceramic DIP
White ceramic/silver top/tin pins

Soviet clone of Intel 80c85 processor
Military version
Previous Generation
8080

* » 8-bit microprocessor
* » Up to 3.1 MHz
* » 64 KB RAM
* » Stack in RAM
* » 256 I/O ports

40-pin DIP
8085
Related Family

Z80

* » Up to 20 MHz
* » 8080 emulation mode

Next Generation
8086

* » 16-bit microprocessor
* » 16-bit data bus
* » Up to 10 MHz
* » 1 MB RAM
* » 64K I/O ports

40-pin DIP
56-pin QFP
44-pin PLCC

Intel 8085 microprocessor is the next generation of Intel 8080 CPU family. In addition to being faster than the 8080, the 8085 had the following enhancements:

* Intel 8085 had single 5 Volt power supply.
* Clock oscillator and system controller were integrated on the chip.
* The CPU included serial I/O port.
* Two new instructions were added to 8085 instruction set. The CPU also included a few undocumented instructions. These instructions were supposed to be a part of the CPU instruction set, but at the last moment they were left undocumented because they were not compatible with forthcoming Intel 8086.
* Full list of differences between Intel 8080 and 8085 processors.

There were multiple versions of 8085 microprocessors. The original version of the 8085 microprocessor without suffix "A" was manufactured by Intel only, and was very quickly replaced with 8085A containing bug fixes. A few years after that, around 1980, Intel introduced 8085AH - HMOS version of 8085A. There was also 80C85A - CMOS version of the 8085A. It's not clear if 80C85 was ever manufactured by Intel or not, but it was produced by at least two second source manufacturers - OKI and Tundra Semiconductor. Tundra Semiconductor manufactured the fastest 8085 microprocessor running at 8 MHz.
Second source manufacturers: AMD, Mitsubishi, NEC, OKI, Siemens, Toshiba. Soviet Union also manufactured clones of Intel 8085 CPU.
Microprocessor
A microprocessor incorporates most or all of the functions of a central processing unit (CPU) on a single integrated circuit (IC). [1] The first microprocessors emerged in the early 1970s and were used for electronic calculators, using binary-coded decimal (BCD) arithmetic on 4-bit words. Other embedded uses of 4- and 8-bit microprocessors, such as terminals, printers, various kinds of automation etc, followed rather quickly. Affordable 8-bit microprocessors with 16-bit addressing also led to the first general purpose microcomputers in the mid-1970s.

Computer processors were for a long period constructed out of small and medium-scale ICs containing the equivalent of a few to a few hundred transistors. The integration of the whole CPU onto a single VLSI chip therefore greatly reduced the cost of processing capacity. From their humble beginnings, continued increases in microprocessor capacity have rendered other forms of computers almost completely obsolete (see history of computing hardware), with one or more microprocessor as processing element in everything from the smallest embedded systems and handheld devices to the largest mainframes and supercomputers.

Since the early 1970s, the increase in capacity of microprocessors has been known to generally follow Moore's Law, which suggests that the complexity of an integrated circuit, with respect to minimum component cost, doubles every two years.[2] In the late 1990s, and in the high-performance microprocessor segment, heat generation (TDP), due to switching losses, static current leakage, and other factors, emerged as a leading developmental constraint

Intel 8085 microprocessor family

Memory

Program, data and stack memories occupy the same memory space. The total addressable memory size is 64 KB.

Program memory - program can be located anywhere in memory. Jump, branch and call instructions use 16-bit addresses, i.e. they can be used to jump/branch anywhere within 64 KB. All jump/branch instructions use absolute addressing.

Data memory - the processor always uses 16-bit addresses so that data can be placed anywhere.

Stack memory is limited only by the size of memory. Stack grows downward.

First 64 bytes in a zero memory page should be reserved for vectors used by RST instructions.

Interrupts

The processor has 5 interrupts. They are presented below in the order of their priority (from lowest to highest):

INTR is maskable 8080A compatible interrupt. When the interrupt occurs the processor fetches from the bus one instruction, usually one of these instructions:

* One of the 8 RST instructions (RST0 - RST7). The processor saves current program counter into stack and branches to memory location N * 8 (where N is a 3-bit number from 0 to 7 supplied with the RST instruction).
* CALL instruction (3 byte instruction). The processor calls the subroutine, address of which is specified in the second and third bytes of the instruction.

RST5.5 is a maskable interrupt. When this interrupt is received the processor saves the contents of the PC register into stack and branches to 2Ch (hexadecimal) address.

RST6.5 is a maskable interrupt. When this interrupt is received the processor saves the contents of the PC register into stack and branches to 34h (hexadecimal) address.

RST7.5 is a maskable interrupt. When this interrupt is received the processor saves the contents of the PC register into stack and branches to 3Ch (hexadecimal) address.

Trap is a non-maskable interrupt. When this interrupt is received the processor saves the contents of the PC register into stack and branches to 24h (hexadecimal) address.

All maskable interrupts can be enabled or disabled using EI and DI instructions. RST 5.5, RST6.5 and RST7.5 interrupts can be enabled or disabled individually using SIM instruction.

I/O ports

256 Input ports
256 Output ports

Registers

Accumulator or A register is an 8-bit register used for arithmetic, logic, I/O and load/store operations.

Flag is an 8-bit register containing 5 1-bit flags:

* Sign - set if the most significant bit of the result is set.
* Zero - set if the result is zero.
* Auxiliary carry - set if there was a carry out from bit 3 to bit 4 of the result.
* Parity - set if the parity (the number of set bits in the result) is even.
* Carry - set if there was a carry during addition, or borrow during subtraction/comparison.

General registers:

* 8-bit B and 8-bit C registers can be used as one 16-bit BC register pair. When used as a pair the C register contains low-order byte. Some instructions may use BC register as a data pointer.
* 8-bit D and 8-bit E registers can be used as one 16-bit DE register pair. When used as a pair the E register contains low-order byte. Some instructions may use DE register as a data pointer.
* 8-bit H and 8-bit L registers can be used as one 16-bit HL register pair. When used as a pair the L register contains low-order byte. HL register usually contains a data pointer used to reference memory addresses.

Stack pointer is a 16 bit register. This register is always incremented/decremented by 2.

Program counter is a 16-bit register.

Instruction Set

8085 instruction set consists of the following instructions:

* Data moving instructions.
* Arithmetic - add, subtract, increment and decrement.
* Logic - AND, OR, XOR and rotate.
* Control transfer - conditional, unconditional, call subroutine, return from subroutine and restarts.
* Input/Output instructions.
* Other - setting/clearing flag bits, enabling/disabling interrupts, stack operations, etc.

Addressing modes

Register - references the data in a register or in a register pair.
Register indirect - instruction specifies register pair containing address, where the data is located.
Direct.
Immediate - 8 or 16-bit data.