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

Podobne dokumenty
Architektura komputerów

Architektura komputerów

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

Architektura komputerów

Mikroprocesor Operacje wejścia / wyjścia

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

Urządzenia zewnętrzne

Katedra Metrologii i Systemów Elektronicznych. Interfejs USB

LEKCJA TEMAT: Zasada działania komputera.

Standard transmisji równoległej LPT Centronics

CompactPCI. PCI Industrial Computers Manufacturers Group (PICMG)

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

Architektura komputerów

Urządzenia wejścia-wyjścia

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

Architektura systemów komputerowych. dr Artur Bartoszewski

Budowa systemów komputerowych

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

Działanie systemu operacyjnego

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Architektura komputera

Układy wejścia/wyjścia

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

Działanie systemu operacyjnego

Wykład 4. Interfejsy USB, FireWire

ARCHITEKTURA PROCESORA,

2. Architektura mikrokontrolerów PIC16F8x... 13

Architektura Systemów Komputerowych. Transmisja szeregowa danych Standardy magistral szeregowych

Plan wykładu. 1. Urządzenia peryferyjne 2. Rodzaje transmisji danych 3. Interfejs COM 4. Interfejs LPT 5. Plug and Play

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

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

Technologia informacyjna. Urządzenia techniki komputerowej

Struktura systemów komputerowych

Programowanie mikrokontrolerów. 8 listopada 2007

Działanie systemu operacyjnego

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

Wykład 4. Interfejsy USB, FireWire

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

Architektura komputerów

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

Komunikacja z urzadzeniami zewnętrznymi

Programowanie w językach asemblera i C

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

Magistrala systemowa (System Bus)

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

Architektura komputerów

Architektura komputerów

Działanie systemu operacyjnego

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

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

Organizacja typowego mikroprocesora

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

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

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

Ogólne przeznaczenie i możliwości interfejsu sieciowego przepływomierza UniEMP-05 z protokołem MODBUS. ( )

Przerwania, polling, timery - wykład 9

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

Wybrane bloki i magistrale komputerów osobistych (PC) Opracował: Grzegorz Cygan 2010 r. CEZ Stalowa Wola

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

Architektura komputerów

Metody obsługi zdarzeń

USB interface in 8-bit microcontrollers PIC18F family manufactured by Microchip.

URZĄDZENIA WEJŚCIA-WYJŚCIA

Architektura systemu komputerowego

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

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

. Rodzaje transmisji sygnału i RS-232

System mikroprocesorowy i peryferia. Dariusz Chaberski

Zagadnienia związane z systemem IO

Interfejsy systemów pomiarowych

Moduł komunikacyjny Modbus RTU do ciepłomierza SonoMeter 30

Architektura komputerów

Wbudowane układy komunikacyjne cz. 1 Wykład 10

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

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe

Architektura systemów komputerowych. dr Artur Bartoszewski

Kod produktu: MP01611-ZK

dokument DOK wersja 1.0

Architektura systemów komputerowych. dr Artur Bartoszewski

Komunikacja w mikrokontrolerach Laboratorium

Budowa Mikrokomputera

Kod produktu: MP01611

UW-DAL-MAN v2 Dotyczy urządzeń z wersją firmware UW-DAL v5 lub nowszą.

Kod produktu: MP01105T

Hardware mikrokontrolera X51

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Interfejs transmisji danych

Kurs Zaawansowany S7. Spis treści. Dzień 1

WPROWADZENIE Mikrosterownik mikrokontrolery

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

Kod produktu: MP01105

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Magistrala LIN

Sterownik procesorowy S-2 Komunikacja RS485 MODBUS

Współpraca procesora z urządzeniami peryferyjnymi

Płyta główna (ang. motherboard) najważniejsza płyta drukowana urządzenia elektronicznego, na której zamontowano najważniejsze elementy urządzenia, umo

Budowa pamięci RAM Parametry: tcl, trcd, trp, tras, tcr występują w specyfikacjach poszczególnych pamięci DRAM. Czym mniejsze są wartości tych

Jednostka centralna. Miejsca na napędy 5,25 :CD-ROM, DVD. Miejsca na napędy 3,5 : stacja dyskietek

SM210 RS485 - JBUS/MODBUS dla SM102E. Æ Instrukcja obsługi

Transkrypt:

ARCHITEKTURA SYSTEMÓW MIKROPROCESOROWYCH część 4 dr inż. Małgorzata Langer

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 (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 inputdata) lub pobierający umieszczone w buforze dane (outputdata), 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łemlub 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 bajtui 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 FIFO First In First Out Element, który jako PIERWSZY nadszedł, PIERWSZY wychodzi LIFO LastIn 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 obsługi 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

Standardy magistrali Najważniejsze atrybuty magistrali, to: mechanizm transferu, obsługa przerwań oraz arbitraż Procesor jest zawsze szybszy od magistrali MULTIBUS I. (IEEE Standard 796) istnieje od 1976 roku, wciąż bywa stosowany( od Intel 8080 do 80386; Z80, Motorola 68030), obsługuje systemy jedno-i wieloprocesorowe, 8 i 16 bitowe; maksymalnie do 24 linii adresowych (ADR0 ADR23); 16 linii danych (DAT0 DAT15), (przy 8- bitowym procesorze wykorzystywane tylko pierwsze 8; DAT0 jest najmniej znaczącym bitem), 8 linii przerwań (również wektorowych); przesył danych asynchroniczny (zegar 10 MHztylko do funkcji sterowania przydziałem, inicjalizacji, itd.); możliwa obsługa DMA, kilku uprawnień master; maksymalnie 19 MB/s 29

Przesył danych w Multibus I 1. Master magistrali umieszcza adres pamięci lub I/O na liniach adresowych 2. Master magistrali generuje odpowiedni sygnał rozkazu 3. Slavealbo akceptuje dane do zapisu, albo umieszcza dane na liniach danych do odczytu 4. Slave wysyła sygnał potwierdzenia transferu (XACK) do master 5. Master magistrali usuwa sygnał z linii rozkazów i czyści linie adresu i danych Ponieważ przesył jest asynchroniczny i występuje ryzyko zawieszenia, wprowadza się czas czekania (bus timeout), umożliwiający przerwanie cyklu w przypadku błędu (zawsze większy niż 1 ms) 30

Multibus II Standard powstał na zamówienie konsorcjum, adoptując standard IEEE 1101, licencje Simensa format Eurocard; wdrożony przez Intel w pojedynczym układzie VLSI jako MPC messagepassingcoprocessor; specyfikacja znajduje się w IEEE/ANSI 1296 32 bitowy, z kontrolą parzystości, 40 Mb/s; adresowanie geograficzne z lokalizacją wejść i urządzeń przy rozruchu, co eliminuje potrzebę rekonfiguracji; praca niezależna i równoległa (dziewięć 32 bitowych buforów pracujących na zasadzie FIFO i zintegrowanych z MPC) Specyfikacja MultibusII stosuje PAKIETY danych; kolejny pakiet wyrusza z kolejną krawędzią taktu zegarowego (10 MHz) każdy może przebywać w magistrali nie dłużej niż 1 µs Dwa mechanizmy arbitrażu: równy fairness, lub z priorytetem; po każdym pakiecie obsługiwany jest następny czekający adres 31

Multibus II Standardowe powtarzanie w przypadku błędu parzystości 16 razy, później następuje przerwanie do głównego CPU komputera Ponieważ istnieją dokładne specyfikacje, wielu producentów produkuje kompatybilne magistrale w standardzie Multibus II Poszczególne wersje wzbogacane są o dodatkowe funkcje i algorytmy; obowiązuje poszerzona norma IEE/ANSI 1296.2 32

VMEbus Założenia projektowe magistrali i interfejsu -zezwolenie na komunikację pomiędzy urządzeniami bez przeszkadzania innym wewnętrznym czynnościom urządzeń podłączonych do magistrali -elektryczne i mechaniczne parametry systemów dopuszczonych do podłączenia do magistrali - dokładnie podane protokoły definiujące współpracę urządzeń -dokładne zdefiniowanie wszystkich nazw, parametrów i wymagań opisujących protokół systemu - łatwość zaprojektowania kompatybilnych urządzeń - interfejs nie powinien stanowić ograniczenia dla możliwości urządzeń 33

VMEbus Magistrala danych posiada 32 linie danych, 32 linie adresu 9 podstawowych cykli transferu (read, block read, write, block write, readmodify-write, address-only, unalignedwrite, interupt, acknowledge); blok jest ograniczony do 256 bajtów Przeznaczona do systemów wieloprocesorowych Zegar 16 MHz Obsługa również sygnałów z otwartą pętlą (open-loop) czyli transmisji nie ma wtedy sygnałów potwierdzających 34

ZALETY USB Universal Serial Bus wersje 1.0 ;2.0; 3,0 - Łatwość dołączenia do PC urządzeń peryferyjnych; - Umożliwienie dołączania nowych klas urządzeń, które zwiększają możliwości komputera - Niski koszt uzyskania szybkości transmisji do 12Mb/s (USB1.1); 480Mb/s (USB2.0); ~5 GB/s (3.0) - Pełne dostosowanie do przesyłania danych w czasie rzeczywistym dla głosu, dźwięku i skompresowanych sekwencji wideo; - Elastyczny protokół z mieszaniem transmisji danych (w czasie rzeczywistym) i komunikatów (asynchronicznej); - Standardowy interfejs, nadającego się do szybkiego zaimplementowania w istniejących i nowych produktach; - Niski pobór energii, możliwe ładowanie akumulatorów urządzenia 35

USB Tryby transmisji Isochronous Transfer transferzapewniający prawidłową synchronizację multimediów, przy ściśle gwarantowanym, jednakowym czasie opóźnień. Nie ma retransmisji w przypadku błędów, nie ma mechanizmów handshakingu Bulk Transfer wielkie bloki danych; transmisja nie ma priorytetu, automatyczna retransmisja w przypadku błędów, mechanizmy handshakingu Interrupt Transfer podobnie, jak bulk plus okresowe sprawdzanie gotowości podłączonego urządzenia (polling) Control Transfer do sterowania, kontroli, konfiguracji, WYSYŁANIE KOMEND DO URZĄDZENIA INTERFEJSOWEGO (od wersji 3.0) przesył SuperSpeed do 5,0 Gbit/s 36

Ogólne specyfikacje USB Wersje 1.0 (od roku 1996) i 2.0 4 przewody (2 zasilanie + 5V (1) i masa (4); 2 dane (3 i 2)) Wersja USB 3.0 (specyfikacja w 2008 roku) 4 przewody dodatkowe dla technologii szybkiego przesyłu (razem 8); dodatkowy tryb transmisji Trzy rozmiary wtyczka gniazdo (standardowy, mini i mikro) o dwóch wrsjach A (płaski); B styki po obu stronach wtyczki USB obsługuje do 16 wyjść i 16 wejść (Standard USB przewiduje jednoczesne obsługiwanie do 30 końcówek, dwie są zarezerwowane), co pozwala na jednoczesne niezależne transfery (np. obraz z kamery i niezależnie nagrywanie, lub odczytywanie dźwięku). Urządzenia różnych producentów mieszczą się w znormalizowanych klasach funkcjonalności (od 00 do FF) np. klasa 03Hex to tzw Human Interface Device (mysz, klawiatura); 07Hex drukarka; 08Hex USB flashdrive, itd. 37

Urządzenie podłączone do interfejsu USB musi Rozumieć protokół USB Odpowiadać na standardowe komendy i wykonywać operacje, takie, jak konfiguracja, zerowanie; Zawierać standardowe informacje opisujące swoje możliwości. W opisie muszą być przynajmniej: -dane na temat urządzenia (Device Descriptor) umożliwiające załadowanie odpowiedniego sterownika -konfiguracji (jeżeli urządzenie może pracować w kiklukonfiguracjach to informacja o każdej z nich); np. możliwość pracy ze zmniejszonym poborem mocy i pełnym poborem -interfejsu w tym samym czasie mogą być czynne więcej niż 1 interfejs (w czasie gry z CD-ROM, jednocześnie sterownik do muzyki, grafiki i danych) - punktów końcowych USB jest szeregowe, więc punkty końcowe czekają w FIFO) oraz ewentualnie STRING DESCRIPTOR urządzenie podaje nazwę własną 38

Zasilanie urządzeń USB Urządzenia USB mogą być zasilane z portu, bądź z własnego zasilacza. O źródle zasilania urządzenia informują podczas procedury konfiguracyjnej Napięcie zasilania dostarczane z magistrali ma ograniczoną wydajność. Urządzenia wymuszające większy pobór prądu, niż jest określony w specyfikacji, nie zostaną skonfigurowane przez hosta. Bezpośrednio po podłączeniu (przed konfiguracją), urządzenia nie mogą pobierać prądu większego niż 100 ma. Po zakończeniu procedur konfiguracyjnych urządzenie może pobierać maksymalny prąd o wartości 500 ma. W stanie uśpienia (opcję przechodzenia w ten stan muszą posiadać wszystkie urządzenia) pobór prądu nie może przekroczyć 0,5 ma(2,5ma). Powrót ze stanu uśpienia następuje poprzez wprowadzenie linii magistrali w stan aktywny na czas 10 ms, ale nie dłuższy niż 15 ms, a następnie powrót do stanu jałowego 39

FireWire(IEEE 1394) Magistrala szeregowa, zastrzeżona przez Apple Inc. używana w zbliżonej formie pod różnymi nazwami dla uniknięcia kosztów i.link(sony) Lynx(Texas Instruments) DV link Złącze posiada zasilanie w wersji 6-przewodowej (masę i +30V), lub tylko 4 przewody do transmisji FireWire zarządza magistralą można łączyć urządzenia bez pośrednictwa komputera (np. aparat z drukarką) 40

Procesory I/O FEP front-endprocessor; najczęściej programowalny, co pozwala dostosować interfejs do konfiguracji i możliwości systemu Sprzężenie CPU i FEP następuje albo poprzez system dysków: -FEP zapisuje dane na dysku, skąd pobierane są do przetwarzania przez CPU; lub CPU zapisuje dane na dysku i powiadamia FEP o pozwoleniu na pobranie OBCHODZI SIĘ PROBLEM RÓŻNYCH CZĘSTOTLIWOŚCI, albo dzieloną pamięć(shared memory) każdy FEP jest urządzeniem DMA; wymaga skomplikowanej obsługi handshaking; generalnie szybsze; wydziela się obszar pamięci do komunikacji 41

Schematy połączeń CPU -FEP System dzielonej pamięci System sprzężony przez dysk 42

Komunikacja szeregowa Najczęściej asynchroniczna (tzn. następny bajt zaczyna się w dowolnym momencie, ale po bicie startu kolejne bity muszą być przesyłane z określoną częstotliwością i po nich następują przynajmniej dwa bity stopu); dla uniknięcia błędów, można używać kodów samosynchronizujących się (kolejne bity są jednoznacznie rozróżniane) Standard RS-232 Modemy; kodowanie na fali nośnej (amplitudą, częstotliwością, fazą) Kilka znanych protokołów komunikacji szeregowej, np.: - BSC binary synchronous control - SDLA synchronous data-link control - HDLC high-level data-link control 43

Typowe urządzenia I/O Urządzenia zawsze aktywne (online), jak wyświetlacz (monitor), klawiatura, myszka, mikrofon, głośniki Urządzenia uaktywniane wywołaniem (off-line), np. drukarki, skanery Urządzenia przechowujące (zapisujące i czytające) dane, jak taśmy, dyski, pamięci typu DRAM Urządzenia zbierające dane w czasie rzeczywistym najczęściej do komputera podłączany jest konwerter A/C (wejście), C/A (wyjście) 44

Prawo Amdahl a Całkowite przyśpieszenie (zwiększenie wydajności) systemu komputerowego przy zainstalowaniu nowego urządzenia wynosi: S = 1 (1 f ) + f / k S zwiększenie wydajności całego systemu f ułamek pracy wykonywanej przez szybszy, nowy element k współczynnik przyśpieszenia nowego elementu 45

Procesor Rodzaje procesorów i systemów komputerowych Zestawy instrukcji Tryby adresowania Rejestry i pamięć Procesor RISC versus CISC Przykłady Architektura komputerów, część 7 46

Zapisywanie w rejestrach i pamięci Stosowanie akumulatora do każdej procedury staje się wąskim gardłem, jeżeli jest to tylko jeden rejestr, chociaż dostęp do zapisu w akumulatorze jest znacznie szybszy niż do pamięci Do procesora włącza się więc wiele rejestrów, o ogólnym przeznaczeniu GPR (general purposeregister), nie tylko jako akumulatory; najczęściej zorganizowanych w stosy GPR może być wykorzystany dowolnie, również jako PSR (processorstatus register), rejestr indeksowy, itd. Dostęp do zapisu w GPR jest znacznie szybszy niż do pamięci 47