版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
主講:微機(jī)原理及應(yīng)用李鶴喜適用于AP09103-04微機(jī)原理與接口技術(shù)-課程介紹微機(jī)原理及接口技術(shù)課程是電子信息工程和電子信息科學(xué)與技術(shù)專業(yè)學(xué)生學(xué)習(xí)和掌握微型計(jì)算機(jī)軟硬件知識的重要課程,課程的任務(wù)是使學(xué)生從理論上和實(shí)踐上掌握微機(jī)的基本組成、工作原理、接口技術(shù)及硬件連接,建立微機(jī)系統(tǒng)的整機(jī)概念,使學(xué)生具有微機(jī)系統(tǒng)軟硬件開發(fā)和應(yīng)用的基本能力,為微型計(jì)算機(jī)在工程技術(shù)領(lǐng)域的應(yīng)用打下堅(jiān)實(shí)的基礎(chǔ)。
微機(jī)原理及應(yīng)用-參考文獻(xiàn)教材:鄭學(xué)堅(jiān),微型計(jì)算機(jī)原理及應(yīng)用其它參考書:周明德,微型計(jì)算機(jī)系統(tǒng)原理及應(yīng)用,北京:清華大學(xué)出版社,2006.6戴梅萼,微型計(jì)算機(jī)技術(shù)及應(yīng)用,北京:清華大學(xué)出版社,1991揚(yáng)素行,微型計(jì)算機(jī)系統(tǒng)原理及應(yīng)用,北京:清華大學(xué)出版社,1995微機(jī)原理及應(yīng)用-課程內(nèi)容
章節(jié)目錄 計(jì)劃學(xué)時(shí)第1章微型計(jì)算機(jī)系統(tǒng)概述 2第2章計(jì)算機(jī)中的數(shù)制和編碼2第3章80×86微處理器 4第4章80×86指令系統(tǒng)8第5章匯編語言程序設(shè)計(jì)10第6章輸入/輸出接口 4第7章中斷/定時(shí)/DMA控制器 8第8章模/數(shù)及數(shù)模接口
2第9章微型計(jì)算機(jī)應(yīng)用實(shí)例 2微機(jī)原理及應(yīng)用-先修課程數(shù)字邏輯電路提供硬件基礎(chǔ)計(jì)算機(jī)組成原理確立計(jì)算機(jī)部件功能掌握計(jì)算機(jī)工作原理高級語言程序設(shè)計(jì)掌握基本程序設(shè)計(jì)方法先修課程第1章1.了解微機(jī)發(fā)展概況、熟悉典型微處理器和微機(jī)系統(tǒng)2.明確微機(jī)兩個(gè)應(yīng)用方向3.了解微機(jī)的硬件組成,理解總線及其應(yīng)用特點(diǎn)、掌握地址、數(shù)據(jù)、控制總線的概念第1章教學(xué)要求1.1微型計(jì)算機(jī)的發(fā)展和應(yīng)用1946年,世界上出現(xiàn)第一臺數(shù)字式電子計(jì)算機(jī)ENIAC(電子數(shù)據(jù)和計(jì)算器)發(fā)展到以大規(guī)模集成電路為主要部件的第四代,產(chǎn)生了微型計(jì)算機(jī)1971年,Intel公司設(shè)計(jì)了世界上第一個(gè)微處理器芯片Intel4004,開創(chuàng)了一個(gè)全新的計(jì)算機(jī)時(shí)代以大規(guī)模、超大規(guī)模集成電路為主要部件,以集成了計(jì)算機(jī)主要部件——控制器和運(yùn)算器的微處理器為核心所構(gòu)造出的計(jì)算機(jī)系統(tǒng)圖片圖片1.1微型計(jì)算機(jī)的發(fā)展第1代:4位和低檔8位微機(jī)4004→4040→8008
典型產(chǎn)品是Intel公司1971年研制成功的4004(4位CPU)及1972年推出的低檔8位CPU8008。采用PMOS工藝,集成度約為2000只晶體管/片。指令系統(tǒng)比較簡單,運(yùn)算能力差,速度慢(平均指令執(zhí)行時(shí)間為10
20
s)。軟件主要使用機(jī)器語言及簡單的匯編語言編寫。第2代:中高檔8位微機(jī)Z80、I8085、M6800,Apple-II微機(jī)
典型產(chǎn)品有1974年Intel公司生產(chǎn)的8080CPU,Zilog公司生產(chǎn)的Z80CPU、Motorola公司生產(chǎn)的MC6800CPU以及Intel公司1976年推出的8085CPU。它們均為8位微處理器,具有16位地址總線。第二代微處理器采用NMOS工藝,集成度為9000只晶體管/片,指令的平均執(zhí)行時(shí)間為1
2
s。1.1微型計(jì)算機(jī)的發(fā)展圖片1.1微型計(jì)算機(jī)的發(fā)展第3代:16位微機(jī)8086→8088→80286,IBMPC系列機(jī)典型產(chǎn)品是1978年Intel公司生產(chǎn)的8086CPU、Zilog公司的Z8000CPU和Motorola公司的MC6800CPU。它們均為16位微處理器,具有20位地址總線。1982年,Intel公司在8086基礎(chǔ)上研制出性能更優(yōu)越的16位微處理器芯片80286。它具有24位地址總線,并具有多任務(wù)系統(tǒng)所必須的任務(wù)切換功能、存儲器管理功能以及各種保護(hù)功能。以80286為CPU組成IBMPC/AT高檔16位微型計(jì)算機(jī)。圖片1.1微型計(jì)算機(jī)的發(fā)展第4代:32位微機(jī)80386→8048632位PC機(jī)、Macintosh機(jī)、PS/2機(jī)
1985年,Intel公司推出了32位微處理器芯片80386,其地址總線也為32位。
1990年,Intel公司在80386基礎(chǔ)上研制出新一代32位微處理器芯片80486,其地址總線仍然為32位。它相當(dāng)于把80386、80387及8KB高速緩沖存儲器(Cache)集成在一塊芯片上,性能比80386有較大提高。圖片1.1微型計(jì)算機(jī)的發(fā)展第5代:64位微機(jī)Itanium、64位微處理器芯片微機(jī)服務(wù)器、工程工作站、圖形工作站第五代微處理器的典型產(chǎn)品是1993年Intel公司推出的Pentium(奔騰,Intel586)。Pentium微處理器數(shù)據(jù)總線為64位,地址總線為36位,有兩個(gè)并行執(zhí)行單元及雙高速緩沖存儲器,工作頻率有50MHz、66MHz、133MHz、和166MHz等。1.2微型計(jì)算機(jī)系統(tǒng)的組成圖1.1微型計(jì)算機(jī)系統(tǒng)的組成硬件微型機(jī)系統(tǒng)外圍設(shè)備過程控制I/O通道A/D,D/A轉(zhuǎn)換器開關(guān)量等外部設(shè)備鍵盤、鼠標(biāo)等輸入設(shè)備顯示器、打印機(jī)等輸出設(shè)備軟驅(qū)、硬盤及磁帶等外存儲器主機(jī)輸入輸出(I/O)接口電路微處理器(CPU)運(yùn)算器(算術(shù)邏輯運(yùn)算單元ALU)控制器(控制單元CU)寄存器陣列(RA)內(nèi)存儲器RAM,ROM,EPROMEEPROM,Cash等系統(tǒng)軟件軟件用戶(應(yīng)用)軟件
到目前為止,計(jì)算機(jī)仍沿用1940年由馮·諾依曼首先提出的體系結(jié)構(gòu)。其基本設(shè)計(jì)思想為:①以二進(jìn)制形式表示指令和數(shù)據(jù)。②程序和數(shù)據(jù)事先存放在存儲器中,計(jì)算機(jī)在工作時(shí)能夠高速地從存儲器中取出指令加以執(zhí)行。③由運(yùn)算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備等五大部件組成計(jì)算機(jī)硬件系統(tǒng)。
1.2微型計(jì)算機(jī)系統(tǒng)的組成圖1.2微型計(jì)算機(jī)硬件系統(tǒng)結(jié)構(gòu)
1.2微型計(jì)算機(jī)系統(tǒng)的組成1.2微型計(jì)算機(jī)的系統(tǒng)組成運(yùn)算器控制器寄存器組
內(nèi)存儲器
總線
輸入輸出
接口電路外部設(shè)備
軟件微處理器微型計(jì)算機(jī)微型計(jì)算機(jī)系統(tǒng)區(qū)別3個(gè)概念所謂總線,是指計(jì)算機(jī)中各功能部件間傳送信息的公共通道。所有的信息都通過總線傳送。根據(jù)傳送信息的內(nèi)容與作用不同,總線可分為三類:
(1)地址總線AB(AddressBus):在對存儲器或I/O端口進(jìn)行訪問時(shí),傳送由CPU提供的要訪問存儲單元或I/O端口的地址信息。AB是單向總線。
(2)數(shù)據(jù)總線DB(DataBus):對存儲器或?qū)/O端口進(jìn)行讀寫操作時(shí),信息通過數(shù)據(jù)總線送往CPU或由CPU送出。DB是雙向總線。
(3)控制總線CB(ControlBus):各種控制或狀態(tài)信息通過控制總線傳送。CB中每根線的傳送方向是一定的。1.2.1微型計(jì)算機(jī)系統(tǒng)總線地址總線AB輸出將要訪問的內(nèi)存單元或I/O端口的地址地址線的多少決定了系統(tǒng)直接尋址存儲器的范圍數(shù)據(jù)總線DBCPU讀操作時(shí),外部數(shù)據(jù)通過數(shù)據(jù)總線送往CPUCPU寫操作時(shí),CPU數(shù)據(jù)通過數(shù)據(jù)總線送往外部數(shù)據(jù)線的多少決定了一次能夠傳送數(shù)據(jù)的位數(shù)控制總線CB協(xié)調(diào)系統(tǒng)中各部件的操作,有輸出控制、輸入狀態(tài)等控制總線決定了系統(tǒng)總線的特點(diǎn),例如功能、適應(yīng)性等1.2.1
總線信號舉例舉例圖1.3所示為一個(gè)簡化的微處理器模型(虛線框內(nèi)),它由運(yùn)算器(ALU)、控制器(CU)和內(nèi)部寄存器(R)三部分組成?,F(xiàn)將各部件的功能簡述如下。
1.2.2微處理器圖1.3微處理器結(jié)構(gòu)
1.2.2微處理器
1.運(yùn)算器運(yùn)算器又稱算術(shù)邏輯單元(ALU,ArithmeticLogicUnit),用來進(jìn)行算術(shù)或邏輯運(yùn)算以及移位循環(huán)等操作。參加運(yùn)算的兩個(gè)操作數(shù)一個(gè)來自累加器A(Accumulator),另一個(gè)來自內(nèi)部數(shù)據(jù)總線,可以是數(shù)據(jù)緩沖寄存器DR(DataRegister)中的內(nèi)容,也可以是寄存器陣列RA(RegisterArray)中某個(gè)寄存器的內(nèi)容。
1.2.2微處理器
2.控制器控制器又稱控制單元(CU,ControlUnit),是全機(jī)的指揮控制中心。它負(fù)責(zé)把指令逐條從存儲器中取出,經(jīng)譯碼分析后向全機(jī)發(fā)出取數(shù)、執(zhí)行、存數(shù)等控制命令。控制器中包括以下幾部分:
(1)指令寄存器IR(InstructionRegister):用來存放從存儲器取出的將要執(zhí)行的指令碼。當(dāng)執(zhí)行一條指令時(shí),先把它從內(nèi)存取到數(shù)據(jù)緩沖寄存器DR中,然后再傳送到指令寄存器IR中。
1.2.2微處理器
(2)指令譯碼器ID(InstructionDecoder):用來對指令寄存器IR中的指令操作碼字段(指令中用來說明指令功能的字段)進(jìn)行譯碼,以確定該指令應(yīng)執(zhí)行什么操作。
(3)可編程邏輯陣列PLA(ProgrammableLogicArray):用來產(chǎn)生取指令和執(zhí)行指令所需要的各種微操作控制信號,并經(jīng)過控制總線CB送往有關(guān)部件,從而使計(jì)算機(jī)完成相應(yīng)的操作。
1.2.2微處理器
3.內(nèi)部寄存器
1)程序計(jì)數(shù)器PC(ProgramCounter)程序計(jì)數(shù)器有時(shí)也被稱為指令指針(IP,InstructionPointer),它被用來存放下一條要執(zhí)行指令所在存儲單元的地址。
2)地址寄存器AR(AddressRegister)地址寄存器用來存放正要取出的指令的地址或操作數(shù)的地址。
3)數(shù)據(jù)緩沖寄存器DR(DataRegister)數(shù)據(jù)緩沖寄存器用來暫時(shí)存放指令或數(shù)據(jù)。1.2.2微處理器
4)累加器A(Accumulator)累加器是使用最頻繁的一個(gè)寄存器。在執(zhí)行算術(shù)邏輯運(yùn)算時(shí),它用來存放一個(gè)操作數(shù),而運(yùn)算結(jié)果通常又放回累加器,其中原有信息隨即被破壞。因此,顧名思義,累加器是用來暫時(shí)存放ALU運(yùn)算結(jié)果的。
5)標(biāo)志寄存器FLAGS(FlagRegister)標(biāo)志寄存器有時(shí)也稱為程序狀態(tài)字(PSW,ProgramStatusWord)。它用來存放執(zhí)行算術(shù)運(yùn)算指令、邏輯運(yùn)算指令或測試指令后建立的各種狀態(tài)碼內(nèi)容以及對CPU操作進(jìn)行控制的控制信息。1.2.2微處理器
6)寄存器陣列RA(RegisterArray)寄存器陣列實(shí)際上相當(dāng)于微處理器內(nèi)部的RAM。微處理器內(nèi)部有了這些寄存器后,就可避免頻繁訪問存儲器,縮短指令長度和指令執(zhí)行時(shí)間,提高機(jī)器的運(yùn)行速度,方便程序設(shè)計(jì)。1.2.2微處理器在計(jì)算機(jī)內(nèi)部,程序和數(shù)據(jù)都以二進(jìn)制形式表示,8位二進(jìn)制代碼作為一個(gè)字節(jié)。為了便于對存儲器進(jìn)行訪問,存儲器通常被劃分為許多單元,每個(gè)存儲單元存放一個(gè)字節(jié)的二進(jìn)制信息,每個(gè)存儲單元分別賦予一個(gè)編號,稱為地址。如圖1.4所示,地址為4005H的存儲單元中存放了一個(gè)8位二進(jìn)制信息00111000B。1.2.3存儲器圖1.4內(nèi)存單元的地址和內(nèi)容
1.2.3存儲器自學(xué)內(nèi)容1.微型計(jì)算機(jī)軟件系統(tǒng)2.微型計(jì)算機(jī)的工作過程(取指令的操作過程和執(zhí)行指令的操作過程)實(shí)驗(yàn)軟件1.3微型計(jì)算機(jī)的應(yīng)用計(jì)算機(jī)應(yīng)用通常分成如下各個(gè)領(lǐng)域科學(xué)計(jì)算,數(shù)據(jù)處理,實(shí)時(shí)控制計(jì)算機(jī)輔助設(shè)計(jì),人工智能,……由于微型計(jì)算機(jī)具有如下特點(diǎn)體積小、價(jià)格低工作可靠、使用方便、通用性強(qiáng)……所以,可以分為兩個(gè)主要應(yīng)用方向用于數(shù)值計(jì)算、數(shù)據(jù)處理及信息管理方向通用微機(jī),例如:PC微機(jī)用于過程控制及智能化儀器儀表方向?qū)S梦C(jī),例如:工控機(jī)、單片機(jī)1.4
計(jì)算機(jī)有何應(yīng)用?
計(jì)算機(jī)現(xiàn)在已遠(yuǎn)遠(yuǎn)超過了誕生時(shí)用于數(shù)值計(jì)算的目的,現(xiàn)在被廣泛用于航天、國防、工農(nóng)業(yè)生產(chǎn)的各個(gè)領(lǐng)域。1、計(jì)算機(jī)在航天領(lǐng)域的應(yīng)用這是我國發(fā)射的神州五號載人飛船,首次實(shí)現(xiàn)了中國人飛天的夢想。無論是長征運(yùn)載火箭還是神州飛船都是在計(jì)算機(jī)的精密控制下完成這一壯舉的。美國“勇氣號”火星車美國航天飛機(jī)通過計(jì)算機(jī)遠(yuǎn)程遙控首次實(shí)現(xiàn)了人類對火星的探測2005年美國宇航局進(jìn)行的彗星深度撞擊神州六號載人飛船內(nèi)部計(jì)算機(jī)控制通訊儀表2、計(jì)算機(jī)控制在現(xiàn)代工業(yè)生產(chǎn)中的應(yīng)用這是由計(jì)算機(jī)控制的全自動生產(chǎn)線這是由計(jì)算機(jī)控制的無縫鋼管生產(chǎn)線這是一個(gè)全自動三合一洗灌封生產(chǎn)線這是由計(jì)算機(jī)控制的礦泉水生產(chǎn)線這是由計(jì)算機(jī)控制的焊接機(jī)器人這是由計(jì)算機(jī)控制的數(shù)控機(jī)床這是由計(jì)算機(jī)控制的SMT自動貼片機(jī)3、計(jì)算機(jī)在軍事中的應(yīng)用采用計(jì)算機(jī)控制的“戰(zhàn)斧”巡航導(dǎo)彈射程2000公里,巡航高度,海上為7-15米,陸上平坦地區(qū)為60米以下,山地150米,有很強(qiáng)的低空突防能力。美國在1991年海灣戰(zhàn)爭中首次使用“戰(zhàn)斧”巡航導(dǎo)彈,此后又在多次戰(zhàn)爭中使用。美國戰(zhàn)斧巡航導(dǎo)彈中國的“紅鳥”巡航導(dǎo)彈中國的“東風(fēng)”戰(zhàn)略導(dǎo)彈中國的“巨浪”潛射導(dǎo)彈4、計(jì)算機(jī)在農(nóng)業(yè)中的應(yīng)用計(jì)算機(jī)控制的農(nóng)業(yè)噴灌系統(tǒng)計(jì)算機(jī)控制的高爾夫球場灌溉系統(tǒng)計(jì)算機(jī)在金融、商業(yè)上的應(yīng)用計(jì)算機(jī)控制的證券交易大廳1.4如何學(xué)好微機(jī)原理與接口技術(shù)這門課?如何學(xué)好《微機(jī)原理與接口技術(shù)》這門課?學(xué)會兩個(gè)轉(zhuǎn)變:1、“1+1=10”從“十進(jìn)制”到“二進(jìn)制”的轉(zhuǎn)變,因?yàn)橛?jì)算機(jī)內(nèi)部無論是指令還是數(shù)據(jù)都是用二進(jìn)制表示的2、“1+1=1”從一般運(yùn)算向布爾代數(shù)運(yùn)算轉(zhuǎn)變,計(jì)算機(jī)內(nèi)部的所有加、減、乘、除運(yùn)算最終都是用布爾代數(shù)運(yùn)算完成的。第一章結(jié)束第2章計(jì)算機(jī)中的數(shù)制和編碼熟悉數(shù)制的基本概念和計(jì)算機(jī)中常用進(jìn)位計(jì)數(shù)制掌握二、八、十、十六進(jìn)制的表達(dá)和相互轉(zhuǎn)換掌握帶符號數(shù)的表達(dá)和運(yùn)算:原碼、反碼、補(bǔ)碼掌握美國信息交換標(biāo)準(zhǔn)代碼(ASCII碼)和二—十進(jìn)制編碼——BCD碼的表達(dá)及應(yīng)用。了解微型計(jì)算機(jī)常用的漢字編碼及其應(yīng)用本章教學(xué)目的及要求2.1
常用術(shù)語位(bit):位是計(jì)算機(jī)所能表示的最小最基本的數(shù)據(jù)單元。在計(jì)算機(jī)中,它有兩種狀態(tài):0和1。字(word)和字長:字是計(jì)算機(jī)內(nèi)部進(jìn)行數(shù)據(jù)處理的基本單位。計(jì)算機(jī)的每個(gè)字包含的二進(jìn)制位的數(shù)目稱為字長。不同類型的計(jì)算機(jī)有不同的字長,如,8080是8位,80386是32位字節(jié)(Byte):相鄰的8位二進(jìn)制數(shù)稱為一個(gè)字節(jié)目前,通常一個(gè)字節(jié)定為8位,一個(gè)字定為16位,一個(gè)雙字定為32位存儲容量的表達(dá)比特b(二進(jìn)制1位)字節(jié)B(二進(jìn)制8位)1KB=210B=1024B1MB=220B、1GB=230B1TB=240B進(jìn)制的表示二進(jìn)制數(shù)用B或b結(jié)尾十進(jìn)制數(shù)可不用結(jié)尾字母, 也可用D或d結(jié)尾十六進(jìn)制數(shù)用H或h結(jié)尾請大家復(fù)習(xí)掌握本小節(jié)內(nèi)容2.1
常用術(shù)語2.2計(jì)算機(jī)中的數(shù)制及其轉(zhuǎn)換(無符號數(shù))
通常,計(jì)算機(jī)中的數(shù)據(jù)分為兩類:(1)數(shù):用來直接表示量的多少,有大小之分,能夠進(jìn)行加減等運(yùn)算。(2)碼:通常指代碼或編碼,在計(jì)算機(jī)中用來描述某種信息。
一、數(shù)制的基本概念1.?dāng)?shù)的表示:任何一種數(shù)制表示的數(shù)都可以寫成按位權(quán)展開的多項(xiàng)式之和。
N=dn-1bn-1+dn-2bn-2+dn-3bn-3+……d-mb-m式中:n——整數(shù)的總位數(shù)。m——小數(shù)的總位數(shù)。
di——表示該位的數(shù)碼。b——表示進(jìn)位制的基數(shù)。
bj——表示該位的位權(quán)。2.計(jì)算機(jī)中常用的進(jìn)位計(jì)數(shù)制計(jì)數(shù)制基數(shù)數(shù)碼進(jìn)位關(guān)系二進(jìn)制20、1逢二進(jìn)一八進(jìn)制80~7逢八進(jìn)一十進(jìn)制100~9逢十進(jìn)一十六進(jìn)制160~9、A~F逢十六進(jìn)一3.計(jì)數(shù)制的書寫規(guī)則(1)在數(shù)字后面加寫相應(yīng)的英文字母作為標(biāo)識。如:二進(jìn)制數(shù)100B,十六進(jìn)制數(shù)100H(2)在括號外面加數(shù)字下標(biāo)。如:(1011)2=1011B,(2DF2)16=2DF2H2.2計(jì)算機(jī)中的數(shù)制及其轉(zhuǎn)換(無符號數(shù))二、
數(shù)制之間的轉(zhuǎn)換(1)十進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)采用基數(shù)2連續(xù)去除該十進(jìn)制整數(shù),直至商等于“0”為止,然后逆序排列余數(shù)?!俺?取余”(2)十進(jìn)制小數(shù)轉(zhuǎn)化為二進(jìn)制小數(shù)連續(xù)用基數(shù)2去乘以該十進(jìn)制小數(shù),直至乘積的小數(shù)部分等于“0”,然后順序排列每次乘積的整數(shù)部分。
——“乘2取整”2.2計(jì)算機(jī)中的數(shù)制及其轉(zhuǎn)換(無符號數(shù))【例1】將十進(jìn)制整數(shù)(105)10轉(zhuǎn)換為二進(jìn)制整數(shù),采用“除2倒取余”的方法,過程如下:2︳105
2︳52
余數(shù)為12︳26
余數(shù)為02︳13
余數(shù)為02︳6
余數(shù)為12︳3
余數(shù)為02︳1
余數(shù)為10 余數(shù)為1
所以,(105)10=(1101001)22.2計(jì)算機(jī)中的數(shù)制及其轉(zhuǎn)換(無符號數(shù))【例2】將十進(jìn)制小數(shù)(0.8125)10轉(zhuǎn)換為二進(jìn)制小數(shù),采用“乘2順取整”的方法,過程如下:0.8125×2=1.625取整數(shù)位10.625×2=1.25取整數(shù)位10.25×2=0.5取整數(shù)位00.5×2=1.0取整數(shù)位1
所以,(0.8125)10=(0.1101)2如果出現(xiàn)乘積的小數(shù)部分一直不為“0”,則可以根據(jù)精度的要求截取一定的位數(shù)即可。
2.2計(jì)算機(jī)中的數(shù)制及其轉(zhuǎn)換(無符號數(shù))【例3】將十進(jìn)制整數(shù)(2347)10轉(zhuǎn)換為十六進(jìn)制整數(shù),采用“除16倒取余”的方法,過程如下:16︳2347
16︳146
余數(shù)為11(十六進(jìn)制數(shù)為B)
16︳9
余數(shù)為20余數(shù)為9
所以,(2347)10=(92B)162.2計(jì)算機(jī)中的數(shù)制及其轉(zhuǎn)換(無符號數(shù))(3)十進(jìn)制整數(shù)轉(zhuǎn)換為八進(jìn)制整數(shù)或十六進(jìn)制整數(shù)采用“除8取余”、“除16取余”(4)十進(jìn)制小數(shù)轉(zhuǎn)換為八進(jìn)制小數(shù)或十六進(jìn)制小數(shù)采用“乘8取整”、“乘16取整”【例4】將十進(jìn)制小數(shù)(0.65625)10轉(zhuǎn)換為十六進(jìn)制小數(shù),采用“乘16順取整”的方法,過程如下:0.65625×16=10.5取整數(shù)位10(十六進(jìn)制A)0.5×16=8取整數(shù)位8所以,(0.65625)10=(0.A8)16如果出現(xiàn)乘積的小數(shù)部分一直不為“0”,則可以根據(jù)精度的要求截取一定的位數(shù)即可。(5)二、八、十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)用其各位所對應(yīng)的系數(shù),按“位權(quán)展開求和”的方法就可以得到。其基數(shù)分別為2、8、16。(6)二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù):“合四為一”從小數(shù)點(diǎn)開始分別向左或向右,將每4位二進(jìn)制數(shù)分成1組,不足4位的補(bǔ)0,然后將每組用一位十六進(jìn)制數(shù)表示即可。(7)十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù):“一拆為四”將每位十六進(jìn)制數(shù)用4位二進(jìn)制數(shù)表示即可。(8)二進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制數(shù):“合三為一”
(9)八進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù):“一拆為三”2.2計(jì)算機(jī)中的數(shù)制及其轉(zhuǎn)換(無符號數(shù))
十六進(jìn)制轉(zhuǎn)換為十進(jìn)制計(jì)算實(shí)例【例5】將十六進(jìn)制小數(shù)(3BD.7A)16轉(zhuǎn)換為十進(jìn)制數(shù),采用“按權(quán)展開”的方法,過程如下:(3BD.7A)16=3×162+11×161+13×160+7×16-1+10×16-2=(957.4765625)10【例6】二進(jìn)制轉(zhuǎn)換為十六進(jìn)制:合四為一,不夠補(bǔ)零(1101110.01011)2
=(0110,1110.0101,1000)2=6E.58H【例7】十六進(jìn)制轉(zhuǎn)換為二進(jìn)制:一拆為四,去掉余零2F.1BH=(101111.00011011)2
2.2計(jì)算機(jī)中的數(shù)制及其轉(zhuǎn)換(無符號數(shù))二進(jìn)制數(shù)的運(yùn)算
1.二進(jìn)制數(shù)的算術(shù)運(yùn)算:
加、減、乘、除
2.二進(jìn)制數(shù)的邏輯運(yùn)算:與、或、非、異或2.2計(jì)算機(jī)中的數(shù)制及其轉(zhuǎn)換(無符號數(shù))2.3.1機(jī)器數(shù)和真值(帶符號數(shù))機(jī)器數(shù)和真值:
在計(jì)算機(jī)內(nèi)部表示二進(jìn)制數(shù)的方法稱為數(shù)值編碼,把一個(gè)數(shù)及其符號在機(jī)器中的表示加以數(shù)值化,稱為機(jī)器數(shù)。機(jī)器數(shù)所代表的數(shù)稱為數(shù)的真值。
在計(jì)算機(jī)中,為了區(qū)別正數(shù)和負(fù)數(shù),通常用二進(jìn)制數(shù)的最高位表示數(shù)的符號。對于一個(gè)字節(jié)型二進(jìn)制數(shù)來說,D7位為符號位,D6
D0位為數(shù)值位。在符號位中,規(guī)定用“0”表示正,“1”表示負(fù),而數(shù)值位表示該數(shù)的數(shù)值大小。1.原碼正數(shù)的符號位為0,負(fù)數(shù)的符號位為1,其它位按照一般的方法來表示數(shù)的絕對值。用這樣的表示方法得到的就是數(shù)的原碼。【例5】當(dāng)機(jī)器字長為8位二進(jìn)制數(shù)時(shí):
X=+1011011B[X]原碼=01011011BY=-1011011B[Y]原碼=11011011B[+1]原碼=00000001B[-1]原碼=10000001B2.3.2機(jī)器數(shù)的表示方法(帶符號數(shù))
一個(gè)8位二進(jìn)制原碼表示數(shù)的范圍為-127
+12716位二進(jìn)制原碼表示數(shù)的范圍為-32767
+32767;一般而言n位二進(jìn)制原碼數(shù)的表示范圍:-(2n-1-1)~2n-1-1“0”的原碼有兩種表示法:00000000表示+0,10000000表示-0。
2.3.2機(jī)器數(shù)原碼表示的范圍(帶符號數(shù))2.反碼對于帶符號的數(shù)來說,正數(shù)的反碼與其原碼相同,負(fù)數(shù)的反碼為其原碼除符號位以外的各位按位取反?!纠?】當(dāng)機(jī)器字長為8位二進(jìn)制數(shù)時(shí):
X=+1011011B[X]原碼=01011011B[X]反碼=01011011BY=-1011011B[Y]原碼=11011011B[Y]反碼=10100100B2.3.2機(jī)器數(shù)的表示方法(帶符號數(shù))[+1]反碼=00000001B[-1]反碼=11111110B[+127]反碼=01111111B[-127]反碼=10000000B
負(fù)數(shù)的反碼與負(fù)數(shù)的原碼有很大的區(qū)別,反碼通常用作求補(bǔ)碼過程中的中間形式。
8位二進(jìn)制反碼表示數(shù)的范圍為-127
+127,16位二進(jìn)制反碼表示數(shù)的范圍為-32767
+32767;“0”的反碼有兩種表示法:00000000表示+0,11111111表示-0。2.3.2機(jī)器數(shù)的表示方法(帶符號數(shù))3.補(bǔ)碼:正數(shù)的補(bǔ)碼與其原碼相同,負(fù)數(shù)的補(bǔ)碼為其反碼在最低位加1?!纠?】(1)X=+1011011B(2)Y=-1011011B(1)根據(jù)定義有:
[X]原碼=01011011B[X]補(bǔ)碼=01011011B(2)根據(jù)定義有:
[Y]原碼=11011011B[Y]反碼=10100100B [Y]補(bǔ)碼=10100101B2.3.2機(jī)器數(shù)的表示方法(帶符號數(shù))可以看出,8位二進(jìn)制補(bǔ)碼表示數(shù)的范圍為-27~+27-1=-128
+127,16位二進(jìn)制反碼表示數(shù)的范圍為-215~215-1=-32768
+32767。即補(bǔ)碼的范圍正負(fù)是不對稱的。8位二進(jìn)制數(shù)的原碼、反碼和補(bǔ)碼如表2.1所示。2.3.2機(jī)器數(shù)的表示方法(帶符號數(shù))表2.18位二進(jìn)制數(shù)的原碼、反碼和補(bǔ)碼表
2.3.2機(jī)器數(shù)的表示方法(帶符號數(shù))
補(bǔ)碼表示的整數(shù)范圍是-2n-1~+(2n-1-1),其中n為機(jī)器字長。
則:8位二進(jìn)制補(bǔ)碼表示的整數(shù)范圍是-128~+12716位二進(jìn)制補(bǔ)碼表示的整數(shù)范圍是-32768~+32767
當(dāng)運(yùn)算結(jié)果超出這個(gè)范圍時(shí),就不能正確表示數(shù)了,此時(shí)稱為溢出。
8位二進(jìn)制原碼表示的整數(shù)范圍是-127~+1278位二進(jìn)制反碼表示的整數(shù)范圍是-127~+127
2.3.2機(jī)器數(shù)的表示方法(帶符號數(shù))
補(bǔ)碼計(jì)算規(guī)則:正數(shù)補(bǔ)碼的真值等于補(bǔ)碼的本身;負(fù)數(shù)補(bǔ)碼轉(zhuǎn)換為其真值時(shí),將負(fù)數(shù)補(bǔ)碼按位求反,末位加1,即可得到該負(fù)數(shù)補(bǔ)碼對應(yīng)的真值的絕對值。【例8】[X]補(bǔ)碼=01011001B,[X]補(bǔ)碼=11011001B,分別求其真值X。(1)[X]補(bǔ)碼代表的數(shù)是正數(shù),其真值:X=+1011001B=+(1×26+1×24+1×23+1×20)=+(64+16+8+1)=+(89)D2.3.3真值和機(jī)器數(shù)之間的轉(zhuǎn)換(帶符號數(shù))(2)[X]補(bǔ)碼代表的數(shù)是負(fù)數(shù),則真值:
X=-([1011001]求反+1)B
=-(0100110+1)B
=-(0100111)B
=-(1×25+1×22+1×21+1×20)=-(32+4+2+1)=-(39)D2.3.3真值和機(jī)器數(shù)之間的轉(zhuǎn)換(帶符號數(shù))1.補(bǔ)碼加法
在計(jì)算機(jī)中,凡是帶符號數(shù)一律用補(bǔ)碼表示,運(yùn)算結(jié)果自然也是補(bǔ)碼。其運(yùn)算特點(diǎn)是:符號位和數(shù)值位一起參加運(yùn)算,并且自動獲得結(jié)果(包括符號位與數(shù)值位)。補(bǔ)碼加法的運(yùn)算規(guī)則為:即:兩數(shù)補(bǔ)碼的和等于兩數(shù)和的補(bǔ)碼。2.3.4補(bǔ)碼的加減運(yùn)算
【例9】已知
[+51]補(bǔ)=00110011B,[+66]補(bǔ)=01000010B,
[-51]補(bǔ)=11001101B,[-66]補(bǔ)=10111110B
求[+66]補(bǔ)+[+51]補(bǔ)=?
[+66]補(bǔ)+[-51]補(bǔ)=?
[-66]補(bǔ)+[-51]補(bǔ)=?
2.3.4補(bǔ)碼的加減運(yùn)算由于[+66]補(bǔ)+[+51]補(bǔ)=[(+66)+(+55)]補(bǔ)=01110101B結(jié)果為正,因此[(+66)+(+55)]原=[(+66)+(+55)]補(bǔ)=01110101B其真值為+117,計(jì)算結(jié)果正確。
二進(jìn)制(補(bǔ)碼)加法十進(jìn)制加法
01000010[+66]補(bǔ)
+66+)00110011[+51]補(bǔ)
+)+51?01110101[+117]補(bǔ)
+117
2.3.4補(bǔ)碼的加減運(yùn)算由于[+66]補(bǔ)+[?51]補(bǔ)=[(+66)+(?55)]補(bǔ)=0000111B結(jié)果為正,因此[(+66)+(?55)]原=[(+66)+(?55)]補(bǔ)=00001111其真值為+15,計(jì)算結(jié)果正確。
二進(jìn)制(補(bǔ)碼)加法十進(jìn)制加法
01000010[+66]補(bǔ)
+66+)11001101[?51]補(bǔ)
+)?5100001111[+15]補(bǔ)
+151自動丟失2.3.4補(bǔ)碼的加減運(yùn)算
二進(jìn)制(補(bǔ)碼)加法十進(jìn)制加法
10111110[-66]補(bǔ)
-66+)11001101[?51]補(bǔ)
+)?5110001011[-117]補(bǔ)
-1171自動丟失由于[?66]補(bǔ)+[?51]補(bǔ)=10001011B=[(?66)+(?55)]補(bǔ)結(jié)果為負(fù),因此
[(?66)+(?55)]原=[[(?66)+(?55)]補(bǔ)]補(bǔ)=11110101B其真值為?117,計(jì)算結(jié)果正確。
可以看出,不論正數(shù)還是負(fù)數(shù),只要直接用它們的補(bǔ)碼直接相加,當(dāng)結(jié)果不超出補(bǔ)碼所表示的范圍時(shí),計(jì)算結(jié)果便是正確的補(bǔ)碼形式。但當(dāng)計(jì)算結(jié)果超出補(bǔ)碼表示范圍時(shí),結(jié)果就不正確了,這種情況稱為溢出。2.3.4補(bǔ)碼的加減運(yùn)算2.補(bǔ)碼減法補(bǔ)碼減法的運(yùn)算規(guī)則為:請同學(xué)們將例9中的加法變?yōu)闇p法運(yùn)用規(guī)則重新計(jì)算!2.3.4補(bǔ)碼的加減運(yùn)算計(jì)算機(jī)中帶符號數(shù)用補(bǔ)碼表示時(shí)有如下優(yōu)點(diǎn):①可以將減法運(yùn)算變?yōu)榧臃ㄟ\(yùn)算,因此可使用同一個(gè)運(yùn)算器實(shí)現(xiàn)加法和減法運(yùn)算,簡化了電路。②無符號數(shù)和帶符號數(shù)的加法運(yùn)算可以用同一個(gè)加法器實(shí)現(xiàn),結(jié)果都是正確的。例如:
無符號數(shù)帶符號數(shù)
11100001 225 [?31]補(bǔ)+)00001101?+) 13 +)[+13]補(bǔ)
11101110 238[?18]補(bǔ)2.3.4補(bǔ)碼的加減運(yùn)算1.進(jìn)位與溢出所謂進(jìn)位,是指運(yùn)算結(jié)果的最高位向更高位的進(jìn)位,用來判斷無符號數(shù)運(yùn)算結(jié)果是否超出了計(jì)算機(jī)所能表示的最大無符號數(shù)的范圍。溢出是指帶符號數(shù)的補(bǔ)碼運(yùn)算溢出,用來判斷帶符號數(shù)補(bǔ)碼運(yùn)算結(jié)果是否超出了補(bǔ)碼所能表示的范圍。如果運(yùn)算結(jié)果超出此范圍,就叫補(bǔ)碼溢出,簡稱溢出。2.3.5進(jìn)位與溢出2.溢出的判斷方法單符號位法。該方法通過符號位和數(shù)值部分最高位的進(jìn)位狀態(tài)來判斷結(jié)果是否溢出。
(1)當(dāng)次高位向最高位有進(jìn)位且最高位向前也有進(jìn)位或者次高位向最高位沒有進(jìn)位且最高位向前也沒有進(jìn)位時(shí),結(jié)果沒有溢出;即最高位與次高位進(jìn)位狀態(tài)相同時(shí)沒溢出。(2)當(dāng)次高位向最高位有進(jìn)位而最高位向前沒有進(jìn)位或者次高位向最高位沒有進(jìn)位而最高位向前有進(jìn)位時(shí),結(jié)果溢出。即即最高位與次高位進(jìn)位狀態(tài)不同時(shí)結(jié)果溢出。2.3.5進(jìn)位與溢出
【例10】
x=01000100B,y=01001000B,計(jì)算x+y,試問:①若為無符號數(shù),計(jì)算結(jié)果是否正確?②若為帶符號補(bǔ)碼數(shù),計(jì)算結(jié)果是否溢出?
無符號數(shù)帶符號數(shù)
0100010068[+68]補(bǔ)+)01001000+)72+)[+72]補(bǔ)
10001100140[+140]補(bǔ)DF=1CF=0①若為無符號數(shù),由于CF=0,計(jì)算結(jié)果正確。②若為帶符號數(shù)補(bǔ)碼,由于結(jié)果溢出因此結(jié)果是錯(cuò)誤的。2.3.5進(jìn)位與溢出一、美國信息交換標(biāo)準(zhǔn)代碼(ASCII碼)ASCII(AmericanStandardCodeforInformationInterchange)碼是美國信息交換標(biāo)準(zhǔn)代碼的簡稱,用于給西文字符編碼;包括英文字母的大小寫、數(shù)字、專用字符、控制字符等;這種編碼由7位二進(jìn)制數(shù)組合而成,可以表示128種字符。包括:
34個(gè)控制字符;10個(gè)阿拉伯?dāng)?shù)字;52個(gè)英文大小寫字母;32個(gè)專用符號2.4字符編碼二、二—十進(jìn)制編碼——BCD碼BCD(Binary-CodedDecimal)碼又稱為“二—十進(jìn)制編碼”,專門解決用二進(jìn)制數(shù)表示十進(jìn)數(shù)的問題。最常用的是8421編碼,其方法是用4位二進(jìn)制數(shù)表示1位十進(jìn)制數(shù)。1.壓縮BCD碼:每一位數(shù)用4位二進(jìn)制數(shù)來表示,即一個(gè)字節(jié)表示2位十進(jìn)制數(shù)。如:(10001001)BCD=89D。2.非壓縮BCD碼:每一位數(shù)用8位二進(jìn)制數(shù)來表示,即一個(gè)字節(jié)表示1位十進(jìn)制數(shù)。而且只用每個(gè)字節(jié)的低4位來表示0~9,高4位為0。如:89D=(0000100000001001)BCD
2.4字符編碼
【例11】設(shè)x=10010110B,當(dāng)x分別為無符號數(shù)、原碼、補(bǔ)碼、壓縮型BCD碼時(shí),試分別計(jì)算x所代表的數(shù)值大小。解:無符號數(shù):真值為x=150
原碼: [x]原=10010110B 真值為x=?22
補(bǔ)碼: [x]補(bǔ)=10010110B [x]原=[[x]補(bǔ)]補(bǔ)=11101010B真值為 x=?106BCD碼:[x]BCD=10010110B 真值為x=962.4字符編碼2.5二進(jìn)制全加器設(shè)計(jì)
在進(jìn)行多位二進(jìn)制全加器之前,我們現(xiàn)分析一位全加器的設(shè)計(jì)方法,搞清一位全加器的設(shè)計(jì)后,再由它組合設(shè)計(jì)出任意位的多位全加器。計(jì)算機(jī)內(nèi)部所有運(yùn)算電路都是用布爾邏輯代數(shù)設(shè)計(jì)的,因此,在進(jìn)行一位全加器設(shè)計(jì)之前,要寫出一位全加器的邏輯真值表。全加的含義:指除了進(jìn)行一位加法的兩位二進(jìn)制數(shù)Ai,Bi外,還包含了一位進(jìn)位Ci。2.2.4基本的二進(jìn)制加法/減法器
首先我們來討論最簡單的一位全加器的結(jié)構(gòu),設(shè)定兩個(gè)二進(jìn)制數(shù)字Ai,Bi和一個(gè)進(jìn)位輸入Ci相加,產(chǎn)生一個(gè)和輸出Si,以及一個(gè)進(jìn)位輸出Ci+1。
Ai
+Bi
Ci
Ci+1Si
下表列出一位全加器進(jìn)行加法運(yùn)算的輸入輸出真值表。本位和產(chǎn)生的進(jìn)位
輸入
輸出AiBiCiSiCi+10000000110010100110110010101011100111111表2.1一位全加器真值表
根據(jù)表2.1所示的真值表,三個(gè)輸入端和兩個(gè)輸入端可按如下邏輯方程進(jìn)行聯(lián)系:
Si=Ai⊕Bi⊕CiCi+1=AiBi+BiCi+CiAi
按此表達(dá)式組成的一位全加器下圖示所示。FACi+1SiAiBiCiN位全加器當(dāng)M=0時(shí),B直接送到每位全加器,做加法運(yùn)算;當(dāng)M=1時(shí),B取反送到全加
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 理性的聲音課件
- 班長講解課件
- 安全高效生產(chǎn)法講解
- 小眾圈層話術(shù)
- 2025年虛擬現(xiàn)實(shí)工業(yè)自動化設(shè)備狀態(tài)監(jiān)測技術(shù)創(chuàng)新分析
- 親密溝通話術(shù)
- 砍價(jià)話術(shù)實(shí)戰(zhàn)案例
- 安全鉆研精神講解
- 銷售產(chǎn)品情景面試技巧
- 轉(zhuǎn)行面試成功經(jīng)驗(yàn)分享
- 《市場營銷專業(yè)申報(bào)》課件
- 三年級數(shù)學(xué)上冊 (提高版)第8章《分?jǐn)?shù)的初步認(rèn)識》單元培優(yōu)拔高測評試題(教師版含解析)(人教版)
- 19計(jì)科機(jī)器學(xué)習(xí)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 全國職業(yè)院校技能大賽賽項(xiàng)規(guī)程(高職)農(nóng)產(chǎn)品質(zhì)量安全檢測
- DB51∕T 3179-2024 杵針技術(shù)操作規(guī)范
- 專利共同申請合同模板(2024版)
- 國開機(jī)考答案21-人文英語1(閉卷)
- AQ∕T 7009-2013 機(jī)械制造企業(yè)安全生產(chǎn)標(biāo)準(zhǔn)化規(guī)范
- MOOC 近代物理實(shí)驗(yàn)-西南大學(xué) 中國大學(xué)慕課答案
- 教科版三年級科學(xué)上冊課件《運(yùn)動和位置》
- 河北省部分地區(qū)2023-2024學(xué)年度高二上學(xué)期期末考試英語試題(解析版)
評論
0/150
提交評論