1 / 13

SINTESI DI IMMAGINI FRATTALI ATTRAVERSO CALCOLI IN MULTITHREAD SU DIOPSIS 740

SINTESI DI IMMAGINI FRATTALI ATTRAVERSO CALCOLI IN MULTITHREAD SU DIOPSIS 740. Referenti: Prof. Anna Antola Ing. Marco Domenico Santambrogio Candidato: Falcetti Massimo matr. 659164. A.A. 2005/2006. Obiettivi. Partecipazione al DIOPSIS 740 – DSP Contest 2005

faith-hull
Download Presentation

SINTESI DI IMMAGINI FRATTALI ATTRAVERSO CALCOLI IN MULTITHREAD SU DIOPSIS 740

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SINTESI DI IMMAGINI FRATTALI ATTRAVERSOCALCOLI IN MULTITHREAD SU DIOPSIS 740 Referenti: Prof. Anna Antola Ing. Marco Domenico Santambrogio Candidato: Falcetti Massimo matr. 659164 A.A. 2005/2006

  2. Obiettivi • Partecipazione al DIOPSIS 740 – DSP Contest 2005 • Studio dell’architettura del D740 • Scelta di un’applicazione che sfrutti l’architettura e ne esalti le qualità di multithreading (processori disaccoppiati) • Applicazione di test per il profiling (Scelta partizionamento) – In C standard • Ideazione algoritmo per l’architettura del D740 • Scambio di valori float tra le due CPU (non previsto dall’architettura) • Metodo di sincronizzazione tra i due processori (coda ciclica) • Analisi dei risultati ottenuti - Falcetti Massimo –

  3. Diopsis 740 OverviewDual inter operating processors for silicon systems • Struttura biprocessore dotata di una normale CPU RISC a 32 bit (ARM), accoppiata ad un DSP - VLIW (mAgic) ottimizzato per lavorare in campo complesso e con numeri floating point a 40 bit. - Falcetti Massimo –

  4. 32K ARM ArmSystem Memory Amba ASB mAAr Shared Memory Data Memory 8Kx128 bit (6k+6k) x 40 bit mAgicDSPcore Program Double Bank Memory Double Port mAgicFunzionamento: RUN MODE – SYSTEM MODE RUN MODE – effettivo funzionamento di mAgic (accesso da parte di mAgic della sola memoria PARM) SYSTEM MODE – mAgic in attesa - Falcetti Massimo –

  5. Scambio di float tra ARM e mAgic Lettura da ARM di un float di mAgic  NON PREVISTO DALL’ARCHITETTURA Recupero puntatore a cella base Cast al tipo di dato opportuno Conversione puntatore a long long* (x avere il mappaggio come sopra) Unione delle due parti e shift a destra di 8 posizioni Aggiunta dell’offset della cella a cui accedere Recupero del valore delle due word - Falcetti Massimo –

  6. Fractal request System User JTST Board ARM mAgic USB USB Bitmap L’Applicazione – schema ideale • Richiesta immagine frattale da PC a JTST (via USB) • Presa in carico della richiesta da parte della scheda JTST (ARM gestisce le connessioni) • Calcolo frattale secondo i parametri richiesti (mAgic + ARM) • Invio dei dati elaborati (immagine bitmap) al chiamante (via USB) • NB – note reale implementazione - Falcetti Massimo –

  7. RESISTOR NETWORK RESISTOR NETWORK 3.3V LED GND TP11 RESISTOR NETWORK 7-SEG DISPLAY EXT PSU CONN PIO CONN USART 0 CONN USART 1 CONN LED BUFF RST BUTTON IRQ BUTTON JP8 JP9 SSRAM MAGIC DATA L 128Kx36 RST BUFF VREG 5-3.3 POW-ON RST VREG 5-1.8 DIP SWITCH RS 232 BUFF RS 232 BUFF D-9 RS232 CONN D-9 RS232 CONN M-ICE JTAG CONN FLASH ARM PRG 1Mx16 JP5 TP3 TP2 TP1 TP9 USARTs RST PIO XMA Diopsis 740 JP4 XMD[15:0] RESISTOR NETWORK ARMD TP5 JP6 XMD[55:40] SRAM ARM DATA L 128Kx8 SSRAM MAGIC DATA H 128Kx36 25 MHz OSC PLL XMD[31:16] JP7 CLKs CNTRLs ICE TP4 ARMC EXTCLK CONN JP1 XMD[71:56] ARMA SRAM ARM DATA H 128Kx8 CLK DIV XMD[39:32] JP10 JP2 ADDA TP8 SPIs XMD[79:72] JP3 TP7 SSRAM MAGIC DATA E 128Kx36 CLK DIV 6 MHz TP6 RESISTOR NETWORK RESISTOR NETWORK SPI-1 CONN ADDA BUFF JP11 USB CNTRL USB LED RESISTOR NETWORK SPI-0 CONN USB CONN CODEC CODEC CODEC CODEC TP10 GND AUDIO OUT CONN AUDIO IN CONN AUDIO OUT CONN AUDIO IN CONN AUDIO OUT CONN AUDIO IN CONN AUDIO IN CONN AUDIO OUT CONN Scheda di sviluppo JTST su cui è implementata l’applicazione Porta seriale • Periferiche utilizzate per l’implementazione di questa applicazione • Presenza di altri componenti per adattare la scheda a qualsiasi utilizzo USB Chip Diopsis 740 - Falcetti Massimo –

  8. Sincronizzazione – Coda Ciclica punt ARM = punt mAgic ARM  Run, mAgic  Wait (mAgic non ha ancora pronti i dati da processare perché ARM non ha ancora terminato l’inserimento dei valori in memoria) |Punt ARM| > |Punt mAgic| ARM  Run, mAgic  Run Questa è la condizione normale di operatività: ARM riempie le pagine vuote della memoria ciclica e mAgic esegue la computazione matematica, che essendo molto dispendiosa, lo fa rimanere sempre qualche cella di memoria indietro. |Punt ARM| <> |Punt mAgic| (DISCORDI) ARM è una pagina avanti a mAgic. Anche in questa situazione il funzionamento delle CPU è quello normale poiché entrambi i processori hanno qualcosa da fare. ARM  Run, mAgic  Run |Punt ARM| = |Punt mAgic| (DISCORDI) ARM ha raggiunto la cella di memoria che mAgic sta elaborando, è stato quindi così veloce da essere esattamente una pagina avanti rispetto al DSP. ARM  Wait, mAgic  Run - Falcetti Massimo –

  9. ARM D mapping F Color + Write Partizionamento 1 • Possibilità di due partizionamenti dell’algoritmo sulle due cpu a disposizione. Cambia la cpu che esegue il mappaggio dei punti del piano complesso. • PRIMO METODO: • Apertura canale di comunicazione (da parte dell’ARM) • Generazione dell’header della bitmap (ARM) • Generazione della palette per la bitmap (ARM) • Mappaggio di ciascun pixel nel piano complesso (ARM) • Calcolo effettivo del frattale (mAgic) • Determinazione del colore per ogni pixel (ARM) • Chiusura del canale di comunicazione (ARM) Im mAgic Re Shared mem used as FIFO Fractal calc E Bitmap - Falcetti Massimo –

  10. Partizionamento 2 • SECONDO METODO: • Apertura canale di comunicazione (da parte dell’ARM) • Generazione dell’header della bitmap (ARM) • Generazione della palette per la bitmap (ARM) • Mappaggio di ciascun pixel nel piano complesso (mAgic) • Calcolo effettivo del frattale (mAgic) • Determinazione del colore per ogni pixel (ARM) • Chiusura del canale di comunicazione (ARM) Im mAgic D mapping ARM Re Shared mem used as FIFO Fractal calc E F Color + Write Bitmap - Falcetti Massimo –

  11. Confronto prestazioni Il primo metodo di partizionamento, quello cioè che lascia la fase di mapping dei pixel ad ARM, risulta leggermente più rapido se l’algoritmo prevede un alto numero di iterazioni per uscire dal cerchio di raggio 2, e quindi un’elevata precisione nella creazione dell’immagine bitmap. Il secondo metodo di partizionamento, invece, permette una miglior precisione nei calcoli. In questo caso infatti i valori float calcolati nella fase di mapping hanno una precisione calcolata su 40 bit (32 bit nel caso di mappaggio da parte di ARM). Scelta metodo in base alle esisgenze - Falcetti Massimo –

  12. Stato Attuale e Lavori futuri • STATO ATTUALE: • Visualizzazione bitmap a mezzo di printf e predisposizione del codice alla comunicazione USB • Possibilità di eseguire l’algoritmo nei due metodi di sincronizzazione, ma anche esclusivamente su ARM • LAVORI FUTURI: • Implementazione completa della comunicazione USB con le nuove librerie funzionanti fornite da ATMEL - Falcetti Massimo –

  13. Fine presentazione - Falcetti Massimo –

More Related