Hitachi 6309

mikroprocesszor

A Hitachi 6309-es processzora a Motorola 6809 mikroprocesszor CMOS változata. 1982-ben jelent meg, a Hitachi a Motorolával kötött licencszerződés alapján gyártotta, második forrásként.[2] Különböző változatainak jelölései: HD63B09, HD63B09E, HD63B09P, HD63C09, HD63C09E, HD63C09EP, HD63C09P. Alapvető emulációs üzemmódjában teljesen kompatibilis a 6809-es processzorral. A 6809-es specifikációihoz képest ez a processzor magasabb órajelfrekvencián képes működni, továbbfejlesztett jellemzőkkel rendelkezik, új utasításokat és kibővített regiszterkészletet tartalmaz. Az új utasítások többsége a hozzáadott regiszterek használatát szolgálja, valamint egészen a 32 bites számokkal végezhető műveleteket, hardveres osztást, bitműveleteket és blokkos adatátvitelt. A 6309 általában 30%-kal gyorsabb natív módban, mint a 6809.

Hitachi 6309
Hitachi 63C09E, a 6309 3 MHz-es külső órajelű változata
Hitachi 63C09E, a 6309 3 MHz-es külső órajelű változata

Gyártás1982 – 1990-es évek
GyártóHitachi
Max CPU órajel1–5 MHz
Gyártás technológia méretCMOS
Utasításkészlet8 bites CISC, 6809, 6309 ISA
TokozásPDIP-40, PLCC[1]
Alkalmazásamikroszámítógépek, játékgép-alaplapok
ElődMotorola 6809
A Wikimédia Commons tartalmaz Hitachi 6309 témájú médiaállományokat.

Meglepő módon, a Hitachi cég semmilyen információt nem közölt a processzor fejlett képességeiről. Az Oh! FM, egy a Fujitsu személyi számítógép felhasználóknak szóló japán magazin 1988. áprilisi kiadása tartalmazza az első leírást a 6309-es processzorról és annak kiegészítő, új képességeiről. Később (1992-ben) Hirotsugu Kakugawa, a Hirosimai Egyetem végzős hallgatója tette közzé a 6309 újabb tulajdonságairól és utasításairól szóló közleményét a comp.sys.m6809 hírcsoporton.[3] Ez vezetett a nyílt forrású NitrOS-9 operációs rendszer kifejlesztéséhez a Tandy Color Computer 3. típusú gépek számára.[4][5]

Programozási modell szerkesztés

 
A 6309 programozási modellje, a regiszterek elrendezésével; a kék szín a bővítéseket jelzi (a 6809-hez képest)

A 6309-es minden fejlesztés ellenére továbbra is tipikus akkumulátoros processzor, bár elődjéhez képest több regiszter szerepe bővült. A Hitachi kibővítette az eredeti Motorola terveket, és (egyebek közt) két újabb 8 bites akkumulátort tett a rendszerbe, oly módon, hogy ezeket két 16 bites, vagy egy 32 bites regiszterré lehet összefogni. Ezzel együtt járt az utasításkészlet bővítése is, az újfajta regiszterkombinációkat kihasználó utasításokkal. Ettől függetlenül a processzor 8 bitesnek számít, mivel az alapvető szóhossz változatlanul egy bájt.

Eltérések a Motorola 6809-től szerkesztés

A 6309 számos tulajdonságában különbözik a 6809-től.

Gyártási technológia szerkesztés

A 6309-es CMOS technológiával, míg a 6809 NMOS technológiával készült eszköz. A CMOS technológia fogyasztása kisebb, mint az NMOS alapú eszközöké, emiatt a 6309 működéséhez kevesebb energiát igényel: fogyasztása kisebb, hőtermelése is alacsonyabb, mint a 6809-nek.[2][6] Ezen felül a 6309-es egy teljesen statikus eszköz, ami nem veszíti el a belső állapotinformációt az órajel vagy feszültségszint változásaival (a statikus logikával készült eszközök érzéketlenek az órajel változásaira, az órajel akár teljesen ki is maradhat, az eszköz akkor sem veszti el az állapotinformációit; a statikus eszközök emellett gyorsabbak, ám drágábbak is a dinamikus, órajelvezérelt eszközöknél). Ennek egyik következménye, hogy a processzor külső DMA-val használható, anélkül, hogy szüksége lenne memóriafrissítésre minden 14. órajelciklusban, mint ahogy ez a 6809-nél van.

Órajel szerkesztés

A 6309-nek van egy B (2 MHz-es) változata is, a 6809-hez hasonlóan. Ugyanakkor, egy „C” sebességosztályú processzort is készítettek, amely vagy 3, vagy 3,5 MHz-es maximális órajelen futott, attól függően, hogy melyik adatlapot nézzük. (Több japán számítógép készült 3,58 MHz-es órajelű 63C09 CPU-val, ahol a 3,58 MHz az NTSC szabvány szerinti színsegédvivő jel frekvenciája, így a processzorsebességnél a 3,5-höz közeli érték a valószínű).

Különböző források szerint a 63C09 változat akár 5 MHz-es órajelen is képes futni, mindenféle káros mellékhatás nélkül. A 6809-hez hasonlóan, a Hitachi processzora is belső és külső órajelű változatokban jelent meg: HD63B/C09 és HD63B/C09E jelölésekkel.

Számítási hatékonyság szerkesztés

Alapértelmezésben a 6309 kompatibilis módban (másként emulációs módban) indul, amelyben működése teljesen megegyezik a 6809-essel. Üzemmódja átkapcsolható úgynevezett natív módra, melyben az utasítások nagy részét kevesebb órajelciklus alatt hajtja végre. Ez a végrehajtás sebességét akár 30%-kal is megnövelheti.

Hozzáadott regiszterek szerkesztés

  • Két újabb 8 bites akkumulátor: 'E' és 'F'. Ezek összevonhatók egy 16 bites 'W' jelű akkumulátorrá. A 6809-es architektúrában már meglévő 16 bites 'D' akkumulátor összevonható a 'W'-vel úgy, hogy ez a kettő egy 32 bites akkumulátort alkosson: ennek a jele 'Q'. A 'D' rövidítés valószínűleg a „double” (kétszeres), a 'Q' pedig a „quad” (négyszeres) szóból ered, ami a regiszterek bájtméretére utal.
  • 'V' átvitelregiszter – regiszterek közötti átviteli utasításokhoz. Értékét megtartja hardver reset alatt és után, így egy állandó érték megőrzésére és átadására használható. A 'V' a „value” (érték) szóból ered.
  • '0' 8/16 bites nulla-regiszter – a nulla állandót használó műveletek gyorsítására. Ez a regiszter olvasáskor mindig nullát ad vissza, a regiszterbe történő írás nem hajtódik végre.
  • 'MD' üzemmód-regiszter – másodlagos feltételkód-regiszter, amely az üzemmódot és a megszakításkezelést vezérli. A regiszter 8 bites, de ebből a processzor csak 4 bitet használ. Az MD 0. bitje határozza meg az üzemmódot: 0 = 6809 emulációs mód, 1 = 6309 natív mód.

Új utasítások szerkesztés

A legtöbb új utasítás a meglévő utasítások változata, alkalmassá téve az újabb regiszterek kezelésére, például a betöltés/kiírás és az aritmetikai műveletekben. A 6309 saját új utasításokat kapott a regiszterek közötti aritmetika, blokkos adatátvitelt, hardveres osztás és bitszintű műveletek végzésére. A 6309-es kiterjesztett utasításai és címzési módjai mind az emulációs, mind a natív módban elérhetők.

További hardverjellemzők szerkesztés

Lehetséges a megszakítási üzemmód változtatása: a gyors megszakításkezelés (FIRQ) során a normál 6809 működés szerint csak a PC és CC regisztert menti el a processzor, a 6309-nél beállítható, hogy a FIRQ a teljes regiszterkészlet elmentse a verembe, mint a hagyományos megszakításkezelésben. Ezen felül a 6309-nek van két csapdázó megszakítása (trap), egy az illegális utasítások lehívásakor keletkezik, és egy a nullával való osztás kezelésére. Az illegális utasítás-csapda nem maszkolható.

Szoftveres jellemzők szerkesztés

A 6309-esnek két üzemmódja van: az emulációs mód és a natív mód. Az emulációs módban a 6309-es ugyanazokat a jellemzőket mutatja, mint a 6809-es. Ezek az alábbiak:

  • 10 címzési mód
    • 6800-kompatibilis módok
    • rövid címzés: bármely 256 bites memóriablokk közvetlen címzése
    • hosszú relatív elágazáscímzés
    • programszámlálóhoz viszonyított (PC-relatív) címzés
    • valódi indirekt címzés
    • indexelt címzés 0, 5, 8 vagy 16 bites konstans címeltolással, 8 vagy 16 bites akkumulátor eltolással (offsetként), autoinkremens és autodekremens (automatikus címnövelés és -csökkentés) 1 vagy 2 értékkel
  • fejlett veremkezelés
  • az utasítások száma 1400 feletti, minden címzési módot beleszámítva
  • 8 × 8 bites előjel nélküli hardveres szorzás
  • 16 bites aritmetika

A 6309-esben kibővítették az utasításkészletet és a regisztertömböt, újabb címzési módokat vezettek be, amelyek még az emulációs módban is működnek. Ezek a következők:

  • két újabb regiszter: 'E' és 'F', amelyek együttesen a 16 bites 'W' regiszterként használhatók
  • a 'D' és 'W' regiszter egy 32 bites 'Q' regiszterré vonható össze
  • Új utasítások:
    • 16 × 16 bites hardveres szorzás
    • 32/16 bites és 16/8 bites hardveres osztás
    • megszakítható memória-memória blokkmozgatás
    • regiszterek közötti aritmetikai és logikai műveletek
    • bájtorientált bitműveletek
    • egybites aritmetikai és logikai utasítások
  • Újabb indexelt címzési módok:
    • E-, F- és W-eltolás a 6809 indexregiszterhez képest, választható indirekcióval
    • automatikus címnövelés és -csökkentés 2-vel a 'W' regiszterben, választható indirekcióval
    • 0 címeltolás a 'W' regiszterhez
    • 16 bites címeltolás a 'W' regiszterhez
  • automatikus alacsony fogyasztású üzemmód a SYNC (stop, várakozás és folytatás) és CWAI (feltételbit törlés és várakozás megszakításra) utasítások alatt
  • érvénytelen művelet csapda (trap megszakítás)
  • nullával való osztás csapda
  • 16 bites aritmetika

Natív módban a processzorműveletek kissé változnak:

  • sok utasítás gyorsabb végrehajtása (tipikusan 15%-os sebességnövekedés)
  • megszakítás kiszolgálásakor a vezérlés a 'W' regisztert is elmenti és visszatölti

Minden új utasítás és címzési mód elérhető mind natív, mind emulációs üzemmódban. A processzor emulációs módban indul (a RESET törli az üzemmódot jelző bitet), ezután az állapota bármikor átváltható a két üzemmód között (LDMD utasítás).[7]

Felhasználás szerkesztés

  • TRS-80 Color Computer – ez az otthoni számítógép eredetileg Motorola 6809-es processzorral készült, de feljavítható 6309-es processzorral (CoCo 3 modell)
  • Játéktermi videójáték-automaták, például Contra/Gryzor, Battlantis, Flak Attack, stb. (Konami); Namco System 1, Namco System 2, Namco System 86 alaplapokban (más processzorok mellett, Hitachi HD63701)
  • Japán személyi számítógépek: Hitachi Flora Prius
  • Dragon 32, Dragon 64 – brit otthoni számítógépek

Jegyzetek szerkesztés

  1. 8/16-BIT MICROPROCESSOR DATA BOOK, p.232
  2. a b 6309 - Hitachi (angol nyelven) (wiki). WikiChip, 2016. május 19.
  3. Hirotsugu Kakugawa: A MEMO ON THE SECRET FEATURES OF 6309 - Hitachi (angol nyelven) (txt). WikiChip, comp.sys.m6809 hírcsoport, 1992. február 23.
  4. The NitrOS-9 Project (angol nyelven). SourceForge, 2016. július 9.
  5. Chet Simpson: HD63B09EP Technical Reference Guide (angol nyelven) (txt). 6809.org.uk, 1995
  6. Gennadiy Shvets: Hitachi HD63C09P specifications (angol nyelven). CPU World, 2016. „0.1 Watt (Sleep mode) / 0.2 Watt”
  7. Burke, Chris. 1.3 Software Features, THE 6309 BOOK – Inside the 6309 Microprocessor (pdf), 2nd (angol nyelven), Burke & Burke, 10/262. o. [1992] (1993). Hozzáférés ideje: 2016. október 23. 

Fordítás szerkesztés

Ez a szócikk részben vagy egészben a Hitachi 6309 című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

Források szerkesztés

További információk szerkesztés

Kapcsolódó szócikkek szerkesztés