《計算機操作系統(tǒng) 》課件-2.1處理器計算_第1頁
《計算機操作系統(tǒng) 》課件-2.1處理器計算_第2頁
《計算機操作系統(tǒng) 》課件-2.1處理器計算_第3頁
《計算機操作系統(tǒng) 》課件-2.1處理器計算_第4頁
《計算機操作系統(tǒng) 》課件-2.1處理器計算_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第二章操作系統(tǒng)硬件基礎(chǔ)目錄1.處理器計算2.存儲系統(tǒng)3.中斷和時鐘本章學(xué)習(xí)要點1)了解處理器的基本結(jié)構(gòu)和執(zhí)行指令過程2)存儲器結(jié)構(gòu)和種類,以及堆棧的作用3)磁盤的結(jié)構(gòu)和使用方式4)掌握中斷的處理過程以及時鐘在系統(tǒng)中的作用2.1處理器計算計算機系統(tǒng)中最主要的兩類資源是計算資源和存儲資源。本節(jié)主要介紹計算機系統(tǒng)中的計算資源,包括處理器指令,尋址方式和寄存器。也就是簡單的介紹在計算機中執(zhí)行指令的過程。2.1.1處理器指令計算機的所有操作都是由機器指令/計算機指令所決定的。每條計算機指令必須包含處理器執(zhí)行所需的信息:操作碼、源操作數(shù)、目的操作數(shù)和下一條指令地址。圖2-1給出了指令執(zhí)行步驟。圖2-1指令執(zhí)行步驟每條計算機指令必須包含處理器執(zhí)行所需的信息:操作碼、源操作數(shù)、目的操作數(shù)和下一條指令地址。操作碼代表了指令要完成的具體操作。操作碼分成幾類:數(shù)據(jù)傳遞、算術(shù)運算、邏輯運算、轉(zhuǎn)換、輸入輸出、系統(tǒng)控制和控制傳遞。源操作數(shù)是指具體操作所需的輸入,可以是一個也可以是多個。源操作數(shù)一般來源于寄存器、內(nèi)存。目的操作數(shù)是指具體操作的結(jié)果,可在寄存器或者內(nèi)存中。下一條指令地址給出了當(dāng)前這條指令執(zhí)行完成后去哪里取下一條指令。圖2-2給出了一個簡單的處理器指令格式,還有很多其他類型的指令格式。在指令的執(zhí)行過程中,根據(jù)指令計數(shù)器給出的地址從內(nèi)存讀取一條指令到處理器相應(yīng)的指令寄存器中,處理器通過分析這條指令所包含的各個字段獲取操作數(shù),并執(zhí)行操作碼所指定的操作,最后將操作結(jié)果存入目的操作數(shù)當(dāng)中。同時,在讀入這條指令后,指令計數(shù)器根據(jù)當(dāng)前指令所占存儲空間,自動的指向下一條指令的地址。圖2-2一種簡單的處理器指令格式因為機器指令都是由二進(jìn)制表示的,可讀性差。為了增強可讀性,機器指令一般采用指令符號表示。以下給出幾個簡單的例子:ADD 加法操作SUB 減法操作MPY 乘法操作DIV 除法操作LOAD 從存儲器取數(shù)據(jù)操作STOR 將數(shù)據(jù)存儲到存儲器操作不但操作碼可以用符號表示,源操作數(shù)和目的操作數(shù)都可以用符號來表示。下面給出一個簡單的例子:ADD R,Y這條指令包含以下幾個含義:有兩個源操作數(shù),一個源操作數(shù)存儲在內(nèi)存中,地址是Y;另一個操作數(shù)存儲在R寄存器中;

兩個操作數(shù)要進(jìn)行ADD(加法操作),也即內(nèi)存中的一個數(shù)加上寄存器中的一個數(shù);并將結(jié)果存入到目的操作數(shù),也即寄存器R中[1]。2.1.2尋址方式尋址方式就是處理器根據(jù)指令中給出的地址信息來尋找物理地址的方式,是確定本條指令相關(guān)的數(shù)據(jù)地址以及下一條要執(zhí)行的指令地址的方法。根據(jù)查找數(shù)據(jù)地址還是指令地址,尋址方式分為兩類,即指令尋址方式和數(shù)據(jù)尋址方式,前者比較簡單,后者比較復(fù)雜。但是指令尋址與數(shù)據(jù)尋址是交替進(jìn)行的,先進(jìn)行指令尋址,查找到指令后讀入處理器,在執(zhí)行這條指令的過程中需要進(jìn)行多次的數(shù)據(jù)尋址,找到操作數(shù)。執(zhí)行完這條指令后,又一次進(jìn)行指令尋址,查找下一條指令。此過程交替執(zhí)行。1.兩種指令尋址方式(1)順序?qū)ぶ贩绞街噶钜话沩樞虻拇鎯υ趦?nèi)存中,當(dāng)執(zhí)行一段程序時,通常是一條指令接一條指令地順序取指執(zhí)行。也就是說,從存儲器取出第1條指令,執(zhí)行這條指令,接著從存儲器取出第2條指令,執(zhí)行第2條指令,依次執(zhí)行。對這種順序執(zhí)行的過程,對應(yīng)的指令取指方式叫做順序?qū)ぶ贩绞健榇?,必須使用程序計?shù)器(又稱指令計數(shù)器)PC來記錄指令的地址。處理器根據(jù)PC給出的地址取出相應(yīng)指令,同時修改PC的值,使其指向下一條指令地址。1.兩種指令尋址方式(2)跳躍尋址方式當(dāng)程序執(zhí)行轉(zhuǎn)移或者函數(shù)調(diào)用等相關(guān)指令時,需要改變順序執(zhí)行模式,那么指令的尋址就會采取跳躍尋址方式。所謂跳躍,是指下條指令的地址碼不是由程序計數(shù)器PC給出,而是由正在處理器上執(zhí)行的指令給出。程序跳躍后,按新的指令地址開始順序執(zhí)行。因此,PC的內(nèi)容也必須相應(yīng)改變,以便及時跟蹤新的指令地址。采用指令跳躍尋址方式,可以實現(xiàn)程序轉(zhuǎn)移,構(gòu)成循環(huán)程序,從而能縮短程序長度,或?qū)⒛承┏绦蜃鳛楣渤绦蛞?。指令系統(tǒng)中的各種條件轉(zhuǎn)移、無條件轉(zhuǎn)移指令以及函數(shù)調(diào)用,就是為了實現(xiàn)指令的跳躍尋址而設(shè)置的。2.數(shù)據(jù)尋址方式形成操作數(shù)的有效地址的方法稱為數(shù)據(jù)尋址方式。下面介紹一些比較典型又常用的數(shù)據(jù)尋址方式。(1)隱含尋址(2)立即尋址(3)直接尋址(4)間接尋址(5)寄存器尋址方式和寄存器間接尋址方式(6)相對尋址方式(7)基址尋址方式(8)變址尋址方式(9)塊尋址方式2.1.3寄存器寄存器是中央處理器的組成部分,是有限存貯容量的高速存儲部件,可用來暫存指令、數(shù)據(jù)和地址。在中央處理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序計數(shù)器/指令計數(shù)器(PC)。在中央處理器的算術(shù)及邏輯部件中,寄存器有累加器(ACC)。寄存器是CPU內(nèi)部的元件,包括通用寄存器、專用寄存器和控制寄存器。寄存器的讀寫速度高,因此在寄存器之間的數(shù)據(jù)傳送非???。寄存器是系統(tǒng)獲得操作數(shù)的最快速途徑。寄存器通常都是以他們可以保存的位數(shù)量來定義,舉例來說,一個“8位寄存器”或“32位寄存器”。例如,x86指令集定義八個32位寄存器的集合,但一個實際x86指令集的CPU可以包含比八個更多的寄存器。1.寄存器分類根據(jù)根據(jù)寄存器的用途,主要分成以下幾類:(1)數(shù)據(jù)寄存器:用來儲存整數(shù)數(shù)字。在某些簡單/舊的CPU中,特別地,數(shù)據(jù)寄存器是累加器,作為數(shù)學(xué)計算之用。(2)地址寄存器:用來存放存儲器地址,用來訪問存儲器。(3)通用目的寄存器(GPRs):保存數(shù)據(jù)或地址,即結(jié)合了數(shù)據(jù)寄存器或地址寄存器的功能。(4)浮點寄存器(FPRs):用來儲存浮點數(shù)據(jù)。(5)常數(shù)寄存器:用來存放只讀的數(shù)值(例如0、1、圓周率等等)。(6)向量寄存器:用來儲存由向量處理器運行SIMD(SingleInstruction,MultipleData)指令所得到的數(shù)據(jù)。(7)特殊目的寄存器:儲存CPU內(nèi)部的數(shù)據(jù),比如程序計數(shù)器、堆棧寄存器、程序狀態(tài)寄存器等。(8)指令寄存器:儲存當(dāng)前正在被執(zhí)行的指令。(9)索引寄存器:用于在程序運行過程中更改運算對象的地址。2.X86寄存器X86有14個32位寄存器,按用途可分為通用寄存器、指令指針、標(biāo)志寄存器和和段寄存器4類。(1)通用寄存器可用于傳送和暫存數(shù)據(jù),也可參與算術(shù)邏輯運算,并保存運算結(jié)果。除此之外,它們還各自具有一些特殊功能。通用寄存器的長度取決于機器字長。32位CPU的通用寄存器有8個:EAX,EBX,ECX,EDX,EBP,ESP,ESI,EDI,又可以分成2組,一組是數(shù)據(jù)寄存器(4個),另一組是指針寄存器及變址寄存器(4個)。(2)數(shù)據(jù)寄存器EAX:累加寄存器,常用于運算,在乘除等指令中指定用來存放操作數(shù)。另外,所有的I/O指令都使用EAX與外設(shè)傳送數(shù)據(jù)。EBX:基址寄存器,常用于地址索引。ECX:計數(shù)寄存器,常用于計數(shù),如在移位指令、循環(huán)(loop)和串處理指令中用作隱含的計數(shù)器。EDX:數(shù)據(jù)寄存器,常用于數(shù)據(jù)傳遞。指針寄存器和變址寄存器:ESP:堆棧指針,與SS配合使用,可指向目前的堆棧位置。EBP:基址指針寄存器,可用作SS的一個相對基址位置。ESI:源變址寄存器,可用來存放相對于DS段之源變址指針。EDI:目的變址寄存器,可用來存放相對于ES段之目的變址指針。這4個32位寄存器主要用來形成操作數(shù)的有效地址。(2)指令指針EIP指令指針EIP是一個32位專用寄存器,它指向當(dāng)前需要取出的指令字節(jié),當(dāng)BIU(總線接口部件)從內(nèi)存中取出一個指令字節(jié)后,EIP就自動加上所取出指令的長度,以指向下一個指令字節(jié),如:BIU從內(nèi)存中取出的是1個字節(jié),EIP就會自動加1;若BIU從內(nèi)存中取出的字節(jié)數(shù)長度為3,則EIP就自動加3。注意,EIP指向的是指令地址的段內(nèi)地址偏移量,又稱偏移地址(OffsetAddress)或有效地址(EA,EffectiveAddress)。(3)標(biāo)志寄存器EFRX86有一個32位的標(biāo)志寄存器EFR,在EFR中有意義的主要有9位,其中6位是狀態(tài)位,3位是控制位。標(biāo)志寄存器又稱程序狀態(tài)字(EPSW),用于存放條件標(biāo)志、控制標(biāo)志等,以反映處理器的狀態(tài)和運算結(jié)果的某些特征及控制指令的執(zhí)行。(4)段寄存器為了運用所有的內(nèi)存空間,X86設(shè)定了四個段寄存器,專門用來保存段地址

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論