Materialy 12

Architektura Von Neumanna, Harwardzka i połączona

Powyższy podział jest podziałem ze względu na typ mapy pamięci. Mapa pamięci (memory map) w sposób graficzny przedstawia rozmieszczenie poszczególnych pamięci w przestrzeni adresowej jednostki centralnej. Oprócz adresów obszarów RAM, ROM i innych rodzajów pamięci, mapa ta podaje usytuowanie rejestrów uniwersalnych, adresów procedur obsługi przerwań, rejestrów układów we/wy (dostępne przez adresowanie pamięci RAM).

Architektura von Neumanna

rodzaj architektury komputera, przedstawionej po raz pierwszy w 1945 roku przez Johna von Neumanna stworzonej wspólnie z Johnem W. Mauchly'ym i Johnem Presper Eckertem.

Polega na ścisłym podziale komputera na trzy podstawowe części:

System komputerowy zbudowany w oparciu o architekturę von Neumanna powinien:

Informacja jest tam przetwarzana dzięki sekwencyjnemu odczytywaniu instrukcji z pamięci komputera i wykonywaniu tych instrukcji w procesorze.

Architektura Von-Neumanna cechuje się jednolitą przestrzenią adresową, w której wszystkie pamięci, rejestry i układy we/wy są umieszczone w jednej, wspólnej przestrzeni adresowej. W architekturze tej zakłada się, że podział przestrzeni adresowej na pamięć programu, pamięć danych oraz obszar we/wy jest czysto umowny i zależy wyłącznie od rozmieszczenia tych elementów w obszarze adresowym podczas projektowania systemu. Mk ma jedną szynę danych wspólną dla danych i programu

System komputerowy von Neumanna nie posiada oddzielnych pamięci do przechowywania danych i instrukcji. Instrukcje jak i dane są zakodowane w postaci liczb. Bez analizy programu trudno jest określić czy dany obszar pamięci zawiera dane czy instrukcje. Wykonywany program może się sam modyfikować traktując obszar instrukcji jako dane, a po przetworzeniu tych instrukcji - danych - zacząć je wykonywać.

Architektura von Neumanna tworzy w pewnym miejscu tzw. wąskie gardło ograniczające moc procesora. Tym miejscem jest szyna, czyli kanał, przez który procesor komunikuje się z pamięcią i urządzeniami zewnętrznymi. Rozważmy (często spotykaną) instrukcję procesora, która pobiera jedno słowo danych z pamięci. Taka instrukcja wymaga:

W architekturze harwardzkiej adres danej można podawać do pamięci danych już w czasie podawania adresu następnej instrukcji pamięci programu. Taka architektura ułatwia przetwarzanie potokowe.

Rozwiązaniem jest zastosowanie pamięci podręcznej cache.

Programowanie jest ułatwione, gdyż dostęp do danych, programu i urządzeń we/wy odbywa się przy użyciu zunifikowanych rozkazów wykorzystujących te same tryby adresowania. Zatem nie istnieje tu potrzeba wprowadzania specjalnych rozkazów pozwalających na przepływ danych pomiędzy pamięcią ROM i RAM.

Cechy architektury von Neumana

Przykłady mikroprocesorów: ARM

Architektura Harvardzka

Opiera się na użyciu dwóch oddzielne układów pamięci (osobny układ do operacji na rozkazach i osobny do operacji na danych) i dwóch magistral łączących te pamięci z procesorem, dzięki czemu w trakcie pobierania argumentów wykonywanej właśnie instrukcji można równocześnie zacząć pobieranie następnego słowa rozkazowego (pre-fetch). Skraca to cykl rozkazowy i zwiększa szybkość pracy. Obszary adresowe pamięci danych i programu (wewnętrznych i czasami zewnętrznych) są rozdzielone. Pociąga to za sobą niejednoznaczność adresów, ponieważ pod tym samym adresem jednostka centralna widzi pamięć RAM i ROM.

W tym przypadku stosuje się inne rozkazy dla pamięci programu i inne dla pamięci danych. Ponadto magistrala danych i rozkazów mają różną szerokość (długość słowa).

Separacja pamięci danych od pamięci rozkazów sprawia, że architektura harwardzka jest obecnie powszechnie stosowana w mikrokomputerach jednoukładowych, w których dane programu są najczęściej zapisane w nieulotnej pamięci ROM (EPROM/EEPROM), natomiast dla danych tymczasowych wykorzystana jest pamięć RAM (wewnętrzna lub zewnętrzna).

W architekturze typu Harvard komputer ma możliwość jednoczesnego dostępu do danych oraz do rozkazów programu co bardzo zwiększa jego efektywność. Procesory o takiej strukturze stosowane są przede wszystkim w obróbce sygnałów, w tak zwanych procesorach DSP (Digital Signal Processing ).

Architektura harwardzka jest także stosowana przy dostępie procesora do pamięci cache.

Przykłady mikroprocesorów: AVR, DSP

Zmodyfikowana architektura harwardzka

Jest rozwiązaniem pośrednim, starającym się połączyć zalety architektury harwardzkiej i Von-Neumanna. Obszary pamięci ROM i RAM są rozdzielone, ale charakteryzują się taką samą długością słowa. Wykorzystują one wspólne magistrale danych i adresową.

Dzięki multiplekserom MUX i odpowiedniej organizacji magistrali pamięci ROM i RAM możliwe jest z pewnymi ograniczeniami przesyłanie stałych z pamięci ROM do rejestrów i pamięci RAM. Jedynym rejestrem niewidocznym jako komórka pamięci RAM jest rejestr akumulatora A.

Przykłady mikroprocesorów: rodzina mikrokontrolerów 8051

Architektura RISC (i porównanie z CISC)

czyli o zredukowanej liście instrukcji.

Cechy RISC:

Pojęcie ortogonalności oznacza unifikację instrukcji według następujących zasad:

RISC a CISC – Podstawowe różnice:

CISC – Complete Instruction Set Computer RISC – Reduced Instruction Set Computer
  • Rozbudowane instrukcje

    • Operacje arytmetyczne bezpośrednio na lokalizacjach w pamięci

  • Możliwość zaawansowanego programowania w języku maszynowym

  • Różna długość instrukcji

    • Często występujące instrukcje 8-bitowe

    • Rzadsze rozbudowane instrukcje o większej długości

  • Znaczne różnice czasu wykonania poszczególnych instrukcji

  • Mikrooperacje realizowanie są synchronicznie razem z  sygnałem fazy

  • Znacznie ograniczony zestaw instrukcji

  • Operacje ALU tylko na rejestrach

  • Prosty tryb adresowania – uproszczone odwołania do pamięci

  • Wszystkie instrukcje identycznej długości (32b)

  • Znacznie prostsza konstrukcja procesora

  • Mikrooperacje realizowanie są synchronicznie razem z sygnałem zegarowym


CISC

RISC

Architektura MIPS

Microprocessor without Interlocked Pipeline Stages - (Kaliornijski Uniwersytet Stanford)

Pomiędzy poszczególnymi fazami potoku nie występują relacje wymagające sprzętowego uzależnienia.

Obowiązek odpowiedniego ułożenia kodu programu spada na kompilatory - Idea w praktyce b. trudna do spełnienia.

Najnowsze z procesorów MIPS - R10000 i R12000 (64 bitowe)- wyposażone są w zwielokrotnione jednostki zmiennoprzecinkowe, oraz w superskalarne jednostki wykonawcze (do 5 instrukcji równocześnie).

Układy MIPS stanowią serce graficznych stacji roboczych Silicon Graphics. (Filmy „Toy Story", „Jurassic Park", „Dawno temu w trawie".)

Architektura EPIC

Explicitly Parallel Instruction Computing - przetwarzanie jawnie równoległe

(Intel Itanium)

Grupowanie instrukcji i oznaczaniu ich wzajemnych relacji już na etapie kompilacji programu. Instrukcje są zamknięte w tzw. paczkach (po trzy instrukcje), które są ładowane do procesora równocześnie.

Każda paczka zawiera przedrostek - grupę bitów informujących procesor o tym, do których jednostek ma skierować poszczególne rozkazy.

W przedrostku znajdują się też informacje o tzw. barierach wykonań służących do koordynacji wykonywania poszczególnych instrukcji. Jeśli pomiędzy dwoma ciągami rozkazów znajdują się bariery wykonania, to drugi ciąg zostanie wykonany dopiero wtedy gdy znane będą wyniki działania rozkazów z pierwszego ciągu.

Skalowalność: Kod nie jest on dostosowany ściśle do budowy procesora (jak w układach VLIW) - zamiast równoległych instrukcji i odwołań zawiera tylko informacje, które instrukcje mogą się wykonać równolegle

Architektura VLIW - Very Long Instruction Word

Wada: brak skalowalności

Np. TMS320C6211(?)

Obecnie procesory VLIW są oparte na architekturze RISC, zazwyczaj z czterema lub maksymalnie ośmioma jednostkami obliczeniowymi. Po normalnej kompilacji programu, kompilator VLIW porządkuje kod na ścieżki, które wprost nie posiadają jakichkolwiek zależności. Następnie są one dzielone na cztery lub więcej części (jeden dla każdej jednostki obliczeniowej CPU) i pakowane razem w większe instrukcje z dodatkową informacją odnośnie do jednostki, na której ma być wykonywana. Rezultatem tego jest pojedynczy wielki opcode (stąd nazwa "Very Long").

Procesor TriMedia firmy Philips jest przedstawicielem architektury VLIW, tak samo jak Intel Itanium IA-64.

Mikroprocesor motorola 68 000

Dane przechowywane w tych rejestrach mogą być:

Organizacja danych w pamięci

  1. Dane mogą mieć rozmiar 8, 16 lub 32 bitów (bajt, słowo, długie słowo)

  1. Instrukcja MOVE, przesyłająca daną binarną z jednego miejsca do drugiego, posiada trzy formy:

    1. MOVE.B - przesyła daną o długości bajtu,

    2. MOVE.W - przesyła daną o długości słowa,

    3. MOVE.L - przesyła daną o długości długiego słowa.

Kolejnymi rejestrami są:

Tryby adresowania

Obsługa przerwań:

Odpytywanie – polling

Sytuacja wyjątkowa / przerwanie (Exception / Interrupt)

Sytuacja wyjątkowa - odstępstwo od normalnego wykonywania ciągu instrukcji programu w celu obsługi nieprzewidzianego lub/i krytycznego zdarzenia w systemie mikroprocesorowym

Sytuacje wyjątkowe powstają na skutek:

Typy sytuacji wyjątkowych:

Obsługa sytuacji wyjątkowej:

Priorytety sytuacji wyjątkowych:

Sytuacja wyjątkowa o priorytecie niższym może być przerwana przez sytuację o priorytecie wyższym (np. obsługa błędu programowego może być przerwana przez przerwanie zewnętrzne).

Priorytet Sytuacja wyjątkowa
Najwyższy

Reset

Bus error

error

Średni

Trace

Interrupt

Illegal instruction

Privilege violation

Najniższy

TRAPcc, TRAP #n

Divide by Zero,

CHK

Procesor ARM - ”najelegantszy” procesor

Skonstruowany całkowicie od podstaw w 1986 roku przez brytyjską firmę Acorn.

Acorn RISC Machine, „przechrzczony” po kupieniu Acorna przez Olivetti na Advanced RISC Machine.

Każda z instrukcji zawiera 4-bitowy kod, określający warunki jej wykonania, a także bit wskazujący na to, czy dana instrukcja może zmienić zawartość rejestru stanu procesora. Konstrukcja taka pozwala na eliminację wielu rozgałęzień programu, upraszcza znacznie logikę procesora, a równocześnie przyspiesza wykonanie programu dzięki zmniejszeniu objętości kodu.

Procesor Strong ARM, pracuje obecnie z zegarami w zakresie 100-300 MHz przy poborze mocy rzędu zaledwie 1 W !!!

Rdzeń ARMv4T (ARM7)

Architektura RISC (Reduced Instruction Set Computers)

Architektura von Neumana

Rejestry mikrokontrolerów RISC

Wyjątki obsługiwane przez rdzeń ARM7TDMI


Tryby pracy rdzenia

Tryby pracy rdzenia (z punktu widzenia instrukcji)

Cykl Rozkaz 1 Rozkaz 2 Rozkaz 3
1 Pobranie
2 Dekodowanie Pobranie
3 Wykonanie Dekodowanie Pobranie
4 Wykonanie Dekodowanie
5 Wykonanie

Fazy wykonania rozkazu – praca potokowa

Kodowanie rozkazów arytmetycznych i logicznych w trybie ARM:

Przesuwnik bitowy:

STARTUP – początek pracy

DSP - Procesor TMS320C50

Typowy system cyfrowego przetwarzania sygnałów (DSP – Digital Signal Processing) – budowa:

Procesor TMCS320C50

Przegląd właściwości:

Przegląd właściwości c.d.:

Pamięć RAM:

Pamięć ROM

Rdzeń – Zestaw równolegle działających układów arytmetycznych, logicznych i rejestrów (duża prędkość). Zgodny z TMS3201x/2x:

Układy peryferyjne – umożliwiają współpracę z urządzeniami zewnętrznymi

Przerwania:


Tryby adresowania:

i486

OGÓLNA CHARAKTERYSTYKA

ARCHITEKTURA

REJESTRY

REJESTRY – REJESTR FLAGOWY

REJESTRY – STERUJACE, TABLIC DESCRYPTORÓW

Rejestry sterujące CRx – CR1 zarezerwowany dla przyszłych wersji procesora

ORGANIZACJA PAMIECI

ORGANIZACJA PAMIECI – TRYBY

Tryb rzeczywisty

Tryb chroniony

SEGMENTACJA

DESKRYPTORY

DESKRYPTORY SYSTEMOWE

INICJALIZACJA - PRZEJSCIE DO TRYBU CHRONIONEGO

STRONICOWANIE

STRONICOWANIE - POLA KATALOGU TABLIC I TABLICY STRON

Pola wpisu w katalogu tablic stron i tablicy stron:

Mechanizmy ochrony podczas stronicowania pracuje na 2 poziomach:

STRONICOWANIE - OPIS

Podział segmentów na strony pozwala na zapisanie segmentu niekoniecznie w postaci ciągłej. Poszczególne jego strony zapisywane są w nieobsadzone 4kB obszary pamięci dysponowanej.

Stronicowanie powoduje oczywiście wprowadzenie dodatkowego etapu przy adresacji. Mianowicie przeliczenie adresu logicznego na fizyczny. Proces przeliczania powoduje wydłużenie czasu realizacji dostępu, a także narzuca wymogi na posiadanie dodatkowego obszaru pamięci operacyjnej, gdzie znajduje się „przewodnik” po stronach. Są to tak zwane tablice translacji (struktura dwupoziomowa) umożliwiające przeliczenie adresu liniowego na fizyczny. Aby przeliczyć adres konieczne są kontakty z tzw. katalogiem tablic i indywidualną tablicą stron. Należy pamiętać, że każde zadanie może (nie musi) dysponować własnymi tablicami translacji. Adres bazowy tablicy wyższego rzędu (tzw. katalog tablic) zawarty jest w rejestrze CR3.

Inicjacja stronicowania to po prostu ustawienie bitu PG w rejestrze CR0 (rozkaz LMSW nie może być w tym przypadku użyty, ponieważ ma on dostęp tylko do młodszego słowa CR0, a bit PG znajduje się w starszym słowie). Oczywistym jest, że należy przynajmniej częściowo mieć przygotowaną tablicę translacji, zapisaną wartość w rej. CR3, a samo przełączenie nie może spowodować zmiany adresu, tzn. przeskoku µP w inne miejsce. Następujący po ustawieniu bitu PG proces translacji musi spowodować przejście z adresu (jest to od tego momentu adres liniowy) na ten sam adres fizyczny. Oznacza to, że przełączenia dokonujemy na tzw. stronie transparentnej.

Ustawienie bitu PG nie może nastąpić wcześniej niż przejście do trybu wirtualnego (możemy uczynić to równocześnie). Pierwszą instrukcją po ustawieniu PG musi być skok (najczęściej do następnej lokacji). Wycofanie się ze stronicowania to wyzerowanie bitu PG (tryb wirtualny dalej aktualny). Możliwe jest oczywiście równoczesne przejście w tryb rzeczywisty z wyłączeniem stronicowania. Operacja ta musi być zrealizowana także na stronie transparentnej.

Gdyby µP przy translacji każdego adresu (kodu, danych i stosu) sięgał dwukrotnie do tablic translacji, działanie takie nie miałoby sensu (kilkakrotne spowolnienie pracy µP). Dlatego też dysponuje on wewnętrzną, szybką pamięcią asocjacyjną, w której zapisuje opisy ostatnio używanych stron. Jeżeli przykładowo pamięć zawiera 128 pozycji, to można zapamiętać sposób translacji obszaru o rozmiarze 512kB. µP na początku translacji szuka oczywiście opisów stron w pamięci asocjacyjnej, a dopiero potem sięga do tablic zewnętrznych.

Oczywistym jest, że po takim kontakcie uzupełnia pamięć asocjacyjną ewentualnie usuwając z niej opisy stron najdawniej używanych (gdy pamięć jest „pełna”). W przypadku, gdy podczas wykonywania instrukcji µP stwierdzi równocześnie błąd związany z segmentacją i stronicowaniem, to pierwszy zgłaszany jest błąd segmentacji, a po jego obsłudze i ponowieniu wykonania instrukcji zgłaszany jest stan wyjątkowy błędu stronicowania. W tym przypadku rejestr CR2 podaje nam błędny adres liniowy, który spowodował ten wyjątek. Wyjątek stronicowania ma numer 14 i umieszcza na stosie dodatkowe informacje o szczegółowej przyczynie.

PAMIEC NOTATNIKOWA (CACHE)

Przetwarzanie potokowe

Struktura potoku jednostki centralnej procesora RISC

Struktura cyklu rozkazowego procesora

Rozkaz realizuje się w czterech etapach:

Cykl rozkazowy procesora

W wykonaniu każdej instrukcji przez procesor można wyróżnić kilka faz. Typowo wyróżnia się następujące fazy:

Należy zauważyć, że dla wielu instrukcji niektóre z wymienionych faz są zbędne, np. instrukcja przesłania międzyrejestrowego nie wymaga użycia jednostki arytmetyczno-logicznej.

Potok o „głębokości” 5: Wykonywanie każdej instrukcji trwa 5 cykli, ale efektywnie tylko jeden.

Podstawowe problemy:

Sposoby minimalizacji wad:

Magistrala - „wąskie gardło”

  1. Różna długość instrukcji

  2. Podwójne pobranie z pamięci

Efekt ten NIE WYSTĘPUJE w procesorach o architekturze RISC (LES)

konieczność pobierania równocześnie instrukcji (kodu) oraz argumentów instrukcji (danych) z tej samej pamięci

Mikrooperacje

MNEMONIK OPIS OPERACJA

KOD

(HEX )

BAJTY/

CYKLE

UWAGI
ACALL adr11 Subroutine call on page

SPSP+1

(SP)PC7-0

SPSP+1

(SP)PC 15-8

PC10-0adr11

11,31,51

71,91,

B1,D1,

F1

2/2 adr11- adres 11 - bitoey
LCALL adr16 Subroutine call

SPSP+1

(SP)PC7-0

SPSP+1

(SP)PC 15-8

PCadr16

12 3/2 adr16 - adres 16 - bitowy
RET

Return from

subroutine

PC15-8←(SP)

SPSP-1

PC7-0(SP)

SPSP-1

22 1/2
RETI

Return from

interrupt

PC15-8←(SP)

SPSP-1

PC7-0(SP)

SPSP-1

32 1/2
PUSH ad Push onto stack

SPSP+1

(SP)<ad>

C0 2/2

ad - bezpośredni adres

8 - bitowy

POP ad Pop from stack

<ad>(SP)

SPSP-1

ad - bezpośredni adres

8 - bitowy

Mikrooperacje to elementarne sygnały elektryczne, służące do sterowania przepływem danych pomiędzy rejestrami. Realizowanie są synchronicznie razem z sygnałem zegarowym (RISC) lub sygnałem fazy (CISC).

Mikrooperacja – elementarna czynność układu sekwencyjnego, którą układ ten może zrealizować bez potrzeby rozkładania na czynności prostsze

Oznaczenia:

Mikrooperacje:

W modelu von Neumanna zadaniem procesora jest przetworzenie danych, których jedynym źródłem jest pamięć. Wykonanie rozkazu zaczyna się od pobrania z pamięci słowa traktowanego jako kod instrukcji. Kolejno następuje pobranie danych z pamięci, ich przetworzenie i zapis wyniku do pamięci. Wynik rozkazu zależy od wykonania rozkazów poprzednich. Chwilowe umieszczenie danych w rejestrach procesora służy zmniejszaniu obciążenia magistrali i nie jest sprzeczne z modelem przetwarzania.

Podstawową rolę pełni pamięć zorganizowana zgodnie z następującymi zasadami:

W koncepcji von Neumanna termin pamięć oznacza tę część magazynu informacji, którą procesor może zaadresować podczas wykonywania pojedynczego rozkazu.

Informacje z innych części magazynu informacji (nazywanych pamięcią wtórną lub masową) mogą być przetworzone dopiero po ich uprzednim skopiowaniu do adresowanej przez procesor pamięci głównej (zwaną operacyjną lub pierwotną)

Program jest sekwencją rozkazów/poleceń, zatem podczas wykonywania rozkazu powinien być znany adres lub sposób wyznaczania kolejnego rozkazu. Układ wytwarzający adres kolejnego rozkazu podczas wykonywania poprzedniego nosi nazwę licznika rozkazów

W architekturze Harwardzkiej rozdzielono pamięć główną na osobne pamięci danych i rozkazów. Umożliwia to nie tylko równoczesne pobieranie kodu rozkazu i argumentów, ale także zabezpieczenie kodu przed przypadkowym zniszczeniem.

Oprócz funkcji przetwarzania wynikający z realizowanego algorytmu, komputer powinien wypełniać również wiele innych zadań, związanych zwłaszcza z kontrolą poprawności wykonania rozkazów.

W architekturze Harward mamy 2 szyny danych oraz 2 szyny adresowe. Transmisja danych i instrukcji odbywa się w sposób równoległy. Architektura ta jest prostsza od von Neumanna i ma dużo większą szybkość działania oraz obsługuje mechanizm potokowy.

Cykl – stan pomiędzy kolejnymi zmianami stanu. Najkrótszy czas między zmianami stanu procesora to cykl procesora, czas potrzebny na zmianę stanu pamięci to cykl pamięci (cykl rozkazowy), który może obejmować kilka cykli procesora

Rozkaz – jest funkcją rx∊R:M->M, która przeprowadza stan wejściowy na wyjściowy. Rozkazy są zakodowane i umieszczone w pamięci jak inne dane. Sekwencja rozkazów tworzy makrorozkaz. Wykonanie każdego rozkazu rozpoczyna się od pobrania jego kodu z pamięci. Kolejnym etapem jest dekodowanie rozkazu w celu wytworzenia sygnałów sterując, zwykle połączone z wytworzeniem adresów argumentów. Po ewentualnym odczycie argumentu z pamięci następuje wytworzenie wyniku. Wynik musi zostać zapamiętany w pamięci lub rejestrze procesora. Wykonanie każdego rozkazu powoduje zmianę stanu procesora, nawet gdy pozornie nie jest wytworzony żaden wynik.

Przetwarzanie (proces kojarzenia). Wykonanie każdego etapu przetwarzania wymaga użycia układu funkcjonalnego realizującego potrzebną funkcję i dostarczenia do tego układu danych stanowiących argumenty funkcji. Proces przetwarzania jest ciągiem kojarzeń ortogonalnych zasobów: danych oraz układów/jednostek wykonawczych.

Zależnie od etapu wykonania rozkazu wystąpi w tym procesie jedna z dwóch opcji:

Drugi sposób przetwarzania może wystąpić w etapie wykonania, a także w etapie dekodowania. W innych etapach potrzebne działania są dokładnie określone.

Czas cyklu procesora zależy od złożoności instrukcji i konstrukcji układów je realizujących oraz technologii wykonywania.

Przetwarzania rozkazu: Kolejnymi rozkazami przetwarzania rozkazu są: pobranie rozkazu z pamięci, dekodowanie i wykonanie (w szczególności transfer rejestr-pamięć)

Motorola 68k (CISC)

Tryby adresowania:

4 rodzaje rejestrów:

Rejestry ogólnego przeznaczenia = adresowe + danych

ARM (RISC, von Neumann)

W procesorach ARM stosuje się mechanizm bankowania rejestrów, który polega na tym, że gdy procesor zmienia tryb ochrony zestaw niektórych rejestrów jest podmieniany na inny. W efekcie każdy tryb ochrony posiada własny rejestr, który jest widoczny tylko w tym trybie.

Potok trójpoziomowy (pobranie->dekodowanie->wykonanie)

Cechy ARM:

Rejestry:

7 trybów pracy:

i486

Mechanizm segmentacji: tłumaczy adres wirtualny na liniowy

Mechanizm stronicowania (?): tłumaczy adres liniowy na fizyczny

Adresowanie wirtualne (translacja adresu logicznego na liniowy)

Segment jest wybierany za pomocą 16-bitowego selektora. Selektor wskazuje na deskryptor opisujący segment. Deskryptor jest umieszczony w tablicy deskryptorów. W deskryptorze jest zawarty adres początku segmentu.

W trybie chronionym rejestry segmentowe zawierają selektory, które wskazują na pole w tablicy deskryptorów. Ze wskazanego element tablicy deskryptorów procesor pobiera 32-bitowy adres bazowy, który sumowany jest z przesunięciem. Tak powstaje adres liniowy, który przywłączonym mechaniźmie stronicowania zostaje poddany transformacji na adres fizyczny.

W trybie rzeczywistym adres mają 20 bitów. Natomiast rjestry mają 10 bitów. Zatem by uzystać fizyczny adres komórki pamięci zawartość rejestru segmentowego mnoży się razy 16 i dodaje przesunięcie OFFSET. Adres fizyczny liczony jest z zawartości przesuniętego rejestru segmentowego oraz wartości przesunięcia (max 1MB pamięci fizycznej)

Potokowe – przeiwdywanie skoków – przetwarzanie potokowe zwiększa wydajność mikroprocesora ale problemem staje się z poleceniem przeniseienia sterowania zwłaszcza warunkowe. Polecenia te powodują zmianę sekwencyjnego wykonywania poleceń programu

Strategie przewidywania skoków:

Pamięć cache łącznie z wyspecjalizowaną jednotką CPU używa się do przewidywania adresów skoków.

Cache – pamięć podręczna to relatywnie mały obszar pamięci o krótkim czasie dostępu, w której przechowywana jest kopia danych bądź programu z pamięci głownej

Zawartość rejestrów ogólnego przeznaczenia zależna jets od aktulanie wykonywanego zadania. Rozkaz wykonują operacje 1, 8, 16, 32 oraz 64 bitowe oraz operacje na polach bitowych od 1 do 32b.

32-bitowy adres liniowy dzielony jest na 3 części: indeks katalogu, indeks tablicy i offset.

Definicje

System komputerowy – zestaw jedno lub wielokomputerowy wraz z odpowiednim oprogramowaniem przeznaczonym do wykonywania określonych zadań

Sprzęt – czyli elektroniczne komponenty komputera przede wszystkim jednostka centralna (procesory, pamięć, sterowniki) oraz urządzenia zewnętrzne

Oprogramowanie – zapisane na nośniku informacji programy i dane umożliwiające eksploatację systemu komputerowego i realiację zadań użytkowników systemu

System operacyjny – program działający jako pośrednik między użytkownikiem komputera a sprzętem komputerowym

Architektura komputera – część opisu struktur komputera widziana poprzez programistę działającego na poziomie oprogramowania podstawowego za pomocą języka assembler.

Organizacja komputera – obejmuje wzajemne powiązania i współdziałanie jego poszczególnych bloków funkcjonalnych

Bit –najmniejsza jednostka informacji rozróżniana w komputerze

Bajt – ciąg zerojedynkowy o długości 8-bitów

Słowo maszynowe – Określa się zwykle długość ciągu zerojedynkowego na którym możliwe jest równoległe dokonywanie większości operacji

Linia – jednolita droga przesyłania sygnałów (realizacja techniczna = przewód)

Szyna – zbiór linii służących do przesyłania grup sygnałów. Linie te sągrupowane według funkcji sygnałów i stąd pochodzą ich nazwy: szyna danych, adresowa i sterowania

Magistrala – połączenie składające się zwykle z szyny danych, adresowej i sygnałów sterujących

Przestrzeń adresowa – zbiór wszystkich możliwych adresów, które mogą zostać wygenerowane przy dostępie do pamięci

Rozkaz – zerojedynkowy ciąg pobrany z pamięci w celu określenia na jego podstawie dalszych działań procesora

Lista rozkazów – zbiór wszystkich możliwych rozkazów ( różnych )

Mikrooperacja arytmetyczna – operacja przesłań między rejestrami. Zmienia wartość operacji podczas przesyłania, poprzez układy logiczne wykonujące odpowiednią funkcję arytmetyczną

Cykl rozkazowy – ciąg czynności wykonywanych poprzez układ sterowania jednostki centralnej procesora w czasie realizacji jednego rozkazu. NA cykl rozkazowy składa się faza pobrania i wykonania (co najmniej)

Cykl maszynowy – cykl, w którym następuje przesłanie danych (odczyt lub zapis) między jednostką centralną a pamięcią lub układem we/wy a rejestrami procesora. Jeden cykl maszynowy wykonywane jest podczas jednego lub kilku taktów zegara systemowego

Stopnie MIPS:

Stopnie CISC (i486):

Synchronizacja potoku – usuwanie hazardu R-A-W:

Intel x86 (16-bitowy CISC)

Tryby adresowania:

Rejestry

Pamięć 8086 – pamięć danych i programu jset 8-bitowa, ale możlwie jest adresowanie słów wielobajtowych. Stos jest 16-bajtowy. Te 3 rodzaje pamięci są adresowane za pomocą wspólnej magistrali adresowej. Stos to obszar pamięci do któ®ego wpisujemy dane bądź są łądowane adresy w wyniku wykorzytania podprogramów lub przerwań.

20-bitowa magistrala adresowa pozwala na zaadresowanie do 1MB pamięci operacyjnej. Przestrzeń adresowa zostałą podzielona na segmenty o długości 64kB.

Rodzaje adresowania


Wyszukiwarka

Podobne podstrony:
Gospodarka materiałowa (12 stron) HFDIRTSU2VC6EWBNZCIRNI5VHSPNWOZ7MFLMNJI
material 12
Katechetyka materialna 12 12 2009
11 podstawy nauki o materiałach 12 12 2012id 12758 pptx
10 podstawy nauki o materiałach 12 12 2012id 11294 pptx
inzynieria produkcji budowlanej, NAUKA, budownictwo materiały 16.12.2010, projekty, budownictwo - te
12 ćwiczenia na emisję głosu, Materiały na zajęcia teatralne, Praca WARSZTATY TEATRALNE
2.12 molowe ciepło właściwe, materiały, Fizyka
Kresowa księga sprawiedliwych T 12 Studia i materiały Warszawa 2007 ISBN 978 83 60464 61 8
13a funkcje zarzadzania w aspekcie zasobów inf, Procesy informacyjne w zarządzaniu, materiały studen
Materialy Budowlane-3R, NAUKA, budownictwo nowe 4.12.2011, Materiały budowlane
sciaga na Bo-zerówka I, NAUKA, budownictwo materiały 16.12.2010, projekty, Budownictwo ogólne
tpr- cwiczeni--ix --6.12.2010, UR materiały, semestr III, semestr III, sciaga tpr
FOLIE MIESZANKA BETON, NAUKA, budownictwo nowe 4.12.2011, Materiały budowlane
12 DEGRADACJA MATERIAŁÓW
TEMTYN~1, NAUKA, budownictwo materiały 16.12.2010, projekty, Budownictwo ogólne
12-helowceTECH, Materiały PG, Nieorgana
Historia Polski XX wieku Materiały do egzaminu historia polski XXw wykład! 11 12

więcej podobnych podstron