《微型計算機原理第3章上》由會員分享,可在線閱讀,更多相關《微型計算機原理第3章上(37頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、第1章 計算機系統(tǒng)概述,*,*,單擊此處輸入文本,微型計算機原理,第3章 運算器與控制器,3.,1,控制器概述,3.,3,微程序控制器概述,3.0 運算器概述,2024/10/28,1,掌握:,加減運算的實現(xiàn),控制器的功能和基本組成,微程序控制器的概念、原理,2024/10/28,2,第3章 運算器與控制器,運算器部件:,是計算機加工處理數(shù)據(jù)的功能部件。,對數(shù)據(jù)的加工處理包括:,與、或、非、異或等。,ALU,是運算器中的核心部件。也是運算器內部傳送數(shù)據(jù)的重要通路。,運算器的核心功能:,實現(xiàn)算術運算和邏輯運算,算術邏輯單元,ALU,(Arithmetic-Logical Unit):,加、減、乘
2、、除等;,數(shù)值數(shù)據(jù)的,算術運算:,邏輯數(shù)據(jù)的,邏輯操作:,2024/10/28,3,第3章 運算器與控制器,運算器還,暫存,參加運算的數(shù)據(jù)和中間結果,,選擇,參加運算的數(shù)據(jù),所以運算器內包含一定數(shù)目的,通用寄存器,和,多路選擇器,、,譯碼電路,等。,運算器,定點運算器,浮點運算器,定點運算器用硬件直接實現(xiàn),是必備的運算器。,浮點運算器又稱為數(shù)學協(xié)處理器,主要用硬件完成,是可選件。,現(xiàn)在的高檔微機已經(jīng)把定點運算器和浮點運算器集成在一個芯片中。,2024/10/28,4,第3章 運算器與控制器,控制器,是整個計算機系統(tǒng)的指揮中心,協(xié)調并控制計算機的各個部件執(zhí)行程序的,指令序列,。,微處理器,微處理
3、器將,運算器,與,控制器,集成在一個芯片上,通常稱為,中央處理單元,(,CPU,Central Processing Unit)。,控制器,組合邏輯控制器(又稱硬布線邏輯控制器),微程序控制器,2024/10/28,5,第3章 運算器與控制器,3.,1,運算器概述,運算器主要由算術邏輯運算單元,ALU、,鎖存器、寄存器、內部總線和控制電路等構成。其核心部件是,ALU。,下面介紹運算器的基本結構和組成。,3.,1.1,運算器的基本結構,運算器三種結構形式,單總線結構,雙總線結構,三總線結構,2024/10/28,6,第3章 運算器與控制器,1單總線結構,單總線結構的運算器如所示,A,B,通用,寄
4、存器,狀態(tài)標志寄存器,內部數(shù)據(jù)總線,ALU,2024/10/28,7,第3章 運算器與控制器,在單總線結構的運算器中,所有部件都掛在同一總線上,各部件之間的數(shù)據(jù)傳送都是通過同一總線進行。,由于同一時刻只能有一個操作數(shù)放在總線上,各部件對總線是分時使用的。,進行一次運算需三步完成,第一步,通過總線把第一個操作數(shù)送鎖存器,A,;,第二步,將第二個操作數(shù)送入鎖存器,B;,第三步,將運算結果通過總線送入目的寄存器中。,單總線結構的運算器,結構簡單,,但,速度較慢,。,2024/10/28,8,第3章 運算器與控制器,2雙總線結構,雙總線結構的運算器如圖所示,鎖存器,通用,寄存器,狀態(tài)標志寄存器,內部數(shù)
5、據(jù)總線1,ALU,內部數(shù)據(jù)總線2,ALU,2024/10/28,9,第3章 運算器與控制器,在雙總線結構的運算器中,用,兩組內部數(shù)據(jù)總線,連接運算器的所有部件。,這種結構中,兩個操作數(shù)可同時加到,ALU,的輸入端,且可立刻得到運算結果。,ALU,的輸出不能直接連到總線上,因為當形成操作結果時,兩條總線都被輸入數(shù)據(jù)占據(jù)著,所以必須在,ALU,輸出端設置鎖存器。,進行一次運算需,兩步,完成,第一步,把兩個操作數(shù)分別通過總線1、總線2送,ALU,的輸入端,并形成運算結果送鎖存器。,第二步,把鎖存器的運算結果通過任一總線送入目的寄存器中。,雙總線結構的運算器提高了運算速度。,2024/10/28,10
6、,第3章 運算器與控制器,3三總線結構,三總線結構的運算器如圖所示,通用,寄存器,狀態(tài)標志寄存器,內部數(shù)據(jù)總線1,內部數(shù)據(jù)總線2,內部數(shù)據(jù)總線3,總線,旁路器,ALU,2024/10/28,11,第3章 運算器與控制器,在三單總線結構的運算器中,用,三條總線,連接運算器的所有部件。,這種結構中,,ALU,的兩個輸入端,分別由總線1、總線2供給數(shù)據(jù),而,ALU,的輸出與總線3相連。,進行一次運算只需,一步,就可完成,把兩個操作數(shù)分別通過總線1、總線2送,ALU,的輸入端,并形成運算結果直接通過總線3送入目的寄存器中。,圖中設置了總線,旁路器,,如果有的數(shù)據(jù)要在總線間直接傳送,可通過總線旁路器將總
7、線2的數(shù)據(jù)直接傳給總線3。,三總線結構的運算器運算,速度很快,,但內部,線路復雜,。,2024/10/28,12,第3章 運算器與控制器,3.,1.2,運算器的組成,以一個模型機的運算器為例,說明運算器的組成。,該運算器由如下幾部分,構成,:,1算術,/,邏輯運算單元,ALU,由4片,SN74181,和,SN74182,構成。,SN74181,是4位并行加法器,,SN74182,是并行進位部件。,可構成,16位的,ALU,。,2024/10/28,13,第3章 運算器與控制器,2,鎖存器,鎖存器,A、B,用來,暫存,來自通用寄存器、存儲器或外部設備的數(shù)據(jù)。給,ALU,提供參加運算的數(shù)據(jù)。,一旦
8、數(shù)據(jù)進入鎖存器,不管外部數(shù)據(jù)怎樣變化,都不能改變鎖存器的內容。,ALU,將依據(jù)鎖存器,A、B,的數(shù)據(jù)進行處理。,3通用寄存器組,該運算器設置了8個通用寄存器,R0R7。,通用寄存器,可供程序員訪問,用來作為累加器、變址寄存器、操作數(shù)寄存器等來使用。,2024/10/28,14,第3章 運算器與控制器,源寄存器,用來存放源操作數(shù)。,暫存寄存器,用來暫存中間結果。,4移位器,移位器,用來將,ALU,的數(shù)據(jù)進行左移、右移、直傳、半字交換等操作。供不同運算要求使用。,狀態(tài)寄存器用來存放在運算過程中得到的,狀態(tài)標志,(如零標志、進位標志、符號標志等),以便供程序判斷使用。,5狀態(tài)寄存器,2024/10/
9、28,15,第3章 運算器與控制器,總線,總線接收器,總線發(fā)送器,總線發(fā)送器,移位器,狀態(tài)寄存器,ALU,鎖存器,A,鎖存器,B,源寄存器,暫存寄存器,通用寄存器,模型機運算器組成框圖,2024/10/28,16,第3章 運算器與控制器,3.,2,控制器的功能和基本組成,3.,2.1,控制器的功能,控制器的作用是,控制程序的執(zhí)行,,它應具有下列功能。,1取指令,根據(jù)程序入口地址,從存儲器中取出一條指令,并指出下條指令的地址。,取出的指令送到指令寄存器,以便分析運行該指令。,2分析指令,分析指令又叫,解釋指令,或,指令譯碼,。,2024/10/28,17,第3章 運算器與控制器,3執(zhí)行指令,根據(jù)
10、分析指令產(chǎn)生的控制命令和操作數(shù)地址,形成相應的操作控制信號序列,通過運算器、存儲器、輸入/輸出設備的執(zhí)行,,實現(xiàn)每條指令的功能,。,計算機不斷重復上述三種操作:,取指,、,分析,、,執(zhí)行,;,再取指,、,再分析,、,再執(zhí)行,,如此循環(huán),直到遇到停機指令或外來干預為止。,是對當前取得的指令進行,分析,,指出它要求完成什么操作,并產(chǎn)生相應的操作控制命令。如果參與操作的數(shù)據(jù)在存儲器中,還要,形成操作數(shù)地址,。,2024/10/28,18,第3章 運算器與控制器,5對異常情況和某些請求的處理,當機器出現(xiàn)某些異常情況時,如溢出、校驗錯等,或某些外來請求,如中斷、,DMA,等,要進行相應的處理。,4控制程
11、序和數(shù)據(jù)的輸入與結果的輸出,根據(jù)程序的安排并通過人的干預,在適當?shù)臅r候向輸入/輸出設備發(fā)出一些相應的命令來,完成輸入/輸出功能,,這實際上也是通過執(zhí)行程序來完成的。,2024/10/28,19,第3章 運算器與控制器,3.,2.2,控制器的組成,時序控制信號,形成部件,啟停電路,程序計數(shù)器,運算器,+1,CLK2,CLK,脈沖源,RESET,指令譯碼器,ID,IR,操作碼 地址碼,存儲器,I/O,口,數(shù)據(jù)總線,DB,地址總線,AB,控制總線,CB,指令,數(shù)據(jù),指令,地址,數(shù)據(jù)寄存器,地址寄存器,操作數(shù),地址,DR,AR,2024/10/28,20,第3章 運算器與控制器,1程序計數(shù)器,PC(P
12、rogram,Counter),程序計數(shù)器,又稱為,指令計數(shù)器,IP,(Instruction Pointer),,是用來存放下條指令地址的。,當取出指令后,應確定,下條指令的地址,,這樣才能保證程序的連續(xù)執(zhí)行。,在程序開始執(zhí)行時,必須將程序的,入口地址,(第一條指令地址),送入,PC,。,程序運行中,,CPU,自動修改,PC,的值。,PC,一直指向下次要取的指令,。,2024/10/28,21,第3章 運算器與控制器,一般有兩種途徑來形成指令地址:,一是,順序執(zhí)行時,,通過程序計數(shù)器自動增量形成下條指令地址,即每取一條指令,,PC,自動加1,;,二是遇到要,改變程序執(zhí)行順序時,,一般由,轉移
13、指令形成轉移地址,送程序計數(shù)器,形成下條指令地址。,PC,在某些計算機中用來存放,當前,正在執(zhí)行的,指令地址,;而在另一些計算機中用來存放,下條指令地址,;在有預取指令功能的計算機中用來存放下條要取出的指令地址。,2024/10/28,22,第3章 運算器與控制器,2指令寄存器,IR(Instruction Register),指令寄存器,用來存放當前執(zhí)行的指令。,要執(zhí)行一條指令時,先將其從存儲器中取出,取出的指令首先存放在指令寄存器當中,以便下一步送指令譯碼器譯碼執(zhí)行。,3指令譯碼器,ID(Instruction Decoder),一條,指令,一般包括,操作碼部分,和,操作數(shù)地址部分,。,操
14、作碼,指示指令要完成的什么操作。,指令譯碼器的作用,就是對指令寄存器的操作碼部分進行譯碼,產(chǎn)生相應的控制信號。,2024/10/28,23,第3章 運算器與控制器,4時序控制信號形成部件,時序控制信號形成部件,,對譯碼器送來的控制信號,按一定的時序關系產(chǎn)生控制信號序列,控制,CPU,內部各部件完成指令功能。同時也發(fā)出各種外部控制信號。,時序信號的形成,是在時鐘脈沖的作用下進行的。,時序控制信號要根據(jù)被控制部件的反饋信號進行調整。,5脈沖源,啟停線路,脈沖源,主要是時鐘發(fā)生器,它,產(chǎn)生,一定頻率的,脈沖信號,,作為整個機器的,時鐘脈沖,,該脈沖信號是機器的工作脈沖的,基準信號,。,在加電時,產(chǎn)生
15、一總清信號(,RESET)。,啟停電路送出或封鎖時鐘脈沖,控制時序信號的發(fā)生或停止,從而,啟動,或,停止,機器。,2024/10/28,24,第3章 運算器與控制器,3.,2.3,指令的執(zhí)行過程,下面以上圖控制器為例,說明指令,MOV 2000H,AL,的執(zhí)行過程。,指令的功能是將寄存器,AL,中的內容送入地址為 2000,H,的內存單元中。,該指令是一個,三字節(jié)指令,,假設存放在1200,H,開始的內存單元中。,指令的執(zhí)行需要三步,取指令操作碼并譯碼,取操作數(shù)地址,存儲操作數(shù),2024/10/28,25,第3章 運算器與控制器,操作碼,OP,00,20,XX,1200,H,1201H,120
16、2H,2000H,指令的內存存放示意圖,1取指令操作碼,(1)將指令計數(shù)器(,PC,),的內容(1200,H),送存儲器的地址寄存器(,AR,);,(2),指令計數(shù)器(,PC,),內容,加1,,變成1201,H,,為取下面內容作準備;,(3),AR,內容送地址總線,發(fā)讀信號給存儲器,讀出指令,操作碼送,指令寄存器,IR,;,(4),譯碼器對取出指令的操作碼進行,譯碼,,識別出是直接尋址的傳送指令,發(fā)出完成下一步操作的控制信號。,2024/10/28,26,第3章 運算器與控制器,2取操作數(shù)地址,因1201,H,和1202,H,單元存放的是操作數(shù)的地址(低位在前,高位在后),首先將其取出,再將寄存器的內容存入該地址所指的內存單元。如下操作過程:,(1)將,PC,的地址,送,AR,;,(2),PC,內容,增量,,指向下條指令;,(3)將,AR,的地址,送,上,地址線,,發(fā)讀一個字的讀命令,,讀出數(shù)據(jù),(2000,H),送,數(shù)據(jù)寄存器,DR,;,(4),將,DR,的內容,送,AR,。,2024/10/28,27,第3章 運算器與控制器,3存儲操作數(shù),將寄存器,AL,的內容存入上一步取出的地址