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
Jednalo se o řadu mikrokontrolérů kompatibilních se Zilog Z80 .
Rodina TLCS-90
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'
aEXX
16-bitové instrukce pro výměnu a- pokyny
LDIR
aLDDR
kopí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í SUB
a CP
pokyny, a na AND
, XOR
a OR
instrukcí bitové. Je ADD HL,rr
implementována vlajka z Z80. Dále DJNZ BC,addr
byla 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),5
je 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 RFP
pole 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í:
- multifunkční obousměrné univerzální I / O porty s volitelnými vestavěnými pull-up rezistory
- programovatelná maska , jednorázově programovatelná , flash paměť nebo EEPROM typ ROM. K dispozici jsou také verze bez ROM
- řada sériových rozhraní:
- časovač hlídacího psa (WDT)
- multiplexované 10bitové A / D převodníky ; D / A převaděče
- duální vstupy hodin a přepínání hodin online výběrem různých hodnot převodových stupňů ( dělič frekvence ), což umožňuje buď nízkoenergetické nízkofrekvenční režimy nebo vysoce výkonné vysokofrekvenční režimy
- přednastavitelné 8bitové a 16bitové časovače (lze použít jako programovatelné intervalové časovače )
- 8bitová a 16bitová modulace šířky impulzů (PWM) a výstup programovatelného generování impulzů (PPG)
- rozsah napájecího napětí mezi 1,8 a 5,5 voltu
- externí ovládání přerušení
- generátor vzorů , vhodný pro řízení krokového motoru
- Řadič výběru / čekání čipu
- různé formáty nosičů čipů
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.