- Texas Instruments TMS9900
Introduced in
1976 and based on theTexas Instruments 990minicomputer CPU, the TMS9900 was one of the first true16-bit microprocessors (the first were probablyNational Semiconductor IMP-16 or AMD-2901 bit slice processors in 16 bit configuration). It was designed as a single chip version of the TI 990minicomputer series, much like theIntersil 6100 was a single chipPDP-8 , and theFairchild 9440 andData General mN601 were both one chip versions ofData General 's Nova. Unlike theIMS 6100 , however, the TMS 9900 had a mature, well thought out design.It had a 15-bit
address bus , a 16-bit data bus, and three internal 16-bit registers (PC, WP, and ST). One unique feature, though, was that all general purpose user registers were actually kept in external memory. A single workspace register (WP) pointed to the 16 register set (each register being 16 bits wide) in RAM, so when asubroutine was entered or aninterrupt was processed, only the single workspace register had to be changed - unlike some CPUs which required dozens or more register saves before acknowledging acontext switch .This was feasible at the time because RAM was often faster than the CPUs. A few modern designs, such as the
INMOS Transputer s, use this same design using caches or rotating buffers, for the same reason of improved context switches. Other chips of the time, such as the65xx series had a similar philosophy, using index registers, but the TMS 9900 went the farthest in this direction.That wasn't the only positive feature of the chip. It had flexible interrupt-handling features, and a simple but powerful instruction set. Serial I/O was available through address lines. In typical comparisons with the
Intel 8086 , the TMS9900 had smaller and faster programs. The only disadvantage was the small address space and need for fast RAM.Like the
MOS Technology 6502 , the TMS9900 had an uncommon, and rarely used, instruction called 'X' (or eXecute). This instruction was used to execute another instruction at an address pointed to by a register. Unlike more common jump or branch instructions, execution then continued with the instruction following the X instruction.The TMS9900 was used in the TI-99/4 and TI-99/4A home computers. Unfortunately, to reduce the production costs, TI chose to use in these systems just 128 16-bit words of RAM. The rest of the memory was 16kB of
8-bit DRAM that was accessible only through the video display controller, which crippled the performance of the TMS9900.Despite the very poor support from Texas Instruments, the TMS9900 had the potential at one point to surpass the 8086 in popularity.
TI later developed the more powerful and more capable TMS99000, which was used as the CPU in the 990/10A minicomputer as a cost reduction. Unfortunately, by the time the 990/10A made it to market, the end of the minicomputer era was already in sight.
External links
* [http://www.bitsavers.org/pdf/ti/_dataBooks/ TMS9900 manuals and references] from
Bitsavers
Wikimedia Foundation. 2010.