Architektura Komputerów - wiedza ogólna.pdf

(1131 KB) Pobierz
416327047 UNPDF
Architektura Komputerów i Programowanie
Niskopoziomowe
1. Historia ewolucji komputerów
Generacje komputerów:
1 generacja
1946-1957
lampa próżniowa
ok. 40 000 operacji na sekundę
2 generacja
1958-1964
tranzystor
ok. 200 000 operacji na sekundę
3 generacja
1965-1971
mała i średnia skala integracji
ok. 1 000 000 operacji na sekundę
4 generacja
1972-1977
wielka skala integracji
ok. 10 000 000 operacji na sekundę
5 generacja
1978-…
bardzo wielka skala integracji
ok. 100 000 000 operacji na sekundę
ENIAC
ENIAC (ang. Electronic Numerical Integrator And Computer ) został ukończony w roku
1946. Był pierwszym na świecie elektronicznym komputerem cyfrowym o ogólnym
przeznaczeniu. ENIAC był maszyną raczej dziesiętną niż binarną. Liczby były
reprezentowane w formie dziesiętnej i arytmetyka była realizowana w systemie
dziesiętnym. Jego pamięć składała się z 20 „akumulatorów”, z których każdy
mógł przechowywać 10-cyfrową liczbę dziesiętną. Każda cyfra była
reprezentowana przez pierścień złożony z 10 lamp próżniowych. Główną wadą ENIAC-
a było to, że musiał on być programowany ręcznie przez ustawianie przełączników
oraz wtykanie i wyjmowanie kabli.
Maszyna von Neumanna
W roku 1946 rozpoczęto projektowanie nowegokomputera wykorzystującego
program przechowywany w pamięci. Miało to miejsce w Princeton Institute for
Advanced Studies , a sam komputer określono skrótemIAS. Głównymi jego
składnikami są:
Pamięć główna , w której są przechowywane zarówno dane jak i rozkazy
Jednostka arytmetyczno-logiczna (ALU), mogąca wykonywać działania
na danych binarnych
Jednostka sterująca , która interpretuje rozkazy z pamięci i powoduje
ich wykonanie
Urządzenia wejścia-wyjścia , których pracą kieruje jednostka sterująca
1
Komputer IAS działał przez powtarzalne wykonywanie cyklu rozkazu. Z rzadkimi
wyjątkami wszystkie dzisiejsze komputery mają tę samą ogólną strukturę i funkcje,
są wobec tego określane jako maszyny von Neumanna.
2. Pojęcia organizacji i architektury komputerów
Architektura komputera – opis budowy systemu komputerowego, który odnosi się
do atrybutów systemu widzialnych dla programisty takich jak liczba bitów
reprezentacji danych, organizacja jednostki arytmetyczno-logicznej, lista rozkazów,
metody organizacji pamięci, mechanizmy wejścia-wyjścia.
Organizacja komputera – opis budowy systemu komputerowego, który odnosi się
do atrybutów niewidzialnych dla programisty takich jak rozwiązania sprzętowe
wynikające z zastosowanej technologii elektronicznej, sygnały i układy sterujące,
interfejsy między komputerem a urządzeniami peryferyjnymi .
Struktura komputera – opis wzajemnego, hierarchicznego powiązania składników
systemu komputerowego.
3. Podstawowe podzespoły komputera
Funkcje komputera:
przetwarzanie danych
przechowywanie danych
przenoszenie danych
sterowanie
Procesor – jednostka centralna (CPU) przetwarza dane i steruje działaniem
komputera. Składa się m.in. z:
Jednostki arytmetyczno-logicznej – realizuje funkcje przetwarzania danych
przez komputer (dokonuje obliczeń)
Rejestrów podręcznych – przechowują chwilowe dane przetwarzane przez
procesor
Jednostki sterującej – pobiera i dekoduje rozkaz, generuje odpowiednie sygnały
sterujące dla innych elementów procesora
Magistral procesora – zapewniają łączność pomiędzy składnikami procesora
Pamięć główna – przechowuje dane i instrukcje
Urządzenia wejścia-wyjścia – odpowiadają za komunikację komputer – otoczenie
Połączenia systemowe – (magistrale) – zapewniają łączność pomiędzy
poszczególnymi elementami komputera
4. Pojęcia hardware, firmware i software
Hardware – zestaw urządzeń elektronicznych do automatycznego przetwarzania
informacji. Fizyczne komponenty komputera, elementy peryferyjne i akcesoria.
Firmware – oprogramowanie układowe, umieszczone przez producenta sprzętu
w pamięci ROM, dostarczane razem ze sprzętem i traktowane jako jego element.
Software – oprogramowanie umieszczane w pamięci komputera w postaci sekwencji
rozkazów, wykonywanych przez jednostkę centralną.
2
5. Pojęcia mikroprocesor, mikrokontroler, mikrokomputer
Mikroprocesor – steruje działaniem komputera i realizuje jego funkcje
przetwarzania danych. Układ scalony, którego działanie polega na wykonywaniu
instrukcji programów zapisanych w pamięci. Nadzoruje i synchronizuje pracę
wszystkich urządzeń w komputerze. Głównymi zespołami procesora są: jednostka
arytmetyczno-logiczna ALU, jednostka sterująca, rejestry. Procesory mogą się
wyróżniać: architekturą (RISC lub CISC), liczbą bitów przetwarzanych w jednym
cyklu, częstotliwość taktowania w MHz.
Mikrokontroler – układ scalony o bardzo wielkiej skali integracji, w skład którego
wchodzi: mikroprocesor, pamięć przechowująca rozkazy dla mikroprocesora, dane
oraz wyniki operacji, układy wejścia-wyjścia umożliwiające wprowadzenie do pamięci
rozkazów, danych i wyprowadzenie wyników. Mikrokontrolery są kompletnymi,
programowalnymi, autonomicznymi układami (do pracy wystarczają im urządzenia
zewnętrzne zawarte w mikrokontrolerze), mogącymi realizować wszystkie operacje
składające się na przetwarzanie informacji cyfrowej łącznie z jej wymianą
z określonym otoczeniem.
Mikrokomputer – jednoukładowy komputer, którego wszystkie bloki funkcjonalne
(procesor, pamięć, urządzenia wejścia-wyjścia) są umieszczone w jednym układzie
scalonym. Mikrokomputery znajdują zastosowanie głównie w komputerach
wbudowanych, np. w sterownikach.
6. Procesory sygnałowe
Sygnały można podzielić na:
Analogowe - są przebiegami konkretnej wielkości fizycznej np. napięcia
elektrycznego, ciśnienia, temperatury.
Cyfrowe - jeśli użyta do reprezentacji sygnałów wielkość fizyczną odgrywa
rolę drugorzędną i kwantuje się ją, to próbki interesującego nas sygnału
można zakodować za pomocą ustalonych zestawów symboli. Takie kwantowe
i kodowane sygnały nazywają się cyfrowymi.
Ciągłe - takie, że ich wartości są istotne dla każdej wartości zmiennej
niezależnej z pewnego przedziału np. każdej chwili czasu
Dyskretne - jeśli istotne są tylko ich wartości w pewnych (dyskretnych)
punktach przestrzeni zmiennej niezależnej np. w wybranych, dyskretnych
chwilach czasu. Sygnały dyskretne są opisywane jako ciągi (sekwencje) liczb
tzw. próbek sygnału
Jednowymiarowe
Wielowymiarowe
Sygnał skwantowany
Sygnał skwantowany to taki sygnał, który nie jest rejestrowany dokładnie, lecz
rozróżnia się jedynie skończoną liczbę możliwych poziomów (wartości) wielkości
fizycznej użytej do reprezentacji sygnału.
Najważniejsze cechy procesorów sygnałowych:
Długie formaty danych (np. 16 bitów, 32 bity i więcej)
Sprzętowa realizacja mnożenia z możliwością zapisu dokładnego wyniku
w tzw. długim akumulatorze
Rozdzielanie toru programu od toru danych (architektura harwardzka)
Szybkie działanie
Niski pobór mocy
3
Przebieg obróbki sygnału
Stosujemy czujniki do przetworzenia temperatury, ciśnienia, wibracji w odpowiednie
sygnały elektryczne. Tak uzyskane sygnały są zazwyczaj analogowe i ciągłe. Z reguły
poddawane są na wstępie pewnej filtracji analogowej, ograniczającej jej pasmo
(tzw. filtracji anty-aliasingowej) [filtr we] , następnie próbkowaniu np. w układzie
próbkująco-pamiętającym [S&H] ( sample & hdd - próbkuj i trzymaj) i wreszcie
przetwarzaniu analogowo-cyfrowemu [A/D] ( analog to digital ). Teraz następuje
proces główny czyli etap cyfrowego przetwarzania sygnału, np. za pomocą procesora
sygnałowego [DSP] ( digital signal processor ). Otrzymane w wyniku sygnał użyteczny
podlega przetwarzaniu cyfrowo-analogowemu [D/A] i wygładzeniu w filtrze
wyjściowym [filtr wy] .
Układy analogowe:
Ograniczona dokładność, zależna od precyzji pomiaru wielkości fizycznej
zastosowanej reprezentacji sygnału.
Zależne w działaniu od temperatury, warunków atmosferycznych, rozrzutu
i starzenia się elementów (brak powtarzalności działania układu i różnice
w działaniu poszczególnych egzemplarzy).
Układy cyfrowe:
Wraz ze wzrostem ilości bitów słowa rośnie dokładność, ale rosną również
koszty i maleje szybkość próbkowania.
Działają w sposób dokładnie powtarzalny i nie podlegają starzeniu.
Brak bezpośredniej zależności od zjawisk fizycznych (realizacja dowolnych
algorytmów obliczeniowych).
Możliwość zastosowania układów programowalnych (np. procesorów
sygnałowych) - możliwość zmiany właściwości układu jedynie przez program,
bez modyfikacji sprzętu.
Występowanie hazardów danych i sterowania.
Występowanie błędów statycznych: „przywarta jedynka”, „przywarte zero”.
Koncepcja próbkowania
Sygnał ciągły transmitowany za pośrednictwem łącznika, co jakiś czas zamykany jest
łącznik, co daje krótki impuls o amplitudzie równej wartości sygnału w chwili
próbkowania. Odstępy między chwilami próbkowania mogą być równe, np. Ts, wtedy
jest to próbkowanie równomierne o okresie Ts albo szybkości fs=1/Ts. Jeśli nie to
próbkowanie takie nazywamy próbkowaniem nierównomiernym.
4
416327047.011.png 416327047.012.png 416327047.013.png 416327047.014.png 416327047.001.png 416327047.002.png 416327047.003.png 416327047.004.png 416327047.005.png 416327047.006.png 416327047.007.png 416327047.008.png 416327047.009.png 416327047.010.png
7. Architektura von Neumanna i architektura harwardzka
Architektura von Neumanna:
Dane i rozkazy są przechowywane w tej samej pamięci umożliwiającej zapis
i odczyt
Zawartość pamięci może być adresowana przez wskazanie miejsca, bez
względu na rodzaj przechowywanych danych
Wykonywanie rozkazów w sposób szeregowy, rozkaz po rozkazie
Urządzenie realizuje różne operacje w zależności od doprowadzonych sygnałów
sterujących. System przyjmuje dane i sygnały sterujące, po czym dostarcza wyniki.
Cały program jest sekwencją kroków. W każdym kroku wykonywana jest pewna
operacja arytmetyczna lub logiczna.
Architektura harwardzka:
Zastosowanie osobnych pamięci i magistral dla programu i danych
Program nie może zapisać do pamięci programu
Ułatwia projektowanie procesorów
Adres danej można podawać do pamięci danych już w czasie podawania
adresu następnej instrukcji pamięci programu - przyspiesza przetwarzanie
potokowe
8. Magistrale i połączenia magistralowe
Magistrala jest drogą zapewniającą komunikację między urządzeniami.
Główną charakterystyczną cechą magistrali jest to, że jest ona wspólnym
nośnikiem transmisji (ang. shared transmission medium ). Do magistrali dołącza się
wiele urządzeń, a sygnały wysyłane przez którekolwiek z nich mogą być
odbierane przez wszystkie pozostałe urządzenia. Jeśli dwa urządzenia nadawałyby
w tymsamym czasie, ich sygnały nakładałyby się i ulegały zakłócaniu.
W określonym czasie może więc nadawać tylko jedno urządzenie. Często magistrala
składa się z wielu dróg (linii) komunikacyjnych. Każdą linią mogą być przesyłane
sygnały reprezentujące binarne 0 i 1. W ciągu pewnego czasu przez pojedynczą linię
może być przekazana sekwencja cyfr binarnych. Wiele linii zawartych w magistrali
można wykorzystywać razem do jednoczesnego (równoległego) transmitowania cyfr
binarnych. Na przykład 8-bitowa jednostka danych może być przesyłana przez 8 linii
magistrali. System komputerowy zawiera pewną liczbę różnych magistrali, które
łączą zespoły komputera na różnych poziomach hierarchii. Magistrala łącząca
główne zespoły komputera (procesor, pamięć, wejście-wyjście) nazywana jest
magistralą
spotykane
struktury
połączeń
komputera wykorzystują jedną lub więcej magistrali systemowych.
Struktura magistrali
Zawarte w magistralach linie można podzielić na trzy grupy funkcjonalne:
linie danych, adresów i sterowania. Ponadto mogą występować linie służące do
zasilania dołączonych modułów.
Linie danych są ścieżkami służącymi do przenoszenia danych między modułami
systemu. Wszystkie te linie łącznie są określane jako szyna danych (ang. data bus ).
Szyna danych składa się typowo z 8, 16 lub 32 oddzielnych linii, przy czym liczba linii
określa szerokość tej szyny. Ponieważ w danym momencie każda linia może przenosić
tylko 1 bit, z liczby linii wnika, ile bitów można jednocześnie przenosić. Szerokość
szyny danych jest kluczowym czynnikiem określającym wydajność całego systemu.
Jeśli na przykład szyna danych ma szerokość 8 bitów, a każdy rozkaz ma długość 16
bitów, to procesor musi łączyć się z modułem pamięci dwukrotnie w czasie każdego
cyklu rozkazu.
5
systemową. Najczęściej
Zgłoś jeśli naruszono regulamin