wykład-7

Transkrypt

wykład-7
Wykład jest przygotowany dla IV semestru
kierunku Elektronika i Telekomunikacja.
Studia I stopnia
Dr inż. Małgorzata Langer
Architektura
komputerów
Prezentacja multimedialna
współfinansowana przez Unię Europejską
w ramach Europejskiego Funduszu Społecznego
w projekcie
„Innowacyjna dydaktyka bez ograniczeń
– zintegrowany rozwój Politechniki Łódzkiej –
zarządzanie Uczelnią,
nowoczesna oferta edukacyjna
i wzmacniania zdolności do zatrudniania
osób niepełnosprawnych”
Zadanie nr 30 – Dostosowanie kierunku Elektronika i Telekomunikacja
do potrzeb rynku pracy i gospodarki opartej na wiedzy
90-924 Łódź, ul. Żeromskiego 116,
tel. 042 631 28 83
www.kapitalludzki.p.lodz.pl
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Standardy magistrali
• Najważniejsze atrybuty magistrali, to: mechanizm transferu, obsługa
przerwań oraz arbitraż
• Procesor jest zawsze szybszy od magistrali
• MULTIBUS I. (IEEE Standard 796) – istnieje od 1976 roku, wciąż
bywa stosowany( od Intel 8080 do 80386; Z80, Motorola 68030),
obsługuje systemy jedno- i wieloprocesorowe, 8 i 16 bitowe;
maksymalnie do 24 linii adresowych (ADR0 – ADR23); 16 linii
danych (DAT0 – DAT15), (przy 8-bitowym procesorze
wykorzystywane tylko pierwsze 8; DAT0 jest najmniej znaczącym
bitem), 8 linii przerwań (również wektorowych); przesył danych
asynchroniczny (zegar 10 MHz tylko do funkcji sterowania
przydziałem, inicjalizacji, itd.); możliwa obsługa DMA, kilku
uprawnień master; maksymalnie 19 MB/s
Architektura komputerów, część 6
2
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Przesył danych w Multibus I
1. Master magistrali umieszcza adres pamięci lub I/O na liniach
adresowych
2. Master magistrali generuje odpowiedni sygnał rozkazu
3. Slave albo akceptuje dane do zapisu, albo umieszcza dane na
liniach danych do odczytu
4. Slave wysyła sygnał potwierdzenia transferu (XACK) do master
5. Master magistrali usuwa sygnał z linii rozkazów i czyści linie adresu
i danych
Ponieważ przesył jest asynchroniczny i występuje ryzyko
„zawieszenia”, wprowadza się czas czekania (bus timeout),
umożliwiający przerwanie cyklu w przypadku błędu (zawsze większy
niż 1 ms)
Architektura komputerów, część 6
3
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Multibus II
• Standard powstał na zamówienie konsorcjum, adoptując standard
IEEE 1101, licencje Simensa format Eurocard; wdrożony przez Intel
w pojedynczym układzie VLSI jako MPC – message passing
coprocessor; specyfikacja znajduje się w IEEE/ANSI 1296
• 32 bitowy, z kontrolą parzystości, 40 Mb/s; adresowanie
„geograficzne” – z lokalizacją wejść i urządzeń przy rozruchu, co
eliminuje potrzebę rekonfiguracji; praca niezależna i równoległa
(dziewięć 32 bitowych buforów pracujących na zasadzie FIFO i
zintegrowanych z MPC)
• Specyfikacja Multibus II stosuje PAKIETY danych; kolejny pakiet
wyrusza z kolejną krawędzią taktu zegarowego (10 MHz) – każdy
może przebywać w magistrali nie dłużej niż 1 µs
• Dwa mechanizmy arbitrażu: równy – fairness, lub z priorytetem; po
każdym pakiecie obsługiwany jest następny czekający adres
Architektura komputerów, część 6
4
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Multibus II
• Standardowe powtarzanie w przypadku błędu parzystości – 16 razy,
później następuje przerwanie do głównego CPU komputera
• Ponieważ istnieją dokładne specyfikacje, wielu producentów
produkuje kompatybilne magistrale w standardzie Multibus II
• Poszczególne wersje wzbogacane są o dodatkowe funkcje i
algorytmy; obowiązuje poszerzona norma IEE/ANSI 1296.2
Architektura komputerów, część 6
5
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
VMEbus
• Założenia projektowe magistrali i interfejsu
- zezwolenie na komunikację pomiędzy urządzeniami bez
przeszkadzania innym wewnętrznym czynnościom urządzeń
podłączonych do magistrali
- elektryczne i mechaniczne parametry systemów dopuszczonych
do podłączenia do magistrali
- dokładnie podane protokoły definiujące współpracę urządzeń
- dokładne zdefiniowanie wszystkich nazw, parametrów i wymagań
opisujących protokół systemu
- łatwość zaprojektowania kompatybilnych urządzeń
- interfejs nie powinien stanowić ograniczenia dla możliwości
urządzeń
Architektura komputerów, część 6
6
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
VMEbus
• Magistrala danych posiada 32 linie danych, 32 linie adresu 9
podstawowych cykli transferu (read, block read, write, block write,
read-modify-write, address-only, unaligned write, interupt,
acknowledge); blok jest ograniczony do 256 bajtów
• Przeznaczona do systemów wieloprocesorowych
• Zegar 16 MHz
• Obsługa również sygnałów z otwartą pętlą (open-loop) – czyli
transmisji – nie ma wtedy sygnałów potwierdzających
Architektura komputerów, część 6
7
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
USB – Universal Serial Bus – wersje 1.0 ;2.0; 3,0
• ZALETY
- Łatwość dołączenia do PC urządzeń peryferyjnych;
- Umożliwienie dołączania nowych klas urządzeń, które zwiększają
możliwości komputera
- Niski koszt uzyskania szybkości transmisji do 12Mb/s (USB1.1) ;
480Mb/s (USB2.0); ~5 GB/s (3.0)
- Pełne dostosowanie do przesyłania danych w czasie rzeczywistym
dla głosu, dźwięku i skompresowanych sekwencji wideo;
- Elastyczny protokół z mieszaniem transmisji danych (w czasie
rzeczywistym) i komunikatów (asynchronicznej);
- Standardowy interfejs, nadającego się do szybkiego
zaimplementowania w istniejących i nowych produktach;
- Niski pobór energii, możliwe ładowanie akumulatorów urządzenia
Architektura komputerów, część 6
8
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
USB – Tryby transmisji
• Isochronous Transfer – transfer zapewniający prawidłową
synchronizację multimediów, przy ściśle gwarantowanym,
jednakowym czasie opóźnień. Nie ma retransmisji w przypadku
błędów, nie ma mechanizmów handshakingu
• Bulk Transfer – wielkie bloki danych; transmisja nie ma priorytetu,
automatyczna retransmisja w przypadku błędów, mechanizmy
handshakingu
• Interrupt Transfer – podobnie, jak ‘bulk’ plus okresowe
sprawdzanie gotowości podłączonego urządzenia (polling)
• Control Transfer – do sterowania, kontroli, konfiguracji,
WYSYŁANIE KOMEND DO URZĄDZENIA INTERFEJSOWEGO
• (od wersji 3.0) – przesył „SuperSpeed” – do 5,0 Gbit/s
Architektura komputerów, część 6
9
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Ogólne specyfikacje USB
•
•
•
•
•
Wersje 1.0 (od roku 1996) i 2.0 – 4 przewody (2 – zasilanie „+ 5V” (1) i
masa (4); 2 – dane (3 i 4))
Wersja USB 3.0 (specyfikacja w 2008 roku) – 4 przewody dodatkowe dla
technologii szybkiego przesyłu (razem 8); dodatkowy tryb transmisji
Trzy rozmiary wtyczka – gniazdo (standardowy, mini i mikro) o dwóch
wrsjach – „A” (płaski); „B” – styki po obu stronach wtyczki
USB obsługuje do 16 wyjść i 16 wejść (Standard USB przewiduje
jednoczesne obsługiwanie do 30 końcówek, dwie są zarezerwowane), co
pozwala na jednoczesne niezależne transfery (np. obraz z kamery i
niezależnie nagrywanie, lub odczytywanie dźwięku).
Urządzenia różnych producentów mieszczą się w znormalizowanych
klasach funkcjonalności (od 00 do FF) – np. klasa 03Hex – to tzw Human
Interface Device – (mysz, klawiatura); 07Hex – drukarka; 08Hex – USB
flashdrive, itd.
Architektura komputerów, część 7
10
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Urządzenie podłączone do interfejsu USB musi
• Rozumieć protokół USB
• Odpowiadać na standardowe komendy i wykonywać operacje, takie, jak
konfiguracja, zerowanie;
• Zawierać standardowe informacje opisujące swoje możliwości.
W opisie muszą być przynajmniej:
- dane na temat urządzenia (Device Descriptor) umożliwiające
załadowanie odpowiedniego sterownika
- konfiguracji (jeżeli urządzenie może pracować w kiklu konfiguracjach –
to informacja o każdej z nich); np. możliwość pracy ze zmniejszonym
poborem mocy i pełnym poborem
- interfejsu w tym samym czasie mogą być czynne więcej niż 1 interfejs
(w czasie gry z CD-ROM, jednocześnie sterownik do muzyki, grafiki i
danych)
- punktów końcowych USB jest szeregowe, więc punkty końcowe
czekają w FIFO)
oraz ewentualnie STRING DESCRIPTOR – urządzenie podaje nazwę
własną
Architektura komputerów, część 6
11
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Zasilanie urządzeń USB
•
•
•
•
•
•
•
•
Urządzenia USB mogą być zasilane z portu, bądź z własnego zasilacza.
O źródle zasilania urządzenia informują podczas procedury konfiguracyjnej
Napięcie zasilania dostarczane z magistrali ma ograniczoną wydajność.
Urządzenia wymuszające większy pobór prądu, niż jest określony w
specyfikacji, nie zostaną skonfigurowane przez hosta.
Bezpośrednio po podłączeniu (przed konfiguracją), urządzenia nie mogą
pobierać prądu większego niż 100 mA.
Po zakończeniu procedur konfiguracyjnych urządzenie może pobierać
maksymalny prąd o wartości 500 mA.
W stanie uśpienia (opcję przechodzenia w ten stan muszą posiadać
wszystkie urządzenia) pobór prądu nie może przekroczyć 0,5 mA (2,5mA).
Powrót ze stanu uśpienia następuje poprzez wprowadzenie linii magistrali w
stan aktywny na czas 10 ms, ale nie dłuższy niż 15 ms, a następnie powrót
do stanu jałowego
Architektura komputerów, część 6
12
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
FireWire (IEEE 1394)
Magistrala szeregowa, zastrzeżona przez Apple Inc. – używana
„w zbliżonej formie” pod różnymi nazwami dla uniknięcia kosztów
i.Link (Sony)
Lynx (Texas Instruments)
DV link
Złącze posiada zasilanie w wersji 6-przewodowej (masę i +30V), lub
tylko 4 przewody do transmisji
FireWire zarządza magistralą – można łączyć urządzenia bez
pośrednictwa komputera (np. aparat z drukarką)
Architektura komputerów, część 7
13
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Procesory I/O
• FEP – front-end processor; najczęściej programowalny, co pozwala
dostosować interfejs do konfiguracji i możliwości systemu
• Sprzężenie CPU i FEP następuje albo poprzez system dysków:
- FEP zapisuje dane na dysku, skąd pobierane są do przetwarzania
przez CPU; lub CPU zapisuje dane na dysku i powiadamia FEP o
pozwoleniu na pobranie – „OBCHODZI SIĘ” PROBLEM RÓŻNYCH
CZĘSTOTLIWOŚCI,
albo dzieloną pamięć (shared memory) – każdy FEP jest
urządzeniem DMA; wymaga skomplikowanej obsługi handshaking;
generalnie szybsze; wydziela się obszar pamięci do komunikacji
Architektura komputerów, część 6
14
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Schematy połączeń CPU - FEP
System dzielonej
pamięci
System sprzężony
przez dysk
Architektura komputerów, część 6
15
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Komunikacja szeregowa
• Najczęściej asynchroniczna (tzn. następny bajt zaczyna się w
dowolnym momencie, ale po bicie startu kolejne bity muszą być
przesyłane z określoną częstotliwością i po nich następują
przynajmniej dwa bity stopu); dla uniknięcia błędów, można używać
kodów samosynchronizujących się (kolejne bity są jednoznacznie
rozróżniane)
• Standard RS-232
• Modemy; kodowanie na fali nośnej (amplitudą, częstotliwością,
fazą)
• Kilka znanych protokołów komunikacji szeregowej, np.:
- BSC – binary synchronous control
- SDLA – synchronous data-link control
- HDLC – high-level data-link control
Architektura komputerów, część 6
16
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Typowe urządzenia I/O
• Urządzenia zawsze aktywne (online), jak wyświetlacz (monitor),
klawiatura, myszka, mikrofon, głośniki
• Urządzenia uaktywniane wywołaniem (off-line), np. drukarki,
skanery
• Urządzenia przechowujące (zapisujące i czytające) dane, jak taśmy,
dyski, pamięci typu DRAM
• Urządzenia zbierające dane w czasie rzeczywistym – najczęściej do
komputera podłączany jest konwerter A/C (wejście), C/A (wyjście)
Architektura komputerów, część 6
17
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Prawo Amdahl’a
•
Całkowite przyśpieszenie (zwiększenie wydajności) systemu
komputerowego przy zainstalowaniu nowego urządzenia wynosi:
S=
1
(1 − f ) + f / k
S – zwiększenie wydajności całego systemu
f – ułamek pracy wykonywanej przez szybszy, nowy
element
k – współczynnik przyśpieszenia nowego elementu
Architektura komputerów, część 6
18
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Procesor
•
•
•
•
•
•
Rodzaje procesorów i systemów komputerowych
Zestawy instrukcji
Tryby adresowania
Rejestry i pamięć
Procesor RISC versus CISC
Przykłady
Architektura komputerów, część 7
19
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Ogólny podział systemów komputerowych
• Superkomputer (raczej nieprzenośny, cena ok. 1000 razy większa
niż mikrokomputera, zastosowania naukowe i specyficzne,
wymagające dużej mocy przetwarzania)
• Komputer wielkiej skali (mainframe) (raczej nieprzenośny,
współczynnik ceny – ok. 100, szybkość przetwarzania znacznie
mniejsza, zastosowania ogólne)
• Minikomputer (współczynnik ceny – ok. 10, szybszy od mainframe,
do zastosowań ogólnych lub dedykowanych)
• Mikrokomputer (inaczej mikrokontroler, najczęściej jeden układ
scalony, do zastosowań dedykowanych, chociaż może być również
do zastosowań ogólnych)
• Typowa długość słowa – 64 bity; choć wciąż stosowane są 32 i 16 a
nawet 8 i 4 bitowe
Architektura komputerów, część 7
20
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Format danych
• Liczby stałoprzecinkowe - Fixed point - dla liczby całkowitej
(przecinek jest ustalony po skrajnej, prawej stronie – stąd nazwa)
bit znaku (0 dla plusa, 1 dla liczby ujemnej)
(n-1) bitów wartości (n – liczba bitów w słowie)
liczby ujemne zapisywane są najczęściej w postaci uzupełnienia do
dwóch
• Zapis dziesiętny (decimal mode) – BCD; 4 bity na cyfrę (czyli 2
cyfry w bajcie); najczęściej zostają konwertowane do postaci
binarnej i przetwarzane (liczone) w arytmetyce dwójkowej a potem
ponownie przeliczane na notację dziesiętną; czasem stosowana jest
oddzielna arytmetyka dla liczb dziesiętnych
Architektura komputerów, część 7
21
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Format danych
• Łańcuchy literowe (character string) – typowo 1 bajt na literę
(znak), najczęściej w kodzie ASCII, czasem EBCDIC
• Liczby zmiennoprzecinkowe (floating-point numbers), zapisywane
w różnych kodach, ale przy zachowaniu formatu:
bit znaku
pole wykładnika
pole ułamka:
24 bity – pojedyncza precyzja
56 bitów – podwójna precyzja
• Przykład konwersji: (23,5)10 = (10111.1)2 = (0.101111) x (2)5
Architektura komputerów, część 7
22
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Endien
• Istnieją dwa sposoby na przedstawienie wielobajtowej danej w
architekturze o adresowanych bajtach.
• Tryb little Endien – najmniej znaczący bajt danych jest zapisywany
w bajcie o najniższym adresie i kolejne pod lokalizacjami o
wyższych adresach
• Tryb big Endien – odwrotnie, od najwyższego, do najniższego
adresu
• Przykład: liczba (56789ABC)16 wymaga 4 bajtów do zapisu, o
adresach np. 0, 1, 2, 3
Zapis dla obu formatów:
0
1
2
3
litle Endien
BC
9A
78
56
big Endien
56
78
9A
BC
Architektura komputerów, część 7
23
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Endien
• Oczywiście istotne jest uwzględnienie formatu przy przetwarzaniu
wielobajtowych liczb, zapisywaniu czy odczycie z pliku
• Serie Intel stosują little Endien (ale nowsze procesory mają funkcję
odwracania do swojego formatu za pośrednictwem rejestru, jeżeli
jakaś aplikacja zapisuje inaczej)
• Serie Motorola stosują big Endien
• Aplikacje takie, jak JPEG, Adobe Photoshop – big Endien
• Wszystkie aplikacje typowe dla Windows (BMP, GIF) – little Endien
• Microsoft WAV, TIF – oba formaty
Architektura komputerów, część 7
24
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Zapisywanie w rejestrach i pamięci
• Stosowanie akumulatora do każdej procedury staje się wąskim
gardłem, jeżeli jest to tylko jeden rejestr, chociaż dostęp do zapisu
w akumulatorze jest znacznie szybszy niż do pamięci
• Do procesora włącza się więc wiele rejestrów, o ogólnym
przeznaczeniu – GPR (general purpose register), nie tylko jako
akumulatory; najczęściej zorganizowanych w stosy
• GPR może być wykorzystany dowolnie, również jako PSR
(processor status register), rejestr indeksowy, itd.
• Dostęp do zapisu w GPR jest znacznie szybszy niż do pamięci
Architektura komputerów, część 7
25
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Zestaw instrukcji
• Zależy od przeznaczenia maszyny; w systemach ogólnego
przeznaczenia zawsze są zaimplementowane:
- podstawowe działania arytmetyczne (dla notacji binarnej,
dziesiętnej, lub oddzielne dla obu) – ADD, SUBTRACT, MULTIPLY,
DIVIDE, NEGATE, INCREMENT, DECREMENT
- funkcje logiczne AND, OR, NOT, EXCLUSIVE-OR, COMPARE,
TEST
- SHIFT i CIRCULATION (z bitem przeniesienia lub bez niego)
umożliwiające dostęp do poszczególnych bitów i bajtów danych
- instrukcje sterujące: warunkowy i bezwarunkowy stop,
wywoływanie podprogramów i procedur, obsługa I/O we właściwym
trybie
• - makroinstrukcje (np. przenoszenie bloku danych)
Architektura komputerów, część 7
26
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Ogólny podział procesorów
• Ze względu na to, gdzie znajduje się operand:
• Memory-to-Memory: Wszystkie operandy znajdują się w pamięci i
na nich wykonywane są operacje a wyniki pozostają również w
pamięci – NIE MA POTRZEBY NA UŻYCIE REJESTRÓW
• Register-to-Memory: Przynajmniej jeden operand jest w rejestrze a
reszta w pamięci
• Load/Store: Operand musi zostać załadowany do rejestru przed
wykonaniem operacji, jeżeli potrzeba – wynik zostaje
przechowywany w pamięci
Architektura komputerów, część 7
27
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Długość i szybkość wykonywania instrukcji
• Jest funkcją ilości operandów
• Odwołania do pamięci spowalniają wykonywanie instrukcji (ilość
adresów, a także instrukcje memory-to-memory)
• Indeksowanie i pośrednie adresowanie spowalnia wykonywanie
instrukcji
• Jeżeli instrukcja jest dłuższa niż słowo – wielokrotnie powtarzana
musi być faza „pobierz”
• Ze względu na ilość adresów (operandów) organizacje dzielimy na
- trójadresowe
- dwuadresowe
- jednoadresowe
- zeroadresowe
Architektura komputerów, część 7
28
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Porównanie
• A,B,C – lokalizacje w pamięci
• Maszyna trójadresowa:
ADD
A,B,C M[C] M[A] + M[B]
SUB
A,B,C M[C] M[A] - M[B]
MPY
A,B,C M[C] M[A] . M[B]
DIV
A,B,C M[C] M[A] / M[B]
zawsze trzy dostępy do pamięci (przy każdej instrukcji)
• Maszyna dwuadresowa:
ADD
A,B
M[A] M[A] + M[B]
SUB
A,B
M[A] M[A] - M[B]
MPY
A,B
M[A] M[A] . M[B]
DIV
A,B
M[A] M[A] / M[B]
pierwszy operand jest tracony, ale przy każdej instrukcji tylko 2
odwołania
Architektura komputerów, część 7
29
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Porównanie
• Maszyna jednoadresowa:
ADD
A
ACC
ACC + M[A]
SUB
A
ACC
ACC - M[A]
MPY
A
ACC
ACC. M[A]
DIV
A
ACC
ACC / M[A]
LOAD
A
ACC
M[A]
STORE
A
M[A]
ACC
• Maszyna zeroadresowa:
ADD
SL
SL + TL,POP
SUB
SL
SL - TL,POP
MPY
SL
SL . TL,POP
DIV
SL
SL / TL,POP
LOAD
A
PUSH,TL
M[A]
STORE
A
M[A]
TL,POP
SL (second level) – drugi
poziom a TL (top level) – górny
poziom stosu LIFO (last-in, firstout)
Architektura komputerów, część 7
30
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Program do obliczenia F=A.B+C.D (dla Intel 8080)
•
•
•
•
Trzyadresowy:
MPY A,B,A
MPY C,D,C
ADD A,C,F
Dwuadresowy:
MPY A,B
MPY C,D
ADD A,C
SUB F,F
ADD F,A
Jednoadresowy
LOAD A MPY B
3 pobrania (fetch), 9 wykonań (execute)
5 pobrań, 15 wykonań
STORE F LOAD C MPY D ADD F STORE F
7 pobrań, 7 wykonań
Zeroadresowy (z założeniem, że istnieje sprzętowy stos)
LOAD A LOAD B MPY LOAD C LOAD D MPY ADD STORE F
8 pobrań, 5 wykonań
Architektura komputerów, część 7
31
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Format instrukcji
• Proste procesory stosują format instrukcji z ustalonymi polami, inne
dostosowują długość instrukcji do zmiennych długości pól
adresowych, jeszcze inne różnicują nawet pola wewnątrz instrukcji
• Przykład: 32 bitowy MC68020 (również magistrala 32 bitowa)
posiada 16 bitowe (1 słowo) instrukcje w trybie rejestrów a
instrukcje z odwołaniem do pamięci zajmują nawet 5 słów
Architektura komputerów, część 7
32
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Tryby adresowania
• Wcześniej omawialiśmy: bezpośredni, pośredni, indeksowany (preindeksowany, post-indeksowany, lub oba tryby)
• W praktyce, poszczególne procesory, wraz z różnorodną
architekturą, stosują różne odmiany i wersje trybów podstawowych,
z których najpopularniejsze, to:
- Adresowanie natychmiastowe (Immediate Addressing) –
operand jest częścią instrukcji; pole adresowe podaje raczej już
sam operand a nie jego adres (zbliżone do pierwszych historycznie
tzw. ‘literal adressing’ – czyli „rozwiązywania” adresów przez
asembler i wpisywania treści komórki)
Architektura komputerów, część 7
33
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Adresowanie stronicowe (Paged Addressing)
•
•
•
•
•
•
Zakłada się, że pamięć składa się z wielu bloków o jednakowej wielkości,
tzw. STRON
Adres pamięci składa się z numeru strony i przesunięcia (offset), czyli
lokalnego adresu na stronie
Jeżeli strona jest wystarczająco długa, w danym programie wszystkie
odwołania mieszczą się na jednej stronie i wystarczy podawać tylko bity
offsetu.
Nawet, jeżeli używa się wielu stron, to dopóki jest ważna, w rejestrze
przechowuje się numer danej strony, w instrukcji podaje się odwołanie do
rejestru i offset
Strona pierwsza (czyli z numerem 0) wykorzystywana jest przeważnie do
przechowywania najczęściej wykorzystywanych danych i wskaźników
SCHEMAT STRONICOWANIA WYKORZYSTYWANY JEST RÓWNIEŻ
W WIRTUALNYCH PAMIĘCIACH
Architektura komputerów, część 7
34
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Adresowanie w oparciu o rejestr bazowy (Base – Register)
• Jeden z rejestrów CPU (dowolny GPR) używany jest jako rejestr
bazowy
• Początkowy adres programu zostaje do niego wpisany w pierwszym
kroku wykonywania programu
• Każdy adres, do którego w programie następuje odwołanie jest
przesunięciem – offsetem od zawartości rejestru bazowego
• Instrukcja podaje więc identyfikację rejestru bazowego i offset
• Nie ma problemu z alokacją programu, bo załadowanie adresu jest
częścią programu, czyli nic się nie zmienia
• Schemat stosowany we wielu seriach IBM (np. 370) i INTEL (tu
nazywane trybem segmentowym)
Architektura komputerów, część 7
35
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Adresowanie względne (Relative Addressing)
• Offset (dodatni, lub ujemny) jest częścią instrukcji
• Dodaje się go (czyli czasem odejmuje) do aktualnej wartości licznika
programu (PC), aby znaleźć efektywny adres
• Tryb jest szczególnie przydatny przy zastosowaniu przy instrukcjach
wyboru (rozgałęzionych)
• Ponieważ offset jest zazwyczaj małą wartością, zmniejsza się ilość
bitów w porównaniu z pełnym adresem pamięci
• Tryb implementowany np. w Mostek 6502, DEC PDP-11
Architektura komputerów, część 7
36
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Adresowanie domyślne (Implicit, Implied)
• W zależności od rodzaju instrukcji, miejsce przechowywania
operandów jest domyślne:
- w instrukcjach zeroadresowych – operandy znajdują się na dwóch
górnych poziomach stosu
- w jednoadresowych – jeden z operandów znajduje się w rejestrze,
pełniącym funkcję akumulatora
• Dokładne aplikacje różnią się w poszczególnych procesorach
• WIĘKSZOŚĆ PROCESORÓW POZWALA NA ZASTOSOWANIE
RÓŻNYCH TRYBÓW ADRESOWANIA
Architektura komputerów, część 7
37
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Zestaw instrukcji – warunek ortogonalności
• Ortogonalność zestawu instrukcji dowolnego procesora oznacza, że
zestaw instrukcji jest jednocześnie:
- niezależny – czyli nie zawiera żadnych zbytecznych instrukcji;
każda instrukcja dokonuje unikalnej czynności (opisuje unikalną
funkcję) i nie powiela innej instrukcji
- spójny – każdy dowolny operand może zostać użyty z każdym
dowolnym kodem operacji (opcode); każdy dopuszczony w zestawie
tryb adresowania może zostać spójnie użyty do wszystkich
operandów
Architektura komputerów, część 7
38
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
RISC a CISC
• ROZWINIĘCIE AKRONIMU RISC: Reduced Instruction Set
Computer
• Historycznie, na przełomie lat 70-80, w początkach technologii
scalonych układów, procesor zajmował w chipie około 60%
powierzchni i niewiele zostawało na dodatkowe funkcje w hardware
Rozwiązaniem był procesor z prostszymi jednostkami sterującymi
• CISC: Complex Instruction Set Computer
• CISC posiada relatywnie wielką liczbę instrukcji, skomplikowanych i
czasochłonnych, wiele zaimplementowanych trybów adresowych
itd. a to z kolei wymusza skomplikowaną jednostkę sterującą do
zdekodowania i wykonania tych instrukcji i powoduje, że wcale nie
musi być szybszy od RISC a na pewno zwiększa
prawdopodobieństwo błędów
Architektura komputerów, część 7
39
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Atrybuty systemów RISC
• Ponieważ nie istnieje formalna definicja a termin „skomplikowany”,
czy „liczny” zmienia znaczenie wraz z rozwojem technologii, jako
nieformalną definicję przyjęto atrybuty, którymi charakteryzuje się
system ze zredukowanym zestawem instrukcji:
- relatywnie mała liczba instrukcji
- mała ilość zaimplementowanych trybów adresowania
- mała ilość formatów instrukcji
- pojedynczy cykl wykonywania każdej instrukcji
- dostęp do pamięci wyłącznie poprzez instrukcje load/store
- duży zestaw rejestrów w CPU; najlepiej, żeby większość operacji
była wykonywana w trybie register-to-register
- ułatwiona i optymalizowana kompilacja dla operacji
programowanych w HLL
• Jednostka sterująca może być wykonana sprzętowo, lub jako
zaprogramowany mikrokontroler
Architektura komputerów, część 7
40
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Systemy RISC
• Stosowane we wielu zastosowaniach o specyficznych funkcjach,
tzw. high-performance applications (zastosowania o wysokiej
sprawności); jako bloki w systemach wieloprocesorowych,
wbudowane sterowniki (embedded controllers); są szybkie
• W chipie RISC powierzchnia zajmowana przez jednostkę sterującą
wynosi kilka lub kilkanaście procent (i jest miejsce np. na wiele
rejestrów); w CISC zawsze powyżej 50
• Wadą RISC jest konieczność dłuższych programów (wszystkie
funkcje trzeba rozpisać na proste instrukcje), które zajmują więcej
pamięci, a wcześniej wydłużają czas kompilacji
Architektura komputerów, część 7
41
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Niektóre dodatkowe rozwiązania
• SIMD – simple instruction, multiple data – wprowadzone dla obsługi
multimediów – instrukcje w technologii MMX (od PENTIUM II)
• MESI (modified, exclusive, shared, invalid) – protokół do obsługi
pamięci podręcznej
• SEC (single edge connect) – obudowa zawierająca rdzeń procesora
i pamięć podręczną, montowane powierzchniowo bezpośrednio do
wnętrza obudowy, która potem jest łączona pojedynczym
taśmowym interfejsem z płytą główną (mother board)
• RRF (retirement register file) – przy równoległym, wielo-potokowym
przetwarzaniu – czyli wykonywaniu równoległym instrukcji, niektóre
cząstkowe wyniki muszą czekać, aby później wstawić je
w odpowiedniej kolejności
Architektura komputerów, część 7
42
KONIEC CZĘŚCI SIÓDMEJ
Prezentacja multimedialna
współfinansowana przez Unię Europejską
w ramach Europejskiego Funduszu Społecznego
w projekcie
Dr inż. Małgorzata Langer
Architektura
komputerów
„Innowacyjna dydaktyka bez ograniczeń
– zintegrowany rozwój Politechniki Łódzkiej –
zarządzanie Uczelnią,
nowoczesna oferta edukacyjna
i wzmacniania zdolności do zatrudniania
osób niepełnosprawnych”
Zadanie nr 30 – Dostosowanie kierunku Elektronika i Telekomunikacja
do potrzeb rynku pracy i gospodarki opartej na wiedzy
90-924 Łódź, ul. Żeromskiego 116,
tel. 042 631 28 83
www.kapitalludzki.p.lodz.pl

Podobne dokumenty