One of the first true 16-bit microprocessors, released by Texas Instruments in June 1976 (the first are probably National Semiconductor IMP-16 or AMD-2901 bit slice processors in 16-bit configuration). It was designed as a single chip version of the TI 990 minicomputer series, much like the Intersil 6100 was a single chip PDP-8, and the Fairchild 9440 and Data General mN601 were both one chip versions of Data General's Nova. Unlike the IMS 6100, however, the TMS 9900 had a mature, well thought out design. It had a 15-bit address space and two internal 16 bit registers. One unique feature was that all user registers were actually kept in memory - this included stack pointers and the program counter. A single workspace register pointed to the 16 register set in RAM, so when a subroutine was entered or an interrupt was processed, only the single workspace register had to be changed - unlike some CPUs which required dozens or more register saves before acknowledging a context switch. This was feasible at the time because RAM was often faster than the CPUs. A few modern designs, such as the INMOS transputer, use this same design using caches or rotating buffers, for the same reason of faster context switches. Other chips of the time, such as the 650x 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 good interrupt handling features and very good 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. Despite very poor support from Texas Instruments, the TMS 9900 had the potential at one point to surpass the Intel 8086 in popularity. |