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
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
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
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
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
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
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
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
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
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 wersjach 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. 10
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 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
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
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ą) 13
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
Schematy połączeń CPU - FEP System dzielonej pamięci System sprzężony przez dysk Architektura komputerów, część 6 15
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
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
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
Procesor Rodzaje procesorów i systemów komputerowych Zestawy instrukcji Tryby adresowania Rejestry i pamięć Procesor RISC versus CISC Przykłady 19
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 20
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 21
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 22
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 23
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 24
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 25
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) 26
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 27
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 28
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 29
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) 30
Program do obliczenia F=A. B+C. D (dla Intel 8080) Trzyadresowy: MPY A,B,A MPY C,D,C ADD A,C,F 3 pobrania (fetch), 9 wykonań (execute) Dwuadresowy: MPY A,B MPY C,D ADD A,C SUB F,F ADD F,A 5 pobrań, 15 wykonań Jednoadresowy LOAD A MPY B 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ń 31
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 32
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) 33
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 34
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) 35
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 36
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 37
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 38
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 39
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 40
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 41
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 42
KONIEC CZĘŚCI SIÓDMEJ 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