Az RS08[1] mag a Freescale MC68HCS08 CPU egy redukált kiépítésű verziója, a Motorola 6800 mikroprocesszorcsalád tagja. Számos mikrovezérlőben és beágyazott rendszerben használják.

A HC08 családdal és a Freescale S08 típusokkal összehasonlítva, ez egy igen nagy mértékben egyszerűsített kialakítás. Az „R” a modellszámokban szintén a „redukálás”-ra utal; a Freescale ezekre az eszközökre „ultra-alsókategóriás”-ként hivatkozik. Tipikus megvalósításai kevesebb lapkára integrált perifériát és memóriaerőforrást tartalmaznak, kisebb tokozásba kerülnek (a legkisebb ezek közül a QFN6 tokozás a maga 3 × 3 × 1 mm-es méretével), és áruk 1 dollár alatt van. Ezek az eszközök egyszerűsített kialakításuk mellett nagy hatékonyságot kínálnak, nagyobb költséghatékonyságot a kis memóriaigényű részegységekhez, és mindemellett kisebb fizikai méretet és lapkaméretet is.

Az RS08 Neumann-architektúrát alkalmaz osztott (közös) program és adatsínnel; a Neumann-architektúránál megszokott módon az adatmemóriában elhelyezett utasítások végrehajtása megengedett. Az eszköz nem binárisan kompatibilis az S08 maggal, annak ellenére, hogy utasításkészlete (az utasítások opkódjai) és címzési módjai az S08-asénaek egy részhalmaza. Ez mégis megkönnyíti a kód átvitelét az S08-as magról az RS08-asra a tervezők és mérnökök számára.

A Short és Tiny címzési módok lehetővé teszik a leggyakrabban használt változókhoz és regiszterekhez való hatékonyabb hozzáférést és az azokkal való munkát. Ezek az utasítások egybájtos opkódokat kaptak, amely csökkenti a programtárolásra fordított memória méretét, lévén éppen ezek a leggyakrabban használt utasítások.

A lapkaméret az S08 magokénál 30%-kal kisebb. Az RS08 mag ugyanazt a sínstruktúrát használja, mint az S08, ezáltal a memória és perifériamodulok mindkét típussal egyaránt használhatók. Rendelkezik Background Debug Mode (BDM) interfésszel, ami egy egyvezetékes hibakereső / debug interfész és lehetővé teszi a processzor interaktív vezérlését, mikor az már be van építve a célrendszerbe.

EszközökSzerkesztés

Eszközök (2010 júliusában):

  • MC9RS08KA1: 1 KiB flash-programozható programmemória.
  • MC9RS08KA2: 2 KiB flash-programozható programmemória.
  • MC9RS08LE4: 4 KiB flash-programozható programmemória, SCI.
  • MC9RS08LA8: 8 KiB flash-programozható programmemória, SCI, SPI.
  • MC9RS08KB12: 12 KiB flash-programozható programmemória, I2C, SCI.

Az architektúra jellemzőiSzerkesztés

  • Az RS08 magban nincs hívási verem. A szubrutinhívások alatt az ún. „árnyék-programszámláló” csatolóregiszterben (link register) őrzi meg a visszatérési címet. Ha a szubrutin egy újabb szubrutint hív, akkor a visszatérési címet egy lokális változóban tárolja el, szabályosan elvégzi a szubrutinhívást, majd ezután visszatölti az elmentett címet közvetlenül a visszatérés előtt.
  • A mag állapotregiszterében megtalálhatóak a szokásos átvitel (carry) és zéró bitek, ám a más magokban megtalálható túlcsordulás és negatív bitek hiányoznak belőle.

MegszakításkezelésSzerkesztés

A megszakítások kezelése ebben a processzorban nem megszakítási vektorokkal történik, mint ahogy szinte az összes egyéb Freescale/Motorola processzornál. Az RS08 megszakítások felébresztik a processzort a WAIT vagy STOP állapotból (amelyekben a végrehajtás rendszerint megáll), de egyébként semmilyen más hatással nincsenek a program végrehajtásának menetére. Az RS08 lényegében minden programszálat végigvisz a befejezésig (megszakítás nélkül). Ennek a hatása nagyjából a kooperatív többfeladatos működésre emlékeztet az operációs rendszerekben.

Bár a processzor a külső eseményeket szinkron módon kezeli, nincs a kontextusváltásból adódó késleltetés, és lehetséges a csökkentett feszültségű működés is. A megszakítások kiszolgálásának elbírálása kizárólag szoftveres úton történik.

JegyzetekSzerkesztés

FordításSzerkesztés

Ez a szócikk részben vagy egészben a Freescale RS08 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.

ForrásokSzerkesztés

  • Freescale Semiconductor. RS08 Core Reference Manual (RS08RM). Rev. 1.0, 4/2006.
  • Freescale Semiconductor. MC9RS08KA2 Data Sheet (MC9RS08KA2). Rev. 1.0, 4/2006

További információkSzerkesztés

Kapcsolódó szócikkekSzerkesztés