日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀] 一.RISC設計思想ARM內核采用RISC體系結構。RISC是一種設計思想,其目標是設計出一套能在高時鐘頻率下單周期執(zhí)行,簡單而有效的指令集。RISC的設計重點在于由硬件執(zhí)行的指令的復雜度,這是因為軟件比硬件容易提供更大

 一.RISC設計思想

ARM內核采用RISC體系結構。RISC是一種設計思想,其目標是設計出一套能在高時鐘頻率下單周期執(zhí)行,簡單而有效的指令集。RISC的設計重點在于由硬件執(zhí)行的指令的復雜度,這是因為軟件比硬件容易提供更大的靈活性和更高的智能。因此,RISC設計對編譯器有更高的要求;相反,傳統(tǒng)的復雜指令集的計算機(CISC)則更側重于硬件執(zhí)行指令的功能性,使CISC變得更復雜。

RISC設計思想主要由下面4個設計準則來實現(xiàn):

·指令集

RISC處理器減少了指令種類,每條指令的長度都是固定的,允許流水線在當前指令譯碼階段去取其下一條指令;而CISC處理器中,指令的長度通常不固定,執(zhí)行也需要多個周期。

·流水線

在理想情況下,流水線每周期前進一步,可獲得最高的吞吐率;而CISC指令的執(zhí)行需要調用微代碼的一個微程序。

·寄存器

RISC處理器擁有更多的通用寄存器,每個寄存器都可存放數(shù)據(jù)或地址。寄存器可為所有的數(shù)據(jù)操作提供快速的局部存儲訪問;而CISC處理器都是用于特定目的的專用 處理器。

·load-store結構

處理器只能處理寄存器中的數(shù)據(jù)。獨立的load和store指令用來完成數(shù)據(jù)在寄存器和外部存儲器之間的傳送。因為訪問存儲器很耗時,所以把存儲器訪問和數(shù)據(jù)處理分開。這樣有一個好處,那就是可反復地使用保存在寄存器中的數(shù)據(jù),而避免多次訪問存儲器。相反,在CISC結構中,處理器能夠直接處理存儲器中的數(shù)據(jù)。

二.ARM設計思想

為降低功耗,ARM處理器已被特殊設計成較小的核,較高的代碼密度。ARM內核不是一個純粹的RISC體系結構,這是為了使它能夠更好的適應其主要應用領域-嵌入式系統(tǒng)。在某種意義上,甚至可以認為ARM內核的成功,正是因為它沒有在RISC概念上沉入太深?,F(xiàn)在系統(tǒng)的關鍵并不在于單純的處理器速度,而在于有效的系統(tǒng)性能和功耗。

面向嵌入式系統(tǒng)的指令集

·一些特定指令的周期數(shù)可變

例如:多寄存器裝載/存儲的load/store指令的執(zhí)行周期就是不確定的

·內嵌桶形移位器產(chǎn)生了更為復雜的指令

·Thumb 16位指令集

·條件執(zhí)行

·增強指令

三.高效的C編程

1)C數(shù)據(jù)類型的有效用法

·對于存放在寄存器中的局部變量,除了8位或16位的算數(shù)模運算符外,盡量不要使用char和short類型。而要使用有符號或者無符號的int類型。除法運算時使用無符號數(shù)執(zhí)行速度更快。

·對于存放在主存儲器中的數(shù)組和全局變量,在滿足數(shù)據(jù)大小的前提下,應盡可能使用小尺寸的數(shù)據(jù)類型,這樣做可以節(jié)省存儲空間。ARMv4體系結構可以有效的裝載和存儲所有寬度的數(shù)據(jù),并可以使用遞增數(shù)組的指針來有效的訪問數(shù)組。對于short類型數(shù)組,要避免使用數(shù)組基地址的偏移,因為LDRH指令不支持偏移尋址。

·由于隱式或者顯式的數(shù)據(jù)類型轉換通常會有額外的指令周期開銷,所以在表達式中應盡量避免使用。load和store指令一般不會產(chǎn)生額外的轉換開銷,因為load和store指令是自動完成數(shù)據(jù)類型轉換的。

·對于函數(shù)參數(shù)和返回值應盡量避免使用char和short類型。即使參數(shù)范圍比較小,也應該使用int類型,以防止編譯器做不必要的類型轉換。

2)高效的編寫循環(huán)體

·使用減計數(shù)到零的循環(huán)結構,這樣編譯器就不需要分配一個寄存器來保存循環(huán)中止值,而且與0比較的指令也可以省略。

·使用無符號的循環(huán)計數(shù)值,循環(huán)繼續(xù)的條件為i!=0而不是i>0,這樣可以保證循環(huán)開銷只有兩條指令。、

·如果事先知道循環(huán)體至少會執(zhí)行一次,那么使用do-while循環(huán)要比for循環(huán)好,這樣可以使編譯器省去檢查循環(huán)計數(shù)值是否為0的步驟。

·展開重要的循環(huán)體可降低循環(huán)開銷,但不要過度展開,如果循壞的開銷對整個程序來說占的比例很小,那么循環(huán)展開反而會增加代碼量并降低cache性能。

·盡量使數(shù)組的大小是4或8的倍數(shù),這樣就可以容易地以2,4,8次等多種選擇展開循環(huán),而不需要擔心剩余數(shù)組元素的問題。

3)高效的寄存器分配

·應該盡量限制函數(shù)內部循環(huán)所用局部變量的數(shù)目,最多不超過12個,這樣,編譯器就可以把這些變量都分配給ARM寄存器。

·可以引導編譯器,通過查看是否屬于最內層循環(huán)變量來確定某個變量的重要性

4)高效的調用函數(shù)

·盡量限制函數(shù)參數(shù)不要超過4個,這樣函數(shù)調用的效率會更高。也可以將幾個相關的參數(shù)組織在一個結構體中,用傳遞結構體指針來代替多個參數(shù)。

·把比較小的被調用函數(shù)和調用函數(shù)放在同一個原文件中,并且要先定義,后調用,編譯器就可以優(yōu)化函數(shù)調用或者內聯(lián)較小的函數(shù)。

·對性能影響較大的重要函數(shù)可使用關鍵字_inline進行內聯(lián)。

5)避免指針別名

·不要依賴編譯器來消除包含存儲訪問的公共子表達式,而應建立一個新的局部變量來保存這個表達式的值,這樣可以保證只對這個表達式求職一次。

·避免使用局部變量的地址,否則對這個變量的訪問效率會比較低。

6)高效的結構體安排

·結構體元素要按照元素的大小來排列,以最小的元素放在開始,最大的元素安排在最后。

·避免使用很大的結構體,可以使用層次化的小結構體來代替。

·為了提高可移植性,人工對API的結構體添加填充位,這樣,結構體的安排將不會依賴于編譯器。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉