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