上海工程技術大學微機原理與接口技術yp 第1章 計算機基礎_第1頁
上海工程技術大學微機原理與接口技術yp 第1章 計算機基礎_第2頁
上海工程技術大學微機原理與接口技術yp 第1章 計算機基礎_第3頁
上海工程技術大學微機原理與接口技術yp 第1章 計算機基礎_第4頁
上海工程技術大學微機原理與接口技術yp 第1章 計算機基礎_第5頁
已閱讀5頁,還剩87頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

微機原理與接口技術Wellcome!主講:張劍1第1章計算機基礎知識2微機中的信息表示與運算一二三主要內容微機系統(tǒng)的組成幾部分組成

微機的組成3(1)微處理器MP/CPU

(2)存儲器(3)I/O接口(4)系統(tǒng)總線①AB②DB③CB一、微機的組成所謂微型計算機是指以大規(guī)模、超大規(guī)模集成電路為主要部件的微處理器為核心,配以存儲器、輸入/輸出接口電路及系統(tǒng)總線所制造出的系統(tǒng)。硬件4CPUI/O接口1I/O接口2微機的基本結構存儲器ROM存儲器RAM數據總線DB控制總線CB地址總線AB硬盤軟驅顯示器打印機

總線結構是微機系統(tǒng)的一大特色,正是由于采用了這一結構才使得微機系統(tǒng)具有組態(tài)靈活、擴展方便等特點。5馮·諾依曼(VonNeumann)結構也稱普林斯頓結構,是一種將程序指令存儲器和數據存儲器并在一起的存儲器結構。特點:程序和數據公用一個存儲空間;程序指令存儲地址和數據存儲地址指向同一個存儲器的不同物理位置;采用單一的地址及數據總線;程序指令和數據的寬度相同。處理器執(zhí)行指令時,先從儲存器中取出指令解碼,再取操作數執(zhí)行運算,即使單條指令也要耗費幾個甚至幾十個周期,在高速運算時,在傳輸通道上會出現瓶頸效應。馮·諾依曼(VonNeumann)結構哈佛結構(Harvard)哈佛結構是一種將程序指令存儲和數據存儲分開的存儲器結構,是一種并行體系結構。特點:將程序和數據存儲在不同的存儲空間中,即程序存儲器和數據存儲器是兩個相互獨立的存儲器,每個存儲器獨立編址、獨立訪問。與兩個存儲器相對應的是系統(tǒng)中的4套總線:程序的數據總線與地址總線,數據的數據總線與地址總線。這種分離的程序總線和數據總線可允許在一個機器周期內同時獲取指令字(來自程序存儲器)和操作數(來自數據存儲器),從而提高了執(zhí)行速度,使數據的吞吐率提高了1倍。又由于程序和數據存儲器在兩個分開的物理空間中,因此取指和執(zhí)行能完全重疊。哈佛結構(Harvard)(1)MP/CPU

該芯片內集成了控制器、運算器和寄存器。運算器是計算機中加工與處理數據的功能部件,主要有兩個功能:對數據的加工處理(重要功能),通過其內部的ALU完成。暫時存放參與運算的數據和某些中間結果,通常通過與ALU相連的寄存器組實現。10微處理器飛速發(fā)展8038680486奔騰奔騰2代奔騰4代802868086奔騰3代IA-64(安騰)40041971年1978年1983年1985年1989年1993年1997年1999年2000年酷睿2006年2001年11在寄存器組中,累加器是最繁忙的寄存器??刂破魇强刂普_計算機各功能部件協(xié)同動作、自動執(zhí)行計算機程序的功能部件。12(2)存儲器

存放程序和數據的部件。分為主存和輔存兩類。主要由半導體存儲器和磁盤、光盤存儲器等構成。造價、容量、速度有別。構成內存的半導體存儲器又分為ROM和RAM。13(3)I/O接口

各種外設的工作速度、驅動方式差異很大,無法與CPU直接匹配,不可能把它們簡單地連到系統(tǒng)總線上,需要通過接口電路完成信號的變換、數據的緩沖、與CPU的聯絡等工作。14傳遞信息的一組公用導線。AB_單向總線。DB_雙向的總線。CB_可能是輸出、輸入或雙向的總線。在一個系統(tǒng)中,除了CPU有控制總線的能力外,DMA控制器等設備也有控制總線的能力,稱為“總線主控設備”。(4)系統(tǒng)總線15微機系統(tǒng)硬件軟件微機外圍設備電源系統(tǒng)軟件程序設計語言應用軟件微處理器存儲器I/O接口系統(tǒng)總線ALU控制器寄存器組ROMRAM串行接口并行接口輔助接口ABCBDB外部設備過程I/O接口操作系統(tǒng)診斷程序監(jiān)控程序解釋、編譯程序二、微機系統(tǒng)的組成程序包數據庫窗口軟件16I/O設備輸入設備串行通信設備軟盤、硬盤鼠標CD-ROM鍵盤掃描儀DVD輸出設備打印機(針打、激光、噴墨)軟盤、硬盤繪圖儀顯示器17程序設計語言機器語言:0,1碼的語言匯編語言:用助記符號代替用0,1描述的某種機器的指令系統(tǒng)面向問題(過程)的程序設計語言高級語言:基于規(guī)則的語言Prolog面向對象語言C++,Java

18裸機操作系統(tǒng)用戶程序各種實用程序軟件包各種語言處理程序微機系統(tǒng)的層次結構19硬件(hardware)2021硬盤光驅顯卡網卡軟驅聲卡CPU2223PC機上的總線PCI總線ISA總線USB總線242526字長字長是衡量計算機處理能力的重要指標,它是指計算機的CPU一次能直接處理的二進制數的位數,字長越大,處理能力越強。例如,8086、286的字長是16位,386、486、586(奔騰)都是32位?!钗C主要性能指標27速度衡量計算機速度常用的有兩種指標:①運算速度:用每秒鐘能執(zhí)行多少條指令來表示。國際上通用的指標是每秒百萬條指令MIPS(MillionInstructionsPerSecond),通常用于較大的計算機系統(tǒng)。②

主頻:指CPU主時鐘的工作頻率(一秒鐘內發(fā)生的同步脈沖數),主頻越高,說明CPU的速度越快,微型計算機都用主頻這個指標。主頻的單位為赫茲(MHz),早期的微機主頻才幾MHZ,而現在P4的主頻已達到3GHz以上。例如,“P4/2.4G”,“P4”表示CPU的型號(奔騰四代),“2.4G”就表示主頻是2.4G赫茲(GHz)28內存容量通常用字節(jié)(Byte)作單位。目前,微型機的內存儲容量已達到吉字節(jié)。內存速度

微機內主存完成一次讀/寫操作所需的時間稱為存儲器的存取時間,連續(xù)兩次讀/寫所需的最短時間稱為存儲器的存取周期。存取周期越短,則存取速度越快。存取周期的大小影響計算機的運算速度。29

數與數制數制之間的轉換

字符的編碼表示運算

帶符號二進制的表示三、微機中信息的表示與運算30

它具有0,1這2個不同的數字符號;

逢二進一(減法為借一當二)。(1)二進制

書寫:10011110or10011110B

or(10011110)2

2稱為二進制的基數。注意:二進制數中的任何一個0或1稱為比特(bit)1、數與數制數制:用一組統(tǒng)一的符號和規(guī)則來表示數的方法。31按權展開:

(110101)2=1×25+1×24+0×23

+1×22+0×21+1×20

再如,

(1001.101)2=1×23+0×22+0×21

+1×20+1×2-1+0×2-2對于n位整數m位小數的任意二進制數N,按權展開如下32它具有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F這

16個不同的數字符號;

逢十六進一(減法為借一當十六)。

書寫:(3AB.11)16or3AB.11H16稱為十六進制的基數。(2)十六進制33任意一個n位整數m位小數十六進制數N可表示為:(N)16=Kn-116n-1+Kn-216n-2+…+K1161+K0160+K-116-1+…+K-m16–m

例如:(2D07.A)16=2×163+13×162+0×161+7×160+10×16-1(Ki=0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)34

練習:(10AF.12)16=1×163+0×162+10×161+15×160+1×16-1+2×16-2

說明:

實際表示時,一個十六進制數如果最高位數字為字母(A-F),則字母前面加一個0,以便與變量名等相區(qū)別。如:0B76H35十進制二進制十六進制十進制二進制十六進制000910019111101010A2102111011B3113121100C41004131101D51015141110E61106151111F71117161000010810008下表給出了三種數制的對應關系。36數制小結數制:用一組統(tǒng)一的符號和規(guī)則來表示數的方法。二進制:每一位包含0、1兩個數字,例如:10010011B或((10010011)2十進制:每一位包含10個數字0~9,例如:1200D十六進制:每一位包含數字0~9,字母A~F,例如:0A3D6H372、數制的相互轉換

(1)二、十六進制數轉換成十進制數

非十進制數轉換成十進制數比較簡單,可先將其按權展開,再將系數及權均用十進制表示,按十進制進行乘法與加法運算,所得結果即為該數對應的十進制數。例:將二進制數1101.101轉換為十進制數。轉換過程如下:

1101.101=1×23+1×22+0×21+1×20+1×2-1+0×2-2+1×2-3=8+4+1+0.5+0.125=13.625∴1101.101B=13.62538例將十六進制數2AE.4H轉換為十進制數。

2AE.4H=2×162+10×161+14×160+4×16-1=512+160+14+0.25=686.25∴2AE.4H=686.25練習,二進制數101101.11換算成十進制數為(101101.11)2=45.7539(2)十進制數轉換成二、十六進制數

任一十進制數N轉換成q進制數,先將其分為整數部分與小數兩部分,并分別進行轉換,然后再用小數點將這兩部分連接起來。

40

1)整數部分轉換用q去除N-記余數

再用q去除得到的商-記余數

重復,直至商為零-轉換結束余數倒排41

2 391(b0) 2 191(b1)291(b2) 240(b3) 220(b4) 211(b5) 0例:39轉換成二進制數

39=100111B

書寫順序432)小數部分轉換用q去乘N的純小數部分-記下積的整數部分再用q去乘上步乘積的純小數部分-記整重復-直至乘積的小數部分為零,或者達到所需要的精度位數為止順排44例:將十進制小數0.71875轉換成二進制小數.

書寫順序45過程如下:

0.71875×2=1.4375整數部分10.4375×2=0.87500.875×2=1.7510.75×2=1.510.5×2=1.01

于是,得到結果為:(0.71875)10=(0.10111)2

練習:將168.686轉換為二、十六進制數。

168.686≈10101000.10101B168.686≈A8.AF9DBH46

綜上所述,一個十進制整數的q進制轉換方法就是“除q取余”;而一個十進制小數的q進制轉換方法就是“乘q取整”。若一個十進制數既包含整數部分又包含小數部分,它的q進制轉換就是將它的整數部分和小數部分用上述方法分別進行轉換,最后將轉換好的兩部分結合在一起形成要轉換的q進制數。47(3)十六進制數與二進制數之間的轉換

由于16=24,故1位十六進制數相當于4位二進制數。反之,4位二進制數相當于1位十六進制這樣,十六進制數與二進制數之間的相互轉換是十分簡便的。48

二進制數轉換為十六進制數的方法:首先從小數點開始分別向左和向右把整數及小數部分每4位分成一組。若整數最高位的一組不足4位,則在其左邊加0補足4位;若小數最低位的一組不足4位,則在其右邊加0

補足4位。然后,用與每組二進制數所對應的十六進制數取代每組的4位二進制數,即得到對應的十六進制數。例:二進制數1011101001.110101轉換為十六進制數的方法是:

二進制數

001011101001.11010100十六進制數

2E9.D449

十六進制數轉換為二進制數的方法是:用相應的4位二進制數取代每1位十六進制數。例:十六進制數5C7A.3B轉換為二進制的方法是:十六進制數

5C7A.3B二進制數

0101

110001111010.00111011∴5C7A.3BH=101110001111010.00111011B相反50

3、十進制數與字符的編碼表示

由于計算機只能識別二進制數,因此,輸入的信息(如數字、字母、符號)都以特定的二進制碼來表示,這就是二進制編碼。

例如在鍵盤上輸入字母A,

存入計算機的A的編碼為01000001,它不代表數字值,而是一個文字信息。51(2)ASCII碼

ASCII(AmericanStandardCodeforInformationInterchange)碼是美國標準信息交換碼的簡稱。是現在各國所廣泛采用的字母、數字和符號的信息編碼。是將數字、字母、通用符號、控制符號等,按國際上常用的一種標準二進制編碼方式進行編碼。52

ASCII碼是一種8位代碼,規(guī)定二進制最高位(D7)為0,一個字節(jié)中的其余7位對字符進行編碼,用7位碼來代表字符信息,共可表示128(27)個字符,其中包括數字(0~9)、英文大小寫字母和控制符號(見下表)。53ASCII碼如表所示。ASCII碼表

54ASCII碼是由一個4位組(表中的行)和一個3位組(表中的列)構成的,形成7位二進制編碼,其格式為65432104位組

3位組

55

所以根據ASCII碼表和ASCII碼的構成格式,可以很方便地從ASCII表查出每一個字符或特殊控制功能的編碼。例如,大寫英文字母A,從表中查出其3位組為(100)2,4位組為(0001)2,故構成字母A的ASCII編碼為(01000001)2或41H。56記住常用ASCII碼:數字:0~930H~39H大寫字母:A~41H~小寫字母:a~61H~空格:20H回車:0DH換行:0AH574、運算---算術和邏輯運算

(1)算術運算二進制加法二進制加法與十進制加法相類似,所不同的是,其加、減法法則遵循“逢2進1”、“借1當2”的原則。

0+0=01+0=10+1=1

1+1=0

并進位58例:1010110101B+1111B。加法過程如下:被加數10110101

加數00001111

進位+)111111

和1100010059二進制減法在二進制減法中,同樣有如下法則:

0-0=01-0=11-1=0

0-1=1有借位當不夠減時需要借位,高位的1等于下一位的2,即“借一當二”。例如,兩個二進制數相減:

101

101

00-0101011101011101

60二進制乘法

二進制乘法與十進制乘法是一樣的。但因為二進制數只由0和1構成,因此,二進制乘法更簡單。其法則如下:

0×0=01×0=00×1=01×1=161

例如,二進制數1101.1與101.1相乘:

1101.1被乘數(13.5)10×101.1

乘數(5.5)10

110111101100000+110111001010.01乘積(74.25)10

62例:100110B÷110B,除法過程如下:

110

110111

∴100110B÷110B=110B余10B

11010二進制除法

其方法與十進制除法是一樣的,而且二進制數僅由0,1構成,做起來更簡單。63(2)二進制數的邏輯運算

二進制數的邏輯運算常用的有“與”、“或”、“異或”及“非”運算等四種。在組成表達式時,可分別用符號“AND”、“OR”、“XOR”及“NOT”作為運算符,有時也用“∧”、“∨”、“∨,⊕”作為“與”、“或”、“異或”的運算符,用數字上面加橫線“-”表示對該數進行非運算。二進制數的邏輯運算只按位進行運算。641位二進制數運算規(guī)則如下:“與”運算的規(guī)則為:1AND0=00AND1=00AND0=01AND1=1“或”運算的規(guī)則為:0OR0=01OR0=10OR1=11OR1=165“異或”運算的規(guī)則為:0XOR0=01XOR0=10XOR1=11XOR1=0

“非”運算的規(guī)則為:NOT0=1NOT1=066

異或運算通常用符號“⊕”表示,它的運算規(guī)則為:0⊕0=0,讀成“0同0異或結果為0”0⊕1=1,讀成“0同1異或結果為1”1⊕0=1,讀成“1同0異或結果為1”1⊕1=0,讀成“1同1異或結果為0”

強調:記憶:相同為0,不同為167

例:二進制數10010111和00111000的“與”、“或”及“異或”。運算結果分別為:

10010111

與)001110000001000010010111或)00111000

1011111110010111異或)00111000

1010111168

!!!

數學中用正負號表示數的正負,而計算機不能識別正負號,因此計算機將正、負等符號數字化,以便運算時識別。通常,在數的前面加一位,用作符號位。符號位為0表示正數,為1表示負數。連同符號位一起表示的數稱為機器數一個帶符號的數在計算機中可以有原碼、反碼和補碼三種表示方法。在微機中,凡是帶符號的數都用補碼表示,運算結果自然也是補碼。69

(1)3種表示法:原碼、反碼、補碼

正數:原碼=反碼=補碼,就是機器數負數:原碼其符號位為1,

數值位不變反碼其符號位為1,數值位逐位求反

補碼其符號位為1,數值位逐位求反,并在末位加1。5、帶符號二進制的表示70

原碼法正數的符號“+”用0表示,負數的符號“-”用1表示的機器數稱為原碼。X1=+1010101,則[X1]原=01010101符號位數值對負數X2=-1011101,則[X2]原=110111011/0

D7符號數值部分D6~D071反碼法

正數的反碼表示與原碼相同,而負數的反碼為:表示為其符號位不變(1),其余各位“按位求反”。例如:對負數X2=-1011101,則[X2]反=10100010取反的含義就是即0變?yōu)?,1變?yōu)?。721/0

D7符號數值部分D6~D0補碼法

正數的補碼與原碼法相同;負數的補碼為符號位不變,在反碼基礎上最低位(末位)加1。例如,

對負數:X2=-1011101,

則[X2]補=[X2]反+1

=10100011[X2]反=10100010731/0

D7符號數值部分D6~D0機器數:符號數值化了的數真值:帶符號的機器數對應的數值原碼機器數反碼補碼

數值:表示數量的多少

74+0110111B-0110111B00110111B10110111B

機器數(原碼)機器數真值真值機器數原碼反碼補碼

補碼

75正數:原碼=反碼=補碼X=+0110111B[X]原

=[X]反

=[X]補

=00110111B負數:X=-0110111B[X]原

=10110111B[X]反

=11001000B[X]補

=[X]反

+1(符號位除外)=11001000B+1=11001001B76X=-0110111B[X]補

=11001001B采用補碼的好處:符號位參加運算減法運算轉換成加法運算772500011001[X]補+32+00100000[Y]補

57001110013200100000[X]補+(-25)+11100111[Y]補

7000001111補碼加法規(guī)則:[X+Y]補=[X]補+[Y]補78(2)補碼的運算帶符號數用其補碼表示后,運算方法同于二進制運算,即補碼的加減運算:符號位與數值位一起參與運算,而且自動獲得結果(包括符號位與數值位)。

但會出現溢出問題。特別說明:補碼再求補碼是原碼,所以微機運算都用補碼算79其按補碼在求補得到:X+Y=-3480

帶符號數運算問題----溢出可見,帶符號數用其補碼表示后,運算方法同于二進制運算,但會出現溢出問題。

01011110+5EH+00110111+37H

10010101+95H例:(+5EH)+(+37H)。數值(次高)位有進位符號(最高)位無進位溢出,結果出錯符號位變181例:(-62H)+(-3BH)。

10011110-62H+11000101-3BH[1]01100011-9DH

無進位有進位

溫馨提示

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

評論

0/150

提交評論