El Z8000 (" zee- o zed-ocho-mil ") es un microprocesador de 16 bits introducido por Zilog a principios de 1979. La arquitectura fue diseñada por Bernard Peuto mientras que la implementación lógica y física fue realizada por Masatoshi Shima , asistido por un pequeño grupo de personas. A diferencia de la mayoría de los diseños de la época, el Z8000 no usaba microcódigo, lo que permitía implementarlo en solo 17.500 transistores.
Diseñador | Zilog |
---|---|
Bits | 16 bits |
Introducido | 1979 |
Diseño | CISC |
Tipo | Registro de memoria |
Derivación | Registro de condición |
Predecesor | Z80 |
Sucesor | Z80000 |
Registros | |
16 × 16 bits de propósito general PC de 24 bits Estado de 16 bits |
Actuación | |
---|---|
Ancho de datos | 16 bits |
Ancho de la dirección | 23 bits |
Especificaciones físicas | |
Paquete (s) |
|
El Z8000 no era compatible con el Z80 , aunque presentaba muchas de las notas de diseño bien recibidas que hicieron popular al Z80. Entre estos se encontraba la capacidad de combinar sus registros y usarlos como un solo registro más grande; mientras que el Z80 permitía que dos registros de 8 bits se usaran como un solo registro de 16 bits, el Z8000 lo expandió al permitir dos registros de 16 bits. registros para operar como un registro de 32 bits, o cuatro para operar como un registro de 64 bits. Estos registros combinados fueron particularmente útiles para operaciones matemáticas.
Aunque era un diseño atractivo para su época y tuvo cierto uso a principios de la década de 1980, nunca fue tan popular como el Z80. Federico Faggin , entonces director ejecutivo de Zilog, cree que una razón de esto fue que Zilog era propiedad principalmente de un solo inversor, Exxon Enterprises, que tenía la ambición de competir con IBM . Por lo tanto, cuando IBM comenzó el proyecto de PC de IBM , vieron a Zilog como un competidor y eligieron el Intel 8088 sobre el Z8000, ya que Intel no se veía como una competencia en el mercado de las computadoras. [1] Pero la fecha de lanzamiento del Z8000 lo ubicó entre el Intel 8086 (abril de 1978) y el Motorola 68000 (septiembre de 1979), el último de los cuales tenía una arquitectura de conjunto de instrucciones de 32 bits y era aproximadamente el doble de rápido.
El Zilog Z80000 fue un diseño de seguimiento de 32 bits, lanzado en 1986.
Características
El Z8000 se registra | ||||||||||||||||||
1 5 | 1 4 | 1 3 | 1 2 | 1 1 | 1 0 | 0 9 | 0 8 | 0 7 | 0 6 | 0 5 | 0 4 | 0 3 | 0 2 | 0 1 | 0 0 | (posición de bit) | ||
Agrupamiento | ||||||||||||||||||
Registros principales | 16 bits | 32 bits | 64 bits | |||||||||||||||
RH0 | RL0 | R0 | RR0 | RQ0 | ||||||||||||||
RH1 | RL1 | R1 | ||||||||||||||||
RH2 | RL2 | R2 | RR2 | |||||||||||||||
RH3 | RL3 | R3 | ||||||||||||||||
RH4 | RL4 | R4 | RR4 | RQ4 | ||||||||||||||
RH5 | RL5 | R5 | ||||||||||||||||
RH6 | RL6 | R6 | RR6 | |||||||||||||||
RH7 | RL7 | R7 | ||||||||||||||||
R8 | RR8 | RQ8 | ||||||||||||||||
R9 | ||||||||||||||||||
R10 | RR10 | |||||||||||||||||
R11 | ||||||||||||||||||
R12 | RR12 | RQ12 | ||||||||||||||||
R13 | ||||||||||||||||||
R14 | RR14 | |||||||||||||||||
R15 | ||||||||||||||||||
Registro de estado | ||||||||||||||||||
S | S N | mi | V | METRO | - | - | - | C | Z | S | P O | D | I | H | - | F rezagos | ||
Contador de programa | ||||||||||||||||||
0 | Segmento | 0 0 0 0 0 0 0 0 | P ROGRAMA C ounter | |||||||||||||||
Habla a |
El Z8000 se envió inicialmente en dos versiones; el Z8001 con un bus de direcciones externo completo de 24 bits para permitirle acceder a hasta 8 megabytes de memoria, y el Z8002 , que solo admitía direccionamiento de 16 bits para permitir 64 kilobytes de memoria. Esto permitió que el Z8002 tuviera ocho pines menos, enviándose en un formato DIP más pequeño de 40 pines que hizo que su implementación fuera menos costosa. Al igual que el Zilog Z80 , el Z8000 incluía un circuito de actualización DRAM incorporado .
Posteriormente, la serie se amplió para incluir el Z8003 y el Z8004 , versiones actualizadas del Z8001 y Z8002, respectivamente. Estas versiones se diseñaron para proporcionar un soporte mejorado para la memoria virtual , agregando nuevos registros de estado para indicar fallas de segmentación (probar y configurar) y proporcionar una capacidad de aborto.
El conjunto de registros constaba de dieciséis registros de propósito general de 16 bits, etiquetados de R0 a R15. Los registros se pueden concatenar en ocho registros de 32 bits, etiquetados RR0 / RR2 /../ RR14, o en cuatro registros de 64 bits, etiquetados RQ0 / RQ4 / RQ8 / RQ12. Los primeros ocho registros también se pueden subdividir en dieciséis registros de 8 bits, etiquetados como RL0 a RL7 para el byte inferior y RH0 a RH7 para el byte superior (alto). El registro R15 se designa como puntero de pila . En el Z8001, el registro R14 se usa para agregar un desplazamiento fijo al puntero de la pila, y el contador del programa se expande a 32 bits para incluir un desplazamiento similar.
There was both a user mode ("normal") and a supervisor mode, selected by bit 14 in the flag register. In supervisor mode, the stack registers point to the system stack and all privileged instructions are available. In user mode, the stack registers point to the normal stack and all privileged instructions will generate a fault.
Memory handling
The Z8000 used a segmented memory map, with a 7-bit "segment number" and a 16-bit offset. Both numbers were represented by pins on the Z8001, meaning that it could directly address a 23-bit memory, or 8 MB. Internally, however, instructions could only directly access data within the 16-bit offset. This allowed the instruction format to be smaller; a system with direct access to a 23-bit address would need to read three bytes (24-bits) from memory for every address referred to in the code, thus requiring two reads on a 16-bit bus. With segments, the addresses needed only a single 16-bit read and the segment number only needed to be updated when the data crossed the 16-bit/64 KB boundaries. This can improve overall performance when the data can be arranged within 64 KB spans.
The optional 48-pin Z8010 memory management unit (MMU) expanded the memory map to 16 MB by translating the 23-bit address from the CPU to a 24-bit one. Internally, it held a list of 64 segments and an 8-bit pointer to the physical location of that segment in RAM. When the CPU attempted to access a particular segment, the Z8010 would translate that into an 8-bit address on the address bus, and then pass the 16-bit offset on unchanged. This allowed multiple programs to be spread out in physical RAM, each one given its own space to work in while believing they were accessing the entire 8 MB of RAM. The segments were variable length, expanding up to 64 KB in order to allow the entire memory to be accessed from 64 segments. If more than 64 segments were needed, multiple Z8010s could be used.[2] The Z8010 was not available at the time of launch, and was ultimately nine months to a year late.[3]
With the release of the Z8003/Z8004, the Z8015 was added to the lineup, adding paged memory support. The main difference is that the Z8015 breaks down the memory into 64 2 KB blocks, whereas the Z8010 broke memory into 64 variable-sized blocks, up to 64 KB each. Additionally, the Z8015 expands the segment number from 7 to 12 bits, and then using those as the most significant bits of the 23-bit overall address, overriding the upper bits of the original 16-bit offset. The advantage to this access scheme is that it is easy to read or write 2 KB blocks to a hard drive, so this pattern more closely matches what will ultimately happen on a segfault.[2]
Sistemas basados en CPU Z8000
In the early 1980s, the Zilog Z8000 CPU was popular for desktop sized Unix machines. These low-cost Unix systems allowed small businesses to run a true multi-user system and share resources (disk, printers) before networking was common. They usually had only RS232 serial ports (4–16) and parallel printer ports instead of built in graphics, as was typical for servers of the time.
Z8000-based computer systems included Zilog's own System 8000 series, as well as other manufacturers:
- January 1980: C8002 made by Onyx Systems used the Z8001, ran Unix System III, came with C and FORTRAN 77 compilers, and had an available COBOL compiler as well. It had 8 serial ports, 1 QIC tape drive, a single 8" hard drive and cost ~$25k. The main processor offloaded the disk, tape, and serial IO operations to a Z80 processor on a second board.[4]
- 1982: Olivetti M20, a non IBM-compatible PC that ran Olivetti PCOS, a derivative of COSMOS or CP/M.[5]
- 1980-1986: Olivetti Linea 1 S1000, S6000, M30, M40, M50, M60, M70. These minicomputers from Olivetti all ran BCOS/COSMOS.[5]
- 1985: the cancelled Commodore 900 computer project
- 1987–1989: the East German EAW (Elektro-Apparate-Werke) produced the Workstation/Multiuser System P8000 based on the East German U8000 clone of the Z8000.[6]
The Zilog S8000 computer came out with a version of Unix called ZEUS (Zilog Enhanced Unix System). ZEUS was a port of Unix Version 7 and included what were referred to as 'the Berkeley Enhancements'. ZEUS included a version of COBOL called RM/COBOL (Ryan McFarland COBOL). The availability of RM/COBOL allowed many commercial applications to be quickly ported to the S8000 computer although this did not help its long term success. The S8000 did find some success with the IRS and tax preparers in United States, who used the model for processing of electronically filed tax returns.[7]
There was a Z8000 version of the Xenix Operating System.[8] Namco used the Z8000 series in its Pole Position and Pole Position II arcade games. The machines used two Z8002's, the 64 KB versions of the Z8000.
The reported inclusion of the device within military designs[9] perhaps provides an explanation for the continued survival of the Z8000 today, in the shape of the Z16C01/02 Serial Communication Controllers (SCC). Also, the Standard Central Air Data Computer (SCADC) was utilizing the Z8002.[10] The end of life notice from Zilog was sent in 2012.[11]
Éxito limitado
While the Z8000 did see some use in the early 1980s, it was passed over for other designs relatively quickly.[1]
Federico Faggin, then CEO of Zilog, later suggested this was due to Zilog's financing arrangement with Exxon's venture capital arm, Exxon Enterprises. Enterprises had made a number of investments in the computer field, and by the early 1980s was positioning itself as a competitor to IBM in the large system space. Faggin suggests that IBM thus saw Zilog as a competitor, and refused to consider the Z8000 as a result.[1]
However, an examination of the choices available to designers in the early 1980s suggests there are more prosaic reasons the Z8000 was not more popular:
Comparing assembly language versions of the Byte Sieve, one sees that the 5.5 MHz Z8000's 1.1 seconds is impressive when compared to the 8-bit designs it replaced, including Zilog's 4 MHz Z80 at 6.8 seconds, and the popular 1 MHz MOS 6502 at 13.9. Even the newer 1 MHz Motorola 6809 was much slower, at 5.1 seconds.[12] It also fares well against the 8 MHz Intel 8086 which turned in a time of 1.9 seconds, or the less expensive 5 MHz Intel 8088 at 4 seconds.[12]
While the Intel processors were easily outperformed by the Z8001, they were packaged in 40-pin DIPs, which made them less expensive to implement than the 48-pin Z8001. The Z8002 also used a 40-pin package, but had a 16-bit address bus that could only access 64 KB of RAM, whereas the Intel processors had a 20-bit bus that could access 1 MB of RAM. Internally, the 23-bit addresses of the Z8000 were also more complex to process than Intel's simpler system using 16-bit base addresses and separate segment registers. For those looking for a low-cost option able to access (what was then) large amounts of memory, the Intel designs were competitive and available over a year earlier.[12]
For those looking for pure performance, the Z8000 was the fastest CPU available in early 1979. But this was true only for a period of a few months. The 16/32-bit 8 Mhz Motorola 68000 came to market later the same year and turns in a time of 0.49 seconds on the same Sieve test, over twice as fast as the Z8000.[12] Although it used an even larger 64-pin DIP layout, for those willing to move to more than 40-pins this was a small price to pay for what was by far the fastest processor of its era. Its 32-bit instructions and registers, combined with a 24-bit address bus with flat 16 MB addressing, also made it much more attractive to designers, something Faggin admits to.[1]
To add to its problems, when the Z8000 was first released it contained a number of bugs. This was due to its complex instruction decoder, which, unlike most processors of the era, did not use microcode and was dependent on logic implemented directly in the CPU. This allowed the design to eliminate the microcode storage and the associated decoding logic, which reduced to the transistor count to 17,500.[13] In contrast, the contemporary Intel 8088 used 29,000 transistors,[14] while the Motorola 68000 of a few months later used 68,000.[15]
Segundas fuentes
Several third parties manufactured the Z8000 including AMD, SGS-Ates, Toshiba and Sharp.[16]
AMD Z8002APC
VEB Mikroelektronik "Karl Marx" Erfurt (MME) UB8001C
Sharp LH8002P
Referencias
- ^ a b c d Hendrie, Gardner (2006). "Oral History of Federico Faggin" (PDF). Computer History Museum. Retrieved 2017-01-24.
- ^ a b Fawcett, B. K. (1983). "A tutorial overview of the Z8003 and Z8004 microprocessors and the Z8010 and Z8015 memory management units". Journal of Microcomputer Applications. 6 (2): 163–178. doi:10.1016/0745-7138(83)90028-3.
- ^ "Oral History Panel on the Development and Promotion of the Zilog Z8000 Microprocessor" (PDF). p. 20. Archived from the original (PDF) on 2010-07-08.
- ^ Granneman, Scott. "Computing History 1968–Present". Retrieved 2009-07-16.
- ^ a b Kranenborg, Jurjen; Elvey, Dwight K.; Groessler, Christian. "The Z8000 / Z80,000 / Z16C00 CPU homepage". Retrieved 2009-07-16.
- ^ "E. German Businesses See Tough Times After Merger". Sun Sentinel. Retrieved 2015-07-03.
- ^ "efile History - Electronic Tax Filing in the United States". Retrieved 2012-12-13.
- ^ Bezroukov, Nikolai (2008-11-15). "XENIX—Microsoft's Short-lived Love Affair with Unix". Softpanorama. Retrieved 2009-07-16.
- ^ "Z8000". TechEncyclopedia. TechWeb. Retrieved 2009-07-16.
- ^ Standard Central Air Data Computer (PDF). GEC Avionics. 1985.
- ^ "Z16C0110PSG and Z16C0210PSG End of Life (EOL) Notification" (PDF). Retrieved 2016-07-17.
- ^ a b c d Gilbreath, Jim; Gilbreath, Gary (January 1983). "Eratosthenes Revisited: Once More through the Sieve". Byte. pp. 283–325.
- ^ Bayko, John (December 2003). "Zilog Z-8000, another direct competitor". Great Microprocessors of the Past and Present.
- ^ "Chip Hall of Fame: Intel 8088 Microprocessor". IEEE Spectrum. Institute of Electrical and Electronics Engineers. 2017-06-30. Retrieved 2020-06-19.
- ^ "Chip Hall of Fame: Motorola MC68000 Microprocessor". IEEE Spectrum. Institute of Electrical and Electronics Engineers. 2017-06-30. Retrieved 2019-06-19.
- ^ "Zilog Z8000". Digital History: Time Line. old-computers.com. April 1979. Retrieved 2009-07-16.
Otras lecturas
- Zilog Z8000 CPU Technical Manual (PDF). San Jose, California: Zilog. Retrieved 2009-07-16.
- Zilog Z8000 CPU User's Reference Manual (PDF). San Jose, California: Zilog. 1982. Retrieved 2009-07-16.
- "Z16C01/Z16C02 Product Specification" (PDF). San Jose, California: Zilog. 1995. Retrieved 2009-07-15.
- Lehmann, Oliver. "poto.de: Zilog S8000". Retrieved 2009-07-16.
- Fawcett, Bradly K. (1982). "The Z8000 microprocessor: a design handbook" (PDF). Englewood Cliffs, N.J.: Prentice-Hall. Retrieved 2013-03-06.