Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok...

41
1 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

Transcript of Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok...

Page 1: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

1

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 niemieckiegoastronoma 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

Page 2: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

2

lista rozkazów sposób reprezentacji liczbmetody 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

Page 3: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

3

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. HarvardTaksonomia 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

Page 4: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

4

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 LiczbyCałkowite: nieujemne i ze znakiemNiecał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 innePojawia 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,

UNICODE – początkowo 216, aktualnie 232. Reprezentacja praktycznie wszystkich znaków używanych na świecie.

Page 5: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

5

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 znakuKod 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

Page 6: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

6

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ą druga reprezentuje część ułamkową (2-1)

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

Page 7: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

7

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 adresemLittle & 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,

Page 8: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

8

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łóceniadużą częstotliwością przełączaniaProstą 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

Page 9: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

9

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 litograficzneZł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ściCechy 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

Page 10: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

10

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ładuUkł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

Page 11: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

11

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 może być przedstawiona w postaci tablicy o n+1 kolumnach i 2n 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 operatorySynteza 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ęciPamięci półprzewodnikowe Rodzaj pamięci będącej cyfrowym układem przechowującej dane w postaci binarnej

DekoderyMacierzowa architektura

Page 12: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

12

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ółprzewodnikowychPamię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ż dynamicznewię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żaniastosowane do konstrukcji pamięci głównych komputerówniski 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

Page 13: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

13

Odczyt pamięci dynamicznejFast 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

Page 14: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

14

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órkiPamięci masowe

Page 15: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

15

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

Page 16: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

16

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

Page 17: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

17

(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 interfejsyInterfejsy

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

Page 18: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

18

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: SystemoweAdresów i danychArbitrażuSterowania interfejsemZgłaszania przerwań

Page 19: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

19

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)

Page 20: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

20

PCI ExpressSCSI 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, CD-

ROM, 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ą.

Page 21: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

21

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-DRS 232 Rodzaje złącza: 9 i 25 PIN

USB

Page 22: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

22

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łączaFireWire Łą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

Page 23: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

23

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 FWPozostał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ą:

ArchitekturaRISC – 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 rejestrachUkład sterownika – pobiera rozkazy z pamięci i je dekodujeBloki 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:

Page 24: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

24

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 instrukcjiSystemowe - uprzywilejowaneAplikacyjne – 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

Page 25: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

25

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 etykietaMOV 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*IPSFLOPS (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.

Page 26: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

26

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łePrzetwarzanie 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 CISCPrzerwania Żą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

Page 27: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

27

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

Page 28: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

28

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 x86-

64 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

Page 29: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

29

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).

Page 30: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

30

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:

Page 31: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

31

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

Page 32: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

32

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

Page 33: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

33

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

Page 34: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

34

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ń:MagistralaPierścieńGwiazdaHierarchicznaSiatka

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

Page 35: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

35

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 siecioweBierne: 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

Page 36: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

36

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

Page 37: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

37

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

Page 38: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

38

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

Page 39: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

39

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

Page 40: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

40

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

Page 41: Architektury komputerów - Kolos Wikikolos.math.uni.lodz.pl/~archive/Architektura komputerow/rok 2007... · Parametry określające procesor: ... Rodzaje danych ... Microsoft –

41

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