DIGITÁLIS TECHNIKA II Dr. Lovassy Rita Dr. Pődör Bálint Óbudai Egyetem KVK Mikroelektronikai és Technológia Intézet 11. ELŐADÁS MEMÓRIÁK PROGRAMOZHATÓ LOGIKÁK MIKROPROCESSZOR MIKROPROCESSZOROS RENDSZER MEMÓRIÁK 1 2 AZ ELŐADÁS ÉS A TANANYAG Az előadások Arató Péter: Logikai rendszerek tervezése (171-189 old.) Tieze U., Schenk Ch: Analóg és digitális áramkörök (174-175 old.) Zsom Gyula: Digitális technika I és II Rőmer Mária: Digitális rendszerek áramkörei Gál Tibor: Digitális rendszerek I és II, Benesóczky Zoltán: Funkcionális elemek 2004 (28-46 old.) Benesóczky Zoltán: Digitális tervezés funkcionális elemekkel és mikroprocesszorral, 2008, (22-33 old.) Kovács Cs. Digitális elektronika 89-91 old. ROM ÁRAMKÖR OSZTÁLYOZÁSA Az információ rögzítése történhet a memória gyártási folyamata alatt vagy a felhasználás előtt. Annak alapján, hogy a fix tartalom milyen módon kerül be a memóriába, a ROM áramkörök 3 nagy csoportja: Maszkprogramozott ROM, programozás a gyártás közben, egyedi gyártású maszkkal; Elektromosan egyszer programozható ROM PROM, programozás a felhasználónál történik, elektromos impulzusokkal; Törölhető és újraprogramozható ROM EPROM, EEPROM, programozás a felhasználónál történik, elektromos impulzusokkal. A beírt tartalom törölhető is, és ezután a memória újra programozható. c. könyvein, jegyzetein alapulnak. 3 4 MASZKPROGRAMOZOTT PERMANENS ROM ÁRAMKÖRÖK FÉMEZÉSI MASZKPROGRAMOZÁSÚ ROM TÁROLÓCELLA Az információt a gyártás során programozzák be és ez utólag NEM változtatható. A gyártástechnológiai folyamatban maszkokat használnak. Nagy felhasználási sorozatok esetén a maszkprogramozott ROM alkalmazása a leggazdaságosabb. A cella megfelelő elemét a fémezéssel vagy bekötik vagy nem kötik be a bitvezetékhez a tárolandó információnak megfelelően. Pl. diódás tárolócella Előny: ROM IC részben előregyártott Pl. karaktergenerátor, kódátalakító 5 1
címkiválasztás MASZKOLT ROM MASZKOLT ROM MŰKÖDÉSE címkiválasztás I olvasó adatkiolvasás adatkiolvasás 7 8 GATE-OXID MASZKPROGRAMOZÁSÚ ROM TÁROLÓCELLA A gate alatti oxidréteg Vékony Vastag 0,1µm 1µm MOS integrált ROM esetén U 0 küszöbfeszültség Hosszú átfutási idő PROGRAMOZHATÓ PERMANENS TÁRAK (PROM) PROM Programmable Read Only Memory PROM: A gyártó rögzíti a tár tartalmát fémezési maszk (összekötetések) megfelelő kialakításával. Felhasználó által programozható (beégethető) PROM, nem törölhető. Egy cella programozása az egyes cellákhoz tartozó fémötvözet vagy poliszilícium biztosíték kiégetésével történik. Eredeti állapot 1, 0 beírásához a biztosítékot ki kell égetni. 10 DIÓDÁS TÁRMÁTRIX TRANZISZTOROS TÁRMÁTRIX W o...w n - cím/szóvezeték B o... Bn - bitvezeték Ha egy címvezeték H szintet kap akkor a bekötött diódák felhúzzák a megfelelő bitvezetékek potenciálját. Technológiai okokból négyzetes Mátrixban helyezkednek el. 11 Bipoláris nmos 12 2
FUSE-TÍPUSÚ (KIÉGETHETŐ) ROM CELLA RÖVIDZÁR PROGRAMOZÁSÚ PROM CELLA Fuse anyaga lehet NiCr, TiW ötvözet vagy polikristályos szilícium. 100 ma A programozáshoz szükséges nagy áram miatt az áramkör kizárólag csak bipoláris technológiával készül. Programozáskor egy megfelelő nagy feszültségű és áram impulzussal a BE átmenetet letörésbe viszik, oly mértékben, hogy a BE között rövidzár alakul ki. PROM TÁROLÓCELLA DIÓDÁS ROM: PÉLDA 1-2 Kiolvadó összekötetés: NiCr ellenállásréteg s0 b3 b2 b1 b0 15 0 1 1010 1100 16 ÚJRAPROGRAMOZHATÓ PROM: EPROM EPROM (Erasable PROM) áramköri megoldás és technológia Si MOS térvezérlésű tranzisztor. Törölhető, újraprogramozható permanens tár. Lebegő gate-es MOSFET: Floating-gate avalanche MOS, FAMOS Relatíve lassú eszköz, hozzáférési idő 70-300 nsec. Egyedi berendezésekben kerül alkalmazásra és ott ahol a programot meg kell tudni változtatni. EPROM (ERASABLE PROM) ÉS EEPROM ÁRAMKÖRÖK Törölhető és újraprogramozható áramkörök. Tárolásra lebegő vezérlőelektródás MOS (floating-gate MOS) tranzisztort alkalmaznak. Lebegő vezérlőelektródán nincs töltés Programozáskor a lebegő elektródára negatív töltéseket visznek. 17 A lebegő vezérlőelektródás MOS tranzisztort és a cella kiválasztását végző kapcsoló tranzisztort egymásba integrálják. 3
EPROM TÁROLÓCELLÁK ÚJRAPROGRAMOZHATÓ PROM: EPROM Programozás: elektromos töltés injektálása (tipikusan 12-21 V feszültség). Törlés: Ultraibolya fénnyel (UV sugár) való megvilágítás (min 5-10 perc), ennek hatására a tár elveszíti az információtartalmát (az előzőleg felvitt töltések távoznak). Törlés után vagy csupa 0 vagy csupa 1 marad a tárban. A törölt, alapállapotban levő cella vezet, mert U XR >U 0e és lehúzza a hozzá tartozó Y j vonalat. A beprogramozott cella tranzisztora nem vezet, mert U XR <U 0e és az Y j+1 vonal 1 szinten marad. A memória tartalma egészben, Egyszerre törölhető. 1000-10000 újraégetési ciklus. Az EPROM áramkörök törlése fotoelektromos hatáson alapul. 20 EEPROM Electrically Erasable PROM = ELEKTROMOSAN TÖRÖLHETŐ PROM ÚJRAPROGRAMOZHATÓ PROM: EEPROM A kiválasztó elektródára adott megfelelő nagyságú feszültséggel a cellák törlése elektromosan történik. Cellákból felépített memória EEPROM. Flash-EPROM felépítése egyszerűbb és olcsóbb ha az elektromos törlés az egész memóriát egyszerre törli, nem lehet byte-onként törölni. EEPROM Electrically Erasable PROM: elektromosan törölhető. Szintén MOS technológia (lebegő elektródás MOSFET). Tipikus paraméterek: beírás, törlés 10 50 msec. Lehetséges törlőfolyamatok száma 10 4-10 6. 22 TARTALOM SZERINT ELÉRHETŐ MEMÓRIA ASSZOCIATÍV KERESÉS kulcs (k) összehasonlítás összehasonlítás összehasonlítás összehasonlítás kulcs (1) érték (1) kulcs (2) érték (2) kulcs (3) érték (3)...... kulcs (n) érték (n) PROGRAMOZHATÓ LOGIKÁK maszk regiszter találat esetén a keresett érték érték (k) 23 24 4
JEGYZET Egyszerű PLD-k FPGA eszközök Mikroprocesszorok felépítés és részei Zsom: Digitális technika II 311-321 old. túl rövid... Rőmer: Digitális rendszerek áramkörei 242-296 old. túlságosan szerteágazó... Benesóczky: Digitális tervezés funkciónális elemekkel és mikroprocesszorral 25 26 FELHASZNÁLÓ ÁLTAL SPECIFIKÁLT ILL. PROGRAMOZHATÓ ESZKÖZÖK CSOPORTOSÍTÁSA A FELHASZNÁLÓ ÁLTAL PROGRAMOZHATÓ LOGIKÁK CSOPORTOSÍTÁSA Kisebb bonyolultságú eszközök (PROM-ok, bipoláris, ECL és CMOS technológia) Programmable Logic Devices (PLD-k, AND-OR struktúra, főként CMOS technológia) PAL (AND mátrix programozható) PLA (AND és OR mátrix programozható) Közepes és nagy bonyolultságú eszközök (CMOS technológia) 27 CPLD (komplex PLD-k, egy eszközben több PLD áramkör) FPGA (Field Programmable Gate Array, egy eszközben rendkívül sok, viszonylag egyszerű logikai tömb, programozható 28 összeköttetésekkel) EGYSZERŰ PLD-K A PLD-k kis bonyolultságú kétszintű ÉS-VAGY struktúrájú áramkörök, melyek lehetővé teszik, hogy a felhasználó alakítson ki belőlük tetszőleges logikai kapcsolást. PAL (PROGRAMMABLE ARRAY LOGIC) ELVI KAPCSOLÁSA CSAK az ÉS mátrix programozható. Főként egyszerű SSI logikák vagy MSI IC kiváltására alkalmazzák (pl. µp-os rendszer címdekódere, egyszerű vezérlők, speciális kódolás stb.) 29 30 5
2017.05.15. PLA (PROGRAMMABLE LOGIC ARRAY) ELVI KAPCSOLÁSA REGISZTERES PAL BLOKKVÁZLAT A FF kimenete a chipen belül visszacsatolható, így a szokásos szinkron sorrendi hálózat alakul ki. Az ÉS és a VAGY mátrix is programozható. 31 32 FPGA JELLEMZŐI CPLD ESZKÖZÖK Több PLD-t tartalmaz egy tokban Blokkos felépítésű, melyek önálló PLD moduloknak tekinthetők I/O cellák többnyire regisztert is tartalmaznak Nagy órajel frekvencia érhető el Az időzítések könnyen számíthatók CPLD tervező rendszerek egyszerűek A legtöbb típust lehetőség van maszkprogramozott áramkörre konvertálni Egyedi HW tervezés Nagy számításigényű és / vagy speciális feladatot kell megoldanunk, az integráltságot szeretnénk növelni Regiszterben gazdag architektúra Tervező rendszerek többségének része a funkcionális blokk editor, mely lehetővé teszi, hogy a feladathoz legjobban simuló saját funkcionális elemeket létrehozz. Tervezését CAD rendszerekkel végzik. Ezek a bonyolultabb feladatokból adódóan nagyobb bonyolultságú és nehezebben kezelhető szoftverek, a PLD tervező rendszerekhez képest. 33 FPGA ESZKÖZÖK A chip felületén többnyire egyenletesen vannak elhelyezve a konfigurálható logikai blokkok, és azok összeköttetését lehetővé tevő, hierarchikus huzalozási erőforrások. A nagy alkatrészsűrűség és programozhatóság miatt prototípus tervezésre és kis sorozatú nagy bonyolultságú speciális logikák megvalósítására a legalkalmasabb eszköz. 34 FPGA ELRENDEZÉSEI Szimmetrikus tömb (logikai blokkok mátrix elrendezésűek) pl. XILINX FPGA-k A PLD-khez képest egyszerűbbek és kisebbek a logikai cellák, így azokhoz hasonló bonyolultságú logika csak többszintű hálózattal építhető fel. Az FPGA alkalmazási területe egyre növekszik. Néhány jellemző terület: digitális jelfeldolgozás, űrkutatási és katonasági rendszerek, orvosi képalkotás, számítógépes látás, beszédfelismerés, 35 kriptográfia, bioinformatika stb. Aszimmetrikus vagy sor bázisú 36 6
2017.05.15. FPGA ELRENDEZÉSEI FPGA ALAP ÉPÍTŐELEMEI Hierarchikus PLD; A PLD jellegű blokkokat globális huzalózási mező, a PLD blokkon belüli logikát pedig lokális huzalózás kapcsolja össze Tranzisztor (tranzisztor tömbök) NAND kapuk Multiplexer logika Memória táblázat (Look Up Table) Egyszintű (Sea of gate) az elemi logikai erőforrások (tranzisztorok, kapuk) szinte egyenletesen helyezkednek el a chip felületén, közöttük minimális huzalozás található. Az FPGA-k logikai erőforrásai általában azonos felépítésűek, eltérő komplexitású blokkokból, a felületen viszonylag egyenletesen elosztva. A legkisebb bonyolultságú a tranzisztor szint, a legnagyobb a PLD-k konfigurálható logikai blokk. 37 XILINX FPGA-K TIPIKUS STRUKTÚRÁJA XC2000, XC3000, XC4000 családok 38 XC4000 LOGIKAI BLOKKJA 39 40 41 42 XILINX SPARTAN-3E FPGA Alkotó elemei: - konfigurálható logikai blokk tömbök (Configurable Logical Blocks - CLBs) - I/O cellák - RAM egységek -18x18-as multiplexerek - Digital Clock Manager (DCM) blokkok feladata a jelkésleltetések kiküszöbölése, továbbá alkalmas az órajel frekvenciájának növelésére, ill. csökkentésére 7
SPARTAN 3S 500E típusú FPGA fejlesztőpanel A MIKROPROCESSZOR ÉS A MIKROPROCESSZOROS RENDSZER 43 44 A µp-os RENDSZER EGYSZERŰSÍTETT BLOKKVÁZLATA A μp FUNKCIÓI Biztosítja az időzítő és vezérlő jeleket valamennyi elem számára. Közvetíti az utasításokat és adatokat a tárolókból. Átveszi és átteszi az adatokat az I/O eszközökből illetve eszközökbe. Mikroprocesszor: Egy chipen kialakított LSI áramkör, mely a számítógép CPUjának a funkcióját látja el. Önmagában nem használható, a működéséhez Végrehajtja a kijelölt aritmetikai és logikai műveleteket. Dekódolja az utasításokat. kiegészítő elemekre van szükség. 45 46 Reagál a generált I/O jelekre (törlés, megszakítás, stb.). A µp-os RENDSZER BUSZ RÉSZEI ÉS FUNKCIÓI A µp-os busz rendszerint három részből áll: ADATBUSZ (D n -D 0 ) Adatbusz; Címbusz és Vezérlőbusz. A számítógép teljesítményének szempontjából alapvető jelentősége van annak, hogy mekkora az a szóhossz, amivel a számítógép dolgozik. A belső szóhossz mellett, amellyel a processzor dolgozik, fontos még a buszrendszer szóhossza is: az adatbusz bitszélessége a címbusz bitszélessége 47 (http://trafo01.uw.hu/10f1_prelm/07_prelm.html) Az adatbuszon keresztül áramlik az információ. Jellemzője a szószélesség (8,16, 32, 64 bit). Egyes processzoroknál (pl. I8086) a buszon változó szószélességű adatátvitel is lehetséges, melyet külön vezérlőjel jelez. 48 8
CÍMBUSZ (A m -A 0 ) VEZÉRLŐBUSZ A címbusz az információ megcímzésére szolgál. (ADDRESS BUS): egyirányú, CPU-ból a tárolóba vagy valamelyik I/O elembe. Szokásos mérete 16-bites címbusz, ami 64kbyte megcímzését teszi lehetővé. 49 A vezérlőbusz jeleinek egy része az adatátvitel lebonyolítására szolgál. - logikai jellegű funkciója: adatáramlás iránya (olvasás/írás) típusa (memória/periféria hozzáférés) - időzítés jellegű jelváltozás jellege (felfutó vagy lefutó él) időpontja (mikor stabil az adat) 50 MIKROSZÁMÍTÓGÉPEK ÉS MIKROPROCESSZOROK: ALAPOK CPU (Central Processing Unit központi feldolgozó egység) Nagybonyolultságú digitális rendszerek (pl. számítógép) fő része a központi (feldolgozó) egység (Central Processing Unit, CPU): értelmezi az utasításokat, elvégzi a kijelölt műveleteket, vezérli a periferiális egységeket. CPU A memóriából olvassa a végrehajtás alatt lévő program bináris utasításait, adatait. Az utasításokra előre meghatározott módon reagál. Fontos jellemzője a CPU-nak az utasításkészlete. Univerzálisan használható vezérlő, mely nagy tömegben és olcsón gyártható. 51 52 CPU (Central Processing Unit központi feldolgozó egység) EGYSZERŰ CPU BELSŐ BLOKKVÁZLATA Vezérlő egység Aritmetikai egység http://trafo01.uw.hu/10f1_prelm/07_prelm.html 53 Regiszterek 54 9
VEZÉRLŐ EGYSÉG ALU A processzor vezérlő egységének feladata a program utasításai, vagy külső kérések (periféria megszakítási kérelme, sín igénybevételi kérése) alapján, vezérlő jelek segítségével a gép részeinek irányítása. ALU: Aritmetikai és logikai műveletek végzése (ld. összeadó áramkör) összeadás, kivonás; fixpontos szorzás, osztás (léptetések); lebegőpontos aritmetikai műveletek (korábban coprocesszor); egyszerű logikai műveletek. http://trafo01.uw.hu/10f1_prelm/07_prelm.html 55 56 μp/alu REGISZTEREK Vezérlő jelek ALU A operandus B operandus A processzorok ideiglenes adattárolási céljaira szolgálnak. A regiszterek a belső sínrendszeren keresztül tartanak kapcsolatot a processzor más részeivel. A legfontosabb, legtöbb processzornál meglévő regiszterek a következők: Állapotjelek Állapotregiszterbe Eredmény Carry be az állapotregiszterből 57 utasítás számláló reg. utasításregiszter báziscím regiszter indexregiszter(ek) állapotregiszter(ek) veremmutató regiszter pufferregiszter(ek) (http://trafo01.uw.hu/10f1_prelm/07_prelm.html) 58 10