1 / 26

Mikroprocesory i procesory sygnałowe

Mikroprocesory i procesory sygnałowe. Tematyka Historia procesorów Porównanie procesorów CISC i RISC Model programowy procesorów Intel x86 . Rozszerzenia MMX, SIMD, ... Architektury von Neumanna, Harvard Procesory VLIW, EPIC, ARM, PowerPC, MIPS Procesory sygnałowe

keona
Download Presentation

Mikroprocesory i procesory sygnałowe

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mikroprocesory i procesory sygnałowe Tematyka • Historia procesorów • Porównanie procesorów CISC i RISC • Model programowy procesorów Intel x86. Rozszerzenia MMX, SIMD, ... • Architektury von Neumanna, Harvard • Procesory VLIW, EPIC, ARM, PowerPC, MIPS • Procesory sygnałowe • Typowe algorytmy przetwarzania sygnałów: • Szybka transformata Fouriera • Filtry cyfrowe • Zagadnienia sztucznej inteligencji • Elementy systemu mikroprocesorowego.

  2. Warunki uzyskania zaliczenia: • Obecność na ćwiczeniach (maksymalnie 2 nieusprawiedliwione nieobecności) • Pozytywna ocena z ćwiczeń (w tym 2 prace kontrolne) • Obecność na laboratorium i wykonanie pełnego zestawu ćwiczeń (sprawozdania oceniane indywidualne).

  3. Literatura (przykładowa): • G.Syck, Turbo Assembler. Biblia Użytkownika, LT&P, Warszawa 1994 • J.Scanlon, Assembler 80286/80386 • J.Biernat, Architektura komputerów, Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław, 1999 • J.Grabowski, S. Koślarz, Podstawy i praktyka programowania mikroprocesorów, WNT, Warszawa, 1987 • A. Niederliński, Mikroprocesory, mikrokomputery, mikrosystemy, Wydawnictwa Szkolne i Pedagogiczne, Warszawa, 1991 • P.Metzger, Anatomia PC, Helion • C.Marven,G.Ewers, Zarys cyfrowego przetwarzania Sygnałów, WKŁ, Warszawa, 1999 • Dowolne książki dotyczące podstaw cyfrowego przetwarzania sygnałów • Czasopisma specjalistyczne i popularnonaukowe • Podręczniki firmowe do omawianych procesorów

  4. Wykład 1 Przetwarzanie sygnałów analogowych przez system cyfrowy

  5. Cyfrowa reprezentacja sygnałów analogowych: • systemy liczenia: binarny i szesnastkowy • liczby rzeczywiste stałoprzecinkowe i zmiennoprzecinkowe • podstawowe operacje arytmetyczno-logiczne procesorów

  6. Przetwarzanie sygnałów analogowych przez system cyfrowy

  7. System dziesiętny Cyfry mogą przyjmować dziesięć różnych wartości: 0,1..9 12 = 2*1 + 1*10 = 2*100 + 1*101 + 0*102 + ... 012 = 2*100 + 1*101 + 0*102 + ... = 12 Tabela 1. Wartości (wagi) bitów w zapisie binarnym System binarny Cyfry mogą przyjmować tylko jedną z dwóch wartości: 0 lub 1 1100b = 0*20 + 0*21 + 1*22 + 1*23 + ... = 0*1 + 0*2 + 0*4 + 0*8 = 12 (dec) 

  8. System binarny Minimalna liczba w zapisie binarnym dla słowa 4-bitowego wynosi: 0000b = 0*20 + 0*21 + 0*22 + 0*23 = 0 (dec) ... natomiast maksymalna: 1111b = 1*20 + 1*21 + 1*22 + 1*23 = 1*1 + 1*2 + 1*4 + 1*8 = 15 (dec) Dla słów 8 bitowych (bajtów) zakres ten wynosi odpowiednio: minimum : 00000000b = 0 maksimum: 11111111b = 255

  9. Zapis liczb ujemnych – system uzupełnień do jedynki (U1) LICZBY UJEMNE MAJĄ ZAMIENIONE WSZYSTKIE BITY NA PRZECIWNE 00001100b = +12 11110011b = -12 -         najbardziej znaczący bit (pierwszy z lewej) oznacza znak liczby: 0 –liczba dodatnia, 1 – liczba ujemna Uwaga 1:Liczba zero może mieć znak ! 00000000b = +0 11111111b = -0 Uwaga 2: Zakres liczb ulega zmianie z 0..255 na-127...-0,+0,...+127

  10. Zapis liczb ujemnych – system uzupełnien do dwóch (U2) • LICZBY UJEMNE MAJĄ ZAMIENIONE WSZYSTKIE BITY NA PRZECIWNE (U1) A NASTEPNIE DODAWANA JEST LICZBA 1 • 00001100b = +12 • zapis liczby –12 w systemie U2: • zapis binarny wartości liczby bez znaku, • zamiana wszystkich bitów na przeciwne (U1) • dodanie liczby 1 (00000001b) • 1 +12 (dec) = 00001100b • 2 11110011b • 3 +00000001b • ========== • 11110100b = -12 • Specjalny wskaźnik N (Negacji) zostanie ustawiony N=1 • (jest to kopia bitu 7 wyniku)

  11. Zapis liczb ujemnych – system uzupełnien do dwóch (U2) ... i odwrotnie 1. 11110100b = -12 2. 00001011b 3. +00000001b ========== 00001100b = +12 Sprawdzenie czy +12 + (-12) = 0 ??? +12 (dec) = 00001100b -12 (dec) = 11110100b + ===================== 1 00000000b = 0 !!!  wskaźnik przeniesienia C=1 (Carry) Uwaga ! System ten jest najczęściej używany w praktyce zewzględu na prostotę przeprowadzania operacji arytmetycznych.

  12. Zapis liczb ujemnych – zastosowanie przesunięcia zakresu (offsetu) Umowny podział zakresu zmienności 0..255 na dwa podzakresy poprzez zastosowanie tzw. offsetu równego zazwyczaj połowie zakresu zmienności liczby binarnej wartość liczby ze znakiem (-127...+128)= wartość binarna(0..255) – offset(127) Zapis taki stosowany jest np. przez koprocesor w komputerach PC, oraz w niektórych prostszych systemach.

  13. System szesnastkowy(hexadecymalny) Cyfry mogą przyjmować tylko jedną z szesnastu postaci: 0,1,... 8, 9, A, B, C, D, E, F odpowiadających wartościom 0,1,... 8, 9,10,11,12,13,14,15 i tak np. liczba szesnastkowa 0Ch odpowiada liczbie dziesiętnej 12

  14. System szesnastkowy Inny przykład: 1278h = 1*4096 + 2*256 + 7*16 + 8*1 = 4728 Uwaga 1Liczby szesnastkowe mogą być oznaczane również przez0x1278lub $1278 Uwaga 2Zapis szesnastkowy używany jest tylko dla wygodyprezentacji liczb binarnych !!! Każda z cyfr liczby szesnastkowej składa się z 4 bitów (cyfr szesnastkowych).Wygodnie jest więc zapisując liczby binarne stosować odstępy (spacje) pomiędzy grupami 4 bitów, np. +12 (dec) = 00001100b == 0000 1100b = 0Ch -12 (dec) = 11110100b == 1111 0100b = F4h Dla większych liczb, np. 16-bitowych korzyść z takiego zapisu jest od razu widoczna 0100110011111100b == 0100 1100 1111 1100b = 4CFCh

  15. Podstawowe operacje arytmetyczno-logiczne mikroprocesorów 1 Liczby całkowite, ze znakiem (U2) i bez znaku dodawanie (ADD) przykład: mov EAX,10 ;wpisanie do rejestru EAX liczby 10 add EAX,20 ;dodanie do zawartość EAX liczby 20 ;(EAX:=EAX+20) C=0 dodawanie z przeniesieniem (ADC) W=A+B+C (C=0 lub 1)

  16. Podstawowe operacje arytmetyczno-logiczne mikroprocesorów 2 odejmowanie (SUB) mov EAX,10 ;wpisanie do rejestru EAX liczby 10 sub EAX,20;odjęcie od zawartość EAX liczby 20 (w tym przypadku wynik będzie ujemny (N=1), oraz nastąpi pożyczka (C=1)) odejmowanie z pożyczką (SBB) W=A-B-C

  17. Podstawowe operacje arytmetyczno-logiczne mikroprocesorów 3 inwersja bitów (NOT) - tak jak w systemie uzupełnień do jedynki U1 mov EAX,12 ;wpisanie do rejestru EAX liczby 12 NOT EAX negacja liczby (NEG) – system uzupełnień do dwóch (U2) W=(NOT A) +1 mov EAX,12 ;wpisanie do rejestru EAX liczby 12 NEG EAX ;w EAX jest –12 (U2)

  18. Podstawowe operacje arytmetyczno-logiczne mikroprocesorów 4 mnożenie liczb (MUL) : - wynik ma dwa razy więcej bitów niż składniki mnożenia (wynik zawsze w DX:AX) mov ax,2000h mov bx,10h mul bx po wykonaniu mnożenia w rejestrze DX znajdzie się liczba 2h, a w AX liczba 0000h (łączny wynik 20000h)

  19. Podstawowe operacje arytmetyczno-logiczne mikroprocesorów 5 dzielenie liczb (DIV) : dzielna w DX:AX wynik w postaci: część całkowita (AX) i reszta (DX) mov dx,3h mov ax,205h mov bx,100h div bx ;AX = 302h = (30205/100h) ;DX = 5 (reszta z dzielenia)

  20. Podstawowe operacje arytmetyczno-logiczne mikroprocesorów6 Iloczyn logiczny (AND) : mov dx,11000011b anddx,11110000b ;w dx będzie 11000000b

  21. Podstawowe operacje arytmetyczno-logiczne mikroprocesorów 7 Suma logiczna (OR) : mov ax,11000011b or ax,11110000b ;w ax będzie 11110011b

  22. Podstawowe operacje arytmetyczno-logiczne mikroprocesorów 8 Funkcja EXOR: mov ax,11000011b exor ax,11110000b ;w ax będzie 00110011b

  23. Podstawowe operacje arytmetyczno-logiczne mikroprocesorów 9 Przesuwanie bitów SHR,SHL: ;wartość początkowa C=0 mov ax,11000011b shr ax,1 01100001b ;po wykonaniu C=1

  24. Podstawowe operacje arytmetyczno-logiczne mikroprocesorów 10 Przesuwanie bitów ROR,ROL: ;wartość początkowa C bez znaczenia mov ax,11000011b ror ax,1 11100001b ;po wykonaniu C=1 ;przesunięcie o trzy pola mov ax,11000011b ror ax,3 01111000b ;po wykonaniu C=0

  25. Liczby rzeczywistestałoprzecinkowe 1 Zapis 8.8 oznacza 8 bitów części całkowitej (w tym bit znaku) i 8 bitów części ułamkowej Tabela 3a. Przykładowe wartości (wagi) bitów w zapisie binarnym liczb rzeczywistych stałoprzecinkowych (słowo 16 bitowe) - zakres: -128.00000000 ... +127.99609375

  26. Liczby rzeczywistestałoprzecinkowe 2 Zapis 1.15 oznacza 0 bitów części całkowitej (1 bit znaku) i 15 bitów części ułamkowej Tabela 3b. Przykładowe wartości (wagi) bitów w zapisie binarnym liczb rzeczywistych stałoprzecinkowych (słowo 16 bitowe) - zakres:-1.0000000000 ...+0.999969482421875

More Related