Movatterモバイル変換


[0]ホーム

URL:


Ugrás a tartalomhoz
Wikipédia
Keresés

COP8

Ellenőrzött
A Wikipédiából, a szabad enciklopédiából

Változat állapota

Ez a lap egy ellenőrzött változata

Ez aközzétett változat,ellenőrizve:2022. október 16.

Pontosságellenőrzött

ACOP8 egy8 bitesCISC típusúmikrovezérlő család, amelyet eredetileg aNational Semiconductor tervezett (az 1990-es években) és gyártott. (A National 2011 októbere óta formálisan aTexas Instruments része, így a COP8 család tagjait azóta a TI forgalmazza.)

A COP8 neve az angol „Control Orientated Processor” kifejezésből származik, ami vezérlésorientált processzort jelent; a processzort valóban a vezérléstechnika terén való használatra tervezték, egészen a bitszintű utasításokig bezárólag.[1]

Főbb jellemzői:

  • Módosított Harvard architektúra
  • 8 bites adatsín, 15 bites címsín (ezzel 32 KiBflash/ROM adat ill. programmemória címezhető)
  • Órajel: 3,33, 10, 15, 20 MHz (28 MHz-ig túlhajtható)
  • Teljesen statikus processzor
  • Igen alacsonyelektromágneses interferencia (EMI). Nincsenek ismert hibái.
  • Alacsony fogyasztás és áramfelvétel; statikus üzemmódban a fogyasztás kisebb mint 1 μA.
  • A csip számos beépített / integrált perifériát és eszközt tartalmaz.
  • Beépített eszközök:
    • memóriák: EEPROM/OTPROM, RAM
    • digitális be- és kimeneti vonalak
    • időzítők
    • analóg-digitális átalakító
    • impulzusszélesség-moduláció (PWM) generátor
    • szinkron és aszinkron kommunikációs csatornák (RS232 és MICROWIRE/PLUS)
  • Üzemben programozható(in-system programming)
  • Programozási támogatás: ingyenes assembly nyelvű eszközkészlet, kereskedelmiCfordítók.
  • Üzemeltetés: ingyenestöbbfeladatosoperációs rendszer ésTCP/IP stack.

Architektúra

[szerkesztés]

A COP8 amódosított Harvard architektúrát valósítja meg. A Harvard architektúrában a programmemória fizikailag elkülönül az adatmemóriától, tehát a programmemória lehet valamilyen ROM, míg az adatmemória RAM típusú. A kétfajta memóriaterület külön címtérrel és külön címsínekkel rendelkezik. Érdekesség, hogy ekkor pl. legalább kétnulla cím létezik: egy a program, és egy az adatok számára. Mivel a COP8 módosított Harvard architektúrájú processzor, lehetséges a program- és adatmemória közötti adatcsere.

A CPU a 8 bites akkumulátorban végzi el a számtani műveleteket. Az indexelt címzést két indexregiszter: az X és B – segíti, ami lehetővé teszi a memóriatérképen belüli tetszőleges hely címzését. 16 bites és nagyobb perifériális regisztereket kezel. Veremmutatója 8 bites, utasításkészletében veremkezelő utasítások is vannak.

Utasításkészletében 49 alapvető utasítás található, amelyek többsége egybájtos és egy órajelciklus alatt hajtódik végre. Az utasítások 10 címzési módot használhatnak. Többfunkciós utasításai is vannak (pl. DRSZ, IFBNE, DCOR, RETSK, VIS és RRC; a DRSZ egy cikluskezelő utasítás, aDecrement Register and Skip if Zero rövidítése, ami a „regiszter csökkentés és átlépés, ha nulla” műveletet végzi.)

Létezik egy alap utasításkészlet, amelyet minden processzor(Basic Family) végrehajt, és a különböző kiterjesztett változatoknak(Feature Family) vannak utasításkészlet-kiterjesztései is.

Programvezérlés

[szerkesztés]

A 3 bájtos JMP és JSR utasítások segítségével az egész címmező elérhető, ezek kétbájtos változatai csak az aktuális 4 KiB-os lapon belüli címeket érik el. Az utasításban csak a cím alsó 12 bitje adható meg, a maradék 3 címbit fenntartott.

Az utasításkészletben vannak még közvetett(indirect) ugrás és közvetett akkumulátor-betöltés utasítások is: ezeknél az akkumulátor tartalma szolgáltatja a cím alsó 8 bitjét, a felső 7 bit fenntartott.

A rövid távolságú ugrásokra 63 egybájtos utasítás szolgál, amely a programszámlálóhoz képest -32 – +31 utasítás távolságba történő ugrást végezhet.

A feltételes elágazások megoldása nem a megszokott: a processzor „feltételes kihagyás/átlépés”(conditional skip) utasításokat alkalmaz, amelyek átugorják ill. kihagyják a következő utasítást a feltétel teljesülése esetén, pl. az IFEQ utasítás összehasonlítja két operandusának tartalmát, éskihagyja a következő utasítást, ha azok egyenlőek. A kihagyott utasítás általában egy ugróutasítás, de tetszőleges utasítás átléphető.

Regiszterek és memóriatérkép

[szerkesztés]

A COP8 aHarvard-architektúrából következően külön utasítás- és adatterületekkel rendelkezik. Az utasítások15 bites címmel címezhetők, míg az adatok számára csak8 bites címmező használható: ez 256 bájt adat címzését teszi lehetővé, de ezt kiterjeszti a memóriabank-váltás.

A szoftverhibák elfogását segíti az a lehetőség, hogy a processzor az összes érvénytelen utasítást nullának dekódol, ami a csapda-utasítás(trap) kódja. A címmezőkön kívülre mutató címek az egyesekkel feltöltött címként jelentkeznek, ami szintén az érvénytelen címet jelenti.

A processzornak egy 8 bitesakkumulátorregisztere van és 15 bitesprogramszámlálója. A processzor 16 kiegészítő regisztere (R0–R15) és a 8 bites programállapotszó memóriába leképzett regiszterek. Ezek elérésére külön utasítások szolgálnak, bár a közönséges memóriahozzáférési utasítások is használhatók erre a célra.

A memóriatérkép az alábbi:

COP8 adatcímmező
címhasználat
0x00–6Fáltalános célú ram, verem céljára
0x70–7Fnem használt, olvasása 1-esekkel kitöltött értéket (0xFF) ad, a verem-alulcsordulás elfogásához
0x80–8Fnem használt, olvasása határozatlan
0x90–BFkiegészítő perifériavezérlő regiszterek
0xC0–CFperifériavezérlő regiszterek
0xD0–DFáltalános célú I/O portok: L, G, I, C és D.
0xE0–E8fenntartott
0xE9Microwire léptetőregiszter
0xEA–EDTimer 1 regiszterek
0xEECNTRL regiszter, a Microwire & Timer 1 vezérlőbitjei
0xEFPSW, CPU programállapotszó (állapotregiszter)
0xF0–FBR0–R11, általános célú regiszterek
0xFCR12, másként X, másodlagos indirekt mutatóregiszter
0xFDR13, másként SP, veremmutató regiszter
0xFER14, másként B, elsődleges indirekt mutatóregiszter
0xFFR15, másként S, adatszegmens kiterjesztő regiszter

Ha a RAM nem bankos szervezésű, akkor a R15 közönséges általános célú regiszterként használható. Ha a RAM bankos szervezésű, akkor a címmező alsó része (a 0x00–7F címek) az S regiszter által kiválasztott RAM bankba mutat. Az adatcím-terület felső felében látható speciális regiszterek mindig láthatók. A bankok közötti adatmásolásra a 0xFx címen lévő adatregiszterek használhatók.

A 0. RAM bankot leszámítva a memóriabankokban mind a 128 bájt használható. A veremmutatóval címzett verem mindig a 0. bankban van, az S regiszter értékétől függetlenül.

Jegyzetek

[szerkesztés]
  1. Robin Getz: COP8 microcontroller FAQ (angol nyelven). Faqs.org, 1995. június 20. (Hozzáférés: 2013)

Fordítás

[szerkesztés]

Ez a szócikk részben vagy egészben aCOP8 című angol Wikipédia-szócikkezen 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]
Ez aprocesszorral kapcsolatos lap egyelőrecsonk (erősen hiányos).Segíts te is, hogy igazi szócikk lehessen belőle!
A lap eredeti címe: „https://hu.wikipedia.org/w/index.php?title=COP8&oldid=25368982
Kategória:
Rejtett kategória:

[8]ページ先頭

©2009-2025 Movatter.jp