background image

 

 

Wstęp do Informatyki 

Wykład 5

Magistrale systemowe

Autor: Dr hab. Marek J. Greniewski

background image

 

 

Parametry komputerów

- Moc obliczeniowa, np. mierzona w

MIPS
MFLOPS

- Szybkość transmisji danych do/z różnych 
urządzeń

- Niezawodność, np. mierzona w

MTBF

- Koszt, np. mierzony w

TCO

- ....

background image

 

 

Szybkość mikroprocesorów

W przypadku mikroprocesorów dodawanie nowych 
układów oraz zwiększanie szybkości wynikające ze 
zmniejszenia odległości między nimi poprawiało 
wydajność 4-krotnie w ciągu każdych 3 lat (prawo 
Moore’a).

Aby wykorzystać potencjalne możliwości 
mikroprocesora, należy zapewnić jego „zasilanie” 
ciągłym strumieniem zadań (rozkazów). Dlatego 
projektanci procesorów wykorzystują coraz bardziej 
wymyślne rozwiązania jak:

- przewidywanie rozgałęzienia (ang. branch 
prediction
),

- analiza przepływu danych,

- spekulatywne wykonywanie rozkazów.

background image

 

 

Równowaga wydajności

Podczas gdy moc procesorów rosła z zawrotną 
szybkością, rozwój innych krytycznych zespołów 
komputera był zbyt wolny. Powstała potrzeba 
znalezienia

tzw. -  równowagi wydajności :

dostosowanie organizacji i architektury w celu 
skompensowania niezgodności między 
możliwościami różnych zespołów komputera.

Problem krytyczny

interfejs między procesorem a pamięcią główną.

background image

 

 

Przykładowe sposoby 

rozwiązania

• Zwiększanie liczby bitów, które są 

jednocześnie wprowadzane (projektowanie 

„szerokich” układów DRAM),

• Stosowanie bardziej efektywnych 

interfejsów pamięci DRAM przez 

umieszczanie układów buforowanych w 

strukturach DRAM,

• Redukowanie częstości odwołań do pamięci 

głównej przez wprowadzanie efektywnych 

struktur pamięci podręcznych (cache

między procesorem a pamięcią główną.

background image

 

 

Podział na części architektoniczną i 

układową współczesnego komputera

Układy we-wy

Procesor

Kompilator

System

operacyjny

(Windows 2K)

Aplikacje (np. Netscape)

Układy cyfrowe

Obwody 

scalone

Lista rozkazów

określająca architekturę

Ścieżki danych i sterowanie 

Bramki i 

elementy 

pamięci 

Pamięć

Hardware

Software

Assemble
r

Magistrala

background image

 

 

Magistrala zewnętrzna 

procesora

background image

 

 

Podstawowe zespoły funkcjonalne 

procesora

background image

 

 

Budowa mikroprocesora 

dwuszynowego

background image

 

 

Budowa mikroprocesora 

trójszynowego

background image

 

 

Generacja adresu fizycznego

background image

 

 

Graf stanów cyklu instrukcji

iac

iod

os

of

if

oac

do

aoc

Następna
instrukcja

Łańcuch

lub wektor

Wiele
argume-
ntów

Wiele
wyni-
ków

if

 – pobranie instrukcji; 

iod

 – dekodowanie części operacyjnej;

oac

 – obliczanie adresu argumentu; 

of

 – pobranie argumentu;

do

 – operacja na danych.

background image

 

 

Przerwania i cykl rozkazowy

background image

 

 

Cykl rozkazu z przerwaniami

background image

 

 

Graf stanów cyklu instrukcji z 

przerwaniami

iac

iod

os

of

if

oac

do

aoc

ic

in

Następna
instrukcja

Łańcuch

lub wektor

Brak

przerwań

Wiele
argume-
ntów

Wiele
wyni-
ków

if

 – pobranie instrukcji; 

iod

 – dekodowanie części operacyjnej;

oac

 – obliczanie adresu argumentu; 

of

 – pobranie argumentu;

do

 – operacja na danych; 

os

 – zapisanie argumentu;

ic

 – sprawdzanie czy jest przerwanie; 

in

 – obsługa przerwania.

background image

 

 

Przerwania wielokrotne

W przypadku obsługi wielu urządzeń możliwe jest, że 
przerwanie wywołane przez jedno z urządzeń nastąpi 
w czasie, w którym jest przetwarzane przerwanie 
spowodowane przez inne urządzenie.

Sposoby postępowania z przerwaniami 

wielokrotnymi:

1.  

blokowanie przerwań – procesor będzie 

ignorował sygnał 

żądania przerwania w czasie 

obsługi danego przerwania;

2.  

określenie priorytetów przerwań – 

przerwanie o  wyższym priorytecie powoduje 
przerwanie programu 

obsługi przerwania o 

niższym priorytecie.

background image

 

 

Struktury połączeń 

komputera

background image

 

 

Struktura połączeń 

umożliwia przesyłanie 

danych pomiędzy

• Z pamięci do procesora. Procesor odczytuje z 

pamięci rozkazy lub jednostki danych.

• Z procesora do pamięci. Procesor zapisuje jednostki 

danych w pamięci.

• Z urządzeń wejścia - wyjścia do procesora

Procesor odczytuje dane z urządzenia wejścia-wyjścia 

za pośrednictwem modułu wejścia – wyjścia.

• Z procesora do urządzeń wejścia – wyjścia

Procesor wysyła dane do urządzenia wejścia – wyjścia.

• Z urządzeń wejścia – wyjścia do pamięci lub na 

odwrót. W tych przypadkach zezwala się modułowi 

wejścia – wyjścia na bezpośrednią wymianę danych z 

pamięcią, bez pośrednictwa procesora, przy 

wykorzystaniu bezpośredniego dostępu do pamięci 

(DMA).

background image

 

 

Parametry i elementy funkcjonalne 

magistrali

• Rodzaj

– specjalistyczna
– multipleksowana

• Metoda arbitrażu

– zcentralizowana
– rozproszona

• Koordynacja 

czasowa

– synchroniczna
– asynchroniczna

• Szerokość magistrali

– adres
– dane

• Rodzaj transferu 

danych

– odczyt
– zapis
– odczyt-modyfikacja-zapis
– odczyt po zapisie
– blokowy

background image

 

 

Rodzaje magistrali

• Specjalizacji funkcjonalnej (dedicated), np. 

wyrażająca się zastosowaniem linii adresów 

oraz danych.

• Specjalizacji fizycznej (phisical dedication), 

przy której mamy wiele magistral, z których 

każda łączy tylko określoną grupę modułów.

• Multipleksowane, a w szczególności tzw. 

multipleksowanie czasowe (time 

multiplexing), którego podstawową zaletą 

jest stosowanie mniejszej liczby linii, gdzie 

w różnych odcinkach czasu te same linie 

pełnią inne funkcje: 

– przesyłania adresu, 

– a następnie przesyłania danych.

background image

 

 

Metody arbitrażu

• Metoda arbitrażu zcentralizowana. W 

układzie scentralizowanym istnieje jedno 
urządzenie zwane sterownikiem magistrali 
lub arbitrem. Urządzenie to może być 
oddzielnym modułem lub częścią procesora.

• Metoda arbitrażu rozproszona. W układzie 

rozproszonym każdy moduł zawiera układy 
logiczne sterujące dostępem, a moduły 
współpracując korzystają ze wspólnej 
magistrali.

background image

 

 

Koordynacja czasowa

• Koordynacja czasowa (timing) odnosi się do 

sposobu w jaki koordynowane są zdarzenia na 

magistrali. Magistrala zawiera linię zegarową

• Koordynacja czasowa

 

synchroniczna - jest 

taktowana zegarem magistrali, a wszystkie 

urządzenia dołączone do magistrali, są 

zależne od ustalonej szybkości tego zegara.

• Koordynacja czasowa

 

asynchroniczna, przy 

której występowanie zdarzeń na magistrali 

jest zależne od zdarzenia poprzedzającego, z 

wykorzystaniem sygnałów synchronizacji 

nadrzędnej (master sync) oraz synchronizacji 

podrzędnej (slave sync).

background image

 

 

Struktura magistrali

background image

 

 

Linie danych magistrali

• Linie danych

 są ścieżkami służącymi do 

przenoszenia danych między modułami 

systemu. 

• Wszystkie te linie łącznie określa się jako 

szyna danych.

• Szyna składa się typowo z 

8, 16, 32, 64

 

oddzielnych linii danych, liczba linii określa 

szerokość

 tej szyny i jest kluczowym 

czynnikiem określającym wydajność.

background image

 

 

Linie adresowe magistrali

• Linie adresowe

 są wykorzystywane do 

określania źródła lub miejsca przeznaczenia 
danych przesyłanych przez magistralę 
(adres słowa pamięci, adres portu we-wy). 

• Najczęściej 

najbardziej znaczące bity

 służą 

do wybrania określonego modułu na 
magistrali, natomiast 

najmniej znaczące 

bity określają lokację

 w pamięci lub port 

wejścia – wyjścia wewnątrz modułu.

background image

 

 

Linie sterowania magistrali

• Linie sterowania

 przeznaczone są do 

sterowania dostępem do linii danych i linii 

adresowych, a także do sterowania ich 

wykorzystaniem w procesie udostępniania 

magistrali parze modułów, zwanych master i 

slave. 

• Sygnały sterujące

 przekazywane między 

modułami systemu zawierają zarówno 

rozkazy, jak i informacje regulujące czas 

(sygnały taktujące).

background image

 

 

Przykład zestawu linii 

sterujących

1. Linia: Zapisu w pamięci;
2. Linia: Odczytu z pamięci;
3. Linia: Zapis do wejścia – wyjścia;
4. Linia: Odczyt z wejścia – wyjścia;
5. Linia: Potwierdzenie przesyłania 

(transfer ACK);

6. Linia: Zapotrzebowania na magistralę 

(bus request);

7. Linia: Rezygnacji z magistrali (bus 

grant);

8. Linia: Żądania przerwania (interrupt 

request);

9. Linia: Potwierdzenia przerwania 

(interrupt ACK);

10.Linia: Impulsów zegarowych;
11.Linia: Przywrócenia stanu 

początkowego (reset).

background image

 

 

Magistrala typu wspólna 

szyna

background image

 

 

Magistrala typu wspólna 

szyna

1. Wszystkie urządzenia dołączone są do 

wspólnej szyny poprzez 

adaptery

 

jednostki sterujące. 

2. W tego typu systemach, każde urządzenie 

(a właściwie jego adapter) ma wydzieloną 

grupę adresów

 występujących na liniach 

adresowych magistrali. 

3. Pod tymi adresami dostępne są 

programowe rejestry

 urządzeń.

background image

 

 

Magistrala VME

background image

 

 

Magistrala VME

Ponieważ szyna VMEbus jest „najważniejszą” 
w systemie szyn VME i jest w pełni 
zdefiniowana, jej nazwa obejmuje również 
szyny VMSbus i VMXbus i w takim znaczeniu 
jest używana. 

Szyna VMEbus jest szyną asynchroniczną, 
wieloprocesorową, wykorzystywaną w 
systemach opartych na procesorach rodziny 
MC6800. 

Układ arbitra szyny znajduje się na pakiecie 
jednego z procesorów głównych (MASTER), 
udostępniając szynę również pozostałym 
procesorom.

background image

 

 

Tradycyjna architektura 

magistrali

background image

 

 

Architektura magistrali o zwiększonej 

wydajności

background image

 

 

Koordynacja czasowa 

synchroniczna

background image

 

 

Koordynacja czasowa 

asynchroniczna

background image

 

 

Magistrala PCI 

(Peripheral Component 

Interconnect)

• Magistrala PCI została zaprojektowana jako 

ekonomiczne rozwiązanie, spełniające wymagania 

wejścia – wyjścia w nowoczesnych systemach. 

Wymaga niewielu mikroukładów i wspomaga działanie 

innych magistrali, które połączone są z PCI.

• Przeznaczone jest dla szerokiego zakresu konfiguracji 

wykorzystujących mikroprocesory, łącznie z systemami 

jedno- i wielo-procesorowymi.

• PCI wykorzystuje koordynację synchroniczną i arbitraż 

scentralizowany.

• Do szyny PCI można podłączać karty graficzne, 

kontrolery SCSI czy też karty sieciowe o ile są zgodne 

ze standardem PCI. Zasadniczą zaletą tego standardu 

jest możliwość automatycznej konfiguracji nowo 

podłączanych elementów, czyli wykorzystanie techniki 

plug-and-play

 - podłącz i działaj.

background image

 

 

Magistrala PCI

background image

 

 

Magistrala PCI - grupy 

funkcjonalne linii

Wyprowadzenia systemowe (zegar, reset);

Wyprowadzenia adresu i danych (32 linie multipleksowane);

Wyprowadzenia sterowania interfejsu;

Wyprowadzenia arbitrażowe (nie są liniami wspólnymi, każda 
jednostka nadrzędna ma własną parę linii arbitrażowych, 
które łączą ja bezpośrednio z arbitrem magistrali PCI).

Wyprowadzenia przerwania;

Wyprowadzenia obsługi pamięci podręcznej;

Wyprowadzenia rozszerzenia magistrali 64-bitowej (należą 
do nich 32 linie multipleksowane, w połączeniu z 
obowiązującymi liniami adresowymi i danych tworzą 64-
bitową magistralę adresowa i danych);

Wyprowadzenia magistrali diagnostycznej JTAG (norma IEEE 
1149.1).

background image

 

 

Magistrala PCI - parametry

Dane po szynie są przesyłane z częstotliwością 33MHz, 

niezależnie od częstotliwości pracy mikroprocesora. 

Wynika to z faktu zastosowania układu kontrolera, który 

steruje przepływem danych do urządzeń podłączonych 

do szyny PCI. Wszystkie przesłania są przesłaniami 

blokowymi (

burst

). 

Takie rozwiązanie pozwala teoretycznie przesłać dane w 

każdym cyklu zegara. Uwzględniając fakt, że szyna PCI 

może współpracować zarówno w systemie 32-bitowym, 

jak również 64-bitowym daje to teoretyczną szybkość 

transmisji dla pierwszego przypadku 132 MB/s i 264 

MB/s dla drugiego przypadku. 
Magistrala PCI posiada wprawdzie pojemność, która 

teoretycznie pozwala na transmisję danych video, ale 

musi ona obsługiwać także inne urządzenia systemowe, 

jak karty we/wy, modemowe oraz sieciowe. 
W pewnych sytuacjach magistrala ta może być więc tak 

obciążona, że nie będzie w stanie przesłać 

napływających danych, i obraz video nie będzie 

odtwarzany w sposób płynny. Zaczęto więc tworzyć 

rozwiązania, które polepszą jakość wyświetlania obrazu 

video.

background image

 

 

Rozkazy magistrali PCI

Działanie magistrali odbywa się w formie transakcji 
między inicjatorem – 

master

 (modułem 

nadrzędnym) a celem – 

slave

 (modułem 

podrzędnym). Gdy inicjator żąda dostępu do 
magistrali, określa typ transakcji, którą chce 
przeprowadzić. Do sygnalizowania typu transakcji 
używane są linie C/BE. Wykorzystywane są 
następujące rozkazy:

1. potwierdzenie przerwania, 7. zwielokrotniony 

odczyt pamięci,

2. cykl specjalny,

8. zapis w pamięci,

3. odczyt wejścia-wyjścia,

9. zapis w pamięci i 

unieważnienie,

4. zapis wejścia-wyjścia,

10. odczyt konfiguracji,

5. odczyt pamięci,  

11. zapis konfiguracji, 

6. linia odczytu pamięci,

      cykl podwójnego 

adresu.

background image

 

 

Magistrala PCI - przesyłanie 

danych

background image

 

 

Struktura systemu 

mikroprocesorowego 

wykorzystującego standard PCI

background image

 

 

Sterowniki systemu 

mikroprocesorowego 

wykorzystującego standard PCI

• PSC

 - sterownik systemu PCI łączy w sobie:

– sterownik DRAM;
– sterownik CACHE;
– interfejs lokalnej szyny IDE;
– zarządza poborem energii.

• IB

 - sterownik systemu ISA łączy w sobie:

– sterownik 7-mio kanałowy DMA;
– układ 8254 licznika/zegara;
– 2 układy 82C59 sterowników przerwań;

background image

 

 

USB - Universal Serial Bus

background image

 

 

Standard AGP (Accelerated Graphics 

Port)

Standard ten został oparty na standardzie PCI 
wersji 2.1. Rozszerzono go o trzy podstawowe 
elementy:
• potokowe operacje zapisu i odczytu pamięci;
• de-multipleksowane magistrale danych i 
adresowa;
• możliwość przesyłania danych z częstotliwością 
133 MHz.
Szyna standardowo przesyła dane z 
częstotliwością 66 MHz, co daje jej teoretyczną 
przepustowość przy 32-bitach 266 MB/s i 
wówczas szyna pracuje w tzw. trybie „x1”. Przy 
pracy w trybie „x2” teoretyczna przepustowość 
szyny dla 32-bitów wzrasta do 532 MB/s. Uzyskuje 
się to przez wykorzystanie obydwu zboczy 
sygnały zegara taktującego, czyli 2 * 66MHz = 
133 MHz. Standard ten jest obecnie stosowany w 
najnowszych płytach głównych dla Pentium.

background image

 

 

Standard AGP (Accelerated Graphics 

Port)

background image

 

 

Chipset – architektura

background image

 

 

Chipset firmy INTEL

background image

 

 

Procesor K7 Athlon

background image

 

 

Zespół modułów wejścia-

wyjścia

background image

 

 

Trzeci kluczowy typ 

modułu

• Obok procesora i pamięci trzecim kluczowym 

elementem systemu komputerowego jest zespół 

modułów wejścia-wyjścia.

• Każdy moduł jest dołączony do magistrali 

systemowej sterując jednym lub wieloma 

urządzeniami peryferyjnymi.

• Moduł wejścia-wyjścia nie jest po prostu złączem 

mechanicznym służącym do połączenia 

urządzenia z magistralą systemową. Zawiera on  

pewną „inteligencje”, to znaczy układy logiczne 

umożliwiają komunikację pomiędzy urządzeniami 

peryferyjnymi a magistralą.

background image

 

 

Wejście - wyście

• Istnieje znaczna różnorodność urządzeń peryferyjnych 

oraz pamięci zewnętrznych, różniących się sposobem 
pracy. 
Byłoby niepraktycznym wbudowanie niezbędnych 
układów logicznych do procesora w celu umożliwienia 
sterowania tak szerokim zakresem urządzeń.

• Szybkość transferu danych do/z urządzeń peryferyjnych 

jest o wiele mniejsza niż transferów pomiędzy 
procesorami i modułami pamięci operacyjnych. Jest więc 
niepraktycznym podłączanie bezpośrednio urządzeń 
peryferyjnych do szybkiej magistrali.

• Urządzenia peryferyjne wykorzystują często inne formaty 

danych oraz długości słowa niż komputery, do których są 
podłączone.

• Potrzebny jest więc moduł wejścia-wyjścia.

background image

 

 

Ogólny model modułu wejścia-

wyjścia

Moduł

wejścia-wyjścia

Połączenia do

urządzeń peryferyjnych

Linie adresowe

Linie danych

Linie sterowania

background image

 

 

Moduł wejścia - wyjścia

• Moduł wejścia-wyjścia odgrywa podstawową role 

jako interfejs pomiędzy urządzeniami peryferyjnymi 

oraz pamięciami zewnętrznymi, a procesorem i 

pamięciami połączonymi do modułu wejścia-wyjścia 

za pośrednictwem (systemu) magistrali.

• Do modułu wejścia-wyjścia podłączone są 

urządzenia peryferyjne, które możemy 

sklasyfikować jako:

– Przeznaczone do odczytywania lub wprowadzania danych 

przez człowieka (np. klawiatura, monitor, drukarka)

– Przeznaczone do odczytu przez komputer (np. pamięci 

zewnętrzne)

– Komunikacyjne, czyli przeznaczone do komunikowania się 

z oddalonymi urządzeniami lub komputerami (np. adapter 

sieciowy, modem).

background image

 

 

Schemat ideowy urządzenia 

peryferyjnego

Układy

logiczne

sterowania

Przetwornik

Bufor

Sygnały

sterowania

z modułu

wejścia-wyjścia

Sygnały

stanu do

modułu

wejścia-wyjścia

Dane do/z

modułu

wejścia-wyjścia

Dane

(specyficzne dla urządzenia)

kierowane do/z otoczenia

background image

 

 

Przykłady urządzeń 

peryferyjnych

Klawiatura/Monitor

• Najpowszechniejszym 

środkiem komputer – 
użytkownik jest para 
urządzeń peryferyjnych 
klawiatura/monitor. 

• Użytkownik wprowadza 

dane za pomocą klawiatury. 
Dane te są następnie 
transmitowane do 
procesora i mogą być 
zobrazowane na monitorze.

• Monitor pokazuje również 

dane dostarczone przez 
komputer.

Napęd dysku

• Napęd dysku zawiera układy 

elektroniczne służące do wymiany 
danych oraz sygnałów sterowania 
i stanu z modułem wejścia-
wyjścia, a także układy 
elektroniczne sterowane 
mechanizmem zapis-odczyt.

• Napęd dysku realizuje dwie 

funkcje:

– Konwersja pomiędzy zapisem 

sygnałów magnetycznych powierzchni 
dysku, a bitami w buforze modułu.

– Sterowanie radialnym przesuwaniem 

ramienia głowicy na powierzchni 
dysku.

background image

 

 

Działanie modułu wejścia-

wyjścia

• Moduł wejścia-wyjścia struje jednym lub wieloma 

urządzeniami peryferyjnymi oraz wymianą danych 

pomiędzy tymi urządzeniami a pamięcią operacyjną 

lub/i rejestrami procesora.

• Główne funkcje modułu wejścia-wyjścia to:

– Sterowanie i taktowanie urządzeniem peryferyjnym
– Komunikacja z procesorem
– Komunikacja z urządzeniami
– Buforowanie danych 
– Wykrywanie błędów.

• W dowolnym przedziale czasu procesor może 

komunikować się z jednym lub wieloma urządzeniami 

peryferyjnymi, w zależności od potrzeb programu 

aplikacyjnego w odniesienia do wejścia lub wyjścia.

background image

 

 

Schemat blokowy modułu wejścia-

wyjścia

Rejestry danych

Rejestr stanu/sterowania

Układy 

logiczne

we-wy

Układy

logiczne

interfejsu

z

urządzeniami

Układy

logiczne

interfejsu

z

urządzeniami

Interfejs z magistralą systemową                         Interfejs z urządzeniami peryferyjnymi

Linie

danych

Linie

adresowe

Linie

sterowania

Dane

Stan

Sterowanie

Dane

Stan

Sterowanie

background image

 

 

Transfer danych urządzenie-

procesor

• Procesor żąda od modułu wejścia-wyjścia 

sprawdzenie stanu dołączonego urządzenia.

• Moduł wejścia-wyjścia udziela odpowiedzi 

odpowiedzi o stanie urządzenia. 

• Jeśli urządzenie działa i jest gotowe do transmisji, 

procesor zgłasza zapotrzebowanie na przesłanie 
danych, posługując się rozkazem dla modułu 
wejścia-wyjścia.

• Moduł wejścia-wyjścia otrzymuje jednostkę danych 

(np. 8 lub 16 bitów) z urządzenia peryferyjnego do 
rejestru danych.

• Dane są przenoszone za pośrednictwem magistrali z 

rejestru danych modułu wejścia-wyjścia do 
procesora.

background image

 

 

Komunikacja z 

procesorem

• Dekodowanie rozkazu

. Moduł wejścia-wyjścia 

otrzymuje rozkazy od procesora, mające postać 

sygnałów na magistrali systemowej. Np. moduł dysku 

otrzymuje następujące rozkazy:

– Czytaj sektor
– Zapisz sektor
– Znajdź ścieżkę o danym numerze
– Skanuj rekord ID.

• Przesyłanie danych

. Dane są wymieniane między 

modułem a procesorem przez magistralę (szyna 

danych).

• Przesyłanie informacji o stanie

. Np. sygnału gotowości 

lub zajętości oraz sygnały o wystąpieniu błędów.

• Rozpoznawanie adresu

. Każde urządzenie peryferyjne 

ma swój adres. Moduł musi więc rozpoznawać adresy 

urządzeń.

background image

 

 

Transfer dla różnych 

urządzeń

Urządzenie

Rodzaj

Partner

Transfer rate 

KB/s

Klawiatura

wejściowe

człowiek

0,01

Myszka

wejściowe

człowiek

0,02

Wejście głosem

wejściowe

człowiek

0,02

Skaner

wejściowe

człowiek

200

Drukarka 

wierszowa

wyjściowe

człowiek

1

Drukarka 

laserowa

wyjściowe

człowiek

100

Monitor 

graficzny

wyjściowe

człowiek

30.000

Sieć LAN

wejściowo/wyjśc

iowe

komputer

200

Dysk optyczny

pamięć

komputer

500

Taśma 

magnetyczna

pamięć

komputer

2000

Dysk 

magnetyczny

pamięć

komputer

2000

background image

 

 

Rozkazy wejścia-wyjścia

• Rozkazy 

testowania

 stanu urządzenia 

peryferyjnego celem zbadania stanu urządzenia 

(np. urządzenie gotowe, zajęte, sprawne).

• Rozkazy 

sterowania

 urządzeniem peryferyjnym 

jest stosowany celem aktywizacji (uruchomienia 

działania) urządzenia. Rozkazy te są dostosowane 

do określonego typu urządzenia peryferyjnego.

• Rozkaz 

odczytu

 danych z urządzenia 

peryferyjnego oraz umieszczenia odczytanych 

danych w rejestrze danych modułu.

• Rozkaz 

zapisu

 danych w urządzeniu peryferyjnym 

zapamiętanych w rejestrze danych modułu.

background image

 

 

Instrukcje wejścia-wyjścia

Jeśli procesor, pamięć operacyjna oraz moduły wejścia-
wyjścia używają wspólnej magistrali, możliwe są dwa tryby 
adresowania: 

– Odwzorowany w pamięci
– Izolowany.

Wejście-wyjście odwzorowane w pamięci, wówczas ta 
sama przestrzeń adresowa jest przeznaczona dla komórek 
pamięci oraz urządzeń peryferyjnych. Procesor rejestry 
stanu i rejestry danych modułów wejścia-wyjścia jako 
komórki pamięci oraz wykorzystuje te same instrukcje 
maszynowe w celu uzyskania dostępu do pamięci, jak i 
urządzeń peryferyjnych. W tym przypadku w magistrali 
potrzebna jest tylko jedna linia odczytu i jedna linia zapisu.

Wejście wyjście izolowane, wówczas alternatywnie 
magistrala obok linii zapisu-odczytu musi być wyposażona 
dodatkowo w linie rozkazów wejścia-wyjścia.

background image

 

 

Oba warianty instrukcji

• Wejście-wyjście odwzorowane w pamięci (10 linii – 1024 komórki 

pamięci)

– Etykieta       Rozkaz              Argument    Komentarz

– 200              Load AC               „1”

–                     StoreAC                517           Inicjuj odczyt klawiatury

– 202              LoadAC                 517           Uzyskaj bajt stanu

–                     Branch if Sign=0   202           Wykonaj pętle aż do osiągnięcia 

gotowości

–                     LoadAC                 516           Ładuj bajt danych 

• Wejście-wyjście izolowane

– Etykieta       Rozkaz              Argument     Komentarz

– 200              StartI/O                   5             Inicjuj odczyt klawiatury

– 201              TestI/O                    5             Sprawdź zakończenie operacji

–                      Branch not ready   201         Wykonaj pętle aż do zakończenia 

operacji

–                      In                            5             Ładuj bajt danych 

7  6  5  4  3  2  1  0

7  6  5  4  3  2  1  0

516       Rejestr danych wejściowych klawiatury

517      Rejestr stanu i sterowania klawiatury 

background image

 

 

Moduł wejścia-wyjścia 

sterowany przerwaniami

1. Urządzenie wysyła do procesora sygnał przerwania
2. Procesor kończy wykonywanie bieżącego rozkazu programu 

aplikacji

3. Procesor stwierdza przerwanie i wysyła sygnał 

potwierdzenia do urządzenia

4. Procesor chowa stan programu aplikacji (zawartość 

rejestrów procesora) w stosie systemowym

5. Procesor ładuje do rejestru PC adres pierwszego rozkaz 

programu obsługi przerwań

6. Procesor wykonuje program obsługi przerwań, dla adresu 

urządzenia peryferyjnego dla którego zgłoszone zostało 

przerwanie

7. Po zakończeniu programu obsługi przerwań, procesor ładuje 

ze stosu stan aplikacji rozpoczynając wykonywanie aplikacji 

od rozkazu, który następował bezpośrednio za rozkazem w 

toku wykonywania którego otrzymał sygnał przerwania 

background image

 

 

Sterownik przerwań Intel 

8259A

• Procesor Intel 8086 współpracuje z jedną linią żądania  

przerwania (INTR) i jedną linię potwierdzenia otrzymania (INTA).

• Procesor jest skonfigurowany ze sterownikiem przerwań Intel 

8259A, który na ogół tworzy kaskadę np. 9 układów tego typu.

• Urządzenia peryferyjne są połączone, każde z jednym wejściem 

sterownika przerwań Intel 8259A. 

• Odbiera on żądania przerwania od dołączonych modułów, 

określa przerwanie o najwyższym priorytecie i wysyła sygnał do 

procesora wzbudzając linię INTR.

• Procesor wysyła potwierdzenie przystąpienia do obsługi 

przerwania linia INTA.

• Sygnał potwierdzenia procesora powoduje umieszczenie przez 

układ Intel 8259A do umieszczenia odpowiedniego wektora 

informacji na liniach danych magistrali.

• Procesor przechodzi wówczas do obsługi przerwania i 

bezpośredniej komunikacji z modułem wejścia wyjścia, w celu 

odczytu albo zapisu danych. 

background image

 

 

Zastosowanie sterownika 

przerwań

IR0

IR1        INT

IR2

IR3

IR4

IR5

IR6

IR7

Procesor

8086

INTR

IR0

IR1        INT

IR2

IR3

IR4

IR5

IR6

IR7

IR0

IR1        INT

IR2

IR3

IR4

IR5

IR6

IR7

IR0

IR1        INT

IR2

IR3

IR4

IR5

IR6

IR7

Nadrzędny

sterownik

przerwań

8259A

Urządzenie zewnętrzne 00
Urządzenie zewnętrzne 01

Urządzenie zewnętrzne 07
Urządzenie zewnętrzne 08
Urządzenie zewnętrzne 09

Urządzenie zewnętrzne 15

Urządzenie zewnętrzne 56
Urządzenie zewnętrzne 57

Urządzenie zewnętrzne 63

background image

 

 

Programowanie sterownika 

przerwań 

• Układ Intel 8259A jest programowany, a procesor Intel 

8086 określa układ priorytetów. Możliwe są 
następujące tryby przerwań:

– W pełni zagnieżdżony

. Zapotrzebowania na przerwania są 

porządkowane według priorytetu od 0 (IR0) do 7 (IR7). 

– Rotacyjny

. Jeśli urządzenia przerywające mają ten sam 

priorytet. Urządzenie które ostatnio zgłosiło przerwanie, w 
następnej kolejce obsługi przerwań otrzymuje najniższy 
priorytet.

– Ze specjalną maską

. Pozwala procesorowi na selektywne 

wybieranie przerwań od niektórych urządzeń.

background image

 

 

Interfejs urządzeń 

peryferyjnych

• Układ Intel 8255A jest przykładem części modułu wejścia-

wyjścia (poza funkcjonalnością obsługi przerwań – układ 

Intel8259A).

• Jest to układ jedno-strukturalny ogólnego przeznaczenia, 

zaprojektowanym do współpracy z procesorem Intel 8086.

• Układ posiada 24 linie wejścia-wyjścia programowane 

przez procesor Intel 8086, za pomocą rejestru sterowania.

• Procesor Intel 8086 może ustalić wartość rejestru 

sterowania celem określenia różnych trybów działania i 

konfiguracji.

• Ponieważ układ 8255A jest programowany za 

pośrednictwem rejestru sterowania, układ ten może być 

używany do sterowania różnymi prostymi urządzeniami 

peryferyjnymi, jak np. klawiatura oraz monitor.

background image

 

 

Schemat blokowy Intel 

8255A

Układ

logiczny

sterowania

Rejestr

sterowa

nia

Bufory danych

Szyna danych
procesora 8086

Bufor danych

8-bitowa 

magistrala

wewnętrzna

Linie adresowe
A

0

 A

7

Odczyt

Zapis

Kasowanie

Wybór

A

Port

B

Port

C

A

C

B

+5

Masa

Zasilanie

Sygnalizacja 2*4 bity

Gotowość, potwierdzenie

itp.

background image

 

 

Bezpośredni dostęp do 

pamięci

•  

Bezpośredni dostęp do pamięci wymaga dodatkowego 

modułu DMA (Direct Memory Access) na magistrali 

systemowej.

• Moduł DMA może „udawać” procesor i w rzeczywistości 

przejmuje od procesora sterowanie systemem.

• Działanie modułu DMA wygląda następująco - gdy 

procesor życzy sobie odczytanie lub zapisanie bloku 

danych procesor wydaje rozkaz modułowi DMA, który 

określa:

– Rodzaj rozkazu (odczyt czy też zapis)
– Adres urządzenia peryferyjnego
– Adres początkowy bloku (adres komórki pamięci), gdzie ma być 

zapisany odczytany blok danych, albo z którego ma się 

rozpocząć odczytywanie danych zapisywanych na urządzeniu 

peryferyjnym

– Liczbę słów, które mają być odczytane lub zapisane.

• W czasie wykonywania rozkazu przez DMA procesor 

kontynuuje inną pracę.

background image

 

 

Schemat blokowy modułu 

DMA

Licznik danych

Rejestr danych

Rejestr adresu

Układy

logiczne

sterowania

Linie danych

Linie adresowe

DMA REQ

DMA 
ACKINT

R

Odczyt

Zapis

background image

 

 

Współpraca procesor - 

DMA

• Procesor zleca wykonanie operacji wejścia-wyjścia modułowi 

DMA i moduł ten jest odpowiedzialny za jej realizację.

• Moduł DMA przenosi cały blok danych, słowo po słowie, 

bezpośrednio z/do pamięci.

• Gdy transfer jest zakończony, moduł DMA wysyła sygnał 

przerwania do procesora.

• Dzięki powyższemu, procesor jest zaangażowany tylko na 

początku i końcu transferu.

• Moduł DMA przejmuje sterowanie magistralą – wymuszając 

czasowe zawieszenie pracy procesora (tzw. wykradanie cyklu).

• Procesor jest zawieszany tuż przed zgłoszeniem 

zapotrzebowania na magistralę, wówczas moduł DMA przesyła 

jedno słowo poczym zwraca sterowanie magistralą procesorowi.

• Nie jest to przerwanie pracy procesora, a jedynie wstrzymanie 

procesora na czas przesłania jednego słowa po magistrali przez 

moduł DMA.

background image

 

 

Punkty kontrolne 

przerwania

Cykl

procesora

Cykl

procesora

Cykl

procesora

Cykl

procesora

Cykl

procesora

Cykl

procesora

Cykl rozkazu

Pobieranie

rozkazu

Dekod.

rozkazu

Pobieranie

argument.

Wykon.

rozkazu

Zapis

wyniku

Przerwanie

procesu

Punkt kontrolny przerwania

Punkty kontrolne DMA

background image

 

 

Konfigurowanie modułu 

DMA

• Moduł DMA może być konfigurowany na wiele sposobów.
• Trzy najczęściej stosowane konfiguracje pokazane są na 

następnym slajdzie.

• W pierwszym przypadku wszystkie moduły używają tej 

samej magistrali systemowej. Moduł DMA działa jak 

namiastka procesora, używając programowanego 

wejścia-wyjścia do wymiany danych pomiędzy RAM a 

modułem wejścia-wyjścia. Konfiguracja taka jest 

nieefektywna. Każdy transfer słowa pochłania dwa cykle 

magistrali systemowej.

•  Liczba wymaganych cykli magistrali systemowej może 

być istotnie ograniczona przez zintegrowanie modułów 

wejścia-wyjścia z modułem DMA. Trzecia konfiguracja 

jest rozwinięciem drugiej.

background image

 

 

Możliwe konfiguracje 

DMA

Procesor

Moduł

we-wy

Moduł

we-wy

Procesor

DMA

RAM

Procesor

DMA

RAM

Moduł

we-wy

Moduł

we-wy

Moduł

we-wy

Moduł

we-wy

RAM

DMA

Moduł

we-wy

Magistrala wejścia-wyjścia

Magistrala systemowa

Magistrala systemowa

Magistrala systemowa


Document Outline