




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2023年2月5日1第1章微型計算機系統(tǒng)概述1.1微型計算機發(fā)展與應(yīng)用1.2計算機中的數(shù)據(jù)表示1.3微型計算機系統(tǒng)組成1.4微型計算機工作過程1.5微型計算機主要性能指標本章小結(jié)2023年2月5日2第1章微型計算機系統(tǒng)概述
【任務(wù)驅(qū)動】
本章主要介紹微型計算機系統(tǒng)的發(fā)展、應(yīng)用、組成以及它的工作過程。通過本章學習,學生應(yīng)了解計算機的發(fā)展過程和微型計算機的主要性能指標,理解微型計算機的工作過程,掌握計算機中數(shù)據(jù)的表示方法以及微型計算機系統(tǒng)的構(gòu)成;通過以上知識的學習,使學生對計算機系統(tǒng)有個基本的認識,為以后各章學習打下基礎(chǔ)。
【重點難點】
1.微型計算機的特點與應(yīng)用
2.計算機中數(shù)據(jù)的表示方法
3.微型計算機系統(tǒng)的構(gòu)成2023年2月5日3
1.1微型計算機發(fā)展與應(yīng)用
計算機是一種能自動、高速、精確地處理信息的現(xiàn)代化電子設(shè)備,具有算術(shù)運算和邏輯判斷能力,并能通過預先編好的程序來自動完成數(shù)據(jù)的加工處理,因此,也可以說計算機是一種幫助人類從事腦力勞動的工具。
2023年2月5日41.1.1微型計算機的發(fā)展
1946年2月,在美國賓夕法尼亞大學誕生了世界上第一臺電子計算機ENIAC(ElectronicNumericalIntegratorandComputer)。這臺計算機由電子管組成,每秒可進行5000次加法運算,而且采用了著名的數(shù)學家馮·諾依曼的設(shè)計思想,即
(1)采用二進制計算;
(2)存儲程序并在程序控制下自動執(zhí)行;
(3)其硬件由運算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備五大部分組成。
這種模式的計算機被稱為“馮·諾依曼機”。計算機發(fā)展至今,一直沿用這種設(shè)計思想。這是計算機科學發(fā)展史上的一個重要里程碑,它奠定了計算機發(fā)展的科學基礎(chǔ)。
2023年2月5日5
隨著電子科學技術(shù)的發(fā)展,計算機的發(fā)展先后經(jīng)歷了電子管、晶體管、大規(guī)模集成電路和超大規(guī)模集成電路為主要器件的四個時代。預計在不久的將來,將誕生以超導器件、電子仿真、集成光路等技術(shù)支撐的第五代計算機。計算機總的趨勢是朝著巨型化、微型化、網(wǎng)絡(luò)化、智能化方向發(fā)展。2023年2月5日6
微型計算機是指以大規(guī)模、超大規(guī)模集成電路為主要部件,以集成了計算機主要部件——控制器和運算器的微處理器MP(MicroProcessor)為核心,再配上存儲器、接口電路等所構(gòu)造出的計算機系統(tǒng)。微型計算機的發(fā)展經(jīng)歷了五代。我們一般以字長(計算機能同時處理的二進制數(shù)的位數(shù))和典型的微處理器芯片作為各階段的標志。
2023年2月5日7
第一代(1971年—1973年)是4位和低檔8位微機。代表產(chǎn)品是美國Intel公司的4004微處理器及由它組成的MCS微型計算機。
第二代(1974年—1977年)是中高檔8位微機,以Intel8080/8085、Motorola公司的Mc6800及美國Zilog公司的Z80等為CPU的微型機為典型代表。
第三代(1978年—1981年)是16位微機,如以8086,Z8000和MC68000為CPU的微型機。
第四代(1982年—1992年)是32位微機,典型的CPU產(chǎn)品有80386和MC68020。之后Intel公司又推出80486微處理器。
2023年2月5日8
第五代(1993年—1999年)是準64位微機。1993年3月Intel公司推出了全新的超級32位微處理器芯片——Pentium,雖然其仍屬于32位機,但其內(nèi)部數(shù)據(jù)通道已是64位,提高了數(shù)據(jù)傳送速度。
第六代(2000年以后)這是新一代64位微處理器pentiumD。該芯片采用了新的體系結(jié)構(gòu),其性能大大高于Intel系列的其他微處理器,給微處理器體系結(jié)構(gòu)和PC機的性能引入了全新的概念。
近幾年來,計算機產(chǎn)業(yè)中又開發(fā)生產(chǎn)出雙核CPU、四核CPU等芯片,這將把微型計算機的應(yīng)用推向一個新的時代。2023年2月5日91.1.2微型計算機的應(yīng)用
由于微型計算機具有體積小、價格低、耗電少等優(yōu)點,所以它的應(yīng)用范圍十分廣闊。歸納起來,目前主要有如下幾個應(yīng)用領(lǐng)域。
1.科學計算
2.信息處理
3.計算機輔助技術(shù)
4.過程控制
5.計算機通信
6.人工智能
2023年2月5日10
1.1.3微型計算機的分類
(一)按照微處理器能夠處理的數(shù)據(jù)字長可以分為:4位機、8位機、16位機、32位機、64位機。
(二)按照微型計算機的使用形態(tài)分類可以分為:單片機、單板機、位片式機和微型計算機系統(tǒng)。2023年2月5日111.2計算機中的數(shù)據(jù)表示
在日常生活中,人們習慣使用十進制數(shù)來進行計數(shù)和計算。但計算機系統(tǒng)內(nèi)部使用的所有指令或數(shù)據(jù)都采用二進制代碼.因此,所有需要計算機處理的數(shù)字、字母、符號等都必須采用二進制表示。但二進制數(shù)難記憶,閱讀和書寫也不方便,在計算機中有時也采用其他進制,如十六進制、八進制和十進制等。本節(jié)將介紹二進制與其他進制間的轉(zhuǎn)換及計算機中的編碼方式。2023年2月5日121.2.1數(shù)制的概念以及常用進位計數(shù)
為了區(qū)別不同的進位計數(shù)制,可以用字母后綴表示數(shù)制:
B:二進制、O:表示八進制、D:表示十進制、H:十六進制。
1.十進制
10個數(shù)碼(0、1、2、3、4、5、6、7、8、9)組成,基數(shù)為10,
計數(shù)特點為逢十進一。
用十進制表示數(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
2023年2月5日132.二進制
由(0、1)兩個數(shù)碼組成。
基數(shù)為2,
計數(shù)特點為逢二進一。
用二進制表示數(shù)值的方法為:
其中Ki=0、1
例如:
(-1010.011)B=-(1×23+0×22+1×21+0×20+0×2-1+1×2-2+1×2-3)
2023年2月5日143.八進制
由8個數(shù)碼(0、1、2、3、4、5、6、7)組成。
八進制數(shù)的基數(shù)為8,
計數(shù)特點為逢八進一。
用八進制表示數(shù)值的方法為:
其中Ki=0、1、2、3、4、5、6、7
例如:(423.5)o=4×82+2×81+3×80+5×8-1
2023年2月5日154.十六進制
由16個數(shù)碼(0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F)組成。
基數(shù)為16,
計數(shù)特點為逢十六進一。
用十六進制表示數(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
2023年2月5日16
表1.1常用進位計數(shù)制對應(yīng)關(guān)系表
2023年2月5日17
1.2.2進位計數(shù)制間的轉(zhuǎn)換
1.二、八、十六進制數(shù)轉(zhuǎn)換成十進制數(shù)
這種轉(zhuǎn)換非常簡單,將二、八、十六進制數(shù)按“權(quán)”展開相加即可。
[例1.1]將下列二進制數(shù)1011.11和十六進制數(shù)B6.8轉(zhuǎ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
2023年2月5日182.十進制數(shù)轉(zhuǎn)換為二、八、十六進制數(shù)
十進制數(shù)到二、八、十六進制數(shù)的轉(zhuǎn)換比較復雜,要把整數(shù)部分和小數(shù)部分分別進行轉(zhuǎn)換,然后再把轉(zhuǎn)換結(jié)果進行相加。
整數(shù)部分轉(zhuǎn)換采用除基數(shù)取余數(shù)法:用基數(shù)(2、8或16)不斷地去除要轉(zhuǎn)換的數(shù),直到商為0。再將每一步所得的余數(shù),按逆序排列,便為轉(zhuǎn)換結(jié)果。
[例1.2]將(152)10轉(zhuǎn)換為二進制數(shù),轉(zhuǎn)換過程如下:
轉(zhuǎn)換結(jié)果為:(152)D=(10011000)B
2023年2月5日192023年2月5日20
小數(shù)部分轉(zhuǎn)換采用乘基數(shù)取整數(shù)法:每次用基數(shù)與小數(shù)部分相乘,取乘積的整數(shù)部分,再取其小數(shù)部分乘基數(shù)直到小數(shù)部分為0。將所取整數(shù)順序排在小數(shù)點后即為轉(zhuǎn)換結(jié)果。
[例1.3]將(0.375)10轉(zhuǎn)換為二進制數(shù),轉(zhuǎn)換過程如下:
轉(zhuǎn)換結(jié)果為(0.375)D=(0.011)B
注意:如果在小數(shù)轉(zhuǎn)換過程中,乘積結(jié)果小數(shù)部分永遠不為0的話,可以根據(jù)精度要求來保留相應(yīng)小數(shù)位數(shù)。
2023年2月5日213.二進制和八、十六進制之間的轉(zhuǎn)換
(1)二進制到八進制、十六進制的轉(zhuǎn)換
二進制到八進制轉(zhuǎn)換采用“三位合一位”的方法;二進制到十六進制轉(zhuǎn)換采用“四位合一位”的方法。把要轉(zhuǎn)換的二進制數(shù),從小數(shù)點開始向兩邊分別進行分組。轉(zhuǎn)換為八進制時,向左每三位為一組,向右每三位為一組,向左不是三位的,從左邊補0;向右不足三位的,從右邊補0。轉(zhuǎn)換為十六進制時,向左每四位為一組,向右每四位為一組,向左不足四位的,從左邊補0,向右不足四位的,從右邊補0。2023年2月5日22[例1.4]將(1000110.01)2分別轉(zhuǎn)換為八進制數(shù)和十六進制數(shù)。
“二”到“八”的轉(zhuǎn)換采用“三位合一位”的方法:
001000110.010
106.2
“二”到“十六”的轉(zhuǎn)換采用“四位合一位”的方法:
01000110.0100
46.4
(1000110.01)B=(106.2)O=(46.4)H
2023年2月5日23(2)八進制、十六進制到二進制的轉(zhuǎn)換
八進制、十六進制到二進制的轉(zhuǎn)換的方法采用把一位八(十六)進制數(shù)拆成三位(四位)二進制數(shù)表示的方法,按順序?qū)懗雒课话诉M制(十六進制)數(shù)字所對應(yīng)的三位(四位)二進制數(shù),所得結(jié)果即為對應(yīng)的二進制數(shù)。
[例1.5]將(352.6)8轉(zhuǎn)換為二進制數(shù)。
寫出各位數(shù)字對應(yīng)的三位二進制數(shù):
[例1.6]將(B6.8)16轉(zhuǎn)換為二進制數(shù)。
寫出各位數(shù)字對應(yīng)的四位二進制數(shù):
2023年2月5日241.2.3帶符號數(shù)的表示
計算機在處理實際問題時遇到的數(shù)據(jù),通常是帶符號數(shù)。數(shù)據(jù)的符號(正或負)也要用二進制數(shù)碼表示。一般用“0”表示正數(shù)符號,用“1”表示負數(shù)符號。這樣,機器中數(shù)的符號也數(shù)值化了。我們把這種數(shù)值數(shù)據(jù)在計算機中的編碼表示稱為機器數(shù),而把機器數(shù)所代表的實際數(shù)值稱為機器數(shù)的真值。
假定機器數(shù)的位數(shù)為n+1位,其中一位就是符號位,其他n位為數(shù)值位。
如:X=+1100110B,其機器數(shù)表示為:01100110B
Y=-1100110B,其機器數(shù)表示為:11100110B
2023年2月5日251.原碼表示法
原碼表示法是一種簡單的機器數(shù)表示法,即符號和數(shù)值表示法,用最高位表示符號,其中0表示正號,1表示負號,其他n位表示數(shù)值的絕對值。設(shè)X為真值,[X]原為機器數(shù)表示。在原碼表示法中用8位二進制位表示的整數(shù)數(shù)據(jù)范圍為―127~+127。
對于正整數(shù):設(shè)X=1100110B,則[X]原=01100110B。
對于負整數(shù):設(shè)X=―1100111B,則[X]原=11100111B。
對于正小數(shù):設(shè)X=0.1011B,則[X]原=01011000B
對于負小數(shù):設(shè)X=-0.1011B,則[X]原=11011000B
對于零:在原碼表示法中,0有兩種表示形式:
[+0]原=00000000B[―0]原=10000000B
【問題】這種+0和-0原碼表示上的不一致,會直接影響諸如X+0和X-0(即X+(-0))結(jié)果上的不同。2023年2月5日26
2.反碼表示法
用機器數(shù)的最高一位表示符號,0表示正號,1表示負號。數(shù)值部分,對于正數(shù),反碼表示形式與原碼表示形式相同,即[X]反=[X]原。對于負數(shù),對符號位以外各位按位“取反”(0變1,1變0)即可。在反碼表示法中用8位二進制位表示的整數(shù)數(shù)據(jù)范圍為-127~+127。
如:X=+1010101B,則[X]反=[X]原=01010101B
X=-1100111B,則[X]反=10011000B
對于零:在反碼表示法中,0有兩種表示形式:
[+0]反=00000000B[―0]反=11111111B
可見,上述【問題】仍然存在。2023年2月5日273.補碼表示法
正數(shù)的補碼和原碼相同;負數(shù)的補碼,可由其原碼,采用“符號位不變,其他各位取反,末位加1”的原則求得。補碼表示中零的表示是唯一的。
如:X=+1010101B[X]補=[X]原=01010101B
X=―1100111B,則[X]補=[X]反+1=10011000B+1=10011001B
[+0]補=[-0]補=00000000B
補碼表示法可以讓符號位作為數(shù)值的一部分直接參加運算,從而化減法為加法運算,以簡化加法器的邏輯設(shè)計。因此補碼的應(yīng)用最為普遍,大部分計算機中都采用補碼表示法表示數(shù)值數(shù)據(jù)。
2023年2月5日28
從上面關(guān)于原碼、反碼、補碼的定義可知:
一個正數(shù)的原碼、反碼、補碼的表示形式相同,符號位為0,數(shù)值位是真值本身;
一個負數(shù)的原碼、反碼、補碼的符號位都為1,數(shù)值位原碼是真值本身;反碼是各位取反;補碼是各位取反,最低位加1。即原碼的反碼加1是補碼;補碼的反碼加1是原碼。
多數(shù)計算機都采用補碼形式表示帶符號數(shù),這是因為利用補碼可以很容易地把減法轉(zhuǎn)換成加法。在8088/8086CPU中,也是采用補碼方式表示帶符號數(shù)的。
2023年2月5日29
4.補碼加減運算及溢出判斷
(1)補碼的加法運算
[X+Y]補=[X]補+[Y]補
[例1.7]X=―110001B,Y=+001001B,利用補碼加法計算X+Y=?
解:[X]補:1001111
+[Y]補:0001001
[X]補+[Y]補:1011000
則X+Y=-101000B
2023年2月5日30
[例1.8]求(―9)+(―2)=?
解:―9的補碼:11110111
―2的補碼:11111110
因為[X+Y]補=[X]補+[Y]補
[X]補:11110111―9
+[Y]補:11111110
+―2
[X]補+[Y]補:11110101―11
所以
[X+Y]補=11110101
X+Y=-0001011B=-11
2023年2月5日31
(2)補碼的減法運算
[X―Y]補=[X+(―Y)]補=[X]補+[―Y]補
[例1.9]X=001110B,Y=-110001B,利用補碼減法計算X―Y=?
解:[X]補=0001110,[Y]補=1001111,[―Y]補=0110001
因為[X―Y]補=[X+(―Y)]補=[X]補+[―Y]補
[X]補:0001110
+[―Y]補:0110001
[X―Y]補:0111111
所以X―Y=+111111B=+63
2023年2月5日32
[例1.10]求9―2=?
解:[X]補=00001001[Y]補=00000010
因為[X―Y]補=[X+(―Y)]補=[X]補+[―Y]補
[X]補:00001001
+[―Y]補:11111110
[X]補+[―Y]補:00000111
所以:[X―Y]補=0000111
X-Y=+0000111B=7
【觀察】若已知[Y]補,[-Y]補=?
2023年2月5日33(3)溢出判斷
在選定了運算字長和數(shù)的表示方法之后,如果運算的結(jié)果,超出了計算機能表示的數(shù)據(jù)范圍,這種情況稱為廣義上的溢出。
比如兩個有符號數(shù):[X]補:01000100
+[Y]補:01100001
而[X]補+[Y]補:10100101
兩個正數(shù)相加其結(jié)果卻是負數(shù),這顯然是不正確的。其原因就是在字長(上例是8位,數(shù)值部分占7位)一定的情況下,它所能表示的數(shù)的范圍是有限的(7位二進制數(shù)最大可以達127),一旦超過這個范圍(上例中X為68,Y為97),其進位就影響到了符號位,產(chǎn)生錯誤的結(jié)果。
溢出判斷方法:當兩個正數(shù)相加結(jié)果為負數(shù),或兩個負數(shù)相加結(jié)果為正數(shù),則有溢出;正數(shù)和負數(shù)相加不會有溢出。
2023年2月5日34
1.2.4定點表示與浮點表示
以上我們用到的數(shù)據(jù)都是純整數(shù)或純小數(shù),實際的數(shù)可能既有整數(shù)部分又有小數(shù)部分,這就提出一個在計算機中如何表示小數(shù)點位置的問題。計算機中小數(shù)點不占位數(shù),而是采用人為約定的方法。根據(jù)小數(shù)點位置是否固定,數(shù)的格式分為定點表示和浮點表示兩類。
2023年2月5日35
1.定點表示法
定點表示法約定小數(shù)點位置固定不變。為了處理方便,一般只采用三種簡單的約定,相應(yīng)有三種類型的定點數(shù)。
(1)無符號數(shù)。無符號整數(shù)是將符號位略去的正整數(shù),所有的數(shù)位都用來表示數(shù)值的大小,小數(shù)點約定在最低位之后。換言之,整個數(shù)碼序列是整數(shù)。
(2)帶符號定點整數(shù)。定點整數(shù)約定小數(shù)點在數(shù)值位的最低位之后,此時計算機中所表示的數(shù)一律為整數(shù)。如圖1.1所示。2023年2月5日36
n位帶符號二進制整數(shù)(數(shù)值位為n-1位)可表示的數(shù)值范圍為:
原碼、反碼是:-(2n-1-1)~2n-1-1;
補碼是:-2n-1~2n-1-1
【思考】寫出8位帶符號二進制整數(shù)的數(shù)值范圍?
符號位數(shù)值位小數(shù)點2023年2月5日37
(3)帶符號定點小數(shù)。
定點小數(shù)約定小數(shù)點在符號位和數(shù)值位之間,即所有的數(shù)值部分均在小數(shù)點之后,整數(shù)部分為0,所以稱為純小數(shù)。如圖1.2所示。
原碼、反碼定點小數(shù)表示范圍是:
-(1-2-(n-1))~1-2-(n-1)
補碼定點小數(shù)表示范圍是:-1~1-2-(n-1);n為二進制定點小數(shù)位數(shù),n-1為數(shù)值位位數(shù)。
【思考】寫出8位帶符號二進制小數(shù)的數(shù)值范圍?
符號位數(shù)值位小數(shù)點2023年2月5日382.浮點表示法
浮點數(shù)是指小數(shù)點在數(shù)據(jù)中的位置可以左右移動的數(shù)據(jù)。通常可表示成:
N=±S×R±E
其中S稱為尾數(shù);R稱為基數(shù);E稱為階碼。
在計算機內(nèi)部,典型的浮點數(shù)的格式為圖1.3所示:
階碼部分尾數(shù)部分階符階碼數(shù)符尾數(shù)2023年2月5日39浮點數(shù)實際由兩個定點數(shù)組成:
階碼是一個定點整數(shù),它的位數(shù)決定了浮點數(shù)的表示范圍;
尾數(shù)是一個定點小數(shù),為了表示的唯一性,通常采用規(guī)格化形式,既尾數(shù)部分的絕對值保持在0.5≤S≤1的范圍內(nèi),尾數(shù)的長度決定了浮點數(shù)的精度,即有效數(shù)據(jù)的位數(shù)。
為了既保證足夠大的數(shù)值范圍,又要保證所要求的精度,合理地選擇階碼部分和尾數(shù)部分的位數(shù)是十分必要的。
[例1.11]將(-123.375)10表示成浮點規(guī)格化形式(共16位,階碼部分4位,尾數(shù)部分12位,階碼和尾數(shù)均用補碼形式)。
因:(-123.375)10=(-1111011.011)2
=-0.1111011011×2+111
那么在機器中的浮點表示形式為:
0111100001001010
階符階碼尾符尾數(shù)
2023年2月5日40
1.2.5計算機中非數(shù)值型數(shù)據(jù)的編碼
計算機中除了處理數(shù)值信息外,還要處理大量的字符數(shù)據(jù),如字母、符號、漢字、圖像、語音等。這些信息最終都必須轉(zhuǎn)換為二進制格式的代碼才能被計算機處理,即字符和十進制數(shù)都要表示為若干位二進制碼的組合,即信息和數(shù)據(jù)的二進制編碼。計算機中常用的字符編碼有BCD碼、ASCII碼、漢字編碼等,這些編碼在機器內(nèi)部都是用二進制表示的。2023年2月5日41
1.二~十進制編碼――BCD碼
BCD(BinaryCodedDecimal)是用4位二進制數(shù)表示1位十進制數(shù)的一種編碼方式。每個數(shù)位分配有固定的權(quán)值,將各位的權(quán)值相加可得對應(yīng)的十進制數(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所示
2023年2月5日422.美國信息交換標準代碼――ASCII碼
ASCII是基于拉丁字母的一套電腦編碼系統(tǒng)。在計算機中,所有的數(shù)據(jù)在存儲和運算時都要使用二進制數(shù)表示,例如,象a、b、c、d這樣的52個字母(包括大寫)、以及0、1、2等數(shù)字還有一些常用的符號(例如*、#、@等)在計算機中存儲時也要使用二進制數(shù)來表示,而具體用哪些二進制數(shù)字表示哪個符號,當然每個人都可以約定自己的一套(這就叫編碼),而大家如果要想互相通信還不造成混亂,就必須使用相同的編碼規(guī)則,于是美國有關(guān)的標準化組織就出臺了所謂的ASCII編碼,統(tǒng)一規(guī)定了常用符號用哪些二進制數(shù)來表示。
標準ASCII碼使用指定的7位二進制數(shù)組合來表示128種可能的字符。包括所有的大寫和小寫字母,數(shù)字0到9、標點符號,以及在美式英語中使用的特殊控制字符。在計算機中常用一個字節(jié)(8位)來表示,最高位為0或設(shè)置成奇偶校驗位。如“A”的ASCII碼是01000001B(即41H),具體的ASCII碼表見附錄A。
2023年2月5日433.數(shù)據(jù)校驗碼
數(shù)據(jù)校驗碼是一種能夠發(fā)現(xiàn)錯誤或帶有自動改錯能力的數(shù)據(jù)編碼方法。其實現(xiàn)原理是對要傳送的數(shù)據(jù)增加一些冗余位,按某種規(guī)律進行編碼后一同傳送。讀出時再按約定的編碼規(guī)律進行檢查,看是否符合。。
奇偶校驗碼的實現(xiàn)原理是通過增加一個附加位,使合法編碼的碼距由1增加到2。這個附加位稱為校驗位。
奇校驗:使整個校驗碼(有效數(shù)據(jù)+校驗位)中1的個數(shù)為奇數(shù)。
偶校驗:使整個校驗碼(有效數(shù)據(jù)+校驗位)中1的個數(shù)為偶數(shù)。
[例1.12]傳送一字節(jié)數(shù)據(jù)10010011和0110110時,采用奇校驗(或偶校驗)時校驗位分別為:
有效數(shù)據(jù) 校驗位(奇) 校驗位(偶)
10010011 1 0
01101101 0 1
2023年2月5日44
1.3微型計算機系統(tǒng)組成
從系統(tǒng)的組成觀點來看,一個微型計算機系統(tǒng)應(yīng)包括硬件系統(tǒng)和軟件系統(tǒng)。
1.3.1硬件系統(tǒng)
所謂硬件系統(tǒng)是一個為執(zhí)行程序建立物質(zhì)基礎(chǔ)的物理裝置,稱為裸機或硬件。硬件一般是指在主機的基礎(chǔ)上,配以必要的外部設(shè)備、外部存儲器(如磁盤機、磁帶機等)和電源設(shè)備等。硬件若沒有軟件的配合是什么也干不了的。
微機的硬件系統(tǒng)通常由微處理器、系統(tǒng)總線、存儲器、I/O接口和I/O設(shè)備等組成。
2023年2月5日451.微處理器
微處理器是整個微機的核心,也稱中央處理器(CentralProcessingUnit,CPU),它是采用大規(guī)模集成電路技術(shù)制成的芯片,芯片內(nèi)集成了控制器、運算器兩大部分。
運算器用于算術(shù)運算和邏輯運算,是對數(shù)據(jù)進行加工的部件。運算器通常由算術(shù)邏輯部件(ALU)和一系列寄存器組成,ALU是完成算術(shù)和邏輯運算的部件,寄存器即可提供參與運算的操作數(shù),又可用于存放運算結(jié)果。
控制器是計算機的核心部件,用來產(chǎn)生一系列控制信號以指揮計算機系統(tǒng)有條不紊地運行,完成對指令的讀取、解釋和執(zhí)行,并協(xié)調(diào)計算機各部分的工作。
CPU及其支持電路構(gòu)成了微機系統(tǒng)的控制中心,對系統(tǒng)的各個部件進行統(tǒng)一的協(xié)調(diào)和控制。
2023年2月5日462.存儲器(Memory)
存儲器是微機的存儲和記憶部件,是用來存放程序和數(shù)據(jù)(包括原始數(shù)據(jù)、中間結(jié)果和最終結(jié)果)的部件。
存儲器是由若干存儲單元組成,1個存儲單元可以存放若干個二進制位(Bit)。
字節(jié):8個二進制位稱為1個字節(jié),記為B(Byte),
在微機中規(guī)定每個內(nèi)存單元可以存放1B的二進制信息。
字:2B稱為1個字(Word)。
存儲單元的地址:為了區(qū)分各個不同的存儲單元,給每個存儲單元編上不同的號碼,這個唯一的編號稱為存儲單元的地址。存儲單元的地址編號從0開始順序編排。CPU通過指定存儲單元的地址來訪問對應(yīng)的單元。
存儲容量:一臺微機所有存儲單元的總數(shù)存儲器最小存儲單位是字節(jié)。存儲容量的單位有KB(代表1024B);MB(代表1024KB);GB(代表1024MB)。存儲容量越大,表示計算機存儲的信息越多,存儲容量也是衡量計算機性能的重要指標。
2023年2月5日47
微機的存儲器分為主存儲器(又稱內(nèi)存)和輔助存儲器(又稱外存)。
內(nèi)存采用半導體材料,安裝在機內(nèi)的電路板上,具有容量小、存取速度快和易揮發(fā)性(存儲信息是否容易丟失)等特征,CPU可以通過總線直接對內(nèi)存操作。內(nèi)存由只讀存儲器ROM(ReadOnlyMemory)和隨機存取存儲器RAM(RandomAccessMemory)兩種類型構(gòu)成。ROM只允許執(zhí)行讀操作,存放監(jiān)控程序和基本輸入/輸出程序,還可用來存放各種常用的數(shù)據(jù)和表格,ROM中的內(nèi)容一般由生產(chǎn)廠家或用戶使用專用設(shè)備寫入固化的;而RAM則可讀可寫,用于存放用戶裝入的程序、數(shù)據(jù)及部分系統(tǒng)信息,但掉電后信息將丟失。
外存儲器一般采用磁介質(zhì)材料,被安裝在主機箱內(nèi)或主機箱外,CPU通過I/O接口進行讀寫操作。常見的設(shè)備有磁盤(硬盤和軟盤)、磁帶、光盤、U盤等。
2023年2月5日483.I/O設(shè)備和I/O接口
I/O接口電路是連接外部設(shè)備(外圍設(shè)備)并與外界進行信息交換的控制邏輯電路。I/O設(shè)備是指微機上配備的輸入/輸出設(shè)備,也稱外部設(shè)備或外圍設(shè)備(簡稱外設(shè)),是微機系統(tǒng)重要的組成部分。常用的輸入設(shè)備有鍵盤、鼠標器、掃描儀等,常用的輸出設(shè)備有顯示器、打印機、繪圖儀等,磁帶、磁盤等既是輸入設(shè)備,又是輸出設(shè)備。
由于I/O設(shè)備的種類繁多,結(jié)構(gòu)、原理、速度各異,有機械式、電子式、電磁式等。無法與CPU直接匹配,所以不可能將它們簡單地連接到系統(tǒng)總線,需要有一個接口電路來充當它們和CPU間的橋梁,通過該電路來完成信號變換、數(shù)據(jù)緩沖、與CPU聯(lián)絡(luò)等工作。該部件被稱為輸入/輸出接口電路(簡稱I/O接口),又稱I/O適配器(I/Oadapter)。
2023年2月5日494.系統(tǒng)總線(BUS)
總線是計算機系統(tǒng)中各功能部件間傳送信息的公共通道即一組公共信號線。這里的系統(tǒng)總線是指從處理器引出的若干信號線,CPU通過它們與存儲器和I/O設(shè)備的接口電路進行信息交換。按其傳遞的信息不同系統(tǒng)總線一般可分為3組:
地址總線即AB(AddressBus):是用來傳送地址信息的總線,CPU在AB總線上輸出將要訪問的內(nèi)存單元或I/O接口的地址。該總線是單向總線。
數(shù)據(jù)總線即DB(DataBus):是用來傳送數(shù)據(jù)信息的總線。在CPU進行讀操作時,內(nèi)存或外設(shè)的數(shù)據(jù)通過DB總線送往CPU;在CPU進行寫操作時,CPU數(shù)據(jù)通過DB總線送往內(nèi)存或外設(shè),該總線是雙向總線。
控制總線即CB(ControlBus):是用來傳送控制信息的總線。其中有CPU發(fā)出的控制信號或外界發(fā)送給CPU的狀態(tài)信號。
2023年2月5日50
總線可以在不同的位置和應(yīng)用場合下使用。在芯片內(nèi)使用的總線稱為片內(nèi)總線。在同一個微機系統(tǒng)內(nèi)使用的總線稱為內(nèi)總線(系統(tǒng)總線)以及局部總線,連接多個微機使用的總線稱為外總線或通信總線,例如RS-232C總線和RS-485總線。
根據(jù)總線上傳輸信號的方式,總線又可以分為并行總線和串行總線。一般機內(nèi)總線和片內(nèi)總線都是并行總線,而外部總線則采用串行總線。
總線結(jié)構(gòu)是微機的一大特色,使得微機具有組態(tài)靈活、擴展方便的特點。實際上,為了方便總線與存儲器、總線與I/O接口的連接,在微機的主板上設(shè)計有多個總線插槽,用戶可根據(jù)情況插進不同的內(nèi)存條和電路插板,達到靈活機動的配置目的。
2023年2月5日511.3.2軟件系統(tǒng)
所謂軟件系統(tǒng)是指在計算機上運行的程序,廣義軟件還應(yīng)包括由計算機管理的數(shù)據(jù)和有關(guān)的文檔資料。依據(jù)功能不同,軟件可分為系統(tǒng)軟件和應(yīng)用軟件兩大類。
(一)系統(tǒng)軟件
系統(tǒng)軟件由一組控制計算機系統(tǒng)并管理其資源的程序組成,其主要功能包括:啟動計算機,存儲、加載和執(zhí)行應(yīng)用程序,對文件進行排序、檢索,將程序語言翻譯成機器語言等。實際上,系統(tǒng)軟件可以看作用戶與計算機的接口,它為應(yīng)用軟件和用戶提供了控制、訪問硬件的手段,這些功能主要由操作系統(tǒng)完成。此外,編譯系統(tǒng)和各種工具軟件也屬此類,它們從另一方面輔助用戶使用計算機。具體包括:
1.操作系統(tǒng)(OperatingSystem,OS)
2.語言處理系統(tǒng)(翻譯程序)
3.服務(wù)程序
4.數(shù)據(jù)庫管理系統(tǒng)
2023年2月5日52
1.操作系統(tǒng)(OperatingSystem,OS)
操作系統(tǒng)是管理、控制和監(jiān)督計算機軟、硬件資源協(xié)調(diào)運行的程序系統(tǒng),由一系列具有不同控制和管理功能的程序組成,它是直接運行在計算機硬件上的、最基本的系統(tǒng)軟件,是系統(tǒng)軟件的核心。操作系統(tǒng)通常應(yīng)包括下列五大功能模塊:
(1)處理器管理。
(2)作業(yè)管理。
(3)存儲器管理。
(4)設(shè)備管理。
(5)文件管理。2023年2月5日532.語言處理系統(tǒng)(翻譯程序)
如前所述,機器語言是計算機唯一能直接識別和執(zhí)行的程序語言。如果要在計算機上運行高級語言源程序就必須配備語言翻譯程序(下簡稱翻譯程序)。翻譯程序本身是一組程序,不同的高級語言都有相應(yīng)的翻譯程序。
對于高級語言來說,翻譯的方法有兩種:
一種稱為“解釋”。早期的BASIC源程序的執(zhí)行都采用這種方式。逐條把BASIC的源程序語句進行解釋和執(zhí)行,它不保留目標程序代碼,即不產(chǎn)生可執(zhí)行文件。這種方式速度較慢,每次運行都要經(jīng)過“解釋”,邊解釋邊執(zhí)行。
另一種稱為“編譯”,它調(diào)用相應(yīng)語言的編譯程序,把源程序變成目標程序(以.OBJ為擴展名),然后再用連接程序,把目標程序與庫文件相連接形成可執(zhí)行文件。
對源程序進行解釋和編譯任務(wù)的程序,分別叫做編譯程序和解釋程序。如FORTRAN、COBOL、PASCAL和C等高級語言,使用時需有相應(yīng)的編譯程序;BASIC、LISP等高級語言,使用時需用相應(yīng)的解釋程序。
2023年2月5日54
3.服務(wù)程序
服務(wù)程序能夠提供一些常用的服務(wù)性功能,它們?yōu)橛脩糸_發(fā)程序和使用計算機提供了方便,像微機上經(jīng)常使用的診斷程序、調(diào)試程序、編輯程序均屬此類。
4.數(shù)據(jù)庫管理系統(tǒng)
在信息社會里,社會和生產(chǎn)活動產(chǎn)生的信息很多,使人工管理難以應(yīng)付,人們希望借助計算機對信息進行搜集、存儲、處理和使用。數(shù)據(jù)庫系統(tǒng)(DataBaseSystem,DBS)就是在這種需求背景下產(chǎn)生和發(fā)展的。
數(shù)據(jù)庫技術(shù)是計算機技術(shù)中發(fā)展最快、應(yīng)用最廣的一個分支??梢哉f,在今后的計算機應(yīng)用開發(fā)中大都離不開數(shù)據(jù)庫。因此,了解數(shù)據(jù)庫技術(shù)尤其是微機環(huán)境下的數(shù)據(jù)庫應(yīng)用是非常必要的。
2023年2月5日55(二)應(yīng)用軟件
為解決各類實際問題而設(shè)計的程序系統(tǒng)稱為應(yīng)用軟件。從其服務(wù)對象的角度,又可分為通用軟件和專用軟件兩類。
1.通用軟件
這類軟件通常是為解決某一類問題而設(shè)計的,而這類問題是很多人都要遇到和解決的。例如:文字處理、表格處理、幻燈片演示等。
2.專用軟件
在市場上可以買到通用軟件,但有些具有特殊功能和需求的軟件是無法買到的。比如某個用戶希望有一個程序能自動控制車床,同時也能將各種事務(wù)性工作集成起來統(tǒng)一管理。因為它對于一般用戶是太特殊了,所以只能組織人力開發(fā)。當然開發(fā)出來的這種軟件也只能專用于這種情況。
2023年2月5日561.4微型計算機工作過程
計算機采用存儲程序與程序控制的工作方式,即事先把程序加載到計算機的存儲器中,當給機器加電并啟動后,計算機便會自動按照程序的要求進行工作。微機的工作過程即是程序中指令的重復執(zhí)行過程。下面以一個具體的匯編語言程序為例來說明在模型機中指令的執(zhí)行過程。
MOVAL,05H
ADDAL,06H
HLT
這個程序的目的就是執(zhí)行一個5+6=?的操作,第一條指令是把立即數(shù)05H送入寄存器的累加器AL中;第二條指令是將AL的內(nèi)容與06H相加,結(jié)果為05H+06H=0BH存入AL中,第三條指令為暫停指令。
2023年2月5日57由于微處理器只能識別二進制的機器碼,因此上述指令必須以機器碼表示如下:
該機器碼在內(nèi)存中狀態(tài)如下:
內(nèi)存地址內(nèi)容
00HB0H
01H05H
02H04H
03H06H
04HF4H
.
三條指令共五個字節(jié),存放在內(nèi)存00H-04H的5個存儲單元中。一條指令的執(zhí)行過程分為取指令、分析指令和執(zhí)行指令等步驟,下面結(jié)合圖1.6,分析以上三條指令的執(zhí)行過程。
2023年2月5日582023年2月5日59第一條指令的執(zhí)行過程如下:
1.取指令
①指令寄存器IP的內(nèi)容(00H)送至地址寄存器AR,記為IP→AR。
②指令寄存器IP的內(nèi)容自動加1變?yōu)?1H,為取下一條指令作準備,記為IP+1→IP。
③地址寄存器AR將00H通過地址總線送至存儲器地址譯碼器譯碼,選中00H號單元,記為AR→M。
④CPU發(fā)出“讀”命令。
⑤所選中的00H號單元的內(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)過譯碼,控制邏輯發(fā)出執(zhí)行該條指令的一系列信號,記為DR→IR,IR→ID,ID→PLA。
2023年2月5日60
2.分析指令
指令譯碼器對指令操作碼B0H譯碼后知道這是一條把立即數(shù)送累加器AL的指令,立即數(shù)05H在指令的第二個字節(jié)中,則執(zhí)行第一條指令就是從內(nèi)存中取出05H送入AL中。
3.執(zhí)行指令
2023年2月5日61
①指令寄存器IP的內(nèi)容01H送至地址寄存器AR,記為IP→AR。
②指令寄存器IP的內(nèi)容自動加1變?yōu)?2H,為取下一條指令作準備,記為IP+1→IP。
③即地址寄存器AR將01H通過地址總線送至存儲器,并選中01H單元,記為AR→M。
④CPU發(fā)“讀”命令。
⑤選中的01H存儲單元的內(nèi)容05H送至數(shù)據(jù)總線DB上,記為(01H)→DB。
⑥通過數(shù)據(jù)總線,把讀出的內(nèi)容05H送至數(shù)據(jù)寄存器DR,記為DB→DR。
⑦因為經(jīng)過譯碼已經(jīng)知道讀出的是立即數(shù),并要求將它送至累加器A,故數(shù)據(jù)寄存器DR通過內(nèi)部總線將05H送至累加器A,記為DR→AL。
上述執(zhí)行指令過程如圖1.7所示。2023年2月5日62
第二條指令的執(zhí)行過程與第一條基本相同,所不同的是在執(zhí)行階段:將內(nèi)存0003H單元的內(nèi)容06H送入暫存器,AL中的內(nèi)容05H送入累加器,然后由算術(shù)邏輯單元ALU來做加法,并將結(jié)果0BH經(jīng)過數(shù)據(jù)總線DB送到AL中。
第三條指令HLT只是告訴CPU進入暫停階段。
從上面的例子中我們總結(jié)出,微型計算機的工作過程是執(zhí)行程序的過程。首先CPU進入取指階段,從存儲單元中取出指令代碼,通過數(shù)據(jù)總線,送到CPU中的指令寄存器中寄存,然后對該指令譯碼,譯碼器經(jīng)譯碼后發(fā)出相應(yīng)的控制信號,通過控制總線,CPU把控制信息傳送到存儲器或輸入/輸出系統(tǒng),存儲器或輸入/輸出系統(tǒng)按照CPU的命令進行相應(yīng)的動作,也即CPU執(zhí)行指令指定的操作。
2023年2月5日63
取指階段是由一系列相同的操作組成,因此取指的時間總是相同的。而執(zhí)行指令的階段是由不同的事件組成的,它取決于執(zhí)行指令的類型。執(zhí)行完一條指令后接著執(zhí)行下一條指令,即取指→執(zhí)行,取指→執(zhí)行……如此反復,直至程序結(jié)束。這是一種串行工作方式,是以往計算機提高工作速度的一個障礙,根本的解決方法是采用并行操作。
現(xiàn)在的計算機采用流水線技術(shù),是一種同時進行若干操作的并行處理方式,它把取指令操作和執(zhí)行指令操作并行進行,在執(zhí)行一條指令的同時,又取另一條或幾條指令。在第2章中,講述的8086內(nèi)部結(jié)構(gòu)中總線接口部件完成取指操作,把指令預先放到指令隊列中,執(zhí)行部件完成執(zhí)行指令的操作,這兩部分可同時進行,從硬件上保證了流水線技術(shù)的實施。
2023年2月5日64
1.5微型計算機主要性能指標
一臺微型計算機功能的強弱或性能的好壞,不是由某項指標來決定的,而是由它的系統(tǒng)結(jié)構(gòu)、指令系統(tǒng)、硬件組成、軟件配置等多方面的因素綜合決定的。但對于大多數(shù)普通用戶來說,可以從以下幾個指標來大體評價計算機的性能。
1.運算速度
2.字長
3.內(nèi)存儲器的容量
4.外存儲器的容量
2023年2月5日65
1.運算速度
運算速度是衡量計算機性能的一項重要指標。通常所說的計算機運算速度(平均運算速度),是指每秒鐘所能執(zhí)行的指令條數(shù)。同一臺計算機,執(zhí)行不同的運算所需時間可能不同,因而對運算速度的描述常采用不同的方法。
常用的有CPU時鐘頻率(主頻)、每秒平均執(zhí)行指令條數(shù)(IPS)等。微型計算機一般采用主頻來描述運算速度,例如,Pentium/133的主頻為133MHz,PentiumⅢ/800的主頻為800MHz,Pentium41.5G的主頻為1.5GHz。一般說來,主頻越高,運算速度就越快。
2023年2月5日662.字長
一般說來,計算機在同一時間內(nèi)處理的一組二進制數(shù)稱為一個計算機的“字”,而這組二進制數(shù)的位數(shù)就是“字長”。在其他指標相同時,字長越大計算機處理數(shù)據(jù)的速度就越快。早期的微型計算機的字長一般是8位和16位。目前586(Pentium,PentiumPro,PentiumⅡ,PentiumⅢ,Pentium4)大多是32位,現(xiàn)在的大多都是64位的了。
2023年2月5日67
3.內(nèi)存儲器的容量
內(nèi)存儲器,也簡稱主存,是CPU可以直接訪問的存儲器,需要執(zhí)行的程序與需要處理的數(shù)據(jù)就是存放在主存中的。內(nèi)存儲器容量的大小反映了計算機即時存儲信息的能力。隨著操作系統(tǒng)的升級,應(yīng)用軟件的不斷豐富及其功能的不斷擴展,人們對計算機內(nèi)存容量的需求也不斷提高。目前,運行Windows95或Windows98操作系統(tǒng)至少需要16M的內(nèi)存容量,WindowsXP則需要128M以上的內(nèi)存容量。內(nèi)存容量越大,系統(tǒng)功能就越強大,能處理的數(shù)據(jù)量就越龐大。
4.外存儲器的容量
外存儲器容量通常是指硬盤容量(包括內(nèi)置硬盤和移動硬盤)。外存儲器容量越大,可存儲的信息就越多,可安裝的應(yīng)用軟件就越豐富。目前,硬盤容量一般為10G至60G,有的甚至已達到120G。
2023年2月5日68
以上只是一些主要性能指標。除了上述這些主要性能指標外,微型計算機還有其他一些指標,例如,所配置外圍設(shè)備的性能指標以及所配置系統(tǒng)軟件的情況等等。另外,各項指標之間也不是彼此孤立的,在實際應(yīng)用時,應(yīng)該把它們綜合起來考慮,而且還要遵循“性能價格比”的原則。
2023年2月5日69本章小結(jié):
本章從微型計算機基本結(jié)構(gòu)和工作原理出發(fā),對微處理器的產(chǎn)生發(fā)展、微型計算機的分類及應(yīng)用作了概述;介紹了計算機中的數(shù)據(jù)格式及機器數(shù)、有符號數(shù)的表示、字符編碼的基本知識以及微型計算機的軟硬件組成等。
通過本章的學習,要了解微型計算機的發(fā)展歷史和應(yīng)用場合,關(guān)注當前微型計算機的發(fā)展動向;要掌握微型計算機系統(tǒng)組成以及工作原理和工作過程,理解微機各主要模塊的功能和在系統(tǒng)中的地位;熟悉各進位計數(shù)制之間的相互轉(zhuǎn)換,理解數(shù)值型數(shù)據(jù)和非數(shù)值型數(shù)據(jù)在計算機中的表示方法;掌握補碼加減法運算及溢出的判斷,為后續(xù)內(nèi)容的學習打下一個良好的基礎(chǔ)。2023年2月5日70第2章微處理器【任務(wù)驅(qū)動】
本章主要介紹8086微處理器的相關(guān)知識,通過本章的學習,讓學生掌握8086的內(nèi)部結(jié)構(gòu)及外部引腳定義,掌握8086存儲器的組織形式,理解8086微處理器的工作模式和總線時序?!局攸c難點】1.8086CPU內(nèi)部并行結(jié)構(gòu)及外部引腳2.8086CPU的存儲器組織及地址變換3.8086CPU的基本時序2023年2月5日712.1微處理器概述2.2Intel8086/8088CPU結(jié)構(gòu)2.3Intel8086/8088CPU的引腳2.4Intel8086/8088的典型時序分析微處理器(Microprocessor),又稱中央處理器(CentralProcessingUnit,CPU)。是采用大規(guī)?;虺笠?guī)模集成電路(LSI/VLSI)技術(shù)做成的半導體芯片,集成了計算機的主要部件:控制器、運算器和寄存器組等,是微機的核心部件。主要完成各種算術(shù)及邏輯運算,并控制計算機各部件協(xié)調(diào)地工作。CPU是微機的核心芯片,是整個系統(tǒng)的運算和指揮控制中心。不同型號的微機,其性能的差別首先在于其CPU性能的不同,而CPU的性能又與它的內(nèi)部結(jié)構(gòu)有關(guān),每種CPU都有其特有的指令系統(tǒng)。但無論哪種CPU,其內(nèi)部基本結(jié)構(gòu)總是相近的,都有控制器、運算器和寄存器組3大主要部件。2023年2月5日722.1微處理器概述1.運算器:又稱為算術(shù)邏輯單元(ArithmeticandLogicUnit,ALU),它是以加法器為基礎(chǔ),輔之以移位寄存器及相應(yīng)控制邏輯組合而成的電路,在控制信號的作用下,可完成加、減、乘、除四則運算和各種邏輯運算,以及浮點運算。2.控制器:一般由指令寄存器、指令譯碼器、時序和控制邏輯電路組成??刂破魇钦麄€CPU的指揮控制中心,對協(xié)調(diào)整個微機有序工作極為重要。它從存儲器中依次取出程序的各條指令,并根據(jù)指令的要求,向微機的各個部件發(fā)出相應(yīng)的控制信號,使各部件協(xié)調(diào)工作,從而實現(xiàn)對整個微機系統(tǒng)的控制。2023年2月5日733.寄存器組:實質(zhì)上是CPU內(nèi)部的若干個的高速存儲單元,在匯編語言中通常是按名字來訪問它們。寄存器可分為專用寄存器和通用寄存器。專用寄存器的作用是固定的,如堆棧指針、程序計數(shù)器、標志寄存器、地址寄存器等。而通用寄存器則可由程序員規(guī)定其用途。通用寄存器的數(shù)目因CPU的不同而異,8088/8086CPU中有8個16位的通用寄存器,縮短了指令的長度和指令的執(zhí)行時間。微處理器中還有一些不能直接為程序員所用的寄存器,如累加鎖存器、暫存器和指令寄存器等,它們僅受內(nèi)部定時和控制邏輯的控制。我們通常說的Z80、8086、80286、80386、80486指的是Z80處理器、8086微處理器、80286微處理器、80386微處理器和80486微處理器。在這一章中,我們將學習8086處理器及其系列芯片的內(nèi)部結(jié)構(gòu)、操作與時序等。2023年2月5日748086/8088是Intel系列的16位微處理器,它是采用HMOS工藝制造的,內(nèi)部包含約29000個晶體管,用單一的+5V電源,時鐘頻率為5MHz~10MHz。8086有16根數(shù)據(jù)線和20根地址線,其尋址空間達1M字節(jié);8088是一種準16位微處理器,它的內(nèi)部寄存器、內(nèi)部運算部件以及內(nèi)部操作都是按16位設(shè)計的,但對外的數(shù)據(jù)總線只有8條。8086/8088芯片內(nèi)設(shè)有硬件乘除指令部件和串處理指令部件,可對位、字節(jié)、字串、BCD碼等多種數(shù)據(jù)類型進行處理。8086/8088的指令系統(tǒng)完全相同,在軟件上完全兼容。2023年2月5日752.2Intel8086/8088CPU結(jié)構(gòu)8086CPU采用了一種較先進的指令流水線結(jié)構(gòu),取指令(或取操作數(shù))與執(zhí)行指令的功能分別由兩個獨立部件實現(xiàn),即總線接口單元BIU(BusInterfaceUnit)和執(zhí)行單元EU(ExecutionUnit)。因此,當EU執(zhí)行某條指令時,BIU同時完成從主存中預取后續(xù)指令,兩個部件并行地工作,使指令的讀取與執(zhí)行可以部分重疊,從而指令的執(zhí)行速度。為此,將8086CPU結(jié)構(gòu)從功能上劃分為兩個邏輯單元,即總線接口單元BIU和執(zhí)行單元EU,其內(nèi)部組成結(jié)構(gòu)如圖2.1所示。2023年2月5日762.2.1總線接口單元BIU和執(zhí)行單元EU
圖2.18086CPU內(nèi)部結(jié)構(gòu)圖2023年2月5日77(一)總線接口單元BIUBIU是8086CPU與存儲器或I/O設(shè)備之間的接口部件,負責全部引腳的操作。具體來說,BIU負責:(1)取指令。產(chǎn)生指令地址,根據(jù)指令地址從存儲器取出指令,送到指令隊列中排隊或直接送給EU去執(zhí)行;(2)取操作數(shù)。從存儲器的指定單元或外設(shè)端口中取出指令規(guī)定的操作數(shù)傳送給EU;(3)傳送結(jié)果。把EU的操作結(jié)果傳送到指定的存儲單元或外設(shè)端口中。BIU內(nèi)部設(shè)有:1.4個16位的段寄存器:代碼段寄存器CS(CodeSegment)數(shù)據(jù)段寄存器DS(DataSegment)堆棧段寄存器SS(StakeSegment)附加段寄存器ES(ExtraSegment)2023年2月5日782.一個16位的指令指針寄存器IP(InstructionPointer)。3.6字節(jié)指令隊列緩沖器。8086的指令隊列緩沖器為六個字節(jié),8088的指令隊列緩沖器為四個字節(jié)。無論8086還是8088,都會在執(zhí)行指令的同時,從內(nèi)存中取下一條指令或幾條指令,取來的指令就放在指令隊列緩沖器中。這樣,一般情況下,CPU執(zhí)行完一條指令就可以立即執(zhí)行下一條指令,稱為流水線技術(shù),減少了CPU為取指令而等待的時間,從而提高了CPU的效率。4.20位地址加法器和總線控制電路。地址加法器用來產(chǎn)生20位地址。上面已提到8086可用20位地址尋址1MB的內(nèi)存空間,但8086內(nèi)部所有的寄存器都是16位的,所以需要一個附加的機構(gòu)來根據(jù)16位寄存器提供的信息計算出20位的物理地址,這個機構(gòu)就是20位的地址加法器。2023年2月5日79(二)執(zhí)行單元EU執(zhí)行單元(EU)的作用是:(1)從指令隊列中取出指令;(2)對指令進行譯碼,發(fā)出相應(yīng)的傳送數(shù)據(jù)或算術(shù)運算的控制信號;(3)接收由總線接口部件傳送來的數(shù)據(jù),或把數(shù)據(jù)傳送到總線接口部件;(4)進行算術(shù)運算。執(zhí)行部件由下列部分組成:1.4個通用寄存器AX,BX,CX,DX四個通用寄存器既可作為16位寄存器用,也可以作為8位寄存器使用,分別為AH,AL,BH,BL,CH,CL,DH,DL。AX寄存器又稱為累加器,8086指令系統(tǒng)中有許多指令都通過累加器的動作來執(zhí)行。AX為16位累加器,AL為8位累加器。2023年2月5日802.專用寄存器4個專用寄存器,基址指針寄存器BP,堆棧指針寄存器SP,源變址寄存器SI,目的變址寄存器DI。4個專用寄存器的用法將在指令系統(tǒng)有專門的論述。3.算術(shù)邏輯單元ALU它是16位的運算器,可用于8位或16位二進制算術(shù)和邏輯運算,也可按指令的尋址方式計算尋址存儲器單元所需的16位偏移量。4.數(shù)據(jù)暫存寄存器它協(xié)助ALU完成運算,暫存參加運算的數(shù)據(jù)。5.EU控制電路從總線接口單元的指令隊列取出指令操作碼,通過譯碼電路分析,發(fā)出相應(yīng)的控制命令,控制ALU數(shù)據(jù)的流向。如果是運算操作,操作數(shù)經(jīng)過暫存寄存器送入ALU,運算結(jié)果經(jīng)過ALU數(shù)據(jù)總線送到相應(yīng)的寄存器,同時標志寄存器F根據(jù)運算結(jié)果改變狀態(tài)。2023年2月5日816.標志寄存器標志寄存器共有16位,其中7位未用,所用的各位含義如圖2.2所示。6個狀態(tài)標志,反映CPU指令運行后的運行狀態(tài)信息,分別為SF、ZF、PF、CF、AF和OF。這些標志位根據(jù)指令執(zhí)行后的操作結(jié)果進行變化,然后判斷轉(zhuǎn)移等。3個控制標志,分別為DF、IF和TF。控制標志與狀態(tài)標志的區(qū)別是,控制標志可由編程員通過指令進行設(shè)置,有專門的指令對控制標志置0或置1;狀態(tài)信息是由中央處理器執(zhí)行運算指令,并根據(jù)運算結(jié)果而自動設(shè)置。6個狀態(tài)標志位的職能是:CF——進位標志位。做加法時出現(xiàn)進位或做減法時出現(xiàn)借位,該標志位置1;否則清0。PF——奇偶標志位。當結(jié)果的低8位中1的個數(shù)為偶數(shù)時,則該標志位置1;否則清0。AF——半加標志位。在做加法時,當位3需向位4進位,或在做減法時位3需向位4借位,該標志位就置1;否則清0。該標志位通常用于對BCD算術(shù)邏輯結(jié)果的調(diào)整。2023年2月5日82ZF——零標志位。運算結(jié)果各位都為0時,該標志位置1;否則清0。SF——符號標志位。當運算結(jié)果的最高位為1時,該標志位置1;否則清0。OF——溢出標志位。在算術(shù)運算中,當帶符號的數(shù)的運算結(jié)果超出了8位或16位帶符號數(shù)所能表達的范圍時,即字節(jié)運算大于+127或小于-128時,字運算大于+32767或小于-32768時,該標志位置位。2023年2月5日832023年2月5日84圖2.2標志寄存器各位的含義3個控制標志位的控制職能如下:(1)DF(DirectionFlag):方向控制標志位決定變址寄存器SI、DI的變化方向,即是增量變化還是減量變化。一般用于串處理指令,控制從前往后、還是從后往前對字符串進行操作處理。(2)IF(InteruptFlag):中斷允許/禁止標志位IF=1,允許外部可屏蔽中斷。CPU可以響應(yīng)可屏蔽中斷請求。IF=0,關(guān)閉中斷。CPU禁止響應(yīng)可屏蔽中斷請求。(3)TF(TrapFlag):跟蹤(陷阱)標志位TF=1,每執(zhí)行一條指令后,自動產(chǎn)生一次內(nèi)部中斷,使CPU處于單步執(zhí)行指令工作方式,便于進行程序調(diào)試,用戶能檢查程序。TF=0,CPU正常工作,不產(chǎn)生中斷。2023年2月5日852.2.28086/8088的存儲器組織(一)存儲器的標準結(jié)構(gòu)8086CPU有20根地址線,可尋址1MB存儲空間。存儲器按字節(jié)編址,從00000H—FFFFFH,每個字節(jié)用惟一的地址表示。存放的數(shù)是字節(jié)形式,存儲器單元按順序排列存放。如圖2.3所示,存放的數(shù)為一個字時,將字的高位字節(jié)放在高地址中,將低位字節(jié)放在低地址中,高低地址連續(xù)。對于存放的字,其低位字節(jié)可以在奇數(shù)地址中(即從奇地址開始)存放,這種方式稱為非規(guī)則存放,這樣存放的字稱為非規(guī)則字,CPU需要兩次訪問存儲器才能存取該字。也可以在偶數(shù)地址中(即從偶地址開始)存放,這是規(guī)則存放,這樣存放的字稱為規(guī)則字,CPU一次便可對該字所在的兩個存儲單元進行存取。為加快程序的運行速度,編程時應(yīng)注意用規(guī)則字。8088系統(tǒng)外部數(shù)據(jù)總線只有8位,CPU每次訪問存儲器只讀寫一個字節(jié),如果要讀寫一個字,CPU需要訪問兩次存儲器2023年2月5日862023年2月5日87左圖中,地址為00102H單元中存放的字數(shù)據(jù)是285BH,地址為00106H單元中存放的字數(shù)據(jù)是0AF6DH。圖2.3內(nèi)存中數(shù)據(jù)存儲格式(二)存儲器的分段前面我們已經(jīng)提到8086/8088可以具有1MB的內(nèi)存空間,可是其內(nèi)部結(jié)構(gòu)以及內(nèi)部數(shù)據(jù)的直接處理能力和寄存器都只有16位,故只能直接提供16位地址,尋址64KB存儲空間,很顯然,不采取特殊措施,是不能尋址1MB存儲空間的。為此,我們引入了分段的概念,如圖2.4所示,將1MB字節(jié)的存儲器空間分成若干邏輯段,每個段最長為64KB,段內(nèi)地址是連續(xù)的。邏輯段之間可以是連續(xù)的,也可以是分開的或重疊的。段的首地址必須能被16整除,即每段首地址的低4位必須為0,高16位就是段基礎(chǔ)地址(簡稱段基址)。段內(nèi)任一存儲單元與它所在段的段基值之間的距離稱為偏移量或偏移地址。段基值存放在段寄存器CS、SS、DS、ES中,程序可以從4個段寄存器給出的邏輯段中存取代碼和數(shù)據(jù)。2023年2月5日882023年2月5日89(三)物理地址和邏輯地址物理地址(PhysicalAddress)又叫實際地址,是CPU和存儲器進行數(shù)據(jù)交換時使用的地址,在8086/8088系統(tǒng)的存儲器中每個單元有惟一的一個20位的物理地址,CPU訪問存儲器必須按這個物理地址去進行。但總線接口單元得到的往往是其段基址和偏移地址,那么已知一個存儲單元的段基值和它的偏移量,如何計算其物理地址呢?物理地址(20位)=段基值×10H+偏移地址段寄存器的內(nèi)容×16(10H,相當于左移4位)變?yōu)?0位,再在低端16位上加上16位的偏移地址(也叫做有效地址),便可得到20位的物理地址,其產(chǎn)生過程如圖2.5所示。16位的偏移地址有多種產(chǎn)生方法,在下一篇中再詳細說明。2023年2月5日902023年2月5日91圖2.5.物理地址的形成過程邏輯地址由兩部分組成:段基值和偏移量。它們都是用無符號的16位二進制數(shù)或4位十六進制數(shù)表示。邏輯地址的一般表示形式為:段基值:偏移量這里僅以8086CPU復位后如何形成啟動地址為例,說明物理地址的計算方法。一條指令的物理地址是根據(jù)代碼段寄存器CS和指令指針寄存器IP的內(nèi)容得到的,復位時CS的內(nèi)容為FFFFH,IP的內(nèi)容為0000H。復位后的啟動地址由CS段寄存器和IP的內(nèi)容(作為偏移量)共同決定,即啟動地址=CS×16+IP=FFFF0H+0000H=FFFF0H2023年2月5日92段寄存器的設(shè)立不僅使8086的存儲空間擴大到1MB,而且為信息按特征分段存儲帶來了方便。在存儲器中,信息按特征可分為程序代碼、數(shù)據(jù)、微處理器狀態(tài)等。為了操作方便,存儲器可以相應(yīng)地劃分為:程序區(qū),用來存放程序的指令代碼;數(shù)據(jù)區(qū),用來存放原始數(shù)據(jù)、中間結(jié)果和最后運算結(jié)果;堆棧區(qū),用來存放壓入堆棧的數(shù)據(jù)和狀態(tài)信息。只要修改段寄存器的內(nèi)容,就可將相應(yīng)的存放區(qū)設(shè)置在存儲器的任何位置上。這些區(qū)域可以通過段寄存器的設(shè)置使之相互獨立,也可將它們部分或完全重疊。需要注意的是,改變這些區(qū)域的地址時,是以16個字節(jié)為單位進行的。表2.1表示了各段寄存器的使用情況。2023年2月5日932023年2月5日94表2.18086/8088中段寄存器使用的基本約定(四)堆棧所謂堆棧(Stack)是為保護數(shù)據(jù)、調(diào)度數(shù)據(jù)而開辟的特殊數(shù)據(jù)區(qū)域。堆棧的一端是固定的(棧底),另一端是浮動的(棧頂),正常的堆棧操作,其信息的存取在浮動的一端進行。堆棧中的數(shù)據(jù)嚴格按照“先進后出(FirstInLastOut或FILO)”的原則進行存取操作,即數(shù)據(jù)是由棧頂壓入和彈出的。由堆棧段寄存器SS提供段基值,堆棧指針寄存器SP提供偏移地址,每當壓入或彈出數(shù)據(jù)時,SP的內(nèi)容會自動修改,它始終指向堆棧的頂部。計算物理地址的公式是:物理地址(PA)=(SS)×10H+(SP)當需要對堆棧段中的某個單元的數(shù)據(jù)進行操作時,還可使用BP寄存器通過各種尋址方式得到有效地址EA作為偏移地址,這樣其物理地址是:物理地址(PA)=(SS)×10H+EA2023年2月5日95(五)8086系統(tǒng)存儲區(qū)的分配1.00000H~003FFH共1KB區(qū)域用來存放中斷矢量,這一區(qū)域稱為中斷矢量表。中斷矢量表的定義和作用參閱中斷一章的有關(guān)內(nèi)容。2.B0000H~B0F9FH是單色顯示器的顯示緩沖區(qū),存放單色顯示器當前屏幕顯示字符所對應(yīng)的ASCII碼和屬性。3.B8000H~BBF3FH約16KB是彩色顯示器的顯示緩沖區(qū),存放彩色顯示器當前屏幕像點所對應(yīng)的代碼。4.FFFF0H~FFFFFH共16個單元,一般用來存放一條無條件轉(zhuǎn)移指令,轉(zhuǎn)到系統(tǒng)的初始化程序。這是因為系統(tǒng)加電或者復位時,會自動轉(zhuǎn)到FFFF0H執(zhí)行。2023年2月5日962.3.18086/8088CPU引腳特性8086/8088CPU采用雙列直插式的封裝形式,有40條引腳,如圖2.6所示。為了適應(yīng)不同的應(yīng)用環(huán)境,8086/8088CPU有兩種工作方式:最大方式和最小方式,這由引腳加以控制。最小方式適用于單微處理器組成的小系統(tǒng),在這種系統(tǒng)中,所有的總線控制信號都直接由8086/8088產(chǎn)生;最大方式適用于多微處理器組成的大系統(tǒng),它包含兩個或多個微處理器,其中一個就是8086/8088,稱為主處理器,其他的處理器則稱為協(xié)處理器。8088是一種準16位微處理器,它的內(nèi)部數(shù)據(jù)總線是16位,外部數(shù)據(jù)總線是8位,在軟件上8088與8086直接兼容,在硬件上除指令隊列、第15引腳~第18引腳、第34引腳、第28引腳外,其他基本相同。我們主要了解最小模式下的8086CPU引腳。2023年2月5日972.3Intel8086/8088CPU的引腳2023年2月5日98圖2.68086CPU和8088CPU引腳圖(一)地址/數(shù)據(jù)總線AD15~AD0(AddressDataBus)這是分時復用的存儲器或I/O端口地址和數(shù)據(jù)總線,雙向工作,三態(tài)。在總線周期的T1狀態(tài)作為地址線,輸出要訪問的存儲器或I/O端口的地址;在總線周期的T2~T3狀態(tài)作為數(shù)據(jù)線傳輸數(shù)據(jù)。(二)地址/狀態(tài)線A19/S6~A16/S3(AddressStatus)地址/狀態(tài)復用引腳,輸出,三態(tài)。在總線周期的T1狀態(tài),用來輸出地址的最高4位.在總線周期的T2、T3、TW和T4狀態(tài)時,用來輸出狀態(tài)信息。當S6為0時,表示8086/8088CPU當前與總線連接。S5表明中斷允許標志的當前設(shè)置,為1時,表示當前允許可屏蔽中斷請求,為0則禁止一切可屏蔽中斷請求。狀態(tài)信號中的S4和S3用來指示當前使用哪一個段寄存器,具體規(guī)定如表2.2所
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 跨境電商物流分析
- 三農(nóng)扶貧資金使用管理指南
- 醫(yī)療器械銷售策略及預案
- 農(nóng)業(yè)產(chǎn)業(yè)結(jié)構(gòu)調(diào)整與轉(zhuǎn)型升級方案
- 環(huán)境監(jiān)測與污染防治技術(shù)應(yīng)用指南
- 電子商務(wù)運營策略與市場分析知識考點
- 蓮花縣垃圾焚燒發(fā)電項目
- 項目管理進度表-項目時間線
- 游戲行業(yè)版權(quán)保護與侵權(quán)應(yīng)對預案
- 監(jiān)控復習試題及答案
- 藥品質(zhì)量管理體系文件目錄
- 安徽涵豐科技有限公司年產(chǎn)6000噸磷酸酯阻燃劑DOPO、4800噸磷酸酯阻燃劑DOPO衍生品、12000噸副產(chǎn)品鹽酸、38000噸聚合氯化鋁、20000噸固化劑項目環(huán)境影響報告書
- GA/T 492-2004城市警用地理信息圖形符號
- 化妝品生產(chǎn)許可申請表樣板
- 老年綜合評估和老年綜合征課件
- 巖石性質(zhì)及其工程分級課件
- 2023年西安鐵路職業(yè)技術(shù)學院單招綜合素質(zhì)考試筆試題庫及答案解析
- (新版)網(wǎng)絡(luò)攻防知識考試題庫(含答案)
- 人員技能矩陣圖
- 教育評價學全套ppt課件完整版教學教程
- JJG 1063-2010 電液伺服萬能試驗機-(高清現(xiàn)行)
評論
0/150
提交評論