Rozszerzalne kody operacji (przykład)

Podobne dokumenty
Adresowanie. W trybie natychmiastowym pole adresowe zawiera bezpośrednio operand czyli daną dla rozkazu.

Architektura komputerów

Architektura komputerów

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

ARCHITEKTURA PROCESORA,

Podstawy techniki mikroprocesorowej. Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel

Architektura typu Single-Cycle

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna

Struktura i działanie jednostki centralnej

Projektowanie. Projektowanie mikroprocesorów

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

Architektura komputerów

. III atyka, sem, Inform Symulator puterów Escape rchitektura kom A

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

architektura komputerów w 1 1

Organizacja typowego mikroprocesora

architektura komputerów w 1 1

SYSTEM MIKROPROCESOROWY

end start ; ustawienie punktu startu programu i koniec instrukcji w assemblerze.

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

Technika mikroprocesorowa I Wykład 2

organizacja procesora 8086

Język programowania: Lista instrukcji (IL Instruction List)

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Model programowy komputera I: format rozkazów, lista rozkazów, tryby adresowania, cykl rozkazowy, realizacja programu w komputerze.

Haszowanie (adresowanie rozpraszające, mieszające)

J. Duntemann Zrozumieć Assembler Leo J. Scanlon Assembler 8086/8088/80286 S. Kruk Programowanie w Języku Assembler

2 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.02 Rok akad. 2011/ / 24

Mikrokontrolery czyli o czym to będzie...

PODSTAWOWE ELEMENTY ASEMBLERA TRYBY ADRESOWANIA. OPERATORY ASEMBLERA

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

CPU architektura i rejestry

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

Tryby adresowania procesorów rodziny ColdFire

Procesory rodziny x86. Dariusz Chaberski

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24

MIKROKONTROLERY I MIKROPROCESORY

Logiczny model komputera i działanie procesora. Część 1.

Lista Rozkazów: Język komputera

Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe

Zadanie Zaobserwuj zachowanie procesora i stosu podczas wykonywania następujących programów

Stronicowanie w systemie pamięci wirtualnej

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

Architektura komputerów

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Podstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

Architektura systemów komputerowych

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer

Architektura mikroprocesorów z rdzeniem ColdFire

Programowanie Niskopoziomowe

Programowanie niskopoziomowe

002 Opcode Strony projektu:

Konieczne odwzorowanie (mapping) obiektów: nazwa (+indeks) adres lokacja

Lista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne

Programowanie Niskopoziomowe

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Architektura Systemów Komputerowych

2.1. W architekturze MIPS, na liście instrukcji widzimy dwie instrukcje dotyczące funkcji: .text main: la $a0, string1 # drukuj pierwszy łańcuch

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Mikroprocesor Operacje wejścia / wyjścia

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Rejestry procesora. Asembler CPU D0 D1 D2 D3 D4 D5 D6 D A0 A1 A2 A3 A4 A5 A6 USP (A7) SSP (A7 ) CCR SR

LEKCJA TEMAT: Współczesne procesory.

Zarządzanie pamięcią w systemie operacyjnym

Język programowania: Lista instrukcji (IL Instruction List) Wykład w ramach przedmiotu: Sterowniki programowalne Opracował dr inż. Jarosław Tarnawski

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.

Programowanie Niskopoziomowe

Architektura komputerów. Asembler procesorów rodziny x86

Zarządzanie zasobami pamięci

Sprzęt i architektura komputerów

Budowa Mikrokomputera

Magistrala systemowa (System Bus)

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Zarządzanie pamięcią operacyjną

Budowa komputera Komputer computer computare

Kolumna Zeszyt Komórka Wiersz Tabela arkusza Zakładki arkuszy

Budowa i zasada działania komputera. dr Artur Bartoszewski

LISTA ROZKAZÓW i TRYBY ADRESOWANIA

Procesor Intel 8086 model programisty. Arkadiusz Chrobot

Przesyłania danych przez protokół TCP/IP

Podstawy Informatyki Układ sterujący

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Programowanie w asemblerze Środowiska 64-bitowe

Jednostka centralna. dr hab. inż. Krzysztof Patan, prof. PWSZ











Transkrypt:

Tryby adresowania natychmiastowy (ang. immediate) bezpośredni (ang. direct) pośredni (ang. indirect) rejestrowy (ang. register) rejestrowy pośredni (ang. register indirect) z przesunieciem (indeksowanie) (ang. displacement (indexed) ) stosowy (ang. stack)

Rozszerzalne kody operacji (przykład) Komputer rozkazy 16b, adresy 4b (rejestrowe) może być max 16 rozkazów trójadresowych Możemy jednak nadać kodowi 1111 specjalne znaczenie jeśli 1111 1111 1111 to 16 rozkazów bezadresowych od 1111 1111 1111 0000 do 1111 1111 1111 1111 jeśli 1111 1110 lub 1111 1111 to 31 rozkazów jednoadresowych ( bo 1111 1111 1111 to rozkaz mniejadresowy) od 1111 1111 1110 0000 do 1111 1111 1110 1111 i 1111 1111 0000 do 1111 1111 1110 jeśli 1111 to 14 rozkazów dwuadresowych ( bo 1111 1110 oraz 1111 1111 to rozkazy mniejadresowe) od 1111 0000 do 1111 1101 jeśli nie 1111 to 15 rozkazów trójadresowych ( bo 1111 to rozkazy mniejadresowe) od 0000 do 1110 razem 15+14+31+16 = 76 kodów operacji (o 60 więcej)

Adresowanie natychmiastowe Argument (ang. operand) jest częścią rozkazu A zawartość pola adresowego w rozkazie Operand = A np. ADD 5 dodaj 5 do zawartości akumulatora 5 jest argumentem Nie ma odniesienia do pamięci w celu pobrania argumentu Zaoszczędzony jeden cykl pamięci Wielkość operandu ograniczona przez rozmiar pola adresowego Rozkaz Opcode Operand

Adresowanie bezpośrednie Pole adresowe zawiera adres operandu EA - efektywny adres (ang. effective address ) lokacji zawierający odniesiony argument EA = A np. ADD A dodaj zawartość komórki A do akumulatora pod adresem A znajduje się operand Jedno odniesienie do pamięci Nie są potrzebne dodatkowe obliczenia Zakres adresacji ograniczony przez wielkość pola adresowego (słowo - opcode)

Adresowanie bezpośrednie (c.d.) Opcode Rozkaz Adres A Pamięć Operand

Adresowanie pośrednie Pole adresowe odnosi się do słowa w pamięci, które zawiera pełnej długości adres argumentu (X) zawartość lokacji X (rejestr lub adres pamięci) EA = (A) znajdź A, znajdź adres (A) pod którym jest operand np. ADD (A) dodaj zawarość komórki pamięci wyznaczonej przez zawartość pod adresem A do akumulatora Większa przestrzeń adresowa: 2 n gdzie n = długość słowa Może być zagnieżdżone (ang. nested, multilevel, cascaded) np. EA = (((A))) Zad. Narysuj diagram Wiele odniesień do pamięci głównej w celu pobrania argumentu (dlatego wolne)

Adresowanie pośrednie (c.d.) Opcode Rozkaz Adres A Pamięć Wskaźnik operandu Operand

Adresowanie rejestrowe Operand znajduje się w rejestrze określonym w polu adresowym EA = R Ograniczona liczba rejestrów (32) Małe pole adresowe (zwykle 3 do 5 bitów) krótsze rozkazy i czas pobrania z rejestru Ograniczona przestrzeń adresowa

Adresowanie rejestrowe (c.d.) Opcode Rozkaz Adres rejestru R Rejestr Operand

Pośrednie adresowanie rejestrowe Adres w rejestrze odnosi się do słowa w pamięci, które zawiera adres operandu EA = (R) Operand jest w komórce pamięci wskazanej przez adres zawarty w rejestrze R Duża przestrzeń adresowa (2 n ) O jedno odniesienie do pamięci mniej niż przy adresowaniu pośrednim

Pośrednie adresowanie rejestrowe (c.d.) Opcode Rozkaz Adres rejestru R Pamięć Rejestry Wskaźnik operandu Operand

Adresowanie z przesunięciem EA = A + (R) Pole adresowe zawiera dwie wartości A= wartość bazowa R = rejestr zawierający przesunięcie lub odwrotnie Najczęstsze zastosowania adresowanie względne (ang. relative addressing) adresowanie z rejestrem podstawowym (ang. base-register addressing) indeksowanie (ang. indexed addressing)

Adresowanie z przesunięciem (c.d.) Rozkaz Opcode Rejestr R Adres A Pamięć Rejestry Wskaźnik operandu + Operand

Adresowanie z przesunięciem (c.d.) adresowanie względne R = licznik programu, PC EA = A + (PC) zgodność z zasadą lokalności odniesień (np. w pamięci podręcznej) adresowanie z rejestrem podstawowym A zawiera przesunięcie a R adres bazowy R może zawierać adres bezpośredni lub pośredni np. rejestry segmentowe w 80x86 zgodność z zasadą lokalności odniesień

Adresowanie z przesunięciem (c.d.) indeksowanie A = adres bazowy, R = przesuniecie EA = A + R adresowanie dobre dla tablic: EA = A + R; R++ autoindeksowanie: EA = A + (R); (R) <- (R) + 1 kombinacje indeksowanie wtórne (ang. postindex): EA = (A) + (R) indeksowanie wstępne (ang. preindex): EA= (A + (R))

Adresowanie stosowe Operand znajduje się na wierzchołku stosu wskazanym przez rejestr np. ADD Usuń (POP) dwa wierzchołkowe elementy stosu i dodaj