色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

5RJg_mcuworld ? 來源:未知 ? 作者:李倩 ? 2018-05-21 08:57 ? 次閱讀

1

ARM處理器解析

ARM9、ARM11是哈佛結構,5級流水線結構,所以性能要高一點。ARM9和ARM11大多帶內存管理器,跑操作系統好一點,ARM7適合裸奔。我們慣稱的 ARM9系列中又存在ARM9與ARM9E兩個系列,其中ARM9 屬于ARM v4T架構,典型處理器如ARM9TDMI和ARM922T;而ARM9E屬于ARM v5TE架構,典型處理器如ARM926EJ和ARM946E。因為后者的芯片數量和應用更為廣泛,所以我們提到ARM9的時候更多地是特指ARM9E系列處理器(主要就是ARM926EJ和ARM946E這兩款處理器)。下面關于ARM9的介紹也是更多地集中于ARM9E。

2

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

嵌入式系統設計者來說,硬件通常是第一考慮的因素。針對處理器來說,流水線則是硬件差別的最明顯標志,不同的流水線設計會產生一系列硬件差異。

讓我們來比較一下ARM7和ARM9E的流水線,ARM9E從ARM7的3級流水線增加到了5級,ARM9E的流水線中容納了更多的邏輯操作,但是每一級的邏輯操作卻變得更為簡單。比如原來 ARM7的第三級流水,需要先內部讀取寄存器、然后進行相關的邏輯和算術運算,接著處理結果回寫,完成的動作非常復雜;而在ARM9E的5級流水中,寄存器讀取、邏輯運算、結果回寫分散在不同的流水當中,使得每一級流水處理的動作非常簡潔。這就使得處理器的主頻可以大幅度地提高。因為每一級流水都對應 CPU的一個時鐘周期,如果一級流水中的邏輯過于復雜,使得執行時間居高不下,必然導致所需的時鐘周期變長,造成CPU的主頻不能提升。所以流水線的拉長,有利于CPU主頻的提高。在常用的芯片生產工藝下,ARM7一般運行在100MHz左右,而ARM9E則至少在200MHz以上。

3

ARM9E處理器的存儲器子系統

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

高速緩存和寫緩存 的引入是基于如下事實,即處理器速度遠遠高于存儲器訪問速度;如果存儲器訪問成為系統性能的瓶頸,則處理器再快也是浪費,因為處理器需要耗費大量的時間在 等待存儲器上面。高速緩存正是用來解決這個問題,它可以存儲最近常用的代碼和數據,以最快的速度提供給CPU處理(CPU訪問Cache不需要等待)。

4

復雜處理器內部的存儲器子系統

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

操作系統會利用MMU硬件單元完成 存儲器訪問虛擬地址到物理地址的轉換。所謂虛擬地址就是程序員在程序中使用的邏輯地址,而物理地址則是真實存儲器單元的空間地址。MMU通過一定的規則, 可以把相同的虛擬地址映射到不同的物理地址上去。這樣,即使有多個使用相同虛擬地址的程序進程啟動,也可以通過MMU調度把它們映射到不同的物理地址上 去,不會造成系統錯誤。

5

MMU的功能和作用

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

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

1.系統實時性考慮因素

為保存地址映射規則的頁表(Page Table)非常龐大,通常MMU中只是存儲器了常用的一小段頁表內容,大部分頁表內容都存儲于主存儲器里面;當調用新的地址映射規則時,MMU可能需要 讀取主存儲器來更新頁表。

這在某些情況下會造成系統實時性的丟失。比如當需要執行一段關鍵的程序代碼時,如果不巧這段代碼使用的地址空間不在當前MMU的 頁表處理范圍里面,則MMU首先需要更新頁表,然后完成地址映射,接著才能相應存儲器訪問;整個地址譯碼過程非常長,給實時性帶來非常大的不利影響。所以一般來說帶MMU和Cache的系統在實時性上不如一些簡單的處理器;不過也有一些辦法能夠幫助提高這些系統的實時效率。

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

2.系統軟件優化

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

Cache 在物理上就是一塊高速SRAM,ARM9E的Cache組織寬度(cache line)都是4個word(也就是32個字節);Cache的行為受系統控制器控制而不是程序員,系統控制器會把最近訪問存儲器地址附近的內容復制到 Cache中去,這樣,當CPU訪問下一個存儲器單元的時候(這個訪問既可能是取指,也可能是數據),可能這個存儲器單元的內容已經在Cache里了,所 以CPU不需要真的到主存儲器上去讀取內容,而直接讀取Cache高速緩存上面的內容就可以了,從而加快了訪問的速度。

從Cache的工作原理我們可以看 到,其實Cache的調度是基于概率的,CPU要訪問的數據既可能在Cache中已經存在(Cache hit),也可能沒有存在(Cache miss)。在Cache miss的情況下,CPU訪問存儲器的速度會比沒有Cache的情況更壞,因為CPU除了要從存儲器訪問數據以外,還需要處理Cache hit或miss的判斷,以及Cache內容的刷新等動作。只有當Cache hit帶來的好處超過Cache miss帶來的犧牲的時候,系統的整體性能才能得到提高,所以Cache的命中率成為一個非常重要的優化指標。

根據Cache行為的特點,我們可以直觀地得到提高Cache命中率的一些方法,如盡可能把功能相關的代碼和數據放置在一起,減少跳轉次數;跳轉經常會引起 Cache miss。保持合適的函數大小,不要書寫太多過小的函數體,因為線性的程序執行流程是最為Cache友好的。循環體最好放置在4個word對齊的地址,這 樣就能保證循環體在Cache中是行對齊的,并且占用最少的Cache行數,使得被多次調用的循環體得到更好的執行效率。

6

性能和效率的提升

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

效率的提高主要來自于ARM9E對于Load-Store指令執行效率的增強。我們知道在RISC架構的處理器中,程序中大約有30%的指令是Load- Store指令,這些指令的效率對系統效率的貢獻是最明顯的。ARM9E中有兩個因素幫助提高Load-Store指令的效率:

1)ARM9內核是哈佛架構,擁有獨立的指令和數據總線;相對應,ARM7內核是指令和數據總線復用的馮諾依曼架構。

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

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

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

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

DMIPS 另外一個缺點是不能測量處理器的數字信號處理能力和Cache/MMU子系統的性能。因為Dhrystone測試程序不包含DSP表達式,只包含一些整型 運算和字符串處理,并且測試程序偏小,幾乎可以完整地放在Cache里面運行而無需與外部存儲器進行交互。這樣就難以反映處理器在一個真實系統中的真正性 能。

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

7

ARM9E處理器的DSP運算能力

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

因為CPU的DSP能力并不直接反映在像DMIPS這樣的評測指標中,同時像以前的ARM7處理器中也沒有類似的概念;所以這一點對所有使用ARM9E處理器進行開發的人來說,都是需要注意的一個要點。

ARM9E的DSP擴展指令,主要包括三個類型:

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

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

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19259

    瀏覽量

    229653
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9084

    瀏覽量

    367390
  • 存儲器
    +關注

    關注

    38

    文章

    7484

    瀏覽量

    163765

原文標題:一文詳解ARM7、ARM9和ARM11的區別

文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ARM處理器的發展歷程

    TDMI基于ARM體系結構V4版本,是目前低端的ARM核。-ARM9處理器系列 ARM9采用哈佛體系結構,指令和數據分屬不同的總線,可以并
    發表于 12-16 19:24

    什么是ARM處理器 ARM處理器有哪些系列

    包括 幾種內存管理單元的變種,包括簡單的內存保護到復雜的頁面層次。ARM處理器系列包括 ARM7 系列、ARM9 系列、ARM9E 系列
    發表于 09-24 17:47

    ARM7 系列微處理器有哪些特點

    ARM7 系列微處理器是低功耗的 32 位 RISC 處理器,最適合用于對價位和功耗要求較低 的消費類應用。ARM7 系列有如下特點。具有嵌入式 ICE-RT(Internet
    發表于 09-25 11:20

    ARM9E系列微處理器處理高速數字信號處理效果如何?

    ARM9E 系列微處理器的主要特點如下。支持 DSP 指令集,適合于需要高速數字信號處理的場合。5級流水線,指令執行效率更高。 支持 32 位 AR
    發表于 09-26 09:36

    ARM9處理器ARM7處理器有什么區別?

    ARM9系列處理器是英國ARM公司設計的主流嵌入式處理器,主要包括ARM9TDMI和ARM9E-
    發表于 10-09 07:30

    一文把ARM7ARM9ARM11的區別解釋清楚

    處理器ARM9E處理器流水線差別對嵌入式系統設計者來說,硬件通常是第一考慮的因素。針對處理器
    發表于 10-20 17:10

    ARM流水線有什么作用

    看到匯編中很多關于程序返回與中斷返回時處理地址都很特別,仔細想想原來是流水線作用的效果。所以,決定總結學習下ARM流水線。ARM7
    發表于 07-16 06:53

    ARM處理器有哪些性能呢

    ARM處理器都是RISC結構,單周期操作,指令流水線,使用加載或存儲指令訪問內存。ARM7采用馮-諾依曼結構,3級流水線
    發表于 12-21 07:16

    ARM7使用3級流水線來增加處理器指令流的速度

    的參數是1.25 DMips/MHZ,CPU的最高頻率為72MHz,也就是說CPU滿負荷運行時,速度為 72*1.25 = 90MIPS,也就是1秒可執行9000萬條執行,非常非??臁?ARM7處理器
    發表于 05-17 10:06

    請問RISC處理器ARM7處理器的區別在哪

    請問RISC處理器ARM7處理器的區別在哪?求大神解答
    發表于 06-30 17:51

    ARM9處理器ARM7處理器比較

    摘要:ARM處理器是世界上最流行的嵌入式處理器,廣泛應用于個人通信等嵌入式領域。ARM7處理器雖然功能強大,但是目前已經開始退出主流應用
    發表于 03-11 12:21 ?1355次閱讀
    <b class='flag-5'>ARM9</b><b class='flag-5'>處理器</b>與<b class='flag-5'>ARM7</b><b class='flag-5'>處理器</b>比較

    ARM Cortex-M1處理器構架介紹

    Cortex-M1處理器流水線三級32位RISC處理器,采用了流行的高密度Thumb?-2指令集。它同時支持處理器和軟件要求,滿足了最小FPGA的面積預算,同時兼容從
    發表于 11-30 16:35 ?6508次閱讀
    <b class='flag-5'>ARM</b> Cortex-M1<b class='flag-5'>處理器</b>構架介紹

    初識ARM系列處理器

    分享到:標簽:微處理器 ARM ARM7 ARM9 SecurCore 1.3 初識ARM系列處理器
    發表于 10-18 15:51 ?3次下載

    淺談ARM處理器的特點和體系結構

    ARM處理器包括ARM7、ARM9、ARM9EARM10E、SecurCore、以及Int
    發表于 04-03 11:17 ?1.7w次閱讀

    ARM9處理器從哪些方面保證了FIQ異常響應的快速性?

    如何保證FIQ異常響應的快速性:管道設計、分支預測、寄存窗口、Cache設計、定時設計等。 一、管道設計 ARM9處理器采用6級流水線
    的頭像 發表于 10-19 16:36 ?912次閱讀
    主站蜘蛛池模板: 秘密教学93话恩爱久等了免费| 最新精品国产| 和I儿媳妇激情| 亚洲精品无码午夜福利在线观看| 国产系列在线亚洲视频| 亚洲第一成年人网站| 国产亚洲精品A久久777777| 亚洲成A人片在线观看中文L| 国产免费播放一区二区三区| 亚欧成人毛片一区二区三区四区 | 国产成人精品免费视频大全可播放的 | 美国z0069| 97人妻在线公开视频在线观看| 免费人成网站在线观看10分钟| 99久视频只有精品2019| 欧美最猛性xxxxx亚洲精品| 成人在线免费视频观看| 手机在线观看毛片| 国产亚洲精品香蕉视频播放| 亚洲中文无码AV在线观看| 久久只精品99品免费久| 99精品成人无码A片观看金桔| 青草伊人久久| 国产精品 日韩精品 欧美| 亚洲大码熟女在线| 久久99热狠狠色AV蜜臀| 67194成在线观看免费| 青青草狠狠干| 国产久青青青青在线观看| 亚洲无吗在线视频| 蜜桃麻豆WWW久久囤产精品免费| xxxx88| 午夜福利32集云播| 九九在线免费视频| 99精品视频在线观看免费| 日本性xxx| 国产在线播放不卡| 2021年国产精品久久| 日本午夜精品理论片A级APP发布| 国产麻豆精品人妻无码A片| 伊人大香人妻在线播放|