最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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))是軟件和硬件的最底層接口的評論 (共 條)

分享到微博請遵守國家法律
瑞安市| 咸宁市| 漠河县| 通州市| 铜山县| 新巴尔虎左旗| 抚顺市| 日照市| 桓仁| 安平县| 东至县| 察隅县| 上饶县| 连南| 泾阳县| 文山县| 西昌市| SHOW| 浦北县| 云南省| 石景山区| 合山市| 什邡市| 赤峰市| 郓城县| 武鸣县| 新密市| 穆棱市| 临江市| 贵港市| 清涧县| 搜索| 长汀县| 阿合奇县| 阜宁县| 肥乡县| 迭部县| 石楼县| 海阳市| 临武县| 南木林县|