Arm內(nèi)核由哪些結(jié)構(gòu)組成和特點(diǎn)介紹
ARM內(nèi)核采用精簡(jiǎn)指令集結(jié)構(gòu)(RISC,Reduced Instruction Set Computer)體系結(jié)構(gòu)。RISC技術(shù)產(chǎn)生于上世紀(jì)70年代。其目標(biāo)是設(shè)計(jì)出一套能在高時(shí)鐘頻率下單周期執(zhí)行、簡(jiǎn)單而有效的指令集,RISC的設(shè)計(jì)重點(diǎn)在于降低硬件執(zhí)行指令的復(fù)雜度,這是因?yàn)檐浖扔布菀滋峁└蟮撵`活性和更高的智能。與其相對(duì)的傳統(tǒng)復(fù)雜指令級(jí)計(jì)算機(jī)(CISC)則更側(cè)重于硬件執(zhí)行指令的功能性,使CISC指令變得更復(fù)雜。
RISC的設(shè)計(jì)思想主要有以下特性。
· Load/Store體系結(jié)構(gòu)。
Load/Store體系結(jié)構(gòu)也稱為寄存器/寄存器體系結(jié)構(gòu)或者RR系統(tǒng)結(jié)構(gòu)。在這類機(jī)器中,操作數(shù)和運(yùn)算結(jié)果不是通過(guò)主存儲(chǔ)器直接取回而是借用大量標(biāo)量和矢量寄存器來(lái)取回的。與RR體系結(jié)構(gòu)相反,還有一種存儲(chǔ)器/存儲(chǔ)器體系結(jié)構(gòu),在這種體系結(jié)構(gòu)中,源操作數(shù)的中間值和最后的運(yùn)算結(jié)果是直接從主存儲(chǔ)器中取回的。這類機(jī)器的縮寫符號(hào)是SS體系結(jié)構(gòu)。
· 固定長(zhǎng)度指令。
固定長(zhǎng)度指令使得機(jī)器譯碼變得比較容易。由于指令簡(jiǎn)單,需要更多的指令來(lái)完成相同的工作,但是隨著存儲(chǔ)器存取速度的提高,處理器可以更快地執(zhí)行較大代碼段(即大量指令)。
· 硬聯(lián)控制。
RISC機(jī)以硬聯(lián)控制指令為特點(diǎn),而CISC的微代碼指令則相反。使用CISC(常常是可變長(zhǎng)度的)指令集時(shí)處理器的語(yǔ)義效率最大,而簡(jiǎn)單指令往往容易被機(jī)器翻譯。像CISC那樣通過(guò)執(zhí)行較少指令來(lái)完成工作未必省時(shí),因?yàn)檫€要包括微代碼譯碼所需要的時(shí)間。因此,由硬件實(shí)現(xiàn)指令在執(zhí)行時(shí)間方面提供了更好的平衡。除此之外,還節(jié)省了芯片上用于存儲(chǔ)微代碼的空間并且消除了翻譯微代碼所需的時(shí)間。
· 流水線。
指令的處理過(guò)程被拆分為幾個(gè)更小的、能夠被流水線并行執(zhí)行的單元。在理想情況下,流水線每周期前進(jìn)一步,可獲得更高的吞吐率。
· 寄存器。
RICS處理器擁有更多的通用寄存器,每個(gè)寄存器都可存放數(shù)據(jù)或地址。寄存器可為所有的數(shù)據(jù)操作提供快速的局部存儲(chǔ)訪問(wèn)。
采用RISC架構(gòu)的ARM微處理器一般具有如下特點(diǎn):
支持Thumb(16位)/ARM(32位)雙指令集,能很好的兼容8位/16位器件。Thumb指令集比通常的8位和16位CISC/RISC處理器具有更好的代碼密度;
● 指令執(zhí)行采用3級(jí)流水線/5級(jí)流水線技術(shù);
● 帶有指令Cache和數(shù)據(jù)Cache,大量使用寄存器,指令執(zhí)行速度更快。大多數(shù)數(shù)據(jù)操作都在寄存器中完成。尋址方式靈活簡(jiǎn)單,執(zhí)行效率高。指令長(zhǎng)度固定(在ARM狀態(tài)下是32位,在Thumb狀態(tài)下是16位);
● 支持大端格式和小端格式兩種方法存儲(chǔ)字?jǐn)?shù)據(jù);
● 支持Byte(字節(jié),8位)、Halfword(半字,16位)和Word(字,32位)三種數(shù)據(jù)類型。
● 支持用戶、快中斷、中斷、管理、中止、系統(tǒng)和未定義等7種處理器模式,除了用戶模式外,其余的均為特權(quán)模式;
● 處理器芯片上都嵌入了在線仿真ICE-RT邏輯,便于通過(guò)JTAG來(lái)仿真調(diào)試ARM體系結(jié)構(gòu)芯片,可以避免使用昂貴的在線仿真器。另外,在處理器核中還可以嵌入跟蹤宏單元ETM,用于監(jiān)控內(nèi)部總線,實(shí)時(shí)跟蹤指令和數(shù)據(jù)的執(zhí)行;
● 具有片上總線AMBA(Advanced Micro-controller Bus Architecture)。 AMBA定義了3組總線:先進(jìn)高性能總線AHB(Advanced High performance Bus);先進(jìn)系統(tǒng)總線ASB(Advanced System Bus);先進(jìn)外圍總線APB(Advanced Peripheral Bus)。通過(guò)AMBA可以方便地?cái)U(kuò)充各種處理器及I/O,可以把DSP、其他處理器和I/O(如UART、定時(shí)器和接口等)都集成在一塊芯片中;
● 采用存儲(chǔ)器映像I/O的方式,即把I/O端口地址作為特殊的存儲(chǔ)器地址;
● 具有協(xié)處理器接口。ARM允許接16個(gè)協(xié)處理器,如CP15用于系統(tǒng)控制,CP14用于調(diào)試控制器;
● 采用了降低電源電壓,可工作在3.0V以下;減少門的翻轉(zhuǎn)次數(shù),當(dāng)某個(gè)功能電路不需要時(shí)禁止門翻轉(zhuǎn);減少門的數(shù)目,即降低芯片的集成度;降低時(shí)鐘頻率等一些措施降低功耗;
● 體積小、低成本、高性能。