wyklad 1

background image

1

Mikroprocesory i procesory
sygnałowe

cz. I – Procesory „klasyczne”

Historia procesorów, porównanie procesorów CISC i RISC

Model programowy procesorów Intel x86.

Koprocesor.

Rozszerzenia MMX, SIMD

Architektury von Neumanna, Harvard

Rodziny procesorów: VLIW, EPIC, ARM, PowerPC, MIPS

cz. II – Procesory sygnałowe

Jednostki obliczeniowe stało- i zmiennoprzecinkowe

Specjalizowane jednostki MAC, SHIFTER, DAG

Mechanizmy programowe procesora DSP, konstrukcja

podstawowych algorytmów, optymalizacja kodu

Typowe algorytmy przetwarzania sygnałów:

Transformata Fouriera, Filtry cyfrowe, Zagadnienia sztucznej

inteligencji

Budowa i elementy składowe systemu mikroprocesorowego.

background image

2

Warunki uzyskania zaliczenia:

Obecność na ćwiczeniach (maksymalnie 2
nieusprawiedliwione nieobecności)

Pozytywna ocena z ćwiczeń (w tym 2 prace
kontrolne)

Obecność na laboratoriach i wykonanie
pełnego zestawu ćwiczeń (sprawozdania
oceniane indywidualnie).

background image

3

Literatura i materiały:

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

Czasopisma specjalistyczne i popularnonaukowe

Podręczniki i materiały firmowe („Data Sheets”, „Programming

Manuals”, „Application Notes”) do omawianych procesorów

Książki dotyczące podstaw cyfrowego przetwarzania sygnałów

– wybrane rozdziały

background image

4

Wykład 1

Przetwarzanie sygnałów analogowych
przez system cyfrowy

Y

-A

xi

s

t[s]

Y

-A

xi

s

X-Axis

background image

Cyfrowa reprezentacja

sygnałów analogowych:

systemy liczenia: binarny i szesnastkowy

liczby rzeczywiste stałoprzecinkowe
i zmiennoprzecinkowe

podstawowe operacje arytmetyczno-
logiczne procesorów

background image

System dziesiętny

Cyfry mogą przyjmować dziesięć różnych wartości:

0,1..9
 
12 = 2*1 + 1*10 = 2*10

0

+ 1*10

1

+ 0*10

2

+ ...

012 = 2*10

0

+ 1*10

1

+ 0*10

2

+ ... = 12

System binarny

Cyfry mogą przyjmować tylko jedną z dwóch wartości:

0

lub

1

 
1100b = 0*2

0

+ 0*2

1

+ 1*2

2

+ 1*2

3

+ ... =

0*1

+ 0*2

+ 0*4

+ 0*8

= 12 (dec) 

numer bitu

7 6 5 4 3 2 1 0

wartość

2

7

2

6

2

5

2

4

2

3

2

2

2

1

2

0

j.w.

128 64 32 16 8 4 2 1

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

background image

System binarny

Minimalna liczba w zapisie binarnym dla słowa 4-
bitowego wynosi:

 
0000b = 0*2

0

+ 0*2

1

+ 0*2

2

+ 0*2

3

= 0 (dec)

 

... natomiast maksymalna:

 
1111b = 1*2

0

+ 1*2

1

+ 1*2

2

+ 1*2

3

=

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

background image

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

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

background image

LICZBĘ UJEMNĄ

ZAPISUJE SIĘ W SYSTEMIE

U2

ZAPISUJĄC JEJ WARTOŚĆ BEZWZGLĘDNĄ W POSTACI
BINARNEJ, PO CZYM ZAMIENIAJĄC WSZYSTKIE BITY
NA PRZECIWNE (U1) ORAZ DODAJĄC LICZBĘ „

1”

przykład: zapis liczby –12 w systemie U2:

zapis binarny wartości bezwzględnej 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)

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

background image

...

i odwrotnie:

WARTOŚĆ BEZWZGLĘDNĄ

LICZBY

UJEMNEJ OBLICZA SIĘ ZAMIENIAJĄC WSZYSTKIE BITY
NA PRZECIWNE (U1) A NASTEPNIE DODAJĄC LICZBĘ „

1”

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 C=1 (Carry)

Uwaga !

System ten jest najczęściej używany w praktyce

ze względu na prostotę przeprowadzania operacji
arytmetycznych.

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

background image

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)

background image

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

System szesnastkowy
(hexadecymalny)

numer cyfry

3

2 1 0

wartość

16

3

16

2

16

1

16

0

j.w.

4096 256 16 1

Tabela 2. Wagi cyfr systemu szesnastkowego

background image

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 widoczna

0100110011111100b == 0100 1100 1111 1100b = 4CFCh

System szesnastkowy

background image

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

background image

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

2

background image

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)

Podstawowe operacje
arytmetyczno-logiczne mikroprocesorów

3

background image

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 000

0h

(łączny wynik

20000h

)

 

Podstawowe operacje
arytmetyczno-logiczne mikroprocesorów

4

background image

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 = (30205h/100h)
;DX = 5 (reszta z dzielenia)

 

Podstawowe operacje
arytmetyczno-logiczne mikroprocesorów

5

background image

Iloczyn logiczny (

AND

) :

mov dx,11000011b
and 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

background image

Suma logiczna (

OR

) :

mov ax,11000011b
or 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

background image

Funkcja

EXOR

:

mov ax,11000011b
exor 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

background image

Przesuwanie bitów
logiczne:

SHR,SHL:

Podstawowe operacje
arytmetyczno-logiczne mikroprocesorów

Arytmetyczne:
SAR,SAL:

background image

Przesuwanie bitów:

ROR,ROL

Podstawowe operacje
arytmetyczno-logiczne mikroprocesorów

background image

Przesuwanie bitów:

ROR,ROL

- przykład

;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

Podstawowe operacje
arytmetyczno-logiczne mikroprocesorów


Document Outline


Wyszukiwarka

Podobne podstrony:
Napęd Elektryczny wykład
wykład5
Psychologia wykład 1 Stres i radzenie sobie z nim zjazd B
Wykład 04
geriatria p pokarmowy wyklad materialy
ostre stany w alergologii wyklad 2003
WYKŁAD VII
Wykład 1, WPŁYW ŻYWIENIA NA ZDROWIE W RÓŻNYCH ETAPACH ŻYCIA CZŁOWIEKA
Zaburzenia nerwicowe wyklad
Szkol Wykład do Or
Strategie marketingowe prezentacje wykład
Wykład 6 2009 Użytkowanie obiektu
wyklad2
wykład 3
wyklad1 4
wyklad 5 PWSZ

więcej podobnych podstron