Relaxen und watchen das blinkenlights. What lights?

In the old days, computers had blinking lights. Indeed, old movies used to show computers working with blinking lights and tape reels moving back and forth.


My school computer was a PDP-8/L with a whopping memory of 4K 12 bit words back in 1971. (Here’s a picture of similar machines. Mine was like one of the tall racks, and my teletype looked the same as the one in the picture. We didn’t have any disk or tape drives, but we did have a high speed (300 cps) paper tape reader. We used a line-numbered language called Focal. The machine was roughly $8,500 at the time. With a 1.5  µsecond cycle time, it was a 0.66 Megahertz machine. It’s amazing how many things are etched in my memory)


There was a signup sheet for 20 minute “online” time slots . (Offline meant using one of the 2 other standalone teletypes to punch a program onto a paper tape.) A big sign said “Think Offline!”. Another note: (if I remember correctly)


            Achtung: Das machine ist nicht fer gerfingerpoken und mittengraben. Ist easy snappen der springenwerk blowenfusen, und corkenpoppin mit spitzensparken. Ist nicht fer gewerken by das dumpkofen. Das rubbernecken sightseeren keepen das hands in das pockets.  Relaxen und watchen das blinkenlights



The blinking lights actually conveyed useful information: you’d get to recognize patterns that meant particular things. The main I/O device was a teletype machine that would print at 10 chars per second on rolls of yellow paper. When the computer was almost finished outputting to the teletype and would then be ready for user input, I got to know the light pattern at which I could start typing ahead, a couple seconds before the teletype had finished.


The blinking lights on my first computer had 2 rows of lights: the 12 bit address for the Instruction pointer, and the 12 bits for the accumulator. (The PDP-8 had only one general register, called the accumulator.)  There was a row of toggle switches on which I could toggle the dozen or so 12 bit words for the bootstrap loader into memory fairly quickly. Digital Equipment Corp PDP machines were all in octal (base 8: 3 bits per digit), not hexadecimal (base 16: 4 bits per digit). In fact, the PDP (Programmable Digital Processor) product line used alternating colors for the switches: orange/yellow for the PDP-8/L line, dark/light green for the PDP-12 line, light pink/dark pink for the PDP-11, etc. The memory was all core memory: which means little magnetic donuts and that power down/up didn’t lose data.


A highlight of my junior high years was a visit to the old mill at DEC headquarters in Maynard, Mass. Employees had 24 hr access to all the machines, with no sign-up sheets! Wow! I wanted to work there!


(Quote: The venture capitalist’s insistance on avoiding the term computer was based on the stereotype that computers were big and expensive, needing a computer center and a large staff; by using the term Programmable Data Processor, or PDP, DEC avoided this stereotype.)


Eleven years later, in 1982 I bought my first IBM PC. At 4.77 Mhz it had a whopping 256k of ram, 2 floppy drives, no hard disk and no monitor (I used the homebuilt 25” HeathKit color TV for a monitor) for a whopping $3100. That was a very good investment: I learned tons about that architecture, much of which is still applicable today.


I took the cover off and had it sideways against the back of my desk, so the expansion bus was exposed, and I put in a wire-wrap board so I could add my own circuits.


I put a very simple circuit: two 8 bit Digital to Analog converters (D-A) and attached the input of the 1st  to the high 8 bits of the PC address bus and the 2nd to the next 8 bits.


I then attached the 2 analog outputs of these D-As to the X-Y input of my homebuilt HeathKit oscilloscope.


The result was a dynamic plot of what areas of memory were executing code. It was a trace of what memory locations were being accessed at any given time. This means the instruction pointer and any memory accesses for data would show on the plot. Anything in the top part of the picture meant that the OS was executing code. Low meant the BIOS: above that was the running application. Then came the app’s data segment and the heap. When the app was in an idle loop, a pretty stable pattern was shown. When processing, the patterns would vary quite a bit.


Nowadays, if the computer seems idle, the only hint that the computer is in fact doing something is to run task manager (which shows a dynamic systray icon of processor usage) or perhaps watching the hard disk light blinking (or hearing it).


I have thoughts of doing a 2 dimensional D-A display for a modern PC, but it wouldn’t be too useful: with multiple processes running and thread switched, it would be hard for the hardware address bus to distinguish useful patterns. With the higher processor speeds, a much faster oscilloscope would be needed. Besides, I’ve only had laptop machines at home for years.


However, it’s not so hard to do something similar in software. For a particular process, you can hook an application’s calls to the operating system for memory allocation and draw a plot in a window of used memory as the application is running. I did this with Visual Foxpro to see the patterns of virtual and heap memory usage. I could use various colors to show various kinds of memory: virtual, heap, data engine, etc. I even could click on a block of memory and find out what that block was used for. This is a map of memory usage, rather than a trace of physical memory accesses, but it still is like blinking lights.


Analysis of these patterns led me to make some memory usage improvements in Foxpro.


(Perfmon is somewhat useful: it can show total virtual bytes used, page faults, etc. but they are plotted against time. It doesn’t show a map of the currently used memory.)



Comments (25)

  1. DJ says:

    Sidenote about ‘Actung…’. I first saw this on a scintillator in my high school chem lab in 1961, copied it (the author was anonymous), and passed it on to my father. Dad took it to the computer section at the Pentagon. They loved it, and one of the folks there sent it to Reader’s Digest magazine. Reader’s Digest published it, and the rest is history. Just an example of how memes spread before the Internet.


  2. Stefan Wuebbe says:

    > Another note: (if I remember correctly)

    > Achtung: Das machine ist nicht fer gerfingerpoken und mittengraben….

    This one actually sounds like one of genius Charlie Chaplin’s speeches in The Great Dictator, doesn’t it?



  3. Bob Firth says:

    In the mid 1960s I used an Elliott 503 in my summer job at EMI Wells (UK). It occupied several wall cabinets, and has two tape readers and two punches for peripherals. It wnet wrong so often that the Elliott engineers left an Engineering Board permanently connected – a panel about three feet by two, with around a hundred lights for the various registers. Very impressive, esp with dimmed room lights!

    The architecture was unusual – a 39 bit word, two instructions per word where the middle bit was called the B-line (for dynamic instruction modification). The memory was 8K words of ferrite cores – contents were retained during power-off.

  4. If you listen to an AM radio that’s placed near a computer, you can hear interference.  I can put…

  5. When you write code in any computer language, there are common constructs that alter the flow of control,…

  6. Bob B. says:

      The fist time I saw this sign was in ’81 or ’82.  I was on a service call to a moderately large home in central Phoenix to repair a stereo system.  

     The main equipment console was a beautiful custom crafted (local craftsman named Russworm I think) mahogany entertainment center designed to match the eqally elegant (and large!)Bozak speaker systems. In the very center of the front edge wher the lid opened, was a little 2×3" silver plaque with the "Achtung" in red Old English.  I copied it down in my note pad and shared it often.

     The irony of all this?  The repair required me to bring the VERY expensive McIntosh tuner/preamp to the shop – someone had wrapped aluminum foil around a pesky little fuse that kept blowing!!  Ended up needing a few diodes (the ORIGINAL problem) AND…. a new power transformer.

  7. I was quoted in this Computerworld article about the MVP summit, which is happening this week in Seattle

  8. TechBlog says:

    About a week ago, I mentioned that I’ve been playing with 802.11n routers, and am leaning toward changing the stance I took in my column, warning folks not to use Draft-N products yet. A Toshiba Satellite P205-S6287 notebook with an…

  9. On one of my Vista machines, I have a 140G hard drive partitioned into C (20g), D (80G) and E (40g).

  10. On one of my Vista machines, I have a 140G hard drive partitioned into C (20g), D (80G) and E (40g).

  11. At the Southwest Fox conference, I showed a slide titled “My Toys” I showed the computer, the processing

  12. You can open a table with a UNC path in it, such as USE \myservermysharepathtable or USE \123.456.123.123mysharepathtable

  13. Jeanle says:

    When the computer was almost finished outputting to the teletype and would then be ready for user input