版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)組成原理總結(jié)計(jì)算機(jī)體系結(jié)構(gòu)(ComputerArchitecture)主要研究硬件和軟件功能的劃分,確定硬件和軟件的界面,哪部分功能由硬件系統(tǒng)來(lái)完成,哪部分功能由軟件系統(tǒng)來(lái)完成。計(jì)算機(jī)組成原理(ComputerOrganization)是依據(jù)計(jì)算機(jī)體系結(jié)構(gòu),在確定且分配了硬件子系統(tǒng)的概念結(jié)構(gòu)和功能特性的基礎(chǔ)上,設(shè)計(jì)計(jì)算機(jī)各部件的具體組成,以及它們之間的連接關(guān)系,實(shí)現(xiàn)機(jī)器指令級(jí)的各種功能和特性,這點(diǎn)上說(shuō)計(jì)算機(jī)組成原理是計(jì)算機(jī)體系結(jié)構(gòu)的邏輯實(shí)現(xiàn)。計(jì)算機(jī)實(shí)現(xiàn)(ComputerImplementation)是計(jì)算機(jī)組成的物理實(shí)現(xiàn),包括中央處理器、主存儲(chǔ)器、輸入輸出接口和設(shè)備的物理結(jié)構(gòu),所選用的半導(dǎo)體器件的集成度和速度,器件、模塊、插件、底板的劃分,電源、冷卻、裝配等技術(shù),生產(chǎn)工藝和系統(tǒng)調(diào)試等各種問(wèn)題??傊?,就是將完成邏輯設(shè)計(jì)的計(jì)算機(jī)組成方案轉(zhuǎn)換成真實(shí)的計(jì)算機(jī),也就是將滿足設(shè)計(jì)、運(yùn)行、價(jià)格等各項(xiàng)要求的計(jì)算機(jī)系統(tǒng)真正地制作并調(diào)試出來(lái)。計(jì)算機(jī)組成原理【考查目標(biāo)】1.理解單處理器計(jì)算機(jī)系統(tǒng)中各部件的內(nèi)部工作原理,組成結(jié)構(gòu)以及相互連接方式,具有完整的計(jì)算機(jī)系統(tǒng)的整機(jī)概念.2.理解計(jì)算機(jī)系統(tǒng)層次化結(jié)構(gòu)概念,熟悉硬件與軟件間的界面,掌握指令集體系結(jié)構(gòu)的基本知識(shí)和基本實(shí)現(xiàn)方法3.能夠運(yùn)用計(jì)算機(jī)組成的基本原理和基本方法,對(duì)有關(guān)計(jì)算機(jī)硬件系統(tǒng)中的理論和實(shí)際問(wèn)題進(jìn)行計(jì)算,分析,并能對(duì)一些基本部件進(jìn)行簡(jiǎn)單設(shè)計(jì).一,計(jì)算機(jī)系統(tǒng)概述(一)計(jì)算機(jī)發(fā)展歷程第一臺(tái)電子計(jì)算機(jī)ENIAC誕生于1946年美國(guó)賓夕法尼亞大學(xué).ENIAC2用了18000電子管,1500繼電器,重30噸,占地170m,耗電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í)代40000第二代1958-1964晶體管計(jì)算機(jī)時(shí)代200000中小規(guī)模集成電路第三代1965-19711000000計(jì)算機(jī)時(shí)代大規(guī)模集成電路計(jì)第四代1972-197710000000算機(jī)時(shí)代超大規(guī)模集成電路第五代1978-現(xiàn)在100000000計(jì)算機(jī)時(shí)代ENIAC(ElectronicNumericalIntegratorAndComputer)電子數(shù)字積分機(jī)和計(jì)算機(jī)EDVAC(ElectronicDiscreteVariableAutomaticComputer)電子離散變量計(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é)家馮?諾依曼(vonNeumann)在研究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ù)傳送通過(guò)運(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ù)邏輯單元(ALUArithmeticLogicUnit).其中ACC(Accumulator)為累加器,MQ(Multiplier-QuotientRegister)為乘商寄存器,X為操作數(shù)寄存器,這3個(gè)寄存器在完成不同運(yùn)算時(shí),說(shuō)存放的操作數(shù)類別也各不相同.計(jì)算機(jī)的主要硬件指標(biāo)(4.a)主機(jī)完成一條指令的過(guò)程——以取數(shù)指令為例(4.b)主機(jī)完成一條指令的過(guò)程——以存數(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ī)的工作過(guò)程(1)計(jì)算機(jī)的工作過(guò)程就是執(zhí)行指令的過(guò)程指令由操作碼和操作數(shù)組成:操作碼指明本指令完成的操作操作地址地址碼指明本指令的操作對(duì)象碼碼(2)指令的存儲(chǔ)指令按照存儲(chǔ)器的地址順序連續(xù)的存放在存儲(chǔ)器中.(3)指令的讀取為了紀(jì)錄程序的執(zhí)行過(guò)程,需要一個(gè)記錄讀取指令地址的寄存器,稱為指令地址寄存器,或者程序計(jì)數(shù)器.指令的讀取就可以根據(jù)程序計(jì)數(shù)器所指出的指令地址來(lái)決定讀取的指令,由于指令通常按照地址增加的順序存放,故此,每次讀取一條指令之后,程序計(jì)數(shù)器加一就為讀取下一條指令做好準(zhǔn)備.(4)執(zhí)行指令的過(guò)程在控制器的控制下,完成以下三個(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í)間:T=In×CPI×TCPUCIn執(zhí)行程序中指令的總數(shù)CPI執(zhí)行每條指令所需的平均時(shí)鐘周期數(shù)T時(shí)鐘周期時(shí)間的長(zhǎng)度C3.MIPS,MFLOPS(1)MIPS:(MillionInstructionsPerSecond)Te:執(zhí)行該程序的總時(shí)間=指令條數(shù)/(MIPS×)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:(MillionFloatingPointOperationsPerSecond)MFLOPS=Ifn/(Te×)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)提高處理器性能?通過(guò)線程進(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í)智能功能15要求計(jì)算機(jī)的速度達(dá)10/秒二、芯片集成度的提高受以下三方面的限制?芯片集成度受物理極限的制約?按幾何級(jí)數(shù)遞增的制作成本?芯片的功耗、散熱、線延遲計(jì)算機(jī)輔助設(shè)計(jì)CAD計(jì)算機(jī)輔助制造CAM計(jì)算機(jī)輔助工藝規(guī)劃ComputerAidedProcessPlanningCAPP計(jì)算機(jī)輔助工程ComputerAidedEngineeringCAE計(jì)算機(jī)輔助教學(xué)ComputerAssistedInstructionCAI科學(xué)計(jì)算和數(shù)據(jù)處理工業(yè)控制和實(shí)時(shí)控制網(wǎng)絡(luò)技術(shù)應(yīng)用虛擬現(xiàn)實(shí)辦公自動(dòng)化和管理信息系統(tǒng)ComputerAidedDesignCAD,CAM,CIMSComputerAidedManufacturing多媒體技術(shù)ComputerIntegratedManufacturingSystem人工智能,模式識(shí)別,文字/語(yǔ)音識(shí)別,語(yǔ)言翻譯,專家系統(tǒng),機(jī)器人?二,數(shù)據(jù)的表示和運(yùn)算(一)數(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可表示為:n-1n-20-1-2-mX,ar+ar+?+ar+ar+ar+?+arn-1n-20-1-2-m,mi(X)r=Kr,i1i,n,2)不同數(shù)制間的數(shù)據(jù)轉(zhuǎn)換(1)二,八,十六進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)ii利用上面講到的公式:(N)2=?Di?2,(N)8=?Di?8,(N)16=i?Di?16,進(jìn)行計(jì)算.(2)十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)通常要對(duì)一個(gè)數(shù)的整數(shù)部分和小數(shù)部分分別進(jìn)行處理,各自得出結(jié)果后再合并.,對(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ù)最高位的值.,對(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碼(BinaryCodedDecimal以二進(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ù)位的0,9,用0000,0001,?,1001分別表示0,1,?,9,每個(gè)數(shù)位內(nèi)部滿足二進(jìn)制規(guī)則,而數(shù)位之間滿足十進(jìn)制規(guī)則,故稱這種編碼為“以二進(jìn)制編碼的十進(jìn)制(binarycodeddecima1,簡(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ò)編碼的方法,按照一定的規(guī)則將字符用一組二進(jìn)制數(shù)編碼表示.字符的編碼方式有多種,常見的編碼有ASCII碼,EBCDIC碼等.1)ASCII碼(AmericanStandardCodeforInformationInterchange美國(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碼為ExtendedBinaryCodedDecimalInterchangeCode的簡(jiǎn)稱,它采用8位來(lái)表示一個(gè)字符.3)字符串的存放向量存儲(chǔ)法:字符串存儲(chǔ)時(shí),字符串中的所有元素在物理上是鄰接的.串表存儲(chǔ)法:字符串的每個(gè)字符代碼后面設(shè)置一個(gè)鏈接字,用于指出下一個(gè)字符的存儲(chǔ)單元的地址.5.校驗(yàn)碼CheckDigit數(shù)據(jù)校驗(yàn)碼是一種常用的帶有發(fā)現(xiàn)某些錯(cuò)誤或自動(dòng)改錯(cuò)能力的數(shù)據(jù)編碼方法.其實(shí)現(xiàn)原理,是加進(jìn)一些冗余碼,使合法數(shù)據(jù)編碼出現(xiàn)某些錯(cuò)誤時(shí),就成為非法編碼.這樣,可以通過(guò)檢測(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)碼(ParityBit)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)碼(HammingCode)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ù).r假設(shè)校驗(yàn)位的個(gè)數(shù)為r,則它能表示2個(gè)信息,用其中的一個(gè)信息r指出“沒有錯(cuò)誤”,其余2-1個(gè)信息指出錯(cuò)誤發(fā)生在哪一位.然而錯(cuò)誤也可能發(fā)生在校驗(yàn)位,因此只有rk=2-1-r個(gè)信息能用于糾正被傳送數(shù)據(jù)的位數(shù),也就是說(shuō)要滿足關(guān)系:r2k+r+13)CRC校驗(yàn)碼(CyclicRedundancyCheck循環(huán)冗余校驗(yàn))P144CRC校驗(yàn)碼一般是指k位信息之后拼接r位校驗(yàn)碼.關(guān)鍵問(wèn)題是如何從k位信息方便地得到r位校驗(yàn)碼,以如何從位k+r信息碼判斷是否出錯(cuò).將帶編碼的k位有效信息位組表達(dá)為多項(xiàng)式:式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ù)的表示范圍為:0-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ì)值形式給出.這是與真值最接近的一種表示形式.原碼的定義:(2)補(bǔ)碼表示法機(jī)器數(shù)的最高位為符號(hào)位,0表示正數(shù),1表示負(fù)數(shù),其定義如下:(3)反碼表示法機(jī)器數(shù)的最高位為符號(hào),0表示正數(shù),1表示負(fù)數(shù).反碼的定義:原碼補(bǔ)碼反碼整數(shù)(mod)(mod())小數(shù)(mod2)(mod(2-))=0.0000==0.0000=0.0000=1.101.0000111負(fù)數(shù)原碼求反+1負(fù)數(shù)每位求反移碼移碼表示中零也是唯一的真值的移碼和補(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ù)的運(yùn)算1)定點(diǎn)數(shù)的位移運(yùn)算左移,絕對(duì)值擴(kuò)大;右移,絕對(duì)值縮小.算術(shù)移位規(guī)則符號(hào)位不變碼添補(bǔ)代制碼正0數(shù)原0負(fù)數(shù)補(bǔ)右移添0左移添1反1算術(shù)移位和邏輯移位的區(qū)別:算術(shù)移位:帶符號(hào)數(shù)移位;邏輯移位:無(wú)符號(hào)數(shù)移位;2)原碼定點(diǎn)數(shù)的加/減運(yùn)算;對(duì)原碼表示的兩個(gè)操作數(shù)進(jìn)行加減運(yùn)算時(shí),計(jì)算機(jī)的實(shí)際操作是加還是減,不僅取決指令中的操作碼,還取決于兩個(gè)操作數(shù)的符號(hào).而且運(yùn)算結(jié)果的符號(hào)判斷也較復(fù)雜.例如,加法指令指示做(,A),(,B)由于一操作數(shù)為負(fù),實(shí)際操作是做減法(,A)-(+B),結(jié)果符號(hào)與絕對(duì)值大的符號(hào)相同.同理,在減法指令中指示做(,A),(,B)實(shí)際操作做加法(,A),(,B),結(jié)果與被減數(shù)符號(hào)相同.由于原碼加減法比較繁瑣,相應(yīng)地需要由復(fù)雜的硬件邏輯才能實(shí)現(xiàn),因此在計(jì)算機(jī)中很少被采用.3)補(bǔ)碼定點(diǎn)數(shù)的加/減運(yùn)算;(1)加法n+1整數(shù)[A]+[B]=[A+B](mod2)補(bǔ)補(bǔ)補(bǔ)小數(shù)[A]+[B]=[A+B](mod2)補(bǔ)補(bǔ)補(bǔ)(2)減法n+1整數(shù)[A]-[B]=[A+(-B)]=[A]+[-B](mod2)補(bǔ)補(bǔ)補(bǔ)補(bǔ)補(bǔ)小數(shù)[A]-[B]=[A+(-B)]=[A]+[-B](mod2)補(bǔ)補(bǔ)補(bǔ)補(bǔ)補(bǔ)無(wú)需符號(hào)判定,連同符號(hào)位一起相加,符號(hào)位產(chǎn)生的進(jìn)位自然丟掉4)定點(diǎn)數(shù)的乘/除運(yùn)算(1)一位乘法<1>原碼定點(diǎn)一位乘法兩個(gè)原碼數(shù)相乘,其乘積的符號(hào)為相乘兩數(shù)的異或值,數(shù)值兩數(shù)絕對(duì)值之積.設(shè)[X]=X0X1X2?Xn原[Y]=Y0Y1Y2?Yn原[X?Y]=[X]?[Y]=(X0?Y0)?(X1X2?Xn)?(Y1原原原Y2?Yn)符號(hào)?表示把符號(hào)位和數(shù)值鄰接起來(lái).原碼兩位乘和原碼一位乘比較原碼一位乘原碼兩位乘符號(hào)位操作數(shù)絕對(duì)值絕對(duì)值的補(bǔ)碼移位邏輯右移算術(shù)右移移位次數(shù)n最多加法次數(shù)n<2>定點(diǎn)補(bǔ)碼一位乘法有的機(jī)器為方便加減法運(yùn)算,數(shù)據(jù)以補(bǔ)碼形式存放.乘法直接用補(bǔ)碼進(jìn)行,減少轉(zhuǎn)換次數(shù).具體規(guī)則如下:[X?Y]=[X](,Y0+0.Y1Y2?Yn)補(bǔ)補(bǔ)<3>布斯法“布斯公式”:在乘數(shù)Yn后添加Yn+1=0.按照Yn+1,Yn相鄰兩位的三種情況,其運(yùn)算規(guī)則如下:(1)Yn+1,Yn=0(Yn+1Yn=00或11),部分積加0,右移1位;(2)Yn+1,Yn=1(Yn+1Yn=10),部分積加[X],右移1位;補(bǔ)(3)Yn+1,Yn=-1(Yn+1Yn=01),部分積加[,X],右移1位補(bǔ)最后一步不移位.(2)兩位乘法<1>原碼兩位乘法,因此實(shí)際操作用Yi-1,Yi,C三位來(lái)控制,運(yùn)算規(guī)則如下Yi-1YiC操作+0,右移2位0?C+X,右移2位0?C000+X,右移2位0010?C010+2X,右移2位0110?C100+2X,右移2位1010?C110-X,右移2位1111?C-X,右移2位1?C+0,右移2位1?C<2>補(bǔ)碼兩位乘法根據(jù)前述的布斯算法,將兩步合并成一步,即可推導(dǎo)出補(bǔ)碼兩位乘的公式.Yn-i-1Yn-i[Pi+2]補(bǔ)Yn-i+100+0,右移2位0+[X],右移2位補(bǔ)00+[X],右移2位補(bǔ)1+2[X],右移2位補(bǔ)01-2[X],右移2位補(bǔ)0-[X],右移2位補(bǔ)01-[X],右移2位補(bǔ)1+0,右移2位100101110111求部分積的次數(shù)和右移操作的控制問(wèn)題.當(dāng)乘數(shù)由1位符號(hào)位和以n(奇數(shù))位數(shù)據(jù)位組成時(shí),求部分積的次數(shù)為(1,n),2,而且最后一次的右移操作只右移一位.若數(shù)值位本身為偶數(shù)n,可采用下述兩種方法之一:?可在乘數(shù)的最后一位補(bǔ)一個(gè)0,乘數(shù)的數(shù)據(jù)位就成為奇數(shù),而且其值不變,求部分積的次數(shù)為1+(n+l)/2,即n/2,1,最后一次右移操作也只右移一位.?乘數(shù)增加一位符號(hào)位,使總位數(shù)仍為偶數(shù),此時(shí)求部分積的次數(shù)為n/2+1,而且最后一次不再執(zhí)行右移操作.(3)補(bǔ)碼除法筆算除法和機(jī)器除法的比較筆算除法機(jī)器除法商符單獨(dú)處理符號(hào)位異或形成心算上商余數(shù)不動(dòng)低位補(bǔ)“0”余數(shù)左移一位低位補(bǔ)“0”減右移一位的除數(shù)減除數(shù)2倍字長(zhǎng)加法器1倍字長(zhǎng)加法器上商位置不固定在寄存器最末位上商<1>定點(diǎn)原碼一位除法1>恢復(fù)余數(shù)法被除數(shù)(余數(shù))減去除數(shù),如果為0或者為正值時(shí),上商為1,不恢復(fù)余數(shù);如果結(jié)果為負(fù),上商為0,再將除數(shù)加到余數(shù)中,恢復(fù)余數(shù).余數(shù)左移1位.2>加減交替法當(dāng)余數(shù)為正時(shí),商上1,求下一位商的辦法,余數(shù)左移一位,再減去除數(shù);當(dāng)余數(shù)為負(fù)時(shí),商上0,求下一位商的辦法,余數(shù)左移一位,再加上除數(shù).<2>定點(diǎn)補(bǔ)碼一位除法(加減交替法)1〉如果被除數(shù)與除數(shù)同號(hào),用被除數(shù)減去除數(shù);若兩數(shù)異號(hào),被除數(shù)加上除數(shù).如果所得余數(shù)與除數(shù)同號(hào)商上1,否則,商上0,該商為結(jié)果的符號(hào)位.2〉求商的數(shù)值部分.如果上次商上1,將除數(shù)左移一位后減去除數(shù);如果上次商上0,將余數(shù)左移一位后加除數(shù).然后判斷本次操作后的余數(shù),如果余數(shù)與除數(shù)同號(hào)商上1,如果余數(shù)與除數(shù)異號(hào)商上0.如此重復(fù)執(zhí)行n-1次(設(shè)數(shù)值部分n位).3〉商的最后一位一般采用恒置1的辦法,并省略了最低+1的操作.-n此時(shí)最大的誤差為2.5)溢出概念和判別方法當(dāng)運(yùn)算結(jié)果超出機(jī)器數(shù)所能表示的范圍時(shí),稱為溢出.顯然,兩個(gè)異號(hào)數(shù)相加或兩個(gè)同號(hào)數(shù)相減,其結(jié)果是不會(huì)溢出的.僅當(dāng)兩個(gè)同號(hào)數(shù)相加或者兩個(gè)異號(hào)數(shù)相減時(shí),才有可能發(fā)溢出的情況,一旦溢出,運(yùn)算結(jié)果就不正確了,因此必須將溢出的情況檢查出來(lái).判別方法有三種:1〉當(dāng)符號(hào)相同的兩數(shù)相加時(shí),如果結(jié)果的符號(hào)與加數(shù)(或被加數(shù))不相同,則為溢出.2〉當(dāng)任意符號(hào)兩數(shù)相加時(shí),如果C=Cf,運(yùn)算結(jié)果正確,其中C為數(shù)值最高位的進(jìn)位,Cf為符號(hào)位的進(jìn)位.如果C?Cf,則為溢出,所以溢出條件=C?Cf.3〉采用雙符號(hào)ff.正數(shù)的雙符號(hào)位為00,負(fù)數(shù)的雙符號(hào)位為s2s111.符號(hào)位參與運(yùn)算,當(dāng)結(jié)果的兩個(gè)符號(hào)位甲和乙不相同時(shí),為溢出.所以溢出條件=fs2?fs1,或者溢出條件=fs2fs1+fs2fs1(三)浮點(diǎn)數(shù)的表示和運(yùn)算1.浮點(diǎn)數(shù)的表示1)浮點(diǎn)數(shù)的表示范圍;浮點(diǎn)數(shù)是指小數(shù)點(diǎn)位置可浮動(dòng)的數(shù)據(jù),通常以下式表示:EN=M×R其中,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)表示一般采用以下形式:MsEM1位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)R,2,且尾數(shù)值不為0時(shí),其絕對(duì)值大于或等于(0.5)10.對(duì)非規(guī)格化浮點(diǎn)數(shù),通過(guò)將尾數(shù)左移或右移,并修改階碼值使之滿足規(guī)格化要求.E浮點(diǎn)數(shù)的表示范圍以通式N=M×R設(shè)浮點(diǎn)數(shù)階碼的數(shù)值位取m位,尾數(shù)的數(shù)值位取n位2)IEEE754標(biāo)準(zhǔn)(InstituteofElectricalandElectronicsEngineers美國(guó)電氣和電子工程協(xié)會(huì))S階碼(含尾數(shù)階符)數(shù)符小數(shù)點(diǎn)位置根據(jù)IEEE754國(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.0?0,,最大為x1.1?1.規(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)S?2-126?(0.M)為非規(guī)格化數(shù)符號(hào)位1到254之間-(-1)S?2E-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.2.浮點(diǎn)數(shù)的加/減運(yùn)算加減法執(zhí)行下述五步完成運(yùn)算:1)“對(duì)階”操作比較兩浮點(diǎn)數(shù)階碼的大小,求出其差ΔE,保留其大值E,E=max(Ex,Ey).當(dāng)ΔE?0時(shí),將階碼小的尾數(shù)右移ΔE位,并將其階碼加上ΔE,使兩數(shù)的階碼值相等.2)尾數(shù)加減運(yùn)算執(zhí)行對(duì)階之后,兩尾數(shù)進(jìn)行加減操作.3)規(guī)格化操作規(guī)格化的目的是使得尾數(shù)部分的絕對(duì)值盡可能以最大值的形式出現(xiàn).4)舍入在執(zhí)行右規(guī)或者對(duì)階時(shí),尾數(shù)的低位會(huì)被移掉,使數(shù)值的精度受到影響,常用“0”舍“1”入法.當(dāng)移掉的部分最高位為1時(shí),在尾數(shù)的末尾加1,如果加1后又使得尾數(shù)溢出,則要再進(jìn)行一次右規(guī).5)檢查階碼是否溢出階碼溢出表示浮點(diǎn)數(shù)溢出.在規(guī)格化和舍入時(shí)都可能發(fā)生溢出,若階碼正常,加/減運(yùn)算正常結(jié)束.若階碼下溢,則設(shè)置機(jī)器運(yùn)算結(jié)果為機(jī)器零,若上溢,則設(shè)置溢出標(biāo)志.定點(diǎn)數(shù)和浮點(diǎn)數(shù)可從如下幾個(gè)方面進(jìn)行比較?當(dāng)浮點(diǎn)機(jī)和定點(diǎn)機(jī)中的位數(shù)相同時(shí),浮點(diǎn)數(shù)的表示范圍比定點(diǎn)數(shù)大得多?當(dāng)浮點(diǎn)數(shù)位規(guī)格化數(shù)時(shí),其相對(duì)絕對(duì)遠(yuǎn)比定點(diǎn)數(shù)高?浮點(diǎn)數(shù)運(yùn)算要分階碼部分和尾數(shù)部分,而且運(yùn)算結(jié)果都要求規(guī)格化,故浮點(diǎn)運(yùn)算步驟比定點(diǎn)運(yùn)算的步驟多,運(yùn)算速度比定點(diǎn)運(yùn)算的低,運(yùn)算線路比定點(diǎn)運(yùn)算的復(fù)雜?在溢出的判斷方法上,浮點(diǎn)數(shù)是對(duì)規(guī)格化的階碼進(jìn)行判斷,而定點(diǎn)數(shù)是對(duì)數(shù)值本身進(jìn)行判斷總之,浮點(diǎn)數(shù)在數(shù)的表示范圍,數(shù)的精度,溢出處理和程序編程方面(不取比例因子)均優(yōu)于定點(diǎn)數(shù).但在運(yùn)算規(guī)則即硬件成本方面又不如定點(diǎn)數(shù)(四)算術(shù)邏輯單元ALU1.串行加法器和并行加法器1)串行進(jìn)位加法器并行加法器可以同時(shí)對(duì)數(shù)據(jù)的各位進(jìn)行相加,一般用n個(gè)全加器來(lái)實(shí)現(xiàn)2個(gè)操作數(shù)的各位同時(shí)向加.其操作數(shù)的各位是同時(shí)提供的,由于進(jìn)位是逐位形成,低位運(yùn)算所產(chǎn)生的進(jìn)位會(huì)影響高位的運(yùn)算結(jié)果.串行進(jìn)位(也稱波形進(jìn)位)加法器,邏輯電路比較簡(jiǎn)單,但是最高位的加法運(yùn)算,一定要等到所有低位的加法完成之后才能進(jìn)行,低位的進(jìn)位要逐步的傳遞到高位,逐級(jí)產(chǎn)生進(jìn)位,因此運(yùn)算速度比較慢.2)并行進(jìn)位加法器為了提高運(yùn)算速度,減少延遲時(shí)間,可以采用并行進(jìn)位法,也叫提前進(jìn)位或先行進(jìn)位.全加器中,輸入Ai,Bi,Ci-1,輸出:Si=AiBiCi-1+AiBiCi-1+AiBiCi-1+AiBiCi-1Ci=AiBiCi-1+AiBiCi-1+AiBiCi-1+AiBiCi-1=AiBi+(Ai+Bi)Ci-1進(jìn)位產(chǎn)生函數(shù):Gi=AiBi進(jìn)位傳遞函數(shù):Pi=Ai+BiCi=Gi+PiCi-1C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0并行進(jìn)位加法器的運(yùn)算速度很快,形成最高進(jìn)位輸出的延遲時(shí)間很短,但是以增加硬件邏輯線路為代價(jià).對(duì)于長(zhǎng)字長(zhǎng)的加法器,往往將加法器分成若干組,在組內(nèi)采用并行進(jìn)位,組間則采用串行進(jìn)位或并行進(jìn)位,由此形成多種進(jìn)位結(jié)構(gòu).(1)單級(jí)先行進(jìn)位單級(jí)先行進(jìn)位方式將n位字長(zhǎng)分為若干組,每組內(nèi)采用并行進(jìn)位方式,組與組之間冊(cè)采用串行進(jìn)位方式.(2)多級(jí)先行進(jìn)位多級(jí)先行進(jìn)位在組內(nèi)和組間都采用先行進(jìn)位方式.16位單級(jí)先行進(jìn)位加法器2.算術(shù)邏輯單元ALU的功能和機(jī)構(gòu)ALU部件是運(yùn)算器中的主要組成部分,又稱多功能函數(shù)發(fā)生器,主要用于完成各種算術(shù)運(yùn)算和邏輯運(yùn)算.ALU的算術(shù)運(yùn)算部件包含加法器,減法器,乘法器,除法器,增量器(+1),減量器(-1),BCD碼運(yùn)算器等組件.ALU的主要工作是根據(jù)CPU指令要求執(zhí)行各種指定運(yùn)算,如加法,減法,乘法,除法,比較,邏輯移位等操作.通用寄存器組是一組存取速度最快的存儲(chǔ)器,用于保存參加運(yùn)算的操作數(shù)和中間結(jié)果.訪問(wèn)寄存器無(wú)需高速緩存,也不需要運(yùn)行總線周期,因此指令的執(zhí)行速度很快.幾乎所有的指令都要將寄存器指定為一個(gè)操作數(shù),有些指令還要求將操作數(shù)存放在專用的寄存器中.專用寄存器通常用于表示CPU所處于某種系統(tǒng)狀態(tài),ALU中有兩個(gè)重要的狀態(tài)寄存器:指令指針寄存器IP(即程序計(jì)數(shù)器PC)和標(biāo)志寄存器FLAGS.三,存儲(chǔ)器層次機(jī)構(gòu)(一)存儲(chǔ)器的分類提高存儲(chǔ)器帶寬內(nèi)存地址線n,數(shù)據(jù)線數(shù)k1?縮短儲(chǔ)存周期k芯片的容量為2×k位2?增加存儲(chǔ)字長(zhǎng),使每個(gè)周期可讀/寫更多的二進(jìn)制數(shù)3?增加存儲(chǔ)體20位的地址可以訪問(wèn)1MB的存儲(chǔ)空間,32位的地址可以訪問(wèn)4GB的內(nèi)存空間,64位可以訪問(wèn)1800萬(wàn)TB靜態(tài)RAM和動(dòng)態(tài)RAM之間的比較。目前,動(dòng)態(tài)RAM的應(yīng)用比靜態(tài)RAM要廣泛的多:?同樣大小的芯片中,動(dòng)態(tài)的RAM的集成度遠(yuǎn)高于靜態(tài)RAM,DRAM的基本單元電路為一個(gè)MOS管,SRAM的基本單元電路可為4~6個(gè)MOS管?DRAM行、列按先后順序輸送,減少了芯片引腳,封裝尺寸也減少?DRAM的功耗比SRAM小?DRAM的價(jià)格比SRAM的價(jià)格便宜DRAM也有缺點(diǎn)?由于使用動(dòng)態(tài)元件(電容),因此它的速度比SRAM低?DRAM需再生,需配置再生電路,也消耗一部分功率.通常容量不大的Cache大多用SRAM實(shí)現(xiàn)存儲(chǔ)器與CPU連接對(duì)比項(xiàng)目SRAMDRAM儲(chǔ)存信息觸發(fā)器電容破壞性讀出非是需要刷新非是行列地址分兩同時(shí)送次運(yùn)行速度快慢集成度低高發(fā)熱量大小存儲(chǔ)成本高低(二)存儲(chǔ)器的層次化結(jié)構(gòu)存儲(chǔ)器有3個(gè)重要的指標(biāo):速度,容量和每位價(jià)格,一般來(lái)說(shuō),速度越快,位價(jià)越高;容量越大,位價(jià)越低,容量大,速度就越低.上述三者的關(guān)系用下圖表示:存儲(chǔ)系統(tǒng)層次結(jié)構(gòu)主要體現(xiàn)在緩存-主存-輔存這兩個(gè)存儲(chǔ)層次上,如下圖所示:緩存-主存層次主要解決CPU和主存速度不匹配的問(wèn)題主存-輔存層次主要解決存儲(chǔ)系統(tǒng)的容量問(wèn)題從CPU角度來(lái)看緩存-主存層次的速度接近于緩存,高于主存;其容量和價(jià)位卻接近于主存,這就從速度和成本的矛盾中獲得了理想的解決辦法.主存-輔存層次從整體分析,其速度接近于主存,容量接近于輔存,平均價(jià)位也接近于低速的、廉價(jià)的存儲(chǔ)價(jià)位,這又解決了速度、容量、成本這三者之間的矛盾.現(xiàn)代計(jì)算機(jī)系統(tǒng)幾乎都具有這兩個(gè)存儲(chǔ)層次,構(gòu)成了緩存、主存、輔存三級(jí)存儲(chǔ)系統(tǒng).(三)半導(dǎo)體隨機(jī)存取存儲(chǔ)器1.SRAM存儲(chǔ)器的工作原理SRAM靜態(tài)存儲(chǔ)單元的每個(gè)存儲(chǔ)位需要四到六個(gè)晶體管組成.比較典型的是六管存儲(chǔ)單元,即一個(gè)存儲(chǔ)單元存儲(chǔ)一位信息"0"或"1".靜態(tài)存儲(chǔ)單元保存的信息比較穩(wěn)定,信息為非破壞性讀出,故不需要重寫或者刷新操作;另一方面,其結(jié)構(gòu)簡(jiǎn)單,可靠性高,速度較快,但其占用元件較多,占硅片面積大,且功耗大,所以集成度不高.靜態(tài)隨機(jī)存儲(chǔ)單元2.DRAM存儲(chǔ)器的工作原理常見的DRAM存儲(chǔ)單元有三管式和單管式兩種,它們的共特點(diǎn)是靠電容存儲(chǔ)電荷的原理來(lái)寄存信息.若電容上存有足夠的電荷表示“”,電容上無(wú)電荷表示"0".電容上的電荷一般只能維持1-2ms,因此即使電源不掉電,電容上的電荷會(huì)自動(dòng)消失.因此,為保證信息的不丟失,必須在2ms之內(nèi)就要對(duì)存儲(chǔ)單元進(jìn)行一次恢復(fù)操作,這個(gè)過(guò)程稱為再生或者刷新.與SRAM相比,DRAM具有集成度更高,功耗低等特點(diǎn),目前被各類計(jì)算機(jī)廣泛使用.(四)只讀存儲(chǔ)器前面介紹的DRAM和SRAM均為可任意讀,寫的隨機(jī)存儲(chǔ)器,當(dāng)?shù)綦姇r(shí),所存儲(chǔ)的內(nèi)容消失,所以是易失性存儲(chǔ)器.只讀存儲(chǔ)器,即使停電,存儲(chǔ)內(nèi)容也不丟失.根據(jù)半導(dǎo)體制造工藝不同,分為ROM,PROM,EPROM,E2ROM和FlashMemory1.只讀存儲(chǔ)器(ROM)掩模式ROM由芯片制造商在制造時(shí)寫入內(nèi)容,以后只能讀而不能再寫入.其基本存儲(chǔ)原理是以元件的“有,無(wú)”來(lái)表示該存儲(chǔ)單元的信息(“1”或“0”),可以用二極管或晶體管作為元件,顯而易見,其存儲(chǔ)內(nèi)容是不會(huì)改變的.2.可編程序的只讀存儲(chǔ)器(PROM)PROM可由用戶根據(jù)自己的需要來(lái)確定ROM中的內(nèi)容,常見的熔絲式PROM是以熔絲的通和斷開來(lái)表示所存的信息為“1”或“0”.剛出廠的產(chǎn)品,其熔絲是全部接通的.根據(jù)需要斷開某些單元的熔絲(寫入).顯而易見,斷開后的熔絲是不能再接通了,因而一次性寫入的存儲(chǔ)器.掉電后不會(huì)影響其所存儲(chǔ)的內(nèi)容.3.可擦可編程序的只讀存儲(chǔ)器(EPROM)為了能修改ROM中的內(nèi)容,出現(xiàn)了EPROM.利用浮動(dòng)?xùn)臡OS電路保存信息,信息改寫用紫外線照射即可擦除.4.可電擦可編程序只讀存儲(chǔ)器(E2PROM)E2PROM的編程序原理與EPROM相同,擦除原理完全不同,重復(fù)改寫次數(shù)有限制(因氧化層被磨損),一般10萬(wàn)次.其讀寫操作可按每個(gè)位或每個(gè)字節(jié)進(jìn)行,類似SRAM,但每字節(jié)的寫入周期要幾毫秒,比SRAM長(zhǎng)得多.E2PROM每個(gè)存儲(chǔ)單元采則2個(gè)晶體管.其柵極氧化層比EPROM薄,因此具有電擦除功能.5.快除讀寫存儲(chǔ)器(FlashMemory)F1ashMemory是在EPROM與E2PROM基礎(chǔ)上發(fā)展起來(lái)的,其讀寫過(guò)程和E2PROM不同,F1ashMemory的讀寫操作一般是以塊為單位.(五)主存儲(chǔ)器與CPU的連接1個(gè)存儲(chǔ)器的芯片的容量是有限的,它在字?jǐn)?shù)或字長(zhǎng)方面與實(shí)際存儲(chǔ)器的要求都有很大差距,所以需要在字向和位向進(jìn)行擴(kuò)充才能滿足需要.根據(jù)存儲(chǔ)器所需的存儲(chǔ)容量和所提供的芯片的實(shí)際容量,可以計(jì)算出總的芯片數(shù).一個(gè)存儲(chǔ)器的容量為M×N位,若使用L×K位存儲(chǔ)器芯片,那么,這個(gè)存儲(chǔ)器共需要M/L×N/K存儲(chǔ)器芯片.1(位擴(kuò)展位擴(kuò)展指的是用多個(gè)存儲(chǔ)器器件對(duì)字長(zhǎng)進(jìn)行擴(kuò)充.位擴(kuò)展的連接方式是將多片存儲(chǔ)器的地址,片選己,讀寫控制端R/W可相應(yīng)并聯(lián),數(shù)據(jù)端分別引出.2)字?jǐn)U展字?jǐn)U展指的是增加存儲(chǔ)器中字的數(shù)量.靜態(tài)存儲(chǔ)器進(jìn)行字?jǐn)U展時(shí),將各芯片的地址線,數(shù)據(jù)線,讀寫控制線相應(yīng)并聯(lián),而由片選信號(hào)來(lái)區(qū)分各芯片的地址范圍.3)字位擴(kuò)展實(shí)際存儲(chǔ)器往往需要字向和位向同時(shí)擴(kuò)充.(六)雙口RAM和多模塊存儲(chǔ)器1.雙端口存儲(chǔ)器雙端口存儲(chǔ)器是一種具有兩個(gè)單獨(dú)的讀/寫端口及控制電路的存儲(chǔ)器,通過(guò)增加一個(gè)讀/寫端口,雙端口存儲(chǔ)器擴(kuò)展了存儲(chǔ)器的的信息交換能力.2.多模塊存儲(chǔ)器為了解決CPU與主存儲(chǔ)器之間的速度匹配問(wèn)題,在高速存儲(chǔ)器中,普遍采用并行主存系統(tǒng).即利用類似存儲(chǔ)器擴(kuò)展(位擴(kuò)展,字?jǐn)U展,字位擴(kuò)展)的方法,將n個(gè)字長(zhǎng)為W位的存儲(chǔ)器并行連接,構(gòu)建一個(gè)更大的存儲(chǔ)器.并行主存有單體多字方式,多體并行方式和多體交叉方式.(七)高速緩沖存儲(chǔ)器(Cache實(shí)際上,這是來(lái)自法文的一個(gè)單詞,意思是隱蔽之所或藏東西的地方)概述1.問(wèn)題的提出避免CPU“空等”現(xiàn)象CPU和主存(DRAM)的速度差異1.程序訪問(wèn)的局部性從大量的統(tǒng)計(jì)中得到的一個(gè)規(guī)律是,程序中對(duì)于存儲(chǔ)空間90%的訪問(wèn)局限于存儲(chǔ)空間的10%的區(qū)域中,而另外10%的訪問(wèn)則分布在存儲(chǔ)空間的其余90%的區(qū)域中.這就是通常說(shuō)的局部性原理.訪存的局部性規(guī)律包括兩個(gè)方面:時(shí)間局部性:如果一個(gè)存儲(chǔ)項(xiàng)被訪問(wèn),則可能該項(xiàng)會(huì)很快被再次訪問(wèn).空間局部性:如果一個(gè)存儲(chǔ)項(xiàng)被訪問(wèn),則該項(xiàng)及其鄰近的項(xiàng)也可能很快被訪問(wèn).2.Cache的基本工作原理Cache通常由兩部分組成,塊表和快速存儲(chǔ)器.其工作原理是:處理機(jī)按主存地址訪問(wèn)存儲(chǔ)器,存儲(chǔ)器地址的高段通過(guò)主存-Cache地址映象機(jī)構(gòu)借助查表判定該地址的存儲(chǔ)單元是否在Cache中,如果在,則Cache命中,按Cache地址訪問(wèn)Cache.否則,Cache不命中,則需要訪問(wèn)主存,并從主存中調(diào)入相應(yīng)數(shù)據(jù)塊到Cache中,若Cache中已寫滿,則要按某種算法將Cache中的某一塊替換出去,并修改有關(guān)的地址映象關(guān)系.從這個(gè)工作原理我們可以看出,它已經(jīng)涉及到了兩個(gè)問(wèn)題.首先是定位,然后是替換的問(wèn)題.Cache的存在對(duì)程序員是透明的.其地址變換和數(shù)據(jù)塊的替換算法均由硬件實(shí)現(xiàn).通常Cache被集成到CPU內(nèi)以提高訪問(wèn)速度.3.Cache和主存之間的映射方式因?yàn)樘幚頇C(jī)訪問(wèn)都是按主存地址訪問(wèn)的,而Cache的空間遠(yuǎn)小于主存,如何知道這一次的訪問(wèn)內(nèi)容是不是在Cache中,在Cache中的哪一個(gè)位置呢?這就需要地址映象,即把主存中的地址映射成Cache中的地址.讓Cache中一個(gè)存儲(chǔ)塊(空間)與主存中若干塊相對(duì)應(yīng),如此,訪問(wèn)一個(gè)主存地址時(shí),就可以對(duì)應(yīng)地知道在cache中哪一個(gè)地址了.地址映象的方法有三種:直接映象,全相聯(lián)映象和組相聯(lián)映象.直接映象就是將主存地址映象到Cache中的一個(gè)指定地址.任何時(shí)候,主存中存儲(chǔ)單元的數(shù)據(jù)只能調(diào)入到Cache中的一個(gè)位置,這是固定的,若這個(gè)位置已有數(shù)據(jù),則產(chǎn)生沖突,原來(lái)的塊將無(wú)條件地被替換出去.全相聯(lián)映象就是任何主存地址可映象到任何Cache地址的方式.在這種方式下,主存中存儲(chǔ)單元的數(shù)據(jù)可調(diào)入到Cache中的任意位置.只有在Cache中的塊全部裝滿后才會(huì)出現(xiàn)塊沖突.組相聯(lián)映象指的是將存儲(chǔ)空間的頁(yè)面分成若干組,各組之間的直接映象,而組內(nèi)各塊之間則是全相聯(lián)映象.4.Cache中主存塊的替換算法在直接映象方式下,不存在塊替換的算法,因?yàn)槊恳粔K的位置映象是固定的,需要哪一塊數(shù)據(jù)就可直接確定地將該塊數(shù)據(jù)調(diào)入上層確定位置.而其他兩種映象就存在替換策略的問(wèn)題,就是要選擇替換到哪一個(gè)Cache塊.即替換算法.思想優(yōu)點(diǎn)缺點(diǎn)用軟的或硬的隨沒有利用上層存儲(chǔ)器使隨機(jī)機(jī)數(shù)產(chǎn)生器產(chǎn)生簡(jiǎn)單,易于實(shí)用的"歷史信息",沒有算法上層中要被替換現(xiàn)反映等程序局部性,命RAND的頁(yè)號(hào)中率低.先進(jìn)選擇最早裝入上實(shí)現(xiàn)方便,利不能正確反映程序局部先出層的頁(yè)作為被替用了主存歷史性原理,命中率不高,可FIFO換的頁(yè)的信息能出現(xiàn)一種異?,F(xiàn)象.比較正確反映近期選擇近期最少訪程序局部性,最少問(wèn)的頁(yè)作為被替利用訪存的歷實(shí)現(xiàn)較復(fù)雜使用換的頁(yè)史信息,命中法LRU率較高優(yōu)化命中率最高,替換將未來(lái)近期不用可作為衡量其不現(xiàn)實(shí),只是一種理想算法的頁(yè)換出去他替換算法的算法OPT標(biāo)準(zhǔn)5.Cache寫策略對(duì)Cache的寫操作,情況比讀操作要復(fù)雜一些.由于寫入Cache時(shí),并沒有寫入主存,因此就出現(xiàn)Cache和主存數(shù)據(jù)不一致的情況.如何處理Cache和主存不一致的方法就稱為更新策略.更新策略思想優(yōu)點(diǎn)缺點(diǎn)是指在CPU執(zhí)行寫操作有利于省去時(shí),信息只寫入Cache中,許多將中間需設(shè)修改位增僅當(dāng)需要替換時(shí),才將改寫回法結(jié)果寫入主加Cache的復(fù)寫過(guò)的Cache塊先送回主存的無(wú)謂開雜性存(寫回),然后再調(diào)塊銷.(設(shè)置dirty位)為了寫中間結(jié)全寫法(寫在寫操作時(shí),將數(shù)據(jù)同時(shí)實(shí)現(xiàn)開銷果浪費(fèi)了不少直達(dá)法)寫入Cache和主存小,簡(jiǎn)單時(shí)間另外,當(dāng)寫不命中時(shí)(也就是寫Cache塊時(shí),這塊早被人替換出去而在Cache中找不到時(shí))是不是要把這塊再取回Cache中,有兩個(gè)解決方法:,不按寫分配法,就是直接寫到主存里,不再把該地址對(duì)應(yīng)的塊調(diào)回Cache中.,按寫分配法,就是寫到主存,而且把這一塊從主存中調(diào)入到Cache.一般寫回法用按寫分配法,全寫法則采用不按寫分配.(八)虛擬存儲(chǔ)器1.虛擬存儲(chǔ)器的基本概念虛擬存儲(chǔ)器是主存的擴(kuò)展,虛擬存儲(chǔ)器的空間大小取決于計(jì)算機(jī)的訪存能力而不是實(shí)際外存的大小,實(shí)際存儲(chǔ)空間可以小于虛擬地址空間.從程序員的角度看,外存被看作邏輯存儲(chǔ)空間,訪問(wèn)的地址是一個(gè)邏輯地址(虛地址),虛擬存儲(chǔ)器使存儲(chǔ)系統(tǒng)既具有相當(dāng)于外存的容量又有接近于主存的訪問(wèn)速度.虛擬存儲(chǔ)器的訪問(wèn)也涉及到虛地址與實(shí)地址的映象,替換算法等,這與Cache中的類似,前面我們講的地址映象以塊為單位,而在虛擬存儲(chǔ)器中,地址映象以頁(yè)為單位.設(shè)計(jì)虛擬存儲(chǔ)系統(tǒng)需考慮的指標(biāo)是主存空間利用率和主存的命中率.虛擬存儲(chǔ)器與Cache存儲(chǔ)器的管理方法有許多相同之處,它們都需要地址映象表和地址變換機(jī)構(gòu).但是二者也是不同的.虛擬存儲(chǔ)器的三種不同管理方式:按存儲(chǔ)映象算法,分為段式,頁(yè)式和段頁(yè)式等,這些管理方式的基本原理是類似的.2.頁(yè)式虛擬存儲(chǔ)器頁(yè)式管理:是把虛擬存儲(chǔ)空間和實(shí)際空間等分成固定大小的頁(yè),各虛擬頁(yè)可裝入主存中的不同實(shí)際頁(yè)面位置.頁(yè)式存儲(chǔ)中,處理機(jī)邏輯地址由虛頁(yè)號(hào)和頁(yè)內(nèi)地址兩部分組成,實(shí)際地址也分為頁(yè)號(hào)和頁(yè)內(nèi)地址兩部分,由地址映象機(jī)構(gòu)將虛頁(yè)號(hào)轉(zhuǎn)換成主存的實(shí)際頁(yè)號(hào).頁(yè)式管理用一個(gè)頁(yè)表,包括頁(yè)號(hào),每頁(yè)在主存中起始位置,裝入位等.頁(yè)表是虛擬頁(yè)號(hào)與物理頁(yè)號(hào)的映射表.頁(yè)式管理由操作系統(tǒng)進(jìn)行,對(duì)應(yīng)用程序員的透明的.3.段式虛擬存儲(chǔ)器段式管理:把主存按段分配的存儲(chǔ)管理方式.它是一種模塊化的存儲(chǔ)管理方式,每個(gè)用戶程序模塊可分到一個(gè)段,該程序模塊只能訪問(wèn)分配給該模塊的段所對(duì)應(yīng)的主存空間.段長(zhǎng)可以任意設(shè)定,并可放大和縮小.系統(tǒng)中通過(guò)一個(gè)段表指明各段在主存中的位置.段表中包括段名(段號(hào)),段起點(diǎn),裝入位和段長(zhǎng)等.段表本身也是一個(gè)段.段一般是按程序模塊分的.4.段頁(yè)式虛擬存儲(chǔ)器段頁(yè)式管理:是上述兩種方法的結(jié)合,它將存儲(chǔ)空間按邏輯模塊分成段,每段又分成若干個(gè)頁(yè),訪存通過(guò)一個(gè)段表和若干個(gè)頁(yè)表進(jìn)行.段的長(zhǎng)度必須是頁(yè)長(zhǎng)的整數(shù)倍,段的起點(diǎn)必須是某一頁(yè)的起點(diǎn).5.TLB(快表)在虛擬存儲(chǔ)器中進(jìn)行地址變換時(shí),需要虛頁(yè)號(hào)變換成主存中實(shí)頁(yè)號(hào)的內(nèi)部地址變換,這一般通過(guò)查內(nèi)頁(yè)表實(shí)現(xiàn).當(dāng)表中該頁(yè)對(duì)應(yīng)的裝入位為真時(shí),表示該頁(yè)在主存中,可按主存地址問(wèn)主存;如果裝入位為假時(shí),表示該頁(yè)不在存儲(chǔ)器中,就產(chǎn)生頁(yè)失效中斷,需從外存調(diào)入頁(yè).中斷處理時(shí)先通過(guò)外部地址變換,一般通過(guò)查外頁(yè)表,將虛地址變換為外存中的實(shí)際地址,到外存中去選頁(yè),然后通過(guò)I/0通道調(diào)入內(nèi)存.當(dāng)外存頁(yè)面調(diào)入主存中時(shí)還存在一個(gè)頁(yè)面替換略的問(wèn)題.提高頁(yè)表的訪問(wèn)速度是提高地址變換速度的關(guān)鍵.因?yàn)?每次訪存都要讀頁(yè)表,如果頁(yè)存放在主存中,就意味著訪存時(shí)間至少是兩次訪問(wèn)主存的時(shí)間,這樣查表的代價(jià)大大.只有內(nèi)部地址變換速度提高到使訪問(wèn)主存的速度接近于不采用虛擬存儲(chǔ)器時(shí)的訪主存速度時(shí),虛擬存儲(chǔ)器才能實(shí)用.根據(jù)訪存的局部性,表內(nèi)各項(xiàng)的使用的概率不是均勻分布的.在一段時(shí)間內(nèi),可能只用表中的很少幾項(xiàng),因此應(yīng)重點(diǎn)提高使用概率高的這部分頁(yè)表的訪問(wèn)速度,可用快速硬件構(gòu)成全表小得多的部分表格,而將整個(gè)表格放在主存中,這就引出了快表和慢表的概念和技術(shù).這樣,虛地址到實(shí)地址的變換方法如后圖所示.查表時(shí),根據(jù)虛頁(yè)表同時(shí)查找快表和慢表,當(dāng)在快表中查到該虛頁(yè)號(hào)時(shí),就能很快找到對(duì)應(yīng)的實(shí)頁(yè)號(hào),將其送入主存實(shí)地址寄存器,同時(shí)使慢表的查找作廢,這時(shí)主存的訪問(wèn)速度沒降低多少.如果在快表中查不到,則經(jīng)過(guò)一個(gè)訪主存的時(shí)間延遲后,將從慢表中查到的實(shí)頁(yè)送入實(shí)地址寄存器,同時(shí)將此虛頁(yè)號(hào)和對(duì)應(yīng)的實(shí)頁(yè)號(hào)送入快表,這里也涉及到用一個(gè)替換算法從快表中替換出一行.快表的存在對(duì)所有的程序員都是透明的.軟磁盤存儲(chǔ)器硬盤軟盤速度高低磁頭固定、活動(dòng)、浮動(dòng)活動(dòng)、接觸盤片盤片固定盤、盤組大部分不可換可換盤片價(jià)格高低環(huán)境苛刻四,指令系統(tǒng)人們習(xí)慣把每一條機(jī)器語(yǔ)言的語(yǔ)句稱為機(jī)器指令,而又將全部機(jī)器指令的集合稱為機(jī)器的指令系統(tǒng)指令的執(zhí)行過(guò)程讀取指令指令地址(在PC中)送到地址寄存器讀主存,讀出內(nèi)容(指令代碼)送入指令寄存器IR分析指令形成下一條指令的地址并送到PC中執(zhí)行指令用一到幾個(gè)執(zhí)行步驟,完成指令的運(yùn)算、操作功能,不同的指令操作步驟和具體運(yùn)算、操作功能各不相同減產(chǎn)有無(wú)中斷請(qǐng)求無(wú)中斷請(qǐng)求、進(jìn)入下一條指令的執(zhí)行過(guò)程(一)指令格式1.指令的基本格式計(jì)算機(jī)是通過(guò)執(zhí)行指令來(lái)處理各種數(shù)據(jù)的.為了指出數(shù)據(jù)的來(lái)源,操作結(jié)果的去向及所執(zhí)行的操作,一條指令必須包含下列信息:(1)操作碼,具體說(shuō)明了操作的性質(zhì)及功能.(2)操作數(shù)的地址.(3)操作結(jié)果的存儲(chǔ)地址.(4)下一條指令的地址.從上述分析可知,一條指令實(shí)際上包括兩種信息即操作碼和地址碼.操作碼(operationcode)用來(lái)表示該指令所要完成的操作(如加,減,乘,除,數(shù)據(jù)傳送等),其長(zhǎng)度取決于指令系統(tǒng)中的指令條數(shù).如操7作碼占7位,則該機(jī)器最多包含2=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)零地址指令格式:OPOP——操作碼指令中只有操作碼,而沒有操作數(shù)或沒有操作數(shù)地址.這種指令有兩種可能:(1)無(wú)需任何操作數(shù),如空操作指令,停機(jī)指令等.(2)所需的操作數(shù)是默認(rèn)的.如堆棧結(jié)構(gòu)計(jì)算機(jī)的運(yùn)算指令,所需的操作數(shù)默認(rèn)在堆棧中,由堆棧指針SP隱含指出,操作結(jié)果仍然放回堆棧中.又如Intel8086的字符串處理指令,源,目的操作數(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——操作碼A——第一個(gè)源操作數(shù)的存儲(chǔ)器地址或寄存器地址.1A——第二個(gè)源操作數(shù)和存放操作結(jié)果的存儲(chǔ)器地址或寄存器地2址.這是最常見的指令格式,兩個(gè)地址指出兩個(gè)源操作數(shù)地址,其中一個(gè)還是存放結(jié)果的目的地址.對(duì)兩個(gè)源操作數(shù)進(jìn)行操作碼所規(guī)定的操作后,將結(jié)果存入目的地址,在本例中即為A2指定的地址4)三地址指令格式:OP——操作碼A——第一個(gè)源操作數(shù)的存儲(chǔ)器地址或寄存器地址1A——第二個(gè)源操作數(shù)的存儲(chǔ)器地址或寄存器地址2A——操作結(jié)果的存儲(chǔ)器地址或寄存器地址3其操作是對(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)A(4)A(4)A(4)1234位基本操作碼有16個(gè)碼點(diǎn)(即有16種組合),若全部用于表示三地址指令,則只有16條.但,若三地址指令僅需15條,兩地址指令需15條,一地址指令需15條,零地址指令需16條,共61條指令,應(yīng)如何安排操作碼,顯然,只有4位基本操作碼是不夠的,必須將操作碼的長(zhǎng)度向地址碼字段擴(kuò)展才行.一種可供擴(kuò)展的方法和步驟如下:(1)15條三地址指令的操作碼由4位基本操作碼從0000,1110給出,剩下一個(gè)碼點(diǎn)1111用于把操作碼擴(kuò)展到A1,即4位擴(kuò)展到8位;(2)15條二地址指令的操作碼由8位操作碼從11110000,11111110給出,剩下一個(gè)碼點(diǎn)11111111用于把操作碼擴(kuò)展到A2,即從8位擴(kuò)展到12位;(3)15條一地址指令的操作碼由12位操作碼從111111110000,111111111110給出,剩下的一個(gè)碼點(diǎn)111111111111用于把操作碼擴(kuò)展到A3,即從12位擴(kuò)展到16位;(4)16條零地址指令的操作碼由16位操作碼從1111111111110000,1111111111111111給出.指令字長(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ī)除了做算術(shù)運(yùn)算外,有時(shí)還做邏輯運(yùn)算,此時(shí)n個(gè)0和1據(jù)的組合不是被看做算術(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)移位三種無(wú)條件轉(zhuǎn)不受任何約束條件直接把程序轉(zhuǎn)移到下一移條需執(zhí)行指令的地址條件轉(zhuǎn)移根據(jù)當(dāng)前指令的執(zhí)行結(jié)果決定是否需要轉(zhuǎn)移4.轉(zhuǎn)移,子程序可在多處被調(diào)用調(diào)用與返,子程序調(diào)用可出現(xiàn)在子程序中,即允許回子程序嵌套,每個(gè)CALL指令都對(duì)應(yīng)一條RETURN指令CPU必須記住返回地址,使子程序能準(zhǔn)確返回,返回地址存放在以下3處,寄存器內(nèi).機(jī)器內(nèi)設(shè)有專用寄存器,專用于存放返回地址,子程序的入口地址內(nèi),棧頂內(nèi).現(xiàn)代計(jì)算機(jī)都設(shè)有堆棧,執(zhí)行RETURN指令后,便可自動(dòng)從堆棧內(nèi)取出應(yīng)返回的地址陷阱其實(shí)是一種意外事故的中斷,一般不提供(Trap)與給用戶使用,作為隱指令,再出現(xiàn)故障時(shí),陷阱指令由CPU自動(dòng)產(chǎn)生并執(zhí)行對(duì)于I/O單獨(dú)編址的計(jì)算機(jī)而言,通常設(shè)有輸入輸出5.輸入輸指令,他完成從外設(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ū)ぶ房梢酝ㄟ^(guò)程序計(jì)數(shù)器PC加1自動(dòng)形成下一條指令的地址,跳躍尋址則通過(guò)轉(zhuǎn)移類指令實(shí)現(xiàn),是通過(guò)對(duì)PC的運(yùn)算得到新的下一條指令的地址.3.常見尋址方式1)立即尋址所需的操作數(shù)由指令的地址碼部分直接給出,就稱為立即數(shù)(或直接數(shù))尋址方式.這種方式的特點(diǎn)是取指時(shí),操作碼和一個(gè)操作數(shù)同時(shí)被取出,不必再次訪問(wèn)存儲(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=(R)有效地址在寄存器中i寄存器中給出的是操作數(shù)的地址,因此還需要訪問(wèn)一次存儲(chǔ)器才能得到操作數(shù).7)基址尋址在計(jì)算機(jī)中設(shè)置一個(gè)專用的基址寄存器,或由指令指定一個(gè)通用寄存器為基址寄存器.操作數(shù)的地址由基址寄存器的內(nèi)容和指令的地址碼A相加得到8)變址尋址指令地址碼部分給出的地址A和指定的變址寄存器X的內(nèi)容通過(guò)加法器相加,所得的和作為地址從存儲(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位,則這種方式的尋址范圍在n-1n-1(PC)-2,(PC)+2-1之間計(jì)算機(jī)的程序和數(shù)據(jù)一般是分開存放的,程序區(qū)在程序執(zhí)行過(guò)程中不允許修改.在程序與數(shù)據(jù)分區(qū)存放的情況下,不用相對(duì)尋址方式來(lái)確定操作數(shù)地址.10)堆棧尋址在一般計(jì)算機(jī)中,堆棧主要用來(lái)暫存中斷和子程序調(diào)用時(shí)現(xiàn)場(chǎng)數(shù)據(jù)及返回地址,用于訪問(wèn)堆棧的指令只有壓入(即進(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ū)ぶ房赏ㄟ^(guò)程序計(jì)數(shù)器PC加1自動(dòng)形成尋址下一條指令的地址跳躍尋址跳躍尋址則通過(guò)轉(zhuǎn)移類指令實(shí)現(xiàn)操作數(shù)本身設(shè)在指令字內(nèi),即形式地址A不是操作數(shù)地址而是操作數(shù)本身1.立即尋,指令執(zhí)行階段不訪存址,A的位數(shù)限制了這類指令所能表述的立即數(shù)的范圍指令中的形式地址A就是操作數(shù)的真實(shí)地址EA,即EA=A2.直接尋,執(zhí)行階段訪問(wèn)一次存儲(chǔ)器址,缺點(diǎn)在于A的位數(shù)限制了操作數(shù)的尋址范圍而且必須修改A的值才能修改操作數(shù)的地址數(shù)據(jù)指令字中不明顯給出操作數(shù)的地址,其操作數(shù)尋址的地址隱含在操作碼或某個(gè)寄存器中3.隱含尋,由于隱含尋址在指令字中少了一個(gè)地址,址因此,這種尋址方式的指令有利于縮短指令字長(zhǎng)倘若指令字中的形式地址不直接指出操作數(shù)的地址,而是指出操作數(shù)有效地址所在的存儲(chǔ)單元的地址,也就是說(shuō),有效地址是由形式地4.間接尋址間接提供的,即為間接地址,即EA=(A)址1.與直接尋址相比,擴(kuò)大了操作數(shù)的尋優(yōu)址范圍,因?yàn)锳的位數(shù)通常小于指令點(diǎn)字長(zhǎng),而存儲(chǔ)字長(zhǎng)可與指令字長(zhǎng)相等2.它便于編制程序,指令的執(zhí)行階段需要訪存兩次(一次缺間接尋址)或多次(多次間接尋址),點(diǎn)致使指令執(zhí)行時(shí)間延長(zhǎng)在寄存器尋址的指令字中,地址碼字段直接指出了寄存器的編號(hào),即EA=R,由于地址字段只需指明寄存器編號(hào)(計(jì)算機(jī)中寄存器數(shù)有限)故指令字5.寄存器,較短,節(jié)省了存儲(chǔ)空間,因此寄存器尋址在尋址計(jì)算機(jī)中得到廣泛應(yīng)用,執(zhí)行階段不訪存,只訪問(wèn)寄存器,執(zhí)行速度快,寄存器個(gè)數(shù)有限,可縮短指令字長(zhǎng)有效地址EA+=(R),因有效地址i6.寄存器,有效地址在寄存器中,操作數(shù)在存儲(chǔ)器間接尋址中,執(zhí)行階段訪存,便于編制循環(huán)程序基址尋址需設(shè)有基址寄存器BR,其操作數(shù)的有效地址EA等于指令字中的形式地址與基址寄存器中的內(nèi)容(稱為基地址)相加,即EA=A+(BR),可擴(kuò)大尋址范圍采用專,有利于多道程序用寄存,BR內(nèi)容由操作系統(tǒng)或管理程序器作基7.基址尋確定址寄存址,在程序的執(zhí)行過(guò)程中BR內(nèi)容器不變,形式地址A可變,由用戶指定哪個(gè)通用寄存器作采用通為基址寄存器用寄存,基址寄存器的內(nèi)容由操作系統(tǒng)器作基確定址寄存,在程序的執(zhí)行過(guò)程中R內(nèi)容不0器變,形式地址A可變8.變址尋變址尋址與基址尋址極為相似.其有效地址址EA等于指令字中的形式地址A與變址寄存器IX的內(nèi)容相加之和,即EA=A+(IX),可擴(kuò)大尋址范圍,IX的內(nèi)容由用戶給定,在程序的執(zhí)行過(guò)程中IX內(nèi)容可變,形式地址A不變,便于處理數(shù)組問(wèn)題,的有效地址是將PC的內(nèi)容(即當(dāng)前指令地址)與指令字中的形式地址A(A是相對(duì)于當(dāng)前指令的位移量(可正可負(fù),補(bǔ)碼)相加而成,9.相對(duì)尋即EA=(PC)+A址,A的位數(shù)決定操作數(shù)的尋址范圍,程序浮動(dòng),廣泛應(yīng)用于轉(zhuǎn)移指令要求計(jì)算機(jī)中設(shè)有堆棧.堆棧既可用寄存器組(稱為硬堆棧)來(lái)實(shí)現(xiàn),也可利用主存的一部分10.堆棧尋空間作堆棧(稱為軟堆棧)址,硬堆棧多個(gè)寄存器,軟堆棧制定的存儲(chǔ)空間(三)CISC和RISC的基本概念1(CISC(復(fù)雜指令集計(jì)算機(jī))隨著VLSI技術(shù)的發(fā)展,計(jì)算機(jī)的硬件成本不斷下降,軟件成本不斷提高,使得人們熱衷于在指令系統(tǒng)中增加更多的指令和復(fù)雜的指令,來(lái)提高操作系統(tǒng)的效率,并盡量縮短指令系統(tǒng)與高級(jí)語(yǔ)言的語(yǔ)義差別,以便于高級(jí)語(yǔ)言的編譯和降低軟件成本.另外,為了做到程序兼容,同一系列計(jì)算機(jī)的新機(jī)器和高檔機(jī)的指令系統(tǒng)只能擴(kuò)充而不能減去任意一條,因此,促使指令系統(tǒng)越來(lái)越復(fù)雜,某些計(jì)算機(jī)的指令多達(dá)幾百條.例如,DEC公司的VAX11/780計(jì)算機(jī)有303條指令,18種尋址方式,我們稱這些計(jì)算機(jī)為復(fù)雜指令系統(tǒng)計(jì)算機(jī)(complexinstructionsetcomputer,簡(jiǎn)稱CISC).Intel公司的180X86微處理器,IBM公司的大,中計(jì)算機(jī)均為CISC.2(RISC(簡(jiǎn)單指令集計(jì)算機(jī))(1)RISC的產(chǎn)生1975年IBM公司開始研究指令的合理性問(wèn)題,IBM的Johncocke提出了RISC的想法.對(duì)CISC的測(cè)試表明:最長(zhǎng)使用的是一些簡(jiǎn)單指令,占指令總數(shù)的20%,但在程序中出現(xiàn)的頻率卻占80%.而占20%的復(fù)雜指令,為實(shí)現(xiàn)其功能而設(shè)計(jì)的微程序代碼卻占總代碼的80%.CISC研制時(shí)間長(zhǎng),成本高,難于實(shí)現(xiàn)流水線;因此出現(xiàn)了RIC技術(shù).計(jì)算機(jī)執(zhí)行程序所需的時(shí)間P可用下式表述:P=I×C×T其中,I是高級(jí)語(yǔ)言程序編譯后在機(jī)器上運(yùn)行的機(jī)器指令數(shù);C為執(zhí)行每條機(jī)器指令所需的平均機(jī)器周期;T是每個(gè)機(jī)器周期的執(zhí)行時(shí)間.(2)RISC的特點(diǎn)1)優(yōu)先選取使用頻率最高的一些選用使用頻度較高的一些簡(jiǎn)簡(jiǎn)單指令;單指令,復(fù)雜指令的功能由簡(jiǎn)單指令來(lái)組合2)指令長(zhǎng)度固定;指令長(zhǎng)度固定、指令格式種類少、尋址方式少3)只有取數(shù)/存數(shù)指令只有LOAD/STORE指令訪存(load/store)訪問(wèn)內(nèi)存;4)CPU中的寄存器數(shù)量很多;CPU中有多個(gè)通用寄存器5)大部分指令在一個(gè)或小于一個(gè)采用流水技術(shù)一個(gè)時(shí)鐘周機(jī)器周期完成;期內(nèi)完成一條指令6)硬布線控制邏輯為主,不用或少采用組合邏輯實(shí)現(xiàn)控制器用微碼控制;7)一般用高級(jí)語(yǔ)言編程,特別重視采用優(yōu)化的編譯程序編譯優(yōu)化,以減少程序執(zhí)行時(shí)間.(3)RISC的發(fā)展1983年,一些中小型公司開始推出RISC產(chǎn)品,由于其高性能價(jià)格比,市場(chǎng)占有率不斷提高.1987年SUN公司用SPARC芯片構(gòu)成工作站;目前一些大公司,IBM,DEC,Intel,Motorola以將部分力量轉(zhuǎn)移到RISC方面.(4)CISC機(jī)與RISC機(jī)的主要特征對(duì)比CISCRISC指令系統(tǒng)簡(jiǎn)單,精簡(jiǎn)指令數(shù)復(fù)雜,龐大一般小于100指令格式一般大于200一般小于4指令字長(zhǎng)一般大于4一般小于4尋址方式一般大于4固定32位可訪問(wèn)指令不固定只有LOAD/STORE指令各種指令使用不加限制相差不大頻率相差很大絕大多數(shù)在一個(gè)機(jī)器周期各種指令執(zhí)行相差很大完成時(shí)間優(yōu)化編譯實(shí)現(xiàn)很難較容易程序源代碼長(zhǎng)較短較長(zhǎng)度控制邏輯實(shí)現(xiàn)絕大多數(shù)為微程序絕大多數(shù)為硬連線控制方式控制RISC機(jī)的主要優(yōu)點(diǎn)可歸納如下?充分利用VLSI芯片的面積?提高了計(jì)算機(jī)運(yùn)行速度?便于設(shè)計(jì),降低成本,提高可靠性?有效支持高級(jí)語(yǔ)言程序五,中央處理器(CPU)(一)CPU的功能和基本結(jié)構(gòu)CPU主要是由運(yùn)算器和控制器組成,由于運(yùn)算器(實(shí)現(xiàn)算術(shù)運(yùn)算和邏輯運(yùn)算)部分在第二部分介紹過(guò),所以本節(jié)主要介紹控制器的組成和工作原理.1(控制器的功能計(jì)算機(jī)對(duì)信息進(jìn)行處理(或計(jì)算)是通過(guò)程序的執(zhí)行而實(shí)現(xiàn)的,程序是完成某個(gè)確定算法的指令序列,要預(yù)先存放在存儲(chǔ)器中.控制器的作用是控制程序的執(zhí)行,它必須具有以下基本功能:1)(取指令2)(分析指令3)(執(zhí)行指令計(jì)算機(jī)不斷重復(fù)順序執(zhí)行上述三種基本操作:取指,分析,執(zhí)行;再取指,再分析,再執(zhí)行,如此循環(huán),直到遇到停機(jī)指令或外來(lái)的干預(yù)為止.4)(
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 外貿(mào)運(yùn)費(fèi)說(shuō)明話術(shù)
- 廠房消防施工要求
- 刑事培訓(xùn)課件
- 分賬技術(shù)講解
- 跨區(qū)域業(yè)務(wù)協(xié)調(diào)與信息共享平臺(tái)
- 企業(yè)培訓(xùn)課程效果評(píng)估問(wèn)卷模板
- 皖西中學(xué)招聘2026屆應(yīng)屆公費(fèi)師范畢業(yè)生備考題庫(kù)及答案詳解一套
- 分形技術(shù)與石油
- 課件培訓(xùn)輕音樂文案
- 骨質(zhì)疏松癥的藥物治療策略
- 醫(yī)療事故案例分析與防范措施
- 榮辱觀教育主題班會(huì)
- 江西省九江市2024-2025學(xué)年高二上學(xué)期期末考試數(shù)學(xué)試題(含解析)
- JJF(贛) 036-2024 水泥凈漿流動(dòng)度測(cè)定儀校準(zhǔn)規(guī)范
- 房屋買賣合同全文內(nèi)容
- 中醫(yī)基礎(chǔ)理論之八綱辨證課件
- 2024年西藏自治區(qū)中考數(shù)學(xué)試題卷(含答案解析)
- 11BS4排水工程華北標(biāo)圖集
- 《繼電保護(hù)智能運(yùn)維檢修 第5部分:在線監(jiān)測(cè)站端信息描述》編制說(shuō)明
- 功能危險(xiǎn)分析(FHA)
- 趣味實(shí)驗(yàn)牛頓擺
評(píng)論
0/150
提交評(píng)論