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.