Dsp koło

  1. Nazwy, rozmiar i rola rejestrów:

Zawierają bity kontrolne i flagi, czyli wszystkie ustawienia i stan procesora

        STx_55        rejestry statusowe(4), 16 bitowe

Zawiera informacje o debugowaniu, wykorzystywane przy emulacji

        DBH            starsza część rejestru statusu debugowania

Zawiera adres pierwszej instrukcji bloku do repetycji

        RSAm                     Adres początku repetycji bloku(2), 24 bitowe

Zawiera informacje ile razy wykonać powtórzenie bloku

        BRCm                    rejestry bloku powtórzeń licznika(2), 16 bitowe

Zawiera informacje w którym miejscu instrukcji znajduje się procesor

        PC               licznik rozkazów, 24 bitowy

Wskazują wartość na stosie systemowym

        XSSP           rozszerzony wskaźnik  stosu systemowego, 23 bitowy

        SSPH           starsza część XSSP, 7 bitowa

        SSP              wskaźnik stosu systemowego, 16 bitowy

Wskazują na wartość na stosie danych

        XSP             rozszerzony wskaźnik stosu danych, 23 bitowy

        SPH             starsza część XSP, 7 bitowa

        SP                wskaźnik stosu danych, 16 bitowy

Dostęp do portów we/wy

        PDP             Peripherial data page, 9 bitowy,

Biorą udział w obliczeniach arytmetycznych i logicznych

        ACx             rejestry akumulatory (4) , 40 bitowe,

Przetrzymują czynniki do mnożeń,

        Tx                Rejestry tymczasowe(4), 16 bitowe,

Określają początkowy adres dla adresacji bezpośredniej.

        XDP            rozszerzony wskaźnik strony pamięci danych, 23 bitowy,

        DP               Wskaźnik strony pamięci danych, 16 bitowy

Wskazują na wartość w pamięci danych przez tryb adresacji pośredniej

        XARn         rozszerzony rejestry adresujące(8), 23 bitowe,

        ARHn         starsza część XARn(8) 7 bitowe

        ARn            rejestry adresujące(8), 16 bitowe

        XCDP                     rozszerzony  Coefficient Data Pointer, 23 bitowy

        CDPH                     starsza część  XCDP, 7 bitowy

        CDP            Coefficient Data Pointer, 16 bitowy

2. Niezbędne czynności do przygotowania systemu przerwań.

        - trzeba napisać program obsługi przerwania

        - ustawić położenie tablicy wektora przerwań poprzez IVPD i IVPH

        - ustawić globalna maskę przerwań INTM

        - ustawić odpowiedni bity indywidualnych masek każdego przerwania w IMR

        - ustawić wartość wskaźnika stosu SP

        - umieścić początek procedury przerwania w tablicy wektorów przerwań

3. Konsekwencje z unifikowanego modelu pamięci programu, danych, i postów we/wy.

        - trzeba odpowiednio rozmieścić program i dane

        - rożne sposoby adresowania dla danych i programu

4.  Elementy w składzie zespołu narzędzi deweloperskich CCS, kolejność używania(typowa)

        - Edytor

        - Kompilator

        - Asembler

        - Linker

        - Debugger

5. Argumenty za sensownością cyfrowego przetwarzania sygnałów.

        - precyzja i niezmienność w czasie

        - specyfikacja przetwarzania, suma mnożeń

        - wierność realizacji modeli matematycznych

- da się uzyskać coś czego normalnie się nie da np. mały rozmiar filtrów bardzo niskiej częstotliwości

        - duża szybkość, potrzebna do poprawnego przetwarzania

        - elastyczność programu

        - małe obudowy

        - mały pobór energii

        - duże możliwości

6. Co to procesor DSP, cyfrowe przetwarzanie sygnałów – definicje.

Procesor DSP – scalone układy elektroniczne ukierunkowane na przetwarzanie zbiorów/strumieni liczb reprezentującymi wartości próbek sygnałów ze świata rzeczywistego przy użyciu obliczeniowych modelu matematycznych. Cyfrowe przetwarzanie sygnałów – metoda przetwarzania cyfrowej reprezentacji sygnałów ze świata rzeczywistego, z użyciem technik matematycznych dla wykonania transformacji lub uzyskania informacji. Cyfrowa reprezentacja sygnału jest zbiorem liczb wyrażających wartości wybranego parametru sygnału w punktach – czyli wektorem próbek. Wektor próbek to tylko fragment – okno czasowe – jest to rozbieżność z rzeczywistym sygnałem, trzeba stosować korekcje i usprawnienia.

7. Co można dowiedzieć się z mapy pamięci

        - pamięć i dane dzielą ten jedna pamięć

        - podział na strony (adresy)

        - rozmiar pamięci 16 MB

        - adresacja 24 bitowa

        - inaczej adresuje się w przypadku programu a inaczej danych

8. Dla procesora ‘C5402 podaj co to jest, co może zawierać i do czego służy stos?

Stos jest to fragment obszaru pamięci danych, rejestr typu LIFO (dane zapisane jako ostatnie są odczytywane jako pierwsze). Służy głównie do zachowania i ochrony stanu procesora w trakcie realizacji procedur obsługi przerwania. Zawiera adresy powrotu po wykonaniu przerwania.

9. Dla procesora ‘C5402 podaj co to jest, co może zawierać, gdzie się znajduję i do czego służy pamięć podwójnego dostępu DARAM?

Jest to pamięć zezwalająca na dwa dostępy w jednym cyklu procesora (odczyt i zapis w tym samym cyklu). Zawiera operandy. Znajduje się w pamięci danych lub programu. Służy do efektywnego wykonywania rozkazów.

10.  Dla procesora ‘C5402 podaj na czym polega operacja nasycania i do czego służy?

Podczas przekroczenia zakresu w akumulatorze ustawiana jest maksymalna lub minimalna możliwa wartość. Włączana jest i wyłączana za pośrednictwem bitu SST. Służy do usprawniania wyniku. Przeciwdziała zmianie znaku liczby lub przekręceniu się licznika.

11. Co trzeba zapewnić (co musi być przygotowane) dla prawidłowej obsługi przerwania w procesorze ‘C5402?

Musi być przygotowana procedura obsługi przerwań, czyli jak procesor ma zareagować na wystąpienie danego zdarzenia. Należy ustawić globalną maskę przerwań, odpowiedni bit indywidualnej maski danego przerwania, wartość wskaźnika stosu i umieścić początek procedury obsługi przerwania w tablicy wektorów przerwań.

12. Dla procesora ‘C5402 opisz krótko tryb adresacji pośredniej, jego przeznaczenie i podaj przykłady rozkazów?

Adresacja rejestrowa, prosta, jednoskładnikowa, najbardziej wszechstronna, najszerzej używana. W rozkazie umieszczony jest adres adresu argumentu. Przykład: LD *AR1,A.

13. Jak w procesorze ‘C5402 można rozpoznać rozpoczęcie obsługi zewnętrznego przerwania?

INT0..3=0, NMI=0, RESET=0. Sygnał rozpoczęcia INTA. Sygnał potwierdzenia IACK.

14. Z jakiego punktu przestrzeni adresowej jest uruchamiany program po RESET sprzętowym, a jakiego po RESET programowym w ‘C5402?

Po sprzętowym z adresu FF80H w przestrzeni programu. Po programowym zależy to od ustawienia zawartości rejestru IPTR zawartego w rejestrze PMST.

Cały PMST traktuje się jako adres tablicy wektorów przerwań, przy czym najmłodszych 7 bitów jako zawsze wyzerowane (czyli kolejne adresy różnią się o wartość 128d - tyle ile wynosi rozmiar tablicy). A tablica zaczyna się od reset vectora. Podstawiając za IPTR=1FFh dostaniemy adres FF80h (jak w reset sprzętowym).

15. Co to jest programowy generator Wait-State i do czego służy w DSP (np. w ‘C5402)?

Programowy generator cykli oczekiwania. Jeżeli CPU pracuje z większą

szybkością od pamięci flash to opóźnienia dostępu do pamięci.

16.  Czym różni się realizacja pętli programowej od pętli wykonanej dzięki trybowi repetycji w ‘C5402?

W trybie repetycji pętla wykonywana jest efektywniej, ponieważ tylko część użyteczna jest wykonywana. Dzięki sprzętowej obsłudze licznika pętli nie tracimy czasu na rozkazy sprawdzające licznik i realizujące skok.

17.  Objaśnij jakie operacji wykona rozkaz MACR @60h,#123h,B procesora ‘C5402?

pomnożenie wartości zapisanej pod adresem 60h w pamięci danych z wartością 123h a następnie dodanie tego iloczynu do B i zapisanie  w B

18.  Dla procesora ‘C5402 podaj co to jest, co może zawierać i do czego służy tablica wektorów przerwań?

To obszar w pamięci programu. Zawiera czterosłowowe wektory przerwań. Służy do wiązania przerwań z procedurami obsługi tych przerwań.

19.  Dla procesora ‘C5402 podaj co to jest, co może zawierać, gdzie się znajduję i do czego służy zerowa strona pamięci danych?

Jest to pierwsza strona przestrzeni pamięci danych – adresy 0000h–007Fh. Znajdują się w niej rejestry MMR.

20.  Dla procesora ‘C5402 podaj na czym polega operacja zaokrąglania i do czego służy?

Polega na dodaniu wartości 8000h do akumulatora po wykonaniu operacji. W odbieranym wyniku z 16-to bitowej starszej części akumulatora można uwzględnić końcówkę wyniku zawartą w młodszej części.

21.  Które rejestry procesora w trakcie obsługi przerwania są zachowywane automatycznie, a które musi zachować procedura ISR?

Automatycznie : PC(L) oraz PC(H) , zachowane przez procedurę: ACC oraz PSW.

22.  Dla procesora opisz ‘C5402 krótko tryb adresacji bezpośredniej, jego przeznaczenie i podaj przykłady rozkazów?

Adres argumentu jest umieszczony bezpośrednio w części adresowej rozkazu w sposób jawny. Do adresacji względem wskaźnika strony albo wskaźnika stosu. Przykład: LD @x, A.

23.  Jak w procesorze ‘C5402 można rozpoznać rozpoczęcie obsługi wewnętrznego przerwania?

IFR=1  IMR=1  INTM=0

24.  Czym różni się od siebie procedura obsługi przerwania od dowolnej innej procedury programowej procesora ‘C5402?

Koniecznością zachowania na początku procedury stanu rejestrów procesora używanych w trakcie jej działania i odtworzenie ich zawartości na końcu procedury. Kończeniem procedury rozkazem RET[D] lub RETE[D] by odblokować system przerwań.

25.  Co to jest proces Bootowania i do czego służy w DSP (np. w ‘C5402)?

Jest to proces startowego ładowania programu do pamięci wewnętrznej.

26.  Co to są sekcje programu w ‘C5402 i do czego służą?

To fragmenty programu zawierające jednorodne obiekty: kod, stałe, zmienne lub układy we/wy. Sekcje o tych samych nazwach łączone są we wspólne obszary ułatwiając organizację danych w pamięci.

27.  Objaśnij jakie operacji wykona rozkaz MVDD  *AR1+,*AR2+  procesora ‘C5402?

przypisanie wartości operandu o adresie podanym przez wartość AR1 do operandu o adresie podanym przez wartość AR2, następnie inkrementacja AR1 i AR2

28.  Dla procesora ‘C5402 podaj co to jest i do czego służy rozszerzenie znakowe?

Mechanizm pozwalający procesorowi na zachowanie znaku danej  ładowanej do większego rejestru.

29.  Dla procesora ‘C5402 opisz krótko tryb adresacji natychmiastowej, jego przeznaczenie i podaj przykłady rozkazów?

Operand bezpośrednio w kodzie rozkazu. Użyteczny do inicjalizacji. Przykład: LD #10,A.

30.  Jak w procesorze ‘C5402 można rozpoznać przekroczenie obszaru stosu?

Jeśli obszar przewidziany na stos zostanie przekroczony to nadmiar ‘wejdzie’ na inne dane i program zacznie się dziwnie zachowywać lub w ogóle przestanie działać.

31.  Co to jest stan HOLD i czemu służy w ‘C5402?

Stan zwieszenia (wstrzymania pracy procesora) pozwalający zewnętrznym urządzeniom na przejęcie kontroli nad magistralami.

32.  Co to jest zbiór konfiguracyjny linkera w ‘C5402 i do czego służy?

Plik niezbędny do prawidłowego zbudowania kodu i działania linkera. Definiuje on gdzie w pamięci programu są umieszczone fragmenty kodu, bloki pamięci, zawiera opcje linkera, nazwy plików wejściowych linkera. Opisuje przyporządkowanie plików wejściowych wyjściowym. Definiuje alokację pamięci. (*.cmd)

33.  Objaśnij jakie operacje wykona rozkaz PSHD  *AR2-  procesora ‘C5402.

Po dekrementacji rejestru stosu SP, pobierana jest wartość spod adresu wskazanego przez rejestr AR2 i zapisywana jest ona na szczycie stosu (TOS). Następnie następuje dekrementacja rejestru AR2

34.  Czym różnią sie rozkazy INTRn i TRAPn?

TRAPn pozwala wywołać dowolną procedurę obsługi przerwania bez blokowania przerwań flagą  INTM. INTRn blokuje przerwanie flagą INTM.

35.  Dla procesora ‘C5402 podaj co to i do czego służą rozkazy z opóźnieniem?

Zachowują ciągłość wykonywania rozkazów po skoku przy przetwarzaniu nakładowym.

36.  Dla procesora ‘C5402 opisz krótko tryb adresacji akumulatorowej, jego przeznaczenie i podaj przykłady rozkazów.

Zawartość akumulatora jest adresem operandu w pamięci programu. Przykład: READA x.

37.  Jak w procesorze ‘C5402 można rozpoznać przekroczenie zakresu w obliczeniach?

OVA,OVB = 1

38.  Co to jest stan HALT i czemu służy w ‘C5402?

Stan zatrzymania, który powoduje zatrzymanie cyklu rozkazowego mikroprocesora z zachowaniem stanu wszystkich rejestrów. Jest on użyteczny przy poszukiwaniu błędów i poprawianiu programu.

39.  Skąd linker wie jakie sekcje ma łączyć ze sobą w ‘C5402, a jakie nie?

Dzięki zbiorowi konfiguracji linkera.

40.  Objaśnij jakie operacje wykona rozkaz DADD  *AR2+,A,B  procesora ‘C5402.

Dodaje wartość rejestru AR2 do akumulatora A i umieszcza wynik w akumulatorze B. Jeśli bit C16=0 to operacja będzie wykonana w trybie podwójnej precyzji, jeśli C16=1 to w trybie dual 16-bit. inkrementacja AR2.

41.  Do czego są szczególnie przydatne w procesorach DSP kanały DMA i z czym głównie współpracują?

Kanały DMA w procesorach DSP współpracują głównie z McBSP oraz D/A. Można mówić o ich szczególnej przydatności ze względu na to, że:

· DMA dla przesłań może sięgać do każdego zasobu

· prowadzą transfer danych bez zaangażowania CPU, a zatem odciążają procesor

· posiadają autoinit (automatyczne ustawienie następnego kanału do transferu)

· transfer można synchronizować np. z 20 zdarzeniami w C55xx

· każdy z kanałów dysponuje FIFO by zapis mógł wyprzedzać odczyt (gdy zasoby docelowe są zajęte)

· przy wydzieleniu kanału z użyciem DMA obsługiwanych może być do 128 kanałów

· pozwala na niezależny wybór wielu kanałów (słów), które mają być transmitowane i odbierane

· elastycznie indeksowana adresacja DMA pozwala na sortowanie każdego kanału do oddzielnego bufora

42.  Architektura Von-Neumana

Architektura ta opisuje system z jednolitą przestrzenia adresową, obsługiwaną przez jedną szynę, wspólna dla danych i kodów programu. W tej architekturze podział na obszar pamięci na dane i program jest umowny. Zaletą tej architektury jest łatwość programowania, gdyż dostęp do danych, programu i urządzeń we/wy odbywa się przy użyciu zunifikowanych rozkazów wykorzystujących te same tryby adresowania. Nie jest potrzebne wprowadzenie specjalnych rozkazów pozwalających na przepływ danych pomiędzy pamięcią danych i programu. Niestety dysponując tylko to dysponując tylko jedną magistralą nie możemy wykonywać równoległych przesłań, stąd wszystkie operacje odczytu i zapisu muszą odbywać jedna po drugiej. Wszystkie operacje wykonywane są sekwencyjnie, jedna po drugiej. Nie ma możliwości zrównoleglenia operacji i przyspieszenia wykonywania programu.

43.  Architektura Harwardzka

Głównym elementem tej architektury jest wyraźne i stałe rozdzielenie obszarów pamięci danych i programu oraz dwie oddzielne szyny magistral do transportu danych i kodów programu. Dzięki temu można wykonywać równolegle operacje pobierania kodu i danych (operandów rozkazów) a dzięki specjalnej organizacji zasobów również wykonywać równolegle inne fazy rozkazów organizując Wyjaśnienia zagadnień występujących w dotychczasowych kolokwiach zaliczeniowych DSP kolejkę przetwarzania nakładkowego. Kolejka, w której kilka kolejnych rozkazów z pamięci kodu jest „nasunięte na sienie” Przyspiesza realizację programu. Kolejka NIE SKRACA cyklu rozkazowego (rozkazy nadal wymagają takiej samej liczby faz –cykli procesora, –ale przez równoległe wykonanie kilku faz rozkazów skraca sumaryczny czas wykonywania programu. Rozdzielenie obszarów pamięci programu i danych wymaga uzupełnienia sygnałów sterujących (select) wyboru odpowiedniego obszaru pamięci lub portów we/wy.

43.  Omów sposoby realizacji pętli i stosowane tam rozkazy.

Do realizacji pętli mogą zostać wykorzystane następujące rozwiązania:

·repetycja pojedynczego rozkazu realizowana instrukcją RPT, pozwala na powtórzenie instrukcji od 1 do 65536 razy. RPT można wykonać równolegle z zerowaniem akumulatora dla „czystego” początku sumowania (odpowiednik RPTZ w rodzinie C54xx). RPT n -> n+1 powtórzeń

· repetycja bloku rozkazów realizowana za pomocą instrukcji RPTB. Pozwala ona na powtórzenie bloku instrukcji od 1 do 65536 razy. Liczbę obiegów pętli ustala się przed wywołaniem repetycji ustalając zawartość BRC (Block Repeat Counter). BRC=n -> n+1 powtórzeń.  Fakt repetycji bloku rozkazów z rozróżnieniem dwóch poziomów zagłębienia jest sygnalizowany odpowiednimi stanami bitów w rejestrze CFCT, dla uniknięcia niszczenia zawartości rejestrów określających warunki repetycji (odpowiednik flagi BRAF dla uproszczonego mechanizmu repetycji w procesorach C54xx).

44.  Mnemonik

(skrót mnemotechniczny) -symbol (słowo) utworzony zgodnie z zasadami mnemotechniki, tzn. w taki sposób, aby forma zapisu była pomocna w zapamiętaniu, do jakiej operacji przypisane jest dane słowo-kod. Mnemonik składa się z kilku liter będących skrótem słów z języka angielskiego oznaczających daną czynność procesora. Listy rozkazów procesorów, w których skład wchodzą mnemoniki różnią się w zależności o typu procesora. Niektóre z mnemoników, oznaczające takie operacje jak dodawanie, odejmowanie, mnożenie czy dzielenie są jednakowe dla wszystkich procesorów. Za zamianę (tłumaczenie) zapisu programu z użyciem mnemoników na język wewnętrzny (kod maszynowy) "zrozumiały" dla procesorów odpowiedzialne są specjalnie przeznaczone do tego programy zwane Asemblerami. Mnemonik Nazwa MOV przesuń., ADD dodaj, CALL przywołaj procedurę, B skocz.

45.  Objaśnij zadania linkera w środowisku programów do generacji kodu procesora DSP.

Linker łączy plik *.obj i generuje docelowy plik wyjściowy *out. Rozmieszcza on i łączy jednoimienne sekcje w obszarach pamięci wskazanych w zbiorze/poleceniach konfiguracyjnych. Linker może generować różne, pomocne w analizie i uruchamianiu programu zbiory np. *.map – mapę pamięci, *.lst – pełnego listingu programu, *.hex – zbiór dla programatora pamięci, itd. Zajmuje się on rozmieszczeniem relokowalnych zbiorów *.obj a w nich symboli i sekcji, by przypisać je do ostatecznych adresów oraz decyduje o zewnętrznych powiązaniach między plikami wejściowymi i bibliotekami. Do prawidłowego działania linkera niezbędny jest zbiór konfiguracyjny linkera - Linker Command File ( w CCS ma on rozszerzenie .cmd).


Wyszukiwarka

Podobne podstrony:
SZKOLNE KOŁO CARITAS
6 dsp bios
kolo zebata m
Koło Malujda Rybak
I kolo z MPiS 2010 11 Zestaw 1
Biologia mol 2 koło luty 2013
dsp recenzja re06 2007
kolo 2
koło 15 zad 1
Kolo 2
horo na zboja, TI kolo a 06o9
koło 1
Bazy danych kolo 2 1 id 81756 Nieznany

więcej podobnych podstron