1
1
Architektura Systemów Komputerowych
Wykład 1
Pojęcia podstawowe. Systemy liczbowe.
2
Warunki uzyskania zaliczenia:
Obecność na laboratoriach
Pozytywna ocena z pracy na laboratorium
Pozytywna końcowa ocena z testu wyboru
(wykład+laboratorium)
Architektura Systemów Komputerowych
3
Literatura i materiały:
W. Stallings, Organizacja i architektura systemu komputerowego,
Projektowanie systemu a jego wydajność, Wydawnictwa Naukowo-
Techniczne
G.Syck, Turbo Assembler. Biblia Użytkownika, LT&P, Warszawa 1994
J.Scanlon, Assembler 80286/80386
J.Biernat, Architektura komputerów, Oficyna Wydawnicza Politechniki
Wrocławskiej, Wrocław, 1999
P.Metzger, Anatomia PC, Helion
Randall Hyde, Profesjonalne programowanie. Część 1. Zrozumieć
komputer, 2005
Czasopisma specjalistyczne i popularnonaukowe
4
System komputerowy
SK
składa
się
ze
współzależnych
zespołów
elementów.
Charakteryzuje się go poprzez określenie jego
struktury (tj. sposobu powiązania zespołów)
i funkcjonowania (tj. działania jego poszczególnych zespołów).
Wyróżnia się przy tym następujące poziomy systemu:
sprzęt komputerowy,
system operacyjny (oprogramowanie systemowe),
oprogramowanie użytkowe (aplikacje).
2
5
Architektura
– odnosi się do tych atrybutów systemu, które są
widzialne dla programisty, czyli inaczej mają bezpośredni wpływ na
logiczne wykonywanie programu.
Organizacja
–
to opis zależności sprzętowych, przedstawienie
poszczególnych podzespołów komputera który funkcjonuje według
pewnych zasad, współpracuje ze sobą by osiągnąć określony cel.
lista instrukcji, liczba bitów stosowana do reprezentacji danych,
mechanizm I/O, techniki adresowania;
czy dostępna jest operacja mnożenia?
sygnały sterujące, interfejsy, technologia wykonania pamięci
np. czy mnożenie jest realizowane sprzętowo, czy przez sekwencję
dodawań?
Architektura a Organizacja
systemu komputerowego
6
Warstwy systemu komputerowego
Struktura systemu komputerowego jest struktura hierarchiczną i
składa się z pięciu zasadniczych warstw tj.:
warstwa sprzętowa,
system operacyjny,
programy narzędziowe,
programy użytkowe
użytkownicy.
7
Warstwy systemu komputerowego
Sprzęt
– zapewnia podstawowe możliwości obliczeniowe (procesor,
pamięć, urządzenia wejścia/wyjścia) – podstawowe zasoby systemu
komputerowego.
Oprogramowanie systemowe
– kontroluje i koordynuje użycie zasobów
sprzętowych poprzez różne programy użytkowe dla różnych użytkowników.
Oprogramowanie narzędziowe
– wspomaga zarządzanie zasobami
sprzętowymi poprzez dogodne interfejsy użytkowe oraz usprawnia,
modyfikuje oprogramowanie systemowe.
Programy użytkowe
– określają sposoby, w jakie zostają użyte zasoby
systemowe do rozwiązywania problemów obliczeniowych zadanych przez
użytkownika (kompilatory, systemy baz danych, gry, oprogramowanie
biurowe).
Użytkownicy
– osoby, maszyny, inne komputery, które mają bezpośredni
kontakt z oprogramowaniem użytkowym.
8
Klasyfikacja systemów komputerowych
Systemy
ogólnego przeznaczenia
(np. komputery osobiste, stacje
robocze)
Systemy
czasu rzeczywistego
(np. systemy sterowania
procesami przemysłowymi, monitoringu)
Systemy
wbudowane
(np. mikrokontrolery, zwykle występują bez
klawiatury, wyświetlacze)
Systemy
wielozadaniowe
(w systemach tych procesor wykonuje
na przemian wiele różnych zadań)
3
9
Klasyfikacja systemów komputerowych
Systemy
wielodostępowe
(każdy użytkownik współpracujący z
określonym zadaniem pracuje przy osobnym terminalu
wyposażonym w urządzenia wejścia wyjścia)
Systemy
wieloprocesorowe
(posiadają kilka współpracujących ze
sobą procesorów, systemy równoległe)
Systemy
rozproszone
(zbudowane w oparciu o niejednorodne
jednostki, podsystemy mogą mieć różne przeznaczenie)
10
Funkcje i główne bloki komputera
Funkcje
przesyłanie danych
przechowywanie danych
przetwarzanie danych
funkcje sterujące
Bloki funkcjonalne
pamięć
podsystem I/O
procesor (arytmometr)
procesor (układ sterujący)
11
Operacja 1 – przesyłanie danych
Przemiesz-
czanie
I/O
Sterowanie
Przetwa-
rzanie
Pamięć
12
Operacja 2 – przechowywanie danych
Przemiesz-
czanie
I/O
Sterowanie
Przetwa-
rzanie
Pamięć
4
13
Operacja 3 – przetwarzanie danych (1)
Przemiesz-
czanie
I/O
Sterowanie
Przetwa-
rzanie
Pamięć
14
Operacja 4 – przetwarzanie danych (2)
Przemiesz-
czanie
I/O
Sterowanie
Przetwa-
rzanie
Pamięć
15
Bloki funkcjonalne komputera
Wyróżnia się 5 bloków:
Sterowanie
Arytmometr
Pamięć
Procesor
Wejście
Wyjście
16
Architektury komputerów
Architektura Harwardzka
Zmodyfikowana architektura Harwardzka
Architektura SHARC (Super Harvard ARChitecture)
Architektura von Neumanna
Zmodyfikowana architektura von Neumanna
5
17
Architektura Harwardzka
o
Rozkazy i dane przechowywane są
w oddzielnych pamięciach.
o
Organizacja pamięci może być
różna (inne długości słowa danych i
rozkazów).
o
Komputer posiada 2 magistrale,
rozkazów oraz danych.
o
Możliwość pracy równoległej –
jednoczesny odczyt z pamięci
programu oraz pamięci danych,
o
Stosowana m.in. w
mikrokontrolerach jednoukładowych.
RAM DANYCH
RAM
PROGRAMU
obszar I/O
CPU
ADRES 2
ADRES
DANE 2
DANE 2
18
Architektura von Neumanna
o
Ścisły podział komputera na 3 podstawowe
części: procesor, pamięć i urządzenia wejścia
wyjścia
o
Program oraz dane umieszczone są we
wspólnej pamięci.
o
Nie da się rozróżnić danych o rozkazów
(instrukcji).
o
Dane nie mają przypisanego znaczenia.
o
Pamięć traktowana jest jako liniowa tablica
komórek, które identyfikowane są przy
pomocy dostarczanego przez procesor
adresu.
o
Procesor ma dostęp do przestrzeni
adresowej, dekodery adresowe zapewniają
mapowanie pamięci na rzeczywiste układy.
RAM
(PROGRAMU
I DANYCH)
obszar I/O
CPU
ADRES
DANE 2
19
Systemy liczbowe
System liczbowy
– zestaw reguł umożliwiających przedstawienie
liczb za pomocą określonych symboli (cyfr) oraz wykonywanie na tych
liczbach określonych działań (operacji arytmetycznych).
pozycyjne
systemy liczbowe – znaczenie cyfry (wartość) jest
uzależnione od pozycji, które zajmuje w liczbie (przykład: system
dziesiętny, np. 7744)
niepozycyjne (addytywne)
systemy liczbowe – znaczenie cyfry
jest niezależne od zajmowanej pozycji w liczbie (przykład: system
rzymski, np. XVIII ).
20
Cyfrowa reprezentacja wartości
W technice komputerowej wykorzystywane są głównie systemy:
dwójkowy
,
ósemkowy
,
dziesiątkowy
(dziesiętny)
szesnastkowy
(heksadecymalny).
system dwójkowy: {0, 1}
system ósemkowy: {0, 1, 2, 3, 4, 5, 6, 7},
system dziesiętny: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
system szesnastkowy:{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F } –
(A=10, B=11, C=12, D=13, E=14, F=15)
6
21
Systemy pozycyjne wagowe
22
Systemy pozycyjne wagowe
23
System dziesiętny
Cyfry mogą przyjmować dziesięć różnych wartości: 0,1..9
12 = 2*1 + 1*10 = 2*10
0
+ 1*10
1
+ 0*10
2
+ ...
012 = 2*10
0
+ 1*10
1
+ 0*10
2
+ ... = 12
24
Pojemność liczby
Maksymalna wartość, jaką można zapisać w danym systemie
liczbowym na
m
pozycjach całkowitych i
n
pozycjach ułamkowych.
1
−
=
m
p
m
p
L
(
) (
)
n
m
p
n
m
p
p
L
−
−
+
−
=
1
1
,