שלבי העבודה - High Speed Digital Systems Lab

advertisement
Yaron Doweck
Yael Einziger
Supervisor: Mike Sumszyk
1
‫*הצגת הבעיה‬
‫*פלטפורמה‬
CorePac overview *
KeyStone overview *
Evaluation Board *
Code Composer Studio *
‫*שלבי העבודה‬
‫*לוח זמנים‬
2
‫* הפרויקט עוסק במימוש אלגוריתם בזמן אמת‬
‫על מעבד עיבוד אותות מסוג ‪.TI C6678‬‬
‫*מימוש מקבילי על מספר ליבות ‪.‬‬
‫*ניצול יכולת העברת מידע באופן יעיל ע"י רכיב ‪.DMA‬‬
‫*שימוש באפשרויות הזיכרון הרבות –‬
‫‪SRAM L1 and L2, CACHE configuration, Shared‬‬
‫‪L2, DDR3 MEMORY‬‬
‫‪3‬‬
:‫*חומרה‬
TMS320C6678 Multicore Fixed and
Floating-Point Digital Signal Processor
.TI ‫ המתקדם ביותר של חברת‬DSP‫כרטיס ה‬
:‫*תוכנה‬
Code Composer Studio v5 with BIOS
MCSDK 2.0
‫ הכוללת סימולטור של כל‬TI ‫סביבת פיתוח של‬
.‫רכיבי הכרטיס‬
4
* 8 C66x CorePac DSP’s
* Based on TI’s Keystone Multicore Architecture
* 320 GMAC/160 GFLOP @ 1.25GHz
* 32KB L1P, 32KB L1D, 512KB L2 Per Core
* 4MB Shared L2
* 64-Bit DDR3 Interface (DDR3-1600)
5
* Fixed-Point and Floating point DSP.
* L1 Program Memory, configurable as Cache\SRAM.
* L1 Data Memory, configurable as Cache\SRAM.
* L2 Memory, configurable as Cache\SRAM.
* Internal DMA (Data transfer within the CorePac).
* External Memory Controller, a bridge from the CorePac
to the rest of the device.
* Interrupt Controller
(redirection due to interrupts or
exceptions).
6
C66x device family is based on the KeyStone MultiCore Architechture
The KeyStone includes:
* Up to 8 cores.
* MultiCore Shared Memory (L2
SRAM).
* External Memory (DDR 3)
interface.
* Virtual Address space for
each core.
* High Speed inter-core
communication.
7
,TMDXEVM6678L ‫הפרויקט יתבצע על כרטיס‬
:‫ הכרטיס מכיל‬.‫הצפוי להגיע ביוני‬
* TI C6678 Processor
* 512MB DDR3 Memory
* 128MB FLASH Memory
* Ethernet port
* LEDs and DIP switches
* Onboard JTAG emulation with USB interface
8
Core
C64x
C67x
C66x
Data type
Fixed-Point
Floating-Point
Fixed and Floating-Point
Speed
720-1000 MHz
250-350 MHz
1-1.25 GHz
GMAC/core
0.88
0.5
40
GFLOPS/core
-
2.4
20
L1 Cache
32KB
32KB
32KB L1P+32KB L1D
L2 Cache
1MB
-
512KB + 4MB shared
Board Power
3.7W@500MHz 1.5W@300MHz
(1 core)
(1 core)
9
8W@800MHz
(8 cores)
‫סביבת פיתוח למערכות ‪ Embedded‬של ‪ .TI‬התוכנה‬
‫מכילה קומפיילר של רכיבי ‪ TI‬ומספר כלי עזר נוספים‪:‬‬
‫* ‪.Debugger‬‬
‫* סימולטור של הכרטיס‪.‬‬
‫* ‪ Profiler‬המאפשר ניתוח מפורט של זמני הריצה‪.‬‬
‫בנוסף‪ ,‬לסביבת העבודה של ‪ CCS‬יש להוסיף את חבילת‬
‫הפיתוח המורחבת ‪ BIOS MCSDK 2.0‬המאפשרת פיתוח‬
‫תוכנה במעבדים מרובי ליבות של ‪.TI‬‬
‫‪10‬‬
‫‪BIOS MultiCore Software Development Kit‬‬
‫מכילה את אבני הבניין הבסיסיות לפיתוח תוכנה על‬
‫מעבדים מרובי ליבות של ‪:TI‬‬
‫* ‪ – SYS\BIOS‬מערכת הפעלה פשוטה לכרטיס‪.‬‬
‫* ‪ – Chip-Support Library‬ספריה המאפשרת ממשק לרכיבי‬
‫המעבד השונים (‪)Cache,DMA, etc.‬‬
‫* ‪ – DSPLIB‬ספריה המכילה פונקציות רבות הקשורות לעיבוד‬
‫אותות‪.‬‬
‫* ‪ – IMGLIB‬ספריה המכילה פונקציות רבות לעיבוד תמונה‪.‬‬
‫* מספר דוגמאות קוד בסיסיות‪.‬‬
‫‪11‬‬
‫סביבת הפיתוח כוללת סימולטור מתקדם המאפשר‬
‫לדמות את הרכיבים הבאים‪:‬‬
‫* ‪ 8‬ליבות המעבד‪.‬‬
‫* מנגנון ‪.Cache‬‬
‫* מנגנון ניהול זכרון משותף‪.‬‬
‫* זכרון ‪.DDR3‬‬
‫* ‪.Inter-processor communication‬‬
‫* ‪.Enhanced-DMA‬‬
‫* ועוד‪.‬‬
‫‪12‬‬
‫‪.1‬‬
‫לימוד סביבת העבודה (‪)CCS‬‬
‫‪.2‬‬
‫לימוד יכולות הכרטיס ותצורות העבודה השונות‬
‫‪.3‬‬
‫מימוש אלגוריתם בעיבוד תמונה תוך ניצול כל יכולות‬
‫הכרטיס‬
‫‪.4‬‬
‫הערכת ביצועים‬
‫‪15‬‬
First part: Learning the fundamentals
1. Code composer studio basics, profiling and
performance analysis capabilities (1 week)
2. Memory configuration and allocation, DMAs,
Interrupts (3 weeks)
3. Fixed and Floating point Libraries
(DSPlib,VLib,...) (1 week)
4. Multicore configurations (DSP/BIOS operating
system, parallel and pipeline processing) (2
weeks)
16
Second part: Implementation of an algorithm in
image processing using DMAs/Libs/multicore
1. Implementation of a bidirectional data flow
between DDRIII and L1, possibly through
L2. (3 weeks)
2. Performance analysis (throughput,
latency and accuracy) when using floating
point versus fixed point libraries. (2 weeks)
3. Usage of hardware semaphores for parallel
data access and Multicore Navigator for
enabling messages communication between
different cores. (4 weeks)
17
Download