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!"

55 of 365 comments (clear)

  1. TRS80 by ClamClit · · Score: 5, Funny

    ...and I building a 3.5 GHz TRS80 with a GIG of RAM and 2 5 1/4" 80 GB floppys. its the cats ass

  2. what for by neotokyo · · Score: 3, Insightful

    while the geek factor may be high, what sort of 12-bit software is it going to run ? linux?

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

      RT11, of course :-)

      --
      Trolling using another account since 2005.
    2. 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
    3. Re:what for by rainwalker · · Score: 5, Funny

      Now, I'm no expert on legacy computers, but a machine with 32KW of core sounds dangerous...suddenly my 80W Athlon looks puny!

    4. Re:what for by Waffle+Iron · · Score: 5, Funny
      while the geek factor may be high, what sort of 12-bit software is it going to run ? linux?

      In the bottom of a box somewhere in my basement, I've still got the BASIC source code for the Star Trek game we used to run on our high school's PDP-8. For each player's turn, it printed out the map of the current galactic sector along with any Klingon ships on the line printer.

      It's funny, I remember when we played that game we felt like we had godlike control over a mysterious and powerful machine. Now when I play computer games, I mostly feel like a twitching moron.

    5. 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.

    6. Re:what for by red_dragon · · Score: 4, Funny

      I remember when we played that game we felt like we had godlike control over a mysterious and powerful machine.

      That must've been a nice feeling, I bet. In these days, the mysterious and powerful machine has god-like control over you!

      --
      In Soviet Russia, Jesus asks: "What Would You Do?"
    7. 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 ...

  3. An idea by AppyPappy · · Score: 3, Insightful

    An idea whose time has passed. Maybe he can build an Edsel while he is at it.

    --

    If you aren't part of the solution, there is good money to be made prolonging the problem

    1. Re:An idea by b0r1s · · Score: 3, Insightful

      Maybe a '53 Corvette would be a more apt analogy in the car industry. But of course, no one would want one of those, since it's an idea whose time has passed.

      A '53 vette can still drive on the roads, use normal gas from the pump, and hit speeds upwards of 100mph on the highway.

      The PDP-8 simply isn't capable of competing with any current hardware; most Palms are more powerful.

      --
      Mooniacs for iOS and Android
  4. ENIAC by kaden · · Score: 3, Funny

    Anyone for hitting up the local vacuum repair shop and getting started on an ENIAC reconstruction project?

    1. Re:ENIAC by vizualizr · · Score: 3, Funny

      The vacuum repair shop?

      no, that idea sucks.

      --
      anything i tell you will cloud your opinion.
  5. 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
  6. 12 bits by vasqzr · · Score: 5, Interesting


    I found that, where you are not primarily handling ASCII, 12 bits was a very good size.


    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 ?

    1. Re:12 bits by FauxPasIII · · Score: 5, Interesting

      >> 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 ?

      Because powers of 2 are easier to work with in binary.

      --
      25% Funny, 25% Insightful, 25% Informative, 25% Troll
    2. Re:12 bits by oliverthered · · Score: 3, Interesting

      8 bit is base 2

      1 2 4 8 16 32 64 128 256 512

      So I suppose 12 could be ....

      1 3 6 12 24 .... hmmmmm..... now quite correct

      maybe
      1 2 3 6 12 24 ... 60 ... 420

      anyway

      12 is good because
      12/6 = 2
      12/4 = 3
      12/3 = 4
      12/2 = 6

      --
      thank God the internet isn't a human right.
    3. 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

    4. 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.

    5. Re:12 bits by spitzak · · Score: 3, Insightful
      If the length is a power of two, than a "bit number" (a shift value, or an argument to a bit-test instruction, or anything else that identifies a bit by a number) will fit into a set of bits with no waste.

      This DOES make a difference. More important than the space savings is the ability to know that a pattern of bits could not encode any illegal instructions that had to be tested for.

  7. This is great news :) by solostring · · Score: 4, Interesting

    I fondly remember the PDP8. My father had one installed in the garage when I was a kid, and had my first experience of programming on it when I was 8 or so.

    On the subject of PDP8's, I was surprised to hear that they were used in communications in Hong Kong up until at least 1999 for a number of financial institutions. I worked with an old computer technician who earned a fortune maintaining these beasts. I wonder if they are still being used in HK after the Chinese reclaimation?.....

  8. Why? by BWJones · · Score: 5, Interesting

    but he is not just building a hardware clone, but trying to revive the whole idea of 12 bit computers!"

    So, after reading the article, I am still trying to figure out....Why revive the idea of 12 bit computers? Other than nostalgia (which is why people still drive Studebakers, old Ferraris and old Porsche's I suppose), what is the point?

    --
    Visit Jonesblog and say hello.
    1. Re:Why? by Kibo · · Score: 5, Funny

      I can't be sure about Studebakers but in the case of classic Ferraris and Porsche's I'm fairly certain the idea is still to get laid.

      --
      --Jimmy has fancy plans; and pants to match.
    2. Re:Why? by image · · Score: 4, Funny

      > I can't be sure about Studebakers but in the case of classic Ferraris and Porsche's I'm fairly certain the idea is still to get laid.

      I'm rather sure it is easier to get laid in a vintage Studebaker than a Ferrari.

      More leg room and all.

  9. replica computers ... its logical innit? by trash+eighty · · Score: 3, Interesting

    people have been building replicas of old cars, boats and aeroplanes for years. i suppose its logical that people would start building replicas of old computers sooner or later. much computer hardware is boring these days, generic MBs and computers. ahh the good old days when we had some variety ;)

    all power to him!

  10. Interesting by GeckoFood · · Score: 3, Insightful

    It would be fun to play around with something cool like that, just for the sheer ability to say "Hey, y'all watch this!" (Oops, better watch that there accent, ya rekcon?) It would especially nice to have a C compiler or something to develop apps for it, again just for the coolness factor.

    With a twelve-bit computer, what is the address space, anyway? Something like 2048 words? Suprisingly, you can actually do a lot with that if you code it tightly. No, can't do weather map rendering too well or anything like that, but I bet you could pull off a stripped down version of NetHack or something...

    Coolness, regardless. :-)

    --
    Be excellent to each other. And... PARTY ON, DUDES!
  11. 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
  12. 12 bit is best for the US patriot by MosesJones · · Score: 5, Funny

    12 bit is much better for patriotic Americans.

    Think on it, power of two is a far to simplistic and dare I say it European system for the patriotic American. In Europe they use metres, kilometers, grams and kilgrams. All this regulation of structure around a number like 10 is typical of Europeans. Americans use sensible systems like 14 pounds (abbreviated sensibly to lbs as pounds clearly contains the letter l) to a Stone and 16 Ounces (again with a sensible abbreviation of oz) to a pound. Who needs these ridiculous regimented European systems that dicate that everything must follow a sensible pattern?

    Patriotic Americans arise. 12 bits to a byte, 7 bytes to a word, 13 words to a sentence and 1764 bits to a chain.

    --
    An Eye for an Eye will make the whole world blind - Gandhi
    1. 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

    2. 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.

  13. What Gives? by SuperDuG · · Score: 4, Funny
    Everyone is waiting around for 64-bit chips to hit the home computer market at resonable prices, is this some kind of protest "bits, we don't need no stinkin bits".

    On a related note, I'm going to be designing my own 32 bit system. It's going to be pretty cool having an asthetically pleasing case, and run most all of the common software out there, but make the operating system run on top of bsd. Then I'll make really high-end systems, and education type systems, and laptops.

    Now I'm 95% of the way done with this whole project so I've hired an advertising firm to come up with some commercials. I figure I'll show joe average sixpack switching from the normal x86 windows machine, to my machine, I'll call them 'Switch-Ads'.

    My proprietary systems will never run on anything else, and you will be forced^H^H^H^H^H^H encouraged to only buy via our website.

    I'll call them MOC's ... and the company will be named Orange.

    --
    Ignore the "p2p is theft" trolls, they're just uninformed
  14. What for? by archeopterix · · Score: 3, Funny

    8 bits should be enough for everyone.

  15. Text based games by Technician · · Score: 5, Interesting

    I remember playing the father of the Zork series of games on a PDP 11/35 which was the newer 16 bit machine. The game was called Adventure. We got the game on a 5 Meg 14 inch hard drive (RK05) and wasted a bunch of paper making moves on a keyboard/printer terminal. The scrollback feature of the hardcopy was great for finding your way out of a maze again. Adventure has since been ported to CPM and DOS. The game is still a great game and will challenge the thought process. Take a pencil and paper to keep from getting lost. There is no map. Do a google search to find this true classic game. You should be able to run it in a DOS window on Windows 95 before DOS and Windows 95 expire at the end of this year. I'm still trying to figure out who the shadowy figure is who tries to get my attention.

    --
    The truth shall set you free!
  16. a PDP8 was my home machine in 1976 by MarkWatson · · Score: 3, Interesting
    But, it was just an Intersil Intercept Jr. single board version of a PDP - same instruction set though.

    It was fairly easy to program for - I wrote a simple cross-assembler on a Dec-10 that would print out my assembler source with machine code (in octal). For short programs, it was fairly quick to enter the programs in octal. Since the Intercept Jr. was all CMOS, the programs would stay in memory as long as I wanted without runnng down the batteries.

    Really, it was very cool, and fun.

    -Mark

  17. Didn't these things have selectable word sizes? by GreyPoopon · · Score: 4, Interesting

    I remember seeing one of these puppies when I was in high school. It was no longer in service, but still had most of its internal components. In fact, I still have one of the "flip chips" that I took from inside it. Anyway, I believe I recall a dial on the front of the main panel that allowed you to choose the word size. I can't remember whether 12 bits was the minimum or the maximum, though. Can anybody verify that this existed, or am I just remembering some strange dream?

    --

    GreyPoopon
    --
    Why is it I can write insightful comments but can't come up with a clever signature?

    1. 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...
  18. Resurecting old hardware designs by randomErr · · Score: 4, Insightful

    Some mentioned earlier on this thread jokingly about making a super fast computer based on old architecture.

    Has anyone actually done that? Has anyone actually taken say, a Tandy Color Computer 3's hardware and boosted it up to something approaching our current standards? I'm not talking emulation on a x86 platform. I mean fully working with a processor with a native OS.

    Those architecture are so simple, with kernels so small you could print the hex binary out on a couple of pages. Imaging how fast an accounting package would be on a 1 gHz, or even a 200 mHz.

    I know this maybe off topic, but if someone could resurrect a 12-bit system to a more modern standard, why not other system. DOS is still viable in certain circumstances, why not these platforms.

    Think about an 8-bit controller with a serial connection, flash memory, and a RCA video out jack that is based on a C64. There is a TON of documentation for programming on something like that. Linux guruâ(TM)s could use C/C++ and Windows users could use Commodore BASIC.

    Oh well thatâ(TM)s just my ramblings.

    --
    You say things that offend me and I can deal with it. Can you?
  19. Because, as Tom Lehrer, formerly of MIT noted. . . by kfg · · Score: 3, Funny

    "Base 8 is just like base 10 really. . .if you're missing 2 fingers."

    KFG

  20. Six copies of Windows by Anonymous Coward · · Score: 5, Funny

    What else would be a 12-bit OS?

  21. XYZZY by MosesJones · · Score: 4, Funny


    And of course

    "with your bare hands?"
    yes
    you stand amazed as the dragon lies dead at your feet.

    Bugger graphics you can't beat a maze of twisty passages, all different.... or was it a twisty maze of different passages.

    --
    An Eye for an Eye will make the whole world blind - Gandhi
  22. 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
  23. PIC is a bit more practical by Bruce+Perens · · Score: 4, Interesting
    If you want to program old microcomputer architectures, learn the PIC microcontroller, which is based on some Control Data Co. Peripheral and Input Controller (I may have the "I" wrong in that acronym). It's available in 12, 14, and 16-bit flavors. It doesn't have much of a stack. And it has the virtue that, as a $1 microprocessor, it's still practical for many projects, while a PDP-8 is really an intellectual exercise at this point.

    Bruce

  24. Reminds me of... by Tsali · · Score: 3, Funny

    a rough quote from Monty Python...

    "I built the castle in the swamp. They said it would fall over but I did it anyways. Sure enough, it did. I build a second castle and that one fell into the swamp as well. But the third castle stayed."

    Looks like he needs another iteration.

    --
    This space for rent.
  25. I blew up a PDP8 - and survived by Ella+the+Cat · · Score: 3, Interesting

    I'm old enough to have done an electronics project building a joystick interface for a PDP8 as an undergraduate. I spent ages soldering TTL chips and after a few weeks plugged the card in, to a strong smell of fish and burning insulation. It wasn't my fault, the slot in the edge connector was too wide, and every single connector on the backplane had shorted to every other. It was 6 months to get the machine repaired, so someone figured out they could take out the power transformer, scrape off the burnt mess, figure out how many primary and secondary turns were needed on the transformer, then wind them on using a reel of wire and a lathe. They go the machine going, someone else filled the board slot with epoxy and cut a new slot. My project was saved! A few weeks later i reached round the back of a PDP8 to unplug a power connector, grabbed the live pin, but was saved because my arm was earthed to the PDP8 case. I love that machine, I still have the instruction set on a sheet of paper.

  26. 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); }
  27. I loved the PDP-8 but I'm not convinced... by dpbsmith · · Score: 4, Interesting

    Until I actually started programming a PDP-8 (in assembly language, of course), I would never have believed that you could program comfortably in such a seemingly restricted instruction set. And, conversely, when I moved to a PDP-11, I thought I was going to revel in the freedom and power of all those instructions, all those registers, those addressing modes, those index registers... and the ability to access 65536 bytes directly.

    If C is "high-level assembly language," then the PDP-11 is "a computer that directly implements C."

    To my surprise, though, I didn't really find that a lot was gained. Programming a PDP-11 didn't really FEEL much easier or more powerful than programming a PDP-8. And it was amazing how much every program expanded in size. It's been said that the PDP-8 instruction set was the most core-efficient ever devised, and I'd believe that.

    On the other hand, when I tried programming a 6502, which on the face of it doesn't SEEM that much more restricted than a PDP-8, I just about went bananas.

    Having said all that, I'm still not sure I see the point. The sweet design for a computer has to depend on the economics of the hardware around it. Who cares? Even IF the "core-efficiency" thing were true, and even IF you could use standard RAM with a 12-bit processor and not waste any bits, and even IF it turned out that the PDP-8 design were, say, 30% faster and used 30% less RAM for a given program than x86... how could it matter?

    If the Alpha, which really WAS a superior design, wasn't superior enough to overcome Intel marketing, customer inertia, and only the normal amount of mismanagement, how can a PDP-8 be anything more than a curiosity?

    1. Re:I loved the PDP-8 but I'm not convinced... by dhogaza · · Score: 4, Insightful

      If C is "high-level assembly language," then the PDP-11 is "a computer that directly implements C."

      Actually it's fair to say that C was developed as a "high level assembly language" for the PDP-11, in other words you've got it slightly backwards. The postfix "++" and prefix "--" operators correspond to the PDP-11's autoindexing mode and when applied to a dereferenced pointer map directly to "(Rn)++" (once the pointer's been moved to a register.

      I doubt C would have these constructs if the PDP-11 didn't provide the corresponding register mode.

      As far as the PDP-8 being perhaps the most core-efficient design ever, speaking as someone who once developed system software for the PDP-8 and afterwards compilers for the PDP-11, yes, I'd say you're right.

      As long as you could fit program and data into 4096 12 bits words, that is. If your program could fit into 4096 12 bit words accessing data in the remaining 28KW was relatively easy due to the semantics of the CDF instruction. But once your code itself outgrew the first 4096 words things got bad in a hurry, because cross-bank subroutine calls using the CIF instruction were fairly expensive.

      Gordon Bell designed both the PDP-8 and the PDP-11, and they were designed with different goals in mind. The PDP-8 was designed to be programmed in assembly code - the page and memory bank addressing structure made the development of efficient compilers impossible (it's not an accident that no system programming language like C was never implemented for the PDP-8 architecture).

      The PDP-11, on the other hand, was the first minicomputer designed with the compiler writer in mind. The instruction set was very easy to generate code for, much easier than for many mainframe machines that in those days still often had a single accumulator and some auxillary special-purpose registers. The PDP-11's clean, general-purpose register design and (relatively) orthogonal instruction set made compiler writers like myself almost faint in anticipitory pleasure when the design was first announced.

      While Gordon Bell designed the PDP-8 and PDP-11, the original engineering plans for the PDP-8 are signed by DeCastro, who did the implementation. He submitted a rival design for DEC's 16 bit minicomputer that was no where near as clean or compiler-writer-friendly as Bell's PDP-11 design.

      When the PDP-11 design was chosen, DeCastro left and started Data General, and his 16-bit design became the oft-loathed Nova.

      CDC's 12-bit PIC design was much inferior to the PDP-8's, IMO ... the PDP-8 still serves as a great example of minimalist design in an era where each bit of the accumulator was implemented by a double-width card (each BIT, thirteen of these cards in all, 12 for the accumulator bits and one for the overflow LINK bit).

  28. 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?"
  29. You speak heresy, Grasshopper by kfg · · Score: 3

    C compiler indeed.The PDP-8 was natively a FORTRAN machine. Apps can be developed perfectly well in FORTRAN. . . and the coolness factor is higher.

    King Arthur: Noble FORTRAN compiler, although you are a dead language. . .

    FORTRAN compiler: I'm not dead yet sire.

    King Arthur: Although you are a mortally wounded language. . .

    FORTRAN compiler: Actually sire I'm feeling a bit of all right.

    Again, C compiler indeed. Gag my PDP-8 with a spoon. ( Actually, that would be 'anatomically' possible)

    Here's an interesting little page on the history of the PDP-8 OS's and languages:

    http://www.cs.uiowa.edu/~jones/pdp8/history.html

    And here's an interesting computer history page with several FORTRAN links ( as well as UNIX and C links):

    http://www.fortran-2000.com/ArnaudRecipes/CompMu se um.html

    C compiler. . . phbbbbbt!

    KFG

  30. W95 and DOS will not expire at the end of the year by kfg · · Score: 3, Interesting

    Only official support for them will. DOS will never 'expire.' It's done. Of course you can't buy MS-DOS anymore, but there's always DR-DOS and FreeD0S, both still supported.

    W95/98, on the other hand, will actually expire some years in the future. I discovered this on a reinstall that went bad. Windows simply refused to install. Having a Gateway at the time I called tech support and the issue was tracked down to a buggy BIOS (gotta watch for those updates) that had reset my system clock to a future time.

    "Ah, there's your problem. Windows has a 30 year time bomb built in so it thinks it's expired."

    Ummmmmm, good to know. I guess that's how long we've got to port all our favorite W95/98 games to Linux ( or maybe Plan 9).

    KFG

  31. 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 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.

  32. 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

  33. PDP-8 microprocessors by panurge · · Score: 4, Interesting
    This is so long ago I can't even remember the manufacturer, but there were at least 2 CMOS implementations of a PDP-8 processor. Has anybody observed that the instructions were based around core memory, so the accumulator was cleared when it did a store? If you could get the core again, a home computer with a PDP-8 processor and core memory would really benefit from a modbox with windows and lights.

    For some industrial control jobs, something like a PDP-8 or PDP-11 is in many ways ideal because you can see everything that goes on. It is actually possible for one person to understand the hardware, the microcode, and every single bit of the software. For me, that is the great pleasure of small embedded designs. I really think it would be good to have a teaching tool for CS that actually meant that the student could do a project and have a complete overview of the entire thing in this way. I'm far from knocking progress, but there are comments on this thread that are a bit about the kind of alienation we have now between hardware and software - most people have no real idea at all what the hardware does, and use terms like "cache" without even stopping to think about what is going on. So yes, let's have someone build an understandable modern PDP-8. It's less weird than the RCA1802 and easier to get your head around than the 8080.

    --
    Panurge has posted for the last time. Thanks for the positive moderations.