A custom built computer from scratch

Jul 13, 2007 14:36 GMT  ·  By

Started as a private project by Hans Summers, MyCPU has one more member, a really interesting piece of hardware by all accounts. The "second generation" MyCPU was built by Dennis Kuschel and designed to be an open source project aimed at teaching the basics of electronic engineering, operating systems design and construction, low level programming languages like basic and assembler and the use of a higher level language such as C to interact with a given hardware platform.

The MyCPU as a "central processing unit" is completely build with discrete logic gates (in fact old and discarded TTL gates) and over the years, it has grown to be the brain of a real personal computer. Almost the entire MyCPU is built with 74HCXXX integrated circuits, the only parts with a higher integration are the memories (RAM and EPROM) and the UARTs.

The system that houses MyCPU runs at a frequency of 8MHz and has the following capabilities and features: it contains an 8bit cpu, 1MB of random access memory plus 128KB of read only memory, an interrupts controller, an IDE controller for four hard drives and a VGA card. As peripherals, there are two serial ports, one parallel port and LCD and PS/2 interface for a keyboard.

The computer can be programmed in basic, assembler and a higher programming language: C. The basic interpreter is integrated into the operating system, while the assembler (used to translate asm code into the binary code that runs on MyCPU) is located on disk and it is loaded only when needed. The C compiler is cross-platform and it runs on a host Windows or Linux operating system. As an operation system, MyCPU supports "pico OS", a ported version specific to that processor.

This being an open source project, people interested in making their very own CPU can ask for general guidelines and technical data.