Texas Instruments TMS9995 microprocessor family
Texas instruments TMS9995 is the second generation of 16-bit microprocessors from TMS9900 family, that uses memory-to-memory architecture. The idea behind this architecture is to keep processor's register set, called "Workspace", in main memory. To point to current workspace, the CPU employed Workspace Pointer (WP) register. User programs could modify the WP register, which allowed very fast and easy switching between different workspaces, or register sets. This feature is very useful for interrupt handling routing, and user routines, that need to preserve the contents of all registers. The disadvantage of memory-to-memory architecture lies in the fact that the external memory is much slower than on-chip registers. To rectify this, the TMS 9995 added 256 bytes of on-chip RAM, mapped to main system memory. Using on-chip RAM to store Workspace data and other program data resulted in noticeably better performance due to significantly reduced memory access time.
The TMS 9995 was fully object-code compatible with the first generation of 9900 devices. The 9995 not only implemented complete TMS9900 instruction set, but also optimized instructions, so that they required fewer number of cycles to execute. Another performance enhancement feature was ability to fetch next instruction, while still executing current instruction. Faster code instruction was partially offset by slower memory access of the new chip. The TMS9995 had 8-bit data bus, and to retrieve one data word from memory the processor required two memory accesses instead one for the TMS9900.
In addition to re-designed processor core, the TMS 9995 added four new CPU instructions: load status register, load workspace pointer, and signed multiply and divide. It also added Macro Instruction Detection (MID) feature. The MID feature allowed system designers to execute their own custom code when the processor encountered certain unused opcodes, i.e. it essentially turned unused (illegal) opcodes into user defined instructions. The last new feature in the 9995 microprocessor was a timer and event counter, which was useful for executing time critical code.
The TMS9995 processor was manufactured in 40-pin DIP ceramic and plastic packages. Fewer pin-count was partially achieved by using single power supply, and reducing bus width from 16 bit to 8 bit. These features, combined with an on-chip clock generator, simplified and made less expensive design of systems, based on the 9995 microprocessor.