Automatyka i Robotyka I rok Komputer - architektura, organizacja, budowa PWSZ Gªogów, 2009
Denicje Architektura komputera 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 - 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)
Architektura - klasykacja Ze wzgl du na rodzaj poª cze«procesor-pami i sposób ich wykorzystania (liczb przetwarzanych strumieni danych i rozkazów), tzw. taksonomia Flynna (Michael Flynn, lata 60-te XX w.) SISD (Single Instruction, Single Data): przetwarzany jest jeden strumie«danych przez jeden wykonywany program - komputery skalarne (sekwencyjne) - klasyczna maszyna von Neumanna. SIMD (Single Instruction, Multiple Data): przetwarzanych jest wiele strumieni danych przez jeden wykonywany program - tzw. komputery wektorowe 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 MISD (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
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 danych 0 1 >1 liczba 0 NISD NIMD strumieni 1 automat SISD SIMD rozkazów >1 automat MISD MIMD
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)
Architektura wg von Neumanna
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.)
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
Architektura wspóªczesnego komputera osobistego
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 )
Architektura wspóªczesnego komputera osobistego Procesor - budowa ogólna Uk³ady WE/WY Karty rozszerzeñ Szyna steruj¹ca Szyna danych B I U ALU RE- JES- TRY Pamiêæ RAM Szyna adresowa AU EU IU PROCESOR
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)
Terminologia Procesor gªówny skªadnik komputera interpretuj cy i wykonuj cy instrukcje programu Jednostka centralna (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 Mikroprocesor, µp procesor wykonany w postaci jednego ukªadu scalonego Mikroprocesor wielordzeniowy (ang. multi-core microprocessor) wiele niezale»nych procesorów wykonanych w jednym ukªadzie scalonym Ukªad scalony (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 Chipset ukªady steruj ce poª czeniami pªyty gªównej komputera, zbudowane zwykle w postaci 2 ukªadów scalonych zwanych mostkami
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 sªowo maszynowe podstawowa porcja przetwarzania informacji, równa rozmiarowi rejestrów danych procesora, np. 16, 32, 64 bity (zale»ne od maszyny) Przedrostki: kilo (k), mega (M), giga (G), tera (T) oznacza odpowiednio 10 3, 10 6, 10 9, 10 12 Ale w informatyce mo»e te» oznacza odpowiednio: 2 10 (1024), 2 20 (1048576), 2 30, 2 40, 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
Przedrostki w informatyce, cd. Wielokrotno±ci bajtów Przedrostki dziesi tne Przedrostki binarne (SI) (IEC 60027-2) Nazwa Symbol Mno»nik Nazwa Symbol Mno»nik kilobajt kb/kb 10 3 = 1000 1 kibibajt KiB 2 10 = 1024 1 megabajt MB 10 6 = 1000 2 mebibajt MiB 2 20 = 1024 2 gigabajt GB 10 9 = 1000 3 gibibajt GiB 2 30 = 1024 3 terabajt TB 10 12 = 1000 4 tebibajt TiB 2 40 = 1024 4 petabajt PB 10 15 = 1000 5 pebibajt PiB 2 50 = 1024 5
Reprezentacja danych przetwarzanych przez komputer Powszechnie u»ywamy systemu dziesi tnego: L (10) = s n i= m e i 10 i gdzie: s znak liczby (±1), e i {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} cyfry reprezentacji dziesi tnej np.: 24, 56 = 2 10 1 + 4 10 0 + 5 10 1 + 6 10 2 Komputer przetwarza dane zapisane w systemie binarnym (dwójkowym): L (2) = s n i= m gdzie: s znak liczby (±1), e i {0, 1} cyfry reprezentacji dwójkowej np.: 10, 75 (10) = 1 2 3 + 0 2 2 + 1 2 1 + 0 2 0 + 1 2 1 + 1 2 2 (2) = 1010, 11 (2) e i 2 i
Reprezentacja danych przetwarzanych przez komputer UWAGA - nie wszystkie liczby rzeczywiste zapisane w systemie dziesi tnym posiadaj sko«czone rozwini cie w systemie dwójkowym, np. 0, 325 (10) = 0, 0101(0011) (2) Zapis w systemie szesnastkowym (heksadecymalnym): L (16) = s n i= m e i 16 i gdzie: s znak liczby (±1), e i {0 9, A, B, C, D, E, F } cyfry reprezentacji heksadecymalnej np.: 175, 75 (10) = 1010 }{{} 1111 }{{}, 1100 }{{} (2) = AF, C (16) A (16) F (16) C (16) Cz sto u»ywany tak»e zapis oktalny (ósemkowy)
Reprezentacja danych przetwarzanych przez komputer Reprezentacja staªoprzecinkowa (liczby caªkowite): L = s n e i 2 i i=0 gdzie: s znak liczby (±1), e i {0, 1} cyfry reprezentacji binarnej s 0... 0 e n e... n-1 e 0 Zakres: Z = [ 2 d, 2 d 1] np. dla 16 bitów (INT16): ze znakiem [-32768, 32767] d bitów bez znaku [0,65535] O ile wynik nale»y do Z, dokªadnie wykonywane: dodawanie odejmowanie mno»enie
Reprezentacja danych przetwarzanych przez komputer Reprezentacja zmiennoprzecinkowa (liczb rzeczywistych): L = s 2 c m gdzie: s znak liczby (±1), c cecha liczby liczba caªkowita ze znakiem w reprezentacji staªopozycyjnej m mantysa liczby, m [0.5, 1), dla t bitów: m t = t e i 2 i e 1 = 1, e i {0, 1} dla i > 1 s s e... d-t--2 e 1 e... c 0 e -1 e -2 e -t d-t bitów cechy i=1 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
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