Microprocessor; Arithmetic Section - Xerox Alto I Hardware Manual

A personal computer system alto series
Table of Contents

Advertisement

Alto Hardware Manual
Section 2: Microprocessor
3
2.0 MICROPROCESSOR
This section describes the Alto microprocessor structure. If your programming needs on the Alto do not
extend to writing new microcode, this section is best left untackled. If you do need to decipher what
follows, it may be helpful to have a listing of the "standard" Alto microcode at your side.
The microprocessor is shown schematically in Figures 'I and 2. A principal design goal in this system
was to achieve the simplest structure adequate for the required tasks. As a result, the central portion of
the processor contains very little application-specific logic, and no specialized data paths. The entire
system is synchronous, with a clock interval of approximately 170 nsec. All microinstructions require one -
cycle for their execution.
A second design goal was to minimize the amount of hardware in the
liD
controllers. This is achieved
by doing most of the processing associated with
110
transfers with microprograms. To allow devices to
proceed in parallel with each other and with CPU activity, a control structure was devised which allows
the microprocessor to be shared among up to 16 fixed priority tasks. Switching among tasks requires
very little overhead, and occurs typically every few microseconds.
2.1 Arithmetic Section
The arithmetic section of the processor consists of two 32-word by 16-bit register files Rand S, and five
registers, T, L, M, MAR, and
IR,
The registers are connected to the memory and to an ALU with a 16-bit
parallel bus. For historical reasons, the sand M registers are viewed as part of the microinstruction
RAM
and are described in section 8.
The ALU is a sl\'74181 type, restricted so that it can do only 16 arithmetic and logical functions. The ALU
output feeds the L, M, and MAR registers. T may also be loaded from the ALU output under certain
conditions. L is connected to a shifter capable of left and right shifts by one place, and cycles of 8. It
has a mode in which it does the peculiar 17-bit shifts of the standard instruction set, and a mode which
allows double-length shifts to be done.
The IR register is used by the emulator to hold the current emulated instruction -- see section 3.5.
Attached to the bus is a 256-word read only memory (ROM) which holds arbitrary 16-bit constants.
The fields of the 32-bit microinstruction are:
FIELD
NAME
MEANING
0-4
RSELECT
R Register Select
5-8
ALUF
ALU Function
9-11
BS
Bus Data Source
12-15
Fl
Function 1
16-19
F2
Function 2
20
T
Load T
21
L
Load L
&
M
22-31
NEXT
Next microinstruction address (subject to modifiers)
When microprogramming the Alto, it is important to understand where the machine's state resides and
how it changes. At the beginning of a microinstruction cycle, the various registers (principally
T,
L, M,
and IR, but also various bits of state such as ALUCO) contain values that remain unchanged throughout
execution of the microinstruction.
During this time, the various non-state-retaining data paths and
elements, such as the bus, ALU, and shifter, compute results based entirely on the initial values of these

Advertisement

Table of Contents
loading

This manual is also suitable for:

Alto ii

Table of Contents