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

Slides:



Advertisements
Hasonló előadás
Tamás Kincső, OSZK, Analitikus Feldolgozó Osztály, osztályvezető A részdokumentumok szolgáltatása az ELDORADO-ban ELDORADO konferencia a partnerkönyvtárakkal.
Advertisements


Kamarai prezentáció sablon
1 Számítógépek felépítése 9. előadás I/O rendszerek.
A számítógép felépítése
Erőállóképesség mérése Találjanak teszteket az irodalomban
I. Informatikai alapismeretek Dabas, november 18.
Neumann-elvek A számítógép legyen teljesen elektronikus, külön vezérlő és végrehajtó egységgel. Kettes számrendszert használjon. Az adatok és a programok.
A mikroprocesszor 1. rész.
Humánkineziológia szak
Mellár János 5. óra Március 12. v
MFG-Pro váll-ir. rendszer bemutatása
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
A hardver és a személyi számítógép konfigurációja
Elektronikai Áramkörök Tervezése és Megvalósítása
Elektronikai Áramkörök Tervezése és Megvalósítása
Elektronikai Áramkörök Tervezése és Megvalósítása
Mérés és adatgyűjtés Kincses Zoltán, Mingesz Róbert, Vadai Gergely 10. Óra MA-DAQ – Műszer vezérlése November 12., 15. v
A számítógéprendszer.
Alapfogalmak Adat: fogalmak, tények, jelenségek olyan formalizált ábrázolása, amely emberi vagy gépi értelmezésre, feldolgozásra, közlésre alkalmas. Információ:
SZÁMÍTÓGÉP ARCHITEKTÚRÁK
Védőgázas hegesztések
Digitális rendszerek I. c
Mikroszámítógépek I 8085 processzor.
Mikroszámítógépek I 8085 processzor.
Utasítás végrehajtás lépései
Paradigmaváltások a processzorfejlesztésben Sima Dezső augusztus 25.
CISC - RISC processzor jellemzők
Dr. Istenes Zoltán ELTE-TTK-ÁSZT 2001 november
2 tárolós egyszerű logikai gép vázlata („feltételes elágazás”)
Szerkezeti elemek teherbírásvizsgálata összetett terhelés esetén:
Felkészítő tanár: Széki Tibor tanár úr
TÉTELEK Info_tech_2012. Simon Béláné. 1. TÉTEL 1.a. A digitális számítógép és a logikai áramkör kapcsolata (6.4.1.) 1.b. Az ÉS logikai áramkörnek adja.
Egy egyszerű gép vázlata
a CPU gyorsítása, pipeline, cache
Egy harmadik generációs gép (az IBM 360) felépítése
DRAGON BALL GT dbzgtlink féle változat! Illesztett, ráégetett, sárga felirattal! Japan és Angol Navigáláshoz használd a bal oldali léptető elemeket ! Verzio.
A számítógép Hardver: a számítógép és az azt kiszolgáló egyéb berendezések (az összes „kézzelfogható” számítástechnikai kellék). Szoftver: a számítógépen.
Hardvereszközök Hardvereszközök I.rész. Hardvereszközök CPU Memóri a Input Háttértárolók Outpu t A számítógép felépítési elve Neumann elvek: 1.Soros utasításvégrehajtás.
szakmérnök hallgatók számára
SZÁMÍTÓGÉP ARCHITEKTÚRÁK - 4
Mikrokontroller (MCU, mikroC)
Processzorok.
A klinikai transzfúziós tevékenység Ápolás szakmai ellenőrzése
QualcoDuna interkalibráció Talaj- és levegövizsgálati körmérések évi értékelése (2007.) Dr. Biliczkiné Gaál Piroska VITUKI Kht. Minőségbiztosítási és Ellenőrzési.
Egy második generációs gép (az IBM 7094) felépítése
Egy első generációs gép (az IAS) felépítése
1. Melyik jármű haladhat tovább elsőként az ábrán látható forgalmi helyzetben? a) A "V" jelű villamos. b) Az "M" jelű munkagép. c) Az "R" jelű rendőrségi.
Mikroprocesszor.
IT ALAPFOGALMAK HARDVER.
Ismerkedjünk tovább a számítógéppel
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
Írja fel a tizes számrendszerbeli
A KÖVETKEZŐKBEN SZÁMOZOTT KÉRDÉSEKET VAGY KÉPEKET LÁT SZÁMOZOTT KÉPLETEKKEL. ÍRJA A SZÁMOZOTT KÉRDÉSRE ADOTT VÁLASZT, VAGY A SZÁMOZOTT KÉPLET NEVÉT A VÁLASZÍV.
1 Számítógépek felépítése 13. előadás Dr. Istenes Zoltán ELTE-TTK.
IT ALAPFOGALMAK HARDVER.
Mikroprocesszorok (Microprocessors, CPU-s)
ifin811/ea1 C Programozás: Hardver alapok áttekintése
Számítógépek felépítése 4. előadás ALU megvalósítása, vezérlő egység
1 Számítógépek felépítése 5. előadás a CPU gyorsítása, pipeline, cache Dr. Istenes Zoltán ELTE-TTK.
A CPU (központi feldolgozó egység vagy processzor)
1 A számítógépek felépítése jellemzői, működése. 2 A számítógép feladata Az adatok Bevitele Tárolása Feldolgozása Kivitele (eredmény megjelenítése)
Neumann elvű számítógép. Neumann János ► Neumann János december 28-án Budapesten született ► 1930-ban emigrált az USA-ba.
A NEUMANN-ELVŰ SZÁMÍTÓGÉP. A számítógép:  Információk tárolására, feldolgozására szolgáló eszköz.
Sz&p prof.
CPU (Processzor) A CPU (Central Processing Unit – Központi Feldolgozó Egység) a számítógép azon egysége, amely értelmezi az utasításokat és vezérli.
Információtechnológiai alapismeretek
Egy egyszerű gép vázlata
A számítógép működésének alapjai
Számítógépek felépítése 9. előadás I/O rendszerek
Előadás másolata:

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

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

3 Alpha 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 Prefetch and Dispatch Unit ensures that all execution units remain busy by fetching instructions before they are needed in the pipeline. Instructions can be prefetched from all levels of the memory hierarchy, including the I-cache, E-cache, and main memory. A 12-entry prefetch buffer decouples instruction prefetching from instruction dispatch and prevents pipeline stalls A 16 KB two-way associative I-cache that is physically indexed and tagged Instructions in the I-cache are pre-decoded A 9-stage instruction pipeline to minimize latency Dynamic branch prediction to allow for greater prediction accuracy

6 Pipeline Organization UltraSPARC-I uses a double-instruction-issue pipeline with nine stages: fetch, decode, grouping, execution, cache access, load miss, integer pipe wait, trap resolution, and writeback. These stages imply that the latency (time from start to end of execution) of most instructions is nine clock cycles. However, at any given time, as many as nine instructions can execute simultaneously, producing an overall rate of execution of one clock per instruction in many cases. In reality, some instructions may require more than one cycle to execute due to the nature of the instruction, a cache miss, or other resource contentions. The first stage of the pipeline is a fetch from the I-cache. In the second stage, instructions are decoded and placed in the instruction buffer. The third stage, grouping, groups and dispatches up to four instructions. Next, integer instructions are executed and virtual addresses calculated during the execution stage. In the fifth stage the D-cache is accessed. Cache hits and misses are determined, and branches are resolved. If a cache miss was detected, the loaded miss enters the load buffer. At this point, the integer pipe waits for the floating-point/graphics pipe to fill and traps are resolved. In the final stage, writeback, all results are written to the register files and instructions are committed.

7 Integer Execution Unit 2 ALUs for arithmetic, logical, and shift operations 8-window register file Result bypassing A Completion Unit which allows a nine- stage pipeline with minimal bypasses

8 CRAY - 1

9 Semour Cray (kb ?) 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

10 CRAY-1 vektor processzor kb. 5 IBM 370/ 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...

11 CRAY 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

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

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

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

15 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...

16 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)

17 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

18 Csodák palotája... számítógép történeti kiállítás cím: Bp. XIII. Váci út 19 telefon: (+36 1) fax: (+36 1)

19 Párhuzamos feldolgozás...

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

21 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)

22 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

23 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.

24 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.

25 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.

26 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.

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

28 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.

29 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.

30 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.

31 Többprocesszoros rendszerek

32 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)

33 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.

34 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órajelmátrixszorzás EDSAC12000ns100/s CRAY-112,5ns130 millió/s 160x x

35 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)

36 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

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

38 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)

39 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.

40 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

41 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...

42 osztott feldolgozás (distributed processing) : feldolgozás adatbázis

43 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

44 A csatolás topológiája ú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

45 A processzorok csatolási módja tárcsatolt be/kiviteli csatolású

46 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

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

48 A passzív elemek használata csak globális globális és lokális

49 A kapcsolat technológiája fizikai elosztottság...

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