微機(jī)原理與接口技術(shù)教材全套課件教學(xué)教程整本書電子教案全書教案_第1頁(yè)
微機(jī)原理與接口技術(shù)教材全套課件教學(xué)教程整本書電子教案全書教案_第2頁(yè)
微機(jī)原理與接口技術(shù)教材全套課件教學(xué)教程整本書電子教案全書教案_第3頁(yè)
微機(jī)原理與接口技術(shù)教材全套課件教學(xué)教程整本書電子教案全書教案_第4頁(yè)
微機(jī)原理與接口技術(shù)教材全套課件教學(xué)教程整本書電子教案全書教案_第5頁(yè)
已閱讀5頁(yè),還剩805頁(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)介

2024年9月17日1第1章微型計(jì)算機(jī)系統(tǒng)概述1.1微型計(jì)算機(jī)發(fā)展與應(yīng)用1.2計(jì)算機(jī)中的數(shù)據(jù)表示1.3微型計(jì)算機(jī)系統(tǒng)組成1.4微型計(jì)算機(jī)工作過(guò)程1.5微型計(jì)算機(jī)主要性能指標(biāo)本章小結(jié)2024年9月17日2第1章微型計(jì)算機(jī)系統(tǒng)概述

【任務(wù)驅(qū)動(dòng)】

本章主要介紹微型計(jì)算機(jī)系統(tǒng)的發(fā)展、應(yīng)用、組成以及它的工作過(guò)程。通過(guò)本章學(xué)習(xí),學(xué)生應(yīng)了解計(jì)算機(jī)的發(fā)展過(guò)程和微型計(jì)算機(jī)的主要性能指標(biāo),理解微型計(jì)算機(jī)的工作過(guò)程,掌握計(jì)算機(jī)中數(shù)據(jù)的表示方法以及微型計(jì)算機(jī)系統(tǒng)的構(gòu)成;通過(guò)以上知識(shí)的學(xué)習(xí),使學(xué)生對(duì)計(jì)算機(jī)系統(tǒng)有個(gè)基本的認(rèn)識(shí),為以后各章學(xué)習(xí)打下基礎(chǔ)。

【重點(diǎn)難點(diǎn)】

1.微型計(jì)算機(jī)的特點(diǎn)與應(yīng)用

2.計(jì)算機(jī)中數(shù)據(jù)的表示方法

3.微型計(jì)算機(jī)系統(tǒng)的構(gòu)成2024年9月17日3

1.1微型計(jì)算機(jī)發(fā)展與應(yīng)用

計(jì)算機(jī)是一種能自動(dòng)、高速、精確地處理信息的現(xiàn)代化電子設(shè)備,具有算術(shù)運(yùn)算和邏輯判斷能力,并能通過(guò)預(yù)先編好的程序來(lái)自動(dòng)完成數(shù)據(jù)的加工處理,因此,也可以說(shuō)計(jì)算機(jī)是一種幫助人類從事腦力勞動(dòng)的工具。

2024年9月17日41.1.1微型計(jì)算機(jī)的發(fā)展

1946年2月,在美國(guó)賓夕法尼亞大學(xué)誕生了世界上第一臺(tái)電子計(jì)算機(jī)ENIAC(ElectronicNumericalIntegratorandComputer)。這臺(tái)計(jì)算機(jī)由電子管組成,每秒可進(jìn)行5000次加法運(yùn)算,而且采用了著名的數(shù)學(xué)家馮·諾依曼的設(shè)計(jì)思想,即

(1)采用二進(jìn)制計(jì)算;

(2)存儲(chǔ)程序并在程序控制下自動(dòng)執(zhí)行;

(3)其硬件由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備五大部分組成。

這種模式的計(jì)算機(jī)被稱為“馮·諾依曼機(jī)”。計(jì)算機(jī)發(fā)展至今,一直沿用這種設(shè)計(jì)思想。這是計(jì)算機(jī)科學(xué)發(fā)展史上的一個(gè)重要里程碑,它奠定了計(jì)算機(jī)發(fā)展的科學(xué)基礎(chǔ)。

2024年9月17日5

隨著電子科學(xué)技術(shù)的發(fā)展,計(jì)算機(jī)的發(fā)展先后經(jīng)歷了電子管、晶體管、大規(guī)模集成電路和超大規(guī)模集成電路為主要器件的四個(gè)時(shí)代。預(yù)計(jì)在不久的將來(lái),將誕生以超導(dǎo)器件、電子仿真、集成光路等技術(shù)支撐的第五代計(jì)算機(jī)。計(jì)算機(jī)總的趨勢(shì)是朝著巨型化、微型化、網(wǎng)絡(luò)化、智能化方向發(fā)展。2024年9月17日6

微型計(jì)算機(jī)是指以大規(guī)模、超大規(guī)模集成電路為主要部件,以集成了計(jì)算機(jī)主要部件——控制器和運(yùn)算器的微處理器MP(MicroProcessor)為核心,再配上存儲(chǔ)器、接口電路等所構(gòu)造出的計(jì)算機(jī)系統(tǒng)。微型計(jì)算機(jī)的發(fā)展經(jīng)歷了五代。我們一般以字長(zhǎng)(計(jì)算機(jī)能同時(shí)處理的二進(jìn)制數(shù)的位數(shù))和典型的微處理器芯片作為各階段的標(biāo)志。

2024年9月17日7

第一代(1971年—1973年)是4位和低檔8位微機(jī)。代表產(chǎn)品是美國(guó)Intel公司的4004微處理器及由它組成的MCS微型計(jì)算機(jī)。

第二代(1974年—1977年)是中高檔8位微機(jī),以Intel8080/8085、Motorola公司的Mc6800及美國(guó)Zilog公司的Z80等為CPU的微型機(jī)為典型代表。

第三代(1978年—1981年)是16位微機(jī),如以8086,Z8000和MC68000為CPU的微型機(jī)。

第四代(1982年—1992年)是32位微機(jī),典型的CPU產(chǎn)品有80386和MC68020。之后Intel公司又推出80486微處理器。

2024年9月17日8

第五代(1993年—1999年)是準(zhǔn)64位微機(jī)。1993年3月Intel公司推出了全新的超級(jí)32位微處理器芯片——Pentium,雖然其仍屬于32位機(jī),但其內(nèi)部數(shù)據(jù)通道已是64位,提高了數(shù)據(jù)傳送速度。

第六代(2000年以后)這是新一代64位微處理器pentiumD。該芯片采用了新的體系結(jié)構(gòu),其性能大大高于Intel系列的其他微處理器,給微處理器體系結(jié)構(gòu)和PC機(jī)的性能引入了全新的概念。

近幾年來(lái),計(jì)算機(jī)產(chǎn)業(yè)中又開發(fā)生產(chǎn)出雙核CPU、四核CPU等芯片,這將把微型計(jì)算機(jī)的應(yīng)用推向一個(gè)新的時(shí)代。2024年9月17日91.1.2微型計(jì)算機(jī)的應(yīng)用

由于微型計(jì)算機(jī)具有體積小、價(jià)格低、耗電少等優(yōu)點(diǎn),所以它的應(yīng)用范圍十分廣闊。歸納起來(lái),目前主要有如下幾個(gè)應(yīng)用領(lǐng)域。

1.科學(xué)計(jì)算

2.信息處理

3.計(jì)算機(jī)輔助技術(shù)

4.過(guò)程控制

5.計(jì)算機(jī)通信

6.人工智能

2024年9月17日10

1.1.3微型計(jì)算機(jī)的分類

(一)按照微處理器能夠處理的數(shù)據(jù)字長(zhǎng)可以分為:4位機(jī)、8位機(jī)、16位機(jī)、32位機(jī)、64位機(jī)。

(二)按照微型計(jì)算機(jī)的使用形態(tài)分類可以分為:?jiǎn)纹瑱C(jī)、單板機(jī)、位片式機(jī)和微型計(jì)算機(jī)系統(tǒng)。2024年9月17日111.2計(jì)算機(jī)中的數(shù)據(jù)表示

在日常生活中,人們習(xí)慣使用十進(jìn)制數(shù)來(lái)進(jìn)行計(jì)數(shù)和計(jì)算。但計(jì)算機(jī)系統(tǒng)內(nèi)部使用的所有指令或數(shù)據(jù)都采用二進(jìn)制代碼.因此,所有需要計(jì)算機(jī)處理的數(shù)字、字母、符號(hào)等都必須采用二進(jìn)制表示。但二進(jìn)制數(shù)難記憶,閱讀和書寫也不方便,在計(jì)算機(jī)中有時(shí)也采用其他進(jìn)制,如十六進(jìn)制、八進(jìn)制和十進(jìn)制等。本節(jié)將介紹二進(jìn)制與其他進(jìn)制間的轉(zhuǎn)換及計(jì)算機(jī)中的編碼方式。2024年9月17日121.2.1數(shù)制的概念以及常用進(jìn)位計(jì)數(shù)

為了區(qū)別不同的進(jìn)位計(jì)數(shù)制,可以用字母后綴表示數(shù)制:

B:二進(jìn)制、O:表示八進(jìn)制、D:表示十進(jìn)制、H:十六進(jìn)制。

1.十進(jìn)制

10個(gè)數(shù)碼(0、1、2、3、4、5、6、7、8、9)組成,基數(shù)為10,

計(jì)數(shù)特點(diǎn)為逢十進(jìn)一。

用十進(jìn)制表示數(shù)值的方法為:

其中Ki=0、1、2、3、4、5、6、7、8、9

例如:(1987.6)D=1×103+9×102+8×101+7×100+6×10-1

2024年9月17日132.二進(jìn)制

由(0、1)兩個(gè)數(shù)碼組成。

基數(shù)為2,

計(jì)數(shù)特點(diǎn)為逢二進(jìn)一。

用二進(jìn)制表示數(shù)值的方法為:

其中Ki=0、1

例如:

(-1010.011)B=-(1×23+0×22+1×21+0×20+0×2-1+1×2-2+1×2-3)

2024年9月17日143.八進(jìn)制

由8個(gè)數(shù)碼(0、1、2、3、4、5、6、7)組成。

八進(jìn)制數(shù)的基數(shù)為8,

計(jì)數(shù)特點(diǎn)為逢八進(jìn)一。

用八進(jìn)制表示數(shù)值的方法為:

其中Ki=0、1、2、3、4、5、6、7

例如:(423.5)o=4×82+2×81+3×80+5×8-1

2024年9月17日154.十六進(jìn)制

由16個(gè)數(shù)碼(0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F)組成。

基數(shù)為16,

計(jì)數(shù)特點(diǎn)為逢十六進(jìn)一。

用十六進(jìn)制表示數(shù)值的方法為:

其中ki=0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F

例如:(56D.34)H=5×162+6×161+13×160+3×16-1+4×16-2

2024年9月17日16

表1.1常用進(jìn)位計(jì)數(shù)制對(duì)應(yīng)關(guān)系表

2024年9月17日17

1.2.2進(jìn)位計(jì)數(shù)制間的轉(zhuǎn)換

1.二、八、十六進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)

這種轉(zhuǎn)換非常簡(jiǎn)單,將二、八、十六進(jìn)制數(shù)按“權(quán)”展開相加即可。

[例1.1]將下列二進(jìn)制數(shù)1011.11和十六進(jìn)制數(shù)B6.8轉(zhuǎn)換成十進(jìn)制數(shù)

(1011.11)2=1×23+0×22+1×21+1×20+1×2-1+1×2-2=8+0+2+1+0.5+0.25=(11.75)10

(B6.8)16=11×161+6×160+8×16-1=176+6+0.5=(182.5)10

2024年9月17日182.十進(jìn)制數(shù)轉(zhuǎn)換為二、八、十六進(jìn)制數(shù)

十進(jìn)制數(shù)到二、八、十六進(jìn)制數(shù)的轉(zhuǎn)換比較復(fù)雜,要把整數(shù)部分和小數(shù)部分分別進(jìn)行轉(zhuǎn)換,然后再把轉(zhuǎn)換結(jié)果進(jìn)行相加。

整數(shù)部分轉(zhuǎn)換采用除基數(shù)取余數(shù)法:用基數(shù)(2、8或16)不斷地去除要轉(zhuǎn)換的數(shù),直到商為0。再將每一步所得的余數(shù),按逆序排列,便為轉(zhuǎn)換結(jié)果。

[例1.2]將(152)10轉(zhuǎn)換為二進(jìn)制數(shù),轉(zhuǎn)換過(guò)程如下:

轉(zhuǎn)換結(jié)果為:(152)D=(10011000)B

2024年9月17日192024年9月17日20

小數(shù)部分轉(zhuǎn)換采用乘基數(shù)取整數(shù)法:每次用基數(shù)與小數(shù)部分相乘,取乘積的整數(shù)部分,再取其小數(shù)部分乘基數(shù)直到小數(shù)部分為0。將所取整數(shù)順序排在小數(shù)點(diǎn)后即為轉(zhuǎn)換結(jié)果。

[例1.3]將(0.375)10轉(zhuǎn)換為二進(jìn)制數(shù),轉(zhuǎn)換過(guò)程如下:

轉(zhuǎn)換結(jié)果為(0.375)D=(0.011)B

注意:如果在小數(shù)轉(zhuǎn)換過(guò)程中,乘積結(jié)果小數(shù)部分永遠(yuǎn)不為0的話,可以根據(jù)精度要求來(lái)保留相應(yīng)小數(shù)位數(shù)。

2024年9月17日213.二進(jìn)制和八、十六進(jìn)制之間的轉(zhuǎn)換

(1)二進(jìn)制到八進(jìn)制、十六進(jìn)制的轉(zhuǎn)換

二進(jìn)制到八進(jìn)制轉(zhuǎn)換采用“三位合一位”的方法;二進(jìn)制到十六進(jìn)制轉(zhuǎn)換采用“四位合一位”的方法。把要轉(zhuǎn)換的二進(jìn)制數(shù),從小數(shù)點(diǎn)開始向兩邊分別進(jìn)行分組。轉(zhuǎn)換為八進(jìn)制時(shí),向左每三位為一組,向右每三位為一組,向左不是三位的,從左邊補(bǔ)0;向右不足三位的,從右邊補(bǔ)0。轉(zhuǎn)換為十六進(jìn)制時(shí),向左每四位為一組,向右每四位為一組,向左不足四位的,從左邊補(bǔ)0,向右不足四位的,從右邊補(bǔ)0。2024年9月17日22[例1.4]將(1000110.01)2分別轉(zhuǎn)換為八進(jìn)制數(shù)和十六進(jìn)制數(shù)。

“二”到“八”的轉(zhuǎn)換采用“三位合一位”的方法:

001000110.010

106.2

“二”到“十六”的轉(zhuǎn)換采用“四位合一位”的方法:

01000110.0100

46.4

(1000110.01)B=(106.2)O=(46.4)H

2024年9月17日23(2)八進(jìn)制、十六進(jìn)制到二進(jìn)制的轉(zhuǎn)換

八進(jìn)制、十六進(jìn)制到二進(jìn)制的轉(zhuǎn)換的方法采用把一位八(十六)進(jìn)制數(shù)拆成三位(四位)二進(jìn)制數(shù)表示的方法,按順序?qū)懗雒课话诉M(jìn)制(十六進(jìn)制)數(shù)字所對(duì)應(yīng)的三位(四位)二進(jìn)制數(shù),所得結(jié)果即為對(duì)應(yīng)的二進(jìn)制數(shù)。

[例1.5]將(352.6)8轉(zhuǎn)換為二進(jìn)制數(shù)。

寫出各位數(shù)字對(duì)應(yīng)的三位二進(jìn)制數(shù):

[例1.6]將(B6.8)16轉(zhuǎn)換為二進(jìn)制數(shù)。

寫出各位數(shù)字對(duì)應(yīng)的四位二進(jìn)制數(shù):

2024年9月17日241.2.3帶符號(hào)數(shù)的表示

計(jì)算機(jī)在處理實(shí)際問(wèn)題時(shí)遇到的數(shù)據(jù),通常是帶符號(hào)數(shù)。數(shù)據(jù)的符號(hào)(正或負(fù))也要用二進(jìn)制數(shù)碼表示。一般用“0”表示正數(shù)符號(hào),用“1”表示負(fù)數(shù)符號(hào)。這樣,機(jī)器中數(shù)的符號(hào)也數(shù)值化了。我們把這種數(shù)值數(shù)據(jù)在計(jì)算機(jī)中的編碼表示稱為機(jī)器數(shù),而把機(jī)器數(shù)所代表的實(shí)際數(shù)值稱為機(jī)器數(shù)的真值。

假定機(jī)器數(shù)的位數(shù)為n+1位,其中一位就是符號(hào)位,其他n位為數(shù)值位。

如:X=+1100110B,其機(jī)器數(shù)表示為:01100110B

Y=-1100110B,其機(jī)器數(shù)表示為:11100110B

2024年9月17日251.原碼表示法

原碼表示法是一種簡(jiǎn)單的機(jī)器數(shù)表示法,即符號(hào)和數(shù)值表示法,用最高位表示符號(hào),其中0表示正號(hào),1表示負(fù)號(hào),其他n位表示數(shù)值的絕對(duì)值。設(shè)X為真值,[X]原為機(jī)器數(shù)表示。在原碼表示法中用8位二進(jìn)制位表示的整數(shù)數(shù)據(jù)范圍為―127~+127。

對(duì)于正整數(shù):設(shè)X=1100110B,則[X]原=01100110B。

對(duì)于負(fù)整數(shù):設(shè)X=―1100111B,則[X]原=11100111B。

對(duì)于正小數(shù):設(shè)X=0.1011B,則[X]原=01011000B

對(duì)于負(fù)小數(shù):設(shè)X=-0.1011B,則[X]原=11011000B

對(duì)于零:在原碼表示法中,0有兩種表示形式:

[+0]原=00000000B[―0]原=10000000B

【問(wèn)題】這種+0和-0原碼表示上的不一致,會(huì)直接影響諸如X+0和X-0(即X+(-0))結(jié)果上的不同。2024年9月17日26

2.反碼表示法

用機(jī)器數(shù)的最高一位表示符號(hào),0表示正號(hào),1表示負(fù)號(hào)。數(shù)值部分,對(duì)于正數(shù),反碼表示形式與原碼表示形式相同,即[X]反=[X]原。對(duì)于負(fù)數(shù),對(duì)符號(hào)位以外各位按位“取反”(0變1,1變0)即可。在反碼表示法中用8位二進(jìn)制位表示的整數(shù)數(shù)據(jù)范圍為-127~+127。

如:X=+1010101B,則[X]反=[X]原=01010101B

X=-1100111B,則[X]反=10011000B

對(duì)于零:在反碼表示法中,0有兩種表示形式:

[+0]反=00000000B[―0]反=11111111B

可見,上述【問(wèn)題】仍然存在。2024年9月17日273.補(bǔ)碼表示法

正數(shù)的補(bǔ)碼和原碼相同;負(fù)數(shù)的補(bǔ)碼,可由其原碼,采用“符號(hào)位不變,其他各位取反,末位加1”的原則求得。補(bǔ)碼表示中零的表示是唯一的。

如:X=+1010101B[X]補(bǔ)=[X]原=01010101B

X=―1100111B,則[X]補(bǔ)=[X]反+1=10011000B+1=10011001B

[+0]補(bǔ)=[-0]補(bǔ)=00000000B

補(bǔ)碼表示法可以讓符號(hào)位作為數(shù)值的一部分直接參加運(yùn)算,從而化減法為加法運(yùn)算,以簡(jiǎn)化加法器的邏輯設(shè)計(jì)。因此補(bǔ)碼的應(yīng)用最為普遍,大部分計(jì)算機(jī)中都采用補(bǔ)碼表示法表示數(shù)值數(shù)據(jù)。

2024年9月17日28

從上面關(guān)于原碼、反碼、補(bǔ)碼的定義可知:

一個(gè)正數(shù)的原碼、反碼、補(bǔ)碼的表示形式相同,符號(hào)位為0,數(shù)值位是真值本身;

一個(gè)負(fù)數(shù)的原碼、反碼、補(bǔ)碼的符號(hào)位都為1,數(shù)值位原碼是真值本身;反碼是各位取反;補(bǔ)碼是各位取反,最低位加1。即原碼的反碼加1是補(bǔ)碼;補(bǔ)碼的反碼加1是原碼。

多數(shù)計(jì)算機(jī)都采用補(bǔ)碼形式表示帶符號(hào)數(shù),這是因?yàn)槔醚a(bǔ)碼可以很容易地把減法轉(zhuǎn)換成加法。在8088/8086CPU中,也是采用補(bǔ)碼方式表示帶符號(hào)數(shù)的。

2024年9月17日29

4.補(bǔ)碼加減運(yùn)算及溢出判斷

(1)補(bǔ)碼的加法運(yùn)算

[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)

[例1.7]X=―110001B,Y=+001001B,利用補(bǔ)碼加法計(jì)算X+Y=?

解:[X]補(bǔ):1001111

+[Y]補(bǔ):0001001

[X]補(bǔ)+[Y]補(bǔ):1011000

則X+Y=-101000B

2024年9月17日30

[例1.8]求(―9)+(―2)=?

解:―9的補(bǔ)碼:11110111

―2的補(bǔ)碼:11111110

因?yàn)閇X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)

[X]補(bǔ):11110111―9

+[Y]補(bǔ):11111110

+―2

[X]補(bǔ)+[Y]補(bǔ):11110101―11

所以

[X+Y]補(bǔ)=11110101

X+Y=-0001011B=-11

2024年9月17日31

(2)補(bǔ)碼的減法運(yùn)算

[X―Y]補(bǔ)=[X+(―Y)]補(bǔ)=[X]補(bǔ)+[―Y]補(bǔ)

[例1.9]X=001110B,Y=-110001B,利用補(bǔ)碼減法計(jì)算X―Y=?

解:[X]補(bǔ)=0001110,[Y]補(bǔ)=1001111,[―Y]補(bǔ)=0110001

因?yàn)閇X―Y]補(bǔ)=[X+(―Y)]補(bǔ)=[X]補(bǔ)+[―Y]補(bǔ)

[X]補(bǔ):0001110

+[―Y]補(bǔ):0110001

[X―Y]補(bǔ):0111111

所以X―Y=+111111B=+63

2024年9月17日32

[例1.10]求9―2=?

解:[X]補(bǔ)=00001001[Y]補(bǔ)=00000010

因?yàn)閇X―Y]補(bǔ)=[X+(―Y)]補(bǔ)=[X]補(bǔ)+[―Y]補(bǔ)

[X]補(bǔ):00001001

+[―Y]補(bǔ):11111110

[X]補(bǔ)+[―Y]補(bǔ):00000111

所以:[X―Y]補(bǔ)=0000111

X-Y=+0000111B=7

【觀察】若已知[Y]補(bǔ),[-Y]補(bǔ)=?

2024年9月17日33(3)溢出判斷

在選定了運(yùn)算字長(zhǎng)和數(shù)的表示方法之后,如果運(yùn)算的結(jié)果,超出了計(jì)算機(jī)能表示的數(shù)據(jù)范圍,這種情況稱為廣義上的溢出。

比如兩個(gè)有符號(hào)數(shù):[X]補(bǔ):01000100

+[Y]補(bǔ):01100001

而[X]補(bǔ)+[Y]補(bǔ):10100101

兩個(gè)正數(shù)相加其結(jié)果卻是負(fù)數(shù),這顯然是不正確的。其原因就是在字長(zhǎng)(上例是8位,數(shù)值部分占7位)一定的情況下,它所能表示的數(shù)的范圍是有限的(7位二進(jìn)制數(shù)最大可以達(dá)127),一旦超過(guò)這個(gè)范圍(上例中X為68,Y為97),其進(jìn)位就影響到了符號(hào)位,產(chǎn)生錯(cuò)誤的結(jié)果。

溢出判斷方法:當(dāng)兩個(gè)正數(shù)相加結(jié)果為負(fù)數(shù),或兩個(gè)負(fù)數(shù)相加結(jié)果為正數(shù),則有溢出;正數(shù)和負(fù)數(shù)相加不會(huì)有溢出。

2024年9月17日34

1.2.4定點(diǎn)表示與浮點(diǎn)表示

以上我們用到的數(shù)據(jù)都是純整數(shù)或純小數(shù),實(shí)際的數(shù)可能既有整數(shù)部分又有小數(shù)部分,這就提出一個(gè)在計(jì)算機(jī)中如何表示小數(shù)點(diǎn)位置的問(wèn)題。計(jì)算機(jī)中小數(shù)點(diǎn)不占位數(shù),而是采用人為約定的方法。根據(jù)小數(shù)點(diǎn)位置是否固定,數(shù)的格式分為定點(diǎn)表示和浮點(diǎn)表示兩類。

2024年9月17日35

1.定點(diǎn)表示法

定點(diǎn)表示法約定小數(shù)點(diǎn)位置固定不變。為了處理方便,一般只采用三種簡(jiǎn)單的約定,相應(yīng)有三種類型的定點(diǎn)數(shù)。

(1)無(wú)符號(hào)數(shù)。無(wú)符號(hào)整數(shù)是將符號(hào)位略去的正整數(shù),所有的數(shù)位都用來(lái)表示數(shù)值的大小,小數(shù)點(diǎn)約定在最低位之后。換言之,整個(gè)數(shù)碼序列是整數(shù)。

(2)帶符號(hào)定點(diǎn)整數(shù)。定點(diǎn)整數(shù)約定小數(shù)點(diǎn)在數(shù)值位的最低位之后,此時(shí)計(jì)算機(jī)中所表示的數(shù)一律為整數(shù)。如圖1.1所示。2024年9月17日36

n位帶符號(hào)二進(jìn)制整數(shù)(數(shù)值位為n-1位)可表示的數(shù)值范圍為:

原碼、反碼是:-(2n-1-1)~2n-1-1;

補(bǔ)碼是:-2n-1~2n-1-1

【思考】寫出8位帶符號(hào)二進(jìn)制整數(shù)的數(shù)值范圍?

符號(hào)位數(shù)值位小數(shù)點(diǎn)2024年9月17日37

(3)帶符號(hào)定點(diǎn)小數(shù)。

定點(diǎn)小數(shù)約定小數(shù)點(diǎn)在符號(hào)位和數(shù)值位之間,即所有的數(shù)值部分均在小數(shù)點(diǎn)之后,整數(shù)部分為0,所以稱為純小數(shù)。如圖1.2所示。

原碼、反碼定點(diǎn)小數(shù)表示范圍是:

-(1-2-(n-1))~1-2-(n-1)

補(bǔ)碼定點(diǎn)小數(shù)表示范圍是:-1~1-2-(n-1);n為二進(jìn)制定點(diǎn)小數(shù)位數(shù),n-1為數(shù)值位位數(shù)。

【思考】寫出8位帶符號(hào)二進(jìn)制小數(shù)的數(shù)值范圍?

符號(hào)位數(shù)值位小數(shù)點(diǎn)2024年9月17日382.浮點(diǎn)表示法

浮點(diǎn)數(shù)是指小數(shù)點(diǎn)在數(shù)據(jù)中的位置可以左右移動(dòng)的數(shù)據(jù)。通??杀硎境桑?/p>

N=±S×R±E

其中S稱為尾數(shù);R稱為基數(shù);E稱為階碼。

在計(jì)算機(jī)內(nèi)部,典型的浮點(diǎn)數(shù)的格式為圖1.3所示:

階碼部分尾數(shù)部分階符階碼數(shù)符尾數(shù)2024年9月17日39浮點(diǎn)數(shù)實(shí)際由兩個(gè)定點(diǎn)數(shù)組成:

階碼是一個(gè)定點(diǎn)整數(shù),它的位數(shù)決定了浮點(diǎn)數(shù)的表示范圍;

尾數(shù)是一個(gè)定點(diǎn)小數(shù),為了表示的唯一性,通常采用規(guī)格化形式,既尾數(shù)部分的絕對(duì)值保持在0.5≤S≤1的范圍內(nèi),尾數(shù)的長(zhǎng)度決定了浮點(diǎn)數(shù)的精度,即有效數(shù)據(jù)的位數(shù)。

為了既保證足夠大的數(shù)值范圍,又要保證所要求的精度,合理地選擇階碼部分和尾數(shù)部分的位數(shù)是十分必要的。

[例1.11]將(-123.375)10表示成浮點(diǎn)規(guī)格化形式(共16位,階碼部分4位,尾數(shù)部分12位,階碼和尾數(shù)均用補(bǔ)碼形式)。

因:(-123.375)10=(-1111011.011)2

=-0.1111011011×2+111

那么在機(jī)器中的浮點(diǎn)表示形式為:

0111100001001010

階符階碼尾符尾數(shù)

2024年9月17日40

1.2.5計(jì)算機(jī)中非數(shù)值型數(shù)據(jù)的編碼

計(jì)算機(jī)中除了處理數(shù)值信息外,還要處理大量的字符數(shù)據(jù),如字母、符號(hào)、漢字、圖像、語(yǔ)音等。這些信息最終都必須轉(zhuǎn)換為二進(jìn)制格式的代碼才能被計(jì)算機(jī)處理,即字符和十進(jìn)制數(shù)都要表示為若干位二進(jìn)制碼的組合,即信息和數(shù)據(jù)的二進(jìn)制編碼。計(jì)算機(jī)中常用的字符編碼有BCD碼、ASCII碼、漢字編碼等,這些編碼在機(jī)器內(nèi)部都是用二進(jìn)制表示的。2024年9月17日41

1.二~十進(jìn)制編碼――BCD碼

BCD(BinaryCodedDecimal)是用4位二進(jìn)制數(shù)表示1位十進(jìn)制數(shù)的一種編碼方式。每個(gè)數(shù)位分配有固定的權(quán)值,將各位的權(quán)值相加可得對(duì)應(yīng)的十進(jìn)制數(shù)。不同的編碼方法分配的權(quán)值不同,例如BCD碼可以分為8421BCD碼、5421BCD碼、2421BCD碼等。8421碼的權(quán)值從低位到高位分別為1、2、4、8。其他的編碼方式的權(quán)值類推即可。

例如:(0111)8421BCD=1*1+1*2+1*4+0*8=7

8421BCD編碼方式如表1.2所示

2024年9月17日422.美國(guó)信息交換標(biāo)準(zhǔn)代碼――ASCII碼

ASCII是基于拉丁字母的一套電腦編碼系統(tǒng)。在計(jì)算機(jī)中,所有的數(shù)據(jù)在存儲(chǔ)和運(yùn)算時(shí)都要使用二進(jìn)制數(shù)表示,例如,象a、b、c、d這樣的52個(gè)字母(包括大寫)、以及0、1、2等數(shù)字還有一些常用的符號(hào)(例如*、#、@等)在計(jì)算機(jī)中存儲(chǔ)時(shí)也要使用二進(jìn)制數(shù)來(lái)表示,而具體用哪些二進(jìn)制數(shù)字表示哪個(gè)符號(hào),當(dāng)然每個(gè)人都可以約定自己的一套(這就叫編碼),而大家如果要想互相通信還不造成混亂,就必須使用相同的編碼規(guī)則,于是美國(guó)有關(guān)的標(biāo)準(zhǔn)化組織就出臺(tái)了所謂的ASCII編碼,統(tǒng)一規(guī)定了常用符號(hào)用哪些二進(jìn)制數(shù)來(lái)表示。

標(biāo)準(zhǔn)ASCII碼使用指定的7位二進(jìn)制數(shù)組合來(lái)表示128種可能的字符。包括所有的大寫和小寫字母,數(shù)字0到9、標(biāo)點(diǎn)符號(hào),以及在美式英語(yǔ)中使用的特殊控制字符。在計(jì)算機(jī)中常用一個(gè)字節(jié)(8位)來(lái)表示,最高位為0或設(shè)置成奇偶校驗(yàn)位。如“A”的ASCII碼是01000001B(即41H),具體的ASCII碼表見附錄A。

2024年9月17日433.?dāng)?shù)據(jù)校驗(yàn)碼

數(shù)據(jù)校驗(yàn)碼是一種能夠發(fā)現(xiàn)錯(cuò)誤或帶有自動(dòng)改錯(cuò)能力的數(shù)據(jù)編碼方法。其實(shí)現(xiàn)原理是對(duì)要傳送的數(shù)據(jù)增加一些冗余位,按某種規(guī)律進(jìn)行編碼后一同傳送。讀出時(shí)再按約定的編碼規(guī)律進(jìn)行檢查,看是否符合。。

奇偶校驗(yàn)碼的實(shí)現(xiàn)原理是通過(guò)增加一個(gè)附加位,使合法編碼的碼距由1增加到2。這個(gè)附加位稱為校驗(yàn)位。

奇校驗(yàn):使整個(gè)校驗(yàn)碼(有效數(shù)據(jù)+校驗(yàn)位)中1的個(gè)數(shù)為奇數(shù)。

偶校驗(yàn):使整個(gè)校驗(yàn)碼(有效數(shù)據(jù)+校驗(yàn)位)中1的個(gè)數(shù)為偶數(shù)。

[例1.12]傳送一字節(jié)數(shù)據(jù)10010011和0110110時(shí),采用奇校驗(yàn)(或偶校驗(yàn))時(shí)校驗(yàn)位分別為:

有效數(shù)據(jù) 校驗(yàn)位(奇) 校驗(yàn)位(偶)

10010011 1 0

01101101 0 1

2024年9月17日44

1.3微型計(jì)算機(jī)系統(tǒng)組成

從系統(tǒng)的組成觀點(diǎn)來(lái)看,一個(gè)微型計(jì)算機(jī)系統(tǒng)應(yīng)包括硬件系統(tǒng)和軟件系統(tǒng)。

1.3.1硬件系統(tǒng)

所謂硬件系統(tǒng)是一個(gè)為執(zhí)行程序建立物質(zhì)基礎(chǔ)的物理裝置,稱為裸機(jī)或硬件。硬件一般是指在主機(jī)的基礎(chǔ)上,配以必要的外部設(shè)備、外部存儲(chǔ)器(如磁盤機(jī)、磁帶機(jī)等)和電源設(shè)備等。硬件若沒有軟件的配合是什么也干不了的。

微機(jī)的硬件系統(tǒng)通常由微處理器、系統(tǒng)總線、存儲(chǔ)器、I/O接口和I/O設(shè)備等組成。

2024年9月17日451.微處理器

微處理器是整個(gè)微機(jī)的核心,也稱中央處理器(CentralProcessingUnit,CPU),它是采用大規(guī)模集成電路技術(shù)制成的芯片,芯片內(nèi)集成了控制器、運(yùn)算器兩大部分。

運(yùn)算器用于算術(shù)運(yùn)算和邏輯運(yùn)算,是對(duì)數(shù)據(jù)進(jìn)行加工的部件。運(yùn)算器通常由算術(shù)邏輯部件(ALU)和一系列寄存器組成,ALU是完成算術(shù)和邏輯運(yùn)算的部件,寄存器即可提供參與運(yùn)算的操作數(shù),又可用于存放運(yùn)算結(jié)果。

控制器是計(jì)算機(jī)的核心部件,用來(lái)產(chǎn)生一系列控制信號(hào)以指揮計(jì)算機(jī)系統(tǒng)有條不紊地運(yùn)行,完成對(duì)指令的讀取、解釋和執(zhí)行,并協(xié)調(diào)計(jì)算機(jī)各部分的工作。

CPU及其支持電路構(gòu)成了微機(jī)系統(tǒng)的控制中心,對(duì)系統(tǒng)的各個(gè)部件進(jìn)行統(tǒng)一的協(xié)調(diào)和控制。

2024年9月17日462.存儲(chǔ)器(Memory)

存儲(chǔ)器是微機(jī)的存儲(chǔ)和記憶部件,是用來(lái)存放程序和數(shù)據(jù)(包括原始數(shù)據(jù)、中間結(jié)果和最終結(jié)果)的部件。

存儲(chǔ)器是由若干存儲(chǔ)單元組成,1個(gè)存儲(chǔ)單元可以存放若干個(gè)二進(jìn)制位(Bit)。

字節(jié):8個(gè)二進(jìn)制位稱為1個(gè)字節(jié),記為B(Byte),

在微機(jī)中規(guī)定每個(gè)內(nèi)存單元可以存放1B的二進(jìn)制信息。

字:2B稱為1個(gè)字(Word)。

存儲(chǔ)單元的地址:為了區(qū)分各個(gè)不同的存儲(chǔ)單元,給每個(gè)存儲(chǔ)單元編上不同的號(hào)碼,這個(gè)唯一的編號(hào)稱為存儲(chǔ)單元的地址。存儲(chǔ)單元的地址編號(hào)從0開始順序編排。CPU通過(guò)指定存儲(chǔ)單元的地址來(lái)訪問(wèn)對(duì)應(yīng)的單元。

存儲(chǔ)容量:一臺(tái)微機(jī)所有存儲(chǔ)單元的總數(shù)存儲(chǔ)器最小存儲(chǔ)單位是字節(jié)。存儲(chǔ)容量的單位有KB(代表1024B);MB(代表1024KB);GB(代表1024MB)。存儲(chǔ)容量越大,表示計(jì)算機(jī)存儲(chǔ)的信息越多,存儲(chǔ)容量也是衡量計(jì)算機(jī)性能的重要指標(biāo)。

2024年9月17日47

微機(jī)的存儲(chǔ)器分為主存儲(chǔ)器(又稱內(nèi)存)和輔助存儲(chǔ)器(又稱外存)。

內(nèi)存采用半導(dǎo)體材料,安裝在機(jī)內(nèi)的電路板上,具有容量小、存取速度快和易揮發(fā)性(存儲(chǔ)信息是否容易丟失)等特征,CPU可以通過(guò)總線直接對(duì)內(nèi)存操作。內(nèi)存由只讀存儲(chǔ)器ROM(ReadOnlyMemory)和隨機(jī)存取存儲(chǔ)器RAM(RandomAccessMemory)兩種類型構(gòu)成。ROM只允許執(zhí)行讀操作,存放監(jiān)控程序和基本輸入/輸出程序,還可用來(lái)存放各種常用的數(shù)據(jù)和表格,ROM中的內(nèi)容一般由生產(chǎn)廠家或用戶使用專用設(shè)備寫入固化的;而RAM則可讀可寫,用于存放用戶裝入的程序、數(shù)據(jù)及部分系統(tǒng)信息,但掉電后信息將丟失。

外存儲(chǔ)器一般采用磁介質(zhì)材料,被安裝在主機(jī)箱內(nèi)或主機(jī)箱外,CPU通過(guò)I/O接口進(jìn)行讀寫操作。常見的設(shè)備有磁盤(硬盤和軟盤)、磁帶、光盤、U盤等。

2024年9月17日483.I/O設(shè)備和I/O接口

I/O接口電路是連接外部設(shè)備(外圍設(shè)備)并與外界進(jìn)行信息交換的控制邏輯電路。I/O設(shè)備是指微機(jī)上配備的輸入/輸出設(shè)備,也稱外部設(shè)備或外圍設(shè)備(簡(jiǎn)稱外設(shè)),是微機(jī)系統(tǒng)重要的組成部分。常用的輸入設(shè)備有鍵盤、鼠標(biāo)器、掃描儀等,常用的輸出設(shè)備有顯示器、打印機(jī)、繪圖儀等,磁帶、磁盤等既是輸入設(shè)備,又是輸出設(shè)備。

由于I/O設(shè)備的種類繁多,結(jié)構(gòu)、原理、速度各異,有機(jī)械式、電子式、電磁式等。無(wú)法與CPU直接匹配,所以不可能將它們簡(jiǎn)單地連接到系統(tǒng)總線,需要有一個(gè)接口電路來(lái)充當(dāng)它們和CPU間的橋梁,通過(guò)該電路來(lái)完成信號(hào)變換、數(shù)據(jù)緩沖、與CPU聯(lián)絡(luò)等工作。該部件被稱為輸入/輸出接口電路(簡(jiǎn)稱I/O接口),又稱I/O適配器(I/Oadapter)。

2024年9月17日494.系統(tǒng)總線(BUS)

總線是計(jì)算機(jī)系統(tǒng)中各功能部件間傳送信息的公共通道即一組公共信號(hào)線。這里的系統(tǒng)總線是指從處理器引出的若干信號(hào)線,CPU通過(guò)它們與存儲(chǔ)器和I/O設(shè)備的接口電路進(jìn)行信息交換。按其傳遞的信息不同系統(tǒng)總線一般可分為3組:

地址總線即AB(AddressBus):是用來(lái)傳送地址信息的總線,CPU在AB總線上輸出將要訪問(wèn)的內(nèi)存單元或I/O接口的地址。該總線是單向總線。

數(shù)據(jù)總線即DB(DataBus):是用來(lái)傳送數(shù)據(jù)信息的總線。在CPU進(jìn)行讀操作時(shí),內(nèi)存或外設(shè)的數(shù)據(jù)通過(guò)DB總線送往CPU;在CPU進(jìn)行寫操作時(shí),CPU數(shù)據(jù)通過(guò)DB總線送往內(nèi)存或外設(shè),該總線是雙向總線。

控制總線即CB(ControlBus):是用來(lái)傳送控制信息的總線。其中有CPU發(fā)出的控制信號(hào)或外界發(fā)送給CPU的狀態(tài)信號(hào)。

2024年9月17日50

總線可以在不同的位置和應(yīng)用場(chǎng)合下使用。在芯片內(nèi)使用的總線稱為片內(nèi)總線。在同一個(gè)微機(jī)系統(tǒng)內(nèi)使用的總線稱為內(nèi)總線(系統(tǒng)總線)以及局部總線,連接多個(gè)微機(jī)使用的總線稱為外總線或通信總線,例如RS-232C總線和RS-485總線。

根據(jù)總線上傳輸信號(hào)的方式,總線又可以分為并行總線和串行總線。一般機(jī)內(nèi)總線和片內(nèi)總線都是并行總線,而外部總線則采用串行總線。

總線結(jié)構(gòu)是微機(jī)的一大特色,使得微機(jī)具有組態(tài)靈活、擴(kuò)展方便的特點(diǎn)。實(shí)際上,為了方便總線與存儲(chǔ)器、總線與I/O接口的連接,在微機(jī)的主板上設(shè)計(jì)有多個(gè)總線插槽,用戶可根據(jù)情況插進(jìn)不同的內(nèi)存條和電路插板,達(dá)到靈活機(jī)動(dòng)的配置目的。

2024年9月17日511.3.2軟件系統(tǒng)

所謂軟件系統(tǒng)是指在計(jì)算機(jī)上運(yùn)行的程序,廣義軟件還應(yīng)包括由計(jì)算機(jī)管理的數(shù)據(jù)和有關(guān)的文檔資料。依據(jù)功能不同,軟件可分為系統(tǒng)軟件和應(yīng)用軟件兩大類。

(一)系統(tǒng)軟件

系統(tǒng)軟件由一組控制計(jì)算機(jī)系統(tǒng)并管理其資源的程序組成,其主要功能包括:?jiǎn)?dòng)計(jì)算機(jī),存儲(chǔ)、加載和執(zhí)行應(yīng)用程序,對(duì)文件進(jìn)行排序、檢索,將程序語(yǔ)言翻譯成機(jī)器語(yǔ)言等。實(shí)際上,系統(tǒng)軟件可以看作用戶與計(jì)算機(jī)的接口,它為應(yīng)用軟件和用戶提供了控制、訪問(wèn)硬件的手段,這些功能主要由操作系統(tǒng)完成。此外,編譯系統(tǒng)和各種工具軟件也屬此類,它們從另一方面輔助用戶使用計(jì)算機(jī)。具體包括:

1.操作系統(tǒng)(OperatingSystem,OS)

2.語(yǔ)言處理系統(tǒng)(翻譯程序)

3.服務(wù)程序

4.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)

2024年9月17日52

1.操作系統(tǒng)(OperatingSystem,OS)

操作系統(tǒng)是管理、控制和監(jiān)督計(jì)算機(jī)軟、硬件資源協(xié)調(diào)運(yùn)行的程序系統(tǒng),由一系列具有不同控制和管理功能的程序組成,它是直接運(yùn)行在計(jì)算機(jī)硬件上的、最基本的系統(tǒng)軟件,是系統(tǒng)軟件的核心。操作系統(tǒng)通常應(yīng)包括下列五大功能模塊:

(1)處理器管理。

(2)作業(yè)管理。

(3)存儲(chǔ)器管理。

(4)設(shè)備管理。

(5)文件管理。2024年9月17日532.語(yǔ)言處理系統(tǒng)(翻譯程序)

如前所述,機(jī)器語(yǔ)言是計(jì)算機(jī)唯一能直接識(shí)別和執(zhí)行的程序語(yǔ)言。如果要在計(jì)算機(jī)上運(yùn)行高級(jí)語(yǔ)言源程序就必須配備語(yǔ)言翻譯程序(下簡(jiǎn)稱翻譯程序)。翻譯程序本身是一組程序,不同的高級(jí)語(yǔ)言都有相應(yīng)的翻譯程序。

對(duì)于高級(jí)語(yǔ)言來(lái)說(shuō),翻譯的方法有兩種:

一種稱為“解釋”。早期的BASIC源程序的執(zhí)行都采用這種方式。逐條把BASIC的源程序語(yǔ)句進(jìn)行解釋和執(zhí)行,它不保留目標(biāo)程序代碼,即不產(chǎn)生可執(zhí)行文件。這種方式速度較慢,每次運(yùn)行都要經(jīng)過(guò)“解釋”,邊解釋邊執(zhí)行。

另一種稱為“編譯”,它調(diào)用相應(yīng)語(yǔ)言的編譯程序,把源程序變成目標(biāo)程序(以.OBJ為擴(kuò)展名),然后再用連接程序,把目標(biāo)程序與庫(kù)文件相連接形成可執(zhí)行文件。

對(duì)源程序進(jìn)行解釋和編譯任務(wù)的程序,分別叫做編譯程序和解釋程序。如FORTRAN、COBOL、PASCAL和C等高級(jí)語(yǔ)言,使用時(shí)需有相應(yīng)的編譯程序;BASIC、LISP等高級(jí)語(yǔ)言,使用時(shí)需用相應(yīng)的解釋程序。

2024年9月17日54

3.服務(wù)程序

服務(wù)程序能夠提供一些常用的服務(wù)性功能,它們?yōu)橛脩糸_發(fā)程序和使用計(jì)算機(jī)提供了方便,像微機(jī)上經(jīng)常使用的診斷程序、調(diào)試程序、編輯程序均屬此類。

4.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)

在信息社會(huì)里,社會(huì)和生產(chǎn)活動(dòng)產(chǎn)生的信息很多,使人工管理難以應(yīng)付,人們希望借助計(jì)算機(jī)對(duì)信息進(jìn)行搜集、存儲(chǔ)、處理和使用。數(shù)據(jù)庫(kù)系統(tǒng)(DataBaseSystem,DBS)就是在這種需求背景下產(chǎn)生和發(fā)展的。

數(shù)據(jù)庫(kù)技術(shù)是計(jì)算機(jī)技術(shù)中發(fā)展最快、應(yīng)用最廣的一個(gè)分支??梢哉f(shuō),在今后的計(jì)算機(jī)應(yīng)用開發(fā)中大都離不開數(shù)據(jù)庫(kù)。因此,了解數(shù)據(jù)庫(kù)技術(shù)尤其是微機(jī)環(huán)境下的數(shù)據(jù)庫(kù)應(yīng)用是非常必要的。

2024年9月17日55(二)應(yīng)用軟件

為解決各類實(shí)際問(wèn)題而設(shè)計(jì)的程序系統(tǒng)稱為應(yīng)用軟件。從其服務(wù)對(duì)象的角度,又可分為通用軟件和專用軟件兩類。

1.通用軟件

這類軟件通常是為解決某一類問(wèn)題而設(shè)計(jì)的,而這類問(wèn)題是很多人都要遇到和解決的。例如:文字處理、表格處理、幻燈片演示等。

2.專用軟件

在市場(chǎng)上可以買到通用軟件,但有些具有特殊功能和需求的軟件是無(wú)法買到的。比如某個(gè)用戶希望有一個(gè)程序能自動(dòng)控制車床,同時(shí)也能將各種事務(wù)性工作集成起來(lái)統(tǒng)一管理。因?yàn)樗鼘?duì)于一般用戶是太特殊了,所以只能組織人力開發(fā)。當(dāng)然開發(fā)出來(lái)的這種軟件也只能專用于這種情況。

2024年9月17日561.4微型計(jì)算機(jī)工作過(guò)程

計(jì)算機(jī)采用存儲(chǔ)程序與程序控制的工作方式,即事先把程序加載到計(jì)算機(jī)的存儲(chǔ)器中,當(dāng)給機(jī)器加電并啟動(dòng)后,計(jì)算機(jī)便會(huì)自動(dòng)按照程序的要求進(jìn)行工作。微機(jī)的工作過(guò)程即是程序中指令的重復(fù)執(zhí)行過(guò)程。下面以一個(gè)具體的匯編語(yǔ)言程序?yàn)槔齺?lái)說(shuō)明在模型機(jī)中指令的執(zhí)行過(guò)程。

MOVAL,05H

ADDAL,06H

HLT

這個(gè)程序的目的就是執(zhí)行一個(gè)5+6=?的操作,第一條指令是把立即數(shù)05H送入寄存器的累加器AL中;第二條指令是將AL的內(nèi)容與06H相加,結(jié)果為05H+06H=0BH存入AL中,第三條指令為暫停指令。

2024年9月17日57由于微處理器只能識(shí)別二進(jìn)制的機(jī)器碼,因此上述指令必須以機(jī)器碼表示如下:

該機(jī)器碼在內(nèi)存中狀態(tài)如下:

內(nèi)存地址內(nèi)容

00HB0H

01H05H

02H04H

03H06H

04HF4H

.

三條指令共五個(gè)字節(jié),存放在內(nèi)存00H-04H的5個(gè)存儲(chǔ)單元中。一條指令的執(zhí)行過(guò)程分為取指令、分析指令和執(zhí)行指令等步驟,下面結(jié)合圖1.6,分析以上三條指令的執(zhí)行過(guò)程。

2024年9月17日582024年9月17日59第一條指令的執(zhí)行過(guò)程如下:

1.取指令

①指令寄存器IP的內(nèi)容(00H)送至地址寄存器AR,記為IP→AR。

②指令寄存器IP的內(nèi)容自動(dòng)加1變?yōu)?1H,為取下一條指令作準(zhǔn)備,記為IP+1→IP。

③地址寄存器AR將00H通過(guò)地址總線送至存儲(chǔ)器地址譯碼器譯碼,選中00H號(hào)單元,記為AR→M。

④CPU發(fā)出“讀”命令。

⑤所選中的00H號(hào)單元的內(nèi)容B0H讀至數(shù)據(jù)總線DB,記為(B0H)→DB。

⑥經(jīng)數(shù)據(jù)總線DB,將讀出的B0H送至數(shù)據(jù)寄存器DR,記為DB→DR。

⑦數(shù)據(jù)寄存器DR將其內(nèi)容送至指令寄存器IR,經(jīng)過(guò)譯碼,控制邏輯發(fā)出執(zhí)行該條指令的一系列信號(hào),記為DR→IR,IR→ID,ID→PLA。

2024年9月17日60

2.分析指令

指令譯碼器對(duì)指令操作碼B0H譯碼后知道這是一條把立即數(shù)送累加器AL的指令,立即數(shù)05H在指令的第二個(gè)字節(jié)中,則執(zhí)行第一條指令就是從內(nèi)存中取出05H送入AL中。

3.執(zhí)行指令

2024年9月17日61

①指令寄存器IP的內(nèi)容01H送至地址寄存器AR,記為IP→AR。

②指令寄存器IP的內(nèi)容自動(dòng)加1變?yōu)?2H,為取下一條指令作準(zhǔn)備,記為IP+1→IP。

③即地址寄存器AR將01H通過(guò)地址總線送至存儲(chǔ)器,并選中01H單元,記為AR→M。

④CPU發(fā)“讀”命令。

⑤選中的01H存儲(chǔ)單元的內(nèi)容05H送至數(shù)據(jù)總線DB上,記為(01H)→DB。

⑥通過(guò)數(shù)據(jù)總線,把讀出的內(nèi)容05H送至數(shù)據(jù)寄存器DR,記為DB→DR。

⑦因?yàn)榻?jīng)過(guò)譯碼已經(jīng)知道讀出的是立即數(shù),并要求將它送至累加器A,故數(shù)據(jù)寄存器DR通過(guò)內(nèi)部總線將05H送至累加器A,記為DR→AL。

上述執(zhí)行指令過(guò)程如圖1.7所示。2024年9月17日62

第二條指令的執(zhí)行過(guò)程與第一條基本相同,所不同的是在執(zhí)行階段:將內(nèi)存0003H單元的內(nèi)容06H送入暫存器,AL中的內(nèi)容05H送入累加器,然后由算術(shù)邏輯單元ALU來(lái)做加法,并將結(jié)果0BH經(jīng)過(guò)數(shù)據(jù)總線DB送到AL中。

第三條指令HLT只是告訴CPU進(jìn)入暫停階段。

從上面的例子中我們總結(jié)出,微型計(jì)算機(jī)的工作過(guò)程是執(zhí)行程序的過(guò)程。首先CPU進(jìn)入取指階段,從存儲(chǔ)單元中取出指令代碼,通過(guò)數(shù)據(jù)總線,送到CPU中的指令寄存器中寄存,然后對(duì)該指令譯碼,譯碼器經(jīng)譯碼后發(fā)出相應(yīng)的控制信號(hào),通過(guò)控制總線,CPU把控制信息傳送到存儲(chǔ)器或輸入/輸出系統(tǒng),存儲(chǔ)器或輸入/輸出系統(tǒng)按照CPU的命令進(jìn)行相應(yīng)的動(dòng)作,也即CPU執(zhí)行指令指定的操作。

2024年9月17日63

取指階段是由一系列相同的操作組成,因此取指的時(shí)間總是相同的。而執(zhí)行指令的階段是由不同的事件組成的,它取決于執(zhí)行指令的類型。執(zhí)行完一條指令后接著執(zhí)行下一條指令,即取指→執(zhí)行,取指→執(zhí)行……如此反復(fù),直至程序結(jié)束。這是一種串行工作方式,是以往計(jì)算機(jī)提高工作速度的一個(gè)障礙,根本的解決方法是采用并行操作。

現(xiàn)在的計(jì)算機(jī)采用流水線技術(shù),是一種同時(shí)進(jìn)行若干操作的并行處理方式,它把取指令操作和執(zhí)行指令操作并行進(jìn)行,在執(zhí)行一條指令的同時(shí),又取另一條或幾條指令。在第2章中,講述的8086內(nèi)部結(jié)構(gòu)中總線接口部件完成取指操作,把指令預(yù)先放到指令隊(duì)列中,執(zhí)行部件完成執(zhí)行指令的操作,這兩部分可同時(shí)進(jìn)行,從硬件上保證了流水線技術(shù)的實(shí)施。

2024年9月17日64

1.5微型計(jì)算機(jī)主要性能指標(biāo)

一臺(tái)微型計(jì)算機(jī)功能的強(qiáng)弱或性能的好壞,不是由某項(xiàng)指標(biāo)來(lái)決定的,而是由它的系統(tǒng)結(jié)構(gòu)、指令系統(tǒng)、硬件組成、軟件配置等多方面的因素綜合決定的。但對(duì)于大多數(shù)普通用戶來(lái)說(shuō),可以從以下幾個(gè)指標(biāo)來(lái)大體評(píng)價(jià)計(jì)算機(jī)的性能。

1.運(yùn)算速度

2.字長(zhǎng)

3.內(nèi)存儲(chǔ)器的容量

4.外存儲(chǔ)器的容量

2024年9月17日65

1.運(yùn)算速度

運(yùn)算速度是衡量計(jì)算機(jī)性能的一項(xiàng)重要指標(biāo)。通常所說(shuō)的計(jì)算機(jī)運(yùn)算速度(平均運(yùn)算速度),是指每秒鐘所能執(zhí)行的指令條數(shù)。同一臺(tái)計(jì)算機(jī),執(zhí)行不同的運(yùn)算所需時(shí)間可能不同,因而對(duì)運(yùn)算速度的描述常采用不同的方法。

常用的有CPU時(shí)鐘頻率(主頻)、每秒平均執(zhí)行指令條數(shù)(IPS)等。微型計(jì)算機(jī)一般采用主頻來(lái)描述運(yùn)算速度,例如,Pentium/133的主頻為133MHz,PentiumⅢ/800的主頻為800MHz,Pentium41.5G的主頻為1.5GHz。一般說(shuō)來(lái),主頻越高,運(yùn)算速度就越快。

2024年9月17日662.字長(zhǎng)

一般說(shuō)來(lái),計(jì)算機(jī)在同一時(shí)間內(nèi)處理的一組二進(jìn)制數(shù)稱為一個(gè)計(jì)算機(jī)的“字”,而這組二進(jìn)制數(shù)的位數(shù)就是“字長(zhǎng)”。在其他指標(biāo)相同時(shí),字長(zhǎng)越大計(jì)算機(jī)處理數(shù)據(jù)的速度就越快。早期的微型計(jì)算機(jī)的字長(zhǎng)一般是8位和16位。目前586(Pentium,PentiumPro,PentiumⅡ,PentiumⅢ,Pentium4)大多是32位,現(xiàn)在的大多都是64位的了。

2024年9月17日67

3.內(nèi)存儲(chǔ)器的容量

內(nèi)存儲(chǔ)器,也簡(jiǎn)稱主存,是CPU可以直接訪問(wèn)的存儲(chǔ)器,需要執(zhí)行的程序與需要處理的數(shù)據(jù)就是存放在主存中的。內(nèi)存儲(chǔ)器容量的大小反映了計(jì)算機(jī)即時(shí)存儲(chǔ)信息的能力。隨著操作系統(tǒng)的升級(jí),應(yīng)用軟件的不斷豐富及其功能的不斷擴(kuò)展,人們對(duì)計(jì)算機(jī)內(nèi)存容量的需求也不斷提高。目前,運(yùn)行Windows95或Windows98操作系統(tǒng)至少需要16M的內(nèi)存容量,WindowsXP則需要128M以上的內(nèi)存容量。內(nèi)存容量越大,系統(tǒng)功能就越強(qiáng)大,能處理的數(shù)據(jù)量就越龐大。

4.外存儲(chǔ)器的容量

外存儲(chǔ)器容量通常是指硬盤容量(包括內(nèi)置硬盤和移動(dòng)硬盤)。外存儲(chǔ)器容量越大,可存儲(chǔ)的信息就越多,可安裝的應(yīng)用軟件就越豐富。目前,硬盤容量一般為10G至60G,有的甚至已達(dá)到120G。

2024年9月17日68

以上只是一些主要性能指標(biāo)。除了上述這些主要性能指標(biāo)外,微型計(jì)算機(jī)還有其他一些指標(biāo),例如,所配置外圍設(shè)備的性能指標(biāo)以及所配置系統(tǒng)軟件的情況等等。另外,各項(xiàng)指標(biāo)之間也不是彼此孤立的,在實(shí)際應(yīng)用時(shí),應(yīng)該把它們綜合起來(lái)考慮,而且還要遵循“性能價(jià)格比”的原則。

2024年9月17日69本章小結(jié):

本章從微型計(jì)算機(jī)基本結(jié)構(gòu)和工作原理出發(fā),對(duì)微處理器的產(chǎn)生發(fā)展、微型計(jì)算機(jī)的分類及應(yīng)用作了概述;介紹了計(jì)算機(jī)中的數(shù)據(jù)格式及機(jī)器數(shù)、有符號(hào)數(shù)的表示、字符編碼的基本知識(shí)以及微型計(jì)算機(jī)的軟硬件組成等。

通過(guò)本章的學(xué)習(xí),要了解微型計(jì)算機(jī)的發(fā)展歷史和應(yīng)用場(chǎng)合,關(guān)注當(dāng)前微型計(jì)算機(jī)的發(fā)展動(dòng)向;要掌握微型計(jì)算機(jī)系統(tǒng)組成以及工作原理和工作過(guò)程,理解微機(jī)各主要模塊的功能和在系統(tǒng)中的地位;熟悉各進(jìn)位計(jì)數(shù)制之間的相互轉(zhuǎn)換,理解數(shù)值型數(shù)據(jù)和非數(shù)值型數(shù)據(jù)在計(jì)算機(jī)中的表示方法;掌握補(bǔ)碼加減法運(yùn)算及溢出的判斷,為后續(xù)內(nèi)容的學(xué)習(xí)打下一個(gè)良好的基礎(chǔ)。2024年9月17日70第2章微處理器【任務(wù)驅(qū)動(dòng)】

本章主要介紹8086微處理器的相關(guān)知識(shí),通過(guò)本章的學(xué)習(xí),讓學(xué)生掌握8086的內(nèi)部結(jié)構(gòu)及外部引腳定義,掌握8086存儲(chǔ)器的組織形式,理解8086微處理器的工作模式和總線時(shí)序?!局攸c(diǎn)難點(diǎn)】1.8086CPU內(nèi)部并行結(jié)構(gòu)及外部引腳2.8086CPU的存儲(chǔ)器組織及地址變換3.8086CPU的基本時(shí)序2024年9月17日712.1微處理器概述2.2Intel8086/8088CPU結(jié)構(gòu)2.3Intel8086/8088CPU的引腳2.4Intel8086/8088的典型時(shí)序分析微處理器(Microprocessor),又稱中央處理器(CentralProcessingUnit,CPU)。是采用大規(guī)模或超大規(guī)模集成電路(LSI/VLSI)技術(shù)做成的半導(dǎo)體芯片,集成了計(jì)算機(jī)的主要部件:控制器、運(yùn)算器和寄存器組等,是微機(jī)的核心部件。主要完成各種算術(shù)及邏輯運(yùn)算,并控制計(jì)算機(jī)各部件協(xié)調(diào)地工作。CPU是微機(jī)的核心芯片,是整個(gè)系統(tǒng)的運(yùn)算和指揮控制中心。不同型號(hào)的微機(jī),其性能的差別首先在于其CPU性能的不同,而CPU的性能又與它的內(nèi)部結(jié)構(gòu)有關(guān),每種CPU都有其特有的指令系統(tǒng)。但無(wú)論哪種CPU,其內(nèi)部基本結(jié)構(gòu)總是相近的,都有控制器、運(yùn)算器和寄存器組3大主要部件。2024年9月17日722.1微處理器概述1.運(yùn)算器:又稱為算術(shù)邏輯單元(ArithmeticandLogicUnit,ALU),它是以加法器為基礎(chǔ),輔之以移位寄存器及相應(yīng)控制邏輯組合而成的電路,在控制信號(hào)的作用下,可完成加、減、乘、除四則運(yùn)算和各種邏輯運(yùn)算,以及浮點(diǎn)運(yùn)算。2.控制器:一般由指令寄存器、指令譯碼器、時(shí)序和控制邏輯電路組成。控制器是整個(gè)CPU的指揮控制中心,對(duì)協(xié)調(diào)整個(gè)微機(jī)有序工作極為重要。它從存儲(chǔ)器中依次取出程序的各條指令,并根據(jù)指令的要求,向微機(jī)的各個(gè)部件發(fā)出相應(yīng)的控制信號(hào),使各部件協(xié)調(diào)工作,從而實(shí)現(xiàn)對(duì)整個(gè)微機(jī)系統(tǒng)的控制。2024年9月17日733.寄存器組:實(shí)質(zhì)上是CPU內(nèi)部的若干個(gè)的高速存儲(chǔ)單元,在匯編語(yǔ)言中通常是按名字來(lái)訪問(wèn)它們。寄存器可分為專用寄存器和通用寄存器。專用寄存器的作用是固定的,如堆棧指針、程序計(jì)數(shù)器、標(biāo)志寄存器、地址寄存器等。而通用寄存器則可由程序員規(guī)定其用途。通用寄存器的數(shù)目因CPU的不同而異,8088/8086CPU中有8個(gè)16位的通用寄存器,縮短了指令的長(zhǎng)度和指令的執(zhí)行時(shí)間。微處理器中還有一些不能直接為程序員所用的寄存器,如累加鎖存器、暫存器和指令寄存器等,它們僅受內(nèi)部定時(shí)和控制邏輯的控制。我們通常說(shuō)的Z80、8086、80286、80386、80486指的是Z80處理器、8086微處理器、80286微處理器、80386微處理器和80486微處理器。在這一章中,我們將學(xué)習(xí)8086處理器及其系列芯片的內(nèi)部結(jié)構(gòu)、操作與時(shí)序等。2024年9月17日748086/8088是Intel系列的16位微處理器,它是采用HMOS工藝制造的,內(nèi)部包含約29000個(gè)晶體管,用單一的+5V電源,時(shí)鐘頻率為5MHz~10MHz。8086有16根數(shù)據(jù)線和20根地址線,其尋址空間達(dá)1M字節(jié);8088是一種準(zhǔn)16位微處理器,它的內(nèi)部寄存器、內(nèi)部運(yùn)算部件以及內(nèi)部操作都是按16位設(shè)計(jì)的,但對(duì)外的數(shù)據(jù)總線只有8條。8086/8088芯片內(nèi)設(shè)有硬件乘除指令部件和串處理指令部件,可對(duì)位、字節(jié)、字串、BCD碼等多種數(shù)據(jù)類型進(jìn)行處理。8086/8088的指令系統(tǒng)完全相同,在軟件上完全兼容。2024年9月17日752.2Intel8086/8088CPU結(jié)構(gòu)8086CPU采用了一種較先進(jìn)的指令流水線結(jié)構(gòu),取指令(或取操作數(shù))與執(zhí)行指令的功能分別由兩個(gè)獨(dú)立部件實(shí)現(xiàn),即總線接口單元BIU(BusInterfaceUnit)和執(zhí)行單元EU(ExecutionUnit)。因此,當(dāng)EU執(zhí)行某條指令時(shí),BIU同時(shí)完成從主存中預(yù)取后續(xù)指令,兩個(gè)部件并行地工作,使指令的讀取與執(zhí)行可以部分重疊,從而指令的執(zhí)行速度。為此,將8086CPU結(jié)構(gòu)從功能上劃分為兩個(gè)邏輯單元,即總線接口單元BIU和執(zhí)行單元EU,其內(nèi)部組成結(jié)構(gòu)如圖2.1所示。2024年9月17日762.2.1總線接口單元BIU和執(zhí)行單元EU

圖2.18086CPU內(nèi)部結(jié)構(gòu)圖2024年9月17日77(一)總線接口單元BIUBIU是8086CPU與存儲(chǔ)器或I/O設(shè)備之間的接口部件,負(fù)責(zé)全部引腳的操作。具體來(lái)說(shuō),BIU負(fù)責(zé):(1)取指令。產(chǎn)生指令地址,根據(jù)指令地址從存儲(chǔ)器取出指令,送到指令隊(duì)列中排隊(duì)或直接送給EU去執(zhí)行;(2)取操作數(shù)。從存儲(chǔ)器的指定單元或外設(shè)端口中取出指令規(guī)定的操作數(shù)傳送給EU;(3)傳送結(jié)果。把EU的操作結(jié)果傳送到指定的存儲(chǔ)單元或外設(shè)端口中。BIU內(nèi)部設(shè)有:1.4個(gè)16位的段寄存器:代碼段寄存器CS(CodeSegment)數(shù)據(jù)段寄存器DS(DataSegment)堆棧段寄存器SS(StakeSegment)附加段寄存器ES(ExtraSegment)2024年9月17日782.一個(gè)16位的指令指針寄存器IP(InstructionPointer)。3.6字節(jié)指令隊(duì)列緩沖器。8086的指令隊(duì)列緩沖器為六個(gè)字節(jié),8088的指令隊(duì)列緩沖器為四個(gè)字節(jié)。無(wú)論8086還是8088,都會(huì)在執(zhí)行指令的同時(shí),從內(nèi)存中取下一條指令或幾條指令,取來(lái)的指令就放在指令隊(duì)列緩沖器中。這樣,一般情況下,CPU執(zhí)行完一條指令就可以立即執(zhí)行下一條指令,稱為流水線技術(shù),減少了CPU為取指令而等待的時(shí)間,從而提高了CPU的效率。4.20位地址加法器和總線控制電路。地址加法器用來(lái)產(chǎn)生20位地址。上面已提到8086可用20位地址尋址1MB的內(nèi)存空間,但8086內(nèi)部所有的寄存器都是16位的,所以需要一個(gè)附加的機(jī)構(gòu)來(lái)根據(jù)16位寄存器提供的信息計(jì)算出20位的物理地址,這個(gè)機(jī)構(gòu)就是20位的地址加法器。2024年9月17日79(二)執(zhí)行單元EU執(zhí)行單元(EU)的作用是:(1)從指令隊(duì)列中取出指令;(2)對(duì)指令進(jìn)行譯碼,發(fā)出相應(yīng)的傳送數(shù)據(jù)或算術(shù)運(yùn)算的控制信號(hào);(3)接收由總線接口部件傳送來(lái)的數(shù)據(jù),或把數(shù)據(jù)傳送到總線接口部件;(4)進(jìn)行算術(shù)運(yùn)算。執(zhí)行部件由下列部分組成:1.4個(gè)通用寄存器AX,BX,CX,DX四個(gè)通用寄存器既可作為16位寄存器用,也可以作為8位寄存器使用,分別為AH,AL,BH,BL,CH,CL,DH,DL。AX寄存器又稱為累加器,8086指令系統(tǒng)中有許多指令都通過(guò)累加器的動(dòng)作來(lái)執(zhí)行。AX為16位累加器,AL為8位累加器。2024年9月17日802.專用寄存器4個(gè)專用寄存器,基址指針寄存器BP,堆棧指針寄存器SP,源變址寄存器SI,目的變址寄存器DI。4個(gè)專用寄存器的用法將在指令系統(tǒng)有專門的論述。3.算術(shù)邏輯單元ALU它是16位的運(yùn)算器,可用于8位或16位二進(jìn)制算術(shù)和邏輯運(yùn)算,也可按指令的尋址方式計(jì)算尋址存儲(chǔ)器單元所需的16位偏移量。4.?dāng)?shù)據(jù)暫存寄存器它協(xié)助ALU完成運(yùn)算,暫存參加運(yùn)算的數(shù)據(jù)。5.EU控制電路從總線接口單元的指令隊(duì)列取出指令操作碼,通過(guò)譯碼電路分析,發(fā)出相應(yīng)的控制命令,控制ALU數(shù)據(jù)的流向。如果是運(yùn)算操作,操作數(shù)經(jīng)過(guò)暫存寄存器送入ALU,運(yùn)算結(jié)果經(jīng)過(guò)ALU數(shù)據(jù)總線送到相應(yīng)的寄存器,同時(shí)標(biāo)志寄存器F根據(jù)運(yùn)算結(jié)果改變狀態(tài)。2024年9月17日816.標(biāo)志寄存器標(biāo)志寄存器共有16位,其中7位未用,所用的各位含義如圖2.2所示。6個(gè)狀態(tài)標(biāo)志,反映CPU指令運(yùn)行后的運(yùn)行狀態(tài)信息,分別為SF、ZF、PF、CF、AF和OF。這些標(biāo)志位根據(jù)指令執(zhí)行后的操作結(jié)果進(jìn)行變化,然后判斷轉(zhuǎn)移等。3個(gè)控制標(biāo)志,分別為DF、IF和TF。控制標(biāo)志與狀態(tài)標(biāo)志的區(qū)別是,控制標(biāo)志可由編程員通過(guò)指令進(jìn)行設(shè)置,有專門的指令對(duì)控制標(biāo)志置0或置1;狀態(tài)信息是由中央處理器執(zhí)行運(yùn)算指令,并根據(jù)運(yùn)算結(jié)果而自動(dòng)設(shè)置。6個(gè)狀態(tài)標(biāo)志位的職能是:CF——進(jìn)位標(biāo)志位。做加法時(shí)出現(xiàn)進(jìn)位或做減法時(shí)出現(xiàn)借位,該標(biāo)志位置1;否則清0。PF——奇偶標(biāo)志位。當(dāng)結(jié)果的低8位中1的個(gè)數(shù)為偶數(shù)時(shí),則該標(biāo)志位置1;否則清0。AF——半加標(biāo)志位。在做加法時(shí),當(dāng)位3需向位4進(jìn)位,或在做減法時(shí)位3需向位4借位,該標(biāo)志位就置1;否則清0。該標(biāo)志位通常用于對(duì)BCD算術(shù)邏輯結(jié)果的調(diào)整。2024年9月17日82ZF——零標(biāo)志位。運(yùn)算結(jié)果各位都為0時(shí),該標(biāo)志位置1;否則清0。SF——符號(hào)標(biāo)志位。當(dāng)運(yùn)算結(jié)果的最高位為1時(shí),該標(biāo)志位置1;否則清0。OF——溢出標(biāo)志位。在算術(shù)運(yùn)算中,當(dāng)帶符號(hào)的數(shù)的運(yùn)算結(jié)果超出了8位或16位帶符號(hào)數(shù)所能表達(dá)的范圍時(shí),即字節(jié)運(yùn)算大于+127或小于-128時(shí),字運(yùn)算大于+32767或小于-32768時(shí),該標(biāo)志位置位。2024年9月17日832024年9月17日84圖2.2標(biāo)志寄存器各位的含義3個(gè)控制標(biāo)志位的控制職能如下:(1)DF(DirectionFlag):方向控制標(biāo)志位決定變址寄存器SI、DI的變化方向,即是增量變化還是減量變化。一般用于串處理指令,控制從前往后、還是從后往前對(duì)字符串進(jìn)行操作處理。(2)IF(InteruptFlag):中斷允許/禁止標(biāo)志位IF=1,允許外部可屏蔽中斷。CPU可以響應(yīng)可屏蔽中斷請(qǐng)求。IF=0,關(guān)閉中斷。CPU禁止響應(yīng)可屏蔽中斷請(qǐng)求。(3)TF(TrapFlag):跟蹤(陷阱)標(biāo)志位TF=1,每執(zhí)行一條指令后,自動(dòng)產(chǎn)生一次內(nèi)部中斷,使CPU處于單步執(zhí)行指令工作方式,便于進(jìn)行程序調(diào)試,用戶能檢查程序。TF=0,CPU正常工作,不產(chǎn)生中斷。2024年9月17日852.2.28086/8088的存儲(chǔ)器組織(一)存儲(chǔ)器的標(biāo)準(zhǔn)結(jié)構(gòu)8086CPU有20根地址線,可尋址1MB存儲(chǔ)空間。存儲(chǔ)器按字節(jié)編址,從00000H—FFFFFH,每個(gè)字節(jié)用惟一的地址表示。存放的數(shù)是字節(jié)形式,存儲(chǔ)器單元按順序排列存放。如圖2.3所示,存放的數(shù)為一個(gè)字時(shí),將字的高位字節(jié)放在高地址中,將低位字節(jié)放在低地址中,高低地址連續(xù)。對(duì)于存放的字,其低位字節(jié)可以在奇數(shù)地址中(即從奇地址開始)存放,這種方式稱為非規(guī)則存放,這樣存放的字稱為非規(guī)則字,CPU需要兩次訪問(wèn)存儲(chǔ)器才能存取該字。也可以在偶數(shù)地址中(即從偶地址開始)存放,這是規(guī)則存放,這樣存放的字稱為規(guī)則字,CPU一次便可對(duì)該字所在的兩個(gè)存儲(chǔ)單元進(jìn)行存取。為加快程序的運(yùn)行速度,編程時(shí)應(yīng)注意用規(guī)則字。8088系統(tǒng)外部數(shù)據(jù)總線只有8位,CPU每次訪問(wèn)存儲(chǔ)器只讀寫一個(gè)字節(jié),如果要讀寫一個(gè)字,CPU需要訪問(wèn)兩次存儲(chǔ)器2024年9月17日862024年9月17日87左圖中,地址為00102H單元中存放的字?jǐn)?shù)據(jù)是285BH,地址為00106H單元中存放的字?jǐn)?shù)據(jù)是0AF6DH。圖2.3內(nèi)存中數(shù)據(jù)存儲(chǔ)格式(二)存儲(chǔ)器的分段前面我們已經(jīng)提到8086/8088可以具有1MB的內(nèi)存空間,可是其內(nèi)部結(jié)構(gòu)以及內(nèi)部數(shù)據(jù)的直接處理能力和寄存器都只有16位,故只能直接提供16位地址,尋址64KB存儲(chǔ)空間,很顯然,不采取特殊措施,是不能尋址1MB存儲(chǔ)空間的。為此,我們引入了分段的概念,如圖2.4所示,將1MB字節(jié)的存儲(chǔ)器空間分成若干邏輯段,每個(gè)段最長(zhǎng)為64KB,段內(nèi)地址是連續(xù)的。邏輯段之間可以是連續(xù)的,也可以是分開的或重疊的。段的首地址必須能被16整除,即每段首地址的低4位必須為0,高16位就是段基礎(chǔ)地址(簡(jiǎn)稱段基址)。段內(nèi)任一存儲(chǔ)單元與它所在段的段基值之間的距離稱為偏移量或偏移地址。段基值存放在段寄存器CS、SS、DS、ES中,程序可以從4個(gè)段寄存器給出的邏輯段中存取代碼和數(shù)據(jù)。2024年9月17日882024年9月17日89(三)物理地址和邏輯地址物理地址(PhysicalAddress)又叫實(shí)際地址,是CPU和存儲(chǔ)器進(jìn)行數(shù)據(jù)交換時(shí)使用的地址,在8086/8088系統(tǒng)的存儲(chǔ)器中每個(gè)單元有惟一的一個(gè)20位的物理地址,CPU訪問(wèn)存儲(chǔ)器必須按這個(gè)物理地址去進(jìn)行。但總線接口單元得到的往往是其段基址和偏移地址,那么已知一個(gè)存儲(chǔ)單元的段基值和它的偏移量,如何計(jì)算其物理地址呢?物理地址(20位)=段基值×10H+偏移地址段寄存器的內(nèi)容×16(10H,相當(dāng)于左移4位)變?yōu)?0位,再在低端16位上加上16位的偏移地址(也叫做有效地址),便可得到20位的物理地址,其產(chǎn)生過(guò)程如圖2.5所示。16位的偏移地址有多種產(chǎn)生方法,在下一篇中再詳細(xì)說(shuō)明。2024年9月17日902024年9月17日91圖2.5.物理地址的形成過(guò)程邏輯地址由兩部分組成:段基值和偏移量。它們都是用無(wú)符號(hào)的16位二進(jìn)制數(shù)或4位十六進(jìn)制數(shù)表示。邏輯地址的一般表示形式為:段基值:偏移量這里僅以8086CPU復(fù)位后如何形成啟動(dòng)地址為例,說(shuō)明物理地址的計(jì)算方法。一條指令的物理地址是根據(jù)代碼段寄存器CS和指令指針寄存器IP的內(nèi)容得到的,復(fù)位時(shí)CS的內(nèi)容為FFFFH,IP的內(nèi)容為0000H。復(fù)位后的啟動(dòng)地址由CS段寄存器和IP的內(nèi)容(作為偏移量)共同決定,即啟動(dòng)地址=CS×16+IP=FFFF0H+0000H=FFFF0H2024年9月17日92段寄存器的設(shè)立不僅使8086的存儲(chǔ)空間擴(kuò)大到1MB,而且為信息按特征分段存儲(chǔ)帶來(lái)了方便。在存儲(chǔ)器中,信息按特征可分為程序代碼、數(shù)據(jù)、微處理器狀態(tài)等。為了操作方便,存儲(chǔ)器可以相應(yīng)地劃分為:程序區(qū),用來(lái)存放程序的指令代碼;數(shù)據(jù)區(qū),用來(lái)存放原始數(shù)據(jù)、中間結(jié)果和最后運(yùn)算結(jié)果;堆棧區(qū),用來(lái)存放壓入堆棧的數(shù)據(jù)和狀態(tài)信息。只要修改段寄存器的內(nèi)容,就可將相應(yīng)的存放區(qū)設(shè)置在存儲(chǔ)器的任何位置上。這些區(qū)域可以通過(guò)段寄存器的設(shè)置使之相互獨(dú)立,也可將它們部分或完全重疊。需要注意的是,改變這些區(qū)域的地址時(shí),是以16個(gè)字節(jié)為單位進(jìn)行的。表2.1表示了各段寄存器的使用情況。2024年9月17日932024年9月17日94表2.18086/8088中段寄存器使用的基本約定(四)堆棧所謂堆棧(Stack)是為保護(hù)數(shù)據(jù)、調(diào)度數(shù)據(jù)而開辟的特殊數(shù)據(jù)區(qū)域。堆棧的一端是固定的(棧底),另一端是浮動(dòng)的(棧頂),正常的堆棧操作,其信息的存取在浮動(dòng)的一端進(jìn)行。堆棧中的數(shù)據(jù)嚴(yán)格按照“先進(jìn)后出(FirstInLastOut或FILO)”的原則進(jìn)行存取操作,即數(shù)據(jù)是由棧頂壓入和彈出的。由堆棧段寄存器SS提供段基值,堆棧指針寄存器SP提供偏移地址,每當(dāng)壓入或彈出數(shù)據(jù)時(shí),SP的內(nèi)容會(huì)自動(dòng)修改,它始終指向堆棧的頂部。計(jì)算物理地址的公式是:物理地址(PA)=(SS)×10H+(SP)當(dāng)需要對(duì)堆棧段中的某個(gè)單元的數(shù)據(jù)進(jìn)行操作時(shí),還可使用BP寄存器通過(guò)各種尋址方式得到有效地址EA作為偏移地址,這樣其物理地址是:物理地址(PA)=(SS)×10H+EA2024年9月17日95(五)8086系統(tǒng)存儲(chǔ)區(qū)的分配1.00000H~003FFH共1KB區(qū)域用來(lái)存放中斷矢量,這一區(qū)域稱為中斷矢量表。中斷矢量表的定義和作用參閱中斷一章的有關(guān)內(nèi)容。2.B0000H~B0F9FH是單色顯示器的顯示緩沖區(qū),存放單色顯示器當(dāng)前屏幕顯示字符所對(duì)應(yīng)的ASCII碼和屬性。3.B8000H~BBF3FH約16KB是彩色顯示器的顯示緩沖區(qū),存放彩色顯示器當(dāng)前屏幕像點(diǎn)所對(duì)應(yīng)的代碼。4.FFFF0H~FFFFFH共16個(gè)單元,一般用來(lái)存放一條無(wú)條件轉(zhuǎn)移指令,轉(zhuǎn)到系統(tǒng)的初始化程序。這是因?yàn)橄到y(tǒng)加電或者復(fù)位時(shí),會(huì)自動(dòng)轉(zhuǎn)到FFFF0H執(zhí)行。2024年9月17日962.3.18086/8088CPU引腳特性8086/8088CPU采用雙列直插式的封裝形式,有40條引腳,如圖2.6所示。為了適應(yīng)不同的應(yīng)用環(huán)境,8086/8088CPU有兩種工作方式:最大方式和最小方式,這由引腳加以控制。最小方式適用于單微處理器組成的小系統(tǒng),在這種系統(tǒng)中,所有的總線控制信號(hào)都直接由8086/8088產(chǎn)生;最大方式適用于多微處理器組成的大系統(tǒng),它包含兩個(gè)或多個(gè)微處理器,其中一個(gè)就是8086/8088,稱為主處理器,其他的處理器則稱為協(xié)處理器。8088是一種準(zhǔn)16位微處理器,它的內(nèi)部數(shù)據(jù)總線是16位,外部數(shù)據(jù)總線是8位,在軟件上8088與8086直接兼容,在硬件上除指令隊(duì)列、第15引腳~第18引腳、第34引腳、第28引腳外,其他基本相同。我們主要了解最小模式下的8086CPU引腳。2024年9月17日972.3Intel8086/8088CPU的引腳2024年9月17日98圖2.68086CPU和8088CPU引腳圖(一)地址/數(shù)據(jù)總線AD15~AD0(AddressDataBus)這是分時(shí)復(fù)用的存儲(chǔ)器或I/O端口地址和數(shù)據(jù)總線,雙向工作,三態(tài)。在總線周期的T1狀態(tài)作為地址線,輸出要訪問(wèn)的存儲(chǔ)器或I/O端口的地址;在總線周期的T2~T3狀態(tài)作為數(shù)據(jù)線傳輸數(shù)據(jù)。(二)地址/狀態(tài)線A19/S6~A16/S3(AddressStatus)地址/狀態(tài)復(fù)用引腳,輸出,三態(tài)。在總線周期的T1狀態(tài),用來(lái)輸出地址的最高4位.在總線周期的T2、T3、TW和T4狀態(tài)時(shí),用來(lái)輸出狀態(tài)信息。當(dāng)S6為0時(shí),表示8086/8088CPU當(dāng)前與總線連接。

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論