Architektura komputerów

Podobne dokumenty
ARCHITEKTURA SYSTEMÓW MIKROPROCESOROWYCH. dr inż. Małgorzata Langer

ARCHITEKTURA SYSTEMÓW MIKROPROCESOROWYCH. dr inż. Małgorzata Langer B9, pok. 310 Instytut Elektroniki

Architektura komputerów. Układy wejścia-wyjścia komputera

Architektura komputerów

Mikroprocesor Operacje wejścia / wyjścia

Architektura komputerów

Architektura komputerów

Urządzenia zewnętrzne

Architektura systemów komputerowych. dr Artur Bartoszewski

Urządzenia wejścia-wyjścia

Budowa systemów komputerowych

Standard transmisji równoległej LPT Centronics

Działanie systemu operacyjnego

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Działanie systemu operacyjnego

Układy wejścia/wyjścia

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

Wykład IV. Układy we/wy. Studia Podyplomowe INFORMATYKA Architektura komputerów

Architektura komputera

Działanie systemu operacyjnego

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Podstawy techniki cyfrowej Układy wejścia-wyjścia. mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

ARCHITEKTURA PROCESORA,

LEKCJA TEMAT: Zasada działania komputera.

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Działanie systemu operacyjnego

Wykład 14. Zagadnienia związane z systemem IO

Struktura systemów komputerowych

CompactPCI. PCI Industrial Computers Manufacturers Group (PICMG)

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Mikroprocesory i Mikrosterowniki Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

Magistrala systemowa (System Bus)

Architektura komputerów

Podstawy Projektowania Przyrządów Wirtualnych. Wykład 9. Wprowadzenie do standardu magistrali VMEbus. mgr inż. Paweł Kogut

Programowanie w językach asemblera i C

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Podstawy techniki cyfrowej i mikroprocesorowej II. Urządzenia wejścia-wyjścia

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Architektura i administracja systemów operacyjnych

Architektura komputerów

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

Architektura komputerów

Urządzenia wej.-wyj. Plan (1) Plan (2)

Urządzenia wej.-wyj.

Urządzenia wej.-wyj. Plan (1) Plan (2) Rodzaje urządzeń wejściawyjścia

Architektura systemu komputerowego

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.

Komunikacja w mikrokontrolerach. Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

RZECZPOSPOLITA OPIS PATENTOWY POLSKA PATENTU TYMCZASOWEGO

Organizacja typowego mikroprocesora

Wstęp do informatyki. Interfejsy, urządzenia we/wy i komunikacja. Linie magistrali

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

Struktura i działanie jednostki centralnej

Logiczny model komputera i działanie procesora. Część 1.

Przerwania, polling, timery - wykład 9

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

WPROWADZENIE Mikrosterownik mikrokontrolery

Zagadnienia związane z systemem IO

Komunikacja w mikrokontrolerach Laboratorium

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++

ZARZĄDZANIE SIECIAMI TELEKOMUNIKACYJNYMI

dr inż. Małgorzata Langer Architektura komputerów

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

Hardware mikrokontrolera X51

System mikroprocesorowy i peryferia. Dariusz Chaberski

Systemy wbudowane - wykład 8. Dla zabicia czasu Notes. I 2 C aka IIC aka TWI. Notes. Notes. Notes. Przemek Błaśkiewicz.

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Dotyczy jednostek operacyjnych i ich połączeń stanowiących realizację specyfikacji typu architektury

Systemy operacyjne. Struktura i zasady budowy. Rozdział 1 Wprowadzenie do systemów komputerowych

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Sieci Komputerowe Mechanizmy kontroli błędów w sieciach

Programowanie mikrokontrolerów. 8 listopada 2007

Laboratorium mikroinformatyki. Szeregowe magistrale synchroniczne.

Podstawowe zadanie komputera to wykonywanie programu Program składa się z rozkazów przechowywanych w pamięci Rozkazy są przetwarzane w dwu krokach:

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Sterownik procesorowy S-2 Komunikacja RS485 MODBUS

Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola

Architektura komputerów

dr inż. Jarosław Forenc

Technologia informacyjna. Urządzenia techniki komputerowej

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

2. Architektura mikrokontrolerów PIC16F8x... 13

Komunikacja z urzadzeniami zewnętrznymi

Magistrala LIN

Interfejs transmisji danych

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Metody obsługi zdarzeń

Informatyka. informatyka i nauki komputerowe (computer science)

Interfejsy. w systemach pomiarowych. Ryszard J. Barczyński, 2016 Materiały dydaktyczne do użytku wewnętrznego

UNIPROD GLIWICE ul. Sowińskiego 3 tel: , fax kontakt@uniprod.pl

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Strona WWW przedmiotu: Program ćwiczeń projektowych

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Część I - Sterownik przerwań 8259A i zegar/licznik 8253

Transkrypt:

Wykład jest przygotowany dla IV semestru kierunku Elektronika i Telekomunikacja. Studia I stopnia Dr inż. Małgorzata Langer Architektura komputerów Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie Innowacyjna dydaktyka bez ograniczeń zintegrowany rozwój Politechniki Łódzkiej zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych Zadanie nr 30 Dostosowanie kierunku Elektronika i Telekomunikacja do potrzeb rynku pracy i gospodarki opartej na wiedzy 90-924 Łódź, ul. Żeromskiego 116, tel. 042 631 28 83 www.kapitalludzki.p.lodz.pl

URZĄDZENIA PERYFERYJNE sposób obsługi Tryb programowalnych I/O jest nie tylko wolny (procesor wciąż CZEKA), ale nie zawsze możliwy do realizacji (np. gdy urządzenie I/O musi zgłosić ALARM i wymaga natychmiastowej obsługi a dzieje się to w sposób całkowicie nieprzewidywalny) PRZEPŁYW INFORMACJI pomiędzy dowolnym I/O a procesorem składa się z następujących kroków: - wybór urządzenia i sprawdzenie jego gotowości - inicjacja transferu (jeżeli urządzenie jest gotowe) - transfer informacji - zakończenie Kroki te mogą być kontrolowane tylko przez procesor, tylko przez urządzenie, lub i przez procesor i urządzenie 2

W zależności od tego, gdzie jest kontrola Istnieją trzy tryby I/O: 1. Programowany I/O 2. Tryb przerwań I/O 3. Bezpośredni dostęp do pamięci (DMA Direct memory access) 3

Ogólny model I/O 4

Ogólny model I/O Komunikacja ASC peryferia przebiega po liniach DIL (wejście) oraz DOL (wyjście). W praktyce jest to jedna, dwukierunkowa magistrala danych Przerzutnik DATA w jednostce sterującej koordynuje działania I/O Jeżeli eli (prawie zawsze) jest więcej urządzeń I/O, każde z nich musi mieć swój numer lub adres Wykorzystuje się tu wolny operand z instrukcji RWD i WWD (pole 8 bitów) a nawet 11 bitów (bo w tych instrukcjach wolne są również pole indeksowe i pośrednie) 4 bity pozwalają na 16 urządzeń wejścia i 16 wyjścia 5

Ogólna struktura I/O Adres urządzenia niesiony jest przez magistralę danych i dekodowany przez każde urządzenie. Tylko jedno urządzenie ma zgodny adres i uczestniczy w dalszej operacji Magistrala danych jest dwukierunkowa, Magistrala sterująca niesie sygnały sterujące od CPU oraz stanu generowane przez interfejsy urządzenia (DEVICE BUSY, ERROR, ) 6

Adresy Struktura taka, jak na poprzednim slajdzie wyraźnie oddziela obszar adresów pamięci od obszaru adresów I/O (oddzielne magistrale) tryb IZOLOWANEGO I/O Może być wspólna szyna dla pamięci i urządzeń I/O i wtedy adresy I/O są częścią obszaru adresów pamięci Pamięć CPU Urządz.1 Urządz.N Wspólna magistrala systemowa I/O z mapowaną pamięcią (memory-mapped I/O) 7

Adresy uwaga Pojedyncza (fizycznie) magistrala nie zawsze świadczy o mapowaniu pamięci dla I/O. Można multipleksować adresy do I/O i pamięci na tej samej magistrali poprzez odpowiednie sygnały sterujące (logicznie odpowiada to dwóm magistralom) 8

Interfejs urządzenia Interfejs urządzenia I/O jest unikalny dla danego urządzenia. Zależy od sposobu prezentacji danych, nośnika, konstrukcji, itd. Każdy interfejs zawiera sterownik otrzymujący sygnały sterujące (rozkazy) od CPU i raportujący CPU stan urządzenia Sygnały stanu, to np.: DEVICE BUSY, DATA READY, itp. W interfejsie znajduje się dekoder adresu wybierającego urządzenie Najczęściej jest przetwornik dekodujący odczytane dane i umieszczający je w buforze (skąd zostaną pobrane jako input data) lub pobierający umieszczone w buforze dane (output data), i dekodujący je do formatu zapisu na zewnętrznym medium (np. ASCII do drukarki, 0/1 na nośnik magnetyczny) 9

Interfejs zasadnicze funkcje Główne funkcje interfejsu urządzenia I/O to: - taktowanie (timing) (urządzenie I/O posiada inną prędkość działania niż CPU) - sterowanie - konwersja danych - wykrywanie błędów - korekta błędów 10

Sekwencja operacji - READ Nie ma znaczenia które urządzenie (również CPU) rządzi przy sterowaniu magistralą. Gdy komunikują się dwa urządzenia, zawsze jedno z nich jest MASTER a drugie SLAVE Przesył danych po magistrali może być synchroniczny lub asynchroniczny; wobec CPU urządzenia peryferyjne działają najczęściej asynchronicznie MASTER aktywuje sygnał READ i umieszcza ADRES urządzenia SLAVE (z którego chce odczytać dane). Wszystkie urządzenia podłączone do magistrali dekodują adres, tylko jedno w krótkim czasie (jakim?) ma umieścić dane na magistrali. Aby powiadomić MASTER, że dane już są do pobrania, SLAVE musi przesłać ACK (acknowledge) potwierdzenie o gotowości. Po stwierdzeniu sygnału ACK, MASTER bramkuje dane do swoich wewnętrznych rejestrów 11

Sekwencja operacji - WRITE MASTER aktywuje sygnał WRITE i umieszcza ADRES urządzenia SLAVE (na którym chce zapisać dane) na liniach adresowych magistrali. Podczas gdy urządzenia dekodują adres, MASTER umieszcza dane na magistrali danych. Po pewnym czasie wybrany SLAVE bramkuje dane do swojego bufora i odpowiada sygnałem ACK (data accepted) Po wykryciu sygnału ACK, MASTER usuwa dane i sterujący sygnał WRITE z magistrali Sekwencja wydarzeń opisujących transfer nazywana jest protokołem lub handshake 12

Transfer synchroniczny Transfer asynchroniczny 13

Sterowanie tryb programowanego I/O Procesor 1. Wybiera urządzenie i sprawdza stan urządzenia 3. Jeżeli urządzenie nie jest gotowe powrót do kroku 1; jeżeli gotowe, do 4 4. Daje sygnał do urządzenia o zainicjowaniu przesyłu danych. W przypadku OUTPUT bramkuje dane na linii danych i ustawia linię sterującą wyjście 6. Przy INPUT akceptuje dane; przy OUTPUT usuwa dane z linii danych 7. Odłącza urządzenie (usuwa adres z linii adresowych) Sterownik urządzenia 2. Sygnalizuje procesorowi, że jest lub nie jest gotowe 5. Przy OUTPUT sygnalizuje procesorowi, że dane zostały przyjęte; przy INPUT gromadzi dane i sygnalizuje procesorowi, że są gotowe na liniach danych W danym momencie urządzenie może być albo w trybie OUTPUT, albo INPUT 14

Przerwania (Interrupt mode I/O) Dla poprawy efektywności (aby CPU nie czekał bezczynnie), część czynności kontrolnych przenoszone jest do urządzenia. Procesor wysyła do sterownika urządzenia rozkaz OUTPUT lub INPUT i powraca do przetwarzania następnych instrukcji Sterownik urządzenia odpowiednio zbiera dane z lub przesyła do urządzenia i PRZERYWA procesorowi w jego przetwarzaniu CPU OBSŁUGUJE PRZERWANIE, tzn. odłącza urządzenie jeżeli transfer jest zakończony Również sama inicjalizacja transferu może rozpocząć się od urządzenia przerwaniem; wtedy CPU podczas handshaking określa, czy jest to INPUT, czy OUTPUT 15

Linie danych Przesył danych może odbywać się RÓWNOLEGLE (trzeba zadbać o równoczesnym pojawianiu się bitów na wszystkich liniach skoszenie (skewing) spowodowany jest różnymi parametrami elektrycznymi w linii, np. niektóre bity muszą przejść przez więcej bramek niż inne, lub SZEREGOWO (problemy z synchronizacją ryzyko wadliwego rozróżnienia oddzielnych bitów) Połączenie może być typu SIMPLEX (jednokierunkowe) przesył zawsze w jedną stronę; (FULL) DUPLEX (dwukierunkowe) możliwe równoczesne przesyłanie danych w obu kierunkach; HALF DUPLEX - możliwe przesyłanie danych w obu kierunkach, ale w danym momencie tylko w jedną stronę 16

Dane Konwersja: na każdym medium I/O dane mogą być kodowane w różny, nawet unikalny, sposób i niezależnie od sposobu kodowania ich przez CPU. Dodatkowo mogą być przesyłane szeregowo po bicie, quasi równolegle (szeregowo po bajcie), równolegle (szeregowo po słowie) ZAWSZE WIĘC WYMAGANE SĄ DWA POZIOMY KONWERSJI (wykonywanej przez interfejsy): 1 z urządzenia peryferyjnego do łącza danych 2 z łącza danych do formatu CPU Detekcja i korekta błędów: niektóre urządzenia peryferyjne mogą być szczególnie narażone na zakłócenia; to samo dotyczy linii transmisyjnych, łączników, itd. Urządzenia i linie pracują w zmiennych warunkach pogodowych, przy zakłóceniach elektromagnetycznych, itp. 17

Bit parzystości lub nieparzystości Do każdych ośmiu przesyłanych bitów składających się na bajt, dodawany jest dziewiąty bit, taki, aby liczba jedynek w dziewięciu bitach była zawsze parzysta (even) lub nieparzysta (odd) Odbiornik danych oblicza bit parzystości z bajtu i porównuje go z dziewiątym bitem, jeżeli wykryty jest błąd, dane mogą zostać ponownie przesłane 0 1 0 0 1 1 1 0 P Bity danych Bit parzystości 18

Obsługa przerwań Przy wystąpieniu przerwania procesor musi przerwać wykonywaną czynność przetwarzania, przejść do trybu obsługi przerwania a potem (jeżeli jest to możliwe), powrócić do punktu, z którego wyszedł i wznowić przetwarzanie Najczęstsze warunki do wystąpienia przerwania: - czujnik wykrywa zanik (wahnięcie) zasilania - nadmiar lub niedomiar w arytmetyce - nielegalne dane (lub ich format), nielegalny kod instrukcji - błędy w transferze lub magazynowaniu danych - przerwania generowane programowo (zgodnie z zamiarami twórcy programu) - standardowe zakończenie przesyłu danych 19

Warunki do wznowienia przetwarzania po przerwaniu Musi zostać zapisany adres instrukcji, która miała być właśnie wykonywana Muszą zostać zapisane zawartości akumulatora i innych rejestrów Zazwyczaj procesor powinien dokończyć instrukcję właśnie wykonywaną (bo nie ma do niej punktu powrotu), zanim przejdzie do procedury obsługi przerwania (wykona skok do wcześniej załadowanego programu) Po wejściu w procedurę obsługi przerwań wystąpienie następnych przerwań czasowo musi być zakazane (przynajmniej do pełnego zapisania stanu procesora, wszystkich rejestrów, wraz z licznikiem programu i słowem stanu programu), a potem ponownie, przy wychodzeniu z procedury, przy odtwarzaniu stanu 20

Mechanizm obsługi przerwań Przy obsłudze przerwania niezbędne są następujące instrukcje: SPS (zapisz PSR w pamięci) LPS (załaduj zapisany PSR z pamięci) ENABLE (pozwalaj na występowanie przerwań) DISABLE (nie pozwalaj na przerwania) 21

Wystąpienie równoczesnych przerwań Kolejne przerwania mogą pojawiać się przy obsłudze przerwań i w zależności od priorytetu, są obsługiwane natychmiast, lub czekają Przy obsłudze zagnieżdżonych przerwań lepiej sprawdza się zapisywanie wszystkich stanów na stosie, inaczej mogą być utracone stany zapisane poprzednio w pamięci dedykowanej W przypadku przerwania I/O konieczne może być ustalenie, które urządzenie było nadawcą sygnału odbywa się to poprzez POLLING (kolejne wybieranie urządzeń peryferyjnych i czytanie ich stanu); w praktyce nie zajmuje się tym CPU, tylko dodatkowy dekoder, który w jednym takcie zegara podłączy właściwe urządzenie do CPU; innym sposobem jest odpowiedź ACK na wspólną magistralę (CPU potwierdza otrzymanie przerwania), na który to sygnał tylko jedno urządzenie odpowie przesłaniem swojego adresu - WEKTOREM (pod warunkiem, że tylko jedno chce być obsłużone ) 22

Porównanie struktury obsługi przerwań Struktura Czas odpowiedzi Złożoność Pojedyncze pierwszeństwo Polling (odpytywanie) NAJWOLNIEJSZA NAJPROSTSZA Wektorowa szybka średnia Wiele priorytetów (multipriority) Polling (odpytywanie) wolna niska Wektorowa NAJSZYBSZA NAJBARDZIEJ ZŁOŻONA Rejestr MASK używany jest do dynamicznego ustalania listy priorytetowych (lub dozwolonych) przerwań 23

DMA Direct Memory Access Tryby obsługi I/O i programowany, i przerwań, przesyłają dane za pośrednictwem rejestru (akumulatora) CPU; przy dużych ilościach przesyłanych danych spowoduje to przeciążenie procesora Tryb DMA (bezpośredniego dostępu do pamięci) zatrudnia CPU tylko na początku (inicjalizuje przesył poprzez polecenie urządzeniu DMA przesłania danych) i na końcu (przerwanie z informacją, że transfer został zakończony). W rzeczywistości sterownik DMA to procesor o ograniczonych możliwościach; musi posiadać przynajmniej - WCR rejestr licznika słów - AR rejestr adresu - bufor danych Podczas przesyłu danych w trybie DMA, CPU traci priorytet przy korzystaniu z pamięci i nie ma do niej dostępu (cycle stealing) 24

Architektura magistrali Arbitraż jeżeli do wspólnej magistrali podłączone jest więcej niż jedno urządzenie, które może pełnić funkcję MASTER (np. wiele procesorów, urządzenia DMA, itp.) trzeba zastosować technikę arbitralnego wyboru kontrolującego urządzenia Najbardziej typowe jest używanie sygnałów: - bus busy - bus request - bus grant I nadawanie dostępu zgodnie z listą priorytetów Sterownik (arbiter) przydziela czas magistrali dla wybranych poszczególnych układów, które zgłaszają zapotrzebowanie (bus request) 25

Arbitraż Przydzielony czas może być koordynowany synchronicznie (tzw. szczelina lub asynchronicznie (po zakończeniu połączenia urządzenie zwalnia linię) Może być arbitraż scentralizowany (jedno urządzenie dla wszystkich magistral w systemie), lub rozproszony (dla poszczególnych magistral) Zawsze musi być master (procesor, moduł, urządzenie), który inicjuje połączenie i podporządkowany mu slave 26

Kolejki przykładowe algorytmy obsługi FIFO First In First Out Element, który jako PIERWSZY nadszedł, PIERWSZY wychodzi LIFO Last In First Out Element, który jako OSTATNI nadszedł, PIERWSZY wychodzi PRIORITY Poszczególne elementy ustawiane są w kolejce dla uprzywilejowanych Fair Queuing Obsługa sprawiedliwie pierwszego elementu z każdej kolejki WFQ Weighted Fair Queuing Obsługa kilku kolejek o zróżnicowanych priorytetach RED Random Early Detection Gdy kolejka zapełnia się, losowo podejmowane są akcje, które utrzymają drożność (np. odrzucanie nadchodzących elementów, kierowanie ich do innych kolejek itd.) 27

Porównanie FIFO Fair Queuing 28

KONIEC CZĘŚCI SZÓSTEJ Dr inż. Małgorzata Langer Architektura komputerów Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie Innowacyjna dydaktyka bez ograniczeń zintegrowany rozwój Politechniki Łódzkiej zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych Zadanie nr 30 Dostosowanie kierunku Elektronika i Telekomunikacja do potrzeb rynku pracy i gospodarki opartej na wiedzy 90-924 Łódź, ul. Żeromskiego 116, tel. 042 631 28 83 www.kapitalludzki.p.lodz.pl