Architektura komputerów Tydzień 4 Tryby adresowania i formaty
Tryby adresowania Natychmiastowy Bezpośredni Pośredni Rejestrowy Rejestrowy pośredni Z przesunięciem stosowy
Argument natychmiastowy Op Rozkaz Argument
Adres natychmiastowy Adresowanie natychmiastowe jest najprostszą formą adresowania, w której argument tak naprawdę zastępuje adres i jest obecny bezpośrednio w rozkazie. Zaletą adresowania natychmiastowego jest to, że żadne odniesienie do pamięci, poza pobraniem rozkazu, nie jest potrzebne do uzyskania argumentu. Wadą jest mały rozmiar pola w rozkazie.
Adres bezpośredni Op Rozkaz Adres Pamięć Argument
Adres bezpośredni W adresie bezpośrednim pole adresowe zawiera efektywny adres argumentu. Ta metoda nie wymaga żadnych obliczeń. Wadą jest nieprzenaszalność programu i znaczne ograniczenie przestrzeni adresowej.
Adres pośredni Op Rozkaz Adres Pamięć Adres Argument
Adres pośredni Przy adresowaniu pośrednim w instrukcji zakodowany jest adres pamięci, który dopiero zawiera właściwy adres argumentu. Możliwe jest wykorzystanie pamięci o małych adresach, dzięki czemu adres zakodowany w rozkazie może być krótki, a w pamięci umieszczony adres o pełnej długości, pozwalający na wykorzystanie pełnej przestrzeni adresowej procesora.
Adres rejestrowy Op Rozkaz R Rejestry Argument
Adresowanie rejestrowe Adresowanie rejestrowe oznacza, że w instrukcji mamy zakodowany numer (adres) rejestru, a nie adres pamięci. Procesory zwykle zawierają od kilku (np. 8), do kilkudziesięciu (np. 64) rejestrów, dzięki czemu pole adresowe odnoszące się do rejestru może mieć od 3 do 6 bitów długości.
Adres rejestrowy pośredni Op Rozkaz R Pamięć Rejestry Adres Argument
Pośrednie adresowanie rejestrowe Zasada pośredniego adresowania jest taka sama jak poprzednio. Tym razem jednak pole adresowe w rozkazie odwołuje się do rejestru. Dopiero w rejestrze jest zawarty adres argumentu w pamięci. Dodatkową zaletą tego sposobu adresowania pamięci jest o jeden dostęp do pamięci mniej, gdyż adres pośredni przechowywany jest w rejestrze, zamiast w pamięci.
Adres z przesunięciem Op Rozkaz R Adres Pamięć Rejestry Adres + Argument
Adresowanie z przesunięciem Jest to połączenie adresowania bezpośredniego i rejestrowego. Wymaga dwóch pól adresowych w rozkazie: odniesienia do rejestru i do pamięci. Do adresu bezpośredniego zakodowanego w rozkazie jest dodawana zawartość rejestru. Istnieje odmiana zwana adresowaniem indeksowanym, gdzie dodajemy zawartość rejestru zwanego indeksowym. Może być też forma, gdzie używamy dwóch rejestrów: indeksowego i bazowego.
Adres stosowy Op Rozkaz Pamięć - stos Rejestr wierzchołka stosu Adres Zajęte
Adresowanie stosowe Stos jest określonym blokiem pamięci, gdzie element włożony jako ostatni jest wyjmowany jako pierwszy. Najczęściej jest realizowany jako tablica. Rejestr stosu wskazuje adres wierzchołka stosu, czyli ostatniego elementu. Najczęściej stos jest adresem domyślnym i w rozkazie nie koduje się żadnego adresu.
Tryby adresowania Pentium Natychmiastowy Rejestrowy Z przesunięciem Z rejestrem podstawowym Z rejestrem podstawowym i przesunięciem Skalowane indeksowanie z przesunięciem Z rejestrem podstawowym z indeksem i przesunięciem Z rejestrem podstawowym ze skalowanym indeksowaniem i z przesunięciem Względny
Tryby adresowania PowerPC Pośredni - ładowanie/zapis Pośredni indeksowany - ładowanie/zapis Bezwzględny - skoki Względny - skoki Pośredni - skoki Rejestrowy - obliczenia Natychmiastowy - obliczenia całkowite
Formaty rozkazów Format rozkazu określa rozkład bitów rozkazu w odniesieniu do jego części składowych. Musi zawierać kod operacji oraz adresy argumentów w jednej z przedstawionych wcześniej postaci. Format rozkazu musi w sposób jawny lub domyślny określać tryb adresowania każdego argumentu. W większości procesorów występuje więcej niż jeden format rozkazu.
Długość rozkazu Im krótszy rozkaz, tym zajmuje mniej pamięci i może być szybciej wczytany. Dłuższe rozkazy pozwalają na umieszczenie większej ilości informacji lub dłuższych adresów. Długość rozkazu powinna być wielokrotnością jednostki transferu (najczęściej słowa), choć możliwe są wyjątki od tej reguły. Słowo powinno być wielokrotnością długości znaku, jeśli operacje na znakach są brane pod uwagę (w maszynach do obliczeń numerycznych to może nie mieć dużego
Przydział bitów Przy ustalonej długości rozkazu trzeba zdecydować ile bitów przeznaczyć na poszczególne elementy rozkazu. Większa lista rozkazów wymaga dłuższego pola kodu operacji. Dłuższy kod operacji, to mniej miejsca na adresy argumentów.
Przydział bitów Liczba trybów adresowania. Przy jawnym trybie adresowania trzeba go określić. Liczba argumentów. Im więcej argumentów tym mniej miejsca dla każdego. Ilość rejestrów. Liczba zestawów (jeden ogólny, czy więcej specjalizowanych). Zakres możliwych adresów. Stopień granulacji adresu. Czy adresujemy pojedyncze bajty, czy słowa?