Wstęp do Informatyki
Wykład 2
Komputer von
Neumana
Autor: Dr hab. Marek J. Greniewski
Podręcznik do wykłady
• William Stallings
• Organizacja i architektura
systemu komputerowego –
projektowanie systemu a jego
wydajność
• Wydanie drugie 2000 lub trzecie 2004
• Wydawnictwo Naukowo-Techniczne
Przykład pytań
egzaminacyjnych
• Na czym polegała idea komputera von Neumana?
• Przedstaw strukturę komputera von Neumana.
• Podaj formaty słów przechowywanych w pamięci komputera IAS.
• Jakie rejestry posiadał komputer IAS (podaj liczbę rejestrów i
ich nazwy)?
• Z ilu instrukcji składała się lista rozkazów komputera IAS i na ile
grup była podzielona?
• Wymień nazwy rozkazów grup rozgałęzień bezwarunkowych i
warunkowych komputera IAS i opisz ich funkcjonalność.
• Wymień nazwy rozkazów grupy przenoszenia danych komputera
IAS i opisz ich funkcjonalność.
• Wymień nazwy rozkazów grupy arytmetycznej komputera IAS i
opisz ich funkcjonalność.
• Narysuj i opisz graf stanów komputera IAS.
• Czym różnią się pojęcia organizacji i architektury komputerów?
Przykład pytań
egzaminacyjnych
• Jakie układy kombinacyjne można zbudować korzystając z
bramki typu NAND, a jakie korzystając z bramki typu NOR?
• Podaj dwa prawa DeMorgana i ich tabliczki zerojedynkowe.
• Podaj przykład prostego układu kombinacyjnego wraz z
tabliczką zerojedynkową.
• Podaj przykład układu Multiplexera o czterech wejściach.
• Do czego używane są Multiplexery w komputerach?
• Podaj przykład układu Decoder o czterech wyjściach.
• Do czego używane są układy Decoder w komputerze?
• Wymień znane typy przerzutników i narysuj ich schematy?
• Dla każdego typu przerzutnika podaj tabliczkę zerojedynkową.
Przykład pytań
egzaminacyjnych
• Czym różnią się układy kombinacyjne od układów
sekwencyjnych?
• Wyjaśnij rolę przerwań w komputerze
• Narysuj graf stanów komputera z obsługą przerwań.
• Wymień podstawowe moduły komputera i wyjaśnij przeznaczenie
magistrali systemowej.
• Podaj znane Ci metody koordynacji czasowej działania magistrali
i wymień ich zalety i wady.
• Jakie rodzaje linii zawiera szyna uniwersalna komputera?
• Jaka jest rola i działanie układ arbitrażu?
• Wyjaśnij do czego służą linie sterowania magistrali - na
przykładzie magistrali PCI.
• Wyjaśnij co rozumiemy pod pojęciem przerwania wielokrotnego i
jak należy zorganizować obsługę dopuszczającą ich wystąpienie.
• Jak działa układ DMA?
Przykład pytań
egzaminacyjnych
• Czym różnią się statyczne i dynamiczne pamięci RAM?
• Jakie znasz typy odświeżania pamięci dynamicznych RAM?
• Wymień znane Ci sposoby dostępu do pamięci komputerowej.
• Wyjaśnij na czym polega działanie pamięci asocjacyjnej cache.
• Wymień podstawowe różnice pomiędzy pamięcią cache i
pamięcią wirtualną.
• Opisz funkcjonalność procesora.
• Do czego służy pamięć typu cache i jak taka pamięć może być
usytuowana w stosunku do szyny głównej i procesora?
• Opisz mechanizm pamięci wirtualnej komputera.
• Podaj zasady działania potokowego jednostki arytmetyczno-
logicznej procesora.
• Na czym polega kodowanie binarnych liczb ujemnych o 5
cyfrach binarnych przez uzupełnienie do 2
6
?
Przykład pytań
egzaminacyjnych
• Jak kodowane są w komputerze liczby zmienno-przecinkowe?
• Wymień problemy pojawiające się w toku wykonywania operacji
zmiennoprzecinkowych.
• Opisz funkcje poszczególnych bitów rejestru F mikroprocesora
PENTIUM.
• Wyjaśnij na czym polega działanie kodu Hemminga dla M = 4 i K = 1.
• Wymień znane Ci systemy kodowania binarnego znaków stosowanych w
komputerach.
• Czym różni się system binarny przedstawiania liczb naturalnych od
systemu dziesiętnego?
• Omów własności stosu i związek stosu z podstawowymi rejestrami
procesora.
• Wymień elementy składowe instrukcji komputera i podaj występujące we
współczesnych komputerach formaty instrukcji.
• Wymień różnice pomiędzy formatami: trzyadresowym, dwuadresowym,
jednoadresowym oraz bez-adresowym.
• Co to są instrukcje (rozkazy) uprzywilejowane komputera i kiedy są
używa?
Przykład pytań
egzaminacyjnych
• Co rozumiemy pod pojęciem procesu realizowanego przez
komputer?
• Narysuj i opisz graf zmiany stanów procesów w wielozadaniowym
systemie operacyjnym.
• Podaj listę najważniejszych funkcji i tablic wieloprogramowego
systemu operacyjnego.
• Podaj listę różnic (specyficznych funkcji) różniących
wieloprocesorowy system operacyjny od systemu
jednoprocesorowego.
• Podaj miejsce lokalizacji i zasady działania programowanej jednostki
sterującej komputera.
• Podaj zasady działania potokowego jednostki sterującej procesora.
• Opisz działanie Pipeline dla instrukcji wykonywanych w pięciu
krokach (Feach, Decode_1, Decode_2, Execute, Write).
• Jakie warianty rozkazów - ładuje logiczna jednostka szeregowania
do rejestru adresów sterowania?
• Wyjaśnij na czym polega różnica pomiędzy mikrorozkazem
poziomym a mikrorozkazem pionowym.
• Podaj format poziomej i pionowej mikroinstrukcji sterującej.
Przykład pytań
egzaminacyjnych
• Podaj i omów sygnały kierujące działaniem jednostki sterującej.
• Podaj i omów sygnały sterujące generowane przez jednostkę
sterującą.
• Przedstaw kroki cyklu pobierania jednostki sterującej.
• Jak opiszesz różnice pomiędzy komputerami typu RISC a
komputerami typu CISC?
• Podaj przykłady komputera RISC i komputera CISC.
• Co to jest Firmware, np. w komputerze RISC i do czego służy?
• Dlaczego komputer RISC sprawniej obsługuje układ przerwań?
• Podaj znane Ci techniki przyśpieszania pracy procesora.
• Opisz do czego służy tablica historii rozgałęzień wykonywanego
programu.
• Wymień podstawowe własności systemów rozproszonych.
Przykład pytań
egzaminacyjnych
• Podaj podstawowe metody łączenia modułów (pamięci i
procesorów) wielo-procesora.
• Opisz schemat współpracy w systemie klient - serwer.
• Podaj zasady działania super-komputera i różnice w porównaniu
z komputerem super-skalarnym.
• Wymień podstawowe różnice pomiędzy komputerem skalarnym,
super-skalarnym i wektorowym.
• Podaj listę komponentów pasywnych i aktywnych sieci
komputerowej.
• Wymień podstawowe topologie sieci.
• Jakie właściwości różnią technologie Ethernet i TokenRing?
• Przedstaw różnice pomiędzy modelem warstwowym ISO/OSI a
stosem protokołów TPC/IP.
• Podaj listę najpopularniejszych protokołów sieciowych i wskaż,
które z nich są rutowalne, a które nierutowalne.
• Wyjaśnij czym różnią się sieci lokalne od globalnych. Podaj
przykład sieci globalnej.
Plan nauczania
1. Wprowadzenie, komputer von Neumana,
komputer skalarny
2. Cyfrowe układy logiczne (kombinacyjne i
sekwencyjne)
3. Magistrale systemowe i sterowanie urządzeniami
we-wy
4. Pamięć wewnętrzna
5. Podstawy systemów operacyjnych
6. Arytmetyka komputera
7. Procesor i listy rozkazów procesorów
8. Komputery CISC a RISC
9. Jednostka sterująca komputera
10. Systemy wieloprocesorowe i wielo-komputery
11. Sieci komputerowe oraz system klient serwer.
Krótki zarys historii
• Prekursorzy podstaw techniki obliczeniowej i informatyki.
• Pionierzy komputerów (John von Neuman i Alan Turing) i
podstaw programowania, w tym programowania
symbolicznego oraz pierwszych aplikacji.
• Druga generacja technicznych komputerów i kompilatorów
języków wyższego rzędu (FORTRAN, COBOL) oraz metod
zarządzania przedsięwzięciami (PERT, CPM).
• Trzecia generacja komputerów, systemów operacyjnych i
systemów zarządzania bazami danych oraz powstania
zaawansowanych programów aplikacyjnych.
• Superkomputery – czyli komputery wektorowe.
• Komputery czwartej generacji technicznej, systemu
operacyjnego UNIX, jeżyka programowania C i zalążków
sieci komputerowych w tym protokółów TCP/IP.
• Komputery osobiste, edytorów tekstów, arkuszy
kalkulacyjnych i lokalne sieci komputerowe.
• Okres rewolucji Internet, powstania technologii Data
Warehousing, technologii CRM oraz e-Business’u.
Koncepcja Johna von Neumanna
• W 1945 roku po raz pierwszy została opublikowana idea
komputera, który w pamięci wewnętrznej przechowuje
program – według którego działa komputer, jest ona
przypisywana jednemu z konsultantów projektu ENIAC –
amerykańskiemu matematykowi węgierskiego
pochodzenia John'owi von Neumanowi.
• Idea ta, znana jako koncepcja przechowywania
programu, jest podstawą działania współczesnych
komputerów.
• Należy wspomnieć, że niemal w tym samym czasie
podobna koncepcja została opracowana również przez
brytyjskiego matematyki Alana Turinga.
• Według tej idei opracowany został projekt nowego
komputera von Neumana – nazwanego EDVAC
(Electronic Discrete Variable Computer).
1. Wspólna pamięć do przechowywania zarówno
rozkazów jak i danych.
2. Pamięć jednowymiarowa, złożona z kolejno
ponumerowanych komórek o jednakowej wielkości.
3. Brak jawnego rozróżniania rozkazów i danych.
4. Brak jawnej specyfikacji typów danych.
5. Praca sekwencyjna - przed rozpoczęciem
wykonywania kolejnego rozkazu musi zostać
zakończone wykonywanie rozkazu chronologicznie
poprzedniego.
6. Każdy rozkaz określa jednoznacznie adres
następnego.
Architektura von Neumanna
A. Pięć zasad komputera
wg von Neumanna
Po pierwsze, ponieważ urządzenie to jest przede
wszystkim komputerem, najczęściej będzie
wykonywało elementarne operacje matematyczne -
dodawanie, odejmowanie, mnożenie, dzielenie. Jest
więc rozsądne, że powinno posiadać
wyspecjalizowane "organy" do
wykonywania tych operacji.
Należy jednak zauważyć, że chociaż powyższa
zasada jako taka brzmi rozsądnie, to szczegółowy
sposób jej realizacji wymaga głębokiego
zastanowienia[...].
W każdym przypadku centralna, arytmetyczna część
urządzenia będzie prawdopodobnie musiała istnieć,
co oznacza występowanie pierwszej specyficznej
części komputera: CA.
B. Pięć zasad komputera
wg von Neumanna
Po drugie, logiczne sterowanie urządzeniem, to
znaczy odpowiednie szeregowanie jego operacji
może być najefektywniej realizowane przez
centralny organ sterujący. Jeżeli urządzenie ma być
elastyczne, to znaczy możliwie uniwersalne, należy
rozróżniać specyficzne rozkazy związane z
określonym problemem i ogólne "organy" sterujące,
dbające o wykonanie tych rozkazów - czymkolwiek
by one nie były.
Te pierwsze muszą być w jakiś sposób
przechowywane; te drugie - reprezentowane przez
określone działające części urządzenia. Przez
sterowanie centralne rozumiemy tylko tę ostatnią
funkcję, a "organy", które ją realizują, tworzą drugą
specyficzną część urządzenia: CC.
C. Pięć zasad komputera
wg von Neumanna
Po trzecie, jakiekolwiek urządzenie, które ma
wykonywać długie i skomplikowane sekwencje
działań (w szczególności obliczeń), musi mieć
odpowiednio dużą pamięć[...].
Rozkazów kierujących rozwiązywaniem
skomplikowanego problemu może być bardzo
dużo, zwłaszcza wtedy, gdy kod jest
przypadkowy (a tak jest w większości
przypadków).
Muszą one być pamiętane [...]
D. Pięć zasad komputera
wg von Neumanna
Trzy specyficzne części CA, CC (razem C) oraz M
odpowiadają neuronom skojarzeniowym w systemie
nerwowym człowieka.
Pozostają do przedyskutowania równoważniki
neuronów sensorycznych (doprowadzających) i
motorycznych (odprowadzających).
Są to "organy„ wejścia i wyjścia naszego urządzenia.
Urządzenie musi mieć możliwość utrzymania
kontaktu z wejściem i wyjściem za pomocą
specjalistycznego narzędzia.
Narzędzie to będzie nazwane zewnętrznym
narzędziem rejestrującym urządzenia: R [...]
E. Pięć zasad komputera
wg von Neumanna
Po czwarte urządzenie musi być wyposażone w
organy przenoszące [...] informację z R do swoich
specyficznych części C i M. "Organy" te stanowią
jego wejście, a więc czwartą, specyficzną część:
I. Zobaczymy, że najlepiej jest dokonywać
wszystkich przeniesień z R (poprzez I) do M, a
nigdy bezpośrednio do C [...]
F. Pięć zasad komputera
wg von Neumanna
Po piąte, urządzenie musi mieć "organy" służące
do przenoszenia [...] ze swoich specyficznych
części C i M do R.
Organy te tworzą jego wyjście, a więc piątą
specyficzną część: O. Zobaczymy, że znowu
najlepiej jest dokonywać wszystkich transferów z
M (poprzez O) do R, nigdy zaś bezpośrednio z C
[...]
Struktura komputera von
Neumanna
Pierwsza działająca
realizacja
• Pierwszym w pełni działającym komputerem wg
idei von Neumanna był zbudowany w Wielkiej
Brytanii komputer EDSAC zbudowany przez zespół
kierowany przez M. Wilkesa.
• Komputera EDSAC został uruchomiony w 1951
roku.
• Komputera EDSAC był pełną realizacją projektu
EDVAC.
Komputer IAS
• W roku 1946 von Neumann w Princeton Institute
for Advanced Studies rozpoczął projektowanie
komputera, który wykorzystywał program
przechowywany w pamięci.
• Komputer ten nazwano IAS od nazwy Institute for
Advanced Studies i był on prototypem wszystkich
współczesnych komputerów o ogólnym
przeznaczeniu.
• Komputer IAS został w pełni uruchomiony w 1952
roku.
Części składowe komputera
IAS
• Pamięć główna (
Memory
) - w pamięci
przechowywane są dane oraz rozkazy.
• Jednostka arytmetyczno-logiczna (
Arithmetical &
Logical Unit
) - wykonuje działania arytmetyczne i
logiczne na danych binarnych.
• Jednostka sterująca (
Control Unit
) - interpretuje i
wykonuje rozkazy pobierane z pamięci.
• Urządzenia wejścia/wyjścia (
Input / Output Unit
) -
ich pracą kieruje jednostka sterująca.
Charakterystyka komputera
IAS
• Pamięć komputera IAS składała się z 1000 miejsc
przechowywania, zwanych słowami, z których każde
zawierało 40 cyfr binarnych (bitów).
• W pamięci komputera IAS przechowywane były
zarówno liczby (dane), jak i rozkazy.
• Liczby były prezentowane w formie binarnej, podobnie
każdy rozkaz był zapisywany w formie binarnej.
• Każda liczba była reprezentowana przez bit znaku i
39-bitową wartość bezwzględną (mantysę).
• Słowo mogło zawierać dwa 20-bitowe rozkazy, przy
czym każdy rozkaz składał się 8-bitowego kodu
operacji (określającego operację), oraz 12-bitowego
adresu określającego jedno ze słów pamięci
(ponumerowanych od 0 do 999).
Formaty pamięci komputera
IAS
Rozkaz lewy
Rozkaz prawy
0 8 19 20 28 39
Kod Adres Kod Adres
operacji operacji
Bit znaku
0 1 39
(a) Słowo danych (liczba)
(b) Słowo rozkazów
Schemat blokowy komputera
IAS
Urządzenia
wejścia
- wyjścia
I/O
Pamięć
główna
M
Jednostka centralna -procesor
Jednostka arytmetyczno-
logiczna ALU
Jednostka sterująca CU
MBR
Układy ArytmLog
AC
MQ
IBR
IR
MAR
PC
Układy
sterujące
Sygnały
sterujące
Rozkazy
i dane
Rejestry komputera IAS
• MBR
– rejestr buforowy pamięci (Memory Buffer Register)
• MAR
– rejestr adresowy pamięci (Memory Address
Register)
• IR
– rejestr rozkazów (Instruction Register)
• IBR
– rejestr buforowy rozkazów (Instruction Buffer
Register)
• PC
– licznik programu (Program Counter)
• AC
– akumulator - rejestr wyników operacji
arytmetycznych oraz logicznych (Accumulator Counter)
• MQ
– rejestr mnożenia dzielenia (Multiplier-Quotier
Register)
Uwaga: np. wynikiem mnożenia dwóch liczb 40-
bitowych, jest liczba 80-bitowa. 40 bardziej znaczących
bitów jest w rejestrze AC, natomiast 40 mniej znaczących
bitów znajduje się w rejestrze MQ.
Rozkazy komputera IAS
• Komputer IAS miał łącznie 21 różnych rozkazów.
• Rozkazy komputera IAS podzielono na 5 grup:
– Przenoszenie danych
. Należą tu rozkazy przesyłania danych
pomiędzy pamięcią a rejestrami ALU lub pomiędzy dwoma
rejestrami ALU.
– Rozgałęzienia bezwarunkowe
. Zwykle jednostka sterująca
wykonuje szeregowo rozkazy pochodzące z kolejnych miejsc
pamięci. Sekwencja rozkazów może być zmieniona przez
rozkaz skoku. Umożliwia to wykonywanie sekwencji
powtarzalnych rozkazów.
– Rozgałęzienia warunkowe
. Skoki mogą być wykonywane
zależnie od spełnienia pewnego warunku, co oznacza
występowanie punktów decyzyjnych programu.
– Arytmetyka
. Operacje wykonywane przez ALU.
– Modyfikowanie adresu
. Należą tu rozkazy, które po obliczanie
adresów w ALU, umożliwiają wstawienie tych adresów do
rozkazów przechowywanych w pamięci.
Rozkazy przenoszenia
danych
Kod
operacji
Symbol
Opis
00001010
Load MQ
Przenieś zawartość MQ do AC
00001001
Load
MQ,M(X)
Przenieś słowo X pamięci do
MQ
00100001
Stor M(X)
Zapamiętaj AC w słowie X
pamięci
00000001 Load M(X)
Przenieś słowo X pamięci do
AC
00000010 Load – M(X)
Przenieś – (słowo X) pamięci
do AC
00000011 Load |M(X)|
Przenieś |słowo X| pamięci do
AC
00000100
Load - |
M(X)|
Przenieś - |słowo X| pamięci
do AC
Rozkazy rozgałęzień
bezwarunkowych
Kod
operacji
Symbol
Opis
0000110
1
Jump
M(X,0:19)
Pobierz następny rozkaz
z lewej połowy słowa
M(X) pamięci
0000111
0
Jump
M(X,20:39)
Pobierz następny rozkaz
z prawej połowy słowa
M(X) pamięci
Rozkazy rozgałęzień
warunkowych
Kod
operacji
Symbol
Opis
0000111
1
Jump
+M(X,0:19)
Jeśli zawartość AC > 0
pobierz następny rozkaz
z lewej połowy słowa
M(X) pamięci
0001000
0
Jump
+M(X,20:39)
Jeśli zawartość AC > 0
pobierz następny rozkaz
z prawej połowy słowa
M(X) pamięci
Rozkazy arytmetyki
Kod
operacji
Symbol
Opis
0000010
1
Add M(X)
Dodaj M(X) do AC, wynik
w AC
0000011
1
Add |M(X)|
Dodaj |M(X)| do AC,
wynik w AC
0000011
0
Sub M(X)
Odejmij M(X) od AC,
wynik w AC
0000100
0
Sub |M(X)|
Odejmij |M(X)| od AC,
wynik w AC
0000101
1
Mul M(X)
Pomnóż M(X) przez MQ,
wynik w AC pierwszych
40 bitów, pozostałe 40
bitów umieść w MQ
0000110
0
Div M(X)
Podziel zawartość AC
przez M(X), wynik w MQ,
reszta w AC
0001010
1
LSH
Pomnóż AC przez 2
0001001
0
RSH
Podziel AC przez 2
Rozkazy modyfikowania
adresu
Kod
operacji
Symbol
Opis
0001001
0
Store
M(X,8:19)
Zamień pole adresowe
lewego rozkazu słowa
M(X) pamięci na
zawartość części AC
0001001
1
Store
M(X,28:39)
Zamień pole adresowe
prawego rozkazu słowa
M(X) pamięci na
zawartość części AC
Architektura komputera
• Pojęcie architektury komputera odnosi się do
tych atrybutów systemu, które są widziane
przez programistę.
• Innymi słowy, atrybuty te mają bezpośredni
wpływ na logikę wykonywanego programu.
• Przykładami atrybutów architektury są:
– Lista rozkazów
– Liczba bitów wykorzystywanych do prezentacji
różnych typów danych (np. liczb czy znaków)
– Mechanizmy układów wejścia-wyjścia
– Metody adresowania pamięci.
Organizacja komputera
• Pojęcie organizacji komputera odnosi się do
jednostek operacyjnych i ich połączeń, które
stanowią realizację specyfikacji typu architektury.
• Przykładami atrybutów organizacji są:
– Rozwiązania sprzętowe niewidoczne dla programisty,
takie jak sygnały sterujące
– Interfejsy pomiędzy procesorem, a urządzeniami
wejścia-wyjścia
– Wykorzystywane technologie pamięci.
Generacje komputerów
Genera
cja
Lata
Technologia
Typowa
szybkość
(operacji /
sekundę)
1
1946-
1957
Lampy próżniowe
40.000
2
1958-
1964
tranzystory
200.000
3
1965-
1971
Małą i średnia skala
integracji
1.000.000
4
1972-
1977
Wielka skala integracji
10.000.000
5
1978-???
?
Bardzo wielka skala
integracji
100.000.000
Współczesne komputery
osobiste
Podział na części architektoniczną i
układową współczesnego komputera
Układy we-wy
Procesor
Kompilator
System
operacyjny
(Windows 2K)
Aplikacje (np. Netscape)
Układy cyfrowe
Obwody
scalone
Lista rozkazów
określająca architekturę
Ścieżki danych i sterowanie
Bramki i
elementy
pamięci
Pamięć
Hardware
Software
Assemble
r
Procesor
• Procesor jest centralną częścią systemu komputerowego.
• Procesor wykonuje następujące czynności:
– Pobiera rozkazy z pamięci.
– Interpretuje i wykonuje poszczególne rozkazy
– Pobiera dane - z pamięci lub modułu wejścia-wyjścia.
– Przetwarza dane – czyli wykonuje na danych pewne operacje
arytmetyczne lub logiczne.
– Zapisuje dane - w pamięci lub module wejścia-wyjścia.
• Cztery główne części składowe procesora:
– Jednostkę arytmetyczno-logiczną (ALU) - ta część procesora jest
odpowiedzialna za wykonanie obliczeń i przetwarzanie danych.
– Jednostkę sterującą (CU) - kieruje ona ruchem danych i rozkazów
do/z procesora i steruje pracą ALU.
– Rejestry i pamięć podręczna- część pamięci wewnętrznej
uprzywilejowanej wykorzystywanej przez procesor do adresowania,
odczytu danych, itp.
– Układ powiązań pomiędzy trzema wyżej wymienionymi częściami
procesora oraz pozostałymi modułami komputera. W komputerach
skalarnych ma postać tzw.magistrali systemowej.
Struktura wewnętrzna CPU
(procesora)
Magistrala zewnętrzna
procesora
Części składowe ALU
• Układy realizujące operacje arytmetyczne i
logiczne na danych.
• Układ przesuwania:
–
Arytmetycznego danych, w lewo albo prawo
–
Logicznego (cyklicznego) danych, w lewo albo
prawo.
• Układ zmiany znaku, tzw. układ dopełniania.
• Generator tzw. znaczników stanu (flag)
wyników operacji arytmetycznych, logicznych
i przesuwań.
Magistrala systemowa
• System komputerowy zawiera pewną liczbę
magistrali.
• Najważniejsza z nich to
magistrala systemowa
(niektóre systemy wykorzystują kilka magistrali
systemowych) łącząca najważniejsze podzespoły
komputera tj. procesor, pamięć, układy wejścia-
wyjścia.
• Magistrala systemowa składa się z wielu oddzielnych
linii o określonym znaczeniu lub funkcji. Linie
zawarte w magistrali można podzielić na trzy grupy:
– linie sterowania
– linie adresów
– linie danych
.
Własności pamięci
komputera
•
Dla zrozumienia istoty pamięci oraz sposobu ich
wykorzystywania przez system komputerowy należy je
uszeregować ze względu na dalej wymienione własności.
•
Położenie pamięci:
– pamięć wewnętrzna - składają się na nią: pamięć główna, pamięć
procesora (rejestry, pamięć podręczna)
– pamięć masowa - urządzenia dostępne przez sterownik wejścia/wyjścia
(np. dyski twarde).
•
Pojemność pamięci: zwykle wyrażana w bajtach (1 bajt=8 bitów).
•
Jednostka transferu ilość danych transmitowanych w jednostce
czasu, np. bajt/s.
•
Sposób dostępu:
– sekwencyjny - pamięć masowa zorganizowana jest za pomocą jednostek
danych zwanych rekordami, a dostęp (zapis i odczyt) do wymaganej
komórki pamięci wg kolejności rekordów;
– bezpośredni – pamięć masowa z dostępem do poszczególnych rekordów;
– swobodny – typowy dla pamięci głównych zwanych również operacyjnymi;
– dostęp skojarzeniowy – typowy dla pamięci podręcznych.
•
Wydajność określają: czas dostępu, czas cyklu pamięci i
szybkość transferu.
•
Własności fizyczne: ulotna / nie ulotna i wymazywalna / nie
wymazywalna.
Pamięć główna
• Pamięć o dostępie swobodnym
RAM
(Random Access Memory)
pozwala w stosunkowo łatwy sposób na
odczytywanie/zapisywanie danych z/do pamięci.
• Zapis oraz odczyt odbywają się za pomocą sygnałów
elektrycznych.
• Ważną cechą pamięci RAM jest jej ulotność, pamięć RAM
potrzebuje źródła zasilania, a w przypadku jego braku dane
ulegają skasowaniu.
• Pamięć RAM można podzielić na statyczną i dynamiczną.
• Uzupełnieniem pamięci RAM, jest pamięć
ROM
(Read Only
Memory) jak sama nazwa wskazuje jest pamięcią tylko do
odczytu, informacja zapisana jest na trwałe, a nowe dane nie
mogą być zapisywane.
• Zaletą pamięci ROM jest to, że program znajduje się cały czas w
pamięci głównej i nigdy nie wymaga ładowania z innych
urządzeń
.
Pamięci masowe
• Wyróżniamy dwie podstawowe klasy pamięci masowych,
ze względu na sposób dostępu:
– sekwencyjny - pamięć masowa zorganizowana jest za pomocą
jednostek danych zwanych rekordami, a dostęp (zapis i odczyt)
do wymaganej komórki pamięci wg kolejności rekordów;
– bezpośredni – pamięć masowa z dostępem do poszczególnych
rekordów;
• Do klasy pamięci masowych o dostępie sekwencyjnym
zaliczamy:
– Pamięci na wielościeżkowej taśmie magnetycznej, działających
na podobnych zasadach jak magnetofon;
– Pamięci z wirującą głowicą magnetyczną, działające na podobnej
zasadach jak magnetowid.
• Do klasy pamięci masowych o dostępie bezpośrednim
zaliczamy:
– Pamięci dyskowe;
– Pamięci optyczne, np. klasy urządzeń CD-ROM.
Pamięć dyskowa
• Dysk magnetyczny ma kształt okrągłej płyty i pokryty jest materiałem
magnetycznym. Dane są na nim zapisywane i odczytywane za pomocą
głowicy, którą stanowi cewka elektryczna. W czasie operacji
odczytu/zapisu wiruje dysk, zaś głowica pozostaje nieruchoma.
• Organizacja danych na płycie magnetycznej ma postać koncentrycznego
zespołu pierścieni, nazywanych ścieżkami, z których każda ma taką samą
szerokość jak głowica. Sąsiednie ścieżki są od siebie oddzielone, dzięki
czemu błędy wynikające z niewłaściwego ustawienia głowicy lub
interferencji pola magnetycznego zostają zminimalizowane. Aby uprościć
układy elektroniczne współpracujące z głowicą, na każdej ścieżce
przechowywana jest taka sama liczba bitów, a wielkość tę nazywa się
gęstością i wyraża w bitach na cal.
• Na rozkaz zapisu, do głowicy wysyłane są impulsy, które powodują
zapisanie określonych wzorów magnetycznych na powierzchni płyty,
znajdującej się nad głowicą (zależnie od polaryzacji głowicy wzory te są
różne).
• Odczyt polega na wykorzystaniu zjawiska przepływu prądu elektrycznego
pod wpływem pola magnetycznego wirującego, względem głowicy dysku.
Organizacja dysku
magnetycznego
Dysk twardy firmy Quantum
Pamięć optyczna
• Dyski CD i CD-ROM są dziś najpowszechniej
wykorzystywanym nośnikiem informacji.
• Płyty CD I CD-ROM są wykonane w ten sam sposób: dysk
składa się z czterech warstw: warstwy nośnej z
poliwęglanu (plastik), warstwy barwnika (topi się podczas
zapisu), warstwy dobrze odbijającej światło (np.
aluminium) i lakierowej warstwy ochronnej.
• Płyta CD posiada spiralny rowek prowadzący (groove),
który naprowadza laser, wskazuje mu drogę.
• Informacja zarejestrowana cyfrowo nanoszona jest, w
postaci małych zagłębień (pit), na powierzchnię
odbijającą. Po raz pierwszy wykonuje się to za pomocą
dobrze zogniskowanego światła lasera o dużej mocy
(podczas zapisu barwnik wytapia się, odsłaniając
odbijającą światło powierzchnię) - tak powstaje dysk
wzorcowy, który służy jako matryca do tłoczenia kopii.
• Powierzchnia z naniesioną informacją jest zabezpieczona
bezbarwnym lakierem.
Zasada działania napędu CD-ROM
Urządzenia wejścia-wyjścia
• Urządzeniem wejścia-wyjścia, dotychczas nie omawianym,
jest sterownik interfejsu sieciowego - umożliwiający
łącznie z odpowiednim modemem, zapewnienie wymiany
informacji z siecią komputerową, w szczególności z siecią
Internet.
• Do urządzeń wejścia-wyjścia obok pamięci masowych
zaliczamy szereg urządzeń umożliwiających kontakt
użytkownika z komputerem.
• Najczęściej spotykane urządzenia wejścia, czyli urządzenia
umożliwiające wprowadzanie danych do komputera to:
klawiatura, mysz i skaner.
• Najczęściej spotykane urządzenia wyjścia, czyli urządzenia
umożliwiające wyprowadzanie informacji z komputera to:
monitor ekranowy lub ciekłokrystaliczny z adapterem (np.
kartą SVGA), drukarka atramentowa i drukarka laserowa.
Schemat obsługi klawiatury
Mysz firmy Microsoft
Skaner płaski
Karty SVGA (Super VGA)
Monitor ekranowy
Drukarka atramentowa firmy
HP
Zasada działania drukarki
laserowej
Przerwania
•
Przerwania są ważnym elementem funkcjonowania systemu
komputerowego. Nazwa odnosi się do tego, że przerwania
mają w zwyczaju przerywać normalną pracę programów.
•
Np. jeśli urządzenie zewnętrzne jest gotowe do obsługi
(czyli np. przyjmowania danych od procesora). Wtedy
moduł we-wy tego urządzenia wysyła sygnał żądania
przerwania do procesora.
•
W odpowiedzi procesor zawiesza działanie bieżącego
programu i wykonuje skok do programu obsługującego to
urządzenie, czyli programu obsługi przerwania (interrupt
handler).
•
Po obsłużeniu urządzenia następuje powrót do programu,
który został przerwany.
•
Zawieszenie programu użytkownika, a następnie powrót do
miejsca, gdzie nastąpiło przerwanie jego działania, realizuje
procesor i system operacyjny.
Cykl rozkazu z przerwaniami
Przekazywanie sterowania po
przerwania
Płyta główna współczesnego
PC
Pamięć
Języki programowania
Sekwencje czynności
procesora
w czasie wykonywania
instrukcji
Przykład
Krok 1
Krok 2
Krok 3
Krok 4
Krok 5
Krok 6
Podsumowanie
• Powyższy fragment programu dodaje
zawartość słowa pamięci o adresie
940H do zawartości słowa zapisanego
pod adresem 941H oraz zapisuje wynik
pod adres 941H.
• Wykonywane są 3 rozkazy, które
zostały opisane jako 3 cykle rozkazowe.
• W każdym cyklu pokazano fazę
pobrania oraz wykonania rozkazu.
Parametry komputerów
- Moc obliczeniowa, np. mierzona w
MIPS (Million Operations Per Second)
MFLOPS (Million Floppy Operations Per
Second)
-Szybkość transmisji danych do/z różnych
urządzeń
- Niezawodność, np. mierzona w
MTBF (Mean Time Between Faults)
- Koszt, np. mierzony w
* TCO (Total Cost of Ownership)
- ....
Szybkość mikroprocesorów
W przypadku mikroprocesorów dodawanie
nowych układów oraz zwiększanie szybkości
wynikające ze zmniejszenia odległości między
nimi poprawiało wydajność 4-krotnie w ciągu
każdych 3 lat (prawo Moore’a).
Aby wykorzystać potencjalne możliwości
mikroprocesora, należy zapewnić jego
„zasilanie” ciągłym strumieniem zadań
(rozkazów). Dlatego projektanci procesorów
wykorzystują coraz bardziej wymyślne
rozwiązania jak:
- przewidywanie rozgałęzienia (ang. branch
prediction),
- analiza przepływu danych,
- spekulatywne wykonywanie rozkazów.
Równowaga wydajności
Podczas gdy moc procesorów rosła z zawrotną
szybkością, rozwój innych krytycznych
zespołów komputera był zbyt wolny. Powstała
potrzeba znalezienia
tzw. - równowagi wydajności :
dostosowanie organizacji i architektury w celu
skompensowania niezgodności między
możliwościami różnych zespołów komputera.
Problem krytyczny:
interfejs między procesorem a pamięcią
główną.
Sposoby uzyskiwania
równowagi
• Zwiększanie liczby bitów, które są
jednocześnie wprowadzane (projektowanie
„szerokich” układów DRAM),
• Stosowanie bardziej efektywnych
interfejsów pamięci DRAM przez
umieszczanie układów buforowanych w
strukturach DRAM,
• Redukowanie częstości odwołań do pamięci
głównej przez wprowadzanie efektywnych
struktur pamięci podręcznych (cache)
pomiędzy procesorem a pamięcią główną.