fbpx
Wikipedia

Zilog Z8000

The Z8000 is a 16-bit microprocessor introduced by Zilog in early 1979. The architecture was designed by Bernard Peuto while the logic and physical implementation was done by Masatoshi Shima, assisted by a small group of people. In contrast to most designs of the era, the Z8000 did not use microcode which allowed it to be implemented in only 17,500 transistors.

Zilog Z8000
DesignerZilog
Bits16-bits
Introduced1979; 44 years ago (1979)
DesignCISC
TypeRegister-Memory
BranchingCondition register
PredecessorZ80
SuccessorZ80000
Registers
16 × 16-bit general purpose
24-bit PC
16-bit status
Zilog Z8000
Z8001 on the motherboard of an Olivetti M20 computer
General information
Launched1979; 44 years ago (1979)
Designed byZilog
Performance
Data width16 bits
Address width23 bits
Physical specifications
Transistors
  • 17,500
Package(s)
  • 48-pin DIP (8001)
  • 40-pin DIP (8002)

The Z8000 is not Z80-compatible, but it uses many of the well-received design elements from the Z80. Among these is the ability for its registers to be combined and used as a single larger register; while the Z80 allowed two 8-bit registers to be used as a single 16-bit register, the Z8000 expanded this by allowing two 16-bit registers to operate as a 32-bit register, or four to operate as a 64-bit register. These combined registers are particularly useful for mathematical operations.

Although it saw some use in the early 1980s, it was never as popular as the Z80. It was released after the 16-bit Intel 8086 (April 1978) and the same time as the less-expensive Intel 8088, and only months before the Motorola 68000 (September 1979), which had a 32-bit instruction set architecture and was roughly twice as fast.

The Zilog Z80000 was a 32-bit follow-on design, launched in 1986.

Versions

The Z8000 initially shipped in two versions; the Z8001 with a full 23-bit external address bus to allow it to access up to 8 megabytes of memory, and the Z8002 which supported only 16-bit addressing to allow 64 kilobytes of memory. This allowed the Z8002 to have eight fewer pins, shipping in a smaller 40-pin DIP format that made it less expensive to implement.

The series was later expanded to include the Z8003 and Z8004 updated versions of the Z8001 and Z8002, respectively. These versions were designed to provide improved support for virtual memory, adding new status registers to indicate segmentation faults (test and set) and provide an abort capability.

Architecture

Z8001 registers
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 (bit position)
  Grouping
Main registers 16-bit 32-bit 64-bit
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
Stack Pointer Segment R14 RR14
Stack Pointer Offset R15
Status register
S SN E V M - - - C Z S PO D H - - Flags
Program counter
0 Segment 0 0 0 0 0 0 0 0 Program Counter
Address

Registers

There are sixteen 16-bit registers, labeled R0 through R15. The registers can be concatenated into eight 32-bit registers, labeled RR0/RR2/../RR14, or into four 64-bit registers, labeled RQ0/RQ4/RQ8/RQ12. The first eight registers can be also subdivided into sixteen 8-bit registers, labeled RL0 though RL7 for the lower byte and RH0 through RH7 for the upper (high) byte. Register R15 is designated as stack pointer. On the Z8001, register R14 is used to include a fixed segment in the stack pointer, and the program counter is expanded to 32 bits to include a similar segment.

There is 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. Having separate modes and stacks greatly adds to the performance of context switches between user programs and an operating system.[1]: 6.1 

 
Die of Zilog Z8002

Memory handling

Like the Z80 before it, the Z8000 includes a system to automatically refresh dynamic RAM. In most systems this is normally handled by the video display controller or external logic. This was implemented via a separate Refresh Counter (RC) register that held the currently updating page of memory. The feature is turned on by setting the most significant bit of the RC, bit 15, to 1. The following six bits, 14 through 9 are a rate, measured in terms of every 4th clock cycle. With a standard 4 MHz clock, that allows the refresh to be called every 1 to 64 microseconds. The remaining 8 bits select a row in memory to refresh.[1]: 6.5, 6.28 

The Z8000 has a segmented memory map, with a 7-bit "segment number" and a 16-bit offset. Both numbers are represented by pins on the Z8001, meaning that it can directly address a 23-bit memory, or 8 MB.[1]: 6.19  Instructions can only directly access a 16-bit offset. This allows 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 need only a single 16-bit read which is then added to a segment number to produce the complete address. The segment number only needs to be updated when the data crosses the 16-bit/64 KB boundaries.[1]: 6.3 

Internally, addresses are all 32 bits: an upper 16-bit word with a leading 0 in bit 15, the 7-bit segment number, and then 8 zeros. This requires more memory to store, as each 23-bit address uses up 32 bits of register space, but allows the addresses to be cleanly stored in the 16-bit registers and can be more easily pushed and popped from the stack, which occurs in 16-bit words.[1]: 6.6 

The optional 48-pin Z8010 memory management unit (MMU) expands the memory map to 16 MB by translating the 23-bit address from the CPU to a 24-bit one. Internally, it holds a list of 64 segments and an 8-bit pointer to the physical location of that segment in RAM. When the CPU attempts to access a particular segment, the Z8010 translates that into an 8-bit address on the address bus, and then passed the 16-bit offset on unchanged. This allows multiple programs to be spread out in physical RAM, each given its own space to work in while believing it is accessing the entire 8 MB of RAM. The segments are 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 are needed, multiple Z8010s can 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]

Other features

One uncommon feature found on the Z8000, more commonly associated with minicomputers, is direct support for vectored interrupts. Interrupts are used by external devices to notify the processor that some condition has been met; a common use is to indicate that data from a slow process like reading a floppy disk is now available and the CPU can read the data into memory.

Normally on small machines, an interrupt causes special code to run that examines various status bits and memory locations to decide what device actually called the interrupt and why. In some designs, especially those intended for realtime computing, an area of memory is set aside as a set of pointers, or vectors, to the code handling a particular device. The devices causing the interrupt then set some state, typically via pins on the CPU, to indicate a particular interrupt number, N. When the interrupt is called, the CPU immediately jumps through Nth entry in the table, avoiding any need to decode the interrupt. This can greatly speed up the interrupt servicing by avoiding having to run additional operations, while also simplifying the interrupt handling code.

In the Z8000, a new register supports vectors, the New Program Status Area Pointer. This was similar to a memory address in a register, consisting of two 16-bit values with the upper 16-bits holding the segment number. The lower 16-bits are then divided in half, the upper 8-bit containing an offset and the lower 8-bits empty. To call a particular vector, the external device presents the lower 8-bits (or 9 in some cases) on the address bus, and the complete vector address is constructed from the three values.[1]: 6.8 

Z8000 CPU based systems

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 RS-232 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:

  • 1980: C8002 made by Onyx Systems used the Z8002, ran Version 7 Unix, had C, FORTRAN 77 and COBOL compilers available. It had eight serial ports for terminal connections, 1 QIC tape drive and cost ~$25k. The main processor offloaded the disk, tape, and serial I/O operations to a Z80 processor on a second board.[4]
  • 1981: Zilog Systems Z-Lab 8000 Programmer's Development System, available as a Model 20 system with 256 KB of RAM and single 24 MB hard drive, priced at $27,000, or a Model 30 system with 512 KB of RAM and dual hard drives, priced at $33,950, ran the Zeus enhanced version of Unix from Zilog.[5] Zilog followed up with the Series 8000, a multi-user business system that, like the Z-Lab 8000, was based on the 6 MHz Z8001A with three Z8010A memory management units.[6]
  • 1981-1982: Plexus Industries' P/40 employed an Z8000-based processor along with a number of peripheral controllers designed to maximise data transfer performance, claiming direct memory access throughput of up to 3 MB per second. A "typical eight-user P/40 configuration" with 512 KB of RAM and 72 MB hard drive cost $49,500, with a Unix licence costing $5,000 extra.[7] Plexus followed up with the P/25 in 1982, claiming similar performance to a PDP-11/70 system.[8] A later Plexus model, the P/60, employed the Z8000 as an input/output controller but introduced the Motorola 68000 as the main CPU.[9] The Plexus P/35 retained this general architecture.[10]
  • 1982: Olivetti M20, a non-IBM-compatible PC that ran Olivetti PCOS, a derivative of COSMOS or CP/M 8000.[11]
  • 1982-1983: C5002A, C8002A and Sundance-16 from Onyx Systems used the Z8001 and ran Unix System III.[12][13]
  • 1983: Zilog Systems 8000 Series Two featured a faster 11.1 MHz Z8001B processor with 32 KB of cache memory, available in three models with 512 KB of RAM expandable to 2 MB in the base model and 4 MB in the other models, with prices for minimal configurations ranging from $19,950 to $29,950. These systems ran Unix System III.[14]
  • 1983: Exxon Office Systems 500 series and 8400 series.[15][16]
  • 1980-1986: Olivetti Linea 1 S1000, S6000, M30, M40, M50, M60, M70. These minicomputers from Olivetti all ran BCOS/COSMOS.[11]
  • 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.[17]

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.[18]

The Z8000 featured in Steve Ciarcia's Trump Card project for his Circuit Cellar column in Byte magazine, providing an expansion card with the Z8001 processor and 512 KB of RAM suitable for use with an IBM-compatible PC.[19] Compilers for BASIC and C were supplied with the board, along with an assembler and a Z80 emulator that could run programs written for CP/M-80. It was envisaged that Unix would also be made available for the Trump Card.[20]

Despite a somewhat positive reception as "a reasonably fast supermicro with generally good performance for the price", the 16-bit architectural limitations of the Z8000, with segment handling required to access more than 64 KB in a process, led to questions about the longevity of the Series 8000 products as 32-bit processor architectures from Motorola and National Semiconductor became more widely adopted.[21] Zilog Systems eventually adopted AT&T's 32-bit WE32100 processor, introducing it in a new product, the System 8000/32, alongside 32-bit upgrades to its existing System 8000 Series 2 models. This enabled the introduction of Unix System V on Zilog Systems' products.[22]

The adoption by Zilog's Systems Division of the WE32100, in preference to the continued use of products from Zilog's Component Division, was driven by diverging requirements. Zilog sought to introduce its 32-bit successor to the Z8000, the Z80000, to build on successful adoption of the 16-bit product in military and graphical applications, whereas its Systems Division prioritised Unix support and commercial applications. The conclusion was reached to adopt the WE32100 as "the premier UNIX chip".[23] Zilog subsequently announced an agreement to manufacture the WE32100 chipset for a five year period, being the first alternative source of these products.[24]

There was a Z8000 version of the Xenix Operating System.[25] In 1982, Digital Research and Zilog announced an agreement to make CP/M available for the Z8000.[26]

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.

In one instance, the Z8001 was used to implement a capability-based architecture, employing the segment number in the addressing model of the Z8001 to indicate a capability register in a virtual processor. Such virtual processors were provided through the augmentation of the Z8001 with an "intelligent memory device", this providing memory management and context switching facilities, with additional capability-related instructions being supported through emulation.[27]

The reported inclusion of the device within military designs[28] perhaps provides an explanation for the continued survival of the Z8000 until recently, in the shape of the Zilog Z16C01/02 CPUs. Also, the Standard Central Air Data Computer (SCADC) was utilizing the Z8002.[29] The end of life notice from Zilog was sent in 2012.[30]

Limited success

While the Z8000 did see some use in the early 1980s, it was passed over for other designs relatively quickly.[31]

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 suggested that IBM thus saw Zilog as a competitor, and refused to consider the Z8000 as a result.[31]

However, Faggin did concede that the segmented architecture of the Z8000 was a disadvantage for emerging "graphics-based applications", where systems such as the Apple Macintosh needed to readily access more than 64 KB of memory in a single address space. The longer than anticipated process of bringing the product to market was also acknowledged as having contributed to its lack of adoption, Faggin noting that "being first and having the strongest marketing and the strongest momentum", as Intel had found itself with the 8086, would have been the only remaining route to success for a product of this kind.[32]

An examination of the choices available to designers in the early 1980s suggests there are several 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.[33] 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.[33]

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.[33][better source needed]

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.[33] 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.[31]

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 the transistor count to 17,500.[34] In contrast, the contemporary Intel 8088 used 29,000 transistors,[35] while the Motorola 68000 of a few months later used 68,000.[36]

Second sources

Several third parties manufactured the Z8000 including AMD,[37] SGS-Ates, Toshiba and Sharp.[38]

References

  1. ^ a b c d e f Abramovitz, Bob; Enger, Janice; Ingraham, Curtis; Jacobson, Susanna; McGuire, Patrick (1981). Osborne 16-Bit Microprocessor Handbook. Osborne/McGraw-Hill. ISBN 0-931988-43-8.
  2. ^ 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.
  3. ^ OHP_2010_Z8000, p. 20.
  4. ^ Eisenbach, Sue (March 1981). "Onyx C8002". Personal Computer World. pp. 52–53, 55–57. Retrieved 2023-02-26.
  5. ^ "Z8000 Development System Runs Under Unix". Computerworld. 1981-03-16. p. 50. Retrieved 2023-03-10.
  6. ^ "Version of Z-Lab 8000 Handles Multiple Users". Computer Business News. 1981-09-07. p. 10. Retrieved 2023-03-13.
  7. ^ Beeler, Jeffry (1981-09-28). "New Firm Has Mini 'Custom-Made' for Unix". Computerworld. p. 5. Retrieved 2023-03-10.
  8. ^ "Plexus Unveils 16-Bit Multiprocessor Mini". Computerworld. 1982-04-05. p. 69. Retrieved 2023-03-10.
  9. ^ "Benetics Offers Micro-Based Turnkey System". Computerworld. 1983-10-10. p. 77. Retrieved 2023-03-10.
  10. ^ Mackinlay, Bruce (April 1983). "The Plexus Challenge: Reviewing the P/35". UNIX/WORLD. pp. 84–90. Retrieved 2023-03-10.
  11. ^ a b Kranenborg, Jurjen; Elvey, Dwight K.; Groessler, Christian. "The Z8000 / Z80,000 / Z16C00 CPU homepage". Retrieved 2009-07-16.
  12. ^ C5002A, C8002A Series Product Description. Onyx Systems Inc. February 1983. Retrieved 2023-03-03.
  13. ^ Sundance-16 Product Description. Onyx Systems Inc. October 1982. Retrieved 2023-03-02.
  14. ^ Sullivan, Kathleen (1984-09-10). "Zilog introduces Unix-based multiuser computer systems". Computerworld. p. 101. Retrieved 2023-03-10.
  15. ^ Rifkin, Glenn (1984-08-15). "The Future – Or the Shock?". Computerworld. pp. 21–22, 24. Retrieved 2023-03-10.
  16. ^ Hoard, Bruce (1983-02-28). "HP, DG Sign Pacts With PBX Makers". Computerworld. pp. 1, 14. Retrieved 2023-03-10.
  17. ^ "E. German Businesses See Tough Times After Merger". Sun Sentinel. Retrieved 2015-07-03.
  18. ^ "efile History - Electronic Tax Filing in the United States". Retrieved 2012-12-13.
  19. ^ Ciarcia, Steve (May 1984). "Trump Card Part 1: Hardware". Byte. pp. 40–52, 54–55. Retrieved 2023-03-22.
  20. ^ Ciarcia, Steve (June 1984). "Trump Card Part 2: Software". Byte. pp. 115–122. Retrieved 2023-03-22.
  21. ^ Mackinlay, Bruce (November 1985). "The Zilog System 8000". UNIX/WORLD. pp. 56–57, 59–60, 64, 66–68. Retrieved 2023-03-10.
  22. ^ McEnaney, Maura (1985-11-18). "Zilog Unix-based system bows". Computerworld. p. 2. Retrieved 2023-03-10.
  23. ^ "Zilog: Synergic but Separate". UNIX Review. January 1986. pp. 91–92. Retrieved 2023-03-10.
  24. ^ "Zilog to make AT&T chip". Computerworld. 1986-05-19. p. 125. Retrieved 2023-03-10.
  25. ^ Bezroukov, Nikolai (2008-11-15). "XENIX—Microsoft's Short-lived Love Affair with Unix". Softpanorama. Retrieved 2009-07-16.
  26. ^ "Supershorts". Computerworld. 1982-11-01. p. 82. Retrieved 2023-03-10.
  27. ^ Corsini, Paolo; Lopriore, Lanfranco (June 1987). "The Architecture of a Capability-Based Microprocessor System". IEEE Micro. Vol. 7, no. 3. pp. 35–51. doi:10.1109/MM.1987.304982. Retrieved 2023-04-08.
  28. ^ "Z8000". TechEncyclopedia. TechWeb. Retrieved 2009-07-16.[permanent dead link]
  29. ^ Standard Central Air Data Computer (PDF). GEC Avionics. 1985.
  30. ^ "Z16C0110PSG and Z16C0210PSG End of Life (EOL) Notification" (PDF). Retrieved 2016-07-17.
  31. ^ a b c Hendrie, Gardner (2006). "Oral History of Federico Faggin" (PDF) (Interview). Computer History Museum. Retrieved 2017-01-24.
  32. ^ Faggin, Federico; Peuto, Bernard; Shima, Masatoshi; Ungermann, Ralph (2007-04-27). "Oral History Panel on the Development and Promotion of the Zilog Z8000 Microprocessor" (PDF) (Interview).
  33. ^ a b c d Gilbreath, Jim; Gilbreath, Gary (January 1983). "Eratosthenes Revisited: Once More through the Sieve". Byte. pp. 283–325.
  34. ^ Bayko, John (December 2003). "Zilog Z-8000, another direct competitor". Great Microprocessors of the Past and Present.
  35. ^ "Chip Hall of Fame: Intel 8088 Microprocessor". IEEE Spectrum. Institute of Electrical and Electronics Engineers. 2017-06-30. Retrieved 2020-06-19.
  36. ^ "Chip Hall of Fame: Motorola MC68000 Microprocessor". IEEE Spectrum. Institute of Electrical and Electronics Engineers. 2017-06-30. Retrieved 2019-06-19.
  37. ^ Nelson, Harold (May 1982). "Sweet Sixteen – Micros Come of Age". Microcomputing. pp. 36–38. Retrieved 2023-03-10.
  38. ^ "Zilog Z8000". Digital History: Time Line. old-computers.com. April 1979. Retrieved 2009-07-16.

Further reading

  • 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.

zilog, z8000, z8000, microprocessor, introduced, zilog, early, 1979, architecture, designed, bernard, peuto, while, logic, physical, implementation, done, masatoshi, shima, assisted, small, group, people, contrast, most, designs, z8000, microcode, which, allow. The Z8000 is a 16 bit microprocessor introduced by Zilog in early 1979 The architecture was designed by Bernard Peuto while the logic and physical implementation was done by Masatoshi Shima assisted by a small group of people In contrast to most designs of the era the Z8000 did not use microcode which allowed it to be implemented in only 17 500 transistors Zilog Z8000DesignerZilogBits16 bitsIntroduced1979 44 years ago 1979 DesignCISCTypeRegister MemoryBranchingCondition registerPredecessorZ80SuccessorZ80000Registers16 16 bit general purpose24 bit PC16 bit statusZilog Z8000Z8001 on the motherboard of an Olivetti M20 computerGeneral informationLaunched1979 44 years ago 1979 Designed byZilogPerformanceData width16 bitsAddress width23 bitsPhysical specificationsTransistors17 500Package s 48 pin DIP 8001 40 pin DIP 8002 The Z8000 is not Z80 compatible but it uses many of the well received design elements from the Z80 Among these is the ability for its registers to be combined and used as a single larger register while the Z80 allowed two 8 bit registers to be used as a single 16 bit register the Z8000 expanded this by allowing two 16 bit registers to operate as a 32 bit register or four to operate as a 64 bit register These combined registers are particularly useful for mathematical operations Although it saw some use in the early 1980s it was never as popular as the Z80 It was released after the 16 bit Intel 8086 April 1978 and the same time as the less expensive Intel 8088 and only months before the Motorola 68000 September 1979 which had a 32 bit instruction set architecture and was roughly twice as fast The Zilog Z80000 was a 32 bit follow on design launched in 1986 Contents 1 Versions 2 Architecture 2 1 Registers 2 2 Memory handling 2 3 Other features 3 Z8000 CPU based systems 4 Limited success 5 Second sources 6 References 7 Further readingVersions EditThe Z8000 initially shipped in two versions the Z8001 with a full 23 bit external address bus to allow it to access up to 8 megabytes of memory and the Z8002 which supported only 16 bit addressing to allow 64 kilobytes of memory This allowed the Z8002 to have eight fewer pins shipping in a smaller 40 pin DIP format that made it less expensive to implement The series was later expanded to include the Z8003 and Z8004 updated versions of the Z8001 and Z8002 respectively These versions were designed to provide improved support for virtual memory adding new status registers to indicate segmentation faults test and set and provide an abort capability Architecture EditZ8001 registers 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 bit position GroupingMain registers 16 bit 32 bit 64 bitRH0 RL0 R0 RR0 RQ0RH1 RL1 R1RH2 RL2 R2 RR2RH3 RL3 R3RH4 RL4 R4 RR4 RQ4RH5 RL5 R5RH6 RL6 R6 RR6RH7 RL7 R7 R8 RR8 RQ8 R9 R10 RR10 R11 R12 RR12 RQ12 R13Stack Pointer Segment R14 RR14Stack Pointer Offset R15Status registerS SN E V M C Z S PO D H FlagsProgram counter0 Segment 0 0 0 0 0 0 0 0 Program CounterAddressRegisters Edit There are sixteen 16 bit registers labeled R0 through R15 The registers can be concatenated into eight 32 bit registers labeled RR0 RR2 RR14 or into four 64 bit registers labeled RQ0 RQ4 RQ8 RQ12 The first eight registers can be also subdivided into sixteen 8 bit registers labeled RL0 though RL7 for the lower byte and RH0 through RH7 for the upper high byte Register R15 is designated as stack pointer On the Z8001 register R14 is used to include a fixed segment in the stack pointer and the program counter is expanded to 32 bits to include a similar segment There is 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 Having separate modes and stacks greatly adds to the performance of context switches between user programs and an operating system 1 6 1 Die of Zilog Z8002Memory handling Edit Like the Z80 before it the Z8000 includes a system to automatically refresh dynamic RAM In most systems this is normally handled by the video display controller or external logic This was implemented via a separate Refresh Counter RC register that held the currently updating page of memory The feature is turned on by setting the most significant bit of the RC bit 15 to 1 The following six bits 14 through 9 are a rate measured in terms of every 4th clock cycle With a standard 4 MHz clock that allows the refresh to be called every 1 to 64 microseconds The remaining 8 bits select a row in memory to refresh 1 6 5 6 28 The Z8000 has a segmented memory map with a 7 bit segment number and a 16 bit offset Both numbers are represented by pins on the Z8001 meaning that it can directly address a 23 bit memory or 8 MB 1 6 19 Instructions can only directly access a 16 bit offset This allows 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 need only a single 16 bit read which is then added to a segment number to produce the complete address The segment number only needs to be updated when the data crosses the 16 bit 64 KB boundaries 1 6 3 Internally addresses are all 32 bits an upper 16 bit word with a leading 0 in bit 15 the 7 bit segment number and then 8 zeros This requires more memory to store as each 23 bit address uses up 32 bits of register space but allows the addresses to be cleanly stored in the 16 bit registers and can be more easily pushed and popped from the stack which occurs in 16 bit words 1 6 6 The optional 48 pin Z8010 memory management unit MMU expands the memory map to 16 MB by translating the 23 bit address from the CPU to a 24 bit one Internally it holds a list of 64 segments and an 8 bit pointer to the physical location of that segment in RAM When the CPU attempts to access a particular segment the Z8010 translates that into an 8 bit address on the address bus and then passed the 16 bit offset on unchanged This allows multiple programs to be spread out in physical RAM each given its own space to work in while believing it is accessing the entire 8 MB of RAM The segments are 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 are needed multiple Z8010s can 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 Other features Edit One uncommon feature found on the Z8000 more commonly associated with minicomputers is direct support for vectored interrupts Interrupts are used by external devices to notify the processor that some condition has been met a common use is to indicate that data from a slow process like reading a floppy disk is now available and the CPU can read the data into memory Normally on small machines an interrupt causes special code to run that examines various status bits and memory locations to decide what device actually called the interrupt and why In some designs especially those intended for realtime computing an area of memory is set aside as a set of pointers or vectors to the code handling a particular device The devices causing the interrupt then set some state typically via pins on the CPU to indicate a particular interrupt number N When the interrupt is called the CPU immediately jumps through Nth entry in the table avoiding any need to decode the interrupt This can greatly speed up the interrupt servicing by avoiding having to run additional operations while also simplifying the interrupt handling code In the Z8000 a new register supports vectors the New Program Status Area Pointer This was similar to a memory address in a register consisting of two 16 bit values with the upper 16 bits holding the segment number The lower 16 bits are then divided in half the upper 8 bit containing an offset and the lower 8 bits empty To call a particular vector the external device presents the lower 8 bits or 9 in some cases on the address bus and the complete vector address is constructed from the three values 1 6 8 Z8000 CPU based systems EditIn 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 RS 232 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 1980 C8002 made by Onyx Systems used the Z8002 ran Version 7 Unix had C FORTRAN 77 and COBOL compilers available It had eight serial ports for terminal connections 1 QIC tape drive and cost 25k The main processor offloaded the disk tape and serial I O operations to a Z80 processor on a second board 4 1981 Zilog Systems Z Lab 8000 Programmer s Development System available as a Model 20 system with 256 KB of RAM and single 24 MB hard drive priced at 27 000 or a Model 30 system with 512 KB of RAM and dual hard drives priced at 33 950 ran the Zeus enhanced version of Unix from Zilog 5 Zilog followed up with the Series 8000 a multi user business system that like the Z Lab 8000 was based on the 6 MHz Z8001A with three Z8010A memory management units 6 1981 1982 Plexus Industries P 40 employed an Z8000 based processor along with a number of peripheral controllers designed to maximise data transfer performance claiming direct memory access throughput of up to 3 MB per second A typical eight user P 40 configuration with 512 KB of RAM and 72 MB hard drive cost 49 500 with a Unix licence costing 5 000 extra 7 Plexus followed up with the P 25 in 1982 claiming similar performance to a PDP 11 70 system 8 A later Plexus model the P 60 employed the Z8000 as an input output controller but introduced the Motorola 68000 as the main CPU 9 The Plexus P 35 retained this general architecture 10 1982 Olivetti M20 a non IBM compatible PC that ran Olivetti PCOS a derivative of COSMOS or CP M 8000 11 1982 1983 C5002A C8002A and Sundance 16 from Onyx Systems used the Z8001 and ran Unix System III 12 13 1983 Zilog Systems 8000 Series Two featured a faster 11 1 MHz Z8001B processor with 32 KB of cache memory available in three models with 512 KB of RAM expandable to 2 MB in the base model and 4 MB in the other models with prices for minimal configurations ranging from 19 950 to 29 950 These systems ran Unix System III 14 1983 Exxon Office Systems 500 series and 8400 series 15 16 1980 1986 Olivetti Linea 1 S1000 S6000 M30 M40 M50 M60 M70 These minicomputers from Olivetti all ran BCOS COSMOS 11 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 17 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 18 The Z8000 featured in Steve Ciarcia s Trump Card project for his Circuit Cellar column in Byte magazine providing an expansion card with the Z8001 processor and 512 KB of RAM suitable for use with an IBM compatible PC 19 Compilers for BASIC and C were supplied with the board along with an assembler and a Z80 emulator that could run programs written for CP M 80 It was envisaged that Unix would also be made available for the Trump Card 20 Despite a somewhat positive reception as a reasonably fast supermicro with generally good performance for the price the 16 bit architectural limitations of the Z8000 with segment handling required to access more than 64 KB in a process led to questions about the longevity of the Series 8000 products as 32 bit processor architectures from Motorola and National Semiconductor became more widely adopted 21 Zilog Systems eventually adopted AT amp T s 32 bit WE32100 processor introducing it in a new product the System 8000 32 alongside 32 bit upgrades to its existing System 8000 Series 2 models This enabled the introduction of Unix System V on Zilog Systems products 22 The adoption by Zilog s Systems Division of the WE32100 in preference to the continued use of products from Zilog s Component Division was driven by diverging requirements Zilog sought to introduce its 32 bit successor to the Z8000 the Z80000 to build on successful adoption of the 16 bit product in military and graphical applications whereas its Systems Division prioritised Unix support and commercial applications The conclusion was reached to adopt the WE32100 as the premier UNIX chip 23 Zilog subsequently announced an agreement to manufacture the WE32100 chipset for a five year period being the first alternative source of these products 24 There was a Z8000 version of the Xenix Operating System 25 In 1982 Digital Research and Zilog announced an agreement to make CP M available for the Z8000 26 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 In one instance the Z8001 was used to implement a capability based architecture employing the segment number in the addressing model of the Z8001 to indicate a capability register in a virtual processor Such virtual processors were provided through the augmentation of the Z8001 with an intelligent memory device this providing memory management and context switching facilities with additional capability related instructions being supported through emulation 27 The reported inclusion of the device within military designs 28 perhaps provides an explanation for the continued survival of the Z8000 until recently in the shape of the Zilog Z16C01 02 CPUs Also the Standard Central Air Data Computer SCADC was utilizing the Z8002 29 The end of life notice from Zilog was sent in 2012 30 Limited success EditThis section possibly contains original research Please improve it by verifying the claims made and adding inline citations Statements consisting only of original research should be removed February 2023 Learn how and when to remove this template message While the Z8000 did see some use in the early 1980s it was passed over for other designs relatively quickly 31 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 suggested that IBM thus saw Zilog as a competitor and refused to consider the Z8000 as a result 31 However Faggin did concede that the segmented architecture of the Z8000 was a disadvantage for emerging graphics based applications where systems such as the Apple Macintosh needed to readily access more than 64 KB of memory in a single address space The longer than anticipated process of bringing the product to market was also acknowledged as having contributed to its lack of adoption Faggin noting that being first and having the strongest marketing and the strongest momentum as Intel had found itself with the 8086 would have been the only remaining route to success for a product of this kind 32 An examination of the choices available to designers in the early 1980s suggests there are several 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 33 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 33 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 33 better source needed 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 33 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 31 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 the transistor count to 17 500 34 In contrast the contemporary Intel 8088 used 29 000 transistors 35 while the Motorola 68000 of a few months later used 68 000 36 Second sources EditSeveral third parties manufactured the Z8000 including AMD 37 SGS Ates Toshiba and Sharp 38 Zilog Z8000 second sources AMD Z8002APC VEB Mikroelektronik Karl Marx Erfurt MME UB8001C Sharp LH8002PReferences Edit a b c d e f Abramovitz Bob Enger Janice Ingraham Curtis Jacobson Susanna McGuire Patrick 1981 Osborne 16 Bit Microprocessor Handbook Osborne McGraw Hill ISBN 0 931988 43 8 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 OHP 2010 Z8000 p 20 Eisenbach Sue March 1981 Onyx C8002 Personal Computer World pp 52 53 55 57 Retrieved 2023 02 26 Z8000 Development System Runs Under Unix Computerworld 1981 03 16 p 50 Retrieved 2023 03 10 Version of Z Lab 8000 Handles Multiple Users Computer Business News 1981 09 07 p 10 Retrieved 2023 03 13 Beeler Jeffry 1981 09 28 New Firm Has Mini Custom Made for Unix Computerworld p 5 Retrieved 2023 03 10 Plexus Unveils 16 Bit Multiprocessor Mini Computerworld 1982 04 05 p 69 Retrieved 2023 03 10 Benetics Offers Micro Based Turnkey System Computerworld 1983 10 10 p 77 Retrieved 2023 03 10 Mackinlay Bruce April 1983 The Plexus Challenge Reviewing the P 35 UNIX WORLD pp 84 90 Retrieved 2023 03 10 a b Kranenborg Jurjen Elvey Dwight K Groessler Christian The Z8000 Z80 000 Z16C00 CPU homepage Retrieved 2009 07 16 C5002A C8002A Series Product Description Onyx Systems Inc February 1983 Retrieved 2023 03 03 Sundance 16 Product Description Onyx Systems Inc October 1982 Retrieved 2023 03 02 Sullivan Kathleen 1984 09 10 Zilog introduces Unix based multiuser computer systems Computerworld p 101 Retrieved 2023 03 10 Rifkin Glenn 1984 08 15 The Future Or the Shock Computerworld pp 21 22 24 Retrieved 2023 03 10 Hoard Bruce 1983 02 28 HP DG Sign Pacts With PBX Makers Computerworld pp 1 14 Retrieved 2023 03 10 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 Ciarcia Steve May 1984 Trump Card Part 1 Hardware Byte pp 40 52 54 55 Retrieved 2023 03 22 Ciarcia Steve June 1984 Trump Card Part 2 Software Byte pp 115 122 Retrieved 2023 03 22 Mackinlay Bruce November 1985 The Zilog System 8000 UNIX WORLD pp 56 57 59 60 64 66 68 Retrieved 2023 03 10 McEnaney Maura 1985 11 18 Zilog Unix based system bows Computerworld p 2 Retrieved 2023 03 10 Zilog Synergic but Separate UNIX Review January 1986 pp 91 92 Retrieved 2023 03 10 Zilog to make AT amp T chip Computerworld 1986 05 19 p 125 Retrieved 2023 03 10 Bezroukov Nikolai 2008 11 15 XENIX Microsoft s Short lived Love Affair with Unix Softpanorama Retrieved 2009 07 16 Supershorts Computerworld 1982 11 01 p 82 Retrieved 2023 03 10 Corsini Paolo Lopriore Lanfranco June 1987 The Architecture of a Capability Based Microprocessor System IEEE Micro Vol 7 no 3 pp 35 51 doi 10 1109 MM 1987 304982 Retrieved 2023 04 08 Z8000 TechEncyclopedia TechWeb Retrieved 2009 07 16 permanent dead link 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 Hendrie Gardner 2006 Oral History of Federico Faggin PDF Interview Computer History Museum Retrieved 2017 01 24 Faggin Federico Peuto Bernard Shima Masatoshi Ungermann Ralph 2007 04 27 Oral History Panel on the Development and Promotion of the Zilog Z8000 Microprocessor PDF Interview 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 Nelson Harold May 1982 Sweet Sixteen Micros Come of Age Microcomputing pp 36 38 Retrieved 2023 03 10 Zilog Z8000 Digital History Time Line old computers com April 1979 Retrieved 2009 07 16 Further reading EditZilog 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 Retrieved from https en wikipedia org w index php title Zilog Z8000 amp oldid 1168422497, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.