第6章+中央處理器_第1頁
第6章+中央處理器_第2頁
第6章+中央處理器_第3頁
第6章+中央處理器_第4頁
第6章+中央處理器_第5頁
已閱讀5頁,還剩56頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第6章中央處理器6.1CPU的功能及組成6.2指令的執行過程6.3時序部件6.4微操作控制器6.5CPU6.6多媒體CPU6.7CPU結構舉例1當前世界上大多數計算機的中央處理機由下述兩種方法實現:(1)采用半導體公司(工廠)生產的微處理器構成通用的或專用的計算機系統以及工作站等。(2)一些計算機公司采用自行設計制造的芯片來構成大、中、小型計算機的CPU。Intel80386微機系統框圖及功能如下:6.1CPU的功能及組成2Intel80386微機系統框圖是系統中主要的處理、控制部件,從存儲器中取出的指令主要在80386中處理機器加電由它產生整機復位信號(reset),使計算機各個部件處于初始狀態擴充了80386指令系統,主要完成浮點運算和高精度整數運算。80386自動將取得的協處理器指令傳送給80387。80386通過總線與存儲器、I/O設備交換信息存放數據、指令以及完成輸入輸出操作的系統。CPU與I/O設備之間傳送信息時由于CPU的速度比I/O設備快,為了不浪費CPU時間,CPU采取分時并行工作。3Intel80386包括指令部件、執行部件和存儲管理部件等。指令部件完成取指及指令譯碼功能,并產生控制信號執行部件包括ALU、乘法部件、寄存器組等存儲管理部件用來確定存儲器地址。80386結構及外部連線4Intel80386引出端信號

32位數據總線,是傳送數據的雙向總線是32位地址線,其中A0,A1在80386內部轉換成“字節使能”分別是字節0~字節3的選擇信號,符號#表示低電位有效。輸入到80386的時鐘總清或復位信號5中央處理器—CPU馮諾依曼機運算器、控制器、存儲器、輸入/輸出設備CPU的定義運算器+控制器運算器:實施算術邏輯運算,ALU控制器:計算機的指揮中心,對程序規定的控制信息進行分析、控制和協調,使計算機中各個部件協同工作控制器:取指、譯碼、數據流控制6中央處理器—CPUCPU的功能指令控制:控制指令序列的執行操作控制:控制單個指令執行和部件間協同時序控制:控制操作信號的時間序列數據加工:算術和邏輯運算運算器與控制器的功能集合7中央處理器—CPU★寄存器的組織和功能★數據通路8寄存器緩沖寄存器DRCPU與主存、外設的信息中轉(數據、指令)數據緩沖,補償CPU與主存、外設間的時序差異為算術邏輯部件提供另一個操作數9寄存器指令寄存器IR保存當前執行的指令10寄存器地址寄存器AR當前訪問的存儲器地址或I/O端口地址11寄存器程序計數器PC

下一條指令在主存中的地址順序執行即可累加,累加值決定于指令字長分支轉移指令需視尋址方式確定PC值12寄存器累加寄存器AC數據源于緩沖寄存器或ALU為ALU提供操作數13寄存器狀態寄存器PSW保存執行各類指令產生的狀態結果作為后續指令的判斷條件14操作控制器數據通路寄存器之間傳送信息的通路操作控制器在寄存器之間建立數據通路硬布線控制器微程序控制器可編程邏輯陣列建立怎樣的數據通路、何時建立15指令的執行過程取指譯碼執行16指令周期指令周期CPU從主存取出一條指令到指令執行完畢機器周期(CPU周期)指令周期的不同階段劃分為多個機器周期時鐘周期(節拍、T周期)CPU處理操作的最小時間單位17時序部件時序部件產生計算機執行機器指令過程中的時序信號產生過各個機器周期中的節拍信息18機器周期(取指)機器周期(執行指令)指令周期T1T2T3

T4T2T3

T4T1機器周期(取指)機器周期(執行)指令周期T1T2T3

T4T2T3

T1定長機器周期組成的指令周期

不定長機器周期組成的指令周期

19指令周期由若干個機器周期(CPU周期)組成。所有指令周期的第一個機器周期都為取指周期。每個機器周期又由若干個節拍(時鐘周期)組成。根據指令操作的復雜程度不同,各種指令所需的機器周期也不同。204條典型指令組成的一個簡單程序

指令地址(八進制)指令內容(八進制)助記符020250000CLA021030030ADD30022021031STAI31023140021JMP21024000000HLT…………030000006031000040…………040xxxxxx

結果數據將累加器清零,屬非訪存指令加法,屬直接訪存指令存數操作,屬間接訪主存指令程序控制指令21不需訪存指令的指令周期(CLA)需要2個機器周期。第1個機器周期用來進行取指和譯碼操作第2個機器周期用于指令的執行操作。在指令執行階段,CPU根據譯碼器輸出的結果,進行指令所需的操作。非訪主存指令的執行過程如下圖22取指令PC+1PC指令譯碼執行指令取下一條指令第1周期取指譯碼第2周期指令執行①②③23地址

指令或數據020250000;CLA021030030;ADD022031;STA023140021;JMP024000000;HLT狀態寄存器累加器020020250000250000指令譯碼器操作控制器時序發生器……主存儲器數據總線地址總線CPU+1微指令時鐘狀態反饋ALU程序計數器地址寄存器緩沖寄存器指令寄存器取出CLA指令數據通路020020250000;CLA250000250000250000CPU識別是一條非訪存CLA指令指令執行階段CLA控制信號00000024直接訪存指令的指令周期(ADD30)需要3個機器周期。第1個機器周期用來進行取指和譯碼操作第2個機器周期用于送操作數地址。第3個機器周期進行取操作數和執行加法操作。直接訪主存指令的執行過程如下圖25取指令PC+1PC指令譯碼送操作數地址取操作數取指譯碼指令執行執行指令取下一條指令第1個機器周期第2個機器周期

第3個機器周期26地址

指令或數據020250000;CLA021030030;ADD022021031;STA023140021;JMP024000000;HLT狀態寄存器000000022250000250

000指令譯碼器操作控制器時序發生器……主存儲器數據總線地址總線CPU微指令時鐘狀態反饋ALU程序計數器地址寄存器緩沖寄存器指令寄存器…累加器送操作數地址的數據通路021030+1………27地址

指令或數據020250000;CLA021030030;ADD022021031;STA023140021;JMP024000000;HLT狀態寄存器000000022250000250

000指令譯碼器操作控制器時序發生器……主存儲器CPU微指令時鐘狀態反饋ALU程序計數器地址寄存器緩沖寄存器指令寄存器…累加器021030+1地址

指令或數據024000000

030000006031000040040xxxxxx

狀態寄存器022030ADD

030指令譯碼器操作控制器時序發生器…①…主存儲器數據總線地址總線CPU微指令時鐘狀態反饋ALU程序計數器地址寄存器緩沖寄存器指令寄存器……030030000006000006000000000006取操作數和指令執行28間接訪問主存指令(STAI31)第3條為STAI31指令,是一條間接訪問主存的指令由4個機器周期組成。取指、譯碼送地址指針取操作數地址存儲結果29取指PC+1PC指令譯碼送地址指針取出地址取指譯碼指令執行執行指令第1個機器周期第2個機器周期第3機器周期第4個機器周期取操作數取下一條指令30送地址指針地址指令或數據024000000

030000006031000040040xxxxxx

狀態寄存器000006STI031指令譯碼器操作控制器時序發生器…主存儲器數據總線地址總線CPU微指令時鐘狀態反饋ALU程序計數器地址寄存器緩沖寄存器指令寄存器………031+1023取操作數地址000040存儲結果000006040至此:STAI031指令結束31程序控制指令(JMP21)無條件轉移指令無條件把PC的值修改為021JMP可以是直接尋址,也可以是間接尋址。如下圖所示:32取指PC+1PC指令譯碼送轉移地址取下一條指令取指譯碼指令執行第1個機器周期第2個機器周期

33地址

指令或數據020250000;CLA021030030;ADD022021031;STA023140021;JMP024000000;HLT狀態寄存器023指令譯碼器操作控制器時序發生器……主存儲器數據總線地址總線CPU微指令時鐘狀態反饋ALU程序計數器地址寄存器緩沖寄存器指令寄存器…累加器023+1………024第一個機器周期結束第二個機器周期結束140021;JMP34指令周期流程圖PCARABUSDBUSDRIR,PC+1譯碼0ACIRARIRAR(AR)ARIRPCPCARRDCLAADDSTAIJMP開始ARABUSDBUSDRDRALUALUACRDWE取指周期ARABUSACDRDRDBUS公操作:表示一條指令已經執行完畢,CPU所開始進行的一些操作,主要是CPU對外設請求的處理,若沒有外設請求,轉入“取指令操作”。35操作控制器數據通路寄存器之間傳送信息的通路操作控制器在寄存器之間建立數據通路硬布線控制器

微程序控制器可編程邏輯陣列366.3時序部件節拍電位發生器計算機中最基本的信號。代碼傳送、運算節拍脈沖發生器代碼選通,是額外的信號一般是節拍做準備,脈沖來工作。脈沖源脈沖源:機器主頻,產生一定頻率的脈沖信號作為整個機器的時鐘脈沖,是機器周期和工作脈沖的基準信號。376.4微操作控制器控制器和運算器一起組成了CPU,即中央處理器,控制器是整臺計算機的指揮系統。指揮和控制全機的各個部分,使他們有條不紊的工作。本節內容對建立計算機的整機概念十分重要。38

控制器的功能計算機對信息進行處理(或計算)是通過程序的執行而實現的,程序是完成某個確定算法的指令序列,要預先存放在存儲器中。控制器的作用是控制程序的執行,它必須具有以下基本功能:1.取指令程序執行前,把其首地址送PC,根據PC的值,到內存中去取出指令放到IR中,同時,PC+1→PC,或轉移地址→PC,這樣自動形成后繼指令的地址,取指過程完成。

392.分析指令指令在IR中進行分析,對操作碼部分譯碼后,送至微操作序列形成部件,形成指令所對應的一系列微操作,地址碼部分送至地址形成部件,形成操作數的有效地址。3.執行指令從有效地址中取出操作數,并按操作性質完成指令代表的各種操作。計算機不斷重復,順序的執行上述三種基本操作,直至遇到停機指令或外來干預為止。40圖6.3控制器基本組成框圖

41微指令

在機器的一個CPU周期中,一組實現一定操作功能的微命令的組合,構成一條微指令。

微命令

控制部件通過控制線向執行部件發出各種控制命令

微操作

執行部件接受微命令后所進行的操作

微程序

一條機器指令的功能是用許多條微指令組成的序列來實現的,這個微指令序列通常叫做微程序保存在只讀存儲器內的專用程序代替邏輯控制電路,以微程序形式保存控制信號42微指令與微程序程序

‘=’一系列的機器指令機器指令

‘=’受控的數據通路和操作時序微命令

‘=’控制部件向執行部件發出的控制命令微操作

‘=’執行部件接受命令后進行的操作微程序控制的基本思想:把操作控制信號編成所謂的微指令,存放于只讀存儲器中。當機器運行時讀出微指令,產生各種操作控制信號,使相應部件執行規定的操作。43微指令與微程序微指令:一個CPU周期中,一組實現一定操作功能的微命令的組合。微程序:一條機器指令的功能是用多條微指令組成的序列實現的,這個序列稱為微程序。微程序控制器:以保存在只讀存儲器內的專用程序代替邏輯控制電路,這種只讀存儲器被稱為控制存儲器,它以微程序形式保存控制信號。這種控制器稱為微程序控制器。44微指令與微程序微指令實例:輸出換行、回車字符M_CRLFMACROMOV DL,0AHMOV AH,02HINT 21HMOV DL,0DHINT 21HADD AH,DLENDMIR→ARAR→ABUSDBUS→DR……45微指令與微程序46微指令基本格式。。。。。。。。。。。。。。。。。。。。。。。LDR1LDR3R1YR2YR3YMRDLDIRPC+1

LDR2

R1XR2XDRX+―LDDRLDAR

P1P2

直接地址操作控制順序控制1234567891011121314151617181920212223

用來發出管理和指揮全機工作的控制信號決定產生下一條微指令的地址47微指令與微程序存放實現指令系統的微程序為只讀型決定要訪問的下一條微指令的地址保存一條微指令的操作控制字段和判別測試字段的信息微地址:微指令由控制存儲器讀出后直接給出下一條微指令的地址。地址轉移邏輯微程序舉例:見教材18948微指令與微程序機器指令與微指令的關系一條機器指令對應一個微程序,后者由若干條微指令序列組成。換言之,一條機器指令的操作被劃分為若干微指令完成。指令與主存相關,微指令與控制存儲器相關。指令對應指令周期,微指令對應機器周期(CPU周期)49微指令格式分類有兩種類型:(1)水平型微指令

指一次能定義并執行多個并行操作控制信號的微指令,是一種速度最快的微指令格式。前面所介紹的直接表示法、編碼表示法和混合表示法三種編碼方式的微指令都屬于水平型微指令。(2)垂直型微指令指采用類似機器指令結構的微指令,一條垂直型微指令中只有1~2個微操作命令,控制1~2種微操作,這種微指令不強調并行控制功能。垂直型微指令設置有微操作碼字段,由微操作碼規定微指令的功能。一種16位的垂直型微指令的結構如下:50水平型微指令與垂直型微指令的比較(1)水平型微指令并行操作能力強,效率高,靈活性強,垂直型微指令則差。(2)水平型微指令執行一條指令的時間短,垂直型微指令執行時間長。(3)由水平型微指令解釋指令的微程序,具有微指令字比較長,但微程序短的特點。垂直型微指令則相反,微指令字比較短而微程序長。(4)水平型微指令用戶難以掌握,而垂直型微指令與指令比較相似,相對來說,比較容易掌握。51

1、馮·諾依曼型計算機結構

1946年,馮·諾依曼提出存儲程序的概念和一個完整的現代計算機的雛型,該結構以運算器為中心,由運算器、控制器、存儲器、輸入設備和輸出設備組成,指令與數據存放在存儲器中,所有的輸入/輸出活動都必需經過運算器,如圖所示。中央處理器中流水線技術的基本概念并行性的概念52

并行性是指在同一時刻或同一時間間隔內完成兩種或兩種以上性質相同或不同的工作。在時間上相互重疊,均存在并行性。

n位串行進位的并行加法器存在“并發性”;讀寫由8片存儲芯片(如2164)組成8位存儲器,存在“同時性”;2、并行性定義并行性同時性兩個或多個事件在同一時刻發生并發性兩個或多個事件在同一時間間隔內發生3、并行性的等級

從程序執行的角度可劃分為4個級別:53指令內部級

指令內部微操作之間的并行指令級并行執行兩條或多條指令

任務級或過程級并行執行多個過程或任務(程序段)作業級或程序級在多個作業或程序間的并行單機系統軟件實現硬件實現

從數據處理的角度可分為4個級別:字串位串

同時只對一個字的一位進行逐位處理,最基本的串行處理字串位并

同時對一個字的所有位進行處理,但字與字之間串行處理字并位串

同時對多個字的同一位進行處理字并位并

同時對多個字的所有位或部分位進行處理54

(1)時間重疊

時間

溫馨提示

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

評論

0/150

提交評論