Download Print this page

RCA COSMAC User Manual page 10

Hide thumbs Also See for COSMAC:

Advertisement

COSMAC Microprocessor _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
9
For example, COSMAC can control the entry of binary-coded decimal numbers from an input keyboard and
store them in predetermined memory locations. COSMAC can then perform specified arithmetic operations
using the stored numbers and transfer the results to an output display or printing device.
System input devices may include switches, paper-tape/card readers, magnetic-tape/disc devices, relays,
modems, analog-to-digital converters, photodetectors, and other computers. Output devices may include
lights, CRT /lED/liquid-crystal devices, digital-to-analog converters, modems, printers, and other computers.
Memory can comprise any combination of RAM and ROM up to a maximum of 65,536 bytes. ROM
(Read-Only Memory) is used for permanent storage of programs, tables, and other types of fixed data. RAM
(Random-Access Memory) is required for general-purpose computer systems which require frequent program
changes. RAM is also required for temporary storage of variable data. The type of memory and required
storage capacity is determined by the specific application of the system.
Bytes are transferred between ·1/0 devices, memory, and COSMAC by means of a common, bidirectional
eight-bit data bus.
Fifteen COSMAC I/O control signal lines are provided. Systems can use some or all of these signals
depending on required I/O sophistication. A four-bit N code is generated by the COSMAC input/output
instruction. It can be used to specify an I/O device to be involved in an I/O-memory byte transfer by means
of the data bus, or, alternatively, to specify whether an I/O byte represents data, an I/O device selection
code, an I/O status code, or an I/O control code. Use of the N code to directly specify an I/O device
permits simple, inexpensive control of a small number of I/O devices or modes. Use of the N code to specify
the meaning of the word on the data bus facilitates systems incroporating a large number of I/O devices
or modes.
Four I/O flag inputs are provided. I/O devices can activate these inputs at any time to signal COSMAC
that a byte transfer is required, that an error condition has occurred, etc. These flags can also be used as
binary input lines if desired. They can be tested by COSMAC instructions to determine whether or not they
are active. Use of the flag inputs must be coordinated with programs that test them.
A program interrupt line can be activated at any time by I/O circuits to obtain an immediate COSMAC
response. The interrupt causes COSMAC to suspend its current program sequence and execute a prede-
termined sequence of operations designed to respond to the interrupt condtion. After servicing the inter-
rupt, COSMAC resumes execution of the interrupted program. COSMAC can be made to ignore the inter-
rupt line by resetting its interrupt-enable flip-flop
(I
E).
Two additional I/O lines are provided for special types of byte transfer between memory and I/O devices.
These lines are called direct-memory-access (DMA) lines. Activating the DMA-in line causes an input byte to
be immediately stored in a memory location without affecting the COSMAC program being executed. The
DMA-out line causes a byte to be immediately transferred from memory to the requesting output circuits. A
built-in memory pointer register is used to indicate the memory location for the DMA cycles. The program
sets this pointer to an initial memory location. Each DMA byte transfer automatically increments the pointer
to the next higher memory location. Repeated activation of a DMA line can cause the transfer of any
number of consecutive bytes to and from memory independent of concurrent program execution.
I/O device circuits can cause data transfer by activating a flag line, the interrupt line, or a DMA line. A
program must sample a flag line to determine when it becomes active. Activating the interrupt line causes an
immediate COSMAC response regardless of the program currently in progress, suspending operation of that
program. Use of DMA provides the quickest response with least disturbance of the program.
A two-bit COSMAC state code and two timing lines are provided for use by I/O device circuits. These
four signals permit synchronization of I/O circuits with internal COSMAC operating cycles. The state code
indicates whether COSMAC is responding to a DMA request, responding to an interrupt request, executing

Advertisement

loading