Motorola 6809

Motorola 6809
CPU

Motorola 6809E-processor med en driftsfrekvens på 1 MHz, släppt 1983
Produktion 1977 [1]
Tillverkare
CPU- frekvens 0,89-4  MHz
Produktionsteknik HMOS , CHMOS , 6  um
Instruktionsuppsättningar Motorola 6809
kontakt
Kärnor
Motorola 6800Hitachi 6309

Motorola 6809  är en 8-bitars mikroprocessor (ibland kallad 8/16-bitars) som släpptes av Motorola 1979. Den hade en betydande fördel jämfört med sin föregångare, Motorola 6800 , såväl som MOS Technology 6502-processorn , skapad av det ursprungliga 6800-utvecklingsteamet som lämnade Motorola.

Beskrivning

Betydande förbättringar i 6809-processorn inkluderade två 8-bitars ackumulatorer (A och B, som kunde kombineras till ett 16-bitars D-register), två 16-bitars indexregister (X och Y) och två 16-bitars stackpekare . (U och S). Indexregistren och stackpekarregistren möjliggjorde en mängd olika adresseringsmetoder .

6809 - processorn förblev bakåtkompatibel med 6800 på källkodsnivå . Antalet instruktioner har dock minskats från 78 till 59. Vissa instruktioner har ersatts med mer allmänna, för att säkerställa kompatibilitet ersatte montören gamla instruktioner med sina nya motsvarigheter under översättningen. Instruktions- och registeruppsättningarna var mer ortogonala, vilket gjorde det lättare att skriva program för processorn jämfört med 6800- eller 6502-processorerna.

Andra funktioner inkluderade en av de första hårdvaruimplementeringarna av multipliceringsinstruktionen, full 16-bitars aritmetik och ett snabbt avbrottssystem . Processorn var kraftigt optimerad och körde upp till fem gånger snabbare än processorerna i 6800-serien. Processorn behöll den odokumenterade adressbusstestinstruktionen som introducerades i processorn 6800. Den gjorde det möjligt att kringgå begränsningarna hos vissa minneskontroller och kallades Halt and Catch Fire (HCF) .

Till skillnad från många av den tidens processorer använde inte processorn mikrokod . Dess tillståndsmaskin och kontrolllogik implementerades mestadels i stor PLA och asynkron godtycklig logik (ett vanligt drag i tidiga designs såväl som RISC-processorer ). Därför kördes en maskincykel på bara en cykel, vilket var en fördel jämfört med till exempel Zilog Z80-processorn (en av huvudkonkurrenterna till 6809). Till exempel tog en instruktion ADDA 63tre cykler på 6809, medan en liknande instruktion på ADD A,63Z80-processorn krävde sju cykler. Teoretiskt sett, för att uppnå samma prestanda i denna operation, krävde Z80 minst dubbelt så hög frekvens. Z80:s mer synkrona design möjliggjorde dock en 3-5 gånger högre klockhastighet än 6809, 6800 eller 6502 utan behov av snabbare minne (vilket ofta var en stor begränsning).

Flera versioner av processorn släpptes, designade för olika klockhastigheter - 6809 (1 MHz), 68A09 (1,5 MHz) och 68B09 (2 MHz). Vanliga versioner av processorn hade en inbyggd klockgenerator, som endast kräver en extern kristalloscillator. Det fanns även versioner med ett E i slutet av beteckningen (6809E, 68A09E, 68B09E) som krävde användning av en extern klockgenerator. Därefter släppte tredjepartstillverkare, särskilt Hitachi , snabbare varianter av processorn.

Historik

6809-processorn kallas ibland för den konceptuella föregångaren till Motorola 68000- processorfamiljen , vilket är en missuppfattning. Båda projekten utvecklades parallellt och slutfördes 1979. Det finns vissa likheter mellan dem - i synnerhet flexibiliteten i adresseringsmetoder och större ortogonalitet. Det finns också vissa likheter mellan mnemonics och assemblersyntax . Men 6809-processorn utvecklade idéerna med 6800-processorn, medan 68000-processorn var en helt ny utveckling. Åttabitars databussversionen av 68000 ( Motorola 68008 ) var avsedd för användning i framtida 8-bitarssystem, så 6809 blev snabbt en evolutionär återvändsgränd.

Processorutvecklingsteamet trodde att framtida användare av processorn kan behöva ett ROM med färdig kod för att lösa vanliga uppgifter, såsom flyttalsberäkningar . Detta kan göra det möjligt för utvecklare av processorbaserade system att inte slösa tid på att utveckla sin egen kod. Eftersom processordesignerna inte i förväg kunde veta var ROM-koden skulle vara placerad i systemets adressutrymme, fokuserades processordesignen på möjligheten att exekvera återkommande subrutiner belägna var som helst i adressutrymmet. Denna möjlighet har inte använts för dessa ändamål i praktiken. Motorolas enda kodade ROM var MC6839, som innehöll kod för flyttalsberäkningar. En sådan processordesign möjliggjorde dock skapandet av sådana avancerade operativsystem som OS-9 och UniFlex , som använde möjligheten att exekvera reentrant-kod som inte var bunden till specifika adresser i minnet.

6809-processorn användes i tvåprocessorn Commodore SuperPET -datorn och i den unika Vectrex -spelkonsolen (68A09). Modifiering 6809E användes i hemdatorer TRS-80 Color Computer (CoCo) , Aamber Pegasus , Acorn System 2, 3 och 4 (som ett valfritt alternativ till 6502 ), Fujitsu FM-7 (två 6809), Dragon 32/64 (CoCo ) kloner), såväl som i SWTPC , Gimix , Smoke Signal Broadcasting och andra SS-50- bussystem , inklusive flera system för utveckling av Motorolas egen EXORmacs- serie . I Frankrike släppte Thomson SA en stor serie datorer baserade på 6809E-processorn - TO7, TO7 / 70, TO8, TO8D, TO9, TO9Plus, MO5 , MO6, MO5E och MO5NR.

Processorn användes även i ett antal arkadmaskiner i början av 1980-talet. I synnerhet användes den flitigt av Williams Electronics , som på arkadhits som Defender , Joust , Sinistar och Robotron: 2084 . Detta företag använde också processorn i många av sina flipperspel , och skapade därefter ett specialiserat Williams Pinball Controller- kort baserat på det .

Microware utvecklade ett anpassat operativsystem OS-9 ( ej relaterat till Mac OS 9 ) för processorn 6809. Det portades sedan till Motorola 68000- , Intel 80386- och PowerPC-processorerna .

Hitachi släppte en förbättrad version av processorn, Hitachi 6309 . Den innehöll ytterligare register och instruktioner, inklusive blockkopieringsinstruktioner, ytterligare multiplikationsinstruktioner och hårdvaruimplementerade divisionsinstruktioner. Denna processor användes för att inofficiellt utöka CoCo 3-datorerna. En speciell version av OS-9 kallad NitrOS-9 utvecklades för att stödja ytterligare processorkapacitet.

Hitachi producerade också sina egna 6809-baserade datorer för den inhemska japanska marknaden, MB6890 och senare S1. Dessa datorer exporterades också till Australien . Där fick MB6890 smeknamnet "Peach" (persika), förmodligen som en ironisk referens till Apple II -datorernas popularitet . S1-datorn kännetecknades av närvaron av hårdvara som utökade processorns adressutrymme (64 KB) till 1 megabyte, representerat som 4-kilobyte-sidor. Liknande hårdvara fanns i datorerna hos SWTPC , Gimix och några andra. Technical Systems Consultants utvecklade ett Unix - liknande operativsystem, uniFlex , som bara kördes på sådana datorer. Operativsystemet OS-9 Level II drog också fördel av denna metod för minneshantering. De flesta andra datorer på den tiden använde en sidväxlingsteknik för att öka mängden adresserbart minne, när det mesta av adressutrymmet (till exempel 16 KB) inkluderade en del av det tillgängliga minnet.

Motorola och Hitachi tillverkar för närvarande inga 6809-processorer eller varianter. Det finns VHDL- implementeringar av processorn designade för inbäddade applikationer som använder programmerbar logik och kan arbeta vid frekvenser upp till 40 MHz. Vissa 6809-instruktioner finns också på Freescale- processorer .

Specifikationer

Källor

Anteckningar

  1. Beskrivning av Motorola 6809 (otillgänglig länk) . CPU-Collection.de. Hämtad 6 augusti 2011. Arkiverad från originalet 24 mars 2012. 

Länkar