1 Architektury komputerów

Transkrypt

1 Architektury komputerów
Architektury komputerów
Agenda
 Historia komputerów
 Architektury komputerów
 Jednostki wydajności
 Super komputery
Historia maszyn obliczeniowych
 Jednym z najstarszych urządzeń do przetwarzania informacji był abak
 Używany przez starożytnych Egipcjan, Greków i Rzymian
 Pierwszy znany, bardziej skomplikowany przyrząd służący do obliczeń pochodzi z ok. 80
wieku p.n.e.
 Przeznaczony był prawdopodobnie do obliczeń nawigacyjnych
 W 967r. Gerbert Aurillac (papieź Sylwester II) skonstruował (abak) liczydło
Pałeczki Nepera
 Matematyk szkocki John Neper wynalazł logarytm
 Korzystając z pałeczek i koncepcji logarytmu udało mu się przyśpieszyć żmudne obliczenia
 1622 - matematycy angielscy E. Gunter i W. Oughtred wynaleźli suwak
logarytmiczny
Pierwsza maszyna licząca
 W 1930r. V. Bush skonstruował analogowy analizator równań różniczkowych
 Najbardziej złożona maszyna mechaniczna jaka kiedykolwiek działała
 Pierwszym cyfrowym mechanicznym urządzeniem liczącym była czterodziałaniowa
maszyna licząca niemieckiego
astronoma i matematyka W. Schickharda.
Młynek arytmetyczny
 1882 - Charles Babbage angielski matematyk zaprojektował i częściowo skonstruował
maszynę licząca metodą różnic skończonych.
 1833 opracował projekt maszyny analitycznej „młynkiem arytmetycznym” działającej na
zasadzie zbliżonej do zasady działania współczesnych komputerów.
 Funkcjonalność:
 podstawowe działania matematyczne,
 zapamiętywać dane wejściowe, pośrednie oraz wyniki obliczeń.
 Wprowadzaniu i wyprowadzaniu danych służyły karty dziurkowane.
 Projekt nie doczekał się realizacji z powodu niskiego poziomu ówczesnej techniki.
ENIAC
 1946r. w USA zbudowano maszynę liczącą, do której budowy użyto lamp elektronowych
 ENIAC - Elektronic Numerical Integrator and Computer
 ENIAC był elektronicznym sumatorem i kalkulatorem cyfrowym
 18 tysięcy lamp elektronowych
 Waga 30 ton.
 Pamięć: 20 liczb dwudziestocyfrowych
 ENIAC wykonywał 5000 dodawań na 1s
Architektura komputera (Stallings)
 Architektura komputera – to wszystkie elementy, które widoczne są dla programisty i
mają wpływ na wykonanie programu
1
 lista rozkazów
 sposób reprezentacji liczb
 metody adresowania argumentów
 Koncepcja połączenia ze sobą: pamięci, procesora i urządzeń wej-wyj.
Organizacja komputera (Stallings)
 Organizacja komputera – to sposób realizacji architektury. Zmienia się bardzo szybko
wraz z rozwojem technologii.
 Składnikami organizacji komputera są:
 sposób realizacji instrukcji
 specyficzne rozwiązania sprzętowe zależne od dostawcy
 sposób wykonania poszczególnych elementów
Architektura von Neuman
 System zbudowany o architekturę von Neuman powinien się charakteryzować:
 skończoną i funkcjonalnie pełną listą rozkazów
 umożliwiać wprowadzanie programu do systemu komputerowego po przez urz.
zewnętrzne i przechowywania go w pamięci
 dane i instrukcje powinny być jednoznacznie dostępne dla procesora
 informacja przetwarzana dzięki sekwencyjnemu wykonywaniu instrukcji z pamięci
komputera
 System nie posiada oddzielnych pamięci dla danych i instrukcji
Architektura współczesnego komputera
 Procesor z co najmniej jedną jednostką artymentyczno-logiczną, jednostką sterującą i
rejestrami
 Pamięć operacyjna
 Urządzenia wejścia-wyjścia
 Układ bezpośredniego dostępu do pamięci (DMA, Direcotry Memory Access)
 Układ przerwań
Procesor
 Układ logiczny pracujący sekwencyjnie potrafiący pobierać dane z pamięci, interpretować
je i wykonywać jako ciąg rozkazów
 Zbudowany z wielu warstw półprzewodnikowych zawierających tranzystory
 Współczesne procesy wykonane są w technice nawet 65 nm
 Typowe rozkazy mikroprocesora:
 Kopiowanie danych: pamięć – rejestr, pamięć-pamięć
 Działania arytmetyczne
 Działania na bitach: AND, OR, XOR, NOR, NOT
 Skoki: warunkowe i bezwarunkowe
Budowa procesora
 Rejestry do przechowywania danych i wyników
 Licznik rozkazów
 Rejestr instrukcji
 Wskaźnik stosu
 Jedna lub wiele jednostek arytmetyczno-logicznych do wykonywania obliczeń na danych
 Układ sterujący przebiegiem wykonania programu
 Parametry określające procesor:
 Długość słowa np. 32, 64 bity na którym wykonywane są obliczenia
 Szybkość wykonywania programu: częstotliwość taktowania
2
Architektura Princeton i Harward
 Architektura Princeton – podobnie jak w przypadku arch. von Neuman’a wspólna
hierarchia pamięci programu i danych
 Architektura Harward – pamięć danych jest oddzielona od pamięci rozkazów
 Stosowane są w celu zwiększenia wydajności w pamięciach podręcznych i systemach
wbudowanych
 Arch. Harwardzka stosowana w jednoukładowych, gdzie występuje separacja danych od
rozkazów zapisanych w pamięci ROM
Arch. Princeton i Arch. Harvard
Taksonomia Flynna
 Klasyfikacja architektura zaproponowana przez M. Flynna w latach ’60.
 Opiera się o koncepcje, że komputer przetwarza strumienie danych w oparciu o listę
instrukcji
 Klasyfikuje komputery ze względu na liczbę strumieni instrukcji i danych
 Klasyfikacja aktualnie ma znaczenie historyczne
Opis klasyfikacji Flynna
 SISD (Single Instruction, Single Data) - przetwarzany jest jeden strumień danych przez
jeden wykonywany program - komputery skalarne/sekwencyjne.
 SIMD (Single Instruction, Multiple Data) - przetwarzanych jest wiele strumieni danych
przez jeden wykonywany program - komputery wektorowe.
 MISD (Multiple Instruction, Single Data) - wiele równolegle wykonywanych programów
przetwarza jednocześnie jeden wspólny strumień danych. Systemy wykorzystujące
redundancję (wielokrotne wykonywanie tych samych obliczeń) do minimalizacji błędów.
 MIMD (Multiple Instruction, Multiple Data) - równolegle wykonywanych jest wiele
programów, z których każdy przetwarza własne strumienie danych - przykładem mogą
być komputery wieloprocesorowe, a także klastry i gridy.
Architektury wieloprocesorowe
 Superkomputer
 Klaster, ang. cluster
 Siatka, ang. grid
Architektury wieloprocesorowe
 SMP (Symmetric Multi-Processing), UMA (Uniform Memory Access, Uniform Memory
Architecture) – wszystkie procesory maja równoprawny dostęp do wspólnej pamieci;
 NUMA (Non-Uniform Memory Access, Non-Uniform Memory Architecture) – dostęp do
pamięci lokalnej jest bardziej efektywny niż dostęp do pamięci innych procesorów;
 COMA (Cache Only Memory Architecture) – pamięć lokalna pełni funkcje pamięci
podręcznej dla wszystkich procesorów;
 architektury mieszane.
Symmetric Multiprocessing
 Współdzielenie pamięci oraz urządzeń wej-wyj
 Przypisanie procesora do wykonania zadania w celu równoważenia obciążenia
 Większa efektywność aplikacji współbieżnych
 Uniks, Windows NT, BeOS
Non-Uniform Memory Access
 Spójna logicznie przestrzeń adresowa, przy podzielonej fizycznie pamięci
3
 Procesor uzyskuje szybciej dostęp do swojej lokalnej pamięci i do pamięci pozostałych
procesorów lub pamięci współdzielonej
Cache only memory architecture
 Pamięć lokalna używana jest jako pamięć cache
 Efektywniejsze wykorzystanie zasobów pamięci
Jednostki obliczeniowe
 FLOPS – (FLoating point Operations Per Second) jest to liczba operacji
zmiennoprzecinkowych na sekundę.
 FLOPS określa wydajność układów realizujących obliczenia zmiennoprzecinkowe
 Aktualnie większość maszyn zawiera jednostkę FPU odpowiedzialną za realizację operacji
zmiennoprzecinkowych
 Najszybsze komputery osiągają wydajność liczoną w PFLOPS
Superkomputery
 Ranking TOP 500
 Do mierzenia wydajność wykorzystywany jest HPLinpack
 http://pl.wikipedia.org/wiki/TOP500
 W Polsce najszybszy komputer znajduje się w Centrum Informatycznym Trójmiejskiej
Akademickiej Sieci Komputerowej i osiągnął wydajność: 1,117 TFLOPS-a
Dane
Rodzaje danych
 Wartości logiczne
 Znaki tekstowe
 Liczby
 Całkowite: nieujemne i ze znakiem
 Niecałkowiete: stało- i zmiennopozycyjne
 Dźwięki
 Obrazy
Reprezentacja danych
 Komputer operuje na liczbach binarnych, które złożone są z cyfr 0,1
 Liczby binarne określone są jako słowo binarne i są przeważnie postaci 8x2n (np. 8, 16,
32, 64)
 Dane, które nie są liczbami (obrazy oraz dźwięki) muszą być zapisane z wykorzystaniem
słów binarnych
Znaki alfanumeryczne
 Znaki tekstowe kodowane są jako liczby, zgodnie z tzw. tablicą kodową
 Używane kody:
 ASCII (American Standard Code for Information Interchange)
 128 pozycji w tym małe i wielkie litery alfabetu łacińskiego
 Rozszerzenia ASCII do 256:
pierwsze 128 jest to ASCII kolejne zawierają symbole narodowe lub inne
Pojawia się problem niejednoznaczności kodów dla różnych języków
 Kody EBCDIC (Extended Binary Coded Decimal Interchange Code) – wykorzystywany
na komputerach typu mainframe IBM,
16
32
 UNICODE – początkowo 2 , aktualnie 2 . Reprezentacja praktycznie wszystkich
znaków używanych na świecie.
4
ASCII
 Zaproponowany przez ANSI na bazie kodu dla urządzeń dalekopisowych
 Początkowo 7 bitowy, 8 bit wykorzystywany był jako suma kontrolna
 128 pozycji w tym 33 znaki białe oraz 95 znaków widocznych
 Znaki białe: spacja, kody formatujące, kody sterujące transmisją i urządzeniami
 Znaki widoczne: cyfry oraz małe i duże litery, znaki interpunkcyjne oraz podstawowe
znaki matematyczne
 Kody sterujące:
Pozycje od 0 – 31
Np. CR: 13, (tzw. karetka) – powrót na początek wiersza, LF-10 – przejście do
następnego wiersza, etc …
 Spacja: 32
 Cyfry 0-9: od 48 do 57
 Znaki pisarskie:
 Małe litery: 97 – 122
 Duże litery: 65 – 90
 Odstęp pomiędzy dużymi i małymi wynosi: 32
 Kod specjalny 127 – kasowanie znaku
Kod rozszerzony ASCII
 Reprezentacja tablicy kodów 8 bitowa – 256 znaków
 Pierwsze 128 znaków identyczne z ASCII
 Pozostałe znaki dostosowane do alfabetów regionalnych tj. słowiańskie, cyrylica, etc…
 Problemem jest różnorodność tablic kodowych:
 ISO8859 – alfabety słowiańskie, kilkanaście tablic (Polskie znaki: 8859-2)
 Microsoft – oznaczenia 4 znakowe np. 1250


Reprezentacja danych związanych z obrazem i dźwiękiem
 Obraz i dźwięk muszą być również kodowane jako liczby
 Dźwięk – proces przekształcania do postaci cyfrowej: kwantowanie (wartość amplitudy
napięcia), próbkowanie (częstotliwość pobierania próbki) i kodowanie (przypisanie kodu)
 Obraz – macierz pikseli. Każdy piksel ma określony kolor oraz współrzędne. Kolor
reprezentowany w postaci 3 liczb (czerwony, niebieski oraz zielony RGB). Dodatkowa
informacja o jasności.
Jednostki informacji
 Bit (Binary digIT),
 skrót „b” z modyfikatorem wielkości np. Kb, Mb, Gb.
 Problem z przeliczaniem (przedrostki w SI są dziesiętne)
 Reprezentuje wartość logiczną Prawda/Fałsz
 Bajt (byte) – 8 bitów. Jednostka adresacji pamięci. Bajt określany jest jako OCTET
 Słowo (word) – wielkość informacji, na której pracuje komputer. Słowo 8 bitowe, 16
bitowe, etc…
 Słowo procesora – porcja danych naturalna dla danego procesora, tzn. długość odpowiada
długości posiadanych rejestrów: np. 16 bitów, 32 bity, 64 bit.
Zapis danych
 Wartości logiczne
 Liczby całkowite nieujemne
 Liczby całkowite ze znakiem
 Zapis stałopozycyjny
 Zapis zmiennopozycyjny
5
 Formaty dla obrazu, dźwięku
Zapis danych boolowskich
 Do reprezentacji wartości logicznej wystarczy jeden bit.
 W komputerach podstawową jednostką jest słowo. Dane bitowe reprezentowane są jako
wzorzec bitów zapełniający całe słowo
 Różne reprezentacje wartości logicznych zależnych od systemów operacyjnych oraz
języków programowania:
 Fałsz – raczej standardowo reprezentowany przez 0
 Prawda: np. w C reprezentowana przez 1, w C jako argument może być
reprezentowana przez dowolną wartość różną od 0, a w VB przez jedynki „1”
Liczby całkowite nieujemne
 Naturalny kod binarny (NKB) – ciąg ponumerowanych bitów od lewej do prawej o długości
równej słowu
 Kod BCD – wykorzystywany do reprezentacji liczb dziesiętnych stałopozycyjnych.
 Wersja spakowana: 2 cyfry w bajcie
 Wersja niespakowana (ASCII) jedna cyfra w bajcie
Zapis liczb całkowitych ze znakiem
 Kod U2 – kod uzupełnień do dwóch
 Kod U1 – kod uzupełnień do jednego
 Znak-Moduł
 Reprezentacja spolaryzowana (biased)
Własności kodów
 Reprezentacja zera: dwie możliwość w kodach znak-moduł, U1
 Symetryczność zakresu liczbowego
 Reprezentacja znaku liczby oraz zmiana znaku:
 U1 – negacja bitowa
 U2 – negacja i inkrementacja
 znak-moduł – negacja bitu znaku
 Dodawanie i odejmowanie w U2 wykonywane tak samo jak w NKB
Reprezentacja stałopozycyjna
 Wykorzystywany do reprezentacji liczb ułamkowych i mieszanych
 Liczba reprezentowana jest przez dwie części:
 pierwsza tak jak w U2/NKB reprezentuje część całkowitą
-1
 druga reprezentuje część ułamkową (2 )
 Spotykane formaty:
 1 lub 2 bity należą do części całkowitej pozostałe do ułamkowej
 Po połowie słowa na część całk. i ułamkową
 Operacje wykonywane podobnie jak na liczbach całkowitych. Za ostateczną reprezentację
odpowiedzialny jest programista
Zapis zmiennopozycyjny (1)
 Umożliwia zapis liczb całkowitych i ułamkowych o dużym zakresie dynamiki wartości

Zapis zmiennopozycyjny dziesiętny. Wiele możliwości: np. 1,234x102, 123,4x100,
12,34x101
 Budowa zapisu:
 Znak liczby
 Część znacząca
 Wykładnik
6
 Postać znormalizowana: część całkowita wyraża się pojedynczą liczbą różną od 0.
Binarny zapis zmiennopozycyjny
 Znormalizowany zapis określony w IEEE754
 Liczba powinna zostać zapisana w postaci znormalizowanej, wówczas cześć całkowita w
każdym przypadku (oprócz 0) jest równa 1.
 Wykładnik jest zapisywany w kodzie z polaryzowanym. Dwie wartości pola wykładnika są
zarezerwowane i mówią, że zapis nie reprezentuje postaci znormalizowanej
 00…00 – postać nieznormalizowana
 11…11 – nie liczba
 Znak liczby – pojedynczy bit (0 – liczba nieujemna 1 – liczba niedodania)
 Pole mantysy – zawiera cześć ułamkową
Opis poszczególnych pól zapisu zmiennopozycyjnego
Arytmetyka na liczbach zmiennopozycyjnych
 Wartości zapisane w postaci zmiennopozycyjnej oraz operacje arytmetyczne wykonywane
na nich są przybliżone
 Dokładność wyniku może być uzależniona od kolejności wykonywania działań
 Dodawanie/odejmowanie liczb należy wykonywać w kolejności rosnącej
 Jeśli wartość bezwzględna liczby a jest znaczenie mniejsza od b to w wyniku
otrzymujemy liczbę b
 Z powodu przybliżonych wyników obliczeń nie należy korzystać z relacji równości.
Organizacja pamięci w komputerach
 Podstawowa jednostka adresowalna ma rozmiar 1 bajtu
 Dane większe niż 1 bajt są przechowywane w kolejnych komórkach pod kilkoma kolejnymi
adresami
 Fizyczna organizacja pamięci odbiega od logicznej. Komórki pamięci są dwukrotnie
większe niż słowo, co umożliwia przesłanie podwójnej porcji danych przy tym samym
czasie dostępu
Adresowanie danych
 Little Endian – najmniejszy bajt pod najmniej znaczącym adresem
 Big Endian – najbardziej znaczący bit pod najmniejszym adresem
Little & Big Endian
Litlle Endian
 Adres bajtu odzwierciedla wagę bajtu w liczbie
 Naturalna dla komputera, dziwna dla człowieka
 Dostęp do mniej znaczących części liczby całkowitej zapisanej w długim formacie
spowoduje, że adres zmiennej będzie ten sam. Wygodne w częstym rzutowaniu typów
całkowitych
 32-bit zawartość 4A 00 00 00 może być czytana z tym samym adresem jako 8-bit
(wartość = 4A), 16-bit (004A), lub 32-bit (0000004A)
 Procesory, które używają formy little endian, to między innymi Intel x86, AMD64, DEC
VAX
Big Endian
 Naturalny dla człowieka mniej wygodny przy obliczeniach
 Dostęp do danej całkowitoliczbowej wymaga zmiany wartości adresu w zależności od
długości danej.
 Duża efektywność porównywania łańcuchów znakowych. Porównywanie może zostać
przeprowadzone po długości słowa, a nie koniecznie bajt po bajcie.
 Procesory, które używają formy big endian, to między innymi SPARC, Motorola 68000,
7
PowerPC 970, IBM System/360, Siemens SIMATIC S7
Układy logiczne
Technologie współczesnej mikroelektroniki
 Przenikanie się oprogramowania i sprzętu tzw. Soft-Hardware
 Zastosowanie metod komputerowego wspomagania projektowania złożonych układów
(CAD – Computer Aided Design)
 Korzystanie z języków specyfikacji sprzętu tzw. Hardware Description Language zamiast
składaniu z dostępnych komponentów
Tranzystor

Tranzystor unipolarny (FET) i bipolarny

Metal-Oxide-Semiconductor FET

Dren oraz źródło – silnie domieszkiwane obszary z doprowadzonymi kontaktami

Przepływ prądu pomiędzy źródłem, a drenem występuje po przez kanał

Sterowanie prądem następuje po przez zmiany napięcia bramka- źródło

Stany tranzystora:
Nasycony: UDS >= UDSsat
 Nienasycony: UDS < UDSsat

UDSsat = UGS - UT

Tranzystory MOS
 Tranzystory tego typu charakteryzują się:
 małym poborem mocy,
 odpornością na zakłócenia
 dużą częstotliwością przełączania
 Prostą konstrukcją – duże możliwości miniaturyzacji
CMOS – Complemenrtary MOS
 Technologia półprzewodnikowa krzemowych układów scalonych
 Układy zbudowane z tranzystorów MOS
 Połączone w taki sposób, że w ustalonym stanie logicznym przewodzi tylko jeden
 Układ nie pobiera w stanie jałowym prądu
 Problem przy wysokich częstotliwościach – przeładowywanie pojemności
 Bardzo tanie w realizacji
 Zapewniają dużą gęstość tranzystorów – w nowoczesnych układach powierzchnia
tranzystora to 1um
 Niewystarczająca szybkość przełączania CMOS – zastępują je rozwiązania na arsenku
galu
Miniaturyzacja układów
 Minimalny wymiar charakterystyczny - głównym wyznacznikiem stopnia miniaturyzacji
 Minimalny wymiar charakterystyczny definiowany jest przez rozdzielczość procesu
litograficznego i procesu trawienia
 MWC – przeważnie jest to wymiar pojedynczego tranzystora MOS
 W drugiej połowie ’90 powszechnie przemysłową technologią była 0,35um, przy średnicy
podłoża 200 nm
Proces wytwarzania mikroprocesorów
 Wykonanie monolitycznego krzemowego walca
 Pozbawienie walca wszelkich zanieczyszczeń po przez proces odwirowywania
8





Cięcie walca na części – najczystsze są wewnętrzne części tzw. wafla (ang. silicon wafer)
Pokrycie wafla warstwami domieszek
Przeprowadzenie procesu litografii
Przykrycie warstwą miedzi, która będzie stanowiła serię wyprowadzeń
Cięcie wafla w celu uzyskania rdzeni procesorów
Proces litografii
 Wyrysowanie na płytce krzemu pokrytej światłoczułym lakierem
 Naświetloną część lakieru łatwo zmyć odkrywając części do wytrawienia
 Maszyną do litografii jest skaner litograficzny
 Wykorzystywany efekt przesunięcia fali
 Prowadzone badania nad długościami fali światła pozwalające produkować tranzystory o
0,07 mikrona
Clean Room
 Zachowanie wysokiej czystości
 Norma ISO 14644-1: 2 cząsteczki wielkości 2um na 1 metr sześcienny
 Żółty kolor oświetlenia utrzymywany ze względu na procesy litograficzne
Złożoność procesorów
 http://en.wikipedia.org/wiki/Transistor_count
Technologie układów programowalnych

Rozwój technologii pozwolił na budowę układów programowalnych przez użytkownika tzw.
PLD/FPGA

Ulepszenie procesu technologicznego:
 redukowaniu wymiarów elementów półprzewodnikowych
 zwiększenie liczby warstw metalizowanych połączeń
 powstanie nowych technik programowania

FPLD (Field Programmable Logic Devices) – układy z możliwością programowania i
rekonfiguracji

Technologie wykorzystywane do tworzenia FPLD: pamięć SRAM, FLASH i ROM

Są to odpowiednio zorganizowane systemy pamięci pozwalające realizować zmienne
funkcje przetwarzania

Aktualnie układy FPLD pozwalają realizować projekty o złożoności kliku milionów bramek

Możliwość rekonfiguracji statycznej i online pozwalającej zmienić strukturę w trakcie
działania
FPGA w rzeczywistości
Cechy układów PLD/FPGA
 Układy produkowane w dużych seriach: niska cena, wysoka jakość
 Nie jest wymagane zamawianie ich u producenta (w przeciwieństwie do układów ASIC)
 Układy nie realizują żadnej specyficznej funkcji
 W porównaniu do procesorów układy te oferują: większą szybkość, niższy koszt i wyższą
niezawodność
 Słabo nadają się do realizacji bardzo złożonych systemów
Zastosowanie FPGA/PLD
 Aparaty i urządzenia produkowane w małych seriach
 Zastępowanie układów małej i średniej skali integracji
 Zastosowanie wymagające wielokrotnego programowania:
 Prototypy, emulatory, symulatory
 Programowalne i rekonfigurowalne koprocesory, procesory specyficzne
 Kontrolery wymagające adaptacji
9
Metody komputerowego wspomagania projektowania
 Narzędzia te umożliwiają:
 Modelowanie
 Budowę wirtualnych prototypów
 Symulację i analizę
 Automatyczną syntezę
 Wykorzystywanie gotowych projektów (desing reuse): rdzeni mikroprocesorów,
mikrokontrolerów, procesorów sygnałowych, etc …
 Przykłady ALTERA MAXII+
Komputerowe wspomaganie projektowania układów
 Problem: gęstość upakowania elementów w najnowszych układach sięga 100 mln
tranzystorów/10 mln bramek
 Wykorzystanie komputerowych systemów projektowania
 Stworzenie języków opisu sprzętu (Hardware Description Language)
 Narzędzia te umożliwiają:
 Modelowanie
 Budowę wirtualnych prototypów
 Symulację i analizę
 Automatyczną syntezę
 Wykorzystywanie gotowych projektów (desing reuse): rdzeni mikroprocesorów,
mikrokontrolerów, procesorów sygnałowych, etc …
Hardware Description Langauge
 Umożliwienie projektantowi układów scalonych opisywanie: funkcji, struktury i
parametrów na wyższym poziomie abstrakcji
 Specyfikacja powinna zapewniać opis:
 zachowania systemu
 ograniczeń strukturalnych i fizycznych
 System powinien umożliwić symulację oraz animację modelowanego systemu w celu
analizy lub weryfikacji różnych charakterystyk
 Języki HDL znacznie bardziej skomplikowane niż języki programowania
 Opis zawiera skomplikowane informacje na temat struktury i parametrów
 Układy wykonują operacje współbieżne na bardzo niskim poziomie abstrakcji (w
programowaniu dane w układach przetwarzane są szeregowo)
 Postanie koncepcji produktu wirtualnego
 Biblioteki funkcjonalne
Synteza układów
 Specyfikacja układu w języku HDL
 Kompilacja do opisu przesłań rejestrowych
 Kompilacja do poziomu sieci logicznej
 Synteza i optymalizacja logiczna
 Odwzorowanie technologiczne
 Synteza fizyczna lub programowanie układu
Układy logiczne
 Układy kombinacyjne
Układy kombinacyjne
 Podstawowy układ logiczny umożliwiający realizacje funkcji boolowskich
 Składa się z elementów logicznych
10
 Jest elementem złożonych układów cyfrowych
Funkcja boolowska
 Odwzorowanie zbioru wektorów (ciągów binarnych) z X w zbiór wektorów Y, gdzie X i Y są
podzbiorami n-krotnego iloczynu kartezjańskiego B={0,1}
Funkcja boolowska
n
 może być przedstawiona w postaci tablicy o n+1 kolumnach i 2 wierszach
 W kolejnych wierszach zapisywane są wszystkie wartości ciągu x1, x2, … xn, czyli
wszystkie wektory x
 W ostatniej kolumnie podana jest wartość Y
 Funkcję można zapisać podając zbiory wektorów dla których funkcja przyjmuje
odpowiednie wartości
 F={x: f(x)=1}
 R={x: f(x)=0}
 D={x: f(x)=-}
Funkcje boolowskie
 Reprezentacja funkcji boolowskich w postaci formuł ułatwia realizację elementów
logicznych (bramki logiczne)
 Operatory: AND, OR, NOT
 Przykład formuły
Inne operatory
Synteza dwupoziomowa
 Zaletą formuł boolowskich jest możliwość upraszczania wyrażeń, a co za tym idzie
minimalizacji liczby wykorzystanych bramek
 Upraszczanie zgodnie z prawami alegebry Bool’a
 Możliwość reprezentacji funkcji za pomocą różnych wyrażeń boolowskich – reprezentacja
formułami równoważnymi
 Najprostszy sposób to:
 Generacja implikantów
 Slekecja implikantów prostych
 Jest to jednak najbardziej złożony algorytm, gdyż należy do zbioru problmów
NPZupełnych
Dekompozycja
 Transformacja pojedynczego wyrażenia na zbiór kilku nowych wyrażeń
Układy sekwencyjne
 Modelem układu sekwencyjnego jest automat.
 Definicja automatu:
 Zbiór liter wejściowych X i wyjściowych Y
 Zbiór stanów wewnętrznych S
 Funkcja przejść
 Funkcja wyjść
 Automaty Mealy’ego i Moore’a
Pamięci
Hierarchia pamięci
Pamięci półprzewodnikowe
 Rodzaj pamięci będącej cyfrowym układem przechowującej dane w postaci binarnej
Dekodery
Macierzowa architektura
11
Parametry użytkowe
 Pojemność
 Przepływność
 Koszt na jeden bit
 Ziarnistość – minimalna ilość pamięci, o którą można rozszerzyć
 Czas dostępu – czas potrzebny na zapis/odczyt
 Czas cyklu - najmniejszy czas pomiędzy akacją zapisu/odczytu
 Organizacja zewnętrzna – liczba bitów w kości x liczba kości w module x liczba adresów w
kości x liczba modułów
Organizacja zewnętrzna fizyczna pamięci półprzewodnikowych
Pamięci nieulotne
 Zachowują zawartość po wyłączeniu zasilania. W pamięciach ulotnych czas zapisu
informacji jest dłuższy od czasu odczytu.
 MROM, ROM (Mask Programmable Read Only Memmory) – pamięć zapisywana podczas
wytworzenia
 PROM (Programmable Read Only Memmory) – jednokrotne programowanie po przez
przepalenie połączeń wewnętrznych
 UV-EPROM, EPROM (erasable programmable read only memmory) - wielokrotne
programowanie. Umieszczony zostaje ładunek w bramce tranzystora. Kasowanie z
użyciem UV
 OTPROM (one time programmable read only memory) – programowanie jednokrotne.
Układ pamięci UV-EPROM w taniej obudowie.
 EEPROM (electrically erasable programmable read only memory) – zmiana struktury po
przez sygnał elektryczny
 FLASH – rodzaj pamięci EEPROM umożliwiający zapis/kasowanie wielu komórek
jednocześnie
Pamięci o dostępie swobodnym
 Pamięci RAM (random access memory) tracą zawartość po wyłączeniu zasilania. Czasy
zapisu i odczytu są jednakowe.
 Technologie:
 pamięci statyczne (SRAM)
szybsze niż dynamiczne
większy koszt na jeden bit (potrzeba 6 tranzystorów oraz połączenia między nimi, bazuje na
przerzutniku)
stosowane do konstrukcji pamięci podręcznych
 pamięci dynamiczne (DRAM)
mniejszy koszt na jeden bit (bazuje na pojemnościach pasożytniczych)
wymagają odświeżania
stosowane do konstrukcji pamięci głównych komputerów
niski pobór mocy
Rodzaje pamięci o dostępie swobodnym
 Konieczność przygotowania rozwiązań współpracujących z szybkimi procesorami ze
względu na szybkość pamięci DRAM
 FPM DRAM (fast page mode DRAM), EDO DRAM (extended data out DRAM)
 SDRAM (synchronous DRAM)
 VRAM (video RAM)
 DDR RAM (double data rate DRAM), DDR2
 Rambus DRAM
12
Odczyt pamięci dynamicznej
Fast Page Mode
 Czas dostępu ok. 60-70 ns
 Dane przesyłane jako seria 5-3-3-3
 Odczyt rozpoczyna się od wybrania strony po przez sygnał RAS i odpowiedniej kolumny
po przez sygnał CAS
EDO – Extended Data Out
 Stosowane w pamięciach graficznych
 Zmniejszenie liczby cykli oczekiwania podczas operacji sekwencyjnego odczytu
 Przesyłanie danych w serii 5-2-2-2
 Rozpoczęcie wyznaczania następnego adresu w momencie, gdy dane są odczytywane
Tryb pakietowy
 Rozwinięcie pamięci EDO jest BEDO Burst Extended Data Output
 Zmiana sposobu w jaki dane są przesyłane po wyznaczeniu adresu
 Kontroler odwołuje się do pierwszej komórki, a pozostałe bity przesyłane są samoczynnie
przez układ logiki
 Cykl pracy 5-1-1-1
 Skrócenie odstępu pomiędzy zboczami sygnału CAS oraz opóźnienia pomiędzy sygnałem
RAS i CAS
 W czasie przysłania ostatniego bita danych wysterowywany jest kolejny adres
Synchroniczne DRAM
 Możliwość pracy zgodnie z taktem zegara systemowego
 Możliwość współpracy z magistralą systemową przy prędkości nawet 100MHz
 Zastosowanie synchronicznego przesyłania danych zgodnych z zegarem
 Możliwość pracy w trybie BURST: kontrola prędkości transferu danych oraz eliminacja
cykli oczekiwania
SIMM vs DIMM
 Pamięci montowane są w tzw. modułach ze względu na konieczność rozbudowy
komputerów
 Znane moduły SIMM (Singel In Line Memory Module) – oznacza sposób organizowania
kości pamięci
 Szerokość danych wynosi 32 bity
 Konieczność łączenia SIMM w pary w przypadku magistrali 64 bit
 Moduł DIMM (Dual In Line Memory Module)
 Szerokość danych wynosi 64 bity
Pamięci podręczne tzw. cache
 Szybkość wykonywania programu zależy od czasu dostępu do pamięci operacyjnej.
 Możliwość budowy małych drogich, ale szybkich układów pamięci
 Wyposażenie procesora w szybką pamięć, ale i mniejszą pamięć podręczną
 Brak zgodności szybkości pracy pamięci operacyjnej z procesorem
 Lokalność odwołań do pamięci:
 Czasowa – jeśli obiekt był żądany to jest duże prawdopodobieństwo, że będzie żądany
ponownie
 Przestrzenna – jeśli obiekt był żądany to będą żądane obiekty prawdopodobnie wokół
niego
13
Rodzaje odwzorowania adresów pamięci
 Bezpośredni, 1-skojarzeniowy
 Sekwencyjno-skojarzeniowy, skojarzeniowy (n>1)
 Skojarzeniowy, w pełni skojarzeniowy, asocjacyjny
 Przy odwzorowaniu innym niż bezpośrednie wykorzystywane są algorytmy zastępowania:
 LRU (least recently used, najdawniej ostatnio używany)
 FIFO (first in first out, pierwszy wchodzi, pierwszy wychodzi)
 LFU (least frequently used, najrzadziej używany)
Poziomy pamięci cache
 Odwoływanie do kolejnych poziomów pamięci w przypadku braku danych. Przepisanie
danych do niższych poziomów w celu dostępności w kolejnych wołaniach
 Podział na oddzielny blok dla danych i kodu (np. dla L1)
 L1 (level 1)
 zintegrowana z procesorem - umieszczona wewnątrz jego struktury.
 mała, ale dane dla procesora szybko dostępne
 L2 (level 2) umieszczona w jednej obudowie układu scalonego mikroprocesora lub na
wspólnej płytce hybrydowej np. Pentium II.
 L3 (level 3) umieszczona w bezpośrednim sąsiedztwie procesora np. ITANIUM.
Budowa pamięci cache
 Pamięć cache składa się z linijek, w których przechowywane są informacje pobrane z RAM
– najmniejsza pobrana porcja danych
Budowa adresu
 Podział adresu przez układy logiczne:
 Znacznik (20 bitów) – porównywany ze znacznikiem w katalogu cache. Okreslanie, czy
dane potrzebne dla procesora są w linijce cache (określanie trafienia).
 Wiersz (7 bitów) - która pozycja (indeks) w katalogu 1 i katalogu 2 może
odwzorowywać potrzebne dane.
 Słowo (3 bity) pozwala na określenie, które z ośmiu 32-bitowych słów
przechowywanych w linijce zawiera dane potrzebne procesorowi.
 Bajt (2 bity) określa, który bajt w 32- bitowym słowie jest aktualnie potrzebny
mikroprocesorowi.
Uzgadnianie zawartości pamięci wyższego poziomu z pamięcią podręczną
 Sposób uzgadniania zgodności danych w przypadku zajścia zmian w pamięci cache lub
pamięci RAM
 Zapis jednoczesny (wirte through) – zapis wykonywany jest zarówno do pamięci jak i
do cache. Proces musi monitorować zapis do pamięci RAM przez każdy inny układ.
 Zapis opóźniony (copy/wirte back) – aktualizacja wyłączenie pamięci podręcznej. Układ
cache ustawia odpowiednie statusy (MESI). Aktualizacja na żądanie.
 Zapis inclusive
 Zapis exlusive
Algorytm zapewniania zgodności
 MESI
 MSI
 MOSI
 MOESI
Zmiany wielkości komórki
Pamięci masowe
14
 Pamięć zewnętrzna – dłuższy czas dostępu i większa pojemność niż RAM
 Urządzenie wejścia/wyjścia – brak instrukcji sterujących bezpośrednio przez procesor
zawartością pamięci tak jak dla RAM
 Operowanie na blokach, sektorach, a nie bitach
 Stosowane technologie:
Magnetyczne: dyskowe (dyski twarde, dyskietki), taśmy
Optyczne: Compact Disc, Digital Video, Blueray Disc, High Definition DVD
 Magneto-optyczne
 Półprzewodnikowe pamięci flash


Dysk twardy (hard disc drive)
 Pojemność od kliku MB do kilku TB
 Wykorzystany w budowie nośnik magnetyczny
 Parametry dysku: pojemność, szybkość transmisji, czas dostępu, szybkość obrotowa,
MTBF
Budowa HDD
 Wirujący zespół talerzy wykonany ze stopu aluminium pokrytych nośnikiem
magnetycznym (kilku mikrometrów)
 Głowice elektromagnetyczne – odpychane aerodynamicznie podczas obrotu talerza
 Struktura w postaci cylindrów, na których ustawiana jest głowica.
 Dane znajdują się na tzw. ścieżkach.
 Ścieżka podzielona jest na sektory (przerwa, identyfikacja, synchronizacja, nr ścieżki, nr
sektora, korekcja błędów, przerwa, dane, przerwa)
 Głowica ustawiana za pomocą cewki – elektromagnetycznie z szybkością nawet 1 ms
 Zapis realizowany przez antenę przesyłającą strumień elektromagnetyczny
 Czas dostępu: czas do przesunięcia głowicy, znalezienie odpowiedniej ścieżki, czas
przesłania danych
Dyski optyczne
 Zapis i odczyt wykonywany za pomocą lasera
 W dyskach ROM zapis informacji po przez wykonywanie za pomocą matrycy zagłębień (pit
– fragmenty tłumiące) w stosunku do powierzchni (land – fragmenty odbijające)
 Wykorzystanie zjawiska zmiany własności optycznych w wyniku naświetlenia laserem o
zmiennej mocy promieniowania
 Moc lasera przy zapisie większa niż przy odczycie
 Zapis po przez: tłoczenie, wypalanie laserem barwnika, zmiana postaci nośnika
(krystaliczna, amorficzna)
Technologie dysków optycznych
 Nowe technologie były uzależnione od możliwości lasera tj. długości fali
 CD – 780 nm
 DVD – 650 nm
 BD i HD DVD – 405 nm
 Stosowanie jednej spiralnej ścieżki z danymi. Wyjątek DVD-RAM, które posiadają
strukturę zbliżoną do dysków twardych.
 Spiralna ścieżka zwiększa gęstość zapisu kosztem czasu dostępu
Dysk DVD
 Standard zapisu na nośniku optycznym podobnym do CD-ROM o większej gęstości zapisu
 Laser o krótszej wiązce fali niż w CD
 Zastosowano dwie warstwy zapisu oraz zapisu obustronnego
 DVD zawiera system plików UDF
15
Dyski magnetooptyczne
 Odczyt z dysków magnetooptycznych wykonywany za pomocą lasera. Wykorzystanie
zjawiska Kerra
 Zjawisko zmiany własności optycznych nośnika w zależności od kierunku namagnesowania
 Podgrzewanie przez laser warstwy magnetycznej nośnika powyżej temp. Curie przy
jednoczesnym wytwarzaniu przez głowicę pola elektromagnetycznego
 Organizacja podobna jak na dyskach twardych
Metody zapisu/odczytu informacji
 CAV (constant angular velocity) – stała prędkość kątowa
 CLV (constant linear velocity) – stała prędkość liniowa
 ZCLV (zoned CLV) – dysk podzielony na strefy ze stałymi prędkościami liniowymi
 CAA (constant angular acceleration) – rodzaj CLV. Prędkość kątowa zmienia się krokowo
ze stałym przyspieszeniem/opóźnieniem.
RAID
 Nadmiarowa Macierz niezależnych dysków (Redundant Array of Independent Disks)
 Cele wykorzystania RAID:
 zwiększenie niezawodności (odporność na awarie),
 przyspieszenie transmisji danych,
 powiększenie przestrzeni dostępnej jako jedna całość
RAID 0
 Połączenie dwóch lub więcej dysków widzianych jako jeden logiczny
 Przestrzeń ma rozmiar najmniejszego z dysków
 Korzyści:
 przestrzeń wszystkich dysków jest widziana jako całość
 przyspieszenie zapisu i odczytu w porównaniu do pojedynczego dysku
 Wady:
 brak odporności na awarię dysków
 N*rozmiar najmniejszego z dysków
RAID 1
 Replikacja pracy dwóch lub więcej dysków tzw. mirroring
 Zapis i odczyt sekwencyjny bądź równoległy
 Korzyści:
 odporność na awarię N - 1 dysków przy N-dyskowej macierzy
 możliwe zwiększenie szybkości odczytu
 Wady:
 zmniejszona szybkość zapisu
 utrata pojemności (dokładnie pojemności wynosi tyle co jeden, najmniejszy dysk
macierzy)
RAID 3
 Dane składowane na N-1 dyskach
 Ostatni dysk przechowuje sumy kontrolne
 Korzyści:
 odporny na awarię 1 dysku
 większa szybkość odczytu
 Wady:
 mniejsza szybkość zapisu z powodu konieczności kalkulowania sum kontrolnych
16



(eliminowana poprzez zastosowanie sprzętowych kontrolerów RAID)
w przypadku awarii dysku dostęp do danych jest spowolniony z powodu obliczeń sum
kontrolnych
odbudowa macierzy po wymianie dysku jest operacją kosztowną obliczeniowo i
powoduje spowolnienie operacji odczytu i zapisu
pojedynczy, dedykowany dysk na sumy kontrolne zazwyczaj jest wąskim gardłem w
wydajności całej macierzy
RAID 0+1
 Macierz realizowana jako RAID 0, którego elementami są macierze RAID 1
 Potrzebne 4 dyski o tej samej pojemności
 Awaria dysku powoduje, że układ staje się macierzą RAID-0
 Korzyści:
 szybkość macierzy RAID 0
 bezpieczeństwo macierzy RAID 1
 znacznie prostsza w implementacji niż RAID 3, 5 i 6
 Wady:
 większy koszt przechowywania danych niż w przypadku RAID 0,2,3,4,5,6
RAID 1+0 (10)
 Macierz RAID 0 realizowana jako RAID 1
 Tworzenie dużego paska danych „stripe” małych mirrorów
 Korzyści:
 szybkość macierzy RAID 0
 bezpieczeństwo macierzy RAID 1 - w szczególnym wypadku nawet większa (awaria
więcej niż jednego dysku różnych mirrorów)
 znacznie prostsza w implementacji niż RAID 3, 5 i 6
 Wady:
 większy koszt przechowywania danych niż w przypadku RAID 0,2,3,4,5,6
Magistrale i interfejsy
Interfejsy
 Interfejs (styk) – urządzenie i protokoły pozwalające na połączenie ze sobą dwóch
innych urządzeń, które bez niego nie mogą współpracować
 Rodzaje przesyłania danych:
 Szeregowy
 Równoległy
 Dostęp do medium
 Centralny
 Rozproszony
Interfejsy
 Tryby pracy:
 Simplex
 Half-duplex
 Duplex
 Połączenie urządzeń
 punk-punkt
 wielopunkt
 Rodzaje transmisji
17
 Synchroniczny i asynchroniczny
Złącza
 Element do łączenia urządzeń elektrycznych.
Magistrala
 Magistrala (ang. bus) – podsystem zajmujący się transferem danych pomiędzy
urządzeniami wewnątrz komputera lub pomiędzy komputerami
 Łączy klika urządzeń peryferyjnych logicznie za pomocą tego samego medium
 Przewody mogą być dedykowane lub multipleksowane
 Parametr użytkowy: szerokość magistrali
Magistrala systemowa
 Magistrala łącząca ze sobą następujące elementy komputera:
 Procesor
 Pamięć operacyjną
 Urządzenia I/O
 Złożona z kilku linii komunikacyjnych
 Przesyłanie danych w sposób sekwencyjny
Budowa magistrali systemowej
 Budowa magistrali:
 Linia adresów – określa adresy komponentów komunikujących się pomiędzy sobą.
Procesor odwołuje się do adresu, w celu określenia urządzenia które zleciło wykonanie
zadania
 Linia danych (data bus) – przesyłanie danych pomiędzy poszczególnymi podzespołami
komputera
 Linia sterowania – regulacja dostępu do pozostałych linii
 Linia zasilania Magistrala PCI
 PCI (ang. Peripheral Component Interconnect)
 Magistrala komunikacyjna służąca do przyłączania urządzeń do płyty głównej w PC
 Następca magistrali ISA pod kątem szybkości wymiany danych oraz braku znaczenia jaki
rodzaj jej rodzaj jest w gnieździe
 Parametry użytkowe:
 Szybkość taktowania, szerokość słowa, przepływność, napięcie
 Np.. 33 MHz, 32 bity, 133 MB/s, 5V
Rodzaje PCI
 PCI-X – częstotliwość taktowania 133 MHz
 PCI-X 2.0 – częstotliwość taktowania 266 MHz i 533MHz
 Mini PCI – wersja PCI 2.2 do użytku w laptopach
 CardBus – wersja PCMCIA specyfikacji PCI (33 MHz i 32 bity)
 AGP – interfejs dla kart graficznych
Magistrala PCI
 Specyfikacja określa następujące linie sygnałowe:
 Systemowe
 Adresów i danych
 Arbitrażu
 Sterowania interfejsem
 Zgłaszania przerwań
18
PCI Linie sygnałowe (1)
 Systemowe:
 CLK – zegar – sygnał synchronizujący wszystkie operacje na magistrali PCI.
 RST – reset – zeruje rejestry liczniki. Działa asynchronicznie
 Adresów i danych:
 AD - Przełączane linie sygnałów adresowych i danych. Po każdej fazie przesyłania
adresu następuje jedna lub więcej faz przesyłania danych
 C/BE - Linie przełączane. W fazie przesyłania adresu przekazują kod rozkazu. W
fazie przesyłania danych wykorzystywane są jako sygnały wyznaczające ścieżkę,
która przesyłane są ważne bajty [3-0] danych.
PCI Linie sygnałowe (2)
 Arbitrażu:
 REQ - Indywidualny sygnał zadania przydziału magistrali wysyłany przez moduł
nadrzędny do układu arbitrażu.
 GNT - Wysyłany przez arbitra sygnał potwierdzający przyznanie modułowi
nadrzędnemu prawa do magistrali. Każdy moduł nadrzędny ma swój własny sygnał
GNT#.
 Linie zgłaszania przerwań – INTA, INTB, INTC, INTD
PCI Linie sygnałowe
 Linie sterowania interfejsem
 FRAME – Sygnał generowany przez moduł nadrzędny, który uzyskał prawo do
sterowania magistrala. Określa moment rozpoczęcia i czas trwania operacji: sygnał
FRAME# aktywny w stanie niskim pojawia sie na początku fazy adresowej a przed
ostatnim przesłaniem danych przechodzi w stan wysoki.
 IRDY - Sygnalizuje, ze agent inicjujący operacje jest gotowy zakończyć bieżąca
fazę przesyłania danych. Podczas operacji zapisu sygnał IRDY# wskazuje, ze dane
wystawione na liniach AD[31::00] już są ważne. Podczas operacji odczytu
sygnalizuje gotowość modułu nadrzędnego do odbioru informacji. Faza jest kończona,
kiedy dla tego samego narastającego zbocza impulsu zegarowego sygnały IRDY# i
TRDY# są w stanie niskim.
 TRDY - Sygnał wysyłany przez moduł docelowy uczestniczący w operacji transmisji
danych. Za jego pośrednictwem moduł informuje, że jest gotowy zakończyć
bieżąca fazę przesyłania danych. Podczas operacji odczytu aktywny sygnał TRDY#
oznacza, ze dane na liniach AD[31::00] sa wazne. Jesli sygnał TRDY# jest
aktywny podczas operacji zapisu to wiadomo, ze moduł docelowy jest gotowy
przyjac dane. Faza konczy sie kiedy sygnały IRDY# i TRDY# sa w stanie niskim
podczas narastajacego zbocza impulsu zegarowego.
PCI Express
 PCI-E – jest to 3rd Generation I/O
 PCI-E zastąpiła PCI oraz AGP
 Magistrala typu szeregowego, punkt-punkt, nie jest rozwinięciem PCI
 Brak konieczności dzielenia pomiędzy klika urządzeń
 Sygnał przekazywany z wykorzystaniem dwóch linii po jeden w każdym kierunku
 Częstotliwość taktowania 2,5GHz
 Przepustowość linii 250 MB/s, możliwość pracy w fullduplex – przepływność 500 MB/s
 Kilka wariantów magistrali: 1, 2, 4, 8, 12, 16, 32 linii
 Dostępne mniejsze warianty: Express Card (następca PCMCIA), PCI Express MiniCard
(następca Mini PCI)
19
PCI Express
SCSI
 Small Computer Interface System – równoległa magistrala danych przeznaczona do
przesyłania danych
 Wykorzystywany w drogich rozwiązaniach serwerowych
 Urządzenia podłączone są równorzędnie. Każde urządzenie może rozpoczynać operację
jak i wykonywać zleconą operację.
 Każde urządzenie posiada unikatowy adres w obrębie magistrali (SCSI ID). Początkowo
wykorzystywano 3 bity.
 Identyfikator pełni rolę priorytetu przy rozstrzyganiu jednoczesnego dostępu więcej niż
jednego urządzenia. Kontroler posiada priorytet 7
 W ramach SCSI ID jest LUN (Logical Unit Number) identyfikujące tzw. urządzenie logiczne
(np. w przypadku zmieniarek identyfikacja jej elementów)
SCSI
 Sposób transmisji:
 Synchroniczny
 Asynchroniczny
 Prędkość transmisji:
 5, 10, 20, 80, 160
 Szerokość magistrali:
 8 i 16 bitów
 Parametry elektryczne
ATA
 Advanced Technology Attachment – standardowy interfejs do podłączania dysków, CDROM, etc ... wewnątrz komputera
 Inne skróty to IDE, PATA (od parallel po wprowadzeniu SATA)
 ATAPI – rozszerzenie ATA umożliwiające obsługę mediów wymiennych m.in. pamięci
optycznych
 Długość kabli do 46 cm
SATA
 SATA - ang. Serial Advanced Technology Attachment
 Następca równoległej magistrali ATA, cieńsze i bardziej elastyczne kable do transmisji z
mniejszą liczbą styków
 SATA umożliwia szeregową transmisję danych pomiędzy kontrolerem a dyskiem z max.
przepustowością 1,5GBit/s. Aktualnie SATA 2 z przepustowością 3GBit/s
 Do działania kontrolerów zostały wprowadzone 3 mechanizmy:
 Kolejkowanie zadań – optymalizowanie odczytu i zapisu z punktu widzenia ustawienia
głowic
 Port Multiplier – możliwość podłączenia jednego SATA do kilku urządzeń. 1 dysk nie
wykorzysta oferowanej przepływności SATA, natomiast 4 wykorzystują w pełni.
Zmniejszenie liczby kabli.
 Port Selector – podłączenie dwóch różnych portów do tego samego urządzenia w celu
redundancji ścieżki
RS232
 RS232 (Recommended Standard) opisuje sposób podłączenia urządzeń końcowych DTE
(Data Terminal Equipment) i urządzeń komunikacyjnych DCE (Data Communication
Equipment)
 Standard określa nazwy styków łącza (wtyczki typu COM), przypisane im sygnały oraz
specyfikę elektryczną.
20



RS 232 jest to magistrala komunikacyjna do szeregowej transmisji danych na odległość
<15 m z szybkością do 20kbps akutalnie do ok. 115kbps, a specyficzne implementacje
wewnętrzne do 230,4 kbps
W architekturze PC zostały przewidziane 4 porty COM
Zakres napięcia:
 Dla 1 logicznej: -3V do -15V
 Dla 0 logicznego: 3V do 15V
RS 232
 Sygnały przesyłu danych:
 RxD – odbiór danych (DCE->DTE)
 TxD – nadawanie danych (DCE<-DTE)
 Sygnały informujące o gotowości:
 DTR – Data Terminal Ready
 DSR – Data Set Ready
 Kontrola przepływu danych na poziomie sprzętu:
 RTS – Request To Send Data – żądanie wysłania
 CTS – Clear To Send Data – gotowość do wysłania
 Sygnały do sterowania modemami:
 DCD – Data Carrier Detect – sygnał wykrycia nośnej
 RING – Ring Indicator – wskaźnik dzwonka
 Masa: GND
RS232 – Protokoły Transmisji
 Tryb Asynchroniczny
 Każdy bajt jest przesyłany niezależnie, poprzedzony bitem START. Dalej transmisja bitów
0-7, opcjonalnie bity parzystości, koniec bit STOP
 Bity parzystości:
 Liczba 1 w i-tym bicie jest parzysta (Even Parity) lub nieparzysta (Odd Parity)
 Lub i-ty bit ma określoną wartość (Stick Parity)
 Czas trwania bitu określony jest przez stronę wysyłającą, wykrywanie narastającego
zbocza i próbkowanie w połowie długości
 Wykrywanie błędów:
 fałszywy start – wykrycie 1 w połowie bitu START
 błąd ramki – wykrycie 0 w pół odstępu czasu po rozpoczęciu bitu STOP
RS 232 – Protokoły Transmisji
 Tryb Synchroniczny
 DCE podaje sygnał TxC i RxC
 DTE pobiera (TxD) lub wysyła odpowiednie bity (RxD)
 Rozdzielenie granicy bajtów poprzedzone sekwencją synchronizacyjną SYN
 Pakiet danych rozpoczyna się od SOH natychmiast po SYN
 Struktura danych określa ich przeznaczenie: tzn. dane do wyświetlenia, dane do
wydrukowania, sterowanie terminalem w raz z miejscem ich końca
 Opcjonalnie możliwość sprawdzenia poprawności danych: CRC lub różnica symetryczna
bajtóws
 Ze względu na synchroniczność transmisji przesyłanie danych w postaci pakietów
RS 232-D
RS 232
 Rodzaje złącza: 9 i 25 PIN
USB
21








Universal Serial Bus – uniwersalna magistrala szeregowa
Funkcjonalność pozwalająca zastąpić porty równoległe i szeregowe
Zasada działania Plug’n’Play.
Podłączone urządzenia tworzą sieć, nie zależnie od szybkości działania każdego z nich –
topologia drzewiasta
Mechanizm automatycznego przydziału adresów w przeciwieństwie np. do SCSI – brak
konieczności ingerencji użytkownika
Max. 127 urządzeń jednak ze wzg. na pobór mocy mniej
Magistrala wymaga jednego kontrolera magistrali (rolę pełni host). Brak możliwości
połączenia dwóch komputerów, chyba że ze specjalnym układem.
Dwie wersje:
 V1 – 1,5 Mbps i 12 Mbps
 V2 – 480 Mbps. Formaty gniazd i styków pozostają jak V1. Możliwość łączenia starych i
nowych elementów architektury. Urządzenie Translation Transaction realizuje
konwersję z V1 na V2
USB
 Po podłączeniu automatyczne nadanie adresu urządzeniu przez kontroler w strukturze
drzewiastej
 Adres: 4 bity głównego adresu (ADDR) + 4 bity podadresu (ENDP) do identyfikacji np.
części obrazowej, części głosowej, etc…
 Każde urządzenie w trakcie wykrywania informuje kontroler o wymaganej przepływności i
rodzaju danych
 Każde urządzenie identyfikowane sprzętowo za pomocą 5 bajtowego kodu
 Na poziomie aplikacji komunikacja po przez kanały wirtualne (Pipes) udostępniane przez
kontroler
 Ścieżka 0 (Control Pipe) wykorzystywane do identyfikacji i konfiguracji urządzenia
 Dostęp do magistrali zarządzany przez kontroler (możliwość ignorowania żądania)
USB – rodzaje transmisji danych
 Podstawowy tryb – asynchroniczny tworzony dla danych o charakterze masowym (bulk).
Brak gwarancji pasma, ani czasu transmisji – zależne od chwilowej aktywności magistrali.
Zastosowanie do pamięci masowych.
 Tryb synchroniczny. Przesyłanie porcji danych z określoną częstotliwością. Kontroler
rezerwuje wycinek pasma w określonych odcinakach czasu w celu zagwarantowania
wymagań. Np. mikrofon, kamer.
 Tryb ze względu na czas przesłania informacji (Interrupt Transfer). Przesyłanie
pojedynczych bajtów w trybie ekspresowym. Np. myszka,
 Tryb sterujący (Control Transfer) – konfiguracja nowo podłączonych urządzeń
USB
 Transmisja realizowana na dwóch przewodach D- i D+
Wtyki i złącza
FireWire
 Łącze szeregowe umożliwiające szybką transmisję
 Standardy transmisji: 100, 200, 400 Mbps przy długości kabla 4,5m
 Znacznie szybszy i stabilniejszy niż USB2.0
 Transmisja realizowana przy pomocy dwóch par (TPA+/TPA- oraz TPB+/TPB-)
 Interfejs posiada linię zasilającą
 Najnowszy standard przewiduje wykorzystanie połączeń optycznych do 3,5Gbps
22



Nie wymaga użycia komputera, czyli kontrolera magistrali. Urządzenia są
równouprawnione
Problem w kwestii opłat licencyjnych na rzecz Apple (0,25 USD za każde urządzenie)
Brak popularności ze względu na brak implementacji w chipsetach Intel’a. Producent płyty
musi dodatkowo integrować układ FW
Złącza FW
Pozostałe interfejsy
 Sieciowe: Ethernet
 Bezprzewodowe sieciowe: Wi-Fi, WiMax
 Bezprzewodowe: IRDA, Bluetooth
 Do zastosowań graficznych: DVI (Digital Visual Interface)
Mikroprocesor
 CPU – Central Processing Unit
 Realizuje instrukcje wykonywania programu
 Cechy odróżniające procesory pomiędzy sobą:
 Architektura
RISC
– architektura procesora o uproszczonej liście rozkazów. Umożliwia
stosowanie wysokich częst. taktowania.
CISC – architektura wykorzystująca złożoną listę rozkazów
 Liczba bitów przetwarzania w jednym takcie
 Częstotliwość taktowania [MHz]
Budowa mikroprocesora
 Składowe mikroprocesora:
 Jednostka arytmetyczno-logiczna (ALU) – odpowiedzialna za wykonywania obliczeń,
których wyniki końcowe i pośrednie przechowywane są w rejestrach
 Układ sterownika – pobiera rozkazy z pamięci i je dekoduje
 Bloki rejestrów

Rodzaje rejestrów:
 Danych – przechowywanie argumentów i wyników operacji arytmetyczno-logicznych
 Adresowe – przechowywanie adresów do operacji arytmetycznych na adresach
 Ogólne – mogą pełnić funkcję rej. danych jak i adresowych
 Specjalizowane – pełnią ściśle określoną funkcję np.. akumulator, wskaźnik stosu
 Stanu, znaczników
 Licznik programu – przechowuje adres bieżącej instrukcji do wykonania
 Zmiennopozycyjne – przechowują liczby w formacie zmiennopozycyjnym
 Wektorowe – przechowują wektor
 Segmentowe – wykorzystywane przy implementacji segmentowego modelu pamięci
Rodzaje architektur ze względu na rodzaj rejestrów
 Architektura bezrejestrowa – przechowywane są wyłączenie adresy. Wymagany jest
bezpośredni dostęp do pamięci
 Podstawowy zestaw rejestrów: akumulator, wskaźnik stosu, licznik programu, rejestr
adresowy. W trakcie obliczeń jeden argument jest w pamięci, a drugi jest zapamiętywany
wraz z wynikiem. (architektura IAS-Princeton Institute of Advanced Studies
zaproponowana przez von Neumana)
 Architektura z podstawowym zestawem rejestrów specjalizowanych. Przykład:
23



architektura 16 bitowa x86
Mały zestaw rejestrów uniwersalnych, które mogą pełnić dowolną funkcję
Duży zestaw rejestrów uniwersalnych. Np. architektura Cray X1E
Architektura z buforem wierzchołka stosu umożliwiająca przechowanie kilku ramek stosu
w rejestrze bez konieczności odwoływania się do pamięci
Kod maszynowy i asembler
 Kod maszynowy - binarny sposób opisu rozkazów procesora charakterystyczny dla
konkretnego typu procesora
 Asembler – jest to nakładka, język umożliwiający niskopoziomowe programowanie. Jedna
instrukcja odpowiada jednemu rozkazowi. Asembler jest specyficzny dla danej
architektury.
Lista instrukcji
 Typy instrukcji
 Systemowe - uprzywilejowane
 Aplikacyjne – mogą być wykonywane zawsze
Instrukcje aplikacyjne
 Instrukcje przesyłania danych
 Instrukcje arytmetyczne
 Operacje bitowe
 Operacje na napisach
 Instrukcje sterujące wykonaniem programu: instrukcje skoku, warunkowego przypisania,
warunkowego wykonania operacji (if-else)
Realizacja instrukcji warunkowych
 Model ze znacznikami:
 operacja warunkowa realizowana dwufazowo: modyfikacja znacznika/znaczników
jednobitowego oraz skok warunkowy w zależności od wartości znaczników
 Model bez znaczników:
 Instrukcja sprawdza warunek i wykonuje skok. Model popularny w arch. RISC
 Z predykatami:
 Predykat – uogólniony znacznik umożliwiający przechowywanie wartości logicznej
wcześniej obliczonego warunku. Instrukcje określają numer predykatu. Model w arch.
IA-64
Sposoby realizacja operacji arytmetycznych dwuargumentowych
 Argument źródłowy jest jednocześnie argumentem wynikowym:
 add r1, r2 r1:=r1+r2 lub r2:=r1+r2
 Argument wynikowy różny od argumentów początkowych:
 add r1, r2, r3 r1:=r2+r3 lub r3:=r1+r2
Typy adresowania
 Adresowanie to sposób sięgania po dane do rozkazów
 Konstrukcja programu zależna od sposobu umieszczania argumentów w pamięci
 Adres komórki, gdzie jest zawarty kod rozkazu przechowywany jest w liczniku rozkazów
 Tryb adresowania określa miejsce, gdzie jest umieszczony adres argumentu lub sposób w
jaki jest obliczany
Adresowanie poprzez rejestr
 Najprostszy typ adresowania
 Argumentami rozkazu są dwa rejestry. Kopiowanie jednego rejestru do drugiego
24
Adresowanie natychmiastowe
 Stała jako argument źródłowy jest zawarta w rozkazie, a nie rejestrze
Adresowane bezpośrednie
 Dana zawarta w rozkazie, adres wyznacza położenie argumentu od początku segmentu
 Argumentem adresowania jest etykieta
 MOV AX, TAB – ładowanie tablicy TAB do rejestru AX
Adresowanie pośrednie rejestrowe
 Adres efektywny argumentu znajduje się w rejestrze bazowym lub we wskaźniku bazy
albo w rejestrze indeksowym
 Rejestry będące argumentami pośrednimi zapisywane w programie przy pomocy „[ ]”
 MOV ax, [bx] - do ax ładuje zawartość komórki, której adres wskazuje rejestr bazowy
bx.
Tryby adresowania argumentów
 Każdy procesor zawiera tryb adresowania:
 adresowanie natychmiastowe
 rejestr bezpośredni
 rejestr pośredni
 Aktualnie procesory zawierają:
 Wariant trybu indeksowego
Cykl pracy mikroprocesora
 Cyfrowy układ synchroniczny, taktowany sygnałem zegarowym
 Z punktu widzenia programisty mikroprocesor wykonuje instrukcje sekwencyjnie
 Podstawowy sposób wykonywania programu na procesorze:
 Cykl rozkazowy (instruction cycle): okres czasu potrzebny do pobrania i wykonania
jeden instrukcji zajmuje od 1 do kilku cykli procesora (machine cycle). Zapis/odczyt
wymaga jednego cyklu. Cykl składa się z kilku taktów zegara.
 Wykonanie instrukcji wykonywane jest w dodatkowym cyklu procesora
 W nowych procesorach rozdzielono fazę komunikacji z pamięcią od fazy wykonania
instrukcji. Umożliwia to pobieranie kolejnych instrukcji przed zakończeniem poprzednich
 Cykl współpracy z pamięcią – od 1 do kilku taktów zegara
 Cykl wykonania instrukcji – od 1 do kilkuset taktów zegara
 UWAGA częstotliwości taktów zegara mogą być różne
Pomiar wydajności
 Wydajność procesorów mierzy się za pomocą
 IPS (Instructions per seconds). Wielokrotność MIPS = 10^6*IPS
 FLOPS (floating point operations per second). Wielokrotność MFLOPS, GFLOPS, TFLOPS
Sposoby zwiększania wydajności
 Zwiększanie częstotliwości taktowania procesora. Ograniczone przez właściwości fizyczne:
wydzielanie ciepła, czas propagacji sygnałów w układach cyfrowych
 Inne sposoby zwiększania wydajności:
 Wcześniejsze pobieranie instrukcji
 Kolejkowanie instrukcji
 Przetwarzanie potokowe
 Zrównoleglenie wykonywania instrukcji
Problemy ze zwiększaniem wydajności
 Różnica w częstotliwości taktowania pamięci oraz częstotliwości taktowania procesora.
25
Rozwiązanie:
 Użycie wielopoziomowych pamięci podręcznych (cache)
 Zwiększenie szerokości szyny danych
 Pamięć pozwalająca na pobieranie danych co jeden cykl zegara lub dwa razy w jednym
cyklu
Przetwarzanie potokowe
 Rozłożenie wykonywania instrukcji na ciąg etapów wykonywanych w jednym cyklu zegara
 Instrukcje przemieszczane są jedna za drugą (porównanie do taśmy produkcyjnej).
 Zaleta: wykonanie instrukcji w jednym cyklu zegara pomimo, że źródłowa instrukcja
może zająć znacznie więcej cykli zegarowych. Oszczędność na średnim czasie dla cyklu,
natomiast pojedynczy cykl może być znacznie dłuższy.
 Rzeczywistość: brak możliwości realizacji takiego modelu. Występowanie zależności
między danymi, a sterowaniem i zasobami. Konieczne rozkazy skoku wymagające
wyczyszczenia całego potoku i rozpoczęcie wypełniania potoku od początku.
Przetwarzanie szeregowe i równoległe
Przetwarzanie potokowe
 Zależności między danymi:
 RAW (odczyt po zapisie)
 WAR (zapis po odczycie)
 WAW (zapis po zapisie)
Architektura superskalarna i wektorowa
 Możliwość zrównoleglenia wykonywanych instrukcji poprzez zwiększenie liczby potoków i
jednostek wykonawczych:
 ALU – Arithmetic Logic Unit
 AGU – Address Generator Unit
 FPU – Floating Point Unit
 LSU – Load Store Unit
 Architektury wykorzystujące wielopotokowość:
 Architektura superskalarna – zrównoleglenie na poziomie wykonania – układy
wewnątrz procesora decydują o zrównolegleniu (hyper threading)
 Architektura wektorowa – zrównoleglenie na poziomie algorytmu do postaci wektora
 Architektura z procesorem o długim słowie instrukcji (VLIW – Very Long Instruction
Word) – zrównoleglenie na poziomie kompilatora – opisanie co mają robić
poszczególne jednostki wykonawcze
Architektura RISC i CISC
Przerwania
 Żądanie Przerwania IRQ (Interrupt ReQuest) – sygnał powodujący zmianę przepływu
sterowania niezależnie od aktualnie wykonywanego programu
 Procesor zatrzymuje wykonanie programu i realizuje kod procedury obsługi przerwania
(interrupt handler)
Rodzaje przerwań
 Sprzętowe
 Zewnętrzne – sygnał przerwania pochodzi z zewnętrznego układu do obsługi przerwań
sprzętowych. Wykorzystywane do komunikacji z urządzeniami końcowymi.
 Wewnętrzne, tzw. wyjątki (exceptions). Procesor sygnalizuje sytuację wyjątkową
(dzielnie przez zero)
Niepowodzenie (faults) – wykonywana instrukcja powoduje błąd i procesor woła kolejną.
Pułapki (traps) – sytuacja nie jest błędem, a wystąpienie jej ma na celu wykonanie
określonego kodu. Wykorzystywany w debugerach
26
Błędy (aborts) – błędy, których nie można naprawić
Programowe – wywoływanie procedury przerwania z kodu programu. Używane do
komunikacji z systemem operacyjnym. W kodzie przerwania wywoływana jest funkcja
systemowa.


Rodzina procesorów x86 (1)
 Tryb rzeczywisty
 Adres procedury obsługi przerwania zapisany w tablicy wektorów przerwań
 Przerwania identyfikowane przez numer (wektor). Możliwych 256 przerwań
 Tablica przerwań znajduje się w pierwszych 1024 komórkach pamięci operacyjnej
 PC obsługie 16 IRQ. Pod numerem przerwania należy rozumieć zasób udostępniony
przez procesor. Ograniczona liczba przerwań może powodować konfilkt.
Rodzina procesorów x86 (2)
 Tryb chroniony
 Tablica deskryptorów przerwań (IDT) asocjuje wektor wyjątku lub przerwania z
deskryptorem bramy dla procedury lub zadania
 Deskryptor bramy pozwalający na kontrolowany dostęp do segmentów kodu o różnych
stopniach uprzywilejowania
 IDT zawiera 256 wpisów. Rozmiar to 256*8
 Rodzaje deskryptorów:
deskryptor bramy zadania (Task-Gate Descriptor)
deskryptor bramy przerwania (Interrupt-Gate Descriptor)
deskryptor bramy pułapki (Trap-Gate Descriptor)
Architektura x86







x86 – termin odwołujący się do zbioru instrukcji procesora o jednym z największych
sukcesów komercyjnych
Wykorzystywany w procesorach AMD, Intel, VIA
Kompatybilny ze starymi 16-bitowymi procesorami Intel
Historycznie zostało dodanych wiele nowych instrukcji w taki sposób, że procesory są
zgodne z poprzednikami
Termin stał się popularny po wdrożeniu do sprzedaży procesora 32-bit 80386 (należy
wyróżnić procesory x86-16 i x86-64)
Architektura popularna w rozwiązaniach PC, Notebook oraz serwerach
Architektura wspierana jest przez szereg systemów operacyjnych: MS-DOS, Windows,
Linux, BSD, Solaris
Historia
 1978 – Intel 8086
 8MHz, 0,029mln tranzystorów
 Układ 16 bitowy (w tańszej wersji posiadał 8 bitową szynę danych 8088)
 1982 – Intel 80286
 12,5MHz, 0,134 mln
 Druga generacja układów x86, słowo 16 bitowe z zwiększoną 24 bitową szyną
adresową, nowe rozkazy oraz tryby pracy
 Adresowanie umożliwiało obsługę 16 MB RAM oraz 1GB pamięci wirtualnej

1985 – 80386
 20 MHz, 0,275 mln
 Procesor 32 bity, poszerzone rejestry wewnętrzne, szyna danych oraz adresowa
 Posiada MMU, nowe rozkazy, tryb wirtualny, obsługa do 4GB pamięci RAM
27


1989 – i486
 25 MHz, 1,2mln
 rozszerzono o kilka nowych instrukcji, zwiększona wydajność jednostki
stałoprzecinkowej. Posiada pamięć cache L1
1993 – Pentium
 66 MHz, 3,1mln
 Powiększono pamięć cache L1, dodano jednostkę przewidywania skoków, zewnętrzna
magistrala danych do 64 bitów, szyna adresowa 36 bity, możliwość realizacji dwóch
rozkazów jednocześnie. Procesor superskalarny.
 1995 - Pentium PRO (nieformalnie arch. i686)
 200 MHz, 5,5 mln tranzystorów
 Dedykowany do serwerów i wydajnych stacji roboczych, układ posiada wiele cech




architektury RISC pod względem mikroarchitektury, 6 potoków, podstawa dla
procesorów Pentium II i Pentium III, osobno wbudowana pamięć cache L2
1995 – Pentium MMX
 233 MHz, 4,5 mln tranzystorów
 Ulepszony Pentium z rozkazami MMX
1997 – Pentium II/III
 266MHz, 7mln
 Technologie 3D Now, pamięć cache L3
2000 – Pentium IV
 1,5GHz, 42 mln
 Nowy projekt procesora pod kątem maksymalnego wykorzystania potkowości
pozwalające osiągać duże częstotliwości zegara
2006 – Intel Core, Intel Core 2
 Ok. 3GHz, 320 mln tranzystorów
 Niskonapięciowy, wolniejszy zegar, wielordzeniowy
Potrzebne skróty
 IA-32 – nazwa 32 bitowej architektury x86
 IA-64 – model programowy dla procesora do serwerów z możliwością wykonywania kodu
32 bitowego
 EM64T (Extended Memory 64 Technology) – nazwa implementacji technologii AMD x8664
 AMD64 – x86-64/x64 – architektura 64 firmy AMD. Procesory Athlon 64/FX/X2, Sempron,
Turion, Opteron
Podstawowe cechy architektury x86
 Instrukcje zmiennej długości
 Architektura CISC z uwzględnieniem kompatybilności wstecz
 Słowo w porządku little-endian
 Adresy rejestrów w większości przypadków 3 bitowe
Obecne implementacje
 Zastosowanie dodatkowych etapów dekodowania instrukcji w celu podziału na mniejsze
części
 Zastosowanie architektur:
 superskalarnej
 out-of-order execution
 Rozszerzenia:
 3DNow
 MMX
28
 SSE
MMX
 MultiMedia eXtensions lub Matrix Math eXtensions
 Zestaw 57 instrukcji SIMD (Single Instruction, Multiple Data z taksonomii Flynna)
 Stosowany w sytuacji, gdy przetwarzane są duże ilości danych przez jeden algorytm (np.
obróbka dźwięku, obróbka obrazu)
3DNow!
 Rozszerzenie arch. x86 stworzone przez AMD
 Zwiększa wydajność obliczeń zmiennoprzecinkowych wykorzystywane do odtwarzania
grafiki trójwymiarowej i multimediów
 Wspiera i rozszerza możliwości akceleratorów graficznych w początkowych etapach
przetwarzania grafiki
 Zawiera 21 instrukcji SIMD
SSE
 SSE - Streaming SIMD Extensions
 Nazwa zestawu instrukcji wprowadzonych w procesora Pentium III
 Pozwala na wykonywanie działań zmiennoprzecinkowych na 4 elementowych wektorach
liczb pojedynczej precyzji
 SSE wprowadza zmiany w arch. procesora:
 Dodano 8 rejestrów XMM w wersji 32 bity, a w wersjach 64 bity jest dostępnych
jeszcze kolejne 8
Out-of-order execution

Nowe podejście przy przetwarzaniu w procesorze:

Pobranie instrukcji

Zbuforowanie instrukcji w kolejce

Instrukcja oczekuje w kolejce do momentu kiedy argument wejściowy staje się
dostępny. Instrukcja może opuścić kolejkę wcześniej przed starszymi instrukcjami

Instrukcja jest przekazywana do właściwego bloku funkcjonalnego i wykonywana

Rezultaty są kolejkowane

Tylko w momencie, gdy wszystkie rezultaty zostaną zwrócone do rejestru wówczas
cały wynik jest zapisywany do rejestru

Korzyści:

Wypełnianie pustych slotów czasowych (procesor wykonuje te instrukcje, do których
są dane, później kolejkuje wynik)

Wzrost efektywności przetwarzania w sytuacji różnicy częstotliwości pamięci i
procesora, procesor nie musi oczekiwać na napływające dane

Stosowanie w procesorach: Pentium PRO (’95), IBM/Motorola PowerPC (‘92),
Fujitsu/HAL SPARC64 (’95)
Arch. Superskalarna
 Możliwość ukończenia kilku instrukcji na raz w jednym cyklu pracy procesora
 Procesor posiada zwielokrotnione jednostki wykonawcze umożliwiające obliczenia
równoległe (np. ALU, jednostki zmiennopozycyjne)
 Możliwość realizacji instrukcji w arch. Superskalarnej zależy od tego, czy dana instrukcja
nie potrzebuje argumentów źródłowych z poprzedniej
 Konieczna odpowiednia optymalizacja rozmieszczenia instrukcji, w celu unikania
zależności danych
 Pierwszym procesorem był Pentium z 2 jednostkami wykonawczymi (jedna wykonywała
instrukcje proste).
29
Mechanizm segmentacji pamięci w x68
 Pamięć dzielna jest na segmenty
 Adresacja przestrzeni dwuwymiarowa:
 adres logiczny – widziany przez aplikacje, procesy
 adres fizyczny (pojawiający się na wyprowadzeniach procesora)
 Do adresacji (adres liniowy) wykorzystywane są rejestry segmentowe: adres początkowy
aplikacji oraz przesunięcie w stosunku do początku aplikacji
 Zaletą segmentacji jest ochrona innych części pamięci przed zapisem bądź odczytem
przez inną aplikację
 Wady: ograniczone segmenty, konieczność dzielenia aplikacji pod wymiary segmentów
Zestaw rejestrów
 Rejestry jednostki stałopozycyjnej
 8 32-bitowych rejestrów uniwersalnych mogących przechowywać dane 16 i 32 bitowe
 Dane 16 bitowe przechowywane w mniej znaczących połówkach
 Możliwość przechowywania danych 8 bitowych w pierwszych 4 rejestrach
 Nazwy rejestrów pochodzą od nazw specjalizowanych rejestrów ze starszych procesorów
w arch. X86 16bit
 Nazwy rejestrów 32 bitowych powstały w wyniku poprzedzenia nazwy rejestru 16
bitowego literą E
Lista rejestrów
 Nazwa: 8bit, 8bit, 16bit, 32bit
 Akumulator: AH, AL, AX, EAX
 Licznik: CH, CL, CX, ECX
 Rejestr adresowy: BH, BL, BX, EBX
 Wskaźnik stosu: SP, ESP
 Wskaźnik ramki: BP, EBP
 Rejestry adresowe: SI i DI, ESI i EDI
 Licznik instrukcji: IP, EIP
 Rejestr stanu: FLAGS, EFLAGS
 Rejestry selektorów:
 Selektor kodu CS
 Selektor stosu SS
 Główny selektor DS
 Dodatkowe selektory danych ES, FS, GS
Funkcje rejestrów
 Rejestr EAX (accumulator) – akumulator dla operacji mnożenia i dzielenia, operacji
arytmetycznych na liczbach w kodzie BCD oraz instrukcji iteracyjnych
 Rejestr ECX (counter) – licznik pętli, licznik iteracji w instrukcjach z pętlą, licznik pozycji w
operacjach przesunięć i rotacji bitowych
 Rejestr EDX (data) – rozszerzenie akumulatora w operacjach mnożenia i dzielenia
 Rejestr ESP (stack pointer) – wskaźnikiem stosu
 Rejestr EBP (base pointer) – wskaźnikiem ramki
 Rejestr ESI (source index) – wskaźnik źródła dla instrukcji iteracyjnych
 Rejestr EDI (destination Index) – wskaźnik przeznaczenia dla instrukcji iteracyjnych
 Wskaźnik instrukcji EIP (Instruction Pointer) – rejestr licznika instrukcji
Rejestr stanu (EFLAGS)
 Zawiera bity znaczników i stanów aplikacji, informacje systemowe (dostępne do odczytu
lub niedostępne dla użytkownika)
 Z poziomu aplikacji dostępne są bity:
30








CF – znacznik przeniesienia
PF – znacznik parzystości
AF – znacznik przeniesienia połówkowego
ZF – znacznik zera
SF – znak liczby w kodzie U2
OF – znacznik nadmiaru przy operacjach na liczbach w kodzie U2
DF – bit sterujący działaniem instrukcji iteracyjnych
ID – bit sygnalizujący dostępność instrukcji CPUID. CPUID dostępny w procesorach
posiadających instrukcję CPUID
Rejestry selektorów
 Przechowują identyfikatory segmentów
 Niewykorzystywane w środowiskach 32 bitowych, ograniczone wykorzystanie przez
system operacyjny (używano w 16 bitowyc)
 Rejestry są inicjalizowane przez OS przy starcie programu. Program użytkowy ma dostęp
do rejestrów jednak nie powinien ich modyfikować
 W x86 jest 6 rejestrów w tym 3 pomocnicze
Rejestry jednostki zmiennopozycyjnej
 W układach do 80486 jednostka pozycyjna była realizowana w zew. układzie (np. dla
procesora 8086 był to układ 8087)
 Jednostka zm. poz. (x87) zawiera 8 rejestrów 80 bitowych zorganizowanych w postaci
stosu rejestrów
 Wierzchołek stosu traktowany jako domyślny argument
 Rejestry nie mają nazw są indeksowane za pomocą cyfr
 Rejestry przechowują dane w formacie zmiennopozycyjnym podobnym do IEEE dla double
jednak wydłużonym do 64 bitów
Rejestry 3DNow!/MMX
 Jednostka wektorowa 3DNOW operuje na słowa 64 bitowych posiada 8 rejestrów
 Rejestry są nałożone logicznie na rejestry zmiennopozycyjne
 można wykorzystywać tylko jeden, przełączenie z x87 na MMX następuje po wywołaniu
instrukcji MMX
 Przywrócenie stanu rejestrów sprzed wywołania MMX następuje po wywołaniu EMMS i
FEMMS
 Przewiduje się następujące sposoby interpretacji:
 Pojedyncza dana całkowitoliczbowa o długości 64 bity
 2xdana całkowitoliczbowa o długości 32 bit
 4xdana całkowitoliczbowa o długości 16 bit
 8xdana całkowitoliczbowa o długości 8 bit
 2xdana zmiennopozycyjna w 3DNOW po 32 bity
Rejestry jednostki wektorowej SSE
 Jednostka SSE zbudowana jest z 8 rejestrów 128 bitowych
 Jednostka SSE może przechowywać dane w następujących formatach:
 16 danych całkowitoliczbowych 8 bitowych
 8 danych całkowitoliczbowych 16 bitowych
 4 dane całkowitoliczbowe 32 bitowe
 2 dane całkowitoliczbowe 64 bitowe
 4 dane zmiennopozycyjne 32 bitowe
 2 dane zmiennopozycyjne 64 bitowe
Realizacja operacji warunkowych
31
 Realizacja zgodnie z modelem operacji warunkowych ze znacznikami typowy dla
architektur CISC
 Znaczniki ustawiane przez instrukcje arytmetyczne i logiczne nie są natomiast ustawiane
przez instrukcje przesłań
Tryby pracy
 Tryb rzeczywisty
 Procesor pracuje jak procesor 8086
 Brak ochrony pamięci przed użyciem przez inny proces oraz brak obsługi
wielozadaniowości
 w oparciu o tryb rzeczywisty pracowały programy w DOS w latach 80 i 90
 Dostępna pamięć do 1 MB
 Adres logiczny złożony z 2 x liczba 16 bitowa (nr segmentu oraz przemieszczenia)
 Tryb chroniony
 Tryb wprowadzony w mikroprocesorze 80286
 Możliwość adresacji w obszarze większym niż 1 MB
 Wprowadza udogodnienia dla wielozadaniowości: sprzętowa ochrona pamięci (MMU),
wsparcie dla przełączenia kontekstu procesora
MMU
 MMU – Memory Management Unit
 Zestaw układ realizujących dostęp do pamięci fizycznej żądanej przez CPU
 Zadania układu:
 Translacja pamięci wirtualnej do pamięci fizycznej
 Ochrona pamięci
 Obsługa pamięci podręcznej
 Zarządzanie szynami danych







Układy MMU dzielą przestrzeń logiczną na strony o rozmiarze 2N
Młodsze N bitów odpowiada
Tłumaczenie adresów logicznych na fizyczne realizowane przy pomocy asocjacyjnej
pamięci podręcznej TLB (Translation Lookaside Buffer)
W przypadku braku przypisania wykorzystywane są wolniejsze sprzętowe mechanizmy
procesora przeszukujące struktury danych znajdujących się w pamięci
Struktura nosi nazwę Page Table
Adres fizyczny ustalany po dodaniu przesunięcia (offset) do numeru strony, a wpisy
nazywają się Page Table Entries.
W x86 wymagane jest 4kB do przechowywania katalogu stron
Wykonywanie programów na IA-32
 IA-32 posiada rozbudowany zestaw instrukcji (kilkaset) rozbudowywany wraz z
wprowadzaniem nowych technologii MMX, SSE, 3DNow!
 Grupy instrukcji:
 Instrukcje przesyłania danych
 Instrukcje kontroli przepływu (porównania skoki, pętle)
 Instrukcje arytmetyczne
 Instrukcje operacji logicznych
 Operacje bitowe
 Instrukcje identyfikowane na podstawie binarnego kodu maszynowego. W celu ułatwienia
programowania zastąpione memonikami
Kodowanie instrukcji
 Kodowaniem instrukcji zajmuje się kompilator
32




Rozkazy zakodowane w postaci ciągów 0 i 1
Rozkazy zmiennej długości od 1 do kilkunastu bajtów
Kod instrukcji: identyfikator rozkazu + położenie argumentów w pamięci
Wynik zapisywany jest w miejscu pierwszego operandu
Budowa rozkazu
 Prefiks instrukcji (o)
 LOCK – zapewnia wyłączność dostępu do pamięci dla danej instrukcji
 Prefiks powtarzanie – używany na blokach danych
 Prefiks chwilowej zmiany segmentu
 Prefiks zmiany rozmiaru argumentu oraz rozmiaru adresu
 Kod operacji
 Bit wskazujący w którym argumencie zapisać wynik
 Bit oznaczający rozmiar argumentów
 Baj modR/M dla instrukcji posiadających argumenty w pamięci bądź rejestrach,
wykorzystywany do określenia położenia argumentów
 Bajt SIB – określa dodatkowe parametry modyfikacji adresowych, m.in.. współczynnik
skali pozwalający wygodnie operować na tablicach
 Pole przesunięcia – podaje odległość danych w stosunku do początku
 Dane stałe – zawiera bezpośrednio podaną wartość argumentu
Cykl wykonania rozkazu
 Pobranie rozkazu z pamięci
 Dekodowanie rozkazu
 Obliczenie adresu efektywnego uwzględniającego modyfikacje adresowe w przypadku
odwołania do pamięci
 Obliczenie adresu fizycznego operandu
 Pobranie argumentu z pamięci
 Wykonanie rozkazu
 Zapisanie wyniku
 Wyznaczenie położenia następnego rozkazu
Sieci komputerowe
 Sieć komputerowa to medium umożliwiające połączenie grupy komputerów lub innych
urządzeń ze sobą w celu wymiany danych i/lub współdzielenia różnych zasobów.
Początki sieci
 Początkowo dostęp do komputerów wyłączenie dla małej grupy osób programistów i
obsługi
 Rozwój techniki spowodował upowszechnienie komputerów, co spowodowało, że w latach
60 zdalny dostęp pracy z komputerem był standardem przy użyciu terminala
 Terminale znajdowały się jedynie w centrach obliczeniowych lub miejscach z specjalnie
podpiętą linią telefoniczną
 W latach 60 Departament Obrony Stanów Zjednoczonych rozpoczyna tworzenie sieci
komputerowych ARPANET. Celem ARPANET było połączenie uniwersytetów.
 Opracowanie i implementacja protokołu TCP/IP w Unix pozwoliła na zwiększenie liczby
komunikujących się komputerów w ramach uniwersytetów
 Protokół ETHERNET powstała na bazie prac związanych z odbiornikami krótkofalarskimi.
Protokół ten stał się wyznacznikiem standardu sieci lokalnych.
BBS
 W latach 80 opracowano sposób komunikacji punkt-punkt z wykorzystaniem modemów
33
 Modemy pozwalały na osiągnięcie szybkości na poziomie 1200/2400 bps
 Z wykorzystaniem modemów stworzono tzw. BBS (Bulletin Boards), które pełniły rolę
punktów kontaktowych do wymiany wiadomości i plików
 Minusem BBS było:


ograniczenie związane ilością modemów, które mogą się podłączyć do danego BBS
konieczność znania numeru, na który trzeba się zadzwonić uwzględniając koszty przy
połączeniach międzystrefowych
Sieci lokalne
 Szybki rozwój sprzętu i komputerów powodował trudności w podejmowaniu decyzji
związanych z zakupem wyposażenia komputerowego
 Rozwiązanie: standaryzacja sieci lokalnych
 Dwa podejścia w zależności od wielkości firmy:
 Duże firmy: wprowadzenie centralnego serwera biurowego z serwerem plików,
wydruków, poczty elektronicznej z autoryzacją i autentykacją użytkowników
 Małe firmy: budowa sieci równorzędnie połączonych komputerów
Internet
 W USA rozwiano sieć w ramach projektów rządowych, tak że w latach 80 lokalne sieci
ośrodków badawczych były połączone pomiędzy sobą
 Problemem był fakt, że sieci były budowane z wykorzystaniem różnych technologii w
miarę rozwoju
 W 1990 gdy sieć ARPANET zaczęła się dynamicznie rozwijać zmieniono jej nazwę na
Internet
Rodzaje sieci
 Cechą fizycznej konstrukcji sieci jest jej typ:
 WAN (ang Wide Area Network) – łączyły uczelnie ośrodki obliczeniowe i placówki
naukowo-badawcze
 MAN (ang Metropolitan Area Network) – miejskie sieci łączące uczelnie, instytucje
administracyjne, firmy
 LAN (ang Local Area Network) – wykorzystywane do łączenia komputerów w
poszczególnych ośrodkach badawczych
 PAN (ang Private Area Network) – sieci instalowane w domach lub w ramach kilku
stanowisk pracy znajdujących się w niedalekiej odległości
Topologia sieci
 Topologia sieci to fizyczny sposób łączenia poszczególnych urządzeń:
 Magistrala
 Pierścień
 Gwiazda
 Hierarchiczna
 Siatka
Topologia magistrali
 Wszystkie urządzenia podłączone do jednego współdzielonego medium fizycznego
 Medium stanowi kabel z zakończeniami w postaci oporników dopasowanych do rodzaju
kabla
 Wykorzystywana do budowy lokalnych sieci
 Zaleta: niska cena wynikająca z małego zużycia kabli oraz braku urządzeń
pośredniczących, łatwość instalacji
 Wady: wrażliwość na rozbudowę sieci oraz awarie
34
Topologia pierścienia
 Bezpośrednie łączenie urządzeń – każde połączone jest z dwoma sąsiednimi stanowiąc w
ten sposób pierścień
 Stosowana do budowy lokalnych sieci komputerowych
 Zasada działania opiera się na przekazywaniu żetonu dostępu. Przejęcie żetonu umożliwia
urządzeniu transmisję
 Każde urządzenie pełni rolę wzmacniacza regenerującego sygnału
Topologia pierścienia
 Zalety:
 Małe zużycie przewodów oraz braku aktywnych urządzeń
 Możliwa duża wydajność ponieważ, każdy kabel łączy dwa komputery
 Wada:
 Utrudnienia związane z konserwacją i rozbudową sieci
 Awaryjność: uszkodzenie jednego węzła powoduje wyłącznie sieci
Topologia: podwójny pierścień
 Topologia analogiczna do pojedynczego pierścienia z tą różnicą, że urządzenia połączone
są podwójnymi przewodami
 Duża bezawaryjność. Wypadnięcie jednego węzła nie powoduje wyłączenia sieci
 Stosowane do budowy sieci szkieletowych lub lokalnych
Topologia gwiazdy
 Urządzenia podłączone do jednego wspólnego punktu, którym jest urządzenie aktywne
pośredniczące (koncentrator) pełniące rolę regeneratora sygnału
 Urządzenia mogą być łączone z wykorzystaniem różnych mediów transmisyjnych
 Zalety: przejrzystość konstrukcji i odporność na awarie zarówno łączy jak i urządzeń
 Wada: wysoki koszt okablowania oraz koszt dodatkowego urządzenia
 Aktualnie topologia gwiazdy jest praktycznie standardem w konstrukcji sieci lokalnych
 Istnieje również pojęcie Topologii rozszerzonej gwiazdy
Topologia hierarchiczna
 Podobna do topologii gwiazdy jednak urządzenie koncentratora pełni funkcję sterującą
dostępem do sieci
Topologia siatki
 Typowa dla sieci metropolitalnych i rozległych
 Każdy host ma połączenie z wszystkimi pozostałymi
 Częściowe zastosowanie siatki jest w Internecie, gdzie każde dwa punkty łączy klika
scieżek
Rodzaje urządzeń sieciowych
 Urządzenia końcowe:
 stacje robocze, serwery, drukarki, terminale, etc …
 Urządzenia sieciowe
 Bierne: kable, koncentratory bierne,
 Aktywne: huby, mosty, przełączniki, routery, konwertery, modemy, punkty dostępowe
sieci bezprzewodowych
Urządzenia bierne
 Głównie kable oraz koncentratory bierne
 Rodzaje kabli:
 Koncentryczny
35
 Skrętka
 Światłowód
 Koncentrator bierny
 urządzenie do rozdzielenia sygnału w LAN
 nie wzmacniał sygnału.
Urządzenia aktywne
 Zadanie:
 Regeneracja sygnału
 Łączenie różnego rodzaju mediów (przetwarzanie sygnału)
 Inne zadania: monitorowanie sieci, sterowanie, filtrowanie
 Wybór urządzeń aktywny zależy od potrzeb:
 Duże odległości
 Określona funkcjonalność
 Aktualnie stosowane są najczęściej w sieci lokalnej przełączniki oraz routery na styku sieci
oraz Internetu
 Dla sieci przewodowych stosowanie punktów dostępu
Rodzaje modemów
 Modemy używają połączeń komutowanych, dokonują modulacji sygnału
 Rodzaj modemów ze względu na budowę:
 zewnętrzny – wykorzystywany do łączenia punkt-punkt.
 Wewnętrzny
 Modem DSL – podłączanie po sieci telefonicznej lub kablowej do Internetu
 Modem ADSL, HDSL, SDSL
Koncentrator
 Urządzenie łączące wiele urządzeń w sieci o topologii gwiazdy
 Koncentrator jest podłączany do routera jako rozgałęziacz
 Obecnie urządzenia wyparte przez przełączniki
 Zaleta: brak opóźnień.
 Hub przenosi cały sygnał
 Przełącznik przenosi ramki
Punkt dostępowy
 Zapewnia stacjom bezprzewodowym dostęp do zasobów sieci w paśmie częstotliwości
radiowych
 Pełni również funkcję mostu pomiędzy siecią bezprzewodową, a a przewodową
Media konwerter
 Urządzenie pozwalające na łączenie sieci pracujących na różnych mediach:
 Skrętka/światłowód
 Skrętka/kabel koncentryczny
 etc …
 Najczęściej stosowane do łączenia dwóch odległych linii za pomocą kabli światłowodowych
Przełącznik
 Urządzenie pracujące w warstwie 2 modelu OSI łączące segmenty sieci
 Realizuje przekazywanie ramek między segmentami do adresacji wykorzystywany jest
adres MAC
Router
 Pełni rolę węzła komunikacyjnego pomiędzy dwoma podsieciami
36
 Pracuje w warstwie 3 modelu OSI wykorzystuje najczęściej adres IP do przesyłania
pakietów
 Najczęściej kojarzony z protokołem IP, natomiast może obsługiwać inne protokoły np. IPX
Model ISO OSI
 Problem: wielość rozwiązań przy budowie sieci opartych na różnych specyfikacjach
(DECnet Digital Equipment Corporation net, TCP/IP, SNA Systems Network Architecture )
utrudniała ich łączenie
 Rozwiązanie: stworzenie globalnego standardu sieci
 W wyniku analizy różnych rozwiązań organizacja ISO (International Organization for
Standardization) opracowała model odniesienia specyfikujący zasady współpracy sieci tzw.
model OSI Open System Interconnection
Model OSI
 Definiuje jakie zadania oraz rodzaje danych mogą być przesyłane między warstwami
abstrakcji (nie patrzymy przez aspekty fizyczne, czy też algorytmiczne)
 Warstwy abstrakcji odnoszą się do: aplikacji, sprzętu oraz mediów
 Każda warstwa ma przypisany specyficzny protokół i świadczy usługi na rzecz warstwy
wyższej
 Model OSI separuje na tyle funkcjonalność poszczególnych warstw, iż jest możliwość
budowy warstwy w oderwaniu od pozostałych warstw
Agenda
 Media
 Ethernet
 Protokoły warstwy internetowej
 Adresacja IP
UTP
 UTP (ang. Unshielded Twisted Pair) – skrętka nieekranowana.
 Skrętka wykonana z dwóch przewodów, ze zmiennym splotem (zwykle 1 zwój na 6-10
cm)
 Stosowana w sieciach telefonicznych (jedna, dwie lub cztery pary) i w kablach
komputerowych (cztery skrętki w kablu).
 Używany jest różny skręt w celu minimalizacji przesłuchów zbliżnych NEXT i zdalnych
FEXT.
 Przydatność do transmisji cyfrowych określają kategorie,
 przydatność do aplikacji - klasy kabli miedzianych.
 Za pomocą skrętek UTP (cztery pary) uzyskuje się standardowe przepływności do 100
Mb/s (kat. 5), oraz 1 Gb/s w technologii Gigabit Ethernet.
 W sieciach komputerowych konieczne są skrętki kategorii 3 (10 Mb/s) i kategorii 5 (100
Mb/s)
Kategorie kabli
 Kategorie kabli miedzianych wyspecyfikowane w EIA/TIA
 Przydatność do transmisji określona w MHz
 kategoria 1 –nieekranowana skrętka telefoniczna, wykorzystywana wyłącznie do
przesyłania głosu
 kategoria 2 – nieekranowana skrętka, szybkość transmisji do 4 MHz.
 kategoria 3 – skrętka o szybkości transmisji do 10 MHz. Kabel zawiera 4 pary
skręconych przewodów
 kategoria 4 – skrętka działająca z szybkością do 16 MHz. Kabel zbudowany jest z
czterech par przewodów
37



kategoria 5 – skrętka z dopasowaniem rezystancyjnym. Przeznaczona do transmisji
danych z szybkością 100 MHz na odległość do 100 m
kategoria 5e – (enchanced) – ulepszona wersja kabla kategorii 5. Jest zalecana do
stosowana w przypadku nowych instalacji
kategoria 6 – skrętka umożliwiająca transmisję z częstotliwością do 200 MHz.
Typy połączeń przewodów
 Dwa typy podłączeń w sieciach 10Base-T i 100Base-TX końcówek RJ-45:
 Zgodne (proste) – żyły w przewodzie połączone w sposób: styk pierwszy we wtyczce
pierwszej do styku pierwszego we wtyczce drugiej, 2 do 2, 3 do 3, itd.
 Krzyżowe (cross-over)– zamienione dwie pary wewnętrznych przewodów (1-3, 2-6).
Elementy monatżowe
 Panel krosowniczy
 Patchcord
Światłowód
 Światłowód jest falowodem, w którym przesyłana jest promieniowanie świetlne
 Złożony jest z włókien dielektrycznych, okrytych otuliną z tworzywa sztucznego
 Współczynnik załamania światła jest większy niż dla szkła
 Promień światła rozchodzi się w światłowodzie po drodze będącej łamaną
 Transmisja światłowodowa polega na przesyłaniu sygnału optycznego wewnątrz włókna
szklanego.
 Podstawowym składnikiem do budowy światłowodu jest dwutlenek krzemu
Budowa światłowodu
 Włókno optyczne - złożone jest z dwóch rodzajów szkła o różnych współczynnikach
załamania:
 rdzeń przeważnie o średnicy 62,5 um
 płaszcz zewnętrzny o średnicy 125 um;
 Warstwa akrylowa Tuba - izolacja o średnicy 900 um.
 Oplot kewlarowy.
 Izolacja zewnętrzna.
Transmisja w światłowodzie
 Do włókna szklanego wprowadzane są promienie optycznie generowane przez laserowe
źródło światła
 Światłowód posiada tłumienie bliskie zeru i jest obecnie najlepszym medium
transmisyjnym
 Kabel światłowodowy złożony jest od jednego do kilkudziesięciu włókien światłowodowych.
 Dla promieni w zakresie bliskim podczerwieni współczynnik załamania światła w płaszczu
jest mniejszy niż w rdzeniu. Gwarantuje to całkowite wewnętrzne odbicie promienia i
prowadzenie go wzdłuż osi włókna.
 Zewnętrzną warstwę światłowodu pokryta jest akrylonem poprawiającym elastyczność
światłowodu oraz zabezpieczający go przed uszkodzeniami.
Rodzaje światłowodów
 Światłowody jednomodowe
 większe pasmo przenoszenia oraz transmisję na większe odległości niż światłowody
wielomodowe.
 koszt światłowodu jednomodowego wyższy.
 Średnica rdzenia 5-10 mikronów, średnica płaszcza 125 mikronów
 Światłowody wielomodowe
38
Fala może rozchodzić się wieloma drogami
Różna prędkość dla każdego z modów powoduje rozmycie impulsu na wyjściu
 średnica rdzenia 50 lub 62,5 mikrometra
 Światłowody wielomodowe: gradientowe i skokowe


Światłowody wielomodowe
 Skokowy:
 Budowa warstwowa.
 Każda warstwa inaczej domieszkowana, dzięki czemu współczynnik załamania światła
zmienia się w sposób ciągły.
 Dla różnych modów (poruszających się po łukach) ta sama prędkość rozchodzenia
wzdłuż kabla.
 Fale rozchodzące się w większej odległości od środka poruszają się w warstwach o
mniejszym współczynniku załamania,

Gradientowy
 współczynnik załamania zmienia się skokowo pomiędzy rdzeniem i płaszczem.
 Mody prowadzone są w rdzeniu pod różnymi kątami - różna droga do przebycia.
 prędkość rozchodzenia światła jest stała (w szkle 200 000 km/s), dlatego czasy
przejścia promieni przez światłowód są różne.
 Zjawisko dyspersji międzymodowej, która powoduje poszerzenie impulsu
docierającego na koniec światłowodu.
 Dyspersja powoduje ograniczenie pasma i odległości,
 Dyspersja chromatyczna występuje zarówno w światłowodach jednomodowych jak i w
światłowodach wielomodowych.
Historia ethernetu, Aloha
 Aloha (sieć radiowa) prekursor sieci Ethernet.
 Sieć Aloha powstała na Uniwersytecie Hawajskim.
 Sieć Aloha umożliwiała komunikację między wyspami Archipelagu Hawajskiego.
 Komputer w sieci Aloha może w dowolnym momencie rozpocząć nadawanie.
 Jeżeli po określonym czasie nie było odpowiedzi od adresata, nadawca przyjmował, że
nastąpiła kolizja w wyniku jednoczesnego nadawania we współdzielonym medium.
 W przypadku kolizji obaj nadawcy odczekiwali losowy przedział czasu zanim ponawiali
nadawanie. Gwarantowało to poprawną transmisję.
 Przy dużej liczbie liczbie komputerów wykorzystanie kanału spadało do 18%, a po
wprowadzeniu synchronizacji transmisji do 37%.
 Na podstawie Aloha, opracowano nowy system z mechanizmami:
 wykrywanie kolizji,
 wykrywanie zajętości kanału,
 współdzielony dostęp,
 W firmie Xerox PARC powstała pierwsza doświadczalna sieć komputerowa Alto Aloha
Network.
 Rozwiązanie opisane w publikacji z 1976 roku artykułu w Communication of the
Association for Computing Machinery (CACM): Bob Matcalfe, David Boggs – „Ethernet
Distributed Packet Switching for Local Computer Networks”
 W 1977 roku otrzymano patent pod nazwą: „Multipoint Data Communication System
With Collision Detection”.
 1980 roku konsorcjum DIX (Digital-Intel-Xerox) opublikowało standard Ethernet
pracujący z prędkością 10Mbps znany
Historia ethernetu
 Komisji 802.3 uznała standard DIX
 W 1985 roku 802.3 wydało standard IEEE pod nazwą: „IEEE 802.3 Carrier Sense Multiple
39
Access witch Collision Detection (CSMA/CD) Access Method and Physical Layer
Specifications”.
 W miarę rozwoju opracowano gamę standardów 802.3
 Najważniejsze:
 wprowadzenie skrętki,
 kolejne szybkości ethernetu: 100Mb, 1Gb i obecnie 10Gb.
Podstawa działania
 Elementy sieci ethernet:
 Ramka: bity uporządkowane zgodnie z ich znaczeniem
 Protokół dostępu do medium: MAC Protocol zasady współdzielenia medium
 Urządzenia do transmisji sygnałów
 Medium fizyczne: kable i inne elementy wykorzystywane do przesyłania sygnału
między stacjami
Ramka
 Istnieją 3 standardy ramek
 Ethernet 1 – nie wykorzystywana
 Ethernet 2 tzw. ramką DIX najczęściej stosowana,
 IEEE 802.x LLC,
 Ramki mogą współistnieć w tej samej sieci
 Różnice pomiędzy ramkami dotyczą: długości nagłówków, maksymalną długością ramki
(MTU)
Protokół MAC
 Określa zasady dostępu do medium
 Dwa rodzaje protokołu MAC:
 deterministyczny: np. Token Ring (sieć w topologii pierścienia. Komputer nadający
otrzymuje token na określny czas, w którym może nadawać)
 Niedeterministyczny: np. Ethernet (rywalizacja w dostępie do medium. Pojawiają się
kolizje. Rozwiązanie kolizji z wykorzystaniem CSMA/CD (Carrier Sense Multiple Access
with Colision Detection))
Protokół CSMA/CD
 Odpowiedzialny za cały proces transmisji danych
 Wysyłanie i odbieranie ramek z danymi
 Dekodowanie ramek, sprawdzanie zawartych w nich adresów przed przekazaniem do
wyższych warstw modelu OSI
 Wykrywanie błędów wewnątrz ramek
 Urządzenie przechodzi w stan nasłuchiwania przed nadawaniem
 Wykrycie nośnej przez urządzenie oznacza, że medium jest zajęte
 Urządzenie nadaje początkową sekwencje bitów i słucha czy nie nastąpiła kolizja
 Wystąpienie kolizji powoduje wysłanie przez urządzenie nadające informacji. Wszystkie
inne urządzenia wstrzymają nadawanie na losowo wygenerowany odstęp czasu
 Wystąpienie kolejnej kolizji powoduje ponowne podwojenie odcinka czasu, etc …
 Problem wykrycia kolizji, która wystąpiła na końcu sieci.
Protokoły warstwy IP
 Protokół IPv4 - Protokół IP nie posiada mechanizmów sygnalizowania błędów (wsparcie
przez protokół ICMP)
 Protokół ICMP. Zajmuje się zgłaszaniem problemów z przesyłaniem pakietów oraz
sterowaniem.
 Protokół IGMP. Efektywniejsze rozsyłanie pakietów. Wykorzystywany przy rozsyłaniu
40
grupowym w oparciu o adresy grupowe.
 Protokół IPv6. Następca IPv6 z zwiększoną długością adresu.
Protokół IPv4
 Protokół opisany w RFC 791
 Założenia dla protokołu IP pozwalają do pracowania w „warunkach ekstremalnych” np. w
czasie dużych awarii.
 Protokół IP zajmuje się wyborem optymalnej drogi oraz przesłaniem nią pakietów
 W sytuacji wystąpienia awarii protokół będzie się starał dostarczyć pakiety inną drogą
Cechy IPv4
 Protokół bezpołączeniowy. Pakiety przesyłane różnymi trasami, gdzie na końcu składane
są w całość
 Pakiety nie są potwierdzane. Brak zabezpieczeń przed ewentualną awarią w sieci.
 Przesyłanie danych odbywa się strumieniowo. Dane z wyższych warstw są enkapsulowane
w protokole IP.
Protokół ICMP
 Internet Control Message Protocol, opisany w RFC 792
 Zajmuje się sprawdzaniem dostępności sieci docelowej.
 Zadaniem nie jest rozwiązywanie problemów z siecią IP, ale zgłoszenie braku łączności
 Komunikaty ICMP wysyłane są przez bramy lub hosty
 Powody wysłania komunikatów: przeciążenie routera lub hosta,
 Komunikaty ICMP są enkapsulowane do IP. Komunikat ICMP jest przesyłany w datagramie
IP.
 Komunikat ICMP = nagłówek + dane
 Najważniejsze informacje zawarte w polu Typ i Kod.
 Przykłady: http://pl.wikipedia.org/wiki/Internet_Control_Message_Protocol
Protokół IGMP
 Internet Group Management Protocol, opisany w RFC 1112
 Protokół do zarządzania grupami internetowymi
 Opracowany z myślą dogodnej komunikacji grupowej
 Działanie podobne do przesyłania sygnału radiowego/telewizyjnego
 Pakiety w typie transmisji grupowej (mulitcast) wysyłane są na adres grupowy IP.
Typy transmisji
 Multicast
 Unicast
 Broadcast
41

Podobne dokumenty