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