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

下載本文檔

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

文檔簡(jiǎn)介

1、知識(shí)點(diǎn)總結(jié)1. 計(jì)算機(jī)體系結(jié)構(gòu)和計(jì)算機(jī)組成  兩個(gè)概念的區(qū)別:計(jì)算機(jī)體系結(jié)構(gòu)是哪些對(duì)成員可見的系統(tǒng)屬性。換句話說, 這些屬性直接影響到程序的邏輯執(zhí)行。計(jì)算機(jī)組成是實(shí)現(xiàn)結(jié)構(gòu)規(guī)范的操作單元及其相互連接。計(jì)算機(jī)體系結(jié)構(gòu)的屬性包括指令集、用來表示各種數(shù)據(jù)類型的比特?cái)?shù)、輸入輸出機(jī)制以及內(nèi)存尋址技術(shù)。計(jì)算機(jī)組成的屬性包括哪些對(duì)程序員可見的硬件細(xì)節(jié),如控制信號(hào)、計(jì)算機(jī)和塞舌的接口以及存儲(chǔ)器使用的技術(shù)。2. 計(jì)算機(jī)是一個(gè)復(fù)雜的系統(tǒng),包含數(shù)百萬個(gè)電子元件,復(fù)雜系統(tǒng)的關(guān)鍵是分層性質(zhì)。層次系統(tǒng)是一系列相互關(guān)聯(lián)的子系統(tǒng),每個(gè)子系統(tǒng)又在結(jié)構(gòu)上分層,直到分成我們所能達(dá)到的一些基本子系統(tǒng)的最低級(jí)。結(jié)構(gòu): 部件相互

2、關(guān)聯(lián)的方法功能:作為結(jié)構(gòu)組成部分的各個(gè)獨(dú)立部件的操作。3.計(jì)算機(jī)的基本功能有:數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)傳輸和控制。4.計(jì)算機(jī)中有四種主要的結(jié)構(gòu)組件:1. 中央處理器(Center Processor Unit, CPU): 它控制計(jì)算機(jī)的操作并且執(zhí)行數(shù)據(jù)處理功能,簡(jiǎn)稱處理器。2. 主存儲(chǔ)器 (Main Memory):存儲(chǔ)程序和數(shù)據(jù)3. 輸入輸出 (Input / Output, I/O): 在計(jì)算機(jī)和外部設(shè)備之間傳輸數(shù)據(jù)4. 系統(tǒng)互連:為CPU、主存儲(chǔ)器和I/O之間提供通信機(jī)制,也就是總線系統(tǒng)。存儲(chǔ)程序控制概念:存儲(chǔ)程序控制概念是馮·諾依曼于1945年6月首先提出來的。它可以概括為

3、以下幾點(diǎn):1. 計(jì)算機(jī)(硬件)是由運(yùn)算器、存儲(chǔ)器、控制器、輸入設(shè)備和輸出設(shè)備5個(gè)基本部件組成。2. 計(jì)算機(jī)內(nèi)部采用二進(jìn)制來表示指令和數(shù)據(jù)。3. 將編號(hào)的程序和原始數(shù)據(jù)事先存入存儲(chǔ)器中。4. 把編好的程序和原始數(shù)據(jù)預(yù)先存入計(jì)算機(jī)的主存儲(chǔ)器中,使計(jì)算機(jī)在工作時(shí)能夠連續(xù)、自動(dòng)、高速地從存儲(chǔ)器中取出一條條指令并加以執(zhí)行, 從而自動(dòng)完成預(yù)定的任務(wù)。計(jì)算機(jī)的硬件組成原始的馮·諾依曼計(jì)算機(jī)在結(jié)構(gòu)上是以運(yùn)算器為中心的,而發(fā)展到現(xiàn)在,已轉(zhuǎn)向以存儲(chǔ)器為中心。通常將運(yùn)算器和控制器合稱為中央處理器(Central Processing Unit, CPU)。中央處理器和主存儲(chǔ)器(內(nèi)存儲(chǔ)器)一起組成主機(jī)部分。

4、除去主機(jī)以外的硬件裝置,如輸入設(shè)備、輸出設(shè)備和輔助存儲(chǔ)器等,稱為外圍設(shè)備或外部設(shè)備。CPU 負(fù)責(zé)與存儲(chǔ)器間交換數(shù)據(jù),為了這個(gè)目的,CPU 一般使用兩個(gè)內(nèi)部寄存器,一個(gè)是存儲(chǔ)器地址寄存器MAR,為下一次讀寫指定存儲(chǔ)器的地址;另一個(gè)是存儲(chǔ)器數(shù)據(jù)寄存器MDR, 存放刺耳到內(nèi)存或從內(nèi)存接收的數(shù)據(jù)。類似的, I/O地址寄存器I/O AR指定一個(gè)特定的I/O設(shè)備;I/O 數(shù)據(jù)寄存器 I/O DR用于I/O模塊與CPU之間數(shù)據(jù)交換。運(yùn)算器運(yùn)算器部件是計(jì)算機(jī)中進(jìn)行數(shù)據(jù)加工的部件,其主要功能包括:1. 執(zhí)行數(shù)值數(shù)據(jù)的算術(shù)加減乘除等運(yùn)算,執(zhí)行邏輯數(shù)據(jù)的與或非等邏輯運(yùn)算,由一個(gè)被稱為 ALU (Arithmetic

5、 and Logical  Unit, ALU)的部件完成。2. 暫時(shí)存放參加運(yùn)算的數(shù)據(jù)和中間結(jié)果,由多個(gè)通用寄存器來承擔(dān)3. 運(yùn)算器通常也是數(shù)據(jù)傳輸?shù)耐房刂破骺刂破魇怯?jì)算機(jī)中控制執(zhí)行指令的部件,主要功能是按照人們預(yù)先確定的操作步驟,控制整個(gè)計(jì)算機(jī)的各部件有條不紊地自動(dòng)工作。1.正確執(zhí)行每條指令(1)首先是取來一條指令,(2)接著分析這條指令, (3)再按指令格式和功能執(zhí)行這條指令2.保證指令按規(guī)定序列自動(dòng)連續(xù)地執(zhí)行。3.對(duì)各種異常情況和請(qǐng)求及時(shí)響應(yīng)和處理。存儲(chǔ)器存儲(chǔ)器用來存放程序和數(shù)據(jù),是計(jì)算機(jī)能夠?qū)崿F(xiàn)存儲(chǔ)程序控制的基礎(chǔ)。由高速緩沖存儲(chǔ)器,主存儲(chǔ)器,外存儲(chǔ)器所組成的多級(jí)

6、(層)存儲(chǔ)器系統(tǒng),是計(jì)算機(jī)中用于存儲(chǔ)程序和數(shù)據(jù)的子系統(tǒng)。這三級(jí)存儲(chǔ)器所用的存儲(chǔ)介質(zhì)、工作原理和特性各不相同。輸入設(shè)備 輸入設(shè)備是向計(jì)算機(jī)中送入程序和數(shù)據(jù)的有一定獨(dú)立功能的設(shè)備,通過接口和總線與計(jì)算機(jī)主機(jī)連通,用于人機(jī)交互聯(lián)系,如計(jì)算機(jī)鍵盤和鼠標(biāo)等。輸出設(shè)備:輸出設(shè)備的任務(wù)是將計(jì)算機(jī)的處理結(jié)果以數(shù)字、字符(漢字)、圖形、圖像、聲音等形式送出計(jì)算機(jī)。常用的輸出設(shè)備有打印機(jī)、顯示器、輔助存儲(chǔ)器等??偩€:總線是一組能為多個(gè)部件服務(wù)的公共信息傳送線路,他能分時(shí)地發(fā)送與接收各部件的信息。 數(shù)據(jù)線數(shù)據(jù)線提供系統(tǒng)模塊間傳送數(shù)據(jù)的途徑。這些線組合在一起成為數(shù)據(jù)總線。典型的數(shù)據(jù)總線包含32、6

7、4、128或更多的分離導(dǎo)線,這些線的數(shù)據(jù)稱為數(shù)據(jù)總線的寬度。數(shù)據(jù)總線的寬度是決定系統(tǒng)總體性能的關(guān)鍵。地址線用于指定數(shù)據(jù)總線上數(shù)據(jù)的來源或去向。地址總線的寬度決定了系統(tǒng)能夠使用的最大的存儲(chǔ)器容量。地址線通常也用于I/O端口的尋址。地址線的高位用于選擇總線上指定的模塊,低位用于選擇模塊內(nèi)具體的存儲(chǔ)單元或I/O端口??刂凭€用來控制對(duì)數(shù)據(jù)線和地址線的存取和使用??刂菩盘?hào)在系統(tǒng)部件之間發(fā)送命令和時(shí)序信號(hào)。時(shí)序信號(hào)指定了數(shù)據(jù)和地址信號(hào)的有效性,命令信號(hào)指定了要執(zhí)行的操作。 第零級(jí)是硬聯(lián)邏輯級(jí),是計(jì)算機(jī)的內(nèi)核,由門、觸發(fā)器等邏輯電路組成。第一層微程序級(jí)。這級(jí)的機(jī)器語言是微指令集,用微指令編寫的微程

8、序一般是直接有硬件執(zhí)行的。第二層是傳統(tǒng)機(jī)器級(jí)。這級(jí)的機(jī)器語言是指機(jī)器的指令集,用機(jī)器指令編寫的程序由微程序進(jìn)行解釋。第三層是操作系統(tǒng)級(jí)。從操作系統(tǒng)的基本功能來看,直接管理傳統(tǒng)機(jī)器的軟硬件資源。第四層是匯編語言層。語言是匯編語言,完成匯編語言翻譯的程序叫匯編程序。第五層是高級(jí)語言層。這級(jí)的語言是各種高級(jí)語言,面向用戶的,由各種高級(jí)語言程序支持和執(zhí)行。通常用編譯程序來完成各種高級(jí)語言的翻譯工作。第六級(jí)是應(yīng)用語言級(jí),這一級(jí)是為了使計(jì)算機(jī)滿足某種用途而專門設(shè)計(jì)的,因此這一級(jí)語言就是各種面向問題的應(yīng)用語言。為了更好地理解計(jì)算機(jī)的整體架構(gòu),用下面這個(gè)例子來了解計(jì)算機(jī)的主要組成和工作原理。假設(shè)給同學(xué)們一個(gè)算

9、盤、一張帶有橫格的紙和一支筆,計(jì)算y=ax+b-c。為了便于對(duì)比,我們不妨按以下方法把使用算法進(jìn)行解體的過程步驟實(shí)現(xiàn)用筆詳細(xì)地記錄在帶橫格的紙上。“紙”存儲(chǔ)了算題的原始信息。 行數(shù)  解體步驟和數(shù)據(jù)  說明  1  取數(shù)  (9)算盤  (9)表示第9行的數(shù)a,下同  2  乘法  (12)算盤  完成a×x,結(jié)果在算盤上  3  加法&

10、#160; (10)算盤  完成ax+b,結(jié)果在算盤上  4  減法  (11)算盤  完成ax+b-c, 結(jié)果在算盤上  5  存數(shù)    y13  將算盤上的y值記錄到第13行  6  輸出  把算盤上的y值寫出來給人看  7  停止  運(yùn)算完畢,暫停 &

11、#160;8  9  a  數(shù)據(jù)  10  b  數(shù)據(jù)  11  c  數(shù)據(jù)  12  x  數(shù)據(jù)  13  y  數(shù)據(jù) 算盤,對(duì)數(shù)據(jù)進(jìn)行了加、減、乘、除等算術(shù)運(yùn)算。筆,把原始的數(shù)據(jù)和解題步驟記錄到紙上,還可以把計(jì)算的結(jié)果寫出來告訴大家。當(dāng)然,這里更不能缺少了“人”這個(gè)最重要的元素。在人的

12、控制下,按照解題步驟一步一步地進(jìn)行操作,直到完成全部運(yùn)算。計(jì)算機(jī)的解題過程和人的計(jì)算是非常相似的。這里,算盤相當(dāng)于計(jì)算機(jī)中的“運(yùn)算器”?!凹垙垺毕喈?dāng)于具有“記憶”功能的“存儲(chǔ)器”?!肮P”相當(dāng)于“輸入設(shè)備或者輸出設(shè)備”。而“人”控制著整個(gè)計(jì)算過程,相當(dāng)于“控制器”。解題步驟相當(dāng)于事先編寫好的程序,將事先編寫好的解題步驟和參加運(yùn)算的數(shù)據(jù)記錄在紙上,就相當(dāng)于將事先編寫好的程序和數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器中,這就是存儲(chǔ)程序的概念。如果采用累加器結(jié)構(gòu)的運(yùn)算器,完成y=ax+b-c的運(yùn)算至少需要7條指令,這7條指令依次存放在主存0000100111號(hào)單元中,參加運(yùn)算的數(shù)據(jù)也事先存放在主存單元中,0100001011

13、中。                                                        單元地址  單元內(nèi)容  00000  取數(shù)(01000)  00001  取數(shù)(01011)&

14、#160; 00010  乘法ax  00011  取數(shù)(01001)  00100  加法  00101  取數(shù)(01010)  00110  減法  00111  存數(shù)至11000  01000  a  01001  b  01010  c

15、60; 01011  x  01100  y 計(jì)算機(jī)的控制器將控制指令逐條從內(nèi)存中取出并執(zhí)行,執(zhí)行過程如下:(1)執(zhí)行取數(shù)指令,從主存01000單元取出數(shù)a,送入累加寄存器中。(2)執(zhí)行乘法,將累加寄存器中的內(nèi)容a和主存01011單元取出的數(shù)x一起送到ALU中相乘,并將結(jié)果保存到累加寄存器中。(3)執(zhí)行加法,將累加寄存器中的內(nèi)容ax和主存01001單元取出的數(shù)b一起送到ALU中相加,并將結(jié)果保存到累加寄存器中。(4)執(zhí)行減法,將累加寄存器中內(nèi)容ax+b和主存01010單元取出的數(shù)c一起送到ALU中相減,并將結(jié)果保存

16、到累加寄存器中。(5)存數(shù),將累加寄存器中的內(nèi)容經(jīng)存儲(chǔ)器數(shù)據(jù)寄存器存放到主存01100單元中。主要性能指標(biāo)機(jī)器字長(zhǎng):指參與運(yùn)算的基本位數(shù),它是由加法器、寄存器的位數(shù)決定的。字長(zhǎng)標(biāo)志著計(jì)算機(jī)的精度,字長(zhǎng)越長(zhǎng),計(jì)算機(jī)的精度就越高。機(jī)器字長(zhǎng)以“字節(jié)Byte”為基本單位,字節(jié)用大寫字母B表示,一個(gè)字節(jié)為8位二進(jìn)制數(shù)(比特bit),位用小寫字母B表示。另外,我們通常提到的字(word),是指數(shù)據(jù)字,一般是16位,雙字(Double Word)是32字。需要說明的是,數(shù)據(jù)字和字長(zhǎng)是有區(qū)別的概念,數(shù)據(jù)字是一個(gè)度量單位,用來度量各種數(shù)據(jù)類型的寬度,而字長(zhǎng)表示數(shù)據(jù)運(yùn)算的寬度,反映計(jì)算機(jī)處理信息的能力。數(shù)據(jù)通路寬

17、度:數(shù)據(jù)總線一次所能并行傳送信息的位數(shù),是指外部數(shù)據(jù)總線的寬度,與CPU內(nèi)部的數(shù)據(jù)總線寬度可以不相同。它影響到信息的傳輸能力,從而影響計(jì)算機(jī)的有效處理速度。主存容量:一個(gè)主存儲(chǔ)器所能存儲(chǔ)的全部信息量成為主存容量。一般以字節(jié)數(shù)來表示存儲(chǔ)容量。1024個(gè)字節(jié)稱為1KB。等等運(yùn)算速度:影響計(jì)算機(jī)的運(yùn)算速度有很多技術(shù)指標(biāo),主要包括:吞吐量、響應(yīng)時(shí)間、主頻、CPU時(shí)鐘周期、CPI、CPU執(zhí)行時(shí)間、MIPS、MFLOPS等,現(xiàn)分別介紹如下:吞吐量:指計(jì)算機(jī)系統(tǒng)在單位時(shí)間內(nèi)處理請(qǐng)求的數(shù)量。響應(yīng)時(shí)間:指計(jì)算機(jī)系統(tǒng)對(duì)請(qǐng)求作出響應(yīng)的時(shí)間,響應(yīng)時(shí)間包括CPU時(shí)間與等待時(shí)間的總和。主頻:又稱時(shí)鐘頻率,表示在CPU內(nèi)數(shù)

18、字脈沖信號(hào)振蕩的速度,時(shí)鐘周期:CPU主頻的倒數(shù),是CPU中最小的時(shí)間元素。每個(gè)動(dòng)作至少需要一個(gè)時(shí)鐘周期。CPI(Cycles perInstruction):是指每條指令執(zhí)行所用的時(shí)鐘周期數(shù)。在現(xiàn)代高性能計(jì)算機(jī)中,由于采用各種并行技術(shù),使指令執(zhí)行高度并行化,常常是一個(gè)系統(tǒng)時(shí)鐘周期可以處理若干條指令。所以CPI參數(shù)經(jīng)常用IPC(Instructions per Cycle)表示,即每個(gè)時(shí)鐘周期執(zhí)行的指令數(shù)。CPU執(zhí)行時(shí)間:MIPS(MillionInstructions per Second):表示每秒執(zhí)行多少百萬條指令。對(duì)于一個(gè)給定的程序,MIPS定義為:MFLOPS(MillionFloa

19、ting-point Operations per Second):表示每秒執(zhí)行多少百萬次浮點(diǎn)運(yùn)算。對(duì)于一個(gè)給定的程序,MFLOPS定義為:例題一:某程序在一臺(tái)時(shí)鐘頻率為2GHz的計(jì)算機(jī)A上運(yùn)行需要10秒?,F(xiàn)在將設(shè)計(jì)一臺(tái)計(jì)算機(jī)B,希望將運(yùn)行時(shí)間縮短為6秒。計(jì)算機(jī)的設(shè)計(jì)者采用的方法是提高時(shí)鐘頻率,但這會(huì)影響CPU其余部分的設(shè)計(jì),使計(jì)算機(jī)B運(yùn)行該程序時(shí)需要相當(dāng)于計(jì)算機(jī)A的1.2倍的時(shí)鐘周期數(shù)。那么計(jì)算機(jī)設(shè)計(jì)者應(yīng)該將時(shí)鐘頻率提高到多少?解: A上運(yùn)行該程序需要的時(shí)鐘周期數(shù):B的CPU時(shí)間公式為:因此,要在6秒內(nèi)運(yùn)行完該程序, B的時(shí)鐘周期必須提高為A的2倍。例題二:假設(shè)計(jì)算機(jī)A的時(shí)鐘周期為250ps

20、, 對(duì)某程序的CPI為2.0;計(jì)算機(jī)B的時(shí)鐘周期為500ps,對(duì)同樣程序的CPI為1.2。 對(duì)于該程序,請(qǐng)問哪臺(tái)計(jì)算機(jī)執(zhí)行的速度更快?快多少?解:對(duì)于固定的程序,每臺(tái)計(jì)算機(jī)執(zhí)行的總指令數(shù)是相同的, 用I表示。首先,每臺(tái)計(jì)算機(jī)的CPU時(shí)鐘周期數(shù):每臺(tái)計(jì)算機(jī)的CPU時(shí)間:同理:計(jì)算機(jī)A更快。 因此,對(duì)于該程序計(jì)算機(jī)A是計(jì)算機(jī)B的1.2倍快。計(jì)算機(jī)中最重要的功能是處理數(shù)據(jù),如:數(shù)值、文字、符號(hào)、語言和圖象等。計(jì)算機(jī)內(nèi)部,各種信息都必須采用數(shù)字化編碼的形式被傳送、存儲(chǔ)、加工。因此掌握信息編碼的概念與處理技術(shù)是至關(guān)重要的所謂的數(shù)據(jù)在計(jì)算機(jī)中的表示,實(shí)際上介紹各類數(shù)據(jù)在計(jì)算機(jī)

21、中的編碼方法。所謂編碼,就是用少量簡(jiǎn)單的基本符號(hào),選用一定的組合規(guī)則,以表示出大量復(fù)雜多樣的信息。在計(jì)算機(jī)中,所有的數(shù)據(jù)都用二進(jìn)制數(shù)來表示。任何數(shù)據(jù)都用二進(jìn)制數(shù)進(jìn)行編碼。在計(jì)算機(jī)中所處理的數(shù)據(jù)主要包括以下幾種類型:非數(shù)值數(shù)據(jù)、數(shù)值數(shù)據(jù)、十進(jìn)制數(shù)據(jù)、數(shù)串和校驗(yàn)碼。非數(shù)值數(shù)據(jù),又稱為字符數(shù)據(jù),通常是指字符、字符串、圖形符號(hào)和漢子等各種數(shù)據(jù)。數(shù)值數(shù)據(jù):是可以測(cè)量的,可以計(jì)數(shù)出來的數(shù)據(jù),是有“量值”概念的數(shù)據(jù)。十進(jìn)制數(shù):把十進(jìn)制數(shù)的各位數(shù)字變成一組對(duì)應(yīng)的二進(jìn)制代碼,用4為二進(jìn)制數(shù)表示1位十進(jìn)制數(shù),稱為二進(jìn)制編碼的十進(jìn)制數(shù)(Binary Code Decimal),即BCD碼。數(shù)據(jù)校驗(yàn)碼:數(shù)據(jù)在存取和傳

22、送的過程中可能會(huì)發(fā)生錯(cuò)誤,為了減少和避免錯(cuò)誤,除了需要提高硬件本身的可靠性外,就是利用校驗(yàn)碼。數(shù)據(jù)校驗(yàn)碼是指那些能夠發(fā)現(xiàn)錯(cuò)誤或能偶自動(dòng)糾正錯(cuò)誤的數(shù)據(jù)編碼。編碼         就是用少量簡(jiǎn)單的基本符號(hào),選用一定的組合規(guī)則,以表示出大量復(fù)雜多樣的信息。在計(jì)算機(jī)中,所有的數(shù)據(jù)都用二進(jìn)制數(shù)來表示。任何數(shù)據(jù)都用二進(jìn)制數(shù)進(jìn)行編碼。 數(shù)值數(shù)據(jù)是含有“量值”的數(shù)據(jù),在計(jì)算機(jī)中分為無符號(hào)數(shù)和有符號(hào)數(shù)。按表示方法分為定點(diǎn)數(shù)據(jù)和浮點(diǎn)數(shù)據(jù)。無符號(hào)數(shù):整個(gè)機(jī)器字長(zhǎng)的全部二進(jìn)制位均表示數(shù)值位(沒有符號(hào)位),相當(dāng)于數(shù)的絕對(duì)值。如果以

23、一個(gè)n位二進(jìn)制數(shù)字序列表示一個(gè)無符號(hào)數(shù)A,那么A的值是:數(shù)據(jù)的數(shù)值通常以正()負(fù)()號(hào)后跟絕對(duì)值來表示,稱之為“真值”。但是,對(duì)于數(shù)據(jù)的符號(hào)“”和“”,計(jì)算機(jī)是無法識(shí)別的,因此也要對(duì)“”和“”進(jìn)行編碼,通常,約定二進(jìn)制數(shù)的最高位為符號(hào)位,0表示正號(hào)“”,1表示符號(hào)“”。這種在計(jì)算機(jī)中使用的表示數(shù)的形式稱為“機(jī)器數(shù)”。常見的機(jī)器數(shù)有“原碼”、“反碼”、“補(bǔ)碼”等不同的表示形式。帶符號(hào)數(shù)的最高位被用來表示符號(hào)位,而不再表示數(shù)值位。原碼表示法(true form)數(shù)值數(shù)據(jù)是含有“量值”的數(shù)據(jù),在計(jì)算機(jī)中分為無符號(hào)數(shù)和有符號(hào)數(shù)。按表示方法分為定點(diǎn)數(shù)據(jù)和浮點(diǎn)數(shù)據(jù)。真值和機(jī)器數(shù)  &#

24、160;   計(jì)算機(jī)中把符號(hào)位和數(shù)值位一起編碼來表示相應(yīng)的數(shù),分別有原碼、補(bǔ)碼、反碼和移碼。為了區(qū)別一般書寫表示的數(shù)和機(jī)器中這些編碼表示的數(shù),通常將前者稱為真值,后者成為機(jī)器數(shù)或者機(jī)器碼。       數(shù)據(jù)的數(shù)值通常以正()負(fù)()號(hào)后跟絕對(duì)值來表示,稱之為“真值”。       約定二進(jìn)制數(shù)的最高位為符號(hào)位,0表示正號(hào)“”,1表示符號(hào)“”。這種在計(jì)算機(jī)中使用的表示數(shù)的形式稱為機(jī)器數(shù)。這種在計(jì)算機(jī)中使用的表示數(shù)的形式稱為“機(jī)器數(shù)”。常見的機(jī)器數(shù)有“原碼”、“反碼”、“補(bǔ)碼”等不同的表示形式。帶符號(hào)

25、數(shù)的最高位被用來表示符號(hào)位,而不再表示數(shù)值位。為了講解方便,我們假設(shè)機(jī)器數(shù)為小數(shù),符號(hào)位放在最左邊,小數(shù)點(diǎn)放在符號(hào)位和數(shù)值位之間,真值用X表示。在下一小節(jié)開始我們分別介紹機(jī)器數(shù)的三種表示方法,原碼、反碼和補(bǔ)碼。無符號(hào)數(shù)無符號(hào)數(shù):整個(gè)機(jī)器字長(zhǎng)的全部二進(jìn)制位均表示數(shù)值位(沒有符號(hào)位),相當(dāng)于數(shù)的絕對(duì)值。如果以一個(gè)n位二進(jìn)制數(shù)字序列表示一個(gè)無符號(hào)數(shù)A,那么A的值是:有符號(hào)數(shù):       最高位被用來表示符號(hào)位,不再表示數(shù)值位。常用的表示方法:原碼表示法、補(bǔ)碼表示法、反碼表示法、移碼表示法原碼表示法   

26、60;  一個(gè)n位字,最左位為符號(hào)位,其余n-1位為數(shù)值位。符號(hào)位為0表示正數(shù),為1 表示負(fù)數(shù)。數(shù)值部分與真值相同。      若真值為純小數(shù),它的原碼形式為     其中Xs表示符號(hào)位。原碼的定義為:                                           

27、              若真值為純整數(shù),它的原碼形式為                    其中Xs表示符號(hào)位。原碼的定義為:                                &#

28、160;                 舉例如果一個(gè)8位計(jì)算機(jī),n+1=8,n=7     若:X1 = 0.10110 ,X2 = -0.10110, X3 = 0.0000       則:X1 原= 00010110, X2 原=10010110 ,X3 原=00000000,10000000若: X1 = 10110,X2 = -10110 ,X3 = 0000       則:X1 原

29、= 00010110,X1 原= 10010110 , X3 原= 00000000,10000000原碼的性質(zhì)1. 符號(hào)位加數(shù)的絕對(duì)值,0正1負(fù)2. 零有兩個(gè)編碼,+0和-0編碼不同3. 難以用于加減運(yùn)算,但乘除方便4. N+1位二進(jìn)制原碼所表示的范圍:           小數(shù):MAX=1-2-n   ,MIN=(1-2-n)           整數(shù):MAX=2n-1,MIN=(2n-1) 優(yōu)點(diǎn):1.  與真值之間的關(guān)系

30、比較簡(jiǎn)單2. 算術(shù)運(yùn)算與十進(jìn)制運(yùn)算規(guī)則類似3. 用原碼實(shí)現(xiàn)乘、除運(yùn)算的規(guī)則簡(jiǎn)單缺點(diǎn):         在計(jì)算機(jī)中進(jìn)行加減法運(yùn)算時(shí)比較復(fù)雜。補(bǔ)碼表示法模和同余        模(Module)是指一個(gè)計(jì)量器的容量。一般用M表示。是產(chǎn)生“溢出”的量值。        同余:是指兩個(gè)整數(shù)A和B除以同一個(gè)正整數(shù)M,如果所得的余數(shù)相同,則稱A和B對(duì)M同余,即A和B在以M為模時(shí)是相等的,記作:      &#

31、160;                                   為了更好地模和同余的概念,我們以鐘表為例來說明。假設(shè),時(shí)鐘停在8點(diǎn),而現(xiàn)在的正確的時(shí)間是6點(diǎn),這時(shí)撥準(zhǔn)時(shí)鐘的方法有兩種:第一種方法:將分針從8逆時(shí)針旋轉(zhuǎn)到6,即8-2=6(做減法)第二種方法:將分針從8順時(shí)針轉(zhuǎn)到6,即8+10=6 (mod 12)(作加法)我們進(jìn)一步推導(dǎo):8-2=8+10 (mod 12)設(shè):A=-2, B=10由此可以看

32、出,-2和10同余。同余的兩個(gè)數(shù),具有互補(bǔ)關(guān)系,-2與10對(duì)模12互補(bǔ),也可以說成-2在模12下的補(bǔ)數(shù)是10。因此,只要確定了“?!?, 就可以找到一個(gè)與負(fù)數(shù)等價(jià)的正數(shù),這個(gè)正數(shù)就是這個(gè)負(fù)數(shù)的補(bǔ)數(shù),可以用這個(gè)補(bǔ)數(shù)來代替此負(fù)數(shù)。這個(gè)正數(shù)可以用模加上負(fù)數(shù)本省求得,這樣就可把減法運(yùn)算用加法來實(shí)現(xiàn)。讓我們回到計(jì)算機(jī)中,對(duì)于一個(gè)8位二進(jìn)制的計(jì)算機(jī)來說,所能表達(dá)的最大的數(shù)據(jù)是255。當(dāng)計(jì)算機(jī)從0計(jì)到255之后,再加1, 計(jì)數(shù)值就又變?yōu)?。因此,這個(gè)計(jì)算機(jī)的容量, 模就為256。反反碼表示法定點(diǎn)小數(shù)表示:  定點(diǎn)整數(shù)表示:       &#

33、160;由原碼求反碼,如果X為正數(shù),則X反=X原;如果X為負(fù)數(shù),則將X原除符號(hào)位以外,每位都變反,可得到X反。      X1 = 0.10110 ,     X2 = -0.10110,      X3 = 0.0000 X1 反 = 010110, X1 反 = 101001,  X1 反 = 00000 11111    X1 = 10110,  &#

34、160;      X2 = -10110,         X3 = 0000 X1 反 = 010110, X2 反 = 101001, X3 反 = 00000 11111移碼表示法       定義對(duì)于n+1位數(shù)              &

35、#160;       移碼表示為:           由于移碼是在原值X上加一個(gè)2n,所以也稱為增碼,因此,符號(hào)為1時(shí),表示正數(shù),符號(hào)為0時(shí),表示負(fù)數(shù)。實(shí)例:         X=1101010,      X移=27+X =11101010求法:     由X補(bǔ)求X移:只要

36、將X補(bǔ)的符號(hào)位求反,就可X移。性質(zhì):     若X1移X2移,則有 X1X2原碼、補(bǔ)碼、反碼三種碼制的比較1. 對(duì)于正數(shù),它們都等于真值本身,對(duì)于負(fù)數(shù)則各有各的不同。2. 最高位都表示符號(hào)位,補(bǔ)碼和反碼的符號(hào)位可作為數(shù)值位的一部分看待,和數(shù)值位一起參加運(yùn)算;但原碼的符號(hào)位不允許和數(shù)值位同等看待,不許分開進(jìn)行處理。3. 對(duì)于真值0,原碼和反碼各有兩種不同的表示形式,而補(bǔ)碼只有唯一的一種表示形式。原碼、反碼表示正、負(fù)數(shù)范圍相對(duì)零來說是對(duì)稱的;單補(bǔ)碼負(fù)數(shù)表示范圍較正數(shù)表示范圍寬,能多表示一個(gè)最負(fù)的數(shù)(絕對(duì)值最大的負(fù)數(shù)),其值等于 純整數(shù))或1(純小數(shù))。                         

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論