Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83 v7 ucbtopaz-1.8; site ucbtopaz.CC.Berkeley.ARPA
Path: utzoo!watmath!clyde!burl!ulysses!allegra!bellcore!decvax!ucbvax!ucbtopaz!mwm
From: mwm@ucbtopaz.CC.Berkeley.ARPA
Newsgroups: net.micro
Subject: Re: Need a microprogramming consultant!
Message-ID: <802@ucbtopaz.CC.Berkeley.ARPA>
Date: Thu, 7-Mar-85 22:51:46 EST
Article-I.D.: ucbtopaz.802
Posted: Thu Mar  7 22:51:46 1985
Date-Received: Sun, 10-Mar-85 07:07:13 EST
References: <504@ima.UUCP>
Reply-To: mwm@ucbtopaz.UUCP (Praiser of Bob)
Organization: Missionaria Phonibalonica
Lines: 36
Summary: 

In article <504@ima.UUCP> johnl@ima.UUCP writes:
>I wish we saw more stuff here like the note from ucbtopaz!mwm on 
>microprogramming.  Clear and to the point.  But I can't resist a few niggles.

Thank you.

>One thing to keep in mind is that microprogramming is a mixed blessing.  There
>is an increasingly popular school of thought that states that the slowdown 
>from interpreting microcode isn't worth it, and you'd be better off making a 
>very simple machine that executes instructions directly, and depending on your
>compiler to generate code for it.  The Berkeley RISC is one of the best known 
>of the efforts to do this.

Note that (some of) the people selling RISC machines (pyramid) are *still*
using microcoded machines. The simpler target instruction set means you
need less rom for microcode, and less "magic" hardware - a compromise
between pure RISC and CISC (complex ...). In exchange for the
interpretation time, you get more flexibility in the machine with less
trouble. For instance, pyramid changed from word-aligned word fetches to
unaligned word fetches by tweaking the microcode. Like any complex decision,
you have to make some trade-offs.

>Finally, it turns out that microprogramming is far from a new idea.  It was 
>originally proposed for an early British machine in 1952!  

Not surpising. Most of the good "new" ideas in CS are rather old. Could you
supply a reference so I can read about it?

BTW, redwood!rpw3 posted a very detailed description of one form of
vertical microcode; as it appears in I/O devices, etc. He also mentions
bit-sliced machines (the AMD 2900), which make for fast design of fast
custom hardware (like Wirth's Lilith). The reference for such is "Bit-slice
Microprocessor Design" by Mick and Brick (no, I'm not kidding), from
McGraw-Hill.