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

下載本文檔

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

文檔簡(jiǎn)介

計(jì)算機(jī)組成原理

課程簡(jiǎn)介

計(jì)算機(jī)組成原理是講述計(jì)算機(jī)的一般結(jié)構(gòu)、組成、原理的課程,本課程的基礎(chǔ)課是數(shù)字電路、離散數(shù)

學(xué)等,后繼課程有計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)、微機(jī)原理等。

選用教材:

白中英主編,《計(jì)算機(jī)組成原理(第三版)》,科學(xué)出版社

第一章計(jì)算機(jī)系統(tǒng)概論

學(xué)習(xí)目標(biāo)

?計(jì)算機(jī)硬件、軟件的基本概念

?計(jì)算機(jī)系統(tǒng)的基本組成;

?計(jì)算機(jī)的工作過(guò)程;

?計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)。

本章需掌握的主要內(nèi)容:

1.計(jì)算機(jī)的發(fā)展、分類、特點(diǎn)與應(yīng)用;

2.計(jì)算機(jī)硬件和軟件的基本概念;

3.計(jì)算機(jī)硬件系統(tǒng)的組織,各部分的功能及其組成框圖;

4.計(jì)算機(jī)的工作過(guò)程,即執(zhí)行指令的過(guò)程;

5.馮.諾依曼型計(jì)算機(jī)的設(shè)計(jì)思想;

6.計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)。

對(duì)計(jì)算機(jī)有一個(gè)總體的概念,以便展開(kāi)后續(xù)各章內(nèi)容。

1.1計(jì)算機(jī)的分類和應(yīng)用

1.1.1計(jì)算機(jī)的分類

計(jì)算機(jī)分類:

模擬:處理在時(shí)間和數(shù)值上連續(xù)的量

數(shù)字:處理離散的量

數(shù)字計(jì)算機(jī)分類:

專用計(jì)算機(jī):如工控機(jī)、DSP、IOP等

通用計(jì)算機(jī):GPP

通用機(jī)分類:

巨型機(jī)(Super-Computer)、大型機(jī)(Mainframe)、中型機(jī)(Medium-sizeComputer)、小型機(jī)

(minicomputer)、微型機(jī)(microcomputer)、單片機(jī)(Single-ChipComputer)

積高

數(shù)據(jù)

指微型機(jī)易

價(jià)性

小型機(jī)

大型機(jī)

高V巨型機(jī)

1.1.2計(jì)算機(jī)的應(yīng)用

?科學(xué)計(jì)算:傳統(tǒng)方式:工作量大、人工處理慢

?自動(dòng)控制:數(shù)控機(jī)床、流水線控制

?測(cè)量和測(cè)試:提高精度、在惡劣條件下的測(cè)量

?信息處理:

,教育和衛(wèi)生:計(jì)算機(jī)輔助教學(xué)(CAI)>多媒體教室、CT(Computerizedtomography)

?家用電器:

?人工智能

1.2計(jì)算機(jī)的硬件

1.2.1數(shù)字計(jì)算機(jī)的硬件組成

概念:存儲(chǔ)單元、地址、存儲(chǔ)容量、外存儲(chǔ)器、內(nèi)存儲(chǔ)器、指令、程序、指令的組成、存儲(chǔ)程序、程序控

制、指令系統(tǒng)、指令周期、執(zhí)行周期、CPU、主機(jī)、數(shù)據(jù)字、指令字、數(shù)據(jù)流、指令流、適配器。

馮?諾依曼體系結(jié)構(gòu):

(1)采用二進(jìn)制形式表示數(shù)據(jù)和指令

數(shù)據(jù)和指令在代碼的外形上并無(wú)區(qū)別.都是由0和I組成的代碼序列,只是各自約定的含義不

同而已。采用二進(jìn)制、使信息數(shù)字化容易實(shí)現(xiàn),可以用二值邏輯工具進(jìn)行處理。程序信息本身也可

以作為被處理的對(duì)象,進(jìn)行加工處理,例如對(duì)照程序進(jìn)行編譯,就是將源程序當(dāng)作被加工處理的對(duì)

象。

(2)采用存儲(chǔ)程序方式

這是諾依曼思想的核心內(nèi)容。如前所述,它意味著事先編制程序,事先將程序(包含指令和數(shù)

據(jù))存入主存儲(chǔ)器中,計(jì)算機(jī)在運(yùn)行程序時(shí)就能自動(dòng)地、連續(xù)地從存儲(chǔ)器中依次取出指令且執(zhí)行。

這是計(jì)算機(jī)能高速自動(dòng)運(yùn)行的基礎(chǔ)。計(jì)算機(jī)的工作體現(xiàn)為執(zhí)行程序,計(jì)算機(jī)功能的擴(kuò)展在很大程度

上體現(xiàn)為所存儲(chǔ)程序的擴(kuò)展。計(jì)算機(jī)的許多具體工作方式也是由此派生的。

(3)由運(yùn)算器、存儲(chǔ)器、控制器、輸入裝置和輸出裝置等五大部件組成計(jì)算機(jī)系統(tǒng),并規(guī)定了這五部分

的基本功能。

上述這些概念奠定了現(xiàn)代計(jì)算機(jī)的基本結(jié)構(gòu)思想,并開(kāi)創(chuàng)了程序設(shè)計(jì)的新時(shí)代。到目前

為止,絕大多數(shù)計(jì)算機(jī)仍沿用這一體制,稱為馮?諾依曼機(jī)體制。學(xué)習(xí)計(jì)算機(jī)工作原理也就

從馮?諾依曼概念入門(mén)。

一般的計(jì)算機(jī)結(jié)構(gòu)框圖(存儲(chǔ)器為中心)

輸入設(shè)備「二二存儲(chǔ)器輸出設(shè)備

二:,數(shù)據(jù)線

五大組成部分:運(yùn)算器、控制器、存儲(chǔ)器、輸入/輸出設(shè)備。

1.運(yùn)算器

?算術(shù)運(yùn)算和邏輯運(yùn)算

?在計(jì)算機(jī)中參與運(yùn)算的數(shù)是二進(jìn)制的

?運(yùn)算器的長(zhǎng)度一般是8、16、32或64位

2.存儲(chǔ)器

?存儲(chǔ)器

-存儲(chǔ)數(shù)據(jù)和程序

-容量(存儲(chǔ)單元、存儲(chǔ)單元地址、容量單位)

-分類內(nèi)存(ROM、RAM)、外存

-存儲(chǔ)器單位:

?210byte=IK

?210K=1M

?210M=1G

?210G=1T

存儲(chǔ)單元:在存儲(chǔ)器中保存一個(gè)數(shù)的16個(gè)觸發(fā)器,稱為一個(gè)存儲(chǔ)單元。

地址:存儲(chǔ)器是由許多存儲(chǔ)單元組成,每個(gè)存儲(chǔ)單元的編號(hào),稱為地址。

存儲(chǔ)容量:存儲(chǔ)器所有存儲(chǔ)單元的總數(shù)。通常用單位“KB、MB”表示,如64KB,128MB。存儲(chǔ)容量越大,

表示計(jì)算機(jī)記憶儲(chǔ)存的信息就越多。

外存儲(chǔ)器:計(jì)算機(jī)中又配備的存儲(chǔ)容量更大的磁盤(pán)存儲(chǔ)器、光盤(pán)存儲(chǔ)器等。相對(duì)而言,半導(dǎo)體存儲(chǔ)器稱

為內(nèi)存儲(chǔ)器,簡(jiǎn)稱內(nèi)存。

3、控制器

?控制器

-指令和程序(計(jì)算機(jī)工作原理)

指令的形式(操作和地址碼、存儲(chǔ)程序的概念、指令中程序和數(shù)據(jù)的存放、指令系統(tǒng))

-控制器的基本任務(wù):按照一定的順序一條接著一條取指令、指令譯碼、執(zhí)行指令。取指周

期和執(zhí)行周期

-指令流和數(shù)據(jù)流

指令:每一個(gè)基本操作就叫做一條指令,

程序:而解算某一問(wèn)題的一串指令序列,叫做該問(wèn)題的計(jì)算程序,簡(jiǎn)稱為程序。

指令形式:的內(nèi)容由兩部分組成,即操作的性質(zhì)和操作的地址。前者稱為操作碼,后者稱為地址碼。

操作碼地址碼

操作碼:指出指令所進(jìn)行的操作,如加、減、乘、除、取數(shù)、存數(shù)等等;

地址碼:表示參加運(yùn)算的數(shù)據(jù)應(yīng)從存儲(chǔ)器的哪個(gè)單元取,運(yùn)算的結(jié)果應(yīng)存到哪個(gè)單元。

取指周期:通常把取指令的一段時(shí)間叫做取指周期,

執(zhí)行周期:而把執(zhí)行指令的一段時(shí)間叫做執(zhí)行周期。

主機(jī):CPU和存儲(chǔ)器的合稱

4、適配器與I/O設(shè)備

?計(jì)算機(jī)的發(fā)展(系統(tǒng)結(jié)構(gòu)1.2doc)

手工模仿計(jì)算機(jī)工作(1)

&L5就族多俗和般推記戲以橫格紙」

行數(shù)解題步驟和數(shù)據(jù)說(shuō)明

1取數(shù)⑼安盤(pán)(9)表示第9行的數(shù)a,下同

2乘法(12)-〉算盤(pán)完成a*x,結(jié)果在算盤(pán)」

3完成ax?b,結(jié)果在算盤(pán)上

4減法(")->算盤(pán)完成y=結(jié)果在算盤(pán)」

5存數(shù)y->13把算盤(pán)上的y值記到第13行

6把算盤(pán)上的y值寫(xiě)出給人看

7運(yùn)算完畢,暫停

9a數(shù)據(jù)

10b數(shù)據(jù)

11c數(shù)據(jù)

12X數(shù)據(jù)

13y數(shù)據(jù)

手工模仿計(jì)算機(jī)工作(2)

骷住

?加法001

?減法010

?乘法011

?除法100

?取數(shù)101

?存數(shù)110

?打印111

?停機(jī)000

操作碼操作數(shù)

1.2.2計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的過(guò)去和未來(lái)

發(fā)展:電子管一晶體管一集成電路一大規(guī)模、超大規(guī)模集成電路

趨勢(shì):

?由于計(jì)算機(jī)網(wǎng)絡(luò)和分布式計(jì)算機(jī)系統(tǒng)能為信息處理提供廉價(jià)的服務(wù),因此計(jì)算機(jī)系統(tǒng)的進(jìn)一步發(fā)

展,“三網(wǎng)合一”,將進(jìn)入以通信為中心的體系結(jié)構(gòu)。

?計(jì)算機(jī)智能化將進(jìn)一步發(fā)展,各種知識(shí)庫(kù)及人工智能技術(shù)將進(jìn)?步普及,人們將用自然語(yǔ)言和機(jī)

器對(duì)話。計(jì)算機(jī)從數(shù)值計(jì)算為主過(guò)渡到知識(shí)推理為主,從而使計(jì)算機(jī)進(jìn)入知識(shí)處理階段。

?隨著大規(guī)模集成電路的發(fā)展,不僅用多處理機(jī)技術(shù)來(lái)實(shí)現(xiàn)大型機(jī)系統(tǒng)功能,而且會(huì)出現(xiàn)計(jì)算機(jī)的

動(dòng)態(tài)結(jié)構(gòu),即所謂模塊化計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)。

?多媒體技術(shù)將有重大突破和發(fā)展,并在微處理機(jī)、計(jì)算機(jī)網(wǎng)絡(luò)與通信等方面引起一次巨大變革。

1.3計(jì)算機(jī)的軟件

計(jì)算機(jī)硬件是載體,軟件是靈魂。

1.3.1軟件的組成與分類

分類:系統(tǒng)程序、應(yīng)用程序

1.3.2軟件的發(fā)展演變

手編程序(目的程序)一匯編程序一算法語(yǔ)言(高級(jí)語(yǔ)言)

高級(jí)語(yǔ)言與機(jī)器語(yǔ)言的轉(zhuǎn)換:編譯系統(tǒng)、解釋系統(tǒng)

操作系統(tǒng)、數(shù)據(jù)庫(kù)

1.4計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)

1.4.1多級(jí)組成的計(jì)算機(jī)系統(tǒng)

P16圖1.6五個(gè)級(jí)別:第一級(jí)微程序設(shè)計(jì)級(jí)、第二級(jí)是一般機(jī)器級(jí)、第三級(jí)是操作系統(tǒng)級(jí)、第四級(jí)是

匯編語(yǔ)言級(jí)、第五級(jí)是高級(jí)語(yǔ)言級(jí)。

1.4.2軟件與硬件的邏輯等價(jià)性

補(bǔ)充:計(jì)算機(jī)的性能指標(biāo)

?基本字長(zhǎng)

基本字長(zhǎng)是指參與運(yùn)算的數(shù)的基本位數(shù),它標(biāo)志著計(jì)算精度。位數(shù)越多,精度越高,但硬件成本

也越高,因?yàn)樗鼪Q定著寄存器、運(yùn)算部件、數(shù)據(jù)總線等的位數(shù)。

?主存容量

主存儲(chǔ)器是CPU可以直接訪問(wèn)的存儲(chǔ)器,需要執(zhí)行的程序與需要處理的數(shù)據(jù)就放在主存之中。主

存容量大則可以運(yùn)行比較復(fù)雜的程序,并可存入大量信息,可利用更完善的軟件支撐環(huán)境。所以,

計(jì)算機(jī)處理能力的大小在很大程度上取決于主存容量的大小。

?外存容量

外存容量一般是指計(jì)算機(jī)系統(tǒng)中聯(lián)機(jī)運(yùn)行的外存儲(chǔ)器容量。由于操作系統(tǒng)、編譯程序及眾多的軟

件資源往往存放在外存之中,需用時(shí)再調(diào)入主存運(yùn)行。在批處理、多道程序方式中,也常將各用

戶待執(zhí)行的程序、數(shù)據(jù)以作業(yè)形式先放在外存中,再陸續(xù)調(diào)入主存運(yùn)行。所以,聯(lián)機(jī)外存容量也

是一項(xiàng)重要指標(biāo),一般以字節(jié)數(shù)表示。

?運(yùn)算速度

同一臺(tái)計(jì)算機(jī),執(zhí)行不同的運(yùn)算所需時(shí)間可能不同,因而對(duì)運(yùn)算速度的描述常采用不同方法。常

用的有CPU時(shí)鐘頻率、每秒平均執(zhí)行指令數(shù)(ips)、單獨(dú)注明時(shí)間等。

?所配置的外圍設(shè)備及其性能指標(biāo)

外圍設(shè)備配置也是影響整個(gè)系統(tǒng)性能的重要因素,所以在系統(tǒng)技術(shù)說(shuō)明中常給出允許配置情況與

實(shí)際配置情況。

?系統(tǒng)軟件配置情況

作為一種硬件系統(tǒng),允許配置的系統(tǒng)軟件原則上是可以不斷擴(kuò)充的,但實(shí)際購(gòu)買(mǎi)的某個(gè)系統(tǒng)究竟

已配置哪些軟件,則表明它的當(dāng)前功能。

第二章運(yùn)算方法和運(yùn)算器

本章摘要

?數(shù)值數(shù)據(jù)和非數(shù)值數(shù)據(jù)在計(jì)算機(jī)中的表示方法;

?定點(diǎn)數(shù)加、減、乘、除運(yùn)算方法;

?浮點(diǎn)數(shù)加、減、乘、除運(yùn)算方法;

?定點(diǎn)、浮點(diǎn)運(yùn)算器的組成及工作原理。

本章需掌握的主要內(nèi)容:

1.掌握定點(diǎn)數(shù)和浮點(diǎn)數(shù)以及原碼、反碼、補(bǔ)碼的表示方法;

2.掌握補(bǔ)碼加減運(yùn)算的方法,溢出的概念與檢測(cè)方法,基本的二進(jìn)制加法。

3.理解定點(diǎn)乘法運(yùn)算和除法運(yùn)算的工作原理;

4.理解ALU的功能、設(shè)計(jì)方法和工作原理;

5.掌握基本的浮點(diǎn)運(yùn)算方法,了解浮點(diǎn)運(yùn)算器的組成和原理;

6.理解內(nèi)部總線的概念、分類及特點(diǎn);

2.1數(shù)據(jù)與文字的表示方法

2.1.1數(shù)據(jù)格式

在選擇計(jì)算機(jī)的數(shù)的表示方式時(shí),應(yīng)當(dāng)全面考慮以下幾個(gè)因素:

?要表示的數(shù)的類型(小數(shù)、整數(shù)、實(shí)數(shù)和復(fù)數(shù)):決定表示方式

?可能遇到的數(shù)值范圍:確定存儲(chǔ)、處理能力

?數(shù)值精確度:處理能力相關(guān)

?數(shù)據(jù)存儲(chǔ)和處理所需要的硬件代價(jià):造價(jià)高低

兩種常用格式:

?定點(diǎn)格式:定點(diǎn)格式容許的數(shù)值范圍有限,但要求的處理硬件比較簡(jiǎn)單;

(1)定點(diǎn)純小數(shù)

小數(shù)點(diǎn)固定于符號(hào)位之后

不需專門(mén)存放位置

表示數(shù)的范圍是OW|xW1-2-

(最小數(shù)、最大數(shù)、最接近0的正數(shù)、最接近0的負(fù)數(shù))

x=0.00...0x=0正0和負(fù)0都是0

x=l.00...0

X=0.11...1x=l—2f最大

X=0.00...01x=2-"最接近0的正數(shù)

X=1.00...01x=-2-n最接近0的負(fù)數(shù)

X二x=—(1—2f)最小

表示數(shù)的范圍是0Wlx|W2」l

?最小數(shù)、最大數(shù)、最接近0的正數(shù)、最接近0的負(fù)數(shù)呢

?浮點(diǎn)格式:容許的數(shù)值范圍很大,但要求的處理硬件比較復(fù)雜。

(1)定點(diǎn)數(shù)表示法

定點(diǎn)指小數(shù)點(diǎn)的位置固定,為了處理方便,?般分為定點(diǎn)純整數(shù)和純小數(shù)。

(2)浮點(diǎn)數(shù)表示法(小數(shù)點(diǎn)位置隨階碼不同而浮動(dòng))

浮點(diǎn)表示法,即小數(shù)點(diǎn)的位置是浮動(dòng)的。其思想來(lái)源于科學(xué)計(jì)數(shù)法。

加:尾數(shù),是一個(gè)純小數(shù)。

e:比例因子的指數(shù),稱為浮點(diǎn)數(shù)的指數(shù),是一個(gè)整數(shù)。

比例因子的基數(shù),對(duì)于二進(jìn)制數(shù)值的機(jī)器是一個(gè)常數(shù),一般規(guī)定7?為2,8或16。

一個(gè)機(jī)器浮點(diǎn)數(shù)由階碼和尾數(shù)及其符號(hào)位組成(尾數(shù):用定點(diǎn)小數(shù)表示,給出有效數(shù)字的位數(shù)決定了

浮點(diǎn)數(shù)的表示精度;階碼:用整數(shù)形式表示,指明小數(shù)點(diǎn)在數(shù)據(jù)中的位置,決定了浮點(diǎn)數(shù)的表示范圍。):

EsElE2MsMlM2...M.n.

階符<階碼-——>1數(shù)符<尾數(shù)一一>

為便于軟件移植,按照IEEE754標(biāo)準(zhǔn),32位浮點(diǎn)數(shù)和64位浮點(diǎn)數(shù)的標(biāo)準(zhǔn)格式為

32位的浮點(diǎn)數(shù)中,S:浮點(diǎn)數(shù)的符號(hào)位,1位,0表示正數(shù),1表示負(fù)數(shù)。M:尾數(shù),23位,用小數(shù)

表示,小數(shù)點(diǎn)放在尾數(shù)域的最前面。E:階碼(8位),階符采用隱含方式,即采用移碼方式來(lái)表示正負(fù)指

數(shù)。移碼方法對(duì)兩個(gè)指數(shù)大小的比較和對(duì)階操作都比較方便,因?yàn)殡A碼域值大者其指數(shù)值也大。采用這種

方式時(shí),將浮點(diǎn)數(shù)的指數(shù)真值e變成階碼E時(shí),應(yīng)將指數(shù)e加上一個(gè)固定的偏移值127(01111111),即

E=e+127.

例1:若浮點(diǎn)數(shù)x的754標(biāo)準(zhǔn)存儲(chǔ)格式為(4136080)16,求其浮點(diǎn)數(shù)的十進(jìn)制數(shù)值。

[解:]

將十六進(jìn)制數(shù)展開(kāi)后,可得二進(jìn)制數(shù)格式為

0too00010011QUO0000000000000000

S階媽(8位)尾數(shù)(23位)

指數(shù)e=階碼一127=10000010-01111111=00000011=(3)w

包括隱藏位1的尾數(shù)1.41.oil01100000000000000000=1.011011

于是有

*=(一D0Xl.J/X2'

=+(1.011011)X23=+1011.011=(11.375)w

例2:將(20.59375)轉(zhuǎn)換成754標(biāo)準(zhǔn)的32位浮點(diǎn)數(shù)的二進(jìn)制存儲(chǔ)格式。

[解:]

首先分別將整數(shù)和分?jǐn)?shù)部分轉(zhuǎn)換成二進(jìn)制數(shù):

20.59375=10100.10011

然后移動(dòng)小數(shù)點(diǎn),使其在第1,2位之間

10100.10011=1.010010011X2'e=4

于是得到:

s=o,44+127=131,.1^=010010011

最后得到32位浮點(diǎn)數(shù)的二進(jìn)制存儲(chǔ)格式為:

01000001101001001100000000000000=(41A4C000)16

浮點(diǎn)數(shù)的規(guī)格化:主要解決同一浮點(diǎn)數(shù)表示形式的不唯一性問(wèn)題。規(guī)定,否則尾數(shù)要進(jìn)行左移或右移。

機(jī)器零的概念:當(dāng)一個(gè)浮點(diǎn)數(shù)的尾數(shù)為0,不論其階碼為何數(shù),或當(dāng)階碼值遇到比它能表示的最小值

還小時(shí),不論其尾數(shù)為何值,計(jì)算機(jī)把該浮點(diǎn)數(shù)看成零值,稱為機(jī)器零。

3)十進(jìn)制數(shù)串的表示方法

?字符串形式:一個(gè)字節(jié)存放一個(gè)十進(jìn)制的數(shù)位或符號(hào)位

?BCD(壓縮):一個(gè)字節(jié)存放兩個(gè)十進(jìn)制的數(shù)位

?編碼方式

-有權(quán)碼:(8421碼、2421碼、5211碼)

-無(wú)權(quán)碼:(余三碼、格雷碼)

?自定義數(shù)據(jù)表示

4)自定義數(shù)據(jù)表示

標(biāo)志符數(shù)據(jù)表示、描述符數(shù)據(jù)表示

8別:

標(biāo)志符與每個(gè)數(shù)據(jù)相連,二者合起來(lái)存放在一個(gè)存儲(chǔ)單元,而描述符要和數(shù)據(jù)分開(kāi)存放;

描述符表示中,先訪問(wèn)描述符,后訪問(wèn)數(shù)據(jù),至少增加次訪存;

描述符是程序的一部分,而不是數(shù)據(jù)的一部分。

2.1.2數(shù)的機(jī)器碼表示

?數(shù)的機(jī)器碼表示

-真值和機(jī)器碼:真值(書(shū)寫(xiě)用)、機(jī)器碼(機(jī)器內(nèi)部使用)的概念

-原碼:優(yōu)點(diǎn):簡(jiǎn)單易懂。缺點(diǎn):加減法運(yùn)算復(fù)雜。

-補(bǔ)碼:加減法運(yùn)算方便,減法可以轉(zhuǎn)換為加法.

為了區(qū)別一般書(shū)寫(xiě)表示的數(shù)和機(jī)器中這些編碼表示的數(shù),通常將前者稱為真值,后者稱為機(jī)器數(shù)或機(jī)

器碼。

1、原碼表示法

?定點(diǎn)小數(shù)Xo.XiX2",Xn

rxl〉x200,正數(shù)

[x]原=1符號(hào)

Ll-x=l+1x|02x>T1,負(fù)數(shù)

vi:有正o和負(fù)o之分

范圍2-2f

侈九x=+0.11001110

[x]原=0.11001110[-x]原=1.11001110

?定點(diǎn)整數(shù)XoX]X2〃?Xn

[X2n>x200,正數(shù)

[x]原={符號(hào)

[2n-x=2n+|x|0>x>-2n

1,負(fù)數(shù)

vi:有正o和負(fù)。之分

范圍1-2"-2"-1

例:x=+l1001110

[x]原=011001110[-x]原=111001110

2、補(bǔ)碼:

我們先以鐘表對(duì)時(shí)為例說(shuō)明補(bǔ)碼的概念。假設(shè)現(xiàn)在的標(biāo)準(zhǔn)時(shí)間為4點(diǎn)正;而有一只表已經(jīng)7點(diǎn)了,

為了校準(zhǔn)時(shí)間,可以采用兩種方法:一是將時(shí)針退7-4=3格;一是將時(shí)針向前撥12-3=9格。這兩種方法

都能對(duì)準(zhǔn)到4點(diǎn),由此可以看出,減3和加9是等價(jià)的,就是說(shuō)9是(-3)對(duì)12的補(bǔ)碼,可以用數(shù)學(xué)公式

表示

-3=+9(modl2)

modl2的意思就是12模數(shù),這個(gè)“模”表示被丟掉的數(shù)值。上式在數(shù)學(xué)上稱為同余式。

上例中其所以7-3和7+9(modl2)等價(jià),原因就是表指針超過(guò)12時(shí)將12自動(dòng)丟掉,最后得到1672=4。

從這里可以得到一個(gè)啟示,就是負(fù)數(shù)用補(bǔ)碼表示時(shí),可以把減法轉(zhuǎn)化為加法。這樣,在計(jì)算機(jī)中實(shí)現(xiàn)起來(lái)

就比較方便。

,定點(diǎn)小數(shù)Xo.XiX2,「Xn

rxl>x》O0,正數(shù)

[x]補(bǔ)]符號(hào)

〔2+x=2-1xI02x>T1,負(fù)數(shù)

弦:0的補(bǔ)碼只有一種形式

范圍251-2'"

例:(1)x=-0.1011(2)y=-0.01111

[x]補(bǔ)=10+x=10.0000-0.1011=1.0101

[y]補(bǔ)=10+y=10.00000-0.01111=1,10001

?定點(diǎn)整數(shù)XoXlX2,"Xn

「x2">x200,正數(shù)

[x]補(bǔ)={符號(hào)

[2"?+x=2"H-|xI0Nx>-2"1,負(fù)數(shù)

vi:o的補(bǔ)碼只有一種形式

范圍-2"-2"-1

3、反碼:為計(jì)算補(bǔ)碼方便而引入

計(jì)算公式:小數(shù)公式2.H(P25),整數(shù)公式2.12(P25)

由反碼求補(bǔ)碼:符號(hào)位置1,各位取反,末位加1。

4、移碼:用于階碼的表示,兩個(gè)移碼容易比較大小,便于對(duì)階。

定義:公式2.14。即將數(shù)值向X軸正方向平移2"

-例T011111原碼為11011111

-補(bǔ)碼為10100001反碼為10100000

-移碼為00100001

-特點(diǎn):移碼和補(bǔ)碼尾數(shù)相同,符號(hào)位相反

-例3和例4

小結(jié):上面的數(shù)據(jù)四種機(jī)器表示法中,移碼表示法主要用于表示浮點(diǎn)數(shù)的階碼。由于補(bǔ)碼表示對(duì)加

減法運(yùn)算十分方便,因此目前機(jī)器中廣泛采用補(bǔ)碼表示法。在這類機(jī)器中,數(shù)用補(bǔ)碼表示,補(bǔ)碼存儲(chǔ),補(bǔ)

碼運(yùn)算。也有些機(jī)器,數(shù)用原碼進(jìn)行存儲(chǔ)和傳送,運(yùn)算時(shí)改用補(bǔ)碼。還有些機(jī)器在做加減法時(shí)用補(bǔ)碼運(yùn)算,

在做乘除法時(shí)用原碼運(yùn)算。

2.1.3字符與字符串的表示方式

ASCII碼

2.1.4漢字的表示方式

1)輸入碼:用于漢字輸入

2)內(nèi)碼:用于漢字的存儲(chǔ)

3)字模碼:用于漢字的顯示

2.1.5校驗(yàn)碼

奇、偶校驗(yàn)碼

最簡(jiǎn)單且應(yīng)用廣泛的檢錯(cuò)碼是采用一位校驗(yàn)位的奇校驗(yàn)或偶校驗(yàn)。

設(shè)x=(xOxl…xn-1)是一個(gè)n位字,則奇校驗(yàn)位心定義為

3=X。十Xi十…十Xi(2.15)

式中?代表按位加,表明只有當(dāng)》中包含有奇數(shù)個(gè)1時(shí),才使e=1,即2=0。

同理,偶校驗(yàn)位。定義為

C=x()十X]十…十xn-i(2.16)

即X中包含偶數(shù)個(gè)1時(shí),才使0=0。

[例7]已知下表中左面一欄有5個(gè)字節(jié)的數(shù)據(jù)。請(qǐng)分別用奇校驗(yàn)和偶校驗(yàn)進(jìn)行編碼,填在中間一欄和右

面一欄。

見(jiàn)P30

補(bǔ)充內(nèi)容

一、常用邏輯門(mén)

表3.1.2常用門(mén)電路符號(hào)及表達(dá)式

逆料

名稱新標(biāo)準(zhǔn)符號(hào)慣用符號(hào)國(guó)外符號(hào)迎輯表達(dá)式

功能

B-D-1

與門(mén)與運(yùn)算膽:力SA,B

:?L

或門(mén)或運(yùn)算:iPL=A+B

Apy-L

非門(mén)非運(yùn)算"HZPA~~LL?A

與非ID,-1

與非口SA?B

運(yùn)算:田;甘

或非

好門(mén)L=A+B

退算:廿

與或與改h-&f51A―

B-B一

JL=AB+CD

非門(mén)非居算,C「C-

D-LLD-

界或㈡A

界或門(mén)L-XffiB

運(yùn)算

^AB+A?*B

同改MA2L=AQB

同或門(mén)

活算:廿甘=A領(lǐng)

-X5+XB

二、全加器

三、編碼器和譯碼器

四、觸發(fā)器

五、寄存器

2.2定點(diǎn)加法、減法運(yùn)算

一、補(bǔ)碼加法

加法公式:

[x+y]?『[x]補(bǔ)+[y]補(bǔ)(mod2)(2.17)

證明:(P31)假定X、Y均為定點(diǎn)小數(shù),且|x|〈l,|y|<l,|x+y|<l

(1)若x>0,y>0貝Ijx+y〉o

[x]補(bǔ)+[y]產(chǎn)x+y=[x+y]撲(正數(shù)的原、反、補(bǔ)碼是相同的)

(2)x>0,y<0

[x]#=x[y]樸=2+y

[x].+[y]補(bǔ)=x+2+y=2+(x+y)

①當(dāng)x+y>0

2+(x+y)會(huì)產(chǎn)生進(jìn)位,進(jìn)位位丟掉

2+(x+y)=x+y=[x+y]撲

②當(dāng)x+y<0

2+(x+y)=[x+y]補(bǔ)

故[x]補(bǔ)+[y]產(chǎn)[x+y]補(bǔ)

(3)x<0,y>0

(略)同(2)

(4)x<0,y<0

[x]撲=2+x[y]撲=2+y

[x]fr+[y]補(bǔ)=2+x+2+y=2+(2+x+y)

-Kx+y<0

則-1+2<2+x+y<0+2

1<2+x+y<2

2+(2+x+y)產(chǎn)生進(jìn)位、丟掉,2+(2+x+y)=(2+x+y)

又x+y<0

(2+x+y)=2+(x+y)=[x+y]補(bǔ)

ii:補(bǔ)碼加法的特點(diǎn):(1)符號(hào)位要作為數(shù)的一部分參與運(yùn)算

(2)要在模2的意義下相加,即超過(guò)2的進(jìn)位要丟掉。

例1:x=-0.1011,y=0.0111

[x]補(bǔ)=1.0101[y]補(bǔ)=0.0111

[x+y〃=[x]補(bǔ)+[y]補(bǔ)=1.0101+0.0111=1.1100

x+y=~0.0100

例2:x=+0.11011,y=-0.11111

[x]補(bǔ)=0.11011[y]補(bǔ)=1.00001[-y]補(bǔ)=0.11111

[x-y]?|.=[x]#+[-y]|b=l.11010

二、補(bǔ)碼減法

加法公式:

[x-y][x]tr[y]=[x]fh+[-y](mod2)(2.18)

證明:P32(略)只要證明[y]補(bǔ)+[-y]補(bǔ)=0

從[y]補(bǔ)求"y]補(bǔ),表達(dá)式為:

”y]產(chǎn)Fy]補(bǔ)+2』

其中一表示對(duì)[y]補(bǔ)作包括符號(hào)位在內(nèi)的求反操作

例10(略)P33

例11(略)P33

三、溢出概念與檢測(cè)方法

1.溢出概念:

溢出:在定點(diǎn)小數(shù)機(jī)器中,數(shù)的表示范圍為人|<1。在運(yùn)算過(guò)程中如果出現(xiàn)大于1的情況,稱為

溢出。

e?溢:兩個(gè)正數(shù)相加,結(jié)果大于機(jī)器所能表示的最大正數(shù)

下?溢:兩個(gè)負(fù)數(shù)相加,結(jié)果小于機(jī)器所能表示的最小負(fù)數(shù)

2.溢出的檢測(cè)方法:

(1)雙符號(hào)位(變形補(bǔ)碼或模4補(bǔ)碼):

變形補(bǔ)碼定義:x

4+x0>x>-2

采用變形補(bǔ)碼后:當(dāng)1>X2O兩個(gè)符號(hào)位都是0。如00.1010

當(dāng)O>X>-1兩個(gè)符號(hào)位都是lo如11.1010

對(duì)變形補(bǔ)碼其特點(diǎn):①符號(hào)位參與運(yùn)算

②在模4下相加運(yùn)算,進(jìn)位4丟掉

修施:①運(yùn)算結(jié)果的兩符號(hào)位相異時(shí),表示溢出。

②不論溢出與否,最高符號(hào)位始終指示正確的符號(hào)。

例10(略)P34

例11(略)P34

(2)單符號(hào)位:(1)當(dāng)最高有效位產(chǎn)生進(jìn)位而符號(hào)位無(wú)進(jìn)位時(shí),產(chǎn)生上溢出。

(2)當(dāng)最高有效位無(wú)進(jìn)位而符號(hào)位產(chǎn)生進(jìn)位時(shí),產(chǎn)生下溢出。

:溢出表達(dá)式為:V=C「?CoCi符號(hào)位產(chǎn)生的進(jìn)位,

Co——最高有效位產(chǎn)生的進(jìn)位)

?CfCO

00正確(正數(shù))

01上溢

10下溢

11正確(負(fù)數(shù))

四、基本的二進(jìn)制加法/減法器

?基本的加法和減法器一位半加器真值表

-半加器(不考慮進(jìn)位)

輸入輸出

Hj=Ai?Bi

AiBiSiCi

0000

電路圖略

0110

1010

1101

-全加器(考慮低位進(jìn)位Ci-1和向高位的進(jìn)位Ci)

真值表見(jiàn)P35表2.2

Sj=4十Bj?Cj

C7/+]A,Bt+AjCi+BjCj

=Bj+(Bj)Cj

——Bj.(AjBj).Cz

Ci+1.FA?Ci

TT

AiBi

FA(全加器)邏輯電路圖總框圖

進(jìn)位處理方式:串行進(jìn)位(行波進(jìn)位)、并行進(jìn)位

二進(jìn)制加法/減法器圖2.2(P31)

五、十進(jìn)制加法器

十進(jìn)制加法/減法器圖2.3(P36)

,校正方法

-當(dāng)Xi+Yi+C/10時(shí),Si=S

-當(dāng)Xi+Yi+Ci>=10時(shí),SlS+6

-校正因子生成方法

例如:

A=0101B=0111

A+B=0101+0111=1100(結(jié)果不是BCD碼)

1100+0110=10010(1為進(jìn)位,構(gòu)成12的BCD碼,所以正確)

2.3定點(diǎn)乘法運(yùn)算

一、原碼并行乘法

1.定點(diǎn)原碼乘法原理

在定點(diǎn)計(jì)算機(jī)中,兩個(gè)原碼表示的數(shù)相乘的運(yùn)算規(guī)則是:乘積的符號(hào)位由兩數(shù)的符號(hào)位按異或運(yùn)算得

到,而乘積的數(shù)值部分則是兩個(gè)正數(shù)相乘之積。

民]原=乂廣Xn_1...X[Xo被乘數(shù)

[y]?=yfyn-iyiyo乘數(shù)

[X?y]原=(Xf十yf)+(O.Xn_r..X]Xo)?(0.丫什-丫抽)乘積

?尾數(shù)乘法如下:

-設(shè)x=0.1101,y=0.1011.

-0.1101(x)

x0.1011(y)

1101

1101

0000

+1101

0.10001111(z)

人們習(xí)慣的算法對(duì)機(jī)器并不完全適用。原因:

(1)n位乘n位積可能為2n位.

(2)乘積的最后是所有部分積之和,有n個(gè)數(shù)相加,而FA只有兩個(gè)輸入端

所以需要改造

方法一:硬件實(shí)現(xiàn)方法(串行的“加法一一移位”),硬件結(jié)構(gòu)簡(jiǎn)單,速度太慢(時(shí)間延遲太長(zhǎng))。由于串

行乘法速度太慢,己被淘汰。

方法二:流水式陣列乘法器(并行乘法器)

2.不帶符號(hào)的陣列乘法器

乘枳

MXN位不帶符號(hào)的陣列乘法器邏輯框圖

5位X5位不帶符號(hào)的陣列乘法器邏輯電路圖

3.帶符號(hào)的陣列乘法器原理:

圖2.6對(duì)2求補(bǔ)電路

(被乘數(shù))(乘數(shù))

在這種邏輯結(jié)構(gòu)中,共使用三

個(gè)求補(bǔ)器。其中兩個(gè)算前求補(bǔ)器的

作用是:將兩個(gè)操作數(shù)4和6在被

不帶符號(hào)的乘法陣列(核心部件)

相乘以前,先變成正整數(shù)。而算后

求補(bǔ)器的作用則是:當(dāng)兩個(gè)輸入操

作數(shù)的符號(hào)不一致時(shí),把運(yùn)算結(jié)果

變成帶符號(hào)的數(shù)。

P2npan1piP”乘積)

圖2.7(n+1)位乘(n+1)位帶補(bǔ)級(jí)的陣列乘法器

二、補(bǔ)碼并行乘法

1.補(bǔ)碼與真值的轉(zhuǎn)換公式:

IF[N]#=an-lan-2...aiao

11-2對(duì)正數(shù)an=o

N=-52"'

/=0

a

n_2對(duì)負(fù)數(shù)n=i

—N=—(I—q-)2(1—q)2']+1

/=0

伊)[x]補(bǔ)=10110,則

x=-1*24+1*22+1*21=-10

-x=-(l-1)*24+(1—0)23+(l-1)22+(1-1)*21+(1-0)*20+l=10

2.一般化的加法器:有負(fù)權(quán)輸入的,即可以做減法的。

帶負(fù)權(quán)的運(yùn)算規(guī)則:

(0)+(0)=(0)

(0)+(1)=(1)

(1)+(0)=(1)

(1)+(1)=(1)(0)

1+(1)=0

0+(1)=(1)

1+(0)=1

0+(0)=0

結(jié)果處理:從帶負(fù)權(quán)位開(kāi)始的幾位,取反加1

3.直接補(bǔ)碼陣列除法器:因符號(hào)位參與運(yùn)算,可以完成補(bǔ)碼的直接乘法,而不需求補(bǔ)級(jí),節(jié)省了取

補(bǔ)時(shí)間,大大的加快了乘法的速度。結(jié)構(gòu)圖見(jiàn)P44圖2.8。

例設(shè)㈤補(bǔ)=(01101)2,㈤補(bǔ)=(11011)2,求[給<團(tuán)產(chǎn)?

[解:]

(0)1101=+13

X)⑴1011=—5

(0)1101

(0)1101

(0)0000

(0)1101

0⑴⑴(0)(1)

0(1)0111111

(1)10111111=-65

獷充符號(hào)檢々「符號(hào)位

驗(yàn)證:

-1X27+0X26+1X25+1X24+1X23+1X22+1x2*1+1x2°

=—128+(32+16+8+4+2+1)

=—65

(13)X(-5)=-65

例(1)0110負(fù)13

(0)1101-正10

(1)0110

(0)0000

(1)0110

(1)0110

0(0)(0)(0)(0)

0(1)(1)111110

(1)101111110髓化以后結(jié)果)

2.4定點(diǎn)除法運(yùn)算

一、原碼除法算法原理

1.二進(jìn)制除法公式:

[xk=Xf.Xn_I...X]Xo被除數(shù)

?]原=丫「丫"7〃0除數(shù)

[X?y]te=(xf?yf)+(O.Xn_]...X[Xo)/(0.yn.[…丫/)商

2.余數(shù)處理的兩種方法:

(1)恢復(fù)余數(shù)法:運(yùn)算步驟不確定,控制復(fù)雜,不適合計(jì)算機(jī)運(yùn)算。

(2)加減交替法:不恢復(fù)余數(shù),運(yùn)算步驟確定,適合計(jì)算機(jī)操作。

二、并行除法器(自學(xué))

CAS的結(jié)構(gòu),圖2.9(a),并行除法器結(jié)構(gòu)圖2.9(b)。

不恢復(fù)余數(shù)的除法也就是加減交替法。在不恢復(fù)余數(shù)的除法陣列中,每一行所執(zhí)行的操作究竟

是加法還是減法,取決于前一行輸出的符號(hào)與被除數(shù)的符號(hào)是否一致。當(dāng)出現(xiàn)不夠減時(shí),部分余數(shù)

相對(duì)于被除數(shù)來(lái)說(shuō)要改變符號(hào)。這時(shí)應(yīng)該產(chǎn)生一個(gè)商位“0”,除數(shù)首先沿對(duì)角線右移,然后加到下

一行的部分余數(shù)上。當(dāng)部分余數(shù)不改變它的符號(hào)時(shí),即產(chǎn)生商位“1”,下一行的操作應(yīng)該是減法。

例*=0.101001,y=0.Ill,求4=、/了。

[解:]

[x]tt=0.101001

[y]樸=0.111[—y]補(bǔ)=1.001

0101001;被除數(shù)X

+[—y詠1001;第一步減除數(shù)y

111000:余數(shù)為贅商4控制下步做加法

1<0q0=0;除數(shù)右移位加

+[y詠001111

0001101>0ql=l;余數(shù)為正商1,控制下步做減法

+[—y你111001;除數(shù)右移2位減

1111111<0q2=0;余數(shù)為負(fù)商0,控制下步做加法

+[y你0000111;除數(shù)右移3位加

0000110>0q3=l:余數(shù)為正商1

故得

商q=qg.qlq2q3=0.101

余數(shù)r=(0.OOzvwv)=0.000110

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論