A mai program Számítógép architektúrák A CPU és részei ALU, regiszterek, vezérlő, sín, MMU. Utasításkészlet, CPU futási módok. Teljesítménymérés. A processzor A processzor Vadász,. Ea A Neumann architektúra A fő komponensek CPU A CPU: központi egység A (központi) tár (memória) Memória A perifériák, eszközök, I/O modulok A sín (busz) A működés általánosan: A CPU veszi a soron következő gépi instrukciót és azt elemzi, végrehajtja. Ha kell, adatokat is vesz. Egyes instrukciók a perifériákat kezelik. sín I/O modulok ALU Egy elképzelt CPU Belső sín Sínvezérlő Regiszterek Dekódoló és vezérlő Címgeneráló A processzor Vadász,. Ea A processzor Vadász,. Ea A CPU fő részei Nagyon általánosan a fő részek: az ALU (a számolómű) más néven végrehajtó egység (VE), a regiszterkészlet (tároló hierarchia csúcs), a dekódoló-vezérlő egység, a sínkezelő, címgeneráló, védelmi egység, a sínvezérlő egység. Ennél bonyolultabb is lehet! Pl. lehet több ALU stb. CPU blokk-diagram http://en.wikipedia.org/wiki/ central_processing_unit A processzor Vadász,. Ea A processzor Vadász,. Ea
MIPS R Prefetch Execution MMU Paging Segment Bus Interface Instruction Decode BUS CP Exeption/Control Registers MMU Registers TLB Master Pipeline / Bus Control Local Control Logic General Regs ALU Shifter Multipier/Divider Address Adder PC Incrementer CPU ALU Registers Protection Test Control Address Bus Data Bus A processzor Vadász,. Ea A processzor Vadász,. Ea Az ALU Aritmetikai és logikai egység Néhány (alapvető) műveletet (operációt) képes végrehajtani Összeadás, kivonás, fixpontos szorzás, osztás, léptetések, összehasonlítások (logikai műveletek). Később az instrukciókat nézzük A lebegőpontos aritmetika? Néha külön processzor erre. A regiszterek A CPU belső tárolói. Leggyorsabb elérés. Munkamemóriát biztosítanak a CPU számára, segítik a címképzést, segítik a vezérlést (pl. státus jellemzőket tárolva). Többnek van neve (a programozó használhatja) Különböző hosszúságúak (bitszélességűek), átlapolások lehetnek köztük. A processzor Vadász,. Ea A processzor Vadász,. Ea A Pentim II elsődleges regiszterei Az R-es regiszterei Általános célú regiszterek Szorzás/osztás regiszterei Utasítás számláló r r HI LO PC r Ezekből: r: hardveresen bedrótozott -t tartalmaz r: link regiszter a jump-and-link instrukcióhoz A processzor Vadász,. Ea A processzor Vadász,. Ea
SYSTEM COPROCESSOR REGISZTEREI EntryHi TLB EntryLo NotAccessedbyRandom Ezeket a virtuális memória rendszer használja Index Random Status Context Cause EPC PRld BadVAddr Ezeket a kivételkezelés használja A regiszterek osztályai (Programozási) felhasználási lehetőség szerint Programozó számára látható (user visible): alkalmazások és a rendszerprogramok is használhatják. Ezen belül felhasználási mód szerint általános (bármely instrukcióban használható), speciális (csak bizonyos instrukciókban használhatók). Korlátozott használatú: a processzor, esetleg operációs rendszer magja használhatja A processzor Vadász,. Ea A processzor Vadász,. Ea A regiszterek osztályai Felhasználási cél szerint Adatregiszterek, címregiszterek, Veremmutató regiszter (SP) (a verem tetejét mutatja) Indexregiszter (bázis cím + index adja a címet), Szegmensregiszter (szegmens cím és eltolás ad címet) Címleképző táblá(ka)t mutató regiszter(ek) Vezérlő (speciális célú) regiszterek Programszámláló regiszter (PC: Program Counter; IP: Instruction Pointer) Instrukció-tároló regiszter (IR) Állapot regiszter (PSW: Program Status Word) Az állapot regiszter Az állapot regiszter a CPU belső állapotát tükröző állapotbiteket foglalja össze: feltétel bitek vagy flag-ek (átvitel, zero, előjel, túlcsordulás stb.), melyek az instrukciók végrehajtása végén bebillennek v. sem. Üzemmód bitek (user/kernel mode) és az IT maszk (IT enable/disable). A PSW és PC együtt alkot(hat)ja a PSLW-t (Program Status Longword). A processzor és az instrukció folyam állapotáról minden fontos információ megvan benne. A processzor Vadász,. Ea A processzor Vadász,. Ea A vezérlő és dekódoló egység A felhozott gépi instrukciót elemzi, dekódolja (pl. megállapítja, milyen mikrokódokat kell majd használni), vezérli a CPU többi egységét (pl. az utasításokat kibocsátja). A CPU sínje A CPU-n belüli adatforgalmat biztosító áramkörök. A processzor Vadász,. Ea A címképző és a sínvezérlő egység A címképző és védelmi egység feladata a logikai (virtuális) címből a valós (fizikai) címek leképzésének segítése Ebben részegység lehet a TLB (Translation Lookaside Buffer) Részegység lehet a szegmenskezelést, a lapozást segítő MMU elem Lehet benne speciális védelmi alegység A sínvezérlő feladata az instrukciók felhozatala (fetch) a memóriából, az adatok tényleges mozgatása memóriából (load), memóriába (store), I/O modulokból (in) és modulokba (out). A processzor Vadász,. Ea
A gyorsító-tárak Korszerű architektúrákban cache memória Instrukció gyorsítótár (I-Cache) Adat gyorsítótár (D-Cache) A be-kitöltések a gyorsító-tárból történnek, de ezt a tárgyalás során néha figyelmen kívül hagyjuk A gyorsító-tárakról később lesz szó http://en.wikipedia.org/wiki/instruction_set_architecture Az IA- architektúra: http://en.wikipedia.org/wiki/ia- A processzor Vadász,. Ea A processzor Vadász,. Ea Egy elképzelt mikroprocesszor Van A, B, C, Test és IP regisztere A jobboldali listán felsoroljuk az instrukciókészletét címeken PROM - címeken RAM Az alábbi programot a=; f=; while (a <= ) { f = f * a; a = a + ; } LOAD reg,mem //reg (mem) CON reg,const //reg const SAVE reg,mem //mem (reg) ADD r,r,r //r (r) + (r) MUL r,r,r //r (r) * (r) COMP r,r //T (r) > (r) JUMP mem IP mem JG mem ha T, akkor IP mem STOP Stop execution stb. A processzor Vadász,. Ea // Assume a is at address // Assume f is at address CON A, // a=; SAVE A, CON B, // f=; SAVE B, LOAD A, // if a > CON B, COMP A,B JG LOAD B, // f=f*a; A programunk LOAD A, MUL C,A,B SAVE C, LOAD A, // a=a+; CON B, ADD C,A,B SAVE C, JUMP // loop back to if STOP a=; f=; while (a <= ) { f = f * a; a = a + ; } A processzor Vadász,. Ea Az utasításkészlet A CPU architektúra specifikálja a készletet Egy instrukció: Kód Címrész Címrész Több címzési mód lehetséges direkt és indirekt memória címzés, direkt regiszter címzés, indirekt regiszter címzés, Normális, továbbá pre/post auto de/inkremens címzések, relatív címzés, közvetlen címzés. A kétoperandusú instrukció típusok az operandusok szerint Register-to-register ( olcsóbb ) Register-to-memory ( drágább ) Register-to-I/O A memória címek logikai címek. Az MMU segíti a fizikai címre való leképzést. A processzor Vadász,. Ea Címzési módok Direkt memória címzés CIMRÉSZ memória rekesz operandus Indirekt memória címzés CIMRÉSZ memória rekesz operandus címe operandus Direkt regiszter címzés CIMRÉSZ regiszter operandus Indirekt regiszter címzés CIMRÉSZ regiszter operandus címe operandus [++ --]SP regiszter[++ --] operandus címe operandus Relatív címzés CIMRÉSZ regiszter,eltolás operandus címe + eltolás operandus Közvetlen címzés CÍMRÉSZ operandus A processzor Vadász,. Ea
Instrukció csoportok Aritmetikai és logikai instrukciók ADD SUB MUL DIV AND OR XOR NOT NEG COMPL TEST COMPARE Bitléptetések forgatások, inkrementáció, dekrementáció SHIFT SLL SLR SLA SRA RCL RCR ROL ROR INC DEC További instrukció csoportok Adatmozgató instrukciók LOAD STORE LB LW SB SW... MOVE IN OUT Veremkezelő instrukciók PUSH POP PUSHALL POPALL A processzor Vadász,. Ea A processzor Vadász,. Ea További csoportok Ugrások, elágazások Feltétel nélküli: JUMP BRANCH Feltételes: J(felt): JZ JS JC... BZ BS BC... És még további csoportok Ciklusszervező instrukciók LOOP REP Hívások, visszatérések, processz-kapcsolás CALL RET IT IRET BREAK WAIT NOP PMTSW Társprocesszor instrukciók FINIT FLD FST FADD FSUB FMUL... FWAIT A processzor Vadász,. Ea A processzor Vadász,. Ea A verem, veremkezelő instrukciók Veremtár A verem (stack) absztrakt adatszerkezet, de a mai processzorok támogatják egy megvalósításukat. Ma a központi memória szegmensein. A MOVE instrukciók is kezelhetik: sérülnek az absztrakt peremfeltételek. Nézzük az ábrát! Ebben a PUSH/POP hatását, az SP változását! full SP empty PUSH X full SP empty POP X full SP empty A processzor Vadász,. Ea A processzor Vadász,. Ea
Az MMU Memoria Management feladatai Segíteni a logikai-fizikai címleképzést, címaritmetika a hardverben, szorosan együttműködve az OS-sel. néha TLB-t használva. segíteni a memóriavédelmet. Együttműködni a buszvezérlővel. Igazán csak az OS memóriamenedzseléssel együtt érthető, ezért halasztjuk... Ismét említjük: a memória elérés a gyorsítótárakon keresztül történik A processzorok működési módjai Legalább két módot elvárunk (sokszor több is) normál (user) mód, védett (kernel) mód. Privilegizáltabb. Az egyre privilegizáltabb módokban: szélesebb az instrukciókészlet, szélesebb a címtartomány. A módváltás: a trap. OS vezérelt feladat. Mindig nyilvántartott az aktuális mód. A processzor Vadász,. Ea A processzor Vadász,. Ea Híres processzorok Pentium II, III, Celeron, Xeon, IV Itanium AMD Opteron, Turion, Athlon MIPS R,,,, DEC Alpha,, A, IBM RS II, Power, Power-II, Power HP PA-RISC, SUN Sparc, SuperSPARC, UltraSPARC IV A processzor Vadász,. Ea Name Pentium Pentium II Pentium III Pentium mikroprocesszor történelem Transistors,,,,,,,,,,,, Microns..... Clock speed MHz MHz MHz MHz MHz MHz MHz MHz Data width bits bits -bit bus bits bits bits bits -bit bus bits -bit bus bits -bit bus MIPS.. ~ ~ bits,,.. GHz ~, -bit bus A processzor Vadász,. Ea A CPU teljesítmény mérése A CPU ciklusok. Miért? A ciklusidő. Egy gépi instrukció végrehajtására,, néhányszáz ciklus kellhet. IA példák. A működési frekvencia növelése csökkenti a ciklusidőt. Hol a határ? Technológiafüggés. idő-per-feladat = C * T * I ahol: C az utasításokra eső ciklusok száma, T a ciklus ideje, I a feladatra eső utasítások száma. A MIPS teljesítménymérés Millió instrukció per szekundum: MIPS MIPS i = /(T * C i ) ahol i az i-edik instrukció. De melyik? Nagy eltérések a szükséges ciklusok számában! Egyszerű ugyan, de sohasem írunk csakis i-edik instrukciókból álló programot. Lehet súlyozott átlagot adni, de mi legyen a súlyozás? A processzor Vadász,. Ea A processzor Vadász,. Ea
A szabványos terhelésosztályok Adott típusú (integrális aritmetikai, lebegőpontos aritmetikai, grafikus, tranzakciós stb.) feladathoz terhelőprogramok (benchmark), és azt futtatva mérnek, azt statisztikázva súlyoznak. Különböző terhelésosztályok és metrikák Whetstone, Livermore Loops, Dhrystone, Linpack benchmarkok. TPC Benchmark A SPEC A processzor Vadász,. Ea SPEC: Standard Performance Evaluation -ben alapították. Nonprofit szervezet. SPEC_ratio, VAX- a viszonyító gép -től: SPECint: normalizált integer teszt geom. átl. SPECfp: normalizált lebegőpontos teszt g. átl. -től (viszonyító: SPARCstation /) CINT CFP -től CINT ( teszt, metrika) CFP ( tesz, metrika) A processzor Vadász,. Ea SPEC CPU Viszonyító gép: Sun UltraSparc II., MHz CINT ( teszt, metrika) szövet SPECint SPECint_base SPECint_rate SPECint_rate_base CFP ( teszt, metrika) szövet SPECfp SPECfp_base SPECfp_rate SPECfp_rate_base A processzor Vadász,. Ea A metrikák A sebesség metrikák (nincs rate ): egy processzoros gépek összevetésére. (A teszt mennyi idő alatt fut le.) (név nélkül, peak): agresszív optimalizáló fordítókkal base: konzervatív fordítás Átbocsátó képesség (throughput) metrikák (rate): sokprocesszoros gépek összehasonlítására. (A tesztet sok példányban futtatják, és mérik, hogy időegység alatt hány példány fut le.) (név nélkül, peak): agresszív optimalizáló fordítókkal base: konzervatív fordítás A processzor Vadász,. Ea SPECint, SPECfp IDEAS Top Performers AI, go játék MotoK chip szimul. CC verzió kompesszáló-dekompr. LISP interpreter jpeg graf kompressdekompr AB kezelő végeselem hálógeneráló hullámzó víz modell (* griden) Monte Carlo szimuláció hidrodinamikai egyenletek D feszülts. mező számítás parciális diff. egy. megoldás szimulált turbulencia számítás meteorológiai modell quantum kémiai probléma plazmafizikai probléma IDEAS Top Performers - SPECint http://www.ideasinternational.com/ Benchmark menüpont, SPEC almenüpont... A processzor Vadász,. Ea A processzor Vadász,. Ea
. április. március A processzor Vadász,. Ea A processzor Vadász,. Ea R A N K IDEAS Top Performers - SPECint # C Processor P U. március Re Ba Su se lt line Test R IDEAS Top Performers - SPECint () # Processzor Precision WorkStation (. Pentium ( MHz system bus) GHz P) Result Basee IBM IBM eserver pseries Turbo Precision WorkStation (. GHz P) Precision WorkStation (. GHz Xeon) Precision WorkStation (. GHz P) Precision WorkStation (. GHz Xeon) DMD motherboard (. GHz, Pentium processor) Precision WorkStation (.A GHz P) Precision WorkStation (. GHz Xeon) POWER Pentium Xeon Pentium Xeon Pentium processor (. GHz, MHz bus) Pentium Xeon Jan- Jan- Jan- Jan- Jan- Jan- Corporatio n DEMVR motherboard (. GHz, Pentium processor with HT Technology) Precision WorkStation (. GHz P) Precision WorkStation (. GHz P) Pentium Processor with HT Technology (. GHz, MHz bus) Pentium ( MHz system bus) Pentium ( MHz system bus) Aug- Advanced Micro Devices Advanced Micro Devices Precision WorkStation (.A GHz P) Precision WorkStation (. GHz Xeon) DMD motherboard (.A GHz, Pentium processor) Epox KHA+ Motherboard, AMD Athlon (TM) XP + Epox KHA+ Motherboard, AMD Athlon (TM) XP + Pentium Xeon Pentium processor (.A GHz, MHz bus) AMD Athlon (TM) XP + AMD Athlon (TM) XP + Jan- Jan- Jan- Oct- Corporatio n Fujitsu Siemens C DEMVR motherboard (. GHz, Pentium processor) Precision WorkStation (. GHz P) CELSIUS R Pentium processor (. GHz, MHz bus) Pentium ( MHz system bus) Xeon processor (. GHz, MHz bus) Jul- Feb- Compaq Computer Advanced Micro Devices AlphaServer ES Model / Alpha C Jun- Epox KHA+ Motherboard, AMD Athlon (TM) XP AMD Athlon (TM) XP + Oct- + A processzor Vadász,. Ea Corporatio n Precision WorkStation (. Pentium ( MHz system bus) GHz P) DEMVR motherboard Jul- Pentium processor (. GHz, (. GHz, Pentium A processzor Vadász, MHz. bus) processor) Ea Sep- # IDEAS Top Performers - SPECint ( március) Rank C Processor P U Pentium DPBZ motherboard Processor with HT (AA-)(. GHz, Pentium Technology Extreme Processor with HT Edition (. GHz, Technology Extreme Edition) MHz bus) DPBZ (AA-) Pentium motherboard (. GHz, Processor with HT Pentium processor with HT Technology Extreme Technology Edition (. Extreme Edition) GHz, MHz bus) Precision Workstation Pentium ( (. GHz Pentium Extreme MHz system bus) Edition) Pea k Res ult Basel ine Test Jan- Sep- Feb- IDEAS Top Performers - SPECint ( március) R a Compan # CPU Processor n y k (R) DXECV core, chip, (R) Pentium(R) motherboard(. GHz, core/chip processor Extreme (R) Pentium(R) (Hyper- Edition supporting Corporati processor Extreme Edition Threading Hyper-Threading on supporting Hyper- Technology Technology(. GHz, Threading Technology) enabled) MHz bus) Advanced MSI KN Neo Platinum core, chip, AMD Athlon (TM) FX- Micro Motherboard, AMD Athlon core/chip (ADAFXDEIAS) Devices (TM) FX- Peak Base Dat e Dec - Sep - IBM Precision Workstation (. GHz Xeon, MB L Cache) IBM x(.ghz, MHZ FSB) Precision Workstation (. GHz Pentium Extreme Edition) Xeon ( MHz system bus) Xeon processor Pentium ( MHz system bus) Jan- Feb- Corporati on (R) DXECV motherboard(. GHz, (R) Pentium(R) processor supporting Hyper-Threading Technology) (R) Pentium(R) processor supporting Hyper- Threading Technology (. GHz, MHz bus) core, chip, core/chip (Hyper- Threading Technology enabled) Nov - ION Computer s SRWV (.GHz Xeon processor w. MB L cache) Xeon processor, MHz system bus Feb- Advanced Micro Devices ASUS SKN Motherboard, AMD Opteron (TM) AMD Opteron (TM) A processzor Vadász,. Ea Precision Workstation Pentium ( Jan- ( GHz Pentium ) MHz system bus) A processzor Vadász,. Ea
IDEAS Top Performers - SPECint (. február) Baseline Test #CPU Processor Result. március Advanced Micro Devices ASUS AN-SLI Deluxe, AMD Athlon (TM) FX- core, chip, core/chip AMD Athlon (TM) FX- Jun- Advanced Micro Devices TYAN Tomcat KE (S), AMD Opteron (TM) core, chip, core/chip AMD Opteron (TM) (- pin) Aug- Hewlett- Packard ProLiant DL (AMD Opteron (TM) ) core, chip, core/chip AMD Opteron (TM) Aug- Fujitsu Siemens Computers CELSIUS H, Pentium M core, chip, core/chip Pentium M (. GHz) Jul- A processzor Vadász,. Ea A processzor Vadász,. Ea Rank IDEAS Top Performers - SPECint_rate # Processor CPU Origin X MHz Rk R. március Resu Base Test lt line Ran k IDEAS Top Performers - SPECint_rate ( március) # CPU Processor Result Baseline Test Fujitsu Limited Origin X MHz Rk PRIMEPOWER (MHz) R SPARC GP Sep- Origin X MHz RA R A Aug- Fujitsu Siemens Computers PRIMEPOWER (MHz) SPARC GP Sep- Origin X MHz Rk R Origin X MHz Rk X MHz Rk R R Aug- May- Origin X MHz Rk R Feb- Hewlett Packard HP Superdome -way (MHz PA-) PA- Aug- Origin X MHz Rk R Fujitsu Limited Fujitsu Siemens Computers PRIMEPOWER (MHz) PRIMEPOWER (MHz) Origin X MHz Rk SPARC GP SPARC GP R Sep- Sep- May- Fujitsu Limited Fujitsu Siemens Computers PRIMEPOWER (MHz) PRIMEPOWER (MHz) SPARC GP SPARC GP Sep- Sep- Hewlett Packard X MHz Rk HP Superdome -way (MHz PA- ) R PA- Aug- Mar- Origin X MHz Rk R Aug- Origin X MHz Rk R Jul- X MHz Rk R May- Compaq Computer Hewlett Packard Alpha AlphaServer GS Model / Jun- C HP Superdome -way (MHz PA-) PA- Sep- A processzor Vadász,. Ea Hewlett-Packard Hewlett-Packard PA- HP Superdome -way (MHz PA-+) Jun- + HP Superdome -way A processzor (MHz PA-) Vadász,. PA- Ea Aug- IDEAS Top Performers - SPECint_rate ( március) Ra nk Origin X MHz RA Origin X MHz Rk # CPU Processor RA R Result Baseli ne Test Aug- Compan y Altix Bx (MHz M L, Itanium ) Altix (MHz, Itanium ) # CPU cores, chips, core/chip cores, chips, core/chip Processor Itanium Itanium R B Dat e Nov - Apr - Aug- Hewlett- Packard HP Integrity Superdome -way ( MHz Itanium ) Itanium Altix Bx (MHz, Itanium ) cores, chips, core/chip Itanium Dec - Altix (MHz, Itanium ) Itanium Sep- Origin X MHz RA Origin X MHz Rk RA R Aug - Nov - Altix (MHz, Itanium ) Itanium Dec- Hewlett- Packard HP Integrity Superdome (.GHz/MB Itanium, cells) cores, chips, core/chip Itanium (.GHz/MB, MHz FSB) Jan - Origin X MHz Rk Altix (MHz, Itanium ) Origin X MHz Rk R Itanium R Feb- Jun- IBM IBM eserver p ( MHz, CPU) Altix Bx (MHz M L, Itanium ) cores, chips, cores/chip (SMT on) cores, chips, core/chip POWER Itanium Oct - Oct - A processzor Vadász,. Ea A processzor Vadász,. Ea IDEAS Top Performers - SPECint_rate ( március)
Számítógép architektúrák A processzor VÉGE