有關指令集架構與微架構的一些知識

2021-10-18 06:22:49 字數 1682 閱讀 4035

如果把處理器比作是乙個算盤的話,指令集架構就是算盤運算時使用的「加減乘除」這些法則,你看不見摸不著,但確實是客觀存在的法則;微架構就是算盤上的算珠,你能看得見摸得著。所以,微架構決定著cpu內部原件「長什麼樣子」,它們如何排列;而具體的工作原理就是指令集架構所規定的。

從應用問題到機器語言程式的每次轉換都屬於軟體的範疇,而機器語言程式所執行的計算機硬體和軟體之間需要乙個「橋梁」,這個在軟體和硬體之間的介面就是指令集體系結構(instruction set architecture,isa),簡稱體系結構系統結構(architecture),它是軟體和硬體介面的乙個完整定義。isa定義了一台計算機可以執行的所有指令的集合,每條指令規定了計算機執行什麼操作,以及所處理的運算元存放的位址空間和運算元型別。

isa規定的內容包括:資料型別及格式,指令格式,定址方式和可訪問位址空間大小,程式可訪問的通用暫存器的個數、位數和編號,控制暫存器的定義,i/o空間的編址方式,中斷結構,機器工作狀態的定義和切換,輸入\輸出結構和資料傳送方式,儲存保護方式等。因此,可以看出,指令集體系結構是指軟體可以感知到的部分(硬體也可感知),也稱軟體可見部分。

(簡單表述就是:isa是計算機體系結構中與程式設計有關的部分,包含了基本資料型別,定址模式,儲存體系,中斷,異常處理以及外部i/o.指令集包含一系列操作碼(機器語言),以及由特定處理器執行的基本命令。)

不同的處理器「家族」–如intel的ia-32和x86-64、ibm/freescale power和arm處理器家族–有不同的指令集架構.指令集通常分為複雜指令集(cisc)和精簡指令集(risc)兩大類。

x86以及其64位擴充套件系統x86-64架構的intel微處理器、都屬於cisc,主要針對的os是windows和macos。

powerpc、mips(我國自主研發的龍芯使用的就是mips指令集架構)、arm都屬於risc,包括ios、android在內的絕大多數移動作業系統使用的都是arm指令集架構,都執行在risc處理器上

機器語言程式就是isa規定的乙個指令序列,因此,計算機硬體執行機器語言程式的過程就是讓其執行一條條指令的過程。isa是對指令系統的一種規定或結構規範,具體實現的組織稱為微體系結構,簡稱微架構。isa和微架構屬於兩個不同層面上的概念。微架構是軟體不可感知的部分。例如,加法器的實現是採用序列進製方式還是並行進製方式屬於微架構。相同的isa可採用不同的微架構實現,例如,對於intel x86這種isa,很多處理器的組織方式不同,即具有不同的微架構,但因為它們都具有相同的isa,所以在一種處理器上可執行的程式,在另一種微處理器上也可執行。(為啥?)

(可簡述為:微架構是指一套用於執行指令集的微處理器設計方法,使用不同微架構的處理器可以共享一種指令集。)

參考文獻:

1.《計算機系統基礎》.袁春風

2.維基百科

3.科研造假,更可怕!龍芯,在造假的陰影中差點死去!

CPU架構之精簡指令集與複雜指令集

這種 cpu 的設計中,微指令集較為精簡,每個指令的執行時間都很短,完成的動作也很單純,指令的執行效能較佳 但是若要做複雜的事情,就要由多個指令來完成。常見的 risc 微指令集 cpu 主要例如甲骨文 oracle 公司的 sparc 系列 ibm 公司的 power architecture 包...

關於CPU 架構與指令集的一些個人理解

理解不一定正確,只是目前的理解 1 一般所說的x86,是指基於intel x86架構處理器的一套指令集,即x86指令集 2 cpu的架構是最底層的,是處理器的硬體結構,即cpu按照什麼樣的硬體結構來設計 架構是乙個框架,架構確定,則硬體結構大體就確定了,同一架構的不同型號cpu可能只是某些細節設計不...

架構 處理器 指令集與組合語言

常見的處理器架構 x86 arm power pc mips。x86是基於複雜指令集 cisc 的處理器架構。arm power pc mips是基於精簡指令集 risc 的處理器架構。所以,x86 arm power pc mips既有指令集,也有相應的處理器架構。86處理器 arm處理器 pow...