完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 一只耳朵怪 于 2018-5-25 17:29 编辑
1,在技术文档中有描述“The TMS570LS12x/11x integrates the ARM® Cortex™-R4F Floating Point CPU that offers an efficient 1.6 DMIPS/MHz and has configurations that can run up to 180MHz providing up to 288 DMIPS. ” 288 DMIPS的工作性能是否指程序跑在flash空间的情况下??而且不需要将程序从flash拷贝到RAM运行就能达到此性能? 2,如果我的flash空间不够,通过“External Memory Interface” 外扩flash。我的程序是否可以存储在外扩flash下面??如果可以,此时的最高工作性能是否还可以达到288 DMIPS?? 3,在技术文档中有描述“The flash supports a maximum CPU clock speed of 160MHz in pipelined mode for the PGE Package and 180MHz for the ZWT package, with one address wait state and three data wait states”。 "one address wait state "是什么意思?? "one address wait state"是多久?? |
|
相关推荐
10个回答
|
|
|
|
|
|
Jay,你好,谢谢你的回答。我还有几个问题: 1, 请问在默认情况下,MCU的程序是跑在flash下吗?在包含flash访问时间情况下,你们是否有MCU整体工作性能的参数?? 2, 在技术文档中有说明“the TCM RAM can support program and data fetches at full CPU speed without any address or data wait states required.” 这句话是否说明如果程序跑在RAM里的话,MCU整体工作性能几乎和CPU的工作性能一样??? |
|
|
|
你好! 不好意思,点错了一个按钮,你的那个回帖不见了~~~ Jay,你好,谢谢你的回答。我还有几个问题: 1, 请问在默认情况下,MCU的程序是跑在flash下吗?在包含flash访问时间情况下,你们是否有MCU整体工作性能的参数?? 默认情况下MCU是在Flash中跑程序,当然程序也可以拷贝到RAM去运行。 我们暂时没有你所要的参数。但是你可以很容易来做一个Benchmark。写一个测试工程,做算术运算(加、减、乘、除),做测试时请注意不要计入逻辑判断的时间(如if/for/while等)。 2, 在技术文档中有说明“the TCM RAM can support program and data fetches at full CPU speed without any address or data wait states required.” 这句话是否说明如果程序跑在RAM里的话,MCU整体工作性能几乎和CPU的工作性能一样??? 可以这么理解。RAM不是需要等待时间的。 |
|
|
|
你好,Jay,我按照你的建议,测试如下: 1, 工作频率:PLL1=180MHz,按照1.6 DMIPS/MHz的性能计算,每条指令的执行时间为 t每条指令=1/1.66/180/1000000s 2, 测试代码: LED灯亮; for(i=0;i j=j+100; ] LED灯灭; 循环对应的汇编代码如下: main_2: ADDS R5,R5,#100 ADDS R4,R4,#1 main_3: LDR R0,[PC,#0x28] CMP R4,R0 BCC main_2 (五条汇编指令×循环数)× t每条指令=T总运行时间 3,设置T总运行时间=1s 循环数=T总运行时间/ t每条指令/五条汇编指令=1×1.66×180×1000000/5=59760000, 4, 在代码中设置Counter=59760000,让CPU跑起来,预期T总运行时间应该为1s LED灯亮; for(i=0;i j=j+100; ] LED灯灭; 5, 实际测试T总运行时间=4.9s; 为何我的测试值和理论计算值差别这么大??请问我这种测试的方法是否正确? 是否可以将每条汇编指令的运行时间都看成一个时钟周期?? |
|
|
|
你好。 你写的五条汇编指令是这个While循环在Disassembly窗口看到的吗? 还是你自己认为应该是这样的? |
|
|
|
你好。 是在Disassembly窗口看到的。 我还做了一个测试: 1,运行频率180MHz,运行平台是TMS570LS1227开发板,IAR编译器,测试代码(源码见附件): while(1) [ hetPORT1->DOUT=0x00000001;//LED ON for(i=0;i<59760000;i++) [ j=j+100; ]//Ton (LED亮的 时间) hetPORT1->DOUT=0x00000000;//LED OFF for(i=0;i<59760000;i++) [ j=j+100; j=j+100;//比上面多一条加法指令 ]//Toff ( LED灭的 时间) ]2,T加法理论总运行时间=59760000/1.66×180×1000000=0.2s,就是说预期Toff -Ton=0.2s; 实际示波器拍出来Toff -Ton=1s。实际时间刚好是理论计算的5倍。 |
|
|
|
Hi robin, 你通I/O电平翻转的方式来测试C语言的时间本身就会有误差,同时C语言和汇编语句之间的执行周期换算也能简单的按1比1来。 这样测出来的值,参考性不大。 首先建议你用芯片内部的PMU模块来测量语句执行的周期,这个测出来的值直接就是系统运行的cycle周期,能够很直观看出你这段语句具体运行了多少cycle,从而也可以很直观的推算出,每条C语言语句对应的执行周期数。 谢谢 ken BR, KEN |
|
|
|
lining870815844 发表于 2018-5-25 05:27 Hi Ken, 我在IAR编译器仿真模式下测试出每个加法指令的机器cycle为1。 由于我想测试程序运行在flash情况下执行一个cycle到底需要多少时间,所以采用以上方式。我59760000×5个指令周期才翻转一次IO,估算CPU一个cycle的时间应该可以接受这个误差。 技术文档中说:“The TMS570LS12x/11x integrates the ARM® Cortex™-R4F Floating Point CPU that offers an efficient 1.6 DMIPS/MHz and has configurations that can run up to 180MHz providing up to 288 DMIPS.” 所以 t每条指令=1/1.66/180/1000000s。但是我安装以上方法测试一个加法运算,设置工作频率PLL1=180MHz,该程序跑在flash里,t每条指令=1/1.66/180/1000000×5s,程序运行是理论计算的5倍。 是否运行在RAM中才能达到t每条指令=1/1.66/180/1000000s的速度?? 请问怎么用芯片内部的PMU模块来测量语句执行的周期?一个周期的执行时间怎么测量??? |
|
|
|
kic123 发表于 2018-5-25 05:43 Hi robin, 关于一个cycle占多长时间的问题,我觉得你的理解有一点点偏差。我的理解是,因为我们的MCU是一个指令周期等于一个机器周期,也就是等于内核的工作频率的倒数。即1/F. 你的算法里面算用到了1.66,那是针对我们DMPIS的特征值,如果是通过DMIPS来算的话,应该是等于1.6/288=一个机器cycyle。 我觉得如果你们需要衡量一个程序在Flash或在RAM里面运行了多少时间的话,首先的确定这个程序总共需要运行多少cycle,然后在按每个cycle等于多长时间来换算。 我建议你用PMU的原因是,我觉得这个模块测出来的程序运行cycle值会比I/O口翻转的方式来的更准确一些,算出来的总运行时间也会更准确。 不知道这样表述,你能不能接收,或是说我还有没说清楚的地方。 谢谢 ken BR, KEN |
|
|
|
lining870815844 发表于 2018-5-25 05:51 Hi Ken, 谢谢你的答复。确实用PMU模块测试比较合理,按照你的方法测试是有效的。 谢谢。 Robin |
|
|
|
只有小组成员才能发言,加入小组>>
321 浏览 1 评论
523 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
762 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
643 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1119 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
16浏览 28评论
38浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
234浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
191浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
51浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 04:11 , Processed in 1.066203 second(s), Total 97, Slave 81 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号