音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

從體系結(jié)構(gòu)探討為什么軟件模擬的cycles數(shù)與實(shí)際運(yùn)行會(huì)存在差異

作者:ahwei 欄目:ARM技術(shù)
從體系結(jié)構(gòu)探討為什么軟件模擬的cycles數(shù)與實(shí)際運(yùn)行會(huì)存在差異
在ads,keil或者是其他可以軟件模擬的編譯環(huán)境中,軟件仿真時(shí)一個(gè)函數(shù)的執(zhí)行時(shí)間,與實(shí)際運(yùn)行時(shí)測(cè)試回存在較大的差距,我在測(cè)試一個(gè)匯編函數(shù)時(shí),軟件模擬算出來需要2700多個(gè)cycles,而實(shí)際測(cè)試時(shí)卻花了3700多個(gè)cycles.
對(duì)于軟件模擬器計(jì)算的cycles采用什么算法還沒研究過,但推測(cè)可能是從匯編的角度靜態(tài)的看每條指令要多少個(gè)cycle.
雖然象51核這樣的處理器不存在高級(jí)流水線,但事實(shí)上還是有比較簡(jiǎn)單的流水,當(dāng)前指令執(zhí)行的時(shí)候預(yù)取下一條指令.
但是實(shí)際執(zhí)行時(shí)有于體系結(jié)構(gòu)的因素,會(huì)有很大不同,對(duì)于以馮諾伊曼結(jié)構(gòu)組織的存儲(chǔ)器,存在取指令和取操作數(shù)的結(jié)構(gòu)阻塞,當(dāng)前指令取操作數(shù)占用了數(shù)據(jù)總線,從而影響下一條指令的預(yù)取.
對(duì)與哈佛結(jié)構(gòu)組織的存儲(chǔ)器,指令空間和數(shù)據(jù)空間分開了,不存在上面的問題,但同時(shí)由于很多處理器是把常數(shù)放在指令rom中(處理器本身的設(shè)計(jì)中有讀取指令rom的指令),比如51中的字符串,這樣當(dāng)前執(zhí)行指令也可能訪問rom,這樣還是存在阻塞,實(shí)際執(zhí)行的cycles應(yīng)當(dāng)比軟件仿真看到的cycles數(shù)要多.
對(duì)于象mips這些實(shí)現(xiàn)高級(jí)流水線的處理器,由于同時(shí)還有分支預(yù)測(cè),動(dòng)態(tài)調(diào)度,寄存器重命名這些復(fù)雜的實(shí)現(xiàn),很多情況下及可能執(zhí)行的時(shí)間比用數(shù)指令方法計(jì)算出來的的cycles數(shù)要少.

2樓: >>參與討論
平常人
你的軟件仿真有沒有把存儲(chǔ)器的等待周期算進(jìn)去?中斷、DMA呢?
 
3樓: >>參與討論
ahwei
不存在中斷.
LPC2106上做的實(shí)驗(yàn),定時(shí)器設(shè)置為記時(shí)方式,不存在中斷.其他環(huán)境沒目前還沒做實(shí)驗(yàn),但是部門其他人遇到過類似的問題
當(dāng)初進(jìn)公司時(shí)面試就問這個(gè)問題,當(dāng)時(shí)猜測(cè)是體系結(jié)構(gòu)方面的問題,呵呵.

4樓: >>參與討論
computer00
我認(rèn)為像這樣的執(zhí)行時(shí)間問題,軟件仿真是可以做到跟實(shí)際一樣的
因?yàn)檫@是一個(gè)確定系統(tǒng)。

應(yīng)該是軟件設(shè)計(jì)得不夠完善,需要再改進(jìn)。


proteus里面也可以仿真ARM,拿這個(gè)來仿真一下,看看結(jié)果是什么?樓主可以去試試,偶就準(zhǔn)備偷懶拉,
在這里等結(jié)果~~~~~~~

5樓: >>參與討論
王紫豪
我等
 
6樓: >>參與討論
HWM
按周期來算若不考慮中斷的話軟件模擬和實(shí)際執(zhí)行的周期數(shù)是一樣的
至少在我所使用過的 keil C51 和 ADS 1.2 是如此。


7樓: >>參與討論
computer00
樓上的估計(jì)你觀察不仔細(xì)~~~~~~~
我用keil仿真,不管是LPC213X  ARM,還是ADuC702X ARM,結(jié)果都是仿真的比實(shí)際運(yùn)行的結(jié)果快~~~~~~~~

你寫個(gè)讓IO口以最快的速度翻轉(zhuǎn)的程序,然后拿示波器來測(cè)量一下頻率你就會(huì)發(fā)現(xiàn)相差很大了。

8樓: >>參與討論
zhiwei
當(dāng)然不一樣了
比如發(fā)生一次跳轉(zhuǎn),流水線要刷新,CPU會(huì)停止幾個(gè)周期的,軟件仿真會(huì)忽略這個(gè)時(shí)間。有cache無cache就不一樣了,如果有cache,兩個(gè)完全一樣的系統(tǒng)運(yùn)行效果也大不一樣,cache會(huì)帶來不確定性。

9樓: >>參與討論
computer00
我的程序沒有跳轉(zhuǎn),也照樣比仿真的來得慢。
 
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
.m32 是什么文件格式阿 有人知道嗎
求教 lpc2294問題?
ARM9開發(fā)板 怎么聯(lián)到筆記本上?
哪里能下載到ADS軟件
ARM的頻率以及AT91S_USART * pUSART = AT91C_BASE_US0;請(qǐng)教
免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)