News for hackers. Stuff that matters.
Re:Nibbler 4 Bit CPU by PythonicAlpha on Tuesday October 13, 2015 @06:29AM (#10379472)
Yes, it is a very limited design, but the thought, that it was implemented just using (very few!) standard 74xxx TTL logic is really amazing.

And still it runs with 1MHz, the same speed of my first computer ;) with a dedicated integrated CPU.

Re:Nibbler 4 Bit CPU by makomk on Tuesday October 13, 2015 @07:08AM (#10379597)
It's implemented using a few standard 74xxx TTL logic chips and a 256x16 microcode ROM. It's important not to ignore the microcode ROM because that's where all the smarts that turn it from an ALU unit and a bunch of registers and miscellaneous logic into a CPU that can actually execute instructions. All of the instruction decoding and the sequencing of all the operations that make up a CPU cycle is done directly by the microcode ROM.
Re:Nibbler 4 Bit CPU by PythonicAlpha on Tuesday October 13, 2015 @07:58AM (#10379791)
That is right. That differs of course from early microprocessor designs, but still it is valid, since today's processors also rely heavily on microcode that is simply stored in ROM or similar areas.

I think, you can not give this design a negative, because it is much simpler than early microprocessors.

I forgot about the ROM, and apologize for it.

Re:Nibbler 4 Bit CPU by creshal on Tuesday October 13, 2015 @08:34AM (#10379938)
Two 16 KiB ROMs, actually.

(Meanwhile, current Intel processors have 2 MiB microcode files.)

Re:Nibbler 4 Bit CPU by k8tte on Tuesday October 13, 2015 @09:14AM (#10380170)
to be fair, that's 2 MiB code that is the base of the other os you never heard of, the IME, AMT and their backdoor capabilities [1]

1: https://fsf.org/blogs/community/active-management-technology

Re:Nibbler 4 Bit CPU by creshal on Tuesday October 13, 2015 @11:25AM (#10381074)
No, that's just the CPU µcode. IME/AMT are part of the BIOS/EFI images, which is a whopping 16 MiB for my current motherboard.
Re:Nibbler 4 Bit CPU by makomk on Thursday October 15, 2015 @05:08AM (#10392109)
The current CPU microcode download appears to be 0.81 MB compressed for every single Intel CPU since the Pentium 4.
Re:Nibbler 4 Bit CPU by jokr004 on Tuesday October 13, 2015 @10:02AM (#10380501)
You know, lights out management is a wonderful thing and there's never been any kind of evidence that these features do anything but offer functionality that Intel's customers asked for.
Re:Nibbler 4 Bit CPU by mnw21cam on Tuesday October 13, 2015 @08:19AM (#10379864)
The ROM is basically acting as an FPGA. After all, an FPGA is just a load of units of small ROM areas, with the inputs and outputs linked to each other. If all you need to implement your circuit is a single unit, then a small ROM chip is quite sufficient instead.
Re:Nibbler 4 Bit CPU by adwn on Tuesday October 13, 2015 @09:16AM (#10380196)
> The ROM is basically acting as an FPGA.

No, it doesn't; neither from a practical, nor from a theoretical point of view. Theoretically, ROMs are equivalent to the class of pure, total, mathematical functions (i.e., each input value maps to exactly one output value), while FPGAs are equivalent to the class of deterministic finite automata, because they contain internal state.

> After all, an FPGA is just a load of units of small ROM areas, with the inputs and outputs linked to each other.

You're forgetting the memory elements – they're crucial to the functionality of FPGAs.

Re:Nibbler 4 Bit CPU by duskwuff on Tuesday October 13, 2015 @01:52PM (#10382157)
> You're forgetting the memory elements – they're crucial to the functionality of FPGAs.

I'd argue that an even more critical feature of FPGAs is configurable routing. ROMs don't have that either. :)

Re:Nibbler 4 Bit CPU by adwn on Tuesday October 13, 2015 @03:02PM (#10382685)
True. But then again, that's like arguing over which organ is more important – the heart or the lung – when you can't survive without either of them ;-)
Re:Nibbler 4 Bit CPU by duskwuff on Tuesday October 13, 2015 @11:16PM (#10384806)
You can build memory elements - inefficiently, but it's possible - out of recurrent logic. You can't build routing.

Actually, now I wonder whether it'd be possible to build memory out of ROM by looping outputs back to inputs...

Re:Nibbler 4 Bit CPU by adwn on Wednesday October 14, 2015 @02:57AM (#10385338)
> You can't build routing.

You actually don't need configurable (programmable) routing: We can model every synchronous circuit as a Mealy machine [1], therefore we need two functions and a register. Every function can be constructed from a hierarchy of programmable, fixed-size LUTs which are statically connected (for example, you can build a 5-input LUT from three 4-input LUTs). Now you don't need to build routing, it's implicit in the next-state and output functions.

[1] like this: http://electrosofts.com/verilog/mealy.gif

Re:Nibbler 4 Bit CPU by ChuckMcM on Tuesday October 13, 2015 @12:21PM (#10381493)
I have a 12 bit CPU at home that is implemented out of standard 74xxx TTL chips, its called a PDP-8/e :-). Not to take away from the Nibbler design, its great, but using TTL logic to build CPUs was a thing for a pretty long period of time (computer wise), probably 10 years from 1971 - 1981. 1981 was the year IBM introduced the IBM PC and a lot of people realized that bespoke CPU architectures were a luxury they could no longer afford.
Re:Nibbler 4 Bit CPU by PythonicAlpha on Tuesday October 13, 2015 @02:01PM (#10382262)
Of course the technique itself is not that new, but it is still amazing, because of the real few chips used. Of course the microcode ROM replaces plenty of those, but still it amazes me, how few chips make up for a workable CPU.

I guess, the PDP has at least 10 times more (equivalent) chips inside.

Re:Nibbler 4 Bit CPU by ChuckMcM on Tuesday October 13, 2015 @02:48PM (#10382581)
You know, I've never actually counted them although we can estimate them from pictures on the web

M8310 - 53 chips (http://www.classiccmp.org/hp/My%20PDP-8%20Cards/M8310.jpg)

M8300 - 64 chips (http://www.classiccmp.org/hp/My%20PDP-8%20Cards/M8300.jpg)

So 117 chips, so not quite 10X but the nibbler does have an LCD display and if you add the PDP-8/e programmer console to the mix you're probably close to 170 chips. So great estimate!