Motorola 6809

Motorola 6809
sentralenhet
En Motorola 6809P i DIP40- pakke
Produkt1977 [1]
Tekniske spesifikasjoner
CPU- frekvensMHz
PakkeDIP40

Motorola 6809 er en mikroprosessor produsert av Motorola siden 1979 som en videreutvikling av forgjengeren Motorola 6800 og for å svare på MOS Technologys MOS 6502 , noe som gjør den bedre enn begge. Den ble faktisk designet som en 8-bits prosessor, men noen av dens interne registre ble satt til 16-bit . [2]

Historie

Det regnes ofte som den "moralske" forløperen til 68000 -familien, men dette er ikke helt korrekt. Selv om begge prosjektene ble utviklet på slutten av 70-tallet av det tjuende århundre, og selv om det faktisk er noen likheter mellom 68000 og 6809, for eksempel adresseringsmetodene og syntaksen til de mnemoniske kodene til samlingsspråkene deres, stammer 6809 imidlertid fra 6800 mens 68000 er et helt nytt prosjekt født fra 1979. [3] Motorola-designerne betraktet 6809 som et komplett prosjekt uten mer rom for forbedring, så de bestemte seg for å slutte å utvikle den og tenke på hans etterfølger. [4]

6809 ble brukt av Commodore i datamaskinen hans med 2 SuperPET CPUer og, i inkarnasjonen av 68A09, i den eneste vektorkonsollen, Vectrex , som i tillegg til å være basert på vektorgrafikkstyring, også var utstyrt med en integrert skjerm . 6809E ble også brukt i TRS-80 Color Computer (CoCo) , Acorn System 2/3/4 datamaskiner , UK-produserte CoCo-kloner og Dragon 32/64 hjemmedatamaskinen .

Programvareselskapet Microware utviklet det originale operativsystemet , OS-9 (ikke å forveksle med Mac OS 9 ) for 6809, som senere også ble konvertert til 68000-seriens prosessorer.

Hitachi 6309 var en avansert versjon av 6809 med flere registre og flere instruksjoner. Blant de ekstra instruksjonene var det for å flytte hele minneblokker, for flere multiplikasjoner og divisjonen implementert i maskinvare. Den ble brukt i den uoffisielle versjonen av CoCo 3 og en versjon av OS 9 ble laget som var i stand til å dra nytte av dens særegenheter.

Dessverre fortsatte verken Motorola eller Hitachi utviklingen av 6809 til tross for at de var en veldig god prosessor og kunne brukes på praktisk talt alle felt. Mange av innovasjonene ble tatt opp og brukt i prosessorer senere designet av Motorola.

Beskrivelse og egenskaper

Blant de viktigste forbedringene av 6809 i forhold til forgjengerfamiliene var tilstedeværelsen av 2 8-bits akkumulatorer (6502 hadde bare 1) som kunne kombineres for å lage en enkelt 16-bits akkumulator. Den hadde også 2 16-biters adresseregistre og 2 stackpekere (6502 hadde bare 1) og svært avanserte adresseringsmetoder.

6809 var programmatisk kompatibel med 6800 , selv om den hadde et sett med 78 instruksjoner mens 6809 bare hadde 59. Mange av de slettede instruksjonene hadde blitt erstattet av mer generiske instruksjoner og noen instruksjoner hadde blitt erstattet av ytterligere adresseringsmoduser. Montøren leste 6800 -enheten og konverterte den til 6809-maskinkode ved å bruke de riktige konverteringene. Den innfødte forsamlingen til 6809 var veldig ortogonal: faktisk var den mye enklere å programmere enn konkurrerende produkter.

En annen viktig funksjon var at det var den første prosessoren som implementerte multiplikasjonsoperasjonen i maskinvare . Den var utstyrt med full 16-bits aritmetikk samt en rask avbruddshåndtering . Denne prosessoren var mye raskere enn 6800-seriens prosessorer (i gjennomsnitt 5 ganger raskere) og inneholdt i likhet med disse en udokumentert instruksjon som kunne skade systembussen alvorlig ( Halt and Catch Fire ).

Optimaliseringene til 6809 var veldig forskjellige fra de moderne. Mange moderne prosessorer er CISC, men har internt en RISC -kjerne , så de er i stand til å utføre et lite antall instruksjoner, men veldig raskt. Prosessorer som Motorola 6809 og MOS Technology 6502 var CISC-lignende prosessorer (dvs. prosessorer med mange instruksjoner), men med RISC-optimaliseringer, mens Intel 8080-konkurrentene var helt CISC, mens rene RISC-er var Acorns ARM-er (ARM mente nettopp Acorn RISC Machine), Berkeley RISC, MIPS-X, MIPS series R, IBM Power 801 (som PowerPC 601 og etterfølgere, brukt i datidens Apple-systemer, stammer fra). For å utføre mange instruksjoner med mange adresseringsmoduser uten å bruke millioner av transistorer, skapte designerne generiske enheter i prosessorene som var riktig programmert med mikrokoden for å gjenkjenne og utføre alle monteringsinstruksjoner. Så en optimalisering for 6809 besto av en forbedring av mikrokoden.

Sammenligningen med Zilog Z80

Zilog Z80 var den direkte konkurrenten til 6809, selv om deres interne struktur var fundamentalt annerledes. For eksempel ADD A,63krevde operasjonen 7 klokkesykluser til Z80 mot de 3 av 6809 (på grunn av hybridarkitekturen inspirert delvis av RISC-systemer). Så Z80, for å oppnå samme ytelse som 6809, opererte ved høyere frekvenser enn 6809. Et annet eksempel er det faktum at Z80 organiserte lasting og utførelse av instruksjoner i flere trinn kalt "maskinsykluser": lesing av data fra minne ble utført under en av disse syklusene, som igjen besto av flere klokkesykluser. [5] I motsetning til mange andre mikroprosessorer på den tiden, utviklet derfor en minnetilgang til Z80 over flere klokkesykluser kontra en enkelt syklus som kreves av 6800/6809. Denne forskjellige interne styringsstrategien til de forskjellige mikroprosessorene ble imidlertid balansert av den maksimalt mulige klokken. "En syklus" / operasjonsprosessorene var begrenset til 1-2 MHz maksimal frekvens, Z80 tok flere sykluser, men kunne klokkes til 4-6 MHz, avhengig av versjonen.

Varianter

6809 var internt utstyrt med en klokkegenerator (trenger åpenbart en ekstern krystall). 6809 E trengte den eksterne klokkegeneratoren i stedet. Den originale 6809 opererte ved 1 MHz. Senere varianter 68 A 09 (E), ved 1,5 MHz, og 68 B 09 (E), ved 2 MHz, ble også introdusert.

Merknader

  1. ^ Bilder og data fra Motorola 6809 , på cpu-collection.de . Hentet 23. januar 2011 .
  2. ^ Blackie, "Blackie's Dictionary of Computer Sciences , S. Chand Publishing, 2013, XXXV, XXXVI.
  3. ^ Motorola 6809 , på clever-geek.github.io , Clever Geek. Hentet 4. juni 2020 .
  4. ^ Daniel Knight, CPUer: Motorola 6800 og 6809 , lowendmac.com , 14. oktober 2016. Hentet 4. juni 2020 .
  5. ^ Z80-timing . 8bitnotes.com , 24. mai 2017. Hentet 7. november 2019 .

Bibliografi

Andre prosjekter