Podstawy info 5

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


Wyszukiwarka

Podobne podstrony:
Podstawowe info dot amortyzacji
Diagnoza autyzmu podstawowe info, PEDAGOGIKA i PSYCHOLOGIA, AUTYZM
Podstawy info 3
Podstawy info 7
Podstawy info 9
Podstawy info 11
Podstawy info 8
Podstawy info 2
Podstawy info 10
Podstawy info 6
Podstawowe info dot amortyzacji
podstawowe info o AF z netu
Podstawy info 3
Mat. info EKG, PIELĘGNIARSTWO 1 sem, Podstawy Pielęgniarstwa, laborka
Mat. info EKG, PIELĘGNIARSTWO 1 sem, Podstawy Pielęgniarstwa, laborka
OSOBOWOŚCI MAŁŻEŃSKIE - info podstawowe, psychologia sądowa
USTAWA o ochronie info niejawnych, Politologia UMCS - materiały, IV Semestr letni, Prawne podstawy k
Jednym z podstawowych obowiazkow pracodawcy jest prowadzenie dokumentacji pracowniczej, Prawo pracy(
Podstawowe pojecia statystyczne, ekonomia, logika, biznes, info

więcej podobnych podstron