home *** CD-ROM | disk | FTP | other *** search
- Date: Thursday, 16 May 1985 07:29-MDT
- From: Jeff Skot
- Re: Z800 preliminary specs
-
- There is much talk about the Z800. I thought that I'd inject some
- facts straight from Zilog to substanciate the excitement.
-
- The following is taken from the
- "Z800 MPU Family Preliminary Product Specification" September 1983
- 00-2259-01
- from Zilog, Inc
- 1315 Dell Ave
- Campbell, California 95008
-
- (408) 370-8000
- TWX 910-338-7621
-
- FEATURES:
- . enhanced Z80 instruction set that maintains object-code compatability
- with Z80 microprocessor
- . on-chip paged Memory Management Unit (MMU)
- . large memory address space: 512K and 16M byte versions
- . On-chip, high speed local or cache memory
- . high performance 16 bit Z-BUS interface or 8-bit Z80-compatible bus interface
- . four on-chip 16 bit counter/timers
- . four on-chip DMA channels
- . On-chip full duplex UART
- . 10-25 MHz CPU processor clock
-
- chip # # pins data path address space on-chip peripherals
- Z8108 40 8 bits 512 K no
- Z8116 40 16 bits 512 K no
- Z8208 64 8 bits 16 M yes (there are enough pins
- Z8216 64 1 bits 16 M yes left on the package)
-
- Central to the Z800 microprocessor is an enhanced version of the Z80 CPU.
- To assure system integrity, the Z800 microprocessor can operate in either user
- or system mode, allowing protection of system resources from user tasks
- and programs. System mode operation is supported by the addition of the
- system Stack Pointer to the working register set.
-
- I/O address space has been expanded by the addition of an I/O page register
- used to select pages of I/O addresses. The 8 bit I/O Page register can
- select one of 256 possible pages of I/O addresses to be active at one
- time, allowing a total of 64K I/O addresses to be accessed.
- [ The I/O instructions are still using 8 bit addresses so this
- register is appended to form a 16 bit I/O address ]
-
- There are 256 bytes of on-chip memory present on all members of the Z800
- family. This memory can be configured as a high speed cache or as a
- fixed address local memory. When configured as cache, the memory can be
- programmed to be instruction only, data only, or both data and instructions.
- The cache memory allows programs to run significantly faster by reducing
- the number of external bus accesses. Operation and update of the cache
- is performed automatically and is completely transparent to the user.
- When used as a local memory, the addresses are programmable, allowing
- "RAMless" systems to be used.
-
- All members of the Z800 family contain an on-chip clock oscillator. Also
- present is a refresh controller that provides 10 bit refresh addresses for
- dynamic memories.
-
- The 64 pin versions of the Z800 MPU contain additional on-chip peripherals
- to provide system design flexibility. To support high-bandwidth data
- transmission, four DMA channels are incorporated on-chip. Each DMA
- channel operates using fill 24 bit source and destination addresses with
- a 16 bit count. The channels can be programmed to operate in single
- transaction, burst, or continuous mode. System event counting and timing
- requirements are met with the help of the four 16 bit counter/timers.
- The countdown/timer functions can be externally controlled with gate and
- trigger inputs, and can be programmed as retriggerable or nonretriggerable.
- Also, a full duplex UART, capable of handling a variety of data and
- character formats, is present to facilitate asynchronous serial communication.
-
- An additional feature of the 16 bit bus interface is the ability to support
- "nibble-mode" dynamic RAMs. Using this feature (known as burst-mode),
- the bus bandwidth of memory read transactions is essentially doubled.
- Burst mode transactions have the further benefit of allowing the cache
- to operate more efficiently by guaranteeing a high probability that the
- contents of the associated memory will be present in the cache.
-
- The Z800 CPU architecture supports four distinct address spaces ...
- . CPU register space
- . CPU control and status register space
- . Memory address space
- . I/O address space
-
- Status and control registers:
- There are ten status and control registers available to the programmer
- in the Z800 MPU. Table 1 shows the addresses occupied by the
- registers in the status and control register addressing space:
- control register name address (hex)
- ==================== ===========
- Bus timing and Control control 02
- Bus timing and initialization control FF
- Cache control control 12
- Interrupt Status control 16
- Interrupt/Trap Vector Table control 06
- I/O Page Register control 08
- Local Address Register control 14
- Master Status (MSR) control 00
- Stack Limit control 04
- Trap Control control 10
-
- Interrupt/Trap Vector Table:
- The format of the Interrupt/Trap Vector Table consists of pairs of
- Master Status register and Program Counter words, one pair for each seperate
- on-chip interrupt or trap source. For each external interrupt, there is a
- separate Master Status register word and Program Counter word (for use if
- the input is not vectored). If the external interrupt is vectored, a vector
- table consisting of one Program Counter word for each of the 128 possible
- vectors that can be returned for each input line is used instead of the
- dedicated Program Counter word; thus for vectored interrupts, there is only
- one Master Status register for each interrupt type.
-
- INTERRUPT/TRAP VECTOR TABLE
- address contents
- ======= ========
- 00 unused
- 04 NMI Vector
- 08 Interrupt Line A Vector (End of Process)
- 0C Interrupt Line B Vector
- 10 Interrupt Line C Vector
- 14 C-T0
- 18 C-T1
- 1C C-T2
- 20 C-T3
- 24 DMA0 Vector
- 28 DMA1 Vector
- 2C DMA2 Vector
- 30 DMA3 Vector
- 34 UART Receiver Vector
- 38 UART Transmitter Vector
- 3C Single-Step Trap Vector
- 40 Breakpoint-on-Halt Trap Vector
- 44 Division Exception Trap Vector
- 48 Stack Overflow Warning Trap Vector
- 4C Page Fault Trap Vector
- 50 System Call Trap Vector
- 54 Priviledged Instruction Trap Vector
- 58 EPU <- Memory Trap Vector
- 5C Memory <- EPU Trap Vector
- 60 A <- EPU Trap Vector
- 64 EPU Internal Operation Trap Vector
- 68 - 6C reserved
- 70-16E 128 Program Counters for MNI and Interrupt line A Vectors
- (MSR from 04 and 08, respectively)
- 170-26E 128 Program Counters for Interrupt Line B Vectors
- (MSR from 0C)
- 270-36E 128 Program Counters for Interrupt Line C Vectors
- (MSR from 10)
-
-
- ***** my own observations *****
-
- Despite the system/user modes, they still have 'primary' and 'auxillary'
- sets of registers. The only register duplicated for system/user
- is the SP (Stack Pointer). A whole other set of registers for system
- would've been nice. The only way to switch register banks is with
- EX (exchange Accumulator/flag with alternate bank) and
- EXX (exchange byte/word registers with alternate bank). I think
- this limits the use of the registers since it is easy to forget which
- is in use (there is no way to see which is in use or say 'use primary',
- only 'use other'). EX and EXX are NOT priviledged instructions so you
- cannot reserve their use for the system mode.
-
- Priviledged instructions consist of the CPU controls, I/O and memory
- control.
-
- It would be nice if this ever came to pass, but Zilog is busy with
- their Z80,000 32 bit processor so this takes a back seat. Sigh.
-
- Jeff 'armed to the teeth in knowledge' Skot
- at midtown Somerset, New Jersey
- { ihnp4 | mcnc | cbosgb} abnji ! jeff