Map identical virtual addresses to different physical addresses.
Map different virtual addresses to a single physical address.
请问以上两句话如何理解?
同一个逻辑地址映射为多个物理地址,多个逻辑地址映射为同一个物理地址。该如何理解呢?可以说一下适用情况么?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Map identical virtual addresses to different physical addresses.
Map different virtual addresses to a single physical address.
请问以上两句话如何理解?
同一个逻辑地址映射为多个物理地址,多个逻辑地址映射为同一个物理地址。该如何理解呢?可以说一下适用情况么?
Hello Andy Yin1,
1、你所说的“同一个逻辑地址映射为多个物理地址:如多核应用中,通过相同的变量去访问不同的物理地址,此时则配置每个core相同的逻辑地址,映射到不同的物理地址。”,是下面我所理解的意思么?
如果定义一个变量var,它在每个core中的局部地址是0x00800080,core0的全局地址为0x10800080;core1的全局地址为0x11800080等等;那么你所说的同一个逻辑地址是指该变量在每个core内所在的局部地址么?
在core0~core7中将该逻辑地址(即每个core内的局部地址)映射到每个core自己内存的的物理地址0x0 0080 0000,这就是映射到不同的物理地址么?
2、还有一个疑惑:每个core映射访问的物理地址都是自己的LL2和共享的SL2、DDR么?虽然共享的SL2、DDR是8个核共用的,但每个core都可以将它们看做自己的物理地址进行映射访问,是这样么?
1 你说的是LL2,对LL2,本身就存在两个地址,一个是core内部访问可用的局部地址,一个是全局地址,这是芯片固化好的,不需要额外的软件配置;对SL2及DDR则可以通过配置每个core的XMC地址映射单元即可,让每个core上看到的逻辑地址一样,但是对应不同的物理地址;
2 SL2和DDR是共享memory,在使用时可以为每个core划分一块memory存储每个core的私用代码或数据。
参考多核编程guide,里面有多核memory的管理使用,及相关论坛讨论。
http://www.ti.com/lit/an/sprab27b/sprab27b.pdf
http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/106303.aspx
Andy Yin1 ,谢谢你的解答。我暂时明白了一些,但还有一些不明白的地方,希望多指教。
1、对每个core所访问的LL2的逻辑地址就是它的局部地址吧?虽然按你说的不需要人为软件设置,但还是希望理解清楚一些。
2、你的第二条回答“ SL2和DDR是共享memory,在使用时可以为每个core划分一块memory存储每个core的私用代码或数据。”,是针对http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/p/106303/285359.aspx#285359中 Adam Yao回答的总结么?即(首先要通过MPAX在每个核上把同一个虚拟地址映射到DDR上不同的物理地址空间中去,比如core0将虚地址0xB0000000->0x80000000,core1将虚地址0xB0000000->0x81000000,然后在cmd中将txt和data段都分配到虚地址0xB0000000对应的段中。)
Adam Yao这样做的结果是不是:对core0而言,它的data段存放在0x80000000起始的地址空间;对core1而言,它的data段存放在0x81000000起始的地址空间?
3Q~