Motorola 6809 | |
---|---|
procesor | |
Procesor Motorola 6809E s pracovní frekvencí 1 MHz, vydaný v roce 1983 | |
Výroba | 1977 [1] |
Výrobci | |
Frekvence CPU | 0,89-4 MHz |
Produkční technologie | HMOS , CHMOS , 6 µm |
Instrukční sady | Motorola 6809 |
Konektor | |
Nuclei | |
Motorola 6800Hitachi 6309 |
Motorola 6809 je 8bitový mikroprocesor (někdy označovaný jako 8/16bitový) vydaný společností Motorola v roce 1979. Oproti svému předchůdci Motorola 6800 měl významnou výhodu , stejně jako procesor MOS Technology 6502 , vytvořený původním vývojovým týmem 6800, který Motorolu opustil.
Významná vylepšení procesoru 6809 zahrnovala dva 8bitové akumulátory (A a B, které bylo možné spojit do jednoho 16bitového registru D), dva 16bitové indexové registry (X a Y) a dva 16bitové ukazatele zásobníku . (U a S). Registry indexu a registry ukazatele zásobníku umožňovaly různé způsoby adresování .
Procesor 6809 zůstal zpětně kompatibilní s 6800 na úrovni zdrojového kódu . Počet instrukcí se však snížil ze 78 na 59. Některé instrukce byly nahrazeny obecnějšími, aby byla zajištěna kompatibilita, assembler při překladu nahradil staré instrukce jejich novými protějšky. Sady instrukcí a registrů byly více ortogonální, což ve srovnání s procesory 6800 nebo 6502 usnadňovalo psaní programů pro procesor.
Mezi další funkce patřila jedna z prvních hardwarových implementací instrukce násobení, plná 16bitová aritmetika a rychlý systém přerušení . Procesor byl silně optimalizován a běžel až pětkrát rychleji než procesory řady 6800. Procesor si zachoval nezdokumentovanou testovací instrukci adresové sběrnice zavedenou v procesoru 6800. Umožnil obejít omezení některých paměťových řadičů a byl nazýván Halt and Catch Fire (HCF) .
Na rozdíl od mnoha procesorů té doby, procesor nepoužíval mikrokód . Jeho stavový stroj a řídicí logika byly většinou implementovány ve velkých PLA a asynchronní libovolné logice (společný rys raných návrhů stejně jako procesorů RISC ). Jeden strojový cyklus byl tedy proveden pouze v jednom cyklu, což byla výhoda například oproti procesoru Zilog Z80 (jeden z hlavních konkurentů 6809). Například instrukce ADDA 63trvala tři cykly na 6809, zatímco podobná instrukce na ADD A,63procesoru Z80 vyžadovala sedm cyklů. Teoreticky pro dosažení stejného výkonu v této operaci potřeboval Z80 minimálně dvojnásobnou frekvenci. Synchronnější design Z80 však umožňoval 3-5x vyšší takt než 6809, 6800 nebo 6502 bez potřeby rychlejší paměti (což bylo často velké omezení).
Bylo vydáno několik verzí procesoru navržených pro různé rychlosti hodin - 6809 (1 MHz), 68A09 (1,5 MHz) a 68B09 (2 MHz). Běžné verze procesoru měly vestavěný generátor hodin, vyžadující pouze externí krystalový oscilátor. Existovaly i verze s E na konci označení (6809E, 68A09E, 68B09E) vyžadující použití externího generátoru hodin. Následně výrobci třetích stran, zejména Hitachi , vydali rychlejší varianty procesoru.
Procesor 6809 je někdy označován jako koncepční předchůdce rodiny procesorů Motorola 68000 , což je mylná představa. Oba projekty byly vyvíjeny paralelně a byly dokončeny v roce 1979. Jsou mezi nimi určité podobnosti – zejména flexibilita metod adresování a větší ortogonalita. Existují také určité podobnosti mezi mnemotechnickými pomůckami a syntaxí assembleru . Ale procesor 6809 rozvinul myšlenky procesoru 6800, zatímco procesor 68000 byl zcela nový vývoj. Verze osmibitové datové sběrnice 68000 ( Motorola 68008 ) byla určena pro použití v budoucích osmibitových systémech, takže se 6809 rychle stala evoluční slepou uličkou.
Vývojový tým procesoru věřil, že budoucí uživatelé procesoru mohou potřebovat ROM s připraveným kódem pro řešení běžných úloh, jako jsou výpočty s pohyblivou řádovou čárkou . To by mohlo vývojářům systémů založených na procesorech umožnit neztrácet čas vývojem vlastního kódu. Protože konstruktéři procesoru nemohli předem vědět, kde bude kód ROM umístěn v systémovém adresním prostoru, návrh procesoru se zaměřil na schopnost provádět reentrantní podprogramy umístěné kdekoli v adresovém prostoru. Tato možnost nebyla pro tyto účely v praxi využívána. Jediná kódovaná ROM Motoroly byla MC6839, která obsahovala kód pro výpočty s pohyblivou řádovou čárkou. Takový design procesoru však umožnil vytvoření tak pokročilých operačních systémů, jako jsou OS-9 a UniFlex , které využívaly schopnost spouštět reentrantní kód, který nebyl vázán na konkrétní adresy v paměti.
Procesor 6809 byl použit ve dvouprocesorovém počítači Commodore SuperPET a v unikátní herní konzoli Vectrex (68A09). Modifikace 6809E byla použita v domácích počítačích TRS-80 Color Computer (CoCo) , Aamber Pegasus , Acorn System 2, 3 a 4 (jako volitelná alternativa k 6502 ), Fujitsu FM-7 (dva 6809), Dragon 32/64 (CoCo klony), stejně jako v SWTPC , Gimix , Smoke Signal Broadcasting a dalších sběrnicových systémech SS-50 , včetně několika systémů pro vývoj vlastní řady EXORmacs Motoroly . Ve Francii Thomson SA vydala velkou sérii počítačů založených na procesoru 6809E - TO7, TO7 / 70, TO8, TO8D, TO9, TO9Plus, MO5, MO6 , MO5E a MO5NR.
Procesor byl také použit v řadě arkádových strojů na počátku 80. let. Zejména to bylo často používáno společností Williams Electronics , například na arkádových hitech jako Defender , Joust , Sinistar a Robotron: 2084 . Tato společnost také používala procesor v mnoha svých pinballových automatech a následně na něm vytvořila specializovanou desku Williams Pinball Controller .
Microware vyvinul vlastní operační systém OS-9 ( nesouvisející s Mac OS 9 ) pro procesor 6809. Následně byl portován na procesory Motorola 68000 , Intel 80386 a PowerPC .
Hitachi vydala vylepšenou verzi procesoru, Hitachi 6309 . Obsahoval další registry a instrukce, včetně instrukcí blokové kopie, dalších instrukcí násobení a hardwarově implementovaných instrukcí dělení. Tento procesor byl použit k neoficiálnímu rozšíření počítačů CoCo 3. Pro podporu dalších funkcí procesoru byla vyvinuta speciální verze OS-9 s názvem NitrOS-9 .
Hitachi také vyráběla vlastní počítače na bázi 6809 pro domácí japonský trh, MB6890 a později S1. Tyto počítače byly také exportovány do Austrálie . Tam byl MB6890 přezdíván „Peach“ (broskev), pravděpodobně jako ironický odkaz na popularitu počítačů Apple II . Počítač S1 se vyznačoval přítomností hardwaru, který rozšiřoval adresní prostor procesoru (64 KB) na 1 megabajt, reprezentovaný jako 4 kilobajtové stránky. Podobný hardware byl přítomen v počítačích SWTPC , Gimix a některých dalších. Technical Systems Consultants vyvinuli operační systém podobný Unixu , uniFlex , který běžel pouze na takových počítačích. Tento způsob správy paměti využil i operační systém OS-9 Level II. Většina ostatních počítačů té doby používala techniku přepínání stránek ke zvýšení množství adresovatelné paměti, když většina adresního prostoru (například 16 KB) zahrnovala část dostupné paměti.
Motorola a Hitachi v současnosti nevyrábí procesory 6809 ani jejich varianty. Existují VHDL implementace procesoru navržené pro vestavěné aplikace využívající programovatelnou logiku a schopné pracovat na frekvencích až 40 MHz. Některé instrukce 6809 jsou také přítomny na procesorech Freescale .