ARCHITEKTURA SYSTEMÓW
ARCHITEKTURA SYSTEMÓW
KOMPUTEROWYCH
KOMPUTEROWYCH
dr inż. Jacek Florek
dr inż. Jacek Florek
Instytut Informatyki
Instytut Informatyki
Strona przydatna dla realizacji przedmiotu (laboratoria):
Strona przydatna dla realizacji przedmiotu (laboratoria):
oraz uzupełnienie i rozwinięcie elementy strony
oraz uzupełnienie i rozwinięcie elementy strony
Treści wykładu
Treści wykładu
Systemy liczbowe i kodowanie liczb i tekstów
Systemy liczbowe i kodowanie liczb i tekstów
Podstawy architektury komputera
Podstawy architektury komputera
Architektura procesora
Architektura procesora
Lista rozkazów i tryby adresowania
Lista rozkazów i tryby adresowania
Organizacja i realizacja rozkazów
Organizacja i realizacja rozkazów
Pamięci i koncepcja pamięci podręcznej (cache)
Pamięci i koncepcja pamięci podręcznej (cache)
Układy i operacje wejścia/wyjścia
Układy i operacje wejścia/wyjścia
Charakterystyka
podstawowych
interfejsów
Charakterystyka
podstawowych
interfejsów
systemu komputerowego
systemu komputerowego
Praca
procesora
w
trybie
rzeczywistym
i
Praca
procesora
w
trybie
rzeczywistym
i
chronionym
chronionym
Rozwiązania
zapewniające
zwiększenie
Rozwiązania
zapewniające
zwiększenie
efektywności procesora
efektywności procesora
Współczesne wersje procesorów
Współczesne wersje procesorów
Referaty
Referaty
Standardy interfejsu szeregowego
Standardy interfejsu szeregowego
Standardy interfejsu równoległego
Standardy interfejsu równoległego
Rozwój technologii mikroprocesorów - przegląd kolejnych
Rozwój technologii mikroprocesorów - przegląd kolejnych
rozwiązań w architekturze procesorów
rozwiązań w architekturze procesorów
Mikroprocesory a mikrokontrolery
Mikroprocesory a mikrokontrolery
Rozwiązania zapewniające zwiększenie efektywności procesora
Rozwiązania zapewniające zwiększenie efektywności procesora
Treści ćwiczeń
Treści ćwiczeń
Zapisy binarne i heksadecymalne
Zapisy binarne i heksadecymalne
Kodowanie liczb i tekstów
Kodowanie liczb i tekstów
Reprezentacja binarna liczb ujemnych
Reprezentacja binarna liczb ujemnych
Działania na liczbach binarnych
Działania na liczbach binarnych
Zapoznanie z programem DEBUG
Zapoznanie z programem DEBUG
Realizacja dodawania w procesorze
Realizacja dodawania w procesorze
Realizacja odejmowania w procesorze
Realizacja odejmowania w procesorze
Realizacja mnożenia i dzielenia w procesorze
Realizacja mnożenia i dzielenia w procesorze
Operacje logiczne w procesorze
Operacje logiczne w procesorze
Operacje rotacji i przesunięć w procesorze
Operacje rotacji i przesunięć w procesorze
Operacje na łańcuchach, stosie i znacznikach
Operacje na łańcuchach, stosie i znacznikach
Realizacja prostych programów
Realizacja prostych programów
Symulatory procesora 8086
Symulatory procesora 8086
LITERATURA
LITERATURA
Clark S.H.A.: W sercu PC. Wyd. HELION. Gliwice 2003
Clark S.H.A.: W sercu PC. Wyd. HELION. Gliwice 2003
Florek J.:
Florek J.:
Systemy komputerowe
Systemy komputerowe
. Wyd. Akademii Podlaskiej.
. Wyd. Akademii Podlaskiej.
Siedlce 2001
Siedlce 2001
Kruk S.:
Kruk S.:
Asembler - podręcznik użytkownika
Asembler - podręcznik użytkownika
. Wyd. MIKOM.
. Wyd. MIKOM.
Warszawa 1999
Warszawa 1999
Kruk
S.:
Kruk
S.:
Asembler.
Kurs
programowania
dla
średnio
Asembler.
Kurs
programowania
dla
średnio
zaawansowanych
zaawansowanych
. MIKOM. Warszawa 2001
. MIKOM. Warszawa 2001
Kruk S.:
Kruk S.:
Turbo Asembler. Idee. Polecenia. Rozkazy procesora
Turbo Asembler. Idee. Polecenia. Rozkazy procesora
Pentium
Pentium
. MIKOM . Warszawa 2000
. MIKOM . Warszawa 2000
Kruk S.:
Kruk S.:
Ćwiczenia z asemblera
Ćwiczenia z asemblera
. Wyd. MIKOM. Warszawa 1999
. Wyd. MIKOM. Warszawa 1999
Metzger P.:
Metzger P.:
Anatomia PC
Anatomia PC
. Wydanie X. HELION 2006
. Wydanie X. HELION 2006
Patterson D., Hennessy J.:
Patterson D., Hennessy J.:
Computer Organizatin and design
Computer Organizatin and design
.
.
Elsevier 2005
Elsevier 2005
Skorupski A.:
Skorupski A.:
Podstawy budowy i działania komputerów
Podstawy budowy i działania komputerów
. WKŁ.
. WKŁ.
Warszawa 1997
Warszawa 1997
Komorowski W.:
Komorowski W.:
Krótki kurs architektury i organizacji
Krótki kurs architektury i organizacji
komputerów
komputerów
. Wyd. MIKOM, Warszawa 2004
. Wyd. MIKOM, Warszawa 2004
Wojtuszkiewicz K.:
Wojtuszkiewicz K.:
Urządzenia techniki komputerowej. Cz. 1 i 2.
Urządzenia techniki komputerowej. Cz. 1 i 2.
Wyd. Naukowe PWN. Warszawa 2008
Wyd. Naukowe PWN. Warszawa 2008
SYSTEMY LICZBOWE
SYSTEMY LICZBOWE
Rodzaje informacji (analogowe i cyfrowe)
Rodzaje informacji (analogowe i cyfrowe)
System dwójkowy
System dwójkowy
System heksadecymalny
System heksadecymalny
zasady konwersji liczb w różnych systemach
zasady konwersji liczb w różnych systemach
RODZAJE INFORMACJI
RODZAJE INFORMACJI
(SYGNAŁÓW)
(SYGNAŁÓW)
Informacja (łac. informatio - wyobrażenie, pojęcie) to pojęcie
o wielu definicjach w różnych dziedzinach. Zasadniczo mamy
dwa podstawowe punkty widzenia na informację.
Informacja obiektywna – pogląd ten wywodzi się z fizyki i
matematyki, gdzie informacja oznacza pewną własność
fizyczną lub strukturalną obiektów
Informacja subiektywna – pogląd w którym informacją jest to,
co umysł jest w stanie przetworzyć i wykorzystać do własnych
celów.
Nośnikiem informacji jest sygnał i niesie on informację o
naturze badanych zjawisk lub systemów.
Sygnał oznacza zatem przepływ strumienia informacji, przy
czym przepływ może odbywać się w jednym lub w wielu
wymiarach.
Sygnały (informacje)
Sygnały (informacje)
analogowe
analogowe
Sygnały (informacje) dyskretne
Sygnały (informacje) dyskretne
(cyfrowe)
(cyfrowe)
U(t)
Umax
Umax
0
0
R=(0,Umax)
nieskończony
zbiór możliwych
wartości
U(t)
Umaxq
Umax
0
0
R=(
U, 2U,
3U, 4U
)
moc zbioru R
wynosi 4
U – kwant
wartości
MASZYNA
MASZYNA
ANALOGOWA
ANALOGOWA
WE
WY
MASZYNA
MASZYNA
CYFROWA
CYFROWA
#
#
#
#
a/c
c/a
RODZAJE INFORMACJI
RODZAJE INFORMACJI
(SYGNAŁÓW)
(SYGNAŁÓW)
Sygnał analogowy – sygnał, który może przyjmować dowolną wartość z
ciągłego przedziału (nieskończonego lub ograniczonego zakresem
zmienności). Jego wartości mogą zostać określone w każdej chwili
czasu, dzięki funkcji matematycznej opisującej dany sygnał.
Sygnał dyskretny – sygnał, którego dziedzina i zbiór wartości są
dyskretne. Znaczenie tego terminu może odnosić się do:
• wielkości fizycznej, która z natury jest dyskretna (np. liczba błysków
lampy w ciągu godziny)
• wielkości pierwotnie ciągłej i analogowej, która została
spróbkowana i skwantowana (np. sygnał na wyjściu komparatora
napięcia)
• każdej reprezentacji jednego z powyższych, w tym (najczęściej) w
postaci ciągu liczb zapisanych w pamięci maszyny cyfrowej
Informacje lub wielkości zapisane w postaci cyfrowej (binarnej)
nazywamy dyskretnymi. Takie informacje lub wielkości
przedstawia się w postaci słów cyfrowych
Informacje lub wielkości zapisane w postaci cyfrowej (binarnej)
nazywamy dyskretnymi. Takie informacje lub wielkości
przedstawia się w postaci słów cyfrowych
Słowem cyfrowym nazywamy dowolny ciąg składający się z
symboli 0 i/lub 1
Słowem cyfrowym nazywamy dowolny ciąg składający się z
symboli 0 i/lub 1
Długość słowa
Długość słowa
Oznaczenie
Oznaczenie
symboliczne
symboliczne
Nazwa
Nazwa
1
1
4
4
8
8
16
16
32
32
64
64
a
a
0
0
a
a
3
3
...a
...a
0
0
a
a
7
7
.....a
.....a
0
0
a
a
15
15
.......a
.......a
0
0
a
a
31
31
.........a
.........a
0
0
a
a
63
63
...........a
...........a
0
0
bit
bit
tetrada, kęs
tetrada, kęs
bajt
bajt
słowo 16-bitowe, słowo
słowo 16-bitowe, słowo
podwójne słowo, dwusłowo
podwójne słowo, dwusłowo
słowo 64-bitowe, czterosłowo
słowo 64-bitowe, czterosłowo
1b - oznacza 1 bit
1b - oznacza 1 bit
1B=8b
1B=8b
1B - oznacza 1 bajt
1B - oznacza 1 bajt
1kB=1024B (2
1kB=1024B (2
10
10
)
)
1MB=1024kB
1MB=1024kB
1GB=1024MB
1GB=1024MB
Przykład: 20 MB jest ilością informacji ośmiokrotnie większą niż 20Mb
Przykład: 20 MB jest ilością informacji ośmiokrotnie większą niż 20Mb
INFORMACJA (SYGNAŁ)
INFORMACJA (SYGNAŁ)
CYFROWA
CYFROWA
W słowach cyfrowych wyróżnia się najstarszą i najmłodszą pozycję, tj.
• b
it najbardziej znaczący
zwany najstarszym (ang.
MSB
- Most Significant
Bit)
oraz
• b
it najmniej znaczący
zwany najmłodszym (ang.
LSB
- Least Significant Bit)
a
a
n-1
n-1
......................... a
......................... a
0
0
MSB
MSB
LSB
LSB
Analogicznie możemy mówić o starszym i najmłodszym bajcie lub o starszej
lub młodszej tetradzie
INFORMACJA CYFROWA
INFORMACJA CYFROWA
Do
zapisu
dowolnej
liczby
system
wykorzystuje dziesięć symboli (cyfr):
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Dowolną liczbę w systemie dziesiętnym
możemy przedstawić jako następująca sumę:
(a
n-1
...a
1
a
0
)
D
= a
n-1
*10
(n-1)
+...+ a
1
*10
1
+ a
0
*10
0
=
gdzie: i - numer pozycji w liczbie,
a
i
- dowolna z cyfr od 0 do 9,
n - ilość cyfr (pozycji) w liczbie
Przykład:
424
D
= 4*10
2
+ 2*10
1
+ 4*10
0
pozycja jedynek (0)
pozycja jedynek (0)
pozycja dziesiątek (1)
pozycja dziesiątek (1)
pozycja setek (2)
pozycja setek (2)
1
n
0
i
i
i
10
a
DZIESIĘTNY SYSTEM LICZBOWY
DZIESIĘTNY SYSTEM LICZBOWY
Do zapisu dowolnej liczby system
Do zapisu dowolnej liczby system
wykorzystuje dwa symbole (cyfry):
wykorzystuje dwa symbole (cyfry):
0, 1
0, 1
Dowolną liczbę w systemie dwójkowym
Dowolną liczbę w systemie dwójkowym
możemy przedstawić jako następująca
możemy przedstawić jako następująca
sumę:
sumę:
(a
(a
n-1
n-1
...a
...a
1
1
a
a
0
0
)
)
B
B
= a
= a
n-1
n-1
*2
*2
(n-1)
(n-1)
+...+ a
+...+ a
1
1
*2
*2
1
1
+ a
+ a
0
0
*2
*2
0
0
=
=
gdzie:
gdzie:
i - numer pozycji w liczbie,
i - numer pozycji w liczbie,
a
a
i
i
- dowolna z cyfr (0 lub 1),
- dowolna z cyfr (0 lub 1),
n - ilość cyfr (pozycji) w liczbie
n - ilość cyfr (pozycji) w liczbie
Przykład:
Przykład:
10100
10100
B
B
= 1*2
= 1*2
4
4
+ 0*2
+ 0*2
3
3
+ 1*2
+ 1*2
2
2
+ 0*2
+ 0*2
1
1
+ 0*2
+ 0*2
0
0
1
n
0
i
i
i
2
a
DWÓJKOWY SYSTEM LICZBOWY
DWÓJKOWY SYSTEM LICZBOWY
1.
1.
2.
2.
10100
10100
B
B
= 1*2
= 1*2
4
4
+ 0*2
+ 0*2
3
3
+ 1*2
+ 1*2
2
2
+ 0*2
+ 0*2
1
1
+ 0*2
+ 0*2
0
0
=
=
= 1*16 + 0*8 + 1*4 + 0*2 + 0*1 = 20
= 1*16 + 0*8 + 1*4 + 0*2 + 0*1 = 20
D
D
20:2 = 10
20:2 = 10
10:2 = 5
10:2 = 5
5:2 = 2
5:2 = 2
2:2 = 1
2:2 = 1
1:2 = 0
1:2 = 0
reszta=
reszta=
0
0
reszta=
reszta=
0
0
reszta=
reszta=
1
1
reszta=
reszta=
0
0
reszta=
reszta=
1
1
k
ie
ru
n
e
k
o
d
c
zy
tu
k
ie
ru
n
e
k
o
d
c
zy
tu
w
y
n
ik
u
w
y
n
ik
u
czyli 20
czyli 20
D
D
=
=
10100
10100
B
B
KONWERSJA LICZB
KONWERSJA LICZB
Do
zapisu
dowolnej
liczby
system
Do
zapisu
dowolnej
liczby
system
wykorzystuje szesnaście symboli (cyfr i
wykorzystuje szesnaście symboli (cyfr i
liter):
liter):
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E,
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E,
F
F
Dowolną
liczbę
w
systemie
Dowolną
liczbę
w
systemie
heksadecymalnym możemy przedstawić
heksadecymalnym możemy przedstawić
jako następująca sumę:
jako następująca sumę:
(a
(a
n-1
n-1
...a
...a
1
1
a
a
0
0
)
)
H
H
= a
= a
n-1
n-1
*16
*16
(n-1)
(n-1)
+...+ a
+...+ a
1
1
*16
*16
1
1
+ a
+ a
0
0
*16
*16
0
0
=
=
gdzie:
gdzie:
i - numer pozycji w liczbie,
i - numer pozycji w liczbie,
a
a
i
i
- dowolna cyfra heksadecymalna,
- dowolna cyfra heksadecymalna,
n - ilość cyfr (pozycji) w liczbie
n - ilość cyfr (pozycji) w liczbie
Przykład:
Przykład:
1C2
1C2
H
H
= 1*16
= 1*16
2
2
+ C*16
+ C*16
1
1
+ 2*16
+ 2*16
0
0
1
n
0
i
i
i
16
a
HEKSADECYMALNY (SZESNASTKOWY)
HEKSADECYMALNY (SZESNASTKOWY)
SYSTEM LICZBOWY
SYSTEM LICZBOWY
1.
1.
2.
2.
1C2
1C2
H
H
= 1*16
= 1*16
2
2
+ C*16
+ C*16
1
1
+ 2*16
+ 2*16
0
0
=
=
= 1*256 + 12*16 + 2*1 = 450
= 1*256 + 12*16 + 2*1 = 450
D
D
450:16 =
450:16 =
28
28
28:16 = 1
28:16 = 1
1:16 = 0
1:16 = 0
reszta=
reszta=
2
2
reszta=
reszta=
C
C
reszta=
reszta=
1
1
k
ie
ru
n
e
k
k
ie
ru
n
e
k
o
d
c
zy
tu
o
d
c
zy
tu
w
y
n
ik
u
w
y
n
ik
u
czyli 450
czyli 450
D
D
=
=
1C2
1C2
H
H
reszty zapisujemy w
reszty zapisujemy w
postaci cyfry
postaci cyfry
heksadecymalnej
heksadecymalnej
KONWERSJA LICZB
KONWERSJA LICZB
Do konwersji zapisu binarnego na heksadecymalny i
Do konwersji zapisu binarnego na heksadecymalny i
odwrotnie wykorzystuje się tabelę:
odwrotnie wykorzystuje się tabelę:
cyfra heksadecymalna liczba binarna liczba dziesiętna
0
0000
0
1
0001
1
2
0010
2
3
0011
3
4
0100
4
5
0101
5
6
0110
6
7
0111
7
8
1000
8
9
1001
9
A
1010
10
B
1011
11
C
1100
12
D
1101
13
E
1110
14
F
1111
15
KONWERSJA LICZB
KONWERSJA LICZB
1C2
1C2
H
H
=
=
= 0001 1100
= 0001 1100
0010 =
0010 =
= 000111000010
= 000111000010
=
=
= 111000010
= 111000010
B
B
111000010
111000010
B
B
=
=
=
=
000
000
1 1100 0010
1 1100 0010
B
B
=
=
= 1C2
= 1C2
H
H
każdą cyfrę hex.
każdą cyfrę hex.
zapisujemy w postaci
zapisujemy w postaci
czwórki cyfr binarnych
czwórki cyfr binarnych
odrzucamy nieznaczące
odrzucamy nieznaczące
zera na początku liczby
zera na początku liczby
binarnej
binarnej
1.
1.
2.
2.
liczbę binarną dzielimy od
liczbę binarną dzielimy od
końca na czwórki
końca na czwórki
ewentualnie dopisując
ewentualnie dopisując
nieznaczące zera w
nieznaczące zera w
ostatniej (pierwszej)
ostatniej (pierwszej)
czwórce
czwórce
każdą czwórkę binarną
każdą czwórkę binarną
zapisujemy w postaci cyfry
zapisujemy w postaci cyfry
hex.
hex.
KONWERSJA LICZB
KONWERSJA LICZB
W jakim systemie liczbowym zapisano biografię?
W jakim systemie liczbowym zapisano biografię?
Ukończyłem uniwersytet w
Ukończyłem uniwersytet w
44
44
roku życia; po roku, jako już
roku życia; po roku, jako już
100
100
-
-
letni młodzieniec, ożeniłem się z
letni młodzieniec, ożeniłem się z
34
34
-letnią panienką. Nieznaczna
-letnią panienką. Nieznaczna
różnica wieku –
różnica wieku –
11
11
lat tylko – sprzyjała bardzo harmonijnemu
lat tylko – sprzyjała bardzo harmonijnemu
małżeńskiemu pożyciu. W stosunkowo krótkim czasie mieliśmy
małżeńskiemu pożyciu. W stosunkowo krótkim czasie mieliśmy
już
już
10
10
dzieci. Moja miesięczna pensja wynosiła
dzieci. Moja miesięczna pensja wynosiła
13000
13000
zł, z
zł, z
których
których
1/10
1/10
oddawałem siostrze, tak iż na własne utrzymanie
oddawałem siostrze, tak iż na własne utrzymanie
mieliśmy tylko
mieliśmy tylko
11200
11200
zł na miesiąc; mimo to byliśmy szczęśliwi.
zł na miesiąc; mimo to byliśmy szczęśliwi.
W systemie dziesiętnym ma ona postać:
W systemie dziesiętnym ma ona postać:
Ukończyłem uniwersytet w
Ukończyłem uniwersytet w
24
24
roku życia; po roku, jako już
roku życia; po roku, jako już
25
25
-
-
letni młodzieniec, ożeniłem się z
letni młodzieniec, ożeniłem się z
19
19
-letnią panienką. Nieznaczna
-letnią panienką. Nieznaczna
różnica wieku –
różnica wieku –
6
6
lat tylko – sprzyjała bardzo harmonijnemu
lat tylko – sprzyjała bardzo harmonijnemu
małżeńskiemu pożyciu. W stosunkowo krótkim czasie mieliśmy
małżeńskiemu pożyciu. W stosunkowo krótkim czasie mieliśmy
już
już
5
5
dzieci. Moja miesięczna pensja wynosiła
dzieci. Moja miesięczna pensja wynosiła
1000
1000
zł, z których
zł, z których
1/5
1/5
oddawałem siostrze, tak iż na własne utrzymanie mieliśmy
oddawałem siostrze, tak iż na własne utrzymanie mieliśmy
tylko
tylko
800
800
zł na miesiąc; mimo to byliśmy szczęśliwi.
zł na miesiąc; mimo to byliśmy szczęśliwi.
ZABAWA - ĆWICZENIE
ZABAWA - ĆWICZENIE
DZIĘKUJĘ ZA UWAGĘ !
DZIĘKUJĘ ZA UWAGĘ !