国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

Linux嵌入應(yīng)用:ARM體系結(jié)構(gòu)的技術(shù)特征

2024-08-27 23:57:40
字體:
供稿:網(wǎng)友

在開發(fā)設(shè)計第一個ARM芯片時,當(dāng)時的一些機器如Digital PDP-8、Cray-1和IBM 801在設(shè)計時早就提出了RISC的概念,并且在其后發(fā)展中有了許多RISC的特征,但RISC惟一的例子仍只有Berkeley的RISC I和II及Stanford的MIPS(Microprocessor without Interlocking Pipeline Stages, 無互鎖流水線處理器),而它們當(dāng)時僅僅用于教學(xué)和研究。

ARM處理器是第一個為商業(yè)用途而開發(fā)的RISC微處理器。ARM所采用的體系結(jié)構(gòu),對于當(dāng)時的RISC體系結(jié)構(gòu)既有繼承,又有拋棄,即完全根據(jù)實際設(shè)計的需要仔細研究,沒有機械照搬。ARM的體系結(jié)構(gòu)中采用了若干Berkeley RISC處理器設(shè)計的特征,但也放棄了其他若干特征。這些采用的特征有:

·Load/Store體系結(jié)構(gòu)

·固定的32位指令

·3地址指令格式

在Berkeley RISC設(shè)計采用的特征中被ARM設(shè)計者放棄的RISC的技術(shù)特征有:

·寄存器窗口

在早期的RISC中,由于Berkeley原型機中包含了寄存器窗口,使得寄存器窗口的機制密切地伴隨著RISC的概念,成為一般RISC的一大特征。Berkeley RISC處理器的寄存器堆中使用寄存器窗口,使得任何時候總有32個寄存器是可見的。進程進入和退出都訪問新的一組寄存器,因此減少了因寄存器保存和恢復(fù)導(dǎo)致的處理器和存儲器之間的數(shù)據(jù)擁塞和時間開銷。這是擁有寄存器窗口的優(yōu)點。但是寄存器窗口的存在以大量寄存器占用較多的芯片資源為代價,使得芯片成本增加,因此在ARM處理器設(shè)計時未采用寄存器窗口。盡管在ARM中用來處理異常的影子(shadow)寄存器和窗口寄存器在概念上基本相同,但是在異常模式下對進程進行處理時,影子寄存器的數(shù)量是很少的。

·延遲轉(zhuǎn)移

由于轉(zhuǎn)移中斷了指令流水線的平滑流動而造成了流水線的“斷流”問題,多數(shù)RISC處理器采用延遲轉(zhuǎn)移來改善這一問題,即在后續(xù)指令執(zhí)行后才進行轉(zhuǎn)移。在原來的ARM中延遲轉(zhuǎn)移并沒有采用,因為它使異常處理過程更加復(fù)雜。

·所有指令單周期執(zhí)行

ARM被設(shè)計為使用最少的時鐘周期來訪問存儲器,但并不是所有指令都單周期執(zhí)行。如在低成本的ARM應(yīng)用領(lǐng)域中普遍使用的ARM7TDMI,數(shù)據(jù)和指令占有同一總線,使用同一存儲器時,即使最簡單的Load和Store指令也最少需要訪問2次存儲器(1次取指令,1次數(shù)據(jù)讀/寫)。當(dāng)訪問存儲器需要超過一個周期時,就多用一個周期。因此,并不是所有ARM指令都在單一時鐘周期內(nèi)執(zhí)行的,少數(shù)指令需要多個時鐘周期。高性能的ARM9TDMI使用分開的數(shù)據(jù)和指令寄存器,才有可能把Load和Store指令的指令存儲器和數(shù)據(jù)訪問存儲器操作單周期執(zhí)行。

最初的ARM設(shè)計最關(guān)心的是必須保持設(shè)計的簡單性。ARM的簡單性在ARM的硬件組織和實現(xiàn)上比指令集的結(jié)構(gòu)上體現(xiàn)得更明顯。把簡單的硬件和指令集結(jié)合起來,這是RISC體系的思想基礎(chǔ);但是ARM仍然保留一些CISC的特征,并且因此達到了比純粹的RISC更高的代碼密度,使得ARM在開始時就獲得其功率效率和較小的核面積的優(yōu)勢。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 石屏县| 克拉玛依市| 济宁市| 乐平市| 武定县| 天津市| 鄂伦春自治旗| 称多县| 弥勒县| 静乐县| 兴海县| 定远县| 扶绥县| 江油市| 察隅县| 黄平县| 剑阁县| 天长市| 四子王旗| 韶关市| 孝义市| 泊头市| 云阳县| 襄垣县| 北流市| 石嘴山市| 讷河市| 沂南县| 嘉峪关市| 襄城县| 田阳县| 南部县| 客服| 逊克县| 兴城市| 蕉岭县| 阳高县| 乌拉特前旗| 饶河县| 阳山县| 石棉县|