A square red circuit board is shown on a black workbench. The circuit board houses two large chips in the upper left corner, each with a large heat sink attached.

Just How Bad Was The Intel IAPX432?

Processor design over the last few decades has moved toward RISC processors that aim to implement a few simple operations very efficiently. For a while, though, the trend was toward ever-more-complex CISC designs that let programmers implement complex behaviors using as few instructions as possible. Few processors took this approach further than the Intel iAPX432. This hyper-CISC processor was a commercial failure, largely due to its notoriously poor performance, but [MarkTheQuasiEngineer]’s benchmark suggests that this notoriety wasn’t totally deserved.

The first step before running a benchmark was to build a computer around the processor. The iAPX432 was implemented in three chips, two of which acted as the general data processor (GDP), and one of which handled input and output. [Mark] built an SBC (design and code here) that houses the two GDP chips and an FPGA for I/O. The 432 did have a well-deserved reputation for efficiently turning electricity into heat, and the original voltage regulator failed rather quickly.

The 432 was designed to use machine code which was almost a high-level language, with built-in object-oriented programming. It had over 200 operators, some of which implemented complex object-oriented operations, and a wide variety of data types, but it had no directly-accessible general-purpose registers. In addition to the lack of registers, it also had a very complex addressing system, allowing both direct and indirect addressing. For better performance, [Mark] used direct addressing.

For the benchmark, [Mark] implemented the Spigot algorithm to calculate the value of Pi. The results were somewhat surprising: calculating 2048 digits, it beat his previous retro-processor benchmarks; an Intel 8086 running the same algorithm took 2.5 times as long. Based on the results of this hand-written code, [Mark] speculates that the 432’s poor performance had more to do with poor compiler optimization than with the fundamental design.

We’ve covered some of the history of this troubled chip before. For a similarly ambitious but ill-fated Intel project, check out the history of Itanium.

Raspberry Pi Spigot Puts Digits Of Pi On Tap

What did you do for Pi Day? Play with your Raspberry Pi 400? Eat some pizza or other typically round objects and recite all nine digits you’ve got memorized? That’s about where we were at this year. But not [bornach], no. [bornach] went all out and built a spigot that spews digits of Pi well past the first nine decimal places.

This clever spigot sculpture implements the spigot algorithm for generating digits of Pi one-by-one in a stream on to a chain of 8×8 matrices, and does so using a Raspberry Pi (of course). The point of the spigot algorithm is to store as few numbers as possible at any given time by reusing variables. We love the way the digits materialize on the matrix, almost as if they are ink being activated by water. Be sure to check out the build and demo video after the break.

That 10k pot on the top really does control the spigot — since the Pi has no ADC, [bornach] is using the potentiometer to charge a capacitor and using the time it takes to reach the threshold to decide whether the faucet is open or closed. There are a couple of hacks at play here, including the Popsicle-stick LED matrix bracing and the HAT [bornach] fashioned so the daisy-chained 8×8 LED modules could interface with the Pi.

We love Raspberry Pis of all eras around here, especially the darling new Pico. Diminutive as it may be, the Pico can be sliced even smaller with a hacksaw if you don’t mind losing a few GPIO pins.

Continue reading “Raspberry Pi Spigot Puts Digits Of Pi On Tap”