26
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

Mikroprocesory i procesory sygnałowe

  • Upload
    keona

  • View
    58

  • Download
    1

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Mikroprocesory i procesory sygnałowe

Mikroprocesory i procesory sygnałoweTematyka

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.

Page 2: Mikroprocesory i procesory sygnałowe

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

Page 3: Mikroprocesory i procesory sygnałowe

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

Page 4: Mikroprocesory i procesory sygnałowe

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

CPU

Y-A

xis

t[s]

Y-A

xis

X-Axis

Page 5: Mikroprocesory i procesory sygnałowe

Cyfrowa reprezentacja sygnałów analogowych:

systemy liczenia: binarny i szesnastkowy

liczby rzeczywiste stałoprzecinkowe i zmiennoprzecinkowe

podstawowe operacje arytmetyczno-logiczne procesorów

Page 6: Mikroprocesory i procesory sygnałowe

Przetwarzanie sygnałów analogowych przez system cyfrowy

CPU

Y-A

xis

t[s]

Y-A

xis

X-Axis

Page 7: Mikroprocesory i procesory sygnałowe

System dziesiętnyCyfry 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

System binarnyCyfry 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) 

Tabela 1. Wartości (wagi) bitów w zapisie binarnym 

numer bitu 7 6 5 4 3 2 1 0

wartość 27 26 25 24 23 22 21 20

j.w. 128 64 32 16 8 4 2 1

Tabela 1. Wartości (wagi) bitów w zapisie binarnym

Page 8: Mikroprocesory i procesory sygnałowe

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

Page 9: Mikroprocesory i procesory sygnałowe

LICZBY UJEMNE MAJĄ ZAMIENIONE WSZYSTKIE BITY NA PRZECIWNE

00001100b = +1211110011b = -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 = +011111111b = -0

Uwaga 2:Zakres liczb ulega zmianie z 0..255 na -127...-0,+0,...+127

Zapis liczb ujemnych – system uzupełnień do jedynki (U1)

Page 10: Mikroprocesory i procesory sygnałowe

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) = 00001100b2     11110011b3 +00000001b ========== 11110100b = -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 (U2)

Page 11: Mikroprocesory i procesory sygnałowe

... i odwrotnie1. 11110100b = -122.              00001011b3.              +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 praktyceze względu na prostotę przeprowadzania operacji arytmetycznych.

Zapis liczb ujemnych – system uzupełnien do dwóch (U2)

Page 12: Mikroprocesory i procesory sygnałowe

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.

Zapis liczb ujemnych – zastosowanie przesunięcia zakresu (offsetu)

Page 13: Mikroprocesory i procesory sygnałowe

Cyfry mogą przyjmować tylko jedną z szesnastupostaci: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

System szesnastkowy (hexadecymalny)

numer cyfry 3 2 1 0

wartość 163 162 161 160

j.w. 4096 256 16 1

Tabela 2. Wagi cyfr systemu szesnastkowego

Page 14: Mikroprocesory i procesory sygnałowe

Inny przykład:  1278h = 1*4096 + 2*256 + 7*16 + 8*1 = 4728 Uwaga 1 Liczby szesnastkowe mogą być oznaczane również przez 0x1278 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) = 00001100b == 0000 1100b = 0Ch-12 (dec) = 11110100b == 1111 0100b = F4h Dla większych liczb, np. 16-bitowych korzyść z takiego zapisu jest od razu widoczna0100110011111100b == 0100 1100 1111 1100b = 4CFCh

System szesnastkowy

Page 15: Mikroprocesory i procesory sygnałowe

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)

Podstawowe operacje arytmetyczno-logiczne mikroprocesorów

1

Page 16: Mikroprocesory i procesory sygnałowe

odejmowanie (SUB)

mov EAX,10 ;wpisanie do rejestru EAX liczby 10sub 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

2

Page 17: Mikroprocesory i procesory sygnałowe

inwersja bitów (NOT)- tak jak w systemie uzupełnień do jedynki U1

mov EAX,12 ;wpisanie do rejestru EAX liczby 12NOT EAX

negacja liczby (NEG) – system uzupełnień do dwóch (U2) W=(NOT A) +1

mov EAX,12 ;wpisanie do rejestru EAX liczby 12NEG EAX

;w EAX jest –12 (U2)

Podstawowe operacje arytmetyczno-logiczne mikroprocesorów

3

Page 18: Mikroprocesory i procesory sygnałowe

mnożenie liczb (MUL) :

- wynik ma dwa razy więcej bitów niż składniki mnożenia (wynik zawsze w DX:AX)

mov ax,2000hmov bx,10hmul bx

 po wykonaniu mnożenia w rejestrze DX znajdzie się liczba 2h, a w AX liczba 0000h (łączny wynik 20000h) 

Podstawowe operacje arytmetyczno-logiczne mikroprocesorów

4

Page 19: Mikroprocesory i procesory sygnałowe

dzielenie liczb (DIV) :

dzielna w DX:AX

wynik w postaci: część całkowita (AX) i reszta (DX) 

mov dx,3hmov ax,205hmov bx,100hdiv bx ;AX = 302h = (30205/100h)

;DX = 5 (reszta z dzielenia) 

Podstawowe operacje arytmetyczno-logiczne mikroprocesorów

5

Page 20: Mikroprocesory i procesory sygnałowe

Iloczyn logiczny (AND) :

mov dx,11000011band dx,11110000b

;w dx będzie 11000000b

Podstawowe operacje arytmetyczno-logiczne mikroprocesorów

6

AND

A 0 1 0 1 B 0 0 1 1 W 0 0 0 1

Page 21: Mikroprocesory i procesory sygnałowe

Suma logiczna (OR) :

mov ax,11000011bor ax,11110000b

;w ax będzie 11110011b

Podstawowe operacje arytmetyczno-logiczne mikroprocesorów

7

OR

A 0 1 0 1 B 0 0 1 1 W 0 1 1 1

Page 22: Mikroprocesory i procesory sygnałowe

Funkcja EXOR:

mov ax,11000011bexor ax,11110000b

;w ax będzie 00110011b

Podstawowe operacje arytmetyczno-logiczne mikroprocesorów

8

XOR

A 0 1 0 1 B 0 0 1 1 W 0 1 1 0

Page 23: Mikroprocesory i procesory sygnałowe

Przesuwanie bitów SHR,SHL:

;wartość początkowa C=0

mov ax,11000011bshr ax,1

01100001b ;po wykonaniu C=1

Podstawowe operacje arytmetyczno-logiczne mikroprocesorów

9

Page 24: Mikroprocesory i procesory sygnałowe

Przesuwanie bitów ROR,ROL:

;wartość początkowa C bez znaczenia

mov ax,11000011bror ax,1

11100001b ;po wykonaniu C=1

;przesunięcie o trzy polamov ax,11000011bror ax,3

01111000b ;po wykonaniu C=0

Podstawowe operacje arytmetyczno-logiczne mikroprocesorów

10

Page 25: Mikroprocesory i procesory sygnałowe

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

Liczby rzeczywiste stałoprzecinkowe1

numer bitu

7 6 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7 -8

wartość +1/ -1

26 25 24 23 22 21 20 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8

j.w. bit znaku

64 32 16 8 4 2 1 1/2 1/4 1/8 1/16 1/32 1/64 1/128 1/256

Page 26: Mikroprocesory i procesory sygnałowe

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

Liczby rzeczywiste stałoprzecinkowe 2

numer bitu

0 -1 -2 -3 -4 -5 -6 -7 -8 -9 ... -15

wartość +1/ -1

2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 2-9 2-15

j.w. bit znaku

1/2 1/4 1/8 1/16 1/32 1/64 1/128 1/256 1/512 1/32768