Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Számítógép-architektúrák

    A tantárgy angol neve: Computer Architectures

    Adatlap utolsó módosítása: 2017. június 27.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar
    Mérnök informatikus szak, BSc képzés
    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIHIAA02   2/1/0/v 4  
    3. A tantárgyfelelős személy és tanszék Dr. Horváth Gábor,
    4. A tantárgy előadója

    Dr. Horváth Gábor     egyetemi docens     Hálózati Rendszerek és Szolgáltatások Tanszék

    Az előadó eléréséhez szükséges adatok a tanszék honlapján megtalálhatók:
    https://www.hit.bme.hu/portal/args/munkatarsak/oktatok_kutatok
     

    6. Előtanulmányi rend
    Kötelező:
    (TárgyTeljesítve("BMEVIMIAA01")
    VAGY TárgyTeljesítve("BMEVIMIAA02")
    VAGY TárgyTeljesítve("BMEVIMIA111") )

    ÉS NEM (TárgyEredmény("BMEVIHIA210", "jegy", _) >= 2
    VAGY
    TárgyEredmény("BMEVIHIA210", "felvétel", AktualisFelev()) > 0
    VAGY
    TárgyEredmény("BMEVIHIAA00", "jegy", _) >= 2
    VAGY
    TárgyEredmény("BMEVIHIAA00", "felvétel", AktualisFelev()) > 0
    VAGY
    TárgyEredmény( "BMEVIHIAA00" , "aláírás" , _ ) = -1)

    ÉS (Training.Code=("5N-A8") VAGY Training.Code=("5NAA8"))


    A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

    A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

    7. A tantárgy célkitűzése A tárgy célja, hogy a hallgatók megismerjék legfőbb munkaeszközüknek, a számítógépeknek a felépítését, működését, tulajdonságait. A hardver jellegzetességeinek ismerete hozzájárul ahhoz, hogy a hallgatók képesek legyenek hatékony, a számítógép erőforrásait a lehető legjobban kihasználó szoftver fejlesztésére.
    8. A tantárgy részletes tematikája Az előadások:
    Bevezető jellegű ismeretek (1 ea.). Információfeldolgozási modellek megismerése. Vezérlésáramlásos architektúrák: Neumann architektúra, Harvard architektúra, módosított Harvard architektúra.

    Perifériakezelés (2 ea.). Dedikált I/O utasítások, és memóriára leképzett perifériakezelés. Forgalomszabályozás. Perifériák jelzéseinek feldolgozása: polling, interrupt, interrupt többprocesszoros környezetben, interrupt moderáció. A processzor tehermentesítése: DMA, I/O processzor. Összeköttetések: busz, pont-pont, soros, párhuzamos, időzítés, arbitráció. Egy-, több-buszos, ill. híd alapú rendszerek. PCI, PCI Express és USB csatolófelületek.

    Háttértárolók (1 ea.). Merevlemezek működése: szektor fogalma és részei, zóna rendszerű adattárolás. Az adatátviteli parancsok kiszolgálási idejének főbb összetevői. Parancsok sorbaállítása és soron kívüli ütemezése. SSD háttértárak működése:  Lapok, blokkok fogalma és szerepe. Az írás/olvasás megvalósítása és mellékhatásai. Az öregedés oka és jelentősége. Az SSD vezérlő feladatai.

    Memória (4 ea). Szinkron DRAM alapú memóriarendszerek: memóriavezérlő, modul, rank, bank fogalma és működése. DRAM parancsok és azok időzítése, parancsok sorok kívüli végrehajtása. Virtuális tárkezelés: címfordítás, TLB, laptábla implementációk, egyszintű éshierarchikus laptáblák. Cache memória: lokalitási elvek szerepe, cache szervezés, cache szervezés és a virtuális tárkezelés viszonya. Cache tartalom menedzsment: cache szemetelés megelőzése, idő előtti betöltés, blokk csere algoritmusok. Lokalitástudatos programozási technikák.

    Processzor (4 ea). Utasításkészletek jellemzői, CISC-RISC stratégiák.
    Pipeline utasításfeldolgozás. Egymásrahatások fogalma és kezelése. Egyszerű 5 fokozatú pipeline implementációja. Eltérő késleltetésű aritmetikai műveletek kezelése. Dinamikus ütemezés (soron kívüli utasítás-végrehajtás). A precedenciagráf fogalma, és az adatfolyam-elvű utasításütemezés. Az utasítástároló, a regiszter-átnevezés és a sorrendvisszaállító buffer szerepe és megvalósítása. A pipeline szélesítése: szuperskalár, VLIW és EPIC architektúrák. Elágazásbecslés: jelentősége, ugrási feltétel kimenetelének becslése, ugrási cím becslése. Elágazásbecslés-tudatos programozás.

    Párhuzamos feldolgozás (2 ea.). Adatpárhuzamosság: vektorprocesszorok, SIMD utasításkészlet kiegészítések, tömbprocesszorok. Multiprocesszoros rendszerek: explicit párhuzamosság fogalma, több szálat kezelő processzorok, multiprocesszoros rendszerek osztályozása, az osztott tárkezelésből fakadó problémák.

    A gyakorlatok:
    - Digitális technika ismétlés egy egyszerű hardver-szoftver tervezési feladaton keresztül
    - Perifériakezelés: A CPU perifériakezelésre fordított relatív terhelésének kiszámítása polling és interrupt használata esetén
    - Háttértárak: HDD késleltetés és átviteli sebesség számítások, SSD írás menedzsment algoritmusok kézi végig követése
    - Memóriakezelés: DRAM parancsütemezés, parancskésleltetési idő számítások, virtuális memóriakezelés példák TLB-vel és anélkül
    - Cache memória: Cache szervezések gyakorlása, egyszerű C programokra cache hibaarány-számolás és kódoptimalizálás
    - Pipeline ütemezés: Alacsony szintű programok ütemezése különféle utasítás pipeline-okra, optimális utasítássorrend meghatározása
    - Fejlett pipeline technikák: Függőségi analízis, álfüggőségek eliminálása regiszter átnevezéssel, elágazásbecslő működésének végig követése egyszerű C programrészletekre

    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) Előadás heti 2 órában
    Kéthetente egy 2 órás gyakorlat
    A tárgy sikeres teljesítése folyamatos tanulást igényel. Ennek keretében az előadások követéséhez szükséges az előző előadásanyag átismétlése, továbbá a gyakorlatokra a feladatmegoldások hatékony begyakorlásához a kapcsolódó előadásanyagokból felkészülés.

    10. Követelmények a.) A szorgalmi időszakban: Az aláírás feltétele a zárthelyi dolgozat sikeres teljesítése
    b.) A vizsgaidőszakban: A tárgy teljesítéséhez a vizsga sikeres teljesítése szükséges


    11. Pótlási lehetőségek A félév során az arra kijelölt időpontban, valamint a pótlási héten pót zárthelyi írására van lehetőség.
    12. Konzultációs lehetőségek Az előadóval, illetve gyakorlatvezetővel előre egyeztetett időpontban.
    13. Jegyzet, tankönyv, felhasználható irodalom •    A tárgy előadója által készített, a tárgy honlapjáról elérhető elektronikus jegyzet
    •    David A. Patterson, John L. Hennessy. Computer Organization and Design, Morgan Kaufmann Publishers, 2011.
    •    Jean-Loup Baer. Microprocessor Architecture, Cambridge University Press, 2010.
    •    Bruce Jacob, Spencer W. Ng, Samuel Rodriguez. Memory Systems, Morgan Kaufmann Publishers, 2008.
    •    William Stallings. Computer Organization and Architecture, 2012.

    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
    Kontakt óra42
    Félévközi készülés előadásokra10
    Félévközi készülés gyakorlatokra
    12
    Felkészülés zárthelyire16
    Házi feladat elkészítése0
    Kijelölt írásos tananyag elsajátítása0
    Vizsgafelkészülés40
    Összesen120
    15. A tantárgy tematikáját kidolgozta Dr. Horváth Gábor     egyetemi docens     Hálózati Rendszerek és Szolgáltatások Tanszék
    IMSc tematika és módszer Az emelt szintű ismeretek elsajátítását emelt szintű gyakorlatok és emelt szintű ismeretanyag önálló feldolgozása segíti.
    Az emelt szintű gyakorlatokon összetettebb feladatok megoldására lesz lehetőség.
    A félév során 5 emelt szintű többlet tananyag lesz, melyek a tematika néhány fontosabb témakörét járják körül az alapszintnél részletesebben, mélyebben. Ez a tananyag az előadó által megjelölt irodalom alapján önállóan elsajátítható, igény esetén személyes, illetve csoportos konzultációval kiegészítve.

    IMSc pontozás A tárgyból 25 IMSc pont szerezhető.
    Sikeresen megoldott többletfeladatokkal a félévközi nagyzárthelyin 9 pont, a vizsgán 16 pont szerezhető. IMSc pontot az szerezhet, aki a számonkéréseken a kitűzött normál feladatok megoldásával a jó szintet (70%) eléri.
    Az IMSc pontok megszerzése a programban nem résztvevő hallgatók számára is biztosított.