Changeset 271 for soft/giet_vm/mappings


Ignore:
Timestamp:
Jan 17, 2014, 11:49:27 PM (11 years ago)
Author:
cfuguet
Message:
  • Bugfix: The ISR_SWITCH index should be NB_PROCS_MAX + local_pid. This is because the first NB_PROCS_MAX indexes on the XICU in each cluster are used for the WAKEUP software interrupts.
  • Relocating the memcpy and memset functions into the giet_libs/stdlib.* files.
  • Modification of the sort application to used 8 threads instead of
    1. Modifying the mapping files to distribute the 8 threads on the available processors. (Ex. When using 4 processors, each one executes 2 threads)
Location:
soft/giet_vm/mappings
Files:
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/mappings/4c_1p_iob_sort.xml

    r265 r271  
    281281            <vseg name = "seg_sort_stack0" vbase = "0x00800000" mode = "C_WU" x = "0" y = "0" psegname = "PSEG_RAM" >
    282282                <vobj name = "sort_stack0" type  = "BUFFER" length = "0x00010000" />
     283                <vobj name = "sort_stack1" type  = "BUFFER" length = "0x00010000" />
    283284                <vobj name = "sort_heap0"  type  = "BUFFER" length = "0x00010000" />
    284285            </vseg>
    285286            <vseg name = "seg_sort_stack1" vbase = "0x00A00000" mode = "C_WU" x = "0" y = "1" psegname = "PSEG_RAM" >
    286                 <vobj name = "sort_stack1" type  = "BUFFER" length = "0x00010000" />
     287                <vobj name = "sort_stack2" type  = "BUFFER" length = "0x00010000" />
     288                <vobj name = "sort_stack3" type  = "BUFFER" length = "0x00010000" />
    287289                <vobj name = "sort_heap1"  type  = "BUFFER" length = "0x00010000" />
    288290            </vseg>
    289291            <vseg name = "seg_sort_stack2" vbase = "0x00C00000" mode = "C_WU" x = "1" y = "0" psegname = "PSEG_RAM" >
    290                 <vobj name = "sort_stack2" type  = "BUFFER" length = "0x00010000" />
     292                <vobj name = "sort_stack4" type  = "BUFFER" length = "0x00010000" />
     293                <vobj name = "sort_stack5" type  = "BUFFER" length = "0x00010000" />
    291294                <vobj name = "sort_heap2"  type  = "BUFFER" length = "0x00010000" />
    292295            </vseg>
    293296            <vseg name = "seg_sort_stack3" vbase = "0x00E00000" mode = "C_WU" x = "1" y = "1" psegname = "PSEG_RAM" >
    294                 <vobj name = "sort_stack3" type  = "BUFFER" length = "0x00010000" />
     297                <vobj name = "sort_stack6" type  = "BUFFER" length = "0x00010000" />
     298                <vobj name = "sort_stack7" type  = "BUFFER" length = "0x00010000" />
    295299                <vobj name = "sort_heap3"  type  = "BUFFER" length = "0x00010000" />
    296300            </vseg>
    297301
    298             <task name = "sort_0" x = "0" y = "0" proclocid = "0" stackname = "sort_stack0" heapname = "sort_heap3" startid = "0" usetty = "1" />
    299             <task name = "sort_1" x = "0" y = "1" proclocid = "0" stackname = "sort_stack1" heapname = "sort_heap3" startid = "0" usetty = "1" />
    300             <task name = "sort_2" x = "1" y = "0" proclocid = "0" stackname = "sort_stack2" heapname = "sort_heap3" startid = "0" usetty = "1" />
    301             <task name = "sort_3" x = "1" y = "1" proclocid = "0" stackname = "sort_stack3" heapname = "sort_heap3" startid = "0" usetty = "1" />
     302            <task name = "sort_0" trdid = "0" x = "0" y = "0" proclocid = "0" stackname = "sort_stack0" heapname = "sort_heap0" startid = "0" usetty = "1" />
     303            <task name = "sort_1" trdid = "1" x = "0" y = "0" proclocid = "0" stackname = "sort_stack1" heapname = "sort_heap0" startid = "0" usetty = "1" />
     304            <task name = "sort_2" trdid = "2" x = "0" y = "1" proclocid = "0" stackname = "sort_stack2" heapname = "sort_heap1" startid = "0" usetty = "1" />
     305            <task name = "sort_3" trdid = "3" x = "0" y = "1" proclocid = "0" stackname = "sort_stack3" heapname = "sort_heap1" startid = "0" usetty = "1" />
     306            <task name = "sort_4" trdid = "4" x = "1" y = "0" proclocid = "0" stackname = "sort_stack4" heapname = "sort_heap2" startid = "0" usetty = "1" />
     307            <task name = "sort_5" trdid = "5" x = "1" y = "0" proclocid = "0" stackname = "sort_stack5" heapname = "sort_heap2" startid = "0" usetty = "1" />
     308            <task name = "sort_6" trdid = "6" x = "1" y = "1" proclocid = "0" stackname = "sort_stack6" heapname = "sort_heap3" startid = "0" usetty = "1" />
     309            <task name = "sort_7" trdid = "7" x = "1" y = "1" proclocid = "0" stackname = "sort_stack7" heapname = "sort_heap3" startid = "0" usetty = "1" />
    302310        </vspace>
    303311    </vspaceset>
  • soft/giet_vm/mappings/4c_1p_sort.xml

    r270 r271  
    5959
    6060        <cluster x = "0" y = "1" >
     61            <pseg name = "PSEG_RAM"  type = "RAM"  base = "0x0100000000" length = "0x0001000000" />
     62            <pseg name = "PSEG_XCU"  type = "PERI" base = "0x01B0000000" length = "0x0000002000" />
     63            <pseg name = "PSEG_DMA"  type = "PERI" base = "0x01B1000000" length = "0x0000008000" />
     64            <pseg name = "PSEG_MMC"  type = "PERI" base = "0x01B8000000" length = "0x0000001000" />
     65
     66            <proc index = "0" >
     67                <irq type = "SOFT" icuid = "0" isr = "ISR_WAKUP" />
     68                <irq type = "TIME" icuid = "1" isr = "ISR_SWITCH" />
     69            </proc>
     70
     71            <periph type = "DMA"  psegname = "PSEG_DMA"  channels = "1" />
     72            <periph type = "XCU"  psegname = "PSEG_XCU"  channels = "1" />
     73            <periph type = "MMC"  psegname = "PSEG_MMC"  channels = "1" />
     74        </cluster>
     75
     76        <cluster x = "1" y = "0" >
    6177            <pseg name = "PSEG_RAM"  type = "RAM"  base = "0x1000000000" length = "0x0001000000" />
    6278            <pseg name = "PSEG_XCU"  type = "PERI" base = "0x10B0000000" length = "0x0000002000" />
    6379            <pseg name = "PSEG_DMA"  type = "PERI" base = "0x10B1000000" length = "0x0000008000" />
    6480            <pseg name = "PSEG_MMC"  type = "PERI" base = "0x10B8000000" length = "0x0000001000" />
    65 
    66             <proc index = "0" >
    67                 <irq type = "SOFT" icuid = "0" isr = "ISR_WAKUP" />
    68                 <irq type = "TIME" icuid = "1" isr = "ISR_SWITCH" />
    69             </proc>
    70 
    71             <periph type = "DMA"  psegname = "PSEG_DMA"  channels = "1" />
    72             <periph type = "XCU"  psegname = "PSEG_XCU"  channels = "1" />
    73             <periph type = "MMC"  psegname = "PSEG_MMC"  channels = "1" />
    74         </cluster>
    75 
    76         <cluster x = "1" y = "0" >
    77             <pseg name = "PSEG_RAM"  type = "RAM"  base = "0x0100000000" length = "0x0001000000" />
    78             <pseg name = "PSEG_XCU"  type = "PERI" base = "0x01B0000000" length = "0x0000002000" />
    79             <pseg name = "PSEG_DMA"  type = "PERI" base = "0x01B1000000" length = "0x0000008000" />
    80             <pseg name = "PSEG_MMC"  type = "PERI" base = "0x01B8000000" length = "0x0000001000" />
    8181
    8282            <proc index = "0" >
     
    255255            <vseg name = "seg_sort_stack0" vbase = "0x00800000" mode = "C_WU" x = "0" y = "0" psegname = "PSEG_RAM" >
    256256                <vobj name = "sort_stack0" type  = "BUFFER" length = "0x00010000" />
     257                <vobj name = "sort_stack1" type  = "BUFFER" length = "0x00010000" />
    257258                <vobj name = "sort_heap0"  type  = "BUFFER" length = "0x00010000" />
    258259            </vseg>
    259260            <vseg name = "seg_sort_stack1" vbase = "0x00A00000" mode = "C_WU" x = "0" y = "1" psegname = "PSEG_RAM" >
    260                 <vobj name = "sort_stack1" type  = "BUFFER" length = "0x00010000" />
     261                <vobj name = "sort_stack2" type  = "BUFFER" length = "0x00010000" />
     262                <vobj name = "sort_stack3" type  = "BUFFER" length = "0x00010000" />
    261263                <vobj name = "sort_heap1"  type  = "BUFFER" length = "0x00010000" />
    262264            </vseg>
    263265            <vseg name = "seg_sort_stack2" vbase = "0x00C00000" mode = "C_WU" x = "1" y = "0" psegname = "PSEG_RAM" >
    264                 <vobj name = "sort_stack2" type  = "BUFFER" length = "0x00010000" />
     266                <vobj name = "sort_stack4" type  = "BUFFER" length = "0x00010000" />
     267                <vobj name = "sort_stack5" type  = "BUFFER" length = "0x00010000" />
    265268                <vobj name = "sort_heap2"  type  = "BUFFER" length = "0x00010000" />
    266269            </vseg>
    267270            <vseg name = "seg_sort_stack3" vbase = "0x00E00000" mode = "C_WU" x = "1" y = "1" psegname = "PSEG_RAM" >
    268                 <vobj name = "sort_stack3" type  = "BUFFER" length = "0x00010000" />
     271                <vobj name = "sort_stack6" type  = "BUFFER" length = "0x00010000" />
     272                <vobj name = "sort_stack7" type  = "BUFFER" length = "0x00010000" />
    269273                <vobj name = "sort_heap3"  type  = "BUFFER" length = "0x00010000" />
    270274            </vseg>
    271275
    272             <task name = "sort_0" trdid = "0" x = "0" y = "0" proclocid = "0" stackname = "sort_stack0" heapname = "sort_heap3" startid = "0" usetty = "1" />
    273             <task name = "sort_1" trdid = "1" x = "0" y = "1" proclocid = "0" stackname = "sort_stack1" heapname = "sort_heap3" startid = "0" usetty = "1" />
    274             <task name = "sort_2" trdid = "2" x = "1" y = "0" proclocid = "0" stackname = "sort_stack2" heapname = "sort_heap3" startid = "0" usetty = "1" />
    275             <task name = "sort_3" trdid = "3" x = "1" y = "1" proclocid = "0" stackname = "sort_stack3" heapname = "sort_heap3" startid = "0" usetty = "1" />
     276            <task name = "sort_0" trdid = "0" x = "0" y = "0" proclocid = "0" stackname = "sort_stack0" heapname = "sort_heap0" startid = "0" usetty = "1" />
     277            <task name = "sort_1" trdid = "1" x = "0" y = "0" proclocid = "0" stackname = "sort_stack1" heapname = "sort_heap0" startid = "0" usetty = "1" />
     278            <task name = "sort_2" trdid = "2" x = "0" y = "1" proclocid = "0" stackname = "sort_stack2" heapname = "sort_heap1" startid = "0" usetty = "1" />
     279            <task name = "sort_3" trdid = "3" x = "0" y = "1" proclocid = "0" stackname = "sort_stack3" heapname = "sort_heap1" startid = "0" usetty = "1" />
     280            <task name = "sort_4" trdid = "4" x = "1" y = "0" proclocid = "0" stackname = "sort_stack4" heapname = "sort_heap2" startid = "0" usetty = "1" />
     281            <task name = "sort_5" trdid = "5" x = "1" y = "0" proclocid = "0" stackname = "sort_stack5" heapname = "sort_heap2" startid = "0" usetty = "1" />
     282            <task name = "sort_6" trdid = "6" x = "1" y = "1" proclocid = "0" stackname = "sort_stack6" heapname = "sort_heap3" startid = "0" usetty = "1" />
     283            <task name = "sort_7" trdid = "7" x = "1" y = "1" proclocid = "0" stackname = "sort_stack7" heapname = "sort_heap3" startid = "0" usetty = "1" />
    276284        </vspace>
    277285    </vspaceset>
  • soft/giet_vm/mappings/4c_1p_sort_chiplet.xml

    r270 r271  
    3232                <irq type = "SOFT" icuid = "0"  isr = "ISR_WAKUP" />
    3333                <irq type = "TIME" icuid = "1"  isr = "ISR_SWITCH" />
    34                 <irq type = "HARD" icuid = "2" isr = "ISR_IOC" />
     34                <irq type = "HARD" icuid = "31" isr = "ISR_IOC" />
    3535            </proc>
    3636
     
    208208            <vseg name = "seg_sort_stack0" vbase = "0x00800000" mode = "C_WU" x = "0" y = "0" psegname = "PSEG_RAM" >
    209209                <vobj name = "sort_stack0" type  = "BUFFER" length = "0x00010000" />
     210                <vobj name = "sort_stack1" type  = "BUFFER" length = "0x00010000" />
    210211                <vobj name = "sort_heap0"  type  = "BUFFER" length = "0x00010000" />
    211212            </vseg>
    212213            <vseg name = "seg_sort_stack1" vbase = "0x00A00000" mode = "C_WU" x = "0" y = "1" psegname = "PSEG_RAM" >
    213                 <vobj name = "sort_stack1" type  = "BUFFER" length = "0x00010000" />
     214                <vobj name = "sort_stack2" type  = "BUFFER" length = "0x00010000" />
     215                <vobj name = "sort_stack3" type  = "BUFFER" length = "0x00010000" />
    214216                <vobj name = "sort_heap1"  type  = "BUFFER" length = "0x00010000" />
    215217            </vseg>
    216218            <vseg name = "seg_sort_stack2" vbase = "0x00C00000" mode = "C_WU" x = "1" y = "0" psegname = "PSEG_RAM" >
    217                 <vobj name = "sort_stack2" type  = "BUFFER" length = "0x00010000" />
     219                <vobj name = "sort_stack4" type  = "BUFFER" length = "0x00010000" />
     220                <vobj name = "sort_stack5" type  = "BUFFER" length = "0x00010000" />
    218221                <vobj name = "sort_heap2"  type  = "BUFFER" length = "0x00010000" />
    219222            </vseg>
    220223            <vseg name = "seg_sort_stack3" vbase = "0x00E00000" mode = "C_WU" x = "1" y = "1" psegname = "PSEG_RAM" >
    221                 <vobj name = "sort_stack3" type  = "BUFFER" length = "0x00010000" />
     224                <vobj name = "sort_stack6" type  = "BUFFER" length = "0x00010000" />
     225                <vobj name = "sort_stack7" type  = "BUFFER" length = "0x00010000" />
    222226                <vobj name = "sort_heap3"  type  = "BUFFER" length = "0x00010000" />
    223227            </vseg>
    224228
    225             <task name = "sort_0" x = "0" y = "0" proclocid = "0" stackname = "sort_stack0" heapname = "sort_heap3" startid = "0" usetty = "1" />
    226             <task name = "sort_1" x = "0" y = "1" proclocid = "0" stackname = "sort_stack1" heapname = "sort_heap3" startid = "0" usetty = "1" />
    227             <task name = "sort_2" x = "1" y = "0" proclocid = "0" stackname = "sort_stack2" heapname = "sort_heap3" startid = "0" usetty = "1" />
    228             <task name = "sort_3" x = "1" y = "1" proclocid = "0" stackname = "sort_stack3" heapname = "sort_heap3" startid = "0" usetty = "1" />
     229            <task name = "sort_0" trdid = "0" x = "0" y = "0" proclocid = "0" stackname = "sort_stack0" heapname = "sort_heap0" startid = "0" usetty = "1" />
     230            <task name = "sort_1" trdid = "1" x = "0" y = "0" proclocid = "0" stackname = "sort_stack1" heapname = "sort_heap0" startid = "0" usetty = "1" />
     231            <task name = "sort_2" trdid = "2" x = "0" y = "1" proclocid = "0" stackname = "sort_stack2" heapname = "sort_heap1" startid = "0" usetty = "1" />
     232            <task name = "sort_3" trdid = "3" x = "0" y = "1" proclocid = "0" stackname = "sort_stack3" heapname = "sort_heap1" startid = "0" usetty = "1" />
     233            <task name = "sort_4" trdid = "4" x = "1" y = "0" proclocid = "0" stackname = "sort_stack4" heapname = "sort_heap2" startid = "0" usetty = "1" />
     234            <task name = "sort_5" trdid = "5" x = "1" y = "0" proclocid = "0" stackname = "sort_stack5" heapname = "sort_heap2" startid = "0" usetty = "1" />
     235            <task name = "sort_6" trdid = "6" x = "1" y = "1" proclocid = "0" stackname = "sort_stack6" heapname = "sort_heap3" startid = "0" usetty = "1" />
     236            <task name = "sort_7" trdid = "7" x = "1" y = "1" proclocid = "0" stackname = "sort_stack7" heapname = "sort_heap3" startid = "0" usetty = "1" />
    229237        </vspace>
    230238    </vspaceset>
Note: See TracChangeset for help on using the changeset viewer.