Sinclair ZX Spectrum Service Manual 
Spectrum For Everyone  https://spectrumforeveryone.com/ 
8 
 
1.2 ARCHITECTURE 
The  architecture  of  the  Spectrum  shown  above  is  typical  of  many  microcomputer  systems  in  that  it 
comprises a single microprocessor board (in this instance a Z80A or u780 CPU), a read only memory (ROM), 
an expandable RAM memory and an input/output section handling the keyboard, tape and TV display 
functions. The latter is recognisable as the logic gate array (ULA) and the three functional blocks shown in 
the right of the diagram. 
The computer is built on a single printed circuit board which also includes a regulated power supply fed 
from an external 9V power pack. The keyboard matrix is part of the upper case assembly and is connected 
to the board via two ribbon cables KB1 and KB2. A description of each section follows. 
1.3 Z80A CPU 
The Z80A is an 8-bit single-IC central processing unit (CPU). It is clocked at 14.0 MHz from an external 
source controlled by the logic gate array (ULA) and has a standard three bus input/output arrangement. 
These buses are the Data Bus, Address Bus and Control Bus respectively. 
1.3.1 Data Bus 
D7-D10 constitutes an 8-bit bi-directional data bus with active high, tri-state input/outputs. It is used for 
data exchanges with the memory and with the ULA. 
1.3.2 Address Bus 
A15-A0 constitutes a 16-bit address bus with active high, tri-state outputs. The address bus provides the 
address for memory (up to 64k bytes) data exchanges and for data exchanges with the ULA. It is also used 
during the interrupt routine when scanning the keyboard matrix. 
1.3.3 Control Bus 
The control bus is a collection of individual signals which generally organise the flow of data on the address 
and data buses. The block diagram only shows five of these signals although others of minor importance 
are made available at the expansion port. 
Starting with memory request (MREQ), this signal is active low indicating when the address bus holds a 
valid address for a memory read or memory write operation. Input/Output request (IORQ) is also active 
low but indicates when the lower half of the address bus holds a valid I/O address for the ULA during I/O 
read/write operations. 
The read and write signals (RD and WR) are active low, and one or other is active indicating that the CPU 
wants to read or write data to a memory location or I/O device. All the control signals discussed so far are 
active low, tri-state outputs. 
The  last  control  signal  described  here  is  the  maskable  interrupt  (INT).  This  input  is  active  low  and  is 
generated by the ULA once every 20ms. Each time it is received the CPU `calls` the `maskable interrupt` 
routine during which the real-time is incremented and the keyboard is scanned.