五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

為什么說ISA(指令集架構(gòu))是軟件和硬件的最底層接口

2022-10-13 14:00 作者:papadogbl  | 我要投稿

這里強調(diào)最底層,是站在軟件角度,相較于ABI和API說的。三者之間的關(guān)系如下圖:

  • ISA -- Instruction Set Architecture -- 指令集體系結(jié)構(gòu);

  • ABI -- Application Binary Interface -- 應(yīng)用程序二進制接口;

  • API -- Application Programming Interface -- 應(yīng)用編程接口;

這里的API一般指的是OS的系統(tǒng)調(diào)用,和C語言里的庫調(diào)用很像,只不過提供者不同,一個是OS提供,一個是C的動態(tài)庫提供,你們后續(xù)學(xué)習(xí)Windows或Linux程序設(shè)計會接觸。

ISA與CPU相關(guān),如定義硬件能夠直接識別的數(shù)據(jù)類型(主要是字,因為字節(jié)都是一樣的8bits,但字不同,延伸的半字、雙字就不一樣了),寄存器(包括個數(shù)和大?。?,指令封裝、定義,存儲器編址方式,字節(jié)順序等屬于ISA范疇,ISA可以看成是硬件的調(diào)用接口,就像類里的public接口一樣,他的通用寄存器屬性是public的,專用寄存器是private的。硬件和軟件是通的,很多方法和機理是一樣的,一個CPU就是一個被封裝起來的對象(這里說的封裝是邏輯上的,不是制造工藝上的)。

ABI與OS、編譯器、鏈接器、解釋器和CPU相關(guān),它一般涉及函數(shù)調(diào)用約定,如參數(shù)通過那些寄存器傳送,函數(shù)返回值通過什么方式返回等,系統(tǒng)函數(shù)調(diào)用接口(如中斷號),進程虛擬地址空間的劃分等屬于ABI范疇;

?API與OS和編程語言相關(guān),高級語言的應(yīng)用程序接口,如write,read等屬于API范疇(例如,為了讓操作系統(tǒng)調(diào)用接口標(biāo)準(zhǔn)化,出現(xiàn)了POSIX-Portable Operating System Interface標(biāo)準(zhǔn))。

通過該圖,你能看到計算機里的分層思想,分層本質(zhì)上就是抽象、封裝。指令集(ISA)相當(dāng)于是對硬件的封裝和抽象(這里可以類比軟件的Class機制),讓軟件可以通過指令來使用硬件資源,這是硬件對自己的第一級保護,你只能通過它規(guī)定的方式(它的指令集)使用硬件,把需要對用戶隔離的部分進行了保護。組成原理學(xué)的就是這個層以下的機制。

在學(xué)習(xí)中,一下從最上面的應(yīng)用程序開發(fā)轉(zhuǎn)到最下面的CPU、內(nèi)存等這些硬件知識,有點暈是正常的,計算機這兩頭中間還有些東西(如編譯、鏈接、裝載、操作系統(tǒng)、庫機制等等),要學(xué)中間這些東西,你必須對硬件有一定的了解,才能知道中間這些內(nèi)容都在干什么、為什么要這么干,你在開發(fā)應(yīng)用程序的時候才能做到不光知其然,還知其所以然。


為什么說ISA(指令集架構(gòu))是軟件和硬件的最底層接口的評論 (共 條)

分享到微博請遵守國家法律
民权县| 广灵县| 台南市| 岳阳市| 平潭县| 南投县| 无锡市| 富裕县| 盖州市| 东乌珠穆沁旗| 台湾省| 宝兴县| 平山县| 明溪县| 卢湾区| 东乡| 乐安县| 临江市| 扎囊县| 京山县| 襄垣县| 乐都县| 正镶白旗| 庄河市| 阜阳市| 琼结县| 洞头县| 轮台县| 嘉定区| 南乐县| 新和县| 绥芬河市| 阿尔山市| 云南省| 项城市| 延长县| 庄浪县| 漳浦县| 阿拉善右旗| 家居| 金塔县|