国产成人精品在线-国产成人精品综合-国产成人精品综合久久久-国产成人精品综合在线-天天做日日爱夜夜爽-天天做日日干

您好,歡迎進入上海涌迪工業(yè)自動化有限公司網(wǎng)站!
一鍵分享網(wǎng)站到:
產品搜索
PRODUCT SEARCH
產品分類
PRODUCT CLASSIFICATION
您現(xiàn)在的位置:首頁 >> 新聞動態(tài) >> 6RA80直流調速器淺析嵌入式程序設計中的優(yōu)化
6RA80直流調速器淺析嵌入式程序設計中的優(yōu)化
瀏覽次數(shù):1262發(fā)布日期:2022-06-25
   直流調速器在數(shù)控機床、造紙印刷、紡織印染、光纜線纜設備、包裝機械、電工機械、食品加工機械、橡膠機械、生物設備、印制電路板設備、實驗設備、焊接切割、輕工機械、物流輸送設備、機車車輛、醫(yī)設備、通訊設備、雷達設備、衛(wèi)星地面接受系統(tǒng)等行業(yè)廣泛應用。
  直流調速器淺析嵌入式程序設計中的優(yōu)化:
  嵌入式系統(tǒng)由于受功耗、成本和體積等因素的制約,嵌入式微處理器的處理能力與桌面系統(tǒng)處理器相比也存在較大差距,故嵌入式系統(tǒng)對程序運行的空間和時間要求更為苛刻。通常,需要對嵌入式應用程序進行性能優(yōu)化,以滿足嵌入式應用的性能需求。
  1 嵌入式程序優(yōu)化的類型
  嵌入式應用程序優(yōu)化,指在不改變程序功能的情況下,通過修改原來程序的算法、結構,并利用軟件開發(fā)工具對程序進行改進,使修改后的程序運行速度更高或代碼尺寸更小。
  按照優(yōu)化的側重點不同,程序優(yōu)化可分為運行速度優(yōu)化和代碼尺寸優(yōu)化。運行速度優(yōu)化是指在充分掌握軟硬件特性的基礎上,通過應用程序結構調整等手段來縮短完成定任務所需的運行時間;代碼尺寸優(yōu)化則是指應用程序在能夠正確實現(xiàn)所需功能的前提下,盡可能減小程序的代碼量。實際應用中,這兩者往往是相互矛盾的,為了提高程序運行速度,就要以增加代碼量為代價;而為了減小程序代碼尺寸,可能又要以降低程序運行速度為代價。因此,在對程序進行優(yōu)化之前,應根據(jù)實際需要來制定具體的優(yōu)化策略。隨著計算機和微電子技術的不斷發(fā)展,存儲空間已不再是制約嵌入式系統(tǒng)的主要因素,因此本文主要討論運行速度優(yōu)化。
  2 嵌入式程序優(yōu)化遵循的原則
  嵌入式程序優(yōu)化主要遵循以下3個原則。
  ①等效原則:優(yōu)化前后程序實現(xiàn)的功能一致。
  ②有效原則:優(yōu)化后要比優(yōu)化前運行速度快或占用存儲空間小,或二者兼有。
  ③經(jīng)濟原則:優(yōu)化程序要付出較小的代價,取得較好的結果。
  3 嵌入式程序優(yōu)化的主要方面
  嵌入式程序的優(yōu)化分為3個方面:算法和數(shù)據(jù)結構優(yōu)化、編譯優(yōu)化以及代碼優(yōu)化。
  3.1 算法和數(shù)據(jù)結構優(yōu)化
  算法和數(shù)據(jù)結構是程序設計的核心所在,算法的好壞在很大程度上決定了程序的優(yōu)劣。為了實現(xiàn)某種功能,通常可以采用多種算法,不同算法的復雜度和效率差別很大。選擇一種高效的算法或對算法進行優(yōu)化,可以使應用程序獲得更高的優(yōu)化性能。例如:在數(shù)據(jù)搜索時,二分查找法要比順序查找法快。遞歸程序需要大量的過程調用,并在堆棧中保存所有返回過程的局部變量,時間效率和空間效率都非常低;若根據(jù)實際情況對遞歸程序采用迭代、堆棧等方法進行非遞歸轉換,則可大幅度提高程序的性能。
  數(shù)據(jù)結構在程序的設計中也占有重要的地位。例如:如果在一些無序的數(shù)據(jù)中多次進行插入、刪除數(shù)據(jù)項操作,那么采用鏈表結構就會比較快。
  算法和數(shù)據(jù)結構優(yōu)化是的優(yōu)化技術。
  3.2 編譯優(yōu)化
  現(xiàn)在,很多的編譯器都具有一定的代碼優(yōu)化功能。在編譯時,借用并行程序設計技術,進行相關性分析;獲得源程序的語義信息,采用軟件流水線、數(shù)據(jù)規(guī)劃、循環(huán)重構等技術,自動進行一些與處理器體系無關的優(yōu)化,生成高質量的代碼。許多編譯器有不同級別的優(yōu)化選項,可以選用一種合適的優(yōu)化方式。通常情況下,如果選用了高級別的優(yōu)化方式,那么編譯器將片面追求代碼的優(yōu)化,有時會導致錯誤。
  另外,還有一些專用的編譯器針對某些體系結構進行了優(yōu)化設計,可以充分利用硬件資源來生成高質量的代碼。例如:Microsoft eMbedded Visual C++版的Intel編譯器*針對Intel XScale體系,經(jīng)過高度優(yōu)化,能創(chuàng)建運行速度更快的代碼。此編譯器采用了多種優(yōu)化技術,包括優(yōu)化指令管道操作的調度技術、雙重加載與存儲Intel XScale技術功能支持以及過程間優(yōu)化(將函數(shù)使用的變量存放到寄存器,以便快速訪問)等。
  在嵌入式軟件開發(fā)過程中應選擇一種優(yōu)化能力強的編譯器,充分利用其代碼優(yōu)化功能,生成高效的代碼,提高程序的運行效率。
  3.3 代碼優(yōu)化
  代碼優(yōu)化,就是采用匯編語言或更精簡的程序代碼來代替原有的代碼,使編譯后的程序運行效率更高。編譯器可以自動完成程序段和代碼塊范圍內的優(yōu)化,但很難獲取程序語義信息、算法流程和程序運行狀態(tài)信息,因而需要編程人員進行手工優(yōu)化。以下是一些常用的優(yōu)化技術和技巧。
  (1)代碼替換
  使用周期短的指令代替周期長的指令,以降低運算的強度。
  ①減少除法運算。用關系運算符兩邊乘除數(shù)避免除法操作,還有一些除法和取模的運算可以用位操作來代替。因為位操作指令只需一個指令周期,而“/”運算則需要調用子程序,代碼長,執(zhí)行慢。例如:
  優(yōu)化前if((a/b)>c)和a=a/4
  優(yōu)化后if(a>(b*c))和a=a>>2
  ②減少乘方運算。例如:
  優(yōu)化前a=pow(a,3.0)
  優(yōu)化后a=a*a*a
  ③使用白加、自減指令。例如:
  優(yōu)化前a=a+1、a=a-l
  優(yōu)化后a++、a--或inc、dec
  ④盡量使用小的數(shù)據(jù)類型。在所定義的變量滿足使用要求的條件下,優(yōu)先使用順序為:字符型(char)>整型(im)>長整型(long int)>浮點型(float)。
  對除法來說,使用無符號數(shù)比有符號數(shù)會有更高的效率。在實際調用中,盡量減少數(shù)據(jù)類型的強制轉換;少用浮點運算,如果運算的結果能夠控制在誤差之內,則可用長整型代替浮點型。
  (2)全局變量與局部變量
  少用全局變量,多用局部變量。全局變量是放在數(shù)據(jù)存儲器中的,定義了全局變量,MCU就少了一個可以利用的數(shù)據(jù)存儲器空間,太多的全局變量,會導致編譯器無足夠的內存分配;而局部變量則大多定位于MCU內部的寄存器中。在絕大多數(shù)的MCU中,使用寄存器的操作速度比數(shù)據(jù)存儲器快,指令也更靈活,有利于生成質量更高的代碼,而且局部變量所占用的寄存器和數(shù)據(jù)存儲器在不同的模塊中可以重復利用。
  (3)使用寄存器變量
  當一個變量被頻繁讀/寫時,需要反復訪問內存,花費大量的存取時間。為了提高訪問效率,可以使用CPU寄存器變量,不需要訪問內存,直接進行讀/寫。循環(huán)次數(shù)較多的循環(huán)控制變量及循環(huán)體內反復使用的變量均可定義為寄存器變量,而循環(huán)計數(shù)是應用寄存器變量的*。只有局部自動變量和形參才可以定義為寄存器變量。因為寄存器變量屬于動態(tài)存儲方式,因此凡需要采用靜態(tài)存儲方式的變量都不能定義為寄存器變量。寄存器變量的說明符是register。下面是一個采用寄存器變量的例子:
  (4)減少或避免執(zhí)行耗時的操作
  應用程序的大量運行時問通常花費在關鍵程序模塊,關鍵模塊往往包含循環(huán)或嵌套循環(huán)。減少循環(huán)中耗時的操作,可以提高程序的執(zhí)行速度。常見的耗時操作有:輸入/輸出操作、文件訪問、圖形界面操作和系統(tǒng)調用等。其中,如果無法避免文件的讀/寫,那么對文件的訪問將是影響程序運行速度的一大因素。提高文件訪問速度的方法有兩種:一種是采用內存映射文件;另一種是使用內存緩存。
  (5)switch語句用法的優(yōu)化
  編程時,對case值按照可能性排序,將最可能發(fā)生的情況放在第一個,最不可能的情況放在最后一個,可以提高switch語句塊的執(zhí)行速度。
  (6)循環(huán)體的優(yōu)化
  循環(huán)體是程序設計和優(yōu)化的重點,對于一些不需要循環(huán)變量參加運算的模塊,可以把它放到循環(huán)的外面。對于次數(shù)固定的循環(huán)體,for循環(huán)比while循環(huán)效率更高,減計數(shù)循環(huán)比增計數(shù)循環(huán)速度快。例如:
  實際運行時,每次循環(huán)需要在循環(huán)體外加兩條指令:一條減法指令(減少循環(huán)計數(shù)值)和一條條件分支指令。這些指令稱為“循環(huán)開銷”。在ARM處理器上,減法指令需要1個周期,條件分支指令需要3個周期,這樣每個循環(huán)另加了4個周期的開銷。可以采用循環(huán)展開的方法來提高循環(huán)運行的速度,即:重復循環(huán)主題多次,并按同樣的比例減少循環(huán)次數(shù)來減小循環(huán)的開銷,以增加代碼尺寸。來換取程序的運行速度。。
  (7)函數(shù)調用
  高效的調用函數(shù),盡量限制使用函數(shù)的參數(shù)個數(shù),不要超過4個。ARM調用時,4個以下的形參通過寄存器傳遞,第5個以上的形參通過存儲器棧傳遞。如果有更多的參數(shù)調用,則可將相關的參數(shù)組織在一個結構體內,用傳遞結構體指針來代替參數(shù)。
  (8)內聯(lián)函數(shù)和內嵌匯編
  對性能影響大的重要函數(shù)可以使用關鍵字_inline內聯(lián),會省去調用函數(shù)的開銷,負面影響是增加了代碼尺寸。程序中對時間要求苛刻的部分可以用內嵌匯編來編寫,通常可以帶來速度上的顯著提高。
  (9)查表代替計算
  在程序中盡量不進行非常復雜的運算,如浮點數(shù)的開方。對于這些消耗時間和資源的運算,可以采用空間換取時間的方法。預先將函數(shù)值計算出來,置于程序存儲區(qū)中,以后程序運行時直接查表即可,減小了程序執(zhí)行過程中重復計算的工作量。
  (10)使用針對硬件優(yōu)化的函數(shù)庫
  Intel公司為XScale處理器設計的GPP(Graphics Performance Primitives library)/IPP(Integrated Perform-ance Primitives library)庫,針對多媒體處理、圖形處理和數(shù)值運算的一些典型操作和算法進行了手工優(yōu)化,可以很好地發(fā)揮XScale硬件的計算潛能,達到很高的執(zhí)行效率。
  (11)利用硬件特性
  為了提高程序的運行效率,要充分利用硬件特性來減小其運行開銷,例如減少中斷次數(shù)、利用DMA傳輸方式等。
  CPU對各種存儲器的訪問速度排序依次為:CPU內部RAM>外部同步RAM>外部異步RAM>Flash/ROM。對于已經(jīng)燒錄在Flash或ROM中的程序代碼,如果讓CPU直接從中讀取代碼執(zhí)行,運行速度較慢,則可在系統(tǒng)啟動后將Flash或ROM中的目標代碼拷貝至RAM中后執(zhí)行,以提高程序的運行速度。
  4 結論
  嵌入式程序的性能優(yōu)化與軟件的開發(fā)周期、開發(fā)成本、軟件的可讀性之聞通常存在矛盾。要權衡利弊,作出折中的選擇。將算法和數(shù)據(jù)結構優(yōu)化作為選優(yōu)化技術;然后根據(jù)功能、性能差異和投資預算等因素選擇高效的編譯器、系統(tǒng)運行庫和圖形庫;使用性能監(jiān)測工具偵測占主要運行時間的程序熱點,采用代碼優(yōu)化手段對其進行優(yōu)化;最后使用高效的編譯器進行編譯優(yōu)化,從而得到高質量的代碼。

滬公網(wǎng)安備 31011802005521號

八戒福利WWW资源在线观看| 中文字幕无码日韩AV| 免费观看A级毛片视频| YIN荡护士揉捏乱P办公室视频| 色偷偷色噜噜狠狠网站30根| 国产性色强伦免费视频| 野花香视频在线观看免费高清版| 欧美噜噜久久久XXX| 大香煮伊在2020一二三久| 小鲜肉洗澡时自慰网站XNXX| 久久亚洲AV永久无码精品| M豆传媒有限公司观看| 无码AV中文字幕免费放| 久久精品国产99国产精品亚洲| AV无码久久久久不卡免费网站| 熟女内射婷婷直播| 精品亚洲国产成人小电影 | 国99久9在线 | 免费| 亚洲GAY片在线GV网站| 麻豆一区区三区四区产品麻豆| 办公室撕开奶罩揉吮奶头在线观看| 无码一区二区三区老色鬼| 久久精品中文騷妇女内射| ZOOM与人性ZOOM视频| 无遮挡粉嫩小泬久久久久久久久 | 国产精品美女久久久浪潮AV| 亚洲综合无码AV一区二区| 人人妻人人澡人人爽人人精品图片| 国产免费破外女真实出血视频| 瑜伽裤国产一区二区三区| 日小骚B少妇真舒服| 精品国产一区二区三区色欲| HERMES日本官网的网址| 香蕉久久久久久久AV网站| 蜜乳AV一区二区三区| 观看国产色欲色欲色欲WWW| 亚洲日韩AV无码中文| 人妻少妇被猛烈进入中文字幕| 国产一精品一AV一免费爽爽| 696969大但人文艺术主题| 无码精品A∨在线观看| 满月产奶1∨1POP骨科推荐| 干的你走不了路SB| 夜夜爽77777妓女免费看| 日韩久久久久久中文人妻| 精品人妻无码专区在中文字幕| YSL小金管水蜜桃色| 亚洲国产成人无码AV在线播放 | 亚洲人成自拍网站在线观看| 日本丰满熟妇乱XXXXX软件| 精品成品国色天香卡一卡三| 被黑人上司侵犯狂草内射| 亚洲加勒比无码一区二区| 日本XXXⅩ69XXXX护土| 精品久久久无码专区中文字幕| 波多野结衣AⅤ无码一区| 亚洲乱码av无码一区二区三区 | 欧洲精品码一区二区三区免费看| 国产婷婷成人久久Av免费高清| 999在线视频精品免费播放观看| 午夜影视啪啪免费体验区入口| 农村寡妇精品一区二区三区 | 色偷偷色噜噜狠狠网站久久| 久久无码人妻一区二区三区午夜| 国产成人A∨激情视频厨房| 在线VA无码中文字幕| 我把护士日出水了视频| 女教师娇喘潮喷抽搐在线视频| 国产一二三四区中| 变态另类AV手机版天堂| 野花免费观看日本韩国| 无码精品国产VA在线观看| 欧美成人V片观看| 狠狠躁夜夜躁青青草原| 处破女轻点疼丨8分钟| 又大又粗又爽ΑA级毛片| 西方最大但人文艺术| 人妻免费一区二区三区最新| 久久久久久久久精品无码中文字幕| 国产AV剧情MD精品麻豆| 7777色鬼XXXX欧美色妇| 亚洲大尺度专区无码浪潮AV| 色婷婷粉嫩AV精品综合在线| 蜜臀AV免费一区二区三区| 哈昂~哈昂够了太多了男男| 成熟人妻AV无码专区| 中文字幕在线亚洲日韩6页| 亚洲A∨无码男人的天堂| 日韩欧美午夜成人精品视频| 蜜桃av一区二区三区| 好男人HD免费观看| 伽罗ちゃんが腿法是什么意思| 50岁丰满女人裸体毛茸茸| 亚洲成人综合av| 天天爱天天做天天添天天欢| 欧美日韩亚洲中文字幕二区| 久久久久精品国产99久久综合| 国产麻豆精品一区| 成人欧美一区二区三区黑人牛| 永久免费AV网站| 亚洲第一狼人天堂网亚洲AV| 体育生爽擼雞巴CHINESE| 欧洲乱码一卡2卡三卡4卡高清| 久久久久久精品免费免费WER | 成人免费视频一区二区| 中文字日产幕码三区的做法步| 亚洲国产精品无码一区二区三区 | 全部免费特黄特色大片| 看娇妻被两朋友共用| 黑人巨大猛烈捣出白浆视频在线 | YY影院电视剧大全| 正在播放强揉爆乳女教师| 亚洲精品V天堂中文字幕| 无码人妻AⅤ一区二区三区夏目 | 中文字幕亚洲综合小综合在线| 亚洲精品无码AMM毛片| 无码中文字幕AV免费放| 色狠狠AV老熟女| 人妻少妇乱子伦精品无码专区毛片| 老熟妇高潮一区二区高清视频| 激情欧美成人久久综合| 国产精品视频一区二区| 成人影院YY111111在线观| 9久9久女女免费视频精品| 再灬再灬再灬深一点舒服| 亚洲久热无码中文字幕人妖| 性高朝久久久久久久| 双乳被一左一右吃着的感觉| 日本XXXX色视频在线观看免费,| 妺妺窝人体色www聚色窝仙踪| 久久国产精品无码一区二区三区| 国产在线拍偷自揄拍无码| 国产精品人人做人人爽人人添| 丰满人妻无码AⅤ一区二区| YY8090韩国理伦片在线| 99国产亚洲精品美女久久久久| 又黄又无遮挡AAAAA毛片| 亚洲人妻精品一区| 亚洲国产欧美在线人成APP | 日韩人妻系列无码专区| 人妻少妇不满足中文字幕| 欧美丰满熟妇XXXX| 免费无码又爽又刺激高潮的APP| 久久久亚洲欧洲日产国码ΑV | 无码成A∧人片在线播放| 日日摸夜夜添夜夜添无码免费视频 | 久久成人国产精品免费| 娇妻在客厅被朋友玩得呻吟动漫| 国产亚洲色婷婷久久99精品| 国产免费无遮挡吸奶头视频| 国产精品VIDEOSSEX久久发布| 丰满熟妇VIDEOSXXXX| 成人无码激情视频在线观看| 不卡AV电影在线| 被男狂揉吃奶胸60分钟视频| 凹厕所XXXXBBBB偷拍视频| おっさんとわたし天堂的资源 | 久久久综合九色合综| 久久精品人妻少妇一区二区| 精品人妻Av乱码一区二区| 精品国产免费第一区二区三区 | 国产精品99精品无码视亚| 国产精品18久久久久久不卡| 国产AV激情无码久久| 国产精华液一区二区区别| 国产精品白丝AV嫩草影院| 国产精品有码无码AV在线播放| 国产精品WWW夜色视频| 国产精品人人做人人爽| 国产日产欧产综合| 韩国日本三级在线观看| 狠狠躁夜夜躁人人爽天天BL| 精品高潮呻吟99AV无码| 久久精品国产亚洲AV蜜桃| 久久久久亚洲AV成人无码网站| 久久婷婷五月综合尤物色国产| 狼人香蕉毛片AV高潮视频| 乱码一卡2卡3卡4卡精品| 妺妺窝人体色www聚色窝| 欧美XXXX做受欧美GAY| 欧洲熟妇色XXXX欧美老妇性 | 欧美乱大交XXXXX在线观看| 欧美成人精品第一区| 热99RE久久国超精品首页| 人妻激情乱人伦视频| 日韩一区精品视频一区二区| 他一边曰一边吃我奶小说免看| 无码人妻AⅤ一区二区三区水密桃| 亚洲AⅤ男人的天堂在线观看| 亚洲AV无码熟妇在线观看| 亚洲日韩AV成人无码| 中国老太婆BB无套内射| 55岁大妈玩CSGO| 白嫩光屁股BBBBBBBBB| 丰满丝袜熟女HD| 国产欧美另类久久精品蜜芽| 精品9E精品视频在线观看| 久久香综合精品久久伊人| 哦┅┅快┅┅用力啊┅┅ | 美日韩AV成人影院|