SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1

Hasonló dokumentumok
Számítógépek felépítése, alapfogalmak

Adatok ábrázolása, adattípusok

Informatika 1 2. el adás: Absztrakt számítógépek

Bevezetés az informatikába

Számítógépek felépítése, alapfogalmak

A mikroprocesszor felépítése és működése

Hardverközeli programozás 1 1. gyakorlat. Kocsis Gergely

Informatika érettségi vizsga

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

Processzor (CPU - Central Processing Unit)

A mikroprocesszor egy RISC felépítésű (LOAD/STORE), Neumann architektúrájú 32 bites soft processzor, amelyet FPGA val valósítunk meg.

VI. SZOFTVERES PROGRAMOZÁSÚ VLSI ÁRAMKÖRÖK

A Számítógépek hardver elemei

Operandus típusok Bevezetés: Az utasítás-feldolgozás menete

Alapok: Használd számológép helyett

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

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

A tervfeladat sorszáma: 1 A tervfeladat címe: ALU egység 8 regiszterrel és 8 utasítással

találhatók. A memória-szervezési modell mondja meg azt, hogy miként

Aritmetikai utasítások I.

Bevezetés az informatikába

Egyszerű RISC CPU tervezése

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés

SZÁMÍTÁSOK A TÁBLÁZATBAN

A 32 bites x86-os architektúra regiszterei

A feladat megoldása során a Microsoft Office Excel használata a javasolt. Ebben a feladatban a következőket fogjuk gyakorolni:

Számítógépek felépítése

Táblázatkezelés 5. - Függvények

EGYSZERŰ SZÁMÍTÁSOK TÁBLÁZATKEZELÉS ELINDULÁS SZE INFORMATIKAI KÉPZÉS 1

1. Fejezet: Számítógép rendszerek

2. Fejezet : Számrendszerek

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Digitális rendszerek. Utasításarchitektúra szintje

A számítógép alapfelépítése

Balaton Marcell Balázs. Assembly jegyzet. Az Assembly egy alacsony szintű nyelv, mely a gépi kódú programozás egyszerűsítésére született.

Tudnivalók az otthon kidolgozandó feladatokról

Digitális technika VIMIAA02 9. hét

Központi vezérlőegység

Assembly programozás levelező tagozat

7. Fejezet A processzor és a memória

5.1.4 Laborgyakorlat: A Windows számológép használata hálózati címeknél

Kézikönyv. Egyéb tételek felvitele

6. BASH programozás I.

1. Fejezet: Számítógép rendszerek. Tipikus számítógép hirdetés

VEZÉRLŐEGYSÉGEK. Tartalom

The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003

MPLAB IDE - SIM - - Rövid ismertető a használathoz - Kincses Levente 3E22 89/ November 14. Szabadka

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

Digitális rendszerek. Mikroarchitektúra szintje

1. Az utasítás beolvasása a processzorba

Adatelérés és memóriakezelés

Digitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk

Jelszavak helyes megválasztása, szótáras törés. Pánczél Zoltán

Összeadás BCD számokkal

Architektúra, megszakítási rendszerek

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba

Tudásszint mérés feladatlap

Digitális technika VIMIAA02 9. hét Fehér Béla BME MIT

Aritmetikai kifejezések lengyelformára hozása

SZE INFORMATIKAI KÉZÉS 1

Összetett feladatok megoldása

Szakrendelések nyitva tartásának nyilvántartása

Memóriák - tárak. Memória. Kapacitás Ár. Sebesség. Háttértár. (felejtő) (nem felejtő)

Jelfeldolgozás a közlekedésben

ÉRETTSÉGI MÁSODIK GYAKORLAT ELINDULÁS A PAPÍRMÉRET ÉS A MARGÓK BEÁLLÍTÁSA. ÜZLETI INFORMATIKAI ESZKÖZÖK Kiadványszerkesztés

Máté: Számítógép architektúrák

A Számítógépek felépítése, mőködési módjai

Segédlet az Informatika alapjai I. című tárgy számrendszerek fejezetéhez

3. Laborgyakorlat. ProTool bevezető

7. fejezet: Mutatók és tömbök

Máté: Számítógép architektúrák

A számítógép alapfelépítése

6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes.

LOGSYS LOGSYS LCD KIJELZŐ MODUL FELHASZNÁLÓI ÚTMUTATÓ november 8. Verzió

LibreOffice Makró Basic

A MiniRISC processzor

Gyakorló feladatok. /2 Maradék /16 Maradék /8 Maradék

1. Regisztráció. Kedves Jelentkező!

Kézikönyv. Láthatóság kezelése a grafikus maszkszerkesztőben

Számítógép felépítése

Az INTEL D-2920 analóg mikroprocesszor alkalmazása

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

Műveletek makrókkal. Makró futtatása párbeszédpanelről. A Színezés makró futtatása a Makró párbeszédpanelről

Archi2 Gyak. (Processzorok Utasításszintű Kezelése) 2014 ősz

ArchiPHYSIK AutoCAD Architecture kapcsolat használata

1. Milyen eszközöket használt az ősember a számoláshoz? ujjait, fadarabokat, kavicsokat

3 A hálózati kamera beállítása LAN hálózaton keresztül

Makrók használata az Excelben - Makróhibák kezelése, biztonságos jelszavak generálása

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI

Szöveges fájlok szerkesztése Jegyzettömb használata

SR mini PLC Modbus illesztő modul. Modul beállítása Bemeneti pontok kiosztása főmodul esetén Bemeneti pontok címkiosztása kiegészítő modul esetében

Processzorok Utasításszintű Kezelése tavasz

Felhasználói segédlet

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

Felhasználói segédlet

Bevezetés a számítástechnikába

MEH-EIA felhasználói dokumentáció gyakran ismételt kérdések

SZÁMRENDSZEREK KÉSZÍTETTE: JURÁNYINÉ BESENYEI GABRIELLA

Átírás:

INFORMATIKAI RENDSZEREK ALAPJAI (INFORMATIKA I.) 1 NEUMANN ARCHITEKTÚRÁJÚ GÉPEK MŰKÖDÉSE SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1 Ebben a feladatban a következőket fogjuk áttekinteni: Neumann rendszerű számítógép felépítése, működése. Egyszerű gépi kódú és assembler programok készítése számítógép szimulátoron A feladat megoldása hozzávetőlegesen 60 percet vesz igénybe. ELMÉLETI ALAPOK A feladat megkezdése előtt ismételjük át az előadáson tanultakat, különös tekintettel a következőkre: Neumann elvek Neumann architektúrájú számítógép felépítése Memória működése CPU (vezérlő egység, ALU, regiszterek) működése I/O eszközök típusai PROGRAMOZÁSI FELADAT A feladat célja, hogy pár, egyszerű program elkészítésén keresztül jobban megismerjük a Neumann architektúrájú számítógép működésének alapvető mechanizmusait. Programjainkat egy leegyszerűsített számítógép modellen (szimulátoron) fogjuk elkészíteni. Az interneten több ilyen oktatási célú számítógép szimulátor is elérhető, többek között: Hymn CPU szimulátor: http://ozark.hendrix.edu/~burch/socs/hymn/ Little Man Computer (LMC) http://matttt.me/projects/lmc/ A feladatsorban szereplő programok a Hymn szimulátorra készültek.

INFORMATIKAI RENDSZEREK ALAPJAI (INFORMATIKA I.) 2 A HYMN SZIMULÁTOR FELÉPÍTÉSE A HYMN cpu szimulátor kezelőfelülete A szimulátor műszaki paraméterei a következők: 8 utasítás 30 byte operatív tár (program és adat memória) Két darab speciális célú regiszter (PC és IR) Egy darab általános célú regiszter (AC) Memóriába ágyazott I/O egység (30-as címen az input, 31-es címen az output) UTASÍTÁSKÉSZLET A Hymn cpu szimulátor gépi utasításai egységes felépítésűek: Példa egy utasítás felépítésére (LOAD 30)

INFORMATIKAI RENDSZEREK ALAPJAI (INFORMATIKA I.) 3 Kód Mnemonik Leírás 000 HALT nem történik semmi 001 JUMP PC := operandus (ugrás az operandus címre) 010 JZER ha AC = 0 akkor PC := data (ugrás az op. címre) egyébként pedig PC := PC + 1 (következő utasítás végrehajtása) 011 JPOS ha AC > 0 akkor PC := data (ugrás az op. címre) egyébként pedig PC := PC + 1 (következő utasítás végrehajtása) 100 LOAD AC := M[data]; PC := PC + 1 (az operandus által megcímzett memória tartalmának betöltése AC-be) 101 STOR M[data]:=AC; PC := PC + 1 (AC tartalmának kiírása az operandussal által megcímzett memória cellába) 110 ADD AC := AC + M[data]; PC := PC + 1 (AC regiszter tartalmához hozzáadja az operandussal megcímzett memória tartalmát) 111 SUB AC := AC - M[data]; PC := PC + 1 (AC regiszter tartalmából kivonja az operandussal megcímzett memória tartalmát) A HYMN utasításkészlete UTASÍTÁSOK BEVITELE Egérkattintással kattintsunk a memóriacellákon belül a megfelelő bitekre, ha módosítani szeretnénk azok értékért. Assembler editorból kattintsunk az Assembler menü Show editor pontjára, majd gépeljük be a program utasításait. Az így elkészített programot az Assemble nyomógombbal tölthetjük be a memóriába.

INFORMATIKAI RENDSZEREK ALAPJAI (INFORMATIKA I.) 4 Az assembler editor használatának további előnye, hogy a programkódban megjegyzéseket és címkéket (memória címre mutató hivatkozásokat) is elhelyezhetünk. Megjegyzések és címkék használata ELSŐ PROGRAM Első programunk olyan egyszerű, hogy semmilyen számítási műveletet nem fog végezni, egyszerűen csak két cím között fog ugrálni a végrehajtás. Nyissuk meg az assembler editor ablakot (Assembler -> Show Editor), majd gépeljük be a következő két sort: JUMP 1 JUMP 0 # ugrás az 1-es (00001) címre # ugrás az 0-ás (00000) címre A kód bevitele után nyomjuk meg az Assemble nyomógombot. Ha visszatérünk a főablakba, akkor a következő memória tartalmat kell látnunk: A step nyomógombbal futtassuk lépésenként a programunkat és figyeljük meg a PC és IR regiszterek tartalmának változását. A PC regiszter mindig a végrehajtandó utasítás címét tartalmazza, míg az IR magát az utasítás kódját.

INFORMATIKAI RENDSZEREK ALAPJAI (INFORMATIKA I.) 5 MÁSODIK PROGRAM Második lépésben ismerkedjünk meg a be és kiviteli (I/O) lehetőségekkel. Mivel ez a számítógép szimulátor memóriába ágyazott I/O egységet tartalmaz, ezért az I/O műveletek nem különböznek a memóriából olvasás (LOAD) és memóriába írás (STOR) műveletektől. Nyissuk meg az assembler editor ablakot (Assembler -> Show Editor), majd gépeljük be a következő programot: LOAD 30 STOR 31 # Az input-ról érkező adatot betöltjük # az AC regiszterbe # Az AC regiszterben lévő adatot kiírjuk az # output-ra A kód bevitele után nyomjuk meg az Assemble nyomógombot és futtassuk a programunkat. Az I/O ablakban megjelenő kérdőjel jelzi, hogy a programunk bemenő értékre vár. Írjunk be egy számot [-128..127] tartományban és üssünk [ENTER] billentyűt. Figyeljük meg, hogy a beírt szám megjelenik az AC regiszterben, majd a következő utasítás végrehajtásakor ugyanez az érték kiíródik a kimenetre

INFORMATIKAI RENDSZEREK ALAPJAI (INFORMATIKA I.) 6 HARMADIK PROGRAM Miután megismerkedtünk egy alapvető vezérlő utasítással (JUMP) és a I/O kezelésére (valójában memória olvasásra és írásra) szolgáló utasításokkal (LOAD, STOR), ismerkedjünk meg egy aritmetikai utasítással az összeadással. Nyissuk meg az assembler editor ablakot (Assembler -> Show Editor), majd gépeljük be a következő programot: LOAD 30 ADD 30 STOR 31 # Az input-ról érkező adatot betöltjük # az AC regiszterbe # Az AC regiszter tartalmához hozzáadjuk a # 30-as címről (input-ról) érkező második # értéket, # majd az AC regiszterben lévő adatot kiírjuk # az output-ra A kód bevitele után nyomjuk meg az Assemble nyomógombot és futtassuk a programunkat. A fenti program egy egyszerű számológép. Bekér két számot, majd kiírja az összegüket. Figyeljünk arra, hogy itt is 8 bites előjeles számokat kezel a program [-128..127]. EGYSZERŰBB FELADATOK Készítsünk az előzőhöz hasonló, csak a kivonás műveletet végző programot. Készítsünk programot, ami kiírja a születési dátumunkat, tipp - használjunk címkéket a dátum karaktereinek címzéséhez. ÖSSZETETTEBB FELADATOK: Készítsük el az A+abs(B) műveletet megvalósító programot (használjuk a JPOS utasítást) Írjunk programot A*B kiszámítására (mivel nincs szorzás művelet, vezessük viszsza a feladatot összeadásra)

INFORMATIKAI RENDSZEREK ALAPJAI (INFORMATIKA I.) 7 MEGOLDÁSOK, TOVÁBBI PÉLDÁK Megoldások és további példák érhetőek el, a mellékelt programok.txt állományban. Gratulálunk! Ezzel elérkeztünk a példa végéhez. Lovas Szilárd (Széchenyi István Egyetem), 2011. Minden jog fenntartva