- Processzor architektúrák
- RISC és CISC utasításkészlet architektúra
- Komplex utasításkészlet-számítás (CISC)
- Csökkentett utasításkészlet-számítás (RISC)
A beágyazott rendszer a piacon elérhető legtöbb elektronikus termék szíve és lényege. Olyan mérnöki megvalósításról van szó, amelyben a hardver találkozik a szoftverrel. Beágyazott rendszerek világa vesz körül minket, mini számítógépekkel, biometrikus ajtózárakkal, repülőgépekkel, autókkal, pacemakerekkel stb.
Gondolt már arra, hogyan működik testünk, az idegrendszer, az agy és a többfeladatos képesség. Ha ezeket a funkciókat kombinálja, durva képet kap a biológiai beágyazott rendszerről. Agyunk elrejti működésének összetett részletét, amely benne zajlik, ugyanakkor lehetővé teszi számunkra, hogy a lehető legnagyobb mértékben ellenőrizzük. Ugyanez a bonyolultság a beágyazott rendszerekben használt processzor vagy vezérlő esetében. Összetett részleteket rejtenek, és magas szintű interfészt biztosítanak számunkra, amelyen dolgozhatunk. Az absztrakció szintjéhez lehet kapcsolni, hogy a két szám magas szintű programozási nyelven való hozzáadásához szükséges kód hogyan okozza a chipekben lévő regisztereket a bitek kezelésével és egy kimenet visszaadásával a felhasználó számára.
Processzor architektúrák
A központi processzor, mind a mikroprocesszorra, mind a mikrovezérlőre hivatkozva, meghatározott feladatokat végez egy vezérlőegység (CU) és egy aritmetikai logikai egység (ALU) segítségével. Mivel az utasításokat a RAM-ból szállítják, a CPU két segítő egységének segítségével változó létrehozásával, értékek és memória hozzárendelésével működik. Nagyon fontos tudni, hogy a CPU hogyan hajtja végre mindezt a műveletet az architektúrája segítségével. Ha többet szeretne megtudni a mikrovezérlő működéséről, olvassa el a mikrovezérlő ezen alap cikkét.
Minden processzorhoz tartozik memória a program és az adatok tárolásához. A kimenet megszerzéséhez a program és az adat együttműködik a CPU-val. A Program biztosítja az utasítást, míg az adatok a feldolgozandó információkat. A programhoz és adatokhoz való hozzáféréshez a CPU buszokat használ, ezek a buszok vezetékek, pontosabban ezek a vezetéknyomok, amint azt a nyomtatott áramköri lapokon láthattátok. Ezekben az években a mikrovezérlők és mikroprocesszorok különböző architektúrák adaptálásával fejlődtek ki, az alkalmazás vagy a tervezési követelmények alapján a mikrovezérlő kiválasztását a benne használt architektúra típusa befolyásolja. Vessünk egy pillantást a népszerű architektúrákra.
Von-Neumann / Princeton építészet
A CPU architektúrájáról elmondja, hogy a CPU hogyan fér hozzá a programhoz és az adatokhoz. Korábban egyetlen buszt használtak a programhoz és az adatokhoz való hozzáféréshez. Ez a fajta építészet Von Neumann Architecture vagy egyszerűbben Princeton Architecture néven ismert. Egyetlen busz a kód és az adatok megszerzéséhez azt jelenti, hogy egymás útjába kerülnek és lassítják a CPU feldolgozási sebességét, mert mindegyiknek meg kellett várnia, amíg a másik befejezi a beolvasást. Ez a korlátozás Von-Neumann szűk keresztmetszetként is ismert.
Harvard építészet
A folyamat felgyorsítása érdekében a Harvard Architecture- t javasolták. Ebben az architektúrában külön adatbuszok vannak az adatokhoz és a programhoz. Tehát ez azt jelenti, hogy ez az architektúra négy busz használatát javasolta
- Adatsínkészlet, amely az adatokat bejuttatja a CPU-ba és onnan.
- Címbusz készlet az adatok eléréséhez.
- Adatsínkészlet, amely kódot visz a CPU-ba.
- Címbusz a kód eléréséhez.
A külön cím busz és az adat busz használata alacsony végrehajtási időt jelentett a CPU számára, de ez az architektúra tervezésének bonyolultságával jár. A Von Neumann építészet kissé lustának tűnhet, de az egyszerű kialakítás előnye.
A Harvard-architektúrát nagyon könnyű megvalósítani, ha a CPU és a memóriaegységek ugyanazt a helyet használják, vagy a RAM és a ROM beépítve van (chipen van) a feldolgozó egységgel, például mikrovezérlőben, ahol a távolságok mikronban és milliméterben vannak megadva. Ugyanakkor ugyanazt az architektúrát nehéz megvalósítani, ha a kódot tároló memória kívül esik a feldolgozó egységen, például az x86 IBM PC-kén. Az alaplap adatainak és címének külön vezetékes nyomkövetései összetetté és drágává tennék a lapot. Értsük meg egy processzor példájával.
A 64-bites adatbusszal és 32-bites címbusszal rendelkező processzornak hozzávetőlegesen 100 buszra lesz szüksége (96-ra az adat- és címbuszra, és néhány másra a vezérlőjelekre) a Von-Neumann architektúra megvalósításához. Ugyanez a felépítés, ha a Harvard-architektúrával valósítják meg, a kettős vezetékes nyomoknak körülbelül 200-ba kerülne, nagyszámú tű kijönve a processzorból. Ugyanezen okból nem látjuk a tiszta Harvard-architektúra megvalósítását a PC-k és a munkaállomások számára. Ehelyett egy módosított Harvard-architektúrát használnak, amelyben a CPU gyorsítótárral ellátott memóriahierarchiát használják a program és az adatok elválasztására. A memóriahierarchia elválasztja a tárolást a folyamatok válaszidejének hierarchiája alapján.
Utasítás készlet építészet
Mivel a program (kód) be van töltve a rendszer memóriájába (RAM), a CPU (mind a mikroprocesszorra, mind a mikrokontrollerre hivatkozva) beolvassa az adatokra való hatást, ez nagyon hasonló, mivel utasításokat adunk, amikor a kutyát kiképezzük bizonyos műveletek és parancsok. Mivel ezeket az utasításokat bizonyos tranzisztorokra alkalmazzák, az egyik logikai szintről a másikra megy, hogy ez megvalósuljon. Tehát alapvetően az utasítások segítségével az emberi programozó kommunikál a processzorral. Minden CPU-nak megvan a saját utasításkészlete, az építészetén és képességein alapuló utasítások gyűjteménye.
A CPU megérti ezeket az utasításokat a 0 és az 1 kombinációjával, amelyek opkódként is ismertek. Egy emberi programozó számára nagyon nehéz megjegyezni a 0 és az 1 kombinációját minden olyan utasításhoz, amely a CPU-hoz társul. Az emberi programozó munkájának megkönnyítése érdekében magas szintű interfészekkel látjuk el ezeket az utasításokat, és a fordító ezeket 0 és 1 formátumban alakítja át feldolgozás céljából. Az egyes CPU utasításkészleteiben is korlátozott számú utasítás érhető el.
A CPU teljesítménye
Lehet, hogy hallotta a CPU órajelét a CPU teljesítményével kapcsolatban. A CPU-k órajel-frekvenciája általában MHz-ben (Mega-Hertz) vagy GHz-ben (Giga-Hertz) van, például 25 GHz-es órajel. Az órajelhez társított szám megmondja, hogy a CPU belsejében hány óra ketyeg másodpercenként. Az órajel praktikussága megérthető azzal, hogy az utasításokat a CPU órajel-ciklusai alapján hajtják végre, amelyek arányosak a CPU által egyszerre futtatható programok számával.
A CPU teljesítménye a programba írt utasítások számától függ, minél több az utasítás, annál több időt vesz igénybe a CPU azok végrehajtására. Ez attól is függ, hogy hány óra ciklusban hajtják végre az egyes utasításokat, bizonyos utasítások végrehajtásához több órajelre van szükség, mint másoknak, így elmaradnak a CPU teljesítményétől. A program utasításai és az egyes utasítások végrehajtásához szükséges ciklusok fordítottan arányosak egymással. Az egyik megváltoztatása hatással lesz a másikra. Ez az a pont, ahol a CPU-ipar megosztott.
RISC és CISC utasításkészlet architektúra
Mint fent említettük, egy program végrehajtása és a CPU teljesítménye függ a program utasításainak számától, ahol az utasításokat az adott CPU-nak javasoljuk az utasításkészlet részeként, a második tényező pedig az órajel-ciklusok száma amelyet az egyes utasítások végrehajtanak. E két tényező alapján jelenleg két utasításkészlet áll rendelkezésre. A legkorábbi a Complex Instruction Set Computing (CISC), míg a másik a Reduced Instruction Set Computing (RISC). Beszéljük meg részletesen ezeket az architektúrákat, hogy megértsük a különbséget a RIC és a CISC architektúra között.
Komplex utasításkészlet-számítás (CISC)
A CISC rövidítése Complex Instruction Set Computing. A CISC fő motívuma az, hogy csökkenti a program által végrehajtott utasítások számát. Ez számos egyszerű utasítás, például címmód, betöltés stb. Kombinálásával, és egyetlen összetett utasítás összeállításával történik. A CISC utasítás tartalmaz egy sor egyszerű utasítást, valamint néhány speciális utasítást, amelyek végrehajtása egynél több óraciklust igényel. A CISC utasítások közvetlenül a memórián működhetnek a regiszterek beavatkozása nélkül, ami azt jelenti, hogy feleslegessé válik néhány alapvető utasítás, például az értékek betöltése és a memória (RAM) igénye. A CISC utasításai inkább a hardvert, mint a szoftvert hangsúlyozzák, ami azt jelenti, hogy ahelyett, hogy a fordítókat terhelnék,A CISC tranzisztorokat használ hardverként az utasítások dekódolásához és végrehajtásához. Mivel azonban az utasítás bonyolult és több lépésből áll, ezeket több óraciklusban hajtják végre.
Egyszerű hasonlat az, amikor azt mondják, hogy nyissa meg a könyvet, és olvassa el a harmadik fejezet második oldalát. Ebben a sorozatban a tevékenységet, akkor nem több lépésben, mint megtalálni a könyvet a táska, mint csoszog az oldal 3. fejezet, majd megy a 2 nd oldalon a fejezet, majd elkezdi olvasni. A sorozat egy lépést, ha kombináljuk az egyedi utasítás az olvasás, 44. oldal (amely a 2 nd oldalszámot 3 rd fejezet), akkor kap egy CISC utasítás.
Csökkentett utasításkészlet-számítás (RISC)
Az első integrált chipet Jack Kilby tervezte 1958-ban, amely oszcillátor volt, és az 1970-es években az első kereskedelmi mikroprocesszor jött ki az Intelből. Bár a processzorok indításakor még nem volt CISC. De a nagy számítási igények miatt a CISC architektúra egyre összetettebbé és nehezebben kezelhetővé vált. A CISC RISC néven ismert architektúrájának teljes átalakítását John Coke jelentette ki az IBM-től. Így a két architektúra megkülönböztetésére bevezették a RISC és a CISC kifejezéseket.
A RISC a csökkentett utasításkészlet-számítást jelenti. A RISC fő motívuma az egységesség bevezetése volt az utasítások méretében és végrehajtásában. Ezt egyszerű utasításkészlet bevezetésével hajtották végre, amely ciklusonként egy utasításként futtatható, ezt úgy hajtjuk végre, hogy összetett utasításokat, például betöltést és tárolást bontunk különböző utasításokká, ahol az egyes utasítások végrehajtásához hozzávetőlegesen egy óraciklus szükséges. A RISC architektúra azonos méretű egyszerű utasításokat tartalmaz, amelyeket egyetlen óraciklusban lehet végrehajtani. A RISC alapú gépeknek több RAM-ra van szükségük, mint a CISC-re, hogy megtartsák az értékeket, amikor az egyes utasításokat regiszterekbe tölti be. Egyetlen ciklusonkénti utasítás végrehajtása elősegíti a RISC alapú gépek előnyeit a csővezetékben(a pipelining az a folyamat, amelyben a következő utasítás betöltődik az első utasítás végrehajtása előtt, ez növeli a végrehajtás hatékonyságát). A RISC architektúrája hangsúlyozza