第五章中央處理器(白中英第五版)_第1頁
第五章中央處理器(白中英第五版)_第2頁
第五章中央處理器(白中英第五版)_第3頁
第五章中央處理器(白中英第五版)_第4頁
第五章中央處理器(白中英第五版)_第5頁
已閱讀5頁,還剩170頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計算機(jī)組原理第五章中央處理器5.1CPU的組成和功能一、CPU的功能

當(dāng)用計算機(jī)解決某個問題時,我們首先必須為它編寫程序。程序是一個指令序列,這個序列明確告訴計算機(jī)應(yīng)該執(zhí)行什么操作,在什么地方找到用來操作的數(shù)據(jù)。一旦把程序裝入內(nèi)存儲器,就可以由計算機(jī)來自動完成取出指令和執(zhí)行指令的任務(wù)。專門用來完成此項工作的計算機(jī)部件稱為中央處理器,通常簡稱CPU。CPU對整個計算機(jī)系統(tǒng)的運(yùn)行是極其重要的,它具有如下四方面的基本功能:06二月20235.1CPU的組成和功能指令控制

程序的順序控制稱為指令控制。由于程序是一個指令序列,這些指令的相互順序不能任意顛倒,必須嚴(yán)格按程序規(guī)定的順序進(jìn)行。(首要任務(wù))操作控制

一條指令由若干操作信號的組合實現(xiàn)。CPU產(chǎn)生并管理這些信號。把各種操作信號送往相應(yīng)的部件,從而控制這些部件按指令的要求進(jìn)行動作。06二月20235.1CPU的組成和功能時間控制對各種操作實施時間上的定時稱為時間控制。在計算機(jī)中,各種指令的操作信號以及一條指令的整個執(zhí)行過程都受到時間的嚴(yán)格定時。此外指令的執(zhí)行過程需要時間控制。數(shù)據(jù)加工(根本任務(wù))數(shù)據(jù)加工就是對數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算處理。06二月20235.1CPU的組成和功能二、CPU的基本組成06二月20235.1CPU的組成和功能運(yùn)算器

由算術(shù)邏輯單元(ALU)、累加寄存器、數(shù)據(jù)緩沖寄存器和狀態(tài)條件寄存器組成,它是數(shù)據(jù)加工處理部件。相對控制器而言,運(yùn)算器接受控制器的命令而進(jìn)行動作,即運(yùn)算器所進(jìn)行的全部操作都是由控制器發(fā)出的控制信號來指揮的,所以它是執(zhí)行部件。06二月20235.1CPU的組成和功能運(yùn)算器有兩個主要功能:

(1)執(zhí)行所有的算術(shù)運(yùn)算;

(2)執(zhí)行所有的邏輯運(yùn)算,并進(jìn)行邏輯測試,如零值測試或兩個值的比較。06二月20235.1CPU的組成和功能2.控制器

由程序計數(shù)器、指令寄存器、指令譯碼器、時序產(chǎn)生器和操作控制器組成,它是發(fā)布命令的“決策機(jī)構(gòu)”,即完成協(xié)調(diào)和指揮整個計算機(jī)系統(tǒng)的操作。06二月20235.1CPU的組成和功能控制器的主要功能有(1)從內(nèi)存中取出一條指令,并指出下一條指令在內(nèi)存中的位置;(2)對指令進(jìn)行譯碼或測試,并產(chǎn)生相應(yīng)的操作控制信號,以便啟動規(guī)定的動作;(3)指揮并控制CPU、內(nèi)存和輸入/輸出設(shè)備之間數(shù)據(jù)流動的方向。06二月20235.1CPU的組成和功能3.cache

存儲指令和數(shù)據(jù)。06二月20235.1CPU的組成和功能CPU模型5.1CPU的組成和功能06二月2023模型機(jī)各部件功能:寄存器的功能:暫存指令和數(shù)據(jù)數(shù)據(jù)緩沖寄存器(DR):存運(yùn)算結(jié)果及內(nèi)部緩沖;緩沖CPU與外部(主存與外設(shè))數(shù)據(jù)傳送。指令寄存器(IR):存儲當(dāng)前正在執(zhí)行的指令字。指令譯碼器:分析測試指令操作碼的功能。程序計數(shù)器(PC):存儲下一條要執(zhí)行指令的地址。地址寄存器(AR):存儲當(dāng)前訪問數(shù)據(jù)的地址。通用寄存器(R0~R3):存儲參與運(yùn)算及運(yùn)算結(jié)果的數(shù)據(jù)狀態(tài)字寄存器(PSW):存儲運(yùn)算狀態(tài)。5.1CPU的組成和功能06二月2023操作控制器:根據(jù)指令操作碼和時序信號,產(chǎn)生各種控制信號,在各寄存器之間建立數(shù)據(jù)通路。微程序控制器硬布線控制器時序產(chǎn)生器:產(chǎn)生定時信號,對各種操作信號實施時間上的控制。5.1CPU的組成和功能06二月2023三、CPU中的主要寄存器

在CPU中至少要有六類寄存器。這些寄存器用來暫存一個計算機(jī)字。根據(jù)需要,可以擴(kuò)充其數(shù)目。CPU的邏輯結(jié)構(gòu)示意圖5.1CPU的組成和功能06二月2023三、CPU中的主要寄存器

在CPU中至少要有六類寄存器。這些寄存器用來暫存一個計算機(jī)字。根據(jù)需要,可以擴(kuò)充其數(shù)目。DR(數(shù)據(jù)緩沖寄存器)數(shù)據(jù)緩沖寄存器用來暫時存放由內(nèi)存儲器讀出的一條指令或一個數(shù)據(jù)字;反之,當(dāng)向內(nèi)存存入一條指令或一個數(shù)據(jù)字時,也暫時將它們存放在數(shù)據(jù)緩沖寄存器中。5.1CPU的組成和功能06二月2023緩沖寄存器的作用是:(1)作為CPU和內(nèi)存、外部設(shè)備之間信息傳送的中轉(zhuǎn)站;(2)補(bǔ)償CPU和內(nèi)存、外圍設(shè)備之間在操作速度上的差別;(3)在單累加器結(jié)構(gòu)的運(yùn)算器中,數(shù)據(jù)緩沖寄存器還可兼作為操作數(shù)寄存器。5.1CPU的組成和功能06二月2023

2.IR(指令寄存器)

IR用來保存當(dāng)前正在執(zhí)行的一條指令。當(dāng)執(zhí)行一條指令時,先把它從內(nèi)存取到DR中,然后再傳送至IR。指令劃分為操作碼和地址碼字段,由二進(jìn)制數(shù)字組成。為了執(zhí)行任何給定的指令,必須對操作碼進(jìn)行測試,以便識別所要求的操作。指令譯碼器就是做這項工作的。指令寄存器中操作碼字段的輸出就是指令譯碼器的輸入。操作碼一經(jīng)譯碼后,即可向操作控制器發(fā)出具體操作的特定信號。5.1CPU的組成和功能06二月20233.PC(程序計數(shù)器)

為了保證程序能夠連續(xù)地執(zhí)行下去,CPU必須具有某些手段來確定下一條指令的地址。而程序計數(shù)器正是起到這種作用,所以通常又稱為指令計數(shù)器。在程序開始執(zhí)行前,必須將它的起始地址,即程序的一條指令所在的內(nèi)存單元地址送入PC,因此PC的內(nèi)容即是從內(nèi)存提取的第一條指令的地址。當(dāng)執(zhí)行指令時,CPU將自動修改PC的內(nèi)容,以便使其保持的總是將要執(zhí)行的下一條指令的地址。5.1CPU的組成和功能06二月2023

由于大多數(shù)指令都是按順序來執(zhí)行的,所以修改的過程通常只是簡單的對PC加1。但是,當(dāng)遇到轉(zhuǎn)移指令如JMP指令時,那么后繼指令的地址(即PC的內(nèi)容)必須從指令的地址段取得。在這種情況下,下一條從內(nèi)存取出的指令將由轉(zhuǎn)移指令來規(guī)定,而不是像通常一樣按順序來取得。因此程序計數(shù)器的結(jié)構(gòu)應(yīng)當(dāng)是具有寄存信息和計數(shù)兩種功能的結(jié)構(gòu)。5.1CPU的組成和功能06二月20234.AR(地址寄存器)

地址寄存器用來保存當(dāng)前CPU所訪問的內(nèi)存單元的地址。由于在內(nèi)存和CPU之間存在著操作速度上的差別,所以必須使用地址寄存器來保持地址信息,直到內(nèi)存的讀/寫操作完成為止。當(dāng)CPU和內(nèi)存進(jìn)行信息交換,即CPU向內(nèi)存存/取數(shù)據(jù)時,或者CPU從內(nèi)存中讀出指令時,都要使用地址寄存器和數(shù)據(jù)緩沖寄存器。同樣,如果我們把外圍設(shè)備的設(shè)備地址作為像內(nèi)存的地址單元那樣來看待,那么,當(dāng)CPU和外圍設(shè)備交換信息時,我們同樣使用地址寄存器和數(shù)據(jù)緩沖寄存器。

5.1CPU的組成和功能06二月2023

地址寄存器的結(jié)構(gòu)和數(shù)據(jù)緩沖寄存器、指令寄存器一樣,通常使用單純的寄存器結(jié)構(gòu)。信息的存入一般采用電位-脈沖方式,即電位輸入端對應(yīng)數(shù)據(jù)信息位,脈沖輸入端對應(yīng)控制信號,在控制信號作用下,瞬時地將信息打入寄存器。5.1CPU的組成和功能06二月2023PSW(狀態(tài)條件寄存器)

狀態(tài)條件寄存器保存由算術(shù)指令和邏輯指令運(yùn)行或測試的結(jié)果建立的各種條件碼內(nèi)容,如運(yùn)算結(jié)果進(jìn)位標(biāo)志(C),運(yùn)算結(jié)果溢出標(biāo)志(V),運(yùn)算結(jié)果為零標(biāo)志(Z),運(yùn)算結(jié)果為負(fù)標(biāo)志(N)等等。這些標(biāo)志位通常分別由1位觸發(fā)器保存。除此之外,狀態(tài)條件寄存器還保存中斷和系統(tǒng)工作狀態(tài)等信息,以便使CPU和系統(tǒng)能及時了解機(jī)器運(yùn)行狀態(tài)和程序運(yùn)行狀態(tài)。因此,狀態(tài)條件寄存器是一個由各種狀態(tài)條件標(biāo)志拼湊而成的寄存器。5.1CPU的組成和功能06二月2023四、操作控制器與時序產(chǎn)生器1、數(shù)據(jù)通路:是許多寄存器之間傳送信息的通路。信息從什么地方開始,中間經(jīng)過哪個寄存器或多路開關(guān),最后傳送到哪個寄存器,都要加以控制。在各寄存器之間建立數(shù)據(jù)通路的任務(wù),是由稱為操作控制器的部件來完成的。2、時序產(chǎn)生器:操作控制器產(chǎn)生的控制信號必須定時。其作用就是對各種操作實施時間上的控制。5.1CPU的組成和功能06二月20233、操作控制器的功能:就是根據(jù)指令操作碼和時序信號,產(chǎn)生各種操作控制信號,以便正確地建立數(shù)據(jù)通路,從而完成取指令和執(zhí)行指令的控制。根據(jù)設(shè)計方法不同,操作控制器可分為時序邏輯型、存儲邏輯型、時序邏輯與存儲邏輯結(jié)合型三種。

a.硬布線控制器:是采用時序邏輯技術(shù)來實現(xiàn)的;b.微程序控制器:是采用存儲邏輯來實現(xiàn)的;c.前兩種方式的組合5.2指令周期06二月2023一、指令周期的基本概念計算機(jī)所以能自動地工作,是因為CPU能從存放程序的內(nèi)存里取出一條指令并執(zhí)行這條指令;緊接著又是取指令,執(zhí)行指令……,如此周而復(fù)始,構(gòu)成了一個封閉的循環(huán)。除非遇到停機(jī)指令,否則這個循環(huán)將一直繼續(xù)下去。取指令、執(zhí)行指令周期序列示意圖5.2指令周期06二月2023

1、指令周期

:CPU從內(nèi)存取出一條指令并執(zhí)行這條指令的時間總和。

2、CPU周期

:

又稱機(jī)器周期,CPU訪問一次內(nèi)存所花的時間較長,因此用從內(nèi)存讀取一條指令字的最短時間來定義。3、時鐘周期:

通常稱為節(jié)拍脈沖或T周期。一個CPU周期包含若干個時鐘周期。指令周期示意圖5.2指令周期06二月20235.2指令周期06二月20235.2指令周期06二月2023二、MOV指令周期(2個CPU周期)MOV指令周期示意圖三、LDA指令周期(3個CPU周期)LDA指令周期示意圖四、ADD指令周期(2個CPU周期)ADD指令結(jié)構(gòu)示意圖五、STO指令周期(3個CPU周期)STO指令結(jié)構(gòu)示意圖5.2指令周期06二月2023六、JMP指令周期(2個CPU周期)JMP指令周期示意圖七、五條基本指令的執(zhí)行過程五條基本指令的指令過程示意圖八、用方框圖語言表示的指令周期方框圖語言表示的指令周期示意圖方框圖語言表示的指令周期執(zhí)行過程5.2指令周期06二月2023【例1】教材圖5.15所示為雙總線結(jié)構(gòu)機(jī)器的數(shù)據(jù)通路,IR為指令寄存器,PC為程序計數(shù)器(具有自增功能),M為主存(受R/W信號控制),AR為地址寄存器,DR為數(shù)據(jù)緩沖寄存器,ALU由加、減控制信號決定完成何種操作,控制信號G控制的是一個門電路。另外,線上標(biāo)注有小圈表示有控制信號,例中yi表示y寄存器的輸入控制信號,R1o為寄存器R1的輸出控制信號,未標(biāo)字符的線為直通線,不受控制。5.2指令周期06二月2023(1)“ADDR2,R0”指令完成(R0)+(R2)→R0的功能操作,畫出其指令周期流程圖,假設(shè)該指令的地址已放入PC中。并列出相應(yīng)的微操作控制信號序列。(2)“SUBR1,R3”指令完成(R3)-(R1)→R3的操作,畫出其指令期流程圖,并列出相應(yīng)的微操作控制信號序列。

雙總線結(jié)構(gòu)機(jī)器的數(shù)據(jù)通路示意圖5.2指令周期06二月2023(1)“ADDR2,R0”指令是一條加法指令,參與運(yùn)算的兩個數(shù)放在寄存器R2和R0中,指令周期流程圖包括取指令階段和執(zhí)行指令階段兩部分(為簡單起見,省去了“→”號左邊各寄存器代碼上應(yīng)加的括號)。根據(jù)給定的數(shù)據(jù)通路圖,“ADDR2,R0”指令的詳細(xì)指令周期流程圖如圖(a)所示,圖的右邊部分標(biāo)注了每一個機(jī)器周期中用到的微操作控制信號序列。(2)“SUBR2,R3”指令是一條減法指令,其指令周期流程圖如圖(b)所示。與ADD指令不同的是:在執(zhí)行指令階段,微操作控制信號序列有所不同。

加法和減法指令周期圖5.3時序產(chǎn)生器和控制器06二月2023一、時序信號的作用和體制時序信號

CPU中一個類似“作息時間”的東西,使計算機(jī)可以準(zhǔn)確、迅速、有條不紊地工作。機(jī)器一旦被啟動,即CPU開始取指令并執(zhí)行指令時,操作控制器就利用定時脈沖的順序和不同的脈沖間隔,有條理、有節(jié)奏地指揮機(jī)器的動作,規(guī)定在這個脈沖到來時做什么,在那個脈沖到來時又做什么,給計算機(jī)各部分提供工作所需的時間標(biāo)志。為此,需要采用多級時序體制。5.3時序產(chǎn)生器和控制器06二月20231、作用計算機(jī)所以能夠準(zhǔn)確、迅速、有條不紊地工作,正是因為在CPU中有一個時序信號產(chǎn)生器.(1)用二進(jìn)制碼表示的指令和數(shù)據(jù)都放在內(nèi)存里,那么CPU是怎樣識別出它們是數(shù)據(jù)還是指令呢?(2)從時間上來說,取指令事件發(fā)生在指令周期的第一個CPU周期中,即發(fā)生在“取指令”階段,而取數(shù)據(jù)事件發(fā)生在“執(zhí)行指令”階段。5.3時序產(chǎn)生器和控制器06二月2023(3)在一個CPU周期中,又把時間為分若干個小段,以便規(guī)定在這一小段時間中CPU干什么,在那一小段時間中CPU又干什么,這種時間約束對CPU來說是非常必要的,否則就可能造成丟失信息或?qū)е洛e誤的結(jié)果。(4)時間進(jìn)度既不能來得太早,也不能來得太晚。5.3時序產(chǎn)生器和控制器06二月20232、體制組成計算機(jī)硬件的器件特性決定了時序信號的基本體制是電位—脈沖制硬布線控制器:采用主狀態(tài)周期—節(jié)拍電位—節(jié)拍脈沖三級體制(時序信號產(chǎn)生電路復(fù)雜)微程序控制器:節(jié)拍電位—節(jié)拍脈沖二級體制利用微程序順序執(zhí)行來實現(xiàn)微操作時序信號產(chǎn)生電路簡單5.3時序產(chǎn)生器和控制器06二月2023二、時序信號產(chǎn)生器1、功能產(chǎn)生時序信號各型計算機(jī)產(chǎn)生時序電路不相同大、中型計算機(jī)的時序電路復(fù)雜,微型計算機(jī)的時序電路簡單

5.3時序產(chǎn)生器和控制器06二月20232、構(gòu)成(1)時鐘源(2)環(huán)形脈沖發(fā)生器(3)節(jié)拍脈沖和讀寫時序譯碼邏輯(4)啟??刂七壿?/p>

時序信號產(chǎn)生示意圖5.3時序產(chǎn)生器和控制器06二月2023時鐘源時鐘源用來為環(huán)形脈沖發(fā)生器提供頻率穩(wěn)定且電平匹配的方波時鐘脈沖信號。它通常由石英晶體振蕩器和與非門組成的正反饋振蕩電路組成,其輸出送至環(huán)形脈沖發(fā)生器。環(huán)形脈沖發(fā)生器環(huán)形脈沖發(fā)生器的作用是產(chǎn)生一組有序的間隔相等或不等的脈沖序列,以便通過譯碼電路來產(chǎn)生最后所需的節(jié)拍脈沖。5.3時序產(chǎn)生器和控制器06二月2023節(jié)拍脈沖和讀/寫時序的編碼假定在一個CPU周期中產(chǎn)生四個等間隔的節(jié)拍脈沖T1~T4,每個節(jié)拍脈沖的脈沖寬度均為200ns,因此一個CPU周期便是800ns,在下一個CPU周期中,它們又按固定的時間關(guān)系重復(fù)。節(jié)拍電位與節(jié)拍脈沖時序關(guān)系圖5.3時序產(chǎn)生器和控制器06二月2023啟停控制邏輯啟動、停機(jī)是隨機(jī)的,對讀/寫時序信號也需要由啟停邏輯加以控制。?當(dāng)運(yùn)行觸發(fā)器為“1”時,打開時序電路。當(dāng)計算機(jī)啟動時,一定要從第1個節(jié)拍脈沖前沿開始工作。?當(dāng)運(yùn)行觸發(fā)器“0”時,關(guān)閉時序產(chǎn)生器。停機(jī)時一定要在第4個節(jié)拍脈沖結(jié)束后關(guān)閉時序產(chǎn)生器。啟??刂七壿嬍疽鈭D5.3時序產(chǎn)生器和控制器06二月2023三、控制方式

控制不同操作序列時序信號的方法,稱為控制器的控制方式。常用的有三種方式,其實質(zhì)反映了時序信號的定時方式:1.同步控制方式2.異步控制方式3.聯(lián)合控制方式5.3時序產(chǎn)生器和控制器06二月2023同步控制方式在任何情況下,已定的指令在執(zhí)行時所需的機(jī)器周期數(shù)和時鐘周期數(shù)都固定不變。根據(jù)不同情況,同步控制方式可選取如下方案:(1)采用完全統(tǒng)一的機(jī)器周期執(zhí)行各種不同的指令。(2)采用不定長機(jī)器周期。(3)中央控制與局部控制結(jié)合。5.3時序產(chǎn)生器和控制器06二月2023異步控制方式每條指令、每個操作控制信號需要多少時間就占用多少時間。聯(lián)合控制方式

此為同步控制和異步控制相結(jié)合的方式。(1)大部分指令在固定的周期內(nèi)完成,少數(shù)難以確定的操作采用異步方式。(2)機(jī)器周期的節(jié)拍脈沖數(shù)固定,但是各條指令周期的機(jī)器周期數(shù)不固定。5.4微程序控制器06二月2023硬布線控制器

操作控制器:

微程序控制器

微程序設(shè)計技術(shù)是利用軟件方法來設(shè)計硬件的一門技術(shù)。5.4微程序控制器06二月2023

微程序控制的基本思想:仿照通常的解題程序的方法,把操作控制信號編成所謂的“微指令”,存放到一個只讀存儲器里。當(dāng)機(jī)器運(yùn)行時,一條又一條地讀出這些微指令,從而產(chǎn)生全機(jī)所需要的各種操作控制信號,使相應(yīng)部件執(zhí)行所規(guī)定的操作。5.4.1微程序控制器06二月2023一、微命令和微操作

控制部件執(zhí)行部件控制命令狀態(tài)測試(控制線)控制器運(yùn)算器,存儲器,I/O(反饋線)微命令:控制部件向執(zhí)行部件發(fā)出的控制命令。微操作:執(zhí)行部件接受微命令后所進(jìn)行的操作。5.4.1微程序控制器06二月2023在同時或同一個CPU周期內(nèi)可以并行執(zhí)行的微操作。不能在同時同一個CPU周期內(nèi)并行執(zhí)行的微操作。微操作相容性微操作相斥性微操作5.4.1微程序控制器06二月20235.4.1微程序控制器06二月2023二、微指令和微程序在機(jī)器的一個CPU周期中,一組實現(xiàn)一定操作功能的微命令的組合,構(gòu)成一條微指令。

下圖表示一個具體的微指令結(jié)構(gòu),微指令字長為23位,它由操作控制和順序控制兩大部分組成。5.4.1微程序控制器06二月2023指令指令……指令程序微程序微指令微指令……微指令微命令微命令……微命令5.4.1微程序控制器06二月2023三、微程序控制器原理框圖

5.4.1微程序控制器06二月20231、控制存儲器(μCM)這是微程序控制器的核心部件,用來存放微程序。2、微指令寄存器(μIR)

用來存放從μCM取出的正在執(zhí)行的微指令,它的位數(shù)同微指令字長相等。3、微地址寄存器(μMAR)它接受微地址形成部件送來的微地址,為下一步從μCM中讀取微指令作準(zhǔn)備。4、地址轉(zhuǎn)移邏輯微程序不出現(xiàn)分支,那么下一條微指令的地址就直接由微地址寄存器給出。

當(dāng)微程序出現(xiàn)分支時,通過判別測試字段P和執(zhí)行部件的“狀態(tài)條件”反饋信息。去修改微地址寄存器的內(nèi)容,并按改好的內(nèi)容去讀下一條微指令。5.4.1微程序控制器06二月2023四、BCD碼

BCD碼也叫8421碼就是將十進(jìn)制的數(shù)以8421的形式展開成二進(jìn)制,大家知道十進(jìn)制是0~9十個數(shù)組成,這十個數(shù)每個數(shù)都有自己的8421碼:十進(jìn)制8421000001000120010300114010050101601107011181000910011010101110115.4.1微程序控制器06二月20231.BCD碼的運(yùn)算規(guī)則:BCD碼是十進(jìn)制數(shù),而運(yùn)算器對數(shù)據(jù)做加減運(yùn)算時,都是按二進(jìn)制運(yùn)算規(guī)則進(jìn)行處理的。這樣,當(dāng)將BCD碼傳送給運(yùn)算器進(jìn)行運(yùn)算時,其結(jié)果需要修正。2.修正的規(guī)則是:當(dāng)兩個BCD碼相加,如果和等于或小于1001(即十進(jìn)制數(shù)9),不需要修正;如果相加之和在1010到1111(即十六進(jìn)制數(shù)0AH~0FH)之間,則需加6進(jìn)行修正;如果相加時,本位產(chǎn)生了進(jìn)位,也需加6進(jìn)行修正。5.4.1微程序控制器06二月20233、舉例說明:【例1.3】需要修正BCD碼運(yùn)算值的舉例。

(1)計算5+8;(2)計算8+8解:(1)將5和8以8421BCD輸入機(jī)器,則運(yùn)算如下:

0101

+)1000

1101結(jié)果大于9

+)0110

加6修正

1001113的BCD碼結(jié)果是0011,即十進(jìn)制數(shù)3,還產(chǎn)生了進(jìn)位。5+8=13,結(jié)論正確。

5.4.1微程序控制器06二月2023

(2)將8以8421BCD輸入機(jī)器,則運(yùn)算如下:

1000

+)1000

10000結(jié)果大于9

+)0110

加6修正

1011016的BCD碼結(jié)果是0110,即十進(jìn)制的6,而且產(chǎn)生進(jìn)位。8+8=16,結(jié)論正確。5.4.1微程序控制器06二月2023五、微程序舉例一條機(jī)器指令是由若干條微指令組成的序列來實現(xiàn)的.因此,一條機(jī)器指令對應(yīng)著一個微程序,而微程序的總和便可實現(xiàn)整個的指令系統(tǒng).

現(xiàn)在我們舉“十進(jìn)制加法”指令為例,具體看一看微程序控制的過程.5.4.1微程序控制器06二月2023我們假定,數(shù)a和b已存放在中的R1和R2兩寄存器中,數(shù)6存放在R3寄存器中,算法要求先進(jìn)行a+b+6運(yùn)算,然后判斷結(jié)果有無進(jìn)位:當(dāng)進(jìn)位標(biāo)志Cy=1時,不減6;當(dāng)Cy=O時,減去6,從而可以獲得正確的運(yùn)算結(jié)果。5.4.1微程序控制器06二月2023“取指”微指令①從內(nèi)存取出一條機(jī)器指令,并將指令放到指令寄存器.在我們的例子中,取出的是“十進(jìn)制加法”指令;②對程序計數(shù)器加1,做好取下一條指令的準(zhǔn)備;③對機(jī)器指令的操作碼用P1進(jìn)行判別測試,然后修改微地址寄存器內(nèi)容.給出了一條微指令的地址.5.4.1微程序控制器06二月2023第二條微指令完成a+b運(yùn)算。第三條微指令完成a+b+6運(yùn)算。P1測試的“狀態(tài)條件”是OP字段,即用OP字段作為形成下一條微指令的地址。P2用來測試進(jìn)位標(biāo)志Cy.根據(jù)測試結(jié)果,微程序或者轉(zhuǎn)向公操作,或者轉(zhuǎn)向第四條微指令。第四條微指令完成a+b-6運(yùn)算。5.4.1微程序控制器06二月2023第①條微指令的二進(jìn)制編碼是00000000000011111100000

第13位發(fā)出RD’,代表PC內(nèi)容送到ABUS(I)第14位發(fā)出LDDR’,從內(nèi)存某單元取出“十進(jìn)制加法”指令放到DR第15位發(fā)出LDIR’,將DR中的“十進(jìn)制加法”指令再送到IR第16位發(fā)出LDAR’,將PC內(nèi)容送到AR。第17位發(fā)出PC+1微命令,使程序計數(shù)器加1,做好取下一條機(jī)器指令的準(zhǔn)備.微指令的順序控制字段指明下一條微指令的地址是0000,但是由于判別字段中第18位為1,表明是P1測試,因此0000不是下一條微指令的真正的地址.5.4.1微程序控制器06二月2023第②條微指令,它的二進(jìn)制編碼為01010010010000000001001LDR2R1→XR2→Y+

運(yùn)算器完成R1十R2→R2的操作。P1和P2均為0,于是直接給出了一條微指令的地址為1001.

5.4.1微程序控制器06二月2023第③條微指令,它的二進(jìn)制編碼為01000100110000000010000LDR2R2→X

R3→Y

+

運(yùn)算器完成R2+R3→R2的操作。P2為1,測試進(jìn)位標(biāo)志Cy,此時微地址0000需要進(jìn)行修改。我們假定用Cy的狀態(tài)來修改微地址寄存器的最后一位:當(dāng)Cy=0時,下一條微指令的地址為0001;當(dāng)Cy=1時,下一條微指令的地址為0000.

5.4.1微程序控制器06二月2023第④條微指令,它的二進(jìn)制編碼為01000100100100000000000LDR2R2→X

R3→Y

-

運(yùn)算器完成R2-R3→R2的操作。

5.4.1微程序控制器06二月2023六、CPU周期與微指令周期的關(guān)系在串行方式的微程序控制器中:微指令周期=讀出微指令的時間+執(zhí)行該條微指令的時間為了保證整個機(jī)器控制信號的同步,可以將一個微指令周期時間設(shè)計得恰好和CPU周期時間相等。下圖示出了某小型機(jī)中CPU周期與微指令周期的時間關(guān)系:5.4.1微程序控制器06二月2023七、機(jī)器指令與微指令的關(guān)系

指令指令……指令程序微程序微指令微指令……微指令微命令微命令……微命令5.4.1微程序控制器06二月20232.從指令與微指令,程序與微程序,地址與微地址的一一對應(yīng)關(guān)系來看,前者與內(nèi)存儲器有關(guān),后者與控制存儲器有關(guān)。3.我們在講述本章5.2節(jié)時,曾講述了指令與機(jī)器周期概念,并歸納了五條典型指令的指令周期,并演示了這五條指令的微程序流程圖,每一個CPU周期就對應(yīng)一條微指令。這就告訴我們?nèi)绾卧O(shè)計微程序,也將使我們進(jìn)一步體驗到機(jī)器指令與微指令的關(guān)系。5.4.1微程序控制器06二月2023【例2】設(shè)某計算機(jī)運(yùn)算器框圖如圖28(a)所示,其中ALU為16位的加法器(高電平工作),SA,SB為16位暫存器。4個通用寄存器由D觸發(fā)器組成,Q端輸出,其讀、寫控制功能見下表。

1

0

0

R0

1

0

0

R0

1

0

1

R1

1

0

1

R1

1

1

0

R2

1

1

0

R2

1

1

1

R3

1

1

1

R3

0**不讀出

0**不寫入RRA0RA1選擇WWA0WA1選擇讀控制寫控制5.4.1微程序控制器06二月20235.4.1微程序控制器06二月202301234567891011

F1

F2

R

W

F3

F4

F5

F6

F7

F8F1:讀R0-R3的選擇控制F2:寫R0-R3的選擇控制F3:打入SA的控制信號F4:打入SB的控制信號F5:打開非反相三態(tài)門的控制信號LDALU(傳送SB的控制信號)F6:打開反相三態(tài)門的控制信號LDALU并使加法器低位加1(傳送SB的控制信號)F7:清暫存器SB為零的Reset信號F8:一段微程序結(jié)束,轉(zhuǎn)入取機(jī)器指令的控制信號R:寄存器讀命令

W:寄存器寫命令5.4.1微程序控制器06二月2023要求:用二進(jìn)制代碼寫出如下指令的微程序:(1)“ADDR0,R1”指令,即(R0)+(R1)→R1(2)“SUBR2,R3”指令,即(R3)-(R2)→R3(3)“MOVR2,R3”指令,即(R2)→(R3)【解】先畫出三條指令的微指令的微程序流程圖,如下圖所示。其中未考慮“取指周期”和順序控制問題,也即微程序僅考慮“執(zhí)行周期”,微指令序列的順序用數(shù)字標(biāo)號標(biāo)在每條微指令的右上角。每一框表示一條微指令。5.4.1微程序控制器06二月20235.4.1微程序控制器06二月2023指令微程序代碼ADD1.00**101000002.01**100100003.**0101001001(求和)SUB4.11**101000005.10**100100006.**1101000101(減法)MOV7.10**101000008.**1101001011(求和)(0→SB)

根據(jù)給定的微指令周期時間關(guān)系,完成ADD,SUB指令的執(zhí)行動作需要3條微指令,MOV指令只需2條微指令。用二進(jìn)制代碼寫出的三條指令的微程序列于下表中,其中*表示代碼隨意設(shè)置(0或1均可)。5.4.2微程序設(shè)計技術(shù)06二月2023我們已經(jīng)了解了微程序控制器的基本原理.這使我們認(rèn)識到,如何確定微指令的結(jié)構(gòu),乃是微程序設(shè)計的關(guān)鍵.

設(shè)計微指令結(jié)構(gòu)應(yīng)當(dāng)追求的目標(biāo)是:(1)有利于縮短微指令字長度;(2)有利于減小控制存儲器的容量;(3)有利于提高微程序的執(zhí)行速度;(4)有利于對微指令的修改;(5)有利于微程序設(shè)計的靈活性.5.4.2微程序設(shè)計技術(shù)06二月2023一、微命令編碼微命令編碼,就是對微指令中的操作控制字段采用的表示方法.通常有以下三種方法:直接表示法編碼(分段譯碼)表示法混合表示法5.4.2微程序設(shè)計技術(shù)06二月20231、直接表示法:操作控制字段中的各位分別可以直接控制計算機(jī),不需要進(jìn)行譯碼。操作控制字段的每一個獨(dú)立的二進(jìn)制位代表一個微命令,該位為“1”表示這個微命令有效,為“0”表示這個微命令無效。5.4.2微程序設(shè)計技術(shù)06二月2023優(yōu)點(diǎn):這種方法結(jié)構(gòu)簡單,并行性強(qiáng),操作速度快,操作并行性好。缺點(diǎn):①微指令字太長,若微命令的總數(shù)為N個,則微指令字的操作控制字段就要有N位。②在N個微命令中,有許多是互斥的,不允許并行操作,將它們安排在一條微指令中是毫無意義的,只會使信息的利用率下降。5.4.2微程序設(shè)計技術(shù)06二月20232、編碼(分段譯碼)表示法:將操作控制字段分為若干個小段,每段內(nèi)采用最短編碼法,段與段之間采用直接控制法。優(yōu)點(diǎn):可以避免互斥,使指令字大大縮短。缺點(diǎn):增加了譯碼電路,使微程序的執(zhí)行速度減慢5.4.2微程序設(shè)計技術(shù)06二月20233、混合表示法:將前兩種結(jié)合在一起,兼顧兩者特點(diǎn)。一個字段的某些編碼不能獨(dú)立地定義某些微命令,而需要與其他字段的編碼來聯(lián)合定義,如例2:F1與RW5.4.2微程序設(shè)計技術(shù)06二月2023編碼注意幾點(diǎn):字段編碼法中操作控制字段并非是任意的,必須要遵循如下的原則:(1)把互斥性的微命令分在同一段內(nèi),兼容性的微命令分在不同段內(nèi)。這樣不僅有助于提高信息的利用率,縮短微指令字長,而且有助于充分利用硬件所具有的并行性,加快執(zhí)行的速度。5.4.2微程序設(shè)計技術(shù)06二月2023(2)應(yīng)與數(shù)據(jù)通路結(jié)構(gòu)相適應(yīng)。(3)每個小段中包含的信息位不能太多,否則將增加譯碼線路的復(fù)雜性和譯碼時間。(4)一般每個小段還要留出一個狀態(tài),表示本字段不發(fā)出任何微命令。因此當(dāng)某字段的長度為三位時,最多只能表示七個互斥的微命令,通常用000表示不操作。5.4.2微程序設(shè)計技術(shù)06二月2023二、微地址的形成方法機(jī)器指令的操作碼轉(zhuǎn)換成初始微地址的方式主要有兩種。1.

計數(shù)器方式這種方法器同用程序計數(shù)器來產(chǎn)生機(jī)器指令地址的方法相類似.在順序執(zhí)行微指令時,后繼地址由現(xiàn)行微地址加上一個增量來產(chǎn)生;在非順序執(zhí)行微指令時,必須通過轉(zhuǎn)移方式,使現(xiàn)行微指令執(zhí)行后,轉(zhuǎn)去執(zhí)行指定后繼微地址的下一條微指令.5.4.2微程序設(shè)計技術(shù)06二月2023在這種方法中,微地址寄存器通常改為計數(shù)器(微程序計數(shù)器PC),為此,順序執(zhí)行的微指令序列就必須安排在控制存儲器的連續(xù)單元中.計數(shù)器方式的基本特點(diǎn)是:微指令的順序控制字段較短,微地址產(chǎn)生機(jī)構(gòu)簡單.但是多路并行轉(zhuǎn)移功能較弱,速度較慢,靈活性較差.

5.4.2微程序設(shè)計技術(shù)06二月20232、多路轉(zhuǎn)移方式:一條微指令具有多個轉(zhuǎn)移分支的能力稱為多路轉(zhuǎn)移.例如,“取指”微指令根據(jù)操作碼OP產(chǎn)生多路微程序分支而形成多個微地址.在多路轉(zhuǎn)移方式中,當(dāng)微程序不產(chǎn)生分支時,后繼微地址直接由微指令的順序控制字段給出;5.4.2微程序設(shè)計技術(shù)06二月2023

當(dāng)微程序出現(xiàn)分支時,有若干“后選”微地址可供選擇:即按順序控制字段的“判別測試”標(biāo)志和“狀態(tài)條件”信息來選擇其中一個微地址,“狀態(tài)條件”有1位標(biāo)志,可實現(xiàn)微程序兩路轉(zhuǎn)移,涉及微地址寄存器的一位:“狀態(tài)條件”有2位標(biāo)志,可實現(xiàn)微程序4路轉(zhuǎn)移,涉及微地址寄存器的兩位.依此類推,“狀態(tài)條件”有n位標(biāo)志,可實現(xiàn)微程序2n路轉(zhuǎn)移,涉及微地址寄存器的n位.因此執(zhí)行轉(zhuǎn)移指令時,根據(jù)狀態(tài)條件可轉(zhuǎn)移到2n個微地址中的一個.5.4.2微程序設(shè)計技術(shù)06二月2023多路轉(zhuǎn)移方式的特點(diǎn)是:

能以較短的順序控制字段配合,實現(xiàn)多路并行轉(zhuǎn)移,靈活性好,速度較快,但轉(zhuǎn)移地址邏輯需要用組合邏輯方法設(shè)計.

5.4.2微程序設(shè)計技術(shù)06二月2023[例3]微地址寄存器有6位(μA5-μA0),當(dāng)需要修改其內(nèi)容時,可通過某一位觸發(fā)器的強(qiáng)置端S將其置“1”.現(xiàn)有三種情況:(l)執(zhí)行“取指”微指令后,微程序按IR的OP字段(IR3一IR0)進(jìn)行16路分支;(2)執(zhí)行條件轉(zhuǎn)移指令微程序時,按進(jìn)位標(biāo)志C的狀態(tài)進(jìn)行2路分支;(3)執(zhí)行控制臺指令微程序時,按IR4,IR5的狀態(tài)進(jìn)行4路分支.請按多路轉(zhuǎn)移方法設(shè)計微地址轉(zhuǎn)移邏輯.5.4.2微程序設(shè)計技術(shù)06二月2023【解】已知微地址寄存器長度為6位,故可推出直接地址字段為6位,控存容量為64個存儲單元。所給條件中微程序有3處分支轉(zhuǎn)移,故需要3位判別測試位P1,P2,P3,故順序控制字段共9位,其格式如下:P3P2P1uA5uA4uA4uA2uA1uA03位6位判別測試字段直接地址字段TEC-4計算機(jī)組成原理實驗系統(tǒng)微程序流程圖ADDJMPP1P3P2C=0IR3~I(xiàn)R0IR5,IR401101100JC取指15.4.2微程序設(shè)計技術(shù)06二月2023按所給設(shè)計條件,微程序有三種判別測試,分別為P1,P2,P3。由于修改μA5-μA0內(nèi)容具有很大靈活性,現(xiàn)分配如下:(1)用P1和IR3-IR0修改μA3-μA0;(2)用P2和C修改μA0;(3)用P3和IR5,IR4修改μA5,μA4。另外還要考慮時間因素T4(假設(shè)CPU周期最后一個節(jié)拍脈沖),故轉(zhuǎn)移邏輯表達(dá)式如下:5.4.2微程序設(shè)計技術(shù)06二月2023

μA5=P3·IR5·T4

μA4=P3·IR4·T4

μA3=P1·IR3·T4

μA2=P1·IR2·T4

μA1=P1·IR1·T4

μA0=P1·IR0·T4+P2·C·T4由于從觸發(fā)器強(qiáng)置端修改,故前5個表達(dá)式可用“與非”門實現(xiàn),最后一個用“與或非”門實現(xiàn)。5.4.2微程序設(shè)計技術(shù)06二月2023通常,“置位端”都是低電平有效,∴求反控制存儲器的某一位微地址寄存器下圖僅畫出了μA2、μA1、μA0觸發(fā)器的微地址轉(zhuǎn)移邏輯圖。5.4.2微程序設(shè)計技術(shù)06二月2023三、微指令格式

微指令的格式大體分成兩類:水平型微指令和垂直型微指令.1.水平型微指令一次能定義并執(zhí)行多個并行操作微命令的微指令,叫做水平型微指令.例如第一節(jié)中所講的微指令即為水平型微指令.水平型微指令的一般格式如下:控制字段

判別測試字段下地址字段

5.4.2微程序設(shè)計技術(shù)06二月2023按照控制字段的編碼方法不同,水平型微指令又分為三種:一種是全水平型(不譯法)微指令,第二種是字段譯碼法水平型微指令,第三種是直接和譯碼相混合的水平型微指令.5.4.2微程序設(shè)計技術(shù)06二月2023水平型微指令特點(diǎn):優(yōu)點(diǎn):微指令字較長,速度越快。微指令中的微操作有高度的并行性。微指令譯碼簡單??刂拼鎯ζ鞯目v向容量小,靈活性強(qiáng)。5.4.2微程序設(shè)計技術(shù)06二月2023缺點(diǎn):微指令字比較長,明顯地增加了控制存儲器的橫向容量。水平微指令與機(jī)器指令差別很大,一般要熟悉機(jī)器結(jié)構(gòu)、數(shù)據(jù)通路、時序系統(tǒng)以及指令執(zhí)行過程的人才能進(jìn)行微程序設(shè)計,這對用戶來說是很困難的。5.4.2微程序設(shè)計技術(shù)06二月20232.垂直型微指令:采用編碼方式設(shè)置微操作控制字段時,一次只能執(zhí)行一到二個微命令的微指令稱為垂直型微指令。

下面舉4條垂直型微指令的微指令格式加以說明.設(shè)微指令字長為16位,做操作碼3位.5.4.2微程序設(shè)計技術(shù)06二月2023(1)寄存器-寄存器傳送型微指令其功能是把源寄存器數(shù)據(jù)送目標(biāo)寄存器.13—15位為微操作碼(下同),源寄存器和目標(biāo)寄存器編址各5位,可指定31個寄存器.5.4.2微程序設(shè)計技術(shù)06二月2023(2)運(yùn)算控制型微指令

其功能是選擇ALU的左、右兩輸入源信息,按ALU字段所指定的運(yùn)算功能(8種操作)進(jìn)行處理,并將結(jié)果送入暫存器中。左、右輸入源編址可指定31種信息源之一。5.4.2微程序設(shè)計技術(shù)06二月2023(3)訪問主存微指令

其功能是將主存中一個單元的信息送入寄存器或者將寄存器的數(shù)據(jù)送往主存。存儲器編址是指按規(guī)定的尋址方式進(jìn)行編址。第1,2位指定讀操作或?qū)懖僮?取其之一)。5.4.2微程序設(shè)計技術(shù)06二月2023(4)條件轉(zhuǎn)移微指令

其功能是根據(jù)測試對象的狀態(tài)決定是轉(zhuǎn)移到D所指定的微地址單元,還是順序執(zhí)行下一條微指令。9位D字段不足以表示一個完整的微地址,但可以用來替代現(xiàn)行μPC的低位地址。測試條件字段有4位,可規(guī)定16種測試條件。5.4.2微程序設(shè)計技術(shù)06二月2023垂直型微指令的特點(diǎn):微指令字短,一般為10~20位左右。微指令的并行微操作能力有限,一條微指令一般只包含一個微操作命令。微指令譯碼比較復(fù)雜。全部微命令用一個微操作控制字段進(jìn)行編碼,微指令執(zhí)行時需行完全譯碼。不能充分利用數(shù)據(jù)通路具有多種并行操作能力。

5.4.2微程序設(shè)計技術(shù)06二月2023設(shè)計用戶只需注意微指令的功能,而對微命令及其選擇、數(shù)據(jù)通路的結(jié)構(gòu)則不用過多地考慮,因此,便于用戶編制微程序。而且,編制的微程序規(guī)整、直觀,便于實現(xiàn)設(shè)計的自動化。垂直微指令字較短,使控制存儲器的橫向容量少。用垂直微指令編制微程序要使用較多的微指令,微程序較長;要求控制存儲器的縱向容量大。垂直微指令產(chǎn)生微命令要經(jīng)過譯碼,微程序執(zhí)行速度慢。5.4.2微程序設(shè)計技術(shù)06二月2023水平型微指令與垂直型微指令的比較(1)水平型微指令并行操作能力強(qiáng),效率高,靈活性強(qiáng),垂直型微指令則較差。(2)水平型微指令執(zhí)行一條指令的時間短,垂直型微指令執(zhí)行時間長。(3)由水平型微指令解釋指令的微程序,有微指令字較長而微程序短的特點(diǎn)。垂直型微指令則相反。(4)水平型微指令用戶難以掌握,而垂直型微指令與指令比較相似,相對來說,比較容易掌握。

5.4.2微程序設(shè)計技術(shù)06二月2023四、動態(tài)微程序設(shè)計

微程序設(shè)計技術(shù)有靜態(tài)微程序設(shè)計和動態(tài)微程序設(shè)計之分。1.靜態(tài)微程序設(shè)計對應(yīng)于一臺計算機(jī)的機(jī)器指令只有一組微程序,而且這一組微程序設(shè)計好之后,一般無須改變而且也不好改變,這種微程序設(shè)計技術(shù)稱為靜態(tài)微程序設(shè)計。5.4.2微程序設(shè)計技術(shù)06二月20232.動態(tài)微程序設(shè)計當(dāng)采用EPROM作為控制存儲器時,還可以通過改變微指令和微程序來改變機(jī)器的指令系統(tǒng),這種微程序設(shè)計技術(shù)稱為動態(tài)微程序設(shè)計。采用動態(tài)微程序設(shè)計時,微指令和微程序可以根據(jù)需要加以改變,因而可在一臺機(jī)器上實現(xiàn)不同類型的指令系統(tǒng)。這種技術(shù)又稱為仿真其他機(jī)器指令系統(tǒng),以便擴(kuò)大機(jī)器的功能。5.5硬布線控制器06二月2023一、基本思想硬布線控制器是早期設(shè)計計算機(jī)的一種方法。這種方法是把控制部件看作為產(chǎn)生專門固定時序控制信號的邏輯電路,而此邏輯電路以使用最少元件和取得最高操作速度為設(shè)計目標(biāo)。一旦控制部件構(gòu)成后,除非重新設(shè)計和物理上對它重新布線,否則要想增加新的控制功能是不可能的。這種邏輯電路是一種由門電路和觸發(fā)器構(gòu)成的復(fù)雜樹形網(wǎng)絡(luò),故稱之為硬布線控制器。5.5硬布線控制器06二月20231、實現(xiàn)方法通過而產(chǎn)生邏輯電路直接連線的,又稱為組合邏輯控制方式.2、設(shè)計目標(biāo)使用最少元件(復(fù)雜的樹形網(wǎng)絡(luò))速度最高5.5硬布線控制器06二月20233、邏輯原理5.5硬布線控制器06二月2023二、微操作控制信號產(chǎn)生在微程序控制器中,微操作控制信號由微指令產(chǎn)生,并且可以重復(fù)使用。在硬聯(lián)線控制器中,某一微操作控制信號由布爾代數(shù)表達(dá)式描述的輸出函數(shù)產(chǎn)生。設(shè)計微操作控制信號的方法和過程是,根據(jù)所有機(jī)器指令流程圖,尋找出產(chǎn)生同一個微操作信號的所有條件,并與適當(dāng)?shù)墓?jié)拍電位和節(jié)拍脈沖組合,從而寫出其布爾代數(shù)表達(dá)式并進(jìn)行簡化,然后用門電路或可編程器件來實現(xiàn)。5.5硬布線控制器06二月2023CPU控制狀態(tài)管態(tài):CPU執(zhí)行操作系統(tǒng)的一段程序時,操作系統(tǒng)明確地控制著CPU目態(tài):CPU在執(zhí)行用戶程序時IBM70系列計算機(jī)的CPU結(jié)構(gòu)5.6傳統(tǒng)的CPU06二月2023一、Intel8088Intel8088是一種通用的準(zhǔn)16位微處理器,與外部交換的數(shù)據(jù)為8位。數(shù)據(jù)位:它可以處理16位數(shù)據(jù)(具有16位運(yùn)算指令,包括乘除法指令),也可以處理8位數(shù)據(jù)。地址線:它有20條地址線,所以直接尋址能力達(dá)到1M字節(jié)。采用40條引線封裝,單相時鐘,電源為5V。8080CPU的內(nèi)部結(jié)構(gòu)圖5.6傳統(tǒng)的CPU06二月2023二、IBM370IBM370系列機(jī)中使用的CPU結(jié)構(gòu),字長32位。ALU部件按功能不同分為如下三個子部件:①定點(diǎn)運(yùn)算,包括整數(shù)計算和有效地址的計算;②浮點(diǎn)運(yùn)算;③可變長運(yùn)算,包括十進(jìn)制算術(shù)運(yùn)算和字符串操作。5.7流水CPU06二月2023一、并行處理技術(shù)并行性的兩種含義:同時性:

指兩個以上事件在同一時刻發(fā)生;并發(fā)性:指兩個以上事件在同一時間間隔內(nèi)發(fā)生。計算機(jī)的并行處理技術(shù)概括起來主要有以下三種形式:5.7流水CPU06二月20231、時間并行

時間并行指時間重疊,在并行性概念中引入時間因素,讓多個處理過程在時間上相互錯開,輪流重疊地使用同一套硬件設(shè)備的各個部分,以加快硬件周轉(zhuǎn)而贏得速度。

時間并行性概念的實現(xiàn)方式就是采用流水處理部件。這是一種非常經(jīng)濟(jì)而實用的并行技術(shù),能保證計算機(jī)系統(tǒng)具有較高的性能價格比。目前的高性能微型機(jī)幾乎無一例外地使用了流水技術(shù)。5.7流水CPU06二月20232.空間并行(以數(shù)量取勝)空間并行指資源重復(fù),在并行性概念中引入空間因素,以“數(shù)量取勝”為原則來大幅度提高計算機(jī)的處理速度。大規(guī)模和超大規(guī)模集成電路的迅速發(fā)展為空間并行技術(shù)帶來了巨大生機(jī),因而成為目前實現(xiàn)并行處理的一個主要途徑。空間并行技術(shù)主要體現(xiàn)在多處理器系統(tǒng)和多計算機(jī)系統(tǒng)。但是在單處理器系統(tǒng)中也得到了廣泛應(yīng)用。5.7流水CPU06二月20233、時間并行+空間并行

指時間重疊和資源重復(fù)的綜合應(yīng)用,既采用時間并行性又采用空間并行性。顯然,第三種并行技術(shù)帶來的高速效益是最好的。

Pentium中采用了超標(biāo)量流水線技術(shù)5.7流水CPU06二月2023二、流水CPU的結(jié)構(gòu)1.流水計算機(jī)的系統(tǒng)組成

現(xiàn)代流水計算機(jī)的系統(tǒng)組成原理如圖5.30所示。其中CPU按流水線方式組織,通常由三部分組成:指令部件、指令隊列、執(zhí)行部件。這三個功能部件可以組成一個3級流水線。存儲器體系:主存采用多體交叉存儲器;Cache5.7流水CPU06二月2023水方式CPU:指令部件、指令隊列、執(zhí)行部件指令流水線指令隊列:FIFO執(zhí)行部件:可以有多個采用流水線方式構(gòu)成的算術(shù)邏輯部件構(gòu)成,可以將定點(diǎn)運(yùn)算部件和浮點(diǎn)運(yùn)算部件分開。流水計算機(jī)系統(tǒng)組成原理示意圖5.7流水CPU06二月20235.7流水CPU06二月20232、流水CPU的時空圖

計算機(jī)的流水處理過程非常類似于工廠中的流水裝配線。為了實現(xiàn)流水,首先把輸入的任務(wù)(或過程)分割為一系列子任務(wù),并使各子任務(wù)能在流水線的各個階段并發(fā)地執(zhí)行。當(dāng)任務(wù)連續(xù)不斷地輸入流水線時,在流水線的輸出端便連續(xù)不斷地吐出執(zhí)行結(jié)果,從而實現(xiàn)了子任務(wù)級的并行性。5.7流水CPU06二月2023IF(InstructionFetch取指)

ID(InstructionDecode指令譯碼)EX(Execution執(zhí)行)

WB(WriteBack寫回)下面通過時空圖來證明這明這個結(jié)論。圖(a)表示流水CPU中一個指令周期的任務(wù)分解。圖(b)表示非流水計算機(jī)的時空圖。

5.7流水CPU06二月20235.7流水CPU06二月2023圖(c)表示流水計算機(jī)的時空圖。圖(d)表示超標(biāo)量流水計算機(jī)的時空圖5.7流水CPU06二月20233、流水線分類(按級別分)(1)指令流水線:指指令步驟的并行。將指令流的處理過程劃分為取指令、譯碼、執(zhí)行、寫回等幾個并行處理的過程段。目前,幾乎所有的高性能計算機(jī)都采用了指令流水線。(2)算術(shù)流水線:指運(yùn)算操作步驟的并行。如流水加法器、流水乘法器、流水除法等?,F(xiàn)代計算機(jī)中已廣泛采用了流水的算術(shù)運(yùn)算器。5.7流水CPU06二月2023(3)處理機(jī)流水線又稱為宏流水線,是指程序步驟的并行。由一串級聯(lián)的處理機(jī)構(gòu)成流水線的各個過程段,每臺處理機(jī)負(fù)責(zé)某一特定的任務(wù)。數(shù)據(jù)流從第一臺處理機(jī)輸入,經(jīng)處理后被送入與第二臺處理機(jī)相聯(lián)的緩沖存儲器中。第二臺處理機(jī)從該存儲器中取出數(shù)據(jù)進(jìn)行處理,然后傳送給第三臺處理機(jī),如此串聯(lián)下去。隨著高檔微處理器芯片的出現(xiàn),構(gòu)造處理機(jī)流水線將變得容易了。處理機(jī)流水線應(yīng)用在多機(jī)系統(tǒng)中。5.7流水CPU06二月2023三、流水線中的主要問題

流水過程中通常會出現(xiàn)以下三種相關(guān)沖突,使流水線斷流。1.資源相關(guān)

資源相關(guān)是指多條指令進(jìn)入流水線后在同一機(jī)器時鐘周期內(nèi)爭用同一個功能部件所發(fā)生的沖突。假定一條指令流水線由五段組成。由下表可以看出,在時鐘4時,I1與I4兩條指令發(fā)生爭用存儲器資源的相關(guān)沖突。5.7流水CPU06二月2023兩條指令同時訪問內(nèi)存發(fā)生資源相關(guān)沖突解決資源相關(guān)沖突的辦法:

一是第4條指令停頓一拍后再啟動;二是增設(shè)一個存儲器,將指令和數(shù)據(jù)分別放在兩個存儲器中。

時鐘指令12345678I1IFIDEXWEMWBI2IFIDEXWEMWBI3IFIDEXWEMWBI4IFIDEXWEMWBI5IFIDEXWEM5.7流水CPU06二月20232、數(shù)據(jù)相關(guān)

在一個程序中,如果必須等前一條指令執(zhí)行完畢后,才能執(zhí)行后一條指令,那么這兩條指令就是數(shù)據(jù)相關(guān)的。

在流水計算機(jī)中,指令的處理是重疊進(jìn)行的,前一條指令還沒有結(jié)束,第二、三條指令就陸續(xù)地開始工作。由于多條指令的重疊處理,當(dāng)后繼指令所需的操作數(shù),剛好是前一指令的運(yùn)算結(jié)果時,便發(fā)生數(shù)據(jù)相關(guān)沖突。如下表所示,ADD指令與SUB指令發(fā)生了數(shù)據(jù)相關(guān)沖突。5.7流水CPU06二月2023兩條指令發(fā)生數(shù)據(jù)相關(guān)沖突解決數(shù)據(jù)相關(guān)沖突的辦法:

在流水CPU的運(yùn)算器中設(shè)置若干運(yùn)算結(jié)果緩沖寄存器,暫時保留運(yùn)算結(jié)果,以便于后繼指令直接使用,這稱為“向前”或定向傳送技術(shù)。

時鐘指令12345678ADDIFIDEXWEMWBSUBIFIDEXWEMWBANDIFIDEXWEMWB5.7流水CPU06二月20233、控制相關(guān)

控制相關(guān)沖突是由轉(zhuǎn)移指令引起的。當(dāng)執(zhí)行轉(zhuǎn)移指令時,依據(jù)轉(zhuǎn)移條件的產(chǎn)生結(jié)果,可能為順序取下條指令;也可能轉(zhuǎn)移到新的目標(biāo)地址取指令,從而使流水線發(fā)生斷流。

為了減小轉(zhuǎn)移指令對流水線性能的影響,常用以下兩種轉(zhuǎn)移處理技術(shù):5.7流水CPU06二月2023延遲轉(zhuǎn)移法:

由編譯程序重排指令序列來實現(xiàn)?;舅枷胧恰跋葓?zhí)行再轉(zhuǎn)移”,即發(fā)生轉(zhuǎn)移取時并不排空指令流水線,而是讓緊跟在轉(zhuǎn)移指令I(lǐng)b之后已進(jìn)入流水線的少數(shù)幾條指令繼續(xù)完成。如果這些指令是與Ib結(jié)果無關(guān)的有用指令,那么延遲損失時間片正好得到了有效的利用。

轉(zhuǎn)移預(yù)測法:

用硬件方法來實現(xiàn),依據(jù)指令過去的行為來預(yù)測將來的行為。通過使用轉(zhuǎn)移取和順序取兩路指令預(yù)取隊列器以及目標(biāo)指令cache,可將轉(zhuǎn)移預(yù)測提前到取指階段進(jìn)行,以獲得良好的效果。5.7流水CPU06二月2023【例4】流水線中有三類數(shù)據(jù)相關(guān)沖突:寫后讀相關(guān)RAW;讀后寫相關(guān)WAR;寫后寫相關(guān)WAW。判斷以下三組指令各存在哪種類型的數(shù)據(jù)相關(guān)。

(1)I1:ADDR1,R2,R3;(R2)+(R3)->R1

I2:SUBR4,R1,R5;(R1)-(R5)->R4(2)I3:STAM(x),R3;

(R3)->M(x),M(x)是存儲器單元

I4:ADDR3,R4,R5;(R4)+(R5)->R3(3)I5:MULR3,R1,R2;(R1)×(R2)->R3

I6:ADDR3,R4,R5;(R4)+(R5)->R35.7流水CPU06二月2023【解】第(1)組指令中,I1指令運(yùn)算結(jié)果應(yīng)先寫入R1,然后在I2指令中讀出R1內(nèi)容。由于I2指令進(jìn)入流水線,變成I2指令在I1指令寫入R1前就讀出R1內(nèi)容,發(fā)生RAW相關(guān)。

第(2)組指令中,I3指令應(yīng)先讀出R3內(nèi)容并存入存儲單元M(x),然后在I4指令中將運(yùn)算結(jié)果寫入R3。但由于I4指令進(jìn)入流水線,變成I4指令在I3指令讀出R3內(nèi)容前就寫入R3,發(fā)生WAR相關(guān)。第(3)組指令中,如果I6指令的加法運(yùn)算完成時間早于I5指令的乘法運(yùn)算時間,變成指令I(lǐng)6在指令I(lǐng)5寫入R3前就寫入R3,導(dǎo)致R3的內(nèi)容錯誤,發(fā)生WAW相關(guān)。5.8RISCCPU06二月2023一、RISCCPURISC的三個要素是:(1)一個有限的簡單的指令集;(2)CPU配備大量的通用寄存器;(3)強(qiáng)調(diào)對指令流水線的優(yōu)化。

5.8RISCCPU06二月2023基于三要素的RISC機(jī)器的特征是:(1)使用等長指令,目前的典型長度是4個字節(jié)。(2)尋址方式少且簡單,一般為2—3種,最多不超過4種,絕不出現(xiàn)存儲器間接尋址方式。(3)只有取數(shù)指令、存數(shù)指令訪問存儲器。指令中最多出現(xiàn)RS型指令,絕不出現(xiàn)SS型指令。(4)指令集中的指令數(shù)目一般少于100種,指令格式一般少于4種。5.8RISCCPU06二月2023(5)指令功能簡單,控制器多采用硬布線方式,以期更快的執(zhí)行速度。(6)平均而言,所有指令的執(zhí)行時間為一個處理時鐘周期。(7)指令格式中用于指派整數(shù)寄存器的個數(shù)不少于32個,用于指派浮點(diǎn)數(shù)寄存器的個數(shù)不少于16個。(8)強(qiáng)調(diào)通用寄存器資源的優(yōu)化使用。(9)支持指令流水并強(qiáng)調(diào)指令流水的優(yōu)化使用。(10)RlSC技術(shù)的復(fù)雜性在于它的編譯程序,因此軟件系統(tǒng)開發(fā)時間比CISC機(jī)器長。5.8RISCCPU06二月2023RISC與CISC的主要特征對比比較內(nèi)容CISCRISC指令系統(tǒng)復(fù)雜,龐大簡單,精簡指令數(shù)目一般大于200一般小于100指令格式一般大于4一般小于4尋址方式一般大于4一般小于4指令字長不固定等長可訪存指令不加限制只有LOAD/STORE指令各種指令使用頻率相差很大相差不大各種指令執(zhí)行時間相差很大絕大多數(shù)在一個周期內(nèi)完成優(yōu)化編譯實現(xiàn)很難較容易程序源代碼長度較短較長控制器實現(xiàn)方式絕大多數(shù)為微程序控制絕大多數(shù)微硬布線控制軟件系統(tǒng)開發(fā)時間較短較長5.8RISCCPU06二月2023二、RISCCPU實例

1.MC88110CPU結(jié)構(gòu)框圖MC88110CPU是一個RISC處理器。處理器有12個執(zhí)行功能部件,3個cache和1個控制部件。其結(jié)構(gòu)框圖請見CAI所示。2.MC88110的指令流水線

由于MC88110是超標(biāo)量流水CPU,所以指令流水線在每個機(jī)器時鐘周期完成兩條指令。流水線共分為三段:取指和譯碼(F&D)段、執(zhí)行(EX)段、寫回(WB)段,如CAI所示。88110超標(biāo)量流水線正常運(yùn)行情況請參見CAI演示5.8RISCCPU06二月20233、指令動態(tài)調(diào)度策略88110采用按序發(fā)射、按序完成的指令動態(tài)調(diào)度策略。指令派遣單元總是發(fā)出單一地址,然后從指令cache取出此地址及下一地址的兩條指令。譯碼后總是力圖同一時間發(fā)射這兩條指令到EX段。若這對指令的第一條指令由于資源沖突或數(shù)據(jù)相關(guān)沖突,則這一對指令都不發(fā)射,兩條指令在F&D段停頓,等待資源的可用或數(shù)據(jù)相關(guān)的消除。若是第一條指令能發(fā)射第二條指令不能發(fā)射,則只發(fā)射第一條指令,而第二條指令停頓并與新取的指令之一進(jìn)行配對等待發(fā)射,此時原第二條指令作為配對的第一條指令對待。可見,這樣實現(xiàn)的方式是按序發(fā)射。5.8RISCCPU06二月2023【例5】超標(biāo)度為2的超標(biāo)量流水線結(jié)構(gòu)模型如圖5.39(a)所示。它分為4個段,即取指(F)段、譯碼(D)段、執(zhí)行(E)段和寫回(W)段。F,D,W段只需1個時鐘周期完成。E段有多個功能部件,其中LOAD/STORE部件完成數(shù)據(jù)cache訪問,只需一個時鐘周期;加法器完成需2個時鐘周期,乘法器需3個時鐘周期,它們都已流水化。F段和D段要求成對輸入。E段有內(nèi)部數(shù)據(jù)定向傳送,結(jié)果生成即可使用。5.8RISCCPU06二月2023現(xiàn)有如下6條指令序列,其中I1,I2有RAW相關(guān),I3,I4有WAR相關(guān),I5,I6有WAW相關(guān)和RAW相關(guān)。I1LADR1,A;M(A)->R1,M(A)是存儲器單元I2ADDR2,R1;(R2)+(R1)->R2I3ADDR3,R4;(R3)+(R4)->R3I4MULR4,R5;(R4)×(R5)->R4I5LADR6,B;M(B)->R6,M(B)是存儲器單元I6MULR6,R7;(R6)×(R7)->R65.8RISCCPU06二月2023請畫出:(1)按序發(fā)射按序完成各段推進(jìn)情況圖;(2)按序發(fā)射按序完成的流水線時空圖?!窘狻砍瑯?biāo)量流水模型結(jié)構(gòu)5.8RISCCPU06二月2023(1)由于I1,I2間有RAW相關(guān),I2要推遲一個時鐘才能發(fā)射。類似的情況也存在于I5,I6之間。I3,I4之間有WAR相關(guān),但按序發(fā)射,即使I3,I4并行操作,也不會導(dǎo)致錯誤。I5,I6間還有WAW相關(guān),只要I6的完成放在I5之后,就不會出錯。注意,I5實際上已在時鐘6執(zhí)行完畢,但一直推遲到時鐘9才寫回,這是為了保持按序完成。超標(biāo)量流水線完成6條指令的執(zhí)行任務(wù)總共需要10個時鐘周期。5.8RISCCPU06二月2023各段推進(jìn)情況圖5.8RISCCPU06二月2023(2)根據(jù)各段推進(jìn)情況圖可畫出流水線時空圖。5.9多媒體CPU06二月2023一、多媒體技術(shù)的主要問題

媒體一詞在涉及信息傳遞的領(lǐng)域中是指傳遞信息的媒介,它包括存儲信息的實體與傳遞信息的載體兩部分。磁盤、光盤等皆屬存儲信息的實體,而載體則指用來表達(dá)信息的形體,如數(shù)值、文字、聲音、圖形與動靜圖像等。5.9多媒體CPU06二月2023多媒體技術(shù)是指計算機(jī)把各種不同的電子媒質(zhì)集成起來,統(tǒng)一進(jìn)行存儲、處理和傳輸。這些電子媒質(zhì)包括計算機(jī)屏幕顯示、視頻光盤、CD-ROM以及語言和聲音的綜合,同時在這些部件之間建立邏輯連接,從而使整個系統(tǒng)具有交互性。顯然,多媒體技術(shù)使計算機(jī)進(jìn)一步擺脫了“計算工具”的傳統(tǒng)觀念,成為處理各種信息的強(qiáng)有力工具。5.9多媒體CPU06二月2023二、多媒體技術(shù)解決的主要問題有:1、圖像與聲音的壓縮技術(shù)多媒體技術(shù)很重要的內(nèi)容是對圖像與聲音進(jìn)行操作、存儲與傳送。這就需要將每幅圖像從模擬量轉(zhuǎn)換成數(shù)字量,然后進(jìn)行圖像處理,與圖形文字等復(fù)合,再存儲在機(jī)器內(nèi)。但是進(jìn)行管理、操作、存儲的圖像并不只是數(shù)量很少的靜止圖像,而是符合視頻標(biāo)準(zhǔn)的每秒30幀的彩色圖像。如果由多媒體計算機(jī)存儲器能演放1秒鐘的音像制品,則信息量就高達(dá)22.5兆字節(jié),而目前用來存儲圖像、程序的光盤CD-ROM,容量只有700兆字節(jié)。5.9多媒體CPU06二月2023可見如不對圖像采用壓縮技術(shù),僅存儲圖像的要求這一點(diǎn)就無法達(dá)到,何況CD-ROM的數(shù)據(jù)傳輸率也只有150KB/s,無法做到多幅圖像的實時再現(xiàn)。圖像數(shù)據(jù)如不壓縮,則實現(xiàn)多媒體通信也就不可能。圖像壓縮是將圖像用像素存儲的方式,經(jīng)過圖像變換、量化、高效編碼等處理,轉(zhuǎn)換成特殊形式的編碼。這樣一來,計算機(jī)所需存儲與實時傳送的數(shù)據(jù)量就可大大降低。5.9多媒體CPU06二月20232、適應(yīng)多媒體技術(shù)的軟件技術(shù)為適應(yīng)多媒體技術(shù)發(fā)展,一是需要開發(fā)具有多媒體功能的OS(操作系統(tǒng)),二是開展以編輯工具為中心的軟件技術(shù)研究。對第一個課題,Microsoft開發(fā)的視窗95至視窗2000系列多媒體OS版獲得了很大成功。對第二個課題,編輯工具必須將圖形、文檔、聲音、圖像、視像等多種媒質(zhì)聯(lián)系在一起,為實際應(yīng)用提供方便。5.9多媒體CPU06二

溫馨提示

  • 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

提交評論