Architektura Architektura komputerów...

50
Architektura Architektura komputerów komputerów dr inż. Piotr Zielniewicz dr inż. Piotr Zielniewicz e-mail: [email protected] mail: [email protected] Literatura Literatura P. Metzger, P. Metzger, Anatomia PC Anatomia PC, Helion, 2007 , Helion, 2007 J. Biernat, J. Biernat, Architektura komputerów Architektura komputerów, Oficyna , Oficyna Wydawnicza Politechniki Wrocławskiej, 1999 Wydawnicza Politechniki Wrocławskiej, 1999 W. Stallings, W. Stallings, Organizacja i architektura systemu Organizacja i architektura systemu komputerowego komputerowego, WNT Warszawa, 2003 , WNT Warszawa, 2003 R. Pełka, R. Pełka, Mikrokontrolery Mikrokontrolery, WKŁ Warszawa, 2000 , WKŁ Warszawa, 2000 2 R. Pełka, R. Pełka, Mikrokontrolery Mikrokontrolery, WKŁ Warszawa, 2000 , WKŁ Warszawa, 2000 J. Sibigtroth, J. Sibigtroth, Zrozumieć małe mikrokontrolery Zrozumieć małe mikrokontrolery, BTC , BTC Warszawa, 2003 Warszawa, 2003 C. Petzold, C. Petzold, Kod Kod, WNT Warszawa, 2002 , WNT Warszawa, 2002 Zarys historii komputerów Zarys historii komputerów 1945: ENIAC ( 1945: ENIAC (Electronic Numerical Integrator And Electronic Numerical Integrator And Computer Computer) konstrukcja oparta na lampach próżniowych konstrukcja oparta na lampach próżniowych arytmetyka w systemie dziesiętnym arytmetyka w systemie dziesiętnym pamięć dwudziestu 10 pamięć dwudziestu 10-cyfrowych liczb cyfrowych liczb ręczne programowanie z użyciem przełączników i kabli ręczne programowanie z użyciem przełączników i kabli 3 ręczne programowanie z użyciem przełączników i kabli ręczne programowanie z użyciem przełączników i kabli krosujących krosujących szybkość przetwarzania: 5000 operacji dodawania na szybkość przetwarzania: 5000 operacji dodawania na sekundę sekundę 1946: EDVAC ( 1946: EDVAC (Electronic Discrete Variable Automatic Electronic Discrete Variable Automatic Computer Computer) zastosowanie systemu binarnego zastosowanie systemu binarnego zastosowanie pamięci do przechowywania danych oraz kodu zastosowanie pamięci do przechowywania danych oraz kodu programu programu Zarys historii komputerów Zarys historii komputerów 1951: UNIVAC ( 1951: UNIVAC (Universal Automatic Computer Universal Automatic Computer) pierwszy komputer dostępny w handlu (określany terminem pierwszy komputer dostępny w handlu (określany terminem „mózg elektronowy”) „mózg elektronowy”) szybkość przetwarzania: ponad 20 000 operacji na sekundę szybkość przetwarzania: ponad 20 000 operacji na sekundę zastosowania: obsługa powszechnego spisu ludności z 1950 zastosowania: obsługa powszechnego spisu ludności z 1950 roku, prognozowanie wyników wyborów prezydenckich w roku, prognozowanie wyników wyborów prezydenckich w 1952 roku 1952 roku 4 1952 roku 1952 roku Koniec lat 50 Koniec lat 50-tych: DEC PDP tych: DEC PDP-1, IBM seria 7000 1, IBM seria 7000 konstrukcje oparte na tranzystorach konstrukcje oparte na tranzystorach bardziej złożone jednostki arytmetyczno bardziej złożone jednostki arytmetyczno-logiczne i sterujące logiczne i sterujące pamięci ferrytowe pamięci ferrytowe rozbudowane urządzenia peryferyjne rozbudowane urządzenia peryferyjne – 50 50-krotny wzrost prędkości w stosunku do komputerów krotny wzrost prędkości w stosunku do komputerów pierwszej generacji pierwszej generacji

Transcript of Architektura Architektura komputerów...

Page 1: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Architektura Architektura komputerówkomputerów

dr inż. Piotr Zielniewiczdr inż. Piotr Zielniewicz

ee--mail: [email protected]: [email protected]

LiteraturaLiteratura

�� P. Metzger, P. Metzger, Anatomia PCAnatomia PC, Helion, 2007, Helion, 2007

�� J. Biernat, J. Biernat, Architektura komputerówArchitektura komputerów, Oficyna , Oficyna Wydawnicza Politechniki Wrocławskiej, 1999Wydawnicza Politechniki Wrocławskiej, 1999

�� W. Stallings, W. Stallings, Organizacja i architektura systemu Organizacja i architektura systemu komputerowegokomputerowego, WNT Warszawa, 2003, WNT Warszawa, 2003

R. Pełka, R. Pełka, MikrokontroleryMikrokontrolery, WKŁ Warszawa, 2000, WKŁ Warszawa, 2000

22

�� R. Pełka, R. Pełka, MikrokontroleryMikrokontrolery, WKŁ Warszawa, 2000, WKŁ Warszawa, 2000

�� J. Sibigtroth, J. Sibigtroth, Zrozumieć małe mikrokontroleryZrozumieć małe mikrokontrolery, BTC , BTC Warszawa, 2003Warszawa, 2003

�� C. Petzold, C. Petzold, KodKod, WNT Warszawa, 2002, WNT Warszawa, 2002

Zarys historii komputerówZarys historii komputerów

�� 1945: ENIAC (1945: ENIAC (Electronic Numerical Integrator And Electronic Numerical Integrator And ComputerComputer))–– konstrukcja oparta na lampach próżniowychkonstrukcja oparta na lampach próżniowych

–– arytmetyka w systemie dziesiętnymarytmetyka w systemie dziesiętnym

–– pamięć dwudziestu 10pamięć dwudziestu 10--cyfrowych liczbcyfrowych liczb

–– ręczne programowanie z użyciem przełączników i kabli ręczne programowanie z użyciem przełączników i kabli

33

–– ręczne programowanie z użyciem przełączników i kabli ręczne programowanie z użyciem przełączników i kabli krosującychkrosujących

–– szybkość przetwarzania: 5000 operacji dodawania na szybkość przetwarzania: 5000 operacji dodawania na sekundęsekundę

�� 1946: EDVAC (1946: EDVAC (Electronic Discrete Variable Automatic Electronic Discrete Variable Automatic ComputerComputer))–– zastosowanie systemu binarnegozastosowanie systemu binarnego

–– zastosowanie pamięci do przechowywania danych oraz kodu zastosowanie pamięci do przechowywania danych oraz kodu programuprogramu

Zarys historii komputerówZarys historii komputerów

�� 1951: UNIVAC (1951: UNIVAC (Universal Automatic ComputerUniversal Automatic Computer))–– pierwszy komputer dostępny w handlu (określany terminem pierwszy komputer dostępny w handlu (określany terminem

„mózg elektronowy”)„mózg elektronowy”)

–– szybkość przetwarzania: ponad 20 000 operacji na sekundę szybkość przetwarzania: ponad 20 000 operacji na sekundę

–– zastosowania: obsługa powszechnego spisu ludności z 1950 zastosowania: obsługa powszechnego spisu ludności z 1950 roku, prognozowanie wyników wyborów prezydenckich w roku, prognozowanie wyników wyborów prezydenckich w 1952 roku1952 roku

44

1952 roku1952 roku

�� Koniec lat 50Koniec lat 50--tych: DEC PDPtych: DEC PDP--1, IBM seria 70001, IBM seria 7000–– konstrukcje oparte na tranzystorachkonstrukcje oparte na tranzystorach

–– bardziej złożone jednostki arytmetycznobardziej złożone jednostki arytmetyczno--logiczne i sterującelogiczne i sterujące

–– pamięci ferrytowepamięci ferrytowe

–– rozbudowane urządzenia peryferyjnerozbudowane urządzenia peryferyjne

–– 5050--krotny wzrost prędkości w stosunku do komputerów krotny wzrost prędkości w stosunku do komputerów pierwszej generacjipierwszej generacji

Page 2: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Zarys historii komputerówZarys historii komputerów

�� Połowa lat 60Połowa lat 60--tych: DEC PDPtych: DEC PDP--8, IBM System 3608, IBM System 360–– konstrukcja oparta na układach scalonychkonstrukcja oparta na układach scalonych

–– pamięci półprzewodnikowepamięci półprzewodnikowe

–– koncepcja minikomputerakoncepcja minikomputera

–– struktura magistralowastruktura magistralowa

�� 1971: Mikroprocesor Intel 40041971: Mikroprocesor Intel 4004

55

�� 1971: Mikroprocesor Intel 40041971: Mikroprocesor Intel 4004–– wszystkie elementy procesora zintegrowane w jednym wszystkie elementy procesora zintegrowane w jednym

układzie (2300 tranzystorów)układzie (2300 tranzystorów)

–– 44--bitowa szerokość szyny danychbitowa szerokość szyny danych

�� 1974: Mikroprocesory Intel 8080, Motorola 68001974: Mikroprocesory Intel 8080, Motorola 6800–– mikroprocesory ogólnego przeznaczeniamikroprocesory ogólnego przeznaczenia

–– 88--bitowa szerokość szyny danychbitowa szerokość szyny danych

–– 1616--bitowa szerokość szyny adresowejbitowa szerokość szyny adresowej

Zarys historii komputerówZarys historii komputerów

�� 1977: Mikrokomputer Apple II1977: Mikrokomputer Apple II

�� 1978, 1979: Mikroprocesory Intel 8086, 80881978, 1979: Mikroprocesory Intel 8086, 8088–– 1616--bitowa szerokość szyny danychbitowa szerokość szyny danych

–– 2020--bitowa szerokość szyny adresowejbitowa szerokość szyny adresowej

–– wbudowane rozkazy mnożenia i dzieleniawbudowane rozkazy mnożenia i dzielenia

�� 1981: Mikrokomputer IBM PC1981: Mikrokomputer IBM PC

66

�� 1981: Mikrokomputer IBM PC1981: Mikrokomputer IBM PC

�� 1984: Mikrokomputer Apple Macintosh1984: Mikrokomputer Apple Macintosh

�� 1985: Mikroprocesor Intel 803861985: Mikroprocesor Intel 80386–– 3232--bitowa szerokość szyny danychbitowa szerokość szyny danych

–– 3232--bitowa szerokość szyny adresowejbitowa szerokość szyny adresowej

–– wsparcie dla systemów wielozadaniowychwsparcie dla systemów wielozadaniowych

Klasyczna koncepcja komputeraKlasyczna koncepcja komputera

�� Elementy funkcjonalne komputera:Elementy funkcjonalne komputera:–– Procesor, jednostka centralna, CPU (Procesor, jednostka centralna, CPU (Central Processing UnitCentral Processing Unit))

–– Pamięć operacyjnaPamięć operacyjna

–– Układy wejściaUkłady wejścia--wyjściawyjścia

�� Schemat architektury:Schemat architektury:

77

ProcesorProcesor

Układy Układy wejściawejścia--wyjściawyjścia

PamięćPamięć

MagistralaMagistrala

Klasyczna koncepcja komputeraKlasyczna koncepcja komputera

�� Elementy komputera komunikują się ze sobą poprzez Elementy komputera komunikują się ze sobą poprzez magistrale: danych, adresową i sterującąmagistrale: danych, adresową i sterującą

�� Magistrale pracują w sposób synchroniczny, co Magistrale pracują w sposób synchroniczny, co oznacza, że sygnały na nich występujące, mogą się oznacza, że sygnały na nich występujące, mogą się pojawiać wyłącznie w ściśle określonych momentach pojawiać wyłącznie w ściśle określonych momentach wyznaczonych przez tzw. wyznaczonych przez tzw. cykl zegarowycykl zegarowy

88

wyznaczonych przez tzw. wyznaczonych przez tzw. cykl zegarowycykl zegarowy

�� Przykład pobierania zawartości komórki pamięci Przykład pobierania zawartości komórki pamięci operacyjnej przez procesor:operacyjnej przez procesor:–– procesor wysyła adres żądanej komórki na magistralę procesor wysyła adres żądanej komórki na magistralę

adresową, a po odczekaniu odpowiedniej liczby cykli adresową, a po odczekaniu odpowiedniej liczby cykli zegarowych odczytuje z magistrali danezegarowych odczytuje z magistrali dane

–– pamięć dekoduje przesyłany adres po czym umieszcza pamięć dekoduje przesyłany adres po czym umieszcza zawartość zaadresowanej komórki na magistrali danych w zawartość zaadresowanej komórki na magistrali danych w odpowiednim momencie i na odpowiednio długi czasodpowiednim momencie i na odpowiednio długi czas

Page 3: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Klasyczna koncepcja komputeraKlasyczna koncepcja komputera

–– jeżeli pamięć operacyjna jest zbyt wolna w stosunku do jeżeli pamięć operacyjna jest zbyt wolna w stosunku do szybkości pracy procesora i nie może wysłać danej w szybkości pracy procesora i nie może wysłać danej w odpowiednio krótkim czasie, to informuje o tym procesor, odpowiednio krótkim czasie, to informuje o tym procesor, wysyłając odpowiedni sygnał (WAIT) przez magistralę wysyłając odpowiedni sygnał (WAIT) przez magistralę sterującąsterującą

–– procesor wydłuża wówczas okres oczekiwania na daną o procesor wydłuża wówczas okres oczekiwania na daną o dodatkowy cykl zegarowy i w tak określonym momencie dodatkowy cykl zegarowy i w tak określonym momencie

99

dodatkowy cykl zegarowy i w tak określonym momencie dodatkowy cykl zegarowy i w tak określonym momencie odczytuje ją z magistrali danychodczytuje ją z magistrali danych

�� Opisany cykl pracy procesora nazywa się Opisany cykl pracy procesora nazywa się cyklem cyklem maszynowymmaszynowym i jest on związany ze zmianą adresu i jest on związany ze zmianą adresu przesyłanego przez magistralę adresowąprzesyłanego przez magistralę adresową

�� Cykle maszynowe nie są jednakowej długości, choć Cykle maszynowe nie są jednakowej długości, choć zawsze są wielokrotnością cyklu zegarowegozawsze są wielokrotnością cyklu zegarowego

Klasyczna koncepcja komputeraKlasyczna koncepcja komputera

�� Komunikacja między procesorem a układami wejściaKomunikacja między procesorem a układami wejścia--wyjścia odbywa się w postaci analogicznych cykli wyjścia odbywa się w postaci analogicznych cykli maszynowychmaszynowych

�� Komunikacja między urządzeniami wejściaKomunikacja między urządzeniami wejścia--wyjścia a wyjścia a pamięcią operacyjną także przebiega w postaci pamięcią operacyjną także przebiega w postaci podobnych cykli maszynowych w przypadku podobnych cykli maszynowych w przypadku

1010

podobnych cykli maszynowych w przypadku podobnych cykli maszynowych w przypadku transmisji przez kanał bezpośredniego dostępu do transmisji przez kanał bezpośredniego dostępu do pamięcipamięci

�� Cykl pracy magistrali komputera składający się z Cykl pracy magistrali komputera składający się z pewnej liczby cykli maszynowych, w którym pewnej liczby cykli maszynowych, w którym następuje wykonanie pełnego rozkazu procesora następuje wykonanie pełnego rozkazu procesora nazywa się nazywa się cyklem rozkazowymcyklem rozkazowym

Ogólna zasada działania procesoraOgólna zasada działania procesora

�� Schemat blokowy procesora:Schemat blokowy procesora:

BIUBIU

PrefetchPrefetch IUIU

ControlControl

1111

AUAU

EUEU

ALUALUFPUFPU

RegistersRegisters

ControlControl

DataData

AddressAddress

Ogólna zasada działania procesoraOgólna zasada działania procesora

�� Komunikacja procesora ze światem zewnętrznym Komunikacja procesora ze światem zewnętrznym odbywa się za pośrednictwem układu sterowania odbywa się za pośrednictwem układu sterowania magistralami BIU (magistralami BIU (Bus Interface UnitBus Interface Unit), w którego ), w którego skład wchodzi jednostka adresowania AU skład wchodzi jednostka adresowania AU ((Addressing UnitAddressing Unit) i podręczna kolejka rozkazów ) i podręczna kolejka rozkazów ((PrefetchPrefetch))

1212

((PrefetchPrefetch))

�� Jednostka adresowania ma za zadanie wytworzenie Jednostka adresowania ma za zadanie wytworzenie na magistrali adresowej adresu, pod którym znajdują na magistrali adresowej adresu, pod którym znajdują się wymieniane z procesorem dane lub pobierane się wymieniane z procesorem dane lub pobierane rozkazyrozkazy

�� Pobierane rozkazy umieszczane są z wyprzedzeniem Pobierane rozkazy umieszczane są z wyprzedzeniem w podręcznej kolejce rozkazów, której uzupełnianie w podręcznej kolejce rozkazów, której uzupełnianie odbywa się automatycznieodbywa się automatycznie

Page 4: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Ogólna zasada działania procesoraOgólna zasada działania procesora

�� Dekodowanie rozkazów pobieranych z kolejki Dekodowanie rozkazów pobieranych z kolejki rozkazów odbywa się w bloku dekodera instrukcji IU rozkazów odbywa się w bloku dekodera instrukcji IU ((Instruction UnitInstruction Unit))

�� Rozkodowane instrukcje przekazywane są do układu Rozkodowane instrukcje przekazywane są do układu wykonawczego EU (wykonawczego EU (Execution UnitExecution Unit), który w ), który w zależności od rodzaju rozkazu wydaje odpowiednie zależności od rodzaju rozkazu wydaje odpowiednie

1313

zależności od rodzaju rozkazu wydaje odpowiednie zależności od rodzaju rozkazu wydaje odpowiednie polecenia do jednostki adresującej oraz jednostki polecenia do jednostki adresującej oraz jednostki arytmetycznoarytmetyczno--logicznej ALU (logicznej ALU (ArithmeticArithmetic--Logic UnitLogic Unit) ) lub jednostki zmiennoprzecinkowej FPU (lub jednostki zmiennoprzecinkowej FPU (Floating Floating Point UnitPoint Unit))

�� Wykonywane rozkazy mogą dotyczyć manipulacji na Wykonywane rozkazy mogą dotyczyć manipulacji na zawartości wewnętrznych rejestrów procesora zawartości wewnętrznych rejestrów procesora ((RegistersRegisters), jak też komórek pamięci operacyjnej), jak też komórek pamięci operacyjnej

Ogólna zasada działania procesoraOgólna zasada działania procesora

�� Zadaniem jednostki arytmetycznoZadaniem jednostki arytmetyczno--logicznej jest logicznej jest wykonywanie bezpośrednich operacji na danych tj. wykonywanie bezpośrednich operacji na danych tj. dodawanie, odejmowanie, porównywanie itd.dodawanie, odejmowanie, porównywanie itd.

�� W przypadku rozkazów operujących na danych W przypadku rozkazów operujących na danych zmiennoprzecinkowych ich przetwarzaniem zajmuje zmiennoprzecinkowych ich przetwarzaniem zajmuje się wyspecjalizowana jednostka zmiennoprzecinkowasię wyspecjalizowana jednostka zmiennoprzecinkowa

1414

się wyspecjalizowana jednostka zmiennoprzecinkowasię wyspecjalizowana jednostka zmiennoprzecinkowa

�� Nie istnieje ścisły podział pamięci operacyjnej na Nie istnieje ścisły podział pamięci operacyjnej na obszary danych i rozkazów obszary danych i rozkazów –– w każdej komórce w każdej komórce pamięci operacyjnej mogą znajdować się zarówno pamięci operacyjnej mogą znajdować się zarówno podlegające przetwarzaniu dane, jak i przeznaczone podlegające przetwarzaniu dane, jak i przeznaczone do wykonania rozkazydo wykonania rozkazy

Ogólna zasada działania procesoraOgólna zasada działania procesora

�� Ponieważ większość działań procesora sprowadza się Ponieważ większość działań procesora sprowadza się do operacji na stosunkowo wolnej pamięci RAM do operacji na stosunkowo wolnej pamięci RAM ((Random Access MemoryRandom Access Memory), to w celu zwiększenia ), to w celu zwiększenia efektywności procesor wyposażony jest w rejestry efektywności procesor wyposażony jest w rejestry ––szybką pamięć wewnętrznąszybką pamięć wewnętrzną

�� Wykonanie jakiejkolwiek operacji na pamięci Wykonanie jakiejkolwiek operacji na pamięci

1515

�� Wykonanie jakiejkolwiek operacji na pamięci Wykonanie jakiejkolwiek operacji na pamięci sprowadza się do przesłania zawartości komórki sprowadza się do przesłania zawartości komórki pamięci do rejestru, wykonania operacji i odesłania pamięci do rejestru, wykonania operacji i odesłania wyniku do pamięciwyniku do pamięci

�� Rejestry można podzielić na trzy funkcjonalne grupy:Rejestry można podzielić na trzy funkcjonalne grupy:–– rejestry ogólnego przeznaczenia (np. AX, BX, CX, DX)rejestry ogólnego przeznaczenia (np. AX, BX, CX, DX)

–– rejestry segmentowe (np. CS, DS, SS)rejestry segmentowe (np. CS, DS, SS)

–– rejestry statusowe i sterujące (np. FLAGS, IP)rejestry statusowe i sterujące (np. FLAGS, IP)

Ogólna zasada działania procesoraOgólna zasada działania procesora

�� Zadaniem rejestrów ogólnego przeznaczenia jest Zadaniem rejestrów ogólnego przeznaczenia jest przechowywanie danychprzechowywanie danych

�� W praktyce każdy z tych rejestrów jest przeznaczony W praktyce każdy z tych rejestrów jest przeznaczony do wykonywania określonych zadań np. rejestr AX do wykonywania określonych zadań np. rejestr AX (akumulator) w operacjach arytmetycznych i (akumulator) w operacjach arytmetycznych i logicznych, BX do adresowania pamięci, CX jest logicznych, BX do adresowania pamięci, CX jest

1616

logicznych, BX do adresowania pamięci, CX jest logicznych, BX do adresowania pamięci, CX jest licznikiem w pętlach, natomiast DX umożliwia licznikiem w pętlach, natomiast DX umożliwia przekazywanie i odbieranie danych z portów wejściaprzekazywanie i odbieranie danych z portów wejścia--wyjściawyjścia

�� Rejestry segmentowe służą do przechowywania:Rejestry segmentowe służą do przechowywania:–– CS (CS (Code SegmentCode Segment) ) -- adresu segmentu kodu do wykonaniaadresu segmentu kodu do wykonania

–– DS (DS (Data SegmentData Segment) ) -- adresu segmentu danychadresu segmentu danych

–– SS (SS (Stack SegmentStack Segment) ) -- adresu segmentu stosuadresu segmentu stosu

Page 5: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Ogólna zasada działania procesoraOgólna zasada działania procesora

�� Zadaniem rejestru stanu FLAGS jest kontrolowanie Zadaniem rejestru stanu FLAGS jest kontrolowanie pracy procesorapracy procesora

�� W rejestrze tym znajdują się m.in. następujące W rejestrze tym znajdują się m.in. następujące znaczniki stanu (flagi):znaczniki stanu (flagi):–– ZnakZnak ((Sign FlagSign Flag) ) -- bit znaku wyniku ostatniej operacji bit znaku wyniku ostatniej operacji

arytmetycznejarytmetycznej

1717

arytmetycznejarytmetycznej

–– ZeroZero ((Zero FlagZero Flag) ) -- flaga ustawiana jeżeli wynik operacji jest flaga ustawiana jeżeli wynik operacji jest równy zerorówny zero

–– PrzeniesieniePrzeniesienie ((Carry FlagCarry Flag) ) -- flaga ustawiana jeżeli wynikiem flaga ustawiana jeżeli wynikiem operacji arytmetycznej jest przeniesienieoperacji arytmetycznej jest przeniesienie

–– PrzepełnieniePrzepełnienie ((OverflowOverflow) ) -- flaga ustawiana jeżeli w czasie flaga ustawiana jeżeli w czasie wykonywania operacji arytmetycznej wystąpiło wykonywania operacji arytmetycznej wystąpiło przepełnienieprzepełnienie

Ogólna zasada działania procesoraOgólna zasada działania procesora

�� Rejestr wskaźnika rozkazów IP (Rejestr wskaźnika rozkazów IP (Instruction PointerInstruction Pointer) ) zawiera przemieszczenie aktualnie wykonywanej zawiera przemieszczenie aktualnie wykonywanej instrukcji względem początku segmentu koduinstrukcji względem początku segmentu kodu

�� O tym że zawartość komórki pamięci operacyjnej O tym że zawartość komórki pamięci operacyjnej zostanie przez procesor zinterpretowania jako rozkaz zostanie przez procesor zinterpretowania jako rozkaz do wykonania decyduje fakt jej zaadresowania przez do wykonania decyduje fakt jej zaadresowania przez

1818

do wykonania decyduje fakt jej zaadresowania przez do wykonania decyduje fakt jej zaadresowania przez wskaźnik (licznik) rozkazówwskaźnik (licznik) rozkazów

�� W cyklu rozkazowym procesora możemy wyróżnić W cyklu rozkazowym procesora możemy wyróżnić następujące cztery fazy:następujące cztery fazy:–– Faza pobrania rozkazuFaza pobrania rozkazu ((FetchFetch), w której następuje pobranie ), w której następuje pobranie

rozkazu z podręcznej kolejki rozkazów i jeżeli zachodzi taka rozkazu z podręcznej kolejki rozkazów i jeżeli zachodzi taka potrzeba, uruchomienie procedury uzupełniania kolejkipotrzeba, uruchomienie procedury uzupełniania kolejki

Ogólna zasada działania procesoraOgólna zasada działania procesora

–– Faza dekodowania rozkazuFaza dekodowania rozkazu ((DecodeDecode), w której określane są ), w której określane są operacje do wykonania oraz obliczane adresy efektywne operacje do wykonania oraz obliczane adresy efektywne argumentów (jeżeli występują)argumentów (jeżeli występują)

–– Faza wykonaniaFaza wykonania ((ExecuteExecute), w której pobierane są z pamięci ), w której pobierane są z pamięci argumenty rozkazu oraz wykonywane operacje ustalone w argumenty rozkazu oraz wykonywane operacje ustalone w fazie dekodowaniafazie dekodowania

–– Faza zapisania wynikówFaza zapisania wyników ((Retire, WriteRetire, Write--BackBack), w której ), w której

1919

–– Faza zapisania wynikówFaza zapisania wyników ((Retire, WriteRetire, Write--BackBack), w której ), w której następuje zapisanie wyniku w miejscu określonym w kodzie następuje zapisanie wyniku w miejscu określonym w kodzie rozkazu oraz ustawienie znaczników rejestru statusowegorozkazu oraz ustawienie znaczników rejestru statusowego

Fetch Decode Execute Retire

Obsługa urządzeń zewnętrznychObsługa urządzeń zewnętrznych

�� Jednym z zadań procesora jest wymiana informacji z Jednym z zadań procesora jest wymiana informacji z urządzeniami zewnętrznymi (stacja dyskietek, karta urządzeniami zewnętrznymi (stacja dyskietek, karta graficzna, klawiatura itd.)graficzna, klawiatura itd.)

�� Urządzenie zewnętrzne komunikuje się z układem Urządzenie zewnętrzne komunikuje się z układem wejściawejścia--wyjścia za pośrednictwem interfejsu, tworząc wyjścia za pośrednictwem interfejsu, tworząc wspólnie tzw. urządzenie peryferyjnewspólnie tzw. urządzenie peryferyjne

2020

wspólnie tzw. urządzenie peryferyjnewspólnie tzw. urządzenie peryferyjne

�� Podstawowymi funkcjami realizowanymi przez układ Podstawowymi funkcjami realizowanymi przez układ wejściawejścia--wyjścia jest:wyjścia jest:–– komunikacja z urządzeniem zewnętrznym (głównie przez komunikacja z urządzeniem zewnętrznym (głównie przez

interfejs równoległy lub szeregowy), polegająca na interfejs równoległy lub szeregowy), polegająca na przesyłaniu danych, wysyłaniu do niego rozkazów przesyłaniu danych, wysyłaniu do niego rozkazów sterujących i odczytywaniu informacji o jego staniesterujących i odczytywaniu informacji o jego stanie

Page 6: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Obsługa urządzeń zewnętrznychObsługa urządzeń zewnętrznych

–– komunikacja z procesorem, obejmująca dekodowanie komunikacja z procesorem, obejmująca dekodowanie adresu układu, wymianę danych, przesyłanie rozkazów i adresu układu, wymianę danych, przesyłanie rozkazów i informacji o stanie układuinformacji o stanie układu

–– buforowanie i formatowanie danychbuforowanie i formatowanie danych

–– wykrywanie i informowanie o błędachwykrywanie i informowanie o błędach

�� Przestrzeń adresowa układów wejściaPrzestrzeń adresowa układów wejścia--wyjścia może wyjścia może być:być:

2121

być:być:–– odwzorowana w pamięci (układy wejściaodwzorowana w pamięci (układy wejścia--wyjścia i komórki wyjścia i komórki

pamięci współdzielą tę samą przestrzeń adresową)pamięci współdzielą tę samą przestrzeń adresową)

–– izolowana (układy wejściaizolowana (układy wejścia--wyjścia i komórki pamięci wyjścia i komórki pamięci korzystają z niezależnych przestrzeni adresowych)korzystają z niezależnych przestrzeni adresowych)

Obsługa urządzeń zewnętrznychObsługa urządzeń zewnętrznych

�� Do typowych układów wejściaDo typowych układów wejścia--wyjścia zaliczamy:wyjścia zaliczamy:–– układy szeregowej i równoległej transmisji danychukłady szeregowej i równoległej transmisji danych

–– timery (układy pomiaru czasu, zliczania lub generowania timery (układy pomiaru czasu, zliczania lub generowania zdarzeń)zdarzeń)

–– zegary czasu rzeczywistegozegary czasu rzeczywistego

–– układy przetworników analogowoukłady przetworników analogowo--cyfrowych i cyfrowocyfrowych i cyfrowo--

2222

–– układy przetworników analogowoukłady przetworników analogowo--cyfrowych i cyfrowocyfrowych i cyfrowo--analogowychanalogowych

�� Sterowanie pracą urządzenia zewnętrznego polega Sterowanie pracą urządzenia zewnętrznego polega na zaprogramowaniu sterującego nim układu na zaprogramowaniu sterującego nim układu wejściawejścia--wyjścia, czyli wpisaniu do odpowiadającego wyjścia, czyli wpisaniu do odpowiadającego mu portu określonej wartości, która wymusza takie a mu portu określonej wartości, która wymusza takie a nie inne zachowanie urządzenianie inne zachowanie urządzenia

Obsługa urządzeń zewnętrznychObsługa urządzeń zewnętrznych

�� Przesyłanie danych między urządzeniem Przesyłanie danych między urządzeniem peryferyjnym a pamięcią operacyjną może odbywać peryferyjnym a pamięcią operacyjną może odbywać się w trybie programowanego wejściasię w trybie programowanego wejścia--wyjścia PIO wyjścia PIO ((Programmed Input/OutputProgrammed Input/Output) lub w trybie ) lub w trybie bezpośredniego dostępu do pamięci DMA (bezpośredniego dostępu do pamięci DMA (Direct Direct Memory AccessMemory Access))

2323

Memory AccessMemory Access))

�� W trybie programowanego wejściaW trybie programowanego wejścia--wyjścia całym wyjścia całym procesem przesyłania danych zajmuje się procesorprocesem przesyłania danych zajmuje się procesor

�� W trybie bezpośredniego dostępu do pamięci W trybie bezpośredniego dostępu do pamięci procesor przechodzi w stan wysokiej impedancji, a procesor przechodzi w stan wysokiej impedancji, a na czas transmisji danych kontrolę nad magistralami na czas transmisji danych kontrolę nad magistralami komputera przejmuje układ DMAkomputera przejmuje układ DMA

Obsługa urządzeń zewnętrznychObsługa urządzeń zewnętrznych

�� Urządzenie może poinformować procesor o zmianie Urządzenie może poinformować procesor o zmianie swojego stanu zgłaszając tzw. przerwanie (swojego stanu zgłaszając tzw. przerwanie (interruptinterrupt))

�� Typową sytuację powodującą zgłoszenie przerwania Typową sytuację powodującą zgłoszenie przerwania jest zajście zdarzenia zewnętrznego lub zakończenie jest zajście zdarzenia zewnętrznego lub zakończenie zadania „zleconego” urządzeniu przez procesorzadania „zleconego” urządzeniu przez procesor

�� Zgłoszenie przerwania przez urządzenie powoduje Zgłoszenie przerwania przez urządzenie powoduje

2424

�� Zgłoszenie przerwania przez urządzenie powoduje Zgłoszenie przerwania przez urządzenie powoduje zawieszenie wykonywania bieżącego programu, zawieszenie wykonywania bieżącego programu, wykonanie procedury obsługi przerwania a następnie wykonanie procedury obsługi przerwania a następnie powrót do wykonywania bieżącego programupowrót do wykonywania bieżącego programu

�� Alternatywną metodą sprawdzania stanu urządzenia Alternatywną metodą sprawdzania stanu urządzenia jest jego cykliczne przepytywanie przez procesor w jest jego cykliczne przepytywanie przez procesor w oczekiwaniu na spełnienie warunków koniecznych do oczekiwaniu na spełnienie warunków koniecznych do realizacji transmisji (realizacji transmisji (pollingpolling))

Page 7: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Podstawowe własności i klasyfikacje pamięciPodstawowe własności i klasyfikacje pamięci

�� W typowym systemie komputerowym można W typowym systemie komputerowym można zauważyć hierarchię podsystemów pamięci zauważyć hierarchię podsystemów pamięci ––niektóre z nich umiejscowione są bezpośrednio w niektóre z nich umiejscowione są bezpośrednio w procesorze, inne tworzą główną pamięć operacyjną, procesorze, inne tworzą główną pamięć operacyjną, jeszcze inne są podłączane do urządzeń wejściajeszcze inne są podłączane do urządzeń wejścia--wyjścia stanowiąc pamięć pomocnicząwyjścia stanowiąc pamięć pomocniczą

2525

wyjścia stanowiąc pamięć pomocnicząwyjścia stanowiąc pamięć pomocniczą

�� Podstawową własnością pamięci jest jej Podstawową własnością pamięci jest jej pojemnośćpojemnośćwyrażana najczęściej w bajtach lub w słowachwyrażana najczęściej w bajtach lub w słowach

�� Innym parametrem związanym z pojemnością jest Innym parametrem związanym z pojemnością jest tzw. tzw. jednostka transferujednostka transferu ((transfer unittransfer unit) będąca liczbą ) będąca liczbą bitów jednocześnie odczytywanych z pamięci lub do bitów jednocześnie odczytywanych z pamięci lub do niej zapisywanychniej zapisywanych

Podstawowe własności i klasyfikacje pamięciPodstawowe własności i klasyfikacje pamięci

�� W zależności od W zależności od sposobu dostępusposobu dostępu pamięci możemy pamięci możemy podzielić na:podzielić na:–– pamięci o dostępie sekwencyjnym, w których dostęp do pamięci o dostępie sekwencyjnym, w których dostęp do

danych (najczęściej w postaci rekordów) jest możliwy w danych (najczęściej w postaci rekordów) jest możliwy w określonej sekwencji liniowej (przykład: pamięć taśmowa)określonej sekwencji liniowej (przykład: pamięć taśmowa)

–– pamięci o dostępie bezpośrednim, w których możliwy jest pamięci o dostępie bezpośrednim, w których możliwy jest bezpośredni dostęp do bloku danych (dzięki mechanizmowi bezpośredni dostęp do bloku danych (dzięki mechanizmowi

2626

bezpośredni dostęp do bloku danych (dzięki mechanizmowi bezpośredni dostęp do bloku danych (dzięki mechanizmowi adresacji bloku), natomiast dostęp do konkretnej danej w adresacji bloku), natomiast dostęp do konkretnej danej w bloku odbywa się sekwencyjnie (przykład: pamięć dyskowa)bloku odbywa się sekwencyjnie (przykład: pamięć dyskowa)

–– pamięci o dostępie swobodnym, w których poszczególne pamięci o dostępie swobodnym, w których poszczególne dane mają swój unikatowy adres i dostęp do nich nie zależy dane mają swój unikatowy adres i dostęp do nich nie zależy od sekwencji poprzednio wykonanych operacji dostępu od sekwencji poprzednio wykonanych operacji dostępu (przykład: pamięć operacyjna)(przykład: pamięć operacyjna)

Podstawowe własności i klasyfikacje pamięciPodstawowe własności i klasyfikacje pamięci

–– pamięci o dostępie skojarzeniowym, będący rodzajem pamięci o dostępie skojarzeniowym, będący rodzajem dostępu swobodnego, w których adresowanie danych dostępu swobodnego, w których adresowanie danych odbywa się na zasadzie badania zgodności (porównywania) odbywa się na zasadzie badania zgodności (porównywania) wybranych bitów słowa z zawartością pamięci (przykład: wybranych bitów słowa z zawartością pamięci (przykład: pamięć podręczna)pamięć podręczna)

�� Kolejną istotną własnością pamięci jest jej Kolejną istotną własnością pamięci jest jej wydajnośćwydajność, określana m.in. przez następujące , określana m.in. przez następujące

2727

wydajnośćwydajność, określana m.in. przez następujące , określana m.in. przez następujące parametry:parametry:–– czas dostępu czas dostępu –– czas od chwili doprowadzenia adresu do czas od chwili doprowadzenia adresu do

momentu udostępnienia danychmomentu udostępnienia danych

–– czas cyklu pamięci czas cyklu pamięci –– czas jaki musi upłynąć między dwiema czas jaki musi upłynąć między dwiema operacjami dostępu do pamięcioperacjami dostępu do pamięci

–– szybkość przesyłania szybkość przesyłania –– szybkość z jaką dane mogą być szybkość z jaką dane mogą być wprowadzane do pamięci lub z niej wyprowadzanewprowadzane do pamięci lub z niej wyprowadzane

Podstawowe własności i klasyfikacje pamięciPodstawowe własności i klasyfikacje pamięci

�� W zależności od W zależności od technologii wykonaniatechnologii wykonania pamięci pamięci możemy podzielić na półprzewodnikowe, optyczne i możemy podzielić na półprzewodnikowe, optyczne i magnetycznemagnetyczne

�� Pamięci półprzewodnikowe możemy podzielić na Pamięci półprzewodnikowe możemy podzielić na następujące typy:następujące typy:–– pamięci o dostępie swobodnym RAM (pamięci o dostępie swobodnym RAM (Random Access Random Access

2828

–– pamięci o dostępie swobodnym RAM (pamięci o dostępie swobodnym RAM (Random Access Random Access MemoryMemory))

–– nieulotne pamięci o dostępie swobodnym NVRAM (nieulotne pamięci o dostępie swobodnym NVRAM (NonNon--Volatile RAMVolatile RAM))

–– pamięci stałe ROM (pamięci stałe ROM (Read Only MemoryRead Only Memory))

–– programowalne pamięci stałe PROM (programowalne pamięci stałe PROM (Programmable ROMProgrammable ROM))

–– wymazywalne pamięci stałe EPROM (wymazywalne pamięci stałe EPROM (Erasable and Erasable and Programmable ROMProgrammable ROM))

Page 8: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Podstawowe własności i klasyfikacje pamięciPodstawowe własności i klasyfikacje pamięci

–– elektrycznie wymazywalne pamięci stałe EEPROM elektrycznie wymazywalne pamięci stałe EEPROM ((Electrically Erasable and Programmable ROMElectrically Erasable and Programmable ROM))

–– pamięci błyskawiczne (błyskowe) FLASHpamięci błyskawiczne (błyskowe) FLASH

�� Pamięci o dostępie swobodnym RAM można podzielić Pamięci o dostępie swobodnym RAM można podzielić na:na:–– pamięci statyczne SRAM (pamięci statyczne SRAM (Static RAMStatic RAM), w których komórki ), w których komórki

2929

–– pamięci statyczne SRAM (pamięci statyczne SRAM (Static RAMStatic RAM), w których komórki ), w których komórki pamięci zbudowane są z dwustanowych przerzutników pamięci zbudowane są z dwustanowych przerzutników (konstruowanych z bramek logicznych)(konstruowanych z bramek logicznych)

–– pamięci dynamiczne DRAM (pamięci dynamiczne DRAM (Dynamic RAMDynamic RAM), w których ), w których komórki pamięci zbudowane są z układów przechowujących komórki pamięci zbudowane są z układów przechowujących ładunek elektryczny (konstruowanych z kondensatora i ładunek elektryczny (konstruowanych z kondensatora i tranzystora) i wymagających okresowego odświeżania tranzystora) i wymagających okresowego odświeżania ładunku w celu zachowania danychładunku w celu zachowania danych

Podstawowe własności i klasyfikacje pamięciPodstawowe własności i klasyfikacje pamięci

�� Schematyczny diagram komórek pamięci RAM:Schematyczny diagram komórek pamięci RAM:

DRAM

Row line

SRAMVDD

3030

¬Bit

Cd

Row line

(word line)

Column line

(bit line) Bit

Word line

Pamięć operacyjnaPamięć operacyjna

�� Pamięć operacyjna typowego komputera zbudowana Pamięć operacyjna typowego komputera zbudowana jest z układów pamięci DRAMjest z układów pamięci DRAM

�� W układzie pamięci DRAM można wyróżnić m.in. W układzie pamięci DRAM można wyróżnić m.in. następujące linie sygnałowe:następujące linie sygnałowe:–– adresy słowa Aadresy słowa A00÷÷AAmm--11 (m linii adresowych pozwalających na (m linii adresowych pozwalających na

zaadresowanie maksymalnie 2zaadresowanie maksymalnie 22*m2*m słów)słów)

3131

zaadresowanie maksymalnie 2zaadresowanie maksymalnie 2 słów)słów)

–– dane słowa Ddane słowa D00÷÷DDnn--11 (n linii danych)(n linii danych)

–– uaktywnienie układu CE (uaktywnienie układu CE (Chip EnableChip Enable))

–– zezwolenie na zapis WE (zezwolenie na zapis WE (Write EnableWrite Enable))

–– zezwolenie na odczyt OE (zezwolenie na odczyt OE (Output EnableOutput Enable))

–– wybór adresu wiersza RAS (wybór adresu wiersza RAS (Raw Address StrobeRaw Address Strobe))

–– wybór adresu kolumny CAS (wybór adresu kolumny CAS (Column Address StrobeColumn Address Strobe))

Pamięć operacyjnaPamięć operacyjna

�� Organizacja wewnętrzna układu pamięci DRAM:Organizacja wewnętrzna układu pamięci DRAM:

Column

decoder

Sense a

mplif

iers

ADDR

addre

ss

Colu

mn

addre

ss

buffer

Multip

lexer

3232

Row

decoder

Sense a

mplif

iers

Data

buffer

(M × M × N)

Storage

matrix

Contr

ol

logic

DATA

CASRASWECE

Row

addre

ss

buffer

Multip

lexer

Page 9: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Pamięć operacyjnaPamięć operacyjna

�� Cykl odczytu pamięci DRAM działającej w trybie PM Cykl odczytu pamięci DRAM działającej w trybie PM ((Page ModePage Mode):):

CAS

RAS

3333

ADDR

CAS

DATA

WE

Data Out

ColumnRow

Pamięć operacyjnaPamięć operacyjna

�� Cykl zapisu pamięci DRAM działającej w trybie PM Cykl zapisu pamięci DRAM działającej w trybie PM ((Page ModePage Mode):):

CAS

RAS

3434

ADDR

CAS

DATA

WE

Data In

ColumnRow

Pamięć operacyjnaPamięć operacyjna

�� Cykl odczytu pamięci DRAM działającej w trybie FPM Cykl odczytu pamięci DRAM działającej w trybie FPM ((Fast Page ModeFast Page Mode):):

CAS

RAS

3535

ADDR

CAS

DATA

WE

Col #1Row Col #2 Col #3 Col #4

Dout#2

Dout#1

Dout#3

Dout#4

Pamięć operacyjnaPamięć operacyjna

�� Cykl zapisu pamięci DRAM działającej w trybie FPM Cykl zapisu pamięci DRAM działającej w trybie FPM ((Fast Page ModeFast Page Mode):):

CAS

RAS

3636

ADDR

CAS

DATA

WE

Col #1Row Col #2 Col #3 Col #4

Din #1 Din #2 Din #3 Din #4

Page 10: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Pamięć operacyjnaPamięć operacyjna

�� Cykl odczytu pamięci DRAM działającej w trybie Cykl odczytu pamięci DRAM działającej w trybie pakietowym (pakietowym (Burst ModeBurst Mode):):

CAS

RAS

3737

ADDR

CAS

DATA

WE

ColumnRow

Dout + 0 Dout + 1 Dout + 2 Dout + 3

Pamięć operacyjnaPamięć operacyjna

�� Cykl zapisu pamięci DRAM działającej w trybie Cykl zapisu pamięci DRAM działającej w trybie pakietowym (pakietowym (Burst ModeBurst Mode):):

CAS

RAS

3838

ADDR

CAS

DATA

WE

Din + 0 Din + 1 Din + 2 Din + 3

ColumnRow

Pamięć operacyjnaPamięć operacyjna

�� Cechą charakterystyczną układów pamięci DRAM, Cechą charakterystyczną układów pamięci DRAM, wynikającą z zasady jej działania jest konieczność wynikającą z zasady jej działania jest konieczność okresowego odświeżania komórek pamięci tj. okresowego odświeżania komórek pamięci tj. uzupełniania ładunków elektrycznych w tych uzupełniania ładunków elektrycznych w tych komórkach pamięci, które przechowują wartość komórkach pamięci, które przechowują wartość logiczną „1” logiczną „1”

3939

logiczną „1” logiczną „1”

�� W celu prawidłowego funkcjonowania mechanizmu W celu prawidłowego funkcjonowania mechanizmu odświeżania konieczne jest cykliczne pobudzanie odświeżania konieczne jest cykliczne pobudzanie (adresowanie) poszczególnych wierszy matrycy (adresowanie) poszczególnych wierszy matrycy pamięci z częstotliwością nie mniejszą, niż to wynika pamięci z częstotliwością nie mniejszą, niż to wynika z tzw. czasu cyklu odświeżania (z tzw. czasu cyklu odświeżania (Refresh TimeRefresh Time))

Pamięć operacyjnaPamięć operacyjna

�� Operacja odświeżania pamięci DRAM realizowana Operacja odświeżania pamięci DRAM realizowana jest przez układy logiczne będące albo elementem jest przez układy logiczne będące albo elementem systemu komputerowego (kontroler pamięci) albo systemu komputerowego (kontroler pamięci) albo stanowiące integralną część samego układu pamięcistanowiące integralną część samego układu pamięci

�� Istnieją cztery podstawowe sposoby odświeżania Istnieją cztery podstawowe sposoby odświeżania pamięci DRAM:pamięci DRAM:

4040

pamięci DRAM:pamięci DRAM:–– odświeżanie sygnałem RAS (odświeżanie sygnałem RAS (RAS OnlyRAS Only))

–– odświeżanie CAS przed RAS (odświeżanie CAS przed RAS (CBRCBR, , CASCAS--beforebefore--RASRAS))

–– odświeżanie ukryte (odświeżanie ukryte (HiddenHidden))

–– autoodświeżanie (autoodświeżanie (SelfSelf--refreshrefresh))

Page 11: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Pamięć operacyjnaPamięć operacyjna

�� Cykl odświeżania sygnałem RAS (Cykl odświeżania sygnałem RAS (RASRAS--OnlyOnly) pamięci ) pamięci DRAM:DRAM:

CAS

RAS

4141

RowADDR

CAS

DATA

WE

Pamięć operacyjnaPamięć operacyjna

�� Podstawowym, stosowanym obecnie typem pamięci Podstawowym, stosowanym obecnie typem pamięci dynamicznej jest pamięć SDRAM (dynamicznej jest pamięć SDRAM (Synchronous Synchronous DRAMDRAM), która różni się od typowej pamięci DRAM ), która różni się od typowej pamięci DRAM sposobem sterowania matrycą pamięci oraz techniką sposobem sterowania matrycą pamięci oraz techniką dostępudostępu

�� Cechą charakterystyczną układu pamięci DRAM jest Cechą charakterystyczną układu pamięci DRAM jest

4242

�� Cechą charakterystyczną układu pamięci DRAM jest Cechą charakterystyczną układu pamięci DRAM jest synchronizowaniesynchronizowanie wszystkich sygnałów sterujących wszystkich sygnałów sterujących specjalnym przebiegiem zegarowym (CK), co ułatwia specjalnym przebiegiem zegarowym (CK), co ułatwia współpracę z magistralami systemu komputerowego współpracę z magistralami systemu komputerowego i pozwala na zwiększenie szybkości jej działaniai pozwala na zwiększenie szybkości jej działania

�� Pamięć SDRAM jest optymalizowana do realizacji Pamięć SDRAM jest optymalizowana do realizacji przesyłania pakietowego, ale dostęp do niej jest przesyłania pakietowego, ale dostęp do niej jest także możliwy w trybie pojedynczych cyklitakże możliwy w trybie pojedynczych cykli

Pamięć operacyjnaPamięć operacyjna

�� Układ pamięci SDRAM zbudowany jest z niezależnych Układ pamięci SDRAM zbudowany jest z niezależnych od siebie banków (najczęściej dwóch lub czterech), od siebie banków (najczęściej dwóch lub czterech), które adresowane są naprzemiennie, co przyspiesza które adresowane są naprzemiennie, co przyspiesza proces dostępu do danychproces dostępu do danych

�� W układ pamięci SDRAM wbudowany jest licznik W układ pamięci SDRAM wbudowany jest licznik odświeżania i układy logiczne, które pozwalają na odświeżania i układy logiczne, które pozwalają na

4343

odświeżania i układy logiczne, które pozwalają na odświeżania i układy logiczne, które pozwalają na jego autonomiczne odświeżaniejego autonomiczne odświeżanie

�� Przed użyciem pamięć SDRAM wymaga Przed użyciem pamięć SDRAM wymaga zaprogramowania przez wpisanie do specjalnego zaprogramowania przez wpisanie do specjalnego rejestru (rejestru (Mode RegisterMode Register) informacji konfiguracyjnych ) informacji konfiguracyjnych m.in. parametrów czasowych, liczby przesyłanych m.in. parametrów czasowych, liczby przesyłanych słów w pojedynczym cyklu pakietowymsłów w pojedynczym cyklu pakietowym

Pamięć operacyjnaPamięć operacyjna

�� W celu uzyskania określonej liczby jednorazowo W celu uzyskania określonej liczby jednorazowo przesyłanych bitów danych układy pamięci łączone przesyłanych bitów danych układy pamięci łączone są w tzw. moduły (np. SIMM, DIMM)są w tzw. moduły (np. SIMM, DIMM)

�� W przypadku modułów DIMM informacje o jego W przypadku modułów DIMM informacje o jego strukturze wewnętrznej niezbędne do prawidłowego strukturze wewnętrznej niezbędne do prawidłowego zaprogramowania układów SDRAM pamiętane są w zaprogramowania układów SDRAM pamiętane są w

4444

zaprogramowania układów SDRAM pamiętane są w zaprogramowania układów SDRAM pamiętane są w niewielkiej (256 B) pamięci stałej SPD (niewielkiej (256 B) pamięci stałej SPD (Serial Serial Presence DetectPresence Detect))

�� W przypadku konstrukcji modułów złożonych z dużej W przypadku konstrukcji modułów złożonych z dużej liczby układów pamięci może okazać się konieczne liczby układów pamięci może okazać się konieczne buforowanie sygnałów sterujących modułembuforowanie sygnałów sterujących modułem

Page 12: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Pamięć operacyjnaPamięć operacyjna

�� Odmianą pamięci SDRAM są pamięci DDR (Odmianą pamięci SDRAM są pamięci DDR (Double Double Data RateData Rate), które w każdym takcie zegara przekazują ), które w każdym takcie zegara przekazują dwa słowa danychdwa słowa danych

�� Do układu pamięci DDR przekazywane są dwa Do układu pamięci DDR przekazywane są dwa komplementarne przebiegi zegarowe (CLK/¬CLK), komplementarne przebiegi zegarowe (CLK/¬CLK), których przecięcie wyznacza moment kluczowaniaktórych przecięcie wyznacza moment kluczowania

4545

których przecięcie wyznacza moment kluczowaniaktórych przecięcie wyznacza moment kluczowania

�� Pamięć DDR wykorzystuje dodatkowo Pamięć DDR wykorzystuje dodatkowo dwukierunkowy sygnał strobujący DQS, który w dwukierunkowy sygnał strobujący DQS, który w cyklu odczytu generowany jest przez układ pamięci, cyklu odczytu generowany jest przez układ pamięci, natomiast w cyklu zapisu przez kontroler pamięcinatomiast w cyklu zapisu przez kontroler pamięci

�� Dane są odczytywane z pamięci w środku impulsu Dane są odczytywane z pamięci w środku impulsu DQS, a zapisywane do niej na zboczach tego impulsuDQS, a zapisywane do niej na zboczach tego impulsu

Pamięć operacyjnaPamięć operacyjna

�� Innym typem stosowanych obecnie układów pamięci Innym typem stosowanych obecnie układów pamięci są pamięci RDRAM (są pamięci RDRAM (Rambus DRAMRambus DRAM), które do ), które do komunikacji z otoczeniem wykorzystują dedykowaną komunikacji z otoczeniem wykorzystują dedykowaną magistralę Rambus przesyłającą dane w trybie magistralę Rambus przesyłającą dane w trybie pakietowympakietowym

�� Pojedynczy kanał magistrali Rambus pozwala na Pojedynczy kanał magistrali Rambus pozwala na

4646

�� Pojedynczy kanał magistrali Rambus pozwala na Pojedynczy kanał magistrali Rambus pozwala na dołączenie maksymalnie 32 układów pamięcidołączenie maksymalnie 32 układów pamięci

�� Magistrala Rambus jest bardzo szybką (taktowanie Magistrala Rambus jest bardzo szybką (taktowanie 400 MHz) magistralą o szerokości 16 bitów danych 400 MHz) magistralą o szerokości 16 bitów danych (podzielonych na dwie 8(podzielonych na dwie 8--bitowe szyny: DQA i DQB), bitowe szyny: DQA i DQB), co pozwala na transmisję danych z szybkością 1.6 co pozwala na transmisję danych z szybkością 1.6 GB/sGB/s

Pamięć operacyjnaPamięć operacyjna

�� Informacja w pamięci RDRAM przechowywana jest w Informacja w pamięci RDRAM przechowywana jest w typowych blokach pamięci SDRAM zorganizowanych typowych blokach pamięci SDRAM zorganizowanych w niezależne banki (zwykle od 4 do 32) o szerokości w niezależne banki (zwykle od 4 do 32) o szerokości najczęściej 128 bitównajczęściej 128 bitów

�� Układy logiczne pamięci RDRAM przesyłają takie Układy logiczne pamięci RDRAM przesyłają takie porcje danych z/do magistrali Rambus wykorzystując porcje danych z/do magistrali Rambus wykorzystując

4747

porcje danych z/do magistrali Rambus wykorzystując porcje danych z/do magistrali Rambus wykorzystując bardzo szybkie multipleksery i demultiplekserybardzo szybkie multipleksery i demultipleksery

�� Do synchronizacji przesyłanych danych magistrala Do synchronizacji przesyłanych danych magistrala Rambus wykorzystuje dwie pary komplementarnych Rambus wykorzystuje dwie pary komplementarnych sygnałów zegarowych CTM (sygnałów zegarowych CTM (Clock to MasterClock to Master) i CFM ) i CFM ((Clock from MasterClock from Master))

Pamięć operacyjnaPamięć operacyjna

�� Dane są odczytywane z układu pamięci w trakcie Dane są odczytywane z układu pamięci w trakcie narastającego i opadającego zbocza sygnału CTM, a narastającego i opadającego zbocza sygnału CTM, a zapisywane do niego w trakcie narastającego i zapisywane do niego w trakcie narastającego i opadającego zbocza sygnału CFMopadającego zbocza sygnału CFM

�� Układ pamięci RDRAM wyposażony jest w 8Układ pamięci RDRAM wyposażony jest w 8--bitową bitową magistralę adresową, w której 3 bity przypadają na magistralę adresową, w której 3 bity przypadają na

4848

magistralę adresową, w której 3 bity przypadają na magistralę adresową, w której 3 bity przypadają na adres wiersza, a 5 bitów na adres kolumnyadres wiersza, a 5 bitów na adres kolumny

�� Przed użyciem układ pamięci RDRAM wymaga Przed użyciem układ pamięci RDRAM wymaga zaprogramowania tj. wpisania do jego wewnętrznych zaprogramowania tj. wpisania do jego wewnętrznych rejestrów sterujących odpowiednich informacji rejestrów sterujących odpowiednich informacji konfiguracyjnych (przesłanych z wykorzystaniem linii konfiguracyjnych (przesłanych z wykorzystaniem linii sterujących magistrali Rambus)sterujących magistrali Rambus)

Page 13: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Pamięć operacyjnaPamięć operacyjna

�� Z uwagi na możliwość wystąpienia przekłamań Z uwagi na możliwość wystąpienia przekłamań układy pamięci i ich kontrolery wyposaża się układy pamięci i ich kontrolery wyposaża się dodatkowo w mechanizmy, których celem jest dodatkowo w mechanizmy, których celem jest wykrycie albo wykrycie i korekcja błędówwykrycie albo wykrycie i korekcja błędów

�� Najprostszym stosowanym mechanizmem Najprostszym stosowanym mechanizmem wykrywającym błędy jest tzw. kontrola parzystościwykrywającym błędy jest tzw. kontrola parzystości

4949

wykrywającym błędy jest tzw. kontrola parzystościwykrywającym błędy jest tzw. kontrola parzystości

�� Realizacja kontroli parzystości wymaga zapamiętania Realizacja kontroli parzystości wymaga zapamiętania dodatkowego bitu, którego wartość dobierana jest dodatkowego bitu, którego wartość dobierana jest tak, aby liczba „jedynek” w słowie danych była tak, aby liczba „jedynek” w słowie danych była parzysta (operacja XOR)parzysta (operacja XOR)

�� Kontrola parzystości pozwala na wykrycie dowolnej Kontrola parzystości pozwala na wykrycie dowolnej nieparzystej liczby błędnych bitów danychnieparzystej liczby błędnych bitów danych

Pamięć operacyjnaPamięć operacyjna

�� Bardziej zaawansowanym mechanizmem kontrolnym Bardziej zaawansowanym mechanizmem kontrolnym są tzw. kody korekcyjne ECC (są tzw. kody korekcyjne ECC (Error Correction CodeError Correction Code) ) bazujące głównie na tzw. kodowaniu Hammingabazujące głównie na tzw. kodowaniu Hamminga

�� Najprostsza wersja kodu Hamminga polega na Najprostsza wersja kodu Hamminga polega na generowaniu bitów parzystości dla odpowiednio generowaniu bitów parzystości dla odpowiednio dobranych grup bitów danychdobranych grup bitów danych

5050

dobranych grup bitów danychdobranych grup bitów danych

�� Przykładowo korekcja jednego bitu w słowie 64Przykładowo korekcja jednego bitu w słowie 64--bitowym wymaga dodatkowych 7 bitów kontrolnychbitowym wymaga dodatkowych 7 bitów kontrolnych

�� Stosowane obecnie 8Stosowane obecnie 8--bitowy kod ECC w modułach bitowy kod ECC w modułach pamięci DIMM pozwala na wykrycie przekłamań pamięci DIMM pozwala na wykrycie przekłamań dowolnych dwóch bitów oraz na korekcję dowolnego dowolnych dwóch bitów oraz na korekcję dowolnego pojedynczego bitu w 64pojedynczego bitu w 64--bitowym słowie danychbitowym słowie danych

Pamięć dyskowa Pamięć dyskowa

�� Nośnikiem w pamięciach dyskowych jest krążek Nośnikiem w pamięciach dyskowych jest krążek (dysk) z tworzywa pokrytego warstwą magnetyczną(dysk) z tworzywa pokrytego warstwą magnetyczną

�� W niewielkiej odległości nad/pod obracającym się W niewielkiej odległości nad/pod obracającym się dyskiem umieszczona jest na ruchomym ramieniu dyskiem umieszczona jest na ruchomym ramieniu głowica odczytującogłowica odczytująco--zapisującazapisująca

�� W trakcie zapisu przepływający przez głowicę prąd W trakcie zapisu przepływający przez głowicę prąd

5151

�� W trakcie zapisu przepływający przez głowicę prąd W trakcie zapisu przepływający przez głowicę prąd elektryczny wytwarza pole magnetyczne trwale elektryczny wytwarza pole magnetyczne trwale namagnesowujące przemieszczający się nad/pod namagnesowujące przemieszczający się nad/pod głowicą nośnikgłowicą nośnik

�� W trakcie odczytu przemieszczający się nad/pod W trakcie odczytu przemieszczający się nad/pod głowicą nośnik wytwarza zmienne pole magnetyczne głowicą nośnik wytwarza zmienne pole magnetyczne wzbudzające w głowicy prąd elektrycznywzbudzające w głowicy prąd elektryczny

Pamięć dyskowaPamięć dyskowa

�� Ruch obrotowy dysku pozwala na dostęp do Ruch obrotowy dysku pozwala na dostęp do informacji zlokalizowanej w dowolnym miejscu informacji zlokalizowanej w dowolnym miejscu koncentrycznego okręgu czyli pierścienia na dyskukoncentrycznego okręgu czyli pierścienia na dysku

�� Dostęp do kolejnej „porcji danych” (kolejnego Dostęp do kolejnej „porcji danych” (kolejnego pierścienia na dysku) wymaga przesunięcia ramienia, pierścienia na dysku) wymaga przesunięcia ramienia, na którym zamocowana jest głowica czyli tzw. na którym zamocowana jest głowica czyli tzw.

5252

na którym zamocowana jest głowica czyli tzw. na którym zamocowana jest głowica czyli tzw. pozycjonowania głowicypozycjonowania głowicy

�� Aby w prawidłowy sposób odtworzyć zapisane dane Aby w prawidłowy sposób odtworzyć zapisane dane (zinterpretować impulsy z głowicy odczytującej) (zinterpretować impulsy z głowicy odczytującej) zapisywana na nośniku informacja użyteczna musi zapisywana na nośniku informacja użyteczna musi zostać „wzbogacona” o informacją synchronizującą zostać „wzbogacona” o informacją synchronizującą wynikającą z przyjętego wynikającą z przyjętego sposobu kodowaniasposobu kodowania

Page 14: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Pamięć dyskowaPamięć dyskowa

�� Przegląd sposobów kodowania informacji:Przegląd sposobów kodowania informacji:

1 0 0 0 0 1 0 1 1

FM

5353

MFM

RLL(2,7)

0 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0

Kody RLL

Pamięć dyskowaPamięć dyskowa

�� Nośnik w pamięci dyskowej (dysk) może być Nośnik w pamięci dyskowej (dysk) może być niewymienny (np. w dysku twardym) lub wymienny niewymienny (np. w dysku twardym) lub wymienny ((removableremovable) (np. w stacji dyskietek)) (np. w stacji dyskietek)

�� Warstwa magnetyczna może być umieszczona po Warstwa magnetyczna może być umieszczona po obu stronach nośnika (dysk dwustronny) lub tylko po obu stronach nośnika (dysk dwustronny) lub tylko po jednej stronie (dysk jednostronny)jednej stronie (dysk jednostronny)

5454

jednej stronie (dysk jednostronny)jednej stronie (dysk jednostronny)

�� W pamięci dyskowej może znajdować się jeden dysk W pamięci dyskowej może znajdować się jeden dysk lub ich większa liczba zamocowana na wspólnej osilub ich większa liczba zamocowana na wspólnej osi

�� Mechanizm głowicy może być kontaktowy, mieć Mechanizm głowicy może być kontaktowy, mieć ustaloną odległość (przerwę) od nośnika lub też ustaloną odległość (przerwę) od nośnika lub też odległość ta może być zmienna w wyniku odległość ta może być zmienna w wyniku oddziaływań aerodynamicznychoddziaływań aerodynamicznych

Pamięć dyskowaPamięć dyskowa

�� Przyjęta konstrukcja pamięci dyskowej powoduje, że Przyjęta konstrukcja pamięci dyskowej powoduje, że dane organizowane są dane organizowane są cylindrycylindry będące zbiorem będące zbiorem koncentrycznych okręgów o tym samym promieniu koncentrycznych okręgów o tym samym promieniu zwanych zwanych ścieżkamiścieżkami, które dzielone są na mniejsze , które dzielone są na mniejsze fragmenty (bloki danych) zwane fragmenty (bloki danych) zwane sektoramisektorami

5555

Cylinder

ŚcieżkaTalerz dysku

Sektor

Pamięć dyskowaPamięć dyskowa

�� Początek każdej ścieżki oznaczony jest:Początek każdej ścieżki oznaczony jest:–– ciągiem bajtów synchronizujących (ciągiem bajtów synchronizujących (SYNCSYNC))

–– znacznikiem adresowym indeksu (znacznikiem adresowym indeksu (IAMIAM))

�� W każdym sektorze można wyszczególnić: W każdym sektorze można wyszczególnić: –– ciąg bajtów synchronizujących (ciąg bajtów synchronizujących (SYNCSYNC))

–– znacznik adresowy (znacznik adresowy (IDAMIDAM))

5656

–– znacznik adresowy (znacznik adresowy (IDAMIDAM))

–– identyfikator (adres) sektora (identyfikator (adres) sektora (IDID))

–– znacznik adresowy danych (znacznik adresowy danych (DAMDAM))

–– blok danych sektorablok danych sektora

–– pola kodu ECC lub CRC (pola kodu ECC lub CRC (Cyclic Redundancy CheckCyclic Redundancy Check))

�� Znacznik początku ścieżki oraz poszczególne sektory Znacznik początku ścieżki oraz poszczególne sektory rozdzielone są od siebie przerwami (rozdzielone są od siebie przerwami (GAPGAP))

Page 15: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Pamięć dyskowaPamięć dyskowa

�� Adres fizyczny sektora na dysku (tzw. adres CHS) Adres fizyczny sektora na dysku (tzw. adres CHS) określają trzy parametry:określają trzy parametry:–– numer cylindra (numer cylindra (CylinderCylinder))

–– numer głowicy (numer głowicy (HeadHead))

–– numer sektora (numer sektora (SectorSector))

�� Czas dostępu do danych na dysku zależy od:Czas dostępu do danych na dysku zależy od:

5757

�� Czas dostępu do danych na dysku zależy od:Czas dostępu do danych na dysku zależy od:–– czasu przeszukiwania (czasu przeszukiwania (seek timeseek time) związanego z ) związanego z

pozycjonowaniem głowicy nad ścieżkąpozycjonowaniem głowicy nad ścieżką

–– czasu opóźnienia obrotowego (czasu opóźnienia obrotowego (rotational latencyrotational latency) ) związanego z przemieszczeniem się głowicy nad sektorzwiązanego z przemieszczeniem się głowicy nad sektor

�� Gęstość zapisu danych na dysku zależy od:Gęstość zapisu danych na dysku zależy od:–– szerokości ścieżkiszerokości ścieżki

–– przyjęty sposób kodowania danychprzyjęty sposób kodowania danych

Pamięć dyskowaPamięć dyskowa

�� W celu poprawy wydajności podsystemu dyskowego, W celu poprawy wydajności podsystemu dyskowego, a w szczególności zwiększenia jego niezawodności i a w szczególności zwiększenia jego niezawodności i szybkości działania stosuje się macierze dyskowe szybkości działania stosuje się macierze dyskowe RAID (RAID (Redundant Array of Independent DisksRedundant Array of Independent Disks))

�� Macierz RAID zbudowana jest z wielu połączonych ze Macierz RAID zbudowana jest z wielu połączonych ze sobą dysków fizycznych, które widoczne są przez sobą dysków fizycznych, które widoczne są przez

5858

sobą dysków fizycznych, które widoczne są przez sobą dysków fizycznych, które widoczne są przez system operacyjny jako jeden dysk logicznysystem operacyjny jako jeden dysk logiczny

�� Dane zapisywane w macierzy rozpraszane są na Dane zapisywane w macierzy rozpraszane są na wiele dysków, co gwarantuje odzyskanie danych w wiele dysków, co gwarantuje odzyskanie danych w przypadku uszkodzenia dyskuprzypadku uszkodzenia dysku

�� W praktyce stosuje się różne poziomy RAID W praktyce stosuje się różne poziomy RAID oznaczane zwykle jako RAID 0 do RAID 5oznaczane zwykle jako RAID 0 do RAID 5

Pamięć dyskowaPamięć dyskowa

�� Poziom RAID 0 (Poziom RAID 0 (stripingstriping))–– dane dzielone są na tzw. paski, które rozmieszczane są dane dzielone są na tzw. paski, które rozmieszczane są

cyklicznie na kolejnych dyskach macierzycyklicznie na kolejnych dyskach macierzy

–– brak redundancji danychbrak redundancji danych

–– duża szybkość odczytu i zapisu danychduża szybkość odczytu i zapisu danych

–– pojemność macierzy jest równa sumie pojemności pojemność macierzy jest równa sumie pojemności

5959

–– pojemność macierzy jest równa sumie pojemności pojemność macierzy jest równa sumie pojemności wszystkich dysków wchodzących w jej składwszystkich dysków wchodzących w jej skład

�� Poziom RAID 1 (Poziom RAID 1 (mirroringmirroring))–– dane są paskowane i następnie odwzorowywane na dwóch dane są paskowane i następnie odwzorowywane na dwóch

odrębnych dyskach fizycznychodrębnych dyskach fizycznych

–– średnia szybkość odczytu, mała szybkość zapisu danychśrednia szybkość odczytu, mała szybkość zapisu danych

–– pojemność macierzy jest równa połowie pojemności pojemność macierzy jest równa połowie pojemności wszystkich dysków wchodzących w jej składwszystkich dysków wchodzących w jej skład

Pamięć dyskowaPamięć dyskowa

�� Poziom RAID 2Poziom RAID 2–– dane są paskowane (na paski o rozmiarze mniejszym niż w dane są paskowane (na paski o rozmiarze mniejszym niż w

RAID 0 i RAID 1) i rozmieszczane cyklicznie na kolejnych RAID 0 i RAID 1) i rozmieszczane cyklicznie na kolejnych dyskach danych macierzydyskach danych macierzy

–– na pozostałych dyskach (tzw. dyskach redundancyjnych) na pozostałych dyskach (tzw. dyskach redundancyjnych) umieszczone zostają informacje korekcyjne, utworzone w umieszczone zostają informacje korekcyjne, utworzone w oparciu o kod Hamminga na podstawie odpowiednich bitów oparciu o kod Hamminga na podstawie odpowiednich bitów

6060

oparciu o kod Hamminga na podstawie odpowiednich bitów oparciu o kod Hamminga na podstawie odpowiednich bitów z każdego dysku danychz każdego dysku danych

–– liczba dysków redundancyjnych jest proporcjonalna do liczba dysków redundancyjnych jest proporcjonalna do logarytmu liczby dysków danychlogarytmu liczby dysków danych

–– duża szybkość odczytu i zapisu (równoległy dostęp do wielu duża szybkość odczytu i zapisu (równoległy dostęp do wielu dysków)dysków)

–– bardzo wysoki kosztbardzo wysoki koszt

Page 16: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Pamięć dyskowaPamięć dyskowa

�� Poziom RAID 3Poziom RAID 3–– dane są paskowane (na paski o podobnym rozmiarze jak w dane są paskowane (na paski o podobnym rozmiarze jak w

RAID 2) i rozmieszczane cyklicznie na kolejnych dyskach RAID 2) i rozmieszczane cyklicznie na kolejnych dyskach danych macierzydanych macierzy

–– na dysku redundancyjnym (tylko jednym niezależnie od na dysku redundancyjnym (tylko jednym niezależnie od rozmiarów macierzy) umieszczone zostają informacje rozmiarów macierzy) umieszczone zostają informacje korekcyjne, utworzone w oparciu o bity parzystości korekcyjne, utworzone w oparciu o bity parzystości

6161

korekcyjne, utworzone w oparciu o bity parzystości korekcyjne, utworzone w oparciu o bity parzystości wyliczone dla odpowiednich bitów z każdego dysku danychwyliczone dla odpowiednich bitów z każdego dysku danych

–– duża szybkość odczytu i zapisu (równoległy dostęp do wielu duża szybkość odczytu i zapisu (równoległy dostęp do wielu dysków)dysków)

�� Poziom RAID 4Poziom RAID 4–– dane są paskowane (na paski o dużym rozmiarze) i dane są paskowane (na paski o dużym rozmiarze) i

rozmieszczane cyklicznie na kolejnych dyskach danych rozmieszczane cyklicznie na kolejnych dyskach danych macierzymacierzy

Pamięć dyskowaPamięć dyskowa

–– na dysku redundancyjnym (tylko jednym niezależnie od na dysku redundancyjnym (tylko jednym niezależnie od rozmiarów macierzy) umieszczone zostają paski informacji rozmiarów macierzy) umieszczone zostają paski informacji korekcyjnych, utworzone w oparciu o bity parzystości korekcyjnych, utworzone w oparciu o bity parzystości wyliczone dla odpowiednich pasków z każdego dysku wyliczone dla odpowiednich pasków z każdego dysku danychdanych

–– dyski działają niezależnie od siebie, co pozwala na obsługę dyski działają niezależnie od siebie, co pozwala na obsługę wielu żądań wejściawielu żądań wejścia--wyjścia równoleglewyjścia równolegle

6262

wielu żądań wejściawielu żądań wejścia--wyjścia równoleglewyjścia równolegle

–– średnia szybkość odczytu, mała szybkość zapisuśrednia szybkość odczytu, mała szybkość zapisu

�� Poziom RAID 5 (Poziom RAID 5 (striping with paritystriping with parity))–– organizacja zbliżona do RAID 4organizacja zbliżona do RAID 4

–– paski parzystości są rozproszone na wszystkie dyski w paski parzystości są rozproszone na wszystkie dyski w macierzymacierzy

–– średnia szybkość odczytu i zapisu, ale lepsza niż w RAID 1średnia szybkość odczytu i zapisu, ale lepsza niż w RAID 1

Pamięć optycznaPamięć optyczna

�� W dyskach CDW dyskach CD--ROM (ROM (Compact Disk ROMCompact Disk ROM) nośnikiem ) nośnikiem jest przeźroczysta warstwa poliwęglanowa z jest przeźroczysta warstwa poliwęglanowa z wytłoczonymi wgłębieniami, która pokryta jest wytłoczonymi wgłębieniami, która pokryta jest cienką warstwą aluminium i zabezpieczona od góry cienką warstwą aluminium i zabezpieczona od góry powłoką lakierupowłoką lakieru

�� Przekrój poprzeczny nośnika CDPrzekrój poprzeczny nośnika CD--ROM:ROM:

6363

�� Przekrój poprzeczny nośnika CDPrzekrój poprzeczny nośnika CD--ROM:ROM:

Warstwa zabezpieczająca

Warstwa aluminiumWarstwa poliwęglanowa

Nadruk

land pit

Pamięć optycznaPamięć optyczna

�� Promień lasera odbijając się od warstwy aluminium Promień lasera odbijając się od warstwy aluminium w obszarze zwanym landem ulega mniejszemu w obszarze zwanym landem ulega mniejszemu rozproszeniu niż odbijając się w obszarze zwanym rozproszeniu niż odbijając się w obszarze zwanym pitempitem

�� Po odbiciu od nośnika promień lasera pada przez Po odbiciu od nośnika promień lasera pada przez półprzepuszczalny pryzmat i układ soczewek na półprzepuszczalny pryzmat i układ soczewek na

6464

półprzepuszczalny pryzmat i układ soczewek na półprzepuszczalny pryzmat i układ soczewek na światłoczułe detektory, których zadaniem jest:światłoczułe detektory, których zadaniem jest:–– przetworzenie zmian natężenia padającego światła na przetworzenie zmian natężenia padającego światła na

sygnał elektryczny (sygnał danych)sygnał elektryczny (sygnał danych)

–– wytworzenie sygnałów sterujących układem ogniskowania wytworzenie sygnałów sterujących układem ogniskowania wiązkiwiązki

–– wytworzenie sygnałów sterujących układem pozycjonowania wytworzenie sygnałów sterujących układem pozycjonowania wiązkiwiązki

Page 17: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Pamięć optycznaPamięć optyczna

�� Podczas odczytu promień lasera przemieszcza się Podczas odczytu promień lasera przemieszcza się nad spiralną ścieżką z szybkością zależną od nad spiralną ścieżką z szybkością zależną od prędkości wirowania płytyprędkości wirowania płyty

�� W praktyce stosuje się dwie metody odczytu danych:W praktyce stosuje się dwie metody odczytu danych:–– ze stałą prędkością liniową CLV (Constant Linear Velocity)ze stałą prędkością liniową CLV (Constant Linear Velocity)

–– ze stałą prędkością kątową CAV (Constant Angular Velocity)ze stałą prędkością kątową CAV (Constant Angular Velocity)

6565

–– ze stałą prędkością kątową CAV (Constant Angular Velocity)ze stałą prędkością kątową CAV (Constant Angular Velocity)

�� Informacje na płycie CDInformacje na płycie CD--ROM kodowane są metodą ROM kodowane są metodą EFM (EFM (Eight to Fourteen ModulationEight to Fourteen Modulation), w której każdy ), w której każdy zapisywany bajt zastępowany jest ciągiem 14 bitów zapisywany bajt zastępowany jest ciągiem 14 bitów dobranym w taki sposób, aby dwie kolejne jedynki dobranym w taki sposób, aby dwie kolejne jedynki były rozdzielone nie mniej niż dwoma i nie więcej niż były rozdzielone nie mniej niż dwoma i nie więcej niż dziesięcioma zerami (co oznacza 2 pity na bajt)dziesięcioma zerami (co oznacza 2 pity na bajt)

Pamięć optycznaPamięć optyczna

�� Dane na płycie CDDane na płycie CD--ROM zorganizowane są fizycznie ROM zorganizowane są fizycznie w ramki o następującej strukturze:w ramki o następującej strukturze:–– ciąg 27 bitów synchronizującychciąg 27 bitów synchronizujących

–– bajt sterującybajt sterujący

–– dwa 16dwa 16--bajtowe bloki (każdy złożony z ciągu 12 bajtów bajtowe bloki (każdy złożony z ciągu 12 bajtów danych i 4 bajtów kontrolnych)danych i 4 bajtów kontrolnych)

6666

danych i 4 bajtów kontrolnych)danych i 4 bajtów kontrolnych)

�� Grupa połączonych 98 ramek tworzy logiczny sektor, Grupa połączonych 98 ramek tworzy logiczny sektor, na który składa się:na który składa się:–– ciąg 12 bajtów synchronizującychciąg 12 bajtów synchronizujących

–– 4 bajtowy nagłówek4 bajtowy nagłówek

–– blok 2048 bajtów danychblok 2048 bajtów danych

–– blok 288 bajtów kontrolnoblok 288 bajtów kontrolno--korekcyjnychkorekcyjnych

Pamięć optycznaPamięć optyczna

�� Pojedynczy sektor zawiera 2048 bajtów danych Pojedynczy sektor zawiera 2048 bajtów danych zapisanych w trybie 1 (z korekcją błędów) lub 2336 zapisanych w trybie 1 (z korekcją błędów) lub 2336 bajtów danych zapisanych w trybie 2 (bez korekcji bajtów danych zapisanych w trybie 2 (bez korekcji błędów)błędów)

�� Bloki bajtów kontrolnoBloki bajtów kontrolno--korekcyjnych połączone z korekcyjnych połączone z odpowiednim rozlokowaniem (przeplotem) kolejnych odpowiednim rozlokowaniem (przeplotem) kolejnych

6767

odpowiednim rozlokowaniem (przeplotem) kolejnych odpowiednim rozlokowaniem (przeplotem) kolejnych ramek umożliwiają korekcję błędów metodą CIRC ramek umożliwiają korekcję błędów metodą CIRC ((CrossCross--Interleave ReedInterleave Reed--Solomon CodingSolomon Coding), która ), która pozwala na skorygowanie ciągu około 450 błędnych pozwala na skorygowanie ciągu około 450 błędnych bajtów danychbajtów danych

�� Typowa płyta CDTypowa płyta CD--ROM o średnicy 12 centymetrów ROM o średnicy 12 centymetrów może pomieścić 650może pomieścić 650--700MB danych700MB danych

Pamięć optycznaPamięć optyczna

�� Poza płytami CDPoza płytami CD--ROM przeznaczonymi wyłącznie do ROM przeznaczonymi wyłącznie do odczytu coraz większe znaczenie mają nośniki odczytu coraz większe znaczenie mają nośniki pozwalające na jednokrotny (CDpozwalające na jednokrotny (CD--R) lub wielokrotny R) lub wielokrotny (CD(CD--RW) zapis danychRW) zapis danych

�� Warstwa poliwęglanowa w tego typu płytach pokryta Warstwa poliwęglanowa w tego typu płytach pokryta jest specjalną substancją, która mętnieje (zmienia jest specjalną substancją, która mętnieje (zmienia

6868

jest specjalną substancją, która mętnieje (zmienia jest specjalną substancją, która mętnieje (zmienia postać z krystalicznej na amorficzną) pod wpływem postać z krystalicznej na amorficzną) pod wpływem naświetlania promieniem laserem o zwiększonej naświetlania promieniem laserem o zwiększonej mocy (co w konsekwencji powoduje zmniejszenie mocy (co w konsekwencji powoduje zmniejszenie natężenia wiązki odbitej w trakcie odczytu)natężenia wiązki odbitej w trakcie odczytu)

�� Substancja stosowana w płytach CDSubstancja stosowana w płytach CD--RW może na RW może na powrót zmienić postać na krystalicznąpowrót zmienić postać na krystaliczną

Page 18: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Pamięć optycznaPamięć optyczna

�� Powszechnie stosowanym rodzajem pamięci Powszechnie stosowanym rodzajem pamięci optycznej o dużej pojemności przeznaczonym do optycznej o dużej pojemności przeznaczonym do odczytu są płyty DVDodczytu są płyty DVD--ROM (ROM (Digital Versatile Disk Digital Versatile Disk ROMROM))

�� Dzięki zastosowaniu lasera o mniejszej długości fali Dzięki zastosowaniu lasera o mniejszej długości fali (co pozwoliło dwukrotnie zwiększyć gęstość zapisu i (co pozwoliło dwukrotnie zwiększyć gęstość zapisu i

6969

(co pozwoliło dwukrotnie zwiększyć gęstość zapisu i (co pozwoliło dwukrotnie zwiększyć gęstość zapisu i zmniejszyć odległości pomiędzy ścieżkami) oraz zmniejszyć odległości pomiędzy ścieżkami) oraz dwuwarstwowej struktury nośnika (pierwsza dwuwarstwowej struktury nośnika (pierwsza warstwa nośnika jest półprzeźroczysta) uzyskano warstwa nośnika jest półprzeźroczysta) uzyskano możliwość zapisania wielokrotnie większej ilości możliwość zapisania wielokrotnie większej ilości informacji niż na płytach CDinformacji niż na płytach CD--ROM, pomimo ROM, pomimo zastosowania nośnika tej samej wielkościzastosowania nośnika tej samej wielkości

Pamięć optycznaPamięć optyczna

�� W trakcie odczytu wiązka lasera jest ogniskowana W trakcie odczytu wiązka lasera jest ogniskowana odpowiednio na pierwszej lub drugiej warstwie odpowiednio na pierwszej lub drugiej warstwie nośnikanośnika

�� Specyfikacja DVDSpecyfikacja DVD--ROM dopuszcza stosowanie płyt:ROM dopuszcza stosowanie płyt:–– jednostronnych jednowarstwowych o pojemności 4.7GBjednostronnych jednowarstwowych o pojemności 4.7GB

–– jednostronnych dwuwarstwowych o pojemności 8.5GBjednostronnych dwuwarstwowych o pojemności 8.5GB

7070

–– jednostronnych dwuwarstwowych o pojemności 8.5GBjednostronnych dwuwarstwowych o pojemności 8.5GB

–– dwustronnych jednowarstwowych o pojemności 9.4GBdwustronnych jednowarstwowych o pojemności 9.4GB

–– dwustronnych dwuwarstwowych o pojemności 17GBdwustronnych dwuwarstwowych o pojemności 17GB

�� Format danych zapisanych na płycie DVDFormat danych zapisanych na płycie DVD--ROM jest ROM jest zbliżony do formatu danych na płycie CDzbliżony do formatu danych na płycie CD--ROM, lecz z ROM, lecz z uwagi na zwiększoną gęstość zapisu został ulepszony uwagi na zwiększoną gęstość zapisu został ulepszony mechanizm korekcji błędówmechanizm korekcji błędów

Pamięć magnetooptycznaPamięć magnetooptyczna

�� Nośnikiem informacji w dyskach magnetooptycznych Nośnikiem informacji w dyskach magnetooptycznych jest materiał, w którym następuje zmiana polaryzacji jest materiał, w którym następuje zmiana polaryzacji światła pod wpływem pola magnetycznegoświatła pod wpływem pola magnetycznego

�� Odczyt danych polega na oświetleniu nośnika wiązką Odczyt danych polega na oświetleniu nośnika wiązką spolaryzowanego światła o odpowiednio dobranej spolaryzowanego światła o odpowiednio dobranej płaszczyźnie polaryzacjipłaszczyźnie polaryzacji

7171

płaszczyźnie polaryzacjipłaszczyźnie polaryzacji

�� Po odbiciu od nośnika płaszczyzna ta ulega skręceniu Po odbiciu od nośnika płaszczyzna ta ulega skręceniu o kąt zależny od stopnia jego namagnesowania, a o kąt zależny od stopnia jego namagnesowania, a następnie przez półprzepuszczalny pryzmat i filtr następnie przez półprzepuszczalny pryzmat i filtr polaryzacyjny (którego zadaniem jest tłumienie polaryzacyjny (którego zadaniem jest tłumienie wiązki odbitej od obszaru nienamagnesowanego) wiązki odbitej od obszaru nienamagnesowanego) trafia na układ detektoratrafia na układ detektora

Pamięć magnetooptycznaPamięć magnetooptyczna

�� Zapis danych polega na wstępnym namagnesowaniu Zapis danych polega na wstępnym namagnesowaniu nośnika, a następnie na jego oświetleniu wiązką nośnika, a następnie na jego oświetleniu wiązką światła laserowego o dużej energii, co powoduje światła laserowego o dużej energii, co powoduje miejscowe podgrzanie nośnika powyżej tzw. punktu miejscowe podgrzanie nośnika powyżej tzw. punktu Curie i w konsekwencji jego rozmagnesowanieCurie i w konsekwencji jego rozmagnesowanie

�� Typowe dyski magnetooptyczne są najczęściej Typowe dyski magnetooptyczne są najczęściej

7272

�� Typowe dyski magnetooptyczne są najczęściej Typowe dyski magnetooptyczne są najczęściej wymienne i mają pojemność rzędu kilkuset MBwymienne i mają pojemność rzędu kilkuset MB

�� Wadą tego typu pamięci jest wysoki koszt zarówno Wadą tego typu pamięci jest wysoki koszt zarówno nośnika jak i samego napędunośnika jak i samego napędu

Page 19: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Interfejs IDE (EIDE)Interfejs IDE (EIDE)

�� Zadaniem interfejsu EIDE (Zadaniem interfejsu EIDE (Enhanced Integrated Enhanced Integrated Device ElectronicsDevice Electronics) będącego rozszerzeniem ) będącego rozszerzeniem interfejsu IDE jest podłączenie do systemu interfejsu IDE jest podłączenie do systemu komputerowego takich urządzeń zewnętrznych jak komputerowego takich urządzeń zewnętrznych jak dyski twarde, napędy optyczne i magnetooptycznedyski twarde, napędy optyczne i magnetooptyczne

�� Cechą charakterystyczną obsługiwanych przez ten Cechą charakterystyczną obsługiwanych przez ten

7373

�� Cechą charakterystyczną obsługiwanych przez ten Cechą charakterystyczną obsługiwanych przez ten interfejs urządzeń jest to, że zintegrowano w nich interfejs urządzeń jest to, że zintegrowano w nich mechanizm napędu wraz z układem sterującym mechanizm napędu wraz z układem sterującym (kontrolerem) odpowiedzialnym m.in. za (kontrolerem) odpowiedzialnym m.in. za pozycjonowanie głowic, kodowanie/dekodowanie pozycjonowanie głowic, kodowanie/dekodowanie sygnału, kontrolę i korekcję błędów, translację sygnału, kontrolę i korekcję błędów, translację adresów oraz przesyłanie danychadresów oraz przesyłanie danych

Interfejs IDE (EIDE)Interfejs IDE (EIDE)

�� Standardy interfejsu IDE (ATStandardy interfejsu IDE (AT--BUS):BUS):–– 1994: Standard ATA1994: Standard ATA--1 (1 (Advanced Technology Attachment, Advanced Technology Attachment,

AT AttachmentAT Attachment))

�� transmisja danych w trybie PIOtransmisja danych w trybie PIO

�� prędkość transmisji do 4 MB/sprędkość transmisji do 4 MB/s

�� obsługa najwyżej dwóch dysków twardychobsługa najwyżej dwóch dysków twardych

7474

�� obsługa najwyżej dwóch dysków twardychobsługa najwyżej dwóch dysków twardych

–– 1996: Standard ATA1996: Standard ATA--22

�� transmisja danych w trybach PIO i DMAtransmisja danych w trybach PIO i DMA

�� prędkość transmisji do 16.6 MB/sprędkość transmisji do 16.6 MB/s

–– 1997: Standard ATA1997: Standard ATA--33

�� system autodiagnostyki S.M.A.R.T (system autodiagnostyki S.M.A.R.T (Self Monitoring, Self Monitoring, Analysis and Reporting TechnologyAnalysis and Reporting Technology))

Interfejs IDE (EIDE)Interfejs IDE (EIDE)

–– 1998: Interfejs EIDE (Fast ATA), standard ATA/ATAPI1998: Interfejs EIDE (Fast ATA), standard ATA/ATAPI--44

�� transmisja danych w trybach PIO, DMA i Ultratransmisja danych w trybach PIO, DMA i Ultra--DMADMA

�� prędkość transmisji do 33 MB/sprędkość transmisji do 33 MB/s

�� interfejs logiczny ATAPI (interfejs logiczny ATAPI (AT Attachment Packet AT Attachment Packet InterfaceInterface) pozwalający na obsługę takich urządzeń jak ) pozwalający na obsługę takich urządzeń jak napędy CDnapędy CD--ROM, streamery itp.ROM, streamery itp.

obsługa do czterech urządzeń zewnętrznychobsługa do czterech urządzeń zewnętrznych

7575

�� obsługa do czterech urządzeń zewnętrznychobsługa do czterech urządzeń zewnętrznych

–– 2000: Standard ATA/ATAPI2000: Standard ATA/ATAPI--5 (Ultra ATA/100)5 (Ultra ATA/100)

�� prędkość transmisji do 100 MB/sprędkość transmisji do 100 MB/s

–– Standard ATA/ATAPIStandard ATA/ATAPI--6 (Ultra ATA/133)6 (Ultra ATA/133)

�� prędkość transmisji do 133 MB/sprędkość transmisji do 133 MB/s

�� 4848--bitowy model adresowania LBAbitowy model adresowania LBA

�� funkcje AAM (funkcje AAM (Automatic Acoustic ManagementAutomatic Acoustic Management))

Interfejs IDE (EIDE)Interfejs IDE (EIDE)

�� Magistrala interfejsu IDE połączona jest z magistralą Magistrala interfejsu IDE połączona jest z magistralą systemową przez kontroler IDE (systemową przez kontroler IDE (IDE HostIDE Host--AdapterAdapter), ), którego zadaniem jest dekodowanie adresu oraz którego zadaniem jest dekodowanie adresu oraz buforowanie sygnałów na magistralachbuforowanie sygnałów na magistralach

�� Standardowy interfejs IDE pozwala na dołączenie do Standardowy interfejs IDE pozwala na dołączenie do kontrolera dwóch urządzeń: nadrzędnego (kontrolera dwóch urządzeń: nadrzędnego (MasterMaster) i ) i

7676

kontrolera dwóch urządzeń: nadrzędnego (kontrolera dwóch urządzeń: nadrzędnego (MasterMaster) i ) i podrzędnego (podrzędnego (SlaveSlave), wykorzystując w tym celu 40), wykorzystując w tym celu 40--, , 5050-- lub 80lub 80--żyłowy przewód o długości do 46 cmżyłowy przewód o długości do 46 cm

�� W przypadku interfejsu EIDE wykorzystuje się dwa W przypadku interfejsu EIDE wykorzystuje się dwa kanały IDE: IDE 0 (kanały IDE: IDE 0 (PrimaryPrimary) oraz IDE 1 () oraz IDE 1 (SecondarySecondary), ), dzięki czemu możliwe jest podłączenie do systemu dzięki czemu możliwe jest podłączenie do systemu czterech urządzeń czterech urządzeń

Page 20: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Interfejs IDE (EIDE)Interfejs IDE (EIDE)

�� Kanały kontrolera EIDE są od siebie całkowicie Kanały kontrolera EIDE są od siebie całkowicie niezależne tzn. do komunikacji z systemem niezależne tzn. do komunikacji z systemem wykorzystują oddzielne przerwania i adresy wejściawykorzystują oddzielne przerwania i adresy wejścia--wyjścia rejestrów kontrolnowyjścia rejestrów kontrolno--sterujących CBR (sterujących CBR (Control Control Block RegistersBlock Registers, , Command Block RegistersCommand Block Registers):):–– IDE 0: IRQ 14, Porty 1F0IDE 0: IRQ 14, Porty 1F0÷÷1F7, 3F61F7, 3F6

7777

–– IDE 0: IRQ 14, Porty 1F0IDE 0: IRQ 14, Porty 1F0÷÷1F7, 3F61F7, 3F6

–– IDE 1: IRQ 15, Porty 170IDE 1: IRQ 15, Porty 170÷÷177, 376177, 376

�� Przesyłanie danych pomiędzy pamięcią operacyjną a Przesyłanie danych pomiędzy pamięcią operacyjną a urządzeniem zewnętrznym może odbywać się w urządzeniem zewnętrznym może odbywać się w trybach:trybach:–– programowanego wejściaprogramowanego wejścia--wyjścia: PIOwyjścia: PIO--0 (3.33 MB/s), PIO0 (3.33 MB/s), PIO--1 1

(5.22 MB/s), PIO(5.22 MB/s), PIO--2 (8.33 MB/s), PIO2 (8.33 MB/s), PIO--3 (11.11 MB/s) lub 3 (11.11 MB/s) lub PIOPIO--4 (16.66 MB/s)4 (16.66 MB/s)

Interfejs IDE (EIDE)Interfejs IDE (EIDE)

–– bezpośredniego dostępu do pamięci:bezpośredniego dostępu do pamięci:

�� Singleword DMA 0 (2.08 MB/s), Singleword DMA 1 (4.16 Singleword DMA 0 (2.08 MB/s), Singleword DMA 1 (4.16 MB/s), Singleword DMA 2 (8.33 MB/s)MB/s), Singleword DMA 2 (8.33 MB/s)

�� Multiword DMA 0 (4.16 MB/s), Multiword DMA 1 (13.33 Multiword DMA 0 (4.16 MB/s), Multiword DMA 1 (13.33 MB/s), Multiword DMA 2 (16.66 MB/s)MB/s), Multiword DMA 2 (16.66 MB/s)

�� Ultra DMA 1 (25.00 MB/s), Ultra DMA 2 (33.33 MB/s), Ultra DMA 1 (25.00 MB/s), Ultra DMA 2 (33.33 MB/s), Ultra DMA 3 (44.44 MB/s), Ultra DMA 4 (66.64 MB/s), Ultra DMA 3 (44.44 MB/s), Ultra DMA 4 (66.64 MB/s),

7878

Ultra DMA 3 (44.44 MB/s), Ultra DMA 4 (66.64 MB/s), Ultra DMA 3 (44.44 MB/s), Ultra DMA 4 (66.64 MB/s), Ultra DMA 5 (99.96 MB/s), Ultra DMA 6 (133.28 MB/s)Ultra DMA 5 (99.96 MB/s), Ultra DMA 6 (133.28 MB/s)

�� Komunikacja z urządzeniami IDE realizowana jest za Komunikacja z urządzeniami IDE realizowana jest za pomocą rozkazów należących do:pomocą rozkazów należących do:–– zbioru podstawowego (zbioru podstawowego (General Feature SetGeneral Feature Set))

–– zbioru rozkazów trybu pakietowego (zbioru rozkazów trybu pakietowego (Packet Command Packet Command Feature SetFeature Set))

Interfejs IDE (EIDE)Interfejs IDE (EIDE)

�� Specyfikacja ATA/ATAPI pozwala na obsługę Specyfikacja ATA/ATAPI pozwala na obsługę urządzeń implementujących podstawowe (urządzeń implementujących podstawowe (Power Power ManagementManagement) lub zaawansowane () lub zaawansowane (Advanced Power Advanced Power ManagementManagement) funkcje zarządzania poborem mocy) funkcje zarządzania poborem mocy

�� Podstawowy mechanizm zarządzania poborem mocy Podstawowy mechanizm zarządzania poborem mocy definiuje cztery możliwe tryby pracy urządzenia:definiuje cztery możliwe tryby pracy urządzenia:

7979

definiuje cztery możliwe tryby pracy urządzenia:definiuje cztery możliwe tryby pracy urządzenia:–– tryb gotowości (tryb gotowości (ActiveActive))

–– tryb jałowy (tryb jałowy (IdleIdle))

–– tryb czuwania (tryb czuwania (StandbyStandby))

–– tryb uśpienia (tryb uśpienia (SleepSleep))

�� W trybie zaawansowanym możliwe jest ustawienie W trybie zaawansowanym możliwe jest ustawienie jednego z 254 możliwych poziomów poboru energiijednego z 254 możliwych poziomów poboru energii

Interfejs IDE (EIDE)Interfejs IDE (EIDE)

�� Urządzenia IDE obsługujące protokół ATAPI mogą Urządzenia IDE obsługujące protokół ATAPI mogą implementować następujące mechanizmy:implementować następujące mechanizmy:–– System zabezpieczeń (Security Mode) chroniący dostęp do System zabezpieczeń (Security Mode) chroniący dostęp do

urządzenia mechanizmem dwóch haseł: administratora urządzenia mechanizmem dwóch haseł: administratora ((master passwordmaster password) i użytkownika () i użytkownika (user passworduser password))

–– System autodiagnostyki S.M.A.R.T (System autodiagnostyki S.M.A.R.T (Self Monitoring, Analysis Self Monitoring, Analysis and Reporting Technologyand Reporting Technology) pozwalający na bieżącą kontrolę ) pozwalający na bieżącą kontrolę

8080

and Reporting Technologyand Reporting Technology) pozwalający na bieżącą kontrolę ) pozwalający na bieżącą kontrolę krytycznych parametrów pracy dysku, co zapewnia wczesne krytycznych parametrów pracy dysku, co zapewnia wczesne wykrywanie problemów i minimalizowanie skutków awariiwykrywanie problemów i minimalizowanie skutków awarii

–– System zarządzania parametrami akustycznymi (System zarządzania parametrami akustycznymi (Automatic Automatic Acoustic ManagementAcoustic Management) pozwalający na wybór „kompromisu” ) pozwalający na wybór „kompromisu” pomiędzy szybkością pracy napędu, a emitowanym przez pomiędzy szybkością pracy napędu, a emitowanym przez niego poziomem hałasuniego poziomem hałasu

Page 21: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Interfejs Serial ATA (SATA)Interfejs Serial ATA (SATA)

�� Interfejs szeregowy Serial ATA służy do podłączenia Interfejs szeregowy Serial ATA służy do podłączenia do systemu komputerowego takiej samej klasy do systemu komputerowego takiej samej klasy urządzeń zewnętrznych jak interfejs EIDEurządzeń zewnętrznych jak interfejs EIDE

�� Cechy interfejsu Serial ATA:Cechy interfejsu Serial ATA:–– przesyłanie danych z szybkością od 1.5 Gb/s (SATA I)przesyłanie danych z szybkością od 1.5 Gb/s (SATA I)

–– programowa zgodność ze standardem ATA/ATAPIprogramowa zgodność ze standardem ATA/ATAPI

8181

–– programowa zgodność ze standardem ATA/ATAPIprogramowa zgodność ze standardem ATA/ATAPI

–– niższy pobór mocy (niższe napięcie magistrali)niższy pobór mocy (niższe napięcie magistrali)

–– topologia gwiazdy (każde urządzenie połączone jest z topologia gwiazdy (każde urządzenie połączone jest z kontrolerem własnym przewodem)kontrolerem własnym przewodem)

–– zwiększona odporność na błędy (transmisja dwukierunkowa zwiększona odporność na błędy (transmisja dwukierunkowa w systemie różnicowym)w systemie różnicowym)

–– możliwość zmiany konfiguracji przyłączonych urządzeń w możliwość zmiany konfiguracji przyłączonych urządzeń w trakcie pracy (trakcie pracy (Hot PluggingHot Plugging))

Interfejs Serial ATA (SATA)Interfejs Serial ATA (SATA)

�� Interfejs SATA wykorzystuje 7Interfejs SATA wykorzystuje 7--żyłowy przewód żyłowy przewód połączeniowy (cztery linii sygnałowe plus trzy linie połączeniowy (cztery linii sygnałowe plus trzy linie masy) o długości mniejszej niż 1mmasy) o długości mniejszej niż 1m

�� Dane fizycznie przesyłane interfejsem Serial ATA Dane fizycznie przesyłane interfejsem Serial ATA zorganizowane są w 32 bitowe słowa, kodowane zorganizowane są w 32 bitowe słowa, kodowane regułą 8b/10b (NRZ), co zapobiega jednostronnej regułą 8b/10b (NRZ), co zapobiega jednostronnej

8282

regułą 8b/10b (NRZ), co zapobiega jednostronnej regułą 8b/10b (NRZ), co zapobiega jednostronnej polaryzacji kablapolaryzacji kabla

�� Wymiana informacji pomiędzy kontrolerem Serial Wymiana informacji pomiędzy kontrolerem Serial ATA i urządzeniem zewnętrznym odbywa się za ATA i urządzeniem zewnętrznym odbywa się za pomocą:pomocą:–– symboli (symboli (PrimitivesPrimitives))

–– ramek FIS (ramek FIS (Frame Information StructureFrame Information Structure))

Interfejs Serial ATA (SATA)Interfejs Serial ATA (SATA)

�� Symbol jest pojedynczym słowem, którego zadaniem Symbol jest pojedynczym słowem, którego zadaniem jest przesłanie:jest przesłanie:–– informacji o stanie magistrali i urządzeniainformacji o stanie magistrali i urządzenia

–– sygnatury oznaczającej początek (SOF) lub koniec (EOF) sygnatury oznaczającej początek (SOF) lub koniec (EOF) przesyłanej ramkiprzesyłanej ramki

–– znaku synchronizującego (SYNC) w stanie spoczynkowym znaku synchronizującego (SYNC) w stanie spoczynkowym

8383

–– znaku synchronizującego (SYNC) w stanie spoczynkowym znaku synchronizującego (SYNC) w stanie spoczynkowym ((IdleIdle) magistrali) magistrali

�� Ramka FIS ma zmienną długość i jest zbudowana z:Ramka FIS ma zmienną długość i jest zbudowana z:–– nagłówka (nagłówka (HeaderHeader) o długości 1 słowa zawierającego m.in. ) o długości 1 słowa zawierającego m.in.

sygnaturę (sygnaturę (FIS TypeFIS Type) i długość ramki) i długość ramki

–– bloku danych użytkowych o długości do 2048 słówbloku danych użytkowych o długości do 2048 słów

–– kodu CRC o długości 1 słowakodu CRC o długości 1 słowa

Interfejs Serial ATA (SATA)Interfejs Serial ATA (SATA)

�� Ramki FIS służą do przesyłania danych użytkowych, Ramki FIS służą do przesyłania danych użytkowych, diagnostycznych i rozkazów programujących rejestry diagnostycznych i rozkazów programujących rejestry trybu pracy SRB (trybu pracy SRB (Shadow Register BlockShadow Register Block))

�� Specyfikacja Serial ATA definiuje symetryczny (z Specyfikacja Serial ATA definiuje symetryczny (z potwierdzeniem) protokół transmisji danych (zestaw potwierdzeniem) protokół transmisji danych (zestaw reguł opisujących proces przesyłania danych), reguł opisujących proces przesyłania danych),

8484

reguł opisujących proces przesyłania danych), reguł opisujących proces przesyłania danych), według którego, każda odebrana ramka wymaga według którego, każda odebrana ramka wymaga przesłania zwrotnie symbolu potwierdzającego przesłania zwrotnie symbolu potwierdzającego poprawny odbiór ramki (ROK) lub sygnalizującego poprawny odbiór ramki (ROK) lub sygnalizującego błąd transmisji (RERR)błąd transmisji (RERR)

�� Transfer danych po magistrali Serial ATA może Transfer danych po magistrali Serial ATA może odbywać się zarówno w trybie PIO, jak i DMAodbywać się zarówno w trybie PIO, jak i DMA

Page 22: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Interfejs Serial ATA (SATA)Interfejs Serial ATA (SATA)

�� Rozwój interfejsu SATA:Rozwój interfejsu SATA:–– SATA I: przepustowość 1.5 Gb/s (ok. 180 MB/s)SATA I: przepustowość 1.5 Gb/s (ok. 180 MB/s)

–– SATA II: przepustowość 3 Gb/s (ok. 375 MB/s), SATA II: przepustowość 3 Gb/s (ok. 375 MB/s), kolejkowanie zadań NCQ (kolejkowanie zadań NCQ (Native Command QueuingNative Command Queuing), ), możliwość przyłączenia wielu urządzeń do jednego portu możliwość przyłączenia wielu urządzeń do jednego portu dzięki powielaczom portów (dzięki powielaczom portów (Port MultipliersPort Multipliers), redundancja ), redundancja połączeń dzięki selektorom portów (połączeń dzięki selektorom portów (Port SelectorsPort Selectors))

8585

połączeń dzięki selektorom portów (połączeń dzięki selektorom portów (Port SelectorsPort Selectors))

–– SATA III: przepustowość 6 Gb/s (ok. 750 MB/s), ulepszony SATA III: przepustowość 6 Gb/s (ok. 750 MB/s), ulepszony mechanizm NCQ, tryb izochorycznego transferu danychmechanizm NCQ, tryb izochorycznego transferu danych

–– eSATA (external SATA): zewnętrzny port SATA 3Gb/s do eSATA (external SATA): zewnętrzny port SATA 3Gb/s do podłączania urządzeń zewnętrznych na odległość do 2 mpodłączania urządzeń zewnętrznych na odległość do 2 m

–– xSATA: rozwinięcie eSATA do transmisji na odległość do xSATA: rozwinięcie eSATA do transmisji na odległość do 8 m8 m

Interfejs SCSIInterfejs SCSI

�� Standard SCSI (Standard SCSI (Small Computer System InterfaceSmall Computer System Interface) ) powstał w 1982 roku dla potrzeb obsługi urządzeń powstał w 1982 roku dla potrzeb obsługi urządzeń zewnętrznych (m.in. dysków twardych, napędów zewnętrznych (m.in. dysków twardych, napędów taśmowych, czytników CDtaśmowych, czytników CD--ROM, skanerów) przez ROM, skanerów) przez minikomputery i wydajne stacje roboczeminikomputery i wydajne stacje robocze

�� Magistrala SCSI została opracowana jako szybka, Magistrala SCSI została opracowana jako szybka,

8686

�� Magistrala SCSI została opracowana jako szybka, Magistrala SCSI została opracowana jako szybka, uniwersalna, elastyczna i niezawodna magistrala uniwersalna, elastyczna i niezawodna magistrala równoległa obsługująca wiele urządzeń (także równoległa obsługująca wiele urządzeń (także różnych producentów) przyłączonych do jednego różnych producentów) przyłączonych do jednego kontrolera i montowanych zarówno wewnątrz, jak i kontrolera i montowanych zarówno wewnątrz, jak i na zewnątrz obudowy komputerana zewnątrz obudowy komputera

Interfejs SCSIInterfejs SCSI

�� Standardy interfejsu SCSI:Standardy interfejsu SCSI:–– Standard SCSIStandard SCSI--1 (1986)1 (1986)

�� magistrala danych o szerokości 8 bitówmagistrala danych o szerokości 8 bitów

�� adresowanie do 8 urządzeńadresowanie do 8 urządzeń

�� prędkość transmisji do 5 MB/sprędkość transmisji do 5 MB/s

�� długość przewodu połączeniowego do 6mdługość przewodu połączeniowego do 6m

8787

�� długość przewodu połączeniowego do 6mdługość przewodu połączeniowego do 6m

–– Standard SCSIStandard SCSI--2 (1990)2 (1990)

�� magistrala danych o szerokości 16 lub 32 bitów (Wide magistrala danych o szerokości 16 lub 32 bitów (Wide SCSI)SCSI)

�� adresowanie do 16 urządzeńadresowanie do 16 urządzeń

�� szybkość transmisji do 10 MB/s (tryb Fast SCSI), 20 szybkość transmisji do 10 MB/s (tryb Fast SCSI), 20 MB/s (tryby Fast Wide SCSI i Ultra SCSI) lub 40 MB/s MB/s (tryby Fast Wide SCSI i Ultra SCSI) lub 40 MB/s (tryby Wide Ultra SCSI i Ultra2 SCSI)(tryby Wide Ultra SCSI i Ultra2 SCSI)

Interfejs SCSIInterfejs SCSI

�� długość przewodu połączeniowego do 25mdługość przewodu połączeniowego do 25m

–– Standard Ultra3 (Ultra160) SCSI , Ultra4 (Ultra320) SCSIStandard Ultra3 (Ultra160) SCSI , Ultra4 (Ultra320) SCSI

�� wykorzystanie obydwu zboczy sygnału taktującego wykorzystanie obydwu zboczy sygnału taktującego pozwala na maksymalny transfer 160 MB/s (320 MB/s)pozwala na maksymalny transfer 160 MB/s (320 MB/s)

�� możliwość korzystania z różnych interfejsów fizycznych możliwość korzystania z różnych interfejsów fizycznych pełna kontrola integralności przesyłanych danych pełna kontrola integralności przesyłanych danych kodami CRC (Ultra320 SCSI)kodami CRC (Ultra320 SCSI)

8888

kodami CRC (Ultra320 SCSI)kodami CRC (Ultra320 SCSI)

�� obsługa protokołu pakietowego (Ultra320 SCSI)obsługa protokołu pakietowego (Ultra320 SCSI)

�� adresowanie do 32 urządzeńadresowanie do 32 urządzeń

�� wprowadzenie protokołu diagnostycznego jakości łączawprowadzenie protokołu diagnostycznego jakości łącza

�� przyspieszenie arbitrażu w dostępie do magistraliprzyspieszenie arbitrażu w dostępie do magistrali

–– Standard Ultra640 SCSIStandard Ultra640 SCSI

�� maksymalny transfer 640 MB/smaksymalny transfer 640 MB/s

Page 23: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Interfejs SCSIInterfejs SCSI

�� Każde urządzenie podłączone do magistrali SCSI ma Każde urządzenie podłączone do magistrali SCSI ma przydzielony unikalny identyfikator ID (liczba z przydzielony unikalny identyfikator ID (liczba z zakresu 0zakresu 0÷÷7 lub 07 lub 0÷÷15) określający adres i priorytet 15) określający adres i priorytet urządzeniaurządzenia

�� Najczęściej urządzeniem o najwyższym priorytecie Najczęściej urządzeniem o najwyższym priorytecie (identyfikatorze) jest kontroler SCSI ((identyfikatorze) jest kontroler SCSI (Host AdapterHost Adapter))

8989

(identyfikatorze) jest kontroler SCSI ((identyfikatorze) jest kontroler SCSI (Host AdapterHost Adapter))

�� Długość przewodu połączeniowego elektrycznej Długość przewodu połączeniowego elektrycznej wersji magistrali SCSI wynosi:wersji magistrali SCSI wynosi:–– do 6m w przypadku magistrali pojedynczej (do 6m w przypadku magistrali pojedynczej (singlesingle--endedended))

–– do 25m w przypadku magistrali różnicowej (do 25m w przypadku magistrali różnicowej (differentialdifferential))

–– do 12m w przypadku magistrali niskonapięciowejdo 12m w przypadku magistrali niskonapięciowej--różnicowej LVD (różnicowej LVD (lowlow--voltage differentialvoltage differential))

Interfejs SCSIInterfejs SCSI

�� Urządzenia do magistrali przyłączone są łańcuchowo Urządzenia do magistrali przyłączone są łańcuchowo (równolegle), przy czym końce magistrali muszą być (równolegle), przy czym końce magistrali muszą być wyposażone w terminatory tj. mostki rezystorowe wyposażone w terminatory tj. mostki rezystorowe zapewniające dopasowanie falowezapewniające dopasowanie falowe

�� Szerokość magistrali SCSI zależy od jej realizacji Szerokość magistrali SCSI zależy od jej realizacji –– w w przypadku jej elektrycznej wersji (SCSIprzypadku jej elektrycznej wersji (SCSI--2) wynosi 2) wynosi

9090

przypadku jej elektrycznej wersji (SCSIprzypadku jej elektrycznej wersji (SCSI--2) wynosi 2) wynosi odpowiednio:odpowiednio:–– 50 linii sygnałowych dla 850 linii sygnałowych dla 8--bitowej magistrali danychbitowej magistrali danych

–– 68 linii sygnałowych dla 1668 linii sygnałowych dla 16--bitowej magistrali danychbitowej magistrali danych

�� Magistrala SCSI pozwala na niezależną komunikację Magistrala SCSI pozwala na niezależną komunikację między różnymi parami dołączonych do niej urządzeń między różnymi parami dołączonych do niej urządzeń w ramach tzw. kanałów logicznychw ramach tzw. kanałów logicznych

Interfejs SCSIInterfejs SCSI

�� Specyfikacja SCSI definiuje protokół wymiany Specyfikacja SCSI definiuje protokół wymiany informacji przez magistralę, obejmujący następujące informacji przez magistralę, obejmujący następujące fazy pracy:fazy pracy:–– Faza wolnej magistrali (Faza wolnej magistrali (Bus FreeBus Free), w której żadne ), w której żadne

urządzenie nie korzysta z magistraliurządzenie nie korzysta z magistrali

–– Faza arbitrażu (Faza arbitrażu (ArbitrationArbitration), w której dokonywany jest ), w której dokonywany jest

9191

–– Faza arbitrażu (Faza arbitrażu (ArbitrationArbitration), w której dokonywany jest ), w której dokonywany jest wybór urządzenia (inicjującego lub docelowego), które wybór urządzenia (inicjującego lub docelowego), które przejmie kontrolę nad magistraląprzejmie kontrolę nad magistralą

–– Faza selekcji (Faza selekcji (SelectionSelection), w której urządzenie inicjujące ), w której urządzenie inicjujące dokonuje wyboru urządzenia docelowego (przesyłając na dokonuje wyboru urządzenia docelowego (przesyłając na magistralę identyfikator swój i urządzenia docelowego)magistralę identyfikator swój i urządzenia docelowego)

–– Faza rozkazowa (Faza rozkazowa (CommandCommand), w której przesyłane są rozkazy ), w której przesyłane są rozkazy do urządzenia docelowegodo urządzenia docelowego

Interfejs SCSIInterfejs SCSI

–– Faza reselekcji (Faza reselekcji (ReselectionReselection), w której następuje nawiązanie ), w której następuje nawiązanie połączenia przez urządzenie docelowe z urządzeniem połączenia przez urządzenie docelowe z urządzeniem inicjującym (faza taka ma miejsce najczęściej po wykonaniu inicjującym (faza taka ma miejsce najczęściej po wykonaniu przez urządzenie docelowe rozkazu, w trakcie wykonania przez urządzenie docelowe rozkazu, w trakcie wykonania którego magistrala była zwolniona)którego magistrala była zwolniona)

–– Faza przesyłania danych (Faza przesyłania danych (DataData), w której następuje ), w której następuje przesyłanie danych między urządzeniamiprzesyłanie danych między urządzeniami

9292

przesyłanie danych między urządzeniamiprzesyłanie danych między urządzeniami

–– Faza przesyłania raportu (Faza przesyłania raportu (StatusStatus), w której przesyłana jest ), w której przesyłana jest informacja o sposobie zakończenia wykonywanej operacjiinformacja o sposobie zakończenia wykonywanej operacji

–– Faza przesyłania wiadomości (Faza przesyłania wiadomości (MessageMessage), w której ), w której przesyłane są (dwukierunkowo) informacje pomocniczeprzesyłane są (dwukierunkowo) informacje pomocnicze

–– Faza zgłaszania przesłania wiadomości (Faza zgłaszania przesłania wiadomości (AttentionAttention), w której ), w której urządzenie inicjujące zgłasza żądanie wysłania wiadomościurządzenie inicjujące zgłasza żądanie wysłania wiadomości

–– Faza zerowania (Faza zerowania (ResetReset), w której następuje zerowanie ), w której następuje zerowanie wszystkich urządzeń na magistraliwszystkich urządzeń na magistrali

Page 24: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Interfejs SCSIInterfejs SCSI

�� Przesyłanie danych magistralą SCSI może odbywać Przesyłanie danych magistralą SCSI może odbywać się w trybie asynchronicznym lub synchronicznymsię w trybie asynchronicznym lub synchronicznym

�� Rozkazy SCSI przesyłane są w tzw. blokach CDB Rozkazy SCSI przesyłane są w tzw. blokach CDB ((Command Data BlockCommand Data Block) o długości 6, 10 lub 12 ) o długości 6, 10 lub 12 bajtów, zawierających odpowiednio:bajtów, zawierających odpowiednio:–– kod operacjikod operacji

9393

–– kod operacjikod operacji

–– parametry rozkazuparametry rozkazu

–– bajt kontrolnybajt kontrolny

�� Urządzenie docelowe wyposażone jest najczęściej w Urządzenie docelowe wyposażone jest najczęściej w kolejkę rozkazów, dzięki której możliwe jest bardziej kolejkę rozkazów, dzięki której możliwe jest bardziej efektywne wykorzystanie magistraliefektywne wykorzystanie magistrali

Interfejs IEEEInterfejs IEEE--12841284

�� Interfejs IEEEInterfejs IEEE--1284 jest standardem przesyłania 1284 jest standardem przesyłania informacji między urządzeniami za pośrednictwem informacji między urządzeniami za pośrednictwem łącza równoległegołącza równoległego

�� Specyfikacja standardu IEEESpecyfikacja standardu IEEE--1284 definiuje pięć 1284 definiuje pięć trybów pracy łącza równoległego:trybów pracy łącza równoległego:–– tryb kompatybilny (tryb kompatybilny (Compability ModeCompability Mode))

9494

–– tryb kompatybilny (tryb kompatybilny (Compability ModeCompability Mode))

–– tryb półbajtowy (tryb półbajtowy (Nibble ModeNibble Mode))

–– tryb bajtowy PS/2 (tryb bajtowy PS/2 (Byte ModeByte Mode))

–– tryb EPP (tryb EPP (Enhanced Parallel PortEnhanced Parallel Port))

–– tryb ECP (tryb ECP (Extended Capabilities PortExtended Capabilities Port))

�� Pierwsze trzy z wymienionych trybów pracy określa Pierwsze trzy z wymienionych trybów pracy określa się także jako tryb SPP (się także jako tryb SPP (Standard Parallel PortStandard Parallel Port))

Interfejs IEEEInterfejs IEEE--12841284

�� Interfejs IEEEInterfejs IEEE--1284 pracujący w trybie SPP 1284 pracujący w trybie SPP wykorzystuje oprócz 8wykorzystuje oprócz 8--bitowej magistrali danych, bitowej magistrali danych, następujące linie sygnałowe:następujące linie sygnałowe:–– wejściowy sygnał błędu drukarki: ERR (wejściowy sygnał błędu drukarki: ERR (ErrorError))

–– wyjściowy sygnał strobujący dane: STR (wyjściowy sygnał strobujący dane: STR (StrobeStrobe))

–– wejściowy sygnał potwierdzenia: ACK (wejściowy sygnał potwierdzenia: ACK (AcknowledgeAcknowledge))

9595

–– wejściowy sygnał potwierdzenia: ACK (wejściowy sygnał potwierdzenia: ACK (AcknowledgeAcknowledge))

–– wejściowy sygnał zajętości: BSY (wejściowy sygnał zajętości: BSY (BusyBusy))

–– wejściowy sygnał braku papieru: PERR (wejściowy sygnał braku papieru: PERR (Paper ErrorPaper Error))

–– wejściowy sygnał gotowości (stanu „wejściowy sygnał gotowości (stanu „onon--lineline”): SEL (”): SEL (SelectSelect))

–– wyjściowy sygnał wysuwu wiersza: ALF (wyjściowy sygnał wysuwu wiersza: ALF (Auto Line FeedAuto Line Feed))

–– wyjściowy sygnał zerowania (inicjowania) drukarki: INI wyjściowy sygnał zerowania (inicjowania) drukarki: INI ((InitializationInitialization))

–– wyjściowy sygnał wyboru drukarki: DSL (wyjściowy sygnał wyboru drukarki: DSL (Device SelectDevice Select))

Interfejs IEEEInterfejs IEEE--12841284

�� Tryb kompatybilny zwany także standardowym lub Tryb kompatybilny zwany także standardowym lub trybem Centronics realizuje jednokierunkową trybem Centronics realizuje jednokierunkową transmisję danych z prędkością do 200 kB/s transmisję danych z prędkością do 200 kB/s

�� Tryb półbajtowy pozwala na dwukierunkową Tryb półbajtowy pozwala na dwukierunkową transmisję danych, w której do odbierania danych transmisję danych, w której do odbierania danych wykorzystuje się linie BSY, ACK, PERR i SEL wykorzystuje się linie BSY, ACK, PERR i SEL

9696

wykorzystuje się linie BSY, ACK, PERR i SEL wykorzystuje się linie BSY, ACK, PERR i SEL połączone z magistralą danych przez multiplekser połączone z magistralą danych przez multiplekser sterowany sygnałem STRsterowany sygnałem STR

�� Tryb bajtowy realizuje dwukierunkową transmisję Tryb bajtowy realizuje dwukierunkową transmisję danych opartą na wykorzystaniu dwukierunkowego danych opartą na wykorzystaniu dwukierunkowego portu danych (portu danych (BiBi--Directional Data PortDirectional Data Port))

Page 25: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Interfejs IEEEInterfejs IEEE--12841284

�� Dostęp do łącza równoległego pracującego w trybie Dostęp do łącza równoległego pracującego w trybie SPP odbywa się za pośrednictwem:SPP odbywa się za pośrednictwem:–– rejestru danych (rejestru danych (Data RegisterData Register), umożliwiającego ), umożliwiającego

zapis/odczyt danych z magistrali danych interfejsuzapis/odczyt danych z magistrali danych interfejsu

–– rejestru stanu (rejestru stanu (Status RegisterStatus Register), pozwalającego m.in. na ), pozwalającego m.in. na odczyt stanu linii BSY, ACK, PERR, SEL i ERRodczyt stanu linii BSY, ACK, PERR, SEL i ERR

9797

–– rejestru sterującego (rejestru sterującego (Control RegisterControl Register), pozwalającego m.in. ), pozwalającego m.in. na aktywowanie dwukierunkowej pracy portu danych oraz na aktywowanie dwukierunkowej pracy portu danych oraz na ustawianie stanu linii DSL, INI, ALF i STRna ustawianie stanu linii DSL, INI, ALF i STR

�� Implementacja protokołów transmisji danych w Implementacja protokołów transmisji danych w trybach SPP (polegająca m.in. na wytworzeniu trybach SPP (polegająca m.in. na wytworzeniu właściwych sekwencji sygnałów sterujących) musi właściwych sekwencji sygnałów sterujących) musi być zrealizowana programowobyć zrealizowana programowo

Interfejs IEEEInterfejs IEEE--12841284

�� Tryb EPP pozwala na realizację dwukierunkowej Tryb EPP pozwala na realizację dwukierunkowej transmisji danych z prędkością do 2 MB/stransmisji danych z prędkością do 2 MB/s

�� Protokół wymiany danych w trybie EPP wykorzystuje Protokół wymiany danych w trybie EPP wykorzystuje następujące linie sygnałowe:następujące linie sygnałowe:–– sygnał kierunku transmisji: WRITE (linia STR trybu SPP)sygnał kierunku transmisji: WRITE (linia STR trybu SPP)

–– sygnał wyzwolenia przerwania: INTERRUPT (linia ACK trybu sygnał wyzwolenia przerwania: INTERRUPT (linia ACK trybu

9898

–– sygnał wyzwolenia przerwania: INTERRUPT (linia ACK trybu sygnał wyzwolenia przerwania: INTERRUPT (linia ACK trybu SPP)SPP)

–– sygnał zakończenia cyklu EPP: WAIT (linia BSY trybu SPP)sygnał zakończenia cyklu EPP: WAIT (linia BSY trybu SPP)

–– sygnał strobujący dane: DATA STROBE (linia ALF trybu SPP)sygnał strobujący dane: DATA STROBE (linia ALF trybu SPP)

–– sygnał strobujący adres: ADDR STROBE (linia DSL trybu sygnał strobujący adres: ADDR STROBE (linia DSL trybu SPP)SPP)

–– sygnał zerowania (inicjowania): RESET (linia INI trybu SPP)sygnał zerowania (inicjowania): RESET (linia INI trybu SPP)

Interfejs IEEEInterfejs IEEE--12841284

�� Dostęp do łącza równoległego pracującego w trybie Dostęp do łącza równoległego pracującego w trybie EPP odbywa się za pośrednictwem zestawu rejestrów EPP odbywa się za pośrednictwem zestawu rejestrów SPP, rozszerzonego o:SPP, rozszerzonego o:–– dwukierunkowy rejestr danych (dwukierunkowy rejestr danych (Data RegisterData Register))

–– dwukierunkowy rejestr adresowy (dwukierunkowy rejestr adresowy (Address RegisterAddress Register))

�� Wytworzenie właściwych sekwencji sygnałów Wytworzenie właściwych sekwencji sygnałów

9999

�� Wytworzenie właściwych sekwencji sygnałów Wytworzenie właściwych sekwencji sygnałów sterujących związanych z realizacją protokołu sterujących związanych z realizacją protokołu transmisji danych w trybie EPP realizowane jest transmisji danych w trybie EPP realizowane jest automatycznie przez kontroler łącza równoległegoautomatycznie przez kontroler łącza równoległego

�� Transmisję danych i/lub adresów realizuje się przez Transmisję danych i/lub adresów realizuje się przez ich bezpośrednie wpisanie do odpowiednich ich bezpośrednie wpisanie do odpowiednich rejestrów EPPrejestrów EPP

Interfejs IEEEInterfejs IEEE--12841284

�� Tryb ECP pozwala na realizację dwukierunkowej Tryb ECP pozwala na realizację dwukierunkowej transmisji danych z prędkością do 2 MB/stransmisji danych z prędkością do 2 MB/s

�� Protokół wymiany danych w trybie ECP wykorzystuje Protokół wymiany danych w trybie ECP wykorzystuje m.in. następujące linie sygnałowe:m.in. następujące linie sygnałowe:–– sygnał zegarowy: HostCLK (linia STR trybu SPP)sygnał zegarowy: HostCLK (linia STR trybu SPP)

–– sygnał zegarowy: PeriphCLK (linia ACK trybu SPP)sygnał zegarowy: PeriphCLK (linia ACK trybu SPP)

100100

–– sygnał zegarowy: PeriphCLK (linia ACK trybu SPP)sygnał zegarowy: PeriphCLK (linia ACK trybu SPP)

–– sygnał sterujący przesyłaniem danych/rozkazów: PeriphACK sygnał sterujący przesyłaniem danych/rozkazów: PeriphACK (linia BSY trybu SPP)(linia BSY trybu SPP)

–– sygnał sterujący przesyłaniem danych/rozkazów: HostACK sygnał sterujący przesyłaniem danych/rozkazów: HostACK (linia ALF trybu SPP)(linia ALF trybu SPP)

–– sygnały zmiany kierunku transmisji: RevREQ (linia INI trybu sygnały zmiany kierunku transmisji: RevREQ (linia INI trybu SPP) oraz AckREV (linia PERR trybu SPP)SPP) oraz AckREV (linia PERR trybu SPP)

Page 26: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Interfejs IEEEInterfejs IEEE--12841284

�� Tryb ECP pozwala na korzystanie z:Tryb ECP pozwala na korzystanie z:–– przesyłania danych z kontrolera w trybie DMAprzesyłania danych z kontrolera w trybie DMA

–– dodatkowego (najczęściej 16dodatkowego (najczęściej 16--stopniowego) rejestru stopniowego) rejestru buforowanego FIFObuforowanego FIFO

–– kompresji przesyłanych danych algorytmem RLE (kompresji przesyłanych danych algorytmem RLE (Run Run Length EncodingLength Encoding))

101101

–– definiowania i adresowania do 128 kanałów logicznychdefiniowania i adresowania do 128 kanałów logicznych

�� Dostęp do łącza równoległego pracującego w trybie Dostęp do łącza równoległego pracującego w trybie ECP odbywa się za pośrednictwem zestawu rejestrów ECP odbywa się za pośrednictwem zestawu rejestrów SPP, rozszerzonego m.in. o:SPP, rozszerzonego m.in. o:–– rejestr adresowy FIFO (rejestr adresowy FIFO (ECP Address FIFOECP Address FIFO))

–– rejestry danych FIFO (rejestry danych FIFO (Data FIFOData FIFO))

–– rejestr sterujący ECR (rejestr sterujący ECR (Extended Control RegisterExtended Control Register))

Interfejs IEEEInterfejs IEEE--12841284

�� Wytworzenie właściwych sekwencji sygnałów Wytworzenie właściwych sekwencji sygnałów sterujących związanych z realizacją protokołu sterujących związanych z realizacją protokołu transmisji danych w trybie ECP realizowane jest transmisji danych w trybie ECP realizowane jest automatycznie przez kontroler łącza równoległegoautomatycznie przez kontroler łącza równoległego

�� Interfejs IEEEInterfejs IEEE--1284 korzysta z poziomów logicznych 1284 korzysta z poziomów logicznych

102102

�� Interfejs IEEEInterfejs IEEE--1284 korzysta z poziomów logicznych 1284 korzysta z poziomów logicznych TTL, a długość kabla połączeniowego (niezależnie od TTL, a długość kabla połączeniowego (niezależnie od trybu pracy) nie powinna przekraczać 5 mtrybu pracy) nie powinna przekraczać 5 m

�� Gniazdo przyłączeniowe interfejsu IEEEGniazdo przyłączeniowe interfejsu IEEE--1284 może 1284 może mieć 25 pinów (DBmieć 25 pinów (DB––25) lub 36 pinów (Centronics)25) lub 36 pinów (Centronics)

Interfejs RSInterfejs RS--232C232C

�� Interfejs RSInterfejs RS--232C (V24) jest standardem przesyłania 232C (V24) jest standardem przesyłania informacji między dwoma urządzeniami za informacji między dwoma urządzeniami za pośrednictwem asynchronicznego łącza szeregowegopośrednictwem asynchronicznego łącza szeregowego

�� Dane przesyłane tego typu łączem są zorganizowane Dane przesyłane tego typu łączem są zorganizowane w ramki SDU (w ramki SDU (Serial Data UnitSerial Data Unit), składające się z:), składające się z:–– znacznika początku ramki (bitu startu o wartości 0)znacznika początku ramki (bitu startu o wartości 0)

103103

–– znacznika początku ramki (bitu startu o wartości 0)znacznika początku ramki (bitu startu o wartości 0)

–– 5, 6, 7 lub 8 bitów danych5, 6, 7 lub 8 bitów danych

–– opcjonalnego bitu kontroli parzystościopcjonalnego bitu kontroli parzystości

–– znacznika końca ramki (1, 1znacznika końca ramki (1, 1½½ lub 2 bity stopu o wartości 1)lub 2 bity stopu o wartości 1)

�� Przed nawiązaniem połączenia oba urządzenia muszą Przed nawiązaniem połączenia oba urządzenia muszą mieć ustawione takie same parametry transmisji tj. mieć ustawione takie same parametry transmisji tj. częstotliwość taktowania i format ramkiczęstotliwość taktowania i format ramki

Interfejs RSInterfejs RS--232C232C

�� Odbiornik w celu zsynchronizowania swojego zegara Odbiornik w celu zsynchronizowania swojego zegara z zegarem nadajnika próbkuje stan linii odbiorczej z z zegarem nadajnika próbkuje stan linii odbiorczej z częstotliwością wielokrotnie wyższą od częstotliwości częstotliwością wielokrotnie wyższą od częstotliwości z jaką przesyłane są danez jaką przesyłane są dane

�� Przekształcaniem danych z postaci równoległej na Przekształcaniem danych z postaci równoległej na szeregową i odwrotnie zajmuje się układ UART szeregową i odwrotnie zajmuje się układ UART

104104

szeregową i odwrotnie zajmuje się układ UART szeregową i odwrotnie zajmuje się układ UART ((Universal Asynchronous ReceiverUniversal Asynchronous Receiver--TransmitterTransmitter))

�� Transmisja danych może odbywać się z maksymalną Transmisja danych może odbywać się z maksymalną prędkością 56 kb/s (UART 8250) lub 115200 kb/s prędkością 56 kb/s (UART 8250) lub 115200 kb/s (UART 16450) w trybie:(UART 16450) w trybie:–– jednokierunkowym (simpleksowym)jednokierunkowym (simpleksowym)

–– dwukierunkowym (półdupleksowym i dupleksowym)dwukierunkowym (półdupleksowym i dupleksowym)

Page 27: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Interfejs RSInterfejs RS--232C232C

�� Standard RSStandard RS--232C definiuje protokół przesyłania 232C definiuje protokół przesyłania danych między terminalem DTE (danych między terminalem DTE (Data Terminal Data Terminal EquipmentEquipment) i modemem DCE () i modemem DCE (Data Communication Data Communication EquipmentEquipment), wykorzystujący następujące linie ), wykorzystujący następujące linie sygnałowe:sygnałowe:–– dane wysyłane: TxD (Transmitted Data)dane wysyłane: TxD (Transmitted Data)

105105

–– dane wysyłane: TxD (Transmitted Data)dane wysyłane: TxD (Transmitted Data)

–– dane odbierane: RxD (dane odbierane: RxD (Received DataReceived Data))

–– żądanie rozpoczęcia nadawania: RTS (żądanie rozpoczęcia nadawania: RTS (Request To SendRequest To Send))

–– potwierdzenie sygnału RTS (zgłoszenie gotowości odbioru potwierdzenie sygnału RTS (zgłoszenie gotowości odbioru danych z terminala): CTS (danych z terminala): CTS (Clear To SendClear To Send))

–– gotowość modemu na przyjęcie danych: DSR (gotowość modemu na przyjęcie danych: DSR (Data Set Data Set ReadyReady))

–– gotowość terminala: DTR (gotowość terminala: DTR (DataTerminal ReadyDataTerminal Ready))

Interfejs RSInterfejs RS--232C232C

–– odbiór fali nośnej: DCD (odbiór fali nośnej: DCD (Data Carrier DetectData Carrier Detect))

–– sygnał wywołania abonenta: RI (sygnał wywołania abonenta: RI (Ring IndicatorRing Indicator))

�� Para sygnałów RTS/CTS jest odpowiedzialna za Para sygnałów RTS/CTS jest odpowiedzialna za sterowanie przepływem danych (oraz za sterowanie sterowanie przepływem danych (oraz za sterowanie kierunkiem transmisji w trybie półdupleksowym)kierunkiem transmisji w trybie półdupleksowym)

�� Para sygnałów gotowości DTR/DSR odpowiada za Para sygnałów gotowości DTR/DSR odpowiada za

106106

�� Para sygnałów gotowości DTR/DSR odpowiada za Para sygnałów gotowości DTR/DSR odpowiada za utrzymanie nawiązanego połączeniautrzymanie nawiązanego połączenia

�� Interfejs RSInterfejs RS--232C do reprezentowania stanów 232C do reprezentowania stanów logicznych wykorzystuje napięcia z zakresu od logicznych wykorzystuje napięcia z zakresu od --15 do 15 do +15 V (poziom logiczny „0” odpowiada napięciu na +15 V (poziom logiczny „0” odpowiada napięciu na linii sygnałowej od +3 do +15 V, natomiast poziom linii sygnałowej od +3 do +15 V, natomiast poziom logiczny „1” odpowiada napięciu od logiczny „1” odpowiada napięciu od --3 do 3 do --15 V)15 V)

Interfejs RSInterfejs RS--232C232C

�� Typowe gniazdo przyłączające interfejsu RSTypowe gniazdo przyłączające interfejsu RS--232C 232C ma 25 (DBma 25 (DB––25) lub 9 pinów (DB25) lub 9 pinów (DB––9)9)

�� Maksymalna odległość między nadajnikiem i Maksymalna odległość między nadajnikiem i odbiornikiem nie przekracza 200 modbiornikiem nie przekracza 200 m

�� Istnieje możliwość wymiany danych pomiędzy Istnieje możliwość wymiany danych pomiędzy dwoma urządzeniami typu DTE połączonych tzw. dwoma urządzeniami typu DTE połączonych tzw.

107107

dwoma urządzeniami typu DTE połączonych tzw. dwoma urządzeniami typu DTE połączonych tzw. kablem modemu zerowego (kablem modemu zerowego (null modem cablenull modem cable))

�� Obsługa łącza szeregowego może być realizowana Obsługa łącza szeregowego może być realizowana przez:przez:–– przerwania zgłaszane przez układ UARTprzerwania zgłaszane przez układ UART

–– okresowe testowanie przez procesor rejestru stanu okresowe testowanie przez procesor rejestru stanu transmisji układu UARTtransmisji układu UART

Magistrala USBMagistrala USB

�� Magistrala USB (Magistrala USB (Universal Serial BusUniversal Serial Bus) jest ) jest standardem łącza szeregowego przeznaczonym do standardem łącza szeregowego przeznaczonym do podłączania szerokiej gamy urządzeń peryferyjnychpodłączania szerokiej gamy urządzeń peryferyjnych

�� Cechy magistrali USB:Cechy magistrali USB:–– prędkość transmisji: 1.5 Mb/s (prędkość transmisji: 1.5 Mb/s (Low SpeedLow Speed), 12 Mb/s (), 12 Mb/s (Full Full

SpeedSpeed), 480 Mb/s (), 480 Mb/s (High SpeedHigh Speed) lub 4.8 Gb/s () lub 4.8 Gb/s (Super SpeedSuper Speed))

108108

SpeedSpeed), 480 Mb/s (), 480 Mb/s (High SpeedHigh Speed) lub 4.8 Gb/s () lub 4.8 Gb/s (Super SpeedSuper Speed))

–– obsługa przez jeden kontroler (obsługa przez jeden kontroler (Host AdapterHost Adapter) do 127 ) do 127 urządzeń USBurządzeń USB

–– topologia połączeń typu gwiazda (o maksymalnie siedmiu topologia połączeń typu gwiazda (o maksymalnie siedmiu poziomach) realizowana przez koncentratory USB (poziomach) realizowana przez koncentratory USB (HubHub))

–– maksymalna długość kabla połączeniowego wynosi 5 m maksymalna długość kabla połączeniowego wynosi 5 m (maksymalna odległość między urządzeniem i kontrolerem (maksymalna odległość między urządzeniem i kontrolerem nie może przekroczyć 35 m)nie może przekroczyć 35 m)

Page 28: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Magistrala USBMagistrala USB

–– możliwość zmiany konfiguracji podłączonych urządzeń w możliwość zmiany konfiguracji podłączonych urządzeń w trakcie pracy (trakcie pracy (HotHot--PluggingPlugging))

–– automatyczny przydział identyfikatorów (adresów) do automatyczny przydział identyfikatorów (adresów) do urządzeń (urządzeń (AutoAuto--IDID))

–– możliwość zasilania podłączonych urządzeń kablem USB możliwość zasilania podłączonych urządzeń kablem USB (obciążenie do 500 mA dla USB 2.0, 900mA dla USB 3.0)(obciążenie do 500 mA dla USB 2.0, 900mA dla USB 3.0)

Dane kodowane metodą NRZI (Dane kodowane metodą NRZI (Non Return to Zero Non Return to Zero

109109

�� Dane kodowane metodą NRZI (Dane kodowane metodą NRZI (Non Return to Zero Non Return to Zero InvertInvert) przesyłane są parą przewodów sygnałowych: ) przesyłane są parą przewodów sygnałowych: D+ i DD+ i D-- w sposób różnicowy (napięcie od 0 do 3.6 V)w sposób różnicowy (napięcie od 0 do 3.6 V)

�� Kabel połączeniowy magistrali USB to czterożyłowa Kabel połączeniowy magistrali USB to czterożyłowa skrętka (w USB 3.0 skrętka (w USB 3.0 –– ośmiożyłowa) zakończona ośmiożyłowa) zakończona złączami standardowymi (płaskim złączami standardowymi (płaskim -- A i kwadratowym A i kwadratowym -- B) lub złączami miniaturowymi (mini, micro)B) lub złączami miniaturowymi (mini, micro)

Magistrala USBMagistrala USB

�� Wymiana informacji magistralą USB odbywa się w Wymiana informacji magistralą USB odbywa się w pakietach przez wirtualne kanały przesyłowe (pakietach przez wirtualne kanały przesyłowe (PipesPipes) ) tworzone na żądanie przez kontroler USBtworzone na żądanie przez kontroler USB

�� Każdy kanał przesyłowy może wykorzystywać jeden Każdy kanał przesyłowy może wykorzystywać jeden z czterech trybów transmisji:z czterech trybów transmisji:–– tryb asynchronicznych nie gwarantujący określonej tryb asynchronicznych nie gwarantujący określonej

110110

–– tryb asynchronicznych nie gwarantujący określonej tryb asynchronicznych nie gwarantujący określonej przepustowości (przepustowości (Bulk TransferBulk Transfer), który przeznaczony jest do ), który przeznaczony jest do obsługi podstawowych urządzeń zewnętrznych (np. obsługi podstawowych urządzeń zewnętrznych (np. drukarka, skaner)drukarka, skaner)

–– tryb synchroniczny o gwarantowanej szerokości pasma tryb synchroniczny o gwarantowanej szerokości pasma ((Isochnonous TransferIsochnonous Transfer), który przeznaczony jest do obsługi ), który przeznaczony jest do obsługi urządzeń przesyłających duże porcje danych z określoną urządzeń przesyłających duże porcje danych z określoną prędkością (np. kamera)prędkością (np. kamera)

Magistrala USBMagistrala USB

–– tryb natychmiastowy (tryb natychmiastowy (Interrupt TransferInterrupt Transfer), który ), który przeznaczony jest do obsługi urządzeń asynchronicznych przeznaczony jest do obsługi urządzeń asynchronicznych przesyłających niewielkie porcje danych (np. myszka, przesyłających niewielkie porcje danych (np. myszka, klawiatura)klawiatura)

–– tryb sterujący (tryb sterujący (Control TransferControl Transfer), który przeznaczony jest do ), który przeznaczony jest do konfigurowania nowo podłączonych do magistrali urządzeńkonfigurowania nowo podłączonych do magistrali urządzeń

�� Wszystkie przesyłane magistralą USB dane Wszystkie przesyłane magistralą USB dane

111111

�� Wszystkie przesyłane magistralą USB dane Wszystkie przesyłane magistralą USB dane transmitowane są w kolejności od najmłodszego do transmitowane są w kolejności od najmłodszego do najstarszego bitu (bajta)najstarszego bitu (bajta)

�� Każdy przesyłany pakiet rozpoczyna się 8 lub 32Każdy przesyłany pakiet rozpoczyna się 8 lub 32--bitową sekwencją synchronizującą (bitową sekwencją synchronizującą (SYNCSYNC), po której ), po której przekazywany jest 8przekazywany jest 8--bitowy identyfikator pakietu bitowy identyfikator pakietu ((PIDPID) określający m.in. rodzaj pakietu) określający m.in. rodzaj pakietu

Magistrala USBMagistrala USB

�� Specyfikacja USB definiuje następujące rodzaje Specyfikacja USB definiuje następujące rodzaje pakietów:pakietów:–– żeton (żeton (TokenToken) służący do określania adresu urządzenia USB ) służący do określania adresu urządzenia USB

(7 bitów ADDR + 4 bity ENDP), kierunku przepływu (7 bitów ADDR + 4 bity ENDP), kierunku przepływu pakietów danych oraz testowania aktywności urządzeniapakietów danych oraz testowania aktywności urządzenia

–– pakiet danych (pakiet danych (DataData) służący do przesyłania danych w ) służący do przesyłania danych w blokach o długości 0blokach o długości 0÷÷1024 bajtów zabezpieczonych 161024 bajtów zabezpieczonych 16--

112112

blokach o długości 0blokach o długości 0÷÷1024 bajtów zabezpieczonych 161024 bajtów zabezpieczonych 16--bitowym kodem CRCbitowym kodem CRC

–– pakiet potwierdzający (pakiet potwierdzający (HandshakeHandshake) służący do przekazania ) służący do przekazania raportu o przesłanych pakietach danych czy informacji o raportu o przesłanych pakietach danych czy informacji o aktywności urządzeniaaktywności urządzenia

–– pakiet specjalny (pakiet specjalny (SpecialSpecial) służący do sterowania ) służący do sterowania przepływem danych w magistrali, do której podłączone są przepływem danych w magistrali, do której podłączone są urządzenia o różnej prędkości transmisjiurządzenia o różnej prędkości transmisji

Page 29: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Magistrala FireWireMagistrala FireWire

�� Magistrala FireWire (i.Link, IEEEMagistrala FireWire (i.Link, IEEE--1394) jest odmianą 1394) jest odmianą łącza szeregowego służącą do podłączania szerokiej łącza szeregowego służącą do podłączania szerokiej gamy urządzeń peryferyjnych (przede wszystkim gamy urządzeń peryferyjnych (przede wszystkim audiowizualnych)audiowizualnych)

�� Cechy magistrali FireWire:Cechy magistrali FireWire:–– transmisja w trybie asynchronicznym z prędkością 100 Mb/s transmisja w trybie asynchronicznym z prędkością 100 Mb/s

113113

–– transmisja w trybie asynchronicznym z prędkością 100 Mb/s transmisja w trybie asynchronicznym z prędkością 100 Mb/s (S100), 200 Mb/s (S200) lub 400 Mb/s (S400)(S100), 200 Mb/s (S200) lub 400 Mb/s (S400)

–– negocjowana minimalna gwarantowana przepustowość negocjowana minimalna gwarantowana przepustowość pasma (pasma (Guaranteed BandwidthGuaranteed Bandwidth))

–– automatyczny przydział numerów (adresów) do urządzeń automatyczny przydział numerów (adresów) do urządzeń ((AutoAuto--IDID))

–– możliwość zmiany konfiguracji podłączonych urządzeń w możliwość zmiany konfiguracji podłączonych urządzeń w trakcie pracy (trakcie pracy (HotHot--PluggingPlugging))

Magistrala FireWireMagistrala FireWire

–– automatyczne dopasowywanie końców magistrali automatyczne dopasowywanie końców magistrali impedancją falowąimpedancją falową

–– fizyczna topologia połączeń typu drzewo (logiczna fizyczna topologia połączeń typu drzewo (logiczna magistrala) złożona z kaskadowo połączonych łańcuchów magistrala) złożona z kaskadowo połączonych łańcuchów (drzew) węzłów ((drzew) węzłów (NodesNodes) spajanych pomostami () spajanych pomostami (BridgesBridges))

–– maksymalna głębokość pojedynczego drzewa wynosi 16maksymalna głębokość pojedynczego drzewa wynosi 16

–– 1616--bitowe adresowanie węzłów (pojedynczy pomost bitowe adresowanie węzłów (pojedynczy pomost

114114

–– 1616--bitowe adresowanie węzłów (pojedynczy pomost bitowe adresowanie węzłów (pojedynczy pomost pozwala na dołączenie do 63 węzłów)pozwala na dołączenie do 63 węzłów)

–– 1010--bitowe adresowanie pomostówbitowe adresowanie pomostów

–– maksymalna długość kabla połączeniowego wynosi 4.5 m maksymalna długość kabla połączeniowego wynosi 4.5 m (maksymalna odległość między urządzeniem i kontrolerem (maksymalna odległość między urządzeniem i kontrolerem nie może przekroczyć 72 m)nie może przekroczyć 72 m)

–– możliwość zasilania urządzeń izolowanych (maksymalne możliwość zasilania urządzeń izolowanych (maksymalne obciążenie do 1.5 A)obciążenie do 1.5 A)

Magistrala FireWireMagistrala FireWire

�� Sześciożyłowy kabel połączeniowy magistrali Sześciożyłowy kabel połączeniowy magistrali FireWire (2 pary ekranowanej skrętki + 2 linie FireWire (2 pary ekranowanej skrętki + 2 linie zasilające) zakończony jest jednym z dwóch typów zasilające) zakończony jest jednym z dwóch typów gniazd: 6 (1394gniazd: 6 (1394--1995) lub 4 pinowym (1394a1995) lub 4 pinowym (1394a--2000)2000)

�� Pierwsza para skrętek służy do przesyłania Pierwsza para skrętek służy do przesyłania strumienia danych, druga do przesyłania impulsów strumienia danych, druga do przesyłania impulsów

115115

strumienia danych, druga do przesyłania impulsów strumienia danych, druga do przesyłania impulsów synchronizujących (transmisja typu simplex)synchronizujących (transmisja typu simplex)

�� Wymiana danych odbywa się poprzez kanały Wymiana danych odbywa się poprzez kanały wirtualne służące zarówno do realizacji klasycznej wirtualne służące zarówno do realizacji klasycznej transmisji asynchronicznej jak i transmisji z transmisji asynchronicznej jak i transmisji z gwarantowaną szerokością pasma (gwarantowaną szerokością pasma (Isochronous Data Isochronous Data TransportTransport))

Magistrala FireWireMagistrala FireWire

�� Najnowsza wersja standardu IEEENajnowsza wersja standardu IEEE--1394b wprowadza 1394b wprowadza następujące rozszerzenia:następujące rozszerzenia:–– tryby prędkości transmisji: 400 Mb/s, 800 Mb/s, 1600 Mb/s i tryby prędkości transmisji: 400 Mb/s, 800 Mb/s, 1600 Mb/s i

3200 Mb/s 3200 Mb/s

–– kodowania danych regułą 8/10, co pozwala na równoczesne kodowania danych regułą 8/10, co pozwala na równoczesne korzystanie z obu par skrętek sygnałowych do transmisji korzystanie z obu par skrętek sygnałowych do transmisji danychdanych

116116

danychdanych

–– zwiększenie maksymalnej długości kabla połączeniowego do zwiększenie maksymalnej długości kabla połączeniowego do 100 m wykorzystując okablowanie strukturalne kat. 5100 m wykorzystując okablowanie strukturalne kat. 5

–– możliwość realizacji połączeń na bazie innych mediów (np. możliwość realizacji połączeń na bazie innych mediów (np. światłowodu)światłowodu)

–– wprowadzenie nowych typów kabli połączeniowych (9wprowadzenie nowych typów kabli połączeniowych (9--żyłowych) i nowych złączżyłowych) i nowych złącz

–– optymalizacja protokołu transmisjioptymalizacja protokołu transmisji

Page 30: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Architektura procesoraArchitektura procesora

�� Począwszy od lat 60Począwszy od lat 60--tych procesory budowane były tych procesory budowane były w myśl zasady CISC (w myśl zasady CISC (Complex Instruction Set Complex Instruction Set ComputerComputer) cechującej się tendencją do rozszerzania ) cechującej się tendencją do rozszerzania listy rozkazów o nowe rozkazy, realizujące coraz listy rozkazów o nowe rozkazy, realizujące coraz bardziej złożone zadania (np. przesłania blokowe, bardziej złożone zadania (np. przesłania blokowe, operacje na łańcuchach)operacje na łańcuchach)

117117

operacje na łańcuchach)operacje na łańcuchach)

�� Lista rozkazów typowego procesora CISC obejmuje Lista rozkazów typowego procesora CISC obejmuje nawet kilkaset rozkazów cechujących się zmienną nawet kilkaset rozkazów cechujących się zmienną długością i czasem wykonania od jednego do długością i czasem wykonania od jednego do kilkudziesięciu taktów zegarakilkudziesięciu taktów zegara

�� Na pojedynczy rozkaz składa się sekwencja kilku do Na pojedynczy rozkaz składa się sekwencja kilku do kilkunastu tzw. mikrooperacjikilkunastu tzw. mikrooperacji

Architektura procesoraArchitektura procesora

�� Analiza kodu generowanego przez kompilatory Analiza kodu generowanego przez kompilatory języków wysokiego poziomu pozwoliła na języków wysokiego poziomu pozwoliła na wyciągnięcie następujących wniosków:wyciągnięcie następujących wniosków:–– za 80% czasu wykonywania programu odpowiada 20% za 80% czasu wykonywania programu odpowiada 20%

instrukcji (reguła 80/20)instrukcji (reguła 80/20)

–– dominującą grupą rozkazów stanowią proste instrukcje dominującą grupą rozkazów stanowią proste instrukcje

118118

–– dominującą grupą rozkazów stanowią proste instrukcje dominującą grupą rozkazów stanowią proste instrukcje przypisania, instrukcje warunkowe (IF, LOOP) oraz przypisania, instrukcje warunkowe (IF, LOOP) oraz wywołania i powroty z podprogramówwywołania i powroty z podprogramów

–– większość używanych argumentów stanowią zmienne większość używanych argumentów stanowią zmienne skalarne (głównie zmienne lokalne w procedurach)skalarne (głównie zmienne lokalne w procedurach)

�� Powyższe obserwacje doprowadziły do powstania Powyższe obserwacje doprowadziły do powstania koncepcji procesora o zredukowanej liczbie rozkazów koncepcji procesora o zredukowanej liczbie rozkazów RISC (RISC (Reduced Instruction Set ComputerReduced Instruction Set Computer) )

Architektura procesoraArchitektura procesora

�� Kluczowymi elementami koncepcji RISC jest:Kluczowymi elementami koncepcji RISC jest:–– nieduży zestaw stosunkowo prostych rozkazów o stałej nieduży zestaw stosunkowo prostych rozkazów o stałej

długości, pozwalający na znaczące uproszczenie konstrukcji długości, pozwalający na znaczące uproszczenie konstrukcji jednostki sterującej i układu dekodera instrukcji oraz na jednostki sterującej i układu dekodera instrukcji oraz na zwiększenie szybkości przetwarzania rozkazówzwiększenie szybkości przetwarzania rozkazów

–– wielopoziomowa pamięć podręczna usprawniająca wielopoziomowa pamięć podręczna usprawniająca pobieranie zwiększonej w stosunku do procesorów CISC pobieranie zwiększonej w stosunku do procesorów CISC

119119

pobieranie zwiększonej w stosunku do procesorów CISC pobieranie zwiększonej w stosunku do procesorów CISC liczby rozkazówliczby rozkazów

–– duża liczba rejestrów wewnętrznych umożliwiająca duża liczba rejestrów wewnętrznych umożliwiająca optymalizację odwołań do argumentów (zwłaszcza optymalizację odwołań do argumentów (zwłaszcza lokalnych)lokalnych)

–– optymalizacja potoków wykonawczych z uwagi na duży optymalizacja potoków wykonawczych z uwagi na duży udział w kodzie rozkazów rozgałęzień warunkowych oraz udział w kodzie rozkazów rozgałęzień warunkowych oraz wywoływań i powrotów z podprogramówwywoływań i powrotów z podprogramów

Architektura procesoraArchitektura procesora

�� Procesory oparte na architekturze RISC (np. Intel Procesory oparte na architekturze RISC (np. Intel i860, Sun SPARC, IBM RS/6000, Motorola MC88000) i860, Sun SPARC, IBM RS/6000, Motorola MC88000) cechują się pewnymi wspólnymi własnościami:cechują się pewnymi wspólnymi własnościami:–– wykonywanie większości rozkazów w jednym cyklu zegarawykonywanie większości rozkazów w jednym cyklu zegara

–– prosty format i stała długość rozkazu (dostosowana do prosty format i stała długość rozkazu (dostosowana do szerokości magistrali danych)szerokości magistrali danych)

120120

szerokości magistrali danych)szerokości magistrali danych)

–– jawne określanie rejestrów jako argumentów w kodzie jawne określanie rejestrów jako argumentów w kodzie rozkazurozkazu

–– mała liczba prostych trybów adresowania (głównie mała liczba prostych trybów adresowania (głównie adresowanie natychmiastowe, bezpośrednie i rejestrowe)adresowanie natychmiastowe, bezpośrednie i rejestrowe)

�� Wiele obecnie konstruowanych procesorów łączy w Wiele obecnie konstruowanych procesorów łączy w sobie cechy architektur CISC i RISC (np. Intel 80960, sobie cechy architektur CISC i RISC (np. Intel 80960, Pentium 4, PowerPC 601)Pentium 4, PowerPC 601)

Page 31: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Przetwarzanie potokowePrzetwarzanie potokowe

�� Przetwarzanie pojedynczego rozkazu można Przetwarzanie pojedynczego rozkazu można dekomponować na szereg etapów (faz), które dekomponować na szereg etapów (faz), które realizowane są przez niezależne obwody procesorarealizowane są przez niezależne obwody procesora

�� Strategia przetwarzania potokowego (Strategia przetwarzania potokowego (PipelinePipeline) ) polega na zorganizowaniu procesu przetwarzania polega na zorganizowaniu procesu przetwarzania rozkazów w sposób zbliżony do linii montażowej w rozkazów w sposób zbliżony do linii montażowej w

121121

rozkazów w sposób zbliżony do linii montażowej w rozkazów w sposób zbliżony do linii montażowej w zakładzie produkcyjnymzakładzie produkcyjnym

�� Podobnie jak linia montażowa potok zawiera rozkazy Podobnie jak linia montażowa potok zawiera rozkazy znajdujące się w różnym stadium przetwarzania, co znajdujące się w różnym stadium przetwarzania, co prowadzi do zwiększenia szybkości ich przetwarzaniaprowadzi do zwiększenia szybkości ich przetwarzania

�� Podstawowym parametrem mającym wpływ na Podstawowym parametrem mającym wpływ na efektywność potoku jest jego głębokośćefektywność potoku jest jego głębokość

Przetwarzanie potokowePrzetwarzanie potokowe

�� Dla przykładu 6Dla przykładu 6--etapowy potok (z jednostkowymi etapowy potok (z jednostkowymi czasami trwania poszczególnych etapów), który czasami trwania poszczególnych etapów), który wykorzystuje następującą dekompozycję wykorzystuje następującą dekompozycję przetwarzania rozkazu:przetwarzania rozkazu:–– Faza pobierania rozkazu (FI)Faza pobierania rozkazu (FI)

–– Faza dekodowania rozkazu (DI)Faza dekodowania rozkazu (DI)

122122

–– Faza dekodowania rozkazu (DI)Faza dekodowania rozkazu (DI)

–– Faza obliczania argumentów (CO)Faza obliczania argumentów (CO)

–– Faza pobierania argumentów (FO)Faza pobierania argumentów (FO)

–– Faza wykonania rozkazu (EI)Faza wykonania rozkazu (EI)

–– Faza zapisania wyniku (WR)Faza zapisania wyniku (WR)

pozwala na skrócenie czasu przetwarzania pięciu pozwala na skrócenie czasu przetwarzania pięciu rozkazów z 30 do 10 cykli zegararozkazów z 30 do 10 cykli zegara

Przetwarzanie potokowePrzetwarzanie potokowe

Rozkaz #1

Rozkaz #2

Rozkaz #3

FO WRCO EIDIFI

FO WRCO EIDIFI

FO WRCO EIDIFI

123123

Rozkaz #3

Rozkaz #4

Rozkaz #5

FO WRCO EIDIFI

FO WRCO EIDIFI

4 63 521 10987

Przetwarzanie potokowePrzetwarzanie potokowe

�� Czynniki obniżające wydajność przetwarzania Czynniki obniżające wydajność przetwarzania potokowego:potokowego:–– różny czas trwania poszczególnych etapów prowadzi do różny czas trwania poszczególnych etapów prowadzi do

powstawania opóźnień i najczęściej wymusza stosowanie powstawania opóźnień i najczęściej wymusza stosowanie dodatkowych buforówdodatkowych buforów

–– niewszystkie etapy mogą być zawsze realizowane niewszystkie etapy mogą być zawsze realizowane równolegle, z uwagi na możliwość wystąpienia konfliktów w równolegle, z uwagi na możliwość wystąpienia konfliktów w

124124

równolegle, z uwagi na możliwość wystąpienia konfliktów w równolegle, z uwagi na możliwość wystąpienia konfliktów w dostępie do zasobów (np. fazy FI, FO, WR z poprzedniego dostępie do zasobów (np. fazy FI, FO, WR z poprzedniego przykładu mogą wymagać dostępu do pamięci)przykładu mogą wymagać dostępu do pamięci)

–– wystąpienie przerwania, błędu strony lub naruszenie wystąpienie przerwania, błędu strony lub naruszenie ochrony zaburza sekwencję przetwarzanych rozkazów i ochrony zaburza sekwencję przetwarzanych rozkazów i wymusza czyszczenie całego potokuwymusza czyszczenie całego potoku

–– wystąpienie instrukcji rozgałęzienia warunkowego może wystąpienie instrukcji rozgałęzienia warunkowego może prowadzić do unieważnienia rozkazów wewnątrz potokuprowadzić do unieważnienia rozkazów wewnątrz potoku

Page 32: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Przetwarzanie potokowePrzetwarzanie potokowe

�� Sposoby postępowania w przypadku rozgałęzień:Sposoby postępowania w przypadku rozgałęzień:–– pobieranie rozkazu docelowego z wyprzedzeniem pobieranie rozkazu docelowego z wyprzedzeniem

(pobieranie rozkazu docelowego razem z rozkazem (pobieranie rozkazu docelowego razem z rozkazem następującym po rozgałęzieniu)następującym po rozgałęzieniu)

–– zwielokrotnienie strumienia (jednoczesne przetwarzanie zwielokrotnienie strumienia (jednoczesne przetwarzanie kilku ścieżek wykonawczych)kilku ścieżek wykonawczych)

–– stosowanie bufora pętli (zapamiętywanie w niewielkiej, stosowanie bufora pętli (zapamiętywanie w niewielkiej,

125125

–– stosowanie bufora pętli (zapamiętywanie w niewielkiej, stosowanie bufora pętli (zapamiętywanie w niewielkiej, szybkiej pamięci ostatnio pobranych rozkazów i sprawdzanie szybkiej pamięci ostatnio pobranych rozkazów i sprawdzanie czy cel rozgałęzienia znajduje się wewnątrz bufora)czy cel rozgałęzienia znajduje się wewnątrz bufora)

–– opóźnianie rozgałęzienia (zmiana porządku wykonywanych opóźnianie rozgałęzienia (zmiana porządku wykonywanych rozkazów tak, aby rozgałęzienie występowało później)rozkazów tak, aby rozgałęzienie występowało później)

–– przewidywanie rozgałęzień (predykcja wyniku rozgałęzienia przewidywanie rozgałęzień (predykcja wyniku rozgałęzienia w oparciu o kod operacji, zapamiętaną historię rozkazu lub w oparciu o kod operacji, zapamiętaną historię rozkazu lub tablicę historii rozgałęzień) tablicę historii rozgałęzień)

Przetwarzanie potokowePrzetwarzanie potokowe

�� Najczęściej stosowanym obecnie rozwiązaniem jest Najczęściej stosowanym obecnie rozwiązaniem jest technika przewidywania biegu programu (technika przewidywania biegu programu (Branch Branch PredictionPrediction) w oparciu o bufor historii rozgałęzień BTB ) w oparciu o bufor historii rozgałęzień BTB ((Branch Target BufferBranch Target Buffer))

�� Tablica BTB jest szybką pamięcią asocjacyjną Tablica BTB jest szybką pamięcią asocjacyjną zawierającą od kilkuset do kilku tysięcy rekordów zawierającą od kilkuset do kilku tysięcy rekordów

126126

zawierającą od kilkuset do kilku tysięcy rekordów zawierającą od kilkuset do kilku tysięcy rekordów przechowujących: adres instrukcji rozgałęzienia, przechowujących: adres instrukcji rozgałęzienia, adres instrukcji docelowej oraz pewną liczbę bitów adres instrukcji docelowej oraz pewną liczbę bitów rejestrujących przebieg (historię) przetwarzaniarejestrujących przebieg (historię) przetwarzania

�� Efektywność przewidywania zależy od stosowanego Efektywność przewidywania zależy od stosowanego algorytmu predykcji oraz wielkości bufora BTB i algorytmu predykcji oraz wielkości bufora BTB i waha się od ok. 65% do prawie 90%waha się od ok. 65% do prawie 90%

Przetwarzanie superskalarnePrzetwarzanie superskalarne

�� Technika przetwarzania superskalarnego polega na Technika przetwarzania superskalarnego polega na zastosowaniu kilku działających równolegle potoków zastosowaniu kilku działających równolegle potoków przetwarzających dane skalarne, co pozwala na przetwarzających dane skalarne, co pozwala na wykonywanie więcej niż jednego rozkazu w jednym wykonywanie więcej niż jednego rozkazu w jednym cyklu zegaracyklu zegara

�� Podstawową trudnością w realizacji przetwarzania Podstawową trudnością w realizacji przetwarzania

127127

�� Podstawową trudnością w realizacji przetwarzania Podstawową trudnością w realizacji przetwarzania superskalarnego jest wzajemna współzależność superskalarnego jest wzajemna współzależność rozkazów wykonywanych w poszczególnych rozkazów wykonywanych w poszczególnych potokach, wynikająca m.in. z rozgałęzień oraz potokach, wynikająca m.in. z rozgałęzień oraz uzależnień i konfliktów w dostępie do zasobówuzależnień i konfliktów w dostępie do zasobów

�� Dla przykładu procesor Pentium wykorzystuje dwa Dla przykładu procesor Pentium wykorzystuje dwa potoki wykonawcze, oznaczane odpowiednio U i Vpotoki wykonawcze, oznaczane odpowiednio U i V

Przetwarzanie superskalarnePrzetwarzanie superskalarne

�� Dzięki równoległemu wykonywaniu rozkazów, Dzięki równoległemu wykonywaniu rozkazów, możliwe jest wykonywanie instrukcji całkowitomożliwe jest wykonywanie instrukcji całkowito--liczbowych w obu potokach w jednym cyklu liczbowych w obu potokach w jednym cyklu rozkazowymrozkazowym

�� Potoki skojarzone z obiema kolejkami rozkazów nie Potoki skojarzone z obiema kolejkami rozkazów nie są równouprawnione:są równouprawnione:

128128

są równouprawnione:są równouprawnione:–– potok U pozwala na wykonywanie dowolnej instrukcji z potok U pozwala na wykonywanie dowolnej instrukcji z

zestawu rozkazów procesorów 80x86zestawu rozkazów procesorów 80x86

–– potok V umożliwia realizację jedynie tzw. instrukcji prostych potok V umożliwia realizację jedynie tzw. instrukcji prostych (rozkazy operujące na danych całkowitych oraz rozkazy (rozkazy operujące na danych całkowitych oraz rozkazy zamiany danych w rejestrach), które realizowane są zamiany danych w rejestrach), które realizowane są całkowicie sprzętowo, bez udziału mikroprogramu całkowicie sprzętowo, bez udziału mikroprogramu wbudowanego w pamięć ROM procesorawbudowanego w pamięć ROM procesora

Page 33: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Przetwarzanie superskalarnePrzetwarzanie superskalarne

�� Rozkazy przeznaczone dla potoku U i V przesuwają Rozkazy przeznaczone dla potoku U i V przesuwają się synchronicznie przez poszczególne stopnie się synchronicznie przez poszczególne stopnie przetwarzaniaprzetwarzania

�� Jeżeli rozkaz w jednym z potoków przejdzie Jeżeli rozkaz w jednym z potoków przejdzie określony stopień przetwarzania przed zakończeniem określony stopień przetwarzania przed zakończeniem tej samej fazy w drugim potoku, to wówczas tej samej fazy w drugim potoku, to wówczas

129129

tej samej fazy w drugim potoku, to wówczas tej samej fazy w drugim potoku, to wówczas oczekuje on na drugi rozkaz, tak aby oba rozkazy oczekuje on na drugi rozkaz, tak aby oba rozkazy razem mogły przejść do kolejnej fazy przetwarzaniarazem mogły przejść do kolejnej fazy przetwarzania

�� Procesor jest w stanie z każdego potoku Procesor jest w stanie z każdego potoku równocześnie odwoływać się do danych równocześnie odwoływać się do danych umieszczonych w wewnętrznej pamięci podręcznejumieszczonych w wewnętrznej pamięci podręcznej

Przetwarzanie superskalarnePrzetwarzanie superskalarne

�� Uzyskanie zrównoleglenia przetwarzania wymaga Uzyskanie zrównoleglenia przetwarzania wymaga tzw. „parowania rozkazów” tj. łączenia ich w pary w tzw. „parowania rozkazów” tj. łączenia ich w pary w taki sposób, aby mogły być wykonywane równolegle taki sposób, aby mogły być wykonywane równolegle przez oba potokiprzez oba potoki

�� Instrukcje podlegające łączeniu w pary można Instrukcje podlegające łączeniu w pary można podzielić na trzy grupy:podzielić na trzy grupy:

130130

podzielić na trzy grupy:podzielić na trzy grupy:–– grupę UV stanowią instrukcje, które połączone w pary mogą grupę UV stanowią instrukcje, które połączone w pary mogą

być wykonywane w obu potokachbyć wykonywane w obu potokach

–– grupę PU stanowią instrukcje wykonywane tylko w potoku U grupę PU stanowią instrukcje wykonywane tylko w potoku U połączone w pary z odpowiednimi instrukcjami z potoku Vpołączone w pary z odpowiednimi instrukcjami z potoku V

–– grupę PV stanowią instrukcje (wykonywane w obu grupę PV stanowią instrukcje (wykonywane w obu potokach), które połączone w pary z instrukcjami ze zbioru potokach), które połączone w pary z instrukcjami ze zbioru UV i PU będą wykonywane w potoku VUV i PU będą wykonywane w potoku V

Przetwarzanie superskalarnePrzetwarzanie superskalarne

�� Próba wykonania pewnych par instrukcji w sposób Próba wykonania pewnych par instrukcji w sposób równoległy może prowadzić do pojawienia się równoległy może prowadzić do pojawienia się konfliktów lub uzależnień (które w konsekwencji konfliktów lub uzależnień (które w konsekwencji utrudniają lub wręcz uniemożliwiają łączenie takich utrudniają lub wręcz uniemożliwiają łączenie takich instrukcji w pary):instrukcji w pary):–– RAR (RAR (Read After ReadRead After Read) np. ) np. add bx, axadd bx, ax

131131

–– RAR (RAR (Read After ReadRead After Read) np. ) np. add bx, axadd bx, axmov cx, axmov cx, ax

–– RAW (RAW (Read After WriteRead After Write) np. ) np. mov ax, bxmov ax, bxmov [mem], axmov [mem], ax

–– WAR (WAR (Write After ReadWrite After Read) np. ) np. mov bx, axmov bx, axadd ax, cxadd ax, cx

–– WAW (WAW (Write After WriteWrite After Write) np. ) np. mov ax, [mem]mov ax, [mem]mov ax, bxmov ax, bx

Przetwarzanie superskalarnePrzetwarzanie superskalarne

�� Uzależnienie typu RAR jest wynikiem konfliktu Uzależnienie typu RAR jest wynikiem konfliktu podczas próby jednoczesnego odczytu rejestru lecz podczas próby jednoczesnego odczytu rejestru lecz można je stosunkowo łatwo usunąć poprzez można je stosunkowo łatwo usunąć poprzez zdublowanie portu odczytu rejestruzdublowanie portu odczytu rejestru

�� Wynikiem uzależnienia typu RAW jest wystąpienie Wynikiem uzależnienia typu RAW jest wystąpienie opóźnienia związanego z oczekiwaniem na wynik opóźnienia związanego z oczekiwaniem na wynik

132132

opóźnienia związanego z oczekiwaniem na wynik opóźnienia związanego z oczekiwaniem na wynik wcześniejszej operacjiwcześniejszej operacji

�� Uzależnienia typu WAR i WAW wynikają z konfliktu Uzależnienia typu WAR i WAW wynikają z konfliktu podczas próby jednoczesnego zapisu (lub odczytu i podczas próby jednoczesnego zapisu (lub odczytu i zapisu) do rejestru i można im zapobiec stosując zapisu) do rejestru i można im zapobiec stosując technikę przemianowywania rejestrów (technikę przemianowywania rejestrów (Register Register RenamingRenaming))

Page 34: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Przetwarzanie superskalarnePrzetwarzanie superskalarne

�� Technika przemianowywanie rejestrów polega na Technika przemianowywanie rejestrów polega na wykorzystaniu puli dodatkowych rejestrów i ich wykorzystaniu puli dodatkowych rejestrów i ich dynamicznym mapowaniu do rejestrów dostępnych dynamicznym mapowaniu do rejestrów dostępnych programowoprogramowo

�� Po zdekodowaniu rozkazu, którego wynik ma być Po zdekodowaniu rozkazu, którego wynik ma być docelowo umieszczony w rejestrze, następuje docelowo umieszczony w rejestrze, następuje

133133

docelowo umieszczony w rejestrze, następuje docelowo umieszczony w rejestrze, następuje przydzielenie z puli rejestru, na którym będzie przydzielenie z puli rejestru, na którym będzie wykonywana operacja i zaktualizowanie tablicy wykonywana operacja i zaktualizowanie tablicy zamienników RAT (zamienników RAT (Register Allocation TableRegister Allocation Table))

�� Ponieważ rejestr dostępny programowo może być Ponieważ rejestr dostępny programowo może być mapowany na kilka rejestrów z puli, pozwala to na mapowany na kilka rejestrów z puli, pozwala to na zrównoleglenie wykonywania rozkazówzrównoleglenie wykonywania rozkazów

Przetwarzanie superskalarnePrzetwarzanie superskalarne

�� Dla przykładu sekwencja rozkazów (WAR):Dla przykładu sekwencja rozkazów (WAR):mov bx, axmov bx, ax

add ax, cxadd ax, cx

po podstawieniu:po podstawieniu:ax ax --> R0> R0

bx bx --> R1> R1

134134

bx bx --> R1> R1

cx cx --> R2> R2

i przemianowaniu:i przemianowaniu:ax ax --> R3> R3

zostaje przekształcona w sekwencję:zostaje przekształcona w sekwencję:R1 := R0R1 := R0

R3 := R0 + R2R3 := R0 + R2

Dynamiczne wykonywanie instrukcjiDynamiczne wykonywanie instrukcji

�� Dynamiczne wykonywanie instrukcji jest techniką Dynamiczne wykonywanie instrukcji jest techniką pozwalającą na wykonywanie wejściowej sekwencji pozwalającą na wykonywanie wejściowej sekwencji instrukcji w dowolnej kolejności (instrukcji w dowolnej kolejności (outout--ofof--order order executionexecution) w celu uniknięcia konfliktów w dostępie ) w celu uniknięcia konfliktów w dostępie do zasobów oraz powstawania opóźnień podczas do zasobów oraz powstawania opóźnień podczas potokowego przetwarzania instrukcji potokowego przetwarzania instrukcji

135135

potokowego przetwarzania instrukcji potokowego przetwarzania instrukcji

�� Dynamiczne wykonywanie instrukcji oparte jest na:Dynamiczne wykonywanie instrukcji oparte jest na:–– zaawansowanej predykcji rozgałęzień (zaawansowanej predykcji rozgałęzień (deep branch deep branch

predictionprediction))

–– dynamicznej analizie przepływu danych (dynamicznej analizie przepływu danych (dynamic data flow dynamic data flow analysisanalysis))

–– spekulatywnym wykonywaniu rozkazów (spekulatywnym wykonywaniu rozkazów (speculative speculative executionexecution))

Dynamiczne wykonywanie instrukcjiDynamiczne wykonywanie instrukcji

�� Dynamiczna analiza przepływu danych polega na Dynamiczna analiza przepływu danych polega na analizowaniu w czasie rzeczywistym sekwencji analizowaniu w czasie rzeczywistym sekwencji instrukcji przetwarzanych przez procesor w celu instrukcji przetwarzanych przez procesor w celu wykrycia i określenia zależności pozwalających na ich wykrycia i określenia zależności pozwalających na ich optymalne uszeregowanie w jednostkach optymalne uszeregowanie w jednostkach wykonawczychwykonawczych

136136

wykonawczychwykonawczych

�� Spekulatywne wykonywanie instrukcji polega na Spekulatywne wykonywanie instrukcji polega na wykonywaniu instrukcji znajdujących się za jeszcze wykonywaniu instrukcji znajdujących się za jeszcze nierozstrzygniętą instrukcją warunkową, przy czym nierozstrzygniętą instrukcją warunkową, przy czym wyniki tychże instrukcji są zapamiętywane w wyniki tychże instrukcji są zapamiętywane w specjalnym bloku rejestrów tymczasowychspecjalnym bloku rejestrów tymczasowych

Page 35: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Dynamiczne wykonywanie instrukcjiDynamiczne wykonywanie instrukcji

�� Typowa sekwencja dynamicznego wykonania Typowa sekwencja dynamicznego wykonania instrukcji przebiega następująco:instrukcji przebiega następująco:–– utworzenie przez układ MIS (utworzenie przez układ MIS (Microcode Instruction Microcode Instruction

SequencerSequencer) sekwencji mikrooperacji do wykonania) sekwencji mikrooperacji do wykonania

–– uzupełnienie sekwencji mikrooperacji informacją o ich uzupełnienie sekwencji mikrooperacji informacją o ich oryginalnej kolejnościoryginalnej kolejności

137137

–– przydzielenie do mikrooperacji rejestrów tymczasowychprzydzielenie do mikrooperacji rejestrów tymczasowych

–– pobranie mikrooperacji do wykonania przez układ przydziału pobranie mikrooperacji do wykonania przez układ przydziału zasobów RS (zasobów RS (Reservation StationReservation Station) w takiej kolejności, która ) w takiej kolejności, która zapewnia najbardziej optymalne ich wykonaniezapewnia najbardziej optymalne ich wykonanie

–– odtworzenie przez układ RU (odtworzenie przez układ RU (Retirement UnitRetirement Unit) właściwej ) właściwej kolejności zrealizowanych mikrooperacji i przepisanie kolejności zrealizowanych mikrooperacji i przepisanie wyników z rejestrów tymczasowych do rejestrów wyników z rejestrów tymczasowych do rejestrów dostępnych programowodostępnych programowo

Pamięć podręcznaPamięć podręczna

�� Celem stosowania pamięci podręcznej (Celem stosowania pamięci podręcznej (CacheCache) jest ) jest zwiększenie wydajności podsystemu pamięci zwiększenie wydajności podsystemu pamięci wynikające z zasady lokalności, w myśl której:wynikające z zasady lokalności, w myśl której:–– zdecydowana większość kodu przetwarzana jest w sposób zdecydowana większość kodu przetwarzana jest w sposób

sekwencyjny (za wyjątkiem instrukcji skoków oraz wywołań sekwencyjny (za wyjątkiem instrukcji skoków oraz wywołań i powrotów z procedur), co oznacza, że zajmuje on spójny i i powrotów z procedur), co oznacza, że zajmuje on spójny i ciągły blok w pamięciciągły blok w pamięci

138138

ciągły blok w pamięciciągły blok w pamięci

–– znaczna część obliczeń dotyczy przetwarzania zmiennych znaczna część obliczeń dotyczy przetwarzania zmiennych prostych, tablic i rekordów, które położone są w pamięci prostych, tablic i rekordów, które położone są w pamięci stosunkowo blisko siebiestosunkowo blisko siebie

�� Cechą charakterystyczną pamięci podręcznej jest Cechą charakterystyczną pamięci podręcznej jest bardzo krótki czas dostępu, co pozwala na efektywne bardzo krótki czas dostępu, co pozwala na efektywne buforowanie wolniejszej pamięci operacyjnej RAMbuforowanie wolniejszej pamięci operacyjnej RAM

Pamięć podręcznaPamięć podręczna

�� Typowa pamięć podręczna jest systemem Typowa pamięć podręczna jest systemem wielopoziomowym złożonym najczęściej z dwóch wielopoziomowym złożonym najczęściej z dwóch (L1+L2) lub trzech (L1+L2+L3) kaskadowo (L1+L2) lub trzech (L1+L2+L3) kaskadowo połączonych układów pamięci statycznych o coraz połączonych układów pamięci statycznych o coraz większym czasie dostępu i coraz większej pojemnościwiększym czasie dostępu i coraz większej pojemności

�� Pamięć podręczna L1 ma zwykle pojemność od kilku Pamięć podręczna L1 ma zwykle pojemność od kilku

139139

�� Pamięć podręczna L1 ma zwykle pojemność od kilku Pamięć podręczna L1 ma zwykle pojemność od kilku do kilkudziesięciu KB i na ogół służy do rozdzielnego do kilkudziesięciu KB i na ogół służy do rozdzielnego buforowania danych i instrukcjibuforowania danych i instrukcji

�� Rodzaje architektur systemów z pamięcią podręczną:Rodzaje architektur systemów z pamięcią podręczną:–– konwencjonalna (konwencjonalna (LookLook--AsideAside))

–– szeregowa (szeregowa (LookLook--ThroughThrough))

–– dwuszynowa (dwuszynowa (BacksideBackside))

Pamięć podręcznaPamięć podręczna

�� Umiejscowienie pamięci podręcznej w architekturze Umiejscowienie pamięci podręcznej w architekturze konwencjonalnej (konwencjonalnej (LookLook--AsideAside):):

ProcesorProcesor

140140

Pamięć Pamięć podręcznapodręczna

Pamięć Pamięć operacyjnaoperacyjna

Page 36: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Pamięć podręcznaPamięć podręczna

�� Pamięć podręczna typu Pamięć podręczna typu LookLook--AsideAside dołączana jest do dołączana jest do systemu przez magistralę systemową i pracuje z systemu przez magistralę systemową i pracuje z wyznaczaną przez nią częstotliwością taktowaniawyznaczaną przez nią częstotliwością taktowania

�� Kontroler pamięci podręcznej monitoruje wszystkie Kontroler pamięci podręcznej monitoruje wszystkie odwołania procesora do pamięci, aby sprawdzić, czy odwołania procesora do pamięci, aby sprawdzić, czy żądana dana znajduje się w pamięci podręcznejżądana dana znajduje się w pamięci podręcznej

141141

żądana dana znajduje się w pamięci podręcznejżądana dana znajduje się w pamięci podręcznej

�� W przypadku „trafienia” (W przypadku „trafienia” (cache hitcache hit) tj. znalezienia ) tj. znalezienia żądanej danej, procesor przerywa cykl magistrali i żądanej danej, procesor przerywa cykl magistrali i informuje podsystem sterujący pamięcią operacyjną, informuje podsystem sterujący pamięcią operacyjną, aby zignorował żądanieaby zignorował żądanie

�� W przypadku „chybienia” (W przypadku „chybienia” (cache misscache miss), cykle ), cykle magistrali są wykonywane w normalny sposóbmagistrali są wykonywane w normalny sposób

Pamięć podręcznaPamięć podręczna

�� Zalety stosowania pamięci typu Zalety stosowania pamięci typu LookLook--AsideAside::–– niski koszt wynikający z prostej konstrukcjiniski koszt wynikający z prostej konstrukcji

–– polepszony czas dostępu do danych, które nie znajdują się polepszony czas dostępu do danych, które nie znajdują się w pamięci podręcznejw pamięci podręcznej

�� Podstawową wadą stosowania pamięci typu Podstawową wadą stosowania pamięci typu LookLook--AsideAside jest brak izolowania magistrali procesora od jest brak izolowania magistrali procesora od

142142

AsideAside jest brak izolowania magistrali procesora od jest brak izolowania magistrali procesora od magistrali systemowej, co prowadzi do:magistrali systemowej, co prowadzi do:–– niemożności zredukowania stopnia wykorzystania magistrali niemożności zredukowania stopnia wykorzystania magistrali

systemowejsystemowej

–– braku możliwości współbieżnego wykonywania operacji braku możliwości współbieżnego wykonywania operacji (dostęp do pamięci podręcznej realizowany jest przez (dostęp do pamięci podręcznej realizowany jest przez magistralę systemową)magistralę systemową)

Pamięć podręcznaPamięć podręczna

�� Umiejscowienie pamięci podręcznej w architekturze Umiejscowienie pamięci podręcznej w architekturze szeregowej (szeregowej (LookLook--ThroughThrough):):

ProcesorProcesor

143143

Pamięć Pamięć podręcznapodręczna

Pamięć Pamięć operacyjnaoperacyjna

Pamięć podręcznaPamięć podręczna

�� Po zainicjowaniu cyklu odczytu pamięć typu Po zainicjowaniu cyklu odczytu pamięć typu LookLook--ThroughThrough przeszukuje swój katalog w celu przeszukuje swój katalog w celu rozstrzygnięcia, czy zawiera kopię żądanej przez rozstrzygnięcia, czy zawiera kopię żądanej przez procesor danejprocesor danej

�� W przypadku „trafienia” dana wysyłana jest do W przypadku „trafienia” dana wysyłana jest do procesora z zerowymi cyklami oczekiwania procesora z zerowymi cyklami oczekiwania

144144

procesora z zerowymi cyklami oczekiwania procesora z zerowymi cyklami oczekiwania magistrali, a magistrala systemowa pozostaje magistrali, a magistrala systemowa pozostaje dostępna dla innych urządzeń (np. dla danych dostępna dla innych urządzeń (np. dla danych przesyłanych w trybie DMA)przesyłanych w trybie DMA)

�� W przypadku „chybienia” następuje odczyt danej z W przypadku „chybienia” następuje odczyt danej z pamięci operacyjnej (przez magistralę systemową)pamięci operacyjnej (przez magistralę systemową)

Page 37: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Pamięć podręcznaPamięć podręczna

�� Zalety stosowania pamięci typu Zalety stosowania pamięci typu LookLook--ThroughThrough::–– zredukowanie stopnia wykorzystania magistrali systemowejzredukowanie stopnia wykorzystania magistrali systemowej

–– możliwość równoczesnego (współbieżnego) wykonywania możliwość równoczesnego (współbieżnego) wykonywania operacji na dwóch magistralach znajdujących się w jednym operacji na dwóch magistralach znajdujących się w jednym systemiesystemie

–– wykonywanie operacji zapisu w zerowych cyklach wykonywanie operacji zapisu w zerowych cyklach oczekiwania magistralioczekiwania magistrali

145145

oczekiwania magistralioczekiwania magistrali

–– możliwość taktowania magistrali lokalnej inną możliwość taktowania magistrali lokalnej inną częstotliwością niż magistrali systemowejczęstotliwością niż magistrali systemowej

�� Wady stosowania pamięci typu Wady stosowania pamięci typu LookLook--ThroughThrough::–– wyższy koszt wynikający z większej złożoności układuwyższy koszt wynikający z większej złożoności układu

–– wolniejszy niż w przypadku pamięci wolniejszy niż w przypadku pamięci LookLook--asideaside odczyt odczyt danych, które nie znajdują się w pamięci podręcznejdanych, które nie znajdują się w pamięci podręcznej

Pamięć podręcznaPamięć podręczna

�� Umiejscowienie pamięci podręcznej w architekturze Umiejscowienie pamięci podręcznej w architekturze dwuszynowej (dwuszynowej (BacksideBackside):):

ProcesorProcesor

146146

Pamięć Pamięć podręcznapodręczna

Pamięć Pamięć operacyjnaoperacyjna

Pamięć podręcznaPamięć podręczna

�� Pamięć podręczna typu Pamięć podręczna typu BacksideBackside podłączona jest do podłączona jest do procesora dedykowaną magistralą BSB (procesora dedykowaną magistralą BSB (Back Side Back Side BusBus), która jest całkowicie niezależna od magistrali ), która jest całkowicie niezależna od magistrali pamięciowej FSB (pamięciowej FSB (Front Side BusFront Side Bus))

�� Rozwiązanie to pozwala na swobodny wybór Rozwiązanie to pozwala na swobodny wybór częstotliwości pracy pamięci podręcznejczęstotliwości pracy pamięci podręcznej

147147

częstotliwości pracy pamięci podręcznejczęstotliwości pracy pamięci podręcznej

�� Podobnie jak w przypadku pamięci typu Podobnie jak w przypadku pamięci typu LookLook--ThroughThrough obie magistrale mogą działać współbieżnieobie magistrale mogą działać współbieżnie

�� Pamięć typu Pamięć typu BacksideBackside może być wkomponowana w może być wkomponowana w strukturę samego procesora (Pentium Pro) lub strukturę samego procesora (Pentium Pro) lub umieszczona w jego pobliżu (Pentium III)umieszczona w jego pobliżu (Pentium III)

Pamięć podręcznaPamięć podręczna

�� Jeżeli dane w pamięci operacyjnej różnią się od Jeżeli dane w pamięci operacyjnej różnią się od odpowiadających im danych w pamięci podręcznej odpowiadających im danych w pamięci podręcznej mamy do czynienia z utratą spójności pamięci mamy do czynienia z utratą spójności pamięci podręcznejpodręcznej

�� Przyczyną takiej sytuacji może być „trafienie” zapisu Przyczyną takiej sytuacji może być „trafienie” zapisu w pamięć podręczną lub zapisanie danych do w pamięć podręczną lub zapisanie danych do

148148

w pamięć podręczną lub zapisanie danych do w pamięć podręczną lub zapisanie danych do pamięci operacyjnej przez urządzenie zewnętrznepamięci operacyjnej przez urządzenie zewnętrzne

�� Strategie zapisu zapewniające spójność pamięci Strategie zapisu zapewniające spójność pamięci podręcznej:podręcznej:–– Zapis jednoczesny (Zapis jednoczesny (WriteWrite--ThroughThrough))

–– Zapis buforowany (Zapis buforowany (Buffered WriteBuffered Write--ThroughThrough))

–– Zapis opóźniony (Zapis opóźniony (WriteWrite--BackBack))

Page 38: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Pamięć podręcznaPamięć podręczna

�� W strategii W strategii WriteWrite--ThroughThrough każdy zapis do pamięci każdy zapis do pamięci podręcznej powoduje natychmiastowe wykonanie podręcznej powoduje natychmiastowe wykonanie cyklu zapisu do pamięci operacyjnej, co gwarantuje cyklu zapisu do pamięci operacyjnej, co gwarantuje stałe utrzymywanie aktualnych danych w pamięci stałe utrzymywanie aktualnych danych w pamięci operacyjnejoperacyjnej

�� Operacja zapisu w pamięci operacyjnej realizowana Operacja zapisu w pamięci operacyjnej realizowana

149149

�� Operacja zapisu w pamięci operacyjnej realizowana Operacja zapisu w pamięci operacyjnej realizowana jest niezależnie od tego, czy nastąpiło „trafienie” czy jest niezależnie od tego, czy nastąpiło „trafienie” czy „chybienie” z zapisem do pamięci podręcznej„chybienie” z zapisem do pamięci podręcznej

�� Implementacja tej metody jest bardzo efektywna i Implementacja tej metody jest bardzo efektywna i prosta, cechuje się jednak małą wydajnością, gdyż prosta, cechuje się jednak małą wydajnością, gdyż każda operacja zapisu powoduje odwołanie się do każda operacja zapisu powoduje odwołanie się do wolnej pamięci operacyjnejwolnej pamięci operacyjnej

Pamięć podręcznaPamięć podręczna

�� Strategia Strategia Buffered WriteBuffered Write--ThroughThrough polega na polega na zapamiętywaniu przez kontroler pamięci podręcznej zapamiętywaniu przez kontroler pamięci podręcznej realizowanych operacji zapisu w specjalnym buforze, realizowanych operacji zapisu w specjalnym buforze, co umożliwia ich późniejsze zrealizowanie w pamięci co umożliwia ich późniejsze zrealizowanie w pamięci operacyjnej bez wpływu na pracę procesoraoperacyjnej bez wpływu na pracę procesora

�� Podstawową zaletą tej metody jest brak cykli Podstawową zaletą tej metody jest brak cykli

150150

�� Podstawową zaletą tej metody jest brak cykli Podstawową zaletą tej metody jest brak cykli oczekiwania magistrali zarówno w przypadku oczekiwania magistrali zarówno w przypadku „trafienia” jak i „chybienia” zapisu„trafienia” jak i „chybienia” zapisu

�� Ten rodzaj zapisu powoduje, że inne urządzenie Ten rodzaj zapisu powoduje, że inne urządzenie wymagające dostępu do magistrali nie może wymagające dostępu do magistrali nie może przeprowadzać na niej żadnych operacji do chwili przeprowadzać na niej żadnych operacji do chwili zakończenia operacji zapisuzakończenia operacji zapisu

Pamięć podręcznaPamięć podręczna

�� Strategia Strategia WriteWrite--BackBack zwiększa całkowitą wydajność zwiększa całkowitą wydajność systemu, gdyż dokonuje aktualizacji pamięci systemu, gdyż dokonuje aktualizacji pamięci operacyjnej tylko wtedy, gdy jest to konieczneoperacyjnej tylko wtedy, gdy jest to konieczne

�� Aktualizacja pamięci operacyjnej ma miejsce w Aktualizacja pamięci operacyjnej ma miejsce w przypadku gdy:przypadku gdy:–– urządzenie zewnętrzne inicjuje operację odczytu lub zapisu urządzenie zewnętrzne inicjuje operację odczytu lub zapisu

151151

–– urządzenie zewnętrzne inicjuje operację odczytu lub zapisu urządzenie zewnętrzne inicjuje operację odczytu lub zapisu tych słów pamięci, które zawierają „przeterminowane” danetych słów pamięci, które zawierają „przeterminowane” dane

–– słowo pamięci podręcznej, które zawiera zmodyfikowane słowo pamięci podręcznej, które zawiera zmodyfikowane dane, ma zostać nadpisane danymi z pamięci operacyjnejdane, ma zostać nadpisane danymi z pamięci operacyjnej

�� Słowa pamięci podręcznej są oznaczane w lokalnym Słowa pamięci podręcznej są oznaczane w lokalnym katalogu w momencie kiedy są aktualizowane przez katalogu w momencie kiedy są aktualizowane przez procesorprocesor

Pamięć podręcznaPamięć podręczna

�� W momencie zapisu lub odczytu do lub z pamięci W momencie zapisu lub odczytu do lub z pamięci operacyjnej, podsystem pamięci podręcznej musi operacyjnej, podsystem pamięci podręcznej musi monitorować magistralę systemową aby sprawdzić, monitorować magistralę systemową aby sprawdzić, czy są to odwołania do słów pamięci oznaczonych czy są to odwołania do słów pamięci oznaczonych jako zmodyfikowanejako zmodyfikowane

�� Zachowanie spójności pamięci podręcznej (zwłaszcza Zachowanie spójności pamięci podręcznej (zwłaszcza

152152

�� Zachowanie spójności pamięci podręcznej (zwłaszcza Zachowanie spójności pamięci podręcznej (zwłaszcza w systemach wieloprocesorowych) oparte jest na w systemach wieloprocesorowych) oparte jest na protokole MESI, który określa stan każdego wiersza protokole MESI, który określa stan każdego wiersza pamięci podręcznej danych jako:pamięci podręcznej danych jako:–– zmodyfikowany (zmodyfikowany (ModifiedModified))

–– wyłączony (wyłączony (ExclusiveExclusive))

–– współdzielony (współdzielony (SharedShared))

–– nieważny (nieważny (InvalidInvalid))

Page 39: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Pamięć podręcznaPamięć podręczna

�� Pamięć podręczna zorganizowana jest w wiersze, Pamięć podręczna zorganizowana jest w wiersze, których szerokość odpowiada najczęściej szerokości których szerokość odpowiada najczęściej szerokości magistrali danychmagistrali danych

�� Pamięć operacyjna dzielona jest na strony o Pamięć operacyjna dzielona jest na strony o rozmiarze równym liczbie wierszy pamięci podręcznejrozmiarze równym liczbie wierszy pamięci podręcznej

�� Informacja o tym, które wiersze pamięci operacyjnej Informacja o tym, które wiersze pamięci operacyjnej

153153

�� Informacja o tym, które wiersze pamięci operacyjnej Informacja o tym, które wiersze pamięci operacyjnej są odwzorowane w pamięci podręcznej znajduje się są odwzorowane w pamięci podręcznej znajduje się w katalogu pamięci podręcznej TAGw katalogu pamięci podręcznej TAG--RAMRAM

�� Strategie odwzorowywania pamięci operacyjnej:Strategie odwzorowywania pamięci operacyjnej:–– Odwzorowanie bezpośrednie (Odwzorowanie bezpośrednie (Direct MappedDirect Mapped))

–– Odwzorowanie skojarzeniowe (Odwzorowanie skojarzeniowe (Fully AssociativeFully Associative))

–– Odwzorowanie sekcyjnoOdwzorowanie sekcyjno--skojarzeniowe (skojarzeniowe (Set AssociativeSet Associative))

Pamięć podręcznaPamięć podręczna

�� Odwzorowanie bezpośrednie polega na takim Odwzorowanie bezpośrednie polega na takim sposobie odwzorowywania pamięci operacyjnej na sposobie odwzorowywania pamięci operacyjnej na pamięć podręczną, że npamięć podręczną, że n--ty wiersz każdej strony ty wiersz każdej strony pamięci operacyjnej może zostać odwzorowany tylko pamięci operacyjnej może zostać odwzorowany tylko w nw n--tym wierszu pamięci podręcznejtym wierszu pamięci podręcznej

�� Zaletą tej metody jest duża szybkość wyszukiwania Zaletą tej metody jest duża szybkość wyszukiwania

154154

�� Zaletą tej metody jest duża szybkość wyszukiwania Zaletą tej metody jest duża szybkość wyszukiwania informacji (tylko jedna operacja porównania) oraz informacji (tylko jedna operacja porównania) oraz prosta konstrukcja układu prosta konstrukcja układu

�� Ponieważ każdy wiersz pamięci operacyjnej ma stałą Ponieważ każdy wiersz pamięci operacyjnej ma stałą lokalizację w pamięci podręcznej, prowadzi to do lokalizację w pamięci podręcznej, prowadzi to do ciągłej wymiany zawartości pamięci podręcznej, a ciągłej wymiany zawartości pamięci podręcznej, a tym samym do obniżenia wydajności systemutym samym do obniżenia wydajności systemu

Pamięć podręcznaPamięć podręczna

�� Przykład odwzorowania bezpośredniego:Przykład odwzorowania bezpośredniego:

010

012

014

016

Pamięć operacyjna

Pamięć podręczna

2587

00

01

02

03

02

02

02

02

155155

000

002

004

006

008

00A

00C

00E

010

00

01

02

01

Pamięć podręczna

FE35

00C8

1F30

FE35

00C8

2587

1F30

00

01

02

03

Wiersz = (Adres div 2) mod 4

Strona = Adres div 800

01

02

03

00

01

02

03

00

00

00

00

00

01

01

01

01

02

Pamięć podręcznaPamięć podręczna

�� Odwzorowanie skojarzeniowe pozwala na ładowanie Odwzorowanie skojarzeniowe pozwala na ładowanie każdego wiersza pamięci operacyjnej do dowolnego każdego wiersza pamięci operacyjnej do dowolnego wiersza pamięci podręcznej, co eliminuje największą wiersza pamięci podręcznej, co eliminuje największą wadę odwzorowania bezpośredniegowadę odwzorowania bezpośredniego

�� W tego typu odwzorowaniu nie występuje podział W tego typu odwzorowaniu nie występuje podział pamięci operacyjnej na strony pamięci operacyjnej na strony –– wszelkie operacje wszelkie operacje

156156

pamięci operacyjnej na strony pamięci operacyjnej na strony –– wszelkie operacje wszelkie operacje wykonywane są na wierszach identyfikowanych wykonywane są na wierszach identyfikowanych przez adresyprzez adresy

�� Podstawową wadą tej metody jest konieczność Podstawową wadą tej metody jest konieczność przeszukania całego katalogu TAGprzeszukania całego katalogu TAG--RAM aby zbadać, RAM aby zbadać, czy żądany wiersz pamięci operacyjnej został czy żądany wiersz pamięci operacyjnej został odwzorowany w pamięci podręcznejodwzorowany w pamięci podręcznej

Page 40: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Pamięć podręcznaPamięć podręczna

�� Przykład odwzorowania skojarzeniowego:Przykład odwzorowania skojarzeniowego:

010

012

014

016

Pamięć operacyjna

Pamięć podręczna

2587

157157

000

002

004

006

008

00A

00C

00E

010

00A

002

00E

014

Pamięć podręczna

00C8

BE31

1F30

2587

BE31

00C8

1F30

00

01

02

03

Pamięć podręcznaPamięć podręczna

�� Odwzorowanie sekcyjnoOdwzorowanie sekcyjno--skojarzeniowe jest metodą, skojarzeniowe jest metodą, która łączy zalety odwzorowania bezpośredniego i która łączy zalety odwzorowania bezpośredniego i skojarzeniowegoskojarzeniowego

�� Cechą charakterystyczną tego typu podejścia jest Cechą charakterystyczną tego typu podejścia jest podział pamięci podręcznej na 2, 4 lub 8 sekcji (podział pamięci podręcznej na 2, 4 lub 8 sekcji (22--WayWay--SetSet, , 44--WayWay--SetSet, , 88--WayWay--SetSet) o rozmiarze ) o rozmiarze

158158

WayWay--SetSet, , 44--WayWay--SetSet, , 88--WayWay--SetSet) o rozmiarze ) o rozmiarze równym wielkości strony pamięci operacyjnejrównym wielkości strony pamięci operacyjnej

�� Ponieważ pamięć operacyjna odwzorowywana jest Ponieważ pamięć operacyjna odwzorowywana jest na każdą sekcję w sposób bezpośredni, wyszukanie na każdą sekcję w sposób bezpośredni, wyszukanie odpowiedniej informacji w pamięci podręcznej odpowiedniej informacji w pamięci podręcznej wymaga przeprowadzenia co najwyżej 8 porównań wymaga przeprowadzenia co najwyżej 8 porównań (jedno porównanie na sekcję)(jedno porównanie na sekcję)

Pamięć podręcznaPamięć podręczna

�� Przykład dwudrożnego odwzorowania sekcyjnoPrzykład dwudrożnego odwzorowania sekcyjno--skojarzeniowego (skojarzeniowego (22--WayWay--SetSet):):

012

014

016

Pamięć operacyjna

2587

17FF

01

02

03

02

02

02 Pamięć podręczna

02

02

2587

17FF

02

03

159159

Wiersz = (Adres div 2) mod 4

Strona = Adres div 8000

002

004

006

008

00A

00C

00E

010

012

FE35

BE31

0000

00C8

1F30

00

01

02

03

00

01

02

03

00

01

00

00

00

00

01

01

01

01

02

02

01

01

02

0000

00C8

2587

00

01

02

00

00

01

FE35

BE31

1F30

00

01

02

03

sekcja 1

sekcja 2

Pamięć podręcznaPamięć podręczna

�� Wspólną cechą odwzorowania skojarzeniowego i Wspólną cechą odwzorowania skojarzeniowego i sekcyjnosekcyjno--skojarzeniowego jest konieczność wyboru skojarzeniowego jest konieczność wyboru tego wiersza pamięci podręcznej, który zostanie tego wiersza pamięci podręcznej, który zostanie zastąpiony przez nowo ładowany wiersz z pamięci zastąpiony przez nowo ładowany wiersz z pamięci operacyjnejoperacyjnej

�� W tym celu kontroler pamięci podręcznej W tym celu kontroler pamięci podręcznej

160160

�� W tym celu kontroler pamięci podręcznej W tym celu kontroler pamięci podręcznej implementuje jeden z następujących algorytmów:implementuje jeden z następujących algorytmów:–– FIFO (FIFO (First In First OutFirst In First Out), który do zastąpienia wybiera ), który do zastąpienia wybiera

wiersz najdłużej pozostający w pamięci podręcznejwiersz najdłużej pozostający w pamięci podręcznej

–– LFU (LFU (Least Frequently UsedLeast Frequently Used), który do zastąpienia wybiera ), który do zastąpienia wybiera najrzadziej używany wiersz pamięci podręcznejnajrzadziej używany wiersz pamięci podręcznej

–– LRU (LRU (Least Recently UsedLeast Recently Used), który do zastąpienia wybiera ), który do zastąpienia wybiera najmniej ostatnio używany wiersz pamięci podręcznejnajmniej ostatnio używany wiersz pamięci podręcznej

Page 41: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Przegląd architektury IAPrzegląd architektury IA--3232

�� Architektura IAArchitektura IA--32 jest 3232 jest 32--bitową architekturą bitową architekturą procesorów firmy Intel, będącą rozwinięciem procesorów firmy Intel, będącą rozwinięciem architektury procesorów rodziny 80x86architektury procesorów rodziny 80x86

�� Każdy procesor z rodziny IAKażdy procesor z rodziny IA--32 cechuje zachowanie 32 cechuje zachowanie wstecznej zgodności programowej (nowszy typ wstecznej zgodności programowej (nowszy typ procesora może wykonywać kod utworzony dla procesora może wykonywać kod utworzony dla

161161

procesora może wykonywać kod utworzony dla procesora może wykonywać kod utworzony dla starszego typu procesora)starszego typu procesora)

�� Typowymi przedstawicielami linii produktów opartej Typowymi przedstawicielami linii produktów opartej na architekturze IAna architekturze IA--32 są procesory, które 32 są procesory, które wyewoluowały z procesorów Pentium II, takie jak: wyewoluowały z procesorów Pentium II, takie jak: Pentium III, Pentium 4, Pentium 4 HT (Pentium III, Pentium 4, Pentium 4 HT (Hyper Hyper ThreadingThreading), Intel Xeon, Pentium M), Intel Xeon, Pentium M

Przegląd architektury IAPrzegląd architektury IA--3232

�� Ewolucja procesorów linii IAEwolucja procesorów linii IA--32:32:–– Intel 8086 (1978):Intel 8086 (1978):

�� liczba tranzystorów: 29 tys.liczba tranzystorów: 29 tys.

�� częstotliwość taktowania: 8 MHz częstotliwość taktowania: 8 MHz

�� magistrala danych: 16 bitówmagistrala danych: 16 bitów

�� przestrzeń adresowa: 1 MBprzestrzeń adresowa: 1 MB

162162

�� przestrzeń adresowa: 1 MBprzestrzeń adresowa: 1 MB

�� podręczna kolejka rozkazówpodręczna kolejka rozkazów

–– Intel 80286 (1982):Intel 80286 (1982):

�� liczba tranzystorów: 134 tys.liczba tranzystorów: 134 tys.

�� częstotliwość taktowania: 12.5 MHz częstotliwość taktowania: 12.5 MHz

�� przestrzeń adresowa: 16 MBprzestrzeń adresowa: 16 MB

�� tryb chroniony (tryb chroniony (protected modeprotected mode))

Przegląd architektury IAPrzegląd architektury IA--3232

–– Intel 80386 (1985):Intel 80386 (1985):

�� liczba tranzystorów: 275 tys.liczba tranzystorów: 275 tys.

�� częstotliwość taktowania: 20 MHz częstotliwość taktowania: 20 MHz

�� magistrala danych: 32 bitymagistrala danych: 32 bity

�� przestrzeń adresowa: 4 GBprzestrzeń adresowa: 4 GB

�� tryb wirtualny procesora 8086 (tryb wirtualny procesora 8086 (virtual 8086 modevirtual 8086 mode))

163163

�� tryb wirtualny procesora 8086 (tryb wirtualny procesora 8086 (virtual 8086 modevirtual 8086 mode))

�� jednostka stronicowania pamięci (jednostka stronicowania pamięci (paging unitpaging unit))

–– Intel 80486 (1989):Intel 80486 (1989):

�� liczba tranzystorów: 1.2 mlnliczba tranzystorów: 1.2 mln

�� częstotliwość taktowania: 25 MHz częstotliwość taktowania: 25 MHz

�� pamięć podręczna: 8 KBpamięć podręczna: 8 KB

�� jednostka zmiennoprzecinkowa FPUjednostka zmiennoprzecinkowa FPU

Przegląd architektury IAPrzegląd architektury IA--3232

–– Intel Pentium (1993):Intel Pentium (1993):

�� liczba tranzystorów: 3.1 mlnliczba tranzystorów: 3.1 mln

�� częstotliwość taktowania: 60 MHz częstotliwość taktowania: 60 MHz

�� magistrala danych: 64 bity (wewn. 128/256 bitów)magistrala danych: 64 bity (wewn. 128/256 bitów)

�� pamięć podręczna: 8 KB kod + 8 KB dane (MESI)pamięć podręczna: 8 KB kod + 8 KB dane (MESI)

�� dwa potoki wykonawcze całkowitoliczbowedwa potoki wykonawcze całkowitoliczbowe

164164

�� dwa potoki wykonawcze całkowitoliczbowedwa potoki wykonawcze całkowitoliczbowe

�� wsparcie dla systemów dwuprocesorowychwsparcie dla systemów dwuprocesorowych

�� technologia MMXtechnologia MMX

–– Intel Pentium Pro (1995):Intel Pentium Pro (1995):

�� liczba tranzystorów: 5.5 mlnliczba tranzystorów: 5.5 mln

�� częstotliwość taktowania: 200 MHzczęstotliwość taktowania: 200 MHz

�� przestrzeń adresowa: 64 GBprzestrzeń adresowa: 64 GB

�� pamięć podręczna: 16 KB (L1), 256/512 KB (L2)pamięć podręczna: 16 KB (L1), 256/512 KB (L2)

Page 42: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Przegląd architektury IAPrzegląd architektury IA--3232

�� mikromikro--architektura superskalarna P6 (3 instrukcje/takt architektura superskalarna P6 (3 instrukcje/takt zegara; 5 jednostek wykonawczych: 2 x Integer, 2 x zegara; 5 jednostek wykonawczych: 2 x Integer, 2 x FPU, 1 x MIU)FPU, 1 x MIU)

–– Intel Pentium II (1997):Intel Pentium II (1997):

�� liczba tranzystorów: 7 mlnliczba tranzystorów: 7 mln

�� częstotliwość taktowania: 266 MHzczęstotliwość taktowania: 266 MHz

pamięć podręczna: 32 KB (L1), 256/512 KB (L2)pamięć podręczna: 32 KB (L1), 256/512 KB (L2)

165165

�� pamięć podręczna: 32 KB (L1), 256/512 KB (L2)pamięć podręczna: 32 KB (L1), 256/512 KB (L2)

�� technologia MMXtechnologia MMX

–– Intel Pentium III (1999):Intel Pentium III (1999):

�� liczba tranzystorów: 8.2liczba tranzystorów: 8.2÷÷28 mln28 mln

�� częstotliwość taktowania: 500 MHzczęstotliwość taktowania: 500 MHz

�� pamięć podręczna: 32 KB (L1), 256/512/1024 KB (L2)pamięć podręczna: 32 KB (L1), 256/512/1024 KB (L2)

�� technologia SSE (technologia SSE (Streaming SIMD ExtensionsStreaming SIMD Extensions))

Przegląd architektury IAPrzegląd architektury IA--3232

–– Intel Pentium 4 (2000):Intel Pentium 4 (2000):

�� liczba tranzystorów: 42 mlnliczba tranzystorów: 42 mln

�� częstotliwość taktowania: 1.5 GHzczęstotliwość taktowania: 1.5 GHz

�� pamięć podręczna: 12.000 pamięć podręczna: 12.000 µµops (ETC), 8 KB (L1), 256 ops (ETC), 8 KB (L1), 256 KB (L2)KB (L2)

�� Intel NetBurst MicroIntel NetBurst Micro--ArchitectureArchitecture

166166

�� technologia SSE2technologia SSE2

–– Intel Xeon (2002):Intel Xeon (2002):

�� liczba tranzystorów: 55 mlnliczba tranzystorów: 55 mln

�� częstotliwość taktowania: 2.2 GHzczęstotliwość taktowania: 2.2 GHz

�� pamięć podręczna: 12.000 pamięć podręczna: 12.000 µµops (ETC), 8 KB (L1), 512 ops (ETC), 8 KB (L1), 512 KB (L2)KB (L2)

�� technologia HT (technologia HT (Hyper ThreadingHyper Threading))

Przegląd architektury IAPrzegląd architektury IA--3232

–– Intel Pentium 4 HT (2002):Intel Pentium 4 HT (2002):

�� liczba tranzystorów: 55 mlnliczba tranzystorów: 55 mln

�� częstotliwość taktowania: 3.06 GHzczęstotliwość taktowania: 3.06 GHz

�� pamięć podręczna: 12.000 pamięć podręczna: 12.000 µµops (ETC), 8 KB (L1), 512 ops (ETC), 8 KB (L1), 512 KB (L2)KB (L2)

�� technologia HTtechnologia HT

167167

–– Intel Pentium M (2003):Intel Pentium M (2003):

�� liczba tranzystorów: 77 mlnliczba tranzystorów: 77 mln

�� częstotliwość taktowania: 1.6 GHzczęstotliwość taktowania: 1.6 GHz

�� pamięć podręczna: 32 KB kod + 32 KB dane (L1), 1 MB pamięć podręczna: 32 KB kod + 32 KB dane (L1), 1 MB (L2)(L2)

�� technologia SSE2technologia SSE2

�� technologia APM (technologia APM (Advanced Power ManagementAdvanced Power Management))

Przegląd architektury IAPrzegląd architektury IA--3232

�� Podstawowe środowisko wykonawcze procesorów Podstawowe środowisko wykonawcze procesorów IAIA--32 tworzy:32 tworzy:–– Zestaw rejestrów podstawowych, który zawiera:Zestaw rejestrów podstawowych, który zawiera:

�� osiem 32osiem 32--bitowych rejestrów ogólnego przeznaczenia bitowych rejestrów ogólnego przeznaczenia (EAX, EBX, ECX, EDX, EBP, ESI, EDI, ESP), których (EAX, EBX, ECX, EDX, EBP, ESI, EDI, ESP), których młodsze 16młodsze 16--bitów jest odwzorowywanych na rejestry bitów jest odwzorowywanych na rejestry 1616--bitowe procesorów 8086 i 80286 (AX, BX, CX, DX, bitowe procesorów 8086 i 80286 (AX, BX, CX, DX,

168168

1616--bitowe procesorów 8086 i 80286 (AX, BX, CX, DX, bitowe procesorów 8086 i 80286 (AX, BX, CX, DX, BP, SI, DI, SP); ponadto rejestry AX, BX, CX i DX są BP, SI, DI, SP); ponadto rejestry AX, BX, CX i DX są dodatkowo mapowane na pary rejestrów 8dodatkowo mapowane na pary rejestrów 8--bitowych bitowych (AH, AL, BH, BL, CH, CL, DH, DL)(AH, AL, BH, BL, CH, CL, DH, DL)

�� sześć 16sześć 16--bitowych rejestrów segmentowych (CS, DS, ES, bitowych rejestrów segmentowych (CS, DS, ES, FS, GS, SS)FS, GS, SS)

�� jeden 32jeden 32--bitowy rejestr statusowy (EFLAGS)bitowy rejestr statusowy (EFLAGS)

�� jeden 32jeden 32--bitowy rejestr wskaźnika rozkazów (EIP)bitowy rejestr wskaźnika rozkazów (EIP)

Page 43: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Przegląd architektury IAPrzegląd architektury IA--3232

–– Zestaw rejestrów jednostki zmiennoZestaw rejestrów jednostki zmienno--przecinkowej (FPU), przecinkowej (FPU), który zawiera m.in.:który zawiera m.in.:

�� osiem 80osiem 80--bitowych rejestrów danych zorganizowanych w bitowych rejestrów danych zorganizowanych w postaci stosu: ST(0)postaci stosu: ST(0)÷÷ST(7)ST(7)

�� jeden 16jeden 16--bitowy rejestr sterujący (FPU Control Word)bitowy rejestr sterujący (FPU Control Word)

�� jeden 16jeden 16--bitowy rejestr stanu (FPU Status Word)bitowy rejestr stanu (FPU Status Word)

jeden 16jeden 16--bitowy rejestr słowa wyróżników (FPU Tag bitowy rejestr słowa wyróżników (FPU Tag

169169

�� jeden 16jeden 16--bitowy rejestr słowa wyróżników (FPU Tag bitowy rejestr słowa wyróżników (FPU Tag Word)Word)

�� jeden 48jeden 48--bitowy rejestr wskaźnika rozkazu (FPU bitowy rejestr wskaźnika rozkazu (FPU Instruction Pointer)Instruction Pointer)

�� jeden 48jeden 48--bitowy rejestr wskaźnika argumentu (FPU bitowy rejestr wskaźnika argumentu (FPU Operand Pointer)Operand Pointer)

–– Zestaw ośmiu 64Zestaw ośmiu 64--bitowych rejestrów technologii MMX bitowych rejestrów technologii MMX (MM0(MM0÷÷MM7), współdzielonych z rejestrami danych FPUMM7), współdzielonych z rejestrami danych FPU

Przegląd architektury IAPrzegląd architektury IA--3232

–– Zestaw rejestrów technologii SSE i SSE2, który zawiera:Zestaw rejestrów technologii SSE i SSE2, który zawiera:

�� osiem 128osiem 128--bitowych rejestrów danych (XMM0bitowych rejestrów danych (XMM0÷÷XMM7)XMM7)

�� jeden 32jeden 32--bitowy rejestr kontrolnobitowy rejestr kontrolno--statusowy (MXCSR)statusowy (MXCSR)

–– Zestaw rejestrów pomocniczych, który zawiera m.in.:Zestaw rejestrów pomocniczych, który zawiera m.in.:

�� rejestry sterujące pracą procesora (CR0rejestry sterujące pracą procesora (CR0÷÷CR4)CR4)

�� rejestry podsystemu zarządzania pamięcią (GDTR, rejestry podsystemu zarządzania pamięcią (GDTR,

170170

�� rejestry podsystemu zarządzania pamięcią (GDTR, rejestry podsystemu zarządzania pamięcią (GDTR, LDTR, IDTR, TR)LDTR, IDTR, TR)

�� rejestry uruchomieniowe (DR0rejestry uruchomieniowe (DR0÷÷DR7)DR7)

�� rejestry zaawansowanego kontrolera przerwań APIC rejestry zaawansowanego kontrolera przerwań APIC (ISR, TMR, IRR, ESR)(ISR, TMR, IRR, ESR)

�� rejestry wspomagające testowanie procesora rejestry wspomagające testowanie procesora (TR3(TR3÷÷TR7)TR7)

IAIA--32: Tryby pracy procesora32: Tryby pracy procesora

�� Procesor może pracować w jednym z następujących Procesor może pracować w jednym z następujących trybów pracy:trybów pracy:–– trybie rzeczywistym (trybie rzeczywistym (Real ModeReal Mode, , RealReal--adress Modeadress Mode))

–– trybie chronionym (trybie chronionym (Pretected ModePretected Mode))

–– trybie zarządzania SMM (trybie zarządzania SMM (System Management ModeSystem Management Mode))

�� Procesor działając w trybie rzeczywistym (np. po Procesor działając w trybie rzeczywistym (np. po

171171

�� Procesor działając w trybie rzeczywistym (np. po Procesor działając w trybie rzeczywistym (np. po włączeniu zasilania czy aktywacji sygnału Reset) włączeniu zasilania czy aktywacji sygnału Reset) odpowiada funkcjonalnie procesorowi 8086odpowiada funkcjonalnie procesorowi 8086

�� W tym trybie pracy 20W tym trybie pracy 20--bitowy adres fizyczny bitowy adres fizyczny tworzony jest na podstawie 16tworzony jest na podstawie 16--bitowego adresu bitowego adresu segmentu i 16segmentu i 16--bitowego przesunięcia w segmencie bitowego przesunięcia w segmencie ((Address = 16 * Segment + OffsetAddress = 16 * Segment + Offset))

IAIA--32: Tryby pracy procesora32: Tryby pracy procesora

�� Tryb chroniony jest podstawowym trybem pracy Tryb chroniony jest podstawowym trybem pracy procesora, zapewniającym ochronę niezależnych procesora, zapewniającym ochronę niezależnych zadań wykonywanych współbieżnie w środowisku zadań wykonywanych współbieżnie w środowisku wielozadaniowym (wielozadaniowym (multimulti--tasking environmenttasking environment) )

�� Jedną z możliwości oferowanych przez tryb Jedną z możliwości oferowanych przez tryb chroniony jest udostępnianie dla każdego z chroniony jest udostępnianie dla każdego z

172172

chroniony jest udostępnianie dla każdego z chroniony jest udostępnianie dla każdego z wykonywanych zadań niezależnego środowiska wykonywanych zadań niezależnego środowiska procesora 8086 (procesora 8086 (VirtualVirtual--8086 Mode8086 Mode))

�� Tryb wirtualny procesora 8086 pozwala na Tryb wirtualny procesora 8086 pozwala na uruchamianie programów pisanych dla trybu uruchamianie programów pisanych dla trybu rzeczywistego w środowisku wielozadaniowym rzeczywistego w środowisku wielozadaniowym (chronionym)(chronionym)

Page 44: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

IAIA--32: Tryby pracy procesora32: Tryby pracy procesora

�� Tryb zarządzania SMM pozwala na realizację funkcji Tryb zarządzania SMM pozwala na realizację funkcji systemowych wysokiego poziomu, takich jak systemowych wysokiego poziomu, takich jak zarządzanie energią czy ochrona zasobów przed zarządzanie energią czy ochrona zasobów przed nieuprawnionym dostępemnieuprawnionym dostępem

�� Funkcjonowanie procesora w trybie zarządzania SMM Funkcjonowanie procesora w trybie zarządzania SMM kontrolowane jest wyłącznie przez oprogramowanie kontrolowane jest wyłącznie przez oprogramowanie

173173

kontrolowane jest wyłącznie przez oprogramowanie kontrolowane jest wyłącznie przez oprogramowanie systemowe zawarte w pamięci stałej w sposób systemowe zawarte w pamięci stałej w sposób transparentny dla innych programówtransparentny dla innych programów

�� Typowym zastosowaniem tego trybu pracy jest Typowym zastosowaniem tego trybu pracy jest implementacja systemu zarządzania zasilaniem, który implementacja systemu zarządzania zasilaniem, który może wprowadzać procesor i wybrane urządzenia może wprowadzać procesor i wybrane urządzenia zewnętrzne w stan „uśpienia” w okresie bezczynnościzewnętrzne w stan „uśpienia” w okresie bezczynności

IAIA--32: Zarządzanie pamięcią32: Zarządzanie pamięcią

�� Procesory linii IAProcesory linii IA--32 mogą adresować maksymalnie 32 mogą adresować maksymalnie do 64 GB (2do 64 GB (23636) pamięci fizycznej (najmniejszą ) pamięci fizycznej (najmniejszą adresowalną jednostką pamięci fizycznej jest bajt)adresowalną jednostką pamięci fizycznej jest bajt)

�� Mechanizm zarządzania pamięcią wirtualną Mechanizm zarządzania pamięcią wirtualną procesora (procesora (virtual memory management machanismvirtual memory management machanism) ) odwzorowuje przestrzeń adresową wykonywanego odwzorowuje przestrzeń adresową wykonywanego

174174

odwzorowuje przestrzeń adresową wykonywanego odwzorowuje przestrzeń adresową wykonywanego programu w przestrzeń pamięci fizycznej programu w przestrzeń pamięci fizycznej wykorzystując jeden z trzech modeli pamięci:wykorzystując jeden z trzech modeli pamięci:–– model płaski (model płaski (flat modelflat model))

–– model segmentowy (model segmentowy (segment modelsegment model))

–– model trybu rzeczywistego procesora 8086 (model trybu rzeczywistego procesora 8086 (realreal--address address modelmodel))

IAIA--32: Zarządzanie pamięcią32: Zarządzanie pamięcią

�� W modelu płaskim pamięć widoczna dla programu W modelu płaskim pamięć widoczna dla programu jest ciągła i liniowa (kod, dane oraz stos programu jest ciągła i liniowa (kod, dane oraz stos programu rezydują w jednej przestrzeni adresowej)rezydują w jednej przestrzeni adresowej)

�� Maksymalny rozmiar udostępnianej programowi Maksymalny rozmiar udostępnianej programowi przestrzeni liniowej wynosi 4 GB (2przestrzeni liniowej wynosi 4 GB (23232))

�� W modelu segmentowym pamięć widoczna jest dla W modelu segmentowym pamięć widoczna jest dla

175175

�� W modelu segmentowym pamięć widoczna jest dla W modelu segmentowym pamięć widoczna jest dla programu jako grupa niezależnych obszarów pamięci programu jako grupa niezależnych obszarów pamięci zwanych segmentami (najczęściej kod, dane oraz zwanych segmentami (najczęściej kod, dane oraz stos programu rezydują w niezależnych segmentach)stos programu rezydują w niezależnych segmentach)

�� W tym modelu program może zaadresować W tym modelu program może zaadresować maksymalnie 16383 segmenty różnego typu i o maksymalnie 16383 segmenty różnego typu i o różnym rozmiarze (nie większym jednak niż 4 GB)różnym rozmiarze (nie większym jednak niż 4 GB)

IAIA--32: Zarządzanie pamięcią32: Zarządzanie pamięcią

�� Adres logiczny (Adres logiczny (far pointerfar pointer) w modelu segmentowym ) w modelu segmentowym składa się z dwóch elementów: 16składa się z dwóch elementów: 16--bitowego bitowego selektora segmentu (selektora segmentu (segment selectorsegment selector) i 32) i 32--bitowego przesunięcia w segmencie (bitowego przesunięcia w segmencie (offsetoffset))

�� Selektor segmentu stanowi indeks do globalnej Selektor segmentu stanowi indeks do globalnej (GDT) lub lokalnej (LDT) tablicy deskryptorów (GDT) lub lokalnej (LDT) tablicy deskryptorów

176176

(GDT) lub lokalnej (LDT) tablicy deskryptorów (GDT) lub lokalnej (LDT) tablicy deskryptorów opisujących poszczególne segmentyopisujących poszczególne segmenty

�� Deskryptor segmentu (Deskryptor segmentu (segment descriptorsegment descriptor) jest ) jest strukturą przechowującą jego typ, granularność, strukturą przechowującą jego typ, granularność, rozmiar, lokalizację w pamięci oraz prawa dostępurozmiar, lokalizację w pamięci oraz prawa dostępu

�� Adresacja wewnątrz pojedynczego segmentu jest Adresacja wewnątrz pojedynczego segmentu jest liniowaliniowa

Page 45: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

IAIA--32: Zarządzanie pamięcią32: Zarządzanie pamięcią

�� Selektory segmentów przechowywane są w Selektory segmentów przechowywane są w rejestrach segmentowych (CS, DS, ES, FS, GS i SS)rejestrach segmentowych (CS, DS, ES, FS, GS i SS)

�� Przesunięcia wewnątrz segmentów przechowywane Przesunięcia wewnątrz segmentów przechowywane są najczęściej w rejestrach ogólnego przeznaczenia są najczęściej w rejestrach ogólnego przeznaczenia (np. EBX i ESI dla DS, EDI dla ES, EBP i ESP dla SS)(np. EBX i ESI dla DS, EDI dla ES, EBP i ESP dla SS)

�� Zaletą stosowania modelu segmentowego jest Zaletą stosowania modelu segmentowego jest

177177

�� Zaletą stosowania modelu segmentowego jest Zaletą stosowania modelu segmentowego jest możliwość poprawienia niezawodności programu możliwość poprawienia niezawodności programu (systemu operacyjnego) dzięki:(systemu operacyjnego) dzięki:–– odseparowaniu od siebie programów wykonywanych odseparowaniu od siebie programów wykonywanych

współbieżnie w środowisku wielozadaniowymwspółbieżnie w środowisku wielozadaniowym

–– rozdzieleniu logicznie niezależnych „fragmentów” programu rozdzieleniu logicznie niezależnych „fragmentów” programu (np. stosu od danych)(np. stosu od danych)

IAIA--32: Zarządzanie pamięcią32: Zarządzanie pamięcią

�� Model trybu rzeczywistego odwzorowuje mechanizm Model trybu rzeczywistego odwzorowuje mechanizm adresowania pamięci procesora 8086 adresowania pamięci procesora 8086

�� Tryb ten wykorzystuje specjalną implementację Tryb ten wykorzystuje specjalną implementację modelu segmentowego polegającą na podziale modelu segmentowego polegającą na podziale pamięci na nakładające się wzajemnie i przesunięte pamięci na nakładające się wzajemnie i przesunięte o 16 B segmenty o stałym rozmiarze 64 KB o 16 B segmenty o stałym rozmiarze 64 KB

178178

o 16 B segmenty o stałym rozmiarze 64 KB o 16 B segmenty o stałym rozmiarze 64 KB

�� Maksymalny rozmiar udostępnianej programowi Maksymalny rozmiar udostępnianej programowi przestrzeni adresowej wynosi 1 MB (2przestrzeni adresowej wynosi 1 MB (22020))

�� Fizyczny adres w pamięci wyznaczany jest na Fizyczny adres w pamięci wyznaczany jest na podstawie 16podstawie 16--bitowego adresu segmentu (bitowego adresu segmentu (segmentsegment) ) i 16i 16--bitowego przesunięcia w segmencie (bitowego przesunięcia w segmencie (offsetoffset))

IAIA--32: Zarządzanie pamięcią32: Zarządzanie pamięcią

�� Począwszy od procesora 80386 odwzorowanie Począwszy od procesora 80386 odwzorowanie adresu logicznego na adres fizyczny (w modelach adresu logicznego na adres fizyczny (w modelach płaskim i segmentowym) może być realizowane z płaskim i segmentowym) może być realizowane z wykorzystaniem mechanizmu stronicowania pamięciwykorzystaniem mechanizmu stronicowania pamięci

�� Jednostka stronicowania (Jednostka stronicowania (Paging UnitPaging Unit) dzieli liniową ) dzieli liniową przestrzeń adresową na strony (przestrzeń adresową na strony (pagespages) o stałym ) o stałym

179179

przestrzeń adresową na strony (przestrzeń adresową na strony (pagespages) o stałym ) o stałym rozmiarze (4 KB, 2 MB lub 4 MB), które są następnie rozmiarze (4 KB, 2 MB lub 4 MB), które są następnie odwzorowywane w pamięci wirtualnej złożonej z odwzorowywane w pamięci wirtualnej złożonej z pamięci operacyjnej i pamięci dyskowejpamięci operacyjnej i pamięci dyskowej

�� Maksymalny rozmiar adresowalnej w ten sposób Maksymalny rozmiar adresowalnej w ten sposób pamięci wirtualnej wynosi 64 TBpamięci wirtualnej wynosi 64 TB

IAIA--32: Zarządzanie pamięcią32: Zarządzanie pamięcią

�� W przypadku strony o rozmiarze 4 KB interpretacja W przypadku strony o rozmiarze 4 KB interpretacja adresu liniowego jest następująca:adresu liniowego jest następująca:–– Najstarsze 10 bitów adresu stanowi indeks w katalogu stron Najstarsze 10 bitów adresu stanowi indeks w katalogu stron

((Page DirectoryPage Directory) przechowującym wskaźniki do tablic stron; ) przechowującym wskaźniki do tablic stron; adres fizyczny katalogu stron znajduje się w rejestrze CR3adres fizyczny katalogu stron znajduje się w rejestrze CR3

–– Kolejnych 10 bitów adresu stanowi indeks w tablicy stron Kolejnych 10 bitów adresu stanowi indeks w tablicy stron ((Page TablePage Table) przechowującej fizyczny adres początku strony) przechowującej fizyczny adres początku strony

180180

((Page TablePage Table) przechowującej fizyczny adres początku strony) przechowującej fizyczny adres początku strony

–– Pozostałe 12 bitów adresu traktowane jest jako przesunięcie Pozostałe 12 bitów adresu traktowane jest jako przesunięcie wewnątrz wybranej stronywewnątrz wybranej strony

�� W przypadku strony o rozmiarze 4 MB katalog stron W przypadku strony o rozmiarze 4 MB katalog stron (indeksowany 10 bitami adresu) przechowuje adres (indeksowany 10 bitami adresu) przechowuje adres fizyczny początku strony, pozostałe 22 bity adresu fizyczny początku strony, pozostałe 22 bity adresu liniowego stanowi przesunięcie wewnątrz stronyliniowego stanowi przesunięcie wewnątrz strony

Page 46: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

IAIA--32: Zarządzanie pamięcią32: Zarządzanie pamięcią

�� Jeżeli wyznaczona w powyższy sposób strona nie Jeżeli wyznaczona w powyższy sposób strona nie znajduje się w pamięci operacyjnej, to jej adres znajduje się w pamięci operacyjnej, to jej adres zostaje zapisany w rejestrze CR2 i generowany jest zostaje zapisany w rejestrze CR2 i generowany jest wyjątek błędu strony (wyjątek błędu strony (page faultpage fault))

�� Zadanie wczytania brakującej strony z dysku Zadanie wczytania brakującej strony z dysku spoczywa na systemie operacyjnym (procedurze spoczywa na systemie operacyjnym (procedurze

181181

spoczywa na systemie operacyjnym (procedurze spoczywa na systemie operacyjnym (procedurze obsługi tego wyjątku)obsługi tego wyjątku)

�� W celu zwiększenia efektywności mechanizmu W celu zwiększenia efektywności mechanizmu stronicowania procesor wyposażony jest w pamięci stronicowania procesor wyposażony jest w pamięci podręczne TLB (podręczne TLB (Translation Lookaside BufferTranslation Lookaside Buffer) ) przechowującą zawartość ostatnio używanych przechowującą zawartość ostatnio używanych (maksymalnie 128) tablic stron(maksymalnie 128) tablic stron

IAIA--32: Technologia MMX32: Technologia MMX

�� Technologia MMX (Technologia MMX (MultiMedia eXtensionMultiMedia eXtension) ma celu ) ma celu zwiększenie efektywności wykonywania programów zwiększenie efektywności wykonywania programów (głównie multimedialnych), które cechują się (głównie multimedialnych), które cechują się powtarzaniem takich samych, prostych operacji na powtarzaniem takich samych, prostych operacji na długich ciągach krótkich danychdługich ciągach krótkich danych

�� Idea leżąca u podstaw technologii MMX stanowi krok Idea leżąca u podstaw technologii MMX stanowi krok

182182

�� Idea leżąca u podstaw technologii MMX stanowi krok Idea leżąca u podstaw technologii MMX stanowi krok w stronę przetwarzania równoległego SIMD (w stronę przetwarzania równoległego SIMD (Single Single Instruction Multiple DataInstruction Multiple Data) ) –– zamiast kolejnego zamiast kolejnego przetwarzania pojedynczych jednostek informacji, przetwarzania pojedynczych jednostek informacji, można te same dane przetworzyć szybciej, można te same dane przetworzyć szybciej, pobierając i wykonując rozkazy na kilku porcjach pobierając i wykonując rozkazy na kilku porcjach informacji na raz informacji na raz

IAIA--32: Technologia MMX32: Technologia MMX

�� Procesor implementujący technologię MMX Procesor implementujący technologię MMX wyposażony jest w osiem 64wyposażony jest w osiem 64--bitowych rejestrów: bitowych rejestrów: MM0MM0÷÷MM7, pozwalających na przechowywanie MM7, pozwalających na przechowywanie nowych typów danych (tzw. danych spakowanych):nowych typów danych (tzw. danych spakowanych):–– Packet Bytes (8 x 8 bitów)Packet Bytes (8 x 8 bitów)

–– Packed Words (4 x 16 bitów)Packed Words (4 x 16 bitów)

183183

–– Packed Words (4 x 16 bitów)Packed Words (4 x 16 bitów)

–– Packet Doublewords (2 x 32 bity)Packet Doublewords (2 x 32 bity)

–– Quadword (1 x 64 bity)Quadword (1 x 64 bity)

�� Jednoczesne wykonywanie operacji na danych Jednoczesne wykonywanie operacji na danych spakowanych umożliwia zestaw dodatkowych 57 spakowanych umożliwia zestaw dodatkowych 57 rozkazów typu SIMD wykorzystujących tzw. rozkazów typu SIMD wykorzystujących tzw. arytmetykę nasyceniaarytmetykę nasycenia

IAIA--32: Technologia MMX32: Technologia MMX

�� W arytmetyce nasycenia nie występuje sygnalizacja W arytmetyce nasycenia nie występuje sygnalizacja wystąpienia przekroczenia zakresu (w wyniku wystąpienia przekroczenia zakresu (w wyniku pakowania lub wykonywania operacji) lecz pakowania lub wykonywania operacji) lecz zastąpienie wyniku wartością maksymalną lub zastąpienie wyniku wartością maksymalną lub minimalną dla danego typu danychminimalną dla danego typu danych

�� Dla przykładu obliczanie dwóch iloczynów skalarnych Dla przykładu obliczanie dwóch iloczynów skalarnych

184184

�� Dla przykładu obliczanie dwóch iloczynów skalarnych Dla przykładu obliczanie dwóch iloczynów skalarnych wektorów może zostać zastąpione pojedynczym wektorów może zostać zastąpione pojedynczym rozkazem PMADDWD:rozkazem PMADDWD:

a0*b0+a1*b1 c0*d0+c1*d1

a0 a1 c0 c1 b0 b1 d0 d1* +

Page 47: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

IAIA--32: Technologia SSE (SSE2, ...)32: Technologia SSE (SSE2, ...)

�� Technologia SSE (Technologia SSE (Streaming SIMD ExtensionsStreaming SIMD Extensions) ) rozszerza ideę jednoczesnego przetwarzania grupy rozszerza ideę jednoczesnego przetwarzania grupy danych pojedynczym rozkazem (znaną z technologii danych pojedynczym rozkazem (znaną z technologii MMX) na dane w formacie zmiennoprzecinkowymMMX) na dane w formacie zmiennoprzecinkowym

�� Procesor implementujący technologię SSE (SSE 2) Procesor implementujący technologię SSE (SSE 2) wyposażony jest w osiem 128wyposażony jest w osiem 128--bitowych rejestrów bitowych rejestrów

185185

wyposażony jest w osiem 128wyposażony jest w osiem 128--bitowych rejestrów bitowych rejestrów XMM0XMM0÷÷XMM7 oraz rejestr kontrolnoXMM7 oraz rejestr kontrolno--sterujący sterujący MXCSRMXCSR

�� Zaletą takiego rozwiązania jest uniezależnienie się od Zaletą takiego rozwiązania jest uniezależnienie się od rejestrów zmiennoprzecinkowych FPUrejestrów zmiennoprzecinkowych FPU

�� Największą wadą tej technologii jest brak zgodności Największą wadą tej technologii jest brak zgodności z wcześniejszymi typami procesorówz wcześniejszymi typami procesorów

IAIA--32: Technologia SSE (SSE2, ...)32: Technologia SSE (SSE2, ...)

�� Lista rozkazów SSE zawiera 72 rozkazy obejmujące:Lista rozkazów SSE zawiera 72 rozkazy obejmujące:–– rozkazy przetwarzające grupy danych zmiennorozkazy przetwarzające grupy danych zmienno--

przecinkowych (przecinkowych (SIMD Floating PointSIMD Floating Point))

–– rozkazy przetwarzające pojedyncze dane zmiennorozkazy przetwarzające pojedyncze dane zmienno--przecinkowe (przecinkowe (Single ScalarSingle Scalar))

–– rozkazy sterujące przepływem danych (rozkazy sterujące przepływem danych (Memory Streaming Memory Streaming InstructionsInstructions))

186186

InstructionsInstructions))

–– rozkazy rozszerzające technologię MMX (rozkazy rozszerzające technologię MMX (SIMDSIMD--INTINT))

–– rozkazy sterujące (rozkazy sterujące (ControlControl))

�� Typowym zastosowaniem technologii SSE jest Typowym zastosowaniem technologii SSE jest obróbka grafiki 3D oraz pełnoekranowa kompresja obróbka grafiki 3D oraz pełnoekranowa kompresja (dekompresja) MPEG(dekompresja) MPEG--2 w czasie rzeczywistym2 w czasie rzeczywistym

Magistrale systemoweMagistrale systemowe

�� Magistrala jest zbiorem pewnych linii sygnałowych Magistrala jest zbiorem pewnych linii sygnałowych umożliwiającym takie połączenie współpracujących umożliwiającym takie połączenie współpracujących elementów, aby każdy z nich mógł komunikować się elementów, aby każdy z nich mógł komunikować się ze wszystkimi pozostałymize wszystkimi pozostałymi

�� Podstawowe cechy magistral:Podstawowe cechy magistral:–– Rodzaj (specjalistyczna, multipleksowana)Rodzaj (specjalistyczna, multipleksowana)

187187

–– Rodzaj (specjalistyczna, multipleksowana)Rodzaj (specjalistyczna, multipleksowana)

–– Metoda arbitrażu (centralny, rozproszony)Metoda arbitrażu (centralny, rozproszony)

–– Koordynacja czasowa (synchroniczna, asynchroniczna)Koordynacja czasowa (synchroniczna, asynchroniczna)

–– Szerokość magistrali (adres, dane)Szerokość magistrali (adres, dane)

–– Rodzaj transferu danych (zapis, odczyt, odczytRodzaj transferu danych (zapis, odczyt, odczyt--modyfikacjamodyfikacja--zapis, odczytzapis, odczyt--popo--zapisie, blokowy)zapisie, blokowy)

Magistrale systemoweMagistrale systemowe

�� Magistrala systemowa jest komponentem Magistrala systemowa jest komponentem zapewniającym komunikację między podstawowymi zapewniającym komunikację między podstawowymi podzespołami systemu komputerowego (procesor, podzespołami systemu komputerowego (procesor, pamięć, układy wejściapamięć, układy wejścia--wyjścia)wyjścia)

�� W stosowanych obecnie magistralach systemowych W stosowanych obecnie magistralach systemowych możemy wyróżnić trzy grupy linii sygnałowych:możemy wyróżnić trzy grupy linii sygnałowych:

188188

możemy wyróżnić trzy grupy linii sygnałowych:możemy wyróżnić trzy grupy linii sygnałowych:–– linie adresowe (tworzące tzw. magistralę adresową)linie adresowe (tworzące tzw. magistralę adresową)

–– linie danych (tworzące tzw. magistralę danych)linie danych (tworzące tzw. magistralę danych)

–– linie sterujące (tworzące tzw. magistralę sterująca)linie sterujące (tworzące tzw. magistralę sterująca)

�� Typowym rozwiązaniem zwiększającym wydajność Typowym rozwiązaniem zwiększającym wydajność systemu komputerowego jest stosowanie struktur systemu komputerowego jest stosowanie struktur wielomagistralowych o określonej hierarchii wielomagistralowych o określonej hierarchii

Page 48: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Magistrale systemoweMagistrale systemowe

�� W zależności od przeznaczenia można wyróżnić wiele W zależności od przeznaczenia można wyróżnić wiele rodzajów magistral:rodzajów magistral:–– magistrala pamięciowamagistrala pamięciowa

–– magistrala międzyukładowa (wewnętrzna)magistrala międzyukładowa (wewnętrzna)

–– magistrala rozszerzająca (zewnętrzna)magistrala rozszerzająca (zewnętrzna)

–– magistrala lokalnamagistrala lokalna

189189

–– magistrala lokalnamagistrala lokalna

�� Zadaniem magistrali pamięciowej (Zadaniem magistrali pamięciowej (memory busmemory bus) jest ) jest przesyłanie informacji między procesorem a pamięcią przesyłanie informacji między procesorem a pamięcią operacyjną i/lub pamięcią podręcznąoperacyjną i/lub pamięcią podręczną

�� Magistrala międzyukładowa (Magistrala międzyukładowa (interconnect businterconnect bus) służy ) służy do wymiany informacji między poszczególnymi do wymiany informacji między poszczególnymi układami otoczenia procesora (układami otoczenia procesora (chipsetschipsets))

Magistrale systemoweMagistrale systemowe

�� Magistrala rozszerzająca (Magistrala rozszerzająca (expansion busexpansion bus) służy do ) służy do wymiany informacji między urządzeniami wejściawymiany informacji między urządzeniami wejścia--wyjścia a resztą systemu komputerowegowyjścia a resztą systemu komputerowego

�� Najczęściej konstrukcja tego typu magistrali musi Najczęściej konstrukcja tego typu magistrali musi spełniać warunki zgodności z wcześniejszymi spełniać warunki zgodności z wcześniejszymi rozwiązaniami i zapewnić poprawną współpracę z rozwiązaniami i zapewnić poprawną współpracę z

190190

rozwiązaniami i zapewnić poprawną współpracę z rozwiązaniami i zapewnić poprawną współpracę z szerokim zakresem urządzeń peryferyjnychszerokim zakresem urządzeń peryferyjnych

�� Magistrala lokalna (Magistrala lokalna (local buslocal bus) jest odmianą magistrali ) jest odmianą magistrali rozszerzającej przeznaczoną do obsługi urządzeń rozszerzającej przeznaczoną do obsługi urządzeń wymagających bardzo szybkiej transmisji danych wymagających bardzo szybkiej transmisji danych (np. dysków twardych, kart graficznych, kontrolerów (np. dysków twardych, kart graficznych, kontrolerów SCSI)SCSI)

Magistrale systemoweMagistrale systemowe

�� Cechą charakterystyczną magistrali lokalnej jest Cechą charakterystyczną magistrali lokalnej jest bezpośrednie korzystanie z sygnałów sterujących bezpośrednie korzystanie z sygnałów sterujących procesora oraz praca z prędkością wyznaczoną przez procesora oraz praca z prędkością wyznaczoną przez zegar systemowyzegar systemowy

�� Przegląd standardów magistral rozszerzających:Przegląd standardów magistral rozszerzających:–– ISA (ISA (Industry Standard ArchitectureIndustry Standard Architecture))

191191

–– ISA (ISA (Industry Standard ArchitectureIndustry Standard Architecture))

�� standard magistrali oparty na rozwiązaniu z IBM PC/ATstandard magistrali oparty na rozwiązaniu z IBM PC/AT

�� przepustowość 8.33 MB/s (taktowanie 8.33 MHz)przepustowość 8.33 MB/s (taktowanie 8.33 MHz)

�� 1616--bitowa szyna danychbitowa szyna danych

�� kontroler DMA oparty na dwóch połączonych kaskadowo kontroler DMA oparty na dwóch połączonych kaskadowo układach 8237Aukładach 8237A

�� kontroler przerwań sprzętowych oparty na dwóch kontroler przerwań sprzętowych oparty na dwóch połączonych kaskadowo układach 8259Apołączonych kaskadowo układach 8259A

Magistrale systemoweMagistrale systemowe

–– MCA (MCA (Micro Channel ArchitectureMicro Channel Architecture))

�� brak zgodności ze standardem ISAbrak zgodności ze standardem ISA

�� 3232--bitowa szyna danychbitowa szyna danych

�� przepustowość 20 MB/s (taktowanie 10 MHz)przepustowość 20 MB/s (taktowanie 10 MHz)

�� dostęp do pamięci taktowany częstotliwością zegara dostęp do pamięci taktowany częstotliwością zegara procesoraprocesora

192192

�� wsparcie dla systemów wieloprocesorowych (centralny wsparcie dla systemów wieloprocesorowych (centralny procesor na płycie głównej tzw. procesor na płycie głównej tzw. Host CPUHost CPU może być może być wspomagany przez 16 procesorów umieszczonych na wspomagany przez 16 procesorów umieszczonych na kartach rozszerzających; dla potrzeb komunikacji między kartach rozszerzających; dla potrzeb komunikacji między procesorami, uwzględnienia ich priorytetów, przydziału procesorami, uwzględnienia ich priorytetów, przydziału odcinków czasowych dla dysponowania magistralami, odcinków czasowych dla dysponowania magistralami, dedykowano specjalną 4dedykowano specjalną 4--bitową szynę sterującą)bitową szynę sterującą)

Page 49: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Magistrale systemoweMagistrale systemowe

�� kontroler DMA obsługujący osiem 32kontroler DMA obsługujący osiem 32--bitowych kanałów bitowych kanałów (brak emulacji 8(brak emulacji 8-- i 16i 16--bitowych trybów pracy układu bitowych trybów pracy układu 8237A; wszystkie kanały mogą być jednocześnie 8237A; wszystkie kanały mogą być jednocześnie aktywne)aktywne)

�� kontroler przerwań sprzętowych wyzwalanych poziomem kontroler przerwań sprzętowych wyzwalanych poziomem pozwalający dzięki przydziałowi wielu urządzeń do pozwalający dzięki przydziałowi wielu urządzeń do jednego kanału na obsługę do 255 urządzeńjednego kanału na obsługę do 255 urządzeń

193193

jednego kanału na obsługę do 255 urządzeńjednego kanału na obsługę do 255 urządzeń

�� kontroler przerwań sprzętowych obsługujący do 255 kontroler przerwań sprzętowych obsługujący do 255 urządzeń (przydział jednego kanału wielu urządzeniom; urządzeń (przydział jednego kanału wielu urządzeniom; przerwania wyzwalane poziomem)przerwania wyzwalane poziomem)

–– EISA (EISA (Extended Industry Standard ArchitectureExtended Industry Standard Architecture))

�� zgodność ze standardem ISAzgodność ze standardem ISA

�� 3232--bitowa szyna danychbitowa szyna danych

�� przepustowość 33 MB/s (taktowanie 8.33 MHz)przepustowość 33 MB/s (taktowanie 8.33 MHz)

Magistrale systemoweMagistrale systemowe

�� dostęp do pamięci realizowany jest z pełną dostęp do pamięci realizowany jest z pełną częstotliwością zegara procesoraczęstotliwością zegara procesora

�� możliwość symulowania przez kontroler magistrali możliwość symulowania przez kontroler magistrali starego, 16starego, 16--bitowego trybu pracybitowego trybu pracy

�� wsparcie dla systemów wieloprocesorowych (kontroler wsparcie dla systemów wieloprocesorowych (kontroler magistrali umożliwia hierarchicznomagistrali umożliwia hierarchiczno--priorytetowy sposób priorytetowy sposób dostępu wielu procesorów do magistrali systemowej)dostępu wielu procesorów do magistrali systemowej)

194194

dostępu wielu procesorów do magistrali systemowej)dostępu wielu procesorów do magistrali systemowej)

�� kontroler DMA obsługujący siedem 8kontroler DMA obsługujący siedem 8--, 16, 16-- lub 32lub 32--bitowych kanałów DMA (rotacyjny system przydziału bitowych kanałów DMA (rotacyjny system przydziału kanałów; pełne 32kanałów; pełne 32--bitowe adresowanie umożliwiające bitowe adresowanie umożliwiające transfer bloków o wielkości do 4 GB)transfer bloków o wielkości do 4 GB)

�� kontroler przerwań sprzętowych obsługujący przerwania kontroler przerwań sprzętowych obsługujący przerwania wyzwalane poziomemwyzwalane poziomem

Magistrale systemoweMagistrale systemowe

–– VESA Local Bus (VESA Local Bus (Video Electronics Standards AssociationVideo Electronics Standards Association))

�� 3232--bitowa szyna danychbitowa szyna danych

�� przepustowość do 120 MB/sprzepustowość do 120 MB/s

�� praktycznie obługa tylko dwóch urządzeń: karty praktycznie obługa tylko dwóch urządzeń: karty graficznej i kontrolera dyskówgraficznej i kontrolera dysków

�� silna zależność od sprzętu (magistrala wykorzystuje silna zależność od sprzętu (magistrala wykorzystuje część niebuforowanych sygnałów procesora 80486)część niebuforowanych sygnałów procesora 80486)

195195

część niebuforowanych sygnałów procesora 80486)część niebuforowanych sygnałów procesora 80486)

–– PCI (PCI (Peripherial Component InterconnectPeripherial Component Interconnect))

�� 32/6432/64--bitowa szyna danychbitowa szyna danych

�� przepustowość 133/266/533 MB/s (taktowanie 33/66 przepustowość 133/266/533 MB/s (taktowanie 33/66 MHz)MHz)

�� odczyt i zapis w trybie pakietowym (odczyt i zapis w trybie pakietowym (burstburst))

�� obsługa do 32 urządzeń (wielofunkcyjnych)obsługa do 32 urządzeń (wielofunkcyjnych)

Magistrale systemoweMagistrale systemowe

�� możliwość współpracy do 256 magistral PCI w jednym możliwość współpracy do 256 magistral PCI w jednym systemie komputerowym (systemie komputerowym (PCIPCI--toto--PCI bridgesPCI bridges))

�� możliwość obsługi magistrali ISA (możliwość obsługi magistrali ISA (PCIPCI--toto--ISA bridgeISA bridge))

�� niezależność od typu procesora (komunikacja z niezależność od typu procesora (komunikacja z procesorem i pamięcią realizowana jest za procesorem i pamięcią realizowana jest za pośrednictwem specjalnego układu pośrednictwem specjalnego układu -- PCI bridgePCI bridge))

�� wbudowany mechanizm autokonfiguracjiwbudowany mechanizm autokonfiguracji

196196

�� wbudowany mechanizm autokonfiguracjiwbudowany mechanizm autokonfiguracji

�� urządzenia dołączane do magistrali mogą należeć do urządzenia dołączane do magistrali mogą należeć do jednej z dwóch kategorii: urządzeń inicjujących jednej z dwóch kategorii: urządzeń inicjujących transmisję transmisję –– inicjatorów (inicjatorów (initiatorsinitiators), które zarządzają ), które zarządzają magistralą oraz urządzeń podporządkowanych (magistralą oraz urządzeń podporządkowanych (slavesslaves) ) potrafiących jedynie transmitować dane; transmisja potrafiących jedynie transmitować dane; transmisja danych może odbywać się między dwoma inicjatorami danych może odbywać się między dwoma inicjatorami lub inicjatorem a urządzeniem podporządkowanymlub inicjatorem a urządzeniem podporządkowanym

Page 50: Architektura Architektura komputerów komputerówe-keller.pl/wp-content/uploads/2016/07/architektura.pdf · Zarys historii komputerów 1951: UNIVAC ( Universal Automatic Computer))

Magistrale systemoweMagistrale systemowe

�� Magistrala Magistrala umożliwia współdzielenie każdej z czterech umożliwia współdzielenie każdej z czterech linii zgłoszenia przerwanialinii zgłoszenia przerwania (INTA#(INTA#÷÷INTD#) przez kilka INTD#) przez kilka urządzeń, lecz nie określa sposobu ich podłączenia do urządzeń, lecz nie określa sposobu ich podłączenia do kontrolera przerwań systemukontrolera przerwań systemu

�� urządzenia PCI mogą pracować z napięciem 5V lub 3.3Vurządzenia PCI mogą pracować z napięciem 5V lub 3.3V

–– AGP (AGP (Accelerated Graphics PortAccelerated Graphics Port))

�� magistrala AGP dedykowana do obsługi układu magistrala AGP dedykowana do obsługi układu

197197

�� magistrala AGP dedykowana do obsługi układu magistrala AGP dedykowana do obsługi układu graficznego jest rozszerzeniem standardu PCI 2.1graficznego jest rozszerzeniem standardu PCI 2.1

�� magistrala AGP może pracować w jednym z czterech magistrala AGP może pracować w jednym z czterech trybów:trybów:

–– 1x (częstotliwość 66MHz, przepustowość 266 MB/s)1x (częstotliwość 66MHz, przepustowość 266 MB/s)

–– 2x (wykorzystanie obu zboczy sygnału zegarowego 2x (wykorzystanie obu zboczy sygnału zegarowego 66MHz, przepustowość 532 MB/s, obniżenie napięcia 66MHz, przepustowość 532 MB/s, obniżenie napięcia z 5V do 3.3V) z 5V do 3.3V)

Magistrale systemoweMagistrale systemowe

–– 4x (dwie transakcje na jeden cylk zegara, 4x (dwie transakcje na jeden cylk zegara, przepustowość 1064 MB/s, obniżenie napięcia do przepustowość 1064 MB/s, obniżenie napięcia do 1.5V) 1.5V) –– specyfikacja AGP 2.0specyfikacja AGP 2.0

–– 8x (zmiany w protokole transmisji, przepustowość 8x (zmiany w protokole transmisji, przepustowość 2.1 GB/s, obniżenie napięcia do 0.8V, zgodność z 2.1 GB/s, obniżenie napięcia do 0.8V, zgodność z trybem 4x) trybem 4x) –– specyfikacja AGP 3.0specyfikacja AGP 3.0

�� Aby wykorzystać pełne pasmo przenoszenia 32Aby wykorzystać pełne pasmo przenoszenia 32--bitowej bitowej

198198

�� Aby wykorzystać pełne pasmo przenoszenia 32Aby wykorzystać pełne pasmo przenoszenia 32--bitowej bitowej magistrali AGP do przesyłania danych kontroler graficzny magistrali AGP do przesyłania danych kontroler graficzny może opcjonalnie wykorzystać pomocniczą, 8może opcjonalnie wykorzystać pomocniczą, 8--bitową bitową magistralę SBA (magistralę SBA (Sideband AddressingSideband Addressing) do niezależnego ) do niezależnego przesyłania adresów i rozkazówprzesyłania adresów i rozkazów

–– PCI Express (PCIe, PCIPCI Express (PCIe, PCI--E)E)

�� magistrala połączeniowa typu punktmagistrala połączeniowa typu punkt--punkt (kontroler punkt (kontroler ––urządzenie PCIurządzenie PCI--E, najczęściej karta graficzna)E, najczęściej karta graficzna)

Magistrale systemoweMagistrale systemowe

�� magistrala PCImagistrala PCI--E wykorzystuje od 1 do 32 linii E wykorzystuje od 1 do 32 linii sygnałowych determinujących jej przepustowość sygnałowych determinujących jej przepustowość (500 MB/s na jedną linię w trybie (500 MB/s na jedną linię w trybie fullfull--duplexduplex v2.0) v2.0) oraz oraz rozmiar złącza połączeniowegorozmiar złącza połączeniowego

�� przepustowość magistrali PCIprzepustowość magistrali PCI--E w zależności od jej E w zależności od jej wariantu wynosi od 250 MB/s (x1) do 16 GB/s (x16)wariantu wynosi od 250 MB/s (x1) do 16 GB/s (x16)

�� maksymalny pobór mocy urzdzenia podłączonego do maksymalny pobór mocy urzdzenia podłączonego do

199199

�� maksymalny pobór mocy urzdzenia podłączonego do maksymalny pobór mocy urzdzenia podłączonego do magistrali wynosi:75 W (v1.0), 150 W (v2.0) lub 300 W magistrali wynosi:75 W (v1.0), 150 W (v2.0) lub 300 W (v3.0)(v3.0)