Toshiba TLCS - Toshiba TLCS

TLCS je předpona použitá u mikrokontrolérů od společnosti Toshiba . Produktová řada zahrnuje více rodin architektur CISC a RISC . Jednotlivé součásti mají obecně číslo dílu začínající na „TMP“. Např. TMP8048AP je členem rodiny TLCS-48.

TLCS-12

TLCS-12 byl 12bitový mikroprocesor a centrální procesorová jednotka vyráběná společností Toshiba. Vývoj byl zahájen v roce 1971 a byl dokončen v roce 1973. Byl to čip integrovaného obvodu MOS 32  mm² s přibližně 2 800 křemíkovými hradly , vyrobený na 6 µm procesu s logikou NMOS . Byl použit v systému řídicí jednotky motoru Ford EEC , který se začal vyrábět v roce 1974 a do sériové výroby šel v roce 1975. Systémová paměť obsahovala 512bitovou RAM , 2 kb ROM a 2 kb EPROM .    

Rodina TLCS-47

Mikrokontroléry v kategorii TLCS-47 jsou 4bitové systémy. Na webu společnosti Toshiba již nejsou inzerovány.

Rodina TLCS-48

Rodina TLCS-48 byly klony mikrokontroléru Intel MCS-48 (8048).

Rodina TLCS-Z80

Toshiba Z84C00

Jednalo se o řadu mikrokontrolérů kompatibilních se Zilog Z80 .

Rodina TLCS-90

Vývojová verze mikrokontroléru rodiny TLCS-90 s paticí EPROM

Mikrokontroléry z rodiny TLCS-90 používají 8bitovou / 16bitovou architekturu připomínající Z80 . Na webu společnosti Toshiba již nejsou inzerovány.

TLCS-90 zdědí většinu funkcí Z80, jako například:

  • sedm 8bitových registrů (A, B, C, D, E, H a L),
  • šest 16bitových registrů (BC, DE, HL, IX, IY a SP), z nichž tři jsou 8bitové páry registrů,
  • kombinovaný příznak parity / přetečení,
  • EX DE,HL, EX AF,AF'a EXX16-bitové instrukce pro výměnu a
  • pokyny LDIRa LDDRkopírovat do paměti.

Existují však významné rozdíly. Vynechává samostatný I / O adresní prostor Z80, ale přidává větší flexibilitu kombinacím operandů, některé nové operace (zejména násobení a dělení) a několik dalších režimů adresování :

  • (SP+d)a (HL+A)indexované režimy fungující podobně jako (IX+d)a(IY+d)
  • jednobajtové " nulové stránky " adresování paměti z FF00 – FFFF 16
  • (IX)a (IY)adresování bez posunutí, umožňující uložení jediného bajtu strojového kódu a prodloužení doby provádění
  • Relativní k PC dlouhé (-32768 až +32767 bajtů z čítače programu, spíše než kratší -128 až +127)

Většina funkcí 8-bitové akumulátoru A také byl zaveden pro 16bitové páru HL registru, jako je chybějící SUBa CPpokyny, a na AND, XORa ORinstrukcí bitové. Je ADD HL,rrimplementována vlajka z Z80. Dále DJNZ BC,addrbyla přidána instrukce pro usnadnění počítání 16bitových smyček.

Balíčky TLCS-90 SoC zahrnují 4bitové registry BX a BY, které jsou zřetězeny s účinnými adresami založenými na registru IX nebo IY, což umožňuje procesoru adresovat až jeden megabajt paměti. Procesor obsahuje instrukce INCX ($FF00+n)a DECX ($FF00+n), které jsou užitečné pro provádění aritmetiky 20bitového ukazatele pomocí registrů IX a BX nebo registrů IY a BY.

Pokyny jsou rozděleny na jednobajtové základní a dvoubajtové rozšířené instrukce. Opcodes E0 16 až FE 16 jsou předpony, které začínají rozšířenou instrukcí. Kódování instrukce je neobvyklé v tom, že předpona určuje jeden operand rozšířené instrukce a na rozdíl od jednobajtových předpon používaných architekturou Z80 nebo x86 za ní mohou následovat bajty operandů. Po bajtech předpony určuje druhý bajt operační kód operaci a druhý operand.

Například instrukce ADD (IX+127),5je zakódována jako F4 7F 68 05, kde první dva bajty určují cílovou adresu, třetí bajt určuje operaci a čtvrtý bajt poskytuje zdrojový operand.

Rodina TLCS-870

Mikroprocesory řady TLCS-870 (řady TLCS-870, TLCS-870 / X, TLCS-870 / C a TLCS-870 / C1) používají 8bitovou / 16bitovou architekturu inspirovanou TLCS-90, ale méně jako Z80.

TLCS-870 je originál s 16bitovým adresním prostorem, který byl rozšířen ve dvou různých směrech:

  • TLCS-870 / X rozšiřuje architekturu na 20 bitů způsobem kompatibilním směrem vzhůru.
  • TLCS-870 / C zachovává 16bitový adresní prostor a poskytuje kompatibilní jazyk sestavení , ale mění kódování instrukcí tak, aby byl vyžadován jiný kód objektu .
  • TLCS-870 / C1 je vzestupně kompatibilní varianta 870 / C s menšími rozšířeními.

Rodina TLCS-900

Rodina TLCS-900 zdědí většinu funkcí z architektury TLCS-90 a zahrnuje 32bitové registry a 24bitovou adresovou sběrnici. Většina implementací (řady TLCS -900, TLCS-900 / L, TLCS-900 / H a TLCS-900 / L1) má 16bitové vnitřní datové cesty, jako je MC68000 , zatímco řada TLCS -900 / H1 je široká 32 bitů interně (jako MC68020 ).

Sada instrukcí je většinou kompatibilní s TLCS-90 směrem nahoru, i když se binární kódování liší. Stejné schéma kódování režimu adresování před implementací operačního kódu instrukce a dalších operandů. První modely podporovaly jak „minimální režim“, kde převýšené registry a programové počítadlo byly široké 16 bitů, tak „maximální režim“, který měl všechny 32bitové registry pro všeobecné účely. Pozdější modely vynechaly minimální režim.

V maximálním režimu existují 4 banky se čtyřmi 32bitovými registry, z nichž každý lze rozdělit na dvě 16bitové poloviny nebo čtyři 8bitové čtvrtiny. V minimálním režimu časných modelů je 8 bank se čtyřmi 16bitovými registry, které lze rozdělit na 8bitové poloviny. Procesor může používat aktuální banku (na kterou ukazuje RFPpole v 16bitovém stavovém registru SR), předchozí banku, aby byla kompatibilní se schématem alternativního registru TLCS-90, nebo libovolné číslo banky od 0 do 7. K dispozici je také pevná sada čtyř 32bitových registrů, přičemž jeden z nich je vyhrazen jako ukazatel zásobníku. Časné modely měly dva samostatné ukazatele zásobníku pro uživatelské a systémové režimy. Normálně lze z 3-bitového kódu adresovat pouze sadu 8 registrů; adresování všech registrů vyžaduje další 6 / 8bitový kódový bajt, který lze vložit pouze do operandu režimu prefixovaného adresování, což omezuje, které kombinace registrů lze použít pro zdrojový a cílový operand.

Registr F (nízká 8bitová polovina 16bitového registru SR) má alternativní registr s názvem F '. Provedení EX AF,AF'z TLCS-90 vyžaduje provedení obou EX A,A'a EX F,F'.

TLCS-900 také obsahuje 4 přenosové kanály „microDMA“, z nichž každý má programovatelné zdrojové a cílové adresy, počty přenosů, velikosti dat (bajt, slovo a dlouhé slovo) a různé režimy přenosu. Ty se spouštějí stejným způsobem jako normální přerušení a přeruší provádění programu při procesu přenosu.

Model TLCS-900 / H byl nejvýrazněji používán v kapse Neo Geo Pocket a Neo Geo Pocket Color .

Vlastnosti a rozdíly

Současné procesory TLCS nabízejí některé nebo všechny z následujících funkcí:

Jelikož se poptávka po těchto funkcích značně liší v závislosti na požadavcích na konkrétní projekt (nízká spotřeba energie; vysoký počet I / O portů atd.), Mohou si zákazníci vybrat ze široké škály různých verzí.

Vývojové nástroje

Toshiba nabízí ANSI C kompatibilní C kompilátor a assembler . Ani jeden nástroj není k dispozici zdarma.

Bezplatný kompilátor Small Device C podporuje TLCS-90.

Existuje projekt pro portování GNU assembleru do rodiny TLCS-900.

Alfred Arnold's The Macroassembler AS [1] je bezplatný assembler podporující rodiny TLCS-47, TLCS-870, TLCS-90, TLCS-900 a TLCS-9000.

Reference

externí odkazy