Re: Outlook...
I had a neat-freak manager once. Couldn't have a single scrap of paper out on the desk at the end of the day. But then he couldn't find anything that he had randomly filed, and had to rely on me to find a copy.
9 publicly visible posts • joined 27 Nov 2018
When I was in college 50 years ago I had the pleasure of spending a year working in a lab with an ancient DEC PDP-8. Apparently the total contract with the university was lucrative enough that it covered maintenance even for relics like this that were kept busy by researchers whose budget did not cover getting a replacement.
There are no chips in a PDP-8. All computer logic is built from individual components, including the core memory. If you've never seen this, each individual bit of memory is a separate tiny magnetic doughnut. This machine had the expansion memory, a glorious additional 4K words of memory that required an additional rack. A lot of effort goes into getting a coherent signal to go down a memory bus through two cabinets and suppressing noise and echoes.
There were components used to tune the impedance of each line in the memory bus in several places to enable stable operation. There was still someone at DEC who knew how to do this. He was a vice president by then, but occasionally to honor the contract he still had to come out and get his hands dirty. Fortunately this was all pre-paid maintenance without the extra hourly charges.
An enterprising lab tech where I worked in the 80's wired a switch to the door and figured out how to make it trigger an interrupt in the PC to automatically switch to the boss screen.
I believe he applied the same level of creativity to his actual job, so kudos to him.
I am old enough to have used punch cards, dropped a deck down the stairs, and so on. I remember the joys of putting serial numbers in columns 73-80 (or wishing you had), diagonal lines on the edge of the deck, etc. But nobody has mentioned the uses of the little chads produced by the card punch machines.
I was in the high school band in the late sixties, and one popular prank was picking one victim to blast with confetti from multiple directions. (It's always the drum section, they're a bunch of thugs.) If you are armed with weapons-grade punch card chad your father provided from work though, you are untouchable. You only have to retaliate with that stuff once or twice for them to learn how uncomfortable those tiny little cardboard rectangles with pointy corners can be when they get down the collar of your heavy band uniform jacket. And you can't take it off to get rid of them for a couple of hours.
When I was in college, around 1975, I got a part-time programming job in the Nuclear Physics lab. Based on the qualification that I had had a class in assembly language and knew in theory what an interrupt was.
They were collecting data from instruments in their particle accelerator lab on a DEC PDP-15 computer. They did data analysis on the same computer, so of course there was a lot of competition for computer time. Time sharing was not an option, as the OS did not support it and the response time required for data collection would not allow it.
DEC did have the option of a PDP-15/PDP-11 dual processing system, that connected via 8K of shared dual-ported memory. But nobody wanted to rewrite all their analysis code for a PDP-11, and being a bunch of PhD physicists they decided they could use the same dual-port configuration to build their own Frankenstein dual-processor PDP-15.
That's not a supported configuration, said DEC. We'll figure it out, said PhDs. Just sell us another processor with hard disk and the dual-port memory.
You need another DEC Tape on the new system to load an operating system, said DEC. We've too cheap to do that, and we've got a CS student who knows what an interrupt is, said PhDs.
So my first task was to write a disk-copying routine that could be loaded on the new bare machine by paper tape, that copied the entire hard disk through the shared memory. OS and all, for some reason this did not violate any licensing.
They put this thing together and split the peripherals between the primary and secondary CPU. Data collection was on the primary, the line printer was on the secondary. Their biggest challenge was if someone was printing something from the primary computer, if you typed Ctrl-C on the secondary it would reload the OS and forget the print job. Having the complete source code for the OS helped, but they still needed a way to know if a Ctrl-C was typed before letting it go through all the interrupt handling. But if you read the character in the keyboard buffer it also cleared the interrupt flag and the normal interrupt handling would be broken.
Give a wirewrap tool, complete schematics for the computer, and too much time on their hands, they found an unused opcode and wired in a new read-the-keyboard-buffer-without-clearing-the-interrupt-flag instruction. Problem solved.
A parallel interface seems like it should have a higher bandwidth, but keep in mind that all those connections must be electrically isolated and synchronized. You have to route connections for 300 pins for DDR5, and try to keep each path roughly the same length to keep the signals in phase (plus same inductance, capacitance, and characteristic impedance).
Increasing the speed of one transceiver is easier than speeding up parallel transceivers while keeping them in lockstep. This is why USB has replaced older parallel connections for keyboards, mice, and printers, and why serial SAS replaced SCSI for disk drives.
RAM and CPU speeds were rarely in sync. Early computers spread across multiple racks had to slow all clock rates down to allow signals to travel from one end to the other, and still the CPU was typically slower than memory. The CDC 6600 supercomputer was the fastest thing the 60's, achieved mainly by shrinking the CPU circuitboards, using faster transisors, and tailoring the instruction set. The CPU was now much faster than RAM so they had the CPU cycle between 10 peripheral processors (memory and external I/O interface). Kind of like hyperthreading, only on a hardware level.
RAM got faster too, moving from individual magnetic cores to integrated circuits.
Smaller and faster go hand-in-hand. The 90's saw CPU clock rates climb into the GHz range. The higher the clock rate, the smaller maximum size of the circuit you can control with one synchronous clock gets. A 10 GHz clock signal can travel about 30mm per cycle, limited by the speed of light. In a vacuum, in a straight line, somewhat less on a chip with lines routed all over the place. So at those speeds you're lucky to keep an entire CPU chip under control, you can't have the memory chip next to it running in sync on the same clock. Much less an entire board with 100s of GB of RAM. It's not that they can't make extremely fast RAM that could keep up with a CPU, but you can't route signals all over the motherboard at CPU clock rates. So faster CPUs required more and more layers of cache.