Wykład2 - Architektura i budowa komputera

Transkrypt

Wykład2 - Architektura i budowa komputera
Podstawy Informatyki i Technologii Informacyjnej
Automatyka i Robotyka I rok
Komputer - architektura, organizacja, budowa
Bartosz Kuczewski
PWSZ Gªogów, 2009
Bartosz Kuczewski
Podstawy Informatyki i Technologii Informacyjnej
Denicje
te wªasno±ci (atrybuty) komputera,
które s¡ widoczne dla programisty i maj¡ bezpo±redni wpªyw na
sposób tworzenia i logiczne wykonanie programu (np. lista rozkazów
procesora, sposób reprezentacji liczb).
Inaczej (potocznie) organizacja poª¡cze« pomi¦dzy pami¦ci¡,
procesorem i urz¡dzeniami wej±cia-wyj±cia (podstawowe elementy
ka»dego komputera)
zwykle trwaªa, mo»e przetrwa¢ wiele lat (np. architektura von
Neumanna)
Organizacja komputera (zwana te» mikroarchitektur¡) sposób
realizacji architektury, atrybuty organizacji to np. sposób realizacji
instrukcji, technologie wykonania poszczególnych zespoªów
(niewidoczne dla programisty).
zmienia si¦ szybko i ewoluuje wraz z rozwojem technologii (np.
kolejne generacje komputerów typu PC czy procesorów Intela)
Architektura komputera
Bartosz Kuczewski
Podstawy Informatyki i Technologii Informacyjnej
Architektura - klasykacja
Ze wzgl¦du na sposób organizacji pami¦ci i wykonywania
programu:
architektura typu Priceton (wspólna pami¦¢ dla programu i danych)
to»sama z architektur¡ von Neumanna
architektura typu Harvard (rozdzielona pami¦¢ programu i danych)
stosowana dla zwi¦kszenia wydajno±ci w pami¦ciach podr¦cznych
typu cache oraz w tzw. systemach wbudowanych , np. sterownikach
urz¡dze« AGD, gdzie program nie zmienia si¦ lub zmienia si¦ bardzo
rzadko)
Bartosz Kuczewski
Podstawy Informatyki i Technologii Informacyjnej
Architektura - klasykacja
Ze wzgl¦du na rodzaj poª¡cze« procesor-pami¦¢ i sposób ich
(liczb¦ przetwarzanych strumieni danych i rozkazów),
tzw. taksonomia Flynna (Michael Flynn, lata 60-te XX w.)
wykorzystania
(Single Instruction, Single Data): przetwarzany jest jeden
strumie« danych przez jeden wykonywany program - komputery
skalarne (sekwencyjne) - klasyczna maszyna von Neumanna.
SISD
(Single Instruction, Multiple Data): przetwarzanych jest wiele
strumieni danych przez jeden wykonywany program - tzw.
komputery wektorowe
SIMD
MIMD (Multiple Instruction, Multiple Data): równolegle
wykonywanych jest wiele programów, z których ka»dy przetwarza
wªasne strumienie danych - np. komputery wieloprocesorowe, a
tak»e klastry i gridy
(Multiple Instruction, Single Data): wiele równolegle
wykonywanych programów przetwarza jednocze±nie jeden wspólny
strumie« danych. W zasadzie jedynym zastosowaniem s¡ systemy
wykorzystuj¡ce redundancj¦ (wielokrotne wykonywanie tych samych
oblicze«) do minimalizacji bª¦dów
MISD
Bartosz Kuczewski
Podstawy Informatyki i Technologii Informacyjnej
Architektura - klasykacja
Urz¡dzenia bez strumieni danych - nie s¡ komputerami niektóre
automaty
NISD, NIMD (No Instruction, . . .): maszyny obecnie nie
konstruowane, samo podej±cie sterowania przepªywem danych (ang.
dataow ) u»ywane do modelowania procesów informacyjnych
liczba
strumieni
rozkazów
0
1
>1
liczba strumieni danych
0
1
>1
NISD NIMD
automat SISD
SIMD
automat MISD MIMD
Bartosz Kuczewski
Podstawy Informatyki i Technologii Informacyjnej
Architektura wg von Neumanna
Podziaª komputera na 3 funkcjonalne cz¦±ci:
procesor (z cz¦±ci¡ steruj¡c¡ i cz¦±ci¡ arytmetyczno-logiczn¡)
pami¦¢ (zawiera dane i
sam program
)
urz¡dzenia wej±cia-wyj±cia
Wªasno±ci systemu komputerowego w architekturze von Neumanna:
sko«czona i funkcjonalnie peªna lista rozkazów
program wprowadzany do pami¦ci przez urz¡dzenia zewn¦trzne i
przechowywany identycznie jak dane
dane i instrukcje jednakowo dost¦pne dla procesora
instrukcje s¡ wykonywane sekwencyjnie
pami¦¢ uporz¡dkowana w sposób jednowymiarowy (ka»da komórka
posiada adres liczbowy)
Bartosz Kuczewski
Podstawy Informatyki i Technologii Informacyjnej
Architektura wg von Neumanna
Bartosz Kuczewski
Podstawy Informatyki i Technologii Informacyjnej
Architektura wspóªczesnego komputera osobistego
Skªadniki wspóªczesnego komputera:
(mikro)procesor, zawieraj¡cy co najmniej jedn¡ jednostk¦
arytmetyczno-logiczn¡, jednostk¦ steruj¡ca i rejestry
pami¦¢ operacyjna RAM
urz¡dzenia wej±cia-wyj±cia (klawiatura, mysz, karta graczna,
pami¦ci dyskowe, nap¦dy pami¦ci optycznych itp.)
Bartosz Kuczewski
Podstawy Informatyki i Technologii Informacyjnej
Architektura wspóªczesnego komputera osobistego
Skªadniki wspóªczesnego komputera, cd.:
ukªad bezpo±redniego dost¦pu do pami¦ci (ang. DMA Direct
Memory Access)
specjalizowany procesor odci¡»aj¡cy procesor gªówny przy operacjach
przesyªania du»ych bloków danych miedzy pami¦ci¡ operacyjn¡ a
ukªadami wej±cia-wyj±cia
ukªad przerwa«
pozwala na dost¦p 'na »¡danie' do czasu procesora przez ukªady
wej±cia-wyj±cia
Komunikacja pomi¦dzy skªadnikami odbywa sie za pomoc¡ szyn
(zwanych te» magistralami): danych, adresowych, sygnaªów steruj¡cych
zyczna realizacja wi¡zki przewodów
Bartosz Kuczewski
Podstawy Informatyki i Technologii Informacyjnej
Architektura wspóªczesnego komputera osobistego
Bartosz Kuczewski
Podstawy Informatyki i Technologii Informacyjnej
Architektura wspóªczesnego komputera osobistego
Procesor, ukªady pami¦ci, podstawowe ukªady wej±cia-wyj±cia s¡
zamontowane na jednej pªycie drukowanej, tzw. pªycie gªównej (ang.
MotherBoard )
Bartosz Kuczewski
Podstawy Informatyki i Technologii Informacyjnej
Architektura wspóªczesnego komputera osobistego
Procesor - budowa ogólna
Uk³ady
WE/WY
Szyna
steruj¹ca
Karty
rozszerzeñ
Szyna
danych
Pamiêæ
RAM
Szyna
adresowa
B
I
U
AU
REJESTRY
ALU
EU
IU
PROCESOR
Bartosz Kuczewski
Podstawy Informatyki i Technologii Informacyjnej
Architektura wspóªczesnego komputera osobistego
Jednostka arytmetyczno-logiczna (ALU) wraz z rejestrami
wewn¦trznymi odpowiada za bezpo±rednie manipulowanie danymi
(dodawanie, odejmowanie, itp.)
Ukªad sterownika szynami (magistralami) (BIU) odpowiada za
przesyªanie danych mag. danych oraz wysterowanie mag. steruj¡cej
Jednostka rozkazowa (IU) odpowiada za dekodowanie instrukcji
pobranych z pami¦ci za po±rednictwem BIU, zawiera automatycznie
uzupeªnian¡ kolejk¦ instrukcji
Jednostk¦ wykonawcza (EU) odpowiada za interpretacj¦ rozkazów
odnosz¡cych si¦ zarówno do rejestrów, jak i komórek pami¦ci (st¡d
poª¡czenie z ALU i BIU)
Ukªad adresuj¡cy (AU) odpowiada za wytworzenie na szynie
adresowej adresu, pod który zostan¡ przesªane dane
Blok rejestrów procesor (ALU) pracuje jedynie na danych
zgromadzonych w rejestrach (komórkach pami¦ci znajduj¡cych si¦ w
obudowie procesora). ›eby procesor wykonaª jakie± dziaªanie trzeba
zatem najpierw zaªadowa¢ odpowiednio rejestry, a pó¹niej odczyta¢
znajduj¡cy si¦ w nich wynik
pami¦¢ podr¦czna (tzw. cache )
Bartosz Kuczewski
Podstawy Informatyki i Technologii Informacyjnej
Terminologia
gªówny skªadnik komputera interpretuj¡cy i wykonuj¡cy
instrukcje programu
Procesor
(ang. CPU, central processing unit) cz¦±¢
komputera zawieraj¡ca pami¦¢ operacyjn¡ i jeden lub wiele
procesorów, a cz¦sto inne okre±lenie samego procesora
Jednostka centralna
Mikroprocesor,
scalonego
µP procesor wykonany w postaci jednego ukªadu
Mikroprocesor wielordzeniowy (ang. multi-core microprocessor) wiele niezale»nych procesorów wykonanych w jednym ukªadzie
scalonym
(ang. IC, integrated circuit) ukªad elektroniczny,
którego elementy, ich poª¡czenia i obszary izoluj¡ce s¡ wytworzone
wspólnie, w jednym cyklu technologicznym i w sposób nierozdzielny
Ukªad scalony
ukªady steruj¡ce poª¡czeniami pªyty gªównej komputera,
zbudowane zwykle w postaci 2 ukªadów scalonych zwanych
mostkami
Chipset
Bartosz Kuczewski
Podstawy Informatyki i Technologii Informacyjnej
bity, bajty, sªowa, przedrostki w informatyce
bit
pojedyncza cyfra kodu dwójkowego (0 lub 1)
bajt
na ogóª 8 bitów
oktet
zawsze 8 bitów
nibble, póªbajt
na ogóª 4 bity
podstawowa porcja przetwarzania informacji,
równa rozmiarowi rejestrów danych procesora, np. 16, 32, 64 bity
(zale»ne od maszyny)
sªowo maszynowe
Przedrostki:
kilo (k), mega (M), giga (G), tera (T) oznacza odpowiednio 103 ,
106 , 109 , 1012
Ale w informatyce mo»e te» oznacza¢ odpowiednio:
210 (1024), 220 (1048576), 230 , 240 ,
tak liczy si¦ wielko±¢ pami¦ci 1kB = 1024B
ale np. pojemno±¢ dysków twardych liczy si¦ u»ywaj¡c pot¦g 10 panuje tu pewna niekonsekwencja; u»ywane s¡ reguªy zwyczajowe
Bartosz Kuczewski
Podstawy Informatyki i Technologii Informacyjnej
Przedrostki w informatyce, cd.
Wielokrotno±ci bajtów
Przedrostki dziesi¦tne
(SI)
Nazwa
Symbol
Mno»nik
kilobajt
kB/KB 103 = 10001
megabajt
MB
106 = 10002
gigabajt
GB
109 = 10003
terabajt
TB
1012 = 10004
petabajt
PB
1015 = 10005
Bartosz Kuczewski
Przedrostki binarne
(IEC 60027-2)
Nazwa
Symbol
Mno»nik
10
kibibajt
KiB
2 = 10241
mebibajt
MiB
220 = 10242
gibibajt
GiB
230 = 10243
tebibajt
TiB
240 = 10244
pebibajt
PiB
250 = 10245
Podstawy Informatyki i Technologii Informacyjnej
Reprezentacja danych przetwarzanych przez komputer
Powszechnie u»ywamy systemu dziesi¦tnego:
L(10) = s
gdzie:
n
X
i =−m
ei 10i
s znak liczby (±1),
ei ∈ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} cyfry reprezentacji dziesi¦tnej
np.: 24, 56 = 2 · 101 + 4 · 100 + 5 · 10−1 + 6 · 10−2
Komputer przetwarza dane zapisane w systemie binarnym (dwójkowym):
L(2) = s
gdzie:
n
X
i =−m
ei 2i
s znak liczby (±1),
ei ∈ {0, 1} cyfry reprezentacji dwójkowej
np.:
10, 75(10) = 1 · 23 + 0 · 22 + 1 · 21 + 0 · 20 + 1 · 2−1 + 1 · 2−2 (2) = 1010, 11(2)
Bartosz Kuczewski
Podstawy Informatyki i Technologii Informacyjnej
Reprezentacja danych przetwarzanych przez komputer
- nie wszystkie liczby rzeczywiste zapisane w systemie
dziesi¦tnym posiadaj¡ sko«czone rozwini¦cie w systemie dwójkowym, np.
UWAGA
0, 325(10) = 0, 0101(0011)(2)
Zapis w systemie szesnastkowym (heksadecymalnym):
L(16) = s
gdzie:
n
X
i =−m
ei 16i
s znak liczby (±1),
ei ∈ {0 ÷ 9, A, B , C , D , E , F } cyfry reprezentacji heksadecymalnej
np.: 175, 75(10) = 1010
|{z}, 1100
|{z} (2) = AF , C(16)
|{z} 1111
A(16) F(16) C(16)
Cz¦sto u»ywany tak»e zapis oktalny (ósemkowy)
Bartosz Kuczewski
Podstawy Informatyki i Technologii Informacyjnej
Reprezentacja danych przetwarzanych przez komputer
Reprezentacja staªoprzecinkowa (liczby caªkowite):
L=s
gdzie:
s
n
X
i =0
ei 2i
s znak liczby (±1),
ei ∈ {0, 1} cyfry reprezentacji binarnej
0
...
0
en
en-1
...
e0
d bitów
Zakres: Z = [−2d , 2d − 1]
np. dla 16 bitów (INT16):
ze znakiem [-32768, 32767]
bez znaku [0,65535]
O ile wynik nale»y do Z, dokªadnie wykonywane:
dodawanie
odejmowanie
mno»enie
Bartosz Kuczewski
Podstawy Informatyki i Technologii Informacyjnej
Reprezentacja danych przetwarzanych przez komputer
Reprezentacja zmiennoprzecinkowa (liczb rzeczywistych):
L = s · 2c · m
gdzie:
znak liczby (±1),
cecha liczby liczba caªkowita ze znakiem w reprezentacji
staªopozycyjnej
t
P
m mantysa liczby, m ∈ [0.5, 1), dla t bitów: mt =
e−i 2−i
i =1
e−1 = 1, e−i ∈ {0, 1} dla i > 1
s
c
s
sc
ed-t--2
...
e1
e0
d-t bitów cechy
e-1
e-2
...
t bitów mantysy
ilo±¢ bitów na przechowanie liczby sko«czona - zwykle wyst¡pi bª¡d
zaokr¡glenia
o zakresie decyduje ilo±¢ bitów cechy
o dokªadno±ci reprezentacji decyduje ilo±¢ bitów mantysy
dziaªania arytmetyczne na liczbach zmiennnoprzecinkowych zwykle
obarczone bª¦dem
standardy reprezentacji liczb (o bazie dwójkowej) zdeniowane w
normie IEEE 754
Bartosz Kuczewski
Podstawy Informatyki i Technologii Informacyjnej
e-t
Reprezentacja danych przetwarzanych przez komputer
Reprezentacja zmiennopozycyjna (linia liczb zmiennoprzecinkowych):
Znormalizowane typy danych zmiennoprzecinkowych:
precyzja
ilo±¢ bitów mantysy
ilo±¢ bitów cechy
(ze znakiem liczby) (ze znakiem cechy)
pojedyncza (SINGLE)
24
8
podwójna (DOUBLE)
53
11
Bartosz Kuczewski
Podstawy Informatyki i Technologii Informacyjnej