Constant Memory; Main Memory - Xerox Alto I Hardware Manual

A personal computer system alto series
Table of Contents

Advertisement

Alto Hardware Manual
Section 2: Microprocessor
6
5
6
7
ALUCY
MD<-
<-CONSTANT
NEXT<- NEXT OR ALUco. ALUCO is the carry produced by the ALU during
the most recent microinstruction that loaded
L.
It is
not
the carry
produced during execution of the microinstruction that contains the
ALUCY function.
Deliver BUS data to memory (see section 2.3)
Same as Fl=7
*Note that the value of the SHIFTER Ourpur is determined by the value of L as the
microinstruction
begins
execution and the shifter function (L LSH
1,
L RSH
1,
or L LCY
8)
specified during the
current
microinstruction (if no shifter function is specified, the shifter output
is equal to L).
2.2 Constant Memory
The constant memory is a 256 x 16 PROM that holds arbitrary constants. The constant memory is gated
to the bus by Fl=7, F2=7, or BS>4. The constant memory is addressed by the (8 bit) concatenation of
RSELECT and BS. The intent in enabling constants with Bs>4 is to provide a masking facility, particularly
for the <-MOUSE and <-DISP bus sources. This works because the processor bus ANDS if more than one
source is gated to it. Up to 32 such mask constants can be provided for each of the four bus sources
>4.
Alto I: Note that it is not possible to use a constant other than -1 with the
+-
MD bus source, because
memory parity is calculated on the bus, and a parity error will result if bits are masked off in a word
fetched from memory.
2.3 Main Memory
Main memory references are handled differently on Alto I and Alto II. It is, however, possible to write
most microcode so that it will operate correctly on both machines.
BASICS
Memory is addressed by a 16-bit number that refers to a 16-bit word in the memory.
Addresses 0
through 176777B are true memory storage locations; addresses 177000B through 177777B are used to
control
1/0
devices that are attached to the Alto memory bus.
Some operations on memory are
performed on "double-words."
The double-word beginning at location adr (adr is even) is a 32-bit
quantity equivalent to the 16-bit contents of location adr, together with the 16-bit contents of location
adr+
1.
(Double-word references operate correctly only on true memory locations, not on I/O device
locations.)
MEMORY REFERENCES
Alto I and Alto II: A memory reference is initiated by executing Fl = 1, MAR <-. The results of a read
operation are delivered somewhat later onto the bus with BS = 5, "MD.
A store into the addressed
memory location is achieved with F2=6, MD<-. The microprogram partially controls memory timing, and
must observe certain rules to insure correct operation.
a) A minimum of one microinstruction must intervene between the initiation of a memory
reference and an MD<- or <-MD.
b) On both Alto I and Alto II, memory cycles last a total of 5 micro-cycles, although double-
word operations may extend the memory cycle to take a total of 6 micro-cycles. Although
the exact details of memory timing differ on Alto I and Alto II, both machines share the
property that the processor will suspend execution of microinstructions if the memory

Advertisement

Table of Contents
loading

This manual is also suitable for:

Alto ii

Table of Contents