Kontroler DMA

Transkrypt

Kontroler DMA
Architektura Systemów
Komputerowych
Bezpośredni
dostęp do pamięci
Realizacja zależności czasowych
1
Bezpośredni dostęp
do pamięci
Bezpośredni dostęp do pamięci (ang: direct memory
access - DMA) to transfer danych pomiędzy pamięcią
systemu mikroprocesorowego i urządzeniem
peryferyjnym bez udziału mikroprocesora
Tego typu transfer musi być realizowany przez
samodzielną jednostkę, przejmującą od mikroprocesora
sterowanie magistralami mikrokomputera
– kontroler DMA
2
Bezpośredni dostęp
do pamięci – architektura
Magistrala danych
Magistrala adresowa
Mikroprocesor
HRQ
HLDA
Magistrala
sterująca
IOR
IOW
MEMR
MEMW
Kontroler DMA
DREQ
DACK
Pamięć
Układy
wejścia – wyjścia
3
Bezpośredni dostęp
do pamięci
Cechy:
Transfer danych odbywa się na żądanie urządzenia I/O w tzw.
kanale DMA
Kontroler DMA wytwarza adresy komórek pamięci i sygnały
odczytu/zapisu zarówno dla pamięci jak i urządzenia I/O
Transfer pojedynczego słowa odbywa się w jednym cyklu
dostępu do pamięci
Podczas transferu DMA mikroprocesor może wykonywać
program z wewnętrznej pamięci podręcznej (CACHE)
4
Bezpośredni dostęp
do pamięci
Zalety:
Transfer pojedynczego słowa jest dwa razy szybszy,
niż z udziałem mikroprocesora, gdyż nie wymaga dwóch
dostępów do pamięci
Transmisja w trybie DMA przynosi znaczącą oszczędność
czasu w przypadku przesyłania większych bloków danych
5
Bezpośredni dostęp
do pamięci: transfer pamięć - I/O
Magistrala danych
Magistrala adresowa
WR
DREQ
DACK
RD
IOR
IOW
MEMR
MEMW
Kontroler DMA
Pamięć
Układy
wejścia – wyjścia
6
Bezpośredni dostęp
do pamięci: transfer I/O - pamięć
Magistrala danych
Magistrala adresowa
RD
DREQ
DACK
WR
IOR
IOW
MEMR
MEMW
Kontroler DMA
Pamięć
Układy
wejścia – wyjścia
7
Bezpośredni dostęp
do pamięci
Cykl: otwarcie kanału DMA, transfer, zamknięcie
Urządzenie I/O zgłasza żądanie transferu danych kontrolerowi
DMA sygnałem DREQ
Kontroler DMA żąda zwolnienia magistral przez mikroprocesor
sygnałem HRQ
Mikroprocesor zwalnia magistrale i informuje o tym kontroler
sygnałem HLDA
Kontroler DMA potwierdza otwarcie kanału DMA sygnałem
DACK
Kontroler DMA steruje przesłaniem bloku danych pomiędzy
pamięcią i urządzeniem I/O
Kontroler zamyka kanał przez zwolnienie sygnałów HOLD
i DACK po przesłaniu założonego bloku danych lub zwolnieniu
DREQ
8
Kontroler DMA
Cechy kontrolera DMA:
Kontroler DMA jest samodzielnym procesorem mogącym
przejąć sterowanie magistral systemu mikroprocesorowego.
Kontroler DMA zazwyczaj posiada zwielokrotnione zasoby
pozwalające na realizację kilku kanałów DMA o różnym
priorytecie.
Każdy kanał jest obsługiwany przez oddzielną, wewnętrzną
logikę w kontrolerze połączoną z rejestrem adresującym
pamięć i licznikiem słów pozostałych do przesłania.
9
Kontroler DMA
Cechy kontrolera DMA, cd:
Kontroler jest układem programowalnym, pozwala na
zaprogramowanie:
- początkowego adresu bloku danych w pamięci
- wielkości transferowanego bloku danych – liczby słów
- trybu transmisji
- priorytetu kanału DMA
Programowanie kontrolera DMA jest realizowane przez
mikroprocesor i polega na zapisaniu odpowiednich wartości
do jego wewnętrznych rejestrów, widzianych jako rejestry
w przestrzeni I/O.
10
Kontroler DMA
Schemat blokowy
IOR
IOW
MEMR
MEMW
Kontroler DMA
DREQ0
DACK0
D
A
DREQ1
DACK2
…
HRQ
HLDA
DREQn
DACKn
11
Kontroler DMA – symbol
i logika kontrolera 8237
12
Kontroler DMA – tryby pracy
Tryby pracy na przykładzie kontrolera Intel82C37
Idle – brak transferu, obserwacja linii DREQ
Single – wykonanie pojedynczego przesłania po każdym zgłoszeniu
przerwania
Block – przesłanie bloku danych aż do wyzerowania licznika słów
Demand – tryb podobny do Block, ale przerywany zaniknięciem
sygnału DRQ albo zgłoszeniem o wyższym priorytecie
Cascade – tryb używany przez kontroler podrzędny w kaskadowym
połączeniu kontrolerów
Verify – wewnętrzna diagnostyka układu
13
Przykład współpracy kontrolera
DMA z kontrolerem dźwięku
Magistrala danych
Magistrala adresowa
Dane
dźwiękowe
WR
RD
IOR
IOW
MEMR
MEMW
Kontroler DMA
Pamięć
Kontroler
dźwięku
Bufor
DREQ
DACK
DAC
14
Realizacja zależności
czasowych – układ czasowy
Zadania układu czasowego:
Generowanie precyzyjnych opóźnień czasowych
Generowanie sygnałów o zadanej częstotliwości
Historyczne wykorzystanie:
- inicjalizacja cyklu odświeżania pamięci DRAM
- realizacja zegara czasu rzeczywistego
Generowanie sygnału PWM (realizowane w mikrokontrolerach
do sterowania urządzeniami)
15
Realizacja zależności
czasowych – układ czasowy
Cechy układu czasowego:
Zawiera zbiór liczników taktowanych sygnałem zegarowym
pochodzącym z zewnętrznego źródła lub wewnętrznego
oscylatora
Zazwyczaj zapewnia różne tryby zliczania: NBC, BCD, w górę, w
dół
Jest układem programowalnym, pozwala na:
- wybór źródła sygnału zegarowego i ew. podziału preskalera
- zaprogramowanie stanu początkowego liczników
- konfigurację trybu pracy liczników
16
Przykład układu czasowego
Widok i schemat blokowy
układu Intel82C54
17
Przykładowe zastosowanie
układu czasowego
Generowanie sygnału dźwiękowego o zaprogramowanej
częstotliwości dla głośnika systemowego w komputerze
klasy PC
Filtr
dolnoprzepustowy
Wzmacniacz
audio
18

Podobne dokumenty