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),常用于處理中斷或異常,以及需要訪問受保護的系統資源等情況。