Mikroprocesory i procesory sygnaowe Tematyka Historia procesorw Porwnanie

  • Slides: 26
Download presentation
Mikroprocesory i procesory sygnałowe Tematyka Historia procesorów ® Porównanie procesorów CISC i RISC ®

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

Warunki uzyskania zaliczenia: ® Obecność na ćwiczeniach (maksymalnie 2 nieusprawiedliwione nieobecności) ® Pozytywna ocena

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).

Literatura (przykładowa): ® ® ® ® ® G. Syck, Turbo Assembler. Biblia Użytkownika, LT&P,

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

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

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

Cyfrowa reprezentacja sygnałów analogowych: Øsystemy liczenia: binarny i szesnastkowy Øliczby rzeczywiste stałoprzecinkowe i zmiennoprzecinkowe

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

Przetwarzanie sygnałów analogowych przez system cyfrowy

Przetwarzanie sygnałów analogowych przez system cyfrowy

System dziesiętny Cyfry mogą przyjmować dziesięć różnych wartości: 0, 1. . 9 Tabela 1.

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

System binarny Minimalna liczba w zapisie binarnym dla słowa 4 bitowego wynosi: 0000 b

System binarny Minimalna liczba w zapisie binarnym dla słowa 4 bitowego wynosi: 0000 b = 0*20 + 0*21 + 0*22 + 0*23 = 0 (dec) . . . natomiast maksymalna: 1111 b = 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 : 0000 b = 0 maksimum: 1111 b = 255

Zapis liczb ujemnych – system uzupełnień do jedynki (U 1) LICZBY UJEMNE MAJĄ ZAMIENIONE

Zapis liczb ujemnych – system uzupełnień do jedynki (U 1) LICZBY UJEMNE MAJĄ ZAMIENIONE WSZYSTKIE BITY NA PRZECIWNE 00001100 b = +12 11110011 b = -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 ! 0000 b = +0 1111 b = -0 Uwaga 2: Zakres liczb ulega zmianie z 0. . 255 na -127. . . -0, +0, . . . +127

Zapis liczb ujemnych – system uzupełnien do dwóch (U 2) LICZBY UJEMNE MAJĄ ZAMIENIONE

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

Zapis liczb ujemnych – system uzupełnien do dwóch (U 2). . . i odwrotnie

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

Zapis liczb ujemnych – zastosowanie przesunięcia zakresu (offsetu) Umowny podział zakresu zmienności 0. .

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.

System szesnastkowy (hexadecymalny) Cyfry mogą przyjmować tylko jedną z szesnastu postaci: 0, 1, .

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 0 Ch odpowiada liczbie dziesiętnej 12

System szesnastkowy Inny przykład: 1278 h = 1*4096 + 2*256 + 7*16 + 8*1

System szesnastkowy Inny przykład: 1278 h = 1*4096 + 2*256 + 7*16 + 8*1 = 4728 Uwaga 1 Liczby szesnastkowe mogą być oznaczane również przez 0 x 1278 lub $1278 Uwaga 2 Zapis szesnastkowy używany jest tylko dla wygody prezentacji 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) = 00001100 b == 0000 1100 b = 0 Ch -12 (dec) = 11110100 b == 1111 0100 b = F 4 h Dla większych liczb, np. 16 -bitowych korzyść z takiego zapisu jest od razu widoczna 010011111100 b == 0100 1111 1100 b = 4 CFCh

Podstawowe operacje arytmetyczno-logiczne mikroprocesorów 1 Liczby całkowite, ze znakiem (U 2) i bez znaku

Podstawowe operacje arytmetyczno-logiczne mikroprocesorów 1 Liczby całkowite, ze znakiem (U 2) 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)

Podstawowe operacje arytmetyczno-logiczne mikroprocesorów 2 odejmowanie (SUB) mov EAX, 10 ; wpisanie do rejestru

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

Podstawowe operacje arytmetyczno-logiczne mikroprocesorów 3 inwersja bitów (NOT) - tak jak w systemie uzupełnień

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

Podstawowe operacje arytmetyczno-logiczne mikroprocesorów 4 mnożenie liczb (MUL) : - wynik ma dwa razy

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, 2000 h mov bx, 10 h mul bx po wykonaniu mnożenia w rejestrze DX znajdzie się liczba 2 h, a w AX liczba 0000 h (łączny wynik 20000 h)

Podstawowe operacje arytmetyczno-logiczne mikroprocesorów 5 dzielenie liczb (DIV) : dzielna w DX: AX wynik

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, 3 h mov ax, 205 h mov bx, 100 h div bx ; AX = 302 h = (30205/100 h) ; DX = 5 (reszta z dzielenia)

Podstawowe operacje arytmetyczno-logiczne mikroprocesorów 6 Iloczyn logiczny (AND) : mov dx, 11000011 b and

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

Podstawowe operacje arytmetyczno-logiczne mikroprocesorów 7 Suma logiczna (OR) : mov ax, 11000011 b or

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

Podstawowe operacje arytmetyczno-logiczne mikroprocesorów 8 Funkcja EXOR: mov ax, 11000011 b exor ax, 11110000

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

Podstawowe operacje arytmetyczno-logiczne mikroprocesorów 9 Przesuwanie bitów SHR, SHL: ; wartość początkowa C=0 mov

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

Podstawowe operacje arytmetyczno-logiczne mikroprocesorów 10 Przesuwanie bitów ROR, ROL: ; wartość początkowa C bez

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

Liczby rzeczywiste stałoprzecinkowe 1 Zapis 8. 8 oznacza 8 bitów części całkowitej (w tym

Liczby rzeczywiste stał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 3 a. Przykładowe wartości (wagi) bitów w zapisie binarnym liczb rzeczywistych stałoprzecinkowych (słowo 16 bitowe) - zakres: -128. 0000. . . +127. 99609375

Liczby rzeczywiste stałoprzecinkowe 2 Zapis 1. 15 oznacza 0 bitów części całkowitej (1 bit

Liczby rzeczywiste stał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 3 b. Przykładowe wartości (wagi) bitów w zapisie binarnym liczb rzeczywistych stałoprzecinkowych (słowo 16 bitowe) - zakres: -1. 00000. . . +0. 999969482421875