Zilog Z80

ImprimirCitar
Zilog Z80 A.
A Z80 encapsulate LQFP.

The Zilog Z80 (Z80) is an 8-bit microprocessor whose architecture is halfway between the accumulator and general register organization. If we consider the Z80 as a general register architecture processor, it falls under the register-memory type.

It was launched on the market in March 1976 by the Zilog company, and became popular in the 1980s through computers such as the Sinclair ZX Spectrum, Amstrad CPC or MSX system computers. It is one of the most successful processors on the market, of which countless clone versions have been produced, and it continues to be used extensively today in many embedded systems.

May 1976 Advert Zilog Z-80 microprocessor 8-bit

History

Introduction

The Z80 was primarily designed by Federico Faggin, who had been working at Intel as chief designer of the Intel 4004 and Intel 8080. When production was finished in 1974, Federico Faggin left Intel, founded Zilog, and began working on the Z80 design based on the experience gained creating the Intel 4004, 8080 and based on the structure of the latter and some more integrated circuits. Masatoshi Shima, the lead designer of the 4004 and 8080 transistors and logic levels under Faggin's supervision, joined Zilog's team. Two years later the Z80 was on sale.

The Z80 was designed to be code-compatible with the Intel 8080, so that most programs for the 8080 could run on it, especially the CP/M operating system.

The Z80 had eight key improvements over the Intel 8080:

  • An improved set of instructions, including new index IX and IY records and the instructions needed to handle them.
  • Two register banks that could be quickly changed to speed up the response to interruptions.
  • Block motion instructions, block E/S and bytes search.
  • Bit manipulation instructions.
  • Number of 6500 transistors.
  • An address counter for the integrated DRAM soda, which in 8080 had to be provided by the support circuit set.
  • Single 5 volt food.
  • Need less auxiliary circuits, both for the generation of the watch signal and for the link with memory and the E/S.
  • Cheaper than the Intel 8080.
  • A special type of reset that only restates the program counter so that the Z80 can be used in an ICE development system (In-Circuit Emulator).

The Z80 quickly knocked the Intel 8080 out of the market and became one of the most popular 8-bit processors around. The first versions worked at 2.5 MHz, but its speed has increased to 20 MHz. Thus, the most used version was the Z80A running at 3.58 MHz (a quarter of the PAL or NTSC frequency) being the factory speed. 4 MHz.

Today, Zilog continues to manufacture versions of the original Z80 and other models compatible with it that improve performance.

Notable Uses

Cromemco was one of Zilog's first customers and released a central processing unit based on the Z80 microprocessor in October 1976. In the early 1980s the Z80 or clone versions of it were used in a multitude of computers such as the MSX range, the Radio Shack TRS-80, the Sinclair ZX80, ZX81 and ZX Spectrum. It was also used in the Osborne 1, the Kaypro, and a host of other business computers that dominated the market at the time and that used the CP/M operating system.

In the mid-1980s the Z80 was used in the Tatung Einstein and the Amstrad CPC and Amstrad PCW family of home and business computers. The Z80 was also used in the Tiki 100 computers, which were used in schools in Norway at the time.

Such was the popularity of the Z80 and the CP/M that other computers based on the MOS Technology 6502 or 6510 that were already on the market, such as the BBC Micro, the Apple II and the Commodore 64 could be expanded by means of a card or cartridge containing a Z80 processor. Also the Commodore 128 included a secondary Z80 next to the main MOS Technology 8502 to be able to use CP/M.

As far back as the 1990s the Z80 has been used in the Sega Master System and Sega Game Gear consoles. Also the SNK Neo-Geo and Sega Mega Drive game consoles and many arcade machines use a Z80 as the specialized sound processor.

Nintendo's Game Boy and Game Boy Color use the 4.19/8.38 MHz Sharp LR35902 (based on the Zilog-Z80 and Intel 8080) manufactured by Sharp.

Currently part of the Texas Instruments line of programmable graphing calculators such as the TI-73 (1998), TI-73 Explorer (2003), TI-82 (1999 model only), TI-83 Plus (1999 model only), 1999 and 2001 models), and its successors use a clone version of the Z80 manufactured by NEC as the main processor.

In addition, the Z80 is also a popular microprocessor for use in embedded systems, a field where it is used extensively.

Second sources and clones

Mostek and SGS Microelettronica were second sources for the Z80 (Mostek MK3880 and SGS Z8400). GoldStar makes the GoldStar Z8400A PS (4 MHz) and Goldstar Z8400B PS (6 MHz). Sharp Corporation and NEC make Z80 clones (Sharp LH-0080 and NEC µPD780C). National Semiconductor made a clone processor, the NSC800, with CMOS technology but not pin-to-pin compatible. Hitachi made a version with improved CMOS technology, whose second source was curiously Zilog itself.

A clone version of the Z80 called the U880 was produced in the German Democratic Republic, which was used in Robotron and VEB Mikroelektronik Mühlhausen computer systems, such as the KC85 series and many home-built computers.

A clone version of the Z80, the MMN80, was manufactured in Romania, and according to some sources it was also manufactured in the Soviet Union, where several copies of the Z80 were created, the best known being the T34. This microprocessor was used in the majority of computers manufactured in this country, almost all clones of the Sinclair ZX Spectrum: Ice Felix HC85, HC90, HC91, HC2000, Datatim/Technical University of Timisoara TIM-S, MicroTIM and MicroTIM+ or the Intreprinderea Electronica CIP, CIP-02, CIP-03, CIP-04.

Today there are two processor cores called T80 and TV80 that are functionally equivalent to the Zilog Z80 and are available under a BSD-like license. The source code for these kernels is available in both Verilog and VHDL. Once synthesized, this latest version can run up to 35 MHz on a Xilinx Spartan II FPGA.

Currently Zilog itself manufactures an improved version of the Z80 called eZ80, which running at 50 MHz has similar performance to a Z80 running at 150 MHz and can also address up to 16 MB of RAM extending the size of the registers, compared to 64 KB in the Z80.

There are current hardware designs that implement a Z80 on a programmable chip by programming part of the chip to perform the functions of the Z80.

  • Not all clones of this microprocessor have connected the NMI pin, so by trying to use it in some models it ignores.

Evolutions

Z180

An old Z180 in a PLCC package (the smallest QFP and LQFP are more common today).
Z8S180.

The Z180 is the successor to the Z80. It is compatible with a large collection of software written for it. The Z180 family adds further features and functions of embedded peripherals such as the clock generator, 16-bit counters/clocks, interrupt controller, wait-state generators, serial ports, and a DMA controller. It uses separate read and write cycles, using clocks similar to those of the Z80 and Intel processors. The integrated MMU has the ability to address up to 1 MB of memory. It is possible to configure the Z180 to operate like a Hitachi HD64180.

Chip Speed (MHz) Watches I/O Ctrl. communications Other
Z80180 6, 8, 102 N/SCPU1 MB MMU, 2xDMAs, 2xUARTs
Z80181 101 16CPU1 MB MMU, 2xDMAs, 2xUARTs
Z80182 16, 33, 200 Watch series, 24ESCC, CSIO, UARTS180 Megacell, 2xESCC channels, 16550 MIMIC
Z80195 20, 334 7/24SCC, CSIO, UART
Z8L180 202 Watch seriesCSIO, UART1 MB MMU, 2xDMAs, 2xUARTs, 3.3 V Operation
Z8L182 200 Watch seriesESCC, CSIO, UARTS180 Megacell, 2xESCC channels, 16550 MIMIC, 3.3V operation
Z8S180 10, 20, 332 Watch seriesUART, DMA, I2C, SPI1 MB MMU, 2xDMAs, 2xUARTs

Z80182

Z80182

The Z80182 is an upgraded version of the Z80 and is part of the Z180 family. It is nicknamed Zilog Intelligent Peripheral Controller (ZIP: Zilog Intelligent Peripheral Controller). It is also completely static (the clock can be stopped and no log data is lost)[citation needed] and has a low electromagnetic interference option which reduces the slew rate of the outputs.[citation required].

The Z80182 can operate at 33 MHz with an external oscillator operating at 5 volts, or at 20 MHz using the internal oscillator at 3.3 V.

Hitachi HD64180

Hitachi HD64180
Hitachi HD64180
Hitachi HD64180 DIP64

The HD64180 is a Z80-based microprocessor developed by Hitachi that includes an MMU. The HD64180 Super Z80 was later licensed to Zilog and sold by it under the name Z64180 including some improvements like those present in the Z180.

Z280

The Z280 in a PLCC package

The Z280 was an improvement on the Z80 architecture introduced in July 1987. It is basically a slightly improved CMOS version of the earlier Z800. Both versions, the Z280 and Z800, were commercial failures.

Structure

Despite being an 8-bit microprocessor, the Z80 can handle 16-bit instructions and can address up to 64 KiB of RAM. One of the most notable features is that it has the Intel 8080 instructions as a subset, so some Z80-based computers could run programs designed for the 8080 CP/M. This has made the Z80 instruction formats quite complex., since they have to maintain their compatibility with the 8080. However, the Z80 has managed to improve on Intel's microprocessor in speed, has added new addressing modes and contains a larger set of instructions.

Logs

Internal structure of the Z80.

The Z80's register structure is made up of a main bank, an alternative bank and finally a bank made up of special registers. The existence of the alternative bank improves speed in the presence of interruptions since it allows switching from the bank main to alternate. The records are:

  • A, B, C, D, E, H and L (main bank)
  • A', B', C', D', E', H' and L' (alternative bank)
  • I, R, IX, IY, SP and PC (special registers)

The main bank registers are general and 8 bits. They can be taken in pairs, being then IX and IY the index registers. Register A serves as the accumulator. The R stores the block of memory whose refresh is going to proceed. The SP is the stack top pointer. The PC is the program counter. The F contains the flags or also called condition bits.

Primary Records Alternative Records
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
日本語 A 日本語S Z - A - P N CIND F Ș A' ΔS Z - A - P N CIND F'
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
日本語 简体字 繁體字 繁體字 Русский
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
日本語 D Δ E ε Δ D' Δ E'
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
日本語 H Δ L UD UD UD H' UD L' UD
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Index records
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
日本語 IX.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
日本語 IY
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Battery Pointer and Program Counter
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
日本語 SP 日本語
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
日本語 Русский
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Registration of interruptions and
Record of memory soda
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Русский
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Accumulator

Register used to store the data being used. It is the most important register, next to the F register (with which it forms the pair of AF registers). Most 8-bit math and logic operations are performed through this register, hence its importance.

HL Pair

This is the most versatile register pair, used primarily to hold memory addresses. In the single register L, the lowest byte (LOW in English) of the memory address is placed, and in H, the highest byte (HIGH in English) of the memory address is placed. Likewise, it is widely used by calls to BIOS subroutines (CALL) for input/output data of the called subroutine. Some Assembler instructions are specific to this pair of registers.

BC and DE Pairs

They are used as helper pairs of HL in instructions that manipulate blocks like LDI, LDIR, etc.

IX and IY indexed records

There are 2 16-bit registers. They are used as base registers to point to a memory address where data is to be taken from. An additional byte is indicated which implies offset.

  • Although not officially documented, they can be used as 2 separate 8-bit records, obtaining a total of 4 extra 8-bit records.

SP stack pointer

Allows nesting of routines. It points to a memory area called STACK which is a stack structure or LIFO.

Special registers

  • Flag F: Indicates special conditions when performing mathematical or logical operations.

It serves as a set of flags, which indicate the information about the operations that are being carried out.

  • Interruption log I: It is used to run any subroutine as a response to a hardware interruption, using as pointer I as the top of the address and data that exists on the data bus as the lower part, this allows handling 128 different interruptions.
  • Refreshment Record R: The R registration value is placed on the address bus while the soda signal provided by the CPU is activated. This occurs while the CPU decodes an instruction, or a prefix of instruction.

Z80 Flags

  • 0-C: Acarreo.
  • 1-N: Resta BCD, for correction with DAA.
  • 2-P/V: Parity/overflow.
  • 4-H: Medium stroke, for BCD correction with DAA.
  • 6-Z: Zero.
  • 7-S: Signo.

Bits 3 and 5 are not used, but are modified by certain instructions, although they are not officially documented.

Sideburns

Z80 temples. The address bus lines are shown in red, the data bus lines in blue, and the control bus lines in green.

 +...
... A11  1 complete. A10 -- 2005 A12  2UD A9 -- ▪ ... A13  3 short.38 A8 -- voluntary A14  4Docs. A7 -- 2005 A15  5 short.36 A6 -- 2005 -- CLK  6 gap.35 A5 -- 2005 ≤2  7UD MINIS34 A4 -- 2005 ≤3  8Docs. A3 -- 2005 ≤2  9UD Z80 UDI32 A2 -- 2005 ≤2  10ATA UDI31 A1 -- 2005 +5V Vcc 11UD A0 -- 2005 ≤2  12ATA LICENS29 GND
◊ D7  13IND UD28 FRSH -- organic ≤2  14UDS M1 -- 2005 ≤2  15 short.26 ! RESET. -- 2005 I'm sorry.  16 short.25 ! -- Syrian !NMI  17IND UDI24 WAIT; ... HALT!  18 gap 23 BUSAK -- organic ... MREQ  19 short.22 WR -- organic ... IORQ  20 gap DRD -- rigid +----

Contenido relacionado

BIOS

The Basic Input/Output System, or BIOS, is a de facto standard that defines the Firmware interface for IBM PC compatible computers. It is also known as System...

MediaWiki:Clearyourcache

Note: After saving, you must refresh your browser's cache to see the changes. Internet Explorer: hold Ctrl while pressing Refresh. Firefox: while holding down...

Charles Babbage

Charles Babbage was a British mathematician and computer scientist. He designed and developed a mechanical calculator capable of calculating tables of...
Más resultados...
Tamaño del texto:
Copiar