Architektura komputerów

Podobne dokumenty
Architektura komputerów

Architektura komputerów

ARCHITEKTURA SYSTEMÓW MIKROPROCESOROWYCH. dr inż. Małgorzata Langer

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

Budowa Mikrokomputera

ARCHITEKTURA PROCESORA,

Struktura i działanie jednostki centralnej

Architektura komputerów

Architektura typu Single-Cycle

Architektura komputerów

Architektura komputerów

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Katedra Metrologii i Systemów Elektronicznych. Interfejs USB

Projektowanie. Projektowanie mikroprocesorów

Architektura komputerów

LEKCJA TEMAT: Zasada działania komputera.

Rozszerzalne kody operacji (przykład)

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Organizacja typowego mikroprocesora

Urządzenia wejścia-wyjścia

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

2. Architektura mikrokontrolerów PIC16F8x... 13

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Budowa komputera Komputer computer computare

Architektura komputerów. Układy wejścia-wyjścia komputera

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Standard transmisji równoległej LPT Centronics

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

Programowanie Mikrokontrolerów

Architektura komputerów

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Architektura Systemów Komputerowych. Transmisja szeregowa danych Standardy magistral szeregowych

ARCHITEKTURA SYSTEMÓW MIKROPROCESOROWYCH. dr inż. Małgorzata Langer B9, pok. 310 Instytut Elektroniki

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

Mikroprocesor Operacje wejścia / wyjścia

Plan wykładu. 1. Urządzenia peryferyjne 2. Rodzaje transmisji danych 3. Interfejs COM 4. Interfejs LPT 5. Plug and Play

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Magistrala systemowa (System Bus)

WPROWADZENIE Mikrosterownik mikrokontrolery

Urządzenia zewnętrzne

Który z podzespołów komputera przy wyłączonym zasilaniu przechowuje program rozpoczynający ładowanie systemu operacyjnego? A. CPU B. RAM C. ROM D.

Budowa systemów komputerowych

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

MIKROKONTROLERY I MIKROPROCESORY

Wykład 4. Interfejsy USB, FireWire

Architektura komputerów

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

LEKCJA TEMAT: Współczesne procesory.

Wybrane bloki i magistrale komputerów osobistych (PC) Opracował: Grzegorz Cygan 2010 r. CEZ Stalowa Wola

Architektura systemów komputerowych

Podstawy Projektowania Przyrządów Wirtualnych. Wykład 9. Wprowadzenie do standardu magistrali VMEbus. mgr inż. Paweł Kogut

Architektura mikroprocesorów TEO 2009/2010

Architektura potokowa RISC

interfejs szeregowy wyświetlaczy do systemów PLC

. III atyka, sem, Inform Symulator puterów Escape rchitektura kom A

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Wstęp do informatyki. Interfejsy, urządzenia we/wy i komunikacja. Linie magistrali

Podstawy Techniki Mikroprocesorowej

Procesor i jego architektura (CISC, RISC, 32/64 bity). Systemy wieloprocesorowe. wer Wojciech Myszka 16 pa«zdziernika 2008

Technologie Informacyjne Wykład 3

Programowanie Niskopoziomowe

URZĄDZENIA WEJŚCIA-WYJŚCIA

1. Budowa komputera schemat ogólny.

Kurs Zaawansowany S7. Spis treści. Dzień 1

Logiczny model komputera i działanie procesora. Część 1.

Architektura komputerów

Przykładowe pytania DSP 1

Test wiedzy z UTK. Dział 1 Budowa i obsługa komputera

Mikroprocesory i Mikrosterowniki Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna

dr inż. Jarosław Forenc

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Architektura komputera

ARCHITEKTURA SYSTEMÓW MIKROPROCESOROWYCH. dr inż. Małgorzata Langer B9, pok. 310 Instytut Elektroniki

Struktura systemów komputerowych

Technologia informacyjna. Urządzenia techniki komputerowej

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Jednostka centralna. Miejsca na napędy 5,25 :CD-ROM, DVD. Miejsca na napędy 3,5 : stacja dyskietek

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wykład 4. Interfejsy USB, FireWire

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

Architektura komputerów

Mikroinformatyka. Koprocesory arytmetyczne 8087, 80187, 80287, i387

Architektura systemów komputerowych. dr Artur Bartoszewski

Mikroprocesory rodziny INTEL 80x86

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

Architektura komputerów wer. 7

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

Wstęp Architektura... 13

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe

Lista Rozkazów: Język komputera

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Architektura systemów informatycznych

Podsumowanie. semestr 1 klasa 2

Transkrypt:

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