微处理机原理与应用

上传人:tia****nde 文档编号:69581672 上传时间:2019-01-14 格式:PPT 页数:62 大小:424.90KB
返回 下载 相关 举报
微处理机原理与应用_第1页
第1页 / 共62页
微处理机原理与应用_第2页
第2页 / 共62页
微处理机原理与应用_第3页
第3页 / 共62页
微处理机原理与应用_第4页
第4页 / 共62页
微处理机原理与应用_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《微处理机原理与应用》由会员分享,可在线阅读,更多相关《微处理机原理与应用(62页珍藏版)》请在金锄头文库上搜索。

1、微處理機原理與應用 Microprocessor,第二章 微處理機的組成要素 林學儀 老師 (David Lin) 國立勤益技術學院電子工程系 九十五學年度第一學期,2019年1月14日,Page - 2,第二章 微處理機的組成要素,2.1 微處理機模型 2.2 算術邏輯單元 2.3 微處理機的暫存器 2.4 控制單元 2.5 內部匯流排,2019年1月14日,Page - 3,2.1 微處理機模型,典型的共匯流排計算機系統 微處理機方塊圖 資料轉移與運算,2019年1月14日,Page - 4,典型的共用匯流排計算機系統,至少包含四部分連結到此共用的匯流排 (1) 中央處理單元(CPU) (

2、2) 唯讀記憶體(ROM) (3) 隨機存取記憶(RAM) (4) 輸入/輸出介面(I/O Interface),2019年1月14日,Page - 5,典型8位元微處理機模型,(a)微處理機方塊圖,2019年1月14日,Page - 6,典型8位元微處理機模型(續),(b) 微處理機程式模型,2019年1月14日,Page - 7,資料轉移與運算,微處理機主要的功能是資料轉移 資料(含指令)大都存在記憶體而非微處理機 與記憶體間的資料移轉最常使用(需最多時間) 做資料運算與輸入/輸出間的轉移,或將資料傳送到微處理機。 算術與邏輯運算,遮罩或清除某些位元 微處理機從狀態值的測試獲得判斷能力 常

3、用的狀態判斷有正負非零奇同位偶同位溢位與相等,2019年1月14日,Page - 8,2.2 算術邏輯單元,功能描述 微處理機內處理資料的主要單元 組成實例 依指定的算術與邏輯運算來決定 算術電路設計 邏輯電路設計 算術邏輯單元設計,2019年1月14日,Page - 9,微處理機的算術邏輯單元(ALU),2019年1月14日,Page - 10,ALU的功能描述,兩個輸入都有暫時暫存器做為緩衝 一般都是從累積器取得資料,輸出則將資料送到任何與匯流排相連接裝置上,通常是將資料傳送到累積器 分成算術運算與邏輯運算兩大類 算術運算包含最基本的加法與減法運算 現今的微處理機則大多已包含比較、判斷、A

4、ND、OR、NOT、移位與循環等基本的邏輯運算 也可分成算術邏輯移位與比較等四類,2019年1月14日,Page - 11,ALU組成實例,ALU是能執行多種運算的組合邏輯函數 其設計是依指定的算術與邏輯運算來決定 ALU有許多選擇線來選擇運算種類 選擇線在ALU內解碼,k個選擇變數可指定2k個不同的運算,2019年1月14日,Page - 12,四位元的ALU方塊圖,選擇變數S2、S1、S0指定八種算術運算(配合進位輸Cin)與四種邏輯運算 模式選擇輸入S2決定算術或邏輯運算 功能選擇輸入S1 與S0指定要執行的算術或邏輯運算,2019年1月14日,Page - 13,ALU的設計,先完成1

5、位元的算術邏輯單元設計,再將n個1位元的算術邏輯單元串接起來 設計步驟 1.先以加法器設計算術電路而不必管邏輯部分 2.假定到各級的進位輸入等於0,由步驟1的算術電路表列出已知的邏輯運算 3.修正算術電路以得到尚未獲得的邏輯運算,使整個算術邏輯單元能執行算術與邏輯運算。,2019年1月14日,Page - 14,算術電路設計,以加法器為基本元件,附加控制加法器資料輸入的控制電路就可完成不同算術運算的電路設計 設計能完成一組指定函數的算術電路,2019年1月14日,Page - 15,2.3 微處理機的暫存器,2019年1月14日,Page - 16,微處理機的暫存器(續),暫存器主要的目的是儲

6、存暫時性的資料 除了有些是為了某些特殊功能而存放資料外,其餘都可做為一般用途使用 不是所有的暫存器都可由程式設計者控制 程式模型中的暫存器,2019年1月14日,Page - 17,2.3.1 累積器,2019年1月14日,Page - 18,累積器(續),微處理機中儲存資料與資料運算時,主要使用的暫存器 大部份的算術與邏輯運算都會同時使用算術邏輯單元與累積器 若運算需使用兩組資料時,其中一組會存於在累積器,而另外一組資料則存放於其他的暫存器或記憶體中 算術邏輯單元通常將運算完的資料存放於累積器中,因此會覆蓋先前的資料,2019年1月14日,Page - 19,累積器(續),有資料轉移的功能,

7、可將資料在計算機系統中轉移 資料轉移順序是先將來源資料移轉至累積器中,然後再由累積器轉移資料至目的地 輸入輸出埠與記憶體間記憶體與記憶體間轉移 在累積器上直接處理資料 清除累積器 設定所有位元值為1,累積器的資料左移右移取補數或其他運算,2019年1月14日,Page - 20,累積器(續),由下圖得知累積器如何經由資料匯流傳送資料與如何由內部匯流排接收資料,並且在累積器傳送資料時有暫時暫存器做為緩衝暫存器。,2019年1月14日,Page - 21,2.3.2 程式計數器(PC),2019年1月14日,Page - 22,程式計數器(續),追蹤已執行的指令,並指出下個執行的指令的位址 由一連

8、串指令所構成的程式存於記憶體,而且必須以正確的順序來執行程式指令 一般程式計數器的長度都比資料字組要長 程式計數器與內部匯流排相連接 可以接收邏輯裝置傳送至內部匯流排的資料 通常從記憶體獲得資料,只有幾個特殊指令,2019年1月14日,Page - 23,程式計數器(續),PC在程式開始執行前會先載入一個值,此值代表第一個能被執行指令的位置 PC會將內含值傳送到記憶位址暫存器(MAR) 第一個程式指令的位址由16位元位址匯流排送到記憶體電路中 記憶體將此位址的內含值經由資料匯流排傳送到指令暫存器,此指令暫存器內容即為指令,2019年1月14日,Page - 24,程式計數器(續),微處理機從記

9、憶體提取指令後,PC值加一 PC在指令執行前已經加一,並且指向下個指令 PC在執行目前指令時會指向下個指令 指令執行並不一定是依序執行先前的指令 有些指令值載入PC中,並在執行這些指令時,使得下個指令會從新的位址開始而不是依序的位址 PC存入副程式的起始位址後,PC值由副程式的起始位址開始增加,直到執行返回指令為止,2019年1月14日,Page - 25,2.3.3 狀態暫存器,2019年1月14日,Page - 26,狀態暫存器(續),儲存程式執行的結果,又稱旗標暫存器 ALU執行某些暫存器的運算時,可以設定或清除狀態暫存器中的某些位元值,並由這些位元值寫出可分支的程式 程式經由PC載入新

10、的起始值而從新位址開始執行並能使用條件分支法,使分支只發生在結果與條件相符的狀態時,2019年1月14日,Page - 27,一般微處理機的狀態暫存器,2019年1月14日,Page - 28,一般微處理機的狀態暫存器(續),進位借位旗標(C) 運算結果是否產生進位或借位 零旗標(Z) 運算結果使暫存器值為0,則設定零旗標位元 負符號旗標(S) 暫存器的最高有效位元為1,則設定此位元。 中間進位旗標(I) 較低的4個位元相加進位到5位元時設定此位元,亦稱為半進位,此位可元用來將BCD值轉換成二進位值。,2019年1月14日,Page - 29,一般微處理機的狀態暫存器(續),中斷旗標(IF)

11、用來控制系統之中斷要求,若設定為1則中斷致能 溢位旗標(O) 若運算結果超過資料可表示的範圍時(2補數算術運算),則溢位旗標設定為1 通常只有在 “正數正數”,“正數負數” , “負數負數” 與 “負數正數” 時才會發生。 同位旗標(P) 若運算結果有奇數個1時,則此位元設定為1。,2019年1月14日,Page - 30,實例 ALU運算的結果,將11101110與01100100兩數相加,結果可得進位輸出與正數01010010 狀態暫存器的進位旗標C=1,符號旗標S=0,零旗標Z=0,中間進位旗標I=1與溢位旗標O=0,2019年1月14日,Page - 31,2.3.4 堆疊指標,201

12、9年1月14日,Page - 32,堆疊(Stack),程式執行時常常須保存返回位址,一般是將返回位址置於稱為堆疊的特殊記憶體中 堆疊的操作後進先出(LIFO)運算 壓入的方式將資料放入堆疊,以相反的順序將資料彈出堆疊,最後放入的資料最先離開堆疊 以堆疊指標取得目前堆疊最上層的位址 堆疊指標與PC相同,都須有足夠的位元來對記憶體位置做定址,2019年1月14日,Page - 33,堆疊指標,堆疊指標使用後會自動遞減 使堆疊指標自動指向下個可用位置,以建立向下成長的堆疊 通常是以2個位元組來做運算(減少2個記憶體位置) 堆疊指標的起始值由程式設計者事先設定 若未將堆疊指標初值化,則推疊指標會開始

13、在任何位置,會導致重要的資料或程式被覆蓋而造成程式錯誤 使用堆疊來存放中間運算的結果 由於疊操作是後進先出(LIFO)的裝置,因此當堆疊指標錯誤時會遺失堆疊資料,因此是由特殊暫存器來完成此項工作而不是一般暫存器,2019年1月14日,Page - 34,2.3.5 一般用途暫存器,2019年1月14日,Page - 35,一般用途暫存器(續),可能只用來儲存資料,也有可能做累積器般使用 算術邏輯單元能將資料儲存於暫存器內 本章使用B,C,D與E等四個一般用途暫存器 暫存器的運算會影響狀態暫存器,因此可做為遞增或遞減計數器 暫存器BC與DE可做為特殊用途的16位元暫存器,稱之為“暫存器對”(Re

14、gister Pairs),2019年1月14日,Page - 36,2.3.6 記憶位址暫存器(MAR),2019年1月14日,Page - 37,記憶位址暫存器(續),儲存的二進位值是記憶體的位址 微處理機對記憶體定址時,MAR會指向該位址 記憶位址暫存器將位址資料送至位址匯流排,並以此輸出選擇記憶體位址或輸入/輸出埠 MAR和其它邏輯一起使用以完成記憶體的定址工作 此項邏輯會因不同的微處理機與不同的定址方式而有所差異,2019年1月14日,Page - 38,記憶位址暫存器(續),記憶位址暫存器大都只在提取週期使用 指令在提取週期時載入指令暫存器,此時MAR與PC值相同,但PC在指令解碼

15、後遞增,而MAR並未遞增。 有些指令的執行並不須使用記憶體位址,例如清除累積器的指令 執行週期則與指令種類有關,此時若指令需要定址記憶體,則會再度使用MAR MAR與PC大都有相同長度,可以定址記憶體中的任意位置,2019年1月14日,Page - 39,2.3.7 指令暫存器(IR),2019年1月14日,Page - 40,指令暫存器(續),IR唯一的工作是儲存目前在執行的指令 IR與微處理機的內部資料匯流排相連接,但只接收資料而無法送出資料至此資料匯流排上 IR輸出經由指令解碼器以驅動控制邏輯 指令解碼器於指令執行時將IR的內容解碼,然後通知微處理機所要執行的動作。 指令由記憶體位置上提

16、取後,便將其置於內部資料匯流排上,然後載入至指令暫存器,此時程式計數器會指向下個記憶體中的指令。,2019年1月14日,Page - 41,2.3.8 暫時暫存器,2019年1月14日,Page - 42,暫時暫存器(續),使用暫時暫存器來儲存暫時的資料 由於ALU無儲存資料的能力,任何於輸入端的資料都會立刻在輸出端出現 ALU由內部匯流排接收資料,將處理後的資料結果置於累積器中,因此若無暫時暫存器,則ALU無法完成工作。 暫時暫存器不會出現在程武模型 程式設計者無法使用ALU中的暫時暫存器,2019年1月14日,Page - 43,2.4 控制單元,2019年1月14日,Page - 44,控制單元導論,控制單元含指令暫存器,指令解碼器與控制邏輯微處理機 控制單元除了從記憶體中讀取程式指令並解碼外,還能在適當的時間操作控制訊號,完成指令暫存器的轉移操作 資料處理單元內部的微運算都由控制單元啓動 資料處理單元是由一些暫存器與相關邏輯函數組成 控制邏輯能產生一連串微運算訊號的序向電路,使微處理機能以正確的時序協同工作,2019年1月14日,Pa

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号