Jump to content
IGNORED

The Inside Story of Texas Instruments’ Biggest Blunder: The TMS9900 Micropr


Willsy

Recommended Posts

This was posted on Facebook:

 

http://spectrum.ieee.org/geek-life/history/the-inside-story-of-texas-instruments-biggest-blunder-the-tms9900-microprocessor

 

Bit of a hatchet job if you ask me. It also contains a number of facial errors.

 

Thanks to Stefan Holtgen for posting it.

Edited by Willsy
  • Like 3
Link to comment
Share on other sites

This was posted on Facebook:

 

http://spectrum.ieee.org/geek-life/history/the-inside-story-of-texas-instruments-biggest-blunder-the-tms9900-microprocessor

 

Bit of a hatchet job if you ask me. It also contains a number of facial errors.

 

Thanks to Stefan Holtgen for posting it.

 

I wasn't aware of the video game console part of the story. Wondering if any details exist?

Link to comment
Share on other sites

I believe that would have been the Gamevision Console that was being developed for Milton Bradley. . .

 

http://www.videogamehouse.net/gamemain/cartsfh/gamevisiondemo/

 

TOUCAN'S TRIVIA: According to Tony Cote who worked at Milton Bradley back in the late 70's, the company was developing their own video game system which would become the TI-99/4 (and manufactured by Texas Instruments). The details on this are kind of sketchy, but according to Tony "the MB1 was the TI-99/4. We were going to design a system that would put 16 bit processing against the current 8 bitter's of the day. I don't remember exact dates (late 70's). We had full assistance from TI on supplying all the chips, the 9900 processor. We actually created the 9918 graphics chip in house and TI manufactured the die for us. TI decided that most of all the hardware was theirs, they decided to take over the product and refused to supply MB with any hardware or help. There was a legal battle that TI won, so we just put our tail under our legs and made games for the "NEW" TI console. The only thing I personally have is one of the two prototypes (mounted on plywood) that preceded the actual production version of the 99/4. I think I am going to donate this to the computer museum in Boston. This part of computer history is not very well known. It should be known that the TI 99/4 should have been the MB1 (this was just an in house code name. no name was ever mentioned after we lost the rights)." It would not be surprising if the name Gamevision was going to be the final name for the MB1 that Tony Cote was involved with. This comes from the fact that MB already had a handheld video game system called Microvision, and a standalone system named Gamevision would make a lot of sense. Therefore, if you have a boxed Gamevision TI-99/4A cartridge, you very well might be holding a game that was to have been for a separate Gamevision system (too bad it never came to be, since the blue packaging was pretty nice!).

 

TOUCAN'S TRIVIA: This game was part of the Milton Bradley Gamevision series, which consisted of 7 cartridges (Connect Four, Yahtzee, Hangman, Zero Zap, Card Sharp, Stratego, and the Gamevision Demonstration Cartridge). These 7 cartridges were the launch titles for the TI-99/4 in 1979.

Link to comment
Share on other sites

I think he accurately pointed out the flaws in the 9900 architecture and in bringing the chip to market.
I don't know that he was hostile towards the chip or the process that created it, but there seemed to be a negative tone to the article.

The TI-99/4 wasn't discussed in much detail, but I get the impression he saw it as the continuation of a failed strategy behind the 9900.
There were a couple factual errors, but he probably told the story as he saw events.

If TI hadn't tried to directly copy their existing CPUs almost exactly, I think the 9900 would have been much more competitive.
They should have moved the registers inside the CPU, added a stack pointer & related instructions, they should have created a 16 bit chipset in parallel with the cpu, and they should have added some sort of segmented addressing for a 24 bits address buss. Just eliminating all the extra memory cycles for external registers would have made the 9900 what? 20% or more faster?

As long as you stick with the same register model (other than stack usage) existing compilers and interpreters could have easily been ported to the new CPU and possibly even simplified..
If the stack push/pull instructions support saving multiple registers with a single instruction like the 6809, and interrupts either don't save any registers automatically or only a couple, then interrupt latency wouldn't be a problem either. It would be more than made up for over the 9900 by using internal registers anyway.
There are a couple odd looking things in the 9900 instruction set, but with the above changes it would have been way ahead of the 8086/8088.

After reading that article and the previous post, I get the impression that GPL was designed for the video game console.
The computer guys probably got saddled with it when the two divisions merged.
Strictly for video games I can see where they were coming from.
The story about the designers wanting a GPL cpu make more sense as well. Something cost reduced for a video game console maybe?
They wanted a custom CPU and TI said we already have a CPU, take it.
It would at least partially explain the closed design and marketing strategy of the TI-99.
The computer inherited the marketing strategy for the video game console.
I'm guessing it also inherited it's managers when the projects merged.
The question I have about the Milton Bradley story, is then how did TI end up with the software?
If all TI designed was the hardware, the software should have belonged to Milton Bradley.
There are some missing pieces to the story.

Edited by JamesD
Link to comment
Share on other sites

When TI designed the architecture for the TI 990/9, which then was implemented on a chip as the TMS 9900, the memory technology available at that time was equal in speed to the CPU. Thus there was nothing to gain from internal registers, but a lot to lose. The decision was correct at that time, but then development changed the playing field.

Link to comment
Share on other sites

When TI designed the architecture for the TI 990/9, which then was implemented on a chip as the TMS 9900, the memory technology available at that time was equal in speed to the CPU. Thus there was nothing to gain from internal registers, but a lot to lose. The decision was correct at that time, but then development changed the playing field.

 

People keep saying that, but I don't think it means what you think it does..

Yes, accessing the RAM may be the same speed as accessing registers, but you don't have to load or save registers with every access like RAM

It that statement meant what you think it does, why would they have PC, ST, and WP registers internal instead of just placing them in RAM at a fixed address?

Why were other companies using internal registers?

 

The 6800, which predates the 9900 by a couple years, is clocked at the same speed as the RAM.

Consider increment.

INC A takes 2 clock cycles. 1 cycle to read the opcode, and 1 to perform the increment.

IF register A were in RAM, it would take 1 clock cycle to read the opcode, 1 clock cycle to read register A from RAM, 1 clock cycle to perform the increment, and 1 clock cycle to write it back to memory. That's 4 clock cycles.

Internal registers would actually have to be slower than RAM for them to require the same amount of clock cycles.

And if they were that slow, how does the rest of the CPU run any faster?

The only way that to make any sense the way you interpret it would be for a very specific design.

 

  • Like 1
Link to comment
Share on other sites

Because PC, ST and WP are used by the microprograms, and they don't access memory.

Sometimes engineers are very conservative. It was "known" that the registers must be internal to the CPU, because it was the only thing you could think of to begin with. At the time when TI took the more radical approach of moving the registers to the memory, other manufacturers were contemplating what to do with their internal registers. The Apollo project had shown that efficient embedded systems required prioritized tasks and quick context switching. Fewer registers are quicker to save, but more of them are better to work with. When TI considered moving the registers to memory, some other manufacturers discussed having multiple conventional register files. If you think this is a minor question, you should know that people have left one company and formed another over discussions like these.

 

The 990/9 architecture had quite a lot of cycles per instruction. So it's like you say, with a specific architecture, you could just as well go with "registers" in memory. The TMS 9900 mimics the operation of the 990/9, so it does the same thing.

 

It took until the TMS 9995 to make the internal architecture more efficient. Then the backside of having a register file in memory is more obvious. Where the TMS 9900 is accessing memory about one third of the clock cycles, the TMS 9995 is almost constantly reading or writing to memory.

 

It's always easier to be clever after the fact. It could be worthwhile to realize that these decisions were taken several years before a technical manager at what was then Televerket Radio in Sweden (the national phone company's technical department, a department that was instrumental in pushing the RDS FM system into service for the first time in the world) stated that "anything above 2400 bits/second on conventional copper phone wires is a physical impossibility".

When I eventually gave up ADSL for fiber we had 24000000 bits/second...

Link to comment
Share on other sites

When all is said and done, you can still build a screaming 16-bit system for the clock speed with the TMS9900 and derivatives like the 9995 and 99000, as Michael Becker, Stuart Conner, and others have shown in later years. There were nice systems back in the day, not counting the TI minis. And it's fun to program. Just sorry TI never produced a 32-bit version. Well, there was the Sparc.

 

What would really be slick as well as retro would be a system with a 99000, TMS340 (tiga) graphics, and TMS320 DSP. 32010 or '20, at least, but wonder if OMAP or 'C80 would be doable.

 

Sorry, just thinking out loud.

 

jbdigriz

Link to comment
Share on other sites

FWIW, I understand the 9900 was a direct implementation of the 990 series, but the article was about what went wrong with the 9900, and I was just suggesting what they could have done to fix it from the start.

 

When you consider the thousands or even tens of thousands of clock cycles that could be saved by using internal registers between context switches, the argument about context switches doesn't really hold up.
I think the fast context switch is more of an after the fact thing rather than and original design consideration.
Maybe it was for marketing purposes.

After some thought, the 990 design may load the ALU from the registers in one clock cycle and then restores them after completion with another clock cycle.
In that case, loading the ALU from RAM would take the same number of clock cycles as from internal registers.
It would allow a more orthogonal instruction set, with a simpler design that doesn't directly operate on the registers.
So the statement might be accurate, but it's very design specific rather than something that would apply to the rest of the computer industry.
What it lacks more than anything is foresight. Just like converting the 990 to a single chip without creating a chipset to support it.
When you look at that, combining videogame and computer groups, etc... it sounds to me like they had management issues.

Edited by JamesD
Link to comment
Share on other sites

But TI did make a chipset to support the TMS 9900. But several of these chips were also in 64-pin DIL fashion, so they didn't fit well into small home computers. They worked better in the minicomputer series they were originally designed for. However, these minis quickly became obsolete when the personal computer's capacity quickly increased. Something which wasn't that obvious in the 1970's, when they were designed. Remember that when the first IBM PC came out, a hard drive was optional. You could get one with five Megabyte capacity. Well, there was one with ten Megabyte too, but nobody understood why. The world's accumulated software available for it wasn't ten Megabytes...

 

The other chipset, which did fit in home computers, was based on the lower-end mini's interface, the CRU. Being serial, it was way before its time, and thus not fast enough. This was not the time of Gigabit/s serial USB transfer, but a time where parallel transfer was faster.

 

No, the TMS 9900 did well in the TI 990/4 and TI 990/5, where it replaced the expensive and complex CPU used in the TI 990/9. Just like the TMS 99000 in the TI 990/10A was a good replacement for the 5½ card CPU used in the TI 990/10.

Since the minicomputers soon were replaced with microcomputers, the personal computer as well call them today, the minis went into process control in many places. When these kind of systems are handled with traditional computers, they normally rely on interrupt service to an extreme rate. It's not at all what you see in a typical desktop computer today. For that market, the context switch was much more important than it would be for a home or personal computer.

 

The problem with the TMS 9900 was more that it was designed with an aim to fit into a much more special slot than a general desktop computer. Thus it didn't do well in such a computer either. If they have had the TMS 9995 available for the TI 99/4, it would have fit in much better there. A CPU doing most of its instructions in four cycles, running at 12 MHz, when most of the other manufacturers had 8-bit designs internally, or a 16-bit but running at one third of the frequency, then it would have been a different story.

Now they searched for a market for the TMS 9900 that wasn't there. It was too special. So it failed from a sales point of view, for sure.

Edited by apersson850
Link to comment
Share on other sites

But TI did make a chipset to support the TMS 9900. But several of these chips were also in 64-pin DIL fashion, so they didn't fit well into small home computers. They worked better in the minicomputer series they were originally designed for. However, these minis quickly became obsolete when the personal computer's capacity quickly increased. Something which wasn't that obvious in the 1970's, when they were designed. Remember that when the first IBM PC came out, a hard drive was optional. You could get one with five Megabyte capacity. Well, there was one with ten Megabyte too, but nobody understood why. The world's accumulated software available for it wasn't ten Megabytes...

 

The other chipset, which did fit in home computers, was based on the lower-end mini's interface, the CRU. Being serial, it was way before its time, and thus not fast enough. This was not the time of Gigabit/s serial USB transfer, but a time where parallel transfer was faster.

 

No, the TMS 9900 did well in the TI 990/4 and TI 990/5, where it replaced the expensive and complex CPU used in the TI 990/9. Just like the TMS 99000 in the TI 990/10A was a good replacement for the 5½ card CPU used in the TI 990/10.

Since the minicomputers soon were replaced with microcomputers, the personal computer as well call them today, the minis went into process control in many places. When these kind of systems are handled with traditional computers, they normally rely on interrupt service to an extreme rate. It's not at all what you see in a typical desktop computer today. For that market, the context switch was much more important than it would be for a home or personal computer.

 

The problem with the TMS 9900 was more that it was designed with an aim to fit into a much more special slot than a general desktop computer. Thus it didn't do well in such a computer either. If they have had the TMS 9995 available for the TI 99/4, it would have fit in much better there. A CPU doing most of its instructions in four cycles, running at 12 MHz, when most of the other manufacturers had 8-bit designs internally, or a 16-bit but running at one third of the frequency, then it would have been a different story.

Now they searched for a market for the TMS 9900 that wasn't there. It was too special. So it failed from a sales point of view, for sure.

When was that chipset available? An actual TI manager stated in the article it wasn't available when the 9900 was released.

Is there any TI literature that confirms a release date for the chipset?

 

Are you aware of any instances where the 990 was used for process control or are you just talking in general?

Process control has a pretty broad definition.

Process control could be handled by an 8 bit cpu, or it could require a 32 bit cpu or DSP.

Motorola had the 6803, 68hc11, and 683XX based microcontrollers.

I can't see a 990 based system being any faster or more cost effective that one of those.

FWIW, people use a scan line interrupt on the CoCo to play music or sound effects with the DAC.

That's 11,520 interrupts per second. What on earth is the 9900 going to do that fast?

 

The 9995 didn't come out until 1983 and the 9995's 12MHz external clock results in an internal 3MHz clock according to CPU World.

The IBM PC was released in 1981 at 8 MHz and I programmed on a 68010 (released in 1982) based Unix boxed clocked at 12MHz.

I'm pretty sure the 990/9900 series were as good as dead in new designs outside of TI by then.

If the 9995 had been out it time to be in the TI-99/4, then I certainly think that would have helped.

It would have made the machine a little faster and definitely less expansive to produce.

However, many of it's major flaws would still exist. Closed architecture, ANSI BASIC instead of something more like Microsoft, GPL, not enough CPU RAM...

TI pissed of Jack Tramiel when they stopped providing outside companies with calculator parts, and a $10-$20 cheaper machine wasn't going to matter once Jack saw the chance to get even.

TI wasn't going to be able to make money on the machines or peripherals.

I have to think the outcome is the same in the end.

  • Like 1
Link to comment
Share on other sites

When was that chipset available? An actual TI manager stated in the article it wasn't available when the 9900 was released.

Is there any TI literature that confirms a release date for the chipset?

There's a data manual for the TMS9901 dated July 1977, and for the TMS9902 dated January 1977. So they weren't far behind the processor.

 

I've attached a couple of scans of contemporary magazine articles regarding the TMS9900. I think us being critical of the 9900 as a general processor in a home computer is a little unfair - that's a long, long way from its original uses.

 

There's an interesting bit relating to something that JamesD said: "If TI hadn't tried to directly copy their existing CPUs almost exactly, I think the 9900 would have been much more competitive." The article says "Unlike other 16-bit microprocessors, the 9900 was designed to be software compatible with a mini-computer family - the Texas Instruments 990 series - rather than with a microprocessor. Texas Instruments' philosophy of microprocessor design dictates that advances in minicomputer systems development be incorporated into new microprocessors as soon as improvements in VLSI technology permit it. The result is a parallel development of both a microprocessor and a minicomputer family, with software compatibility between families and among individual members of each family."

TMS9900Overview.pdf

TMS9900RTControl.pdf

Edited by Stuart
  • Like 1
Link to comment
Share on other sites

...

There's an interesting bit relating to something that JamesD said: "If TI hadn't tried to directly copy their existing CPUs almost exactly, I think the 9900 would have been much more competitive." The article says "Unlike other 16-bit microprocessors, the 9900 was designed to be software compatible with a mini-computer family - the Texas Instruments 990 series - rather than with a microprocessor. Texas Instruments' philosophy of microprocessor design dictates that advances in minicomputer systems development be incorporated into new microprocessors as soon as improvements in VLSI technology permit it. The result is a parallel development of both a microprocessor and a minicomputer family, with software compatibility between families and among individual members of each family."

That is an excellent point. It was a management decision and it's understandable, lets face it, intel has made a lot of money building on their older technology.

The most serious mistake really dates back to the original creation of the 990 series more than the 9900..

 

The rules TI set up for CPU development should been the same for software.

Their personal computer could have run the same software as the minis.

Instead of competing against the VIC20, it should have been competing against the Apple II and IBM PC.

But they made GPL and a closed system that would have been better as a video game instead.

 

I think there's a bit of a common thread among early personal computer manufacturers.

They weren't totally sure what to do with a personal computer.

I think that's where Apple succeeded. Jobs was a bit of a visionary.

He could see where computers were headed, and pushed the market forward, while many companies threw products at the market and hoped they would sell.

 

Some support chips clearly didn't follow the 9900 by much... at least depending on actual availability.

They were just aimed more at minicomputers than personal computers.

But not all the chips in the TI-99/4 came out that soon. The 9918 didn't come out until 1979.

 

I still think the 9900 could have been more competitive with the changes I suggested.

I'm not looking at where the 990 was when it was released, I'm looking at where it could have gone over the next 10+ years.

Stuff like pipelining has been around since the 50s, and internal registers are required for decent throughput.

The cpu could have eventually had an effective throughput of 1 instruction per clock cycle for most instructions.

The engineers designed themselves into a limited architecture with one decision..

Link to comment
Share on other sites

Yes, it's a combination of things.

  • TI decided that the TMS 9900 should mimic the TTL CPU in their 990 range. Excellent idea, they would be able to build cheaper minis.
  • TI developed the 990 series with a stack implementation, floating point instructions etc. (990/12). Excellent idea which increased performance.
  • TI developed the TMS 99000 microprocessor to incorporate these ideas in a chip. Excellent idea, they would be able to build more powerful minis at lower cost.
  • TI suddenly realized that minis were not selling like hot cakes any longer. They figured out that they needed to find a new market for their chips. Excellent idea, would keep production up.
  • TI decided to put a microprocessor, designed to run a minicomputer, into a small home computer, with an ugly keyboard, locked in software and high cost, to compete with emerging computers that sometimes also had ugly keyboards, but were simpler to make and had open architectures. Not too excellent an idea, to say the least. As we know by now, it did crash, too.

 

But processors with specific tasks isn't anything new. I've been involved in designing the CPU architecture for a processor which was dedicated to robotics, for example. You could use that for anything, if you wanted to, but it would be pretty awkward. For coordinate transformations it was excellent, however, as it among other things supported floating point trigonometric instructions in hardware.

It would have failed miserably in a home computer.

 

I haven't checked now, but out of memory, I think the other parts in the chipset for the processor family came with the TMS 99000. The TMS 9900 was intended to be used in minis with CRU I/O only, but the higher end models also had TI-LINE. That's a parallel bus, somewhat similar to the Unibus. I'd have to look around to find the details, and don't have time for that right now.

Link to comment
Share on other sites

TI pissed of Jack Tramiel when they stopped providing outside companies with calculator parts, and a $10-$20 cheaper machine wasn't going to matter once Jack saw the chance to get even.

 

Jack had no mercy when it came down to TI.

 

I saw the 8 bit generation recently. Michael Tomczyk, Jack's assistant said in an interview that Commodore actually reverse engineered the TI-99/4a and worked out that they were losing money on their CPU ( TMS9900 ) and only making profits on their software and peripherals, Commodore was still making money on their c64. At that point Jack announced that they were cutting their peripheral costs and software in half and reducing the c64's price to $199

Edited by shoestring
Link to comment
Share on other sites

You mean the TI-99/4?

 

I found the 4A keyboard *much* better than e.g. the Commodore keyboards. Maybe my present preference for linear keyboards (like the Cherry G80) is based on that.

 

Yeah—The 4A keyboard is a standard typewriter keyboard with standard spacing between keys, both horizontally and vertically. The only non-standard design is the handful of characters that must use the FCTN key.

 

...lee

Link to comment
Share on other sites

 

Jack had no mercy when it came down to TI.

 

I saw the 8 bit generation recently. Michael Tomczyk, Jack's assistant said in an interview that Commodore actually reverse engineered the TI-99/4a and worked out that they were losing money on their CPU ( TMS9900 ) and only making profits on their software and peripherals, Commodore was still making money on their c64. At that point Jack announced that they were cutting their peripheral costs and software in half and reducing the c64's price to $199

Just to point out though... in the end, Texas Instruments still exists and thrives. Commodore collapsed as did Atari, another acquisition of Tramiel's, and MOS's former factory in New Jersey is now a toxic hazard.

 

A big part of what destroyed the Amiga, in fact, was the cost cutting caught up with them. Despite being the most popular home computer on the market, Commodore exhausted all the profits in competition.

 

One wonders if Amazon may follow a similar trend... despite making a ludicrous amount of money, they haven't shown an actual profit in years.

  • Like 2
Link to comment
Share on other sites

I was referring to the keyboard of the TI 99/4, yes. But some other computers had cheap keyboards too. The Sinclairs being the worst, with ZX81 and ZX Spectrum.

 

At TI, they dismantled the Commodore VIC 20 as well. They found the content very funny, but couldn't get away from the fact that it was cheaper to produce.

 

As stated above, it's true that TI took the consequences and killed the home computer business. It was also claimed in the referenced article that they decided to go for processors covering specific areas, like the successful TMS 320 series of DSP chips.

Edited by apersson850
Link to comment
Share on other sites

Nothing here that I didn't already know. I wish these articles would go more in depth with the internal politics at TI, as this is what ultimately shaped the weirdness of the /4, as no self respecting systems designer would have done what was ultimately done on the /4, sanely. (and yes, I am referring to both the decision to use the as yet debugged 9985, which had been through no less than 7 spins by the middle of 1977, or the funneled down 9900)

It's also worth noting that the 8086 wasn't meant to be Intel's path forward. It was a stop-gap chip, rushed through design and production when it had become clear that the iAPX 432 (which started life as the 8800) was not going to be ready until 1980, at least, as the scope of its design kept mushrooming geometrically (and boy did it ever, a basic but complete 432 design would ultimately require no less than 5 chips! but hey, it acted like a bit-slice, so you could just keep tacking on chips for bigger architectures!)

 

For those that don't know, the 432 was essentially the Burroughs B5500 systems design, shoved onto VLSI silicon, an amazing feat to be sure, and on paper it had a ton of amazing features (literally complete high level language features on silicon, with special dispensations to handle Ada's hairier constructs), the performance was horrific in all the wrong places, subroutine calls were particularly slow. The 432's fate was sealed when Intel's own internal benchmarking of the iAPX 286 (80286) chip was twice as fast as the 432 at the same clock rate, and the 432 was slowly put out to pasture, having only made it into a few very one off designs.

 

-Thom

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...