sciaga.docx

(45 KB) Pobierz

Architektura komputera

Architektura komputera – sposób

organizacji elementów tworzących

komputer.

• Systemy komputerowe dzieli się ze

względu na różne czynniki, najczęściej

jednak pod pojęciem architektury rozumie

się organizację połączeń pomiędzy

pamięcią, procesorem i urządzeniami

wejścia-wyjścia.

• Architektura Komputera składa się z trzech

głównych elementów:

Instruction set architecture, (ISA), jest to

abstrakcyjny obraz systemu obliczeniowego widziany z poziomu języka maszynowego lub asemblera.

– Zawiera ona zbiór instrukcji, sposób

adresowania pamięci, rejestry procesora

oraz adresy i formaty danych.

Microarchitecture, lub organizacja

komputera stanowi opis systemu

uwzględniający:

– wszystkie jego części,

– połączenia między nimi

– oraz opis ich współdziałania dla

implementacji ISA.

• Np. rozmiar pamięci podręcznej komputera

stanowi problem organizacyjny nie mający

nic wspólnego z ISA.

System Design, zawiera pozostałe

składniki sprzętowe systemu takie jak:

– system połączeń – szyny i przełączniki,

– kontrolery pamięci i hierarchie, mechanizmy

dostępu do pamięci

• np. direct memory access, problemy

Wieloprocesorowości

Koncepcja programu

przechowywanego w pamięci

• W początkowym okresie programy były fizycznie wbudowywane do jednostki sterującej (control unit) w CPU.

• Panował wówczas pogląd:

– pamięć główna przeznaczona jest dla danych,

– CPU dla programu (Harvard architecture).

• Paradygmat ten został przełamany kiedy ktoś(Eckert, czy von Neumann?) wpadł na pomysł przechowywania programu, podobnie jak danych, w pamięci głównej.

Architektura von Neumanna

Architektura von Neumanna - rodzaj architektury komputera, przedstawionej po raz pierwszy w 1945 roku przez von Neumanna stworzonej wspólnie z Johnem W.

Mauchly'ym i Johnem Presper Eckertem.

– Jest to realizacja idei Leibniza, 1671

• Podstawą tej koncepcji jest przechowywanie programu i danych w pamięci komputera.

Koncepcja architektury von Neumanna polega na podziale komputera na cztery podstawowe części:

– Jednostka Arytmetyczno Logiczna ALU wykonująca działania na danych binarnych.

– Jednostka sterująca interpretująca i wykonująca rozkazy z pamięci

– pamięć zawiera dane programu i sam program (rozkazy)

– urządzenia wejścia/wyjścia

Komputer von Neumanna

• Pamięć główna przechowuje dane i

program

• Jednostka arytmetyczno-logiczna (ALU)

działa na danych binarnych

• Jednostka sterująca interpretuje oraz

wykonuje rozkazy z pamięci

• Urządzeniami we/wy steruje jednostka

Sterująca.

Elementy składowe CPU:

– PC licznik rozkazów (Program Counter)

– IR rejestr instrukcji (Instruction Register)

– MAR rejestr adresów pamięci (Memory Address Register), lub cache memory.

– MDR rejestr danych (Memory Data Register)

– Flag Registers to1-bitowy rejestr przechowujący bity informacji o stanie (state information).

• Lokalna pamięć o dużej szybkości (High speed local storage).

– Dostęp do niej (tzn. transfer zawartości do ALU) jest dużo szybszy niż dostęp do pamięci głównej.

Pozostałe rejestry (General Registers)

– Rejestry ogólnego przeznaczenia

• dostępne dla programisty (lub częściej dla projektanta kompilatora) z poziomu języka niskiego poziomu

• używane dla przechowywania zmiennych, tymczasowych wyników, adresów operandów, ...

• Jednostka sterująca (Control Unit)

– Generuje sekwencję sygnałów sterujących, które powodują:

• przesuwanie danych pomiędzy rejestrami

• dostarczenie nowej instrukcji

• załadowanie operandów do rejestrów

• przechowywanie wyników operandów w pamięci głównej

• uruchamianie operacji arytmetycznych / logicznych.

– Sekwencja sygnałów sterujących generowanych dla danej instrukcji

zależy od niej samej oraz od zawartości rejestru stanu (flag register).

Jednostka Arytmetyczno Logiczna

• Jednostka Arytmetyczno Logiczna

(Arithmetic and Logic Unit (ALU))

• ALU wykonuje praktycznie wszystkie

operacje przetwarzające dane i operacje porównywania,

– np. obliczenia, operacje logiczne, operacje przesuwania, etc.

• ALU posiada:

– dwa rejestry wejściowe,

– jeden rejestr wyjściowy,

– rejestr operacyjny,

– i kilka rejestrów flagowych.

• Można powiedzieć, że cała reszta CPU stanowi urządzenia peryferyjne w stosunku do ALU, które zajmują się wyborem operandów, przechowywaniem wyników i

sterowaniem kolejnością operacji dokonywanych w ALU.

ALU wykonuje operacje określone przez

zawartość jego rejestru operacyjnego.

– Po załadowaniu rejestrów wejściowych ustawiony zostaje rejestr operacyjny.

– Rejestr wyjściowy zostaje załadowany wartością funkcji wynikającej z dwu rejestrów wejściowych.

• Może być to wynik dodawania, odejmowania, mnożenia, przesunięcia w lewo, negacji, AND, OR, ...

– W przypadku operacji przetwarzania danych wyniki z ALU będą składowane w rejestrach ogólnych lub w pamięci.

– W przypadku operacji porównywania wynik porównania będzie złożony w jednym z rejestrów flagowych stanu (flag registers).

• ALU wykonuje w danej chwili pojedynczą

operację.

Cykl instrukcja-wykonanie w

detalach

• Z punktu widzenia programisty instrukcje są wykonywane kolejno (sequentially) i całościowo (atomically).

– ‘atomically’ oznacza, że każda instrukcja stanowi niepodzielną jednostkę

• Jest to iluzoryczne wrażenie wynikające z faktu, że sprzęt nie pozwala na przerwanie wykonywania instrukcji.

• W rzeczywistości, wykonywanie instrukcji składa się z szeregu kroków, każdy z nich określa przeniesienie lub zmianę danych.

• W procesie tym zaangażowane są specjalne rejestry CPU:

– PC,

– IR,

– MAR,

-MDR

Struktura komputera

•Jednostka centralna (CPU, procesor)-steruje działaniem komputera i realizuje funkcje

przetwarzania danych

•Pamięć główna-przechowuje dane

•Wejście/Wyjście-przenosi dane między komputerem a światem zewnętrznym

•Połączenia systemu mechanizmy zapewniające łączność między procesorem, pamięcią główną wejściem/wyjściem

Architektura szynowa

• Struktura szynowa, wprowadzona w minikomputerach w latach 70- tych XX wieku stała się standardową strukturą komputerów

– np. PDP11.

• Zasadniczym elementem tej architektury jest szyna, czyli zespół połączeń pomiędzy modułami.

• Komputer składa się z pewnej liczby modułów :

– jednego lub kilku procesorów,

– bloków pamięci i sterowników wejścia-wyjścia. dołączonych do szyny

• Pamięci i sterowniki urządzeń są widziane przez procesor jako określone lokalizacje w przestrzeni adresowej – podobnie jak pamięć

Znaczenie architektury szynowej

• Architektura szynowa stanowi bardzo wygodny schemat logicznej struktury komputera.

• Większość współczesnych komputerów,

niezależnie od implementacji, działa w oparciu o logiczny schemat architektury szynowej.

• Architektura szynowa do 1995 stanowiła

podstawowy model konstrukcji komputerów PC, stacji roboczych i serwerów

Architektura dwuszynowa

• Architektura dwuszynowa zawiera dwie szyny:

– Krótka, szybka szyna,łączy procesor lub

procesory z pamięcią

– Do szyny powolnej, podłączone są sterowniki urządzeń zewnętrznych.

• Obie szyny łączy układ mostu.

• Rozwiązanie stosowano w komputerach PC w latach 1995-98

Architektura dwuszynowa

• Logicznie obie szyny widziane są jako

jedna.

• Ograniczenia

– Niektóre urządzenia zewnętrzne potrzebują

szybkiej transmisji danych

 

 

 

Architektura trójszynowa

• Architektura trójszynowa, stosowana w komputerach PC pod koniec lat 90-tych, zawiera: – szynę CPU-pamięć

– dwie szyny urządzeń zewnętrznych

• szybka,

• i wolna.

W strukturze tej występują dwa mosty, zwane od swego położenia na schemacie blokowym: – mostem północnym, który łączy

CPU szyną szybkich urządzeń,

• np. PCI, – mostem południowym, który łączy

CPU z szyną wolnych urządzeń,

*np.ISA

Architektura trójszynowa

• Po 2002 roku powolna szyna stała się zbędna.

• Ograniczenia

-szybkie laczenie nie może być rozgalezione

Architektura PCI

• CPU o dużej wydajności potrzebują

bezpośredniego, szybkiego dostępu do

pamięci bez urządzeń pośredniczących.

• Dla komputerów wieloprocesorowych

szyna PCI jest zbyt wolna.

• Idea rezygnacji z szyny i zastąpienie jej

Polaczeniami punkt punkty

Współczesny komputer

•Sterownik pamięci umieszczony jest w

procesorze.

•Most północny jest wyposażony w indywidualne łącza dla sterowników urządzeń zewnętrznych, zrealizowane w standardzie

PCI express.

•Most południowy jest zintegrowanym

sterownikiem urządzeń zewnętrznych.

•Szyna PCI została zachowana w celu

umożliwienia podłączenia starszych sterowników urządzeń.

Spróbujmy zdefiniować ilość

Informacji

P(a) = P(e) = (1/2)2

P(b) = P(c) = P(f) = (1/2)3

P(d) = P(g) = (1/2)4

Jednostką informacji jest taka jej ilość, którą uzyskujemy po stwierdzeniu, że zaszło jedno z dwu jednakowo prawdopodobnych zdarzeń.

A więc:

– komunikaty a, e zawierają 2 jednostki,

– komunikaty b, c, f po 3 jednostki,

-komunikaty d,g po 4 jednostki

Miara informacji

• Przyjmując definicję informacji jako czynnika zmniejszającego niepewność, Shannon wprowadził funkcję (informationgenerating

function) h(p), która jest określona na zbiorze N niezależnych stanów a1, ... ,aN i N odpowiadających im prawdopodobieństw p1, ... ,pN i określa ilość generowanej informacji.

Miara ilości informacji

• Można pokazać, że funkcją która spełnia postulowane własności jest:

h(p) = logb(1/p) = – logb(p)

• Podstawa logarytmu „b” w formule Shannona jest związana z jednostką informacji reprezentującą wybór  pomiędzy dwoma jednakowo prawdopodobnymi

możliwościami.

• Zakładając, że prawdopodobieństwo wybrania jednego z dwu symboli S1 i S2 jest równe 50%, formuła Shannona, dla p= 0.5 daje h(0.5) = -logb(0.5) = logb(2) = 1 wynika

stąd wartość podstawy logarytmu b = 2.

• Komunikat którego prawdopodobieństwo wystąpienia wynosi p, zawiera h(p) jednostek ilości informacji

Miara ilości informacji

• Zastosowanie logarytmu o podstawie 2

sprawia, że ilość informacji jest wyrażana w

za pomocą jednostki zwanej bitem (ang. bit

= kawałek).

• Uwaga:

– Jeżeli źródło wysyła tylko jeden komunikat,

którego prawdopodobieństwo wynosi p=1, to

niesie on k = log2(1/1) = 0 bitów informacji.

Ilość informacji / symbol kodu

• Średnia wartość informacji przypadająca na jedensymbol w zbiorze symboli danego kodu.

H = p1h(p1) + p2h(p...

Zgłoś jeśli naruszono regulamin