獨(dú)立于硬件技術(shù)的XC166單片機(jī)的DSP程序優(yōu)化方法
2.3 內(nèi)存帶寬沖突排除
本文引用地址:http://www.ex-cimer.com/article/172110.htm如果在流水線上的指令在同一時(shí)間訪問同一內(nèi)存,就會(huì)發(fā)生內(nèi)存帶寬沖突,MAC單元的CoXXX指令是特別為實(shí)現(xiàn)DSP設(shè)計(jì)的。為了避免在DPRAM中發(fā)生帶寬沖突,CoXXX指令的其中一個(gè)操作數(shù)必須放在SRAM中,以保證在單個(gè)機(jī)器周期內(nèi)執(zhí)行MAC單元指令。例如:
2.4 指令重排
在用MAC單元指令編程時(shí),經(jīng)常要改變MAC單元的特殊功能寄存器,比如IDX0,IDX1、QX0、QX1、QR0以及QR1等,在XC166單片機(jī)中,有一些指令將會(huì)阻塞在譯碼階段,如果這些指令正好在一條修改特殊功能寄存器(SFR)指令之后執(zhí)行,這種阻塞將引起3個(gè)機(jī)器周期的延時(shí)。
這些指令包括:
◇使用長(zhǎng)地址模式的指令;
◇使用間接尋址的指令,除JMPS和CALLI外;
◇所有MAC單元指令(CoXXX指令)。
為了避免指令阻塞,在使用上述指令時(shí),如有阻塞情況發(fā)生,應(yīng)該重新重排指令,以消除延時(shí),例如:
3 結(jié)論
用于英飛凌XC166單片機(jī)的DSP優(yōu)化技術(shù)分為兩類:與硬件相關(guān)的優(yōu)化技術(shù)和獨(dú)立于硬件的優(yōu)化技術(shù)。獨(dú)立于硬件的優(yōu)化技術(shù)也可以用于其他的單片機(jī)或?qū)S脭?shù)字信號(hào)處理器。
評(píng)論