The self-built K1-16/16 CPU, built with standard 74xx CMOS ICs |
The K1-16/16 CPU is the heart of the self-designed and home-built K1-16/16 Computer.
It is built with CMOS ICs from the 74AC series and fits on 5 Euro boards (160 x 100 mm).
Sometimes you are struck by an idea...
Due to depressions programming became harder and harder. So i thought, why don't do something more simple, with more manual work? Electronics, for instance. And, thanks to the internet, i have already read from other maniacs, who built a 6502 CPU. Or a Z80 in FPGA. Or Dennis Kuschel's myCPU. And there's a web ring about it. If others can do this, it can't be that hard. Basically...Of course my CPU should be Different. Better. And Simple, so that i can understand it myself. B-)
For symmetry i settled with a 16/16 bit design: 16 data bits and 16 address bits.
Unusual and Generally Interesting Parameters
• Combined Harvard and Von Neumann architecture
• 16 MHz system clock
Front panel with slow motion clock for exhibitions et. al.
Full static design down to 0 Hz
• 16 bit internal data bus
• 16 bit internal address bus
• 64k x 16 bit internal ram
• 32k x 24 bit microcode
organized as 2 code planes à 16k for conditional execution and branching.
the microcode is copied from eproms to rams during boot for increased speed.
it is also possible to load the microcode from an external source instead.
the microcode implements:
boot code, BIOS, kernel
100++ assembler opcodes for ram-based programs
100++ millicode opcodes for microcode-based forth or c-style programs
• No flag register. (but flags)
• Built with discrete logics using 74HCxx and 74ACxx ICs
CPU fits on 5 "Euro" printed circuit boards (160 x 100mm)
• Manual circuit design
Manual routing of the PCBs (with EagleCAD)
Professional made double-layer circuit boards
Front panel with slow motion clock for exhibitions et. al.
Full static design down to 0 Hz
• 16 bit internal data bus
• 16 bit internal address bus
• 64k x 16 bit internal ram
• 32k x 24 bit microcode
organized as 2 code planes à 16k for conditional execution and branching.
the microcode is copied from eproms to rams during boot for increased speed.
it is also possible to load the microcode from an external source instead.
the microcode implements:
boot code, BIOS, kernel
100++ assembler opcodes for ram-based programs
100++ millicode opcodes for microcode-based forth or c-style programs
• No flag register. (but flags)
• Built with discrete logics using 74HCxx and 74ACxx ICs
CPU fits on 5 "Euro" printed circuit boards (160 x 100mm)
• Manual circuit design
Manual routing of the PCBs (with EagleCAD)
Professional made double-layer circuit boards