計算機組織與結(jié)構(gòu)課件(完整版)_第1頁
計算機組織與結(jié)構(gòu)課件(完整版)_第2頁
計算機組織與結(jié)構(gòu)課件(完整版)_第3頁
計算機組織與結(jié)構(gòu)課件(完整版)_第4頁
計算機組織與結(jié)構(gòu)課件(完整版)_第5頁
已閱讀5頁,還剩879頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機組織與結(jié)構(gòu)教材內(nèi)容的組織本教材在內(nèi)容的組織上,按照CC2005和2006年我國教育部高等學校計算機科學與技術教學指導委員會制定的“計算機科學與技術專業(yè)規(guī)范”中的知識領域“CS-AR計算機體系結(jié)構(gòu)與組織”所要求的內(nèi)容進行編寫。各章節(jié)涵蓋的知識單元包括1. AR2 數(shù)據(jù)的機器級表示(核心學時): 第2章2. AR3 匯編級機器組織(核心學時): 第3章3. AR4 存儲系統(tǒng)組織與結(jié)構(gòu)(核心學時):第4章4. AR5 接口和通信(核心學時): 第5、6章6. AR7 多處理和體系結(jié)構(gòu)(核心學時): 第8章5. AR6 功能組織(核心學時): 第7章第1章第2章第3章第4章計算機的發(fā)展歷程;按I

2、EEE分類法的計算機的分類;最后作為本書的一個序,概括性地介紹計算機的硬件組成及計算機的層次結(jié)構(gòu)。進位計數(shù)制;計算機中數(shù)值數(shù)據(jù)和非數(shù)值數(shù)據(jù)的表示;數(shù)值數(shù)據(jù)在計算機中的二進制運算方法和實現(xiàn);數(shù)據(jù)傳遞過程中進行差錯控制的數(shù)據(jù)校驗碼。計算機中匯編級指令的格式、地址結(jié)構(gòu);指令及操作數(shù)的尋址方式,以及指令的種類和功能、典型指令系統(tǒng)的組成等;精簡指令系統(tǒng)RISC。存儲器的組織、分類和分層結(jié)構(gòu);計算機主存儲器的組成與工作原理;提高存儲系統(tǒng)性能的交叉存儲技術、高速緩沖存儲器及虛擬存儲器技術等。各章節(jié)主要內(nèi)容第5章第6章第7章第8章計算機輸入輸出系統(tǒng)組成;計算機輸入輸出的控制方式;計算機存儲設備磁盤系統(tǒng)以及由磁

3、盤陣列組成的RAID技術??偩€的基本概念、總線的類別和總線的控制方式等;常用總線標準:ISA、PCI等;常用的外部總線接口標準:USB、IEEE 1394和SCSI等。CPU的功能與組成;CPU的指令周期及執(zhí)行指令的過程;CPU控制部件設計的兩種主要方法:硬布線設計法和微程序設計法。計算機系統(tǒng)的并行性概念,提高并行性的技術途徑;現(xiàn)代計算機普遍采用的流水線技術和多處理機技術;機群系統(tǒng)。各章節(jié)主要內(nèi)容第1章 計算機系統(tǒng)概論本章結(jié)構(gòu)11.1 計算機的發(fā)展歷程21.2 計算機的種類31.3 計算機的基本組成51.5 計算機系統(tǒng)的分層組織結(jié)構(gòu)41.4 計算機語言1.1 計算機的發(fā)展歷程計算機技術的飛速發(fā)

4、展離不開其所依賴的器件技術的發(fā)展。在計算機界,人們普遍把計算機的發(fā)展劃分為5個年代,而這一劃分所依據(jù)的正是計算機所使用的基本元器件??梢哉f,器件技術是計算機發(fā)展的重要物質(zhì)基礎和技術保障。計算機的發(fā)展年代第四代第三代第二代第一代第零代第零代:機械時代世界上第一臺以齒輪驅(qū)動的計算機器是由德國人Wilhelm Schickard教授于1623年設計并建造的計算鐘(Calculating Clock)。 1642年法國數(shù)學家、物理學家帕斯卡發(fā)明的機械加法器Pascaline。英國數(shù)學家巴貝奇Charles Babbage于1822年設計的差分機Difference Engine。 1938年,德國工程

5、師朱斯(Konrad Zuse)成功制造了第一臺二進制計算機Z-1,此后他繼續(xù)研制了Z系列計算機,其中Z-3型計算機是世界上第一臺通用程序控制的機電計算機,它使用了2600個繼電器,采用二進制進行運算,運算一次加法只用0.3秒。 1944年,美國麻省理工學院科學家艾肯研制成功了一臺通用型機電計算機MARK-I。更多內(nèi)容可參見網(wǎng)站:第一代:真空管計算機 電子計算機區(qū)別于機械式計算機的最主要特點是使用了電子元器件作為其存儲和控制部件,計算機能夠依靠電子元器件自動完成計算。電子計算機發(fā)展階段也正是以其所采用的基本電子元器件及技術作為劃分的基礎。 計算機的發(fā)展階段表發(fā)展階段大致時間所采用的技術典型速度

6、1 19461957 真空管 幾萬次2 19581964 晶體管 十幾到幾十萬次3 19651971 中小規(guī)模集成電路 百萬次4 19721977 大規(guī)模集成電路 千萬次 19781991 超大規(guī)模集成電路 億次 1991巨大規(guī)模集成電路 十億次以上1946年誕生的第一臺電子計算機ENIAC第一代電子計算機的主要特點:采用真空管作為基本元器件,體積龐大,功耗大,可靠性低。引入存儲程序的思想,開始使用存儲器存儲程序,但最初使用的存儲設備為汞延遲線或靜電存儲管,存儲容量很小,后來采用了磁鼓、磁芯,雖有一定改進,但存儲空間仍然有限。輸入輸出設備簡單,主要采用穿孔紙帶或卡片,速度很慢。程序設計語言為機

7、器語言,幾乎沒有系統(tǒng)軟件。 第二代:晶體管計算機 第一代真空管技術的計算機并不是非常可靠,原因是這些真空管被燒壞的速度太快,以至于這種真空管計算機的停機維修時間常常比正常運行的時間還多。 1948年,貝爾實驗室的三位研究員John Bardeen、Walter Brattain和William Shockley發(fā)明了晶體管,這項影響深遠的發(fā)明,讓他們共同獲得了1956年度諾貝爾物理學獎。這種新型的技術不但掀起了電子器件、電視和無線電廣播等領域的革命,也推動計算機的發(fā)展進入了一個新的時代。 第二代電子計算機的主要特點:采用晶體管代替電子管作為基本元器件。與電子管相比,晶體管具有體積小、重量輕、耗

8、電少、速度快、壽命長等優(yōu)點,這使計算機的設計結(jié)構(gòu)和性能都發(fā)生了飛躍。采用磁芯存儲器作為主存,使用磁盤和磁帶作為輔存。使存儲容量增大,可靠性提高,為系統(tǒng)軟件的發(fā)展創(chuàng)造了條件。提出了操作系統(tǒng)的概念,開始出現(xiàn)匯編語言,并產(chǎn)生了如COBOL、FORTRAN等編程語言以及批處理系統(tǒng)。第三代:集成電路計算機 1952年,英國皇家雷達研究所的G.W.A.Dummer首先提出了集成電路設想:根據(jù)電子線路的要求,將電子線路所需要的晶體管、晶體二極管和其他必要元件統(tǒng)統(tǒng)完整地制作(集成)在單塊半導體晶片上,從而構(gòu)成一個具有預定功能的電子線路。 1958年,美國的Jack Kilby和Robert S.Noyce同時

9、發(fā)明了集成電路,并分別在德克薩斯儀器公司和仙童公司研制成功第一塊集成電路,從而開創(chuàng)了第三代乃至以后計算機發(fā)展的新紀元。 第三代電子計算機的主要特點:采用集成電路取代晶體管作為基本元器件。采用半導體存儲器作為計算機主存儲器,存儲容量進一步擴大,而體積更小,可靠性更高。操作系統(tǒng)功能進一步明確和完善,高級語言進一步發(fā)展,使計算機功能更強。計算機的研制生產(chǎn)開始系列化、通用化和標準化。計算機應用范圍擴大到企業(yè)管理和輔助設計等領域。 系列化:即同一公司在不同時期生產(chǎn)的機器采用相同的系統(tǒng)結(jié)構(gòu),在指令系統(tǒng)、數(shù)據(jù)格式、字符編碼、控制方式、輸入輸出等方面保持統(tǒng)一,從而保證了程序兼容(稱為向前兼容)。這種向前兼容在

10、很大程度上可以保護用戶在尤其是軟件方面的投資,當用戶進行機器更新時,原來在低檔機上編寫的程序可以不作修改就使用在高檔機上。這一時期典型的系列機如IBM360/370。 通用化:機器指令系統(tǒng)豐富,兼顧科學計算、數(shù)據(jù)處理、實時控制等方面,可以適應各種應用的需要。標準化:采用標準的輸入輸出接口,因而各個機型的外部設備都是通用的,除各個型號機器的CPU獨立設計以外,存儲器、外部設備等都采用標準部件組裝。第四代:大規(guī)模超大規(guī)模集成電路計算機 集成度:單個芯片上所容納的晶體管數(shù)量。 集成電路發(fā)展階段單塊芯片集成的晶體管數(shù)量小規(guī)模集成電路(SSI)10-100中規(guī)模集成電路(MSI)100-1000大規(guī)模集

11、成電路(LSI)1000-10000超大規(guī)模集成電路(VLSI)10000以上巨大規(guī)模集成電路(ULSI)1000000以上第四代電子計算機: 在計算機體系結(jié)構(gòu)上,發(fā)展了如虛擬存儲器技術、流水線技術、高速緩沖存儲器技術及各種并行處理技術等。在計算機內(nèi)存配置上,容量和速度都大大提高。計算機外圍設備的種類越來越豐富,從文字的處理發(fā)展到圖像、聲音等多媒體信息的處理。系統(tǒng)軟件功能越來越強,從單用戶、單道程序系統(tǒng)發(fā)展到多用戶、多道程序系統(tǒng),從字符界面的命令行操作系統(tǒng)發(fā)展到圖形界面的視窗操作系統(tǒng)。應用軟件越來越豐富,計算機在辦公自動化、數(shù)據(jù)處理、圖像處理、語音識別和人工智能等領域大顯身手。隨著微型計算機技

12、術的發(fā)展,計算機價格越來越便宜,計算機應用越來越普及。二十世紀80年代計算機網(wǎng)絡的發(fā)展和90年代Internet技術的發(fā)展,一方面使計算機的應用越來越普及,另一方面在很大程度上改變著人們的生活和工作方式。不同時期微處理器性能:型號400480088086PentiumPIV發(fā)布時間1971年19721978年1993年2000年時鐘頻率108KHz108KHz5MHz166MHz1.8GHz總線寬度4位8位16位32位64位晶體管數(shù)23003500290003.1百萬42百萬工藝(微米)101030.80.18可尋址存儲器640B16KB1MB4GB64GB虛擬存儲器64TB64TB第五代計算

13、機1981年10月,日本首先向世界宣告開始研制第五代計算機,并于1982年4月制訂了為期10年的“第五代計算機技術開發(fā)計劃”。緊接其后美國和歐洲等國家也先后提出了發(fā)展第五代計算機的計劃。第五代計算機又稱新一代計算機或人工智能計算機,它是一個能把信息采集、存儲、處理、通信同人工智能結(jié)合在一起的智能計算機系統(tǒng)。它除了能進行數(shù)值計算及信息處理外,還能面向知識處理,具有形式化推理、聯(lián)想、學習和解釋的能力;能夠幫助人們進行判斷、決策、開拓未知領域和獲得新的知識;人-機之間可以直接通過自然語言(聲音、文字)或圖形圖像交換信息。我國計算機技術的發(fā)展概況 我國從1956年開始研制計算機,1958年研制成功第一

14、臺電子管計算機103機,1959年又研制成功運行速度為每秒1萬次的104機。103機和104機的研制成功填補了我國在計算機技術領域的空白,為促進我國計算機技術的發(fā)展做出了貢獻。1965年,中科院計算所研制成功第一臺大型晶體管計算機109乙,之后推出109丙機,該機在我國兩彈試驗中發(fā)揮了重要作用。1971年我國開始研制以集成電路為主要器件的DJS系列計算機,1974年,清華大學等單位聯(lián)合設計、研制成功采用集成電路技術的DJS-130小型計算機,運算速度達每秒100萬次。該系列計算機在上個世紀70年代在我國很多行業(yè)和部門得到了廣泛應用。在微型計算機方面,1985年,電子工業(yè)部計算所研制成功與IBM

15、 PC機兼容的長城0520CH微機。此后我國的長城系列、方正系列、聯(lián)想系列等微型計算機,如雨后春筍般涌現(xiàn),為我國計算機的普及應用做出了貢獻,也使目前以聯(lián)想公司為代表的中國計算機公司成為了一個有著巨大影響力的跨國公司,走在了世界先進計算機技術的行列。在巨型計算機研制方面,1983年,國防科技大學研制成功運算速度每秒億次的銀河-I巨型機,這是我國高性能計算機研制領域的一個重要里程碑。1992年,國防科技大學又推出了銀河-II通用并行巨型機,峰值速度達每秒10億次。1997年6月,國防科大研制成功銀河-III百億次并行巨型計算機系統(tǒng),采用可擴展分布共享存儲并行處理體系結(jié)構(gòu),由130多個處理結(jié)點組成,

16、峰值性能為每秒130億次浮點運算,系統(tǒng)綜合技術達到90年代中期國際先進水平。 1995年,曙光公司推出了國內(nèi)第一臺具有大規(guī)模并行處理機(MPP)結(jié)構(gòu)的并行機曙光1000(含36個處理機),峰值速度每秒25億次浮點運算。1997至1999年,曙光公司先后在市場上推出具有機群結(jié)構(gòu)(Cluster)的曙光1000A、曙光2000-I和曙光2000-II等超級服務器,峰值計算速度已突破每秒1000億次浮點運算。2000年,曙光公司推出每秒3000億次浮點運算的曙光3000超級服務器。2003年,百萬億次數(shù)據(jù)處理超級服務器曙光4000L通過國家驗收,再一次刷新國產(chǎn)超級服務器的歷史紀錄,使得國產(chǎn)高性能機產(chǎn)

17、業(yè)再上一個新臺階。知識拓展:摩爾定律摩爾定律是前英特爾聯(lián)合創(chuàng)始人戈登.摩爾(Gordon Moore)首先提出的,其內(nèi)容是指:集成電路(IC)芯片中所能集成的晶體管數(shù)量每18個月翻一番,性能也隨之提升一倍。 1.2 計算機的種類計算機按照其用途分為通用計算機和專用計算機。專用計算機主要是為某一專用領域設計的,在這一領域具有高性能或適應性,如一些專為圖像處理設計的計算機,具有很高的圖像處理速度;再如工控機,專為一些環(huán)境較為惡劣的工業(yè)控制領域而設計,具有防塵、防振、高可靠性等特點。通用計算機則不是專為某一領域而設計,它能適應各種應用的要求。 對計算機種類的劃分,更為傳統(tǒng)和更為普遍的方法是按照198

18、9年由IEEE科學巨型機委員會提出的運算速度分類法,將計算機分為巨型機、大型機、小型機、工作站和微型計算機。 1. 巨型計算機巨型機有極高的速度、極大的容量。主要應用于國防尖端技術、空間技術、大范圍長期性天氣預報、石油勘探等領域。目前這類機器的運算速度已超過每秒萬億次。這類計算機在技術上朝兩個方向發(fā)展:一是開發(fā)高性能器件,特別是縮短時鐘周期,提高單機性能;二是采用多處理器結(jié)構(gòu),構(gòu)成超級并行計算機,通常由100臺以上的處理器組成超級并行巨型計算機系統(tǒng),它們同時解算一個題目,來達到高速運算的目的。巨型機的研制水平、生產(chǎn)能力及其應用程度,已成為衡量一個國家經(jīng)濟實力與科技水平的重要標志。 2. 大型計

19、算機這類計算機具有很強的綜合處理能力,性能高,管理能力強。作為通用計算機,主要應用在政府、銀行、大公司、大企業(yè)等部門或行業(yè),作為中心數(shù)據(jù)庫服務器或應用服務器等,可同時可支持幾十個大型數(shù)據(jù)庫和支持上萬個用戶使用。 3. 小型計算機小型機相對大型機來說,規(guī)模更小、性能也次之。但由于其可靠性高、易于維護等特點,得到了廣泛應用。在七、八十年代,小型機的發(fā)展非常迅猛,很多行業(yè)和部門都使用了小型機,國際上一些大的計算機公司,如IBM、HP、DEC等紛紛推出了自己的小型機系列。從九十年代開始,隨著微型計算機的性能不斷提高和成本不斷降低,小型機市場受到了很大沖擊,一些原來使用小型機的場合被高性能微機服務器所取

20、代。目前,小型機主要采用的是基于RISC技術的CPU和類UNIX操作系統(tǒng)。4. 微型計算機1971 年,美國Intel公司生產(chǎn)出了世界上第一塊微處理器芯片Intel4004,1981年美國IBM公司使用Intel8088微處理器生產(chǎn)了具有里程碑意義的微型計算機IBM PC,從而揭開了微型計算機大發(fā)展的序幕。微型機技術在短短20多年的時間里發(fā)展迅猛,平均每兩年芯片的集成度可提高一倍,從而使得性能提高,價格降低。平均23年產(chǎn)品就更新?lián)Q代一次,幾乎每個月都有相關周邊新產(chǎn)品出現(xiàn)。隨著Internet的普及,微型計算機已經(jīng)像家用電器一樣走向千家萬戶。5. 工作站工作站也是一臺獨立的計算機,性能一般介于小

21、型機和微型機之間。它往往作為獨立的機器(或聯(lián)網(wǎng))應用于一些具有特殊要求的領域,如電影動畫特技制作和制造業(yè)機械CAD就廣泛使用了圖形工作站。 知識拓展:計算機系統(tǒng)性能評測 1. TPC評測體系TPC(Transaction processing Performance Council,事務處理性能委員會)是由數(shù)十家會員公司創(chuàng)建的非盈利組織,總部設在美國。TPC的成員主要是計算機軟硬件廠家,而非計算機用戶,其功能是制定商務應用基準程序的標準規(guī)范、性能和價格度量,并管理測試結(jié)果的發(fā)布。 TPC不給出基準程序的代碼,而只給出基準程序的標準規(guī)范。任何廠家或其他測試者都可以根據(jù)規(guī)范,最優(yōu)地構(gòu)造出自己的測試

22、系統(tǒng)(測試平臺和測試程序)。為保證測試結(jié)果的完整性,被測試者(通常是廠家)必須提交給TPC一套完整的報告,包括被測系統(tǒng)的詳細配置、分類價格和包含5年維護費用在內(nèi)的總價格。該報告必須由TPC授權的審核員核實。TPC在全球只有不到10名審核員,全部在美國。 2. SPEC評測體系 SPEC指標體系由Standard Performance Evaluation Corp.制定,被引用最廣泛的指標主要包括針對CPU性能的SPEC CPU2000和針對Web服務器的SPECweb2005等。 SPEC CPU2000 是一組針對 CPU 和內(nèi)存的測試,它主要測試的對象是 CPU、內(nèi)存。SPEC CPU

23、2000 由許多源代碼程序組成,分成“整數(shù)”和“浮點數(shù)”兩組。SPECint2000 就是“整數(shù)”部分,而 SPECfp2000 則是“浮點數(shù)”部分?!罢麛?shù)”部分有 12 個程序,使用 C 或 C+ 語言,它們不使用CPU的浮點單元;而“浮點數(shù)”部分有 14 個程序,使用 FORTRAN 77/90 和C語言,這些程序的主要運算是浮點數(shù)的。 SPECint2000 和 SPECfp2000 的結(jié)果,以執(zhí)行時間為準。每個程序的執(zhí)行時間和一個參考平臺(Sun Ultra5/10 300MHz)相比,計算出其倍數(shù)。如果執(zhí)行時間和參考平臺相同,結(jié)果就是100。如果只花了一半時間完成,結(jié)果就是200。“

24、整數(shù)”的12 個程序的結(jié)果,取其平均值,得到的就是SPECint2000 的測試結(jié)果?!案↑c數(shù)”的 14 個程序也是一樣。SPEC web2005測試的原理是,通過多臺客戶機向服務器發(fā)出http Get請求,請求調(diào)用Web服務器上的網(wǎng)頁文件,這些文件從數(shù)千字節(jié)到數(shù)兆字節(jié)不等。在相同的時間里,服務器回答的請求越多,就表明服務器對客戶端的處理能力越強,系統(tǒng)的Web性能就越好。1.3 計算機的基本組成計算機經(jīng)歷了幾十年的發(fā)展,雖然性能越來越高,適應各種應用的產(chǎn)品越來越豐富,但從其基本的硬件組成上講,仍然采用的是當初馮諾依曼(Von Neumann)結(jié)構(gòu)進行設計的。無論是巨型機、大型機還是小型機、微型

25、機,它們主要的不同在于性能的高低,而從硬件組成上講是基本相同的。 1981年IBM公司生產(chǎn)的IBM PC Intel8088CPU,4.77MHz64KB內(nèi)存640480分別率單色顯示器5”軟驅(qū) 鍵盤DOS操作系統(tǒng)現(xiàn)代PC機Intel雙核CPU512M DDRII內(nèi)存160G 7200轉(zhuǎn)高速 SATA硬盤19”寬屏液晶顯示器10/100M集成網(wǎng)卡光電鼠標/ 人體工學程功能鍵盤高品質(zhì)音響系統(tǒng)Windows Vista操作系統(tǒng)PC機主機板CPU插座PCI總線插槽內(nèi)存條插座顯卡插槽鍵盤鼠標接口串行接口并行接口顯示器接口LAN接口USB接口音頻插孔電源接口硬盤、光驅(qū)接口計算機硬件組成 主板CPU顯示接

26、口內(nèi)存鍵盤接口鼠標接口磁盤接口串行接口并行接口串行設備并行設備從功能結(jié)構(gòu)上講,計算機硬件主要由CPU、存儲器、輸入輸出接口及設備三大部分組成。從設計和實現(xiàn)上講,CPU、存儲器(目前在計算機中是以內(nèi)存條的方式出現(xiàn))直接插在主板上,同時在主板上還集成了一些輸入輸出接口電路。顯示器作為標準輸出設備,鍵盤和鼠標則作為標準輸入設備,分別與主板上對應的接口相連。另外,磁盤(包括軟盤和硬盤)、光盤等從功能上講屬于計算機的輔助存儲器(第4章詳細介紹),但從操作系統(tǒng)的角度上講,是將它們作為輸入輸出設備進行管理的。 另外,CPU、存儲器和輸入輸出接口及設備間需要進行數(shù)據(jù)的通信,因此,它們之間需要通過某種方式連接起

27、來。在現(xiàn)代計算機中,普遍采用的是一種總線連接方式,如圖1-12所示。CPU存儲器I/O接口I/O接口I/O設備I/O設備總線圖1-12 計算機硬件之間的總線連接1運算器運算器就是計算機內(nèi)用于完成各種運算的部件,其基本結(jié)構(gòu)如圖1-13所示。 運算器中有一個核心部件算術邏輯運算單元ALU,它能完成各種算術運算和邏輯運算。最基本的算術運算主要包括加、減、乘、除等,邏輯運算主要包括與、或、非、異或及移位運算等。ALU一般有兩個輸入端,它能一次完成兩個操作數(shù)的運算。另外在運算器中還會設置一些通用寄存器R,用于暫時存放運算中產(chǎn)生的中間結(jié)果。2控制器控制器是計算機的指揮中心,它按照人們預先編好的程序進行工作

28、,根據(jù)程序中指令的要求,有序地向計算機中各個部件發(fā)出控制信號,使計算機中各個部件有條不紊地工作,從而完成指令所要求的功能??刂破鞯幕窘Y(jié)構(gòu)如圖1-14所示。在控制器中主要包括程序計數(shù)器PC、指令寄存器IR、指令譯碼器ID、地址生成器AG、地址寄存器AR、數(shù)據(jù)寄存器DR、時序部件CP和控制信號產(chǎn)生部件等。程序計數(shù)器PC(Program Counter)實際上是一個地址寄存器,其中存放的是下一條要執(zhí)行的指令在存儲器中的單元地址。 指令寄存器IR(Instruction Register)主要用于存放由PC指向的從存儲器中取出的指令代碼。指令寄存器一般為一個指令字長,它主要由兩個字段組成,一是指令操

29、作碼OP字段,二是操作數(shù)或轉(zhuǎn)移地址Addr字段。OP字段用于指出該指令是一條什么樣的指令,如加法、移位等;Addr字段根據(jù)指令的不同功能有所不同,對于順序指令,Addr字段用于指出操作數(shù)的類型及存放的位置或地址,而對于轉(zhuǎn)移或轉(zhuǎn)子指令,Addr字段則用于指出要轉(zhuǎn)向的指令的地址。指令譯碼器ID(Instruction Decoder)用于對指令寄存器中的OP字段進行譯碼,并將譯碼結(jié)果輸出給控制信號產(chǎn)生部件,如圖1-16所示。 地址生成器AG(Address Generator)主要用于生成操作數(shù)在存儲器中的單元地址,從而為取該操作數(shù)做好準備。地址寄存器AR(Address Register)主要有

30、兩個用途:一是用于存放由地址生成器按尋址方式進行計算得到的操作數(shù)在存儲器中的地址;二是用于存放由當前轉(zhuǎn)移或轉(zhuǎn)子指令產(chǎn)生的要轉(zhuǎn)向的指令的地址。 最后,所有指令的執(zhí)行都是在一定的操作控制信號的控制下完成的,操作控制信號產(chǎn)生部件就是根據(jù)指令譯碼的結(jié)果產(chǎn)生當前指令執(zhí)行過程中所需的全部操作控制信號,這些控制信號在時序部件產(chǎn)生的時序下按照一定的順序逐個產(chǎn)生,從而控制不同的部件完成相應的操作。3存儲器存儲器是計算機重要的組成部件之一,主要用來存儲程序和數(shù)據(jù)。從物理上講,存儲器是由具有一定記憶功能的物理器件構(gòu)成的,如目前計算機內(nèi)存普遍采用的半導體存儲器和計算機外存采用的磁介質(zhì)存儲器或光存儲器等。這些物理器件是

31、通過自身的一些物理特性來表示和存儲二進制0、1信息的。從邏輯上講,存儲器是由一個個存儲單元構(gòu)成的,它也正是利用這一個個的存儲單元來存儲或記憶二進制信息的。存儲器所有存儲單元的總數(shù)稱為存儲器的存儲容量,通常用單位KB(K字節(jié))、MB(M字節(jié))、GB(G字節(jié))等表示,存儲容量越大,表示存儲器能夠存儲記憶的信息量越大。4輸入輸出接口與設備輸入輸出系統(tǒng)由輸入輸出設備和與設備配套的適配器(Adaptor)或接口電路組成。計算機的輸入輸出設備又稱為外圍設備,它們主要完成人機間的信息交換。由于輸入輸出設備種類繁多,在處理速度、數(shù)據(jù)格式、機械及電器特性等方面差異較大,因此,CPU與輸入輸出設備間的數(shù)據(jù)交換通常

32、是通過相應輸入輸出適配器(又稱輸入輸出接口)來實現(xiàn)的。1.4 計算機語言計算機語言按照與硬件相關程度由高到低分為機器語言、匯編語言和高級語言。 高級語言是與機器無關的程序設計語言,采用一種更接近自然的表達方式表示數(shù)據(jù)的運算和程序的控制結(jié)構(gòu)等 匯編語言是一種采用助記符表示的程序設計語言。匯編語言的指令和機器語言的指令在很大程度上是一一對應的。 機器語言屬于硬件機器級語言,是一種用二進制代碼表示的能夠被計算機硬件直接識別和執(zhí)行的語言。 高級語言匯編語言機器語言1.5 計算機系統(tǒng)的分層組織結(jié)構(gòu)從一般使用者的角度來看,計算機系統(tǒng)是由硬件和軟件組成的,而計算機軟件根據(jù)其在計算機系統(tǒng)中所起的作用又可進一步

33、分為系統(tǒng)軟件和應用軟件。系統(tǒng)軟件是指能夠?qū)τ嬎銠C硬件資源進行管理,對用戶方便使用計算機硬件資源提供服務的軟件,其核心就是操作系統(tǒng)。應用軟件則是人們使用各種計算機語言為解決各種應用問題而編制的程序。因此,從這一層面上看,計算機系統(tǒng)自下而上可以看成是由三個層次構(gòu)成的,即:計算機硬件、系統(tǒng)軟件和應用軟件, 從計算機設計者的角度看,計算機系統(tǒng)可以進一步劃分為不同的層次來實現(xiàn)其功能。這種劃分可以看成是概念上的劃分。我們可以設想計算機是按照不同的層次結(jié)構(gòu)來建造的。這里的每一個層次都實現(xiàn)某項特定功能,并有一個特定的假想機器與之對應。對應計算機的每一個層次的這種假想機器稱之為虛擬機。每一層的虛擬機都執(zhí)行自己特

34、有的指令集,必要時還可以調(diào)用較低層次的虛擬機來完成各種任務。如圖1-17是一個業(yè)界普遍接受的代表不同抽象的虛擬機器的計算機組織結(jié)構(gòu)層次圖。 從功能上講,任何可以利用軟件實現(xiàn)的功能也可以利用硬件實現(xiàn),反之,任何可以利用硬件實現(xiàn)的功能同樣也可以利用軟件實現(xiàn),這就是所謂硬件和軟件等效原理。當研制一臺計算機的時候,設計者必須明確軟硬件的功能劃分。隨著大規(guī)模集成電路和計算機體系結(jié)構(gòu)的發(fā)展,由硬件實現(xiàn)的功能范圍逐步擴大,這也就使計算機的處理速度越來越快,性能越來越高。本章小結(jié)本章主要講述了以下內(nèi)容:1. 計算機的發(fā)展歷程。從機械計算機發(fā)展到電子計算機,電子計算機按所使用電子器件劃分年代:電子管計算機、晶體

35、管計算機、中小規(guī)模集成電路計算機和大規(guī)模超大規(guī)模集成電路計算機。2. 計算機的種類。按照1989年由IEEE科學巨型機委員會提出的運算速度分類法,將計算機分為巨型機、大型機、小型機、工作站和微型計算機。3. 計算機的硬件組成。主要包括中央處理器CPU、存儲器和輸入輸出系統(tǒng),CPU主要由運算器和控制器組成,這也是馮諾依曼提出的計算機組成結(jié)構(gòu)。4. 計算機語言。由低到高分為機器語言、匯編語言和高級語言。5. 計算機的層次結(jié)構(gòu)。從計算機的基本硬件開始分為數(shù)字邏輯層、控制層、機器層、系統(tǒng)軟件層、匯編語言層、高級語言層和用戶層。優(yōu)點配置數(shù)據(jù)源負責系統(tǒng)與數(shù)據(jù)庫的連接。創(chuàng)建SessionFactory實例完

36、成實體映射。聲明事務管理聲明式事務管理,配置Bean的方法的事務處理策略。123前端UI設計UI功能設計后端類及接口設計后端類及接口實現(xiàn)前端功能實現(xiàn)循環(huán)圖文本文本文本文本文本循環(huán)名稱添加文本流程圖階段 1階段 2階段 3表文本文本文本文本文本標題 A標題 B標題 C標題 D標題 E標題 F三維餅圖文本文本文本文本文本文本市場分析圖標題文本文本文本文本第2章 數(shù)據(jù)的機器級表示及運算本章結(jié)構(gòu)12.1 數(shù)制及轉(zhuǎn)換22.2 數(shù)值數(shù)據(jù)的機器表示32.3 非數(shù)值數(shù)據(jù)的機器表示52.5 浮點數(shù)的運算42.4 定點數(shù)的運算及實現(xiàn)62.6 數(shù)據(jù)校驗碼2.1 數(shù)制及轉(zhuǎn)換進位計數(shù)制 :將數(shù)字符號按序排列成數(shù)位,并遵

37、照某種由低位到高位的進位方式計數(shù)來表示數(shù)值的方法,稱為進位計數(shù)制,簡稱計數(shù)制。無論使用哪種進位計數(shù)制,數(shù)值的表示都包含兩個基本要素:基數(shù)和位權。一種進位計數(shù)制允許使用的基本數(shù)字符號的個數(shù)稱為這種進位計數(shù)制的基數(shù)。一般而言,K進制數(shù)的基數(shù)為K,可供選用的基本數(shù)字符號有K個,它們分別為0K-1,每個數(shù)位計滿K就向其高位進1,即“逢K進1”。進位計數(shù)制中每位數(shù)字符號所表示的數(shù)值,等于該數(shù)字符號值乘以一個與數(shù)字符號所處位置有關的常數(shù),這個常數(shù)就稱為位權,簡稱權。位權的大小是以基數(shù)為底、數(shù)字符號所處位置的序號為指數(shù)的整數(shù)次冪。各數(shù)字符號所處位置的序號計法為:以小數(shù)點為基準,整數(shù)部分自右向左依次為0、1、

38、 遞增,小數(shù)部分自左向右依次為-1、-2、 遞減。任何進制數(shù)的值都可以表示成該進制數(shù)中各位數(shù)字符號值與相應位權乘積的累加和形式,該形式稱為按權展開的多項式和。一個K進制數(shù)(N)K,用按權展開的多項式和形式可表示為:(N)KDmKm +Dm-1Km-1 + +D1K1 +D0K0+D-1K-1 +D-2K-2 + +D-nK-n 二進制數(shù) :二進制的基數(shù)為2,只有0和1兩個數(shù)字符號,計數(shù)“逢二進一”。用按權展開的多項式和形式可表示為: (N)2Dm2m +Dm-12m-1 + +D121 +D020+D-12-1 +D-22-2 + +D-n2-n 計算機內(nèi)部采用二進制表示,具有以下優(yōu)點:技術容

39、易實現(xiàn)。運算規(guī)則簡單。與邏輯量吻合。 十六進制數(shù):十六進制的基數(shù)為16,由09、AF共16個數(shù)字、字母符號組成。其中,09共10個數(shù)字符號含義與十進制數(shù)相同,AF共6個字母符號的值分別對應十進制數(shù)的1015,計數(shù)“逢十六進一”。用按權展開的多項式和形式可表示為: (N)16Dm16m +Dm-116m-1 + +D1161 +D0160+D-116-1 +D-216-2 + +D-n16-n 八進制數(shù):八進制的基數(shù)為8,由07共8個數(shù)字組成,計數(shù)“逢八進一”。用按權展開的多項式和形式可表示為: (N)8Dm8m +Dm-18m-1 + +D181 +D080+D-18-1 +D-28-2 +

40、+D-n8-n 數(shù)制的轉(zhuǎn)換1. 二進制數(shù)、十六進制數(shù)轉(zhuǎn)換成十進制數(shù)“加權求和法”具體方法為:將要轉(zhuǎn)換的二進制數(shù)或十六進制數(shù)表示成按權展開的多項式和的形式,然后逐項相加,所得的和值便是對應的十進制數(shù)。2. 十進制數(shù)轉(zhuǎn)換成二進制數(shù)十進制數(shù)的整數(shù)部分采用“除2取余”法進行轉(zhuǎn)換。具體方法為:將要轉(zhuǎn)換的十進制整數(shù)除以二進制的基數(shù)2,取商的余數(shù)作為二進制整數(shù)最低位的系數(shù)K0,繼續(xù)將商的整數(shù)部分除以2,再取商的余數(shù)作為二進制整數(shù)次低位的系數(shù)K1,這樣依次相除,直至商為0為止,最后一位余數(shù)作為二進制整數(shù)最高位的系數(shù)Kn。余數(shù)序列KnKn-1K1K0便構(gòu)成了對應的二進制數(shù)。第二代:晶體管計算機 2. 十進制數(shù)轉(zhuǎn)

41、換成二進制數(shù)十進制的小數(shù)部分采用“乘2取整法”進行轉(zhuǎn)換。具體方法為:將要轉(zhuǎn)換的十進制小數(shù)部分乘以二進制的基數(shù)2,取積的整數(shù)部分作為二進制小數(shù)的最高位的系數(shù)K-1,繼續(xù)將積的小數(shù)部分乘以2,再取積的整數(shù)部分作為二進制小數(shù)次高位的系數(shù)K-2,這樣依次相乘,直至積的小數(shù)部分為0或達到所需精度為止,最后一位積的整數(shù)部分作為二進制小數(shù)最低位的系數(shù)K-m。積的整數(shù)部分序列0.K-1 K-2K-m+1K-m便構(gòu)成了對應的二進制數(shù)。 3. 二進制數(shù)與十六進制數(shù)的相互轉(zhuǎn)換十六進制數(shù)與二進制數(shù)存在著簡單的轉(zhuǎn)換關系,每1位十六進制數(shù)正好對應4位二進制數(shù)。以小數(shù)點為界,整數(shù)部分向左、小數(shù)部分向右分成4位一組,各組分別

42、用對應的一位十六進制數(shù)表示,即可得到所求的十六進制數(shù)。兩頭的分組不足4位時,在小數(shù)點左邊的高位和小數(shù)點右邊的低位可用0補足。 2.2 數(shù)值數(shù)據(jù)的機器表示所謂數(shù)據(jù)的機器數(shù)表示是指計算機硬件能夠直接表示、存儲和處理的數(shù)據(jù)形式。數(shù)值數(shù)據(jù)是一種帶符號數(shù),即有正負之分。在計算機中,數(shù)的符號(+或-)和數(shù)的值一樣都要采用二進制0、1編碼。對數(shù)值數(shù)據(jù)的編碼表示常用的有原碼、補碼、反碼和移碼表示等。為了區(qū)分一般書寫時表示的數(shù)和機器中編碼表示的數(shù),我們稱前者為真值,后者為機器數(shù)。機器數(shù)包含兩部分:符號位和數(shù)值部分。1. 原碼表示法具體表示方法是:符號位表示該數(shù)的符號,正(+)用“0”表示,負(-)用“1”表示,

43、而數(shù)值部分保持與其真值相同。 純小數(shù)的原碼表示:設純小數(shù)的原碼形式為0.12 n,則原碼表示的定義為:原 10 1-1+| 0-1純整數(shù)的原碼表示:設純整數(shù)的原碼形式為012 n,則原碼表示的定義為:原 2n0 2n-2n +| 0-2n原碼表示法的優(yōu)點是比較直觀、簡單易懂,但它的最大缺點是加法運算復雜。這是因為,當兩數(shù)相加時,如果是同號則數(shù)值相加;如果是異號,則要進行減法。而在進行減法運算時,還要比較絕對值的大小,然后減去小數(shù),最后還要給結(jié)果選擇恰當?shù)姆?。顯然,利用原碼作加減法運算是不太方便的。另外,原碼的零是不唯一的。 2. 補碼表示法補碼表示法是計算機中實際采用的一種編碼方法,與原碼表

44、示相同的是,其符號位表示該數(shù)的符號,正(+)用“0”表示,負(-)用“1”表示,但數(shù)值部分有所不同。純小數(shù)的補碼表示:設純小數(shù)的原碼形式為0.12 n,則補碼表示的定義為:補 10 2+2-| 0-1純整數(shù)的補碼表示:設純整數(shù)的原碼形式為012 n,則補碼表示的定義為:補 2n0 2n+1 +2n+1-| 0-2n補碼有兩條重要的性質(zhì):補碼的零是唯一的。補碼的減法可以化為加法實現(xiàn),即: X+Y補X補+Y補 X-Y補X補+-Y補反碼表示法中,符號的表示法與原碼相同;而對于數(shù)值部分,正數(shù)的反碼與正數(shù)的原碼數(shù)值部分相同,負數(shù)的數(shù)值部分則通過將負數(shù)原碼的數(shù)值部分各位取反(0變1,1變0)得到。 3.

45、反碼表示法純小數(shù)的反碼表示:設純小數(shù)的原碼形式為0.12 n,則反碼表示的定義為:反 10 2-2-n +2-| 0-1純整數(shù)的補碼表示:設純整數(shù)的原碼形式為012 n,則補碼表示的定義為:反 2n0 2n+1-1+ 0-2n通過比較小數(shù)與整數(shù)的反碼與補碼的公式可得到:補反+2-n (0 x-1)補反+1 (0 x-2-n)這兩個公式告訴我們,若要將一個負數(shù)用補碼表示,其方法是:符號位置1,數(shù)值部分各位變反,末位加1。4. 移碼表示法移碼主要用于表示我們后面要講到的浮點數(shù)的階碼,而且通常表示的是純整數(shù)。對于純整數(shù)012 n,移碼表示的定義是: 移2n+x (2nx-2-n) 定點數(shù)和浮點數(shù) 我

46、們?nèi)粘1硎镜臄?shù)據(jù)類型主要有兩種:一是一般的數(shù)據(jù)表示形式,如125、98.6等;二是科學記數(shù)法表示的數(shù)據(jù)形式,如1.25108等。這兩種數(shù)據(jù)類型對應在計算機中的表示形式就是定點數(shù)和浮點數(shù)。1. 定點數(shù)的表示方法所謂定點數(shù)是指數(shù)據(jù)的小數(shù)點位置是固定不變的。在計算機中,定點數(shù)主要分為兩種:一是定點整數(shù),即純整數(shù);二是定點小數(shù),即純小數(shù)。假設用一個n+1位二進制來表示一個定點數(shù)x,其中一位0用來表示數(shù)的符號位,其余n位數(shù)代表它的數(shù)值。這樣,對于任意定點數(shù)012 n,其在機器中的定點數(shù)表示如下: 符號01 2 . . . n 數(shù)值如果數(shù)x表示的是純小數(shù),那么小數(shù)點位于0和1之間,其數(shù)值范圍為:01-2-

47、n如果數(shù)x表示的是純整數(shù),那么小數(shù)點位于最低位n 的右邊,其數(shù)值范圍為:02n+1-12. 浮點數(shù)的表示方法在浮點數(shù)表示中,數(shù)據(jù)被分為兩部分:尾數(shù)和階碼。尾數(shù)表示數(shù)的有效數(shù)位,階碼則表示小數(shù)點的位置。加上符號位,浮點數(shù)據(jù)可以表示為:N(-1)SMRE 其中M是浮點數(shù)的尾數(shù),R是基數(shù),E是階碼,S是浮點數(shù)的符號位。在計算機中表示為: 數(shù)符尾數(shù)階碼階符E0E1 E2 . . . Em SM1 M2 . . . Mn 在計算機中,基數(shù)R取2,是個常數(shù),在系統(tǒng)中是約定的,不需要表示出來;階碼E用定點整數(shù)表示,它的位數(shù)越長,浮點數(shù)所能表示的數(shù)的范圍越大;尾數(shù)M用定點小數(shù)表示,它的位數(shù)越長,浮點數(shù)所能表示

48、的數(shù)的精度越高。3. 浮點數(shù)的IEEE754標準IEEE754標準從邏輯上采用三元組S,E,M表示一個浮點數(shù)N SEMN的實際值n由下列式子表示: n(-1)sm2e 其中n、s、e、m分別為N、S、E、M對應的實際數(shù)值。IEEE754標準規(guī)定了三種浮點數(shù)格式:單精度雙精度擴展精度。 單精度浮點數(shù)N共32位,其中S占1位,E占8位,M占23位。 22 030 2331SEM雙精度浮點數(shù)N共64位,其中S占1位,E占11位,M占52位。 51 062 5263SEM2.3 非數(shù)值數(shù)據(jù)的機器表示二進制編碼的十進制數(shù) 字符編碼 漢字的表示方法 1. 二進制編碼的十進制數(shù) 現(xiàn)代計算機除了能將我們?nèi)粘I?/p>

49、活中的十進制數(shù)轉(zhuǎn)換為上述二進制形式表示和處理外,還能直接使用二進制編碼的方式表示十進制數(shù)位,常用的表示方法就是二進制編碼的十進制數(shù)(Binary-Coded Decimal),簡稱BCD碼。BCD碼是將一個十進制數(shù)的每個十進制數(shù)字編碼成一個4位的二進制數(shù),并且使用了3個4位二進制編碼表示符號,其中1111表示無符號數(shù),1100表示正數(shù),而1101則表示負數(shù)。 十進制數(shù)字BCD編碼01234567890000000100100011010001010110011110001001正數(shù)負數(shù)無符號數(shù)110011011111因為一個十進制數(shù)字的BCD編碼只占一個4位的空間,所以在存儲一個十進制數(shù)串時可

50、以采取一種稱為壓縮十進制數(shù)串形式表示,具體方法:十進制數(shù)串的每個數(shù)字的BCD碼連續(xù)存儲,最后4位存儲符號。 【例2.12】利用壓縮的BCD編碼存儲-1265。 解:-1265的BCD編碼為:0001 0010 0110 0101 使用三個字節(jié)存儲,其中在最低位數(shù)字后面加上符 號,在高位補0,則有:0000 00010010 01100101 11012. 字符編碼 EBCDIC碼 ASCII碼 統(tǒng)一字符編碼標準 Unicode 2.4 定點數(shù)的運算及實現(xiàn) 定點數(shù)的加減運算 定點數(shù)的乘法運算定點數(shù)的除法運算1. 定點數(shù)的加減運算 在機器中,定點數(shù)是以補碼形式表示的,因此,我們這里主要介紹補碼的加

51、減運算。 補碼的加法運算 根據(jù)補碼的性質(zhì),我們可以得出以下結(jié)論:用補碼表示的兩個數(shù)相加,其結(jié)果仍為補碼;+ y 補補+ y 補;符號位與數(shù)值位一同參加運算。舉例補碼的減法運算根據(jù)補碼的性質(zhì),我們還可以得出以下結(jié)論:用補碼表示的兩個數(shù)相減,其結(jié)果仍為補碼;- y 補補+ -y 補;符號位與數(shù)值位一同參加運算。舉例補碼的減法運算可以轉(zhuǎn)換為加法實現(xiàn),所以計算時可以先求出-y的補碼,再做加法運算,這樣在機器中實現(xiàn)時,只需一個加法器即可完成加、減法運算,這也是計算機中使用補碼表示的主要原因之一。 二進制補碼加法器的實現(xiàn) 加法器的基本電路是實現(xiàn)一位加的全加器。全加器的輸入有三個:兩個相加數(shù)xi、yi和一個

52、低位來的進位位Ci+1;輸出有兩個:本位和zi和向高位的進位位Ci。 圖2-2 全加器經(jīng)邏輯設計化簡,可得如下輸入輸出關系式: zixiyiCi+1Cixiyi+(xi+yi)Ci+1 構(gòu)成一個多位的加法器可以將上述一位的全加器電路串聯(lián)起來,將最低位的進位輸入端置0,其余位的進位輸入端連接到低一位全加器的進位輸出端。低位的進位輸出像波的傳播一樣傳遞到高位,這樣的加法器電路稱為行波進位加法器,或串行進位加法器。 能同時實現(xiàn)補碼加、減法的加法器如圖所示。 0101010101-C1C2Ci+1Cnx0 x1xixn-1xnFa0MUXMUXMUXMUXMUXy0y1yiyn-1ynFa1FaiFa

53、n-1FanCn+1+寄存器B寄存器A行波進位加法器邏輯關系清晰,電路實現(xiàn)簡單。但由于其進位位是由低到高一位一位串行生成,因此,電路延遲時間長,運算速度慢。一種改進的方法是采用先行進位法,具體做法是:將n位相加的二進制位進行分組,每若干位分成一組,組內(nèi)所有位的進位位同時生成,組間則仍然是串行進位。通過這種多級分組的方法,可以大大提高加法器的運算速度。 十進制加法器的實現(xiàn) 二進制編碼的十進制數(shù)可以直接運算。但要注意的是,其運算結(jié)果需要進行修正。具體修正規(guī)則是:如果兩個一位BCD碼相加之和小于或等于(1001)2,即十進制9,則不需要修正;如相加之和大于(1001)2,則需要進行加6修正,并向高位

54、進位。 十進制加法器可在二進制加法器的基礎上加上適當?shù)摹靶U边壿媮韺崿F(xiàn),如圖是實現(xiàn)一位十進制BCD碼加法的單元電路。 加減運算的溢出判別 我們先來看兩個補碼運算的例子。 【例2.18】設0.1101,y0.0110,則有: + y 補補+ y 補0.1101補+0.0110補0.1101+0.01101.0011兩個正數(shù)相加結(jié)果怎么變成了負數(shù)? 【例2.19】設-0.1011,y-0.1001,則有: + y 補補+ y 補-0.1011補+-0.1001補1.0101+1.01110.1100兩個負數(shù)相加結(jié)果怎么變成了正數(shù)? 其實,在計算機中,任何種類的數(shù)據(jù)表示由于受到計算機字長的限制,其

55、表示的數(shù)據(jù)都是有一定范圍的。例如,8位二進制補碼表示的純整數(shù)的范圍是-128+127(即1000000001111111);16位二進制補碼表示的純整數(shù)的范圍是-4096+4095(即10000000000000000111111111111111)。 如果運算結(jié)果超出了表示范圍,則稱為產(chǎn)生了溢出。其中,若運算結(jié)果比最大的正數(shù)還大,則為正溢出;若運算結(jié)果比最小的負數(shù)還小,則為負溢出。 下面介紹三種溢出的判別方法。 (1)符號位判別法當符號相同的兩個數(shù)相加時,如果結(jié)果的符號與相加數(shù)的符號不同,則為溢出。溢出表達式:Vx0 y0 z0 +x0 y0 z0其中 x0、y0分別為兩個相加數(shù)的符號位,z

56、0為運算結(jié)果的符號位,若V1,則說明產(chǎn)生了溢出;若V0,則無溢出。(2)進位位判別法當兩個補碼相加時,如果符號位和數(shù)值部分最高位的進位位C0、C1不同,則為溢出,相同則未溢出。溢出表達式為:VC0C1其中C0、C1分別為結(jié)果的符號位和數(shù)值部分最高位的進位位 。(3)雙符號位法 兩個相加數(shù)均使用兩位符號位,00表示正數(shù),11表示負數(shù)。 當兩個正數(shù)相加時,若結(jié)果的兩個符號位相同,則無溢出;若不同,則有溢出,且為01時是正溢出,為10時是負溢出。溢出表達式為:Vz0z0 其中z0、z0為運算結(jié)果的兩個符號位。若V1,則說明產(chǎn)生了溢出;若V0,則無溢出。 進位位判別法和雙符號位判別法的邏輯實現(xiàn)分別如下

57、圖示。2. 定點數(shù)的乘法運算 分別介紹:原碼一位乘法補碼一位乘法原碼一位乘法原碼乘法是將符號位與數(shù)值部分分開進行運算,運算結(jié)果的數(shù)值部分是兩相乘數(shù)的數(shù)值部分之積,而符號位則是兩相乘數(shù)的符號位的異或。設原x0 x1 x2 xn, y 原y0 y1 y2 yn,則xy原(x0y0)|(x1 x2 xn)(y1 y2 yn) 先考察一下手工完成二進制乘的方法和步驟,見教材例2.20. 在計算機中實現(xiàn)乘法運算時,必須對手工過程進行如下調(diào)整:(1)硬件實現(xiàn)時需要使用三個寄存器分別存放乘數(shù)、被乘數(shù)和部分積。(2)機器中的運算器一般一次只能完成兩個數(shù)的相加,手工一次性相加可以改為逐次加。每次得到一個部分積,

58、最后一次的部分積即為乘積。(3)手工計算時,每次得到的位積都相對上一次位積左移一位,在計算機實現(xiàn)時,可以每次將部分積右移一位,部分積的最低位直送即可。(4)部分積右移時,將乘數(shù)寄存器同時右移一位,這樣一方面可以每次根據(jù)乘數(shù)寄存器的值決定本次位積的值(若最低位為1,則本次位積為被乘數(shù);若最低位為0,則本次位積為0);另一方面,乘數(shù)寄存器的最高位每次可以接受部分積右移出來的一位。(5)運算完成后,部分積寄存器和乘數(shù)寄存器中分別存放的是最后乘積的高半部和低半部。計算機實現(xiàn)原碼一位乘的過程見例2.21。 實現(xiàn)原碼一位乘的邏輯電路原理框圖 補碼一位乘法與原碼一位乘不同的是,補碼一位乘的兩個乘數(shù)和被乘數(shù)的

59、符號位是直接參加運算的。下面我們介紹一種布斯乘法,該算法是由布斯(Booth)最早提出的,故以其名字命名。布斯一位乘法的運算步驟如下:(1)初始部分積為0(2)根據(jù)乘數(shù)寄存器的最低兩位決定:若為00或11,則將上次部分積直接右移一位;若為01,則將上此部分積加補,然后右移一位;若為10,則將上此部分積加-補,然后右移一位。得到新部分積。(3)如此重復n+1步,最后一步不移位。3. 定點數(shù)的除法運算分別介紹:原碼一位除法補碼一位除法原碼一位除法原碼除法是將符號位與數(shù)值部分分開進行運算,商的數(shù)值部分是兩相除數(shù)的數(shù)值部分相除之后的結(jié)果,而商的符號位則是兩相除數(shù)的符號位的異或。設原x0 x1 x2 x

60、n, y 原y0 y1 y2 yn,則x/y原(x0y0)|(x1 x2 xn)/(y1 y2 yn) 先考察一下手工完成二進制除的方法和步驟,見教材例2.23。 在計算機中實現(xiàn)原碼一位除需要對手工過程做如下的改進。(1)硬件實現(xiàn)時需要使用三個寄存器分別存放被除數(shù)(余數(shù))、除數(shù)和商。(2)為使加法器的位數(shù)不增加,可以將手工中的右移除數(shù)改為左移余數(shù),左移出去的余數(shù)的高位都是無用的0,對運算不會產(chǎn)生任何影響。(3)手工中的商0或1是通過計算者用觀察比較的辦法確定的,而在計算機中,只能用做減法后判斷結(jié)果的符號位來確定。當差為負時,則商0,同時還應把除數(shù)加回到差上去,恢復余數(shù)為原來的正值之后再將其左移

溫馨提示

  • 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

提交評論