Xerox Alto I Hardware Manual page 12

A personal computer system alto series
Table of Contents

Advertisement

Alto Hardware Manual
SUSPEND;
MD+-whatever;
. MD+-whatever;
Section 2: Microprocessor
MD+-whatever;
The Alto II memory buffering permits a double-word "exchange":
MAR+-ANY;
REQUIRED;
MD+-newcontents1;
MD+-newcontents2;
L+-MD;
T+-MD;
0idContents1 +-L, L+-T;
0ldContents2+-L;
address
address
address
address
=.
adr
=
adr XOR 1
=
adr
=
adr XOR 1
Microcode which uses the memory timings below will work on either vintage of Alto:
Simple fetch: (as Alto I).
Simple store: (as Alto II).
««(
Nota Bene
Double-word fetch: (as Alto I).
Double-word store/fetch: (as Alto II).
Others are not possible.
EXTENDED MEMORY
9
Main memory on Alto lIs can be optionally expanded to up to 256K words in 64K banks. Each task has
associated with it four extra bank bits which are presented to the memory along with the 16 bit addresses
generated by the task's microcode. Normal memory references are microcoded in the usual way and use
two of the bank bits to specify the task's normal bank.
Extended memory references are microcoded
slightly differently and use the two other bank bits to specify the task's alternate bank. Thus a task can
reference 64K very easily, another 64K with a little difficulty, and the other two 64K banks only after
loading its bank registers appropriately.
To signal that a memory reference should go to the alternate bank, the microinstruction which loads MAR
must also contain F2=6 (MD+-). The microassembler will generate this conbination of functions for a
clause whose left hand side is XMAR (i.e., XMAR+- address will generate an instruction with Fl=l and
F2=~
.
The bank registers appear as 16 words in the
liD
area which can be read and written. Location (177740B
+ N) is the bank register location for task N. Booting the Alto clears the registers to zeros making
all
references for all tasks go to bank zero, thus making the machine operate as a standard Alto without the
extended memory option.
Within a bank register, the layout is as follows:
BR[O-U]
BR[12-13]
BR[14-15] .
undefined
normal reference bank number
extended reference bank number
The highest 512 locations in each bank are not mapped by the bank registers and always refer to the
110
area. That means that location 177740B is the emulator's bank register regardless of what the referencing
task's bank register contains and regardless of whether it is referenced with a normal or an extended
memory reference.
No changes are necessary in order to run the display, disk, or Ethernet in different banks. The easiest
and least confusing way to do this is to load the bank registers for all concerned tasks (e.g. DVT, DHT and
DWT for the display, or KSEC and KWD for the disk) with some other bank number. Then the device is

Advertisement

Table of Contents
loading

This manual is also suitable for:

Alto ii

Table of Contents