Hardware implementation
The logic circuitry of the 305 was built of one and two tube pluggable units and relays.
Timing
All timing signals for the 305 were derived from a factory recorded Clock Track on the drum. The clock track contained 816 pulses 12 µs apart with a 208 µs gap for sync.
Reading or writing a character took 96 µs.
The 305's typical instruction took three revolutions of the drum (30 ms): one (I phase) to fetch the instruction, one (R phase) to read the source operand and copy it to the core buffer, and one (W phase) to write the destination operand from the core buffer. If the P field (Program exit code) was not blank, then two (D phase and P phase) additional revolutions of the drum (20 ms) were added to the execution time to allow relays to be picked. The Improved Processing Speed option could be installed that allowed the three instruction phases (IRW) to immediately follow each other instead of waiting for the next revolution to start; with this option and well optimized code and operand placement a typical instruction could execute in as little as one revolution of the drum (10 ms).
Certain instructions though took far longer than the typical 30 ms to 50 ms. For example, multiply took six to nineteen revolutions of the drum (60 ms to 190 ms) and divide (an option) took ten to thirty seven revolutions of the drum (100 ms to 370 ms). Input/Output instructions could interlock the processor for as many revolutions of the drum as needed by the hardware.
Drum memory
The drum memory was organized into 32 tracks of 100 characters each.
Architecture
The 305 was a character-oriented variable "word" length decimal (BCD) computer with a drum memory rotating at 6000 RPM that held 3200alphanumeric characters. A core memory buffer of 100 characters was used for temporary storage during data transfers.
Each character was 7 bits, composed of two zone bits ("X" and "O"), four BCD bits for the value of the digit, and an odd parity bit ("R") in the following format:
X O 8 4 2 1 R
Instructions could only be stored on 20 tracks of the drum memory and were fixed length (10 characters), in the following format:
- T1 A1 B1 T2 A2 B2 M N P Q
Field positions | Function |
---|---|
T1 A1 B1 | Source operand address – Track, low order AB character |
T2 A2 B2 | Destination operand address – Track, low order AB character |
M N | Length of operands (each operand must be entirely on its specified track) |
P | Program exit code; used to select test conditions, perform jumps, and initiate input/output. The 305's control panel programming determines the action(s) performed. |
Q | Control code; modifies the operation (similar to an op code), the default operation being a copy from source to destination. Other operations were: "1" Compare, "2" Field compare, "3" Compare & Field compare, "5" Accumulator reset, "6" Blank transfer test, "7" Compress & Expand, "8" Expand, "9" Compress |
Fixed-point data "words" could be any size from one decimal digit up to 100 decimal digits, with the X bit of the least significant digit storing the sign (signed magnitude).
Data records could be any size from one character up to 100 characters.
copied from Wikipedia