kartkówka z odpowiedziami

Nasza ocena:

4
Pobrań: 63
Wyświetleń: 644
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
kartkówka z odpowiedziami - strona 1

Fragment notatki:


Czym się różni mod transferu blokowego (block) i słowo po słowie (word) (bity DTM w DCRx)? * Nie jestem pewny, ale wydaje mi się, że chodzi o to, jaka ilość danych zostanie przesłana po otrzymaniu przez kanał DMA sygnału wyzwolenia. Dla transferu blokowego będzie to ilość słów zdeklarowana w liczniku, a dla transferu słowo po słowie - jedno słowo. Z tabelki w FamilyManualu wynika, ze transfer blokowy przesyla na raz cały blok, a word-by-word albo okreslona ilosc w DCO albo kazdorazowo, kiedy dostanie request I oba kończą się gdy licznik dojdzie do zera. bity w DTM: word - 001(z czyszczeniem DE), 101(bez czyszczenia DE) block - 000(z czyszczeniem DE), 011(z czyszczeniem DE, po wyczyszczeniu counter jest ładowany od początku), 100(bez czyszczenia DE) Czy w p rzypadku włączenia przerwania (DIE) można używać trybu bez zerowania DE (DE auto clear)? * W takim przypadku nie można używać tego przerwania. Za family manualem: The DMA End-of-Block-Transfer interrupt cannot be used if DMA is operating in the mode in whi ch DE is not cleared at the end of the block transfer (DTM = 100 or 101). Co należy zrobić aby poprawnie działały przerwania od końca bloku DMA (jakie rejestry modyfikować, co napisać w vectors.asm ew. w programie) - napisz i wyjaśnij kilka linijek kodu (bez wdawania się w programowanie wszystkich bitów DCRx - tylko to co ważne!). * * Na pewno trzeba trzeba ustawić w OMR CDP i CP (priorytet Core-DMA i Core) Albo CDP=00, wtedy dynamicznie są porównywane przerwania od rdzenia i dma albo CDP=01, wtedy dma ma pierwszeństwo Janek: W vectors.asm trzeba wpisać procedurę przerwania końca transferu, albo skok do podprocedury w pamięci programu. Jak zbudować bufor cykliczny bez przerwań (używając trybu 2-D) - opisz dokładnie (jakie DE, DTM, co z DCOx i DORx). * * 1 ) DE ustawione na 1, czyli włączenie kanału 2) DTM: 100 lub 101, czyli przesyłanie całego bloku, lub słowa po słowie, bez czyszczenia DE na końcu 3) Rejestr offsetowy DORx, który wybieramy za pomocą bitów DAM[5-3] lub DAM[3-0] w rejestrze DCR, musi zawierać wartość -(długość bufora - 1), przy czym długość bufora cyklicznego przy wykorzystaniu trybu 2-D, to maksymalnie 4096 komórek pamięci. 4) Rejestr licznika DCOx wypełniamy tak, aby pierwsze 12 bitów określało stan licznika DCOL, czyli długość bufora - 1. W drugie dwanaście bitów (DCOH) wpisujemy liczbę przejść przez cały bufor. DCOH zmniejsza się o 1, po każdym wyzerowaniu DCOL. Jeśli również DCOH się wyzeruje, następuje zakończenie przesyłania. Co to jest rejestr offsetowy DORx i do czego służy? * Jeden z 4 rejestrów offsetowych, wspólnych dla wszystkich 6 kanałów DMA, w zależności od wybranego trybu określa długość bufora źródłowego -1 lub docelowego, albo skok (skoki) pomiędzy kolejnymi komórkami źródłowymi lub docelowymi dla transferu przez kanał DMA.

(…)

… ograniczeń jak adresowanie modulo
Co to jest kontroler DMA? * *
Jest to metoda bezpośredniego dostępu do pamięci, np. przez urządzenia peryferyjne, nie wymagająca użycia rdzenia procesora. Ma za zadanie usprawnić i przyspieszyć pracę programu.
bezpośredni dostęp do pamięci - technika, w której sprzęt komputerowy podłączony do płyty głównej, np. karta graficzna, karta dźwiękowa, karta sieciowa czy kontroler dysku twardego, mogą korzystać z pamięci operacyjnej RAM lub portów we-wy, pomijając przy tym CPU. Wymaga to niewielkiej współpracy ze strony procesora, który musi zaprogramować kontroler DMA do wykonania odpowiedniego transferu danych, a następnie na czas przesyłania danych zwolnić magistralę systemową (przejść w stan wysokiej impedancji). Natomiast sam transfer danych jest już zadaniem wyłącznie kontrolera DMA. Realizacja cykli DMA może być przejmowana przez dedykowany układ cyfrowy, tak jak np. w komputerach PC, lub być realizowana programowo przez dane urządzenie.
DMA ma za zadanie odciążyć procesor główny od samego przesyłania danych z miejsca na miejsce (np. z urządzenia wejściowego do pamięci), procesor może w tym czasie zająć się „produktywnym” działaniem, wykonując kod programu pobrany…
… się, wystarczy wpisać do DSRx lub DDRx adres początku bufora, np tak:
movep #$addr,x:M_DSRx
Domyślam się że chodzi tutaj o użycie bezpośredniego trybu rejestrowego, czyli że adres w pamięci x musimy podać bezpośrednio, ale to tylko domysł, więc jak ktoś wie, niech poprawi.
Opisz jak się zmienia adres w trybie 2-D przyjmując: adres startowy = R, offset = O, licznik (DCO)=$(001 001). * *
1) R 2) R+1 3) R+1+O 4) R…
… (np. bufor cykliczny - jakie i do czego stosowane)? * *
■ Circular buffer: Use a two-dimensional counter and a negative offset that wraps back to the buffer start address.
■ Linear buffer with non-unit stride: Use a two-dimensional counter with one word per row. This method must be used with byte packing, which has a stride of three. ■ A larger-than-normal field width in a two-dimensional counter…
… jest taka, że pomiędzy kolejnymi buforami nie zostają nam luki w przestrzeni pamięci, tylko mamy je upakowane jeden po drugim.
Jest w tym tygodniu kartkówka!!!
4
jakub.buczak:
to ustawienie oznacza, że nie ma autocleara
Nic z tego nie kamam…. Ja pie***lę….Trza było iść na mowę polską….

... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz