Mikroprocesory i procesory sygnałowe

Slides:



Advertisements
Podobne prezentacje
Adresy IP.
Advertisements

UKŁADY ARYTMETYCZNE.
Wykład 6: Stałoprzecinkowe mikroprocesory sygnałowe: architektura
Mikroprocesory i procesory sygnałowe
Język asemblera Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
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,
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
Wprowadzenie do informatyki Wykład 5
SYSTEMY LICZBOWE.
Mechanika dzielenia na podsieci. Wykład 6
ARCHITEKTURA WEWNĘTRZNA KOMPUTERA
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
Złożone układy kombinacyjne
Programowanie Niskopoziomowe
WYKŁAD 3 Temat: Arytmetyka binarna 1. Arytmetyka binarna 1.1. Nadmiar
Dwójkowy system liczbowy
Temat: Liczby całkowite
T. 3. Arytmetyka komputera. Sygnał cyfrowy, analogowy
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
System dwójkowy (binarny)
Liczby naturalne i całkowite Wykonanie: Aleksandra Jurkowska Natalia Piłacik Paulina Połeć Klasa III a Gimnazjum nr 1 w Józefowie Ul. Leśna 39 O5 – 420.
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.
Elementy cyfrowe i układy logiczne
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Podstawy Informatyki.
Technika Mikroprocesorowa 1
Wstęp do Informatyki - Wykład 6
Podział mikroprocesorów
Zapis prezentacji:

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.

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

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

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

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 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) 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) ... 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 – 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 = (30205h/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

Podstawowe operacje arytmetyczno-logiczne mikroprocesorów Przesuwanie bitów logiczne: SHR,SHL: Arytmetyczne: SAR,SAL:

Podstawowe operacje arytmetyczno-logiczne mikroprocesorów Przesuwanie bitów: ROR,ROL

arytmetyczno-logiczne mikroprocesorów Podstawowe operacje arytmetyczno-logiczne mikroprocesorów 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 ror ax,3 01111000b ;po wykonaniu C=0