home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpm / gendoc / z800more.dqc / Z800MORE.DOC
Encoding:
Text File  |  1985-05-17  |  7.4 KB  |  176 lines

  1. Date: Thursday, 16 May 1985  07:29-MDT
  2. From: Jeff Skot
  3. Re:   Z800 preliminary specs
  4.  
  5. There is much talk about the Z800.  I thought that I'd inject some
  6. facts straight from Zilog to substanciate the excitement.
  7.  
  8. The following is taken from the
  9. "Z800 MPU Family Preliminary Product Specification" September 1983
  10. 00-2259-01
  11. from    Zilog, Inc
  12.     1315 Dell Ave
  13.     Campbell, California 95008
  14.  
  15.     (408) 370-8000
  16.     TWX 910-338-7621
  17.  
  18. FEATURES:
  19. . enhanced Z80 instruction set that maintains object-code compatability
  20.     with Z80 microprocessor
  21. . on-chip paged Memory Management Unit (MMU)
  22. . large memory address space: 512K and 16M byte versions
  23. . On-chip, high speed local or cache memory
  24. . high performance 16 bit Z-BUS interface or 8-bit Z80-compatible bus interface
  25. . four on-chip 16 bit counter/timers
  26. . four on-chip DMA channels
  27. . On-chip full duplex UART
  28. . 10-25 MHz CPU processor clock
  29.  
  30. chip #    # pins    data path    address space    on-chip peripherals
  31. Z8108    40    8 bits        512 K        no
  32. Z8116    40    16 bits        512 K        no
  33. Z8208    64    8 bits        16 M        yes (there are enough pins
  34. Z8216    64    1 bits        16 M        yes  left on the package)
  35.  
  36. Central to the Z800 microprocessor is an enhanced version of the Z80 CPU.
  37. To assure system integrity, the Z800 microprocessor can operate in either user
  38. or system mode, allowing protection of system resources from user tasks
  39. and programs.  System mode operation is supported by the addition of the
  40. system Stack Pointer to the working register set.
  41.  
  42. I/O address space has been expanded by the addition of an I/O page register
  43. used to select pages of I/O addresses.  The 8 bit I/O Page register can
  44. select one of 256 possible pages of I/O addresses to be active at one
  45. time, allowing a total of 64K I/O addresses to be accessed.
  46. [ The I/O instructions are still using 8 bit addresses so this
  47. register is appended to form a 16 bit I/O address ]
  48.  
  49. There are 256 bytes of on-chip memory present on all members of the Z800
  50. family.  This memory can be configured as a high speed cache or as a
  51. fixed address local memory.  When configured as cache, the memory can be
  52. programmed to be instruction only, data only, or both data and instructions.
  53. The cache memory allows programs to run significantly faster by reducing
  54. the number of external bus accesses.  Operation and update of the cache
  55. is performed automatically and is completely transparent to the user.
  56. When used as a local memory, the addresses are programmable, allowing
  57. "RAMless" systems to be used.
  58.  
  59. All members of the Z800 family contain an on-chip clock oscillator.  Also
  60. present is a refresh controller that provides 10 bit refresh addresses for
  61. dynamic memories.
  62.  
  63. The 64 pin versions of the Z800 MPU contain additional on-chip peripherals
  64. to provide system design flexibility.  To support high-bandwidth data
  65. transmission, four DMA channels are incorporated on-chip.  Each DMA
  66. channel operates using fill 24 bit source and destination addresses with
  67. a 16 bit count.  The channels can be programmed to operate in single
  68. transaction, burst, or continuous mode.  System event counting and timing
  69. requirements are met with the help of the four 16 bit counter/timers.
  70. The countdown/timer functions can be externally controlled with gate and
  71. trigger inputs, and can be programmed as retriggerable or nonretriggerable.
  72. Also, a full duplex UART, capable of handling a variety of data and
  73. character formats, is present to facilitate asynchronous serial communication.
  74.  
  75. An additional feature of the 16 bit bus interface is the ability to support
  76. "nibble-mode" dynamic RAMs.  Using this feature (known as burst-mode),
  77. the bus bandwidth of memory read transactions is essentially doubled.
  78. Burst mode transactions have the further benefit of allowing the cache
  79. to operate more efficiently by guaranteeing a high probability that the
  80. contents of the associated memory will be present in the cache.
  81.  
  82. The Z800 CPU architecture supports four distinct address spaces ...
  83. . CPU register space
  84. . CPU control and status register space
  85. . Memory address space
  86. . I/O address space
  87.  
  88. Status and control registers:
  89. There are ten status and control registers available to the programmer
  90. in the Z800 MPU.  Table 1 shows the addresses occupied by the
  91. registers in the status and control register addressing space:
  92.  control register name        address (hex)
  93.  ====================        ===========
  94.  Bus timing and Control        control 02
  95.  Bus timing and initialization    control FF
  96.  Cache control            control 12
  97.  Interrupt Status        control 16
  98.  Interrupt/Trap Vector Table    control 06
  99.  I/O Page Register        control 08
  100.  Local Address Register        control 14
  101.  Master Status (MSR)        control 00
  102.  Stack Limit            control 04
  103.  Trap Control            control 10
  104.  
  105. Interrupt/Trap Vector Table:
  106. The format of the Interrupt/Trap Vector Table consists of pairs of
  107. Master Status register and Program Counter words, one pair for each seperate
  108. on-chip interrupt or trap source.  For each external interrupt, there is a
  109. separate Master Status register word and Program Counter word (for use if
  110. the input is not vectored).  If the external interrupt is vectored, a vector
  111. table consisting of one Program Counter word for each of the 128 possible
  112. vectors that can be returned for each input line is used instead of the
  113. dedicated Program Counter word; thus for vectored interrupts, there is only
  114. one Master Status register for each interrupt type.
  115.  
  116.     INTERRUPT/TRAP VECTOR TABLE
  117. address        contents
  118. =======        ========
  119. 00    unused
  120. 04    NMI Vector
  121. 08    Interrupt Line A Vector (End of Process)
  122. 0C    Interrupt Line B Vector
  123. 10    Interrupt Line C Vector
  124. 14    C-T0
  125. 18    C-T1
  126. 1C    C-T2
  127. 20    C-T3
  128. 24    DMA0 Vector
  129. 28    DMA1 Vector
  130. 2C    DMA2 Vector
  131. 30    DMA3 Vector
  132. 34    UART Receiver Vector
  133. 38    UART Transmitter Vector
  134. 3C    Single-Step Trap Vector
  135. 40    Breakpoint-on-Halt Trap Vector
  136. 44    Division Exception Trap Vector
  137. 48    Stack Overflow Warning Trap Vector
  138. 4C    Page Fault Trap Vector
  139. 50    System Call Trap Vector
  140. 54    Priviledged Instruction Trap Vector
  141. 58    EPU <- Memory Trap Vector
  142. 5C    Memory <- EPU Trap Vector
  143. 60    A <- EPU Trap Vector
  144. 64    EPU Internal Operation Trap Vector
  145. 68 - 6C    reserved
  146. 70-16E    128 Program Counters for MNI and Interrupt line A Vectors
  147.     (MSR from 04 and 08, respectively)
  148. 170-26E    128 Program Counters for Interrupt Line B Vectors
  149.     (MSR from 0C)
  150. 270-36E    128 Program Counters for Interrupt Line C Vectors
  151.     (MSR from 10)
  152.  
  153.  
  154. ***** my own observations *****
  155.  
  156. Despite the system/user modes, they still have 'primary' and 'auxillary'
  157. sets of registers.  The only register duplicated for system/user
  158. is the SP (Stack Pointer).  A whole other set of registers for system
  159. would've been nice.  The only way to switch register banks is with
  160. EX (exchange Accumulator/flag with alternate bank) and
  161. EXX (exchange byte/word registers with alternate bank).  I think
  162. this limits the use of the registers since it is easy to forget which
  163. is in use (there is no way to see which is in use or say 'use primary',
  164. only 'use other').  EX and EXX are NOT priviledged instructions so you
  165. cannot reserve their use for the system mode.
  166.  
  167. Priviledged instructions consist of the CPU controls, I/O and memory
  168. control.
  169.  
  170. It would be nice if this ever came to pass, but Zilog is busy with
  171. their Z80,000 32 bit processor so this takes a back seat.  Sigh.
  172.  
  173.             Jeff 'armed to the teeth in knowledge' Skot
  174.             at midtown Somerset, New Jersey
  175.             { ihnp4 | mcnc | cbosgb} abnji ! jeff
  176.