67
Máté: Architektú rák 1. előadás 1 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.

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

  • Upload
    abra

  • View
    49

  • Download
    1

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

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

Máté: Architektúrák 1. előadás 1

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.

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

Máté: Architektúrák 1. előadás 2

n. szint Ln nyelv, Mn virtuális gép

Az Ln nyelvű programokat vagy az alsóbb szinten futó értelmező hajtja végre, vagy azalsó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

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

Máté: Architektúrák 1. előadás 3

Gépi, nyelvi szintek (1.2. ábra)

5. Probléma orientált nyelvi szintfordítás (fordító program)

4. Assembly nyelvi szintfordítás (assembler)

3. Operációs rendszer szintrészben értelmezés (operációs rendszer)

2. Gépi utasítás szint ha van mikroprogram, akkor értelmezés

1. Mikroarhitektúra szinthardvare

0. Digitális logika szint

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

Máté: Architektúrák 1. előadás 4

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.

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

Máté: Architektúrák 1. előadás 5

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, …

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

Máté: Architektúrák 1. előadás 6

Gépi utasítás szintAz 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ímecommand (utasítás): az utasítás kódjadest (cél): itt képződik az eredmény source1 (forrás1): a művelet 1. operandusasource2 (forrás2): a művelet 2. operandusanext: 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).

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

Máté: Architektúrák 1. előadás 7

Gépi utasítás szint

cím) add dest, souce1, source2hatá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).

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

Máté: Architektúrák 1. előadás 8

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.

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

Máté: Architektúrák 1. előadás 9

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

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

Máté: Architektúrák 1. előadás 10

Történelmi áttekintés (1.4. ábra)0. generáció: Mechanikus gépek• Pascal (1642): összeadás, kivonás (37+25=62)

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

Máté: Architektúrák 1. előadás 11

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

12 + 7 = 19

Hova lett a 12?

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

Máté: Architektúrák 1. előadás 12

• Leibniz (~1700): szorzás, osztás is

21

3106510

21*310 =

6510

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

Máté: Architektúrák 1. előadás 13

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

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

Máté: Architektúrák 1. előadás 14

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.

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

Máté: Architektúrák 1. előadás 15

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

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

Máté: Architektúrák 1. előadás 16

• 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).

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

Máté: Architektúrák 1. előadás 17

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.

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

Máté: Architektúrák 1. előadás 18

• 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

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

Máté: Architektúrák 1. előadás 19

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

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

Máté: Architektúrák 1. előadás 20

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ágModel

30Model

40Model

50Model

65Relatív teljesítmény 1 3,5 10 21Ciklus idő (ns) 1000 625 500 250Maximális memória (KB) 64 256 256 512

Cilusonként elérhető bájt 1 2 4 16Adatcsatornák max. száma 3 3 4 6

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

Máté: Architektúrák 1. előadás 21

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 bitesMagyarországon: TPA70. Nem kompatibilis aPDP-11 -gyel.

----- Eddig csak számításigényes problémák -----

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

Máté: Architektúrák 1. előadás 22

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.• …

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

Máté: Architektúrák 1. előadás 23

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.

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

Máté: Architektúrák 1. előadás 24

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)

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

Máté: Architektúrák 1. előadás 25

1.9. ábra. A mai (1999) számítógép típusok választéka

Típus Á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

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

Máté: Architektúrák 1. előadás 26

Pentium II. (1.10, 11. ábra)

Lapka Dátum MHz 1000Tr Mem. Megjegyzés

I-4004 1971/4 0.108 2.3 640 Egy lapkás μProc.

I-8008 1972/4 0.108 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 29 1 MB 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 4 GB 8 KB beépített gyorsító

Pentium 1993/5 60-233 3100 4 GB Két csővezeték, MMX

P. Pro 1995/3 150-200 5500 4 GB Két szintű gyorsító

P. II 1997/5 233-400 7500 4 GB Pentium Pro + MMX

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

Máté: Architektúrák 1. előadás 27

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.

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

Máté: Architektúrák 1. előadás 28

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

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

Máté: Architektúrák 1. előadás 29

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

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

Máté: Architektúrák 1. előadás 30

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.

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

Máté: Architektúrák 1. előadás 31

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 B100 4 4 4 1100 14 12 C101 5 5 5 1101 15 13 D110 6 6 6 1110 16 14 E111 7 7 7 1111 17 15 F

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

Máté: Architektúrák 1. előadás 32

Pl. 23,37510 átszámítása kettes számrendszer-be.

Egész rész: Tört rész:

/2 marad egész *223 1 0.37511 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!

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

Máté: Architektúrák 1. előadás 33

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)

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

Máté: Architektúrák 1. előadás 34

Á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

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

Máté: Architektúrák 1. előadás 35

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.

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

Máté: Architektúrák 1. előadás 36

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.

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

Máté: Architektúrák 1. előadás 37

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.

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

Máté: Architektúrák 1. előadás 38

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.

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

Máté: Architektúrák 1. előadás 39

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.

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

Máté: Architektúrák 1. előadás 40

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.

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

Máté: Architektúrák 1. előadás 41

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

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

Máté: Architektúrák 1. előadás 42

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.

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

Máté: Architektúrák 1. előadás 43

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ő

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

Máté: Architektúrák 1. előadás 44

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 bit8 bit

127-többletes 23 bit

double 1 bit11 bit

1023-többletes52 bit

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

Máté: Architektúrák 1. előadás 45

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

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

Máté: Architektúrák 1. előadás 46

Normalizálatlan számok (IEEE 754, single)

Ha a kitevőrész = 0A 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

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

Máté: Architektúrák 1. előadás 47

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

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

Máté: Architektúrák 1. előadás 48

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

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

Máté: Architektúrák 1. előadás 49

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 P U J P U J U J

előjel nélküli egész P U P U P U U

BCD P

lebegőpontos P U J P U J U

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

Máté: Architektúrák 1. előadás 50

KarakterkódolásASCII (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.

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

Máté: Architektúrák 1. előadás 51

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.

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

Máté: Architektúrák 1. előadás 52

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óriaLemez Nyomtató

B/K eszközök

Központi feldolgozó egység (CPU)

sín

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

Máté: Architektúrák 1. előadás 53

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

......

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

Máté: Architektúrák 1. előadás 54

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

A B

ALU

A+B

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

Máté: Architektúrák 1. előadás 55

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.

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

Máté: Architektúrák 1. előadás 56

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.

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

Máté: Architektúrák 1. előadás 57

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.

• …

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

Máté: Architektúrák 1. előadás 58

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.

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

Máté: Architektúrák 1. előadás 59

Központi memória (2.9. ábra)

0 . . .

1 . . .

. . .

n-1 . . .

Cím Rekesz/cella

Rekesz hossza

A rekesz hossza manapság legtöbbször 8 bit (byte ~ bájt).

n a memória cellák száma

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

Máté: Architektúrák 1. előadás 60

A bitek számarekeszenké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

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

Máté: Architektúrák 1. előadás 61

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)2m2n = 2m+ r , egyszerűsítve m + r +12r, vagy másképpm + r 2r szükséges.

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

Máté: Architektúrák 1. előadás 62

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 LSBfirstMost/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

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

Máté: Architektúrák 1. előadás 63

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

0 0 1 2 3

4 4 5 6 7

8 8 9 10 11

12 12 13 14 15

Kis endian Cím

3 2 1 0 0

7 6 5 4 4

11 10 9 8 8

15 14 13 12 12

32 bites szó 32 bites szó

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

Máté: Architektúrák 1. előadás 64

Bájtsorrend (12. ábra)A szövegek karaktereit mindkét esetben növekvő bájt

sorrendben helyezik el

Cím nagy endian

0 0T

1E

2X

3T

4 412

534

656

7 78

kis endian Cím

3T

2X

1E

0T

0

712

634

556

478

4

A TEXT szöveg és az 12345678 hexadecimális szám elhelyezése a két géptípuson

Cím

0 0T

1E

2X

3T

4 478

556

634

7 12

Problémák a gépek közötti kommunikációban!

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

Máté: Architektúrák 1. előadás 65

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?

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

Máté: Architektúrák 1. előadás 66

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.

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

Máté: Architektúrák 1. előadás 67

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.