TraNOR - A computer built with transistors
This is not a transistor computer. In fact, it is a computer with a CPU made up of discrete transistors,
and the CPU instructions are composed by microcode stored in the same memory that also contains the application program.
This computer consists of 1897 transistors for the CPU, 598 transistors for the four 8-bit I/O-ports and
additional 124 transistors for the LCD I/O board.
Furthermore, three integrated memory chips were used. Of course it would be possible to build
the SRAM chip with transistors and the ROM chip with transistors and diodes as well,
but this would have required much more transistors.
The complexity of my design is somewhere between the Intel i4004 CPU (2250 transistors) and the 6502 (3218 transistors).
The i8080 already has 4500 transistors and the Zilog Z80 even has 8500 transistors, so you get an idea how small my
design still is. The most complex component that I use in the computer is the EEPROM memory chip.
And even the LCD is also more complex than the TraNOR CPU.
My design goal was to build a transistorized computer that is 100% compatible with MyNOR.
I have reached this goal, software written for MyNOR runs on TraNOR with the same speed.
And TraNOR doesn't need a special EPROM image either, it also works with MyNOR
ROM v1.0 and later versions.
TraNOR features:
- The computer is made up of 2495 MOSFET transistors (BSS123 and BSS84, 1897 transistors for the CPU and 598 for I/O)
- Only three additional memory chips were used (8 kB SRAM, 32 kB EPROM, and a 64 kB EEPROM which is optional)
- The computer can be clocked at up to 7 MHz and is thus fully compatible with MyNOR when clocked at 4 MHz
- The total power consumption including the display board is less than 4.5 watts (at 4 MHz, 5 volts) (yes, really!)
- Extension boards made for MyNOR can also be used with TraNOR without restrictions
- All other features of MyNOR except the number of components and mechanical size also apply to TraNOR:
- The CPU is able of doing up to 2600 8-bit additions per second at 4 MHz CPU clock
- A stack memory of 256 byte enables nested subroutine calls
- Up to 24 digital outputs and 8 digital inputs with integrated pull-up's
- RS232 interface with 2400 baud @ 4 MHz or 4800 baud @ 8 MHz
- I2C and SPI interfaces to connect peripherals
- Slim microcode architecture with 28 instructions
- The microcode occupies only 9 kB of the ROM, 23 kB are free for the OS
- The Operating System provides lots of useful API functions
- The OS contains a calculator program that can do floating point calculations
- The OS contains a monitor program which allows directly programming MyNOR in assembly
- Software-upload is done via "copy-and-paste" of text-files into the terminal window
- Cross-Assembler for Linux and MS Windows available
Note: I could have built the computer without any memory chips. The 32 kB EPROM (ROM) could be replaced by a large
diode matrix or a core rope memory,
and the 8 kB SRAM could be replaced with many discrete flip-flops or discrete DRAM memory cells.
And the 64 kB EEPROM is not needed at all. But for the sake of simplicity, I decided to use these chips anyway.
Fun fact: If I had built this computer with only 1252 transistors and one 100 ohm pull-up resistor per transistor
(instead of the push-pull stages), the computer would have only achieved a clock frequency of about 2.5 MHz,
but would have consumed 150 watts of power!
Here is a short video about TraNOR. The video shows that the games for MyNOR can also be played on TraNOR.
Click on the picture below to open the Video in a new window:
The TraNOR design in detail
This is an overview of the PCBs used in TraNOR. The "register board" is used twice in the system. The two register boards
contain the logic of all D-Flip-Flops (74HC574) of the MyNOR computer design.
The "counter board" contains a discrete, loadable 8-bit counter used for sequential addressing of the microcode that is
stored together with the application program code in the 32 kB EPROM also located on this board. The "datapath board"
is used as the interconnect board between the other three boards. It contains data bus drivers and the data source
and destination decoders. The "NOR gate logic unit" is also located here. Click on the pictures to enlarge them:
Counter Board
|
Datapath Board
|
Register Board 2
|
Register Board 1
|
The logic gates used in TraNOR are all built with MOSFET transistors. I use the traditional complementary transistor
logic with one PMOS and one NMOS transistor. Simulations have shown that the BSS138 and BSS84 transistors work best in this
configuration:
|