www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]ARM7是馮諾依慢結(jié)構(gòu),三級流水線結(jié)構(gòu) ARM9、ARM11是哈佛結(jié)構(gòu),5級流水線結(jié)構(gòu),所以性能要高一點(diǎn)。

ARM處理器解析

ARM7是馮諾依慢結(jié)構(gòu),三級流水線結(jié)構(gòu)

ARM9、ARM11是哈佛結(jié)構(gòu),5級流水線結(jié)構(gòu),所以性能要高一點(diǎn)。

ARM9和ARM11大多帶內(nèi)存管理器,跑操作系統(tǒng)好一點(diǎn),ARM7適合裸奔。

我們慣稱的 ARM9系列中又存在ARM9與ARM9E兩個(gè)系列,其中ARM9 屬于ARM v4T架構(gòu),典型處理器如ARM9TDMI和ARM922T;而ARM9E屬于ARM v5TE架構(gòu),典型處理器如ARM926EJ和ARM946E。因?yàn)楹笳叩男酒瑪?shù)量和應(yīng)用更為廣泛,所以我們提到ARM9的時(shí)候更多地是特指ARM9E系 列處理器(主要就是ARM926EJ和ARM946E這兩款處理器)。下面關(guān)于ARM9的介紹也是更多地集中于ARM9E。

ARM7處理器和ARM9E處理器的流水線差別

對嵌入式系統(tǒng)設(shè)計(jì)者來說,硬件通常是第一考慮的因素。針對處理器來說,流水線則是硬件差別的最明顯標(biāo)志,不同的流水線設(shè)計(jì)會(huì)產(chǎn)生一系列硬件差異。

讓我們來比較一下ARM7和ARM9E的流水線,ARM9E從ARM7的3級流水線增加到了5級,ARM9E的流水線中容納了更多的邏輯操作,但是每一級的邏輯操作卻變得更為簡單。比如原來 ARM7的第三級流水,需要先內(nèi)部讀取寄存器、然后進(jìn)行相關(guān)的邏輯和算術(shù)運(yùn)算,接著處理結(jié)果回寫,完成的動(dòng)作非常復(fù)雜;而在ARM9E的5級流水中,寄存 器讀取、邏輯運(yùn)算、結(jié)果回寫分散在不同的流水當(dāng)中,使得每一級流水處理的動(dòng)作非常簡潔。這就使得處理器的主頻可以大幅度地提高。因?yàn)槊恳患壛魉紝?yīng) CPU的一個(gè)時(shí)鐘周期,如果一級流水中的邏輯過于復(fù)雜,使得執(zhí)行時(shí)間居高不下,必然導(dǎo)致所需的時(shí)鐘周期變長,造成CPU的主頻不能提升。所以流水線的拉 長,有利于CPU主頻的提高。在常用的芯片生產(chǎn)工藝下,ARM7一般運(yùn)行在100MHz左右,而ARM9E則至少在200MHz以上。

ARM9E處理器的存儲器子系統(tǒng)

像ARM926EJ 和ARM946E這兩個(gè)最常見的ARM9E處理器中,都帶有一套存儲器子系統(tǒng),以提高系統(tǒng)性能和支持大型操作系統(tǒng)。如圖2所示,一個(gè)存儲器子系統(tǒng)包含一個(gè) MMU(存儲器管理單元)或MPU(存儲器保護(hù)單元)、高速緩存(Cache)和寫緩沖(Write Buffer);CPU通過該子系統(tǒng)與系統(tǒng)存儲器系統(tǒng)相連。

高速緩存和寫緩存 的引入是基于如下事實(shí),即處理器速度遠(yuǎn)遠(yuǎn)高于存儲器訪問速度;如果存儲器訪問成為系統(tǒng)性能的瓶頸,則處理器再快也是浪費(fèi),因?yàn)樘幚砥餍枰馁M(fèi)大量的時(shí)間在 等待存儲器上面。高速緩存正是用來解決這個(gè)問題,它可以存儲最近常用的代碼和數(shù)據(jù),以最快的速度提供給CPU處理(CPU訪問Cache不需要等待)。

復(fù)雜處理器內(nèi)部的存儲器子系統(tǒng)

MMU則是用來支持存儲器管理的硬件單元,滿足現(xiàn)代平臺操作系統(tǒng)內(nèi)存管理的需要;它主要包括兩個(gè)功能:一是支持虛擬/物理地址映射,二是提供不同存儲器地址空間的保護(hù)機(jī)制。一個(gè)簡單的例子可以幫助我們理解MMU的功能,在一個(gè)操作系統(tǒng)下,程序開發(fā)人員都是在操作系統(tǒng)給定的API和編程模型下開發(fā)程序;操作系統(tǒng)通常只開放一個(gè)確定的存儲器地址空間給用戶。這樣就帶來 一個(gè)直接的問題,所有的應(yīng)用程序都使用了相同的存儲器地址空間,如果這些程序同時(shí)啟動(dòng)的話(在現(xiàn)在的多任務(wù)系統(tǒng)中這是非常常見的),就會(huì)產(chǎn)生存儲器訪問沖 突。那操作系統(tǒng)是如何來避免這個(gè)問題的呢?

操作系統(tǒng)會(huì)利用MMU硬件單元完成 存儲器訪問虛擬地址到物理地址的轉(zhuǎn)換。所謂虛擬地址就是程序員在程序中使用的邏輯地址,而物理地址則是真實(shí)存儲器單元的空間地址。MMU通過一定的規(guī)則, 可以把相同的虛擬地址映射到不同的物理地址上去。這樣,即使有多個(gè)使用相同虛擬地址的程序進(jìn)程啟動(dòng),也可以通過MMU調(diào)度把它們映射到不同的物理地址上 去,不會(huì)造成系統(tǒng)錯(cuò)誤。

MMU的功能和作用

MMU 處理地址映射功能之外,還能給不同的地址空間設(shè)置不同的訪問屬性。比如操作系統(tǒng)把自己的內(nèi)核程序地址空間設(shè)置為用戶模式下不可訪問,這樣的話用戶應(yīng)用程序 就無法訪問到該空間,從而保證操作系統(tǒng)內(nèi)核的安全性。MPU與MMU的區(qū)別在于它只有給地址空間設(shè)置訪問屬性的功能而沒有地址映射功能。

Cache以及MMU等硬件單元的引入,給系統(tǒng)程序員的編程模型帶來了許多全新的變化。除了需要掌握基本的概念和使用方法之外,下面幾個(gè)針對系統(tǒng)優(yōu)化的點(diǎn)既有趣又重要:

1、系統(tǒng)實(shí)時(shí)性考慮因

 為保存地址映射規(guī)則的頁表(Page Table)非常龐大,通常MMU中只是存儲器了常用的一小段頁表內(nèi)容,大部分頁表內(nèi)容都存儲于主存儲器里面;當(dāng)調(diào)用新的地址映射規(guī)則時(shí),MMU可能需要 讀取主存儲器來更新頁表。這在某些情況下會(huì)造成系統(tǒng)實(shí)時(shí)性的丟失。比如當(dāng)需要執(zhí)行一段關(guān)鍵的程序代碼時(shí),如果不巧這段代碼使用的地址空間不在當(dāng)前MMU的 頁表處理范圍里面,則MMU首先需要更新頁表,然后完成地址映射,接著才能相應(yīng)存儲器訪問;整個(gè)地址譯碼過程非常長,給實(shí)時(shí)性帶來非常大的不利影響。所以 一般來說帶MMU和Cache的系統(tǒng)在實(shí)時(shí)性上不如一些簡單的處理器;不過也有一些辦法能夠幫助提高這些系統(tǒng)的實(shí)時(shí)效率。

一個(gè)簡單的辦法是在需要的時(shí)候關(guān)閉MMU和Cache,這樣就變成一個(gè)簡單處理器了,可以馬上提高系統(tǒng)實(shí)時(shí)性。當(dāng)然很多情況下這不可行;在ARM的MMU和 Cache設(shè)計(jì)中,有一個(gè)鎖定的功能,就是說你可以指定某一塊頁表在MMU中不會(huì)被更新掉,某一段代碼或數(shù)據(jù)可以在Cache中鎖定而不會(huì)被刷新掉;程序 員可以利用這個(gè)功能來支持那些實(shí)時(shí)性要求最高的代碼,保證這些代碼始終能夠得到最快的響應(yīng)和支持。

2、系統(tǒng)軟件優(yōu)化

在嵌入式系統(tǒng)開發(fā)中,很多系統(tǒng)軟件優(yōu)化的方法都是相同和通用的,多數(shù)情況下這種規(guī)則也適用于ARM9E架構(gòu)上。如果你已經(jīng)是一個(gè)ARM7的編程高手,那么恭 喜你,以前你掌握的優(yōu)化方法完全可以用在新的ARM9E平臺上,但是會(huì)有一些新的特性需要你加倍注意。最重要的便是Cache的作用,Cache本身并不 帶來編程模型和接口的變化,但是如果我們考察Cache的行為,就能夠發(fā)現(xiàn)對于軟件優(yōu)化,Cache是有比較大的影響的。

Cache 在物理上就是一塊高速SRAM,ARM9E的Cache組織寬度(cache line)都是4個(gè)word(也就是32個(gè)字節(jié));Cache的行為受系統(tǒng)控制器控制而不是程序員,系統(tǒng)控制器會(huì)把最近訪問存儲器地址附近的內(nèi)容復(fù)制到 Cache中去,這樣,當(dāng)CPU訪問下一個(gè)存儲器單元的時(shí)候(這個(gè)訪問既可能是取指,也可能是數(shù)據(jù)),可能這個(gè)存儲器單元的內(nèi)容已經(jīng)在Cache里了,所 以CPU不需要真的到主存儲器上去讀取內(nèi)容,而直接讀取Cache高速緩存上面的內(nèi)容就可以了,從而加快了訪問的速度。從Cache的工作原理我們可以看 到,其實(shí)Cache的調(diào)度是基于概率的,CPU要訪問的數(shù)據(jù)既可能在Cache中已經(jīng)存在(Cache hit),也可能沒有存在(Cache miss)。在Cache miss的情況下,CPU訪問存儲器的速度會(huì)比沒有Cache的情況更壞,因?yàn)镃PU除了要從存儲器訪問數(shù)據(jù)以外,還需要處理Cache hit或miss的判斷,以及Cache內(nèi)容的刷新等動(dòng)作。只有當(dāng)Cache hit帶來的好處超過Cache miss帶來的犧牲的時(shí)候,系統(tǒng)的整體性能才能得到提高,所以Cache的命中率成為一個(gè)非常重要的優(yōu)化指標(biāo)。

根 據(jù)Cache行為的特點(diǎn),我們可以直觀地得到提高Cache命中率的一些方法,如盡可能把功能相關(guān)的代碼和數(shù)據(jù)放置在一起,減少跳轉(zhuǎn)次數(shù);跳轉(zhuǎn)經(jīng)常會(huì)引起 Cache miss。保持合適的函數(shù)大小,不要書寫太多過小的函數(shù)體,因?yàn)榫€性的程序執(zhí)行流程是最為Cache友好的。循環(huán)體最好放置在4個(gè)word對齊的地址,這 樣就能保證循環(huán)體在Cache中是行對齊的,并且占用最少的Cache行數(shù),使得被多次調(diào)用的循環(huán)體得到更好的執(zhí)行效率。

性能和效率的提升

前面介紹了ARM9E相比于ARM7性能上的提高,這不僅表現(xiàn)在ARM9E有更快的主頻、更多的硬件特性上面,還體現(xiàn)在某些指令的執(zhí)行效率上面。執(zhí)行效率我 們可以用CPU的時(shí)鐘周期數(shù)(Cycle)來衡量;運(yùn)行同一段程序,ARM9E的處理器可以比ARM7節(jié)省大約30%左右的時(shí)鐘周期。

效率的提高主要來自于ARM9E對于Load-Store指令執(zhí)行效率的增強(qiáng)。我們知道在RISC架構(gòu)的處理器中,程序中大約有30%的指令是Load- Store指令,這些指令的效率對系統(tǒng)效率的貢獻(xiàn)是最明顯的。ARM9E中有兩個(gè)因素幫助提高Load-Store指令的效率:

1)ARM9內(nèi)核是哈佛架構(gòu),擁有獨(dú)立的指令和數(shù)據(jù)總線;相對應(yīng),ARM7內(nèi)核是指令和數(shù)據(jù)總線復(fù)用的馮?諾依曼架構(gòu)。

2)ARM9的5級流水線設(shè)計(jì)把存儲器訪問和寄存器寫回放在不同的流水上面。

兩者結(jié)合,使得在指令流的執(zhí)行過程中每個(gè)CPU時(shí)鐘周期都可以完成一個(gè)Load或Store指令。下面的表格比較了ARM7和ARM9處理器之間的Load -Store指令。從中可以看出所有的Store指令A(yù)RM9比ARM7省1個(gè)周期,Load指令可以省2個(gè)周期(在沒有互鎖的情況下,編譯工具能夠通過 編譯優(yōu)化消除大多數(shù)的互鎖可能)。

綜合各種因素,ARM9E處理器擁有非常強(qiáng)大的性能。但是在實(shí)際的系統(tǒng)設(shè)計(jì)中,設(shè)計(jì)人員并不總是把處理器性能開到最大,理想情況是把處理器和系統(tǒng)運(yùn)行頻率降低,使得性能剛好能滿足應(yīng)用需求;達(dá)到節(jié)省功耗和成本的目的。在評估系統(tǒng)能夠提供的處理器能力過程中,DMIPS指標(biāo)被很多人采用;同時(shí)它也被廣泛應(yīng)用于不同處理器間的性能比較。

但是用DMIPS來衡量處理器性能存在很大的缺陷。 DMIPS并非字面上每秒百萬條指令的意思,它是一個(gè)測量 CPU運(yùn)行一個(gè)叫Dhrystone的測試程序時(shí)表現(xiàn)出來的相對性能高低的一個(gè)單位(很多場合人們也習(xí)慣用MIPS作為這個(gè)性能指標(biāo)的單位)。因?yàn)榛诔?序的測試容易受到惡意優(yōu)化的干擾,并且DMIPS指標(biāo)值的發(fā)布不受任何機(jī)構(gòu)的監(jiān)督,所以使用DMIPS進(jìn)行評估時(shí)要慎重。例如對Dhrystone測試程 序進(jìn)行不同的編譯處理,在同一個(gè)處理器上運(yùn)行也可以得出差別很大的結(jié)果。

DMIPS 另外一個(gè)缺點(diǎn)是不能測量處理器的數(shù)字信號處理能力和Cache/MMU子系統(tǒng)的性能。因?yàn)镈hrystone測試程序不包含DSP表達(dá)式,只包含一些整型 運(yùn)算和字符串處理,并且測試程序偏小,幾乎可以完整地放在Cache里面運(yùn)行而無需與外部存儲器進(jìn)行交互。這樣就難以反映處理器在一個(gè)真實(shí)系統(tǒng)中的真正性 能。

一種值得鼓勵(lì)的評估方法是站在系統(tǒng)的角度看問題,而不僅僅拘泥于CPU本身;而系統(tǒng)性能評估最好的測試向量就是用戶應(yīng)用程序或相近的測試程序,這是用戶所需的最真實(shí)的結(jié)果。

ARM9E處理器的DSP運(yùn)算能力

伴 隨應(yīng)用程序的多樣化和復(fù)雜化,諸如多媒體、音視頻功能在嵌入式系統(tǒng)里面也是全面開花。這些應(yīng)用需要相當(dāng)?shù)腄SP處理能力;如果是在傳統(tǒng)的RISC架構(gòu)上實(shí) 現(xiàn)這些算法,所需的資源(頻率和存儲器等)會(huì)非常不經(jīng)濟(jì)。ARM9E處理器一個(gè)非常重要的優(yōu)勢就是擁有輕量級的DSP處理能力,以非常小的成本(CPU增 加功能需要增加硬件)換來了非常實(shí)用的DSP性能。

因?yàn)镃PU的DSP能力并不直接反映在像DMIPS這樣的評測指標(biāo)中,同時(shí)像以前的ARM7處理器中也沒有類似的概念;所以這一點(diǎn)對所有使用ARM9E處理器進(jìn)行開發(fā)的人來說,都是需要注意的一個(gè)要點(diǎn)。

ARM9E的DSP擴(kuò)展指令,主要包括三個(gè)類型。

1)單周期的16x16和32x16 MAC操作,因?yàn)閿?shù)字信號處理中甚少32位寬的操作數(shù),在32位寄存器中可以對操作數(shù)分段運(yùn)算顯得非常有用。

2)對原有的算術(shù)運(yùn)算指令增加了飽和處理擴(kuò)展,所謂飽和運(yùn)算,就是當(dāng)運(yùn)算結(jié)果大于一個(gè)上限或小于一個(gè)下限時(shí),結(jié)果就等于上限或是下限;飽和處理在音頻數(shù)據(jù)和視頻像素處理中普遍使用,現(xiàn)在一條單周期飽和運(yùn)算指令就能夠完成普通RISC指令“運(yùn)算-判斷-取值”這一系列操作。

3)前導(dǎo)零(CLZ)運(yùn)算指令,提高了歸一化和浮點(diǎn)運(yùn)算以及除法操作的性能。

以 流行的MP3解碼程序?yàn)槔U麄€(gè)解碼過程中前端的三個(gè)步驟是運(yùn)算量最大的,包括比特流的讀入(解包)、霍夫曼譯碼還有反量化采樣(逆變換)。ARM9E的 DSP指令正好可以高效地完成這些運(yùn)算。以44.1 KHz@128 kbps碼率的MP3音樂文件為例,ARM7TDMI需要占用20MHz以上的資源,而ARM926EJ則只要小于10MHz的資源在 從ARM7到ARM9的平臺轉(zhuǎn)變過程中,有一件事情是非常值得慶幸的,即ARM9E能夠完全地向后兼容ARM7上的軟件;并且開發(fā)人員面對的編程模型和架 構(gòu)基礎(chǔ)也保持一致。但是畢竟ARM9E中增加了很多新的特性,為了充分利用這些新的資源,把系統(tǒng)性能優(yōu)化好,需要我們對ARM9E做更多深入地了解。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉