版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
完整的計(jì)算機(jī)系統(tǒng)由硬件(hardware)和軟件(software)兩大部分
(兩類資源)組成。計(jì)算機(jī)的硬件系統(tǒng)是計(jì)算機(jī)系統(tǒng)中的物理設(shè)備,是
一種高度復(fù)雜的、由多種電子線路、精密機(jī)械裝置等構(gòu)成的、能自動(dòng)并
且高速地完成數(shù)據(jù)計(jì)算的裝置或者工具。
計(jì)算機(jī)的軟件系統(tǒng)是計(jì)算機(jī)系統(tǒng)中的程序和相關(guān)數(shù)據(jù),包括完成計(jì)算機(jī)
資源管理、方便用戶使用的系統(tǒng)軟件(廠家提供),和完成用戶對(duì)數(shù)據(jù)
的預(yù)期處理功能的用戶軟件(用戶設(shè)計(jì)并自己使用)這樣兩大部分。
計(jì)算機(jī)的硬、軟件,二者相互依存,分工互動(dòng),缺一不可。硬件是計(jì)算
機(jī)系統(tǒng)中保存與運(yùn)行軟件程序的物質(zhì)基礎(chǔ),軟件則是指揮硬件完成預(yù)期
功能的智力部分。但是,計(jì)算機(jī)的硬件和軟件在邏輯功能上是等效的。
這就是說(shuō),由軟件實(shí)現(xiàn)的操作,在原理上是可以由硬件來(lái)實(shí)現(xiàn)。同樣,
由硬件實(shí)現(xiàn)的許多操作在原理上也可以由軟件的模擬來(lái)實(shí)現(xiàn)。
計(jì)算機(jī)硬件和軟件系統(tǒng)的組成關(guān)系(計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu))可以從如
圖1.1所示的六個(gè)層次來(lái)認(rèn)識(shí)。圖中最下面的2層(第0層數(shù)字邏輯
層、第1層微體系結(jié)構(gòu)層)屬于硬件部分,最上面的3層(第3層操
作系統(tǒng)層、第4層匯編語(yǔ)言層、第5層高級(jí)語(yǔ)言層)屬于軟件部分,
而中間的第2層指令系統(tǒng)層連接了硬件和軟件兩部分,與兩部分都有
密切關(guān)系。
第0層:數(shù)字邏輯層。這說(shuō)明實(shí)現(xiàn)計(jì)算機(jī)硬件的最重要的物質(zhì)材料是電
子線路,是能夠直接處理離散的數(shù)字信號(hào)數(shù)字邏輯電路。涉及到的計(jì)
算機(jī)硬件的基礎(chǔ)知識(shí)就是數(shù)字邏輯和數(shù)字門電路,使用何種電路實(shí)現(xiàn)
信息存儲(chǔ)、信息傳送以及信息運(yùn)算與加工,是這一層要解決的基本問(wèn)
題。
第1層:微體系結(jié)構(gòu)(microarchitecture)層,也可以稱其為計(jì)算機(jī)
裸機(jī)。計(jì)算機(jī)的核心功能是執(zhí)行程序,程序是按一定規(guī)則和順序組織
起來(lái)的指令序列。這一層體現(xiàn)的是,為了執(zhí)行指令,需要在計(jì)算機(jī)中
設(shè)置哪些功能部件(例如:存儲(chǔ)、運(yùn)算、輸入和輸出、接口和總線等
部件,以及控制器部件),每個(gè)部件又如何具體組成和怎樣運(yùn)行,這
些部件如何實(shí)現(xiàn)相互連接并協(xié)同工作等方面的知識(shí)和技術(shù)。
通常,計(jì)算機(jī)硬件系統(tǒng)由運(yùn)算器部件(數(shù)據(jù)通路)、控制器部件、存儲(chǔ)
器部件、輸入設(shè)備、輸出設(shè)備5部分組成。這個(gè)層次是計(jì)算機(jī)組成原理
的主要內(nèi)容。
第2層:指令系統(tǒng)(instructionset)層,它介于硬件和軟件之間。這
涉及到需要確定使用哪些指令,指令能夠處理的數(shù)據(jù)類型和對(duì)其運(yùn)算所
用的算法,每一條指令的格式和完成的功能,如何指出想要對(duì)其執(zhí)行
讀操作或者寫操作的存儲(chǔ)器的一個(gè)存儲(chǔ)單元,如何指出想要執(zhí)行輸入
或者輸出操作的一個(gè)外圍設(shè)備,對(duì)哪一個(gè)或二個(gè)數(shù)據(jù)進(jìn)行運(yùn)算,執(zhí)行
哪一種運(yùn)算、如何保存計(jì)算結(jié)果等。指令系統(tǒng)是計(jì)算機(jī)硬件系統(tǒng)設(shè)計(jì)、
實(shí)現(xiàn)的最基本和最重要的依據(jù),與計(jì)算機(jī)硬件實(shí)現(xiàn)的復(fù)雜程度、設(shè)計(jì)
程序的難易程度、程序占用硬件資源的多少、程序運(yùn)行的效率等都直接
相關(guān),說(shuō)到底,硬件系統(tǒng)就是要實(shí)現(xiàn)每一條指令的功能,能夠識(shí)別和
執(zhí)行由指令代碼序列組成的程序。當(dāng)然,指令系統(tǒng)與計(jì)算機(jī)軟件的關(guān)
系也十分密切,指令是用于設(shè)計(jì)程序的,到了計(jì)算機(jī)內(nèi)部,全部的程
序最終都是由指令系統(tǒng)所提供的指令代碼組成的,計(jì)算機(jī)硬件能夠直
接識(shí)別和執(zhí)行的只能是由指令代碼組成的程序。
第3層:操作系統(tǒng)(operatingsystem)層。它主要分擔(dān)計(jì)算機(jī)系統(tǒng)
中的資源管理與分配,也向使用者和程序設(shè)計(jì)人員提供簡(jiǎn)單、方便、
高效的服務(wù)。它是使用(直接或者間接)計(jì)算機(jī)硬件指令系統(tǒng)所提供
的指令設(shè)計(jì)出來(lái)的程序,并把一些常用功能以操作命令或者系統(tǒng)調(diào)用
的方式提供給使用人員。
第4層:匯編語(yǔ)言(assemblylanguage)層。計(jì)算機(jī)的硬件可以直
接識(shí)別、理解的,用電子線路容易處理的就是計(jì)算機(jī)的機(jī)器語(yǔ)言,又
稱為二進(jìn)制代碼語(yǔ)言,也就是計(jì)算機(jī)的指令。一臺(tái)計(jì)算機(jī)的全部指令構(gòu)
成該計(jì)算機(jī)的指令系統(tǒng)。由此可以看出,實(shí)質(zhì)上計(jì)算機(jī)的基礎(chǔ)硬件是
在機(jī)器語(yǔ)言的層次上被設(shè)計(jì)與實(shí)現(xiàn)的,并且可以直接識(shí)別和執(zhí)行的只能
是由機(jī)器語(yǔ)言構(gòu)成的程序。
匯編語(yǔ)言是對(duì)計(jì)算機(jī)機(jī)器語(yǔ)言的符號(hào)化處理(采用英文)的結(jié)果,再
增加一些為方便程序設(shè)計(jì)而實(shí)現(xiàn)的擴(kuò)展功能。與機(jī)器語(yǔ)言相比,匯編
語(yǔ)言至少有2大優(yōu)點(diǎn)。首先實(shí)現(xiàn)用英文單詞或其縮寫形式替代二進(jìn)制的
指令代碼,更容易為人們記憶和理解;其次是可以選用含義明確的英
文單詞來(lái)表示程序中用到的數(shù)據(jù)(常量和變量),并且避免程序設(shè)計(jì)
人員親自花費(fèi)精力為這些數(shù)據(jù)分配存儲(chǔ)單元。如果在此基礎(chǔ)上,還可
以在支持程序的不同結(jié)構(gòu)特性(如循環(huán)和重復(fù)執(zhí)行等結(jié)構(gòu)),子程序
所用形式參數(shù)替換為真實(shí)參數(shù)等方面提供必要的支持。
采用匯編語(yǔ)言設(shè)計(jì)的程序必須經(jīng)過(guò)一個(gè)叫做匯編程序的系統(tǒng)軟件進(jìn)行
翻譯,將其轉(zhuǎn)換為計(jì)算機(jī)的機(jī)器語(yǔ)言后,才能在計(jì)算機(jī)的硬件系統(tǒng)上
予以執(zhí)行。
第5層:高級(jí)語(yǔ)言層,高級(jí)語(yǔ)言又稱算法語(yǔ)言(algorithmlanguage),
它的實(shí)現(xiàn)思路,不再是過(guò)分地〃靠攏〃計(jì)算機(jī)硬件的指令系統(tǒng),而是
著重面向解決實(shí)際問(wèn)題所用的算法,為方便程序設(shè)計(jì)人員寫出自己解決
問(wèn)題過(guò)程的程序。目前常用的高級(jí)語(yǔ)言有BASIC.C、C++、,PASCAL、
JAVA、PROLOG等多種。
用這些高級(jí)語(yǔ)言設(shè)計(jì)出來(lái)的程序,通常需要經(jīng)過(guò)一個(gè)叫做編譯程序的軟
件編譯成機(jī)器語(yǔ)言程序,或者首先編譯成匯編程序后,再經(jīng)過(guò)匯編操
作后得到機(jī)器語(yǔ)言程序,才能在計(jì)算機(jī)的硬件系統(tǒng)上予以執(zhí)行;也可
以由一個(gè)叫做解釋執(zhí)行程序的軟件,逐條取來(lái)相應(yīng)高級(jí)語(yǔ)言程序的每個(gè)
語(yǔ)句并直接控制其完成執(zhí)行過(guò)程,而不是把整個(gè)程序編譯為機(jī)器語(yǔ)言
程序之后再交給硬件系統(tǒng)加以執(zhí)行,解釋執(zhí)行程序的最大缺點(diǎn)是運(yùn)行效
率比很低。
在高級(jí)語(yǔ)言層之上,還可以有應(yīng)用層,由解決實(shí)際問(wèn)題的處理程序組成,
例如文字處理軟件,數(shù)據(jù)庫(kù)軟件,網(wǎng)絡(luò)軟件,多媒體信息處理軟件,辦
公自動(dòng)化軟件等。
5.高級(jí)語(yǔ)言層
4.匯編語(yǔ)言層
t
3.操作系統(tǒng)層
2.指令系統(tǒng)層
t
0.數(shù)字邏輯層
圖1.1計(jì)算機(jī)系統(tǒng)層次結(jié)構(gòu)
運(yùn)算器是對(duì)數(shù)字信息進(jìn)行加工處理的部件,它用來(lái)對(duì)二進(jìn)制的數(shù)據(jù)進(jìn)行
算術(shù)運(yùn)算與邏輯運(yùn)算,故稱"算術(shù)邏輯運(yùn)算部件(ALU廠。運(yùn)算器主
要由寄存器和算術(shù)邏輯線路構(gòu)成。寄存器用來(lái)存放數(shù)據(jù),算術(shù)邏輯線路
主要是完成各種運(yùn)算功能。算術(shù)運(yùn)算是指加、減、乘、除四則運(yùn)算,而
各種運(yùn)算都可以歸結(jié)為加法與移位兩個(gè)基本操作,所以算術(shù)邏輯線路核
心部分是加法器。
存儲(chǔ)器是用來(lái)存放程序和數(shù)據(jù)的部件。計(jì)算機(jī)存儲(chǔ)系統(tǒng)一般分為主存儲(chǔ)
器和外存儲(chǔ)器。主存儲(chǔ)器由半導(dǎo)體存儲(chǔ)元件構(gòu)成,它存取速度快,但容
量小。而外存儲(chǔ)器通常由磁盤存儲(chǔ)器組成,它的存取速度慢,但是容量
大。在運(yùn)算過(guò)程中主存儲(chǔ)器直接與中央處理器(CPU)交換信息,而外
存儲(chǔ)器必須將它的信息傳送到主存儲(chǔ)器后才能由CPU來(lái)處理。
存儲(chǔ)器的基本構(gòu)成單元是存儲(chǔ)元件,存取信息是以一個(gè)單元來(lái)進(jìn)行的,
每個(gè)存取單元可以存放一串二進(jìn)制信息,各單元的位數(shù)相同。為了區(qū)分
存儲(chǔ)體內(nèi)的不同的存儲(chǔ)單元,通常將每個(gè)單元統(tǒng)一編號(hào),這個(gè)號(hào)碼稱為
存儲(chǔ)單元的“地址
整個(gè)存儲(chǔ)器是由存儲(chǔ)體、選址系統(tǒng)、讀寫系統(tǒng)、數(shù)據(jù)緩沖寄存器,以及
有關(guān)控制線路組成。存儲(chǔ)器的工作過(guò)程分為讀出過(guò)程與寫入過(guò)程。讀出
時(shí),將被選址存儲(chǔ)單元的內(nèi)容讀到數(shù)據(jù)緩沖寄存器,提供CPU使用。
寫入時(shí),將要寫入的信息送到數(shù)據(jù)緩沖寄存器中,然后寫入到被指定的
存儲(chǔ)單元內(nèi)。
控制器主要功能是根據(jù)預(yù)先編好的程序,不斷從主存中取出指令,分析
指令產(chǎn)生各種控制信號(hào),從而指揮協(xié)調(diào)計(jì)算機(jī)各部件自動(dòng)工作(執(zhí)行指
令)。
控制器最基本的組成部分有:指示指令執(zhí)行順序的程序計(jì)數(shù)器(PC),
寄存現(xiàn)行指令的指令寄存器(IR),分析指令的指令譯碼器(ID),產(chǎn)
生控制命令序列的控制信號(hào)形成部件。
輸入輸出設(shè)備是實(shí)現(xiàn)人與計(jì)算機(jī)之間相互聯(lián)系的部件,其主要功能是實(shí)
現(xiàn)人——機(jī)對(duì)話,數(shù)據(jù)的輸入與輸出,以及各種形式的數(shù)據(jù)變換等。
輸入設(shè)備的功能是向計(jì)算利崎入人們提供的程序和原始數(shù)據(jù),并將其轉(zhuǎn)
化成計(jì)算機(jī)能識(shí)別的信號(hào),存入存儲(chǔ)器中。輸入設(shè)備的種類很多,如鍵
盤、鼠標(biāo)、觸摸屏、掃描儀等。
輸出設(shè)備是將計(jì)算機(jī)加工處理過(guò)的二進(jìn)制信息轉(zhuǎn)換為用戶所需要的數(shù)
據(jù)形式的設(shè)備。它將計(jì)算機(jī)的信息以字符、圖形、表格等形式顯示打印
出來(lái)。輸出設(shè)備的種類有,如打印機(jī)、顯示器等。有些設(shè)備同時(shí)具有輸
入與輸出的功能,如磁盤、光盤、網(wǎng)絡(luò)設(shè)備等。
系統(tǒng)總線是構(gòu)成計(jì)算機(jī)系統(tǒng)的骨架,是上述多個(gè)系統(tǒng)部件之間進(jìn)行數(shù)據(jù)
傳送的公共通路。系統(tǒng)總線分為數(shù)據(jù)總線、地址總線、控制總線三類。
其中數(shù)據(jù)總線用于在這些部件或設(shè)備之間傳送數(shù)據(jù)信息(指令和數(shù)據(jù))
的電氣信號(hào);地址總線,用于在這些部件或設(shè)備之間傳送屬于地址信息
的電氣信號(hào),以選擇存儲(chǔ)部件中的一個(gè)存儲(chǔ)單元,或者外圍設(shè)備中的一
個(gè)設(shè)備方空制總線,用于向存儲(chǔ)部件和外圍設(shè)備傳送起控制作用的信號(hào),
也就是指定在CPU和這些部件或者設(shè)備之間數(shù)據(jù)傳送的方向以及操作
的性質(zhì)(讀操作還是寫操作)等。
計(jì)算機(jī)的5個(gè)功能部件正是通過(guò)這些總線被有機(jī)地連接在一起,從而構(gòu)
成一臺(tái)完整的、可以協(xié)調(diào)運(yùn)行(執(zhí)行程序)的計(jì)算機(jī)硬件系統(tǒng)。
圖1.2計(jì)算機(jī)硬件系統(tǒng)的組成示意圖
點(diǎn)擊圖片查看動(dòng)畫演示
在計(jì)算機(jī)中,普遍的體系結(jié)構(gòu)是由馮?諾依曼提出來(lái)的被稱之為存儲(chǔ)程序
的計(jì)算機(jī)體系結(jié)構(gòu),早期計(jì)算機(jī)的幾個(gè)部件是圍繞著運(yùn)算器部件來(lái)組織
的,如圖1.3(a)所示,其特點(diǎn)是在存儲(chǔ)器和輸入輸出設(shè)備之間傳送數(shù)
據(jù)都是經(jīng)過(guò)運(yùn)算器完成的。
在當(dāng)前流行的計(jì)算機(jī)中,更常用的方案則是圍繞著存儲(chǔ)器部件來(lái)組織,
如圖13(b)所示。兩個(gè)方案相比,并無(wú)實(shí)質(zhì)性的區(qū)別,只是使輸入
輸出操作盡可能地繞過(guò)CPU,直接在輸入輸出設(shè)備和存儲(chǔ)器系統(tǒng)之間
完成,以提高系統(tǒng)的整體運(yùn)行性能。
存儲(chǔ)器
原始
部件運(yùn)算
結(jié)果
I輸入運(yùn)算器輸出
輸出
設(shè)備??部件「設(shè)備?
設(shè)備
控制器H\
........I部件I........
方案(a)方案(b)
圖1.3計(jì)算機(jī)的組成結(jié)構(gòu)
字長(zhǎng)是指參與運(yùn)算的數(shù)的基本位數(shù)。它決定著寄存器、加法器、數(shù)據(jù)總
線等部件的位數(shù)。因?yàn)橹噶詈蛿?shù)據(jù)都存放在存儲(chǔ)器中,字長(zhǎng)與指令有著
密切的對(duì)應(yīng)關(guān)系。例如在32位字長(zhǎng)的計(jì)算磯系統(tǒng)中,一個(gè)整數(shù)、一條
指令通常都用32位二進(jìn)制數(shù)表示,叫做一個(gè)字,運(yùn)算器、存儲(chǔ)器、數(shù)
據(jù)和地址總線等通常都被設(shè)計(jì)成32位。字長(zhǎng)對(duì)計(jì)算機(jī)的處理能力和運(yùn)
行性能有明顯影響,字長(zhǎng)長(zhǎng)一點(diǎn)有利于提高計(jì)算機(jī)的性能,但需要使用
更多的硬件,計(jì)算機(jī)系統(tǒng)的價(jià)格也會(huì)高一些。
第一種方式使用CPU主頻,即CPU系統(tǒng)使用的時(shí)鐘脈沖的頻率(每一
秒鐘提供的時(shí)鐘脈沖的個(gè)數(shù)稱為赫茲Hz)來(lái)表示,例如500MHz。對(duì)
同一個(gè)型號(hào)的計(jì)算機(jī),其主頻越高,完成指令的一個(gè)執(zhí)行步驟所用的時(shí)
間越短,執(zhí)行指令的速度越快,但對(duì)不同廠家、不同系列的計(jì)算機(jī)系統(tǒng),
只用CPU主頻來(lái)說(shuō)明其運(yùn)行速度就未必準(zhǔn)確。
第二種方式使用CPU每一秒鐘能執(zhí)行的指令條數(shù),由于在計(jì)算機(jī)中用
于計(jì)算整數(shù)的指令和計(jì)算機(jī)浮點(diǎn)數(shù)(實(shí)數(shù))的指令執(zhí)行速度差異較大,
不同程序中這兩類指令所占的比例也有很大不同,為此人們還分別用
MIPS(每秒百萬(wàn)次整數(shù)運(yùn)算)、MFLOPS(每秒百萬(wàn)次浮點(diǎn)數(shù)運(yùn)算)
描述整數(shù)指令和浮點(diǎn)數(shù)指令的執(zhí)行速度,以便對(duì)比不同計(jì)算機(jī)系統(tǒng)的
CPU性能水平。
存儲(chǔ)器的容量,通常情況下用字節(jié)(Byte,8個(gè)二進(jìn)制位構(gòu)成一個(gè)字節(jié))
表示,32位的字由4個(gè)字節(jié)組成。存儲(chǔ)器的容量大,就可以保存更多
的信息,計(jì)算機(jī)運(yùn)行的速度就可以更快,相應(yīng)的硬件成本也就更高。
目前計(jì)算機(jī)的內(nèi)存容量由幾十、幾百兆字節(jié)(簡(jiǎn)寫為MB)、甚至幾十、
上百G字節(jié)(簡(jiǎn)寫為GB)組成。外存儲(chǔ)器的容量一般是幾十、幾百個(gè)
GB,采用陣列技術(shù)則可以得至熔量更大得多的外存儲(chǔ)器系統(tǒng)。
內(nèi)存儲(chǔ)器的讀寫周期是指啟動(dòng)連續(xù)的兩次讀寫操作所必需的時(shí)間間隔,
當(dāng)前的內(nèi)存儲(chǔ)器存取周期為幾十個(gè)納秒到一、二百個(gè)納秒(ns),讀寫
速度快的存儲(chǔ)器價(jià)格要貴一些,要合理選用。
通常把單位時(shí)間內(nèi)可以對(duì)磁盤設(shè)備讀寫的數(shù)據(jù)數(shù)量稱為設(shè)備的傳輸速
率(MB/S,兆字節(jié)徽),外存設(shè)備的傳輸速率是影響計(jì)算機(jī)系統(tǒng)性能
的一個(gè)重要因素,特別是用作為服務(wù)器之類計(jì)算機(jī)更是如此。目前磁盤
設(shè)備的傳輸速率可以達(dá)到33MB/S?200MB/S。這個(gè)速率不僅與設(shè)備本
身的性能有關(guān),與設(shè)備的接口性能和計(jì)算機(jī)總線設(shè)計(jì)也直接相關(guān)。在選
用磁盤陣列技術(shù)之后,其傳輸速率得到大幅度提高。
輸入輸出設(shè)備是計(jì)算機(jī)系統(tǒng)中比較復(fù)雜的部分,其組成和運(yùn)行原理各不
相同,與計(jì)算機(jī)主機(jī)的連接與控制方式也多有差異,在電子線路之外還
涉及到精密機(jī)械、光學(xué)、激光、電磁轉(zhuǎn)換等許多技術(shù)。不同的輸入輸出
設(shè)備的運(yùn)行速度各不相同,例如針式打印機(jī)每秒只能打印幾個(gè)字符,而
激光打印機(jī)則可以打印多行甚至幾頁(yè)打印紙的信息C
通常是指涉及機(jī)器語(yǔ)言或者匯編語(yǔ)言的程序設(shè)計(jì)人員所見(jiàn)到的計(jì)算機(jī)
系統(tǒng)的屬性,更多說(shuō)的是計(jì)算機(jī)的外特性,是硬件子系統(tǒng)的結(jié)構(gòu)概念及
其功能特性。計(jì)算機(jī)體系結(jié)構(gòu)主要研究硬件和軟件功能的劃分,確定硬
件和軟件的界面,即哪些功能應(yīng)劃分給硬件子系統(tǒng)完成,哪些功能應(yīng)劃
分到軟件子系統(tǒng)中完成。
對(duì)于目前的通用型機(jī)器,計(jì)算機(jī)體系結(jié)構(gòu)一般包括:
數(shù)據(jù)表示(計(jì)算機(jī)硬件能夠直接識(shí)別和處理的數(shù)據(jù)類型及其表示、存儲(chǔ)、
讀寫方式);
尋址方式(最小尋址單位、支持的尋址方式、表示和地址計(jì)算等);
寄存器組織(指令中使用的寄存器數(shù)量和表示方法);
指令系統(tǒng)(計(jì)算機(jī)的字長(zhǎng)一指令系統(tǒng)的組成,指令類別、格式和功能);
存儲(chǔ)系統(tǒng)(存儲(chǔ)器尋址方式、主存容量、最大尋址空間等);
中斷機(jī)構(gòu)(中斷的類型和處理流程);
機(jī)器工作狀態(tài)(計(jì)算機(jī)的運(yùn)行狀態(tài)的定義和切換);
機(jī)器級(jí)的輸入輸出紜構(gòu)(輸入輸出設(shè)備和CPU之間數(shù)據(jù)傳送的方式和
控制);
信息保護(hù)(系統(tǒng)中對(duì)各類信息的保護(hù),對(duì)各種運(yùn)行異常或者出錯(cuò)的檢測(cè)
和處理方案等)。
是依據(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)。為了實(shí)現(xiàn)相同的計(jì)算機(jī)體系結(jié)構(gòu)所要求的
功能,完全可以有多種不同的計(jì)算機(jī)組成設(shè)計(jì)方案。
在計(jì)算機(jī)組成的領(lǐng)域內(nèi),需要重點(diǎn)解決的問(wèn)題之一是合理的性能價(jià)格
比,關(guān)鍵的技術(shù)措施在于處理好計(jì)算機(jī)內(nèi)部的數(shù)據(jù)流和控制流,合理地
匹配各功能部件的性能參數(shù),也就是盡力避免因一個(gè)部件形成的“瓶頸”
問(wèn)題而影響計(jì)算機(jī)的整體性能。
是計(jì)算機(jī)組成的物理實(shí)現(xiàn)。包括中央處理機(jī)、主存儲(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ī)使用的元器件的不同,計(jì)算機(jī)系統(tǒng)的發(fā)展,依次經(jīng)歷了:
1.電子管時(shí)代(1946年——1958年)
電子管
1946年第一代
電子管電子計(jì)算機(jī)ENIAC
2.晶體管時(shí)代(1958年——1964年)
第二代晶體管電子計(jì)算機(jī)IBM7094
3.小規(guī)模集成電路時(shí)代(1964年—1975年)
4.大規(guī)模、超大規(guī)模集成電路時(shí)代(1975年——)
展勾史I
大規(guī)模集成電路1M
第四代大規(guī)模集成電路
微型機(jī)、筆記本?.平犍腦、IBM超級(jí)計(jì)算機(jī)
如果依據(jù)計(jì)算機(jī)所提供的功能和運(yùn)行性能來(lái)劃分,可以把計(jì)算機(jī)劃分為
巨型計(jì)算機(jī),大型計(jì)算機(jī),中小型計(jì)算機(jī)和微型計(jì)算機(jī),這種劃分標(biāo)準(zhǔn)
并不是絕對(duì)的,把一臺(tái)計(jì)算機(jī)劃分在哪一類中,和計(jì)算機(jī)發(fā)展的進(jìn)程密
切相關(guān),例如,現(xiàn)在的一臺(tái)微型計(jì)算機(jī)的功能和性能,可能比40年前
的大型計(jì)算機(jī)的功能還要強(qiáng)大,這是計(jì)算機(jī)發(fā)展進(jìn)步的重要成果和具體
表現(xiàn)。
計(jì)算機(jī)另外一種分類辦法是Flynn分類法,在1966年,M.J.Flynn
提出如下定義:
指令流(instructionstream)------機(jī)器執(zhí)行的指令序列。
數(shù)據(jù)流(datastream)——由指令流調(diào)用的數(shù)據(jù)序列,包括輸入數(shù)據(jù)
和中間色數(shù)據(jù)。
多倍性(multiplicity)——在系統(tǒng)中最受限制的元件上同時(shí)處于同一
執(zhí)行階段的指令或數(shù)據(jù)的最大可能個(gè)數(shù)。
他按照指令流和數(shù)據(jù)流的不同的組織方式,把計(jì)算機(jī)的系統(tǒng)結(jié)構(gòu)分為以
下4類:
(1)單指令流單數(shù)據(jù)流SISD(SingleInstructionstreamSingleData
stream);
(2)單指令流多數(shù)據(jù)流SIMD(SingleInstructionstreamMultiple
Datastream);
(3)多指令流單數(shù)據(jù)流MISD(MultipleInstructionstreamSingle
Datastream);
(4)多指令流多數(shù)據(jù)流MIMD(MultipleInstructionstream
MultipleDatastream)e
上面的第1種是傳統(tǒng)的指令順序執(zhí)行的處理機(jī)系統(tǒng),第2種以陣列
處理機(jī)或并行處理機(jī)為代表,第4種屬于多處理機(jī)系統(tǒng)。對(duì)第3種有不
同的看法,在有的文獻(xiàn)中把流水線結(jié)構(gòu)的計(jì)算機(jī)看作為MISD結(jié)構(gòu)。
計(jì)算機(jī)的發(fā)展進(jìn)步的另一個(gè)方面,表現(xiàn)在其應(yīng)用領(lǐng)域的擴(kuò)展和對(duì)社會(huì)變
革、進(jìn)步帶來(lái)的深刻影響。簡(jiǎn)單列舉如下。
1.科學(xué)計(jì)算:計(jì)算機(jī)作為計(jì)算工具,完成各種復(fù)雜的科學(xué)計(jì)算是它的
一個(gè)重要應(yīng)用方面,在科學(xué)研究、工程設(shè)計(jì)、天氣預(yù)報(bào)、地質(zhì)與石油勘
探等各個(gè)領(lǐng)域發(fā)揮著不可或缺的作用。
2.數(shù)據(jù)處理:計(jì)箕機(jī)作為數(shù)據(jù)處理工具,在政府辦公,企、事業(yè)單位
的管理等領(lǐng)域發(fā)揮重要作用。對(duì)政府大量的檔案和公文收發(fā)、保存和檢
索,業(yè)務(wù)信息的處理與辦公流程自動(dòng)化管理,信息分析與科學(xué)決策等方
面提供支持。對(duì)企業(yè)單位的人、財(cái)、物,購(gòu)、銷、存等信息的保存與管
理,市場(chǎng)預(yù)測(cè)和經(jīng)營(yíng)決策等方面提供支持。
3.自動(dòng)控制:計(jì)算機(jī)作為具有高速和靈活的邏輯處理能力的工具,廣
泛用于工業(yè)生產(chǎn)、航天發(fā)射等過(guò)程的實(shí)時(shí)控制,包括用于產(chǎn)品的輔助設(shè)
計(jì)(和輔助制造(
CAD)CAM)e
4.人工智能:計(jì)算機(jī)作為具有高速和靈活的邏輯處理和推理能力的工
具,在人工智能領(lǐng)域,完成諸如數(shù)學(xué)定理證明,自然語(yǔ)言理解,知識(shí)表
示和挖掘,密碼處理和破譯,智能機(jī)器人研制和應(yīng)用,計(jì)算機(jī)翻譯等需
要有一定邏輯推理的領(lǐng)域發(fā)揮決定性的作用。
5.網(wǎng)絡(luò)應(yīng)用:隨著計(jì)算機(jī)網(wǎng)絡(luò)的出現(xiàn)和發(fā)展,計(jì)算機(jī)已經(jīng)成為在寬廣
的范圍內(nèi)傳播信息和實(shí)現(xiàn)人員溝通的重要工具,出現(xiàn)了電子政府,電子
商務(wù),網(wǎng)絡(luò)教育,遠(yuǎn)程診斷,網(wǎng)上信息檢索等多種應(yīng)用,極大地改變了
人類的生活環(huán)境和交流方式。
1.二進(jìn)制碼
只使用〃0〃和〃1〃兩個(gè)基本符號(hào),在數(shù)值數(shù)據(jù)中選用〃逢二進(jìn)一〃的
進(jìn)位規(guī)則,這是二進(jìn)制碼的基本特點(diǎn)。計(jì)算機(jī)內(nèi)部普遍使用二進(jìn)制碼來(lái)
表示各種數(shù)據(jù),這是因?yàn)椋?/p>
①很容易找到表示和區(qū)分二進(jìn)制碼的和〃1〃兩個(gè)符號(hào)的物理器
件;
②〃0〃和兩個(gè)符號(hào)可以很好地對(duì)應(yīng)邏輯型數(shù)據(jù)的〃假〃和〃真〃
兩個(gè)值;
③用二進(jìn)制碼表示的數(shù)值型數(shù)據(jù)的運(yùn)算規(guī)則最簡(jiǎn)單。
各種不同類型的數(shù)據(jù),包括數(shù)值、邏輯值、文本、圖像、聲音和視頻等
多種信息,在計(jì)算機(jī)系統(tǒng)內(nèi)部都必須采用二進(jìn)制代碼的和〃1〃來(lái)
表示。對(duì)于數(shù)值類型的數(shù)據(jù),在日常生活中通常使用帶正、負(fù)號(hào)的十進(jìn)
制數(shù)來(lái)表示,如123.456、-789等,這就勢(shì)必遇到和計(jì)算機(jī)內(nèi)部選用
的二進(jìn)制數(shù)或采用二進(jìn)制編碼的十進(jìn)制數(shù)(BinaryCodedDecimal
Number,簡(jiǎn)稱BCD碼)之間的數(shù)制轉(zhuǎn)換問(wèn)題。
2.數(shù)制與進(jìn)位計(jì)數(shù)法
在采用進(jìn)位計(jì)數(shù)的數(shù)字系統(tǒng)中,如果只用r個(gè)基本符號(hào)(例如0,12…
r-1)、通過(guò)排列起來(lái)的符號(hào)串表示數(shù)值,則稱其為基r數(shù)制(Radix-r
NumberSystem),r稱為數(shù)制的基數(shù)(Radix)。假定用m+k個(gè)自左向
右排列的符號(hào)Di(i是位序號(hào),-k<i<m-l;Di表示符號(hào)串中第i位上
的記數(shù)符號(hào),屬于0到r-1中的一個(gè))表示數(shù)值N,則有:
N=Dm-1Dm-2...DIDOD-lD-2…D-k(2.1)
式中的Di()為該數(shù)制采用的基本符號(hào),可取值0、L2、…、
r-1,小數(shù)點(diǎn)位置隱含在D0與D-1位之間,則Dm-1...DO為N的
整數(shù)部分,D-1...D-k為N的小數(shù)部分。
如果為第i位上的符號(hào)1賦以某個(gè)固定的值Wi,則稱Wi為第i位的
權(quán)(Weight),在選用〃逢r進(jìn)位"的規(guī)則時(shí),位權(quán)Wi的值為ri(-
個(gè)底為基數(shù)、幕是位序號(hào)的指數(shù)值),則稱這種數(shù)制為r進(jìn)位數(shù)制
(PositionalRadix-rNumberSystem),簡(jiǎn)稱r進(jìn)制。第i位的實(shí)際值
可寫成Dixri,N的實(shí)際值為各數(shù)據(jù)位實(shí)際值的累加和,可表示為:
m-1
N=£DM(22)
i=-k
例如,表示十進(jìn)制數(shù)要使用10個(gè)基本符號(hào):0,1,2,3,4,5,6,
7,8,9,采用逢10進(jìn)1規(guī)則,例如103.4=1x102+0x101+3x
100+4x10-1。
在計(jì)算機(jī)中通常還會(huì)用到二、八、十六3種進(jìn)位數(shù)制。
在二進(jìn)制中,計(jì)數(shù)符號(hào):0,1,基數(shù)是2,逢二進(jìn)一。
在八進(jìn)制中,計(jì)數(shù)符號(hào):0,1,…,7,基數(shù)是8,逢八進(jìn)一。
在十六進(jìn)制中,計(jì)數(shù)符號(hào):0,1,…,9,A,B,…,F(xiàn),基數(shù)是16,
逢十六進(jìn)一。分別用A-F分別表示十進(jìn)制數(shù)10,11,12,13,14,
15。
1.十一二進(jìn)制數(shù)的轉(zhuǎn)換
十一二進(jìn)制數(shù)的轉(zhuǎn)換要分為整數(shù)與小數(shù)兩種情況分別轉(zhuǎn)換。
(1)整數(shù)的轉(zhuǎn)換:采用除2取余,高位在下,直到商為0時(shí)為止的原
則。
例如:35
低位
高位
結(jié)果:100011
(2)小數(shù)的轉(zhuǎn)換:采用乘2取整,高位在上的原則,位數(shù)達(dá)到要求或
小數(shù)部分為0結(jié)束。
例如,把十進(jìn)制小數(shù)0.375轉(zhuǎn)換為二進(jìn)制數(shù),如下所示:
0.375x2=0.75整數(shù)部分為0高位
0.75x2=1.5整數(shù)部分為1
0.5x2=1.0整數(shù)部分為1低位
所以,0.375=(0.011)2
查看動(dòng)畫演示(十進(jìn)制轉(zhuǎn)化二進(jìn)制)
2.--十進(jìn)制數(shù)的轉(zhuǎn)換
二-十進(jìn)制數(shù)的轉(zhuǎn)換:通常采用公式(2.2)對(duì)二進(jìn)制數(shù)各位的實(shí)際值
累加求和完成。
例如:(10110)2=1x24+0x23+1x22+1x21+0x20=22
(1101.1)2=1x23+1x22+0x21+1x20+1x2-1=13.5
查看動(dòng)畫演示(二進(jìn)制轉(zhuǎn)化十進(jìn)制)
3.八一二進(jìn)制數(shù)的轉(zhuǎn)換
因?yàn)?3=8,故1個(gè)八進(jìn)制位對(duì)應(yīng)3個(gè)二進(jìn)制位,可以把一個(gè)八進(jìn)制數(shù)
的整數(shù)部分和小數(shù)部分的每一位分別轉(zhuǎn)換成3位二進(jìn)制數(shù)。
例如:(103.4)8=(001010011.100)2
(741)8=(111100001)2
4.二一八進(jìn)制數(shù)的轉(zhuǎn)換
因?yàn)?3=8,故3個(gè)二進(jìn)制位對(duì)應(yīng)1個(gè)八進(jìn)制位,可以從小數(shù)點(diǎn)位置分
別向左和向右把每3位二進(jìn)制數(shù)劃分為一組,并轉(zhuǎn)換成1位八進(jìn)制數(shù)。
注意:小數(shù)部分分組時(shí)若低位不足3位時(shí)要用0補(bǔ)足,否則會(huì)出錯(cuò)。
例如:(10110110.1)2=(266.4)8,而不是(266.1)8
查看動(dòng)畫演示(二進(jìn)制轉(zhuǎn)化八進(jìn)制)
5.十六一二進(jìn)制數(shù)的轉(zhuǎn)換
因?yàn)?4=16,故1個(gè)十六進(jìn)制位對(duì)應(yīng)4個(gè)二進(jìn)制位,可以把一個(gè)十六
進(jìn)制數(shù)的整數(shù)部分和小數(shù)部分的每T立分別轉(zhuǎn)換成4位二進(jìn)制數(shù)。
例如:(123)16=(0001,0010,0011)2
(D2C8)16=(1101,0010,1100,1000)2
6.二一十六進(jìn)制數(shù)的轉(zhuǎn)換
因?yàn)?4=16,故4個(gè)二進(jìn)制位對(duì)應(yīng)1個(gè)十六進(jìn)制位,可以從小數(shù)點(diǎn)位
置分別向左和向右把每4位二進(jìn)制數(shù)劃分為一組,并轉(zhuǎn)換成1位十六進(jìn)
制數(shù)。注意:小數(shù)部分分組是若低位不足4位要用0補(bǔ)足,否則會(huì)出錯(cuò)。
例如:(10110110.11)2=(1011,0110)16=(B6.C)16,而不是
(266.3)16
(100110111)2=(1,0011,0111)8=(137)16
查看動(dòng)畫演示(二進(jìn)制轉(zhuǎn)化十六進(jìn)制)
用定點(diǎn)小數(shù)引出數(shù)值的三種編碼(原碼、補(bǔ)碼和反碼)方案是最方便的。
(1)原碼表示法
原碼表示法是用機(jī)器數(shù)的最高一位代表符號(hào),其余各位給出數(shù)值絕對(duì)值
的表示方法。其定義為:
XO<X<1
[X]M=■(2.3)
?1-X-1<X<O
例如,X=+0.1011,兇原二01011
X=-0.1011,兇原二11011
按定義,當(dāng)X=-0.1011時(shí),兇原=1-X=1.0000-(-0.1011)=11011,
約定小數(shù)點(diǎn)在符號(hào)位和數(shù)值位之間,可省略,這里的X為數(shù)的真值,兇
原為原碼表示的機(jī)器數(shù),是符號(hào)位+|X|O
在原碼表示中,零有兩種表示形式,即[+0.0]原=00000,[-0.0]原
=10000。
原碼表示的優(yōu)點(diǎn)在于實(shí)現(xiàn)乘除運(yùn)算的規(guī)則簡(jiǎn)單,缺點(diǎn)是實(shí)現(xiàn)加減運(yùn)算很
不方便,要比較參與加減運(yùn)算兩個(gè)數(shù)的符號(hào)和兩個(gè)數(shù)的絕對(duì)值的大小,
才能確定運(yùn)算結(jié)果的數(shù)值和符號(hào)。
(2)反碼表示法
反碼表示法是用機(jī)器數(shù)的最高一位代表符號(hào),數(shù)值位是對(duì)負(fù)數(shù)值各位取
反的表示方法,其定義為
O<X<1
[X]&=v(2.4)
(22)+X-1<X<OMOD(2-2-0)
例如,X=+0.1011,兇反二01011,X=-0.1011z兇反二10100
在反碼表示中,零有兩個(gè)編碼,即[+0.0]反=00000,[-0.0]反=11111
在當(dāng)前的計(jì)算機(jī)系統(tǒng)中很少使用反碼,在有些書(shū)中也稱反碼為按1取模
的編碼。
(3)補(bǔ)碼表示法
補(bǔ)碼表示法是用機(jī)器數(shù)的最高一位代表符號(hào),以下各位給出數(shù)值按2取
模結(jié)果的表示方法,其定義為:
[幻*4X叱XVI(25)
[2+X-l<X<0MOD2
例如,X=+0.1011,兇補(bǔ)=01011,X=-0.1011,兇補(bǔ)=10101
在補(bǔ)碼表示中,0有唯一的編碼,即[+0.0]補(bǔ)=乂=00000,[-0.0]補(bǔ)
=2+XMOD2=00000,所以定點(diǎn)小數(shù)多出一個(gè)編碼,可表示-1。
例如,Xl=X2=-0.1000廁[XI]補(bǔ)=[X2]補(bǔ)=11000,那么[X+X]補(bǔ)
=11000+11000=110000按2取模后得10000這是-1的補(bǔ)碼表示。
補(bǔ)碼表示的機(jī)器數(shù)和它的真值的關(guān)系是[X]補(bǔ)=2*符號(hào)位+X,由此
又得到X=[X]補(bǔ)-2*符號(hào)位,這個(gè)結(jié)論在討論補(bǔ)碼乘法是會(huì)用到。
補(bǔ)碼表示非常適合于進(jìn)行加減法運(yùn)算,對(duì)符號(hào)位與數(shù)值位同等處理,只
要結(jié)果不超出機(jī)器能表示的數(shù)值范圍,將直接得到正確的運(yùn)算結(jié)果,即
符號(hào)位與數(shù)值位都是正確的補(bǔ)碼表示,并且可以用實(shí)現(xiàn)加法運(yùn)算的電路
完成減法運(yùn)算,用+[-Y]補(bǔ)的辦法處理減數(shù)即可。
查看動(dòng)畫演示(補(bǔ)碼原理)
帶符號(hào)的整數(shù)也可以用原碼、補(bǔ)碼和反碼三種不同的編碼方法表示。
可以認(rèn)為整數(shù)是小數(shù)點(diǎn)被設(shè)置在最低一位數(shù)值位的右邊,機(jī)器數(shù)的最高
位仍被用作數(shù)的符號(hào)位。數(shù)值的表示范圍,以及整數(shù)編碼的取模值,都
與表示一個(gè)數(shù)所用的二進(jìn)制位數(shù)有關(guān)。
例如,對(duì)于用n+1個(gè)二進(jìn)制位表示的帶符號(hào)的整數(shù)的補(bǔ)碼,其數(shù)值范
圍是-2n4X<2n,是用機(jī)器數(shù)的最高一位代表符號(hào),以下各位給出數(shù)值
按2n+l取模結(jié)果的表示方法,其定義為:
X0<X<2n
DOX(2.9)
20*l+X-20<X<0MOD尸】
正數(shù)的原碼和反碼的定義、表示與定點(diǎn)小數(shù)部分說(shuō)明的方法類似,這里
從略。
例如,X=+10101[X]原=[X]補(bǔ)=[X]反=010101
X=-10101[X]J^=110101,兇補(bǔ)=101011,兇反=101010
以上兩個(gè)數(shù)的變形補(bǔ)碼分別為0010101和1101011。這里的n均為5。
有些計(jì)算機(jī)內(nèi)有專門的十進(jìn)制運(yùn)算指令,支持選用十進(jìn)制數(shù)的算術(shù)計(jì)
算。為此要求采用一種二進(jìn)制編碼的十進(jìn)制數(shù)來(lái)表示數(shù)據(jù),這種編碼被
稱為BCD碼(BinaryCodedDecimal),使用4位二進(jìn)制編碼來(lái)表示
十進(jìn)制數(shù)字0~9,有多種具體實(shí)現(xiàn)方案,如表2.3所示。
ft23常用+遵敏敷打?嗎
十進(jìn)瓶依8421碼2421日521119格■碼余3碼
000000000000000000011
100010001000100010100
?00100010001100110101
300110011010100100110
40100010001110M00111
501011011100001111000
60110110010100101loot
701111101110001001010
810001110111011001011
910011111111110001100
按照編碼的每一位是否都有固定的權(quán)值,表中的編碼可分為有權(quán)碼和無(wú)
權(quán)碼兩類。顯然,8421碼、2421碼和5211碼為有權(quán)碼;而格雷碼、
余3碼的每一位沒(méi)有確定的權(quán),所以是無(wú)權(quán)碼。
格雷碼又稱循環(huán)碼,其編碼規(guī)則是使任何兩個(gè)相鄰的代碼只有一個(gè)二進(jìn)
位的狀態(tài)不同,在D/A或A/D轉(zhuǎn)換電路中得到很好的運(yùn)行結(jié)果。
用BCD碼來(lái)表示十進(jìn)制數(shù)字時(shí),1個(gè)字節(jié)存放2位十進(jìn)制的數(shù)字;符
號(hào)位放在最低位數(shù)字位之后,一般用C(12)表示正號(hào),用D(13)
表示負(fù)號(hào)。例如:+258被表示成258cH,占用兩個(gè)字節(jié),-34被表
示為034DH,也占用兩個(gè)字節(jié),此處的H指出用的是十六進(jìn)制數(shù)。
查看動(dòng)畫演示(十進(jìn)制編碼)
小數(shù)點(diǎn)的位置可以在數(shù)據(jù)位之間移動(dòng)的數(shù)據(jù)稱為浮點(diǎn)型數(shù)據(jù),與數(shù)學(xué)中
的實(shí)數(shù)相對(duì)應(yīng),與定點(diǎn)數(shù)相比,它的表示范圍可以更大,還存在一個(gè)數(shù)
據(jù)精度(有效數(shù)字位數(shù))的問(wèn)題。
例如:123.456可用如下多種表示:
12.3456x101
0.123456x103
1.23456x102,只有最后這種表示屬于科學(xué)計(jì)數(shù)法計(jì)算機(jī)
中浮點(diǎn)數(shù)據(jù)編碼的一般形式為:N=(-1)SXMXRE
在計(jì)算機(jī)中,浮點(diǎn)數(shù)通常被表示成如下格
SEM
式:1做腳健做心
其中:S:代表符號(hào)位,0代表正,1代表負(fù),是浮點(diǎn)數(shù)(即尾數(shù)
部分)的符號(hào)。M:代表尾數(shù),也就是有效數(shù)字,用定點(diǎn)小數(shù)表示,
通常用原碼表示。
R:指數(shù)的底,約定為2,不必表示出來(lái),E:代表階碼,是一個(gè)整數(shù),
可正可負(fù),一般用移碼表示,用REx尾數(shù)M可得到浮點(diǎn)數(shù)的絕對(duì)值。
合理地選擇階碼和尾數(shù)的位數(shù)m和n的值是十分重要的,以便在總長(zhǎng)
度為1+m+n位二進(jìn)制表示的浮點(diǎn)數(shù)中,既保證有足夠大的數(shù)值范圍
(取決于m),又保證有所要求的數(shù)值精度(取決于n)。
需要對(duì)浮點(diǎn)數(shù)的表示和運(yùn)算做出某些規(guī)定,國(guó)際上得到普遍應(yīng)用的是
IEEE-754標(biāo)準(zhǔn),明確規(guī)定了表示浮點(diǎn)數(shù)所用的位數(shù)和幾個(gè)字段的分配
關(guān)系,規(guī)格化表示和規(guī)格化操作,隱藏位的使用等方案,如表2.4所示:
浮點(diǎn)數(shù)符號(hào)位階碼尾數(shù)總位數(shù)隱裳位
短實(shí)數(shù)182332使用
長(zhǎng)實(shí)數(shù)1115264使用
臨時(shí)實(shí)數(shù)1156480不用
三種浮點(diǎn)數(shù)格式
請(qǐng)注意,1位的符號(hào)位用于表示浮點(diǎn)數(shù)的符號(hào),也可以說(shuō)是尾數(shù)的符號(hào)。
32位或64位的尾數(shù)用于表示數(shù)值,規(guī)定用規(guī)格化的原碼小數(shù)表示。
規(guī)格化是指非0值的浮點(diǎn)數(shù)的位數(shù)必須滿足的要求,即小
數(shù)點(diǎn)后的最高位數(shù)字必須為lo在遇到不滿足這一規(guī)定的情況下,需要
把非規(guī)格化的浮點(diǎn)數(shù)變成為規(guī)格化表示的浮點(diǎn)數(shù),這項(xiàng)操作被稱為規(guī)格
化操作。使用規(guī)格化的浮點(diǎn)數(shù)便于浮點(diǎn)數(shù)之間的運(yùn)算與比較,也有利于
提高浮點(diǎn)數(shù)的表示精度。
既然尾數(shù)的最高位的值一定要為1,在實(shí)用中,可以通過(guò)把整個(gè)尾數(shù)左
移一位的辦法把最高位的這個(gè)1移走,使受尾數(shù)位數(shù)限制不能被保存的
更低一位上的一個(gè)數(shù)位得以保存,從而提高了一個(gè)二進(jìn)制位的表示精
度,這項(xiàng)處理方案被稱為隱藏位技術(shù),被用于單精度和雙精度浮點(diǎn)數(shù)的
存儲(chǔ)中。臨時(shí)浮點(diǎn)數(shù)中不使用隱藏位技術(shù)。
8位或11位的階碼用作為以2為底的一個(gè)指數(shù)的幕,只能是整數(shù),它
的位數(shù)決定了浮點(diǎn)數(shù)的表示范圍,通常用移碼表示,移碼由1位符號(hào)位
和n位數(shù)據(jù)位構(gòu)成。
對(duì)于一個(gè)n+1位的整數(shù)移碼的定義是岡移=2n+x其表示范圍?2n
<x<2n,例如,8位的移碼是27+X,稱為移128的方案,移碼形式
的機(jī)器數(shù)比數(shù)X在數(shù)軸上右移了128O
X=-127,岡移=27+X=128+(-127)=1=(00000001)2,
X=127,岡移=27+X=128+127=255=(11111111)2
請(qǐng)注意,移碼只用于表示整數(shù),僅用在浮點(diǎn)數(shù)的階碼部分。對(duì)同一個(gè)X,
其移碼數(shù)與補(bǔ)碼數(shù)有簡(jiǎn)單的對(duì)應(yīng)關(guān)系,數(shù)值位相同,符號(hào)位相反,移碼
用0表示負(fù)號(hào),1表示正號(hào)。
使用移碼的優(yōu)點(diǎn)是:便于比較兩個(gè)移碼數(shù)的大小,移碼表示的機(jī)器數(shù)與
數(shù)在數(shù)軸上的排列關(guān)系一致,正數(shù)大于負(fù)數(shù),用在浮點(diǎn)數(shù)的階碼部分時(shí),
有利于加快浮點(diǎn)數(shù)的比較的速度,有利于判斷浮點(diǎn)數(shù)的0。
數(shù)據(jù)在計(jì)算機(jī)系統(tǒng)內(nèi)加工、存取和傳送的過(guò)程中可能產(chǎn)生錯(cuò)誤。為減少
和避免這類錯(cuò)誤,一方面是精心盡量提高計(jì)算機(jī)硬件本身的可靠性;另
一方面是在數(shù)據(jù)編碼上采用帶有某種特征能力的編碼方法,通過(guò)少量的
附加電路,使之能發(fā)現(xiàn)某種錯(cuò)誤,甚至能準(zhǔn)確的確定出錯(cuò)位置,進(jìn)而提
供自動(dòng)糾正錯(cuò)的的功能。
數(shù)據(jù)校驗(yàn)碼就是一種常用的帶有發(fā)現(xiàn)某些錯(cuò)誤,甚至帶有一定自動(dòng)改錯(cuò)
能力的數(shù)據(jù)編碼方法。它的實(shí)現(xiàn)原理是在合法的數(shù)據(jù)編碼之間,加進(jìn)一
些不允許出現(xiàn)的(非法的)編碼,使合法數(shù)據(jù)編碼出現(xiàn)某些錯(cuò)誤時(shí),就
稱為非法編碼。這樣,則可以通過(guò)檢查編碼的合法性來(lái)達(dá)到發(fā)現(xiàn)錯(cuò)誤的
目的。合理的設(shè)計(jì)編碼規(guī)則,安排合法、非法的編碼數(shù)量,就可以得到
發(fā)現(xiàn)錯(cuò)誤的能力,甚至達(dá)到自動(dòng)改正錯(cuò)誤的目的。
這里用到的一個(gè)碼距(最小碼距)的概念。
碼距是指任意兩個(gè)合法碼之間至少有幾個(gè)二進(jìn)制位不相同,僅有一位不
同稱其碼距為1,例如1000與1001的碼距為1,而1011與1000的
碼距則為2O
只有當(dāng)合法碼之間的碼距d>=2時(shí),校驗(yàn)碼才具有檢錯(cuò)能力,當(dāng)碼距
d>=3時(shí),校驗(yàn)碼才具有糾錯(cuò)能力。
一般說(shuō)來(lái),合理地增大編碼的碼距,就能提高發(fā)現(xiàn)錯(cuò)誤的能力,但表示
一定數(shù)量的合法碼所使用的二進(jìn)制位數(shù)要變多,增加了電子線路的復(fù)雜
性和數(shù)據(jù)存儲(chǔ)、傳送的數(shù)量。
所謂校驗(yàn)碼,又稱檢錯(cuò)碼,是指具有發(fā)現(xiàn)某些錯(cuò)誤或自動(dòng)改正錯(cuò)誤能力
的一種數(shù)據(jù)編碼方法,用于檢查或糾在讀寫和傳送數(shù)據(jù)的過(guò)程中可能出
現(xiàn)的錯(cuò)誤。其實(shí)現(xiàn)的基本思路是在有效信息代碼的基礎(chǔ)上,添加一些用
于校驗(yàn)?zāi)康牡娜哂嘈畔?lái)構(gòu)成一個(gè)校驗(yàn)碼,因此校驗(yàn)碼將由有效信息+
校驗(yàn)位構(gòu)成,校驗(yàn)位的值是通過(guò)對(duì)有效信息位執(zhí)行某種邏輯運(yùn)算得到。
校驗(yàn)碼的校驗(yàn)原理是通過(guò)判斷代碼的合法性來(lái)檢錯(cuò)的。如圖2.2所示。
W
效
校信
蛤出
蛉e
接收校
談H
/總
取位
/
原理
校驗(yàn)
圖2.2
種。
驗(yàn)碼3
環(huán)校
、循
驗(yàn)碼
明校
、海
驗(yàn)碼
偶校
有奇
驗(yàn)碼
的校
常
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度藝術(shù)創(chuàng)作資助項(xiàng)目簽約合同3篇
- 二零二五年度全新合同:生物降解材料研發(fā)與應(yīng)用合作協(xié)議3篇
- 2025年度農(nóng)村出租房租賃與生態(tài)旅游合作合同
- 二零二五年度智能家居商鋪?zhàn)赓U合同模板(含產(chǎn)品售后服務(wù))3篇
- 二零二五年度農(nóng)民工勞動(dòng)合同規(guī)范文本(房地產(chǎn)建設(shè))
- 2025年度公司高管聘用合同全新版:國(guó)際化人才引進(jìn)與培養(yǎng)協(xié)議2篇
- 二零二五年度農(nóng)村土地租賃與農(nóng)業(yè)休閑觀光合同2篇
- 二零二五年度特殊區(qū)域安保人員勞動(dòng)合同書(shū)編制指南3篇
- 二零二五年度競(jìng)業(yè)禁止員工離職補(bǔ)償服務(wù)合同3篇
- 二零二五年度公司特種車輛租賃合同3篇
- 人工智能 課件 第五章 機(jī)器學(xué)習(xí)
- 2024-2025學(xué)年上學(xué)期杭州初中英語(yǔ)八年級(jí)期末試卷
- 【MOOC】人因工程學(xué)-東北大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 中考數(shù)學(xué)復(fù)習(xí)第二章方程(組)與不等式(組)第三節(jié)分式方程及其應(yīng)用課件
- 中國(guó)慢性阻塞性肺疾病基層診療指南(2024年)解讀
- 水肥一體化智能種植管理技術(shù)實(shí)施方案
- 《中華人民共和國(guó)學(xué)前教育法》專題培訓(xùn)
- 《房產(chǎn)稅法》課件
- 產(chǎn)品質(zhì)量培訓(xùn)
- 海洋氣象預(yù)測(cè)研究
- 2024急性心梗護(hù)理常規(guī)
評(píng)論
0/150
提交評(píng)論