Texas Instruments TMS99110 microprocessor family
TMS 99110 microprocessor is a member of TMS99000 family - the third generation of Texas Instruments' 16-bit microprocessors. Like two previous generations, TMS9900 and TMS9995, the TMS99110 family is based on memory-to-memory architecture. The main advantage of this architecture is that the set of CPU registers (called "Workspace") can be located anywhere in memory. This architecture makes saving and restoring of the contents of all CPU registers as simple as switching the base address of the workspace. The disadvantage of this architecture is that the processor speed is highly dependent on memory speed. The 99110 CPUs have external clock frequency 24 MHz, which is divided by four internally. It takes three or more machine cycles for the CPU to execute any instruction when no wait states are required to access the memory. This translates to maximum execution speed 2,000,000 instructions per second or less. Execution speed drops significantly when the processor is used with slow memory - instructions may execute up to two times slower when memory access requires 1 wait-state, or up to 3 times slower when 2 wait-states are required.
The TMS99110 family supports all instructions found in TMS9900 and TMS9995 families, and includes new instructions - 32-bit arithmetic and logic, bit testing, signed multiply and divide, and stack operations. In addition to new instructions, any unused processor opcode on the 99000 can be redefined as a new instruction. This can be done with the help of an attached processor (co-processor), or with the help of a Macrostore feature. The Macrostore allows system designers to map unused microprocessor opcodes to custom functions located in a separate memory address space. The TMS99110 even comes with 15 such "pseudo" instructions (12 of them are Floating Point instructions). Because the Macrostore memory is separate from main memory, this allows the CPU to access up to 128 KB simultaneously (64 KB of main memory + 64 KB of Macrostore memory). It is possible to increase maximum addressable memory size to 192 KB by splitting main memory into two memory segments - 64 KB instruction segment and 64 KB data segment.
The TMS99110 is almost identical to TMS99105 16-bit processor, except that the TMS99105 doesn't have on-chip memory with 15 pre-programmed instructions.