Steve standing inside a Cray-1 supercomputer

Computer History Museum Visit

A fantasy-land for hardware nerds like me is hidden in a former Silicon Graphics building in Mountain View, California. Despite living only a few miles away from the Computer History Museum, somehow I’d never found the time to visit there…

Altera CPLD prototyping board and USB-Blaster

Experimental Hardware

With the design of the Tiny CPU core more or less finished, I’ve started thinking about how to build a small computer around it. My goal is to create a simple machine with a keyboard input, a 4-line LCD output,…

Variable Size Instructions

My analysis of the advantages of fixed-size instructions proved to be badly flawed. The improvements I saw when switching to a 16-bit fixed instruction size were not what I originally thought: the size and speed gains came from the reduction…

Tiny CPU architecture diagram

Tiny CPU Architecture

As promised, here’s the Tiny CPU architecture diagram. SP is the stack pointer, and is 6 bits, providing a 64-entry stack. EA is the effective address, used for data load/store from absolute or computed addresses. PC is the program counter.…

Tiny Asm

I’ve finished writing the Tiny CPU assembler, and it works. It took about four hours across two nights to get something with basic functionality. The curious can take a look at the assembler source code for details. I don’t have…

Fixed Size Instructions

I’ve finished my experiment with fixed-size instructions for Tiny CPU, and the results are encouraging. I did a straightforward conversion to a 16-bit instruction size, with the opcode in the upper 6 bits and the address (if any) in the…

Tiny CPU

I’ve got a working CPU! You can grab the Verilog source and a testbench. The instruction set and addressing modes are as I described them in my previous post, except that I shrank the stack pointer to 6 bits (64…

Back-Annotation

I think I’m close to having this CPU fit the 128 macrocell CPLD, but running into some problems with the final details. Soon I’m going to work on a physical board layout for this CPU, at which point all the…

Success?

I think I’ve succeeded at cramming a decently useful CPU into this 128 macrocell device! I threw away my first design and started over from scratch, abandoning almost all the 6502-related elements, and working closer to a minimal instruction set…

Page 71 of 88