计算机系统抽象层
文章目錄
- 1 計(jì)算機(jī)系統(tǒng)抽象層
- 2 計(jì)算機(jī)系統(tǒng)的不同用戶
- 3 指令集體系結(jié)構(gòu)(ISA)
1 計(jì)算機(jī)系統(tǒng)抽象層
功能轉(zhuǎn)換:上層是下層的抽象,下層是上層的實(shí)現(xiàn)底層為上層提供支撐環(huán)境!
我們需要知道程序執(zhí)行結(jié)果不僅取決于算法、程序編寫,而且取決于語(yǔ)言處理系統(tǒng)、操作系統(tǒng)、ISA、微體系結(jié)構(gòu)。
2 計(jì)算機(jī)系統(tǒng)的不同用戶
計(jì)算機(jī)系統(tǒng)的不同用戶:
- 最終用戶工作在由應(yīng)用程序提供的最上面的抽象層。
- 系統(tǒng)管理員工作在由操作系統(tǒng)提供的抽象層。
- 應(yīng)用程序員工作在由語(yǔ)言處理系統(tǒng)(主要有編譯器和匯編器)的抽象層。
- 語(yǔ)言處理系統(tǒng)建立在操作系統(tǒng)之上。
- 系統(tǒng)程序員(實(shí)現(xiàn)系統(tǒng)軟件)工作在ISA層次,必須對(duì)ISA非常了解。
- 編譯器和匯編器的目標(biāo)程序由機(jī)器級(jí)代碼組成。
- 操作系統(tǒng)通過(guò)指令直接對(duì)硬件進(jìn)行編程控制。
- ISA處于軟件和硬件的交界面(接口)。
ISA是對(duì)硬件的抽象,所有軟件功能都建立在ISA之上。
3 指令集體系結(jié)構(gòu)(ISA)
ISA指Instruction Set Architecture,即指令集體系結(jié)構(gòu),有時(shí)簡(jiǎn)為指令系統(tǒng)。
ISA是一種規(guī)約(Specification),它規(guī)定了如何使用硬件:
- 可執(zhí)行的指令的集合,包括指令格式、操作種類以及每種操作對(duì)應(yīng)的操作數(shù)的相應(yīng)規(guī)定;
- 指令可以接受的操作數(shù)的類型;
- 操作數(shù)所能存放的寄存器組的結(jié)構(gòu),包括每個(gè)寄存器的名稱、編號(hào)、長(zhǎng)度和用途;
- 操作數(shù)所能存放的存儲(chǔ)空間的大小和編址方式;
- 操作數(shù)在存儲(chǔ)空間存放時(shí)按照大端還是小端方式存放;
- 指令獲取操作數(shù)的方式,即尋址方式;
- 指令執(zhí)行過(guò)程的控制方式,包括程序計(jì)數(shù)器(PC)、條件碼定義等。
ISA在通用計(jì)算機(jī)系統(tǒng)中是必不可少的一個(gè)抽象層,Why?
- 沒(méi)有它,軟件無(wú)法使用計(jì)算機(jī)硬件!
- 沒(méi)有它,一臺(tái)計(jì)算機(jī)不能稱為“通用計(jì)算機(jī)”
ISA和計(jì)算機(jī)組成(Organization,即MicroArchitecture,微結(jié)構(gòu))是何關(guān)系?
不同ISA規(guī)定的指令集不同,如,IA-32、MIPS、ARM等。計(jì)算機(jī)組成必須能夠?qū)崿F(xiàn)ISA規(guī)定的功能,如提供GPR、標(biāo)志、運(yùn)算電路等,同一種ISA可以有不同的計(jì)算機(jī)組成,如乘法指令可用ALU或乘法器實(shí)現(xiàn)。
ISA是計(jì)算機(jī)組成的抽象。
參考資料:
總結(jié)