計算機組成原理教案.doc_第1頁
計算機組成原理教案.doc_第2頁
計算機組成原理教案.doc_第3頁
計算機組成原理教案.doc_第4頁
計算機組成原理教案.doc_第5頁
已閱讀5頁,還剩81頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

教 案20122013學年 秋 學期教 研 室:軟件與理論教研室課程名稱: 計算機組成原理 課程類型: 專業(yè)基礎 課程代碼: 0809008b2 授課班級:計1101、計1102 教師姓名: 蘇 富 林 職 稱: 講師 甘肅民族師范學院計算機科學系制課程名稱計算機組成原理總 計: 90 學時課程類型專業(yè)基礎課學分6理 論 講 授: 60 學時實驗(實訓): 30 學時任課教師蘇富林職稱講師授課對象專業(yè): 計算機科學與技術 班級1: 111 班級2:112 教材信息計算機組成原理 第二版 羅克露 電子工業(yè)出版社參考資料計算機組成原理 第四版 白中英 科學出版社計算機體系結構 第二版 張晨曦 高等教育出版社教學目標計算機組成原理是計算機專業(yè)的一門核心專業(yè)基礎課,本課程從普遍性和原理性出發(fā),講述計算機硬件系統(tǒng)的組成、各部件的結構及工作原理,使學生從普遍原則和典型案例兩個角度理解計算機的組織與結構和工作過程,掌握計算機的硬件系統(tǒng)的設計方法。培養(yǎng)學生具有分析、設計和開發(fā)計算機硬件系統(tǒng)的能力,為后續(xù)課程打下堅實的基礎。重 點與難 點重點: 計算機系統(tǒng)的硬件結構 中央處理器 控制單元難點: 總線控制 存儲器工作原理 計算機的運算方法 cpu的結構和功能 微程序控制器的設計內(nèi)容課時分 配章內(nèi)容學時數(shù)1計算機系統(tǒng)概論42數(shù)據(jù)在計算機中的表示方法83中央處理器244存儲器125系統(tǒng)總線46輸入輸出系統(tǒng)8注:課程類型:通識課、專業(yè)基礎課、專業(yè)發(fā)展課、專業(yè)方向課、職業(yè)技能訓練課、實習實踐課、實驗課。教 案 正 頁 課程名稱:計算機組成原理任 課 教 師總課序第1次授 課時 間第1周第1次課撰寫(修改)稿2012年3月5日講 課 內(nèi) 容第5章課 題系統(tǒng)總線課時安排4課時授課方式 理論課 討論課 實踐課 實驗課 習題課 其 他教 具準 備黑板、多媒體演示教 學目 的1.了解計算機的分類與應用范圍。2.掌握計算機的硬件,軟件組成及各部件功能,理解計算機基本工作原理。3.了解計算機軟硬件發(fā)展歷程及前景。教 學重 點軟件的組成,多級組成的計算機系統(tǒng),馮諾依曼思想,程序局部性原理。教 學難 點教 學 基 本 內(nèi) 容教學手段及時間分配復習舊課: 引入新課:計算機系統(tǒng)概論新課內(nèi)容:1.計算機系統(tǒng)的分類和應用。計算機系統(tǒng)的發(fā)展狀況、應用領域和發(fā)展方向,計算機系統(tǒng)的分類(flynn分類法)。2.計算機系統(tǒng)的組成,計算機系統(tǒng)的硬件組成,計算機系統(tǒng)的基本啟動過程。3.計算機系統(tǒng)的層次結構板書綱要:1.計算機系統(tǒng)的分類和應用(1學時)。2.計算機系統(tǒng)的組成(1學時)。3.計算機系統(tǒng)的層次結構(2學時)。(一) 計算機發(fā)展歷程第一臺電子計算機eniac誕生于1946年美國賓夕法尼亞大學.eniac用了18000電子管,1500繼電器,重30噸,占地170m2,耗電140kw,每秒計算5000次加法.馮諾依曼(vanneumann)首次提出存儲程序概念,將數(shù)據(jù)和程序一起放在存儲器,使編程更加方便.50年來,雖然對馮諾依曼機進行很多改革,但結構變化不大,仍稱馮諾依曼機.一般把計算機的發(fā)展分為五個階段:發(fā)展階段時間硬件技術速度/(次/秒)第一代1946-1957電子管計算機時代40 000第二代1958-1964晶體管計算機時代200 000第三代1965-1971中小規(guī)模集成電路計算機時代1 000 000第四代1972-1977大規(guī)模集成電路計算機時代10 000 000第五代1978-現(xiàn)在超大規(guī)模集成電路計算機時代100 000 000 eniac(electronic numerical integrator and computer)電子數(shù)字積分機和計算機 edvac(electronic discrete variable automatic computer)電子離散變量計算機 組成原理是講硬件結構的 系統(tǒng)結構是講結構設計的 摩爾定律 微芯片上的集成管數(shù)目每3年翻兩番.處理器的處理速度每18個月增長一倍. 每代芯片的成本大約為前一代芯片成本的兩倍 新摩爾定律 全球入網(wǎng)量每6個月翻一番. 數(shù)學家馮諾依曼(von neumann)在研究edvac機時提出了“儲存程序”的概念.以此為基礎的各類計算機通稱為馮諾依曼機.它有如下特點:計算機由運算器,控制器,存儲器,輸入和輸出五部分組成指令和數(shù)據(jù)以同等的地位存放于存儲器內(nèi),并可按地址尋訪指令和數(shù)據(jù)均用二進制數(shù)表示指令由操作碼和地址碼組成,操作碼用來表示操作的性質,地址碼用來表示操作數(shù)在存儲器中的位置指令在存儲器內(nèi)按順序存放機器以運算器為中心,輸入輸出設備與存儲器間的數(shù)據(jù)傳送通過運算器完成圖中各部件的功能運算器用來完成算術運算和邏輯運算并將的中間結果暫存在運算器內(nèi)存儲器用來存放數(shù)據(jù)和程序控制器用來控制,指揮程序和數(shù)據(jù)的輸入,運行以及處理運行結果輸入設備用來將人們熟悉的信息轉換為機器識別的信息輸出設備將機器運算結果轉為人熟悉的信息形式運算器最少包括3個寄存器(現(xiàn)代計算機內(nèi)部往往設有通用寄存器)和一個算術邏輯單元(alu arithmetic logic unit).其中acc(accumulator)為累加器,mq(multiplier-quotient register)為乘商寄存器,x為操作數(shù)寄存器,這3個寄存器在完成不同運算時,說存放的操作數(shù)類別也各不相同.計算機的主要硬件指標 (4.a) 主機完成一條指令的過程以取數(shù)指令為例(4.b) 主機完成一條指令的過程以存數(shù)指令為例(二) 計算機系統(tǒng)層次結構1. 計算機硬件的基本組成計算機硬件主要指計算機的實體部分,通常有運算器,控制器,存儲器,輸入和輸出五部分.cpu是指將運算器和控制器集成到一個電路芯片中.2. 計算機軟件的分類計算機軟件按照面向對象的不同可分兩類:系統(tǒng)軟件:用于管理整個計算機系統(tǒng),合理分配系統(tǒng)資源,確保計算機正常高效地運行,這類軟件面向系統(tǒng).(包括:標準程序庫,語言處理程序,os,服務程序,數(shù)據(jù)庫管理系統(tǒng),網(wǎng)絡軟件)應用軟件:是面向用戶根據(jù)用戶的特殊要求編制的應用程序,這類軟件通常實現(xiàn)用戶的某類要求.3. 計算機的工作過程(1)計算機的工作過程就是執(zhí)行指令的過程 指令由操作碼和操作數(shù)組成:操作碼地址碼 操作碼指明本指令完成的操作地址碼指明本指令的操作對象(2)指令的存儲 指令按照存儲器的地址順序連續(xù)的存放在存儲器中.(3)指令的讀取 為了紀錄程序的執(zhí)行過程,需要一個記錄讀取指令地址的寄存器,稱為指令地址寄存器,或者程序計數(shù)器.指令的讀取就可以根據(jù)程序計數(shù)器所指出的指令地址來決定讀取的指令,由于指令通常按照地址增加的順序存放,故此,每次讀取一條指令之后,程序計數(shù)器加一就為讀取下一條指令做好準備.(4)執(zhí)行指令的過程 在控制器的控制下,完成以下三個階段任務:1)取指令階段 按照程序計數(shù)器取出指令,程序計數(shù)器加一2)指令譯碼階段 分析操作碼,決定操作內(nèi)容,并準備操作數(shù)3)指令執(zhí)行階段 執(zhí)行操作碼所指定內(nèi)容(三) 計算機性能指標1. 吞吐量,響應時間(1) 吞吐量:單位時間內(nèi)的數(shù)據(jù)輸出數(shù)量.(2) 響應時間:從事件開始到事件結束的時間,也稱執(zhí)行時間.2. cpu時鐘周期,主頻,cpi,cpu執(zhí)行時間(1) cpu時鐘周期:機器主頻的倒數(shù),tc(2)主頻:cpu工作主時鐘的頻率,機器主頻rc(3)cpi:執(zhí)行一條指令所需要的平均時鐘周期(4)cpu執(zhí)行時間:tcpu=incpitc in執(zhí)行程序中指令的總數(shù) cpi執(zhí)行每條指令所需的平均時鐘周期數(shù) tc時鐘周期時間的長度3. mips,mflops(1)mips:(million instructions per second) mips=指令條數(shù)執(zhí)行時間106=inte106=時鐘頻率cpi106=inincpitc106=rccpi106te:執(zhí)行該程序的總時間=指令條數(shù)/(mips106)in:執(zhí)行該程序的總指令數(shù)rc:時鐘周期tc的到數(shù) mips只適合評價標量機,不適合評價向量機.標量機執(zhí)行一條指令,得到一個運行結果.而向量機執(zhí)行一條指令,可以得到多個運算結果.(2) mflops: (million floating point operations per second) mflops=ifn/(te106)ifn:程序中浮點數(shù)的運算次數(shù)mflops測量單位比較適合于衡量向量機的性能.一般而言,同一程序運行在不同的計算機上時往往會執(zhí)行不同數(shù)量的指令數(shù),但所執(zhí)行的浮點數(shù)個數(shù)常常是相同的.特點:1. mflops取決于機器和程序兩方面,不能反映整體情況,只能反映浮點運算情況2. 同一機器的浮點運算具有一定的同類可比性,而非同類浮點操作仍無可比性當前微處理器的發(fā)展重點進一步提高復雜度來提高處理器性能通過線程進程級的并發(fā)性提高處理器性能將存儲器集成到處理器芯片來提高處理器性能發(fā)展嵌入式處理器軟件開發(fā)有以下幾個特點1) 開發(fā)周期長2) 制作成本昂貴3) 檢測軟件產(chǎn)品質量的特殊性計算機的展望一、計算機具有類似人腦的一些超級智能功能 要求計算機的速度達1015/秒 二、芯片集成度的提高受以下三方面的限制 芯片集成度受物理極限的制約 按幾何級數(shù)遞增的制作成本 芯片的功耗、散熱、線延遲計算機輔助設計cad 計算機輔助制造cam計算機輔助工藝規(guī)劃 computer aided process planning capp計算機輔助工程 computer aided engineering cae計算機輔助教學 computer assisted instruction cai 科學計算和數(shù)據(jù)處理 工業(yè)控制和實時控制網(wǎng)絡技術應用虛擬現(xiàn)實辦公自動化和管理信息系統(tǒng) computer aided designcad,cam,cims computer aided manufacturing多媒體技術 computer integrated manufacturing system人工智能,模式識別,文字/語音識別,語言翻譯,專家系統(tǒng),機器人布 置 作 業(yè)(書面作業(yè)、電子版作業(yè))課后小結教 案 正 頁 課程名稱:計算機組成原理任 課 教 師總課序第2次授 課時 間第2周第1次課撰寫(修改)稿2012年3月5日講 課 內(nèi) 容第2章課 題數(shù)據(jù)的表示課時安排4課時授課方式 理論課 討論課 實踐課 實驗課 習題課 其 他教 具準 備黑板、多媒體演示教 學目 的1. 掌握定點數(shù)和浮點數(shù)的表示方法,以及原碼,反碼,補碼和移碼表示。2.了解指令系統(tǒng)的發(fā)展與性能要求,掌握指令的基本格式、指令和數(shù)據(jù)的尋址方式。3. 掌握文字與字符串的表示方法。4. 理解內(nèi)部總線的概念,分類及特點。教 學重 點數(shù)據(jù)的概念,數(shù)據(jù)的表示方法,指令格式,尋址方式教 學難 點數(shù)據(jù)的表示方法,指令格式,尋址方式教 學 基 本 內(nèi) 容教學手段及時間分配復習舊課:計算機的基本組成引入新課:人和人之間是如何交流的?新課內(nèi)容:1.數(shù)據(jù)在計算機中的表示方法2.指令系統(tǒng)概述3.指令格式4.尋址方式板書綱要:實驗講解課堂討論本講共2課時,其中:1.數(shù)據(jù)在計算機中的表示方法(2學時)2.指令系統(tǒng)概述(2學時)3.指令格式(2學時)4.尋址方式(2學時)教 案 中 頁(一) 數(shù)制與編碼1. 進位計數(shù)制及其相互轉換1)進位計數(shù)制進位計數(shù)制是指按照進位制的方法表示數(shù),不同的數(shù)制均涉及兩個基本概念:基數(shù)和權. 基數(shù):進位計數(shù)制中所擁有數(shù)字的個數(shù).權:每位數(shù)字的值等于數(shù)字乘以所在位數(shù)的相關常數(shù),這個常數(shù)就是權.任意一個r進制數(shù)x,設整數(shù)部分為n位,小數(shù)部分為m位,則x可表示為:xan-1rn-1 + an-2rn-2 + + a0r0 + a-1r-1 + a-2r-2 + + a-mr-m(x)r = 2)不同數(shù)制間的數(shù)據(jù)轉換 (1)二,八,十六進制數(shù)轉換成十進制數(shù) 利用上面講到的公式: (n)2=di2i ,(n)8=di8i, (n)16=di16i,進行計算.(2)十進制數(shù)轉換成二進制數(shù)通常要對一個數(shù)的整數(shù)部分和小數(shù)部分分別進行處理,各自得出結果后再合并.u 對整數(shù)部分,一般采用除2取余數(shù)法,其規(guī)則如下:將十進制數(shù)除以2,所得余數(shù)(0或1)即為對應二進制數(shù)最低位的值.然后對上次所得商除以2,所得余數(shù)即為二進制數(shù)次低位的值,如此進行下去,直到商等于0為止,最后得的余數(shù)是所求二進制數(shù)最高位的值.u 對小數(shù)部分,一般用乘2取整數(shù)法,其規(guī)則如下:將十進制數(shù)乘以2,所得乘積的整數(shù)部分即為對應二進制小數(shù)最高位的值,然后對所余數(shù)的小數(shù)部分部分乘以2,所得乘積的整數(shù)部分為次高位的值,如此進行下去,直到乘積的小數(shù)部分為0,或結果已滿足所需精度要求為止.(3)二進制數(shù),八進制數(shù)和十六進制數(shù)之間的轉換八進制數(shù)和十六進制數(shù)是從二進制數(shù)演變而來的:由3位二進制數(shù)組成1位八進制數(shù);由4位二進制數(shù)組成1位十六進制數(shù).對一個兼有整數(shù)和小數(shù)部分的數(shù)以小數(shù)點為界,小數(shù)點前后的數(shù)分別分組進行處理,不足的位數(shù)用0補足.對整數(shù)部分將0補在數(shù)的左側,對小數(shù)部分將0補在數(shù)的右側.這樣數(shù)值不會發(fā)生差錯.2. 真值和機器數(shù)真值:數(shù)據(jù)的數(shù)值通常以正(+)負(-)號后跟絕對值來表示,稱之為“真值”. 機器數(shù):在計算機中正負號也需要數(shù)字化,一般用0表示正號,1表示負號.把符號數(shù)字化的數(shù)成為機器數(shù).3. bcd碼(binary coded decimal以二進制編碼的十進制碼)在計算機中采用4位二進制碼對每個十進制數(shù)位進行編碼.4位二進制碼有16種不同的組合,從中選出10種來表示十進制數(shù)位的09,用0000,0001,1001分別表示0,1,9,每個數(shù)位內(nèi)部滿足二進制規(guī)則,而數(shù)位之間滿足十進制規(guī)則,故稱這種編碼為“以二進制編碼的十進制(binary coded decima1,簡稱bcd)碼”.在計算機內(nèi)部實現(xiàn)bcd碼算術運算,要對運算結果進行修正,對加法運算的修正規(guī)則是: 如果兩個一位bcd碼相加之和小于或等于(1001)2,即(9)10,不需要修正; 如相加之和大于或等于(1010)2,或者產(chǎn)生進位,要進行加6修正,如果有進位,要向高位進位.4. 字符與字符串在計算機中要對字符進行識別和處理,必須通過編碼的方法,按照一定的規(guī)則將字符用一組二進制數(shù)編碼表示.字符的編碼方式有多種,常見的編碼有ascii碼,ebcdic碼等.1)ascii碼(american standard code for information interchange 美國信息交換標準碼)ascii碼用7位二進制表示一個字符,總共128個字符元素,包括10個十進制數(shù)字(0-9),52個英文字母(a-z和a-z),34專用符號和32控制符號.2)ebcdic碼為extended binary coded decimal interchange code的簡稱,它采用8位來表示一個字符.3)字符串的存放向量存儲法:字符串存儲時,字符串中的所有元素在物理上是鄰接的.串表存儲法:字符串的每個字符代碼后面設置一個鏈接字,用于指出下一個字符的存儲單元的地址.5. 校驗碼check digit數(shù)據(jù)校驗碼是一種常用的帶有發(fā)現(xiàn)某些錯誤或自動改錯能力的數(shù)據(jù)編碼方法.其實現(xiàn)原理,是加進一些冗余碼,使合法數(shù)據(jù)編碼出現(xiàn)某些錯誤時,就成為非法編碼. 這樣,可以通過檢測編碼的合法性來達到發(fā)現(xiàn)錯誤的目的.合理地安排非法編碼數(shù)量和編碼規(guī)則,可以提高發(fā)現(xiàn)錯誤的能力,或達到自動改正錯誤的目的. 碼距:碼距根據(jù)任意兩個合法碼之間至少有幾個二進制位不相同而確定的,僅有一位不同,稱其碼距為1.1)奇偶校驗碼(parity bit)wiki (開銷最小,能發(fā)現(xiàn)數(shù)據(jù)代碼中一位出錯情況的編碼,常用于存儲器讀寫檢查或ascii字符或其它類型的信息傳輸?shù)臋z查)p216它的實現(xiàn)原理,是使碼距由1增加到2.若編碼中有1位二進制數(shù)出錯了,即由1變成0,或者由0變成1.這樣出錯的編碼就成為非法編碼,就可以知道出現(xiàn)了錯誤.在原有的編碼之上再增加一位校驗位,原編碼n位,形成新的編碼為n+1 位.增加的方法有2種: 奇校驗:增加位的0或1要保證整個編碼中1的個數(shù)為奇數(shù)個. 偶校驗:增加位的0或1要保證整個編碼中1的個數(shù)為偶數(shù)個. 2)海明校驗碼(hamming code)p100實現(xiàn)原理,在數(shù)據(jù)中加入幾個校驗位,并把數(shù)據(jù)的每一個二進制位分配在幾個奇偶校驗組中.當某一位出錯就會引起有關的幾個校驗組的值發(fā)生變化,這不但可以發(fā)現(xiàn)出錯,還能指出是哪一位出錯,為自動糾錯提供了依據(jù). 假設校驗位的個數(shù)為r,則它能表示2r個信息,用其中的一個信息指出“沒有錯誤”,其余2r-1個信息指出錯誤發(fā)生在哪一位.然而錯誤也可能發(fā)生在校驗位,因此只有k=2r-1-r個信息能用于糾正被傳送數(shù)據(jù)的位數(shù),也就是說要滿足關系:2rk+r+1 3)crc校驗碼(cyclic redundancy check 循環(huán)冗余校驗)p144crc校驗碼一般是指k位信息之后拼接r位校驗碼.關鍵問題是如何從k位信息方便地得到r位校驗碼,以如何從位k+r信息碼判斷是否出錯. 將帶編碼的k位有效信息位組表達為多項式: mx=ck-1xk-1+ck-2xk-2+cixi+c1x+c0式ci中為0或1.若將信息位左移r位,則可表示為多項式m(x).xr.這樣就可以空出r位,以便拼接r位校驗位. crc碼是用多項式m(x).xr除以生成多項式g(x)所得的余數(shù)作為校驗碼的.為了得到r位余數(shù),g(x)必須是r+1位.設所得的余數(shù)表達式為r(x),商為q(x).將余數(shù)拼接在信息位組左移r位空出的r位上,就構成了crc碼,這個碼的可用多項式表達為:m(x)xr+r(x)=q(x)g(x)+r(x)+r(x) =q(x)g(x)+r(x)+r(x) =q(x)g(x)因此,所得crc碼可被g(x)表示的數(shù)碼除盡.將收到的crc碼用約定的生成多項式g(x)去除,如果無錯,余數(shù)應為0,有某一位出錯,余數(shù)不為0. (二) 定點數(shù)的表示和運算1. 定點數(shù)的表示1)無符號數(shù)的表示 無符號數(shù)就是指正整數(shù),機器字長的全部位數(shù)均用來表示數(shù)值的大小,相當于數(shù)的絕對值. 對于字長為n+1位的無符號數(shù)的表示范圍為: 02n+1-12)帶符號數(shù)的表示 (真值范圍-n-1n) 帶符號數(shù)是指在計算機中將數(shù)的符號數(shù)碼化.在計算機中,一般規(guī)定二進制的最高位為符號位,最高位為“0”表示該數(shù)為正,為“1”表示該數(shù)為負.這種在機器中使用符號位也被數(shù)碼化的數(shù)稱為機器數(shù). 根據(jù)符號位和數(shù)值位的編碼方法不同,機器數(shù)分為原碼,補碼和反碼.(1)原碼表示法機器數(shù)的最高位為符號位,0表示正數(shù),1表示負數(shù),數(shù)值跟隨其后,并以絕對值形式給出.這是與真值最接近的一種表示形式. 原碼的定義:x原=x; 0x11-x=1+x;-1x0(2)補碼表示法機器數(shù)的最高位為符號位,0表示正數(shù),1表示負數(shù),其定義如下:x補=x; 0x12+x=2-x;-1x0(3)反碼表示法 機器數(shù)的最高位為符號,0表示正數(shù),1表示負數(shù).反碼的定義:x反=x; 0x12-2-n+x=2-x;-1x0原碼補碼反碼整數(shù) x原=0,x 2nx02n-x 0x-2nx補=0,x 2nx02n+1+x 0x-2n (mod 2n+1)x反0,x 2nx0(2n+1-1)+x 0x-2n (mod(2n+1-1)小數(shù)x原x 1x01-x 0x-1x補=x 1x02+x 0x-1 (mod 2)x反=x 1x02-2-n+x 0x-1 (mod(2-2-n)0+0原=0.0000-0原=1.0000+0補=-0補=0.0000+0反=0.0000-0反=1.1111負數(shù)原碼求反+1負數(shù)每位求反移碼 x移=2n+x 2nx-2n 移碼表示中零也是唯一的真值的移碼和補碼僅差一個符號位.若將補碼的符號位由0改為1或從1改為0即可得到真值的移碼乘法運算可用移碼和加法來實現(xiàn),兩個n位數(shù)相乘,總共要進行n次加法運算和n次移位運算三種機器數(shù)的特點可以歸納為:三種機器數(shù)的最高位均為符號位.符號位和數(shù)值位之間可用“.”(對于小數(shù))或“,”(對于整數(shù))隔開當真值為正時,原碼,補碼和反碼的表示形式均相同,即符號位用“0”表示,數(shù)值部分與真值部分相同當真值為負時,原碼,補碼和反碼的表示形式不同,其它符號位都用“1”表示,而數(shù)值部分有這樣的關系,即補碼是原碼的“求反加1”,反碼是原碼的“每位求反”.2. 浮點數(shù)的表示1)浮點數(shù)的表示范圍;浮點數(shù)是指小數(shù)點位置可浮動的數(shù)據(jù),通常以下式表示: n=mre其中,n為浮點數(shù),m(mantissa)為尾數(shù)(可正可負),e(exponent)為階碼(可正可負),r(radix)稱為“階的基數(shù)(底)”,而且r為一常數(shù),一般為2,8或16.在一臺計算機中,所有數(shù)據(jù)的r都是相同的,于是不需要在每個數(shù)據(jù)中表示出來.因此,浮點數(shù)的機內(nèi)表示一般采用以下形式:浮點數(shù)的機內(nèi)表示一般采用以下形式:msem 1位 n+1位 m位ms是尾數(shù)的符號位,設置在最高位上.e為階碼(移碼),有n+1位,一般為整數(shù),其中有一位符號位,設置在e的最高位上,用來表正階或負階.m為尾數(shù)(原碼),有m位,由ms和m組成一個定點小數(shù).ms=0,表示正號,ms=1,表示負.為了保證數(shù)據(jù)精度屬數(shù)通常用規(guī)格化形式表示:當r2,且尾數(shù)值不為0時,其絕對值大于或等于(0.5)10.對非規(guī)格化浮點數(shù),通過將尾數(shù)左移或右移,并修改階碼值使之滿足規(guī)格化要求.浮點數(shù)的表示范圍以通式n=mre設浮點數(shù)階碼的數(shù)值位取m位,尾數(shù)的數(shù)值位取n位2)ieee754標準(institute of electrical and electronics engineers美國電氣和電子工程協(xié)會)s階碼(含階符)尾 數(shù)數(shù)符 小數(shù)點位置根據(jù)ieee 754國際標準,常用的浮點數(shù)有三種格式:符號位s階碼尾數(shù)總位數(shù)短實數(shù)182332長實數(shù)1115264臨時實數(shù)1156480單精度格式32位,階碼為8位,尾數(shù)為23位.另有一位符號位s,處在最高位.由于ieee754標準約定在小數(shù)點左部有一位隱含位,從而實際有效位數(shù)為24位.這樣使得尾數(shù)的有效值變?yōu)?.m .例如,最小為x1.00,最大為x1.11.規(guī)格化表示.故小數(shù)點左邊的位橫為1,可省去. 階碼部分采用移碼表示,移碼值127,1到254經(jīng)移碼為-126到+127.s(1位)e(8位)m(23位)n(共32位)符號位000符號位0不等于0(-1)s2-126(0.m) 為非規(guī)格化數(shù)符號位1到254之間-(-1)s2e-127(1.m) 為規(guī)格化數(shù)符號位255不等于0nan(非數(shù)值)符號位2550無窮大0 有了精確的表示,無窮大也明確表示.對于絕對值較小的數(shù),可以采用非規(guī)格化數(shù)表示,減少下溢精度損失.非規(guī)格化數(shù)的隱含位是0,不是1.(三) 指令系統(tǒng)人們習慣把每一條機器語言的語句稱為機器指令,而又將全部機器指令的集合稱為機器的指令系統(tǒng)指令的執(zhí)行過程 讀取指令 指令地址(在pc中)送到地址寄存器 讀主存,讀出內(nèi)容(指令代碼)送入指令寄存器ir 分析指令 形成下一條指令的地址并送到pc中 執(zhí)行指令 用一到幾個執(zhí)行步驟,完成指令的運算、操作功能, 不同的指令操作步驟和具體運算、操作功能各不相同 減產(chǎn)有無中斷請求 無中斷請求、進入下一條指令的執(zhí)行過程 (一) 指令格式1. 指令的基本格式計算機是通過執(zhí)行指令來處理各種數(shù)據(jù)的.為了指出數(shù)據(jù)的來源,操作結果的去向及所執(zhí)行的操作,一條指令必須包含下列信息: (1)操作碼,具體說明了操作的性質及功能. (2)操作數(shù)的地址. (3)操作結果的存儲地址. (4)下一條指令的地址. 從上述分析可知,一條指令實際上包括兩種信息即操作碼和地址碼.操作碼(operation code)用來表示該指令所要完成的操作(如加,減,乘,除,數(shù)據(jù)傳送等),其長度取決于指令系統(tǒng)中的指令條數(shù).如操作碼占7位,則該機器最多包含27=128條指令.地址碼用來描述該指令的操作對象,或直接給出操作數(shù)或指出操作數(shù)的存儲器地址或寄存器地址(即寄存器名).操作碼的長度不固定會增加指令譯碼和分析難度,使控制器的設計復雜.操作碼尋址地址形式地址a形式地址 指令字中的地址有效地址 操作數(shù)的真實地址約定 指令字長=存儲字長=機器字長2. 定長操作碼指令格式1)零地址指令op格式: op操作碼指令中只有操作碼,而沒有操作數(shù)或沒有操作數(shù)地址.這種指令有兩種可能:(1)無需任何操作數(shù),如空操作指令,停機指令等.(2)所需的操作數(shù)是默認的.如堆棧結構計算機的運算指令,所需的操作數(shù)默認在堆棧中,由堆棧指針sp隱含指出,操作結果仍然放回堆棧中.又如intel 8086的字符串處理指令,源,目的操作數(shù)分別默認在源變址寄存器si和目的變址寄存器di所指定的存儲器單元中.2)一地址指令格式:op操作碼a操作數(shù)的存儲器地址或寄存器名指令中只給出一個地址,該地址既是操作數(shù)的地址,又是操作結果的存儲地址.如加1,減1和移位等單操作數(shù)指令均采用這種格式,對這一地址所指定的操作數(shù)執(zhí)行相應的操作后,產(chǎn)生的結果又存回該地址中.在某些字長較短的微型機中(如早期的z80,intel8080,mc6800等),大多數(shù)算術邏輯指令也采用這種格式,第一個源操作數(shù)由地址碼a給出,第二個源操作數(shù)在一個默認的寄存器中,運算結果仍送回到這個寄存器中,替換了原寄存器內(nèi)容,通常把這個寄存器稱累加器.3)二地址指令格式:op操作碼 a1第一個源操作數(shù)的存儲器地址或寄存器地址. a2第二個源操作數(shù)和存放操作結果的存儲器地址或寄存器地址.這是最常見的指令格式,兩個地址指出兩個源操作數(shù)地址,其中一個還是存放結果的目的地址.對兩個源操作數(shù)進行操作碼所規(guī)定的操作后,將結果存入目的地址,在本例中即為a2指定的地址4)三地址指令格式:op操作碼 a1第一個源操作數(shù)的存儲器地址或寄存器地址 a2第二個源操作數(shù)的存儲器地址或寄存器地址 a3操作結果的存儲器地址或寄存器地址其操作是對a1,a2指出的兩個源操作數(shù)進行操作碼(op)所指定的操作,結果存入a3中.6)多地址指令在某些性能較好的大,中型機甚至高檔小型機中,往往設置一些功能很強的,用于處理成批數(shù)據(jù)的指令,如字符串處理指令,向量,矩陣運算指令等.為了描述一批數(shù)據(jù),指令中需要多個地址來指出數(shù)據(jù)存放的首地址,長度和下標等信息3. 擴展操作碼指令格式設某機器的指令長度為16位,包括4位基本操作碼字段和三個4位地址字段,其格式下: op(4)a1(4)a2(4)a3(4)4位基本操作碼有16個碼點(即有16種組合),若全部用于表示三地址指令,則只有16條.但,若三地址指令僅需15條,兩地址指令需15條,一地址指令需15條,零地址指令需16條,共61條指令,應如何安排操作碼?顯然,只有4位基本操作碼是不夠的,必須將操作碼的長度向地址碼字段擴展才行.一種可供擴展的方法和步驟如下:(1)15條三地址指令的操作碼由4位基本操作碼從00001110給出,剩下一個碼點1111用于把操作碼擴展到a1,即4位擴展到8位;(2)15條二地址指令的操作碼由8位操作碼從1111000011111110給出,剩下一個碼點11111111用于把操作碼擴展到a2,即從8位擴展到12位;(3)15條一地址指令的操作碼由12位操作碼從111111110000111111111110給出,剩下的一個碼點111111111111用于把操作碼擴展到a3,即從12位擴展到16位;(4)16條零地址指令的操作碼由16位操作碼從11111111111100001111111111111111給出.指令字長取決于操作碼的長度、操作數(shù)地址的長度和操作數(shù)地址的個數(shù).為了提高指令的運行速度和節(jié)省存儲空間,通常盡可能的吧常用的指令(如數(shù)據(jù)傳輸指令、算邏運算指令等)設計成單字長或短字長格式的指令.操作數(shù)類型地址地址實際也可以看做是一種數(shù)據(jù),在許多情況下要計算操作數(shù)的地址.這時地址可看作無符號的整數(shù)數(shù)字計算機中常見的數(shù)字有定點數(shù)、浮點數(shù)和十進制數(shù)字字符在應用計算機時,文本或者字符串也是一種常見的數(shù)據(jù)類型邏輯數(shù)據(jù)計算機除了做算術運算外,有時還做邏輯運算,此時n個0和1的組合不是被看做算術數(shù)字而被看做邏輯數(shù)奔騰pentium處理器的數(shù)據(jù)類型有邏輯數(shù)、有符號數(shù)(補碼)、無符號數(shù)、壓縮和未壓縮的bcd碼、地址指針、位串以及浮點數(shù)(符合ieee754標準)等指令操作類型1.數(shù)據(jù)傳送數(shù)據(jù)傳送包括寄存器與寄存器,寄存器與存儲單元,存儲單元與存儲單元之間的傳送2.算術邏輯操作這操作可實現(xiàn)算術運算(加,減,乘,除,增1,減1,取負即求補)邏輯運算(與,或,非,異或)3.移位移位可分為算術移位,邏輯移位和循環(huán)移位三種4.轉移無條件轉移不受任何約束條件直接把程序轉移到下一條需執(zhí)行指令的地址條件轉移根據(jù)當前指令的執(zhí)行結果決定是否需要轉移調用與返回l 子程序可在多處被調用l 子程序調用可出現(xiàn)在子程序中,即允許子程序嵌套l 每個call指令都對應一條return指令cpu必須記住返回地址,使子程序能準確返回,返回地址存放在以下3處l 寄存器內(nèi).機器內(nèi)設有專用寄存器,專用于存放返回地址l 子程序的入口地址內(nèi)l 棧頂內(nèi).現(xiàn)代計算機都設有堆棧,執(zhí)行return指令后,便可自動從堆棧內(nèi)取出應返回的地址陷阱(trap)與陷阱指令其實是一種意外事故的中斷,一般不提供給用戶使用,作為隱指令,再出現(xiàn)故障時,由cpu自動產(chǎn)生并執(zhí)行5.輸入輸出對于i/o單獨編址的計算機而言,通常設有輸入輸出指令,他完成從外設中的寄存器讀入一個數(shù)據(jù)到cpu寄存器內(nèi),或將數(shù)據(jù)從cpu的寄存器輸出至某外設的寄存器中6.其它包括等待指令、停機指令、空操作指令、開中斷指令、關中斷指令、置條件碼指令等備注有些大型或巨型機還設有向量指令,可對整個向量或矩陣進行求和求積運算(二) 指令的尋址方式1. 有效地址的概念操作數(shù)的真實地址稱為有效地址,記做ea,它是尋址方式和形式地址共同來決定的.2. 數(shù)據(jù)尋址和指令尋址尋址方式是指確定本條指令的數(shù)據(jù)地址以及下一條將要執(zhí)行的指令的地址,與硬件結構密切相關,尋址方式分為指令尋址和數(shù)據(jù)尋址兩大類指令尋址分為順序尋址和跳躍尋址兩種.順序尋址可以通過程序計數(shù)器pc加1自動形成下一條指令的地址,跳躍尋址則通過轉移類指令實現(xiàn),是通過對pc的運算得到新的下一條指令的地址. 3. 常見尋址方式1)立即尋址所需的操作數(shù)由指令的地址碼部分直接給出,就稱為立即數(shù)(或直接數(shù))尋址方式.這種方式的特點是取指時,操作碼和一個操作數(shù)同時被取出,不必再次訪問存儲器,提高了指令的執(zhí)行速度.但是由于這一操作數(shù)是指令的一部分,不能修改,而一般情況下,指令所處理的數(shù)據(jù)都是在不斷變化的(如上條指令的執(zhí)行結果作為下條指令的操作數(shù)),故這種方式只能適用于操作數(shù)固定的情況.通常用于給某一寄存器或存儲器單元賦初值或提供一個常數(shù)等.(圖中“#”表示立即尋址的標記,a的位數(shù)限制了這類指令所能表述的立即數(shù)的范圍)2)直接尋址指令的地址碼部分給出操作數(shù)在存儲器中的地址.3)隱含尋址操作數(shù)的地址隱含在操作碼或者某個寄存器中.4)間接尋址 在尋址時,有時根據(jù)指令的地址碼所取出的內(nèi)容既不是操作數(shù),也不是下一條要執(zhí)行的指令,而是操作數(shù)的地址或指令的地址,這種方式稱為間接尋址或間址.5)寄存器尋址計算機的中央處理器一般設置有一定數(shù)量的通用寄存器,用以存放操作數(shù),操作數(shù)的地址或中間結果.假如指令地址碼部分給出某一通用寄存器地址,而且所需的操作數(shù)就在這一寄存器中,則稱為寄存器尋址.通用寄存器的數(shù)量一般在幾個至幾十個之間,比存儲單元少很多,因此地址碼短,而且從寄存器中存取數(shù)據(jù)比從存儲器中存取快得多,所以這種方式可以縮短指令長度,節(jié)省存儲空間,提高指令的執(zhí)行速度,在計算機中得到廣泛應用.6)寄存器間接尋址 ea = ( ri ) 有效地址在寄存器中寄存器中給出的是操作數(shù)的地址,因此還需要訪問一次存儲器才能得到操作數(shù).7)基址尋址在計算機中設置一個專用的基址寄存器,或由指令指定一個通用寄存器為基址寄存器.操作數(shù)的地址由基址寄存器的內(nèi)容和指令的地址碼a相加得到 8)變址尋址指令地址碼部分給出的地址a和指定的變址寄存器x的內(nèi)容通過加法器相加,所得的和作為地址從存儲器中讀出所需的操作數(shù).這是幾乎所有計算機都采用的一種尋址方式.9)相對尋址把程序計數(shù)器pc的內(nèi)容(即當前執(zhí)行指令的地址)與指令的地址碼部分給出的位移量(disp)之和作為操作數(shù)的地址或轉移地址,稱為相對尋址. 主要用于轉移指令,執(zhí)行本條指令后,將轉移到(pc)disp,(pc)為程序計數(shù)器的內(nèi)容.相對尋址有兩個特點: 1轉移地址不是固定的,它隨著pc值的變化而變化,并且總是與pc相差一個固定值disp,因此無論程序裝人存儲器的任何地方,均能正確運行,對浮動程序很適用. 2位移量可正,可負,通常用補碼表示.如果位移量為n位,則這種方式的尋址范圍在 (pc)-2n-1 (pc)+2n-1-1之間 計算機的程序和數(shù)據(jù)一般是分開存放的,程序區(qū)在程序執(zhí)行過程中不允許修改.在程序與數(shù)據(jù)分區(qū)存放的情況下,不用相對尋址方式來確定操作數(shù)地址. 10)堆棧尋址在一般計算機中,堆棧主要用來暫存中斷和子程序調用時現(xiàn)場數(shù)據(jù)及返回地址,用于訪問堆棧的指令只有壓入(即進棧)和彈出(即退棧)兩種,它們實際上是一種特殊的數(shù)據(jù)傳送指令:壓入指令(push)是把指定的操作數(shù)送入堆棧的棧頂;彈出指令(pop)的操作剛好相反,是把棧頂?shù)臄?shù)據(jù)取出,送到指令所指定的目的地.一般的計算機中,堆棧從高地址向低地址擴展,即棧底的地址總是大于或等于棧頂?shù)牡刂?也有少數(shù)計算機剛好相反)當執(zhí)行壓入操作時,首先把堆棧指針(sp)減量(減量的多少取決于壓入數(shù)據(jù)的字節(jié)數(shù),若壓入一個字節(jié),則減1;若壓入兩個字節(jié),則減2,以此類推),然后把數(shù)據(jù)送人sp所指定的單元;當執(zhí)行彈出操作時,首先把sp所指定的單元(即棧頂)的數(shù)據(jù)取出,然后根據(jù)數(shù)據(jù)的大小(即所占的字節(jié)數(shù))對sp增量.設計指令格式應考慮的各種因素指令系統(tǒng)集中反映了機器的性能,又是程序員編程的依據(jù),高檔機必須能兼容低檔機的程序運行,稱之為“向上兼容”.指令格式集中體現(xiàn)了指令系統(tǒng)的功能.為此,在確定指令系統(tǒng)時,必須從以下幾個方面綜合考慮. 操作類型:包括指令數(shù)及操作的難易程度 數(shù)據(jù)類型:確定哪些數(shù)據(jù)類型可以參加操作 指令格式:包括指令字長、操作碼位數(shù)、地址碼位數(shù)、地址個數(shù)、尋址方式類型、以及指令字長和操作碼位數(shù)是否可變等. 尋址方式:包括指令和操作數(shù)具體有哪些尋址方式. 寄存器個數(shù):寄存器的多少直接影響指令的執(zhí)行時間.尋址方式詳情指令尋址順序尋址順序尋址可通過程序計數(shù)器pc加1自動形成下一條指令的地址跳躍尋址跳躍尋址則通過轉移類指令實現(xiàn)數(shù)據(jù)尋址1.立即尋址操作數(shù)本身設在指令字內(nèi),即形式地址a不是操作數(shù)地址而是操作數(shù)本身l 指令執(zhí)行階段不訪存l a的位數(shù)限制了這類指令所能表述的立即數(shù)的范圍2.直接尋址指令中的形式地址a就是操作數(shù)的真實地址ea,即ea=a l 執(zhí)行階段訪問一次存儲器l 缺點在于a的位數(shù)限制了操作數(shù)的尋址范圍而且必須修改a的值才能修改操作數(shù)的地址3.隱含尋址指令字中不明顯給出操作數(shù)的地址,其操作數(shù)的地址隱含在操作碼或某個寄存器中l(wèi) 由于隱含尋址在指令字中少了一個地址,因此,這種尋址方式的指令有利于縮短指令字長4.間接尋址倘若指令字中的形式地址不直接指出操作數(shù)的地址,而是指出操作數(shù)有效地址所在的存儲單元的地址,也就是說,有效地址是由形式地址間接提供的,即為間接地址,即ea=(a)優(yōu)點1. 與直接尋址相比,擴大了操作數(shù)的尋址范圍,因為a的位數(shù)通常小于指令字長,而存儲字長可與指令字長相等2. 它便于編制程序缺點l 指令的執(zhí)行階段需要訪存兩次(一次間接尋址)或多次(多次間接尋址),致使指令執(zhí)行時間延長5.寄存器尋址在寄存器尋址的指令字中,地址碼字段直接指出了寄存器的編號,即ea=rl 由于地址字段只需指明寄存器編號(計算機中寄存器數(shù)有限)故指令字l 較短,節(jié)省了存儲空間,因此寄存器尋址在計算機中得到廣泛應用l 執(zhí)行階段不訪存,只訪問寄存器,執(zhí)行速度快l 寄存器個數(shù)有限,可縮短指令字長6.寄存器間接尋址有效地址ea+=(ri),因有效地址l 有效地址在寄存器中, 操作數(shù)在存儲器中,執(zhí)行階段訪存l 便于編制循環(huán)程序7.基址尋址基址尋址需設有基址寄存器br,其操作數(shù)的有效地址ea等于指令字中的形式地址與基址寄存器中的內(nèi)容(稱為基地址)相加,即ea=a+(br)采用專用寄存器作基址寄存器l 可擴大尋址范圍l 有利于多道程序l br內(nèi)容由操作系統(tǒng)或管理程序確定l 在程序的執(zhí)行過程中 br 內(nèi)容不變,形式地址 a 可變采用通用寄存器作基址寄存器l 由用戶指定哪個通用寄存器作為基址寄存器l 基址寄存器的內(nèi)容由操作系統(tǒng)確定l 在程序的執(zhí)行過程中 r0 內(nèi)容不變,形式地址 a 可變8.變址尋址變址尋址與基址尋址極為相似.其有效地址ea等于指令字中的形式地址a與變址寄存器ix的內(nèi)容相加之和,即ea=a+(ix)l 可擴大尋址范圍l ix 的內(nèi)容由用戶給定l 在程序的執(zhí)行過程中 ix 內(nèi)容可變,形式地址 a 不變l 便于處理數(shù)組問題9.相對尋

溫馨提示

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

評論

0/150

提交評論