完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,
现在我正在使用Virtex-5 FXT,并想知道为什么PowerPC440内存访问速度太慢。 例如,BlockRam上的数据复制例程(96字节),PLB总线时钟频率。 是125MHz, 而且,PowerPC440机器时钟频率。 是250MHz, 数据复制的总时间(96字节)约为3us。 太慢了。 有谁知道,如何设置PPC440 Memcon寄存器以避免内存访问变慢, 或者,如何设置PLB? 如果你能回复我的问题,我会恭喜你。 Hiroyasu Matsubara |
|
相关推荐
2个回答
|
|
嗨,eilert,
感谢您的回复。 我还没有计算这些陈述的周期时间。 我会展示两个代码。 一个是反汇编的目标代码,另一个是C语言代码。 耗尽的目标代码由powerpc-eabi-gcc输出,优化级别为2(-O2)。 1.反汇编的目标代码。 -------------------------------------------------- - .file“sekiwa.c”.section.rodata.str1.4,“aMS”,@ progbits,1.align 2.LC0:.string“result%f r n”.globl __extendsfdf2.section“.text” .align 2.globl main.typemain,@ functionalmain:stwu 1,-120(1)mflr 0stw 31,116(1)lis 4,C.0.2034 @ haaddi 31,1,8la 4,C.0.2034 @ l(4)li 5,48mr 3,31stw 0,124(1)stw 30,112(1)stw 29,108(1)addi 30,1,56bl memcpylis 4,C.1.2035 @ hala 4,C.1.2035 @ l(4)li 5,48mr 3, 30BL memcpylis 3,0xc640li 4,1bl XIo_Out32li 0,12mtctr 0li 11,-4096.L2:添加9,31,11lwz 0,4096(9)STW 0,0(11)阿迪11,11,4bdnz .L2li 0,12mtctr 0li 11,-3840.L4:添加9,30,11lwz 0,3840(9)STW 0,0(11)阿迪11,11,4bdnz .L4lis 3,0xc8c0li 4,1bl XIo_Out32lis 31,0xc8c0lis 3,0xc640li 4, 0lis 30,0xc8c0bl XIo_Out32ori 31,31,76ori 30,30,112lis 29,.LC0 @ ha.L6:LWZ 3,0(31)阿迪31,31,4bl __extendsfdf2mr 5,3mr 6,4la 3,.LC0 @升( 29)BL printfcmpw 7,31,30bne + 7,.L6lwz 0124(1)里3,0lwz 29108(1)LWZ 30112(1)LWZ 31116(1)mtlr 0addi 1,1,120blr.sizemain,。-main.section。 rodata.align 2.typeC.1.2035,@ object.sizeC.1.2035,48C.1.2035:.long1045220557.long1036831949。 long1050253722.long1056964608.long1053609165.long1063675494.long1061997773.long1060320051.long1050253722.long1072902963.long1074161254.long1075838976.align 2.typeC.0.2034,@ object.sizeC.0.2034,48C.0.2034:.long1036831949.long1045220557.long1050253722.long1053609165.long1056964608.long1058642330 .long1060320051.long1061997773.long1063675494.long1067030938.long1069547520.long1072064102.ident “GCC:(GNU)4.1.1 20060524(赛灵思12.1生成EDK_M.13 2009年7月21日)” -------------------------------------------------- ------------ 2. C语言代码。 -------------------------------------------------- --------------- #include“xparameters.h”#include“xio.h”#include“sleep.h”#include“stdio.h” int main(void){float * a,* b; float * c; int cnt; float m0 [12] = {0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.2,1.5,1.8 浮点m1 [12] = {0.2,0.1,0.3,0.5,0.4,0.9,0.8,0.7,0.3,1.9,2.1,2.5}; XIo_Out32(XPAR_REG_FOR_LED_0_BASEADDR,1); / *启动从Bram到Bram的数据复制 * / // a = 0xC8C00000 + 4; a = 0xfffff000; for(cnt = 0; cnt * a = m0 [cnt]; a ++;} // memcpy(0xC8C00000 + 4,m0,4 * 9); b = 0xfffff100; // b = 0xC8C00000 + 4 +(4 * 9);对于(cnt = 0; cnt * b = m1 [cnt]; b ++;} / *将96字节数据从Bram复制到Bram * // * start calc * / XIo_Out32(0xC8C00000,0x1); c = 0xC8C00000 + 4 +(4 * 9 * 2);对于(cnt = 0; cntc ++;} XIo_Out32(XPAR_REG_FOR_LED_0_BASEADDR,0); / * display * / c = 0xC8C00000 + 4 +(4 * 9 * 2); for(cnt = 0; cntprintf(“result%f r n”,c [cnt]);} return 0;} - ------------------------------------------------- 裕康 |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
2396 浏览 7 评论
2811 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2278 浏览 9 评论
3356 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2445 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
784浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
558浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
406浏览 1评论
1985浏览 0评论
706浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 16:00 , Processed in 1.388358 second(s), Total 80, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号