07.01.2014 Views

The System Manual of SOL-20 - History of Computers

The System Manual of SOL-20 - History of Computers

The System Manual of SOL-20 - History of Computers

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

PROCESSOR TECHNOLOGY CORPORATION<br />

Sol THEORY OF OPERATION<br />

SECTION VIII<br />

Output data from the CPU that is channeled through the Parallel<br />

Port (PP) is latched from the Bidirectional Data Bus by the parallel<br />

strobe from the Address Page and I/O Port Decoder. This data<br />

is made available at P2, the PP connector. Parallel input data<br />

(PID0-7) on P2, however, is fed directly to the Data Input Multiplexer<br />

for entry into the CPU.<br />

As can be seen, keyboard data (KBD0-7) from J3 is also fed<br />

directly to the Data Input Multiplexer. <strong>The</strong> keyboard data ready<br />

flag, though, is input to the CPU on the internal data bus.<br />

<strong>The</strong> remaining internal source <strong>of</strong> data input to the CPU is<br />

the Sense Switch Logic, with the data being input on the Bidirectional<br />

Data Bus. This is an eight-switch Dual Inline Package (DIP)<br />

array that lets the CPU read an eight-bit word when it issues the<br />

sense switch strobe via the Address Page and I/O Port Decoder. <strong>The</strong><br />

sense switch data source is available to interact with the user's<br />

s<strong>of</strong>tware.<br />

CPU Support Logic accepts six control outputs from the CPU,<br />

status information from the CPU's data bus and control signals from<br />

the Control Bus. It controls traffic on the data buses by generating<br />

signals to 1) select the type <strong>of</strong> internal or external device<br />

(memory or I/O) that will have bus access and 2) assure that the device<br />

properly transfers data with the CPU.<br />

8.3.2 Typical <strong>System</strong> Operation<br />

Basic Sol system operation is as follows: <strong>The</strong> CPU fetches<br />

an instruction and in accordance with that instruction issues an<br />

activity command on the Control Bus, outputs a binary code on the<br />

Address Bus to identify the memory location or I/O device that is to<br />

be involved in the activity, sends or receives data on the data bus<br />

with the selected memory location or I/O device, and upon completion<br />

<strong>of</strong> the activity issues the next activity command.<br />

Let's now look at some typical operating sequences.<br />

Keyboard Data Entry and Display. Assume the "A" and SHIFT<br />

keys on the keyboard are pressed. <strong>The</strong> keyboard circuitry converts<br />

the key closures into the 7-bit ASCII (American Standard Code for<br />

Information Interchange) code for an "A" {1000001) and sends a keyboard-data-ready<br />

status signal to the CPU on the Internal Data Bus.<br />

<strong>The</strong> monitor program in ROM repetitively "looks" for the status<br />

signal. When it finds this signal the program enters its keyboard<br />

routine and enables the transfer by switching the Data Input Multiplexer<br />

to the keyboard bus via the Address Page and I/O Port Decoder.<br />

Following program instructions, the CPU addresses the Display<br />

RAM on the Address Bus to determine where the next character is to<br />

appear on the screen. It then stores the ASCII code for the "A" at<br />

the appropriate location in the Display RAM and adds one to the cursor<br />

position in readiness for the next character. (Addressing is<br />

VIII-5

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!