乙個處理器支援的指令和指令的位元組級編碼就是這個處理器的isa,包括很多個部分:
不同的處理器家族,例如intel ia32、ibm/freescale powerpc和arm,都有不同的isa。維基百科 - architecture list
isa在編譯器編寫者(cpu軟體)和處理器設計人員(cpu硬體)之間提供了乙個抽象層:
定義處理器上的軟體如何構建,這是isa的最重要內涵,現代處理器都是支援高階語言程式設計、作業系統等等特性,isa要定義出指令集內的指令是如何支撐起c語言裡堆疊、過程呼叫,作業系統裡異常、中斷,多**平台裡數字影象處理、3d加速等等。
常見的乙個誤解的答案:指令集並不儲存於cpu中,應該這樣說:cpu本身是指令集(結構)的乙個實現/例項;
乙個isa可能包含多個指令集;
isa只是描述了cpu應該支援的每條指令是做什麼事的,即指令的功能。而微體系結構是描述處理器實際上是怎麼實現的。
微體系結構是計算機體系結構中偏向硬體的部分,它可以理解成數位電路如何實現處理器中的各個功能,通常關心的內容包括,指令的流水線結構,計算單元的電路(加法器等等),儲存器的結構(暫存器堆、cache的結構)等等 ;
乙個例項如下:
1. 拿intel來說,(其isa是ia-32等)其pentium 4處理器的微體系結構是netburst,現代,其core(酷睿)系列cpu的微體系結構已經經歷了好幾代:bloomfield(2023年)、lynnfield(2023年)、clarksfield(2023年)、ar randale(2023年)、gulftown(2023年)、sandy bridge(2023年)、ivy bridge(2023年)、haswell(2023年)、haswell devil』s canyon(2023年)、broadwell(2023年)、skylake(2023年)。
2. 拿arm來說,(其isa是armv7等)其微體系結構是arm11等從11往後叫cortex系列,其中cortex-a系列有32位的a7、a9、a15,64位的a53、a57。
通常會把cpu的擴充套件指令集稱為」cpu的指令集」(因為基本的,類似加減的指令似乎是必須被cpu所支援的指令)。每款cpu在設計時就規定了一系列與其硬體電路相配合的指令集。
指令集可分為複雜指令集(cisc:sisk)和精簡指令集(risc:risk)兩部分,這部分暫不繼續討論了。
intel的mmx(multi media extended)、sse、 sse2(streaming-single instruction multiple data-extensions 2)、see3和amd的3dnow!等都是cpu的擴充套件指令集,分別增強了cpu的多**、圖形圖象和internet等的處理能力。維基百科 - comparison instruction set
一條二進位制機器指令由:指令碼(操作碼)+運算元組成。
操作碼用來說明:指令的功能和執行的操作;
運算元說明:操作所涉及的源和目的資料的位置;
乙個我思考出來的可能的流程是這樣:
何為x86 - 20160921記錄
intel 8086是乙個intel於2023年設計的16位微處理器晶元。資料匯流排16位,cpu20條位址匯流排-直接定址1mb儲存空間,每個儲存空間可以存放乙個byte資訊;
**於8086指令集的一系列處理器,都稱為x86處理器。
收到
指令集體系
指令集isa 包含基本資料型別 指令 暫存器 定址模式 儲存體系 中斷 異常以及外部i o等內容。arm指令集和mips指令集大同小異,但設計理念不同。arm指令集或多或少借鑑了cisc指令集的一些特點,在一條指令中盡量多做任務。arm與mips的區別 異常發生時,需要對通用暫存器狀態進行儲存 mi...
DockerFile體系結構 保留字指令
from 基礎映象,當前新映象是基於哪個映象的 run 容器構建時需要執行的命令 expose 當前容器對外暴露出的埠 workdir 指定在建立容器後,終端預設登陸的進來工作目錄,乙個落腳點 env 用來在構建映象過程中設定環境變數 env my path usr mytest 這個環境變數可以在...
DockerFile體系結構(保留字指令)
1 from 基礎映象,當前新映象是基於那個映象的 2 maintainer 映象維護者的姓名和郵箱位址 3 run 容器構建時需要執行的指令 4 expose 當前容器對外暴露出的埠 5 workdir 指定在建立容器後,終端預設登入的進來的工作目錄,乙個落腳點 6 env 用來在構建映象過程中設...