第1章微機原理與應(yīng)用 緒論_第1頁
第1章微機原理與應(yīng)用 緒論_第2頁
第1章微機原理與應(yīng)用 緒論_第3頁
第1章微機原理與應(yīng)用 緒論_第4頁
第1章微機原理與應(yīng)用 緒論_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

微機原理與應(yīng)用周杰英張萍郭雪梅中山大學(xué)信息科學(xué)與技術(shù)學(xué)院2微機原理是學(xué)習(xí)和掌握微機硬件知識和匯編語言程序設(shè)計的入門課程,包括以下幾個方面的內(nèi)容:微型計算機的基本工作原理匯編語言程序設(shè)計微型計算機接口技術(shù)通過該課程的學(xué)習(xí),學(xué)生應(yīng)建立微型計算機系統(tǒng)的整體概念,形成微機系統(tǒng)軟硬件開發(fā)的初步能力。課程目標3第1章緒論第2章微處理器的結(jié)構(gòu)第3章80x86指令系統(tǒng)第4章匯編語言程序設(shè)計第5章微機總線技術(shù)第6章存儲系統(tǒng)第7章輸入輸出及接口第8章常用接口技術(shù)課程安排第1章緒論主要內(nèi)容微型計算機的發(fā)展及應(yīng)用微型計算機組成原理數(shù)據(jù)的表示方法45§1.1

微型計算機的發(fā)展及應(yīng)用世界上第一臺電子計算機是1946年美國賓夕法尼亞大學(xué)設(shè)計制造的”ENIAC”。占地上百平方米重量幾千噸功耗幾十千瓦

6電子計算機的發(fā)展:第一代:電子管計算機(1946-1956)第二代:晶體管計算機(1957-1964)第三代:中小規(guī)模集成電路計算機(1965-1970)第四代:超大規(guī)模集成電路計算機(1971-今)7四個階段計算機的主要特點:電子管計算機(1946—1956)晶體管計算機(1957—1964) 集成電路計算機(1965—1970)

超大規(guī)模集成電路計算機(1971—至今)

用機器語言、匯編語言編寫程用于軍事和國防尖端技術(shù) 開始使用高級語言開始用于工程技術(shù)、數(shù)據(jù)處理和其它科學(xué)領(lǐng)域采用微程序、流水線等技術(shù),提高運行速度出現(xiàn)操作系統(tǒng)、診斷程序等軟件采用半導(dǎo)體存儲器采用圖形界面操作系統(tǒng)器件速度更快,軟件、外設(shè)更加豐富主要特點8電子計算機按其性能分類:大型計算機/巨型計算機(MainframeComputer)中型計算機小型計算機(Minicomputer)微型計算機(Microcomputer)單片計算機(Single-ChipMicrocomputer)微型計算機的應(yīng)用:科學(xué)計算;數(shù)據(jù)處理和管理;計算機控制;計算機輔助設(shè)計/計算機輔助制造(CAD/CAM);智能模擬。9由運算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備五大部分組成§1.2微型計算機的組成原理運算器和控制器集成在一塊芯片上,稱為中央處理單元(CentralProcessUnit,CPU),也稱為微處理器。存儲器分為內(nèi)存和外存。內(nèi)存又分為隨機訪問存儲器(RandomAccessMemory,RAM)和只讀存儲器(ReadOnlyMemory,ROM)。RAM是易失性的,掉電后信息丟失。ROM是非易失性的,掉電后信息不丟失。CPU和內(nèi)存在主板上。輸入設(shè)備和輸出設(shè)備通過接口與系統(tǒng)總線相連。外存也是一種外設(shè)。系統(tǒng)總線實現(xiàn)各部件間信息的傳輸。微機的組成原理圖如下一頁圖所示。圖1-1微型計算機的組成基本的微型計算機的硬件由微處理器、內(nèi)存儲器、系統(tǒng)總線、I/O接口和外部設(shè)備等構(gòu)成。微處理器由運算器和控制器兩部分組成,是計算機的核心,負責(zé)對數(shù)據(jù)的處理及對整個計算機的控制。內(nèi)存用來存儲數(shù)據(jù)、程序、運算的中間結(jié)果和最后結(jié)果。內(nèi)存按單元尋址。內(nèi)存也稱為主存。輸入/輸出接口電路將外圍設(shè)備連接到系統(tǒng)總線上,起到主機和外設(shè)之間信息傳遞時的匹配和緩沖的作用。微型計算機的系統(tǒng)總線則用來實現(xiàn)各部件間的信息傳遞??偩€可分為數(shù)據(jù)總線(DataBus,DB)、地址總線(AddressBus,AB)和控制總線(ControlBus,CB)。地址總線AB:用來傳送CPU輸出的地址信號,確定被訪問的存儲單元、I/O端口。地址總線的條數(shù)決定微處理器的尋址能力數(shù)據(jù)總線DB:用來在CPU與存儲器、I/O接口之間進行數(shù)據(jù)傳送。數(shù)據(jù)總線的條數(shù)決定微處理器一次最多可以傳送的數(shù)據(jù)寬度控制總線CB:用來傳送各種控制信號。14計算機中的數(shù)值單位:位bit(b)兆位1Mb=10241024bit=220bit千兆位1Gb=230bit=1024Mb兆兆位1Tb=240bit=1024Gb字節(jié)Byte(B)1Byte=8bit,1KB=1024Byte字Word:表示字長,有1bit,4bit,8bit,16bit等一般情況下為2Byte(16bit)典型的8位微處理器的基本結(jié)構(gòu)8位微處理器主要包括運算器和控制器兩大部件。運算器是對數(shù)據(jù)進行加工處理的部件,主要完成算術(shù)運算和邏輯運算;由算術(shù)邏輯單元(ArithmeticalandLogicalUnit,ALU)、累加器、寄存器組、多路轉(zhuǎn)換器和數(shù)據(jù)總線等邏輯部件組成??刂破鞲鶕?jù)預(yù)先存放在存儲器中的程序?qū)τ嬎銠C進行控制??刂破饕话阌芍噶罴拇嫫?、指令譯碼器和控制電路組成,它根據(jù)程序中每一條指令的要求,對微型計算機各部件發(fā)出相應(yīng)的控制信息,使這些部件協(xié)調(diào)地工作,實現(xiàn)程序指定的功能。微機主要是以CPU的發(fā)展而升級換代。但微機的升級換代并不僅僅取決于CPU的換代,是由多方面技術(shù)的發(fā)展所決定的,包括存儲技術(shù)、總線技術(shù)、接口技術(shù)等。17以Intel公司生產(chǎn)的80x86微處理器的發(fā)展18

8位模型機程序運行示例例:計算1+2=?匯編語言程序 對應(yīng)的機器指令 對應(yīng)的操作

MOVAL,1 10110000 將立即數(shù)1傳送到累加寄存器AL中

00000001 ADDAL,2 00000100 計算兩個數(shù)的和,結(jié)果存放到AL中

00000010 MOV[0008],AL 10100010 將AL中的數(shù)傳送到地址單元0008 00001000 00000000 HLT 11110100 停機 19000000000001101100001011000010110000101100000001000200000001000000018位模型機的工作過程20§1.3

數(shù)據(jù)的表示方法重點理解特點;表示方法;相互間的轉(zhuǎn)換;二進制運算21一、進位計數(shù)制

十進制——符合人們的習(xí)慣二進制——便于物理實現(xiàn)十六進制——便于識別、書寫八進制22進位計數(shù)制的一般表示按進位的方法進行計數(shù),稱為進位計數(shù)制。在進位制中每個數(shù)規(guī)定使用的數(shù)碼符號的數(shù)量,稱為進位基數(shù),用R表示。使用R為基數(shù)的計數(shù)制稱為R進制數(shù),常用的有十進制數(shù)、二進制數(shù)、十六進制數(shù)、八進制數(shù)等。若每位數(shù)碼用ai來表示(下標i指示位數(shù)),則進位計數(shù)制表示的方法如下:

N=(an-1,an-2,…,ai,…,a1,a0

)R(數(shù)碼)

Rn-1,Rn-2,…,Ri,…,R1,R0

(權(quán)值)23進位計數(shù)制的一般表示建立了權(quán)值的概念后,對任意一個R進制數(shù)N都可表示為:其中:ai

--

N的第i位數(shù)碼,可以是R個符號中任何一個;n,m--

含義同前;R

--

基數(shù);Ri

--K進制數(shù)的權(quán)241.十進制(標識:后綴D或省略)特點:以十為底,逢十進一;

共有0-9十個數(shù)字符號(數(shù)碼)表示:(權(quán)展開式)252.二進制(標識:后綴B)特點:以2為底,逢2進位;只有0和1兩個數(shù)字符號表示:(權(quán)展開式)263.十六進制(標識:后綴H)特點:以16為底,逢16進位; 有0--9及A--F共16個數(shù)字符號注:數(shù)據(jù)以字母(A~F)開頭時,須在前面加“0”表示:(權(quán)展開式)27二、各進制數(shù)間的轉(zhuǎn)換1.非十進制數(shù)到十進制數(shù)的轉(zhuǎn)換按該數(shù)制的權(quán)表達式展開,再按十進制求和

例:10110010B

=(?)10

13FAH

=(?)1028將基數(shù)為R的數(shù)(R進制數(shù))轉(zhuǎn)換成基數(shù)為10的數(shù)(十進制數(shù))的過程是根據(jù)下式中已知的ai求dj:

這一過程比較簡單,只要將Ri和ai用十進制表示,然后作十進制運算即可得到需要的結(jié)果。29例1:例2:(2A4)16=2×162+10×161+4 =512+160+4=676302.十進制到非十進制數(shù)的轉(zhuǎn)換十進制→二進制的轉(zhuǎn)換: 整數(shù)部分:除2取余;小數(shù)部分:乘2取整。十進制→十六進制的轉(zhuǎn)換:整數(shù)部分:除16取余;小數(shù)部分:乘16取整。以小數(shù)點為起點求得整數(shù)和小數(shù)的各個位313.二進制與十六進制間的轉(zhuǎn)換用4位二進制數(shù)表示1位十六進制數(shù)

以小數(shù)點為起點分別向左(整數(shù))、向右(小數(shù))進行四位分組

例:10110001001.110B=(?)H

0101

1000

1001.1100

589.C左補0右補032三、二進制數(shù)的運算算術(shù)運算無符號數(shù)邏輯運算有符號數(shù):算術(shù)運算331、無符號數(shù)的運算(1)算術(shù)運算:

加法運算減法運算乘法運算除法運算34規(guī)則加法:1+1=0(有進位),…減法:0-1=1(有借位),…乘法:…,乘以2相當于左移1位;除法:…,除以2則相當于右移1位。例:00101110B×0000010B=?

00101110B/00000010B=?

35[例]:00001011×0100=00101100B00001011÷0100=00000010B

即:商=00000010B

余數(shù)=11B36(2)無符號數(shù)的表示范圍一個n位的無符號二進制數(shù)X(Xn-1Xn-2……X1X0)其表示范圍為:

0≤

X≤2n-1若運算結(jié)果超出這個范圍,則產(chǎn)生溢出。判別方法:運算時,當最高位(Xn-1)向更高位有進位(或借位)時則產(chǎn)生溢出。37[例]:

11111111

+00000001

100000000結(jié)果超出8位(最高位D7有進位),發(fā)生溢出(結(jié)果為256,超出8位二進制數(shù)所能表示的范圍0~255)

38(3)邏輯運算與(∧)、或(∨)、非(▔)、異或(⊕)特點:按位運算,無進借位運算規(guī)則

…..39邏輯運算的運用已知:數(shù)據(jù)D(D7D6……D0)與(∧)字節(jié)操作——數(shù)據(jù)清0:D∧00H位操作——D5位清0,其它位不變:D∧11011111B或(∨)字節(jié)操作——數(shù)據(jù)置1:D∨0FFH位操作——D5位置1,其它位不變:D∨00100000B非(▔)

字節(jié)操作——數(shù)據(jù)取反:D異或(⊕)字節(jié)操作——數(shù)據(jù)取反:D⊕0FFH位操作——D5位取反,其它位不變:D⊕00100000B402、有符號數(shù)的運算(1)計算機中有符號數(shù)的表示:把二進制數(shù)的最高位定義為符號位,其余為數(shù)值位

符號位為0

表示正數(shù),符號位為

1

表示負數(shù)連同符號位一起數(shù)值化了的數(shù),稱為機器數(shù)機器數(shù)所表示的真實的數(shù)值,稱為真值(在以下講述中,均以8位二進制數(shù)為例)41[例]:

+52=+0110100B=0

0110100B

符號位

數(shù)值位

-52=-0110100B=1

0110100B

真值機器數(shù)42有符號數(shù)的機器表示對于有符號數(shù),機器數(shù)常用的表示方法有原碼、反碼和補碼三種

數(shù)X(真值)的原碼記作[X]原反碼記作[X]反補碼記作[X]補

注意:對于正數(shù),三種表示法均相同,它們的差別僅在于對負數(shù)的表示43原碼[X]原定義 符號位:0表示正,1表示負;數(shù)值位:真值的絕對值。

二進制數(shù):原碼:44原碼的例子真值X=+18=+0010010X=-18=-0010010原碼[X]原

=0

0010010[X]原

=10010010符號符號位n位原碼表示數(shù)值的范圍是:對應(yīng)的原碼是1111~0111。45數(shù)0的原碼8位數(shù)0的原碼:+0=00000000-0=10000000即:數(shù)0的原碼不唯一。46反碼[X]反定義

若X>0,則[X]反=[X]原

若X<0,則[X]反=對應(yīng)原碼的符號位不變,數(shù)值部分按位取反二進制數(shù):反碼:47[例]:X=-52=-0110100[X]原

=10110100[X]反

=1100101148反碼的例子真值X=+18=+0010010X=-18=-0010010反碼[X]反

=00010010[X]反

=11101101符號符號位n位反碼表示數(shù)值的范圍是對應(yīng)的反碼是1000~0111。49數(shù)0的反碼:[+0]反=00000000[-0]反=11111111即:數(shù)0的反碼也不是唯一的。50補碼定義:若X>0,則[X]補=[X]反=[X]原若X<0,則[X]補=[X]反+1=2n+X二進制數(shù):補碼:51[例]:X=–52=–0110100[X]原=10110100[X]反=11001011[X]補=[X]反+1=11001100n位補碼表示數(shù)值的范圍是對應(yīng)的補碼是1000~0111。52數(shù)0的補碼:[+0]補=[+0]原=00000000[-0]補=[-0]反+1=11111111+1=100000000

對8位字長,進位被舍掉∴[+0]補=[-0]補=00000000即:數(shù)0的補碼是唯一的。53特殊數(shù)10000000該數(shù)在原碼中定義為:-0在反碼中定義為:-127在補碼中定義為:-128對無符號數(shù):(10000000)2=128548位有符號數(shù)的表示范圍:對8位二進制數(shù):原碼:-127~+127反碼:-127~+127補碼:-128~+127想一想:16位有符號數(shù)的表示范圍是多少?55(2)有符號二進制數(shù)與十進制的轉(zhuǎn)換對用補碼表示的二進制數(shù):

1)求出真值2)進行轉(zhuǎn)換56[例]:將一個用補碼表示的二進制數(shù)轉(zhuǎn)換為十進制數(shù)

1)

[X]補=00101110B真值為:+0101110B

正數(shù)

所以:X=+462)[X]補=11010010B

負數(shù)

X=[[X]補]補=[11010010]補=-

0101110B所以:X=

-

4657(3)補碼加減法的運算規(guī)則通過引進補碼,可將減法運算轉(zhuǎn)換為加法運算。規(guī)則如下:和:[X+Y]補=[X]補+[Y]補

差:[X-Y]補=[X]補-[Y]補或[X-Y]補=[X]補+[-Y]補其中X,Y為正負數(shù)均可,符號位參與運算58補碼的運算原理模(module)就是一個計數(shù)系統(tǒng)的最大容量,其大小等于以進位計數(shù)制基數(shù)為底,以位數(shù)為指數(shù)的冪。凡是用器件進行的運算都是有模運算,運算結(jié)果超過模的部分被運算器自動丟棄。因此,當器件為n位時,有:

X=2n+X(mod2n)不難驗證,

[X]補=2n+X(mod2n)因此,

[XY]補=2n+(XY)(mod2n)

=(2n+X)+(2n+X)(mod2n) =[X]補+[Y]補59[例]:X=-0110100,Y=+1110100,求[X+Y]補[X]原=10110100[X]補=[X]反+1=11001100[Y]補=[Y]原=01110100所以:[X+Y]補=[X]補+[Y]補=11001100+01110100=0100000060(4)有符號數(shù)運算中的溢出問題進(借)位——在加法過程中,符號位向更高位產(chǎn)生進位;在減法過程中,符號位向更高位產(chǎn)生借位。溢出——運算結(jié)果超出運算器所能表示的符號數(shù)范圍61溢出的判斷方法方法1:同號相減或異號相加——不會溢出。同號相加或異號相減——可能溢出:兩種情況: 同號相加時,結(jié)果符號與加數(shù)符號相反——溢出;異號相減時,結(jié)果符號與減數(shù)符號相同——溢出。方法2:兩個帶符號二進制數(shù)相加或相減時,若

C7C6=1,則結(jié)果產(chǎn)生溢出。C7為最高位的進(借)位;C6為次高位的進(借)位。62[例]:有符號數(shù)運算,有溢出表示結(jié)果是錯誤的無符號數(shù)運算,有進位表示結(jié)果超出范圍

10110101

+10001111

101000100

01000010

+0110001110100101

01000010

+11001101

100001111CASE1:CASE2:CASE3:63四、十進制數(shù)的運算

1、十進制數(shù)的機器表示——BCD碼用4位二進制數(shù)表示一位十進制數(shù)。有兩種表示法:壓縮BCD碼和非壓縮BCD碼。壓縮BCD碼的每一位用4位二進制表示,0000~1001表示0~9,一個字節(jié)表示兩位十進制數(shù)。非壓縮BCD碼用一個字節(jié)表示一位十進制數(shù),高4位總是0000,低4位的0000~1001表示0~9。642、BCD碼運算無論十進制數(shù)采用什么樣的機器編碼方式,計算機自動按照二進制運算,須編程對結(jié)果進行十進制調(diào)整(有的CPU直接提供十進制運算指令,自動完成調(diào)整)BCD碼加法調(diào)整方法:當?shù)停ɑ蚋撸?位數(shù)值超過9或向前有進位(或借位)時,該4位數(shù)值補(加)665

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

00 0 0 0 1 01 1 1 1 2 10 2 2 10 3 11 3 3 11 4 100 4 4 100 5 101 5 5 101 6 110 6 6 110 7 111 7 7 111 8 1000 10

8 1000 9 1001 11 9 1001

10 1010 12 A

10000 11 1011 13 B 10001 12 1100 14 C 10010 13 1101 15 D

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論