Texas Instruments TMS9900 - Texas Instruments TMS9900


z Wikipedie, otevřené encyklopedie
Texas Instruments TMS9900
Návrhář Texas Instruments
bity 16-bit
zavedla 1976
Design CISC
endianness Velký
registry
PC, WP, ST
obecný účel 2 uvnitř umístěn v procesoru (WP, ST), 16 x 16 bitů v externí paměti RAM

Představený v červnu 1976 TMS9900 byl jedním z prvních komerčně dostupných, jednočipových 16-bitových mikroprocesorů . TMS9900 našel své nejrozšířenější použití v TI-99/4 a / 4A TI-99 domácích počítačů.

Dějiny

TMS9900JL v keramickém obalu s pozlacenými piny

TMS9900 byl navržen jako jednočipový verzi TI 990 minipočítače série, hodně podobně jako Intersil 6100 byl jediný čip PDP-8 (12 bit), a Fairchild 9440 a údaje Všeobecné mN601 byly obě verze jednočipových z Data General to Nova . Na rozdíl od jiných 16bitové mikroprocesory, jako je National Semiconductor IMP-16 nebo DEC LSI-11 , z nichž některé předcházely TMS9900, druhý byl jednočipový, soběstačný 16-bitový mikroprocesor.

Architektura

TMS9900 má tři interní 16-bitové registry - programový čítač (PC), stavový registr (ST) a Workspace Pointer registrů (WP). Na WP registr body do základní adresy v externí paměti RAM , kde jsou chována 16 obecných uživatelských universálních registrů procesoru (každá 16 bitů široký). Tato architektura umožňuje rychlé přepínání kontextu ; například pokud podprogram je součástí, pouze je třeba změnit místo vyžadující registrů, které mají být uloženy jednotlivě jeden pracovní prostor registr.

Adresy naleznete bytech s velkým endian objednání konvence. TMS9900 je klasický 16 bit stroj s adresního prostoru 2 16 bajtů (65.536 bajtů nebo 32,768 slov).

Neexistuje žádný koncept stohu a bez stack ukazatel rejstříku. Místo toho, návod větev existují to zachránit čítač instrukcí k rejstříku a změnit kontext registru. 16. hardware a software 16 přerušení vektory sestávají vždy z dvojice PC a hodnot WP, aby registr přepnutí kontextu se provede automaticky pomocí přerušení stejně.

Instrukční sada a řešení

TMS9900 má 69 pokynů, které jsou jeden, dva nebo tři slova a vždy slovo zarovnán v paměti. Instrukční sada je poměrně ortogonální , což znamená, že až na několik výjimek, instrukce mohou využít všechny způsoby přístupu k operandů (adresování režimy).

Adresování režimy zahrnují bezprostřední (operandu v instrukci), přímé nebo „symbolickou“ (Adresa operandu v instrukci), registr (operandu v pracovním prostoru rejstříku), Registrace nepřímé (operandu adresu v pracovním prostoru rejstříku) s nebo bez automatického přírůstku, indexované (operand adresa ve výuce indexovány s obsahem pracovního prostoru registr), a programový čítač relativní.

Nejdůležitější pokyny dual-operandů (sčítání, odčítání, srovnat, přesunout atd.) Obsahují režim adresování 2-bit a 4-bitové voliče registr pole pro zdrojové a cílové operandy. V operační kód, režim „symbolický“ je reprezentován jako indexovaná režimu se pole registru nastavena na 0 ° C, tedy pracovního prostoru registru 0 (WR0) nelze použít v indexové režimu. V méně často používaných dvojího operandu instrukce, jako je XOR, cílový operand, musí být pracovní prostor registru (nebo pracovní plochy dvojici registrů v případě násobení a dělení instrukce) a.

Řízení toku je usnadněna prostřednictvím skupiny jednoho bezpodmínečné a dvanácti podmíněných skoků. Jump cíle jsou vztaženy k PC s posunem -128 do +127 slovních adres.

U volání podprogramů, Pobočka a Load Workspace Pointer (BLWP) instrukce načte nové WP a PC hodnoty, pak se uloží hodnoty WP, PC a ST k (nový) registry 13, 14 a 15, resp. Na konci podprogramu, návrat pracovní prostor ukazatel (RTWP) obnovuje takto v opačném pořadí. Používání BLWP / RTWP, je možné vnořit volání podprogramů přes nepřítomnost stohu však programátor potřebuje přiřadit příslušnou pracovní registru explicitně.

Instrukce set obsahuje také pobočku a Link (BL) operační kód, který pouze ukládá PC registrovat 11 beze změny WP. V tomto případě instrukce větev (B) za použití WR11 jako cílová adresa může sloužit jako vratná opcode, ale BL typu podprogramy nemohou být vnořené, aniž by programátor přijímá opatření k záchraně zpáteční adresu.

TMS9900 má neobvyklý a jen zřídka, instrukce s názvem „X“ (vykonat). Tato instrukce se používá k spouštět další instrukce na adrese, na který ukazuje registru beze změny tok programu, tj provádění pokračuje na adresu následující instrukce X. Tento návod může být použit pro ladění (jako zarážky instrukce) a pro vytváření indexovaných operační kód tabulky, jak je používán v byte-code tlumočníků.

TMS9900 také podporuje výuku rozšířenou působností (XOP). XOP je přiděleno číslo v rozmezí 0-15, stejně jako zdrojovou adresu. Po vyvolání se instrukce provede přepnutí kontextu prostřednictvím jedné ze šestnácti vektorů v předem určených místech v paměti. Je to podobné jako přerušení, ale instrukce XOP také ukládá zdrojové adresy v registru 11 nového pracovního prostoru. XOP je méně flexibilní než BLWP, protože transferové vektory musí být v pevných místech, ale šetří paměť, protože zdrojová adresa může být použita provedené podprogram místo, když to není definování umístění vektoru. XOP se používá k provádění pokynů uvedených v programu v nižších-end modely, kde vyšší koncové verze 990 minipočítače série mohou mít vyhrazený hardware k jejich vyřízení.

V typických srovnání s Intel 8086 se TMS9900 měl menší programy. Jedinou nevýhodou byla malá adresní prostor a potřeba pro rychlé paměti RAM.

Implementace

Konfigurace TMS9900 čep (64-pin DIP )

TMS9900 byl realizován v N-kanálové křemíku gate MOS proces, který vyžadoval + 5V, 5V a +12 zdroje a čtyři fáze (nepřekrývajících) hodiny s maximální frekvencí 3 MHz (333ns cyklu), obvykle generován z krystalu 48 MHz za použití TIM9904 (aka 74LS362) hodiny generátor čip.

Nejkratší instrukce vyžadují osm hodinových cyklů, nebo 2,7 us k dokončení (za předpokladu, že vnější 0 čekací cykly), mnoho dalších jezdí mezi 10 a 14 cyklech (3.3-4.7 uS); nejdelší instrukce (DIV) může trvat až 124 cyklů (41,3 uS).

Čip byl zabalen v (pak neobvyklý) 64-pin, 0,9" široký DIP . Poměrně velký počet kolíků povolených pro 15-bit (slovo) adresovou sběrnicí a 16-bitové datové sběrnici , které mají být vyveden na vyhrazených čepy bez použití multiplexování (na rozdíl například Intel 8086 CPU), udržování externí připojení paměťových jednoduché. na rozdíl od úmluvy používá mnoho jiných výrobců, TI označeny nejvýznamnější adresy a datové linky „A0“ a „D0“, resp. Všechny interní datové cesty a ALU 16 bitů široká.

Procesor může být pozastaveno s adresovou sběrnici tri-uvedla pro externí přímého přístupu do paměti (DMA). Přístupů do paměti je vždy 16 bitů široká, s CPU automaticky provádí čtení, než-operace zápisu do byte-široký přístupů.

Systém hardwarové přerušení podporuje 4-bitové přerušení prioritní vstup, který potřebuje být vyšší, než je úroveň priority uložených ve stavovém registru (bity 12-15), aby přerušení požadavek, aby se podával. Kromě toho, / LOAD vstup poskytuje NMI zařízení s vyhrazeným vektoru.

TMS9900 CPU také obsahuje 16-bitové je posuvný registr ( „CRU“), určený pro propojení s externími posuvných registrů s dedikované pokyny podporou přístupu k oblasti 1-16 bitové šířce z celkového počtu 4096 adresovatelných bitů.

Paralelní periferie mohou být připojeny v paměti mapované způsobem k pravidelnému adresy a datové sběrnice.

Aplikace

Tomy Tutor , 16-bitový domácí počítač z roku 1983, který byl založen mimo TMS9995 procesoru.

TMS9900 byl použit v TI-99/4 a / 4A TI-99 domácí počítače. Bohužel, snížení výrobních nákladů, TI se rozhodla použít v těchto systémech jen 128 16bitové slova rychlého typu RAM, že TMS9900 mohl přistupovat přímo. Zbytek paměti byla 16kB z 8-bitové paměti DRAM , která byla přístupná pouze nepřímo prostřednictvím řadiče zobrazení videa, který zmrzačil výkon TI-99/4.

TI vytvořil sérii TM990 počítačových modulů, včetně CPU, paměť, I / O, který po připojení do rámečku karty by mohla vytvořit 16bitové minipočítač. Ty byly obvykle používá pro řízení procesů. Mikroprocesor trenér byla vydána v podobě TM990 / 189.

Vývoj TMS9900 Rodina produktů

Druhá generace rodiny TMS9900 mikroprocesorů vzal podobu TMS9995. To za předpokladu, „funkční výkon při rychlosti 3 krát rychlejší než předchozí 9900 rodinný procesoru“, do značné míry v důsledku zahrnutí instrukcí pro načítání technologie. V domácí počítač arény, TMS9995 byl použit v TI-99/2-TI-99/8 prototypů je Myarc Geneve 9640 se Tomy Tutor a Powertran Cortex.

TMS9900NL v plastovém obalu DIP

TI později vyvinula silnější a schopný TMS99000 rodinu mikroprocesorů, které bylo použito jako CPU v 990 / 10A minipočítač jako snížení nákladů. Bohužel, v době, kdy 990 V / 10 A udělal to trhu, konec minipočítače éry byl už na dohled.

Rodina TMS99000 obsahuje dva mikroprocesory, na TMS99105A a TMS99110A, které jsou shodné s výjimkou specializovaných pre-programování Macrostore ROM paměti na čipu (Macrostore paměťový prostor realizuje přidané funkce nebo instrukce prostřednictvím emulačních rutin napsaných ve standardním strojového kódu). ROM na čipu Macrostore v TMS99105A mikroprocesoru není využit. ROM na čipu Macrostore v TMS99110A mikroprocesoru obsahuje floating point instrukcí, které jsou k dispozici jako součást sady strojového jazyka instrukcí. Třetí člen rodiny TMS99000 se TMS99120, bylo oznámeno, ale nikdy nebyly komerčně vyrábí. ROM na čipu Macrostore v TMS99120 obsahuje rutiny podporu run-time pro PASCAL jazyk na vysoké úrovni.

varianty

Modelka Popis
TI990 / 9 Early multi-chip CPU pro minipočítačových systémy, 1974
TI990 / 10 Implementace multi-chip pro minipočítačových systémy, 1975
TI990 / 12 Implementace multi-chip, rychleji než 990/10.
TMS9900 Single realizace čip 1976. Používá se v-TI 99/4 (A) počítače.
TMS9940 Mikrořadič s 2 kB ROM, 128B RAM, decrementer, CRU autobusu, 1979
TMS9980, TMS9981 8-bitové verze TMS9900
TMS9985 TMS9940 s 8kB ROM, 256B RAM a 8-bit externí sběrnice, c. 1978 (nikdy propuštěn)
TMS9989 Vylepšené 9980, který se používá ve vojenské techniky.
TMS9995 Vylepšená TMS9985 podobné, ne-ROM. Používá se v TI-99/2 a TI-99/8 prototypů se Tomy Tutor a počítač Geneve.
TMS99105 Baseline člen rodiny TMS99000 mikroprocesoru.
TMS99110 TMS99000 rodina mikroprocesor s pokyny s plovoucí desetinnou čárkou naprogramovaná do Macrostore ROM paměti na čipu.
TMS99120 TMS99000 rodina mikroprocesor s podpůrnými rutiny run-time na jazyku PASCAL vysoké úrovni předem naprogramovány do Macrostore ROM paměti na čipu. (Mikroprocesor bylo oznámeno, ale nikdy nebyly komerčně produkoval).

Reference

  1. ^ B TMS9900 Mikroprocesor dat Manual (PDF) . Texas Instruments Inc. 1976. p. 3.
  2. ^ TMS9900 Mikroprocesor dat Manual (PDF) . Texas Instruments Inc. 1976. p. 31.
  3. ^ TMS9900 Mikroprocesor dat Manual (PDF) . Texas Instruments Inc. 1976. p. 28.
  4. ^ TMS9900 Mikroprocesor dat Manual (PDF) . Texas Instruments Inc. 1976. p. 6.
  5. ^ "Stuart TM 990 řady 16-bitové mikropočítače moduly" . Citováno 2014-03-25 .
  6. ^ "Programovatelné kalkulačky - Texas Instruments TM990 / 189" . Citováno 2014-03-25 .
  7. ^ TMS9995 marketing brožura (PDF) . Texas Instruments Inc. 1981. p. 2.
  8. ^ "Powertran Cortex.com" . Citováno 2014-03-27 .
  9. ^ TMS99105A a TMS99110A 16-bitové mikroprocesory Předběžná data Manual (PDF) . Texas Instruments Inc. 1982. p. 1.
  10. ^ Microsystems Návrháři Handbook, 2. vydání . Texas Instruments Limited. 1981. str. 3-25 a dále.

externí odkazy