title: Texas Instruments TMS9900
text: # Texas Instruments TMS9900
  
  Introdotto nel 1976, il TMS 9900 fu uno dei primi microprocessori a 16-bit effettivi (i primi furono probabilmente il National Semiconductor IMP-16 ed il processore "bit slice" AMD AMD-2901 in configurazione a 16 bit). Prodotto in tecnologia CMOS, fu concepito come versione a singolo chip della serie di minicomputer della Texas Instruments TI 990, così come altri progetti dell'epoca. Tuttavia, il TMS 9900 si distingueva per un'architettura matura e ben progettata.
  
  IL 9900 era dotato di un bus indirizzi a 15 bit, un bus dati a 16 bit e tre registri interni sempre a 16 bit (PC, WP, e ST). Caratteristica peculiare del 9900 era la conservazione dei registri general purpose nella memoria esterna anziché all'interno della CPU (sistema "memory to memory"). Un unico registro "workspace" (WP) puntava al set di 16 registri memorizzato nella RAM cosicché l'esecuzione di una [subroutine] o di un [interrupt] comportava l'aggiornamento del solo registro WP, diversamente da quanto accadeva su altre CPU dove era necessario il salvataggio dell'intero set di registri per compiere un context switch. Tale caratteristica era a quei tempi sensata in quanto le memorie RAM erano spesso più veloci delle CPU. Il risultato finale si traduceva in una più veloce risposta agli interrupt, così come la gestione delle subroutine.
  
  I registri mappati nella RAM non erano l'unica caratteristica positiva del chip. Il 9900 infatti era dotato di una buona gestione degli interrupt ed un ottimo set di istruzioni. L'I/O seriale era implementato tramite bus di indirizzi. Inoltre, nella comparazioni di algoritmi tipici, il codice del TMS 9900 era più compatto e veloce rispetto a quello dell'Intel 8086.
  
  Gli svantaggi principali erano invece rappresentati dalla necessità di supporto di RAM veloci e un ridotto spazio di indirizzi (address space).
  
  Come nel 6502, il TMS 9900 era dotato di una istruzione di salto "indiretto" 'X' (da eXecute), utilizzata per eseguire un'istruzione puntata da un registro.
  
  Il processore, costituito da circa 8000 transistors, era inizialmente inserito in un package ceramico di tipo DIP da 64 pin, insolitamente grande, mentre molti altri microprocessori a 8 bit dell'epoca utilizzavano un più economico e compatto package plastico da 40 pin. Il TMS9900 è stato utilizzato negli home computer TI-99/4 e TI-99/4A. Sfortunatamente, con l'obiettivo di ridurre i costi, la Texas Instruments scelse di abbinare alla CPU una RAM di soli 128 word da 16 bit (= 256 byte). Come resto della memoria necessaria al computer erano sfruttati 16 KB (da 8-bit) integrati nel controller video e accessibili attraverso lo stesso chip esterno, determinando un pesante limite nelle prestazioni della CPU.
  
  Nonostante lo scarso supporto da parte della Texas Instruments, il 9900 fu ad un certo punto potenzialmente in grado di superare in popolarità l'Intel 8086.
  
  Versioni derivate dal 9900 furono il TMS 9980, sviluppato per competere con l'Intel 8080, con un bus dati da 8 bit e uno spazio indirizzi di soli 16 KB, e il successivo TMS 9995, rivisto nell'architettura. Ulteriori sviluppi della famiglia seguirono con la serie 99000, utilizzata anche nei minicomputer 990/10A quale soluzione a costo ridotto. Sfortunatamente, il 990/10A raggiunse il mercato troppo tardi rispetto alla concorrenza, quando ormai l'epoca dei minicomputer già imboccava la via del tramonto.
  
  