Gábor Dénes Főiskola Győr Mikroszámítógépek Előadás vázlat 102 2003/2004 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
Számonkérések, ajánlott irodalom A tantárgy lezárása kollokvium útján történik. Minden előadás után ZH írására került sor. Amennyiben mindegyik ZH minősítése minimálisan 61%, akkor azok alapján megajánlott jegy 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 Készítette: Markó Imre 2004
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 Készítette: Markó Imre 2004 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 Készítette: Markó Imre 2004 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 Hardvare Description Language, VHDL) - 1987 (IEEE) és 1989 (ANSI) Készítette: Markó Imre 2004
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 interész ez egységek közötti kommunkiáció konfiguráció az architektúrák és az interfészek egymáshoz rendelése Készítette: Markó Imre 2004
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 Készítette: Markó Imre 2004
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). számítógép F = C T U = egy feladat teljesítmény C T U elvégzéséhez szükséges idő egy utasítás átalgos ciklusszáma egy ciklus ideje feladatvégrehajtás utasításszáma
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 egyidő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
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árkapacitás: 40 Gbájt fölött
Kisszámítógépek (microcomputer) Kisteljesí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
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 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 arhitektúrák Nem hagyományos rendszerek neurális hálók Készítette: Markó Imre 2004
CISC (Complex Instruction Set Computer) architektúrák Összetett, bonyolut utasítások Bármely utasítás igénybeveheti 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
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
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 10. ciklus 5. utasítás Tétlen 4. utasítás Tétlen 3. utasítás 2. utasítás Tétlen Készítette: Markó Imre 2004
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 Készítette: Markó Imre 2004
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 Készítette: Markó Imre 2004 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
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ő Készítette: Markó Imre 2004 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 Készítette: Markó Imre 2004 Kapcsoló port 5
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 partícioná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
Tudásalapú rendszerek topológiája Előfeldolgozás Bemeneti neuron Kimeneti neuron Inverz neuron Összesítő
Tudásalapú rendszerek topológiája W1 W2 Bemenetek W3 W4 F(net) W5 W6
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 Készítette: Markó Imre 2004 Dialógus Folyamatvezérelt