版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第7章CPU系統(tǒng)7.1CPU的結(jié)構(gòu)和功能本章從分析CPU的功能和內(nèi)部結(jié)構(gòu)入手,詳細(xì)討論計算機(jī)完成一條指令的全過程,以及為了進(jìn)一步提高CPU數(shù)據(jù)處理能力所采取的流水線技術(shù)。歸納和總結(jié)中斷技術(shù)在提高整機(jī)系統(tǒng)效能方面的作用。
7.1.1CPU的結(jié)構(gòu)CPU是由運(yùn)算器和控制器兩部分組成。不同型號的CPU根據(jù)自己的市場定位,在設(shè)計運(yùn)算器和控制器的時候采用的技術(shù)是不同的,所以形成了市場上的各種不同價格、不同性能的CPU。本小節(jié)我們從最基本、最簡單的CPU結(jié)構(gòu)開始,介紹它的基本工作原理,不管多復(fù)雜的CPU,它的基本工作原理是一樣的。
圖7.1
最基本的CPU結(jié)構(gòu)圖:
圖7.1
CPU結(jié)構(gòu)圖中各個部件介紹:1.算術(shù)邏輯運(yùn)算部件(ALU)ALU有兩個輸入端I1和I2,一個輸出端OUT。兩個輸入端I1和I2分別用來輸入?yún)⒓铀阈g(shù)運(yùn)算和邏輯運(yùn)算的數(shù)據(jù),輸出端OUT輸出運(yùn)算后的結(jié)果。2.程序計數(shù)器(PC)程序計數(shù)器(PC)是CPU中最重要的部件之一,它是程序中指令能夠不斷自動執(zhí)行的關(guān)鍵。程序計數(shù)器(PC)在每執(zhí)行一條指令后,它能自動加1指向下一條指令。計算機(jī)開機(jī)后,CPU會進(jìn)行上電復(fù)位,CPU上電復(fù)位的一個重要工作就是給程序計數(shù)器PC一個初值(大多數(shù)型號CPU復(fù)位后程序計數(shù)器PC的初值為0),所以,計算機(jī)中的第一條指令必須放在程序計數(shù)器PC初值對應(yīng)的主存儲器地址中,這樣計算機(jī)開機(jī)后才能找到程序員編寫好的計算機(jī)啟動程序,并按照程序員的編好的程序進(jìn)行啟動計算機(jī)的各項工作。3.寄存器組不同型號的CPU它的寄存器數(shù)量是不一樣的,CPU中的寄存器的數(shù)量越多、每個寄存器能保存的二進(jìn)制位數(shù)越長,CPU的性能越好,但價格也就越高。計算機(jī)的機(jī)器字長和CPU中寄存器的位數(shù)相關(guān),如果CPU中每個通用寄存器能保存16位二進(jìn)制數(shù),則計算機(jī)的機(jī)器字長就是16位,我們稱之為16位機(jī)。在圖7.1中作為最基本型的CPU只有兩個通用寄存器,一個是AC,一個是BX。AC寄存器是固定連接在ALU的一個輸入端I1,AC寄存器是CPU的指令中使用最頻繁的寄存器,所以AC寄存器有一個專門的名稱:累加器(Accumulator)。兩個和主存儲器打交道的專用寄存器MAR和MDR。指令寄存器IR屬于專用寄存器4.控制部件(CU)CPU中控制器的核心部件是CU。CU的功能是接收到指令寄存器IR送來的指令,然后對指令的操作碼部分進(jìn)行譯碼,找出是接收到的指令屬于什么指令,最后產(chǎn)生完成這條指令功能的一系列微操作C0、C1、……Cn5.片內(nèi)數(shù)據(jù)總線要把CPU這些通用、專用寄存器、程序計數(shù)器PC以及ALU連接在一起,需要在CPU中設(shè)計一條內(nèi)部數(shù)據(jù)總線。在圖7.1中的內(nèi)部數(shù)據(jù)總線就是起到把這些部件連接起來進(jìn)行數(shù)據(jù)傳送的作用。注意:在圖7.1中,數(shù)據(jù)傳送的箭頭有單向的也有雙向的,它們分別表示數(shù)據(jù)傳送方向是單向的還是雙向的。7.1.2CPU的功能CPU是由運(yùn)算器和控制器兩部分組成。在本書的第2章已經(jīng)討論了計算機(jī)內(nèi)各種運(yùn)算及相應(yīng)的硬件配置,本章重點(diǎn)介紹控制器的功能。控制器的基本功能:取指令、分析指令和執(zhí)行指令,同時形成下一條指令的地址。1.取指令執(zhí)行指令的第一步就是要能從主存儲器中取指令,控制器必須具備有能自動地從主存儲器中取出指令的功能。指令從內(nèi)存中取得后,放在CPU的指令寄存器IR中。計算機(jī)開機(jī)啟動程序中第一條指令的地址是由CPU復(fù)位時的程序計數(shù)器PC中的初值決定的。在執(zhí)行完當(dāng)前指令后,程序計數(shù)器PC的值自動加1,形成下一條指令的地址。2.分析指令控制器必須能對從內(nèi)存中取出后存放在指令寄存器IR中的指令進(jìn)行分析。指令是由操作碼和地址碼組成。所以分析指令包括兩部分內(nèi)容:第一,分析指令完成什么樣的操作,控制器發(fā)出什么樣的操作命令。這個由操作碼決定。實(shí)際就是對操作碼進(jìn)行譯碼。第二,分析參加本次操作的操作數(shù)地址,即操作數(shù)的有效地址。這個由地址碼決定。實(shí)際上就是根據(jù)地址碼的尋址方式找到參加指令操作的操作數(shù)。3.執(zhí)行指令執(zhí)行指令就是根據(jù)分析該指令產(chǎn)生的“操作命令”和“操作數(shù)地址”的要求,形成該指令操作控制信號序列,通過對運(yùn)算器、存儲器或者I/O設(shè)備的操作,執(zhí)行該指令。7.1.3CPU中的寄存器一個型號的CPU性能好壞寄存器的設(shè)計占有很重要的成分,現(xiàn)代CPU有多達(dá)上百個各種用途的寄存器。CPU中的寄存器大致分為兩類:一類是程序員可見的寄存器,程序員通過使用寄存器編程,可以減少訪問主存儲器的次數(shù),從而加快程序的運(yùn)行速度。另外一類屬于控制類的寄存器,程序員不可以對這類的寄存器編程,它們被控制器部件使用,用于控制CPU的某種操作,我們把這類寄存器稱為程序員不可見的或者說對程序員是透明的。1.程序員可見的寄存器程序員在編寫匯編語言程序時可以使用和訪問的寄存器稱為程序員可見的寄存器。(1)通用寄存器通用寄存器可由程序員根據(jù)不同指令指定許多功能,可用于存放操作數(shù),也可以作為某種尋址方式所需的寄存器。在圖7.1中的寄存器AC、BX,以及實(shí)際型號Intel8086CPU中的AX、BX、CX、DX等都稱為通用寄存器。(2)數(shù)據(jù)寄存器數(shù)據(jù)寄存器用于存放操作數(shù),其位數(shù)應(yīng)滿足多數(shù)數(shù)據(jù)類型的數(shù)值范圍。有些機(jī)器把數(shù)據(jù)寄存器歸類于通用寄存器(例如8086CPU),也有些機(jī)器的數(shù)據(jù)寄存器只能存放數(shù)據(jù),不能存放操作數(shù)的地址,不能用于尋址方式。(3)地址寄存器地址寄存器用于存放操作數(shù)地址,滿足各種指令的尋址方式,其本身也可具有通用性,也可用于特殊的尋址方式。(4)條件碼寄存器條件碼寄存器是一個很重要的寄存器,在實(shí)際型號的CPU中,有些CPU中稱為標(biāo)志寄存器、有些CPU稱為程序狀態(tài)字寄存器(PSW)。例如,執(zhí)行加法指令產(chǎn)生了進(jìn)位,就會把條件碼寄存器中進(jìn)位位C置位(C=1)。還有運(yùn)算器做某種運(yùn)算后,如果運(yùn)算結(jié)果是0,則條件碼寄存器中0標(biāo)志位Z就會置位(Z=1)。根據(jù)條件碼寄存器中的各種標(biāo)志位的值,程序員可以了解某些指令執(zhí)行后其結(jié)果的一些狀態(tài),程序員在編寫程序時對需要的條件碼寄存器相關(guān)位進(jìn)行測試,根據(jù)測試結(jié)果去決定分支程序的轉(zhuǎn)移。2.控制和狀態(tài)寄存器在一些機(jī)器里,這類寄存器對程序員來說是透明的,所謂透明是指程序員編程時不能使用但實(shí)際存在的寄存器。它在程序指令執(zhí)行過程中,幫助指令完成相應(yīng)功能。如下四種寄存器是程序員不能使用,但在指令執(zhí)行過程中起到重要作用。(1)MAR:存儲器地址寄存器,用于存放將被訪問的存儲單元的地址。(2)MDR:存儲器數(shù)據(jù)寄存器,用于存放欲寫入到主存儲器中的數(shù)據(jù)或準(zhǔn)備從主存儲器中讀出的數(shù)據(jù)。(3)PC:程序計數(shù)器,存放現(xiàn)行指令的地址,通常具有計數(shù)功能,順序執(zhí)行程序時,每執(zhí)行完一條指令后會自動加1。當(dāng)遇到轉(zhuǎn)移指令時,PC指令的值可自動修改。(4)IR:存放當(dāng)前欲執(zhí)行的指令。通過這4個寄存器,CPU和主存儲器實(shí)現(xiàn)數(shù)據(jù)交換。每個公司在設(shè)計自己的CPU架構(gòu)時有各自的設(shè)計理念,其中寄存器的組織方式也不同,至于如何組織好各類寄存器,目前也無統(tǒng)一的觀點(diǎn),主要有設(shè)計者自己來決定。圖7.2分別為Zilog公司設(shè)計的Z8000CPU、Intel公司設(shè)計的8086、CPU和Motorola公司設(shè)計的MC68000CPU的寄存器組織圖。圖7.2Zilog公司的Z8000、Intel公司的8086、Motorola公司的MC68000寄存器組織圖。7.2指令周期1.指令周期CPU每取出并執(zhí)行一條指令所需的全部時間稱為指令周期,即CPU完成一條指令所花的全部時間。2.不同指令的指令周期3.具有間接尋址的指令周期間接尋址方式的指令需要增加間址周期,其的整個指令周期比立即尋址和直接尋址的指令周期長。4.帶有中斷周期的指令周期CPU在每條指令結(jié)束前都要發(fā)中斷查詢信號,以檢測是否有中斷請求,如果有中斷請求,CPU就要進(jìn)入中斷響應(yīng)階段,又稱為中斷周期。CPU指令系統(tǒng)中的一條最復(fù)雜指令其指令周期可能包括4個周期:取指周期、間址周期、執(zhí)行周期、中斷周期
7.3指令流水為了進(jìn)一步提高計算機(jī)的運(yùn)算速度,通常是從提高元器件的性能和改進(jìn)系統(tǒng)的結(jié)構(gòu)、開發(fā)系統(tǒng)的并行性兩個方面入手。1.提高元器件的性能提高元器件的性能是提高計算機(jī)整機(jī)性能的重要途徑,計算機(jī)的發(fā)展歷史就是以電子元器件的發(fā)展歷程作為分代。第一代為電子管、第二代為晶體管、第三代為中小規(guī)模集成電路、第四代為大規(guī)模和超大規(guī)模集成電路。電子元器件的每一次更新?lián)Q代都使得計算機(jī)的軟硬件技術(shù)和計算機(jī)性能獲得突破性發(fā)展。特別是超大規(guī)模的集成電路出現(xiàn),使得計算機(jī)有了集成度高、體積小、功耗小、可靠性高、價格便宜等特點(diǎn)。但由于半導(dǎo)體器件的集成度已經(jīng)越來越接近物理極限,靠提高半導(dǎo)體元器件性能來提高計算機(jī)的性能越來越難。2.改進(jìn)系統(tǒng)結(jié)構(gòu)、開發(fā)系統(tǒng)的并行性通過改變系統(tǒng)結(jié)構(gòu),開發(fā)系統(tǒng)的并行性來提升計算機(jī)系統(tǒng)的性能。并行:包含有同時性和并發(fā)性兩個方面。同時性是指兩個或多個事件在同一時刻發(fā)生,并發(fā)性是指兩個或多個事件在同一時間段發(fā)生。并行性體現(xiàn)在不同等級上。通常分為4個級別:作業(yè)級(程序級)、任務(wù)級(進(jìn)程級)、指令之間級、指令內(nèi)部級。前兩級統(tǒng)稱為粗粒度(又稱為過程級);后兩級稱為細(xì)粒度(又稱為指令級)。粗粒度并行性一般通過算法(軟件的方式)來實(shí)現(xiàn),細(xì)粒度并行性一般由硬件來實(shí)現(xiàn)。本節(jié)重點(diǎn)討論指令流水的一些主要問題。7.3.1指令流水的原理指令流水的原理類似如工廠的生產(chǎn)裝配線,工廠生產(chǎn)裝配一個產(chǎn)品是把裝配過程分成許多步驟,同時盡可能使每一步驟的時間相同或相近,這樣形成流水線裝配過程,生產(chǎn)速度和效率大大提高。將裝配生產(chǎn)線的思想用到指令的執(zhí)行上,就引出了指令流水的概念。1.不采用指令流水技術(shù)的計算機(jī)不采用指令流水技術(shù)的計算機(jī)中,在執(zhí)行程序中一條條指令時,取指令和執(zhí)行指令是周而復(fù)始地重復(fù)出現(xiàn),各條指令按順序串行執(zhí)行。每條指令的“取指令”操作由取指令的電路部件完成,“執(zhí)行指令”的操作由執(zhí)行指令的電路部件完成。這種指令的順序執(zhí)行雖然簡單,但執(zhí)行指令過程中各個電路部件的利用率不高。2.采用指令流水的計算機(jī)不采用指令流水技術(shù)的計算機(jī)在取指令的電路部件工作時,執(zhí)行指令的電路部件基本空閑;而執(zhí)行指令的電路部件工作時,取指令的電路部件基本空閑。我們是否可以這樣設(shè)計:如果指令執(zhí)行階段不訪問主存儲器,我們利用這個時間段取下一條指令,這樣就使得取下一條指令的操作和執(zhí)行當(dāng)前指令的操作同時進(jìn)行。如圖7.8所示:我們稱這種為二級流水。實(shí)現(xiàn)指令的二級流水后比原來不采用指令流水的情況計算機(jī)執(zhí)行速度會提高將近一倍。3.指令流水進(jìn)一步分析指令流水存在兩個方面的問題:第一,指令的“執(zhí)行時間”一般是大于“取指令時間”,因此,取指令階段可能要等待一段時間才能傳給執(zhí)行部件。第二,當(dāng)遇到轉(zhuǎn)移指令時,下一條指令地址是不可知的,因?yàn)楸仨毜鹊疆?dāng)前指令結(jié)束后才能知道轉(zhuǎn)移條件是否成立,才能決定下一條指令的地址,所以不能做到在當(dāng)前指令執(zhí)行階段同時就取下一條指令。4.指令流水細(xì)分我們把指令操作細(xì)分為6個階段,稱為指令六級流水。(1)取指(FI):從存儲器取出一條指令并暫時存入指令部件的緩沖區(qū)。(2)指令譯碼(DI):確定操作性質(zhì)和操作數(shù)地址形成方式。(3)計算操作數(shù)地址(CO):按照尋址方式計算操作數(shù)的有效地址。(4)取操作數(shù)(FO):從存儲器中取操作數(shù)(若操作數(shù)在寄存器中,則無此階段)。(5)執(zhí)行指令(EI):執(zhí)行指令所需的操作,并將結(jié)果存入目的位置(寄存器中)。(6)寫操作數(shù)(WO):將結(jié)果寫入主存儲器。圖7.9指令六級流水圖。上圖中,共有9條指令依次執(zhí)行。如果不采用流水線技術(shù),9條指令執(zhí)行完成需要9*6=54個時間單元。采用流水技術(shù)后,六級流水只需要14個時間單元。大大提高了CPU的處理速度。以上為理想狀態(tài)下,不采取指令流水線和采取指令流水線的時間差異。例題7.1假設(shè)指令流水線分為取指(IF)、譯碼(ID)、執(zhí)行(EX)、回寫(WR)4個過程段,每個過程段占一個時鐘周期,共有10條指令連續(xù)輸入此流水線。(1)畫出指令周期流程。(2)畫出非指令流水線時空圖,計算非指令流水線10條指令需要的時鐘周期。(3)畫出指令流水線時空圖,計算按照四級指令流水線而言,10條指令需要的時鐘周期。解:(1)指令周期包括取指(IF)、譯碼(ID)、執(zhí)行(EX)、回寫(WR)4個過程,則指令周期流程為:→IF→ID→EX→WR。(2)非指令流水線時空圖如圖所示(圖中只畫了兩條指令I(lǐng)1、I2)。一條指令需要4個時鐘周期,非流水線處理10條指令則需要4×10=40個時鐘周期。(3)指令流水線時空圖如圖所示。一條指令需要4個時鐘周期,四級流水線處理10條指令所需要時鐘周期數(shù)為4+(10-1)=13。由此可見,指令執(zhí)行采用流水線和非流水線所需的時鐘周期數(shù)相差是很大的,所以現(xiàn)代CPU設(shè)計技術(shù)都采用流水線技術(shù)。7.3.2影響指令流水性能的因素上節(jié)對指令流水線的分析都是建立在指令流水理想化的狀態(tài)下進(jìn)行的。程序中指令執(zhí)行的三種情況會影響指令流水理想化,我們稱之為三種相關(guān)。這三種相關(guān)分別是:結(jié)構(gòu)相關(guān)、數(shù)據(jù)相關(guān)、控制相關(guān)。1.結(jié)構(gòu)相關(guān)上節(jié)對指令流水線的分析都是建立在指令流水理想化的狀態(tài)下進(jìn)行的。結(jié)構(gòu)相關(guān)是指:指令在重疊執(zhí)行過程中,不同指令爭用同一功能部件產(chǎn)生的資源沖突,故又稱為資源相關(guān)。計算機(jī)中指令和數(shù)據(jù)一般都是保存在同一主存儲器中,且只有一個訪問入口,如果在指令流水的某個時鐘周期內(nèi),流水線既要完成某條指令對操作數(shù)的存儲器訪問操作,又要完成另外一條指令的取指令操作,這樣就會發(fā)生訪存沖突。解決這類沖突的方法之一:讓流水線在完成前一條指令對數(shù)據(jù)的存儲器訪問時,暫停另外一條指令的取指令操作,等前一條指令訪問完存儲器后,再開始另外一條指令的取指令操作。解決這類沖突的方法之二:設(shè)置兩個物理獨(dú)立的存儲器,分別為指令存儲器和數(shù)據(jù)存儲器,這樣就可以避免取指令和取操作數(shù)同時進(jìn)行時互相沖突。還有指令預(yù)取技術(shù)等也可以較好解決結(jié)構(gòu)相關(guān)的問題。2.數(shù)據(jù)相關(guān)所謂數(shù)據(jù)相關(guān)是指流水線中的各條指令因?yàn)橹丿B操作,可能改變對操作數(shù)的讀寫訪問順序,從而導(dǎo)致了數(shù)據(jù)相關(guān)沖突。假設(shè)流水線上要執(zhí)行這樣兩條三地址指令:ADDR2,R3,R1;(R2)+(R3)→R1SUBR1,R5,R4;(R1)-(R5)→R4還有指令預(yù)取技術(shù)等也可以較好解決結(jié)構(gòu)相關(guān)的問題。正常的程序執(zhí)行過程是先由ADD指令“寫”入到R1,再由SUB指令來“讀”R1。指令流水線時,由于重疊操作,使得“讀”和“寫”的先后次序有可能發(fā)生變化,也就是說,有可能在第二條SUB指令“讀”R1的時候,第一條ADD指令還沒有把數(shù)據(jù)“寫”入R1,這樣程序運(yùn)行結(jié)果就會出現(xiàn)錯誤。有i和j兩條指令,其中i指令在前,j指令在后,則有可能三種不同類型的數(shù)據(jù)相關(guān):(1)寫后讀相關(guān)(ReadAfterWrite,RAW):指令j試圖在指令i寫入寄存器之前就讀出該寄存器內(nèi)容,這樣,指令j就會錯誤地讀出該寄存器舊的內(nèi)容。(2)讀后寫相關(guān)(WriteAfterRead,WAR):指令j試圖在指令i讀出寄存器內(nèi)容之前就寫入該寄存器,這樣,指令i就會錯誤地讀出該寄存器新的內(nèi)容。(3)寫后寫相關(guān)(WriteAfterWrite,WAW):指令j試圖在指令i寫入寄存器之前就寫入該寄存器,這樣,兩次寫的次序就被顛倒,使得由指令i寫入的值成為該寄存器的內(nèi)容。3.控制相關(guān)控制相關(guān)主要是由轉(zhuǎn)移指令引起的。當(dāng)執(zhí)行條件轉(zhuǎn)移指令時,是否發(fā)生轉(zhuǎn)移,是需要執(zhí)行完轉(zhuǎn)移指令,根據(jù)轉(zhuǎn)移條件才能判斷是否轉(zhuǎn)移,這樣流水線由于無法判斷預(yù)測結(jié)果就會帶來性能損失。這種情況我們稱之為控制相關(guān)。7.3.3提高CPU性能的新技術(shù)流水線的多發(fā)技術(shù):在一個時鐘周期內(nèi),產(chǎn)生更多的指令結(jié)果,提高程序執(zhí)行速度。常見的多發(fā)技術(shù)有超標(biāo)量技術(shù)、超流水線技術(shù)等。為了提高程序運(yùn)行速度,CPU還采用了超線程技術(shù)、多核技術(shù)。1.超標(biāo)量技術(shù)超標(biāo)量技術(shù)是指在每個時鐘周期內(nèi)同時并發(fā)多條獨(dú)立指令,即以并行操作方式將兩條或兩條以上的指令同時編譯并執(zhí)行。如圖所示,圖中是三條指令同時執(zhí)行。例如程序段中如果有這樣三條指令:MOVBX,3ADDAX,12MOVDX,CX這三條指令是相互獨(dú)立的,不存在數(shù)據(jù)相關(guān),所以可實(shí)現(xiàn)指令級并行。如果是下面三條指令則由于存在數(shù)據(jù)相關(guān)就不能并行執(zhí)行。INCAXADDAX,BXMOVDX,AX
2.超流水線技術(shù)超流水線技術(shù)是將一些流水線寄存器插入到流水線段中,好比是將流水中的每一段再分段,如圖所示,將原來的一個時鐘周期段又分為了3段。3.超線程技術(shù)超線程是Intel公司提出的一種提高CPU性能的技術(shù)。簡單地說就是將一個物理CPU當(dāng)作兩個邏輯CPU使用,使得CPU可以同時執(zhí)行多重線程,從而發(fā)揮更大效率。對于單線程芯片來說,雖然也可以每秒鐘處理成千上萬條指令,但是在某一時刻,其只能夠?qū)σ粭l指令(單個線程)進(jìn)行處理,結(jié)果必然是CPU處理器內(nèi)部的其他處理單元閑置。而超線程技術(shù)則可以使處理器在某一時刻,同步并行處理更多指令和數(shù)據(jù)(多個線程)。4.雙核和多核技術(shù)所謂多核處理器,主要特征就是在一個處理器芯片上集成了多個CPU物理內(nèi)核。雙核處理器并不能達(dá)到提高性能2倍的效果,IBM公司曾經(jīng)對比了AMD的雙核處理器和單和處理器的性能,其結(jié)果是雙核比單核大致提高性能60%。超線程和雙核的區(qū)別在哪里呢?比如開啟了超線程技術(shù)的Pentium4(單核)與PentiumD(雙核)在操作系統(tǒng)中都同樣被識別為兩個處理器,它們究竟是不是一樣呢?答案是否定的。雙核CPU理解為兩個“物理”處理器,是一種“硬”方式;而超線程技術(shù)只是兩個“邏輯”處理器,是一種“軟”方式。
7.4中斷系統(tǒng)本節(jié)進(jìn)一步分析中斷的功能,以便更深入了解中斷系統(tǒng)的原理和作用。7.4.1概述引起中斷的因素很多,大致是以下幾類。1.人為設(shè)置的中斷這種中斷是指程序中人為設(shè)置的,故一旦機(jī)器執(zhí)行這種人為中斷,便自動停止現(xiàn)行程序轉(zhuǎn)入中斷處理。有些CPU有“INT”中斷指令,用于人為中斷。2.程序性事故這種中斷是指定點(diǎn)溢出、浮點(diǎn)溢出、操作碼不能識別、除法出現(xiàn)“非法”等,這些都是屬于程序設(shè)計不周引起的中斷。3.硬件故障硬件故障類型很多,如插件接觸不良、通風(fēng)不良、磁表面損壞、電源掉電等,這些都屬于硬件故障。4.I/O設(shè)備I/O設(shè)備被啟動后,一旦準(zhǔn)備就緒,便向CPU發(fā)出中斷請求。每個I/O設(shè)備都能發(fā)出中斷請求。5.外部事件用戶通過鍵盤來中斷現(xiàn)行程序?qū)儆谕獠渴录Mǔ⒛芤鹬袛嗟母鱾€因素稱為中斷源。中斷源分為兩大類:一類是不可屏蔽的中斷源,不可屏蔽中斷源是指CPU通過指令是不可以把它屏蔽掉。一類是可屏蔽中斷源,可屏蔽中斷源發(fā)出的中斷請求是可以通過指令屏蔽掉的,如果屏蔽掉了,即便有中斷請求,CPU也不會響應(yīng)。
7.4.2中斷請求標(biāo)記和中斷判優(yōu)邏輯1.中斷請求標(biāo)記為了判斷是哪一個中斷源提出的中斷請求,在中斷系統(tǒng)中需要設(shè)置一個中斷請求標(biāo)記觸發(fā)器。每個中斷源都有一個相對的中斷請求標(biāo)記觸發(fā)器,多個觸發(fā)器構(gòu)成一個中斷請求標(biāo)記寄存器。當(dāng)有某一個中斷源提出中斷請求時,對應(yīng)的觸發(fā)器狀態(tài)為“1”。2.中斷判優(yōu)邏輯每個中斷源提出中斷請求是隨機(jī)的,所以就有可能在同一時刻有多個中斷源提出中斷請求,但由于任何一個中斷系統(tǒng),在任何時刻,只能響應(yīng)一個中斷源的請求,所以中斷系統(tǒng)必須有一個中斷判優(yōu)電路,對提出中斷請求的中斷源按照其優(yōu)先順序予以響應(yīng)。這個優(yōu)先順序由設(shè)計者根據(jù)具體設(shè)計需要來確定。例如,電源掉電對計算機(jī)工作影響最大應(yīng)該設(shè)定優(yōu)先級最高,又如,定點(diǎn)溢出對運(yùn)算正確影響較大,優(yōu)先級也應(yīng)該較高。中斷判優(yōu)可由硬件排隊電路來實(shí)現(xiàn),也可以軟件查詢實(shí)現(xiàn)。
7.4.3中斷服務(wù)程序入口地址的形成當(dāng)CPU檢測到有中斷請求時,需要根據(jù)不同的中斷源轉(zhuǎn)到不同的中斷服務(wù)程序的入口地址,去運(yùn)行相應(yīng)的中斷服務(wù)程序。通常有兩種方法尋找中斷服務(wù)程序的入口地址:硬件向量法和軟件查詢法。1.硬件向量法硬件向量法是通過硬件電路產(chǎn)生一個數(shù)值,這個數(shù)值稱為中斷向量地址(簡稱:中斷向量),由中斷向量地址可以在主存中找到中斷服務(wù)程序的入口地址。中斷向量地址由中斷向量地址
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 旅游餐飲員工績效總結(jié)
- 木材銷售工作總結(jié)
- 服裝店衛(wèi)生衛(wèi)生規(guī)范標(biāo)準(zhǔn)
- 十年級化學(xué)學(xué)科的教學(xué)工作總結(jié)
- 制冷空調(diào)行業(yè)人力資源管理實(shí)踐
- 《疼痛治療》課件
- 《房地產(chǎn)市場簡報》課件
- 2021年廣東省汕尾市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 2024年四川省德陽市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2021年內(nèi)蒙古自治區(qū)烏海市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 泌尿科一科一品匯報課件
- 2024年江西省三校生高職英語高考試卷
- 中國古代文學(xué)智慧樹知到期末考試答案章節(jié)答案2024年廣州大學(xué)
- 重慶市南岸區(qū)2022-2023學(xué)年五年級上學(xué)期期末語文試卷
- 現(xiàn)澆鋼筋混凝土整體式肋梁樓蓋結(jié)構(gòu)-課程設(shè)計
- 浙江省舟山市2023-2024學(xué)年高二上學(xué)期1月期末檢測地理試題(解析版)
- 《寫字樓招商方案》課件
- 服務(wù)器維保應(yīng)急預(yù)案
- 煙花爆竹經(jīng)營
- 文旅劇本殺項目策劃方案
- 藥房庫存盤點(diǎn)與管理培訓(xùn)
評論
0/150
提交評論