Slashdot Mirror


Bringing Back the PDP8

Anne Thwacks writes " Andrew Grillet has decided that the Digial PDP8 - the first ever minicomputer, will rise from the dead. He is calling it the PDQ8. Sure others have done software emulations, and even hardware clones, but he is not just building a hardware clone, but trying to revive the whole idea of 12 bit computers!"

28 of 365 comments (clear)

  1. Re:what for by mirko · · Score: 3, Informative

    RT11, of course :-)

    --
    Trolling using another account since 2005.
  2. Calling all Electrical/Computer Engineers by ekrout · · Score: 5, Informative

    Many of you probably have used Xilink's 1000, 2000, or 4000-series FPGA card during laboratories for your undergrad classes.

    Well, if you'd like, you can follow this design of an FGPA implementation of the original PDP-8 computer!

    If you've used Verilog (a hardware design programming language), like I have, you can even download all the code!

    --

    If you celebrate Xmas, befriend me (538
  3. Just how big *were* these things? by ekrout · · Score: 4, Informative

    Well, I found this old link in my bookmark manager. It details the history of EMS (sound studio) in vivid detail, including a listing of all their original equipment.

    The interesting part is that they posted high resolution images of their setup, which includes PDP-8 microcomputers!

    The image: http://www.ems-synthi.demon.co.uk/studiopz.gif
    The PDP-8s:
    Left side - Teletype for PDP8
    Left bay - PDP8/L Computer ("Leo") 4K x 12 bits (=6K bytes) 1.3 s cycle (0.77MHz), 32K Hard Disk Store
    Center left bay - PDP8/S Computer

    --

    If you celebrate Xmas, befriend me (538
  4. Re:what for by Detritus · · Score: 4, Informative

    Probably OS/8, which if I remember correctly, was a multi-user operating system. You can run a multi-user system on a PDP-8 with 32KW of core.

    --
    Mea navis aericumbens anguillis abundat
  5. Maybe... by Anonymous Coward · · Score: 1, Informative

    You need 7 bits for 128 characters symbols. With 6 bits you can have all capital letters, but not the lowercase.

    With an additional bit (totalling 8), you have all the ASCII 128 chars plus another 128 for special symbols (line-drawing semigraphical chars and accented chars).

    Once 8-bit memory modules (i.e., hardware chips) became standard, people joined two to build 16-bit memory words -- and then 32... 64... 128... ops, not yet :-)

    HTH.

  6. Re:12 bits by Viol8 · · Score: 2, Informative

    7 bits was used when the ASCII character set was initially devised (though 4 bit had been used before that) with the 8th bit being used for parity checks. At some point someone decided to hell with parity checks , lets use the 8th bit to double the number of characters available. And once 8 bit became standard in hardware then 16 bit narually followed as you could still divide a 16 bit word in 2 to get 8 bit characters. Similarly with 32 bit you can divide a 32 bit word to give two 16 bit words and hence can run 16 bit software on 32 bit hardware with a bit of help. Thats the gist of it anyway.

  7. Not Bad for its day by Anonymous Coward · · Score: 2, Informative

    The PDP-8 wasn't bad for it's day. They even had a Time Sharing System that ran on it that gave each user a whopping 4 K of space do do whatever they wanted to do with it. It supported up to 16 simultaneous users. I know, I'm old enough to have gone to a college with one of those beasts as a shiny new grant from DEC. We had 2 high schools and one private school hoked up to us by the old 110 Baud ASR-33 teletypes. It was a hoot trying to make anything run on it. Assembler was about your only choice as Basic didn't have any file I/O until about 1973 - 1974.

    Why bring it back? Why not? It may not ever be used for much, however who says all the cool computers have to be uber-machines? This next comment isn't meant to start a flame war, but I'd like to see some of today's bloatware folks try and make a program of any substance work on one of those puppies. I've seen some code from folks used to huge addressable and virtual memories and YIKES !

  8. Re:12 bits by sporty · · Score: 3, Informative

    No.. not like that. 8 is a power of 2, 12 isn't :P

    --

    -
    ping -f 255.255.255.255 # if only

  9. Character Codes by Detritus · · Score: 3, Informative
    6-bit character codes were popular before the introduction of ASCII (7-bit) and EBCDIC (8-bit). The PDP-10 had a 36-bit word, which could hold 6 6-bit characters. It also supported other character codes, such as ASCII.

    If you look at old assemblers and compilers, the limit on the length of a symbol/variable name is often the number of characters that could be squeezed into a single machine word.

    --
    Mea navis aericumbens anguillis abundat
  10. Nostalgia by Anonymous Coward · · Score: 1, Informative

    I "fondly" remember this as my first system I worked on.... We had three. Two of them didn't have a boot card, so you actually had to toggle in a boot loader program (around 20 or so steps). It was like playing a piano. They had 3 RK05 disk packs (1.5M each), 32MB of Ram, and a 300 baud terminal. But it handled 16 simultaneous users. It put out our newspaper every day for many years. They punched paper tape for output that we would run into type typesetting machine.

  11. Re:12 bit is best for the US patriot by david+duncan+scott · · Score: 3, Informative
    You know, I have never, in 43 years, heard an American use "stone". That's a Brit thing.

    And of course we inherited the whole system. As I recall, the "lb." abbreviation has something to do with the French "livre", and also led to the the "pound sterling" symbol, that fancy-schmancy "L" that featured so prominently on the Commodore keyboards of yore.

    As for word width, well, there's nothing especially holy about multiples of 8. CDC used to make machines with a 60-bit word, because they mostly dealt with numbers, not text manipulation, and big fat words like that allow for big fat numbers, although storing an ASCII file in 60 bit words would be clumsy as hell (As a side note, I used to work with the CP1600, which was a real 16-bit machine. There was no way to address a byte, although there was an 8-bit shift so that you could pack ASCII into words to save space and slow down annoyingly fast programs.)

    --

    This next song is very sad. Please clap along. -- Robin Zander

  12. Just use the history simulator by ch-chuck · · Score: 3, Informative

    run your very own pdp8, pdp11 or even an Altair with disk basic or cp/m - here. I've recently completed some serious z80 assy projects using simh on my Linux notebook. Works great w/o having to mess w/ flaky hw.

    --
    try { do() || do_not(); } catch (JediException err) { yoda(err); }
  13. Re:what for by dhogaza · · Score: 4, Informative

    OS/8 was a single user system. I wrote a multi-user kernel that ran multiple copies of OS/8 customized to hook into device drivers supported by my kernel. It supported virtual paging using a hardware hack first suggested by Richard Lary (the author of OS/8). We ran four or five users on a 32KW 8/E with a couple of RK05 drives.

    We never distributed it because paging performance without the hardware hack was very bad (every CDF instruction needed to be trapped and mapped in software) and the hardware hack was only developed for the 8/E and piggy-backed on one of the system boards destructively (i.e. once modified your 8/E wouldn't run without our hardware).

    But it was used internally by the company I developed it for until about ten years ago.

  14. Re:Didn't these things have selectable word sizes? by HotNeedleOfInquiry · · Score: 5, Informative
    "or am I just remembering some strange dream? "

    It's a strange dream. The only 8's that had a knob on the front were PDP 8/e, 8/f, and 8/m and they all shared basically the same front panel design. The knob selected the register that would display on the front panel. It had no effect at all on the operational mode of the machine.

    --
    "Eve of Destruction", it's not just for old hippies anymore...
  15. Re:12 bits by sql*kitten · · Score: 5, Informative

    Maybe someone would enlighten the rest of us on why a certain bit size is better than another, and why we currently use 8/16/32/64, instead of 12/24/48/96 ?

    This article explains why base-3 systems are actually a lot better than base-2 from a theoretical perspective, but that it was much easier to design hardware in base-2, so base-2 became the de-facto standard. Nowadays we could probably fab base-3 hardware fairly easily, but it's not worth doing so with all the base-2 hardware already in existance.

    As for 16/32/64 instead of 12/24/48, it's just one of those things. IBM's earlier AS/400s ran on 48-bit processors (now they are 64-bit). 96-bit floating point is an IEEE standard. And do you know why file permissions in Unix are rwxrwxrwx? It's because they borrowed that idea from another operating system designed for 9-bit bytes and a 36-bit processor.

  16. KW == "kilowords" by red_dragon · · Score: 4, Informative

    Back then, the size of core memory was generally measured in machine words, thus in the case of a 12-bit machine like the PDP/8 with 32 k-words, the core would be: 32 x 12 bits == 384 k-bits, or 48 k-bytes.

    --
    In Soviet Russia, Jesus asks: "What Would You Do?"
  17. Re:12 bit is best for the US patriot by sql*kitten · · Score: 3, Informative

    And of course we inherited the whole system. As I recall, the "lb." abbreviation has something to do with the French "livre", and also led to the the "pound sterling" symbol

    Which is interesting because the word Sterling comes from starling, which meant "small star" in mediaeval English - it was the symbol on the coin for the unit of currency. So the currency symbol should probably really be a *.

    Lb is from "livre" (French for pound) and dollar comes from "taler", an old German currency.

  18. Historical inaccuracies by John_Sauter · · Score: 2, Informative

    The PDP-8 was not the first minicomputer. As its name implies, it had predecessors, including the PDP-7, PDP-5, PDP-4 and PDP-1. I nominate the PDP-1 as the first minicomputer.

    Also, the IBM System/360 was not the first computer with variable-length instructions. The IBM 1401 also had variable-length instructions, and I am not sure it was the first.

    John Sauter (J_Sauter@Empire.Net)

  19. Why we use base 2 instead of base 3 by Anonymous Coward · · Score: 5, Informative

    As nice as a base-3 system my be in theory, there are very good reasons for sticking to a base-2 system in hardware. As we are moving to smaller and smaller fabrication processes, it is necessary to lower the supply voltage Vdd. For example, now that we are approaching the 0.1um and 900nm levels (at least in research labs), Vdd is getting down around 1 Volt. However, the Vt (the threshold voltage needed to turn "on" a MOS transistor) stays the same, because it is determined by physical properties of silicon (mostly). That means we're losing headroom. To implement ternary logic, we would need 3 different voltage levels. We're simply running out of room to do things like that. You need to leave a noise margin around your "1" and "0" values for reliable operation. (For example, if Vdd=1V, you might consider 0.0-0.4 = "0", 0.6-1.0 = "1". Then a logic gate that "sees" 0.0-0.5 interprets it as "0", etc. If you had a "0" that was really 0.4V, you would hope that "noise" wouldn't bump it up above 0.5V, or else it would look like a "1".)

    The threshold voltage for transistors is somewhere under 0.2-0.3V usually (depening on the technology & lots of other parameters). So, you absolutely need a 0.6V supply. (0-0.3 = "0", 0.3-0.6 = "1".) Unfortunately, even with Vdd=1V, you'll get voltage drops happening throughout the chip ("IR drops" - as in I=current times R=resistance) so that the 1V may only look like 0.8V to some parts of your circuit.

    From the above discussion, it should be obvious that there really isn't room to shoehorn in a third voltage level. Also, a nice feature of CMOS design is that when a gate is sitting in a "0" or a "1" state, it is drawing no (well, negligible) power. Power is only dissipated while a value is switching from a 0/1 or vice versa. Off hand, I can't think of a way to do that with a third logic-value. Consider drawing even a tiny amount of current while a gate is sitting at logic "2" (or whatever you want to call the 3rd value). 1mA (milliAmp) times 1 million transistors on a chip = 1000 Amps. That chip's going to get a little hot!

    Ok, so you've probably got at least two questions, which I will try to answer in advance. If you've got other questions - I'll just let someone else tackle those.
    Q1) Why don't we just use a higher Vdd (supply voltage)?
    A1) If you're using smaller transistor widths, you simply can't. When you use a really thin gate (i.e. 0.1um) on a transistor, the breakdown voltage of the gate is reduced. If you use a higher voltage, the transistor melts. (You could use larger transistors, but that kind of defeats the whole purpose! We make transistors smaller because we can fit more on a chip, and they operate faster and use less power.)

    Q2) Can't we lower the threshold voltage?
    A2) Yes, to some extent. (It's not always easy.) But we don't want to. Even when a transistor is "off", there is still a very small amount of leakage current flowing through it. If you reduce the Vth, you also increase the amount of leakage current. In older technologies, this hasn't been much of a problem, because the leakage current was so small in comparison to the dynamic power consumption. But as we are putting more and more transistors on a chip, the leakage power consumption in modern chips can easily add up to 30%-40% of the total power consumption. There's also another reason. If you did that, you would be lowering your noise margin. And you don't really have much control over the noise (which is why it's called that). If you reduce noise margins too much, you'll find it almost impossible to create a circuit that actually functions reliably.

    Well, I hope that satisfies some of you (and doesn't get the rest of you too upset). VLSI circuit fabrication is a really neat field. Some of the tricks that are being used these days to fabricate that chip sitting in your computer and get it running at 2GHz (or aren't they up to 3GHz now?) are quite amazing - they're doing their best to cheat physics! Using a ternary counting system to build computers may have a lot of nice theoretical properties, but I can't see it displacing binary any time soon, except possibly in some really specialized applications. (There are always exceptions.)

    That's my $0.03 worth. (Hey, I typed a lot. I think that's worth at least $0.01 extra. Maybe $0.025?.) Any errors in the above are mine, but I won't admit it.

    1. Re:Why we use base 2 instead of base 3 by pjrc · · Score: 4, Informative
      Off hand, I can't think of a way to do that with a third logic-value. Consider drawing even a tiny amount of current while a gate is sitting at logic "2" (or whatever you want to call the 3rd value).

      It could be accomplished (fully static CMOS, no steady state current to maintain a 3rd logic level) with a second power supply, and circuitry designed to connect the output to either Vss, Vdd or Vmm (m for middle, for lack of any other name.. hmm) Brian Hayes's flawed assumption is that circuit complexity increases linearily with the number of logic levels. He writes "An obvious strategy is to minimize the product of these two quantities", refering to the radix and number of symbols to represent a number... but he just pulled that out of a hat. The required circuit complexity is not linear function of the radix, and a realistic model would quickly prove that binary is the most efficient. A fully static ternary output requires a minimum of four transistors, whereas binary requires only two.

      That chip's going to get a little hot!

      With a static CMOS circuit designed this way, power consumption would be approx 0.5 * C * f * V^2 (as it is in normal binary circuit). C will probably increase somewhat, as nearly twice as many transitors would be needed per circuit, yet fewer trits are needed that bits for the representing the same numerical range, so the increase in C probably wouldn't be by a factor of two. Presumably f (the clock frequency) would stay the same (well... I'll get to that...), and V stays the same (50% of transitions in binary are full supply voltage, in ternary 33% are full voltage and 33% are half voltage). Power comsumption would probably be similar.

      Saddly, f probably won't stay the same. C gets larger on each signal, and when driving to half voltages, the transistors that would connect to the Vmm supply get only half the effective gate voltage applied. So doubling the load and cutting the drive significantly is really going to hurt the circuit's speed.

      Dynamic logic tricks (pre-charged busses) and bicmos circuits add another interesting dimension that's too complex to worry about, though it'd be important for any microprocessor.

      But power consumption isn't likely to be a problem.

      Getting back to the old PDP-8, as I recall it was a binary machine. The motivation behind 12 bits was that 6 bits was ideal to represent both upper and lower case characters and plenty of symbols, and 12 bits (two chars) was plenty for useful math. I don't recall the popularity of 6/12 bit systems having anything to do with base-3 signaling.

    2. Re:Why we use base 2 instead of base 3 by Anonymous Coward · · Score: 1, Informative

      Well the way a gate works it's just not made to go in reverse, you could make a gate with some pertrickery that would go both ways, but since it would probably take up more space you'd be losing ground on another aspect. Nice idea though, makes me want to play around with it myself.

    3. Re:Why we use base 2 instead of base 3 by pjrc · · Score: 3, Informative
      Nowhere in the paper could I find that Brian Hayes claimd "that circuit complexity increases linearily with the number of logic levels."

      In the paragraph just above figure 2:

      Everything hinges on the assumption that rw is a proper measure of hardware complexity, or in other words that the incremental cost of increasing the radix is the same as the incremental cost of increasing the number of digits.

      Scroll back up to figure 1, and the third paragraph up is where the assumption is first made:

      By one plausible measure, it is the most efficient of all integer bases; it offers the most economical way of representing numbers.

      How do you measure the cost of a numeric representation?

      [snip, absurd cases of base 1 and base 1e6]

      Evidently we need to optimize some joint measure of a number's width (how many digits it has) and its depth (how many different symbols can occupy each digit position). An obvious strategy is to minimize the product of these two quantities. In other words, if r is the radix and w is the width in digits, we want to minimize rw while holding rw constant.

      So what he's saying is that the "cost" of a representing a number is the cost per digit multiplied by the number of digits required. But he makes the assumption that the cost of each digit is a linear relationship with the radix, which is simply not true in almost any system (certainly not in electonic circuitry nor in telephone menu systems).

      Speaking mathematically, r is the radix, and w is the number of digits (or symbols, words, or whatever you call them) required using that radix. The cost is F(r) * w, where F(r) is some model for the cost to implement that radix.

      The words "An obvious strategy" are plain wrong. It's not obvious at all. It's simple-minded and ignorant. It's devoid of any anaylsis or thought about any real system. Even from a purely theoretical standpoint, it's academically dishonest to gloss over this critically important point rather than write "r * w" instead of "w * F(r)" and state the assumption of a linearly increasing cost per digit as the radix changes.

      Well, maybe that's a bit strong. Who am I to judge what's academically proper. But the paper clearly begins by saying:

      People count by tens and machines count by twos ... I want to offer three cheers for base 3, the ternary system ... They are the Goldilocks choice among numbering systems: When base 2 is too small and base 10 is too big, base 3 is just right.

      The general arguement that base-3 is actually superior for computer arithematic is also quite evident in the "Trit by Trit by Trit" section (just below figure 1). I'll avoid quoting much of it, but at the conclusion he writes:

      Why did base 3 fail to catch on? One easy guess is that reliable three-state devices just didn't exist or were too hard to develop. And once binary technology became established, the tremendous investment in methods for fabricating binary chips would have overwhelmed any small theoretical advantage of other bases.

      Now the rhetorical question "Why did base 3 fail to catch on?" is answered by postulating (not even any real knowledge) that way-back-then it was too tricky to design and base-2 gained so much momentum and became so well established that base-3 never caught on. Notice how he concludes with the words "overwhelmed any small theoretical advantage of other bases", reaffirming once again the standpoint the base-3 has some advantage, if small, over base-2, theoretically speaking. He's clearly talking about implementation of circuitry.

      The ugly truth is that rolled up in the theoretical advantage of base-3 for circuitry is that assumption that the "cost" is "r times w" (r for radix, w for number of digits). Any engineer can tell you that cost has units of dollars, and r and w are both unitless quantities. To compute the cost of using a particular number system, you need to use a function (above I called it "F(r)") that transforms the abstract number "r" into the cost of implementing that radix. The unitless number of possible digits needs to be turned unto a quantity in units of dollars (or some other currency) before it can be multiplied by "w" to obtain the cost of implementing that radix.

  20. Re:12 bit is best for the US patriot by Anonymous Coward · · Score: 2, Informative

    Actually, I must defend the American/British/Biblical system for a second. Granted, the metric system makes a lot of sense for modern science. But for simple math, using numbers like 12, 16, 60, etc. makes a lot of sense because they have a ton of whole number factors. For instance, if I want to divide 12 into 2, 3, or 4 different parts it's a lot easier than with 10. With modern computing devices, most people forget the ingenuity of this system when criticizing it.

  21. Re:Daler by david+duncan+scott · · Score: 3, Informative

    In fact, reaching deep into my trove of useless trivia, I seem to recall that we in the US snitched the term from the Spanish, along with an arcane bit of slang: the Spanish dollar, circulated in the old West, was often broken into 8 pieces (it may even have been scored to facilitate this, but I may be making that up.) One quarter of a dollar was, therefore, two of these bits, leading to such Americanisms as "two-bit whore" and the ever-popular secret knock pattern, "Shave and a Haircut, Two Bits".

    --

    This next song is very sad. Please clap along. -- Robin Zander

  22. Re:what for by dhogaza · · Score: 3, Informative

    OK, you're corrected :)

    The PDP-8 never ran anything remotely resembling Unix. The very first version of Unix ran on the PDP-1/7/9/15 18-bit family (a PDP-7 IIRC). The architecture of this family was similar in many respects to the PDP-8 and indeed preceeded the PDP-5/8 family. You can think of the PDP-8 as being scaled down from the earlier family's 18 bits to 12 bits. To make it cheaper, of course.

    The original Unix-written-in-C ran on the PDP-11 (the PDP 1/7/9/15 family version was written in assembly, IIRC). The first BSD version of Unix was written for the VAX family ...

  23. Re:12 bits by Anonymous Coward · · Score: 1, Informative

    This is part of the reason that the 'imperial' or 'standard' system of measuring length is still used in much of the construction industry here in America.

    A foot can be divided into 1/2 (6"), 1/3 (4"), 1/4 (3"), 1/6 (2"), and 1/12 (1") evenly and without fuss. This makes it much easyer to layout things than metric, where you can only divide by 1/2, 1/5, and 1/10. Seeing that being able to devide by 1/3 and 1/4 is a very common thing in construction, it still makes some sort of logic for building materials to be base tweleve rather than base ten, ala metric. For when you're trying to devide 60'-3" into fourths in the feild, a base 12 system is easyer to think about!

    Just a random thought from somone in the building industry...

  24. Re:what for by Anonymous Coward · · Score: 1, Informative

    Welll, it looks like some of you young'uns out there need some educatin'. The PDP-8, first introduced in 1965 or so, came long before LINUX, in fact long before C's predecessor B, developed on a discarded Bell Labs PDP-7. It is a Good Thing for many reasons, though hardly novel. People have been inventing and reinventing the First Mass-Produced Personal Computer for years. Until the -8 was intorduced, no researcher who needed to directly record the results of an experiment every half a second could do anything but recruit an army of undergrads to listen to kludged-up data recorder results and punch same into paper cards, then wait in line for a few seconds of precious time on a university mainframe for meaningful information. At $18,000 (the price of a new single-family home or a top Rolls Royce), a researcher received a 250-lb 20x20x36" desktop box with front panel, 4 whole K-words of core, a Teletype to sit next to it with its paper-tape reader and punch + instructions on cobbling together interfaces to experiments and the Mainframe. Software was free and the company sponsored a club so anyone developing a useful program could get copies to the world. See Steve Levy's 'Hackers" for a result of the explosion of tech goodies this produced, including the beginnings of the Internet (just the concept of transmitting "hey look what I did" stuff to colegues was the original radical, exciting idea). Until 128-K DECTapes and 32K-word disks were tied to the PDP-8 and its successor 12-bit machines (why 12? Transistors cost $$2.50 each and adding a bit required at least 40 of them, a shorter word wasn't long enough and a longer word was too expensive for a *personal* computer), the PDP-8 had no operating system. You turned it on, toggled in the program (or a program sufficient to get it to read paper tape) into memory, 12 switches per word, hit the DEPosit key and do the next one, loaded the paper tape if need be and ran your program. The 8 was small but serious well-designed hardware. It was the first line of computers of which more than 100 machines *using* *the* *same* *software* were ever made! Until then, anyone with access to any two computers had to rewrite *everything* for even available high-level languages like FORTRAN and COBOL were not transportable. The 8 was so flexible and easy to use that it computerized the news wire services, Western Union, telephone switching, power plant (including nuke plant) operation, factories, basically the whole world (50K machines excluding the last 8's, based on the DEC/Intersil 6100 microprocessor). All with a design limiting total memory to 32K-words, 1K local pages and 4 K local address blocks. It shows you what people can do with a machine with SIX basic instructions, 4 "advanced" arithmetic statements , a group of 1 and 2-bit rotates and conditional executes , and a set of basic I/O instructions designed to send up to 7 instructions to each of 7 peripherals. So folks made the 1-microsecond clock PDP-8 do things today's programmers think require at least a 1 GHz 32-bit CPU, a quarter-GB of RAM and 4 Gig of disk space to do - and they did it in days, not months or years. Fact is that my Straight-8 is a curio, lovingly kept alive to provide people who learn beast through doing with the real thing (i.e. most of us if not all of us), a chance to get the look and feel of running a 1965-vintage computer. As for building a NEW system, I'd really like *every* would-be MicroSerf or even Linux project manager to spend their first year of learning to program hacking on a new PDP-8 - writing within the parameters of an existing machine with limits, instead of turning out flawed bloated garbage without shame, because they *know* that by the time their code gets published 2 years down the line, consumers will have already junked their inadaquate 3 Gig machines for 8-Gig machines with a 2GHz FSB connected to 4 GBytes of SuperRAM and a 3.5" 1 Terabyte drive. What's the old line about forgetting the lessons of history?

  25. Re:PIC is a bit more practical by Bassman59 · · Score: 2, Informative

    gTsiros:

    PIC stands for Programmable Interrupt Controller.

    When talking about the 8254, yes (but that part's not really not a "CPU"), but in this case, we're talking about something like Microchip's PIC family of gizzies, which are usually called "Programmable Integrated Controllers" or "Peripheral Integerated Controllers." ahhh, acronyms...