Tryby adresowania i formaty rozkazów mikroprocesora

Slides:



Advertisements
Podobne prezentacje
Tryby adresowania Prawie każda operacja wykonywana przez mikroprocesor wykonywana jest na pewnych argumentach (lub argumencie). Sposoby wskazywania argumentów.
Advertisements

Zerowanie mikroprocesorów Cel: wprowadzenie mikroprocesora w określony stan początkowy Zwykle realizowany poprzez: inicjalizację licznika rozkazów (PC)
Architektura jednostki centralnej RD MBR MAR IRPC +1 WR jednostka sterująca ALU A F Adres Dane Rejestry: MAR – (Memory Address Register) rejestr adresowy.
Programowanie w PMC.
Język C/C++ Funkcje.
Wykonał : Marcin Sparniuk
Idea, podstawowe parametry, cechy, charakterystyka
PROGRAMOWANIE STRUKTURALNE
CPU.
Lista rozkazów Działanie mikroprocesora jest kontrolowane poprzez rozkazy (instrukcje). Dla każdego typu mikroprocesora istnieje specyficzny zbiór rozkazów,
1 RISC – nasze założenia Podstawowe cechy: Wszystkie operacje są realizowane na rejestrach, Tylko operacje typu load i store wymagają dostępu do pamięci,
Podstawowe składniki funkcjonalne procesora i ich rola.
Alokacja pamięci struct Test {char c; int n; double x; } st1; st1 cnxcnx
ARCHITEKTURA KOMPUTERÓW definicja komputera PROCESOR PAMIĘĆ OPERACYJNA URZĄDZENIA ZEWNĘTRZNE.
Podstawy informatyki Powtórka Grupa: 1A Prowadzący: Grzegorz Smyk
Tablice.
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
Magistrala & mostki PN/PD
Komputer, procesor, rozkaz.
Temat nr 10: System przerwań
SO – LAB3 Wojciech Pieprzyca
Procesory RISC.
Temat : Części komputera
ZARZĄDZANIE PROCESAMI
Budowa Komputera.
Mikroprocesory i mikrokontrolery
Układy wejścia-wyjścia
Komputer a system komputerowy
Architektura komputerów
przykładowy 8-bitowy mikroprocesor uniwersalny CISC
Opracowanie: Maria W ą sik. Pierwsze komputery budowano w celu rozwi ą zywania konkretnych problemów. Gdy pojawiało si ę nowe zadanie, nale ż ało przebudowa.
(Instruction Unit)dekoder
Budowa komputera.
Architektura komputerów
Zasada działania komputera
Elementy składowe komputera
Autor: Justyna Radomska
Budowa komputera.
Etapy pracy biosu.
Mikroprocesory mgr inż. Sylwia Glińska.
Architektura komputerów
Architektura systemów komputerowych (jesień 2013)
Mikroprocesory.
Mikroprocesory mgr inż. Sylwia Glińska.
Przerwanie ang. interrupt.
Pamięć komputerowa S t r u k t u r a p a m i ę c i.
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Architektura PC.
MICROSOFT Access TWORZENIE MAKR
Budowa komputera ProProgramer.
Wykład 7 Synchronizacja procesów i wątków
URZĄDZENIA TECHNIKI KOMPUTEROWEJ
Procesor – charakterystyka elementów systemu. Parametry procesora.
Programowanie strukturalne i obiektowe C++
WYKŁAD 3 Temat: Arytmetyka binarna 1. Arytmetyka binarna 1.1. Nadmiar
System plików.
Procesor, pamięć, przerwania, WE/WY, …
Pamięć DRAM.
Powtórzenie wyk ł adu 10 Fizyczna organizacja danych w bazie danych. Indeksy.
Architektury procesorów rdzeniowych mikrokontrolerów.
Pamięć SRAM.
Procesy, wątki Program a proces Proces: Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) Otwarte.
Zasady arytmetyki dwójkowej
Programowanie Zaawansowane
Architektura systemów komputerowych (jesień 2015) Wykład 5 Budowa i działanie komputera dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki.
Złącza stosowane w systemach audio
POLITECHNIKA POZNAŃSKA
Testy jednostkowe. „Test jednostkowy (unit test) to fragment kodu, który sprawdza inny fragment kodu”
Mikrokontrolery System przerwań
Format rozkazu Tryby adresowania.
Zapis prezentacji:

Tryby adresowania i formaty rozkazów mikroprocesora

Cykl rozkazowy

Cykle pracy procesora

Fazy wykonania rozkazu

Fazy wykonania rozkazu Pobranie rozkazu i zapisanie w pamięci rokazu Dekodowanie rozkazu – określenie wykonywanej czynności Pobranie niezbędnych argumentów Wykonanie rozkazu Zapisanie wyniku

Definicja rozkazu Rozkazem (instrukcją) nazywamy najprostszą operację jaką wykonuje mikroprocesor. Sposób realizacji rozkazu nie jest istotny dla użytkownika systemu i z reguły nie jest znany. Nawet jeżeli wiemy, że dany rozkaz jest realizowany jako ciąg prostszych operacji, zwanych mikrooperacjami czy mikrorozkazami, i tak nie mamy żadnego wpływu na sposób realizacji rozkazu. Został on po prostu wyznaczony przez projektanta mikroprocesora. Listą rozkazów nazywamy zestaw wszystkich instrukcji (rozkazów), jakie potrafi wykonać dany procesor. Rozkazy tworzące listę rozkazów możemy podzielić na kilka podstawowych grup w zależności od ich przeznaczenia. - rozkazy przesłań, - rozkazy arytmetyczne i logiczne, - rozkazy sterujące (skoki, wywołania podprogramów, pętle itp.), - inne (np. sterowanie pracą koprocesora, rozkazy testujące, operacje w trybie chronionym).

Format rozkazu Formatem rozkazu nazywamy sposób rozmieszczenia informacji w kodzie rozkazu. Trybem adresowania nazywamy sposób określenia miejsca przechowywania argumentów rozkazu. Argumenty rozkazu (przypominamy, że może to dotyczyć zarówno danych, jak i w pewnych przypadkach wyników) mogą być przechowywane w rejestrach, w pamięci lub w kodzie rozkazu.

Adresowanie natychmiastowe Przy adresowaniu natychmiastowym argument rozkazu zawarty jest w kodzie rozkazu. Widzimy więc, że adresowanie natychmiastowe w zasadzie nie jest adresowaniem w zwykłym sensie. Argument (operand) jest umieszczony w kodzie rozkazu, z czego między innymi wynika fakt, że musi być znany w momencie pisania programu. Dana jest tak naprawdę stałą programową.

Adresowanie bezpośrednie Przy adresowaniu bezpośrednim kod rozkazu zawiera adres komórki pamięci, w której przechowywany jest rozkaz. Konsekwencją takiego określenia adresowania bezpośredniego jest to, że jeśli używamy tego adresowania, w momencie pisania programu musimy znać (lub inaczej - zarezerwować) adres przechowywania argumentu

Adresowanie rejestrowe Przy adresowaniu rejestrowym w kodzie rozkazu określony jest rejestr, w którym przechowywany jest argument. Zaletami użycia tego trybu adresowania są krótkie kody rozkazów oraz szybkie ich wykonywanie (krótki czas dostępu do rejestru).

Adresowanie pośrednie przez pamięć Umożliwia modyfikacje położenia argumentu w pamięci w trakcie wykonywania programu. Inaczej mówiąc, adres przechowywania tego argumentu może zostać wyliczony przez program, co jest bardzo użyteczną własnością. Ponadto kody takich rozkazów są krótkie. W trybie adresowania pośredniego przez pamięć kod rozkazu zawiera adres pamięci, gdzie znajduje się adres komórki pamięci zawierającej argument.

Adresowanie pośrednie przez rejestr Umożliwia modyfikacje położenia argumentu w pamięci w trakcie wykonywania programu. Inaczej mówiąc, adres przechowywania tego argumentu może zostać wyliczony przez program, co jest bardzo użyteczną własnością. Ponadto kody takich rozkazów są krótkie. W trybie adresowania pośredniego przez rejestr kod rozkazu zawiera numer rejestru, gdzie znajduje się adres komórki pamięci zawierającej argument.

Adresowanie indeksowe Adresowanie indeksowe jest inaczej nazywane modyfikacją adresu przez Indeksowanie W tym trybie wykorzystuje się specjalne rejestry procesora tzw. Rejestry indeksowe (index registers), które zawierają przesunięcie, które trzeba dodać do adresu istniejącego w rozkazie aby wyliczyć adres finalny operandu. Ten tryb adresowania pozwala przesunąć adres zawarty w rozkazie o wartośd rejestru indeksowego. Dzięki operacji indeksowania rozkazów programu, wszystkie adresy operandów zostaną przesunięte o tę sama Wartość –przesunięcie. Taka organizacja przesuwalności programu w pamięci nosi nazwę dynamicznej relokacji programu w pamięci

Adresowanie względne Polega na modyfikacji adresu zawartego w rozkazie przez aktualną zawartość licznika rozkazów. Ten tryb adresowania dostarcza innego sposobu osiągnięcia dynamicznej przesuwalności adresów dostępu do danych, tj. gdy nie chcemy lub nie możemy znad przesunięcia całości programu w stosunku do adresu zerowego. Przy tym trybie adresowania, finalny adres danej jest wyliczany względem bieżącej zawartości licznika rozkazów.

Wykonanie rozkazów

Pobranie instrukcji z pamięci – ang. instruction fetch (IF) Zdekodowanie instrukcji – ang. instruction decode (ID) Wykonanie instrukcji – ang. execute (EX) Dostęp do pamięci – ang. memory access (MEM) Zapisanie wyników działania instrukcji – ang. store; write back (WB)