Wyklad7.pdf

(113 KB) Pobierz
Wstęp do informatyki
Wykład 7
Architektura komputerów
Zagadnienia szczegółowe:
- pojęcie komputera i systemu informatycznego
- architektura komputera
- organizacja logiczna komputera
- koncepcja von Neumanna
- procesor
- cykl rozkazowy i przerwania
- wielowątkowość, przetwarzanie potokowe, wielordzeniowość
- pamięć
- magistrala systemowa
- jednostka centralna i jej elementy
- interfejsy i złącza
- pamięci zewnętrzne
- karty rozszerzeń
- urządzenia zewnętrzne
Pojęcie komputera:
Komputer (dawniej maszyna cyfrowa) to urządzenie (zespół urządzeń), które:
- pobiera dane wejściowe
- wykonuje na tych danych pewne operacje (obliczenia) zgodnie z określoną z góry
kolejnością poleceń programu (będącego skończonym ciągiem rozkazów/instrukcji
do wykonania, podanym w postaci zrozumiałej dla komputera)
- otrzymane wyniki tych operacji (obliczeń) przesyła użytkownikowi.
Powstanie i rozwój komputerów (urządzeń technicznych zdolnych do gromadzenia,
przechowywania i przetwarzania informacji) datuje się od początku lat 40-tych XX
wieku.
System informatyczny (komputerowy) to system obejmujący
komputer i oprogramowanie zwykle wraz z bankiem danych (bazą danych
i oprogramowaniem do jej bezpośredniej obsługi).
Narzędzia informatyki to: komputery (hardware) + oprogramowanie (software)
Rodzaje komputerów
- superkomputery - zastosowania specjalne, np. w nauce lub wojskowości
- duże komputery (ang. mainframe) - stosowane np. w bankowości
- minikomputery - najczęściej stosowane jako serwery do obsługi przedsiębiorstw,
grup użytkowników, sieci komputerowych.
1
- mikrokomputery (komputery osobiste) - przeznaczone dla pojedynczego
użytkownika (IBM PC, MacIntosh)
- laptopy, notebooki - komputery przenośne
- palmtopy
Architektura komputera to ustalenia obejmujące:
- organizację i strukturę komputera
- procesor i zbiór realizowanych przez niego instrukcji
- pamięć i sposoby jej organizacji
- magistrale systemowe
- urządzenia wejścia/wyjścia
Architektura von Neumanna :
W 1946 r John von Neumann (1903-1957) podał założenia, które stały się
standardem w architekturze komputerowej.
Model ten obowiązuje do dzisiaj w tradycyjnych komputerach sekwencyjnych
(większość komputerów).
Elementami komputera sekwencyjnego są:
- procesor - jednostka arytmetyczno-logiczna (w tym arytmometr )
- pamięć operacyjna o liniowej adresacji, w której jest zapisany program i dane
- układy sterujące
- system wejścia/wyjścia (we/wy).
Jak działa komputer von Neumanna:
Program (zbiór rozkazów/instrukcji opisujących jakie kroki należy wykonać w
określonej kolejności, aby rozwiązać zadanie) wprowadzany jest do systemu
komputerowego poprzez urządzenia wejścia/wyjścia i przechowywany w pamięci w
sposób identyczny, jak dane .
Dane i instrukcje programu są jednakowo dostępne dla procesora.
2
169821078.001.png
System (procesor) ma skończoną i funkcjonalnie pełną listę rozkazów .
Rozkazy są wykonywane w procesorze sekwencyjnie , w kolejności, w jakiej zostały
umieszczone w programie (tym samym w pamięci). Zmiana tej kolejności może
nastąpić w wyniku wykonania specjalnych rozkazów.
Pracę układów taktuje (synchronizuje) zegar systemowy .
Procesor
Procesor (mikroprocesor, CPU – Central Processor Unit) to bardzo złożony, o dużej
skali integracji układ scalony, który wykonuje rozkazy, nadzoruje i synchronizuje
pracę wszystkich urządzeń w komputerze.
Zadania procesora:
- pobieranie rozkazów z pamięci
- dekodowanie rozkazów i ich interpretowanie
- pobieranie danych – z pamięci lub bezpośrednio z urządzeń wejścia
- przetwarzanie danych, czyli przeprowadzanie na danych operacji arytmetyczno-
logicznych
- zapisywanie danych – w pamięci lub na urządzeniach wyjścia
Procesor tworzą:
- jednostka arytmetyczno-logiczna ( arytmometr ) – wykonuje obliczenia
- jednostka sterująca – odpowiada za przepływ informacji i steruje pracą całego
układu
- rejestry - bardzo szybka pamięć o niewielkiej pojemności, służy do
przechowywania bieżących danych i adresów:
* akumulator (A) – przechowuje argument lub wynik obliczeń
* licznik rozkazów (LR) – zawiera adres następnego do wykonania rozkazu
* flagi – określają wektor stanu procesora i wykonywanych obliczeń
- lista rozkazów - funkcjonalnie pełny zestaw poleceń „zapisanych” w języku
maszynowym, które procesor potrafi wykonać
Architektura CISC lub RISC
- CISC (Complex Instruction Set Computers):
* rozbudowana (kilkaset), uniwersalna lista rozkazów procesora
* zróżnicowany format rozkazów
* mała optymalizacja działania
* do pamięci może odwoływać się bezpośrednio duża liczba rozkazów
- RISC (Reduced Instruction Set Computers) (ARM, MIPS, SPARC):
* zredukowana (kilkadziesiąt) lista rozkazów procesora
* rozkazy są prostsze, bardziej zunifikowane, upraszcza to dekodowanie
* zwiększona liczba rejestrów
* zmniejszona liczba odwołań procesora do pamięci
* procesory są wydajniejsze niż procesory o architekturze CISC
- EPIC (Explicitly Paralell Instruction Computing)
* rozkazy CISC-owe są rozbijane na mikrorozkazy, które następnie są wykonywane
przez RISC-owy blok wykonawczy
3
Podstawowe parametry procesora:
- liczba tranzystorów: od kilku tysięcy do kilkuset milionów
- rozmiar elementów budujących jego strukturę: 45-90 nm
- wielordzeniowość: Dual Core, Quad Core
- częstotliwość pracy: kilka GHz
- długość słowa maszynowego tj. liczba bitów przetwarzanych w jednym cyklu (np.
procesor 32 lub 64-bitowy)
- liczba i przeznaczenie rejestrów
- lista rozkazów, architektura (CISC lub RISC)
- szybkość działania:
* w mipsach (Milion Instructions Per Second) (1 mips = 1 000 000 rozkazów na s)
* w megaflopach (1 megaflop = 1 048 576 operacji zmiennoprzecinkowych na s)
- pojemność pamięci cache współpracującej z procesorem
Prawo Moore'a w oryginalnym sformułowaniu mówi, że ekonomicznie optymalna
liczba tranzystorów w układzie scalonym podwaja się co 18-24 miesiące. Moc
obliczeniowa komputerów podwaja się co 24 miesiące.
Cykl rozkazowy
Procesor pracuje w tzw. cyklu rozkazowym (maszynowym):
1. pobranie z pamięci wskazanej przez adres podany w liczniku rozkazów
kolejnego słowa maszynowego i przekazanie go do dekodera
2. rozpoznanie słowa (rozkaz lub dana); jeśli jest to rozkaz, to następuje wydzielenie
części operacyjnej (nr rozkazu z listy rozkazów procesora) i części adresowej
(adres lub adresy argumentów i/lub wyniku)
3. na podstawie adresów pobranie z pamięci argumentów i wykonanie polecenia
(odwołanie się do odpowiedniego układu w arytmometrze) oraz przesłanie wyniku
pod wskazany adres
4. zwiększenie zawartości licznika rozkazów o 1 (lub o założoną jednostkę)
5. jeżeli operacja nie dotyczyła zakończenia programu, to powrót do pkt.1
Praca procesora regulowana jest przez sygnał zegarowy.
Przerwania
W czasie wykonywania rozkazu może wystąpić zdarzenie nie związane z bieżącym
cyklem rozkazowym, ale wymagające od procesora jakiejś reakcji. W ostatniej fazie
cyklu następuje sprawdzenie, czy wystąpiło zgłoszenie takiego zdarzenia.
Jeśli nie było zgłoszenia, rozpoczyna się następny cykl rozkazowy. Jeśli było
zgłoszenie, nazywane przerwaniem (interrupt), następuje zidentyfikowanie źródła
przerwania, a następnie przekazanie sterowania do stosownej procedury obsługi.
Procedury obsługi przerwań są częścią jądra systemu operacyjnego .
Pojawienie się przerwania powoduje wstrzymanie aktualnie wykonywanego
programu i wykonanie przez procesor kodu procedury obsługi przerwania.
Rodzaje przerwań:
- sprzętowe :
- zewnętrzne: sygnał przerwania pochodzi z zewnętrznego układu (np. z klawiatury,
napędu dysku) obsługującego przerwania sprzętowe
- wewnętrzne (diagnostyczne), nazywane wyjątkami (exceptions), zgłaszane przez
procesor dla sygnalizowania sytuacji wyjątkowych (np. dzielenie przez zero);
dzielą się na trzy grupy:
4
* faults – niepowodzenia
* traps – pułapki
* aborts – błędy, których nie można naprawić
- programowe – są wynikiem wykonania specjalnego rozkazu programu, najczęściej
wykorzystywane do komunikacji z systemem operacyjnym
Rozszerzenia architektury von Neumanna:
- wielowątkowość - wykorzystuje podział programu na wątki (threads), które są
wykonywane niezależnie (nie musza oczekiwać wzajemnie na swoje wyniki)
- przetwarzanie superskalarne – oznacza możliwość wykonywania kilku rozkazów
na raz w jednym cyklu zegara, jest to możliwe dzięki zwielokrotnieniu jednostek
wykonawczych, co umożliwia obliczenia równoległe
- przetwarzanie potokowe (pipelining) – kolejne rozkazy złożone znajdują się w
różnych stanach realizacji; rozkaz podzielony jest na wiele małych kroków (stopni)
obsługiwanych przez różne układy procesora
- wielordzeniowość – procesor składa się z kilku współpracujących ze sobą
układów tworzących w zasadzie samodzielne procesory
Pamięć
Pamięć służy do przechowywania programów i danych.
Fizycznie jest to zestaw układów elektronicznych, z których każdy w elementarnej
postaci może przyjmować dwa rozróżnialne stany 0 i 1 .
Charakterystyka pamięci:
- wewnętrzna (np. RAM), zewnętrzna (np. pamięć flash)
- dostęp: sekwencyjny (np. taśma magnetyczna), bezpośredni (np. dysk twardy),
swobodny (np. RAM)
- ulotna (np. RAM), trwała (nieulotna) (np. dysk twardy, CD-ROM)
- tylko do odczytu (np. ROM), zapisywalna 1x (CD-R) lub wiele razy (CD-RW)
- półprzewodnikowa (np. RAM, flash), magnetyczna (np. dyskietka), optyczna (np.
DVD-ROM), magnetooptyczna
Podstawowe parametry pamięci:
- pojemność – wyrażana w wielokrotnościach bajtów (B), np. 120 GB
- czas dostępu – czas niezbędny do zrealizowania operacji zapisu/odczytu lub czas
potrzebny na umieszczenie mechanizmu zapisu/odczytu w żądanym miejscu, od
kilku ns (cache) do kilku ms (dysk twardy)
- szybkość zapisu/odczytu
Rodzaje pamięci:
ROM (Read Only Memory) – pamięć trwała, tylko do odczytu, zawartość zostaje
zapisana podczas procesu produkcji i np. umożliwia zainicjowanie pracy komputera
po włączeniu (BIOS - testowanie, wczytanie systemu operacyjnego)
PROM pamięć tylko do odczytu z programowalną zawartością:
- EPROM optycznie (UV) wymazywalna, odczytywana i zapisywana elektrycznie
- EEPROM elektrycznie wymazywalna
- pamięć flash odmiana pamięci EEPROM
RAM (Random Access Memory) – pamięć ulotna, o dostępie swobodnym,
wielokrotnie zapisywalna; przechowuje programy i dane
5
Zgłoś jeśli naruszono regulamin