Számítógép architektúra (architecture)

Slides:



Advertisements
Hasonló előadás
Alaplap.
Advertisements

A számítógép műszaki, fizikai része
Memória.
A számítógépek generációi
A mikroprocesszor 1. rész.
Az adatábrázolás, adattárolás módja a számítógépekben
Racionális számok számítógépi ábrázolása
3. A programozás eszközei, programozás-technikai alapismeretek
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
Adatbázisrendszerek elméleti alapjai 5. előadás
Bevezetés a Java programozásba
. . Egyszerű sín alapú számítógép (2.1. ábra)
Máté: Orvosi képfeldolgozás1. előadás1. Máté: Orvosi képfeldolgozás1. előadás2 A leképezés fizikai alapjai Fény, fénykép, mikroszkóp Röntgen sugárzás.
előjel nélküli és előjeles egész számok (8, 16, 32, 64 bites).
Ez egy program. De ki tudja végrehajtani?
Csernoch Mária Adatábrázolás Csernoch Mária
Csernoch Mária Adatábrázolás Csernoch Mária
A számítógép történetéről...
Alapfogalmak Hardver:  A számításokat végző fizikai-technikai rendszer (kézzel fogható, fizikai termékek) Szoftver:  Programok, programrendszerek (szellemi.
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ó:
4. Fejezet : Az egész számok (integer) ábrázolása
Az információ és kódolása Kovácsné Lakatos Szilvia
CISC - RISC processzor jellemzők
2 tárolós egyszerű logikai gép vázlata („feltételes elágazás”)
Fuzzy halmazok. 4. előadás2 3 4 Egy hagyományos halmazEgy Fuzzy halmaz.
Történelmi áttekintés (1.4. ábra)
Szám - számrendszer 564,2 = 5* * * *10-1
Egy egyszerű gép vázlata
Egy harmadik generációs gép (az IBM 360) felépítése
Fixpontos, lebegőpontos
Alapfogalmak I. 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.
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.
A számítógép kialakulása
Máté: Architektúrák1. előadás1 Számítógép architektúra (architecture) A felhasználónak látszódó gép: adattípusok, utasítások, szolgáltatások összessége.
Holnap munka-, tűzvédelem számonkérés
A számítógép teljesítménye
Számítógép architektúrák
Mikrokontroller (MCU, mikroC)
Alapismeretek Számítógépes adatábrázolás
Adatábrázolás, kódrendszerek
A számítógép története
Számítógépek története, felépítése összefoglalás
A számítógép története
A Neumann-elvű gépek A Neumann elvek:
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
Számrendszerek kialakulása
Fixpontos, lebegőpontos
Bevezetés az informatikába Farkas János, Barna Róbert
Alapismeretek Számítógépes adatábrázolás
A számítástechnika fejlődése
Információ és társadalom
Ismerkedjünk tovább a számítógéppel
A számítógépek története
Informatika Dr. Herdon Miklós Dr. Fazekasné dr. Kis Mária Magó Zsolt
BIOLÓGUS INFORMATIKA 2008 – 2009 (1. évfolyam/1.félév) 3. Előadás.
Írja fel a tizes számrendszerbeli
A kezdetektől napjainkig Számítógépgenerációk
IT ALAPFOGALMAK HARDVER.
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
Információ.
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)
kialakulása, fejlődése, generációk
Számábrázolás.
Egy egyszerű gép vázlata
Számítógép architektúrák
Történelmi áttekintés (1.4. ábra)
A számítógép működésének alapjai
Előadás másolata:

Számítógép architektúra (architecture) A felhasználónak látszódó gép: adattípusok, utasítások, szolgáltatások összessége. Számítógép-felépítés (organization): a közvetlenül nem szükséges részekkel is foglalkozik. Strukturált felépítés Számítógép - utasítás – programozás: gépi nyelv (kód). Bonyolultabb nyelvek: fordítás vagy értelmezés. 17-20 Máté: Architektúrák 1. előadás

szint Ln nyelv, Mn virtuális gép Az Ln nyelvű programokat vagy az alsóbb szinten futó értelmező hajtja végre, vagy az alsóbb szinten futó fordítóprogram fordítja alsóbb szintre n-1. szint Ln-1 nyelv, Mn-1 virtuális gép . . . 0. szint L0 nyelv, M0 valódi gép Végrehajtja az L0 szintű programot. 1.1. ábra 17-20 Máté: Architektúrák 1. előadás

Gépi, nyelvi szintek (1.2. ábra) Probléma orientált nyelvi szint fordítás (fordító program) Assembly nyelvi szint fordítás (assembler) Operációs rendszer szint részben értelmezés (operációs rendszer) Gépi utasítás szint ha van mikroprogram, akkor értelmezés Mikroarhitektúra szint hardvare 0. Digitális logika szint 20-21 Máté: Architektúrák 1. előadás

Gépi, nyelvi szintek (1.2. ábra) 0: digitális logika szint: kapu (gate), AND, OR, …  1 bites,  több bites memória, regiszter 1: mikroarchitektúra szint: mikroutasítások, mikroprogram - nem minden gépen létezik, de a gépi utasítások végrehajtását gyakran mikroprogram végzi, ekkor ez a szint értelmezi a 2. szintet. Regiszterek, aritmetikai-logikai egység - ALU Adatfolyam - adatút 2: gépi utasítás szint (tényleges gépi utasítások): itt dől el a kompatibilitás kérdése. 20-21 Máté: Architektúrák 1. előadás

----- Eddig: rendszerprogramozók területe ----- 3: operációs rendszer szint: speciális kiegészítők (memóriakezelés, párhuzamos futtatás, …). Általában értelmezés. A szint utasításait az operációs rendszer vagy közvetlenül a 2. szint hajtja végre Az eddigi szintek programjai hosszú számsorozatok (természetesen ma már szimbolikusan készülnek) ----- Eddig: rendszerprogramozók területe ----- 4: assembly nyelvi szint (ezek tényleges nyelvek, fordítás), szimbolikus leírás (A2) 5: probléma orientált nyelvi szint: pascal, C, C++, … , adatbázis kezelők, … 22-23 Máté: Architektúrák 1. előadás

Az utasítások a memóriában vannak tárolva. Gépi utasítás szint Az utasítások a memóriában vannak tárolva. addr) command dest, source1, source2, next addr: az utasítást tartalmazó memóriarekesz címe command (utasítás): az utasítás kódja dest (cél): itt képződik az eredmény source1 (forrás1): a művelet 1. operandusa source2 (forrás2): a művelet 2. operandusa next: a következő végrehajtandó utasítás címe. Legtöbbször az utasítás utáni első rekesz címe, ezért általában nem kell megadni, csak akkor, ha más utasítással folytatódik a program (ugró utasítás). 22-23 Máté: Architektúrák 1. előadás

cím) add dest, souce1, source2 Gépi utasítás szint cím) add dest, souce1, source2 hatására dest fölveszi a source1 + source2 értéket. Ilyenkor természetesen elvész dest régi értéke. Sokszor egyszerűsítik az utasításokat, pl.: cím) add op1, op2 hatására op1 fölveszi az op1 + op2 értéket. További egyszerűsítés: cím) add op hatására A fölveszi az A + op értéket, ahol A egy kitüntetett regiszter (accumulator). 22-23 Máté: Architektúrák 1. előadás

Hardver, szoftver fejlődése Többszintű gépek kialakulása. Kezdetben két szint: digitális logika, utasítások. Mikroprogram (hardver bővítése programozással): Wilkes, 1951. Gyorsan elterjedt. Csúcs: hatvanas, hetvenes évek; nagyon sok új utasítás (*, / , …, ciklusszervezés, megszakítások) - később ezek az utasítások hardverrel is megvalósíthatókká váltak, és úgy gyorsabbak lettek - folyamatosan változó határok. 23-24 , 27-28 Máté: Architektúrák 1. előadás

A hatvanas években készültek először: supervisor, rendszerhívások, Operációs rendszerek A hatvanas években készültek először: supervisor, rendszerhívások, kötegelt (batch) feldolgozás, közvetlen telefonos összeköttetés remote terminálok, időosztás (timesharing). 24-27 Máté: Architektúrák 1. előadás

Történelmi áttekintés (1.4. ábra) 0. generáció: Mechanikus gépek Pascal (1642): összeadás, kivonás (37+25=62) 30-31 Máté: Architektúrák 1. előadás

Számítógép architektúra (architecture) 12 + 7 = 19 Hova lett a 12? 30-31 Máté: Architektúrák 1. előadás

Leibniz (~1700): szorzás, osztás is 21 21*310 = 6510 30-31 6510 310 Máté: Architektúrák 1. előadás

Zuse, 1936: elektromágneses relék használata. Babbage (1834): differencia gép (csak egy programja volt) – különböző táblázatok készítésére volt alkalmas. Összeadás, kivonás, ciklus. Kiírás fémlemezre (nyomtatás a fémlemezről). Babbage: analitikus gép (nem készült el). Programozható: utasítások lyukkártyáról Ada Augusta Lovelace. Egységek: memória (1000 db 50 jegyű szám), malom (+, -, *, /), input, output (lyukkártya). Zuse, 1936: elektromágneses relék használata. Aiken (1944): Babbage nyomán: jelfogós gépet készített (Mark I, később Mark II) 30-31 Máté: Architektúrák 1. előadás

1. generáció: elektroncső (1945-1955). COLOSSUS (Turing, 1943): titkosírások megfejtése - 30 évre titkosítva. ENIAC (Electronic Numerical Integrator and Computer - Mauchley, Eckert, 1943): 18000 cső, 140 KW, 30 tonna, 20 darab 10 decimális jegyes regiszter. 10 cső egy decimális számjegyhez! Dugaszolással programozható. 1946-ig nem sikerült befejezni. Nyári iskola - sok próbálkozás. EDSAC (Wilkes, Cambridge, 1949), EDVAC (1949) → UNISYS. Eckert és Mauchley sikertelenül próbálják találmánynak elfogadtatni. 31-33 Máté: Architektúrák 1. előadás

1.5. ábra. Az eredeti Neumann-gép Neumann János megismerte az ENIAC-ot, és új gépet tervezett: bináris aritmetika, tárolt program. 1.5. ábra. Az eredeti Neumann-gép Memória Vezérlő egység Aritmetikai-logikai egység Akkumulátor Bemenet Kimenet 33-34 Máté: Architektúrák 1. előadás

Legnagyobb 1. generációs: IBM 709 (1958). Szegeden: M3 (1963). Neumann János (1.5. ábra): vezérlő, aritmetikai-logikai egység, memória, input, output. EDSAC: 2-es számrendszer, 4096 szavas memória. 40 bites szavak: előjeles egész, vagy két utasítás. Tárolt program: 8 bites utasításkód, 12 bites cím. Akkumulátor. Nem volt lebegőpontos aritmetika! IBM 701 (1953) 2K 36 bites memória. Legnagyobb 1. generációs: IBM 709 (1958). Szegeden: M3 (1963). 33-34 Máté: Architektúrák 1. előadás

2. generáció: tranzisztor (1955-1965). Tranzisztor feltalálása: 1948, Nobel díj: 1956. Első jelentős tranzisztoros gép: DEC PDP-1 (1961). Teljesítménye fele az IBM 7090-nek (az IBM 709 tranzisztoros változata): 4K 18 bites szó, 5 s ciklusidő, 512x512 display! Ára csak töredéke: 120 000 US$. Több tucat eladott gép. 34-35 Máté: Architektúrák 1. előadás

Magyarországon: KFKI, TPAi. IBM 7090, 7094. Néhány évvel később: PDP-8: omnibusz (általános sín, 1.6. ábra) – 15 000 US$, 50 000 eladott gép. 1.6. ábra. A PDP-8 „omnibus” Magyarországon: KFKI, TPAi. IBM 7090, 7094. CPU Memória Kezelő terminál Lyukszalag B/K Egyéb B/K Omnibus 34-35 Máté: Architektúrák 1. előadás

Első üzlet-orientált gép (1961): IBM 1401 byte-szervezésű memória. Burroughs B5000 (1963), Cél: hatékony ALGOL fordítót lehessen írni! Első szuper-gyors gép (1964): CDC 6600 (tervező: Seymour Cray). Párhuzamos működésre képes egységek, külön az összeadásra, szorzásra, osztásra. Párhuzamos utasítás-végrehajtás. Szegeden: MINSZK 22. 35-36 Máté: Architektúrák 1. előadás

3. generáció: integrált áramkör (1965-1980) 3. generáció: integrált áramkör (1965-1980). Robert Noyce (1958): szilícium alapú integrált áramkör IBM problémája: 7094 és 1401 nem kompatibilis. (1964): IBM 360-as sorozat (1.7 ábra). Később a szocialista országokban R-sorozat. Tulajdonság Model 30 Model 40 Model 50 Model 65 Relatív teljesítmény 1 3,5 10 21 Ciklus idő (ns) 1000 625 500 250 Maximális memória (KB) 64 256 512 Cilusonként elérhető bájt 2 4 16 Adatcsatornák max. száma 3 6 36-38 Máté: Architektúrák 1. előadás

----- Eddig csak számításigényes problémák ----- Emuláció: a sorozat gépein futtathatók az előző típusok programjai (mikroprogramozás). Multiprogramozás (DOS, POWER, OS). 24 bites címtartomány (16 Mbyte). A nyolcvanas évek közepéig elég, akkor áttérés a 32 bites címre. DEC: PDP-11 (1970): 16 bites Magyarországon: TPA70. Nem kompatibilis a PDP-11 -gyel. ----- Eddig csak számításigényes problémák ----- 36-38 Máté: Architektúrák 1. előadás

CP/M operációsrendszer, Commodore, Apple, Spectrum-80. 4. generáció: VLSI (Very Large Scale Integration) (1980- ). Néhány millió elem egy lapkán (chipen). Személyi számítógépek. Kezdetben zacskóban: nyomtatott áramköri lap, IC-k, köztük általában INTEL 8080, kábelek, tápegység, hajlékony lemez CP/M operációsrendszer, Commodore, Apple, Spectrum-80. IBM PC (I-8088 alapú) a terveket publikálták - klónok. Microsoft: MS-DOS, OS/2, Windows. … 38-39 Máté: Architektúrák 1. előadás

Technológiai fejlődés Moore törvény (1965): Az egy lapkán elhelyezhető elemek száma másfél évenként duplázódik (1.8. ábra). Azt várják, hogy 2020-ig teljesülni fog. Minden más területen (lemezek, adatátvitel, ...) hasonló sebességű a fejlődés. A szoftverek mérete, bonyolultsága is követi ezt: Nathan első törvénye: A szoftver gáz: kitölti a rendelkezésére álló teret. 40-43 Máté: Architektúrák 1. előadás

Technológiai fejlődés A népszerűsítő irodalom kedvenc hasonlata szerint, ha az autóipar az utóbbi hetven évben úgy haladt volna, mint a számítástechnika, egy Rolls-Royce-t 20 $-ért lehetne kapni, motorja gyufafej nagyságú lenne, sebessége 100 000 km/h és egymillió kilométeren 3 liter benzint fogyasztana (Vámos Tibor) 40-43 Máté: Architektúrák 1. előadás

1.9. ábra. A mai (1999) számítógép típusok választéka Ár (US $) Felhasználható például Eldobható 1 Üdvözlőlap Beépíthető 10 Órákba, autókba, … Játék 100 Videojátékokba Személyi számítógép 1 000 Asztali/hordozható Szerver 10 000 Hálózati szerver Munkaállomás hálózat 100 000 Mini-szuperszámítógép Nagyszámítógép 1 000 000 Banki nagygép Szuperszámítógép 10 000 000 Időjárás előrejelzés 40-43 1.9. ábra. A mai (1999) számítógép típusok választéka Máté: Architektúrák 1. előadás

Pentium II. (1.10, 11. ábra) Lapka Dátum MHz 1000Tr Mem. Megjegyzés 1971/4 0.108 2.3 640 Egy lapkás μProc. I-8008 1972/4 3.5 16 KB 8 bites μProc. I-8080 1974/4 2 6 64 KB Általános célú μProc. I-8086 1978/6 5-10 29 1 MB 16 bites μProc. I-8088 1979/6 5-8 Az IBM PC pocesszora I-80286 1982/6 8-12 134 16 MB Memória védelem I-80386 1985/10 16-33 275 4 GB 32 bites μProc. I-80486 1989/4 25-100 1200 8 KB beépített gyorsító Pentium 1993/5 60-233 3100 Két csővezeték, MMX P. Pro 1995/3 150-200 5500 Két szintű gyorsító P. II 1997/5 233-400 7500 Pentium Pro + MMX 44-48 Máté: Architektúrák 1. előadás

Igény: UNIX-ot kisgépekre. Hálózati gépek: Ethernet. UltraSPARC II Igény: UNIX-ot kisgépekre. Hálózati gépek: Ethernet. SUN (Stanford University Network - 1982). Motorola 68020 CPU alapú gépek. 1987-ben félmilliárd $ a bevételük. SPARC (Scalable Processor ARChitecture - 1987). 32 bites, 36 MHz. Több cégnek átadták a gyártási jogot, verseny → gyors fejlődés! UltraSPARC I: 64 bites, multimédiás utasítások. UltraSPARC II, III: gyorsítás + kevés módosítás. 44-48 Máté: Architektúrák 1. előadás

Java (kilencvenes évek közepe): objektum-orientált, biztonságos nyelv. picoJava II C, C++ nem eléggé védett! Java (kilencvenes évek közepe): objektum-orientált, biztonságos nyelv. Cél (SUN): bináris formátumú, WEB-ről letölthető programok, applet-ek. JVM (Java Virtual Machine): fordítók, értelmezők (Java-ról JVM-re, JVM-ről saját gépre). picoJava II: Java bináris programok végrehajtására szolgáló architektúra (terv – virtuális gép, de pl. a SUN microJava-701 lapkán megvalósították). 48-50 Máté: Architektúrák 1. előadás

Pl.: előjeles kétjegyű decimális számok : Fixpontos számok Pl.: előjeles kétjegyű decimális számok : Ábrázolási tartomány: [-99, +99]. Pontosság (két „szomszédos” szám különbsége): 1. Maximális hiba: (az ábrázolási tartományba eső) tetszőleges valós szám, és a hozzá legközelebb lévő ábrázolható szám különbsége: 1/2. Számolási pontatlanságok: a = 70, b = 40, c = - 30 esetén a + (b + c) = 80, (a+b) + c = -20. túlcsordulás 664-666 Máté: Architektúrák 1. előadás

Helyértékes ábrázolás Pl.: 521,2510 = 5 * 102 + 2 * 101 + 1 * 100 + 2 * 10-1 + 5 * 10-2. Általában (q alapú számrendszer esetén): an an-1 …a0,b1b2 …bm = an*qn +an-1*qn-1 + …+a0+b1*q-1 +b2*q-2 + …+bm*q-m 0  ai, bj  q Átszámolás számrendszerek között: egész rész: osztással, tört rész: szorzással. 666-668 Máté: Architektúrák 1. előadás

B: Bináris, O: Oktális, D: Decimális H: Hexadecimális B O D H B O D H 0 0 0 0 1000 10 8 8 1 1 1 1 1001 11 9 9 10 2 2 2 1010 12 10 A 11 3 3 3 1011 13 11 B 100 4 4 4 1100 14 12 C 101 5 5 5 1101 15 13 D 110 6 6 6 1110 16 14 E 111 7 7 7 1111 17 15 F 668 Máté: Architektúrák 1. előadás

Véges tizedes tört nem biztos, hogy binárisan is véges! Pl. 23,37510 átszámítása kettes számrendszer-be. Egész rész: Tört rész: /2 marad egész *2 23 1 0.375 11 1 0 .750 5 1 1 .500 2 0 1 .000 1 1 101112 0,0112 23,37510 = 10111,0112. Véges tizedes tört nem biztos, hogy binárisan is véges! 668-670 Máté: Architektúrák 1. előadás

Példa bináris összeadásra: 1. összeadandó: 0 1 0 1 1 0 1 0 (= 90) 2. összeadandó: 0 1 1 1 1 1 0 0 (=124) Átvitel: 1 1 1 1 0 0 0 Eredmény: 1 1 0 1 0 1 1 0 (=214) 673-674 Máté: Architektúrák 1. előadás

Átszámítás 10-es számrendszerbe q alapú számrendszerből legegyszerűbben a Horner elrendezéssel alakíthatunk át: an*qn +an-1*qn-1 + …+a0+b1*q-1 +b2*q-2 + …+bm*q-m = a0 + q*(a1+ q*( …+an )) + (…(bm/q + bm-1)/q + …+ b1 )/q 666-668 Máté: Architektúrák 1. előadás

A számítógép kettes számrendszerben dolgozik, 10-es számrendszerből a Horner elrendezéssel alakítja át a számokat. A formulában ai–t, bj–t és q–t kettes számrendszerben kell megadni. Kettes számrendszerből 10-es számrendszerbe 10-zel való ismételt osztással állítja elő az egész részt, és 10-zel való ismételt szorzással állítja elő a tört részt – hasonlóan ahhoz, ahogy korábban bemutattuk a 10-es számrendszerből 2-esbe való átszámítást. 666-668 Máté: Architektúrák 1. előadás

Bájt (Byte): 8 bit, 8 bites szám. Előjeles fixpontok számok: Bit: egy bináris számjegy, vagy olyan áramkör, amely egy bináris számjegy ábrázolására alkalmas. Bájt (Byte): 8 bit, 8 bites szám. Előjeles fixpontok számok: 28 = 256 különböző 8 bites szám lehetséges. Melyek jelentsenek negatív értékeket? Előjeles számok szokásos ábrázolásai: előjeles abszolút érték, egyes komplemens, kettes komplemens, többletes. 671-673 Máté: Architektúrák 1. előadás

Előjeles abszolút érték: előjel és abszolút érték, az első bit (balról) az előjel: 0: +, 1: - Pl.: +2510 = 000110012, -2510 = 100110012. + - Jellemzők: a nulla kétféleképpen ábrázolható, a legkisebb szám -127, a legnagyobb 127. 671 Máté: Architektúrák 1. előadás

az első bit az előjel (0: pozitív, 1: negatív). Egyes komplemens: az első bit az előjel (0: pozitív, 1: negatív). Egy szám -1-szerese (negáltja) úgy kapható meg, hogy a szám minden bitjét negáljuk (ellenkezőjére változtatjuk). Pl.: +2510 = 000110012, - 2510 = 111001102. Jellemzők: a nulla kétféleképpen ábrázolható, a legkisebb szám -127, a legnagyobb 127. 671 Máté: Architektúrák 1. előadás

az első bit az előjel (0: pozitív, 1: negatív). Kettes komplemens: az első bit az előjel (0: pozitív, 1: negatív). Egy pozitív szám negáltja úgy kapható meg, hogy az egyes komplemenshez egyet hozzáadunk. Pl.: +2510 = 000110012, -2510 = 111001102 egyes komplemens, -2510 = 111001112 kettes komplemens. Jellemzők: a nulla egyértelműen ábrázolható, a legkisebb szám -128, a legnagyobb 127. 671 Máté: Architektúrák 1. előadás

Pl.: +2510 = 100110012, 128-többletes ábrázolás Többletes: a szám és a többlet összegét ábrázoljuk binárisan (ez már pozitív!). m bites szám esetén a többlet általában 2m-1 vagy 2m-1 – 1 Pl.: +2510 = 100110012, 128-többletes ábrázolás -2510 = 011001112 128-25=103 Jellemzők (128 többlet esetén): a nulla egyértelműen ábrázolható, a legkisebb szám -128, a legnagyobb 127. Megjegyzés: a 2m-1 többletes ábrázolás azonos a kettes komplemenssel fordított előjellel. Használata: a lebegőpontos számok kitevő-részénél. 672-673 Máté: Architektúrák 1. előadás

Negatív számok BCD ábrázolása: 9 vagy 10 komplemens kóddal. BCD (Binary Coded Decimal) ábrázolás: minden decimális számjegyet négy biten ábrázolunk. Negatív számok BCD ábrázolása: 9 vagy 10 komplemens kóddal. Pl.: +30110 = 0000 0011 0000 0001, -30110 = 1001 0110 1001 1000 (9 komplemens), -30110 = 1001 0110 1001 1001 (10 komplemens). 71 Máté: Architektúrák 1. előadás

előjel karakterisztika törtrész Lebegőpontos számok előjel karakterisztika törtrész Sok ekvivalens ábrázolási lehetőség, a leggyakrabban a törtrész első számjegye az adott szám első, nullától különböző számjegye (normalizált alak). Példa: 254 = 0,0254x104 = 0,254x103 (= 2,54x102). Megjegyzések: A nulla ábrázolásához külön megállapodásra van szükség (általában csupa nulla számjegyből áll). A lebegőpontos ábrázolásoknál is meghatározható a legkisebb és a legnagyobb ábrázolható szám, továbbá a legkisebb és legnagyobb hiba. 676-679 Máté: Architektúrák 1. előadás

Feladat: Ábrázoljuk nyolcas számrendszerben 25410-et: előjelbittel kezdve, a kitevő legyen 1 jegyű (3 bites), 4-többletes, a törtrész 4 jegyű. Megoldás: 254/8 6 31/8 7 3/8 3 3768, normalizált alak: 0,376x83, a megoldás: 0 111 011 111 110 0002 = 0737608 + törtrész 4-többletes kitevő Máté: Architektúrák 1. előadás

single 32 bites, double 64 bites (, extended 80 bites). IEEE 754 standard single 32 bites, double 64 bites (, extended 80 bites). single: Ha 0 < a kitevőrész < 255, a szám normalizált. Normalizált tört vezető 1-es bitje nincs ábrázolva! típus előjel kitevőrész | törtrész | single 1 bit 8 bit 127-többletes 23 bit double 11 bit 1023-többletes 52 bit 679-683 Máté: Architektúrák 1. előadás

Normalizált számok (IEEE 754, single) 0 < kitevőrész < 255 kitevőrész = kitevő + 127, 127 többletes. Lehetséges kitevők: -126, -125, ... , +127. Közvetlenül a törtrész elé kell képzelni egy 1-est (implicit bit) és a bináris pontot. Az ábrázolt szám: ± (1 + törtrész) * 2kitevő Pl.: 1 0011 1111 1000 ... 00002 = 3F80 000016 0,5 0011 1111 0000 ... 00002 = 3F00 000016 -1,5 1011 1111 1100 ... 00002 = BFC0 000016 ± kitevőrész 1. törtrész 679-681 Máté: Architektúrák 1. előadás

Normalizálatlan számok (IEEE 754, single) Ha a kitevőrész = 0 A bináris pontot 0 előzi meg (nincs ábrázolva). Az ábrázolt szám: ± (törtrész) * 2-127 Pl.: 2-128 = 2-127 * 0,100 ... 00002 = = 0000 0000 0100 ... 00002 = 0040 000016 - 2-150 = - 2-127 * 0,000 ... 00012 = = 1000 0000 0000 ... 00012 = 8000 000116 2-127 = 2-127 * 1,000 ... 00002 = » 0000 0000 0111 ... 11112 = 007F FFFF16 ± kitevőrész 0. törtrész 682-683 Máté: Architektúrák 1. előadás

Normalizálatlan számok (IEEE 754, single) Ha a kitevőrész = 255 Túl nagy számok (túlcsordulás): ¥ (végtelen): pl. 1/0, NaN (Not a Number): pl. ¥ / ¥ 682-683 Máté: Architektúrák 1. előadás

előjel nélküli és előjeles egész számok (8, 16, 32, 64 bites). Adattípusok Alapkérdés: mit támogat a hardver (milyen utasítások vannak)? Ami nincs (pl. dupla pontosságú egész aritmetika), azt szoftveresen kell megcsinálni. Numerikus típusok: előjel nélküli és előjeles egész számok (8, 16, 32, 64 bites). lebegőpontos számok (32, 64, néha 128 bites), binárisan kódolt decimális számok: decimális aritmetika (COBOL  Y2K = 2000. év probléma). 345-346 Máté: Architektúrák 1. előadás

Az egyes gépek által támogatott numerikus típusok P: Pentium II, U: UltraSPARC, J: JVM típus 8 bit 16 bit 32 bit 64 bit 128 bit előjeles egész P U J U J előjel nélküli egész P U U BCD P lebegőpontos 347-349 Máté: Architektúrák 1. előadás

IS 8859: kódlap, IS 8859-2: magyar betűk is. Karakterkódolás ASCII (American Standard Code for Information Interchanges), 7 bites: vezérlőkarakterek, az angol abc kis és nagy betűi, szimbólumok, 2.41. ábra Latin-1 kód: 8 bites. IS 8859: kódlap, IS 8859-2: magyar betűk is. UNICODE (IS 10646 – 2-33 ábra). 16 bites: kódpozíciók (code point). Általában egy nyelv jelei egymás után vannak – a rendezés könnyű. Kínai, japán, koreai: fonetikus szimbólumok, Han ideogramok (20992 jel, nincsenek szótár szerint rendezve). ... Japán íráshoz kevés (> 50000 kanji jel van). Új jelek? Braille nincs benne. 123-127 Máté: Architektúrák 1. előadás

További nem numerikus típusok Logikai érték (boolean): igaz, hamis. Leggyakrabban egy bájtban (szóban) ábrázolják. Bit térkép. Mutató (pointer): Memória cím. 347, 349 Máté: Architektúrák 1. előadás

. Egyszerű sín alapú számítógép (2.1. ábra) vezérlőegység Aritmetikai-logikai egység (ALU) Regiszterek . Központi memória Lemez Nyomtató B/K eszközök Központi feldolgozó egység (CPU) sín 54-57 Egyszerű sín alapú számítógép (2.1. ábra) Máté: Architektúrák 1. előadás

Aritmetikai-logikai egység (ALU) CPU feladata: a memóriában tárolt program végrehajtása. Részei: vezérlőegység, feladata: a program utasításainak beolvasása, az ALU, a regiszterek vezérlése, aritmetikai-logikai egység (ALU) , feladata: az utasítások végrehajtása, regiszter készlet, feladata: részeredmények, vezérlő információk tárolása. A legfontosabbak: - utasításszámláló (Program Counter): PC, - utasításregiszter (Instruction Register): IR, adatút (data path, 2.2. ábra). vezérlőegység Aritmetikai-logikai egység (ALU) Regiszterek . 54-57 Máté: Architektúrák 1. előadás

A regiszter készletből feltöltődik az ALU két bemenő regisztere ALU Adatút (data path, 2.2. ábra). A regiszter készletből feltöltődik az ALU két bemenő regisztere ALU Az eredmény az ALU kimenő regiszterébe kerül Az ALU kimenő regiszteréből a kijelölt regiszterbe kerül az eredmény Nem biztos, hogy az ALU be- és kimenő regiszterei tényleges regiszterként vannak kialakítva. B A A+B ALU 54-57 Máté: Architektúrák 1. előadás

CPU (Central Processor Unit) feladatai a végrehajtandó utasítás betöltése, a betöltött utasítás típusának megállapítása, az ezt követő utasítás címének megállapítása, ha kell, az operandus(ok) címének megállapítása, ha kell, az operandus(ok) betöltése, az utasítás végrehajtása, ha kell, az eredmény címének megállapítása, ha kell, az eredmény tárolása. 54-57 Máté: Architektúrák 1. előadás

Három cím: cél = forrás1 + forrás2. Címzési módszerek Három cím: cél = forrás1 + forrás2. A memória sok rekeszt tartalmaz, de csak kevés regiszter van. Egy regiszter néhány bittel címezhető. Regiszterek használata rövidíti a címeket, de nyújtja a programot, ha az operandus csak egyszer kell. A legtöbb operandust többször használjuk. Implicit operandusok: Két cím: regiszter2 = regiszter2 + forrás1. Egy cím: akkumulátor = akkumulátor + forrás1. Nulla cím: verem, pl. az IJVM IADD utasítása. 358-359 Máté: Architektúrák 1. előadás

Utasítás típusok: regiszter-memória utasítások: a regiszterek és a memória közötti adatforgalom (betöltés, tárolás). Ilyenkor egy regiszter és egy memória cím megadása szükséges a címrészen. regiszter-regiszter utasítások: összeadás, kivonás, … Az eredmény is regiszterben keletkezik. Ilyenkor három regiszter megadása szükséges a címrészen. … 55 Máté: Architektúrák 1. előadás

Központi memória (2.9. ábra) A programok és adatok tárolására szolgál. Bit: a memória alapegysége, egy 0-t vagy 1-et tartalmazhat. Memória rekesz (cella): több bit együttese. Minden rekesz ugyanannyi bitből áll. Minden rekeszhez hozzá van rendelve egy szám, a rekesz címe. Egy rekeszre a címével hivatkozhatunk. A rekesz a legkisebb címezhető egység. 70-73 Máté: Architektúrák 1. előadás

Központi memória (2.9. ábra) Cím Rekesz/cella A rekesz hossza manapság legtöbbször 8 bit (byte ~ bájt). n a memória cellák száma . . . 1 n-1 70-73 Rekesz hossza Központi memória (2.9. ábra) Máté: Architektúrák 1. előadás

A bitek száma rekeszenként néhány számítógép-történetileg érdekes, kereskedelmi forgalomba került gépen (2.10. ábra) Számítógép Bit Burroughs B1700 1 IBM PC 8 DEC PDP-8 12 IBM 1130 16 DEC PDP-11 18 XDS 940 24 Electrologica X8 27 XDS Sigma 9 32 Honeywell 6180 36 CDC 3600 48 CDC Cyber 60 70-73 Máté: Architektúrák 1. előadás

Kódolás: adat + ellenőrző bitek = kódszó. Két kódszó Hamming távolsága: az eltérő bitek száma. Pl.: 11001 és 11011 (Hamming) távolsága = 1. Hibaérzékelő kód: bármely két kódszó távolsága > 1: paritás bit. d hibás bit javítása: a kódszavak távolsága > 2d. Egy hibát javító kód (2.13. ábra): m adat, r ellenőrző bit, összesen n = m + r. 2m „jó” szó, + minden „jó” szónak n db „egyhibás” szomszédja van, ezért (n +1)2m £ 2n = 2m+ r , egyszerűsítve m + r +1 £ 2r, vagy másképp m + r  2r szükséges. 75-76 Máté: Architektúrák 1. előadás

A legmagasabb helyértékű bájt a szóban a Bájtsorrend A legtöbb processzor több egymás utáni bájttal is tud dolgozni (szó – word, …). A legmagasabb helyértékű bájt a szóban a legalacsonyabb címen: legmagasabb címen: nagy (big) endian kis (little) endian MSBfirst LSBfirst Most/Least Significant Byte first Ha egy 32 bites szó bájtjainak értéke rendre: a, b, c, d, akkor a szó értéke: a*2563+b*2562+c*256+d a+b*256+c*2562+d*2563 73-75 Máté: Architektúrák 1. előadás

Bájtsorrend (2.11. ábra) a memória címek úgy vannak fölírva, hogy a legmagasabb helyértékű bájt van bal oldalon. Cim Nagy endian 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Kis endian Cím 3 2 1 7 6 5 4 11 10 9 8 15 14 13 12 73-75 32 bites szó 32 bites szó Máté: Architektúrák 1. előadás

Problémák a gépek közötti kommunikációban! Bájtsorrend (12. ábra) A szövegek karaktereit mindkét esetben növekvő bájt sorrendben helyezik el kis endian Cím 3 T 2 X 1 E 0 T 7 12 6 34 5 56 4 78 4 Cím nagy endian 0 T 1 E 2 X 3 T 4 4 12 5 34 6 56 7 78 Cím 0 T 1 E 2 X 3 T 4 4 78 5 56 6 34 7 12 A TEXT szöveg és az 12345678 hexadecimális szám elhelyezése a két géptípuson 73-75 Problémák a gépek közötti kommunikációban! Máté: Architektúrák 1. előadás

Mi a különbség értelmezés és fordítás között? Feladatok Mi a különbség értelmezés és fordítás között? Milyen részei vannak egy négy műveletes zsebszámológépnek? Milyen részei lehetnek egy bonyolultabb műveletek elvégzésére is alkalmas zsebszámológépnek? Mi a Neumann elv? Valamikor 1 mikron átmérőjű volt a mikroprocesszor egy tranzisztora. Moore szabálya szerint mekkora volt az átmérője egy évvel később? 52-53 Máté: Architektúrák 1. előadás

Konvertáljuk a következő számokat bináris számokká: 1984, 4000, 8192 Feladatok Konvertáljuk a következő számokat bináris számokká: 1984, 4000, 8192 Hány különböző pozitív egész szám fejezhető ki k számjegy segítségével r alapszám esetén? Hajtsuk végre a következő számítást 8 bites kettes komplemensű számokon: 00101101 + 01101111, 11111111 + 11111111, 00000000 – 11111111, 11110111 – 11110111. 674-675 Máté: Architektúrák 1. előadás

Feladatok Konvertáljuk a következő számokat IEEE egyszeres pontosságúba. Az eredményt 8 jegyű hexadecimális számként adjuk meg: 9, 5/32, -5/32, 6,125. Konvertáljuk a következő egyszeres pontosságú IEEE lebegőpontos számokat decimális számokká: 42E48000H, 3F880000H, 00800000H, C7F00000H. Mikor fordul elő, hogy két lebegőpontos számon végrehajtott művelet eredményénél a szignifikáns bitek száma drasztikusan csökken. 683-684 Máté: Architektúrák 1. előadás