On Tue, 24 May 2016, Charles Anthony wrote:
"Older machines" covers a lot of ground.....
Sorry, I should have said "machines from the 50's - 70's which used
buttons, toggles, rockers or other switches on the front panel"
Typically, there was a set of data switches (0/1
toggles) that could be
set to an address or data value, and a set of command switches
(momentary contact) that copied the data switches to some data register
or memory.
Did some of the machines have blinkenlights to show you what you were
doing so you could see the values you were inputting? Judging from how I
play guitar, I'd probably miskey and have to start all over etc...
For the earlier or cheaper systems, there was no
'bootstrap ROM'; so a
small program that was capable of reading the first record of a paper or
magnetic tape into memory and running it was needed.
Was that because of cost, no availability (ie.. not invented yet), or
what? Why didn't they have a boot ROM, BIOS, etc.. ?
This program was documented in ''machine
language' -- a list of binary
values that needed to be placed in specific memory locations.
Hypothetical example (in octal):
Ah, thanks for the example. Between this and the PPT someone posted
earlier, I think I "get it" now.
It reads some number of characters from the paper tape
into memory, and
then starts executing them. Those characters will be a more complex boot
strap loader that will read them rest of the tape into memory and run
it.
Well, paper tape sure beats having to flip all those switches, it sounds
like.
The data switches would be examined by the operating
system during boot
to enable debugging (pause at certain points during boot, eg).
I wish OS's still had something like this sometimes. Using a debugger over
serial, there are times when I'd like to step through code or stop the
whole kit-and-kaboodle. However, there are so many timers running in OS's
these days a lot of the time that sort of thing causes major pain,
especially with certain problematic drivers.
The 709 had these massively over-engineered rocker
switches, reminiscent
of circuit breakers, and a reset switch which activated a electric motor
in the console which physically set the switches back to 0.
Heh, that sounds cool. Could you hear the motor running after hitting the
switch to activate it?
The PDP-15 had a 'CPU speed' knob. turning it
would continuously vary the
CPU clock from 1Hz to full speed.
Ohhh, neato. I wish that was more common, too. What fun! I need a machine
with an analog dial for the clock speed and vue meters for RAM and CPU
capacity :-)
The blinking lights typically would have at least the
instruction
counter and the accumulator. Other registers might be displayed, as well
as the instruction being executed, operand address and value, condition
code bits, IO activity, interrupt status, and much more.
That makes good sense, really. It doesn't seem so mysterious when you
describe it, now.
Watching the instruction counter could reveal the CPU
to stuck in a
short loop; or, if halted, what instruction it was at when it halted.
Hmm, again, that wouldn't be so bad to have even today.
Some of the mainframes had hundreds and hundreds of
lights, detailing
the internal state of the machine; mostly of interest to field
engineers.
It probably still impressed the suits when they walked the data center.
I've done data center tours with row after row of HP or Dell x86 servers
and it's not much to look at.
-Swift