Máté: Architektúrák6. előadás1 Logikai utasítások Bitenkénti logikai műveleteket végeznek. 1 az igaz, 0 a hamis logikai érték. ANDop1,op2; op1  op1 &

Slides:



Advertisements
Hasonló előadás
Alaplap.
Advertisements

Adatbázisrendszerek elméleti alapjai 2. előadás
1 Számítógépek felépítése 9. előadás I/O rendszerek.
A számítógép felépítése
Soros kommunikáció. •Üzenet–>Kódolás (bináris kód) •A bitek átküldése a vezetéken időben egymás után (soros) •Dekódolás–>Üzenet GND
Alapvető digitális logikai áramkörök
A mikroprocesszor 1. rész.
Máté: Architektúrák3. előadás1 Alapvető digitális logikai áramkörök Integrált áramkör (IC, Integrated Circuit, chip, lapka) 5x5 mm 2 szilícium darab kerámia.
Számítógépek felépítése sínrendszer, megszakítás
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
A számítógép alapegységei
Programozási alapismeretek 7. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 7. előadás2/  Sorozatszámítás.
Szoftevrismeret Operációs rendszerek.
Nem kombinációs áramkörök
. . Egyszerű sín alapú számítógép (2.1. ábra)
Máté: Architektúrák3. előadás1 Alapvető digitális logikai áramkörök Integrált áramkör (IC, Integrated Circuit, chip, lapka) 5x5 mm 2 szilícium darab kerámia.
Gyorsító tár (cache – ábra)
EKG kapuzott (ECG gated) szív vizsgálat
A verem működése fpga-n
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ó:
Központi feldolgozó egység (CPU)
Mikroszámítógépek I 8085 processzor.
Mikroszámítógépek I 8085 processzor.
PIC processzor és környezete
Fuzzy halmazok. 4. előadás2 3 4 Egy hagyományos halmazEgy Fuzzy halmaz.
A mikrovezérlők világa
Egy harmadik generációs gép (az IBM 360) felépítése
1 Operációs rendszerek Az ütemezés megvalósítása.
Aritmetikai áramkörök
Számítógép architektúra
A számítógép alapegységei. A számítógép a belsőleg tárolt program segítségével automatikusan hajtja végre a programokat. A memória utasítások és adatok.
Turbo Pascal 11..
A Mikroprocesszor Második rész.
Mikrokontroller (MCU, mikroC)
PIO és DMA Zeke Éva Anita Készült a Számítógép rendszerek és perifériák tantárgyhoz.
A számítógép felépítése
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
A Mikroprocesszor Harmadik rész.
Hardware: (=kemény áru)
Óravázlat Készítette: Kucsera Mihály 2011.
Osztott adatbázisok.  Gyors ismétlés: teljes redukáló  Teljes redukáló költsége  Természetes összekapcsolások vetítése  Természetes összekapcsolások.
Ismerkedjünk tovább a számítógéppel
Máté: Orvosi képfeldolgozás8. előadás1 Kondenzált képek Transzport folyamat, pl. mukocilliáris klírensz (a légcső tisztulása). ROI kondenzált kép F 1 F.
Üreges mérőhely üreg kristály PMT Nincs kollimátor!
Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 7. előadás.
Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 8. előadás.
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
BIOLÓGUS INFORMATIKA 2008 – 2009 (1. évfolyam/1.félév) 3. Előadás.
A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg. Számítógép- architektúrák dr. Kovács György DE AVK GAIT.
Máté: Orvosi képfeldolgozás12. előadás1 Regisztrációs probléma Geometriai viszony meghatározása képek között. Megnevezései: kép regisztráció (image registration),
IT ALAPFOGALMAK HARDVER.
HEFOP 3.3.1–P /1.0A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg. 1 Számítógép architektúrák dr. Kovács.
ifin811/ea1 C Programozás: Hardver alapok áttekintése
Memóriakezelés feladatok Feladat: 12 bites címtartomány. 0 ~ 2047 legyen mindig.
Számítógépek felépítése 4. előadás ALU megvalósítása, vezérlő egység
1 Számítógépek felépítése 5. előadás a CPU gyorsítása, pipeline, cache Dr. Istenes Zoltán ELTE-TTK.
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)
A Számítógépek hardver elemei Korszerű perifériák és rendszercsatolásuk Mechatronika, Optika és Gépészeti Informatika Tanszék Kovács Endre tud. Mts.
Sz&p prof.
Z-80-s monitor program működésének aprólékos elemzése
Periféria (vezérlő) áramkörök
Építsünk Processzort Avagy mi is kell hozzá.
A Számítógépek hardver elemei
A Számítógépek felépítése, működési módjai
A Számítógépek felépítése, működési módjai
Pipeline példák (IMSC, 2019).
Cache példák 2019 (IMSC).
Számítógépek felépítése 9. előadás I/O rendszerek
Előadás másolata:

Máté: Architektúrák6. előadás1 Logikai utasítások Bitenkénti logikai műveleteket végeznek. 1 az igaz, 0 a hamis logikai érték. ANDop1,op2; op1  op1 & op2, bitenkénti és TESTop1,op2; flag-ek op1 & op2 szerint ORop1,op2; op1  op1 | op2, bitenkénti vagy XORop1,op2; op1  op1 ^ op2 (eXclusive OR), ; bitenkénti kizáró vagy NOTop; op  ~op, bitenkénti negáció, ; nem módosítja STATUS tartalmát!

Máté: Architektúrák6. előadás2 Bit forgató (Rotate) és léptető (Shift) utasítások Forgatják (Rotate) illetve léptetik (Shift) op tartalmát. A forgatás/léptetés történhet 1 bittel, vagy byte illetve word esetén a CL regiszter alsó 3 illetve 4 bit-jén megadott bittel jobbra (Right) vagy balra (Left). Az utoljára kilépő bit lesz a Carry új tartalma.

Máté: Architektúrák6. előadás3 A rotálás történhet a Carry-n keresztül, ilyenkor a belépő bit a Carry-ből kapja az értékét: RCRop,1/CL; Rotate through Carry Right RCLop,1/CL; Rotate through Carry Left C… C…

Máté: Architektúrák6. előadás4 A rotálás történhet úgy, hogy Carry csak a kilépő bitet fogadja, a belépő bit értékét a kilépő bit szolgáltatja: RORop,1/CL; Rotate Right ROLop,1/CL; Rotate Left C… C…

Máté: Architektúrák6. előadás5 A belépő bit balra léptetéskor mindig 0. Jobbra léptetéskor lehet 0 (logikai léptetés): SHRop,1/CL; SHift Right 0 SHLop,1/CL; SHift Left 0 Előjel nélküli egész számok 2 hatványával történő szorzására (SHL) és osztására (SHR) alkalmas. C… C…

Máté: Architektúrák6. előadás6 A belépő bit balra léptetéskor mindig 0. Jobbra léptetéskor lehet lehet op előjele (aritmetikai léptetés): SARop,1/CL; SHift Arithmetical Right SALop,1/CL; SHift Arithmetical Left SAL ≡ SHL Előjeles egész számok 2 hatványával történő szorzására (SAL) és osztására (SAR) alkalmas. C…

Máté: Architektúrák6. előadás7 hexaproc; ax kiírása hexadecimálisan xchgah,al; ah és al felcserélése callhexa_b; al (az eredeti ah) kiírása xchgah,al; ah és al visszacserélése call hexa_b; al kiírása ret; visszatérés hexaendp; a hexa eljárás vége

Máté: Architektúrák6. előadás8 hexa_bproc; al kiírása hexadecimálisan pushcx; mentés a verembe movcl,4; 4 bit-es rotálás előkészítése RORal,CL; az első jegy az alsó 4 biten callh_jegy; az első jegy kiírása RORal,CL; a 2. jegy az alsó 4 biten callh_jegy; a második jegy kiírása popcx; visszamentés a veremből ret; visszatérés hexa_bendp; a hexa_b eljárás vége

Máté: Architektúrák6. előadás9 h_jegyproc; hexadecimális jegy kiírása pushax; mentés a verembe ANDal,0FH; a felső 4 bit 0 lesz, ; a többi változatlan addal,’0’; + 0 kódja cmpal,’9’;  9 ? jleh_jegy1; ugrás h_jegy1 -hez, ha igen addal,’A’-’0’-0AH; A…F hexadecimális ; jegyek kialakítása h_jegy1:movah,14; BIOS hívás: int10H; karakter kiírás popax; visszamentés a veremből ret; visszatérés h_jegyendp; a hexa_b eljárás vége

Máté: Architektúrák6. előadás10 Processzor vezérlő utasítások A processzor állapotát módosít(hat)ják. A STATUS bitjeinek módosítása FlagCLearSeTSeTCoMplement CCLCSTCCMC DCLDSTD ICLISTI

Máté: Architektúrák6. előadás11 Processzor vezérlő utasítások NOP; NO oPeration, üres utasítás, ; nem végez műveletet. WAIT; A processzor várakozik, amíg más ; processzortól (pl. lebegőpontos ; segédprocesszortól) kész jelzést nem kap. HLT; HaLT, leállítja a processzort. A ; processzor külső megszakításig ; várakozik.

Máté: Architektúrák6. előadás12 Input, output, interfész, I/O lapkák UART (Universal Asynchronous Receiver and Transmitter) egy bájtot tud olvasni az adatsínről, és aztán sorosan továbbítja az eszközhöz (vagy fordítva), programmal konfigurálható (belső regiszterének beállításával):  5-8 bit szélesség,  sebesség ( bps),  paritás ellenőrzés (páros, páratlan, nincs). USART (Universal Synchronous Asynchronous Receiver and Transmitter): szinkron és aszinkron módon is tud működni.

Máté: Architektúrák6. előadás13 PIO (Parallel Input/Output, ábra) 24 B/K vonal, amellyel TTL kompatibilis eszközökhöz (billentyűzet, kapcsolók, nyomtatók) tud kapcsolódni. Konfigurálható. Leggyakoribb az ábrán látható használat. Aszinkron eszközökhöz „kézfogás” logika. Használata: Valódi B/K eszköz. Memóriára leképezett B/K (memory-mapped I/O). Pl.: ábra. Teljes és részleges cím dekódolás.

Máté: Architektúrák6. előadás14 Input, output (I/O) utasítások (I8086/88) A külvilággal történő információ csere port-okon (kapukon) keresztül zajlik. A kapu egy memória cím, az információ csere erre a címre történő írással, vagy erről a címről való olvasással történik. Egy-egy cím vagy cím csoport egy-egy perifériához kötődik. A központi egység oldaláról a folyamat egységesen az IN (input) és az OUT (output) utasítással történik.

Máté: Architektúrák6. előadás15 A perifériától függ, hogy a hozzá tartozó port 8 vagy 16 bites. A központi egységnek az AL illetve AX regisztere vesz részt a kommunikációban. A port címzése 8 bites közvetlen adattal vagy a DX regiszterrel történik. INAL/AX,port ; AL/AX  egy byte/word a port-ról OUTport,AL/AX ; port  egy byte/word AL/AX-ből

Máté: Architektúrák6. előadás16 A periféria oldaláról a helyzet nem ilyen egyszerű. Az input információ „csomagokban” érkezik, az output információt „csomagolva” kell küldeni. A csomagolás (vezérlő információ) mondja meg, hogy hogyan kell kezelni a csomagba rejtett információt (adatot). Éppen ezért az operációs rendszerek olyan egyszerűen használható eljárásokat tartalmaznak (BIOS rutinok, stb.), amelyek elvégzik a ki- és becsomagolás munkáját, és ezáltal lényegesen megkönnyítik a külvilággal való kommunikációt.

Máté: Architektúrák6. előadás17 Input/output ( ábra) Az I/O vezérlő regiszterei (5.30. ábra). Terminál: külön regiszterek az inputra és outputra. programozott B/K ábra, tevékeny várakozás megszakítás vezérelt B/K az eszköz megkapja a feladatát, majd ha elkészült, beállítja a „Megszakítás engedélyezett” bitet. DMA (Direct Memory Access, ábra) ha a tömb átvitele megkezdődhet, akkor a DMA önállóan végzi az eszköz figyelését és az adatok mozgatását. Cikluslopás.

Máté: Architektúrák6. előadás18 Megszakítás rendszer, interrupt utasítások Az I/O utasítás lassú  a CPU gyors, a CPU várakozni kényszerül I/O regiszter (port): a port és a központi egység közötti információ átadás gyors, a periféria autonóm módon elvégzi a feladatát. Újabb perifériához fordulás esetén a CPU várakozni kényszerülhet. Pollozásos technika: a futó program időről időre megkérdezi a periféria állapotát, és csak akkor ad ki újabb I/O utasítást, amikor a periféria már fogadni tudja. A hatékonyság az éppen futó programtól függ.

Máté: Architektúrák6. előadás19 Megszakítás A (program) megszakítás azt jelenti, hogy az éppen futó program végrehajtása átmenetileg megszakad – a processzor állapota megőrződik, hogy a program egy későbbi időpontban folytatódhassék – és a processzor egy másik program, az úgynevezett megszakítás kezelő végrehajtását kezdi meg. Miután a megszakítás kezelő elvégezte munkáját, gondoskodik a processzor megszakításkori állapotának visszaállításáról, és visszaadja a vezérlést a megszakított programnak.

Máté: Architektúrák6. előadás20 Pl.: nyomtatás Nyomtatás pufferbe, később a tényleges nyomtatást vezérlő program indítása. Nyomtatás előkészítése (a nyomtató megnyitása), HALT. A továbbiak során a nyomtató megszakítást okoz, ha kész újabb adat nyomtatására. Ilyenkor a HALT utasítást követő címre adódik a vezérlés. A következő karakter előkészítése nyomtatásra, HALT. A bekövetkező megszakítás hatására a megszakító rutin mindig a következő adatot nyomtatja. Ha nincs további nyomtatandó anyag, akkor a nyomtatást vezérlő program lezárja a nyomtatót (nem következik be újabb megszakítás a nyomtató miatt), és befejezi a működését.

Máté: Architektúrák6. előadás21 A HALT utasítás csak akkor szükséges, ha a nyomtatást kérő program befejezte a munkáját. Ellenkező estben visszakaphatja a vezérlést. Ilyenkor az ő feladata az esetleg szükséges várakozásról gondoskodni a program végén. Bevitel esetén olyankor is várakozni kell, ha még a beolvasás nem történt meg, és a további futáshoz szükség van ezekre az adatokra. Jobb megoldás, ha a HALT utasítás helyett az operációs rendszer fölfüggeszti a program működését, és elindítja egy másik program futását. Ez vezetett a multiprogramozás kialakulásához.

Máté: Architektúrák6. előadás22 A megszakító rutin megszakítható-e? Elromlik a visszatérési cím, stb. … „Alap” állapot – „megszakítási” állapot, megszakítási állapotban nem lehet újabb megszakítás. Hierarchia: megszakítási állapotban csak magasabb szintű ok eredményezhet megszakítást. Bizonyos utasítások csak a központi egység bizonyos kitüntetett (privilegizált) állapotában hajthatók végre, alap állapotban nem. → szoftver megszakítás. Megoldható az operációs rendszer védelme, a tár védelem stb. A megoldás nem tökéletes: vírus.

Máté: Architektúrák6. előadás23 Csapda és megszakítás Csapda (trap): A program által előidézett feltétel (pl. túlcsordulás) hatására automatikus eljárás hívás. Csapdakezelő. Megszakítás (interrupt): Olyan automatikus eljárás hívás, amit általában nem a futó program, hanem valamilyen B/K eszköz idéz elő, pl. a program utasítja a lemezegységet, hogy kezdje el az adatátvitelt, és annak végeztével megszakítást küldjön. Megszakításkezelő. A csapda a programmal szinkronizált, a megszakítás nem.

Máté: Architektúrák6. előadás24 Pl.: Egy sornyi karakter képernyőre írása a terminálon. Előkészítés: Egy rendszerprogram összegyűjti a kiírandó karaktereket egy pufferben, beállít egy globális változót, hogy mutasson a puffer elejére, egy másik globális változóban megadja a karakterek számát. Megnézi, hogy a terminál tud-e adatot fogadni (5.30. ábra), és ha igen, akkor elindítja az első karakter kiíratását. Ekkor a CPU fölszabadul egy másik program futtatására. A terminál a képernyőre írja a karaktert, és megszakítást kezdeményez.

Máté: Architektúrák6. előadás25 Megszakítás. Hardver tevékenységek (3.42. ábra) 1.Az eszköz vezérlője megszakítás jelet tesz a buszra, 2.ha a CPU fogadni tudja a megszakítást, nyugtázza, 3.az eszköz vezérlője a saját azonosítószámát (megszakítás-vektor) elküldi a buszon, 4.ezt a CPU átmenetileg tárolja, 5.a CPU a verembe teszi az utasításszámláló aktuális értékét és a PSW-t, 6.a CPU az azonosító indexű megszakítás kezelő címét teszi az utasításszámlálóba és gyakran betölti vagy módosítja PSW-t.

Máté: Architektúrák6. előadás26 Szoftver tevékenységek: 7.menti a regisztereket, 8.kiolvassa a terminál számát egy eszközregiszterből, 9.beolvassa az állapotkódot, 10.ha B/K hiba történt, itt lehet kezelni, 11.aktualizálja a mutatót és a számlálót, a kimenő pufferbe írja a következő karaktert, 12.visszajelez a eszköz vezérlőnek, hogy készen van, 13.visszaállítja a regisztereket, 14.visszatér a megszakításból, sokszor itt történik a PSW eredeti értékének visszaállítása is.

Máté: Architektúrák6. előadás27 Átlátszóság: Amikor bekövetkezik egy megszakítás, akkor bizonyos utasítások végrehajtódnak, de amikor ennek vége, a CPU ugyanolyan állapotba kerül, mint amilyenben a megszakítás bekövetkezése előtt volt. Ha sok eszköz van a rendszerben, akkor célszerű, ha egy megszakítás kiszolgálása közben másik megszakítás is történhet, ilyenkor a megszakítások hierarchiába vannak rendezve (5.44. ábra).

Máté: Architektúrák6. előadás28 I8086/88 Az i. megszakítási okhoz tartozó megszakító rutin FAR címe a memória 4i. címén található (0  i  255). A megszakítási ok sorszámát hardver megszakítás esetén a hardver egység installáláskor adott száma, szoftver megszakítás esetén az operandus rész szolgáltatja. Megszakítási ok jelentkezésekor a STATUS, CS és IP a verembe kerül, az I és a T flag 0 értéket kap (az úgynevezett maszkolható megszakítások tiltása és folyamatos üzemmód beállítása), majd (CS:IP) felveszi a megszakító rutin címét.

Máté: Architektúrák6. előadás29 Interrupt utasítások Szoftver megszakítást eredményeznek. INTi; 0  i  255, ; megszakítás az i. ok szerint. Az INT 3 utasítás kódja csak egy byte (a többi 2 byte), így különösen alkalmas nyomkövető (DEBUG) programokban történő alkalmazásra.

Máté: Architektúrák6. előadás30 A DEBUG program saját magához irányítja a 3-as megszakítást. Az ellenőrzendő program megfelelő pontján (törés pont, break point) lévő utasítást (annak 1. bájtját) átmenetileg az INT 3 utasításra cseréli, és átadhatja a vezérlést az ellenőrzendő programnak. Amikor a program az INT 3 utasításhoz ér, a megszakítás hatására a DEBUG kapja meg a vezérlést. Kiírja a regiszterek tartalmát, visszaírja azt a tartalmat, amit INT 3 -ra cserélt, elhelyezi az újabb törés pontra az INT 3 utasítást és visszaadja a vezérlést az ellenőrzendő programnak.

Máté: Architektúrák6. előadás31 Ezek alapján érthetővé válik a DEBUG program néhány „furcsasága”: Miért „felejti el” a töréspontot? Ha ugyanis nem felejtené el – azaz nem cserélné vissza a töréspontra elhelyezett utasítást az eredeti utasításra – akkor a program nyomkövetésében nem tudna továbblépni. Miért nem lehet egy ciklus futásait egyetlen töréspont elhelyezésével figyeltetni, stb?

Máté: Architektúrák6. előadás32 INTO; megszakítás csak O=1 (Overflow) ; esetén a 4. ok szerint Visszatérés a megszakító rutinból IRET; IP, CS, STATUS feltöltése a ; veremből

Máté: Architektúrák6. előadás33 Szemafor Legyen az S szemafor egy olyan word típusú változó, amely mindegyik program számára elérhető. Jelentse S=0 azt, hogy az erőforrás szabad, és S  0 azt, hogy az erőforrás foglalt. Próbáljuk meg a szemafor kezelését! ; 1. kísérlet ujra:movcx,S jcxzszabad...; foglalt az erőforrás, várakozás jmpujra szabad:movcx,0FFFFh movS,cx; a program lefoglalta az erőforrást

Máté: Architektúrák6. előadás34 ; 2. kísérlet ujra:MOVCX,0FFFFH XCHGCX,S; már foglaltat jelez a ; szemafor! JCXZszabad; ellenőrzés S ; korábbi tartalma szerint.... ; foglalt az erőforrás, ; várakozás jmpujra szabad:...; szabad volt az erőforrás, ; de a szemafor már foglalt

Máté: Architektúrák6. előadás35 Az XCHG utasítás mikroprogram szinten: Segéd regiszter  S; S  CX; CX  Segéd regiszter olvasás – módosítás – visszaírás ujra:movcx,0FFFFh LOCKxchgcx,S; S már foglaltat jelez jcxzszabad; ellenőrzés S korábbi ; tartalma szerint...; foglalt az erőforrás, várakozás jmpujra szabad:...; használható az erőforrás, ; de a szemafor már foglalt... MOVS,0; a szemafór szabadra állítása