206 28
ZILOG 28
The Z8, developed by Zilog, is perhaps the most
sophisticated of the S-bit single-chip microcomputers
currently available. It is fabricated using the nMOS
process, Although most of the other manufacturers have
based the design of their single-chip microcomputers on
that of one of the other microprocessors in their product,
range, Zilog chose a completely new design for both
internal architecture and instruction set for their Z8.
‘Thus the Z8 is different from both the Z80 and the larger
16-bit 28000. However, it ends to adopt a similar basic
design philosophy to the 28000, with a large bank of
general purpose registers in the CPU section and a
simple, yet very flexible, instruction set
‘AS with other 8-bit microcomputer devices the 28 has
‘mask programmed ROM and asmall amount of RAM
on the chip, as well asa counter/timer and various input
‘output ports. Since the ROM is mask programmed the
ZB is ideally suited to those dedicated applications
‘where complex processing is required, with a medium to
high volume production. There is, however, a version of
the Z8 which carries a piggyback socket for use with a
2716 type UV erascable PROM. It is useful for system
development or for small production runs.
‘When compared with other types of 8-bit micro-
computer the 28 has some similarities to the 1804 with
its register file, but does provide much more flexibility
The possibility of selecting many different ban!
registers within the on-chip RAM is similar to the
scheme adopted by the Texas 9980, although the latter is
basically a 16-bit microprocessor. A feature of the 78
not found in some other single-chip microcomputers is
that it can readily be expanded to use large external
‘memories for both program and data storage.
Prime manufacturer
Zilog Ine
Devices available
78600 2k ROM, 144 byte RAM
Z96CO0_ CMOS 8600
Z8601_ 2k ROM, 144 byte RAM
Z86CO8 2k ROM, Id] byte RAM, CMOS
Z86C10_ 4k ROM, 144 byte RAM, CMOS
Z86C11 4k ROM, 144 byte RAM, CMOS
296C20_8k ROM, 256 byte RAM, CMOS
Z86C21 8k ROM, 256 byte RAM, CMOS
‘Z86E21 8621 with OTP PROM
78671 BASIC and debug in ROM
Z8681_— ROMiess version
Z8601 ROMless version
Z96C91_ CMOS version of 8691
‘Z86E21_ 4k EPROM version of 8621
Alternative source devices
SGS~Thompson
8600
Zs001
Za610
Zs611
79620
106
2k ROM, 144 bytes RAM
2k ROM, 144 bytes RAM
4k ROM, 144 bytes RAM
4k ROM, 144 bytes RAM
8k ROM, 256 bytes RAM
Z8621 8k ROM, 256 bytes RAM
28671 BASIC and debug in ROM
Z8681_— ROMless version
ZS6R91_ ROMless version
Z86EI1_ 4k EPROM version of 8611
‘Z86E21 4k EPROM version of 8621
Architecture
As will be seen from fig. 3.18 a central feature of the Z8
isa bank of 124 general purpose registers which may be
used in groups of 16 at a time as the CPU registers. A
‘workspace pointer register (WP) is used to select a par-
ticular bank of 16 registers from the 124 for use by the
CPU. This scheme is similar to that used in the Texas
‘9980, although the Z8 does use a separate stack pointer
register in the CPU itself, Any of the l6sclected working,
registers may be used as an accumulator or index register
as well as for general data storage. The 124-register bank
‘may include a stack area. Registers within the selected.
‘group of 16 may be addressed directly, whereas others
are simply treated as RAM.
A 16-bit program counter register (PC) permits access
to up to 65 kbyte of memory, of which 2k is on-chip
ROM and 63k may be external ROM. When external
memory is used the ROM address is fed out via ports 0
and 1, whilst the data come out on port [ multiplexed
with part of the address signal, The Z8 uses separate
program and data memory spaces which may use the
same address code but are identified by output control
lines. Thus the Z8 can also address up to 65 kbyte of data
memory as well as 65 kbyte of program space.
‘There are 128 bytes of RAM on the Z8 chip. Of these
the first four bytes are used for input-output port
registers, and the remainder are general purpose
registers or data storage locations. External RAM is
addressed via ports 0 and 1, with data multiplexed via
port
Pete
er LL»
[ cle
| RAM
rene
TIMERS
gee ait
jie oe a]
yr t tt
Fig. 3.18Two fully programmable 8-bit counter/timers. are
provided on the 28 chip. Each of them has a fully
programmable 6-bit prescaler counter.
Four input-output ports are provided and these may
be programmed in various ways to give byte, nibble and
single-bit outputs or inputs, A full duplex asynchronous
serial channel is also provided for input-output.
The Z8 chip has an on-chip clock generator and also
has internally generated timing circuits forthe serial /O
channel
Package
Z8600
Z8601
Z8610 28-pin DIL
Z8611 40-pin DIL or 44-pin PLCC
28620 28-pin DIL
28621 40-pin DIL or 44-pin PLCC
Zs671 40-pin DIL
Z8681 40-pin DIL or 44-pin PLCC
78691 40-pin DIL or 44-pin PLOC
Pin connections
Z8601 Basic MCU
1 Vee 21 PLO
2 XTAL2 2 PL
3 XTALI 3 PLD
4 P37 2 PLS
5 P30 25 PI
6 RESET 26 PLS
7 RW 27 PL6
8 DS 28 PIT
9 aS 29 PR
10 PRS 30 P33
I Ve 31 P20
12 P32 3 PR
13 POO 33 P22
14 PO 3 P23
15 POD 35 Pod
16 P03 36 PRS
17 POt 37 P26
18 POS 38 P27
19 P06 39 PBL
20 PO-7 40 PE
Pin functions
AO-ALL Address outputs to external ROM
0-7 Data inputs from external ROM
PO.0t0POT — Port 01/0
PLOtoPIT — Port 11/0.
P2.0t0P27 Port 21/0
P3.010P37 Port 31/0
XTALI, XTAL2_ Clock timing pins for external
crystal
RESET Reset input (active low)
RW Read-write output (write low)
Ds Data strobe output (active low)
AS ‘Address strobe output (active
ow)
Ves Vos Power supply inputs
TACK’ Interrupt acknowledge output
SYNC Sync. output (active low)
SCLK Serial 1/0 clock output
21L0G z=
Power requirements
Voc $5. VES%
Va OV
‘emperature range
OC to +70°C
Input-output
‘The Z8 provides a total of 32 input-output lines grouped
into 4 ports. All signals to and from the Z8 chip are
compatible with TTL, and outputs will enerally drive
‘one TTL load. Each of the ports is programmable and
three of them may be used in different modes to carry
address or control information when not being used as
an input-output data channel
Port 0 is an §-bit bidirectional port which may be set
up as two 4-bit ports or asa single 8-bit port. When the
AS output is active this port carries 8 bits of address for
selection of external ROM expansion or for external
data RAM.
Port 1 isan &-bit bidirectional port which can be set up
for either input oF output of data in bytes. This port is
algo used to carry § bits of the address output when the
AS strobe output is active. When the DS strobe is active
the port becomes a data bus for input or output of data to
the external ROM or RAM.
Port 2 consists of 8 separate individually programmed
lines which may be set up for either input or output as
desired. This port may be set up for nibble or byte wide
data or as separate signal ines. Ithas no other functions
Port3 consists of a4-line input port and ad-line output
port and is not programmable. It carries the full duplex
Serial input-output data and its associated handshake
signals. The 4 input lines may alternatively be used for
interrupt inputs. There is also provision for using the
output lines to carry status information. The Z8
maintains separate address spaces for program and data
(ROM and RAM) and one of the output lines of port 3
may be used to indicate to the external expansion
‘memory whether the address being output is a program
address or a data memory address. The timer input
‘output signals also pass through port 3.
Although the input-output port functions are flexible
not all ofthese functions can be used simultaneously
Interrupt facilities
Four external interrupt lines are provided through port
3, and there are also interrupts for both the counter/
timer and the asynchronous serial input-output channel.
Al interrupts are vectored to their individual service
routines and a priority system is built into the ZS.
Instruction set
At first glance the instruction set of the Z8 seems
deceptively simple, since there are only some 40 basic
instructions. However, each of these is very flexible
‘giving a wide range of operations. In practice the
structions are similar to those provided on the more
modern 16-bit microprocessors which also have
relatively simple looking instruction sets
10721L0G 28
Arithmetic and logic
The Z8 provides both addition and subtraction, either
ith or without a carry. A decimal adjust facility is
included for use with binary coded numbers.
Logical operations provided in the 78 are AND, OR
and EXCLUSIVE-OR. There are also instructions for
left and right shift or rotate operations. Data in the
registers may also be incremented, decremented, com-
plemented and compared.
Allarithmetic and logic operations may be carried out
‘on any of the 16 general purpose registers selected by the
workspace register pointer.
Data transfers
‘A very wide range of data manipulation instructions
be used with the workspace registers and with other
registers in the on-chip RAM area. Data transfers to
external memory are not so versatile, since data have to
be transferred through the use of the input-output ports
acting as address and data buses.
Data can be manipulated as bytes, nibbles or in-
dividual bits as desired. Nibbles within registers may be
swapped and there are facilities for moving blocks of
data, Stacks can be set up within the 124-register array
‘on the chip, and may be used for either data or address
and status storage for subroutines and interrupts.
‘Any of the on-chip registers may be used for indexing
and there are facilities for auto-incremented indexing.
Branch and jump
There are several conditional branch operations
available in the Z8, as well as unconditional jumps.
‘There is also a call instruction for subroutines.
Addressing modes
The Z8 provides immediate, direct, indexed, relative,
register direct and register indirect modes of addressing,
Ti
ing
‘The Z8 contains an on-chip clock generator which may
use a crystal, RC network or LC network for timing.
Alternatively an external clock signal may be used. The
maximum frequency for the clock is 8 MHz, but the
internal clock rate for the CPU is 4 MHz.
Using an 8 MHz crystal the typical execution time for
instructions is some 1.5-2.5 ys.
The serial input-output channel can operate at up to
62500 b.p.s. and timing is derived internally.
‘Support chips
Normally the Z8 will operate as a stand alone computer,
but various types of peripheral chip such as those for the
Z80 may be employed if desired. In fact some of the
peripheral devices for use with the Z80 are versions of
the Z8.