I. el®adás, A számítógép belseje
Halácsy Péter, Varga Dániel 2008. október 8.
Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Követelmények
Félévközi jegy feltétele két ZH teljesítése. Ha egy ZH nem sikerült, akkor lehetséges a pótlása. Mindkét ZH-hoz van pótlás. A pótZH körülbelül egy héttel az eredeti után van. NAGYON FONTOS: A pótlási lehet®ség csak egyszer vehet® igénybe a félév alatt. Két fontos tanulság: Ha valaki az els® ZH-n és a pótlásán is megbukik, akkor már negyedévnél eld®lt, hogy nem fogja teljesíteni a félévet. Ha valaki az els® ZH-n megbukott, de a pótlásán átment, akkor neki át kell mennie a 2. reguláris ZH-n a teljesítéshez. Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Követelmények II.
ZH teljesítés feltétele: a pontszám minimum 50%-a. Ponthatárokat a ZH eredmények fényében határozzuk meg. A kérdések általában nem feleletválasztósak, hanem néhány szóval, rövid felsorolással megválaszolható kifejt®s kérdések.
Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Kettes számrendszer
A számítógépek belsejében minden számolás kettes számrendszerben zajlik, bár ezt a tényt a felhasználó el®l általában eltakarják a magasabb szint¶ rétegek. A kettes számrendszerben számolásról az általános iskolában tanultuk: minden olyan, mint tízes számrendszerben, csak itt kétféle számjegy van 0, 1, 10, 11 - mint a tízesnél: ha nincs következ® számjegy, akkor leírok egyet el®re, majd mögé a következ®t. Ahogy 9 után 10 jön.
Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Illusztráció
Egy kézzel nem csak 5-ig lehet elszámolni, hanem 31-ig is.
Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Illusztráció
4
Egy kézzel nem csak 5-ig lehet elszámolni, hanem 31-ig is. 18
Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Átszámítás
Számoljuk át 2-es számrendszerbe mondjuk a 19 számot: 19 = 2 + 2 + 2 = 10011 Tehát a kettes számrendszerben felírás azt jelenti, hogy a számot a kett® hatványainak összegeként kell el®állítanunk. (Ez jóval egyszer¶bb eset, mint a tizes számrendszeré, csak az utóbbit már jobban megszoktuk.) 4
1
Halácsy Péter, Varga Dániel
0
(2)
I. el®adás, A számítógép belseje
Átszámítás II.
Hogyan érdemes ezt az átszámolást csinálni? Jobbról balra haladva: Egy szám kettes számrendszerben 0-ra végz®dik, ha páros, 1-re, ha páratlan. Aztán eloszthatjuk kett®vel, vesszük az egész részét, és az eredmény éppen megmondja, hogy a szám további jegyeihez mit kell átszámolni. Példa: 19 9 4 2 1
| | | | |
1 1 0 0 1
Így éppen megkaptuk a szám kettes számrendszerbeli felírásának jegyeit jobbról balra. Visszafelé leírva: 10011 . (2)
Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Néhány elnevezés
számjegy digit, innen jön a digitális kettes számrendszer bináris tízes számrendszer decimális bit egy bináris számjegy
Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Kettes számrendszer gyakorlatok
Mi a 7 kettes számrendszerben? És a 8?
Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Kettes számrendszer gyakorlatok
Mi a 7 kettes számrendszerben? És a 8? Mi a 14 és mi a 16?
Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Kettes számrendszer gyakorlatok
Mi a 7 kettes számrendszerben? És a 8? Mi a 14 és mi a 16? Mi az 128 kettes számrendszerben? 7,8,9,10,20 biten mekkora számot tudunk leírni?
Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Kettes számrendszer gyakorlatok
Mi a 7 kettes számrendszerben? És a 8? Mi a 14 és mi a 16? Mi az 128 kettes számrendszerben? 7,8,9,10,20 biten mekkora számot tudunk leírni?
Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Kettes számrendszer gyakorlatok
Mi a 7 kettes számrendszerben? És a 8? Mi a 14 és mi a 16? Mi az 128 kettes számrendszerben? 7,8,9,10,20 biten mekkora számot tudunk leírni? 45 átváltva?
Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Kettes számrendszer gyakorlatok
Mi a 7 kettes számrendszerben? És a 8? Mi a 14 és mi a 16? Mi az 128 kettes számrendszerben? 7,8,9,10,20 biten mekkora számot tudunk leírni? 45 átváltva? 64 + 45 átváltva?
Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Kettes számrendszer gyakorlatok
Mi a 7 kettes számrendszerben? És a 8? Mi a 14 és mi a 16? Mi az 128 kettes számrendszerben? 7,8,9,10,20 biten mekkora számot tudunk leírni? 45 átváltva? 64 + 45 átváltva? Hogyan írjuk le gyorsan az els® 15 számot kettes számrendszerben? Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Összeadás
Megint csak egy emlékeztet®nyi: A kettes számrendszerben éppen úgy adhatunk össze írásban, mint a tizesben, jobbról balra haladva, átvitelt gyelve. De az átvitel nem lehet más, csak nulla vagy egy. 0+0=0 1+0=1 0+1=1 1 + 1 = 10 vagy másképp 1 + 1 = 0 marad az 1 Példa: 0101101011 +0010110011 ___________ 1000011110 Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Összeadás II.
Két szám összeadásakor a maradék 0 v. 1 Minden digitnél igazából három számjegyet adunk össze. (Mint decimális esetben.) Feladat 1111 + 1 =? Le tudnák algoritmussal írni az összeadást? Logikai kifejezéssel a maradékot?
Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Mindeközben alacsonyabb szinten
Mi történik egy program futása közben a számítógép belsejében? A számítógép két legfontosabb alkatrésze a központi feldolgozóegység (CPU, Central Processing Unit) röviden processzor, és a központi memória (RAM, Random Access Memory). Most ezeket ismerjük meg.
Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Központi memória, bit, bájt
A központi memória egy tárolóegység, amelynek rekeszeibe a számítógép mindenfélét írhat. Mit tárolhat? Legalacsonyabb szinten egy memória nullák és egyesek sorozatát tárolja. Egy ilyen kettes számrendszerbeli számjegyet bitnek nevezünk. De a számítógép ezeket csoportokba szervezi. 8 bit alkot egy bájtot. Egy bájt kettes számrendszerben értelmezve egy 0 és 255 közötti szám tárolására alkalmas. (2 = 256) A számítógép (pontosabban a processzor) meg tudja kérdezni a memóriától, hogy milyen érték áll az ennyi-és-ennyiedik bájtján. 8
Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Megjegyzés
Miért pont 8 bit alkot egységet? Tulajdonképpen történelmi okokból. 8 bittel 256-féle különböz® dolgot jelölhetünk meg, és ez elég a kis- és nagy latin bet¶k, írásjelek és számok tárolásához. Ehhez az egyes bet¶khöz 0 és 255 közötti számokat rendelünk. Err®l az adatformátumok témája kapcsán részletesen beszélünk majd. A 8 bit mint címzési egység egyre kisebb jelent®séggel bír: A modern számítógépek központi egységei egyszerre 32/64 vagy több bitet is le tudnak kérni a memóriától, és 32/64 vagy több bites számokon is elvégeznek alapm¶veleteket. Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
kilobájt, megabájt
A bájt ma már els®sorban az információ mennyiségének standard mértékegységeként fontos. Nagyobb egységek: kilobájt = 1024 bájt, kereken 10 bájt megabájt = 1048576 bájt, kereken 10 bájt gigabájt = 1073741824 bájt, kereken 10 bájt terabájt = ...kereken 10 bájt petabájt = ...kereken 10 bájt 3
6
9
12
15
Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Számábrázolás
Az egész számokat a programok leggyakrabban négy egymás utáni bájton tárolják. Ennyi helyen 2 -féle számot tudunk eltárolni, és ennél nagyobb egész számokkal ritkán szoktunk találkozni. Ha a programunkban az áll, hogy int n=20;, akkor ennek a végrehajtásakor a számítógép valahol a memóriában négy egymás utáni bájtra az alábbi bitsorozatot írja: 00000000 00000000 00000000 00010100. 32
Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Kvantálás
A bájtokról a felhasználóknak elvileg nem is igen kellene tudnia azon túl, hogy az adataink mennyiségét bájtokban mérjük. Némely ponton mégis beszivárognak az életünkbe, mert ha valamit egy bájton tárolunk, akkor az mindenképpen csak 256-féle különböz® értéket vehet fel. A monitor 256-féle sötétségi értéket ismer. A .gif kiterjesztés¶ képeken 256-féle különböz® szín lehet egyszerre. (paletta) Az audio CD két bájton tárolja a jeleket, azaz 256 ∗ 256 = 65536 különböz® jeler®sséget kezel. Ez kevés ahhoz, hogy egy cédén egymás után nagyon halk és nagyon hangos hangok is h¶en tárolhatóak legyenek. (Az ember számára feldolgozható leghangosabb és leghalkabb hang ereje között ennél jóval nagyobb az arány.) Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Túlcsordulás
...Ráadásul ha egy program ezt a korlátot nem veszi tekintetbe, az súlyos hibák forrása lehet. Például ha a memória egy bájtjában 255 áll, és a program ezt megpróbálja eggyel megnövelni, akkor ott eredményül 0 áll az elvárt 256 helyett. Ezt túlcsordulásnak nevezzük. A Windows régebbi változatai állítólag 49 napi bekapcsolás után lefagytak. Addigra számolt el a Windows ezredmásodpercenként egyesével 256 -ig, a legnagyobb számig, ameddig négy bájtot használva el lehet számolni túlcsordulás nélkül. 4
Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Végrehajtás
Egy program utasítások sorozata. Fontos megértenünk, hogy a program maga is a memóriában foglal helyet. A számítógép szempontjából az utasítás is csak egyfajta adat. Ahogy a bájtok néha számként, néha bet¶ként értelmezhet®ek, ugyanúgy lehetnek értelmezhet®ek utasításként is.
Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Végrehajtás II.
A mai processzorok ilyen utasításokat olvasnak ki a memóriából, és egyenként végrehajtják azokat. Az egyes utasítások végrehajtása memóriarekeszek manipulációjából áll. Példák: "A 100-as bájtra másold át a 200-as bájt tartalmát." "A 100-as bájt tartalmát növeld meg eggyel." "A 200-as bájt tartalmát szorozd meg kett®vel, tekintet nélkül az esetleges túlcsordulásra."
Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
Vezérlés
Alapesetben a következ® végrehajrandó utasítás mindig az el®z® után áll a memóriában. A számítógépek erejét, rugalmasságát az ún. vezérlési és feltételes vezérlési utasítások adják, amik ezt a sorban haladást megtörik, ugyanúgy, mint a Processingben az if és a while: "Menj át a program végrehajtásával az 1200-as bájtra." "Ha a 100-as bájt nulla, akkor menj át a program végrehajtásával az 1200-as bájtra, egyébként folytasd az 1001-es bájtnál." Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje
A processzorok fajtáiról
Egy processzor fontos jellemz®je, hogy milyen m¶veletekre képes. A ma elterjedt Intel és AMD számítógép-processzorok nagyjából ugyanazt az elterjedt, néhány évenként kib®vített utasításkészletet alkalmazzák, amit x86-nak hívnak. De például a mobiltelefonok vagy játékkonzolok processzorainak már nem x86 az utasításkészlete. Egy processzor másik fontos jellemz®je, hogy másodpercenként hány m¶velet végrehajtására képes. Ennek mértékegysége az órajel. Egy (2007-ben tipikus) 2.4 GHz-es órajel¶ processzor 2.4 milliárd elemi m¶veletet végez másodpercenként. Halácsy Péter, Varga Dániel
I. el®adás, A számítógép belseje