Gábor Dénes Főiskola Győr Mikroszámítógépek Előadás vázlat 102 2005/2006 tanév 2. szemeszter
Bevezetés A tantárgy oktatásának célja: a számítógép hardverének megismertetése A tantárgy által tárgyalt témakörök: A mikroszámítógép-rendszerek felépítése Számítógép architektúrák Központi feldolgozó egység Tárolókezelés Perifériák kezelése PC-k felépítése, alkatrészeik működése PC-k alkatrészeinek kiválasztása, szerelése
Számonkérések, ajánlott irodalom A tantárgy elméleti számonkérése elméletileg a Számítástechnika szigorlaton történik! A konzultációkat követően ZH-kat írnak, amelyek mindegyikének megírása és legalább 61% átlaga esetén aláírás kapható. Ajánlott szakirodalom: Budai Attila : Mikroszámítógép-rendszerek Cserny László: Mikroszámítógépek Markó Imre: PC-k konfigurálása és installálása Abonyi Zsolt: PC hardver kézikönyv Agárdi Gábor - Hadi János: Fókuszban a Pentium Cserny László: RISC processzorok Előadás vázlatok (számonkérés ebből)
A hardverrétegek jellemzői A HARDVER FOGALMA: A számítógépet alkotó eszközök (áramkörök, mechanikus berendezések, kábelek, csatlakozók, perifériák) összefoglaló neve. HIERARCHIKUS FELÉPÍTÉSSEL MODELLEZZÜK Rendszerszint (System Architectural Level) Rendszerszinten a számítógép hardverét félautomatikus fő-részegységeivel írjuk le (processzor, interfész, tároló stb.). Processzor Memória I/O eszköz I/O eszköz I/O eszköz
A hardverrétegek jellemzői Algoritmikus szint (Algorithmic Level) Ezen a szinten megadjuk az egyes részegységeket alkotó hardver modulokat és algoritmusokat (CU, ALU, regiszterek stb.). Vezérlőegység Aritmetikai és logikai egység Regiszterkészlet
A hardverrétegek jellemzői Funkcionális blokkok szintje (Functional Block Level) Meghatározzuk a hardver modulok funkcionális blokkokból (például regiszterek, számlálók stb.) való felépítését, műveletvégzését és az ezek közötti adatátvitelt. Akkumulátor Szorzóregiszter Adatregiszter Párhuzamos összeadó Kimeneti sín + - * / Vezérlő egység Bemeneti sín
A hardverrétegek jellemzői Logikai szint A hardvert kapuáramkörökkel specifikáljuk, eszköze a Boole-algebra. S + C 1 & & + D A B
A hardverrétegek jellemzői Áramköri szint A jeleket már folytonos mennyiségeknek tekintjük (feszültség). Építőelemek a tranzisztorok, kondenzátorok stb. +12V Kimenet
A hardver Y diagramja VISELKEDÉSI MODELL Rendszerspecifikáció Algoritmus Műveletek Bool-algebra Differenciál egyenletek RENDSZER SZINT ALGORITMIKUS SZINT FUNKCIONÁLIS BLOKK SZINT LOGIKAI SZINT CPU, memória ALU, CU Regiszterek Kapuk Alkatrészek STRUKTÚRÁLIS ÁRAMKÖRI SZINT Tranzisztor maszkok Cellák Blokksémák Csoportok Fizikai részek FIZIKAI/GEOMETRIAI
Számítógép generációk 1. generáció (1950-1955) Műveleti sebesség: Központi memória mérete: Jellemző építőelemek: Maximális háttérkapacitás: Jellemző szoftverelemek: 0,01 MIPS 50 KB elektroncső, mágnesdob 10 MB gépi kód
Számítógép generációk 2. generáció (1956-1964) Műveleti sebesség: Központi memória mérete: Jellemző építőelemek: Maximális háttérkapacitás: Jellemző szoftverelemek: 1 MIPS 500 KB tranzisztor, mágneslemez 1 GB operációs rendszer programnyelvek
Számítógép generációk 3. generáció (1965-1977) Műveleti sebesség: Központi memória mérete: Jellemző építőelemek: Maximális háttérkapacitás: 10 MIPS 10 MB IC, félvezetők 10 GB Jellemző szoftverelemek: többfelhasználós op. r. 3. gen. prg. nyelvek
Számítógép generációk 4. generáció (1978-1990) Műveleti sebesség: Központi memória mérete: Jellemző építőelemek: Maximális háttérkapacitás: Jellemző szoftverelemek: 100 MIPS 100 MB LSI, up, 64 kb chipek 100 GB egységes op. rendszerek adatbázis-kezelők hálózati szoftverek 4 GL
Számítógép generációk 5. generáció (1991-2005) Műveleti sebesség: Központi memória mérete: Jellemző építőelemek: Maximális háttérkapacitás: Jellemző szoftverelemek: 1 000 MIPS 1 GB VLSI, 1 Gb chipek 1 TB internet multimédia mesterséges intelligencia
A hardver szabványos leírása Problémák a hardver leírásánál bonyolult integrált áramkörök áramköri szinten lehetetlen tervezni csoportmunka nem megoldható, de egy ember nem tervezhet dokumentációt készíteni lehetetlen MEGOLDÁSOK rétegmodell számítógéppel segített tervezés szabványos hardver leírónyelv (Very High Speed Integrated Circuits Hardware Description Language, VHDL) - 1987 (IEEE) és 1989 (ANSI)
A hardver szabványos leírása Hardverfejlesztés VHDL-lel Feladatspecifikáció Hardver leírás algoritmikus szinten Szimuláció és ellenőrzés Hardver leírás VHDL nyelven Gyártófüggetlen logikai kapuáramkör tervek Gyártófüggő logikai kapuáramkör tervek Integrált áramköri CAD/CAM tervek
A hardver szabványos leírása VHDL egységei architektúra megadja a hardver egység funkcióit és szerkezetét interfész ez egységek közötti kommunikáció konfiguráció az architektúrák és az interfészek egymáshoz rendelése
A hardver szabványos leírása VHDL egységei Funkciók Szerkezet Interfész 1 leírás Arcitektúra 1 Arcitektúra n Interfész n leírás Konfiguráció
A hardver szabványos leírása Architektúra ain bin cin (3:0) Felépítés vagy viselkedés ENTITY add_1b IS PORT (ain, bin : IN std_logic; cin: IN std_logic_vector(0 to 3); eout, fout : OUT std_logic; dout : OUT std_logic_vector (0 to 3)) END add_1b; eout fout dout(3:0)
Számítógép architektúrák
Architektúra fogalma Számítógéprendszer architektúra: a számítógép funkcionális felépítésének, a részegységek kommunikációs kapcsolatainak, valamint a rendszer specifikációjának együttese (részegységek, funkciók, interfész protokollok). F = C x T x U számítógép egy feladat teljesítmény elvégzéséhez szükséges idő C egy utasításra eső átlagos ciklusszám T U egy ciklushoz szükséges idő a feladatvégrehajtáshoz szükséges utasításszám
Architektúra fogalma A teljesítménynövelés módszerei U csökkentése Hatékony programozás és fordítóprogram T csökkentése Magasabb órajel frekvencia Áramköri fejlesztés C csökkentése Architektúra fejlesztés (párhuzamosítás)
A teljesítmény mérése A számítógépek teljesítményének mérése MIPS ( MOPS) Million Instructions per Second MFLOPS Millions of Floating Point Operations per Second benchmark Teljesítménymérő program lényeg: alkalmazásfüggő és átlag!!! példa: intel icomp index : 2.0 A teljesítmény nem csak az architektúrától, hanem az egyes részegységek, valamint az egész rendszer összehangoltságától is nagymértékben függ!!!
A számítógépes rendszerek osztályozása teljesítmény szerint: mikro (kis), közép és nagyszámítógépek Az utasításkészlet szerint: komplex- (CISC, Complex Instructions Set Computer) és egyszerűsített utasításkészletű gépek (RISC, Reduced Instructions Set Computer)
A számítógépes rendszerek osztályozása az utasítás és adatfolyamatok száma szerint: SISD (Single Intruction Stream Single Data Stream) SIMD (Single Intruction Stream Multiple Data Stream), MISD (Multiple Intruction Stream Single Data Stream), MIMD (Multiple Intruction Stream Multiple Data Stream)
A számítógépes rendszerek osztályozása A számítógép működési elve szerint: Neumann és nem Neumann elvű architektúrák Az egy időben kiszolgált felhasználók száma és a kiszolgálás időbelisége szerint multiprogramozás real time rendszer pipeline
Nagyszámítógépek mainframe Nagy műveleti sebesség Nagy tárolókapacitás Speciális működési feltételek (pl. kondicionálás) Nagy megbízhatóságú működés A mission-criticals követelményeknek megfelel Jellemző adatok: Processzor szám: 8 1024 db Memóriaméret: 4 Gbájt fölött Háttértárkapacitás: 100 Gbájt fölött
Hibatűrő architektúrák A meghibásodások nem okoznak üzemkiesést Tandem rendszerek Multiprocesszoros rendszerek Egyszerű hibatűrés Dupla csatornás IP vezérlők Üzenet alapú operációs rendszerek
A szg-rendszerek osztályozása Hibatűrő architektúrák hardver felépítése Hálózatvezérlő processzor Központi egység Processzor 1 Processzor n Hálózatvezérlő processzor Szerviz processzor Lemezvezérlő Lemezvezérlő Terminálvezérlő Főtár Távoli terminál
Középgépek (Minicomputer, Workstation) Közepes teljesítményű gépek, amelyek 32 bites architektúrán 32 bites operációs rendszert futtatnak. Többprocesszoros rendszer SMP architektúrával Jellemző adatok: Processzor szám: 2 12 db Memóriaméret: 256 Mbájt fölött Háttértár kapacitás: 40 Gbájt fölött
Kisszámítógépek (microcomputer) Kis teljesítményű Egy műveletvégző egység Önálló munkavégzés Asztali vagy hordozható kivitel Jellemző adatok: Processzor szám: 1 db Memóriaméret: 64 Mbájt fölött Háttértárkapacitás: 10 Gbájt fölött
Csoportosítás utasítás- és adatfolyamok száma szerint Utasításfolyam: az utasítások egymás utáni folyamata, amiket egy program futása során végrehajt Adatfolyam: azok az adatok, amelyekkel az utasításfolyam műveleteket végez Az utasításfolyam nem azonos a programlistával!!!
Single Instruction Stream, Single Data Stream Utasításfolyam: az utasítások egymás utáni folyamata, amiket egy program futása során végrehajt Neumann architektúrájú gépek PC-k processzorai Pentium MMX-ig Utasításfolyam Utasítás 1 Utasítás 1... Utasítás n Adatfolyam Adat 1 Adat 2... Adat n
Single Instruction Stream, Multiple Data Stream Több ALU Vektorműveletek végzése 3D-s utasítások gyors feldolgozása... Utasításfolyam Utasítás 1 Utasítás 1 Utasítás n Adatok 1 Adatok 2... Adatok n Adatfolyamok... Adatok 1 Adatok 2 Adatok n... Adatok 1 Adatok 2 Adatok n
Single Instruction Stream, Multiple Data Stream Közös memóriahasználat (Disztributed Memory) Osztott memóriahasználat (Shared Memory) CPU CPU Adatok ALU 1 1 Adatok ALU 12 1 Adatok ALU 1 1 Adatok ALU 12 1 Memória Memória 1 Memória 2
Multiple Instruction Stream, Single Data Stream Gyakorlatilag nem léteznek Ide sorolható a pipeline fault tolerant
A szg-rendszerek osztályozása Multiple Instruction Stream, Multiple Data Stream Multiprocesszoros gépek Több vezérlő és több végrehajtó egység Utasításfolyamok... Utasítás 1 Utasítás 1 Utasítás n Utasítás 1 Utasítás 1... Utasítás n Adatfolyamok Adatok 1 Adatok 2... Adatok n... Adatok 1 Adatok 2 Adatok n
Teljesítménynövelés módszerei Miért van szükség a teljesítmény növelésére? bonyolultabbakká váltak a megoldandó feladatok kevés idő a számításra real time az alkalmazások növekedésével a gépek teljesítménye nem arányosan növekedett összetettebb feladatok megoldásának igénye költségmegtakarítás
Péda a számítási teljesítményre Időjárás előrejelzés A légkört felosztják 3D cellákra A számítási feladatokat minden cellában el kell végezni bizonyos időközönként A cellák mérete legyen 1 x 1 x 1 km és ezt végezzük el egészen a 15 km-es magasságig Ez összességében mintegy 1,8 x 10 9 cellát jelent Ha minden számítás 200 lebegőpontos számítást igényel, akkor a teljes légkörre vonatkoztatva ez 3,6 x 10 12 számítást jelent
Péda a számítási teljesítményre Időjárás előrejelzés Ha az előrejelzést 10 napra szeretnénk meghatározni, 10 perces felbontással, akkor ehhez 100 MFLOPS sebességgel számolva mintegy 5,2 x 10 7 másodpercre van szükség, vagyis több mint 100 napra A 10 perces számítás 3 TFLOPS teljesítményt igényelne
Teljesítménynövelés módszerei Strukturális Párhuzamosítás CPU-n belül vektorszámítógépek pipeline szuperskalár architektúra Párhuzamosítás CPU-n kívül társprocesszor multiprocesszoros architektúrák Nem hagyományos rendszerek neurális hálók
CISC (Complex Instruction Set Computer) architektúrák Összetett, bonyolult utasítások Bármely utasítás igénybe veheti a tárolót Kismértékű pipeline Változó hosszúságú utasítások Sokféle utasítás és címzési mód Bonyolult mikroprogram és egyszerű fordítóprogram Kis regiszterkészlet Védelem megoldása hardveres úton
RISC (Reduced Instruction Set Computer) architektúrák Egyszerű utasítások, 1 gépi ciklus hosszal Csak a LOAD/STORE fér a tárolóhoz Nagymértékű pipeline Egyforma hosszúságú utasítások Kevés utasítás és címzési mód Bonyolult fordítóprogram és egyszerű mikroprogram Nagy regiszterkészlet Védelem megoldása szoftveres úton
Vektorszámítógépek Vektorműveletek hatékony elvégzése a3 b3 a2 b2 a1 a2 a3 b1 b2 b3 a1 b1 a3 + b3 a1 + b1 a2 + b2 a3 + b3 a2 + b2 a1 + b1
Utasításfeldolgozás gyorsítása pipeline-nal Péda: autógyár Motor Ajtó Kerekek Festés 5 perc 1. autó 10 perc 1. autó 15 perc 1. autó 20 perc 1. autó 25 perc 2. autó 30 perc 2. autó 35 perc 2. autó 40 perc 2. autó
Utasításfeldolgozás gyorsítása pipeline-nal Péda: autógyár Motor Ajtó Kerekek Festés 5 perc 1. autó 10 perc 2. autó 1. autó 15 perc 3. autó 2. autó 1. autó 20 perc 4. autó 3. autó 2. autó 1. autó 25 perc 4. autó 3. autó 2. autó 30 perc 4. autó 3. autó 35 perc 4. autó 40 perc
A szg-rendszerek osztályozása Utasításfeldolgozás gyorsítása pipeline-nal Fetch Dekódolás Végrehajtás Visszaírás 1. ciklus 1. utasítás 2. ciklus 2. utasítás 1. utasítás 3. ciklus 3. utasítás 2. utasítás 1. utasítás 4. ciklus 4. utasítás 3. utasítás 2. utasítás 1. utasítás 5. ciklus 4. utasítás 3. utasítás 2. utasítás 6. ciklus 4. utasítás 3. utasítás 7. ciklus 4. utasítás 8. ciklus
A szg-rendszerek osztályozása Szuperskalár architektúra Fetch Dekódolás Végrehajtás Visszaírás 1. ciklus 2. ciklus 3. ciklus 4. ciklus 1. utasítás Tétlen 2. utasítás 1. utasítás Tétlen 5. ciklus 6. ciklus 2. utasítás 1. utasítás 7. ciklus 8. ciklus 9. ciklus 2. utasítás 1. utasítás Tétlen 2. utasítás
Szuperskalár architektúra Fetch Dekódolás Végrehajtás Visszaírás 1. ciklus 2. ciklus 1. utasítás Tétlen 1. 0. utasítás Tétlen -1. utasítás -2. utasítás Tétlen 3. ciklus 4. ciklus 2. utasítás Tétlen 1. utasítás Tétlen 0. utasítás -1. utasítás Tétlen 5. ciklus 6. ciklus 1. 3. utasítás Tétlen 2. utasítás Tétlen 1. utasítás 0. utasítás Tétlen 7. ciklus 8. ciklus 2. 4. utasítás Tétlen 1. 3. utasítás Tétlen 2. utasítás 1. utasítás Tétlen 9. ciklus 5. utasítás 10. ciklus Tétlen 4. utasítás Tétlen 3. utasítás 2. utasítás Tétlen
Szuperskalár architektúra Fetch Dekódolás Végrehajtás1 Végrehajtás2 Visszaírás 1. ciklus 2. ciklus 1. utasítás 2. utasítás 1. utasítás 3. ciklus 4. ciklus 5. ciklus 6. ciklus 7. ciklus 3. utasítás 2. utasítás 4. utasítás 3. utasítás 4. utasítás 1. utasítás 3. utasítás 2. utasítás 4. utasítás 1. utasítás 2. utasítás 3. utasítás 8. ciklus 4. utasítás 9. ciklus 10. ciklus
Szuperskalár architektúra Fetch Dekódolás Végrehajtás1 Végrehajtás2 Visszaírás 1. ciklus 2. ciklus 3. ciklus 4. ciklus 5. ciklus 6. ciklus 7. ciklus 8. ciklus 9. ciklus 10. ciklus 1. utasítás 2. utasítás 3. utasítás 0. utasítás 1. utasítás 2. utasítás 4. utasítás 3. utasítás 1. 5. utasítás 6. utasítás 7. utasítás 8. utasítás 9. utasítás 10. utasítás 4. utasítás 5. utasítás 6. utasítás 7. utasítás 8. utasítás 9. utasítás -1. utasítás 1. utasítás 3. utasítás 5. utasítás 7. utasítás -2. utasítás 0. utasítás 2. utasítás 4. utasítás 6. utasítás 8. utasítás -3. utasítás -2. utasítás -1. utasítás 0. utasítás 1. utasítás 2. utasítás 3. utasítás 4. utasítás 5. utasítás 6. utasítás
Multiprocesszoros architektúrák MIMD architektúrák Feladatkiosztás Durvaszemcsés Finomszemcsés Erőforrás használat Közös erőforrások Részben vagy teljesen önálló erőforrások
Párhuzamosítás processzoron kívül I/O processzorok a mainframeknél Társprocesszorok Grafikus társprocesszor Hangfeldolgozó társprocesszor
Kommunikáció multiprocesszoros architektúrákban Ütemezés Szinkron Aszinkron Kapcsolat felépítés Circuit switching Packet switching
Kommunikáció multiprocesszoros architektúrákban Vezérlés Központi Decentrális Topológia Statikus Dinamikus
Symmetric Multi-Processing egyforma processzorok (max 16) közös vagy osztott memóriahasználat közös sínrendszer külön gyorstár bonyolult hardver operációs rendszer szinten támogatni kell alkalmazásszinten támogatni kell belső SMP - Hyper-Threading
A szg-rendszerek osztályozása Symmetric Multi-Processing CPU CPU CPU CPU Cache Cache Cache Cache Nagy sávszélességű sínrendszer Memória Memória Memória Memória
Symmetric Multi-Processing CPU CPU Memória... 4 2 0 Memória... 5 3 1 CPU CPU Processzor sínrendszer Cache Crossbar switch Processzor sínrendszer Cache Processzor sínrendszer IO vezérlő IO vezérlő IO vezérlő
Crossbar Switch Kapcsoló port 2 Kapcsoló port 4 memória interfész memória interfész Kapcsoló port 2 processzor interfész 10-port SRAM processzor interfész Kapcsoló port 2 I/O interfész Kapcsoló port 5
A szg-rendszerek osztályozása Memória vezérlés felépítése Cím Adat Cache Cache CPU sín Memória vezérlő Memory Access Controller MAC CPU sín Memória tömb Memória tömb I/O sín Adatpuffer Data Interface Buffer DIB
Sejtrendszerű MP (Cellular MP, CMP) Open Server arhitektúra Intel processzorok és mainframe technológiák ötvözete nagyfokú skálázhatóság egy nagy SMP vagy több kis SMP partíciós architektúra minden partíciót az operációs rendszer felügyel minden partíció önállóan is működőképes
Sejtrendszerű MP (Cellular MP, CMP) kétféle particionálási lehetőség statikus - még a bootolás előtt, nem változtatható dinamikus - az erőforrások folyamatos újrakiosztása a feladat függvényében osztott memóriahasználat két elektromos domain a kapcsolatot keresztkapcsoló oldja meg (crossbar switching)
Tudásalapú rendszerek információfeldolgozó, tanulni képes rendszerek a működés alapja a neuron a neuronok szinaptikus súlyokon keresztül kapcsolódnak a neuron kimenetén a bemeneti információ egy függvénnyel módosított értéke jelenik meg ANN (Artificial Neuron Network) számítógépes program E k = f E i i
A szg-rendszerek osztályozása Tudásalapú rendszerek topológiája Előfeldolgozás Bemeneti neuron Kimeneti neuron Inverz neuron Összesítő
A szg-rendszerek osztályozása Tudásalapú rendszerek topológiája W1 W2 Bemenetek W3 W4 F(net) W5 W6
A szg-rendszerek osztályozása Tudásalapú rendszerek topológiája Bemenetek PE PE PE PE PE Kimenet PE PE PE PE PE PE - processing element
Tudásalapú rendszerek működése az aktuális adat a bemenetekre érkezik a hálózat kiszámítja a kimenetet az eredményt összehasonlítjuk a kívánatos értékkel az eltérés hibája alapján a szinaptikus súlyok módosításra kerülnek
Tudásalapú rendszerek alkalmazása Felismerés, osztályozás, analizálás egészségügyi diagnózisok célmegjelölés karakterfelismerés hazugságvizsgálat beszédfelismerés
Tudásalapú rendszerek alkalmazása Függvények, közelítéses számítás folyamatok modellezése folyamat vezérlés adatmodellezés eszköz diagnosztika
Tudásalapú rendszerek alkalmazása Időalapú előrejelzés pénzügyi előrejelzések, analízisek összeomlás, csőd előrejelzés kereskedelmi előrejelzések dinamikus rendszer modellezés
Felhasználók száma szerinti csoportosítás Egyfelhasználós Többfelhasználós
Multiprogramozás Lassú I/O műveletek holtidejének csökkentése Több folyamat egyidejű végrehajtása Feltételei: memória partíciók I/O vezérlések 1. prg. folyamat 2. prg. folyamat... processzor 1. utasítás Tétlen 1. utasítás I/O processzor processzor 1. utasítás 1. utasítás I/O... n. prg. folyamat Tétlen Tétlen processzor I/O
A multiprogramozás fajtái Időosztásos multiprogramozás Paritásos multiprogramozás A felhasználói kiszolgálás időbeliségének függvényében: Kötegelt feldolgozás a feladatokat összegyűjtik Interaktív feldolgozás a feladat végrehajtását a felhasználó befolyásolja I/O vezérlések
Interaktív feldolgozás Dialógus üzemmód Terminál üzemmód Tranzakció orientált üzemmód Folyamatvezérlő üzemmód (Process Control) Valós idejű feldolgozás (Real Time processing)
Feladatvégrehajtó egységek elhelyezkedése szerinti csoportosítás Centralizált rendszer egy központi és végrehajtó egység Decentralizált rendszer több, önálló vezérléssel rendelkező egység, amelyeket hálózat kapcsol össze Szerepkörök lehetnek: Master és Slave
A központi egység és a perifériák közötti kapcsolat szerinti On-line fizikai kapcsolat mellet van aktív vezérlési és adatátviteli kapcsolat Off-line fizikai kapcsolat mellet nincs aktív vezérlési és adatátviteli kapcsolat
Szg. üzemmódok Centralizált Elosztott Egyfelhasználós Többfelhasználós Kötegelt Multiprogramozott Interaktív Kötegelt Multiprogramozott Interaktív Prioritásos Időosztásos Prioritásos Időosztásos Dialógus Folyamatvezérelt