TI 990 architecture / was Re: TI-99/4A Floppies
hilpert at cs.ubc.ca
Tue Oct 2 02:35:01 CDT 2007
Chuck Guzis wrote:
> On 2 Oct 2007 at 2:16, Liam Proven wrote:
> > They were pretty much the first ever 16-bit home micro, but it was a
> > crippled 16-bit chip - as detailed in another message in this thread.
> > They did have good keyboards, were solidly built and I believe the
> > graphics chip was, for its time, decent and capable.
> Tossing all of the other chips and CROMs and other stuff out, how
> compatible was the TMS9900 with the TI 990 mini? The same or
> considerablly different?
I can't state so categorically but my understanding is that they were very
much the same.
Going back to a conversation of a few weeks ago, when we were
developing/running Verex/Thoth at UBC ca 1980 it was on a 990/10. The next
major step in the project was to develop a distributed kernel for multiple
processors. To this end, 3 bare single board computers based on the 9900 chip
were ordered and received from TI. Something makes me think they were called
"990/5"s. I remember making up a front panel for the 3 of them with reset
buttons and a few status LEDs to go in the rack with the /10. The idea, of
course, was to use the 9900s because we already had the compilers,etc.
generating code for the 990/10.
(Cheriton left before we actually got into using them at the software level
and the distributed kernel would become the VKernel at Stanford on other hardware).
Also, the description of the 9900 in Osborne's "An Introduction to
Microcomputers, Vol II" ('76) fits well with my recollections of the 990/10.
To my knowledge the 9900 chip was not crippled; rather (going from what others
have described) the design and implementation of the 99/4 home computer failed
to make effective use of it. I didn't follow micros too much in the early 80s
but I remember wondering at the time why the 99/4 was doing so poorly when it
had that great processor in it.
I quite liked the 990 architecture with the workspace pointer. Yes, there was
the overhead of accessing registers in memory, but there were also savings.
The workspace pointer essentially became the stack/frame pointer. Procedure
calls, interrupts and process switches were quick because there were only 3
machine registers to save (PC,WSP,PSW). Stack variables and parameters were
referenced in instructions as registers, thus saving on instruction
length/memory accesses to retrieve addresses/offsets, etc. For use with
"modern software design", i.e.: stack-oriented high-level languages, I thought
it was a quite effective architecture.
More information about the cctalk