Make your own free website on Tripod.com

headerdef.jpg

H O M E - APOLLO181 INTRODUCTION
74181 Chip History
BUGBOOK® TTL Chips
CPU Specification
Instruction Set
CPU Architecture
Programming PROM
First Program Example
Binary Clock Algorithm
Shift-and-Add Multiplication
Prime Numbers Benchmark
PWM LED Dimmer
Step Motor Controller
Sound Generator: Part 1
Sound Generator: Part 2
Random Number Generator
APOLLO181 Schematic
YouTube VIDEO
EPROM Data Storage
My Previous Z80 Project
DISCLAIMER


APOLLO181 is a homemade didactic 4-bit CPU

 made exclusively of TTL logics and bipolar memories 

All employed chips are described in the Bugbook® I and II,

in particular the 74181 Arithmetic and Logic Unit.


After having intensively explored the Z80 CPU, I decided to design and make a processor from scratch by myself.

 

The Bugbooks® volumes written by Dr. Peter R. Rony in 1974, Virginia, (which were my first study books) inspired and encouraged me to realize this.

 

Peculiarity of APOLLO181 is the effective programmability: like real processors it can be instructed to perform high speed operations at different times and conditions, while exchanging data with the outside world.

 

You will remain astonished to perceive how nowadays components and computers are thousands of times smaller, faster, lighter, more integrated and cheaper, but you can still recognize in them many of the basic principles that you will find in this project.

 

I’m very delighted that Dr. Peter Rony, to whom I have recently communicated this project, has defined my APOLLO181 “a labour of love”.

 

Gianluca G., May 2012, Italy

 

 

  

apollo181cpu.gif
APOLLO181

Introduction to APOLLO181 machine


APOLLO181 was designed and built in 2012 by Gianluca G. (an Italian electronic engineer, author of the homemade Z80/AM95 8-bit NANO COMPUTER) adopting early 1970s TTL technology and using original vintage components, with retro style layout. One of the goals was in fact to obtain as much historical accuracy as was possible.

 

APOLLO181 is a pure 100% TTL machine: for the microcode decoder too have been used TTL FUSE PROMs and not CMOS EPROMs like generally done by the majority of the hobbyists making homemade CPUs.

 

The machine was built using extremely accurate soldering with a miniature iron and sockets for over sixty TTL integrated circuits on a single square foot perfboard. Designed and tested with the aid of a hardware simulator, APOLLO181 originally run at 2.5 MHz, by using Low Power Schottky 74LS family chips.

 

Then, after being tested, nearly all integrated circuits were changed into pure Schottky 74S technology: a previous, but faster TTL logic family, introduced by Texas Instruments in 1970, which allowed APOLLO181 to run up to 3 MHz.

 

The project is based on the famous 74181 Integrated Circuit that is a TTL Arithmetic and Logic Unit (ALU), frequently used in the 1970s during the third generation of computers. This chip is the hub of datapath activity with its output the primary feedback path to the registers: as early minicomputers, APOLLO181 uses the content of a memory location as one operand of the 74181, and an accumulator as the second operand. The result is stored back in the accumulator.

You can find author’s research about history of the 74181 chip in commercial minicomputers on the following pages.

 

APOLLO181 uses 8-bit instruction word and 8-bit address bus which can access 256 Byte of user program memory. The reason we classify it a 4-bit processor is that the internal registers and the arithmetic logic unit perform computations on 4-bit (or nibble) intermediate results: advantages of a shorter word are simpler circuits and higher speed. Multi-nibble operations can be anyway performed by propagating carry or borrow flag, permitting powerful 8-, 16-, 24-, and even 32-bit computations (at reduced speed).

 

The reduced set of instructions consists of sixteen basic commands, which perform input and output interfacing, conditional jumps and arthmetic and logic operations like addition, subtraction, increment, decrement, operand shifting, magnitude comparison, Exclusive-OR, AND, NAND, OR, NOR, on 4-bit data words.

 

The move time for register-to-register transfers is 2,7 microseconds, which requires two instructions and eight clock cycles. Just as a performance indicator, APOLLO181 processor is able to perform a 12-bit integer multiplication (giving a 24-bit long result) in less than 1,2 milliseconds.

A famous computer benchmark ("BM9", a Tom Fox algorithm to find out prime numbers, written in BASIC in 1980) has been transposed and implemented on APOLLO181 to test the performance: the respectable result obtained proved its capability.

 

APOLLO181 is a multi-chip board and its peculiarity is that any TTL component employed was described in the Bugbook® I & II (LOGIC & MEMORY EXPERIMENTS USING TTL INTEGRATED CIRCUITS, written by Dr. Peter R. Rony © 1974, 1st edition), as a Gianluca's personal tribute to these books. By happy coincidence we are also approaching, in 2014, the 40 years Bugbook® publication anniversary.

 

This project obviously aims to be more educational and recreational than being a practical useful processor: the major limitations, compared with normal CPUs, are the maximum program length of only 256 instructions, the lack of subroutine calls and the absence of memory manipulation instructions. The 256 Byte of RAM contains only the user program, but we can use up to sixteen internal registers to store 4-bit temporary results. A simple way to expand the number of registers up to 32 is to make read/write the input/output ports: the data written to one output port loops back to the relative input port. In fact the processor is capable of driving sixteen 4-bit independent input and latched output ports; later, a digital to analogue converter has been added. Thus, theoretical areas of application of APOLLO181 could be the same as microcontrollers: small domestic appliances, white and brown goods, security systems, toys, office equipment and industrial control applications.

 

A part from having finite memory, APOLLO181 can theoretically be considered a Turing complete machine: in the following pages you will find algorithm examples showing computation of the four fundamental arithmetic operations, a light dimmer, a stepper-motor control, a chronograph, a famous computer benchmark originally written in BASIC and a minimal sound generator. The chronograph software includes complex combined arithmetic and logical operations which are far enough away from the traditional use of the 74181 chip. Other algorithms show software tricks to extend Apollo181's Instruction Set to the most common operations like SHIFT and ROTATE commands, invoke subprograms without CALL/RETURN statements, generate pseudo-random numbers or perform nested FOR/NEXT loops.

 

Well, let us start from watching APOLLO181 video presentation in Youtube and don't rush to download the schematic before having explored the following website pages...

 

Copyright (c) 2012 by Gianluca G. Italy

Click to enlarge
computergeneration.jpg
APOLLO181 processor technology belongs to the 3rd Computer Generation

Visitors since May 2012: 


APOLLO181 joined the "Homebuilt CPUs WebRing"

JavaScript by Qirien Dhaela

Join the ring?

To join the Homebuilt CPUs ring, drop a line, mentioning your page's URL. Dave will then add it to the list.
You will need to copy this code fragment into your page.
Note: The ring is chartered for projects that include a home-built CPU. It can emulate a commercial part, thats OK. But actually using that commercial CPU doesnt rate. Likewise, the project must have been at least partially built: pure paper designs dont rate either. It can be built using any technology you like, from relays to FPGAs.

DISCLAIMER & CREDIT: All data here reproduced are for educational and non-commercial purpose, following fair-use guidelines.

This is an INDIPENDENT AND UNOFFICIAL hobby site. Either Dr. Peter R. Rony or the Blacksburg group or Computer History Museum (Mountain View, CA) or other third-party DO NOT HAVE ANY ASSOTIATION with this work.

Author G.G. DOESN'T EARN ANYTHING FROM ADVERTISEMENT. This site is not in the business of making money. This site is visible thanks to the Free Web Hosting Tripod Service, so it is ad-supported: advertisement contents, costs and revenues are full managed by the service itself. Author does not have any involvement in them. The advertising links in the Site pages and in the pop-up windows are not Author's property. They can change and the Author is non-responsible about their contents and working. The Author is not responsible about the linked sites.
The information presented here is just that: INFORMATION. Use it at your own risk and for only non commercial purpose. The information here presented is believed to be technically correct and everything presented on this site is done so in good faith. Anyhow you (the reader) are responsible for anything that you might do as a result of reading this article. You assume complete and total responsibility for your actions! Author is not responsible for any misuse or damage coming from the reading and using this information.

Text and images from original typewritten Bugbooks I and II in 1974 are permission courtesy of Dr. Peter R. Rony, the original author and sole copyright owner of the Bugbooks I, II, IIA, III, V, and VI.

The background image on the header of each page of the site is "Sunset over western South America" photographed on 12 April 2011 by an Expedition 27 crew member on the International Space Station. (Image credit: NASA). On it I have merged titles and a my photo of TIL302 displays.

Texas Instruments data are Texas Instruments Copyright and reported by Courtesy of Texas Instruments.

 

TERM OF USE: With clear exception for texts and images which are not author's property, Gianluca G. freely authorizes you the downloading, printing and reproducing of APOLLO181 data, texts and images ONLY for non-commercial usage and ONLY if you give a clear reference to its source and project namewithout any right to resell or redistribute them or to compile or create derivative works.

Any rights not expressly granted herein are reserved.

 

Copyright (c) 2012 by Gianluca G. Italy