Sei sulla pagina 1di 7

Intel 8085

From Wikipedia, the free encyclopedia


Intel 8085

An Intel 8085AH processor.


Produced From 1977 to 1990s
Common manufacturer(s) Intel and several others
Max. CPU clock rate 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).
Contents [hide]
1 Description
1.1 Programming model
1.1.1 Registers
1.1.2 Commands/instructions
1.1.2.1 8-bit instructions
1.1.2.2 16-bit operations
1.1.3 Input/output scheme
1.2 Development system
2 Applications
3 MCS-85 Family
4 Educational Use
5 Simulators
6 References
7 External links
[edit]Description

i8085 microarchitecture.
The 8085 is a conventional von Neumann design based on the Intel 8080. Unlike the 8080 it had
no state signals multiplexed onto the data bus, but the 8-bit data bus was instead multiplexed with
the lower part of the 16-bit address bus (in order to limit the number of pins to 40). The processor
was designed using nMOS circuitry and the later "H" versions were implemented in Intel's
enhanced nMOS process called HMOS, originally developed for fast static RAM products. Only a
5 Volt supply was needed, like competing processors and unlike the 8080. The 8085 used
approximately 6,500 transistors[1].
The 8085 incorporated the functionality of the 8224 (clock generator) and the 8228 (system
controller), increasing the level of integration. A downside compared to similar contemporary
designs (such as the Z80) was the fact that the buses required demultiplexing, however, address
latches in the Intel 8155, 8355, and 8755 memory chips allowed a direct interface, so an 8085
along with these chips was almost a complete system.
The 8085 had extensions to support new interrupts: It had three maskable interrupts (RST 7.5,
RST 6.5 and RST 5.5), one non-maskable interrupt (TRAP), and one externally serviced interrupt
(INTR). The RST n.5 interrupts refer to actual pins on the processor-a feature which permitted
simple systems to avoid the cost of a separate interrupt controller.
Like the 8080, the 8085 could accommodate slower memories through externally generated wait
states (pin 35, READY), and had provisions for Direct Memory Access (DMA) using HOLD and
HLDA signals (pins 39 and 38). An improvement over the 8080 was that the 8085 can itself drive
a piezoelectric crystal directly connected to it, and a built in clock generator generates the internal
high amplitude two-phase clock signals at half the crystal frequency (a 6.14 MHz crystal would
yield a 3.07 MHz clock for instance).
[edit]Programming model
The 8085 was a binary compatible follow up on the 8080, the successor to the original Intel 8008.
The 8080 and 8085 used the same basic instruction set as the 8008 (developed by Computer
Terminal Corporation) and they were source code compatible with their predecessor. However,
the 8080 added several useful and handy 16-bit operations above the 8008 instruction set: The
16-bit stack pointer in the 8080 enabled the stack to hold parameters and local data as well as
return addresses, just like in larger CPUs, and the single 8008 addressing mode via the HL
register pair was complemented by direct addressing for 8/16-bit loads and stores. The ability to
employ BC and DE as two additional 16-bit pointers was also new in the 8080. The 8085 added
only a few relatively minor instructions above the 8080 set.
[edit]Registers
The processor had seven 8-bit registers named A, B, C, D, E, H, and L, where A was the 8-bit
accumulator and the other six could be used as independent byte-registers or as three 16-bit
register pairs, BC, DE, and HL, depending on the particular instruction. Some instructions also
enabled HL to be used as a (limited) 16-bit accumulator. It also had a 16-bit stack pointer to
memory (replacing the 8008's internal stack), and a 16-bit program counter.
[edit]Commands/instructions
Like in many other 8-bit processors, all instructions were encoded in a single byte (including
register-numbers, but excluding immediate data), for simplicity. Some of them were followed by
one or two bytes of data, which could be an immediate operand, a memory address, or a port
number. Like larger processors, it had automatic CALL and RET instructions for multi-level
procedure calls and returns (which could even be conditionally executed, like jumps) and
instructions to save and restore any 16-bit register-pair on the machine stack. There were also
eight one-byte call instructions (RST) for subroutines located at the fixed addresses 00h, 08h,
10h,...,38h. These were intended to be supplied by external hardware in order to invoke a
corresponding interrupt-service routine, but were also often employed as fast system calls. The
most sophisticated command was XTHL, which was used for exchanging the register pair HL with
the value stored at the address indicated by the stack pointer.
[edit]8-bit instructions
Most 8-bit operations could only be performed on the 8-bit accumulator (the A register). For
dyadic 8-bit operations, the other operand could be either an immediate value, another 8-bit
register, or a memory cell addressed by the 16-bit register pair HL. Direct copying was supported
between any two 8-bit registers and between any 8-bit register and a HL-addressed memory cell.
Due to the regular encoding of the MOV-instruction (using a quarter of available opcode space)
there were redundant codes to copy a register into itself (MOV B,B, for instance), which was of
little use, except for delays. However, what would have been a copy from the HL-addressed cell
into itself (i.e., MOV M,M) was instead used to encode the HLT instruction (halting execution until
an external reset or interrupt).
[edit]16-bit operations
Although the 8085 was generally an 8-bit processor, it also had limited abilities to perform 16-bit
operations: Any of the three 16-bit register pairs (BC, DE, HL) or SP could be loaded with an
immediate 16-bit value (using LXI), incremented or decremented (using INX and DCX), or added
to HL (using DAD). LHLD loaded HL from directly-addressed memory and SHLD stored HL
likewise. The XCHG operation exchanged the values of HL and DE. By adding HL to itself, it was
possible to achieve the same result as a 16-bit arithmetical left shift with one instruction. The only
16 bit instruction that affected any flag was DAD (adding HL to BC, DE, HL or SP), which updated
the carry flag to facilitate 24-bit or larger additions and left shifts (for a floating point mantissa for
instance). Adding the stack pointer to HL was useful for indexing variables in (recursive) stack
frames. It was possible to allocate stack frames (using DAD SP and SPHL) and to branch via a
pointer computed in HL (using PCHL). These abilities made it feasible to compile languages such
as PL/M, Pascal, or C with 16-bit variables and produce read-only 8085 machine code.
Subtraction and bitwise logical operations on 16 bits had to be done in 8-bit steps. Operations
that had to be implemented by program code (subroutine libraries) included comparisons of
signed integers as well as multiply and divide.
[edit]Input/output scheme
The 8085 supported up to 256 input/output (I/O) ports, accessed via dedicated I/O instructions—
taking port addresses as operands. This I/O mapping scheme was regarded as an advantage, as
it freed up the processor's limited address space. Many CPU architectures instead use a common
address space without the need for dedicated I/O instructions, although a drawback in such
designs may be that special hardware must be used to insert wait states as peripherals are often
slower than memory. However, in some simple 8080 computers, I/O was indeed addressed as if
they were memory cells, "memory mapped", leaving the I/O commands unused. I/O addressing
could also sometimes employ the fact that the processor would output the same 8-bit port
address to both the lower and the higher address byte (i.e. IN 05h would put the address 0505h
on the 16-bit address bus). Similar I/O-port schemes are used in the 8080-compatible Zilog Z80
as well as the closely related x86 families of microprocessors.
[edit]Development system
Intel produced a series of development systems for the 8080 and 8085, known as the Personal
Development System. The original PDS was a large box (in the Intel corporate blue colour) which
included a CPU and monitor, and used 8 inch floppy disks. It ran the ISIS operating system and
could also operate an emulator pod and EPROM programmer. The later iPDS was a much more
portable unit featuring a small green screen and a 5¼ inch floppy disk drive, and ran the ISIS-II
operating system. It could also accept a second 8085 processor, allowing a limited form of multi-
processor operation where both CPUs shared the screen, keyboard and floppy disk drive. In
addition to an 8080/8085 assembler, Intel produced a number of compilers including PL/M-80 and
Pascal languages, and a set of tools for linking and statically locating programs to enable them to
be burnt into EPROMs and used in embedded systems. The hardware support changes were
announced and supported, but the software upgrades were not supported by the assembler, user
manual or any other means. At times it was claimed they were not tested when that was false.
[citation needed]
[edit]Applications

For the extensive use of 8085 in various applications, the microprocessor is provided with an
instruction set which consists of various instructions such as MOV, ADD, SUB, JMP etc. These
instructions are written in the form of a program which is used to perform various operations such
as branching, addition, subtraction, bitwise logical and bit shift operations. More complex
operations and other arithmetic operations must be implemented in software. For example,
multiplication is implemented using a multiplication algorithm.
The 8085 processor has found marginal use in small scale computers up to the 21st century. The
TRS-80 Model 100 line uses a 80C85. The CMOS version 80C85 of the NMOS/HMOS 8085
processor has/had several manufacturers, and some versions (eg. Tundra Semiconductor
Corporation's CA80C85B) have additional functionality, eg. extra machine code instructions. One
niche application for the rad-hard version of the 8085 has been in on-board instrument data
processors for several NASA and ESA space physics missions in the 1990s and early 2000s,
including CRRES, Polar, FAST, Cluster, HESSI, Sojourner (rover)[2], and THEMIS. The Swiss
company SAIA used the 8085 and the 8085-2 as the CPUs of their PCA1 line of programmable
logic controllers during the 1980s.
Pin diagram:- Pin #40 is used for power supply(+5v) and pin #20 for ground. Pin #39 is used for
hold pin. Pins #15 to #8 are generally used for address buses.
See also: Comparison of embedded computer systems on board the Mars rovers
[edit]MCS-85 Family
The 8085 CPU was only one part of a much larger family of chips developed by Intel, for building
a complete system. Although the 8085 CPU itself was not a great success, many of these support
chips (or their descendents) later found their use in combination with the 8086 microprocessor.
For example, the original IBM PC based on the Intel 8088 processor used many of these chips,
and the prominence of IBM PC compatibles is why many of these chips are still in use today,
although not as the chips themselves, but with their equivalent functionality embedded into larger
VLSI chips, namely the "Southbridge" chips of modern PCs.
8007-Ram controller
8085-CPU
8155-RAM+ 3 I/O Ports+Timer
8156-RAM+ 3 I/O Ports+Timer
8185-SRAM
8202-Dynamic RAM Controller
8203-Dynamic RAM Controller
8205-1 Of 8 Binary Decoder
8206-Error Detection & Correction Unit
8207-DRAM Controller
8210-TTL To MOS Shifter & High Voltage Clock Driver
8212-8 Bit I/O Port
8216-4 Bit Parallel Bidirectional Bus Driver
8218/8219-Bus Controller
8222-Dynamic RAM Refresh Controller
8226-4 Bit Parallel Bidirectional Bus Driver
8231-Arithmetic Processing Unit
8232-Floating Point Processor
8237-DMA Controller
8251-Communication Controller
8253-Programmable Interval Timer
8254-Programmable Interval Timer
8255-Programmable Peripheral Interface
8256-Multifunction Support Controller
8257-DMA Controller
8259-Programmable Interrupt Controller
8271-Programmable Floppy Disk Controller
8272-Single/Double Density Floppy Disk Controller
8273-Programmable HDLC/SDLC Protocol Controller
8274-Multi-Protocol Serial Controller
8275-CRT Controller
8276-Small System CRT Controller
8278-Programmable KeyBoard Interface
8279-KeyBoard/Display Controller
8282-8-bit Non-Inverting Latch with Output Buffer
8283-8-bit Inverting Latch with Output Buffer
8291-GPIB Talker/Listener
8292-GPIB Controller
8293-GPIB Transceiver
8294-Data Encryption/Decryption Unit+1 O/P Port
8295-Dot Matrix Printer Controller
8296-GPIB Transceiver
8297-GPIB Transceiver
8355-16,384-bit (2048 x 8) ROM with I/O
8604-4096-bit (512 x 8) PROM
8702-2K-bit (265 x 8 ) PROM
8755-EPROM+2 I/O Ports
[edit]Educational Use
In many engineering schools in Iraq, Syria, Turkey, Bangladesh, Iran, India, Pakistan, Brazil,
Macedonia, Mexico, Germany, Greece, Hungary, Panama, Nepal, Malaysia and Bosnia and
Herzegovina[2] the 8085 processor is popularly used in many introductory microprocessor
courses.
[edit]Simulators

8085 simulators exist aplenty for educational use. Freely available open source variants include
GNUSim8085 and GSim85[3] working on both, GNU/Linux and Windows. Closed source
freeware simulators for the Microsoft Win32 platform include Win85 [4] (which also emulates
undocumented operations of the chip) and Sim8085.
[edit]References

^ Reichel-Orbital museum - CPU Collection


^ [1]
[edit]External links

Working with Interrupts


Datasheets
i8085

[hide]
v•d•e
Intel processors
Discontinued
pre-x86
4004 · 4040 · 8008 · 8080 · 8085
x86-16 (16 bit)
8086 · 8088 · 80186 · 80188 · 80286
x87 (external FPUs)
8/16-bit databus: 8087 · 16-bit databus: 80287 · 32-bit databus: 80387 · 80487
x86-32/IA-32 (32 bit)
80386 · 80486 (SX · DX2 · DX4 · SL) · Pentium (Original · OverDrive · Pro · II · II OverDrive · III · 4
· M) · Core · Celeron M · Celeron D · A100
x86-64/EM64T (64 bit)
Pentium 4 · Pentium D · Pentium Extreme Edition · Celeron D
Other
iAPX 432 — RISC: i860 · i960 · StrongARM · XScale
Current
x86-32: EP80579 · Intel CE · Atom — x86-64: Atom (some) · Celeron · Pentium (Dual-Core) ·
Core (2 · i3 · i5 · i7) · Xeon — Other: IOP · Itanium
Upcoming
Moorestown
Lists
CPU sockets · Chipsets · ICHs · PIIXs · Microarchitectures · Processors · Future Processors ·
Codenames · GMA
Atom · Celeron · Core (2 · i3 · i5 · i7) · Itanium · Pentium (Pro · II · III · M · 4 · D · Dual-Core) ·
Xeon
Microarchitectures
P5
[show] P5 based cores
P6
[show] P6 based cores
NetBurst
[show] NetBurst based cores
Core
[show] Core based cores
Atom
[show] Atom based cores
Nehalem
[show] Nehalem based cores
Future
Larrabee · Sandy Bridge · Haswell
Categories: Intel microprocessors
article discussion edit this page history
Try Beta Log in / create account
navigation
Main page
Contents
Featured content
Current events
Random article
search

interaction
About Wikipedia
Community portal
Recent changes
Contact Wikipedia
Donate to Wikipedia
Help
toolbox
What links here
Related changes
Upload file
Special pages
Printable version
Permanent link
Cite this page
languages
Català
Česky
Deutsch
Eesti
Español
‫فارسی‬
Français
한국어
Bahasa Indonesia
Italiano
മലയാളം
Nederlands
日本語
Polski
Português
Русский
Slovenčina
Српски / Srpski
Suomi
Svenska
Türkçe
中文
This page was last modified on 17 April 2010 at 15:13.
Text is available under the Creative Commons Attribution-ShareAlike License;
additional terms may apply. See Terms of Use for details.
Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit
organization.

Potrebbero piacerti anche