120 likes | 282 Views
DSP. נושא מספר 4 : מבנה הזיכרון וגישה לזיכרון נתונים. מבנה הזיכרון. גודל - 1Mb גודל של בלוק - 0.5Mb : Program memory - Dual ported Data memory - Dual ported כניסות לכל בלוק: PM/DM : כתובת (Addr) ונתונים (Data) I/O port : כתובת (Addr) ונתונים (Data). EZ-KIT memory map.
E N D
DSP נושא מספר 4: מבנה הזיכרון וגישה לזיכרון נתונים המכללה האקדמית להנדסה בתל-אביב נושא מספר 4: מבנה הזיכרון וגישה לזיכרון
מבנה הזיכרון • גודל - 1Mb • גודל של בלוק - 0.5Mb: • Program memory - Dual ported • Data memory - Dual ported • כניסות לכל בלוק: • PM/DM : כתובת (Addr) ונתונים (Data) • I/O port : כתובת (Addr) ונתונים (Data) המכללה האקדמית להנדסה בתל-אביב נושא מספר 4: מבנה הזיכרון וגישה לזיכרון
המכללה האקדמית להנדסה בתל-אביב נושא מספר 4: מבנה הזיכרון וגישה לזיכרון
EZ-KIT memory map המכללה האקדמית להנדסה בתל-אביב נושא מספר 4: מבנה הזיכרון וגישה לזיכרון
קובץ הארכיטקטורה !--------------------------------------------------------------------- .SYSTEM SHARC_EZKIT_Lite; ! ! This architecture file is required for used with the SHARC EZ-KIT ! Lite development software. It is structured for use with the C ! compiler but also can be used with assembly code. ! ! This architecture file allocates: ! Internal 133 words of 48-bit run-time header in memory block 0 ! 16 words of 48-bit initialization code in memory block 0 ! 619 words of 48-bit kernel code in memory block 0 ! 7424 words of 48-bit C code space in memory block 0 ! 4K words of 32-bit PM C data space in memory block 0 ! ! 8K words of 32-bit C DM data space in memory block 1 ! 4K words of 32-bit C heap space in memory block 1 ! 3712 words of 32-bit C stack space in memory block 1 ! 384 words of 32-bit kernel data in memory block 1 .PROCESSOR = ADSP21061; ! ------------------------------------------------------------- ! Internal memory Block 0 ! ------------------------------------------------------------- .SEGMENT/RAM/BEGIN=0x00020000 /END=0x00020084 /PM/WIDTH=48 seg_rth; .SEGMENT/RAM/BEGIN=0x00020085 /END=0x00020094 /PM/WIDTH=48 seg_init; .SEGMENT/RAM/BEGIN=0x00020095 /END=0x000202ff /PM/WIDTH=48 seg_knlc; .SEGMENT/RAM/BEGIN=0x00020300 /END=0x00021fff /PM/WIDTH=48 seg_pmco; .SEGMENT/RAM/BEGIN=0x00023000 /END=0x00023fff /PM/WIDTH=32 seg_pmda; ! ------------------------------------------------------------- ! Internal memory Block 1 ! ------------------------------------------------------------- .SEGMENT/RAM/BEGIN=0x00024000 /END=0x00025fff /DM/WIDTH=32 seg_dmda; .SEGMENT/RAM/BEGIN=0x00026000 /END=0x00026fff /DM/WIDTH=32 /cheap seg_heap; .SEGMENT/RAM/BEGIN=0x00027000 /END=0x00027e7f /DM/WIDTH=32 seg_stak; .SEGMENT/RAM/BEGIN=0x00027e80 /END=0x00027fff /DM/WIDTH=32 seg_knld; ! ------------------------------------------------------------- ! External Memory Select 1 is reserved for the UART. ! ------------------------------------------------------------- .ENDSYS; המכללה האקדמית להנדסה בתל-אביב נושא מספר 4: מבנה הזיכרון וגישה לזיכרון
seg_dmda /******************************************************************************* File Name : DSP-LAB exe1 Author : ALon Slapak Date : 13.10.02 *********************************************************************************/ #define N 5 .SEGMENT /DM seg_dmda; .VAR input [N] = 1, 5, 2, 4, 3; .ENDSEG; .SEGMENT /PM seg_rth; initial_setup: jump start (db); pmwait=0x0021; dmwait=0x8421; .ENDSEG; .SEGMENT /PM seg_pmco; start: l1=0; l2=0; r1=N-1; loop1s: if EQ jump loop1e; r2=r1-1; loop2s: if LT jump loop2e; m1=r1; r3=dm(m1,i1); i1=input; r4=dm(m2,i1); r5=r3-r4; if GT jump sorted; i1=input; dm(m1,i1)=r4; i1=input; dm(m2,i1)=r3; sorted: r2=r2-1; jump loop2s; loop2e: r1=r1-1; jump loop1s; loop1e: rts; .ENDSEG; seg_rth seg_pmco המכללה האקדמית להנדסה בתל-אביב נושא מספר 4: מבנה הזיכרון וגישה לזיכרון
DAG – Data Address Generator • שתי יחידות: • DAG1 – כתובות ל-DM - 32b • DAG2 – כתובות ל-PM - 24b • 4 סוגי רגיסטרים: • Index (I) - מצביע לכתובת בזיכרון • Modify (M) - גודל הצעד מהכתובת I • Base (B) - כתובת ראשונה ב-Buffer • Length (L) - אורך ה-Buffer המכללה האקדמית להנדסה בתל-אביב נושא מספר 4: מבנה הזיכרון וגישה לזיכרון
מבנה הרגיסטרים ב-DAG המכללה האקדמית להנדסה בתל-אביב נושא מספר 4: מבנה הזיכרון וגישה לזיכרון
Pre-modify v. Post-modify המכללה האקדמית להנדסה בתל-אביב נושא מספר 4: מבנה הזיכרון וגישה לזיכרון
חוצץ מעגלי - Circular Buffer המכללה האקדמית להנדסה בתל-אביב נושא מספר 4: מבנה הזיכרון וגישה לזיכרון
שלבי הגדרת חוצץ מעגלי • הצבת כתובת התחלתית ממרחב הכתובות המתאים ב-B • I מתעדכן אוטומטית בערך של B • הצבת גודל החוצץ בהתאם לגודל מרחב הכתובות ב-L • הצבת גודל צעד (חיובי או שלילי) קטן מאורך החוצץ ב-M * כל פקודה PM(Ix,My) או DM(Ix,My) תעדכן את I לפי מנגנון ה-Post-modify המכללה האקדמית להנדסה בתל-אביב נושא מספר 4: מבנה הזיכרון וגישה לזיכרון
מבנה פקודת PM/DM המכללה האקדמית להנדסה בתל-אביב נושא מספר 4: מבנה הזיכרון וגישה לזיכרון