組成原理筆記_第1頁
組成原理筆記_第2頁
組成原理筆記_第3頁
組成原理筆記_第4頁
組成原理筆記_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1.硬件的判斷邏輯通過符號位的關(guān)系,相加的溢出判斷 :通過符號位的與或門1)如正數(shù)+正數(shù)=正數(shù),負數(shù)+負數(shù)=負數(shù)2)溢出=sasbsf+sasbsf3)雙符號位來判斷,第一位與第二位的符號不同時發(fā)生溢出2.移位操作 邏輯移位:數(shù)碼的位置發(fā)生變化,但數(shù)值不變 如循環(huán)左移 算數(shù)移位:數(shù)碼的位子變化,數(shù)值變化,但符號位不變,絕對值變?yōu)閮杀?1) 正數(shù)補碼移位規(guī)則單符號:不能超出表示范圍,左移會超出,右移無所謂,會有誤差,如四位只能表示015,超出則溢出雙符號:可以將計算過程中產(chǎn)生的進位保存在第二符號位中,但是計算結(jié)束后要恢復總結(jié):數(shù)符不變(單符號為符號位不變,雙符號位為第一符號位不變) 空高位補0(

2、右移是第二符號位移至尾數(shù)最高位) 2)負數(shù)補碼移位規(guī)則 單符號:1表示負數(shù),不能超出數(shù)值的表示范圍,左移低位補0,右移高位補1 雙符號:第二符號位同樣可以用來存儲計算過程進位, 總結(jié):數(shù)符不變 左移空位補0,右移空位補1,第二符號位移至尾數(shù)最高位3右移時產(chǎn)生誤差舍入方法 1)0舍1入法 如舍去最低位為0,則舍去,如舍去的為1,則舍去后+1 2)末尾恒置1 定點乘法運算將乘法轉(zhuǎn)化為部分積的累加,移位1. 原碼一位乘法:每次用一位乘數(shù)去乘被乘數(shù),得到部分積進行相加 設(shè)置寄存器A來保存每次的部分積之和,用寄存器B來保存被乘數(shù),寄存器C來保存乘數(shù),c要么為0,要么為1,所以要么+B,要么+0,將用來中

3、轉(zhuǎn)的A寄存器中的值右移來解決累加和位數(shù)增多的問題,右移的數(shù)保存到C中,因為c寄存器需要用到的位數(shù)每算一次少一位,正好用來保存2. 補碼一位乘法:通過乘數(shù)小數(shù)點后的權(quán)值與數(shù)值相乘,列出表達式,提取,變換后得到相當于用相鄰兩位乘數(shù)比較的結(jié)果來決定3. 原碼恢復余數(shù)法被除數(shù)的絕對值小于除數(shù)為前提比較兩數(shù)大小可用減法試探 4原碼不恢復余數(shù)法 基于恢復余數(shù)法的改進5.補碼不恢復余數(shù)法 浮點四則運算1. 浮點加減運算 都是補碼運算 1)加減前應該進行對階操作,通過對尾數(shù)的右移,階數(shù)+1,尾數(shù)左移,階數(shù)1,來調(diào)整,一般都是將小階調(diào)到大階,這樣低位去掉,如果左移去掉高位誤差太大。最后將結(jié)果進行規(guī)格化,判斷標準

4、為尾數(shù)值|w|應該在1/21之間,如尾數(shù)|w|<1/2,則左移進行規(guī)格話,大于1/2,則右移規(guī)格話。 2)我們也可以通過符號位+尾數(shù)最高位的異或關(guān)系,來判斷。(沒看懂) 2.浮點乘法運算 階碼相加,尾數(shù)相乘,轉(zhuǎn)化為浮點加減運算 步驟:1)檢查操作數(shù)是否為0 2)階碼相加 3)尾數(shù)相乘,不需要像加減法一樣對階 4)結(jié)果規(guī)格化。一般左規(guī) 3.浮點除法運算原理:階碼相減,尾數(shù)相除步驟:1)檢查操作數(shù)是否為0 2)要保證尾數(shù)相除的結(jié)果為小數(shù),所以AW<BW,如果不是則通過調(diào)整AW的左移u右移 3)階碼相減 4)尾數(shù)相除,同理不需要對階 5)通常結(jié)果在1/2到1,之間,所以不需要規(guī)格化。 第

5、三章 指令系統(tǒng)主要討論:一般指令格式;常用尋址方式;面向用戶指令類型 第一節(jié) 指令格式1.2. 操作碼格式1) 定長操作碼各指令操作碼的位置,位數(shù)固定相同2) 擴展操作碼各指令操作碼的位置,位數(shù)不固定,根據(jù)需要變化區(qū)分以上兩者的不同,關(guān)鍵是要設(shè)置擴展標志每個操作碼為四位,總共能表示16種狀態(tài),我們只能用15中,剩下1111作為擴展標志,將下一位地址碼擴展為操作碼,同理,下一個四位也能這樣操作,這樣下去,能分為三地址指令,二地址指令,一地址指令,各有15條,零地址指令16條,不在需要擴展標志。3. 操作碼采用方式碼編碼4. 地址結(jié)構(gòu)指令中提供的地址數(shù)采用兩種方式呈現(xiàn):存儲單元地址碼或者存儲起編號

6、要知道指令中提供的地址數(shù)與實際中需要的地址數(shù)不一定相同,因為對地址的數(shù)量進行了簡化,指令提供地址的方式:1)顯地址方式:寄存器,存儲單元,包括直接與間接 2)隱地址方式:地址隱含約定,不出現(xiàn)在指令中所以采用隱地址才能簡化地址數(shù),從而簡化地址結(jié)構(gòu)四地址三地址二地址一地址四地址指令結(jié)構(gòu):1)四地址到三地址:因為下一條指令的地址已經(jīng)放在地址中,所以不能靈活的實現(xiàn)地址的轉(zhuǎn)移,所以我們改為用指令計數(shù)器PC來表示,現(xiàn)行指令與pc+1的方法指示下條指令。轉(zhuǎn)移是用轉(zhuǎn)移地址修改PC內(nèi)容2)三地址到二地址:將兩個操作數(shù)得到的結(jié)果放到其中一個操作數(shù)地址中,從而省掉結(jié)果地址,類比除法將余數(shù)放到被除數(shù)作為下次循環(huán)繼續(xù)用

7、,稱為目的地址3)二地址轉(zhuǎn)化為一地址:雙操作數(shù):采用累加器隱含約定一個操作數(shù)與給出的操作數(shù)進作 單操作數(shù),取反等4)零地址結(jié)構(gòu)指令:用于堆棧或特殊指令操作 四地址結(jié)構(gòu)已經(jīng)很少用了,對于指令字長的大型機還用三地址,對于指令小的小型機就用二地址一地址了。 第二節(jié) 尋址方式指尋找操作數(shù)地址或操作數(shù)的方式1.常見尋址方式 1)立即尋址指令直接給出操作數(shù)因為立即數(shù)是跟在操作碼之后的所以提供以后就不在變化,所以基本上用來提供常數(shù),設(shè)置初值等。所以在更多的情況下,我們希望這個立即數(shù)是可以變化的,所以不會將立即數(shù)放在操作碼后,而是將操作數(shù)的地址放在之后 2)直接尋址 地址給出的方式也有兩種:存儲單元號M,寄存

8、器號R 存儲器直接尋址 定長是將地址與操作碼一次給出,所以長度受限,訪問到的地址數(shù)量也就有限 變長是分幾次給出 寄存器直接尋址 寄存器位CPU中,所以訪問快且數(shù)量少,所占位數(shù)少 3)間接尋址將地址放在寄存器或者存儲器中從而間接找到操作數(shù),所以又分為存儲器間接尋址與寄存器間接尋址。R所占位數(shù)少,修改R內(nèi)容比修改M內(nèi)容快,且我們只需要改變間接單元內(nèi)容,使得同一條指令可指向不同的存儲單眼,并不需要改變地址指針。4)堆棧尋址將堆棧指針放在操作碼之后 5)變址尋址方式 相當于一個線性函數(shù),以D為基準地址,Rx為修改量,兩個地址的和才是最終指向的單元,且Rx的變化是有規(guī)律的,如+1,+2,這樣稱為用變址方

9、式訪問一組數(shù)組元素。由于基準地址的D位數(shù)是有限的,不能覆蓋所有地址。所以進行改進,稱為基址尋址6)基址尋址一寄存器號為基準地址,D為位移量,改變Rb,D不變,能訪問定長空間以上不同的尋址方式對應與不同的情況,所以有不同的模型每種都有自己的特點,根據(jù)實際情況選擇7)基址加變址8)相對尋址有效地址相對于PC上下浮動,給編程帶來方便9)頁面尋址不是求和,只是拼接特點:用于頁式管理存儲系統(tǒng),尋址速度較快,相當于組織程序模塊,有效利用存儲空間。對尋址方式的說明在操作碼的最高兩位說明尋址方式00 RR型 寄存器-寄存器尋址01 rx型 寄存器變址尋址10 SI型 基址立即尋址 11 ss型 基址基址尋址

10、當如果給出00型時,不能改變,但我們希望能夠在不同的尋址方式中進行選擇所以可以在指令中設(shè)置專門字段說明尋址方式,我們稱為尋址方式字段定義,特點,應用場合 以上幾種方式要弄清楚 指令類型 一個系統(tǒng)的指令需要根據(jù)系統(tǒng)蘇需要的功能來設(shè)置,集體在硬件上實現(xiàn)1.傳送指令原地址>目的地址 設(shè)置時需要考慮的幾個方面 (1)規(guī)定傳送方向 如DJS-100 規(guī)定只能R M 相互傳送 80x86 能RR RM之間傳送IBM370能RM RR MM 相互傳送 (2)指明傳送單位 (3)設(shè)置尋址方式 傳送指令能集中的反應系統(tǒng)的集中尋址方式 2.輸入/輸出指令 1).主機與外部設(shè)備間的信息交換,設(shè)置時考慮 I/O

11、指令的功能擴展 I/O指令中留有擴展余地:如四位編碼能表示16中,只用其中幾種,用于外設(shè)種類數(shù)量不多的場合 I/O接口中專門設(shè)置狀態(tài)/控制寄存器,用于特殊設(shè)備,用狀態(tài)寄存器與控制寄存器兩個東西來進行兩個設(shè)備的交換,采用約定的代碼來表示具體情況 2)主機對外設(shè)的尋址方式 主機與外部設(shè)備的交換是通過接口中的寄存器來交換的,先將外部設(shè)備的信息放到寄存器中,再進行主機與寄存器的交換,所以需要尋址 一個接口中有好多端口,稱為端口地址 (1)單獨編址 編址到寄存器:為每個寄存器分配獨立的端口地址與主存相對獨立 所以I/O指令中要給出端口地址 I/O地址空間不占主存空間但是可與主存空間重疊,16位與12位,

12、所以我們需要設(shè)置標志來區(qū)分訪問主存還是I/O,因為他們都掛在總線上(2)統(tǒng)一編址就是對外部設(shè)備與主存統(tǒng)一編址,訪問時,指令中給出總線地址3)I/O指令設(shè)置方式 (1)設(shè)置單獨編址,用I/O指令直接訪問I/O端口,稱為顯示I/O指令 第一個表示從端口地址n中寫入到cpu中al邏輯塊中(2)用傳送指令實現(xiàn)I/O操作 針對統(tǒng)一編址,用傳送指令訪問I/O端口 需要分為控制狀態(tài)與數(shù)據(jù)的寫入兩部分當統(tǒng)一編址時,我們是通過傳送指令傳送到兩個寄存器中來改變狀態(tài)字格式,比如說我們想將啟動字改為1,則用一個命令通過總線177550來傳送到CSR中,從而改變狀態(tài),當想要寫入數(shù)據(jù)的時候我們要檢查7號位的狀態(tài)是否為1,

13、表示完成,然后再通過傳送指令寫入數(shù)據(jù)。(3)通過I/O處理機進行I/O操作CPU進行簡單的控制I/O處理機,然后I/O處理機進行操作指令操作3.算術(shù) 邏輯運算指令 1)算術(shù)運算指令 考慮 操作數(shù)類型,符號,進制,運算結(jié)束后我們也要考慮是否進位等問題,如進位則進行轉(zhuǎn)移,所以還需要設(shè)置運算結(jié)束后的狀態(tài)標志 2)邏輯運算指令 通過與或非指令與原先的代碼進行邏輯運算,實現(xiàn)代碼的改變4.程序控制指令1)控制程序流程的指令 (1)轉(zhuǎn)移指令(2)轉(zhuǎn)子指令和返回指令 在函數(shù)執(zhí)行過程中的主函數(shù)與被調(diào)用函數(shù)情況相似,對于返回地址需要同一條指令鞥夠提供不同的返回地址,所以要用間接尋址的方式,用堆棧來存放返回地址(3

14、)軟中斷指令 早期用于程序的調(diào)試,在程序執(zhí)行的某一處需要設(shè)置斷點到斷點處進行調(diào)試, 現(xiàn)在用于系統(tǒng)功能的調(diào)用 控制器原理與CPU組織主要內(nèi)容: CPU組成:運算器 控制器 數(shù)據(jù)通路結(jié)構(gòu) 與外部的連接 CPU工作原理; 指令的執(zhí)行過程微命令發(fā)生器:產(chǎn)生全機最基本操作的命令 通過電位型與脈沖型(打入寄存器)指令計數(shù)器PC:順序執(zhí)行 pc+1 轉(zhuǎn)移執(zhí)行 pc先加一再用轉(zhuǎn)移地址修改pc指令寄存器IR: 存放現(xiàn)行指令 操作碼字段>譯碼器>微命令發(fā)生器 地址碼字段>譯碼器,再到微命令發(fā)生器程序狀態(tài)寄存器PSW:指示程序的運行方式,反應程序運行結(jié)果優(yōu)先級:表示程序在執(zhí)行的過程中出現(xiàn) 隨機請求

15、能否被打斷,優(yōu)先級是由系統(tǒng)設(shè)置的時序線路:控制某一操作的時間與操作時刻1.先從pc中取指令,然后PC+1,取出指令后送到IR指令寄存器中,IR將操作碼和尋址方式送到譯碼器中,然后由微命令發(fā)生器發(fā)出命令2.時序控制方式 如IR只在某一時刻接受傳輸,講解時序信號與操作的關(guān)系 工作周期由時鐘組成,時鐘周期的長度是固定不變的,時鐘由工作脈沖組成,然后取指,取數(shù),執(zhí)行,這寫都是高電平,連續(xù)執(zhí)行,然后在取指階段,又可以分為取出指令與打入pc,也都是高電平連接起來,最后又能分為更小的工作脈沖,在某個時間打入IR時序控制方式及其變化(1)同步控制 定義:各項操作有規(guī)定的時間執(zhí)行,一到時間立馬轉(zhuǎn)換下一個操作各項

16、操作在cpu內(nèi)部由cpu提供控制,在外部設(shè)備與磁盤中是有磁盤控制器提供的。 特點:采用同步控制方式的邏輯部件最好執(zhí)行周期時間接近,這樣掛在cpu總線上不需要等待過多的時間,提高執(zhí)行效率,當然也不是說絕對,相差大的如cpu與外部設(shè)備也可以掛在總線上。 (2)異步控制定義:各項操作按不同需要來安排時間,不受統(tǒng)一時序控制 原理:各個操作之間的銜接和各個不見之間信息的交換采用異步應答的方式,當執(zhí)行完某個操作,則發(fā)出信號,告訴另一個設(shè)備可以傳送了,兩者之間進行應答響應的方式區(qū)分主設(shè)備與從設(shè)備的概念 在于有沒有總線控制權(quán)總的來說就是相當于兩個人一問一答的方式優(yōu)缺點:時間安排合理,但是控制復雜,所以在cpu內(nèi)部一般采用同步控制方式應用場合:當各掛接部件速度差異大,傳送時間不確定,傳送距離較遠多采用異步總線操作改進,每個控制方式有每個控制方式的特點,所以大多采用將兩者結(jié)合的方式進行控制 每個時鐘周期的長度是固定不變的同步方式的變化: 1)不同指令安排不同時鐘周期數(shù),改變時鐘周期數(shù),從而改變指令周期 2)總線周期中

溫馨提示

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

評論

0/150

提交評論