adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other...

29
Adatok ábrázolása, adattípusok Összefoglalás

Upload: others

Post on 24-Mar-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Adatok ábrázolása, adattípusok

Összefoglalás

Page 2: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-2

Adatok ábrázolása, adattípusok

Számítógépes rendszerekműködés: információfeldolgozásIPO: input-process-output modellinformáció tárolása adatok formájábanadatformátum választása:

gépi feldolgozás, tárolás egyszerű legyen –Neumann János bináris adatformátum választása: az adatokon műveleteket egyszerűen SZISZTEMATIKUSAN

Page 3: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-3

Adatokon végzett műveletek (IPO modell)

Információ számítógép által feldolgozható formába rögzíteni:

számítógép perifériák (bemeneti egységek)Információ feldolgozása

CPU, memóriaEredmények megjelenítése:

számítógép perifériák (kimeneti egységek)

Page 4: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

6. Fejezet:Little Man Computer(A kisember számítógép)

A számítógép hardver és szoftver architektúrája:

Egy informatikai megközelítés3. kiadás, Irv Englander

John Wiley and Sons ©2003

Wilson Wong, Bentley CollegeLinda Senne, Bentley College

Page 5: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-5

Little Man Computer (LMC)

Page 6: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-6

Postaládák: Cím vs. Tartalom

A postaláda címek egymást követikA postaláda tartalma lehet

adat vagyutasítás

Cím Tartalom

Page 7: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-7

Tartalom: UtasításokMűveleti kód

művelet kódjatetszőleges rövidítés (mnemonic)

Művelet operandusamódosítandó „objektum”

adat értéke vagyadat címe, ahol az érték tárolódik

Cím TartalomMűveleti kód Operandus

Page 8: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-8

Varázslat!

Program betöltése a memóriábaAdatok belehelyezése a bemeneti kosárba („In Basket”)

Page 9: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-9

Assembly nyelvCPU specifikusegy az egyhez összerendelés az assembly nyelv utasításai és a bináris (CPU által végrehajtható) utasítások közöttMnemonic-ok (rövid karakter sorozatok) utasításokat reprezentálnakAkkor használjuk, ha a programozónak a hardver pontos vezérlésére van szüksége

pl.: eszközmeghajtók (driver-ek) készítése

Page 10: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-10

UtasításkészletAritmetikai 1xx Összeadás

Adat mozgató

Input/Output

(Be-/Kimenet) 902 OUTPUT

Gép irányítása(kávészünet)

2xx Kivonás

3xx Tárolás

5xx Betöltés

901 INPUT

000 LeállásCOB

Page 11: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-11

Input/Output Adatok mozgatása a számológép és a be/ki kosarak között

IN (input)

OUT (output)

TartalomMűveleti kód Operandus

9 01

9 02

Page 12: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-12

LMC Input/Output

Be

Ki

Page 13: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-13

Belső adatmozgás (LMC-n belül)

A postaláda és a számológép között

STO (tárolás)

LDA (betöltés)

TartalomMűveleti kód Operandus

3 xx

5 xx

Page 14: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-14

LMC belső adatmozgatás

LDA

STO

Page 15: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-15

Adatok tárolása

Utasításokat és az adatokat tároló postaláda fiókok fizikailag azonosak Adatok (általában) nincsenek beleágyazva az utasítások közéDAT mnemonic azonosítja őket az assembly kódban

Page 16: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-16

Aritmetikai utasításokPostaládában tárolt érték beolvasásaMűvelet elvégzése a számológép segítségével

ÖsszeadásKivonás

TartalomMűveleti kód Operandus

1 xx2 xx

Page 17: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-17

LMC aritmetikai utasítások

Összeadás

Kivonás

Page 18: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-18

Egyszerű program: 2 szám összeadása

Feltételezzük, hogy azadatokat 90< címekkel címzett postaládákbantároljukÍrjuk meg a programot!

Beolvassuk az első számot

Eltároljuk a számot

Beolvassuk az második számot

Összeadjuk a két számot

Kiírjuk az összeget

Page 19: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-19

Program 2 szám összeadására:Mnemonic-okat használvaPostaláda Mnemonic Utasítás leírása

00 IN ;1. Input szám01 STO 99 ;Adat tárolása02 IN ;2. Input szám03 ADD 99 ;Két szám összeadása04 OUT ;Eredmény kiírása05 COB ;Leállás99 DAT 00 ;Adat

Page 20: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-20

Program 2 szám összeadására

Postaláda Kód Utasítás leírása

00 901 ;1. Input szám01 399 ;Adat tárolása02 901 ;2. Input szám03 199 ;Két szám összeadása04 902 ;Eredmény kiírása05 000 ;Leállás99 000 ;Adat

Page 21: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-21

Program vezérlésElágazás utasítások (a szekvenciális utasítás-végrehajtás eltérítése)

Cím megváltoztatása az utasítás-számlálóban

Leállás

BRZ (Ágazás 0-ál) 7 xx

BRP (Ágazás +-nál) 8 xx

BR (Ugrás)

COB (Leállás)

Tartalom

Műveleti kód Operandus

6 xx

0 (ignore)

Page 22: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-22

UtasításkészletAritmetikai 1xx Összeadás

Adatmozgatás

BR 6xx Ugrás

BRP 8xx Ágazás +-nál

902 OUTPUT

BRZ 7xx Ágazás 0-nál

Input/Output

Gép vezérlés(kávészünet)

2xx Kivonás3xx Tárolás5xx Betöltés

901 INPUT

000 LeállásCOB

Page 23: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-23

Számoljuk ki két szám különbségének abszolútértékét (kimenet pozitív!)

00 IN 90101 STO 10 31002 IN 90103 STO 11 31104 SUB 10 21005 BRP 08 808 ;teszt06 LDA 10 510 ;ha negatív, fordított sorrendben kell!07 SUB 11 21108 OUT 902 ;eredmény kiírása09 COB 000 ;leállás10 DAT 00 000 ;adattároló11 DAT 00 000 ;adattároló

Page 24: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-24

Utasítás-végrehajtási ciklusKét lépésre osztható:

Fetch (~kikeresés): Kisember kideríti, hogy milyen utasítást hajtson végreVégrehajtás: Kisember elvégzi az utasítás által definiált műveletet

Page 25: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-25

Fetch része az utasítás-végrehajtási ciklusnak

1. Kisember beolvassa a címet az utasítás helyét tároló számlálóból (utasításszámláló)

2. Elmegy a postaládához, ami az utasítás-számlálóban tárolt értékhez tartozik

Page 26: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-26

Fetch, (folyt.)

3. A cetliről leolvassa postaládában tárolt a számot (visszarakja a cetlit, hátha szüksége lesz még rá később)

Page 27: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-27

Végrehajtás része az utasítás-végrehajtási ciklusnak

1. Kisember odamegy ahhoz a postaládához, ami az imént fetch-eltutasítás kódjában volt definiálva.

2. Kiolvassa a számot a postaládából (emlékezik a cserére, hátha szüksége lesz rá később).

Page 28: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-28

Végrehajtás (folyt.)

3. Odamegy a számológéphez és begépeli a számot.

4. Odamegy a az utasítás helyét tároló számlálóhoz (utasításszámlálóhoz) és megnyomja (inkrementál-ja), ami után készen áll fetch-elni a következő utasítást.

Page 29: Adatok ábrázolása, adattípusok - szers1.sze.hu/~paalda/oktat/szg_arh/_other data/06_ch06_hun.pdfAssembly nyelv CPU specifikus egy az egyhez összerendelés az assembly nyelv utasításai

Fejezet: 6. – Little Man Computer 6-29

Neumann architektúra (1945)

Tárolt program elve a programokat és az adatokat azonos memóriában tároljuk

Memória használata a tartalom figyelembevétele nélkül Bináris számábrázolás használataMemória lineáris (szekvenciális) címzése