Language-specific CPUs was Re: uIEC/SD == AWESOME!

Jim Battle frustum at pacbell.net
Thu Jan 1 12:24:59 CST 2009


Rick Bensene wrote:
> Allison wrote:
> 
>> Memory says there was a Wang machine that directly executed Basic.
>>
> Yes, the Wang 2200-series machines used a microcoded architecture that
> implemented a BASIC interpreter as a native "language".  

It is perhaps a religious question, but where does microcode end and an instruction set 
architecture begin?  That is, what distinguishes microcode from a conventional instruction 
set?

It isn't necessarily width -- there are narrow and wide styles of microcode, and all 
points in between.  The Wang 700 was 43 bits wide (as Rick certainly knows well), the 
first generation Wang 2200 had 20b microwords, and the 2200 VP had 23b+parity microwords. 
  As a side note, I'm surprised that the 700 was so wide.  Considering the expense of 
making the core-based ROMs, a narrower microword with more logic spend decoding seems like 
the more economical choice.

On common feature of microcode is having multiple orthogonal control fields.  On that 
basis, the 2200 was microcode.

Another common feature of microcode, but not universal, is exposed pipeline hazards.  The 
2200 fails this, as the effects of each microword is finished before the next microword 
starts.  It is not any more tricky to write 2200 microcode than asm for the typical 
microprocessor.

Dave Angel, one of the guys who wrote the microcode for the 2200T and the 2200VP, took 
umbrage that my webpage disputes the oft-stated claim that the 2200 implemented BASIC in 
hardware.  He seemed stuck on the distinction that "all other" BASICs have two levels of 
interpretation -- the code that the interpreter is written in, and the microcode that is 
interpreting the lower level instruction set.  I pointed out that the Z80 isn't microcoded 
at all and therefore there is one level of interpretation going on, but the point seemed 
lost on him.  For that matter, the overwhelming majority of x86 instructions in today's 
processors, measured dynamically, are also executed directly without microcode assistance.

> These machines
> were an extension of the architecture developed for the Wang 700-series
> electronic calculators.  It's an interesting twist of fate.  Wang hadn't
> intended to make an advanced scientific calculator, as the thought was
> that their 300-Series calculators were all that they needed.  Dr. Wang
> felt that the important market was in computers, and had a development
> effort underway to make a computer that was to compete with IBM's
> System/360.  It was Dr. Wang's intent to have Wang become the largest
> computer company in the world.  However, when Hewlett Packard introduced
> the HP 9100A calculator, it immediately took most of the market share
> away from Wang in the scientific calculator marketplace, where Wang was
> the leader. This quickly put Wang into a cash crunch, as they had a hard
> time selling the 300-Series machines.   The efforts to develop a
> computer were quickly re-targeted -- it was mandated that the basic
> computer design (a microcoded architecture) was to be refitted to serve
> as an advanced programmable calculator.  This became the Wang 700-Series
> calculators (as well as follow-on machines such as the 500-Series,
> 600-Series, and later 400- and C-Series machines).  While the 700-Series
> machines did help rescue Wang's calculator business, the real savior for
> Wang's stockholders was the introduction of Wang's word processing
> equipment, also based on much the same microcoded architecture as the
> 700-Series calculators.  

I have a website on the Wang 1200 that is all ready to turn on, but I'm waiting to hear 
back from Jay West to see if he is willing to host it.

I'm looking forward to digging into it more, but one difference between the 700 and the 
1200 is that the 700 has a nibble wide data path; the 1200 logically has a nibble wide 
data path, but it is implemented bit serially.  Some of the data sources in the A & B ALU 
inputs that are "don't cares" in Rick's reverse engineering of the 700 definitely act as 
sources on the 1200.

The 1200 wasn't ever a cash producer for Wang, but its failures did educate them such that 
when they did come out with the Wang WPS in 1976 (which was 8080-based), they offered 
something that really did serve the market well.

> As it became clear that calculators were
> becoming a commodity market, driven mainly by semiconductor
> manufacturers who had the resources to fabricate LSI calculator
> chipsets, and later single-chip implementations, Wang Labs revisited
> building a computer at a much "smaller" level than going after IBM.  The
> 2200-series BASIC computers (although Wang initially marketed them as
> "calculators") were the result.  The architecture went from computer, to
> calculator, and back to computer, with sidelines into word processors.
> 
> Check out Jim Battle's http://www.wang2200.org .  There's even an
> emulator of the 2200 that actually runs the actual 2200 microcode!

Thanks for the plug!

> Rick Bensene
> The Old Calculator Museum
> http://oldcalculatormuseum.com

And to return the favor, visit Rick's site -- in addition to the great assortment of old 
calculators, Rick has a lot of original research, and a number of interviews with the 
designers of these machines that you can't find anywhere else.



More information about the cctech mailing list