narzedzia.docx

(43 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 łącze nie może być rozgałęzione

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

połączeniami punkt-punkt

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

Zgłoś jeśli naruszono regulamin