CPU Showdown For Pancakes

If you ask people how they rate as a driver, most of them will say they are better than average. At first, that seems improbable until you realize one thing: people judge themselves by different criteria. So Sally thinks she’s a good driver because she goes fast. Tom’s never had a wreck. Alice never gets lost. You can see the same effect with CPUs. Some are faster or have more memory bandwidth or more instruction issues per cycle. But [Andrew] and [Scharon] at Tom’s Hardware wanted to do the real test of a CPU. How well can it cook pancakes? If you want to know, see the video below.

While your CPU might be great for playing video games, it has a surprisingly small cooking surface, so the guys needed a very small pan. The pan had grooves in it, so they slathered it with thermal grease. We doubt that’s food-grade grease, either. Continue reading “CPU Showdown For Pancakes”

An Arduino Enhances This 7400 CPU

How quickly could you make an entire computer from 74 series logic, from scratch? [Richard Grafton had only 30 days until the UK’s Retro Computer Festival and set out to design and build his Cambridge-1 computer in that time. The result is a machine spread across several breadboards, with neatly placed wiring and unexpectedly an Arduino Micro sitting in the corner. Isn’t the little Italian board a cheat? Not so, he says, because instead of being part of the computer itself it serves as a program loader to make putting software onto the machine from a PC as easy as possible.

The machine itself is simple enough, a 4-bit design with 8-bit data and address busses. There are only 16 instructions, and the clock speed is a relatively pedestrian 40Hz. This does, however, allow the many blinkenlights to show the machine’s state in a more visible manner. There’s a video which we’ve placed below the break, and if you have further questions you might like to look at the GitHub repository.

We like the Cambridge-1, and we see no problem with the Arduino being part of it. It doesn’t take away from the 74-driven nature of the machine. Instead, it enhances the usefulness of the device by facilitating coding on it. We’ve had huge quantities of TTL computers here over the years so it’s difficult to pick one to send you towards, however you may want to consider the 7400 as the original in the series.

Continue reading “An Arduino Enhances This 7400 CPU”

RISC-V Uses Carbon Nanotubes

In a recent article in Nature, you can find the details of a RISC-V CPU built using carbon nanotubes. Of course, Nature is a pricey proposition, but you can probably find the paper by its DOI number if you bother to look for it. The researchers point out that silicon transistors are rapidly reaching a point of diminishing returns. However, Carbon Nanotube Field Effect Transistors (CNFETs) overcome many of these disadvantages.

The disadvantage is that the fabrication of CNFETs has been somewhat elusive. The tubes tend to clump and yields are low. The paper describes a method that allowed the fabrication of a CPU with over 14,000 transistors. A wafer gets nanotubes grown all over it and then some of them are removed. In addition, some design rules mitigate other problems.

In particular, a small percentage of the CNFETs will become metallic and have little to no bandgap. However, the DREAM design rules can increase the tolerance of the design to metallic CNFETs with no process changes.

Before you get too excited, limitations in channel length and contact size keep the processor running at a blazing 10 kHz. To paraphrase Weird Al, your operating system boots in a day and a half. The density isn’t great either since working around stray and metallic CNFETs means each transistor has multiple nanotubes in use.

On the other hand, it works. New technology doesn’t always match old technology at first, but you have to crawl before you walk, and walk before you run.

We imagine you won’t be able to buy this for $8 any time soon even if you wanted to. At 10 kHz, it probably isn’t going to make much of a desktop PC anyway.

A TTL CPU, Minimising Its Chip Count

By now we should all be used to the astonishing variety of CPUs that have come our way created from discrete logic chips. We’ve seen everything from the familiar Von Neumann architectures to RISC and ever transport-triggered architecture done in 74 TTL derivatives, and fresh designs remain a popular project for many people with an interest in the inner workings of a computer.

[Warren Toomey]’s CSCvon8 is an interesting machine that implements an 8-bit computer with a 64-bit address space using only 17 chips, and without resorting to any tricks involving microcontrollers. It implements a fairly conventional Von Neumann architecture using TTL with a couple of tricks that use modern chips but could have been done in the same way in decades past. Instruction microcode is stored in an EEPROM, and the ALU is implemented in a very large EPROM that would probably once have been eye-wateringly expensive. This in particular removes many discrete TTL chips from the total count, in the absence of the classic 74181 single-chip part. To make it useful there is 32k each of RAM and EEPROM, and also a UART for serial access. The whole is brought together on a neat PCB, and there is a pile of demo code to get started with. Everything can be found in the project’s GitHub repository.

At the start of this article we mentioned a couple of unconventional TTL CPUs. The transport triggered one we featured in 2017, and the RISC one is the Gigatron which has appeared here more than once.

FPGA Soft CPU Is Superscalar

We will admit it: mostly when we see a homebrew CPU design on an FPGA, it is a simple design that wouldn’t raise any eyebrows in the 1970s or 1980s. Not so with [Henry Wong’s] design, though. His x86-like design does superscalar out-of-order execution, just like big commercial modern CPUs. Of course [Henry] designs CPU architectures for Intel, so that’s not surprising. You can see a very detailed talk on the design in the video, below. You can also read the entire thesis project.

[Henry] starts out with a description of FPGAs and soft processors. He also covers the use of multiple instruction issue to increase the virtual clock rate of a CPU. In other words, if a 100 MHz CPU can do one instruction at a time, it won’t be any faster — in theory — than a 50 MHz CPU that can do two instructions at once. Of course, trying to do two at once has some overhead, so that won’t be completely true.

Continue reading “FPGA Soft CPU Is Superscalar”

CPU Made From 74HC Chips Is A Glorious Mess

Did you ever start a project that you felt gained a life of its own? This project by [Paulo Constantino] is an entire CPU named dreamcatcher on breadboards, and is a beautiful jungle of digital. On top of that, it works to connect to an analog VGA display. How cool is that!

Designing an ALU and then a CPU is a typical exercise for students of digital design and is done using VerilogHDL or VHDL. It involves creating an ALU that can add, subtract etc while a control unit manages data moves and the like. There is also a memory fetch and instruction decode made up of de-mulitiplexers and a bunch of flip-flops that make up registers and flags. They are as complex as they sound if not more.

[Paulo Constantino] went ahead and designed the whole thing in Eagle as a schematic using 74HC logic chips. To build it though instead of a PCB he used breadboards. Everything from bus decoders to controlling an external VGA display is done using jumper wires. We did cover a video on the project a while back, but this update adds a video card interface to the build.

The CPU updates the display buffer on the VGA card, and in the video below shows the slow and steady update. The fact that the jungle of wires can drive a display is awesome. He has since started working on a 16-bit version of the processor and we’d love to see someone take it up a notch.

For those more accustomed to the PCB, the Z80 membership card project is a great build for 8-bit computer fans.

Thanks to [analog engineer] for the tip.

Continue reading “CPU Made From 74HC Chips Is A Glorious Mess”

Getting Started With Free ARM Cores On Xilinx

We reported earlier about Xilinx offering free-to-use ARM Cortex M1 and M3 cores. [Adam Taylor] posted his experiences getting things working and there’s also a video done by [Geek Til It Hertz] based on the material that you can see in the second video, below.

The post covers using the Arty A35T or Arty S50 FPGA boards (based on Artix FPGAs) and the Xilinx Vivado software. Although Vivado will allow you to do conventional FPGA development, it also can work to compose function blocks to produce CPUs and that’s really what’s going on here.

Continue reading “Getting Started With Free ARM Cores On Xilinx”