ARM處理器

1、RISC處理器:

RISC (Reduced Instruction Set Computer) 微處理器是一種計算機微處理器架構,其設計原則是通過簡化指令集來提高執行速度。

(1)、RISC處理器的設計理念:

  • 簡化指令集:RISC 微處理器的指令集非常精簡,每條指令都執行一個基本的操作。這有助于簡化處理器的硬件設計和流水線執行,從而提高指令的執行速度。
  • 以寄存器為中心:RISC 微處理器使用大量的寄存器來存儲和處理數據。因為指令集精簡,需要頻繁從內存中加載數據的次數減少,從而減少了內存訪問的延遲,提高了性能。
  • 流水線架構:RISC 微處理器通常采用流水線執行指令的方式,將指令的執行分為多個階段,使得在同一時刻可以有多條指令在不同階段同時執行。這樣可以提高處理器的吞吐量。
  • 延遲槽:一些RISC架構在分支指令后會有一個延遲槽,允許在分支指令執行前執行緊跟在后面的指令。這有助于減少因分支預測錯誤而造成的性能損失。
  • 加載/存儲架構:RISC 微處理器通常使用加載/存儲架構,意味著大部分操作都在寄存器上執行,而不是直接在內存中操作數據。這可以提高內存訪問的效率。
  • 硬件多線程:一些RISC 微處理器支持硬件多線程,允許多個線程在同一時刻共享處理器的資源,提高處理器的利用率。

(2)、常見的RISC微處理器:

  • ARM:用于移動設備、嵌入式系統和服務器領域,具有低功耗和高性能的特點。
  • MIPS:廣泛應用于嵌入式系統、網絡設備和嵌入式控制器等領域。
  • PowerPC:曾在 IBM 的計算機和一些游戲主機中使用,如早期的 Macintosh 和 PlayStation 3。
  • RISC-V:開源的 RISC 架構,受到了廣泛的關注,可以用于各種用途,從嵌入式設備到高性能計算。

2、CISC處理器:

CISC(Complex Instruction Set Computer)處理器是一種計算機微處理器架構,其設計理念是在單條指令中執行多個復雜操作,以便減少編程工作量和內存訪問次數。

CISC處理器的特點:

  • 復雜指令集: CISC 處理器的指令集相對較大且復雜,每條指令可以執行多個操作,包括訪問內存、執行算術運算和邏輯操作等。
  • 內存訪問: CISC 處理器通常支持直接訪問內存,這意味著許多操作可以直接在內存中執行,而不需要頻繁地加載數據到寄存器。
  • 指令格式多樣性: CISC 指令通常有多種格式和尋址模式,允許在一條指令中執行多個操作,這可以減少程序員編寫代碼的工作量。
  • 微代碼: CISC 處理器通常使用微代碼(microcode)來實現指令,這是一種低級別的指令集,與硬件層面的指令集之間的映射。
  • 復雜的執行單元: CISC 處理器通常包含復雜的執行單元,用于支持多個指令的同時執行。

(2)、常見的CISC處理器:

  • x86: 由 Intel 和 AMD 開發的處理器架構,廣泛用于個人電腦和服務器領域。
  • x86-64(也稱為AMD64或Intel 64): 擴展了 x86 架構,增加了 64 位尋址和操作能力,用于現代 64 位計算機。
  • DEC Alpha: 由 Digital Equipment Corporation(DEC)開發的處理器架構,曾用于高性能計算和服務器領域。
  • VAX: 由 Digital Equipment Corporation(DEC)開發的處理器架構,曾在早期的計算機系統中廣泛使用。

3、ARM處理器:

(1)、ARM處理器:

ARM微處理器支持兩種指令集:ARM指令集和Thumb指令集。其中,ARM指令為32位的長度,Thumb指令為16位長度。Thumb指令集為ARM指令集的功能子集,但與等價的ARM代碼相比較,可節省30%~40%及以上的存儲空間,同時具備32位代碼的所有優點。

(2)、ARM處理器的寄存器:

RM處理器共有37個寄存器,被分為若干個組(BANK):

  • 31個通用寄存器,包括程序計數器(PC指針),均為32位寄存器。
  • 6個狀態寄存器,用以標識CPU的工作狀態及程序的運行狀態,均為32位。
    在這里插入圖片描述

(3)、ARM微處理器有以下7種運行模式:

  • 用戶模式(usr):ARM處理器正常的程序執行狀態。
  • 快速中斷模式(fiq):用于高速數據傳輸或通道處理。
  • 外部中斷模式(irq):用于通常的中斷處理。
  • 管理模式(svc):操作系統使用的保護模式。
  • 數據訪問終止模式(abt):當數據或指令預取終止時進入該模式,可用于虛擬存儲及存儲保護。
  • 系統模式(sys):運行具有特權的操作系統任務。
  • 未定義指令中止模式(und):當未定義的指令執行時進入該模式,可用于支持硬件協處理器的軟件仿真。
    ARM微處理器的運行模式既可以通過軟件來改變,也可以通過外部中斷或異常處理來改變。大多數的應用程序運行在用戶模式下,當處理器運行在用戶模式下時,某些被保護的系統資源是不能被訪問的。除用戶模式以外,其余的所有6種模式稱為非用戶模式,或特權模式(Privileged Modes);其中除用戶模式和系統模式以外的5種又稱為異常模式(Exception Modes),常用于處理中斷或異常,以及需要訪問受保護的系統資源等情況。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/38615.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/38615.shtml
英文地址,請注明出處:http://en.pswp.cn/news/38615.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Python COM】Word 自動縱向合并相同內容單元格

使用場景 docxtempl 庫不支持動態縱向合并單元格,所以寫了這段代碼用來曲線救國。 使用方法 需要縱向合并的單元格加上在文本末尾加上“【縱向合并】”,然后調用此函數,就會自動縱向合并相同內容的單元格。 代碼 需要安裝 pywin32 庫。 …

VC2015,C++內存中運行EXE文件

VC2015,C內存中運行EXE文件,點擊可以下載 VC2015項目中所用的源碼主要源自于網絡,修正一些錯誤后,源碼如下,此源碼在VC6中可以正常編譯, 但在VC2015中,就會出現一些錯誤,本項目源碼已經把錯誤修…

文件批量重命名001到100

文件批量重命名001到100如何搞定?這是一個許多朋友都在熱議的話題,今天我將向大家介紹這方面的內容,希望你會喜歡。總的來說,文件重命名快捷鍵CtrlF2在日常工作中非常實用。它可以輕松快速地完成文件和文件夾的重命名操作&#xf…

儲能pcb的布局注意事項與制造難點

隨著新能源需求的不斷增長和能源結構的轉型,儲能技術的市場規模不斷擴大。儲能PCB作為儲能系統中電池模塊的重要組成部分,對整個系統的安全性和性能起到關鍵作用。今天我們就來聊聊,儲能pcb有什么特征。 什么是儲能:儲能是指能量…

用友Java后端筆試2023-8-5

計算被直線劃分區域 在笛卡爾坐標系,存在區域[A,B],被不同線劃分成多塊小的區域,簡單起見,假設這些不同線都直線并且不存在三條直線相交于一點的情況。 img 那么,如何快速計算某個時刻,在 X 坐標軸上[ A,…

kubernetes 中的事件(event)簡介以及如何收集event和基于event告警

引用另外一篇文章對k8s event的介紹 1.什么是kubernetes事件 Kubernetes Events 是一種 Kubernetes 資源對象,記錄了某個組件在某個時間做了某個動作,用于展示集群內發生的情況,當 Kubernetes 集群中資源狀態發生變化時,可以產生…

PostMan 教程

安裝https://www.cnblogs.com/mafly/p/postman.html Postman 使用方法詳解https://blog.csdn.net/fxbin123/article/details/80428216 postman進行http接口測試https://blog.csdn.net/five3/article/details/53021084 postman的使用方法詳解!最全面的教程https:/…

Golang項目中如何輕松實現私有倉庫pkg包的引入

在企業內部創建一個公共的Golang模塊工程可以幫助提高代碼復用性和開發效率。本文將從如何創建一個公共的Golang工程開始,指導你一步步創建它、并引入到你的工程中。 1、公共模塊規范 下面是一個簡單的步驟指南來創建這樣一個公共模塊項目。 創建版本控制倉庫&am…

Verdi_traceX and autotrace

Verdi_traceX and autotrace Trace X From nWave/nTrace of from the Teporal Flow View. Show Paths on Flow ViewShow Paths on nWave 若Waveform中有X態,鼠標右鍵會有Trace X的選項; 會自動打開Temporal Flow View窗口,展示對應路徑&am…

RocketMQ、Dashboard部署以及安全設置

RocketMQ、dashboard部署以及安全設置 一、啟動RocketMQ1.1 下載RocketMQ1.2 修改配置文件1.2.1 修改nameServer Jvm內存配置1.2.2 修改broker參數 1.3 啟動1.3.1 啟動NameServer1.3.2 啟動Broker1.3.3 測試是否啟動成功1.3.3.1 測試消息發送1.3.3.2 測試消息接收1.3.3.3 Java程…

數據結構——配對堆

引入 配對堆是一個支持插入,查詢/刪除最小值,合并,修改元素等操作的數據結構,是一種可并堆。有速度快和結構簡單的優勢,但由于其為基于勢能分析的均攤復雜度,無法可持久化。 定義 配對堆是一棵滿足堆性質…

C語言暑假刷題沖刺篇——day1

目錄 一、選擇題 二、編程題 🎈個人主頁:庫庫的里昂 🎐CSDN新晉作者 🎉歡迎 👍點贊?評論?收藏?收錄專欄:C語言每日一練 ?其他專欄:代碼小游戲C語言初階🤝希望作者的文章能對你…

問道管理:網上如何打新股?

隨著資本市場的不斷敞開,越來越多的人開始重視股票市場,并想經過網上打新股來取得更大的出資收益。但是,網上打新股的辦法并不簡略,怎樣才能成功地打新股呢?本文將從多個角度剖析,協助廣闊出資者處理這一問…

海信聚好看將攜新品DBdoctor,亮相中國數據庫技術大會(DTCC2023)

海信聚好看將攜新品DBdoctor,亮相中國數據庫技術大會 8月16日—18日,第14屆中國數據庫技術大會(DTCC-2023)將在北京國際會議中心隆重召開。作為國內數據庫領域規模最大的技術交流盛會,吸引了眾多業內知名企業和數百名…

[謙實思紀 01]整理自2023雷軍年度演講——《成長》(上篇)武大回憶(夢想與成長)

文章目錄 [謙實思紀]整理自2023雷軍年度演講 ——《成長》(上篇)武大回憶(夢想與成長)0. 寫在前面1. 夢開始的地方1.1 要有夢想,要用目標量化夢想 2. 在兩年內修完所有的學分。2.1 別老自己琢磨,找個懂的人…

【LeetCode 算法】Matrix Diagonal Sum 矩陣對角線元素的和

文章目錄 Matrix Diagonal Sum 矩陣對角線元素的和問題描述:分析代碼Math Tag Matrix Diagonal Sum 矩陣對角線元素的和 問題描述: 給你一個正方形矩陣 mat,請你返回矩陣對角線元素的和。 請你返回在矩陣主對角線上的元素和副對角線上且不…

Python爬蟲IP代理池的建立和使用

寫在前面 建立Python爬蟲IP代理池可以提高爬蟲的穩定性和效率,可以有效避免IP被封鎖或限制訪問等問題。 下面是建立Python爬蟲IP代理池的詳細步驟和代碼實現: 1. 獲取代理IP 我們可以從一些代理IP網站上獲取免費或付費的代理IP,或者自己租…

【深度學習所有損失函數】在 NumPy、TensorFlow 和 PyTorch 中實現(1/2)

一、說明 在本文中,討論了深度學習中使用的所有常見損失函數,并在NumPy,PyTorch和TensorFlow中實現了它們。 二、內容提要 我們本文所談的代價函數如下所列: 均方誤差 (MSE) 損失二進制交叉熵損失加權二進…

“深入解析JVM內部機制:探索Java虛擬機的奧秘“

標題:深入解析JVM內部機制:探索Java虛擬機的奧秘 JVM(Java虛擬機)是Java程序的核心執行環境,它負責將Java字節碼轉換為機器碼并執行。了解JVM的內部機制對于理解Java程序的執行過程和性能優化至關重要。本文將深入解析…

開啟想象翅膀:輕松實現文本生成模型的創作應用,支持LLaMA、ChatGLM、UDA、GPT2、Seq2Seq、BART、T5、SongNet等模型,開箱即用

開啟想象翅膀:輕松實現文本生成模型的創作應用,支持LLaMA、ChatGLM、UDA、GPT2、Seq2Seq、BART、T5、SongNet等模型,開箱即用 TextGen: Implementation of Text Generation models 1.介紹 TextGen實現了多種文本生成模型,包括&a…