CYBERNAC
Clark's Youthfull Benevolent and Easily Routined Numeric and Alphabetic ComputerWhen problems occured with the paper tape reader of the LGP-30 a pseudo computer was developed. This was about the same time as IBM came out with their psudo 360 machines. All were simulated or emulated on some other computer or inner machine.
In addition to removing the "paper tape error" excuse for why a student program fail to function, the simulator was designed to stress the three cycles a computer has.
LOAD CYCLE
The reads in one record/card into memory and sets the location register to that location. {once computers had disk memory - the record would be read from disk when you push an Initial Program Load (IPL) button or later it would be an Intial Micro Program Load (IMPL) or later whatever button you use to fire up your operating system.} The record that is read in must contain the instruction(s) to bring in the program.
FETCH CYCLE
The instruction at the memory location who's address is in the location register is brought to the control unit, decoded, and the location counter is incremented.
EXECUTE CYCLE
The instruction in the control unit is executed. If the instruction is a branch and the branch is to be taken, the contents of the location register are placed in the branch back register & the address of the memory address in the branch instruction is place in the location counter.
In the oldend days of computers you could dim the lights in a room and watch the computer move from EXECUTE to FETCH cycle by observing what ligts on the front of the control pannel were flickering. However as speeds moved from mill-second to micro-second to nano-second the light bulbs could not keep up, so this learning experience was dropped.
CYBERNAC simulated a simple computer which was a mix of the LGP-30 and the IBM 650 machines. It was first simulated on an IBM 1620 using a program written in Fortran II. The simulator has since been written in various languages including APL, Ada, BASIC, Pascal, and PROLOG. {Looks like Java may be the next one.}
Computation commands
COMMAND OP-CODE X-ADR Y-ADR ACTION CLA 20 mem ACC <- mem ADD 21 mem ACC <- ACC + mem SUB 22 mem ACC <- ACC - mem MUL 23 mem ACC <- ACC * mem DIV 24 mem ACC <- ACC / mem STO 25 mem mem <- ACC Input/Output Commands
COMMAND OP-CODE X-ADR Y-ADR ACTION READ NUMERIC 36 XX YY READ YY CARDS STARTING IN MEMORY LOCATION XX WRITE NUMERIC 38 XX YY WRITE YY VALUES FROM LOCATION XX READ ALPHA 37 XX YY READ YY CARDS STARTING IN MEMORY LOCATION XX WRITE ALPHA 39 XX YY WRITE YY VALUES FROM LOCATION XX SPACE 34 XX 01 WRITE YY SPACES ON PRINTER LINE FEED 34 XX 02 WRITE YY LINE FEEDS ON PRINTER Control Commands
COMMAND OP-CODE X-ADR Y-ADR ACTION BRANCH 49 XX BRANCH TO MEMORY LOCATION XX B RANCH NEG 43 XX BRANCH TO XX IF ACCUMULATOR NEGATIVE BRANCH ZERO 44 XX BRANCH TO XX IF ACCUMULATOR ZERO NO-OP 41 DO NOTHING BRANCH BACK 42 LOCATION REG <- BRANCH BACK REG HALT 48 STOP CYBERNAC received nation wide publicity in the book "Data Processing for Decision - Making" by Brightman, Luskin, and Tilton, Macmillan 1968 & 1971. Below is the general diagram pertaining to the simulator.