Article View: comp.arch
Article #11311Re: 600 transistor CPU (was: MINIMUM instruction set)
From: Malcolm Shute
Date: Thu, 19 Nov 1992 16:58
Date: Thu, 19 Nov 1992 16:58
59 lines
4126 bytes
4126 bytes
In article <1992Nov12.164510.28248@dartvax.dartmouth.edu> stevel@coos.dartmouth.edu (Steve Ligett) writes: >Somewhere I have a copy of an article (or two) titled >"A design for a 16 bit processor using only 600 transistors" >from Microelectronics Journal, Vol 15, Nr 3, >copyright 1984 Benn Electronics Publications Ltd, London >The machine has 4 instructions: three subtracts, and one bit clear. In article <1992Nov13.105238.10552@ms.uky.edu> styer@ms.uky.edu (Eugene F. Styer) writes: > I don't have that article any more (at least where I can find it), but I do > remember it. I decided that if his goal was a small CPU to watch over things, > he would do better to have (say) 8 instructions and include load, store, etc. No... that wasn't my primary goal... though in the paper I did suggest (rather naively) two possible applications for the design: (a) as a 'free' processor which memory manufacturers could include on their memory chips as a test device (for exercising the memory), which the customer could either use, or disable; (b) as a simple design exercise for students or for a low gate-count technology (as GaAs was at that time). In reality, my *real* motivation for doing the design was as a challenge... to see how low I could get the transistor count. Unlike the OIC, I could have as many instructions as I liked. My motivation for moving the PC out to memory was also subtly different. For the OIC, the PC is at a 'magic' location in memory, the changing of whose contents, causes a program jump. For the NVDAC, though, memory location zero contained an executable instruction, just like any other memory location. It must be admitted, though, that the MAR did keep getting cleared (so address zero was a privileged location, in that respect), and the instruction was given a slightly different side effect when it was addressed after one of these 'clear' signals (so, in effect, there were 5 instructions in the 2-bit instruction set). > My conclusion was that the additional size of the processor (I estimated 1000- > 1200 transistors) would be more than balanced by the smaller programs required > (1/2 or smaller) for programs as small as a few hundred instructions. If his > goal was the fewest number of instructions, then other posts have indicated he > has 3 too many instructions. All in all, it was an attempt to be more practical > than most of the minimal-instruction systems. In fact, I have to disagree with you! :-) Just like the OIC, a huge number of self-modifying instructions would have to be executed to emulate even the simplest PDP-11 type of instruction. Indeed, both the NVDAC and the version of the OIC reported by Bown, needed of the order of 16 instructions to do simple ALU type operations on memory arguments. No. My goal really was: to do it as a challenge. In article <1992Nov12.220301.23915@fcom.cc.utah.edu> caperkin@ursa11.law.utah.edu (Charles Perkins) writes: > How many transistors would it take to make a minimally sized 32-bit chip? > Optimized for transistor count, not cycle speed, op-code simplicity, or > speed of design. If you mean exactly the same NVDAC processor, as in the MEJ, but twice as wide, the answer is about 1200. The processor was nearly all data path, with very little random control logic. BTW, I was interested by your multiple mini-prolog-processor idea. I used to be on a project to design a multiple mini-Lisp-processor machine. I'd be interested in exchanging notes, if you like. -- Malcolm SHUTE. (The AM Mollusc: v_@_ ) Disclaimer: all
Technical Details
Message-ID:
<6805@m1.cs.man.ac.uk>Path:
arc1-ca.pugleaf.net!sparky!uunet!sun-barr!ames!agate!doc.ic.ac.uk!uknet!mucs!mshuteReferences:
<1992Nov11.144304.10494@news.uiowa.edu> <1992Nov12.164510.28248@dartvax.dartmouth.edu> <1992Nov13.105238.10552@ms.uky.edu>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!sun-barr!ames!agate!doc.ic.ac.uk!uknet!mucs!mshute From: mshute@cs.man.ac.uk (Malcolm Shute) Newsgroups: comp.arch Subject: Re: 600 transistor CPU (was: MINIMUM instruction set) Message-ID: <6805@m1.cs.man.ac.uk> Date: 19 Nov 92 16:58:18 GMT References: <1992Nov11.144304.10494@news.uiowa.edu> <1992Nov12.164510.28248@dartvax.dartmouth.edu> <1992Nov13.105238.10552@ms.uky.edu> Sender: news@cs.man.ac.uk Organization: Dept Computer Science, University of Manchester, U.K. Lines: 59