Wst¦p
Transkrypt
Wst¦p
Wst¦p 1 Zasady prowadzenia zaj¦¢ Na stronie www.ii.uni.wroc.pl/~kiero/dydaktyka.html znale¹¢ b¦dzie mo»na materiaªy do zaj¦¢: zasady zaliczania ¢wicze«, moje notatki (nie zawsze b¦d¡ zawieraªy caªy materiaª opowiedziany na wykªadzie i nie zawsze b¦d¡ najporz¡dniejsze, ale mam nadziej¦, »e do czego± si¦ przydadz¡), listy zadaniowe, punktacj¦ w mojej grupie ¢wiczeniowej i mo»e jeszcze par¦ innych rzeczy. Literatura: 1. William Stallings, Organizacja i architektura systemu komputerowego. Projektowanie systemu a jego wydajno±¢, WNT 2000. 2. Linda Null, Julia Lobur, Struktura organizacyjna i architektura systemów komputerowych, Helion 2004 3. B. S. Chalk, Organizacja i architektura komputerów, WNT 1998; 4. M. Morris Mano, Architektura komputerów, WNT 1988. 2 Czego b¦dziemy si¦ uczy¢? Omawia¢ b¦dziemy ogólne zasady budowy i dziaªania komputerów. Nie b¦dziemy uczyli si¦ architektury konkretnych maszyn - szczegóªowe poznanie architektury procesorów Pentium przekracza zdecydowanie ramy tego wykªadu, który ma by¢ tylko wykªadem wprowadzaj¡cym. Poza tym na ±wiecie istnieje mnóstwo bardzo ró»nych maszyn nazywanych koputerami - od maªych komputerów osobistych do pot¦»nych superkomputerów - omówienie nawet wszystkich typów komputerów byªoby niemo»liwe. Skoncentrujemy si¦ na cechach poja- wiaj¡cych si¦ we wszystkich systemach i omawia¢ b¦dziemy raczej architektrury modelowe, cho¢ oczywi±cie odwoªania do konkretnych rzeczywistych rozwi¡za« b¦d¡ si¦ pojawiaªy. Co to jest komputer? Sama nazwa pochodzi od angielskiego sªowa compute, które oznacza oblicza¢. Sugeruje to, »e komputery s¡ urz¡dzeniami przeznaczonymi do oblicze«. Tak oczywi±cie byªo na pocz¡tku. Teraz powiemy raczej, »e komputer to urz¡dzenie, którego zadaniami s¡: • przetwarzanie danych (obliczenia na danych liczbowych, kompresja tekstów, szyfrowanie, ...) • przechowywanie danych (pami¦ci zewn¦trzne, ale nie tylko: nawet podczas przetwarzania danych potrzebna jest funkcja przechowywania, chocia»by chwilowego w rejestrach procesora) • przenoszenie danych (klawiatura-komputer, komputer-monitor, transmisja na dalsze odlegªo±ci) • sterowanie tymi trzema funkcjami (w najprostszych przypadkach przez osoby z zewn¡trz, zazwyczaj przez jednostk¦ steruj¡c¡ zasobami komputera) Komputer zbudowany jest z • jednostki centralnej (CPU) - sterowanie, przetwarzanie danych • pami¦ci gªównej - przechowywanie danych • systemu wej±cia wyj±cia - przenoszenie danych mi¦dzy komputerem a otoczeniem • poª¡czenia systemu Na budow¦ komputera b¦dziemy spogl¡da¢ hierarchicznie. Ju» w tej chwili mo»emy rzuci¢ okiem jak wygl¡da modelowa jednostka centralna (procesor). Skªada si¦ ona znowu z kilku cz¦±ci: • jednostka steruj¡ca (procesor w procesorze) 1 • jednostka arytmetyczno-logicza (ALU) • rejestry • poª¡czenia wewn¦trzne Mo»emy schodzi¢ jeszcze ni»ej. W jednostce steruj¡cej realizowanej metod¡ mikroprogramowania wyró»ni¢ mo»emy: ukªady logiczne szeregowania, rejestry i dekodery jednostki steruj¡cej, pami¦¢ steruj¡c¡. 2.1 Model von Neumanna Wspóªczesne maszyny s¡ budowane zazwyczaj zgodnie z tzw. modelem von Neumanna. Koncepcja ta zostaªa zaproponowana przez twórców komputera ENIAC (Mauchly, Eckert, ale sam ENIAC nie byª pierwotnie zbudowany zgodnie z t¡ koncepcj¡). Podobne pomysªy miaª w tym samym czasie (45-46) Alan Turing. Podstawowa cecha program przechowywany jest w pami¦ci razem z danymi. • koncepcja programu (rozkazy wykonywane s¡ szeregowo, z wyj¡tkiem skoków) • program i dane w pami¦ci gªównej, adresowanie • ALU operuje na danych binarnych • cykl pobieranie-dekodowanie-wykonywanie rozkazów • I/O nadzorowane jest przez CPU. Oczywi±cie w historii komputerów pojawiªo si¦ wiele dodatkowych rozszerze« (pami¦¢ wirtualna, dane zmiennoprzecinkowe, przerwania, ...), ale, z grubsza rzecz bior¡c, model obowi¡zuje do dzi±. 3 Hierarchiczna struktura komputerów Luka semantyczna: pomi¦dzy poziomem bramek logicznych a poziomem j¦zyków programowania wysokiego poziomu. Poziomy abstrakcji systemów komputerowych: • Poziom 0: logika cyfrowa (bramki logiczne, poª¡czenia mi¦dzy nimi) • Poziom 1: sterowanie (mikrokod lub skongurowane sprz¦towo) • Poziom 2: maszyna (architektura zbioru rozkazów) • Poziom 3: oprogramowanie systemowe (system operacyjny, biblioteki) • Poziom 4: asemblery • Poziom 5: j¦zyki wysokiego poziomu • Poziom 6: u»ytkownik (programy wykonywalne) Mo»emy my±le¢, »e na ka»dym poziomie mamy maszyn¦ wirtualn¡ realizuj¡c¡ ró»ne zbiory operacji (w razie potrzeby odwoªuj¡c si¦ do maszyn z ni»szego poziomu) 2