計算機組成原理精講階段講義_第1頁
計算機組成原理精講階段講義_第2頁
計算機組成原理精講階段講義_第3頁
計算機組成原理精講階段講義_第4頁
計算機組成原理精講階段講義_第5頁
已閱讀5頁,還剩133頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

目錄

。。第五部分計算機組成原理.........................1

第一章計算機系統(tǒng)概述....................................................2

復習要點..................................................................2

1.1計算機系統(tǒng)層次結(jié)構(gòu)..................................................2

1.2計算機性能指標.......................................................6

第二章數(shù)據(jù)的表示和運算..................................................9

復習要點.................................................................10

2.1數(shù)制與編碼..........................................................10

2.2定點數(shù)的表示和運算..................................................25

2.3浮點數(shù)的表示和運算..................................................33

2.4算術邏輯單元ALU.........................................................................................................41

第■=>章存儲器層次結(jié)構(gòu)45

復習要點.................................................................46

3.1存儲器的分類........................................................46

3.2存儲器的層次化結(jié)構(gòu)..................................................47

3.3半導體隨機存取存儲器................................................49

3.4只讀存儲器...........................................................51

3.5主存儲器與CPI的連接.................................................52

3.6雙口RAM和多模塊存儲器...............................................59

3.7高速緩沖存儲器......................................................60

3.8虛擬存儲器..........................................................64

第四章指令系統(tǒng).........................................................67

4.1指令格式............................................................67

4.2指令的尋址方式.....................................................70

4.3CISC和RISC的基本概念...............................................77

第五章中央處理器.......................................................80

復習要點.................................................................80

5.1CPU的功能和基本結(jié)構(gòu)................................................80

5.2指令執(zhí)行過程........................................................83

5.3數(shù)據(jù)通路的功能和基本結(jié)構(gòu)............................................85

5.4控制器的功能和工作原理..............................................86

5.5指令流水線...........................................................95

第六章總線.............................................................99

復習要點.................................................................99

6.1總線概述.............................................................99

6.2總線仲裁............................................................103

6.3總線操作和定時.....................................................105

6.4總線標準............................................................107

第七章輸入輸出系統(tǒng)....................................................109

復習要點................................................................109

7.1I/O系統(tǒng)基本概念....................................................109

7.2外部設備............................................................110

7.3I/O接口(I/O控制器).............................................115

7.4I/O方式............................................................118

?計算機學科專業(yè)綜合基礎精講講義匕俄路教旨

第五部分計算機組成原理

【考查目標】

理解單處理器計算機系統(tǒng)中各部件的內(nèi)部工作原理、組成結(jié)構(gòu)以及相互連接方式。

掌握指令集體系結(jié)構(gòu)的基本知識和基本實現(xiàn)方法,對計算機硬件相關問題進行分析,

并能夠?qū)ο嚓P部件進行設計。

理解計算機系統(tǒng)的整機概念,能夠綜合運用計算機組成的基本原理和基本方法,對高

級編程語言(C語言)程序中的相關問題進行分析,具備軟硬件協(xié)同分析和設計的能力。

考試形式和試卷結(jié)構(gòu)

一、試卷滿分及考試時間

本試卷滿分為150分,考試時間為180分鐘

二、答題方式

答題方式為閉卷、筆試

三、試卷內(nèi)容結(jié)構(gòu)

數(shù)據(jù)結(jié)構(gòu)45分

計算機組成原理45分

操作系統(tǒng)35分

計算機網(wǎng)絡25分

四、試卷題型結(jié)構(gòu)

單項選擇題8()分(40小題,每小題2分)

綜合應用題70分

S優(yōu)路救昌?計算機學科專業(yè)綜合基礎精講講義

第一章計算機系統(tǒng)概述

本章將從存儲程序的概念入手,討論計算機的基本組成與工作原理,使讀者對于計算

機系統(tǒng)先有一個簡單的整體概念,為今后深入討論各個部件打下基礎。

本章要求

(一)計算機系統(tǒng)層次結(jié)構(gòu)

1.計算機系統(tǒng)的基本組成

2.計算機硬件的基本組成

3.計算機軟件和硬件的關系

4.計算機系統(tǒng)的工作過程

(二)計算機性能指標

吞吐量、響應時間;

CPU時鐘周期、主頻、CPI>CPU執(zhí)行時間;

MIPS、MFLOPS、GFLOPS、TFLOPS、PFLOPS.

復習要點

1.1計算機系統(tǒng)層次結(jié)構(gòu)

1.1.1計算機系統(tǒng)的基本組成

硬件系統(tǒng)和軟件系統(tǒng)共同構(gòu)成了一個完整的計算機系統(tǒng)。對于某一個功能來說,其既

可以用軟件實現(xiàn),也可以用硬件實現(xiàn),則稱為軟硬件在邏輯上是等效的C

早期的馮諾依曼機的特點:

計算機硬件系統(tǒng)由運算器、存儲器、控制器、輸入設備、輸出設備5大部件組成

指令和數(shù)據(jù)以同等地位存于存儲器內(nèi),并可按地址尋訪

指令和數(shù)據(jù)均用二進制代碼表示

指令由操作碼和地址碼組成,操作碼用來表示操作的性質(zhì),地址碼用來表示操作數(shù)在

存儲器中的位置

指令在存儲器內(nèi)按順序存放

早期的馮諾依曼機以運算器為中心,輸入/輸出設備通過運算器與存儲器傳送數(shù)據(jù)

現(xiàn)代計算機己經(jīng)發(fā)展為以存儲器為中心,使I/O操作盡可能地繞過CPU,直接在I/O

設備和存儲器之間完成,以提高系統(tǒng)的整體運行效率。

2

?計算機學科專業(yè)綜合基礎精講講義廿伏游救昌

圖1.1.1-1典型的馮?諾依曼計算機結(jié)構(gòu)框圖

1.1.2計算機硬件的基本組成

一個完整的計算機系統(tǒng)包含軟件系統(tǒng)和軟件系統(tǒng)兩大部分。硬件通常是指一切看得

見,摸得到的設備實體。圖1.L2-1為計算機硬件系統(tǒng)的組成框圖。

圖1.L2-1計算機硬件系統(tǒng)的組成框圖

通常將運算器和控制器合稱為中央處理器(CPU)o在由超大規(guī)模集成電路構(gòu)成的微

型計算機中,往往將CPU制成一塊芯片,稱為微處理器。

中央處理器和主存儲器(內(nèi)存儲器)一起組成主機部分。除去主機以外的硬件裝置(如

輸入設備、輸出設備、輔助存儲器等)稱為外圍設備或外部設備。

計算機硬件硬件系統(tǒng)由5大基本部件組成。

(1)輸入設備

輸入設備的任務是把人們編好的程序和原始數(shù)據(jù)送到計算機中去,并且將它們轉(zhuǎn)換成

計算機內(nèi)部所能識別和接受的信息方式。常見的輸入設備有:鍵盤、鼠標、掃描儀等,輔

助存儲器(磁盤、磁帶)也可以看作輸入設備。

(2)輸出設備

輸出設備的任務是將計算機的處理結(jié)果以人或其他設備所能接受的形式送出計算機。

最常用的輸出設備是打印機和顯示器,輔助存儲器也可以看作輸出設備。

(3)存儲器

存儲器是用來存放程序和數(shù)據(jù)的部件,它是一個記憶裝置,也是計算機能夠?qū)崿F(xiàn)“存

3

?計算機學科專業(yè)綜合基礎精講講義

儲程序控制”的基礎。

在計算機系統(tǒng)中,規(guī)模較大的存儲器往往分成若二級,稱為存儲系統(tǒng)。如圖1.2-2所

示的是常見的三級存儲系統(tǒng)。主存儲器可由CPU直接訪問,存取速度快,但容量較小,

一般用來存放當前正在執(zhí)行的程序和數(shù)據(jù)。輔助存儲器的存儲容量大,價格較低,但存取

速度較慢,一般用來存放暫時不參與運行的程序和數(shù)據(jù),CPU不可以直接訪問輔存,輔存

中的程序和數(shù)據(jù)在需要時才傳送到主存,因此它是主有的補充和后援。當CPU速度很高

時,為了使訪問存儲器的速度能與CPU的速度相匹配,又在主存和CPU間增設了一級

Cache(高速緩沖存儲器)。Cache的存取速度比主存更快,但容量更小,用來存放當前最

急需處理的程序和數(shù)據(jù),以便快速地向CPU提供指令和數(shù)據(jù)。

圖1.1.2-2三級存儲系統(tǒng)

1.1.3計算機軟件和硬件的關系

一個完整的計算機系統(tǒng)包含硬件系統(tǒng)和軟件系統(tǒng)兩大部分。軟件系統(tǒng)是在硬件系統(tǒng)的

基礎上,為有效地使用計算機而配置的。

計算機軟件按其功能分,有應用軟件和系統(tǒng)軟件兩大類。應用軟件是用戶為解決某種

應用問題而編制的一些程序,系統(tǒng)軟件用于實現(xiàn)計算機系統(tǒng)的管理、調(diào)度、監(jiān)視和服務等

功能。

通常將系統(tǒng)軟件分為:

①操作系統(tǒng)。操作系統(tǒng)的主要任務是管理和控制計算機各種資源(包括硬件、軟件及

其他信息)、自動調(diào)度用戶作業(yè)程序、處理各種中斷。它是用戶和計算機之間的接口,提

供了軟件的開發(fā)環(huán)境和運行環(huán)境。常見的操作系統(tǒng)有批處理系統(tǒng)、分時操作系統(tǒng)、實時操

作系統(tǒng)等。

②語言處理程序。語言處理程序的主要任務是將計算機可識別的語言(如匯編語言和

各種高級語言)編寫的源程序翻譯成計算機能直接執(zhí)行的機器語言,語言處理程序包括編

譯程序、匯編程序、解釋程序等。編譯程序和解釋程序都可以把高級語言變成為機器語言,

但前者是先將源程序轉(zhuǎn)換為目標程序,再開始執(zhí)行;而后者對源程序的處理采用邊解釋邊

執(zhí)行的方法。

③服務性程序。服務性程序為用戶使用的系統(tǒng)提供許多功能,包括鏈接程序、編輯程

序、調(diào)試程序、診斷程序等。

④數(shù)據(jù)庫管理系統(tǒng)。包括數(shù)據(jù)庫和數(shù)據(jù)庫管理軟件。數(shù)據(jù)庫管理軟件是為數(shù)據(jù)庫的建

立、使用和維護而配置的軟件。

⑤計算機網(wǎng)絡軟件。為計算機網(wǎng)絡配置的系統(tǒng)軟件。

4

?計算機學科專業(yè)綜合基礎精講講義廿伏游救昌

應用軟件是用戶或第三方軟件公司為各自業(yè)務開發(fā)和使用的各種軟件,種類繁多。

需要指出的是,硬件是計算機系統(tǒng)的物質(zhì)基礎,軟件是計算機系統(tǒng)的靈魂,硬件和軟

件是相輔相成、不可分割的整體。當前,計算機的硬件和軟件正朝著互相滲透,互相融合

的方向發(fā)展,在計算機系統(tǒng)中沒有一條明確的硬件與軟件的分界線。對于程序設計人員來

說,硬件和軟件在邏輯上是等價的。

1.1.4計算機系統(tǒng)的工作過程

(1)計算機的工作過程就是執(zhí)行指令的過程

指令由操作碼和操作數(shù)組成:

操作碼地址碼

操作碼指明本指令完成的操作,地址碼指明本指令的操作對象。

(2)指令的存儲

指令按照存儲器的地址順序連續(xù)的存放在存儲器中。

(3)指令的讀取

為了紀錄程序的執(zhí)行過程,需要一個記錄讀取指令地址的寄存器,稱為指令地址寄存

器,或者程序計數(shù)器。指令的讀取就可以根據(jù)程序計數(shù)器所指出的指令地址來決定讀取的

指令,由于指令通常按照地址增加的順序存放,故此,每次讀取一條指令之后,程序計數(shù)

器加一就為讀取下一條指令做好準備。

(4)執(zhí)行指令的過程

在控制器的控制下,完成以下三個階段任務:

1)取指令階段

按照程序計數(shù)器取出指令,程序計數(shù)器加一。

2)指令譯碼階段

分析操作碼,決定操作內(nèi)容,并準備操作數(shù)。

3)指令執(zhí)行階段

執(zhí)行操作碼所指定內(nèi)容。

編制好的程序放在主存中,由控制器控制逐條取出指令執(zhí)行。例如:計算a+b-c=?(設

a、b、c為已知的3個數(shù),分別存放在主存的5~7號單元中,結(jié)果將存放在主存的8號單

元),如果采用單累加寄存器結(jié)構(gòu)的運算器,完成上述計算至少需要5條指令,這5條指

令依次存放在主存的0~4號單元中,參加運算的數(shù)也必須存放在主存指定的單元中,主

存中有關單元的內(nèi)容如圖?所示。運算器的簡單框圖如圖(b)所示,參加運算的兩個操作數(shù)

一個來自累加寄存器,一個來自主存,運算結(jié)果則放在累加寄存器中。圖(b)中的存儲器數(shù)

據(jù)寄存器是用來暫存從主存中讀出的數(shù)據(jù)或?qū)懭胫鞔娴臄?shù)據(jù)的。

5

?計算機學科專業(yè)綜合基訓精講講義

00000

00001

00002

00003E

.

00004儲

等累加寄存器

數(shù)

00005

據(jù)

00006存

00007

00008

(b)

計算機的控制器將控制指令逐條的執(zhí)行,最終得到正確的結(jié)果。步驟如卜.:

①執(zhí)行取數(shù)指令,從主存5號單元取出數(shù)a,送入累加寄存器中。

②執(zhí)行加法指令,將累加寄存器中的內(nèi)容a與從主存6號單元取出數(shù)b一起送到ALU

中相加,結(jié)果a+b保留在累加寄存器中。

③執(zhí)行減法指令,將累加寄存器中的內(nèi)容a+b與從主存7號單元取出的數(shù)c一起送

到ALU中相減,結(jié)果a+b-c保留在累加寄存器中。

④執(zhí)行存數(shù)指令,把累加寄存器的內(nèi)容a+b-c存至主存8號單元。

⑤執(zhí)行停機指令,計算機停止工作。

1.2計算機性能指標

1.2.1機器字長

機器字長是指參與運算的數(shù)的基本位數(shù),它是由加法器、寄存器的位數(shù)決定的,所以

機器字長一般等于內(nèi)部寄存器的大小。字長標志著精度,字長越長,計算的精度就越高。

在計算機中為了更靈活地表達和處理信息,又以字節(jié)(Byte)為基本單位,用大寫字

母B表示。一個字節(jié)等于8位二進制位(bit)o

不同的計算機,字(Word)的長度可以不相同,但對于系列機來說,字的長度應該是

固定的,如:Intel80x86系列中,一個字等于16位:IBM303X系列中,一個字等于32位。

1.2.2存儲容量

存儲容量應該包括主存容量和輔存容量。

主存容量是指主存中存放二進制代碼的總位數(shù)。即

存儲容量=存儲單元個數(shù)x存儲字長

存儲器的性能指標:

(1)MAR位數(shù)反應存儲單元的個數(shù)(最多支持多少個,實際上可能比這個小)

6

?計算機學科專業(yè)綜合基礎精講講義后優(yōu)蹈教育

(2)MDR位數(shù)=存儲字長=每個存儲單元的大小

總?cè)萘?存儲單元個數(shù)*存儲字長(bit)=2^MAR位數(shù)*MDR位數(shù)(bit)

一個主存儲器所能存儲的全部信息量稱為主存容量。通常,以字節(jié)數(shù)來表示存儲容量,

也可以用字數(shù)乘以字長來表示存儲容量。在表示容量大小時,經(jīng)常用到K,M,G,T,P

之類的字符,它們與通常意義下的K,M,G,T,P有些差異,如表1.2.2-1所示。

表1.2.2-IK,M,G,T,P的定義

單位通常意義實際表示

K(Kilo)

1032,0=I024

M(Mega)GIO622。二|()48576

(Giga)IO9230=I073741824

T(Tera)IO12240=1099511627776

5O

P(Peta)10I52=1125899906842624

1.2.3運算速度

計算機的運算速度與許多因素有關,如機器的主頻、執(zhí)行什么樣的操作以及主存本身

的速度等。

(1)吞吐量和響應時間

吞吐量是指系統(tǒng)在單位時間內(nèi)處理請求的數(shù)量。響應時間是指系統(tǒng)對請求作出響應的

時間,響應時間包括CPU時間(運行一個程序所花費的時間)與等待時間(用于磁盤訪

問、存儲器訪問、I/O操作、操作系統(tǒng)開銷等時間)的總和。

(2)主頻和CPU時鐘周期

CPU的主頻又稱為時鐘頻率,表示在CPU內(nèi)數(shù)字脈沖信號振蕩的速度。主頻的倒數(shù)

就是CPU時鐘周期,這是CPU中最小的時間元素。每個動作至少需要一個時鐘周期。

(3)CPI

CPI是指每條指令執(zhí)行所用的時鐘周期數(shù)。在現(xiàn)代高性能計算機中,由于采用各種并

行技術,使指令執(zhí)行高度并行化,常常是一個系統(tǒng)時鐘周期內(nèi)可以處理若干條指令,所以

CPI參數(shù)經(jīng)常用IPC表示,即每個時鐘周期執(zhí)行的指令數(shù)。

IPC--

CPI

(4)CPU執(zhí)行時間

CPU執(zhí)行時間=35寸鐘周期數(shù)'CPI

~時鐘頻聿~時鐘―

上式表明,CPU的性能取決于三個要素:①時鐘頻率;②每條指令執(zhí)行所用的時鐘周

期數(shù);③指令條數(shù)IC。

7

?計算機學科專業(yè)綜合基訓精講講義

(5)MIPSMFLOPS

MIPS表示每秒執(zhí)行多少百萬條指令。對于一個給定的程序,MIPS定義為

指令條數(shù)主頻…

MIPS==__=k^xipc

執(zhí)行時間X106erf

MFLOPS表示每秒執(zhí)行多少百萬次浮點運算。對于一個給定的程序,MFLOPS定義為

指令條數(shù)主頻

MIPS==:主頻XIPC

執(zhí)行時間*1。6-cpr

FLOPS(Floating-pointOperationsPerSecond)表示每秒執(zhí)行多少次浮點操作,KFLOPS

(每秒執(zhí)行多少千次浮點操作)、MFLOPS(每秒執(zhí)行多少百萬次浮點操作)、GFLOPS

(每秒執(zhí)行多少十億次浮點操作)、TFLOPS(每秒執(zhí)行多少萬億次浮點操作)這里的K、

M、G、T與存儲容量的K、M、G、T不一樣,存儲容量的基數(shù)是2N0,而這里的K、M、

G、T的基數(shù)是10八3

MFLOPS測量單位比較適合于衡量向量機的性能。一般而言,同一程序運行在不同的

計算機上時往往會執(zhí)行不同數(shù)量的指令數(shù),但所執(zhí)行的浮點數(shù)個數(shù)常常是相同的。

8

?計算機學科專業(yè)綜合基礎精講講義后優(yōu)蹈教育

第二章數(shù)據(jù)的表示和運算

數(shù)據(jù)是計算機加工和處理的對象,數(shù)據(jù)的表示將直接影響到計算機的結(jié)構(gòu)和性能。本

章首先介紹了數(shù)制和編碼,接下來討論定點數(shù)和浮點數(shù)表示及計算方法,最后介紹算術邏

輯運算部件ALUo

本章要求

(一)數(shù)制與編碼

1.進位計數(shù)制及其相互轉(zhuǎn)換

計算機中常用的進位計數(shù)制;各種數(shù)制間的互相轉(zhuǎn)換。

2.真值和機器數(shù)

無符號數(shù)和帶符號數(shù);真值及原碼、補碼、反碼3種不同的機器數(shù)。

3.BCD碼

8421碼、2421碼和余3碼。

4.字符與字符串

ASCII碼、漢字編碼。

5.校驗碼

奇偶校驗碼、海明校驗碼和循環(huán)冗余校驗碼。

(-)定點數(shù)的表示和運算

1.定點數(shù)的表示

定點小數(shù)與定點整數(shù)的表示。

2.定點數(shù)的運算

定點數(shù)的移位運算,原內(nèi)定點數(shù)的加/減運算;補科定點數(shù)的加/減運算;定點數(shù)的乘/除

運算;溢出概念和判別方法。

(三)浮點數(shù)的表示和運算

1.浮點數(shù)的表示

浮點數(shù)的表示范圍;IEEE754標準。

2.浮點數(shù)的運算

浮點數(shù)的加/減運算

(四)算術邏輯單元ALU

1.串行加法器和并行加法器

并行加法器的進位產(chǎn)生和傳遞;并行加法器的快速進位。

2.算術邏輯單元ALU的功能和結(jié)構(gòu)

9

?計算機學科專業(yè)綜合基礎精講講義

復習要點

2.1數(shù)制與編碼

在計算機中往往會用到不同的進位計數(shù)制,對于數(shù)值數(shù)據(jù)和非數(shù)值數(shù)據(jù)(字符和漢字)

也有特定的編碼方法,同時,數(shù)據(jù)校驗碼也是必不可少的編碼方法。

2.1.1進位計數(shù)制及其相互轉(zhuǎn)換

人們在日常生活中最常使用的是十進制數(shù),然而,在計算機中數(shù)據(jù)通常用二進制、八

進制和十六進制來表示。

L進位計數(shù)制的基本概念

在進位計數(shù)制中,每個數(shù)位所用到的不同數(shù)碼的個數(shù)叫做基數(shù)。十進制的基數(shù)為10,

每個數(shù)位計滿10就向高位進位,即逢十進一。

在一個數(shù)中,數(shù)碼在不同的數(shù)位上所表示的數(shù)值是不同的。每個數(shù)碼所表示的數(shù)值就

等于該數(shù)碼本身乘以一個與它所在數(shù)位有關的常數(shù),這個常數(shù)叫做位權,簡稱權。例如:

十進制數(shù)4952,數(shù)碼“4”表示4000,該位的權為1000,這一位所代表的數(shù)值等于數(shù)碼4乘

以常數(shù)I000,即4x103,“9”表示900,該位的權為100,這一位所代表的數(shù)值等于數(shù)碼9乘以

常數(shù)100,即9x102.......。

所以,一個數(shù)的數(shù)值大小就是它的各位數(shù)碼按權相加,如:

4952=4x103+9x102+5xl0>+2x10°

由此可見,任何一個十進制數(shù)都可以用一個多項式來表示,推而廣之,一個基數(shù)為r

的I?進制數(shù)可表示為:

m

n1

(N)^=Ku<r+K04>TM+???+Ko"°+KiX「l+???+KmTm=ZKiXT

i?n

式中:N為第i位的權,給的取值可以是0,1,…,r-1共r個數(shù)碼中的任意一個。

r進制數(shù)的進位原則是:逢r進一。

【例2.1]若算式131-45=53成立,表明此運算的進位計數(shù)制是()

A.六進制B.七進制C.八進制D.九進制

【答案】B.

【分析】將原算式變成53+45=131,個位數(shù)逢七進一,所以是七進制。

2.計算機中常用的進位計數(shù)制

在計算機中最常用的是二進制、八進制和十六進制。

(1)二進制表示

二進制是一種最簡單的進位計數(shù)制,它只有兩個不同的數(shù)碼:“0”和“1”,即基數(shù)為2,

逢二進一。任意數(shù)位的權是”

表2-2-1列舉了常用的二進制數(shù)的權值,請讀者自行熟記。

10

?計算機學科專業(yè)綜合基礎精講講義后優(yōu)蹈教育

表2-2-1常用的二進制數(shù)的權值

權權值權權值

2-40.06252664

2-30.12527128

2-20.2528256

2-10.529512

2012101024

2122112048

2242124096

2382138192

241621416384

253221532768

計算機采用二進制的主要原因有以下幾點:

①容易實現(xiàn)二進制在技術上最容易實現(xiàn),可以用任何一個具有兩種不同穩(wěn)定狀態(tài)的

物理器件來表示兩個數(shù)碼:“0”或“1”。

②運算簡單二進制運算規(guī)則簡單,操作實現(xiàn)簡便。

③工作可.靠由于采用兩種穩(wěn)定狀態(tài)來表示數(shù)碼,使數(shù)據(jù)的存儲、傳送和處理都變得

可靠得多。

④邏輯判斷方便采用二進制后,能夠方便地使用邏輯代數(shù)這一有力工具來分析、綜

合與設計計算機的邏輯線路。

但是,用二進制來表示一個數(shù)所使用的位數(shù)要比用十進制數(shù)表示時所使用的位數(shù)長得

多,書寫起來不方便,也不好讀,不好懂。為了書寫和口讀的方便,人們通常使用八進制

利十六進制來彌補二進制的不足。

(2)八進制與十六進制表示

八進制數(shù)的基數(shù)為8,逢八進一,每個數(shù)位可取8個不同的數(shù)碼(0、7)中的任意

一個。因為廠8=23,所以只要把二進制中的3位數(shù)碼編為一組就是一位八進制數(shù)碼,兩

者之間的轉(zhuǎn)換是很方便的。

十六進制數(shù)的基數(shù)為16,逢十六進一,每個數(shù)位可取16個不同的數(shù)碼和符號(0,

1,…,9,A,F)中的任意一個,其中A、F表示十進制數(shù)值10~15。因為r=16=24,

故4位二進制數(shù)碼與一位十六進制數(shù)碼相對應,同樣,這兩種進位計數(shù)制之間的轉(zhuǎn)換也

是很容易的。

為了避免出現(xiàn)誤會,在給出一個數(shù)的同時就必須指明這個數(shù)的數(shù)制,除了用下標來表

示不同的數(shù)制以外,在計算機中還常用后綴字母來表示不同的數(shù)制。后綴B表示這個數(shù)是

二進制數(shù),后綴Q表示這個數(shù)是八進制數(shù),后綴H表示這個數(shù)是十六進制數(shù),而后綴D表

11

「供路救昌?計算機學科專業(yè)綜合基礎精講講義

示這個數(shù)是十進制數(shù)(在書寫時可以省略)。

二進制數(shù)轉(zhuǎn)換成八進制和十六進制數(shù)是很容易的,但需要注意的是,對于一個二進制

混合數(shù),在轉(zhuǎn)換時應以小數(shù)點為界。其整數(shù)部分,從小數(shù)點開始往左數(shù),將一串二進制數(shù)

分為3位一組或4位一組,在數(shù)的最左邊可根據(jù)需要隨意加“0”;對于小數(shù)部分,從小

數(shù)點開始往右數(shù),也將一串二進制數(shù)分為3位一組或4位一組,在數(shù)的最右邊也可根據(jù)

需要隨意加"0”。

最終使總的位數(shù)成為3或4的倍數(shù),然后分別用相應的八進制或十六進制數(shù)取代之。

例如:

11011.1010011011B=OI1()11.101001101I00B=33.5154Q

=00011011.101001101100B=IB.A6CH

由八進制或十六進制轉(zhuǎn)換成二進制,或者八進制和十六進制之間的轉(zhuǎn)換也是根容易的,

例如:

3.145Q=011.001100101B=3.328H

大多數(shù)計算機都是用八進制或十六進制來描述計算機中的指令和數(shù)據(jù)的。表2-2-2列

出了幾種常用進位計數(shù)制對照表。

表2-2-2幾種常用進位計數(shù)制對照表

十進制二進制八進制十六進制

0000000

1000111

2()01022

3001133

4010044

5010155

6011066

7011117

81(X)0108

91001119

10101012A

11101113B

12110014C

13110115D

14111016E

3.各種數(shù)制間的相互轉(zhuǎn)換

前面已經(jīng)提到二進制同八進制、十六進制之間的轉(zhuǎn)換,這里著重討論的是任意進制數(shù)

與十進制數(shù)之間的轉(zhuǎn)換。

(1)任意進制數(shù)轉(zhuǎn)換為十進制數(shù)

一個任意進制的數(shù)轉(zhuǎn)換成十進制數(shù),只要把各位數(shù)碼與它們的權相乘,再把乘積相加,

12

?計算機學科專業(yè)綜合基礎精講講義后優(yōu)蹈教育

就得到了一個十進制數(shù),這種方法稱為按權展開相加法。例如:

100011.1011B=1x25+1X2'+1X20+1x2」+1x23+1x2-4=35.6875D

37.2Q=3x847x8°+2x8-=31.25D

4E6.CH=4X162+14X161+6X160+12x16,=1254.75D

(2)十進制數(shù)轉(zhuǎn)換為任意進制數(shù)

一個十進制數(shù)轉(zhuǎn)換成任意進制數(shù),常采用基數(shù)乘除法。這種轉(zhuǎn)換方法對十進制數(shù)的整

數(shù)部分和小數(shù)部分將分別進行處理,對于整數(shù)部分用除基取余法:對于小數(shù)部分用乘基取

整法,最后把它們拼接起來。

十進制整數(shù)轉(zhuǎn)換為任意進制整數(shù)的規(guī)則是:除(以)基取余;先余為低,后余為高。

2.1.2真值和機器數(shù)

在計算機中,采用數(shù)字化方式來表示數(shù)據(jù),數(shù)據(jù)有無符號數(shù)和帶符號數(shù)之分。

1.無符號數(shù)

所謂無符號數(shù),就是整個機器字長的全部二進制位均表示數(shù)值位(沒有符號位),相

當于數(shù)的絕對值。例如:

NI=0I001,表示無符號數(shù)9。N2=11(X)1,表示無符號數(shù)25。

機器字長為n+1位的無符號數(shù)的表示范圍是0~(2"-1),此時二進制的最高位也是數(shù)值位,

其權值等于2L若字長為8位,則數(shù)的表示范圍為1255。

2,帶符號數(shù)

在日常生活中大量用到的數(shù)據(jù)還是帶符號數(shù),即正、負數(shù)。通常用“+”、“-”號加絕

對值來表示數(shù)值的大小,用這種形式表示的數(shù)值在計算機技術中稱為“真值”。

對于數(shù)的符號“+”或計算機是無法識別的,因此需要把符號數(shù)碼化。通常,約

定二進制數(shù)的最高位為符號位,“0”表示正號,“1”表示負號。這種在計算機中使用的表

示數(shù)的形式稱為機器數(shù),常見的機器數(shù)有原碼、反碼、補碼等不同的表示形式。

帶符號數(shù)的最高位被用來表示符號位,而不再表示數(shù)值位。前例中的Ni、N2在這里的

含義變?yōu)椋?/p>

Nj=01001,表示+9。

N2=11001,根據(jù)機器數(shù)的不同形式表示不同的值,如是原碼則表示-9,補碼則表示-7,

反碼則表示-6。

為了能正確地區(qū)別出真值和各種機器數(shù),本書用X表示真值,[X]小表示原碼,[X])卜表

示補碼,[X]反表示反碼。

3.原碼表示法

原碼表示法是一種最簡單的機器數(shù)表示法,其最庇位為符號位,數(shù)值部分與真值相同。

若真值為純整數(shù),它的原碼形式為X、X|X2…尤,其中Xs表示符號位。原碼的定義為:

【例2.4】寫出X】二1101和X2=-1101的原碼表示形式,假設字長為5位。

【解答】X|=1101(X.l^X=OllOl

n4

X2=-1101[X2].K=2-X=2-(-1101)=10000+1101=11101

13

嶼優(yōu)路救昌?計算機學科專業(yè)綜合基福精講講義

在原碼表示中,真值0有兩種不同的表示形式:

[+0]^.=00000[-0]s=10000

原碼表示法的優(yōu)點是直觀易懂,機器數(shù)和真值間的相互轉(zhuǎn)換很容易,用原碼實現(xiàn)乘、

除運算的規(guī)則很簡單;缺點是實現(xiàn)加、減運算的規(guī)則較復雜。

【例2.5】8位原碼能表示的不同數(shù)據(jù)的個數(shù)是(。)

A.15B.16C.255D.256

【答案】Co

【分析】8位原碼能表示的不同數(shù)據(jù)的個數(shù)共2$-1個,具中127個正數(shù),127個負數(shù),

還有0。這是因為在原碼表示中,零有兩種表示形式,[+01=00000000,[-01=10000000,

占用了兩個二進制代碼。

4.補碼表示法

補碼表示法的符號位表示與原碼相同,其數(shù)值部分的表示與數(shù)的正負有關:對于正數(shù),

數(shù)值部分與真值形式相同;對于負數(shù),將真值的數(shù)值部分按位取反,且在最低位上加“I”。

若真值為純整數(shù),它的補碼形式為XsX|X2…Xn,其中Xs表示符號位。補碼的定義為:

【例2.6]寫出X|二1101和Xz=-1101的補碼表示形式,假設字長為5位。

【解答】X1=1101[Xi]?h=X=01101

n+,5

X2=-1101|X2]H=2+X=2+(-1101)=100000-1101=10011

在補碼表示中,真值0的表示形式是唯一的:

[+0]-=[一0]補=00000

采用補碼系統(tǒng)的計算機需要將真值或原碼形式表示的數(shù)據(jù)轉(zhuǎn)換為補碼形式,以便于運

算器對其進行運算。通常,從原碼形式入手來求補碼。

當X為正數(shù)時,[X]產(chǎn)[X]產(chǎn)X。

當X為負數(shù)時,其[XJ補等于把[XJ除除去符號位外的各位求反后再加“1”。

反之,當X為負數(shù)時,已知[X]祚,也可通過對除符號位外的各位求反加“1”來求得[X]

也。當X為負數(shù)時,由[X]原轉(zhuǎn)換為[X]補的另一種更有效的方法是:自低位向高位,遇到的第

一個“1”及其右部的“0”保持不變,左部的各位取反,符號位保持不變。

【例2.7]已知[X]#11110011000,求肉卜

【解答】[X]原=11110011000

\XU=10001101000

不變?nèi)》床蛔?/p>

這種方法避免了加1運算,是實際求補線路邏輯實現(xiàn)的依據(jù)。

5.反碼表示法

反碼表示法與補碼表示法有許多類似之處,對于正數(shù),數(shù)值部分與真值形式相同;對于

負數(shù),將真值的數(shù)值部分按位取反。它與補碼的區(qū)別是末位少加一個“1”,因此很容易從補碼

的定義推出反碼的定義。

【例2.8]寫出X|二1101和X2=-1101的反碼表示形式,假設字長為5位。

【解答】X1=1101[X|],x=X=01101

5

X2=1101[X2]反=(2計|1)+X=(21)+(1101)=111111101=10010

14

?計算機學科專業(yè)綜合基礎精講講義后優(yōu)蹈教育

在反碼表示中,真值0也有兩種不同的表示形式:

[+0]反=00000[-0]反=11111

6.3種機器數(shù)的比較

原碼、補碼和反碼這3種機器數(shù)既有共同點,又有各自不同的性質(zhì),主要區(qū)別有以下

幾點:

①對于正數(shù)它們都等于真值本身,而對于負數(shù)各有不同的表示。

②最高位都表示符號位,補碼和反碼的符號位可作為數(shù)值位的一部分看待,和數(shù)值位一

遠參加運算;但原碼的符號位不允許和數(shù)值位同等看待,必須分開進行處理。

③對于真值0,原碼和反碼各有兩種不同的表示形式,而補碼只有唯一的一種表示形式。

④原碼、反碼表示的正、負數(shù)范圍相對零來說是充稱的;但補碼負數(shù)表示范圍較正數(shù)表

示范圍寬,能多表示一個最負的數(shù)(絕對值最大的負數(shù)),其值等于-2n(純整數(shù))或-1(純

小數(shù))。

表2-2-3列出了真值與3種機器數(shù)間的對照。表中設字長等于4位(含一位符號位)°

表2-2-3真值與3種機器數(shù)間的對照

真值X真值X

[X]原、兇反、[X][X]1[X]R[X]

十進制二進制十進制二進制

+0+0000000-0-000100011110000

+1+0010001-1-001100111101111

+2+0100010-2-010101011011110

+3+0110011-3-011101111001101

+4+1000100-4-100110010111100

+5+1010101-5-101110110101011

+6+1100110-6-110111010011010

+7+1110111-7-111111110001001

+8-8-1000--1000

在表2-2-3中,請?zhí)貏e注意1000這個代碼,當其為原碼時,對應的真值是-0,當其為

補碼時,對應的真值是-8,當其為反碼時,對應的真值是

2.1.3BCD碼

BCD碼是指二進制編碼的十進制數(shù),BCD碼用4位二進制數(shù)來表示,它既具有二進制數(shù)的

形式,又保持了十進制數(shù)的特點。4位二進制數(shù)可以組合廿16種代碼,能表示16種不同的狀態(tài),

只需要使用其中的10種狀態(tài),就可以表示十進制數(shù)的0與十個數(shù)碼,而其他的6種狀態(tài)為冗余

狀態(tài)。由于可以取任意的10種代碼來表示10個數(shù)碼,所以就可能產(chǎn)生很多種BCD碼。表2-2-4

列出了幾種常見的BCD碼。

15

?計算機學科專業(yè)綜合基礎精講講義

表2-2-4常見的BCD碼

十進制數(shù)8421碼2421碼余3碼

0000000000011

1000100010100

2001000100101

3001100110110

4010001000111

5010110111000

6011011001001

7011111011010

8100011101011

9100111111100

1.8421碼

8421碼又稱為自然BCD碼,簡稱NBCD碼,4位二進制代碼的位權從高到低分別為8,4,

2,1,這種編碼的主要特點是:

①它是一種有權碼,設其各位的值為b3b2b由0,則它所表示的十進制數(shù)為

D=8b3+4b2+2bi+1b()o

②簡單直觀。每個代碼與它所代表的十進制數(shù)之間符合二進制數(shù)和十進制數(shù)相互轉(zhuǎn)

換的規(guī)則。

③不允許出現(xiàn)10101111.這6個代碼在8421碼中是非法碼。

需要注意的是,盡管在8421碼中0~9等10個數(shù)碼的表示形式與用二進制表示的形式一

樣,但這是兩個完全不同的概念,不能混淆。例如:一個兩位的十進制數(shù)39,它可以表示

為(00111001)8421與100111B,這兩者是完全不同的。

2.2421碼

這種編碼各位的位權從高到低分別為2,4,2,1,其主要特點是:

①它也是一種有權碼,所表示的十進制數(shù)為D=2b3+4b2+2bi+Ibo。

②它又是一種對9的自補碼,即某數(shù)的2421碼,只要自身按位取反,就能得到該數(shù)對

9補數(shù)的2421碼。例如:3的2421碼是0011,3對9的補數(shù)是6,而6的2421碼是1100,即將3

的2421碼自身按位取反可得到6的2421碼。在十進制運算中,采用自補碼,可以使運算器

線路簡化。

③不允許出現(xiàn)01011010。這6個代碼在2421碼中是非法碼。

3?余3碼

余3碼是一種無權碼,從表2-2-4中可以看出,余3碼是在8421碼的基礎上加0011形成的,

因每個數(shù)都多余“3”,故稱余3碼。其主要特點是:

16

?計算機學科專業(yè)綜合基礎精講講義后優(yōu)蹈教育

①它是一種無權碼,在這種編碼中各位的“1”不表示一個固定的十進制數(shù)值,因而

不直觀,且容易搞錯。

②它也是一種對9的自補碼。

③不允許出現(xiàn)0000~0010、11011111。這6個代碼在余3碼中是非法碼。

【例2.9】某數(shù)在計算機中用余3碼表示為011110001001,其真值為()o

A.456B.456HC.789D.789H

【答案】A。

【分析】余3碼是在8421碼的基礎上+3。注意,對應的真值是十進制數(shù)。

2.1.4字符與字符串

由于計算機內(nèi)部只能識別和處理二進制代碼,所以字符和漢字都必須按照一定的規(guī)則

用一組二進制編碼來表示。

1.字符編碼

字符編碼方式有很多種,現(xiàn)在用的最廣泛的是美國國家信息交換標準字符碼(ASCII)o

標準的ASCII碼用7位一進制表示一個字符,它包括10個十進制數(shù)字(0~9)、52個英文大

寫和小寫字

溫馨提示

  • 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

提交評論