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

下載本文檔

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

文檔簡(jiǎn)介

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論