Adresní mody procesoru

Podobné dokumenty
Úvod. Instrukce musí obsahovat: typ operace adresu operandu (operandů) typ operandů modifikátory adresy modifikátory operace POT POT

Procesor z pohledu programátora

požadovan adované velikosti a vlastností Interpretace adresy POT POT

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

ISU Cvičení 3. Marta Čudová

Princip funkce počítače

Architektury počítačů a procesorů

Strojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).

Systém adresace paměti

Jazyk symbolických adres

Strojový kód. Instrukce počítače

Struktura a architektura počítačů (BI-SAP) 11

Principy operačních systémů. Lekce 2: Správa paměti

Opakování programování

Dekódování adres a návrh paměťového systému

8. Laboratoř: Aritmetika a řídicí struktury programu

Přidělování paměti II Mgr. Josef Horálek

Paměťový podsystém počítače

Struktura a architektura počítačů (BI-SAP) 7

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Zobrazení dat Cíl kapitoly:

Adresace paměti. 11.přednáška

09. Memory management. ZOS 2006, L.Pešička

zení Koncepce připojení V/V zařízení POT POT ... V/V zařízení jsou připojena na sběrnici pomocí řadičů. Řadiče Připojení periferních zařízení

Počítač jako prostředek řízení. Struktura a organizace počítače

Procesor. Základní prvky procesoru Instrukční sada Metody zvýšení výkonu procesoru

Assembler RISC RISC MIPS. T.Mainzer, kiv.zcu.cz

PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 10

Registry 32 bitové pro všeobecné použití: EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP.

Architektura procesoru ARM

Pohled do nitra mikroprocesoru Josef Horálek

Kubatova Y36SAP procesor - control unit obvodový a mikroprogramový řadič RISC Y36SAP-control unit 1

Adresování paměti. Adresní prostor. Adresní módy (v instrukcích) T.Mainzer

Jan Nekvapil ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická

Přednáška. Strojový kód a data. 4. Přednáška ISA J. Buček, R. Lórencz

Y36SAP

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Přerušení POT POT. Přerušovací systém. Přerušovací systém. skok do obslužného programu. vykonávaný program. asynchronní událost. obslužný.

Y36SAP - aritmetika. Osnova

Registry 8*32bit ERn (=16*16bit En+Rn, 8*16bit+16*8bit En+RnH+RnL)

a operačních systémů

Struktura a architektura počítačů (BI-SAP) 1

Instrukční soubory, registrové struktury, způsoby adresace. INP 2008 FIT VUT v Brně

Vyčtení / zapsání hodnot z/do OMC8000 pomocí protokolu UDP

Čísla, reprezentace, zjednodušené výpočty

Koncepce DMA POT POT. Při vstupu nebo výstupu dat se opakují jednoduché činnosti. Jednotlivé kroky lze realizovat pomocí speciálního HW.

NSWI /2011 ZS. Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA

Katedra informatiky a výpočetní techniky. 10. prosince Ing. Tomáš Zahradnický doc. Ing. Róbert Lórencz, CSc.

ČEMU ROZUMÍ MIKROPROCESOR?

Datové struktury 2: Rozptylovací tabulky

Základní uspořádání pamětí MCU

Virtuální počítač. Uživatelský program Překladač programovacího jazyka Operační systém Interpret makroinstrukcí Procesor. PGS K.

MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti

Metody připojování periferií BI-MPP Přednáška 2

Intel (2) Intel (1) Intel (3) Intel (4) Intel (6) Intel (5) Nezřetězené zpracování instrukcí:

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Přednáška. Správa paměti I. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Architektury VLIW M. Skrbek a I. Šimeček

Principy počítačů a operačních systémů

ACM-MODBUS, popis komunikace s převodníkem

Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy)

PJC Cvičení #2. Číselné soustavy a binární reprezentace proměnných

Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb.

Operační systémy. Přednáška 7: Správa paměti I

Procesory, mikroprocesory, procesory na FPGA O. Novák, CIE 11 1

Operační systémy. Správa paměti (SP) Požadavky na SP. Spojování a zavedení programu. Spojování programu (linking) Zavádění programu (loading)

Pojem architektura je převzat z jiného oboru lidské činnosti, než počítače.

Operační systémy 2. Přednáška číslo 2. Přidělování paměti

Principy operačních systémů. Lekce 3: Virtualizace paměti

Obsah. Popis funkcí. RS485/MODBUS-RTU ver Komunikace s převodníkem probíhá na principu MASTER - SLAVE. Protokol MODBUS mát tuto strukturu:

Pamět ová hierarchie, virtuální pamět. doc. Ing. Róbert Lórencz, CSc.

Linux a 64 bitů. SUSE Labs. Michal Ludvig Vojtěch Pavlík

uioadda1 JEDNOTKA PRO OVLÁDÁNÍ DESEK IOADDA01, IOADDA02 A IODA01 Příručka uživatele a programátora


Architektura počítačů. Instrukce a návrh instrukční sady. Lubomír Bulej KDSS MFF UK

Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/YOS: Přednáška I / 21

Charakteristika dalších verzí procesorů v PC

Akademický rok: 2004/05 Datum: Příjmení: Křestní jméno: Osobní číslo: Obor:

Provádění instrukcí. procesorem. Základní model

Paměťová hierarchie. INP 2008 FIT VUT v Brně

výběr položk y z 2^14 řádků MPX & HIT /

Operační systémy. Přednáška 8: Správa paměti II

Čísla, reprezentace, zjednodušené výpočty

C2115 Praktický úvod do superpočítání

Sběrnicová architektura POT POT. Jednotlivé subsystémy počítače jsou propojeny sběrnicí, po které se přenáší data oběma směry.

Petr Krajča. 26. říjen, 2012

Struktura programu v době běhu

Řízení IO přenosů DMA řadičem

PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 2

Reprezentace dat v informačních systémech. Jaroslav Šmarda

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Architektury CISC a RISC, uplatnění v personálních počítačích

ÚVOD DO OPERAČNÍCH SYSTÉMŮ. Správa paměti. Přímý přístup k fyzické paměti, abstrakce: adresový prostor, virtualizace, segmentace

Obvody a architektura počítačů. Jednoprocesorové počítače

Přidělování paměti I Mgr. Josef Horálek

BI-JPO (Jednotky počítače) Cvičení

Architektura Intel Atom

Číselné soustavy. Binární číselná soustava

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-312

Transkript:

Adresní mody procesoru K.D. - přednášky 1 Obecně o adresování Různé typy procesorů mohou mít v instrukci 1, 2 nebo více adres. Operandy mohou ležet v registrech nebo v paměti. Adresní mechanismus procesoru musí umožnit: adresování instrukcí (skoky, větvení programu, podprogramy), adresování jednoduchých proměnných různé délky a typu, práci s indexovanými proměnnými, práci se strukturami. Lze řešit s různým podílem HW SW. Pokročilé požadavky: segmentování programu, stránkování,.... K.D. - přednášky 2

Základní typy adres v instrukci 1. Implicitní operand 2. Registrový operand 3. Přímý operand 4. Přímá adresa 5. Nepřímá adresa 6. Nepřímá adresa v registru 7. Indexová adresa 8. Bázová adresa 9. Složená (segmentová) adresa 10. Relativní adresa K.D. - přednášky 3 Implicitní operand Operand je určen přímo typem instrukce. Př.: RTS Naplní PC obsahem adresy určené SP. PC ani SP není v instrukci explicitně uveden. K.D. - přednášky 4

Registrový operand Operand je v registru (registrech), které jsou v instrukci explicitně uvedeny. Př.: ADD.B R0H, Sečte obsah a R0H, výsledek je v. 3E R0 R1 K.D. - přednášky 5 Přímý operand Operand je přímo uveden v instrukci. Znak # označuje přímý operand. Jeho hodnota je uložena v instrukci. Př.: MOV.B #, Uloží do hodnotu. MOV.B #, R0 R1 K.D. - přednášky 6

Přímá adresa Operand je uložen v paměti. Jeho adresa je uvedena v instrukci Znak @ znamená, že se jedná o adresu operandu. Př.: MOV.B @043A, Uloží do obsah adresy 043A. R0H Paměť K.D. - přednášky 7 Nepřímá adresa V instrukci je uvedena adresa paměti, kde je uložena adresa operandu. Znaky @@ znamenají, že se jedná o adresu adresy operandu. Př.: MOV.B @@0500, Uloží do obsah adresy 043A. (H8S umí pracovat s tímto typem adres jen omezeně). R0H 000500 000501 04 3A Paměť K.D. - přednášky 8

Nepřímá adresa v registru V instrukci je uvedena adresa registru, kde je uložena adresa operandu. Př.: MOV.B @R1, Uloží do obsah adresy 043A. R0H 04 3A R0 R1 Paměť K.D. - přednášky 9 Indexová adresa Poloha operandu v paměti je určena součtem adresy uvedené v instrukci a obsahem indexového registru. Př.: MOV.B @(043A+ER1), Uloží do obsah adresy 043A + 4. +4 R0H 00 04 ER1 K.D. - přednášky 10

Bázová adresa Poloha operandu v paměti je určena součtem obsahu registru a offsetu uvedeného v instrukci. Př.: MOV.B @(4+ER1), Uloží do obsah adresy 043A + 4. Implementace bázové a indexové adresy může ale nemusí být stejná. +4 R0H 04 3A K.D. - přednášky 11 ER1 Indexová a bázová adresa MOV.B @(043A+ER1), Rozsah adresování bází Báze = konstanta Index = registr Adresované položky Rozsah adresování indexem Rozsah adresování bází Báze = registr Index = konstanta Adresované položky Rozsah adresování indexem Indexová adresa Bázová adresa K.D. - přednášky 12

Složená (segmentová) adresa Adresa operandu v paměti se vypočítá složením z několika částí, uložených v registrech nebo v operandovém poli instrukce. Př.: MOV.B @(S1:043A), Uloží do obsah adresy určené složením registru S1 a hodnoty 043A z operandového pole instrukce. Tento typ instrukce (ani registr S1) není v instrukčním souboru procesoru H8S. S1 27 043A 27043A R0H K.D. - přednášky 13 Relativní adresa Adresa operandu v paměti se určí jako součet obsahu PC a offsetu, uloženého v operandovém poli instrukce nebo v některém registru. Př.: BCS 0005 Provede se skok na adresu PC + 5 ( je-li splněna podmínka C = 1). Před zvětšením o 5 ukazuje PC na adresu za instrukcí BCS. +4 +5 PC K.D. - přednášky 14

Little a Big Endian 000000 Data delší než 1 byte mohou být do paměti ukládána v pořadí LSB... MSB (= Little Endian), MSB... LSB (= Big Endian). 002000 002001 002002 002003 4D 3C 2B 1A +0 1A2B3C4D MSB LSB 1A 2B 3C 4D 3 2 1 0 Intel IA-32 je Little Endian. H8S je Big Endian. 000000 002000 002001 002002 002003 1A 2B 3C 4D +0 MSB 1A2B3C4D 1A 2B 3C 4D 0 1 2 3 LSB K.D. - přednášky 15 Zarovnání dat (Alignment) (1) 0... 00 x... x0 x... x1 a... a0 a... a1 x... x0 x... x1 x... x0 x... x1 WORD Zarovnané uložení (word alignment) Nezarovnané uložení Tato část adresy je pro všechny byty jednoho slova stejná. 0... 000 x... x11 a... a00 a... a01 a... a10 a... a11 x... x00 x... x01 x... x10 x... x11 x... x00 x... x01 x... x10 Double Word (DWORD) Zarovnané uložení (dword alignment) Nezarovnané uložení Tato část adresy je pro všechny byty jednoho double word stejná. K.D. - přednášky 16

Zarovnání dat (Alignment) (2) Zarovnané a nezarovnané uložení Word: 0100 0010 1111 1010 1111 0110 (42FAF6) 0100 0010 1111 1010 1111 0111 (42FAF7) 0100 0010 1111 1010 1111 0101 (42FAF5) 0100 0010 1111 1010 1111 0110 (42FAF6) Byte 0 Byte 1 Byte 0 Byte 1 Zarovnané uložení Nezarovnané uložení Zarovnané a nezarovnané uložení Double Word: 0100 0010 1111 1010 1111 0100 (42FAF4) 0100 0010 1111 1010 1111 0101 (42FAF5) 0100 0010 1111 1010 1111 0110 (42FAF6) 0100 0010 1111 1010 1111 0111 (42FAF7) Byte 0 Byte 1 Byte 2 Byte 3 Zarovnané uložení 0100 0010 1111 1010 1111 0011 (42FAF3) 0100 0010 1111 1010 1111 0100 (42FAF4) 0100 0010 1111 1010 1111 01 01 (42FAF5) 0100 0010 1111 1010 1111 0110 (42FAF6) Byte 0 Byte 1 Byte 2 Byte 3 Nezarovnané uložení K.D. - přednášky 17