Rok akademicki 2012/2013, Wykład nr 6 2/43 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 2012/2013 Architektura i organizacja systemu komputerowego Struktura i funkcjonowanie komputera procesor, rozkazy, przerwania struktura połączeń, magistrala, DMA systemy pamięci komputerowych hierarchia pamięci, pamięć podręczna Wykład nr 6 (03.04.2013) Rok akademicki 2012/2013, Wykład nr 6 3/43 Rok akademicki 2012/2013, Wykład nr 6 4/43 Architektura komputera Organizacja komputera Atrybuty systemu widzialne dla programisty i mające bezpośredni wpływ na logiczne wykonywanie programu Dotyczy jednostek operacyjnych i ich połączeń stanowiących realizację specyfikacji typu architektury Do architektury komputera należy m.in.: Rozwiązania sprzętowe niewidzialne dla programisty, np. lista rozkazów sygnały sterujące liczba bitów wykorzystywanych do prezentacji różnych typów danych mechanizmy wejścia-wyjścia interfejsy między komputerem a urządzeniami peryferyjnymi wykorzystywana technologia pamięci. metody adresowania pamięci.
Rok akademicki 2012/2013, Wykład nr 6 5/43 Rok akademicki 2012/2013, Wykład nr 6 6/43 Funkcjonowanie komputera Struktura komputera Funkcje realizowane przez komputer: Komputer tworzą cztery główne składniki: przetwarzanie danych przechowywanie danych (krótkotrwałe lub długotrwałe) przenoszenie danych (pomiędzy komputerem a światem zewnętrznym) urządzenia peryferyjne (proces wejścia-wyjścia) duża odległość (transmisja danych) procesor (jednostka centralna, CPU) - steruje działaniem komputera i realizuje przetwarzanie danych pamięć główna - przechowuje dane wejście-wyjście - przenosi dane między komputerem a jego otoczeniem zewnętrznym połączenia systemu - mechanizmy zapewniające komunikację między składnikami systemu sterowanie (powyższymi funkcjami). Wszystkie powyższe składniki mogą występować w komputerze pojedynczo lub w większej liczbie. Rok akademicki 2012/2013, Wykład nr 6 7/43 Rok akademicki 2012/2013, Wykład nr 6 8/43 Struktura procesora Struktura procesora Główne składniki strukturalne procesora to: jednostka sterująca - steruje działaniem procesora i pośrednio całego komputera jednostka arytmetyczno-logiczna (ALU) - realizuje przetwarzanie danych przez komputer rejestry - realizują wewnętrzne przechowywanie danych w procesorze połączenia procesora - wszystkie mechanizmy zapewniające komunikację między jednostką sterującą, ALU i rejestrami. EU - Execution Unit CU - Control Unit źródło: K. Wojtuszkiewicz, Urządzenia techniki komputerowej. PWN, Warszawa, 2007.
Rok akademicki 2012/2013, Wykład nr 6 9/43 Rok akademicki 2012/2013, Wykład nr 6 10/43 Intel 8086 1978 rok Procesor 16-bitowy 16-bitowa magistrala danych 20-bitowa magistrala adresowa Adresowanie do 1 MB pamięci Multipleksowane magistrale: danych i adresowa Dwa tryby pracy: minimalny maksymalny (8288 - sterownik magistrali) GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 8086 CPU 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 VCC AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD RQ/GT0 RQ/GT1 LOCK S2 S1 S0 QS0 QS1 TEST READY RESET ( HOLD ) ( HLDA ) ( WR ) ( M/IO ) ( DT/R ) ( DEN ) ( ALE ) ( INTA ) Intel 8086 1 - rejestry ogólnego przeznaczenia 2 - ALU + rejestr znaczników (flag) 3 - rejestry segmentowe + licznik rozkazów 4 - generator adresu fizycznego 5 - kolejka rozkazów 6 - kontroler interfejsu 7 - układ kontrolny źródło: wikipedia Rok akademicki 2012/2013, Wykład nr 6 11/43 Rok akademicki 2012/2013, Wykład nr 6 12/43 Intel 8086 - Rejestr flag Podstawowe zadanie komputera to wykonywanie programu Program składa się z rozkazów przechowywanych w pamięci Rozkazy są przetwarzane w dwu krokach: źródło: wikipedia Cykl pobierania (ang. fetch): odczytanie rozkazu z pamięci licznik rozkazów (PC) lub wskaźnik instrukcji (IP) określa, który rozkaz ma być pobrany jeśli procesor nie otrzyma innego polecenia, to inkrementuje licznik PC po każdym pobraniu rozkazu.
Rok akademicki 2012/2013, Wykład nr 6 13/43 Rok akademicki 2012/2013, Wykład nr 6 14/43 Podstawowe zadanie komputera to wykonywanie programu Program składa się z rozkazów przechowywanych w pamięci W celu przyspieszenia pracy systemu stosuje się tzw. wstępne pobranie instrukcji (ang. prefetching) Rozkazy są przetwarzane w dwu krokach: Cykl wykonywania (ang. execution): może zawierać kilka operacji, jest zależny od typu rozkazu pobrany rozkaz jest umieszczany w rejestrze rozkazu (IR) rozkaz ma formę kodu binarnego określającego działania, które ma podjąć procesor CP1 CW1 CP2 CW2 CP3 CW3 CP1 CW1 CP2 CW2 prefeching CP3 CW3 czas CP - cykl pobierania CW - cykl wykonywania Działania procesora można podzielić na cztery grupy: przesłanie danych z procesora do pamięci lub odwrotnie przesłanie danych z procesora do modułu we-wy lub odwrotnie operacje arytmetyczne lub logiczne na danych sterowanie (np. zmiana sekwencji wykonywania programu) procesor interpretuje rozkaz i przeprowadza wymagane operacje. Wykonywanie rozkazów może zawierać kombinacje powyższych działań. Rok akademicki 2012/2013, Wykład nr 6 15/43 Rok akademicki 2012/2013, Wykład nr 6 16/43 Graf stanów cyklu wykonania rozkazu ma następującą postać: Graf stanów cyklu wykonania rozkazu ma następującą postać: (3) - analiza rozkazu w celu określenia rodzaju operacji, która ma być wykonana oraz w celu określenia argumentu (jednego lub kilku) (8) - zapisanie wyniku w pamięci lub skierowanie go do we-wy Nie wszystkie stany z powyższego schematu muszą występować. Mogą wystąpić sytuacje, w których jeden rozkaz może określać operacje na wektorze liczb lub na szeregu znaków, co wymaga powtarzania operacji pobrania i/lub przechowywania.
Rok akademicki 2012/2013, Wykład nr 6 17/43 Rok akademicki 2012/2013, Wykład nr 6 18/43 Rozkaz: przechowywany jest w postaci binarnej ma określony format używa określonego trybu adresowania Format - sposób rozmieszczenia informacji w kodzie rozkazu Tryb adresowania - sposób określania miejsca przechowywania argumentów rozkazu (operandów) Adresowanie natychmiastowe - argument znajduje się w kodzie rozkazu Rozkaz zawiera: kod operacji (rodzaj wykonywanej operacji) argumenty (lub adresy argumentów) wykonywanych operacji Adresowanie bezpośrednie - kod rozkazu zawiera adres komórki pamięci, w której znajduje się argument Rok akademicki 2012/2013, Wykład nr 6 19/43 Rok akademicki 2012/2013, Wykład nr 6 20/43 - przerwania Adresowanie rejestrowe - kod rozkazu zawiera oznaczenie rejestru, w którym znajduje się argument Wykonywanie kolejnych rozkazów przez procesor może być przerwane poprzez wystąpienie tzw. przerwania (interrupt) Adresowanie pośrednie - kod rozkazu zawiera oznaczenie rejestru, w którym znajduje się adres komórki pamięci, w której znajduje się argument Można wyróżnić kilka klas przerwań: programowe - generowane po wystąpieniu błędu podczas wykonania rozkazu (np. dzielenie przez zero) zegarowe - generowane przez wewnętrzny zegar procesora we-wy - generowane przez sterownik we-wy w celu zasygnalizowania normalnego zakończenia operacji lub błędu uszkodzenie sprzętu - generowane przez uszkodzenie, np. defekt zasilania, błąd parzystości pamięci Przerwania zostały zaimplementowane w celu poprawienia efektywności przetwarzania - procesor może wykonywać inne rozkazy, gdy jest realizowana operacja we-wy.
Rok akademicki 2012/2013, Wykład nr 6 21/43 Rok akademicki 2012/2013, Wykład nr 6 22/43 - przerwania - przerwania Aby dostosować się do przerwań do cyklu rozkazu jest dodawany cykl przerwania: Jak działa przerwanie? Po sygnale przerwania procesor: zawiesza wykonanie bieżącego programu i zachowuje jego kontekst ustawia licznik programu na początkowy adres programu obsługi przerwania wykonuje program obsługi przerwania wznawia wykonywanie programu użytkowego. Rok akademicki 2012/2013, Wykład nr 6 23/43 Rok akademicki 2012/2013, Wykład nr 6 24/43 - przerwania wielokrotne - struktura połączeń Podczas obsługi jednego przerwania może pojawić się sygnał kolejnego przerwania Struktura połączeń jest to zbiór ścieżek łączących podstawowe moduły komputera, tj. procesor, pamięć i urządzenia we-wy Problem przerwań wielokrotnych rozwiązywany jest na dwa sposoby: uniemożliwienie innych przerwań, jeśli jakiekolwiek inne przerwanie jest przetwarzane określenie priorytetów przerwań - przerwanie o wyższym priorytecie powoduje przerwanie programu obsługi przerwania o niższym priorytecie. Pamięć: pamięć składa się z określonej liczby słów o jednakowej długości słowa umieszczone są pod konkretnymi adresami słowo może być odczytane z pamięci lub do niej zapisane typ operacji określają sygnały sterujące odczyt i zapis
Rok akademicki 2012/2013, Wykład nr 6 25/43 Rok akademicki 2012/2013, Wykład nr 6 26/43 - struktura połączeń - struktura połączeń Struktura połączeń jest to zbiór ścieżek łączących podstawowe moduły komputera, tj. procesor, pamięć i urządzenia we-wy Struktura połączeń jest to zbiór ścieżek łączących podstawowe moduły komputera, tj. procesor, pamięć i urządzenia we-wy Procesor: odczytuje rozkazy i dane wysyła dane po przetworzeniu steruje pracą całego systemu poprzez sygnały sterujące otrzymuje sygnały przerwań Rozkazy Dane Sygnały przerw. Procesor Sygnały ster. Dane Moduł wejścia-wyjścia: istnieją dwie operacje: zapis i odczyt każdy z interfejsów z urządzeniem zewnętrznym określany jest portem i ma jednoznaczny adres moduł może wysyłać sygnały przerwań do procesora Odczyt Zapis Adres Dane wew. Dane zew. Moduł we/wy Dane wew. Dane zew. Sygnał przerw. Rok akademicki 2012/2013, Wykład nr 6 27/43 Rok akademicki 2012/2013, Wykład nr 6 28/43 - struktura połączeń - magistrala Struktura połączeń musi umożliwiać przesyłanie następujących danych: DMA - bezpośredni dostęp do pamięci: Dane Dane najczęściej procesor bezpośrednio odczytuje dane z pamięci i zapisuje oraz komunikuje się z urządzeniami we-wy w pewnych przypadkach pożądane jest umożliwienie bezpośredniej wymiany danych między we-wy a pamięcią podczas takiego przesyłania moduł we-wy odczytuje lub zapisuje rozkazy w pamięci, uwalniając procesor od odpowiedzialności za tę wymianę powyższe operacje nazywane są bezpośrednim dostępem do pamięci (ang. DMA - Direct Memory Access) Najczęściej stosowana struktura połączeń to magistrala Magistrala jest wspólnym nośnikiem transmisji, do którego dołączonych jest wiele urządzeń, a sygnały wysyłane przez jedno z nich mogą być odbierane przez pozostałe urządzenia Magistrala składa się z wielu linii komunikacyjnych, którym przypisane jest określone znaczenie i określona funkcja Fizycznie magistrala jest zbiorem równoległych połączeń elektrycznych System komputerowy zawiera pewną liczbę różnych magistrali Magistrala łącząca główne zasoby komputera (procesor, pamięć, wejście-wyjście) nazywana jest magistralą systemową
Rok akademicki 2012/2013, Wykład nr 6 29/43 Rok akademicki 2012/2013, Wykład nr 6 30/43 - magistrala - magistrala Linie dzielą się na trzy grupy: linie danych, adresów i sterowania Linie dzielą się na trzy grupy: linie danych, adresów i sterowania Linie danych: Linie adresowe: przenoszą dane między modułami systemu wszystkie linie danych nazywane są szyną danych liczba linii określa szerokość szyny danych (8, 16, 32, 64 bity) służą do określania źródła i miejsca przeznaczenia danych przesyłanych magistralą liczba linii adresowych (szerokość szyny adresowej) określa maksymalną możliwą pojemność pamięci systemu Rok akademicki 2012/2013, Wykład nr 6 31/43 Rok akademicki 2012/2013, Wykład nr 6 32/43 - magistrala - struktury wielomagistralowe Linie dzielą się na trzy grupy: linie danych, adresów i sterowania W przypadku większej liczby urządzeń podłączonych do magistrali znacząco spada jej wydajność Rozwiązaniem tego problemu są struktury wielomagistralowe o określonej hierarchii Linie sterowania: służą do sterowania dostępem do linii danych i linii adresowych
Rok akademicki 2012/2013, Wykład nr 6 33/43 Rok akademicki 2012/2013, Wykład nr 6 34/43 Systemy pamięci komputerowych Systemy pamięci komputerowych Ze względu na położenie pamięci w stosunku do komputera wyróżniamy pamięć: procesora (rejestry) wewnętrzną (pamięć główna) zewnętrzną (pamięć pomocnicza - pamięci dyskowe i taśmowe) Ze względu na sposób dostępu do danych wyróżniamy: dostęp sekwencyjny (pamięci taśmowe) dostęp bezpośredni (pamięci dyskowe) dostęp swobodny (pamięć główna) dostęp skojarzeniowy (pamięć podręczna) Parametry charakteryzujące pamięć: pojemność - maksymalna liczba informacji jaką można przechowywać w danej pamięci czas dostępu - czas niezbędny do zrealizowania operacji odczytu lub zapisu czas cyklu pamięci - czas dostępu plus dodatkowy czas, który musi upłynąć zanim będzie mógł nastąpić kolejny dostęp szybkość przesyłania (transferu) - maksymalna liczba danych jakie można odczytać z pamięci lub zapisać do pamięci w jednostce czasu Dostęp sekwencyjny: jednostka danych to rekord dostęp do rekordów jest możliwy w określonej sekwencji liniowej przejście z jednego rekordu do następnego następuje poprzez przepuszczenie i odrzucenie rekordów pośrednich czas dostępu do różnych rekordów może bardzo różnić się Rok akademicki 2012/2013, Wykład nr 6 35/43 Rok akademicki 2012/2013, Wykład nr 6 36/43 Systemy pamięci komputerowych Systemy pamięci komputerowych Dostęp bezpośredni: odczyt i zapis realizowany jest za pomocą tego samego mechanizmu poszczególne bloki (rekordy) mają unikatowy adres oparty na fizycznej lokacji dostęp jest realizowany przez bezpośredni dostęp do najbliższego otoczenia, po którym następuje sekwencyjne poszukiwanie, liczenie lub oczekiwanie w celu osiągnięcia lokacji finalnej Dostęp skojarzeniowy: każda lokacja ma własny mechanizm adresowania czas dostępu jest stały i niezależny od poprzednich operacji dostępu słowa są wprowadzane na podstawie części swojej zawartości, a nie na podstawie całego adresu Dostęp swobodny: każda adresowalna lokacja w pamięci ma unikatowy fizycznie wbudowany mechanizm adresowania czas dostępu jest stały i niezależny od poprzednich operacji dostępu
Rok akademicki 2012/2013, Wykład nr 6 37/43 Rok akademicki 2012/2013, Wykład nr 6 38/43 Hierarchia pamięci Półprzewodnikowa pamięć główna Istnieją wzajemne zależności pomiędzy parametrami pamięci: kosztem, pojemnością i czasem dostępu: mniejszy czas dostępu - większy koszt na bit większa pojemność - mniejszy koszt na bit większa pojemność - dłuższy czas dostępu W systemach komputerowych nie stosuje się jednego typu pamięci, ale hierarchię pamięci Rozpatrując hierarchię od góry do dołu obserwujemy zjawiska: malejący koszt na bit rosnącą pojemność rosnący czas dostępu malejącą częstotliwość dostępu do pamięci przez procesor RAM (Random Access Memory) - pamięć o dostępie swobodnym odczyt i zapis następuje za pomocą sygnałów elektrycznych pamięć ulotna - po odłączeniu zasilania dane są tracone DRAM: przechowuje dane podobnie jak kondensator ładunek elektryczny wymaga operacji odświeżania jest mniejsza, gęściej upakowana i tańsza niż pamięć statyczna stosowana jest do budowy głównej pamięci operacyjnej komputera SRAM: przechowuje dane za pomocą przerzutnikowych konfiguracji bramek logicznych nie wymaga operacji odświeżania jest szybsza i droższa od pamięci dynamicznej stosowana jest do budowy pamięci podręcznej Rok akademicki 2012/2013, Wykład nr 6 39/43 Rok akademicki 2012/2013, Wykład nr 6 40/43 Półprzewodnikowa pamięć główna Półprzewodnikowa pamięć główna ROM (ang. Read-Only Memory) - pamięć stała pamięć o dostępie swobodnym przeznaczona tylko do odczytu dane są zapisywane podczas procesu wytwarzania pamięć nieulotna PROM (ang. Programmable ROM) - programowalna pamięć ROM pamięć nieulotna, może być zapisywana tylko jeden raz zapis jest realizowany elektrycznie po wyprodukowaniu Inne typy pamięci: EPROM - pamięć wielokrotnie programowalna, kasowanie następuje przez naświetlanie promieniami UV EEPROM - pamięć kasowana i programowana na drodze czysto elektrycznej Flash - rozwinięcie koncepcji pamięci EEPROM, możliwe kasowanie i programowanie bez wymontowywania pamięci z urządzenia, występuje w dwóch odmianach: NOR (Flash BIOS) NAND (pen drive, karty pamięci)
Rok akademicki 2012/2013, Wykład nr 6 41/43 Rok akademicki 2012/2013, Wykład nr 6 42/43 Pamięć podręczna Pamięć podręczna Zastosowanie pamięci podręcznej ma na celu przyspieszenie dostępu procesora do pamięci głównej CPU Do pamięci podręcznej jest przesyłany cały blok, gdyż ze względu na tzw. zjawisko lokalności odniesień, istnieje duże prawdopodobieństwo, że przyszłe odniesienia będą dotyczyły innych słów w tym samym bloku CPU Cache Cache RAM RAM Zarządca magistrali Zarządca magistrali Look-through Look-aside Rok akademicki 2012/2013, Wykład nr 6 43/43 Koniec wykładu nr 6 Dziękuję za uwagę!