Wykład 6: Stałoprzecinkowe mikroprocesory sygnałowe: architektura

Slides:



Advertisements
Podobne prezentacje
Architektura systemów komputerowych
Advertisements

UKŁADY ARYTMETYCZNE.
Wykonał : Marcin Sparniuk
Wykład 3: Jak działa typowy mikroprocesor?
Mikroprocesory i procesory sygnałowe
Technika mikroprocesorowa
Języki programowania C++
CPU.
Lista rozkazów Działanie mikroprocesora jest kontrolowane poprzez rozkazy (instrukcje). Dla każdego typu mikroprocesora istnieje specyficzny zbiór rozkazów,
Architektura szynowa systemu mikroprocesorowego szyna danych szyna sterująca szyna adresowa µP szyna danych szyna adresowa D7,..., D1, D0 A15,..., A1,
1 RISC – nasze założenia Podstawowe cechy: Wszystkie operacje są realizowane na rejestrach, Tylko operacje typu load i store wymagają dostępu do pamięci,
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
Procesor DSP Sharc ADSP21161 firmy Analog Devices
Wykład 5: Mikroprocesory sygnałowe -wstęp: zastosowania i rodziny
Podstawowe informacje dotyczące programowania systemów wbudowanych
Wykład 5 Przerwania w systemie SAB80C537 dr inż. Andrzej Przybył
Podstawowe składniki funkcjonalne procesora i ich rola.
Budowa komputera Wstęp do informatyki Wykład 6 IBM PC XT (1983)
Od algebry Boole’a do komputera
Projektowanie cyfrowych systemów w oparciu o układy (VLSI i) PLD
Programowanie Procesorów Sygnałowych
ZASTOSOWANIE PROCESORÓW SYGNAŁOWYCH
Wykład 3: Adresowanie i jednostki obliczeniowe w ADSP 21161N
Wykład 5: Program Sequencer i struktura pamięci
Wykład 4: Podstawowe operacje ALU, MACC, SHIFTER i DAG
Magistrala & mostki PN/PD
Komputer, procesor, rozkaz.
Temat nr 10: System przerwań
ARCHITEKTURA WEWNĘTRZNA KOMPUTERA
Mikroprocesory i procesory sygnałowe
Wykład 2: Jak działa typowy mikroprocesor? Budowa procesora rodziny Intel80x86 Architektury CISC i RISC Instrukcje skoków warunkowych Stos Instrukcje operujące.
Mikroprocesory i mikrokontrolery
Elektronika cyfrowa i mikroprocesory
Architektura komputerów
przykładowy 8-bitowy mikroprocesor uniwersalny CISC
Technika Mikroprocesorowa 1
Technika Mikroprocesorowa 1
MCS51 - wykład 6.
Architektura komputerów
(Instruction Unit)dekoder
Funkcje logiczne i ich realizacja. Algebra Boole’a
Cyfrowe układy logiczne
Wyrażenia w Turbo Pascalu.
Architektura komputerów
Zasada działania komputera
Mikroprocesory mgr inż. Sylwia Glińska.
Architektura systemów komputerowych (jesień 2013)
Budowa i rodzaje procesorów.
Mikroprocesory.
Mikroprocesory mgr inż. Sylwia Glińska.
Instrukcja warunkowa i wyboru
Architektura PC.
Procesor – charakterystyka elementów systemu. Parametry procesora.
Złożone układy kombinacyjne
WYKŁAD 3 Temat: Arytmetyka binarna 1. Arytmetyka binarna 1.1. Nadmiar
Własności bramek logicznych RÓZGA DARIUSZ 20061
Procesor, pamięć, przerwania, WE/WY, …
Budowa komputera Wstęp do informatyki Wykład 6 IBM PC XT (1983)
Struktura wewnętrzna mikrokontrolera zamkniętego
Od algebry Boole’a do komputera Copyright, 2007 © Jerzy R. Nawrocki Wprowadzenie.
Zasady arytmetyki dwójkowej
Układy i systemy mikroprocesorowe
Architektura systemów komputerowych (jesień 2015) Wykład 5 Budowa i działanie komputera dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki.
Tryby adresowania i formaty rozkazów mikroprocesora
Sumator i półsumator.
POLITECHNIKA POZNAŃSKA WBMiZ Zakład Urządzeń Mechatronicznych STEROWNIKI URZĄDZEŃ MECHATRONICZNYCH
Wstęp do Informatyki - Wykład 6
Mikrokontrolery System przerwań
Wykład 3: Adresowanie i jednostki obliczeniowe w ADSP 21161N
Zapis prezentacji:

Wykład 6: Stałoprzecinkowe mikroprocesory sygnałowe: architektura podstawowe operacje

Rodziny procesorów sygnałowych stałoprzecinkowe (16-bitowe): ADSP21xx zmiennoprzecinkowe (32-bitowe): ADSP21xxx dedykowane (stałoprzecinkowe, 16-bitowe): ADMCx01, ADMC2199x Na przykładzie DSP firmy Analog Devices

Rozwój serii 21xx

Architektura jednego z modeli serii ADSP21xx - elementy składowe: ALU - operacje arytmetyczno-logiczne MAC - jednostka „mnóż i dodawaj” SHIFTER - przesuwanie bitów (skalowanie -zmiana zakresu liczb) DAG#1/2 - adresowanie pamięci danych i pamięci programu PROGRAM i DATA MEMORY - pamięci 24 i 16 bitowe (arch. Harvard) elementy I/O (wejścia wyjścia) i peryferia : porty szeregowe, flagi I/O, timer, ...

Jednostka ALU (21xx) Jednostka ALU jes 16-bitowa z dwoma wejściami X i Y i jednym wyjściem R Rejestry wejściowe X (AX0, AX1), Y(AY0, AY1) oraz wyjściowe R (AR)- mają swoje rejestry cienie W operacjach ALU uwzględniona zostaje wejście CI (AC) - z rejestru ASTAT - możliwość operacji wielokrotnej precyzji W wyniku działania odpowiednio ustawiane są bity w rejestrrze statusowym (ASTAT): zero (AZ), negacja (AN), przeniesienie/pożyczka (AC), przepełnienie (AV), znak wejścia X (AS) i (AQ) status ilorazu Wynik operacji ALU jest zapamiętywany w rejestrach AR (result) lub AF (feedback) Rejestr AF jest rejestrem wewnętrznym umozliwiającym użycie wyniku bezpośrednio jako jedno z wejść (wejście Y) Rejestr AR może zostać przesłany na magistralę R-BUS lub magistralę DMD-BUS oraz załadowany z magistrali DMD-BUS

Jednostka ALU (21xx) Zakres liczb w stosowanym zapisie 1.15 Możliwe źródła dla wejść X i Y oraz podłączenie wyjscia X Y R AX0, AX1 AY0, AY1 AR AR AF AF MR0, MR1, MR2 SR0, SR1 Zakres liczb w stosowanym zapisie 1.15 Interpretacja flag AV i AC

Jednostka ALU (21xx) - dozwolone operacje R = X + Y Add X and Y operands R = X + Y + CI Add X and Y operands and carry-in bit R = X – Y Subtract Y from X operand R = X – Y + CI - 1 Subtract Y from X operand with “borrow” R = Y – X Subtract X from Y operand R = Y – X + CI - 1 Subtract X from Y operand with “borrow” R = – X Negate X operand (twos-complement) R = – Y Negate Y operand (twos-complement) R = Y + 1 Increment Y operand R = Y – 1 Decrement Y operand R = PASS X Pass X operand to result unchanged R = PASS Y Pass Y operand to result unchanged R = 0 (PASS 0) Clear result to zero R = ABS X Absolute value of X operand R = X AND Y Logical AND of X and Y operands R = X OR Y Logical OR of X and Y operands R = X XOR Y Logical Exclusive OR of X and Y operands R = NOT X Logical NOT of X operand (ones-complement) R = NOT Y Logical NOT of Y operand (ones-complement)

Jednostka MAC (21xx) - Dwa 16-bitowe wejścia X,Y - Wynik mnożenia w postaci 32-bitowej R - Wynik podawany jest na wejście 40-bitowej jednostki dodająco/odejmującej. Gdy wynik wykracza poza zakres 32-bitowy - ustawiany jest bit MV (rejestr ASTAT). Rejestry wejściowe X (AX0, AX1), Y(AY0, AY1) oraz wyjściowe MF, MR oba zestawy mają swoje rejestry cienie - Wynik przechowywany jest w rejestrze 40-bitowym MR== MR2 (8-bitów), MR1(16bitów), MR0(16bitów) - Wynik może być podany na wejście Y (poprzez 16-bitowy rejestr MF) - Wszystkie rejestry mogę być odczytywane lub zapisywane w tym samym czasie (podobnie w ALU)

Jednostka MAC (21xx) MAC - przepełnienie i nasycanie się wyniku Żródła dla wejść i wyjść X Y R MX0, MX1 MY0, MY1 MR (MR2, MR1, MR0) AR MF MF MR0, MR1, MR2 SR0, SR1 MAC - przepełnienie i nasycanie się wyniku Zaokrąglanie wyniku (część ułamkowa - bity 15..0 zostaje zaokrąglona w górę lub w dół. Różne traktowanie punktu MIDPOINT Różne traktowanie tzw. punktu MIDPOINT

Jednostka MAC (21xx) - dozwolone operacje MR=X*Y Multiply X and Y operands. MR=MR+X*Y Multiply X and Y operands and add result to MR register. MR=MR–X*Y Multiply X and Y operands and subtract result from MR register. MR=0 Clear result (MR) to zero.

Jednostka SHIFTER (21xx) • Arithmetic Shift (ASHIFT) • Logical Shift (LSHIFT) • Normalize (NORM) • Derive Exponent (EXP) • Block Exponent Adjust (EXPADJ)

Operation Codes (OPCODES) - przykłady DM(I0,M0)=0x1234 DM(0x5678)=0x1234

Operation Codes (OPCODES) - przykłady DM(0x1234)=X0 Adres = 0x0000 - 0x3FFF X0=0x1234 dana = 0x0000 - 0xFFFF

Operation Codes (OPCODES) MR = MR - MX0*MY0 (RND), MX0=MY1

IF GE MR = MR - MX0*MY0 (RND) Instrukcje warunkowe IF GE MR = MR - MX0*MY0 (RND)

Operation Codes (OPCODES)

Jednostka ALU - podstawowe operacje y,a,b - liczby całkowite (stałoprzecinkowe) y = a + b - procesor 80x86 MOV AL, [0x1000] ADD AL, [0x1001] MOV [0x1002],AL jednostka ALU (21xx) AX0 = DM(0x1000) AY0 = DM(0x1001) AR = AX0 + AY0 DM(0x1002)=AR jednostka ALU (21xx) I0 = 0x1000 M0 = 0x0001 AX0 = DM(I0,M0) AY0 = DM(I0,M0) AR = AX0 + AY0 DM(I0,M0) = AR

Warunkowe operacje ALU/ MAC/ Shifter Instrukcje wykonywane warunkowo: IF warunek instrukcja Jednoczesnie wykonywane operacje: ALU, MAC, Shifter, pobranie danej z pamięci programu, pobranie danej z pamięci danych

Przykład procedury: filtr FIR

Przykład procedury: sinus

Architektura procesorów sygnałowych Rozwój serii 21xxx

Architektura procesorów sygnałowych Architektura jednego z modeli serii 210xx (Sharc)

Architektura procesorów sygnałowych Architektura modelu serii 211xx (Sharc)

Jednostka obliczeniowa procesora Tiger Sharc

Podstawowe Operacje ALU: „0” - flaga zostanie skasowana; „*” - skasowana lub ustawiona(w zależności od wyniku); „**” - może zostać tylko ustawiona lecz nie skasowana „-” - bez zmian

Operacje ALU - c.d.

Operacje FPU jednostki Tiger Sharc

Operacje FPU jednostki Tiger Sharc - c.d.