中文名稱(chēng) | ARM SoC體系結(jié)構(gòu) | 外文名稱(chēng) | ARM System-on-chip Architecture |
---|---|---|---|
叢書(shū)名 | ARM系列叢書(shū) | 出版社 | 北京航空航天大學(xué)出版社 |
很深?yuàn)W
軟件體系結(jié)構(gòu)是具有一定形式的結(jié)構(gòu)化元素,即構(gòu)件的集合,包括處理構(gòu)件、數(shù)據(jù)構(gòu)件和連接構(gòu)件。處理構(gòu)件負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行加工,數(shù)據(jù)構(gòu)件是被加工的信息,連接構(gòu)件把體系結(jié)構(gòu)的不同部分組組合連接起來(lái)。這一定義注重區(qū)分...
計(jì)算機(jī)知識(shí)體系結(jié)構(gòu)
計(jì)算機(jī)體系結(jié)構(gòu)的定義:程序員所看到的計(jì)算機(jī)的屬性,即概念性結(jié)構(gòu)與功能特性。l按照計(jì)算機(jī)系統(tǒng)的多級(jí)層次結(jié)構(gòu),不同級(jí)程序員所看到的計(jì)算機(jī)具有不同的屬性。lAmdahl提出的體系結(jié)構(gòu):傳統(tǒng)機(jī)器級(jí)的體系結(jié)構(gòu)。...
格式:pdf
大?。?span id="l2ebfd2" class="single-tag-height">110KB
頁(yè)數(shù): 5頁(yè)
評(píng)分: 4.8
第 1 頁(yè) 共 5 頁(yè) SOC功能概述 一、 SOC功能概述 功能名稱(chēng) 簡(jiǎn)介 內(nèi)部數(shù)據(jù) 來(lái)源 外部數(shù)據(jù) 來(lái)源 接口 事件管理 安全事件管理主要完成對(duì)事件的集中收 集、管理和分析。主要的功能包括事件 收集、事件集中處理和實(shí)時(shí)關(guān)聯(lián)分析。 事件處理和關(guān)聯(lián)分析主要負(fù)責(zé)對(duì)事件進(jìn) 行標(biāo)準(zhǔn)化、集中存儲(chǔ)、合并、關(guān)聯(lián)分析 和統(tǒng)計(jì)。 對(duì)于事件的過(guò)濾、 歸并、關(guān)聯(lián)分析, SOC 提供了豐富的腳本定義語(yǔ)言,能定義任 何符合用戶(hù)需求的規(guī)則。 防火墻 入侵檢測(cè) UNIX主機(jī) 防毒 Windows 主機(jī) 網(wǎng)絡(luò)設(shè)備 其他安全 產(chǎn)品 文件方式 SNMP trap Syslog ODBC 網(wǎng)絡(luò) SOCKET OPSEC 第三方 agent 漏洞管理 漏洞管理實(shí)現(xiàn)對(duì)掃描任務(wù)、掃描報(bào)告的 定制和查看,可以展現(xiàn)漏洞名稱(chēng)、漏洞 影響端口、漏洞嚴(yán)重級(jí)別、漏洞相關(guān)資 產(chǎn)以及漏洞處理的相關(guān)措施,為企業(yè)安 全管理評(píng)估加固工作提供
格式:pdf
大?。?span id="2egxfpc" class="single-tag-height">110KB
頁(yè)數(shù): 未知
評(píng)分: 4.4
為了實(shí)時(shí)估算電池組SOC,分析了當(dāng)前SOC定義的局限性,并考慮電池組的結(jié)構(gòu)和單體電池的差異性,明確電池組SOC定義。提出基于結(jié)構(gòu)邏輯樹(shù)的電池組SOC估算模型,利用結(jié)構(gòu)邏輯樹(shù)描述電池組單體電池之間的邏輯關(guān)系,并基于結(jié)構(gòu)邏輯樹(shù)的運(yùn)算規(guī)則,實(shí)現(xiàn)電池組SOC的快速估算。實(shí)驗(yàn)證明,該模型能夠快速有效地估算電池組SOC。
---
有同學(xué)反映,我們視頻一上來(lái)就講干貨,希望適當(dāng)普及一下相關(guān)概念,這篇就是。
ARM處理器解析
ARM9、ARM11是哈佛5級(jí)流水線(xiàn)結(jié)構(gòu),所以性能要高一點(diǎn)。ARM9和ARM11大多帶內(nèi)存管理器,跑操作系統(tǒng)好一點(diǎn),ARM7適合裸奔。我們慣稱(chēng)的 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。
2
ARM7處理器和ARM9E處理器的流水線(xiàn)差別
對(duì)嵌入式系統(tǒng)設(shè)計(jì)者來(lái)說(shuō),硬件通常是第一考慮的因素。針對(duì)處理器來(lái)說(shuō),流水線(xiàn)則是硬件差別的最明顯標(biāo)志,不同的流水線(xiàn)設(shè)計(jì)會(huì)產(chǎn)生一系列硬件差異。
讓我們來(lái)比較一下ARM7和ARM9E的流水線(xiàn),ARM9E從ARM7的3級(jí)流水線(xiàn)增加到了5級(jí),ARM9E的流水線(xiàn)中容納了更多的邏輯操作,但是每一級(jí)的邏輯操作卻變得更為簡(jiǎn)單。
比如原來(lái) ARM7的第三級(jí)流水,需要先內(nèi)部讀取寄存器、然后進(jìn)行相關(guān)的邏輯和算術(shù)運(yùn)算,接著處理結(jié)果回寫(xiě),完成的動(dòng)作非常復(fù)雜;
而在ARM9E的5級(jí)流水中,寄存器讀取、邏輯運(yùn)算、結(jié)果回寫(xiě)分散在不同的流水當(dāng)中,使得每一級(jí)流水處理的動(dòng)作非常簡(jiǎn)潔。這就使得處理器的主頻可以大幅度地提高。因?yàn)槊恳患?jí)流水都對(duì)應(yīng) CPU的一個(gè)時(shí)鐘周期,如果一級(jí)流水中的邏輯過(guò)于復(fù)雜,使得執(zhí)行時(shí)間居高不下,必然導(dǎo)致所需的時(shí)鐘周期變長(zhǎng),造成CPU的主頻不能提升。所以流水線(xiàn)的拉長(zhǎng),有利于CPU主頻的提高。
在常用的芯片生產(chǎn)工藝下,ARM7一般運(yùn)行在100MHz左右,而ARM9E則至少在200MHz以上。
3
ARM9E處理器的存儲(chǔ)器子系統(tǒng)
像ARM926EJ 和ARM946E這兩個(gè)最常見(jiàn)的ARM9E處理器中,都帶有一套存儲(chǔ)器子系統(tǒng),以提高系統(tǒng)性能和支持大型操作系統(tǒng)。如圖2所示,一個(gè)存儲(chǔ)器子系統(tǒng)包含一個(gè) MMU(存儲(chǔ)器管理單元)或MPU(存儲(chǔ)器保護(hù)單元)、高速緩存(Cache)和寫(xiě)緩沖(Write Buffer);CPU通過(guò)該子系統(tǒng)與系統(tǒng)存儲(chǔ)器系統(tǒng)相連。
高速緩存和寫(xiě)緩存的引入是基于如下事實(shí),即處理器速度遠(yuǎn)遠(yuǎn)高于存儲(chǔ)器訪(fǎng)問(wèn)速度;如果存儲(chǔ)器訪(fǎng)問(wèn)成為系統(tǒng)性能的瓶頸,則處理器再快也是浪費(fèi),因?yàn)樘幚砥餍枰馁M(fèi)大量的時(shí)間在等待存儲(chǔ)器上面。
高速緩存正是用來(lái)解決這個(gè)問(wèn)題,它可以存儲(chǔ)最近常用的代碼和數(shù)據(jù),以最快的速度提供給CPU處理(CPU訪(fǎng)問(wèn)Cache不需要等待)。
4
復(fù)雜處理器內(nèi)部的存儲(chǔ)器子系統(tǒng)
MMU則是用來(lái)支持存儲(chǔ)器管理的硬件單元,滿(mǎn)足現(xiàn)代平臺(tái)操作系統(tǒng)內(nèi)存管理的需要;它主要包括兩個(gè)功能:一是支持虛擬/物理地址映射,二是提供不同存儲(chǔ)器地址空間的保護(hù)機(jī)制。
一個(gè)簡(jiǎn)單的例子可以幫助我們理解MMU的功能,在一個(gè)操作系統(tǒng)下,程序開(kāi)發(fā)人員都是在操作系統(tǒng)給定的API和編程模型下開(kāi)發(fā)程序;操作系統(tǒng)通常只開(kāi)放一個(gè)確定的存儲(chǔ)器地址空間給用戶(hù)。這樣就帶來(lái) 一個(gè)直接的問(wèn)題,所有的應(yīng)用程序都使用了相同的存儲(chǔ)器地址空間,如果這些程序同時(shí)啟動(dòng)的話(huà)(在現(xiàn)在的多任務(wù)系統(tǒng)中這是非常常見(jiàn)的),就會(huì)產(chǎn)生存儲(chǔ)器訪(fǎng)問(wèn)沖 突。那操作系統(tǒng)是如何來(lái)避免這個(gè)問(wèn)題的呢?
操作系統(tǒng)會(huì)利用MMU硬件單元完成存儲(chǔ)器訪(fǎng)問(wèn)虛擬地址到物理地址的轉(zhuǎn)換。所謂虛擬地址就是程序員在程序中使用的邏輯地址,而物理地址則是真實(shí)存儲(chǔ)器單元的空間地址。MMU通過(guò)一定的規(guī)則, 可以把相同的虛擬地址映射到不同的物理地址上去。這樣,即使有多個(gè)使用相同虛擬地址的程序進(jìn)程啟動(dòng),也可以通過(guò)MMU調(diào)度把它們映射到不同的物理地址上 去,不會(huì)造成系統(tǒng)錯(cuò)誤。
5
MMU的功能和作用
MMU 處理地址映射功能之外,還能給不同的地址空間設(shè)置不同的訪(fǎng)問(wèn)屬性。比如操作系統(tǒng)把自己的內(nèi)核程序地址空間設(shè)置為用戶(hù)模式下不可訪(fǎng)問(wèn),這樣的話(huà)用戶(hù)應(yīng)用程序就無(wú)法訪(fǎng)問(wèn)到該空間,從而保證操作系統(tǒng)內(nèi)核的安全性。
MPU與MMU的區(qū)別在于它只有給地址空間設(shè)置訪(fǎng)問(wèn)屬性的功能而沒(méi)有地址映射功能。Cache以及MMU等硬件單元的引入,給系統(tǒng)程序員的編程模型帶來(lái)了許多全新的變化。
除了需要掌握基本的概念和使用方法之外,下面幾個(gè)針對(duì)系統(tǒng)優(yōu)化的點(diǎn)既有趣又重要:
1.系統(tǒng)實(shí)時(shí)性考慮因素
為保存地址映射規(guī)則的頁(yè)表(Page Table)非常龐大,通常MMU中只是存儲(chǔ)器了常用的一小段頁(yè)表內(nèi)容,大部分頁(yè)表內(nèi)容都存儲(chǔ)于主存儲(chǔ)器里面;當(dāng)調(diào)用新的地址映射規(guī)則時(shí),MMU可能需要讀取主存儲(chǔ)器來(lái)更新頁(yè)表。
這在某些情況下會(huì)造成系統(tǒng)實(shí)時(shí)性的丟失。比如當(dāng)需要執(zhí)行一段關(guān)鍵的程序代碼時(shí),如果不巧這段代碼使用的地址空間不在當(dāng)前MMU的頁(yè)表處理范圍里面,則MMU首先需要更新頁(yè)表,然后完成地址映射,接著才能相應(yīng)存儲(chǔ)器訪(fǎng)問(wèn);
整個(gè)地址譯碼過(guò)程非常長(zhǎng),給實(shí)時(shí)性帶來(lái)非常大的不利影響。所以一般來(lái)說(shuō)帶MMU和Cache的系統(tǒng)在實(shí)時(shí)性上不如一些簡(jiǎn)單的處理器;不過(guò)也有一些辦法能夠幫助提高這些系統(tǒng)的實(shí)時(shí)效率。
一個(gè)簡(jiǎn)單的辦法是在需要的時(shí)候關(guān)閉MMU和Cache,這樣就變成一個(gè)簡(jiǎn)單處理器了,可以馬上提高系統(tǒng)實(shí)時(shí)性。當(dāng)然很多情況下這不可行;
在ARM的MMU和 Cache設(shè)計(jì)中,有一個(gè)鎖定的功能,就是說(shuō)你可以指定某一塊頁(yè)表在MMU中不會(huì)被更新掉,某一段代碼或數(shù)據(jù)可以在Cache中鎖定而不會(huì)被刷新掉;程序員可以利用這個(gè)功能來(lái)支持那些實(shí)時(shí)性要求最高的代碼,保證這些代碼始終能夠得到最快的響應(yīng)和支持。
2.系統(tǒng)軟件優(yōu)化
在嵌入式系統(tǒng)開(kāi)發(fā)中,很多系統(tǒng)軟件優(yōu)化的方法都是相同和通用的,多數(shù)情況下這種規(guī)則也適用于ARM9E架構(gòu)上。如果你已經(jīng)是一個(gè)ARM7的編程高手,那么恭喜你,以前你掌握的優(yōu)化方法完全可以用在新的ARM9E平臺(tái)上,但是會(huì)有一些新的特性需要你加倍注意。最重要的便是Cache的作用,Cache本身并不 帶來(lái)編程模型和接口的變化,但是如果我們考察Cache的行為,就能夠發(fā)現(xiàn)對(duì)于軟件優(yōu)化,Cache是有比較大的影響的。
Cache在物理上就是一塊高速SRAM,ARM9E的Cache組織寬度(cache line)都是4個(gè)word(也就是32個(gè)字節(jié));Cache的行為受系統(tǒng)控制器控制而不是程序員,系統(tǒng)控制器會(huì)把最近訪(fǎng)問(wèn)存儲(chǔ)器地址附近的內(nèi)容復(fù)制到Cache中去,這樣,當(dāng)CPU訪(fǎng)問(wèn)下一個(gè)存儲(chǔ)器單元的時(shí)候(這個(gè)訪(fǎng)問(wèn)既可能是取指,也可能是數(shù)據(jù)),可能這個(gè)存儲(chǔ)器單元的內(nèi)容已經(jīng)在Cache里了,所以CPU不需要真的到主存儲(chǔ)器上去讀取內(nèi)容,而直接讀取Cache高速緩存上面的內(nèi)容就可以了,從而加快了訪(fǎng)問(wèn)的速度。
從Cache的工作原理我們可以看 到,其實(shí)Cache的調(diào)度是基于概率的,CPU要訪(fǎng)問(wèn)的數(shù)據(jù)既可能在Cache中已經(jīng)存在(Cache hit),也可能沒(méi)有存在(Cache miss)。在Cache miss的情況下,CPU訪(fǎng)問(wèn)存儲(chǔ)器的速度會(huì)比沒(méi)有Cache的情況更壞,因?yàn)镃PU除了要從存儲(chǔ)器訪(fǎng)問(wèn)數(shù)據(jù)以外,還需要處理Cache hit或miss的判斷,以及Cache內(nèi)容的刷新等動(dòng)作。
只有當(dāng)Cache hit帶來(lái)的好處超過(guò)Cache miss帶來(lái)的犧牲的時(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ū)寫(xiě)太多過(guò)小的函數(shù)體,因?yàn)榫€(xiàn)性的程序執(zhí)行流程是最為Cache友好的。
循環(huán)體最好放置在4個(gè)word對(duì)齊的地址,這 樣就能保證循環(huán)體在Cache中是行對(duì)齊的,并且占用最少的Cache行數(shù),使得被多次調(diào)用的循環(huán)體得到更好的執(zhí)行效率。
6
性能和效率的提升
前面介紹了ARM9E相比于ARM7性能上的提高,這不僅表現(xiàn)在ARM9E有更快的主頻、更多的硬件特性上面,還體現(xiàn)在某些指令的執(zhí)行效率上面。執(zhí)行效率我 們可以用CPU的時(shí)鐘周期數(shù)(Cycle)來(lái)衡量;
運(yùn)行同一段程序,ARM9E的處理器可以比ARM7節(jié)省大約30%左右的時(shí)鐘周期。
效率的提高主要來(lái)自于ARM9E對(duì)于Load-Store指令執(zhí)行效率的增強(qiáng)。我們知道在RISC架構(gòu)的處理器中,程序中大約有30%的指令是Load- Store指令,這些指令的效率對(duì)系統(tǒng)效率的貢獻(xiàn)是最明顯的。
ARM9E中有兩個(gè)因素幫助提高Load-Store指令的效率:
1)ARM9內(nèi)核是哈佛架構(gòu),擁有獨(dú)立的指令和數(shù)據(jù)總線(xiàn);相對(duì)應(yīng),ARM7內(nèi)核的指令和數(shù)據(jù)總線(xiàn)復(fù)用的馮諾依曼架構(gòu)。
2)ARM9的5級(jí)流水線(xiàn)設(shè)計(jì)把存儲(chǔ)器訪(fǎng)問(wèn)和寄存器寫(xiě)回放在不同的流水上面。
兩者結(jié)合,使得在指令流的執(zhí)行過(guò)程中每個(gè)CPU時(shí)鐘周期都可以完成一個(gè)Load或Store指令。
下面的表格比較了ARM7和ARM9處理器之間的Load -Store指令。
從中可以看出所有的Store指令A(yù)RM9比ARM7省1個(gè)周期,Load指令可以省2個(gè)周期(在沒(méi)有互鎖的情況下,編譯工具能夠通過(guò) 編譯優(yōu)化消除大多數(shù)的互鎖可能)。
綜合各種因素,ARM9E處理器擁有非常強(qiáng)大的性能。但是在實(shí)際的系統(tǒng)設(shè)計(jì)中,設(shè)計(jì)人員并不總是把處理器性能開(kāi)到最大,理想情況是把處理器和系統(tǒng)運(yùn)行頻率降低,使得性能剛好能滿(mǎn)足應(yīng)用需求; 達(dá)到節(jié)省功耗和成本的目的。
在評(píng)估系統(tǒng)能夠提供的處理器能力過(guò)程中,DMIPS指標(biāo)被很多人采用; 同時(shí)它也被廣泛應(yīng)用于不同處理器間的性能比較。
但是用DMIPS來(lái)衡量處理器性能存在很大的缺陷。 DMIPS并非字面上每秒百萬(wàn)條指令的意思,它是一個(gè)測(cè)量CPU運(yùn)行一個(gè)叫Dhrystone的測(cè)試程序時(shí)表現(xiàn)出來(lái)的相對(duì)性能高低的一個(gè)單位(很多場(chǎng)合人們也習(xí)慣用MIPS作為這個(gè)性能指標(biāo)的單位)。因?yàn)榛诔绦虻臏y(cè)試容易受到惡意優(yōu)化的干擾,并且DMIPS指標(biāo)值的發(fā)布不受任何機(jī)構(gòu)的監(jiān)督,所以使用DMIPS進(jìn)行評(píng)估時(shí)要慎重。
例如對(duì)Dhrystone測(cè)試程序進(jìn)行不同的編譯處理,在同一個(gè)處理器上運(yùn)行也可以得出差別很大的結(jié)果。
DMIPS另外一個(gè)缺點(diǎn)是不能測(cè)量處理器的數(shù)字信號(hào)處理能力和Cache/MMU子系統(tǒng)的性能。因?yàn)镈hrystone測(cè)試程序不包含DSP表達(dá)式,只包含一些整型運(yùn)算和字符串處理,并且測(cè)試程序偏小,幾乎可以完整地放在Cache里面運(yùn)行而無(wú)需與外部存儲(chǔ)器進(jìn)行交互。這樣就難以反映處理器在一個(gè)真實(shí)系統(tǒng)中的真正性 能。
一種值得鼓勵(lì)的評(píng)估方法是站在系統(tǒng)的角度看問(wèn)題,而不僅僅拘泥于CPU本身;而系統(tǒng)性能評(píng)估最好的測(cè)試向量就是用戶(hù)應(yīng)用程序或相近的測(cè)試程序,這是用戶(hù)所需的最真實(shí)的結(jié)果。
7
ARM9E處理器的DSP運(yùn)算能力
伴隨應(yīng)用程序的多樣化和復(fù)雜化,諸如多媒體、音視頻功能在嵌入式系統(tǒng)里面也是全面開(kāi)花。這些應(yīng)用需要相當(dāng)?shù)腄SP處理能力;如果是在傳統(tǒng)的RISC架構(gòu)上實(shí) 現(xiàn)這些算法,所需的資源(頻率和存儲(chǔ)器等)會(huì)非常不經(jīng)濟(jì)。
ARM9E處理器一個(gè)非常重要的優(yōu)勢(shì)就是擁有輕量級(jí)的DSP處理能力,以非常小的成本(CPU增 加功能需要增加硬件)換來(lái)了非常實(shí)用的DSP性能。
因?yàn)镃PU的DSP能力并不直接反映在像DMIPS這樣的評(píng)測(cè)指標(biāo)中,同時(shí)像以前的ARM7處理器中也沒(méi)有類(lèi)似的概念;所以這一點(diǎn)對(duì)所有使用ARM9E處理器進(jìn)行開(kāi)發(fā)的人來(lái)說(shuō),都是需要注意的一個(gè)要點(diǎn)。
ARM9E的DSP擴(kuò)展指令,主要包括三個(gè)類(lèi)型:
1)單周期的16x16和32x16 MAC操作,因?yàn)閿?shù)字信號(hào)處理中甚少32位寬的操作數(shù),在32位寄存器中可以對(duì)操作數(shù)分段運(yùn)算顯得非常有用。
2)對(duì)原有的算術(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è)解碼過(guò)程中前端的三個(gè)步驟是運(yùn)算量最大的,包括比特流的讀入(解包)、霍夫曼譯碼還有反量化采樣(逆變換)。
ARM9E的 DSP指令正好可以高效地完成這些運(yùn)算。以44.1 KHz@128 kbps碼率的MP3音樂(lè)文件為例,ARM7TDMI需要占用20MHz以上的資源,
而ARM926EJ則只要小于10MHz的資源在從ARM7到ARM9的平臺(tái)轉(zhuǎn)變過(guò)程中,有一件事情是非常值得慶幸的,即ARM9E能夠完全地向后兼容ARM7上的軟件;并且開(kāi)發(fā)人員面對(duì)的編程模型和架構(gòu)基礎(chǔ)也保持一致。
但是畢竟ARM9E中增加了很多新的特性,為了充分利用這些新的資源,把系統(tǒng)性能優(yōu)化好,需要我們對(duì)ARM9E做更多深入地了解。
---end--
6月中旬來(lái)了,有同學(xué)詢(xún)問(wèn)我們的淘寶店鋪是否搞降價(jià)活動(dòng),這里統(tǒng)一回復(fù):產(chǎn)品定價(jià)已經(jīng)很親民,我們不打價(jià)格戰(zhàn),和往年一樣,不參加618大促,目前只有現(xiàn)金獎(jiǎng)勵(lì)活動(dòng)(點(diǎn)擊下面標(biāo)題了解詳情):
【有獎(jiǎng)活動(dòng)】完成課后作業(yè):裸機(jī)測(cè)試界面, 贏取獎(jiǎng)金2000元人民幣,
按要求完成最高可獲得2000元現(xiàn)金獎(jiǎng)勵(lì)~,適合時(shí)間充裕還可以賺外快補(bǔ)貼生活費(fèi)的在校生,何樂(lè)而不為?
41人加群,據(jù)小編了解目前已有好幾個(gè)人正在寫(xiě)代碼...你還在等什么?
免責(zé)聲明:本文系網(wǎng)絡(luò)轉(zhuǎn)載,有改動(dòng),版權(quán)歸原作者所有。如涉及作品版權(quán)問(wèn)題,請(qǐng)與我們聯(lián)系,我們將根據(jù)您提供的版權(quán)證明材料確認(rèn)版權(quán)并支付稿酬或者刪除內(nèi)容。
ARM7簡(jiǎn)介
ARM7系列處理器是英國(guó)ARM公司設(shè)計(jì)的主流嵌入式處理器ARM7內(nèi)核是0.9MIPS/MHz的三級(jí)流水線(xiàn)和馮·諾伊曼結(jié)構(gòu);ARM9內(nèi)核是5級(jí)流水線(xiàn),提供1.1MIPS/MHz的哈佛結(jié)構(gòu)。ARM7沒(méi)有MMU。
ARM7系列包括ARM7TDMI、ARM7TDMI-S、帶有高速緩存處理器宏單元的ARM720T。該系列處理器提供Thumb16位壓縮指令集和EmbededICE軟件調(diào)試方式,適用于更大規(guī)模的SoC設(shè)計(jì)中。ARM7TDMI基于ARM體系結(jié)構(gòu)V4版本,是目前低端的ARM核。
ARM7TDMI處理器是ARM通用32位微處理器家族的成員之一。它具有優(yōu)異的性能,但功耗卻很低,使用門(mén)的數(shù)量也很少。它屬于精簡(jiǎn)指令集計(jì)算機(jī)(RISC),比復(fù)雜指令集計(jì)算機(jī)(CISC)要簡(jiǎn)單得多。這樣的簡(jiǎn)化實(shí)現(xiàn)了:高的指令吞吐量;出色的實(shí)時(shí)中斷響應(yīng);小的、高性?xún)r(jià)比的處理器宏單元。三級(jí)流水線(xiàn):ARM7TDMI處理器使用流水線(xiàn)來(lái)增加處理器指令流的速度。這樣可使幾個(gè)操作同時(shí)進(jìn)行,并使處理和存儲(chǔ)器系統(tǒng)連續(xù)操作,能提供0.9MIPS/MHz的指令執(zhí)行速度。ARM7TDMI的流水線(xiàn)分3級(jí),分別為:取指、?譯碼、?執(zhí)行。正常操作過(guò)程中,在執(zhí)行一條指令的同時(shí)對(duì)下一條指令進(jìn)行譯碼,并將第三條指令從存儲(chǔ)器中取出。內(nèi)同時(shí)有5個(gè)指令在執(zhí)行。在同樣的加工工藝下,ARM9TDMI處理器的時(shí)鐘頻率是ARM7TDMI的1.8~2.2倍。
ARM9簡(jiǎn)介
ARM9系列處理器是英國(guó)ARM公司設(shè)計(jì)的主流嵌入式處理器,主要包括ARM9TDMI和ARM9E-S等系列。
ARM9采用哈佛體系結(jié)構(gòu),指令和數(shù)據(jù)分屬不同的總線(xiàn),可以并行處理。在流水線(xiàn)上,ARM7是三級(jí)流水線(xiàn),ARM9是五級(jí)流水線(xiàn)。由于結(jié)構(gòu)不同,ARM7的執(zhí)行效率低于ARM9。平時(shí)所說(shuō)的ARM7、ARM9實(shí)際上指的是ARM7TDMI、ARM9TDMI軟核,這種處理器軟核并不帶有MMU和cache,不能夠運(yùn)行諸如linux這樣的嵌入式操作系統(tǒng)。而ARM公司對(duì)這種架構(gòu)進(jìn)行了擴(kuò)展,所以有了ARM710T、ARM720T、ARM920T、ARM922T等帶有MMU和cache的處理器內(nèi)核。
ARM9處理能力
(1)時(shí)鐘頻率的提高
ARM7處理器采用3級(jí)流水線(xiàn),而ARM9采用5級(jí)流水線(xiàn)。增加的流水線(xiàn)設(shè)計(jì)提高了時(shí)鐘頻率和并行處理能力。5級(jí)流水線(xiàn)能夠?qū)⒚恳粋€(gè)指令處理分配到5個(gè)時(shí)鐘周期內(nèi),在每一個(gè)時(shí)鐘周期內(nèi)同時(shí)有5個(gè)指令在執(zhí)行。在同樣的加工工藝下,ARM9TDMI處理器的時(shí)鐘頻率是ARM7TDMI的1.8~2.2倍。
(2)指令周期的改進(jìn)
指令周期的改進(jìn)對(duì)于處理器性能的提高有很大的幫助。性能提高的幅度依賴(lài)于代碼執(zhí)行時(shí)指令的重疊,這實(shí)際上是程序本身的問(wèn)題。對(duì)于采用最高級(jí)的語(yǔ)言,一般來(lái)說(shuō),性能的提高在30%左右。
UCOS簡(jiǎn)介
μC/OS II(Micro-Controller OperaTIng System Two)是一個(gè)可以基于ROM運(yùn)行的、可裁剪的、搶占式、實(shí)時(shí)多任務(wù)內(nèi)核,具有高度可移植性,特別適合于微處理器和控制器,適合很多商業(yè)操作系統(tǒng)性能相當(dāng)?shù)膶?shí)時(shí)操作系統(tǒng)(RTOS)。為了提供最好的移植性能,μC/OS II最大程度上使用ANSI C語(yǔ)言進(jìn)行開(kāi)發(fā),并且已經(jīng)移植到近40多種處理器體系上,涵蓋了從8位到64位各種CPU(包括DSP)。 μC/OS II可以簡(jiǎn)單的視為一個(gè)多任務(wù)調(diào)度器,在這個(gè)任務(wù)調(diào)度器之上完善并添加了和多任務(wù)操作系統(tǒng)相關(guān)的系統(tǒng)服務(wù),如信號(hào)量、郵箱等。其主要特點(diǎn)有公開(kāi)源代碼,代碼結(jié)構(gòu)清晰、明了,注釋詳盡,組織有條理,可移植性好,可裁剪,可固化。內(nèi)核屬于搶占式,最多可以管理60個(gè)任務(wù)。從1992年開(kāi)始,由于高度可靠性、魯棒性和安全性,μC/OS II已經(jīng)廣泛使用在從照相機(jī)到航空電子產(chǎn)品的各種應(yīng)用中。
μC/OS-II實(shí)時(shí)多任務(wù)操作系統(tǒng)內(nèi)核。它被廣泛應(yīng)用于微處理器、微控制器和數(shù)字信號(hào)處理器。 μC/OS-II 的前身是μC/OS,最早出自于1992 年美國(guó)嵌入式系統(tǒng)專(zhuān)家Jean J.Labrosse 在《嵌入式系統(tǒng)編程》雜志的5 月和6 月刊上刊登的文章連載,并把μC/OS 的源碼發(fā)布在該雜志的B B S 上。
UCOS應(yīng)用情況
1) 高優(yōu)先級(jí)的任務(wù)因?yàn)樾枰撤N臨界資源,主動(dòng)請(qǐng)求掛起,讓出處理器,此時(shí)將調(diào)度就緒狀態(tài)的低優(yōu)先級(jí)任務(wù)獲得執(zhí)行,這種調(diào)度也稱(chēng)為任務(wù)級(jí)的上下文切換。
2) 高優(yōu)先級(jí)的任務(wù)因?yàn)闀r(shí)鐘節(jié)拍到來(lái),在時(shí)鐘中斷的處理程序中,內(nèi)核發(fā)現(xiàn)高優(yōu)先級(jí)任務(wù)獲得了執(zhí)行條件(如休眠的時(shí)鐘到時(shí)),則在中斷態(tài)直接切換到高優(yōu)先級(jí)任務(wù)執(zhí)行。這種調(diào)度也稱(chēng)為中斷級(jí)的上下文切換。 這兩種調(diào)度方式在μC/OS-II的執(zhí)行過(guò)程中非常普遍,一般來(lái)說(shuō)前者發(fā)生在系統(tǒng)服務(wù)中,后者發(fā)生在時(shí)鐘中斷的服務(wù)程序中。 調(diào)度工作的內(nèi)容可以分為兩部分:最高優(yōu)先級(jí)任務(wù)的尋找和任務(wù)切換。其最高優(yōu)先級(jí)任務(wù)的尋找是通過(guò)建立就緒任務(wù)表來(lái)實(shí)現(xiàn)的。μ C / O S 中的每一個(gè)任務(wù)都有獨(dú)立的堆棧空間,并有一個(gè)稱(chēng)為任務(wù)控制塊TCB(Task Control Block)的數(shù)據(jù)結(jié)構(gòu),其中第一個(gè)成員變量就是保存的任務(wù)堆棧指針。任務(wù)調(diào)度模塊首先用變量OSTCBHighRdy 記錄當(dāng)前最高級(jí)就緒任務(wù)的TCB 地址,然后調(diào)用OS_TASK_SW函數(shù)來(lái)進(jìn)行任務(wù)切換。
ARM9系列處理器是英國(guó)ARM公司設(shè)計(jì)的主流嵌入式處理器,主要包括ARM9TDMI和ARM9E-S等系列。