Mikroprocesory i procesory sygnałowe

Slides:



Advertisements
Podobne prezentacje
Adresy IP.
Advertisements

A.Skorupski „Podstawy budowy i działania komputerów” (Warszawa 2000)
UKŁADY ARYTMETYCZNE.
Operacje zmiennoprzecinkowe
Język asemblera Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Michał Łasiński Paweł Witkowski
Metody numeryczne Wykład no 1.
CPU.
Lista rozkazów Działanie mikroprocesora jest kontrolowane poprzez rozkazy (instrukcje). Dla każdego typu mikroprocesora istnieje specyficzny zbiór rozkazów,
Materiały pochodzą z Platformy Edukacyjnej Portalu Wszelkie treści i zasoby edukacyjne publikowane na łamach Portalu
Reprezentowanie i przetwarzanie informacji przez człowieka i komputer. Patrycja Białek.
Liczby w Komputerze Zajęcia 3.
Liczby wokół nas A. Cedzidło.
Wykład 7: Zmiennoprzecinkowe mikroprocesory sygnałowe firmy Analog Devices: zastosowania i rodziny architektura podstawowe operacje ALU.
Wykład 2: Liczby rzeczywiste (stało i zmiennoprzecinkowe) Koprocesor
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 4: Wyrażenia i operatory. Podstawowe instrukcje języka.
Podstawowe składniki funkcjonalne procesora i ich rola.
B. znaki alfabetu D. obrazy
Systemy liczbowe w architekturze komputerów materiał do wykładu 1/3
SYSTEMY LICZBOWE.
Mechanika dzielenia na podsieci. Wykład 6
ARCHITEKTURA WEWNĘTRZNA KOMPUTERA
Mikroprocesory i procesory sygnałowe
dr Anna Kwiatkowska Instytut Informatyki
Zapis informacji Dr Anna Kwiatkowska.
Reprezentacje - zmiennoprzecinkowa
Elektronika cyfrowa i mikroprocesory
Systemy liczbowe.
Kod Graya.
Technika Mikroprocesorowa 1
Technika Mikroprocesorowa 1
opracowanie: Agata Idczak
Technika Mikroprocesorowa 1
Informatyka I Język ANSI C
Cyfrowe układy logiczne
Architektura komputerów
Architektura systemów komputerowych (zima 2013)
ZASADY PODZIAŁU SIECI NA PODSIECI, OBLICZANIA ADRESÓW PODSIECI,
Systemy liczbowe.
Systemy Liczenia - I Przez system liczbowy rozumiemy sposób zapisywania i nazywania liczb. Rozróżniamy: pozycyjne systemy liczbowe i addytywne systemy.
Liczby całkowite dodatnie BCN
Posługiwanie się systemami liczenia
Architektura Systemów Komputerowych
Stało- i zmiennopozycyjna reprezentacja liczb binarnych
URZĄDZENIA TECHNIKI KOMPUTEROWEJ
Matematyka i system dwójkowy
Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne
Systemy operacyjne i sieci komputerowe
Stało- i zmiennopozycyjna reprezentacja liczb binarnych
Złożone układy kombinacyjne
Podstawy arytmetyki komputerowej Paweł Perekietka
Programowanie Niskopoziomowe
WYKŁAD 3 Temat: Arytmetyka binarna 1. Arytmetyka binarna 1.1. Nadmiar
Dwójkowy system liczbowy
T. 3. Arytmetyka komputera. Sygnał cyfrowy, analogowy
Danuta Stanek KODOWANIE LICZB Systemy liczenia III.
Podstawy Techniki Cyfrowej
Systemy liczenia IV Kodowanie i kody Danuta Stanek.
Działania w zbiorze liczb całkowitych
Zasady arytmetyki dwójkowej
METODY REPREZENTOWANIA IFORMACJI
INFORMATYKA Zajęcia organizacyjne Arytmetyka komputerowa
Liczby naturalne i całkowite Spis treści Definicje Działania na liczbach Wielokrotności liczb naturalnych Cechy podzielności Przykłady potęg,potęgi o.
Liczbami naturalnymi nazywamy liczby 0,1,2,3,..., 127,... Liczby naturalne poznaliśmy już wcześniej; służą one do liczenia przedmiotów. Zbiór liczb.
URZĄDZENIA TECHNIKI KOMPUTEROWEJ Zapis liczb binarnych ze znakiem.
Podstawy Informatyki.
Technika Mikroprocesorowa 1
Wstęp do Informatyki - Wykład 6
Podział mikroprocesorów
Zapis prezentacji:

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.

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, 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

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

System dziesiętny System binarny 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) 

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

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

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)

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 ze względu na prostotę przeprowadzania operacji arytmetycznych.

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

dodawanie z przeniesieniem (ADC) 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)

odejmowanie z pożyczką (SBB) 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

3 inwersja bitów (NOT) negacja liczby (NEG) 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 NEG EAX ;w EAX jest –12 (U2)

4 mnożenie liczb (MUL) : 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)

dzielenie liczb (DIV) : 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)

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

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

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

9 Przesuwanie bitów SHR,SHL: 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

10 Przesuwanie bitów ROR,ROL: 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 ror ax,3 01111000b ;po wykonaniu C=0

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 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ł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