![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ALIX | CompactFlash Adapters | Test Tools | Attic | Info | Shop | Support | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| TOY/2 - a minimalist 16-bit CPU | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TOY/2 is a minimal 16-bit processor inspired by the TOY CPU described in
[1]. The architecture was improved in many areas:
TOY/2 was implemented in 3µm CMOS (Philips / Faselec SACMOS), and takes up a whopping 3300 transistors (excluding I/O pads). It would fit into a small corner of a FPGA today. It was designed by Pascal Dornier and Stephan Paschedag at ETH Zürich in 1988 as part of a course in chip design. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The Data Path | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
TOY/2 has a simple 16-bit data path based on the ALU described in [2]. The programmer sees the following registers:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The Instruction Set | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| All instructions are 16-bit: 4 bits for the opcode, and 12 bits for the direct address. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
TOY/2 does not implement a stack, call instructions (which can be implemented using indirect jumps) or interrupts. The focus was on a minimalist design that could be implemented in the time available (and that was so simple that the assistants would let us do it). The architecture does not make very effective use of code space. It should still do a bit better than a Turing machine... Performance was still projected to be quite respectable. For example, the prime number sieve benchmark would take about 1.2s at 4 MHz compared to 0.7s on a 80286 (10 MHz, no wait states) or 0.35s on a 68020 (16 MHz, 1 wait state, cache enabled). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| References | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| © 2002-2010 PC Engines GmbH. All rights reserved. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||