1 / 47

Számítógépek felépítése 12. előadás

Számítógépek felépítése 12. előadás. Dr. Istenes Zoltán ELTE-TTK. Processzorok („gépek”). Alpha CRAY-1 VAX. Alpha 21164 processzor. 64-bit RISC Superscalar: 4 utasítás órajel ciklusonként Superpipelined: 7 lépcsős pipeline egész számos utasításokra,

thane
Download Presentation

Számítógépek felépítése 12. előadás

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Számítógépek felépítése12. előadás Dr. Istenes Zoltán ELTE-TTK

  2. Processzorok („gépek”)... Alpha CRAY-1 VAX ...

  3. Alpha 21164 processzor • 64-bit RISC • Superscalar: 4 utasítás órajel ciklusonként • Superpipelined: • 7 lépcsős pipeline egész számos utasításokra, • 9 lépcsős pipeline lebegőpontos számos utasításokra • 16K L1 cache (8K adat, 8K utasítás), 96K L2 cache • Pipelined Floating Point Unit: lebegőpontos egység 2 utasítás órajel ciklusonként (kivéve osztás) • órajel 600 MHz, 2.4 billió utasítás /sec • 9.6 millió tranzisztor • Dynamic Branch Prediction

  4. Dinamikus elágazás előrelátás(Dynamic Branch Prediction) Probléma : feltételes elágazáskor a prefetch nem „tudja előre kitalálni” hogy lesz elágazás vagy sem (melyik lesz a következő utasítás) A végrehajtott feltételes elágazás utasításaihoz „elágazási információk” eltárolása... az előző (két) esetben volt elágazás vagy sem...

  5. CRAY - 1

  6. CRAY-1 • Semour Cray (kb. 1977 ?) • hosszú ideig a leggyorsabb számítógép • „tiszta” tervezés • „semmivel se spórolni” • tudományos, sok-sok lebegőpontos számításra

  7. CRAY-1 • vektor processzor • kb. 5 IBM 370/195 • 138 MFLOP (250 MFLOPS burst) • 12,5ns (80MHz) • 1 millió szavas tár, 1 szó = 64 bit • 115KW fogyasztás, freon hűtés... • kb. 5 tonna • nagyon drága...

  8. CRAY-1 • 128 utasítás (egész + lebegőpontos) • 0-3 címes utasítások • nincs karakter művelet, sem egész osztás • adattípusok : 2-es komplemens, lebegőpontos • szó hozzáférésű tár, 1 szó = 64 bit • 12 műveletvégző egység • pipeline feldolgozás

  9. CRAY-1 regiszterek • 8x 24 bites címregiszter (A) • 64x 24 bites átmeneti címregiszter (B) • 8x 64 bites skalár regiszter (S) • 64x 64 bites átmeneti skalár regiszter (T) • 8x 64 elemes vektor regiszter (64bit/elem) (V) 4Kbyte+ 6ns -os regiszter tároló

  10. CRAY-1 • memoria blokk töltése T regiszterekbe • vektoron végzett műveletek • verem nincs • cache nincs

  11. VAX • 1970 DEC (Digital Equipement Corp.) • CISC • VAX 11/780 sebessége kb. 1MIPS • kb. „hűtőszekrény” méret

  12. VAX utasítás készlete • egész aritmetika : különféle adat-mérettel • logikai : különféle adat-mérettel • cím és bit manipulációk • vezérlés átadó utasítások (elágazás, ugrás, ciklusok, eljárások) • lebegőpontos műveletek • karakter-string műveletek (pld. edit) • crc (Cyclic Redundancy Check) • BCD műveletek összesen több mint 200 utasítás...

  13. VAX regiszterek • 16db 32 bites „általános célú”... • R15 = PC (szabadon módósítható) • R14 = SP (varem mutató) • R13 = „keret mutató” (memória kezelés) • R12 = „argumentum mutató” (eljárások paraméterei)

  14. VAX adattípusok • byte, word (16 bits), longword (32 bits), quadword (64 bits), octaword (128 bits) • F floating point (32 bit, 7 bites exponens) • D floating point (64 bit, 7 bites exponens) • G floating point (64 bits,10 bites exponens) • H floating point (128 bit, 15 bites exponens) • character string • numeric string (egészeket ábrázoló ASCII kódok) • BCD string

  15. Csodák palotája...számítógép történeti kiállítás http://www.sztaki.hu/providers/bsc/home/home.htm cím: Bp. XIII. Váci út 19 telefon: (+36 1) 350 6131 fax: (+36 1) 350 6131 e-mail: bsc@mtesz.hu

  16. Párhuzamos feldolgozás...

  17. Neumann elv - soros feldolgozás CPU szekvenciális feldolgozás Lassú Mem feladatot részlépésekre lehetne bontani... egy utasítás feldolgozásakor „több részegység tétlen”... Párhuzamosság... párhuzamos számítógépek... párhuzamos feldolgozó egységek...

  18. Párhuzamos számítás(Parallel computing) párhuzamos programozás - operációs rendszer : • „látszólag” több program fut „egyszerre” • amíg egy prg. lassú I/O-ra várt egy másik prg. fut • független folyamatok, „nem férnek egymáshoz” program részeinek párhuzamos feldolgozása : • kommunikáció (információ csere) • szinkronizáció (összehangolt működés)

  19. A párhuzamos programvégrehajtás szintjei • A hardver egységen belüli párhuzamosítás • Gépi utasítás végrehajtásán belüli párhuzamosítás • Párhuzamosítás a feldolgozott adatok szintjén • Gépi utasítások közötti párhuzamosítás • Eljárások (makro utasítások) közötti párhuzamosítás • Jobok közötti párhuzamosítás • Folyamatok közötti párhuzamosítás

  20. 1. szint: A hardver egységen belüli párhuzamosítás • Egyidejűleg több alkotóelem végez aktív feldolgozó munkát az aktuális programrészlet végrehajtása érdekében. • Pl.: egy párhuzamos aritmetikai egységben az operandusok minden bitjén egyidejűleg történik az előírt művelet végrehajtása, vagy egy buszon a memóriából felhozott utasításszó minden bitje egyidejűleg mozog.

  21. 2. szint: Gépi utasítás végrehajtásán belüli párhuzamosítás. • Egy gépi utasítás végrehajtása több fázisra bontható. A számítógépek sebessége nagymértékben fokozható, ha ezeket a fázisokat átlapoltan, több utasításon párhuzamosan hajtja végre a számítógép. • Pld. az n-edik utasításhoz tartozó akciók végrehajtásával egyidejűleg folyik az n+1.-dik utasítás dekódolása, és az n+2.-dik utasítás felhozása. • Ez a párhuzamosítási technika a pipeline (csővezeték) technika.

  22. 3. szint: Párhuzamosítás a feldolgozott adatok szintjén. • Vektorok feldolgozása esetén tipikus feladat, hogy ugyanazt a műveletet a vektor minden elemén végre kell hajtani (pl. két vektor összeadása). N elemű vektor esetén a szokásos számítógépek az ilyen műveleteket N lépésben hajtják végre. Vannak azonban olyan többprocesszoros számítógépek, melyek ezt a műveletet egyetlen lépésben képesek végrehajtani. Ezek az ún. vektorprocesszorok, amelyekben N processzor egyidejűleg hajtja végre a vektor N elemén ugyanazt a műveletet.

  23. 4. szint: Gépi utasítások közötti párhuzamosítás. • A hagyományos számítógépekben az utasítások végrehajtási sorrendje kötött, jóllehet legtöbb programban találhatók olyan utasítások, amelyeknek a végrehajtási sorrendje a program működésének helyességét nem befolyásolja. Az olyan utasítások, amelyek egymástól ily módon függetlenek, bármilyen sorrendben, akár egyidejűleg is végrehajthatók. • A párhuzamosan végrehajtható utasítások automatikus felderítésére a Neumann-elvű többprocesszoros számítógépek nem voltak alkalmasak, mivel a párhuzamosítási előírások akkora túlmunkát jelentettek a feldolgozó egységnek, hogy alapjaiban kérdőjelezte meg a gépi utasítások közötti párhuzamosítás létjogosultságát.

  24. Gépi utasítások közötti párhuzamosítás : Dataflow (adatfolyam) A B C D * / utasítás („művelet”) akkor hajtható végre, ha az operandusok már rendelkezésre állnak + X= (A*B)+(C/D)

  25. 5. szint: Eljárások (makro utasítások) közötti párhuzamosítás. • Egy adott makro utasítást egyetlen gépi utasítás(ok) egy sorozata reprezentál • Mivel az eljárás végrehajtási ideje jelentős, ezért a párhuzamosítási előírások megvalósításából származó többlet-ráfordítás elhanyagolható lehet az eljárás végrehajtási idejéhez képest. • Ezen a szinten már hatékonyan alkalmazhatók a Neumann-elvű processzorokból felépített többprocesszoros számítógépek is.

  26. 6. szint: Jobok közötti párhuzamosítás. • Jobon olyan véges működésű programot értünk, amely önálló működésre képes és a rendszer erőforrásait használja. • Az eljárás és a job közötti rokonság, hogy mindkettő véges lefutású, lényeges különbség viszont, hogy amíg az eljárás sosem önálló, addig a jobok egymástól logikailag függetlenek, egy-egy virtuális gépet reprezentálnak. • A közös erőforrások használata miatt egy szinkronizációs mechanizmust kell alkalmazni.

  27. 7. szint: Folyamatok közötti párhuzamosítás. • Folyamat (process) alatt olyan nem feltétlenül véges működésű programot értünk, amely önálló működésre képes, a rendszer erőforrásait használja és a többi folyamattal kommunikál. • Szinkronizációs mechanizmust, az üzenetátadást, és az eseménykezelést is biztosítani kell.

  28. Többprocesszoros rendszerek

  29. Többprocesszoros rendszerek megjelenését segítő tényezők • hardware elemek árának a csőkkenése • számítógépes hálózatok elméletének és technikájának a fejlődése • technológiai korlátok (több alkatrész már nem fér a chip-be)

  30. Multiprocesszoros rendszerek csoportosítása és osztályozása(alkalmazásuk szerint) • Általános célú rendszerek : cél az egyprocesszoros számítógépek működési sebességének a fokozása az architektúra módosításával. • A redundáns (hibatűrő) rendszerek : cél a számítógépek megbízhatóságának a növelése több processzor alkalmazásával. • A számítógép-hálózatok : cél nagytávolságú elosztott információs rendszerek kialakítása.

  31. Számítógépek teljesítőképességét befolyásoló tényezők • technológia - sebességnövekedés (gyorsabb alkatrészek, tárak, stb...) • architektúra - különböző egységek kapcsolatának a megszervezése, kezelése Példa : gép órajel mátrixszorzás EDSAC1 2000ns 100/s CRAY-1 12,5ns 130 millió/s 160x 1.000.000x

  32. a rendszerek csoportosítása (1) logikai struktúra : • horizontális • vertikális fizikai struktúra • közös tárterület (centralizált) • sínrendszer (osztott)

  33. a rendszerek csoportosítása (2) kölcsönhatás módja, csatolás foka : • szorosan csatolt • lazán csatolt („on site computing”) processzor és passzív elemek (tár, I/O) közötti kapcsolat : • közös sín • crossbar • többszörös hozzáférésű tárak

  34. a rendszerek csoportosítása (3) feldolgozási mód (Flynn) • SISD • MISD • SIMD • MIMD

  35. Multiprocesszoros rendszerek(általános célú) • SISD Single Instruction stream on Single Data stream (egy utasítás egy adat) • SIMD Single Instruction stream on Multiple Data stream (egy utasítás több adat) • MISD Multiple Instruction stream on Single Data stream (több utasítás egy adat) • MIMD Multiple Instruction stream on Multiple Data stream (több utasítás több adat)

  36. SISD, SIMD, MISD, MIMD • A SISD rendszerek : a szokásos egyprocesszoros számítógépek. • A SIMD rendszerek : a program párhuzamosítás 3. szintjének támogatását szolgáló vektor (hardver megvalósítása a CrayX számítógép) -, tömb (Connection Machine) - ill. asszociatív processzorok (Staran). • A MISD rendszerek : a program 2. párhuzamosítási szint megvalósítására szolgáló pipeline processzorok tartoznak. • A MIMD architektúra : a program párhuzamosítás 4., 5., 6. és 7. szintjének megvalósítása.

  37. előnyök feldolgozási teljesítőképesség : • átbocsájtóképesség • közös erőforrás használat • megbízhatóság

  38. többprocesszoros rendszerek architektúrája „egyes rendszerelemek (processzorok - tárak - I/O) egymáshoz kapcsolódása, együttműködése, közös feladatvégrehajtása” fogalmak : adatút, kapcsolóelem (osztott/központi vezérlésű hálózat), kommunikáció létrehozási módja, modularitás, bővíthetőség, hibatűrés, egyidejüség, üzenetterítés, összekötöttség...

  39. osztott feldolgozás (distributed processing) : • feldolgozás • adatbázis

  40. A processzorok közötti kapcsolat megvalósítása : • a csatolás topológiája • a processzorok csatolásánalk módja • a kapcsolat fizikai megvalósítása • a kommunikációs csatorna működési módja • a passzív elemek használata • a kapcsolat technológiája

  41. útvonal (path) kapcsoló (switch) gyűrű teljes összekötés közös központi tár központi rendszersín csillag közös központi vezérlésű sín reguláris hálózat irreguláris hálózat kapcsoló a processzor és a sín között A csatolás topológiája

  42. A processzorok csatolási módja • tárcsatolt • be/kiviteli csatolású

  43. A kapcsolat fizikai megvalósítása • időosztásos közös sínrendszer • crossbar kapcsolórendszer • többszörös hozzáférésű tárak

  44. A kommunikációs csatorna működési módja • szó (byte) átviteli • blokkátviteli • vegyes átviteli

  45. A passzív elemek használata • csak globális • globális és lokális

  46. A kapcsolat technológiája • fizikai elosztottság...

  47. osztott erőforrás • kritikus szakasz • kölcsönös kizárás (mutual exclusion) • test and set • szemafor x:=x+1000 x:=x-200 x

More Related