pc-k És perifériák

11
Informatika alapjai-7 A számítógép felépítése II 1/11 Számítógép és perifériák A számítógép a ki/bemeneti egységen keresztül áll kapcsolatban a környezetével. Példánkban egy nyomtatót és egy billentyűzetet kapcsolunk a számítógéphez: A számítógép kétféleképpen vezérelheti a perifériákat: - Programozottan: A számítógépnek a belső utasításokon kívül I/O utasításai is vannak: Out (cím): a megcímzett perifériának parancsot és/vagy információt küld az információ lehet adat, pl. „nyomtass egy adott kódú karaktert” vezérlés, pl. „mostantól pirosan nyomtass” A kettő nem feltétlenül különül el, pl. „kezdj új sort vagy új lapot” parancs nyomtatási kódként szokott kimenni. In (cím): a megcímzett perifériától információt olvas be. A beolvasott információ kétféle lehet: a periféria állapotára vonatkozó: o a periféria kész (pl. klaviatúrán leütöttek egy gombot, a kódot lehet olvasni) o a periféria foglalt (pl. nyomtatón elindítottak egy nyomtatást, és még nem ért véget – nem lehet új nyomtatást indítani) Adat, például a leütött karakter kódja. - Megszakítással: ha a periféria azt szeretné, hogy a számítógép foglalkozzon vele, megszakítást kér, erre a futó program félbeszakadhat, és a program a perifériával kezd foglalkozni. A programozott működést csak a számítógép által kiadott utasítások vezérlik, a megszakítást a perifériák és a számítógép közötti hardver vezérli. Periféria programozott működtetése Karaktersorozat (szöveg) nyomtatása egy periférián:

Upload: mudbox

Post on 16-Dec-2015

249 views

Category:

Documents


0 download

DESCRIPTION

PC Build, Perifériák

TRANSCRIPT

  • Informatika alapjai-7 A szmtgp felptse II 1/11

    Szmtgp s perifrik A szmtgp a ki/bemeneti egysgen keresztl ll kapcsolatban a krnyezetvel. Pldnkban egy nyomtatt s egy billentyzetet kapcsolunk a szmtgphez:

    A szmtgp ktflekppen vezrelheti a perifrikat:

    - Programozottan:

    A szmtgpnek a bels utastsokon kvl I/O utastsai is vannak:

    Out (cm): a megcmzett perifrinak parancsot s/vagy informcit kld

    az informci lehet adat, pl. nyomtass egy adott kd karaktert

    vezrls, pl. mostantl pirosan nyomtass

    A kett nem felttlenl klnl el, pl. kezdj j sort vagy j lapot parancs nyomtatsi kdknt szokott kimenni.

    In (cm): a megcmzett perifritl informcit olvas be. A beolvasott informci ktfle lehet:

    a perifria llapotra vonatkoz:

    o a perifria ksz (pl. klaviatrn letttek egy gombot, a kdot lehet olvasni)

    o a perifria foglalt (pl. nyomtatn elindtottak egy nyomtatst, s mg nem rt vget nem lehet j nyomtatst indtani)

    Adat, pldul a lettt karakter kdja.

    - Megszaktssal:

    ha a perifria azt szeretn, hogy a szmtgp foglalkozzon vele, megszaktst kr, erre a fut program flbeszakadhat, s a program a perifrival kezd foglalkozni.

    A programozott mkdst csak a szmtgp ltal kiadott utastsok vezrlik, a megszaktst a perifrik s a szmtgp kztti hardver vezrli.

    Perifria programozott mkdtetse Karaktersorozat (szveg) nyomtatsa egy perifrin:

  • Informatika alapjai-7 A szmtgp felptse II 2/11

    A feladat: a memriban tallhat karakter sorozat nyomtatsa

    Ehhez a memriban tallhat karaktereket egyms utn ki kell kldeni a nyomtatba. A nyomtats a szmtgp sebessghez kpest nagyon lassan trtnik (pldul 0,01s = 10ms/karakter), ezrt a kvetkez karakter nyomtatsa eltt meg kell vrnunk, hogy az elz nyomtats befejezdjn. A balodali program folyamatbra megvalstshoz kt I/O utasts szksges: IN (Nyomtat sttusz) A szmtgp beolvassa a nyomtat llapott, amelyben benne van az, hogy a nyomtat ksz-e mg egy sor informci lehet benne, pldul, hogy van-e papr a nyomtatban (eezel most nem foglalkozunk) OUT (karakter)

    A szmtgp kikldi a nyomtatand karakter kdjt, s nyomtatst indt. Ltszik, hogy a nyomtats a szmtgpet 100%-ban lekti, mert folyamatosan figyelni kell, hogy mikor kldhet a kvetkez karakter. A figyels alatt a szmtgp semmi hasznosat nem csinl, pldul foglalkozhatna egy msik feladattal!

    Erre szolgl a megszakts: a szmtgp a nyomtats megindtsa utn msik feladatba kezd, majd amikor a perifria elkszl a nyomtatssal, flbeszaktja azt, megindtja a kvetkez nyomtatst, majd visszatr a megszaktott mkdsre.

    Megszakts A szmtgp kpes arra, hogy a perifri(k)bl jv jelzs hatsra megszaktsa a fut programot, s egy msik programot kezdjen el, majd vissza tudjon trni az eredeti feladatra. Tbb perifria is lehet, mi felttelezzk, hogy a szmtgphez egy nyomtat, s egy klaviatra van kapcsolva, mindkett krhet megszaktst. Nyilvn a nyomtat megszakits krsekor a kvetkez karakter nyomtatst kell indtani (ha van), a klaviatra megszakts krsekor pedig be kell olvasni a lettt billenty kdjt. Tbbfle megszaktsi rendszer van, mi csak a legegyszerbbel foglakozunk: - brki kr megszaktst, ugyanaz a program indul, amelyik elszr megkeresi, hogy ki krte a megszaktst (ezt egyszer megszaktsnak nevezik) - ha egy megszakts kiszolglsa folyik, azt msik megszakts nem szakthatja meg (ezt egyszint megszaktsnak nevezik).

  • Informatika alapjai-7 A szmtgp felptse II 3/11

    A megszaktshoz a kvetkez ramkrre van szksg:

    A megszakts kezels elemei:

    o A CPU-ban (szmtgp kzponti egysg) van egy megszakts engedlyez Flip-flop, melyet az EI (Enable Interrupt) utastssal lehet berni, a DI (Disable Interrupt) utastssal trlni)

    o a perifrik kezelshez kt tovbbi utasts kell: OUT (Elfogads1) Ez trli a nyomtat ksz jelzst OUT (Elfogads2) Ez trli a klaviatura ksz jelzst

    o Ha a megszakts engedlyezve van S a nyomtat ksz VAGY a klaviatura ksz, bels megszakts krs keletkezik.

    A megszakts krs kezelse (a kvetkez szablyok szerinti mkdst a CPU hardware hajtja vgre!):

    o Trldik a megszakts engedlyezs flip-flop ezrt nem fogad el jabb megszaktst a CPU

    o A CPU a Stack-ben menti a PC rtkt, ugyangy, mint egy CALL utastsnl ezrt majd RET utastssal lehet a megszaktsi programbl visszatrni.

    o A PC-be berdik a megszaktsi program fix kezdcme (pldul a 0004h cm) - ezrt egyszer a megszaktsi rendszer, gy elindul a megszakts kiszolglsa.

    (A megszakts kezel program a kvetkez oldalon ltszik.) o A megszakts elfogadsa utn a regisztereket menteni kell, mert azokat a megszakts

    kiszolgls is hasznlja, s visszatrs utn a programot pontosan gy kell folytatni, mintha meg sem szaktottk volna.

    o a program megkeresi a megszaktst kr eszkzt, s kiszolglja azt. Ha nem tall ilyet, az hiba!

    o Ha a nyomtat kszlt el, csak akkor indtunk jabb nyomtatst, ha mg tart a szveg. Ha vge van, csak a krst trljk.

    o A program trli annak a perifrinak a ksz jelzst, amelyet kiszolglt. o A visszatrshez:

    Visszalltjuk a regisztereket (ahogy mr rtuk, fordtott sorrendben kell a POP utastsokat alkalmazni, mint a PUS-okat).

    Engedlyezzk a megszaktst, mert klnben a CPU nem fogad el tbb megszaktst.

    A RET utastssal visszatrnk a megszaktott programba amikor a CPU megkezdte a megszakts kiszolglst, a Stack-be mentette a PC rtkt!

  • Informatika alapjai-7 A szmtgp felptse II 4/11

  • Informatika alapjai-7 A szmtgp felptse II 5/11

    Szmtgpek teljestmnynek nvelsre hasznlt eszkzk Csak nhny rdekes megoldst ismertetnk, messze a teljessg ignytl. Cache

    (Angolul ugyangy mondjk, mint a Cash-t [kassza, kszpnz], de jelentse rejtekhely.)

    A szmtgpben a Cache olyan gyors memria, amely a CPU s az operatv memria kztt foglal helyet.

    Ha a CPU a memribl olvas, akkor az olvasott

    memriacm, az olvasott adat s egy minden Cache mveletnl eggyel nvekv sorszm a Cache-ba kerl. Ha legkzelebb a CPU ugyanerrl a cmrl olvas, akkor az adatot nem a memribl, hanem a Cache-bl kapja meg. A Cache sokkal gyorsabb, mint az operatv memria, ezrt a mkds felgyorsul. A mdszer azrt eredmnyes, mert a szmtgp programok gyakran hajtjk vgre ismtelten ugyanazt a programrszt, illetve veszik el tbbszr ugyanazt az adatot. A Cache mkdshez a kvetkez feladatokat kell megoldani:

    o r kell jnni, hogy egy memriacm tartalma benne van-e a Cache-ben. Ezt gynevezett tartalom szerinti kivlasztssal valstjk meg: a Cache azt a rekeszt vlasztja ki, melyben a cm megegyezik a kvnt cmmel. Az gy mkd memrit asszociatv memrinak nevezik.

    o ha a Cache tele van, akkor egy j adat behelyezsekor egy bentlvt el kell dobni. ltalban a legrgebben hasznltat dobjk el. Ezt segti a hasznlati sorszm: a legkisebb sorszmt kell eldobni. (az brn a sorszmok azt mutatjk, hogy a Cache 1., 2., 3., 4. cmre kerlt tartalom, majd a CPU a 2. Cahche cmet jra olvasta. Ha most j memria tartalmat runk a Cahce-be, az az 1. cmre fog kerlni, s hasznlati sorszma 6 lesz.)

    o Ha a CPU a memriba r, akkor ezt egyrszt a Cache-be, msrszt a memriba is be kell rni, de a CPU-nak nem kell megvrnia a Memriba trtn rs vgt.

    Ha az adat benne van a Cache-ben, azt Hit-nek (tallat), ha nincs, Miss-nek (cltveszts) nevezik.

    A PC-ben hasznlt processzorokban nagymret Cache-ek vannak, az elmondottnl sokkal bonyolultabb szervezsek: a Cache ktszint, az els szint viszonylag kicsi [Pentium III Coppermine (0.18 m): L1-Cache: 16 + 16 KB (Adatok + Utastsok), L2-Cache: 256 KB. Amint az elzekbl ltszik, az utastsok s adatok kln Cache-be kerlnek.

    CPU

    Cache

    Operatvmemria

    Memriacm

    AdatHasznlatisorszm1 120h A7h

    5 201h 23h3 070h 15h

    4 121h 7Ch

  • Informatika alapjai-7 A szmtgp felptse II 6/11

    PipeLine s prhuzamosts

    A feladat az

    kN

    N

    k

    kn xhy

    1

    0

    szorzatsszeg kiszmtsa (ez az u.n. FIR digitlis szr kplete).

    Ismtelten el kell venni kt memriatartalmat (hk s xN-k), ezeket sszeszorozni, s hozzadni az eddigi sszeghez. A feladatot a kvetkez brn lthat blokksmval oldjuk meg:

    A hk egytthatkat tegyk az A memriba, az xN-k egytthatkat a B memriba. Ttelezzk fel, hogy a kvetkez mveletek mindegyike egy tem alatt hajthat vgre:

    o hk s xN-k elvtele a memribl ha ezt egyszerre lehet elvgezni, ez tipikus prhuzamosts, melynek alapja az, hogy a memrit ktfel osztottuk

    o a szorzs vgrehajtsa o az sszeads vgrehajtsa, melynek eredmnye az akkumultorba kerl. Ttelezzk fel, hogy a felsorolt mveletek prhuzamosan hajthatk vgre. Ekkor a kvetkez tblzatban brzolt mkds valsthat meg:

    tem Elvtel a memribl Szorzs sszeads

    1 h0, xN - -

    2 h1, xN-1 h0, xN -

    3 h2, xN-2 h1, xN-1 h0, xN

    4 h3, xN-3 h2, xN-2 h1, xN-1

    5 - h3, xN-3 h2, xN-2

    6 - - h3, xN-3

    Ltszik, hogy az adatprt elvev processzor tovbbadja az adatprt a szorz processzornak, s mialatt az szoroz, elveszi a memribl a msodik prt. Ugyanez igaz a szorz s sszead kztt is. gy a feldolgozsi sebessg 1 adatpr/tem, ami hromszor olyan gyors, mintha az adatpronknt 3 mveletet egyms utn hajtannk vgre. A lert szervezs a pipe line (csvezetk), amit inkbb futszalag-ra rdemes fordtani. A vzolt mkdst elssorban jelfeldolgoz processzorokban alkalmazzk. Ltszik, hogy a ciklus elejn s vgn nem teljes a prhuzamossg, meg kell vrni, mig a pipe line a ciklus elejn feltltdik, illetve a ciklus vgn kifolyik. Ezrt a pipe-line elrendezs olyan feladatoknl hatsos, ahol sok adaton kell ugyanazt a mveletsort vgrehajtani. Ilyen pldul a kpfeldolgozs is.

  • Informatika alapjai-7 A szmtgp felptse II 7/11

    Tbbmagos CPU

    2005. mjusban jelent meg a ktmagos AMD Opteron 875, 2005. novemberben a ktmagos Intel Xeon MP.

    A ktmagos processzorok teljestmnye dupla akkora lehet, mint az egymagos, de ennek felttele az, hogy a gpben tnylegesen kt szl fusson prhuzamosan. (Az Opteron 875 teljestmnye egy szl futsakor kisebb, mint az egymagos Opteron 852-, mert rajele 2,2 GHz az egymagos processzor 2,6 GHz-vel szemben.) [Szlaknak nevezik egy programon bell, vagy tbb programban a prhuzamosan fut feladatokat, pldul egy jtkprogram s vele prhuzamosan egy internet letlts fut]

  • Informatika alapjai-7 A szmtgp felptse II 8/11

    Szuperszmtgpek A szuperszmtgpek egy-egy idszakban a szmtstechnika cscst jelentik, teljestmnyk az ltalban hasznlt szmtgpek sokszorosa. A teljestmnyt ltalban FLOP-ban, illetve ennek tbbszrsben mrik.

    1 Flop = 1 lebegpontos mvelet/s.

    1 MFlop 1 GFlop 1 TFlop 1 Pflop 1 Eflop

    Mega Giga Terra Peta Exa

    106 Flop 10

    9 Flop 10

    12 Flop 10

    15 Flop 10

    18 Flop

    11 sor nknyesen kiragadva a szuperszmtgpek trtnetbl:

    1976 Cray-1 250 MFlop

    1985 Cray-2 3.9 GFlop

    2004 IBM Blue

    Gene/L

    70.72 TFLOPS DoE/IBM Rochester, Minnesota, USA

    2005 136.8 TFLOPS DoE/U.S. National Nuclear Security

    Administration,

    Lawrence Livermore National Laboratory,

    California, USA

    280.6 TFLOPS

    2007 478.2 TFLOPS

    2008 IBM Roadrunner 1.026 PFLOPS DoE-Los Alamos National Laboratory, New

    Mexico, USA 1.105 PFLOPS

    2009 Cray Jaguar 1.759 PFLOPS DoE-Oak Ridge National Laboratory, Tennessee,

    USA

    2010 Tianhe-1A 2.566PFLOPS National Supercomputing Center of Tianjin

    China, 2010

    2011 Fujitsu K

    computer 10.51 PFLOPS Kobe, Japan

    2012 IBM Sequoia 16.32 PFLOPS Livermore, USA

    2012 Cray Titan 17.59 PFLOPS Oak Ridge, USA

    (A Blue Gene/L-ben a 478.2 TFlop-os vltozatban 131,072 processzor mag van, melyhez nagyon hasonlt hasznlnak sok kzepes teljestmny szmtgpben is (PowerPC 440). 2007. junius 16: Blue Gene/P - 294,912 processzor mag.)

    A Tianhe-1A 14,336 Intel Xeon CPU-t s 7,168 Nvidia Tesla M2050 GPU-t tartalmaz, egy j, a knaiak ltal fejlesztett sszektsi technikval, melynek tviteli kapacitsa az Infiniband sebessgnek ktszerese. A Tianhe-1A 103 szekrny helyet foglal, slya 155 tonna,s fogyasztsa 4.04 megawatt.[

    30 v alatt a teljestmny kb. milliszorosra ntt, 2012-re hetvenmilliszorosra.

    A mostani PC-k teljestmny cscsa nhny Gflop, a 80-as vek elejn a szuperszmtgpek teljestmnye volt ekkora!

  • Informatika alapjai-7 A szmtgp felptse II 9/11

    Cray 2 Blue Gene/L

    CRAY TITAN

    Active Became operational October 29, 2012

    Sponsors US DOE and NOAA (

  • Informatika alapjai-7 A szmtgp felptse II 10/11

    Grid Computing

    2007: Ahogyan a Web az Interneten trtn informci eloszts eszkze, a GRID olyan szolgltats, amely a szmtgpek teljestkpessgt s adattrol kpessgt osztja szt az Interneten keresztl. A GRID jval tlmutat a szmtgpek kztti egyszer kommunikcin, s vgs clja az, hogy a szmtgpek globlis hlzata hatalmas szmtstechnikai erforrsknt legyen hasznlhat.

    2011: A leggyorsabb kvzi szuperszmtgpek Ezek grid struktrban mkd projektek:

    BOINC 5 PFLOPS 2010. mrcius 7,29 PFLOPS 2012. december

    Folding@Home 5,13 PFLOPS 2013. februr

    Mire j a szuperszmtgp? Extrm nagy szmtsi igny feladatok gyors megoldsra.

    Decade Uses and computer involved

    1970s Weather forecasting, aerodynamic research (Cray-1).

    1980s Probabilistic analysis, radiation shielding modeling (CDC Cyber).

    1990s Brute force code breaking (EFF DES cracker),

    2000s 3D nuclear test simulations as a substitute for legal conduct Nuclear Proliferation

    Treaty (ASCI Q).

    2010s Molecular Dynamics Simulation (Tianhe-1A)

    Pldul: meteorolgiai szimulci (elrejelzs)

    A mdszer: a lgkr felosztsa vges trfogat cellkra, s az ezek kztti valamint kls hatsra ltrejv vltozsok idbeni szimulcija.

  • Informatika alapjai-7 A szmtgp felptse II 11/11

    (Wikipedia Numerical Weather Prediction)

    Models use systems of differential equations based on the laws of physics, fluid motion, and

    chemistry, and use a coordinate system which divides the planet into a 3D grid. Winds, heat

    transfer, solar radiation, relative humidity, and surface hydrology are calculated within each

    grid cell, and the interactions with neighboring cells are used to calculate atmospheric

    properties in the future.

    A kvetkez fejtegets spekulci mert nem talltam hozz adatokat: Osszuk a lgkrt 1km x 1km x 0.2km-es cellkra 10 km magassgig. Ez km2-enknt 50 cella. A fld felszne 510 milli km2. Ez 510e6 * 50 = 25,500,000,000 = 25,5 * 10

    9 cella.

    A szmts peridusa legyen 0,1 ra, egy napra 240 jraszmols. Egy cella j llapotnak kiszmtsa ignyeljen 10000 mveletet. Ekkor egy napi elrejelzshez 25,5e9 x 240 x 10000 mvelet kell = 61,200,000,000,000,000= 61,2 * 1015 mvelet kell.