版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
課程特點(diǎn)與考察方式工程類課程重視應(yīng)用不要鉆牛角尖授課內(nèi)容有側(cè)重考查方式閉卷考試卷面成績60%,平時成績40%(實(shí)驗(yàn),作業(yè),課堂)綜設(shè)實(shí)驗(yàn)的重要性,對最終成績的影響第1章計算機(jī)基本知識1.1微型計算機(jī)組成1.2微型計算機(jī)中信息的表示及運(yùn)算1.3幾種數(shù)制之間的相互
計算機(jī)技術(shù)飛速發(fā)展計算機(jī)應(yīng)用領(lǐng)域不斷擴(kuò)大早期計算機(jī)主要應(yīng)用于科學(xué)計算中,有兩個特點(diǎn):第一,沒有很強(qiáng)的實(shí)時性要求第二,輸入輸出計算機(jī)的數(shù)據(jù),不需要專用的輸入設(shè)備和專用的輸出設(shè)備。一般用高級語言編程高級語言是面向用戶的,編程容易方便,易學(xué)易用。當(dāng)代計算機(jī)在信息處理和過程控制等領(lǐng)域的應(yīng)用對系統(tǒng)的實(shí)時性有很高的要求程序更精練,運(yùn)行起來更快(用機(jī)器語言或匯編語言編程)需要專門的輸入設(shè)備將有關(guān)信息輸入計算機(jī),用專門的輸出設(shè)備輸出處理結(jié)果或?qū)Ρ豢貙ο髮?shí)施控制專用的輸入輸出設(shè)備與計算機(jī)的連接和編程控制(稱為接口)為此,必須對計算機(jī)的工作原理有更深入的了解,對計算機(jī)的邏輯組成、工作原理、與外界的接口技術(shù)以及直接依賴于計算機(jī)邏輯結(jié)構(gòu)的機(jī)器語言、匯編語言編程方法等需要進(jìn)一步的學(xué)習(xí)。1.1微型計算機(jī)組成
計算機(jī)的發(fā)展,和電子技術(shù),特別是微電子技術(shù)密切相關(guān)的。自1946年世界上第一臺電子計算機(jī)問世以來,計算機(jī)的發(fā)展已經(jīng)歷了四代:電子管計算機(jī)、晶體管計算機(jī)、集成電路計算機(jī)和大規(guī)模、超大規(guī)模集成電路計算機(jī)。目前,各國正加緊研制和開發(fā)第五代“非馮·諾依曼”計算機(jī)和第六代“神經(jīng)網(wǎng)絡(luò)”計算機(jī)、“量子”計算機(jī)。世界上第一臺計算機(jī)有五個基本部件:輸入設(shè)備、輸出設(shè)備、運(yùn)算器、存儲器、控制器、奠定了當(dāng)代電子數(shù)字計算機(jī)體系結(jié)構(gòu)的基礎(chǔ)
1.1微型計算機(jī)組成
微型計算機(jī)屬于第四代計算機(jī)。體積小、功耗低、可靠性高,大規(guī)模集成電路技術(shù)的不斷發(fā)展也為微型計算機(jī)的產(chǎn)生打下了堅(jiān)實(shí)的物質(zhì)基礎(chǔ)。微型計算機(jī)
(MicroComputer)是由微處理器(CPU)、存儲器和I/O接口電路組成的計算機(jī)。
微處理器(MicroProcessor)是微型計算機(jī)的核心芯片,它是將計算機(jī)中的運(yùn)算器和控制器集成在一片硅片上制成的集成電路。也被稱為中央處理單元,簡稱為CPU(CentralProcessingUnit)。微處理器發(fā)展極快,幾乎每兩年微處理器的集成度翻一番,每24年更新?lián)Q代一次。
第一代——4位或低檔8位微處理器指令系統(tǒng)簡單,運(yùn)算能力差,速度慢(平均指令執(zhí)行時間為1020s)。軟件主要使用機(jī)器語言及簡單的匯編語言編寫。
第二代——中高檔8位微處理器8位微處理器,具有16位地址總線。指令的平均執(zhí)行時間為12s。指令系統(tǒng)相對比較完善,已具有典型的計算機(jī)體系結(jié)構(gòu)以及中斷、存儲器直接存取(DMA)功能。已經(jīng)配有單用戶操作系統(tǒng),可使用匯編語言及BASIC、FORTRAN等高級語言編寫程序。
第三代——16位微處理器16位微處理器,具有20位地址總線。有豐富的指令系統(tǒng)、多級中斷系統(tǒng)、多處理機(jī)系統(tǒng)、段式存儲器管理以及硬件乘除法器等。準(zhǔn)16位的8088CPU,其指令系統(tǒng)與8086完全兼容,CPU內(nèi)部結(jié)構(gòu)仍為16位,但外部數(shù)據(jù)總線是8位的。16位微處理器芯片80286。它具有24位地址總線,并具有多任務(wù)系統(tǒng)所必須的任務(wù)切換功能、存儲器管理功能以及各種保護(hù)功能。第四代——32位高檔微處理器Intel公司的32位微處理器芯片80386,其地址總線也為32位。80386SX內(nèi)部結(jié)構(gòu)位32位,外部數(shù)據(jù)總線為16位,采用80287作為協(xié)處理器。80386DX內(nèi)部結(jié)構(gòu)、外部數(shù)據(jù)總線皆為32位,采用80387作為協(xié)處理器。
第四代——32位高檔微處理器Intel公司的32位微處理器芯片80486,其地址總線仍然為32位。它相當(dāng)于把80386、80387及8KB高速緩沖存儲器(Cache)集成在一塊芯片上,性能比80386有較大提高。AMD、Cyrix等80486的兼容CPUIntel公司推出的Pentium(奔騰,Intel586)也屬于32位CPU。Pentium微處理器數(shù)據(jù)總線為64位,地址總線為36位,有兩條超標(biāo)量流水線,兩個并行執(zhí)行單元及雙高速緩沖存儲器,工作頻率有50MHz、66MHz、133MHz、和166MHz等。
第五代——64位高檔微處理器Intel公司在2005年推出第一款64位CPU,Pentium46XX,高端產(chǎn)品P4EE,隨后又發(fā)布了64位的CeleronDCPU系列芯片。雙核CPU,多核CPU。微型機(jī)系統(tǒng)硬件軟件微型計算機(jī)外圍設(shè)備系統(tǒng)軟件應(yīng)用軟件CPU內(nèi)存輸入/輸出接口電路電源和輔助電路1.1微型計算機(jī)組成硬件
微型機(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ī)系統(tǒng)的組成
基于總線的微型計算機(jī)硬件系統(tǒng)目前,計算機(jī)仍沿用1940年由馮.諾依曼首先提出的體系結(jié)構(gòu)。其基本設(shè)計思想為:①以二進(jìn)制形式表示指令和數(shù)據(jù)。②程序和數(shù)據(jù)事先存放在存儲器中,計算機(jī)在工作時能夠高速地從存儲器中取出指令加以執(zhí)行。③由運(yùn)算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備等五大部件組成計算機(jī)硬件系統(tǒng)??偩€,各功能部件間傳送信息的公共通道。帶狀的扁平電纜線或印刷電路板上的金屬連線。根據(jù)所傳送信息的內(nèi)容與作用,可分三類:地址總線AB(AddressBus):在對存儲器或I/O端口進(jìn)行訪問時,傳送由CPU提供的地址信息,以選中要訪問的存儲單元或I/O端口,單向總線。
數(shù)據(jù)總線DB(DataBus):從存儲器取指令或讀寫操作數(shù),對I/O端口進(jìn)行讀寫操作時,指令碼或數(shù)據(jù)信息通過數(shù)據(jù)總線與CPU傳送,雙向總線。
控制總線CB(ControlBus):各種控制或狀態(tài)信息通過控制總線在CPU和有關(guān)部件之間傳送。CB中每根線的傳送方向是一定的,CB作為一個整體,用雙向表示。
存儲器指內(nèi)存儲器(又稱為主存或內(nèi)存)。它是微型計算機(jī)的存儲和記憶裝置,用來存放指令、原始數(shù)據(jù)、中間結(jié)果和最終結(jié)果。在計算機(jī)內(nèi)部,程序和數(shù)據(jù)都以二進(jìn)制形式表示,8位二進(jìn)制代碼作為一個字節(jié)。為了便于對存儲器進(jìn)行訪問,存儲器通常被劃分為許多單元,每個存儲單元存放一個字節(jié)的二進(jìn)制信息,每個存儲單元分別賦予一個編號,稱為地址。
計算機(jī)在執(zhí)行程序時,CPU會自動而連續(xù)地從內(nèi)存儲器中取出要執(zhí)行的指令,并執(zhí)行指令規(guī)定的操作。計算機(jī)每完成一條指令,至少有一次為取指令而讀內(nèi)存的操作。內(nèi)存儲器是計算機(jī)主機(jī)的一部分,具有一定容量且速度較高,CPU可直接用指令對內(nèi)存儲器進(jìn)行讀寫。在微型計算機(jī)中,通常用半導(dǎo)體存儲器作為內(nèi)存儲器。E7H34HA5HF2H68H……4001H4002H4003H4004H4005H……地址指令或數(shù)據(jù)內(nèi)容
01101000內(nèi)存單元的地址和內(nèi)容
關(guān)于存儲器的
幾個基本概念位(Bit):二進(jìn)制信息的最小單位(0或1)字節(jié)(Byte):由8位二進(jìn)制數(shù)組成,可以存放在一個存儲單元中。是字的基本組成單位。字(Word):計算機(jī)中作為一個整體來處理和運(yùn)算的一組二進(jìn)制數(shù),是字節(jié)的整數(shù)倍。通常它與計算機(jī)內(nèi)部的寄存器、算術(shù)邏輯單元、數(shù)據(jù)總線寬度相一致。字長:每個字的位數(shù)稱為計算機(jī)的,是計算機(jī)的重要性能指標(biāo)。內(nèi)存容量:內(nèi)存中存儲單元的總數(shù)。通常以字節(jié)為單位,1024(210)字節(jié)記作1KB,220字節(jié)記作1MB,230字節(jié)記作1GB。內(nèi)存單元地址:為了能識別不同的單元,每個單元都賦予一個編號,稱之為內(nèi)存單元地址。各內(nèi)存單元的地址與單元中存放的內(nèi)容是兩個完全不同的概念,不可混淆。
內(nèi)存的操作
CPU對內(nèi)存的操作有兩種:讀或?qū)?。讀操作是CPU將內(nèi)存單元的內(nèi)容讀入CPU內(nèi)部,而寫操作是CPU將其內(nèi)部信息送到內(nèi)存單元保存起來。寫操作的結(jié)果改變了被寫內(nèi)存單元的內(nèi)容,是破壞性的,而讀操作是非破壞性的,即該內(nèi)存單元的內(nèi)容在信息被讀出之后仍保持原信息不變。來自CPU的讀信號90H地址譯碼器10101101B00011010B10111010B00100010B內(nèi)容地址00H01HFFHAB10010000B10111010BDB(a)內(nèi)存讀操作過程示意圖10101101B00011010B10111010B00100010B內(nèi)容90H來自CPU的寫信號地址譯碼器地址00H01HFFHAB10010000B00000000BDB(b)內(nèi)存寫操作過程示意圖內(nèi)存的分類按工作方式,內(nèi)存可分為兩大類:隨機(jī)讀寫存儲器RAM(RandomAccessMemory)和只讀存儲器ROM(ReadOnlyMemory)。隨機(jī)讀寫存儲器可被CPU隨機(jī)地讀寫,它用于存放將要被CPU執(zhí)行的用戶程序、數(shù)據(jù)以及部分系統(tǒng)程序。斷電后,其中存放的所有信息將丟失。只讀存儲器中的信息只能被CPU讀取,而不能由CPU任意地寫入。斷電后,其中的信息不會丟失。它用于存放永久性的程序和數(shù)據(jù)。如系統(tǒng)引導(dǎo)程序、監(jiān)控程序、操作系統(tǒng)中的基本輸入/輸出管理程序(BIOS)等。I/O接口與輸入輸出設(shè)備
I/O接口是微型計算機(jī)與輸入輸出設(shè)備之間信息交換的橋梁。程序、數(shù)據(jù)及現(xiàn)場信息要通過輸入設(shè)備輸入給計算機(jī)。計算機(jī)的處理結(jié)果要通過輸出設(shè)備輸出,以便用戶使用。常用的輸入設(shè)備有:鍵盤、鼠標(biāo)、數(shù)字化儀、掃描儀、A/D轉(zhuǎn)換器等。常用的輸出設(shè)備有顯示器、打印機(jī)、繪圖儀、D/A轉(zhuǎn)換器等。
外設(shè)的種類多,速度低,處理的信息多樣,與微機(jī)工作的邏輯時序也可能不一致。為此,而需要設(shè)計一個I/O接口作為微型機(jī)與外設(shè)之間的橋梁。I/O接口也稱為I/O適配器,不同的外設(shè)必須通過不同的I/O適配卡(板)才能與微機(jī)相連。所以,I/O接口是微型計算機(jī)應(yīng)用系統(tǒng)的重要組成部件。一個微機(jī)應(yīng)用系統(tǒng)的研制和開發(fā),實(shí)際上是I/O接口的研制和開發(fā)。因此,I/O接口技術(shù)是本課程要重點(diǎn)討論的內(nèi)容之一.
微型計算機(jī)軟件系統(tǒng)
軟件:為了管理、維護(hù)計算機(jī)以及為完成用戶的某種特定任務(wù)而編寫的各種程序的總和。計算機(jī)的工作就是運(yùn)行程序,通過逐條地從存儲器(內(nèi)存)中取出程序中的指令并執(zhí)行指令規(guī)定的操作而實(shí)現(xiàn)某種特定的功能。
微型計算機(jī)的軟件包括系統(tǒng)軟件和用戶(應(yīng)用)軟件。
系統(tǒng)軟件:指不需要用戶干預(yù)的,為其它程序的開發(fā)、調(diào)試以及運(yùn)行等建立一個良好環(huán)境的程序。主要包括操作系統(tǒng)OS(OperatingSystem)和系統(tǒng)應(yīng)用程序。操作系統(tǒng)用于提供人機(jī)接口和管理、調(diào)度計算機(jī)的所有硬件與軟件資源。
操作系統(tǒng)還包括用于執(zhí)行I/O操作的I/O驅(qū)動程序,操作系統(tǒng)還包括用于管理存放在外存中大量數(shù)據(jù)的文件管理程序,系統(tǒng)應(yīng)用程序很多,如各種高級語言的編譯程序、匯編程序、診斷和調(diào)試程序,文字處理程序,服務(wù)性工具程序,數(shù)據(jù)庫管理程序等。用戶軟件就是用戶為解決各種實(shí)際問題而編寫的各種程序。常用的編程語言:機(jī)器語言程序,計算機(jī)能夠理解和直接執(zhí)行,其指令用二進(jìn)制代碼表示和存儲的。匯編語言程序,是用助記符語言表示的程序,需要經(jīng)過“匯編程序”轉(zhuǎn)換為機(jī)器語言程序后才能執(zhí)行。二者指令一一對應(yīng),都是面向機(jī)器。高級語言是不依賴于具體機(jī)型只面向過程的程序設(shè)計語言,由它所編寫的高級語言程序,需經(jīng)過編譯程序或解釋程序的編譯或解釋生成機(jī)器語言程序后才能執(zhí)行。因此,不論程序是用什么語言編寫,都必須首先將其轉(zhuǎn)換為計算機(jī)能直接識別和執(zhí)行的機(jī)器語言程序,然后才能由CPU逐條讀取并執(zhí)行。
微型計算機(jī)的工作過程
匯編語言編程匯編裝入機(jī)器語言程序
內(nèi)存單元地址機(jī)器語言程序
匯編語言程序
指令功能說明0000H0001H1011000100000110MOVA,06H雙字節(jié)指令。將數(shù)字6送累加器A0002H0003H0000100000000101ADDA,05H雙字節(jié)指令。將數(shù)字5與累加器A中的內(nèi)容相加,結(jié)果存放在累加器A中。0004H11111110HLT停機(jī)指令
某模型機(jī)上完成“6+5”操作所需的機(jī)器語言程序和匯編語言程序假設(shè)該機(jī)器語言程序從內(nèi)存中地址為0000H單元開始存放。
微機(jī)的工作過程就是不斷地從內(nèi)存中取出指令并執(zhí)行指令的過程。取指階段,按PC(ProgramCounter),取指到IR,執(zhí)行指令階段,操作碼字段譯碼,并發(fā)出執(zhí)行該指令所需要的各種微操作控制信號,CPU執(zhí)行指令所規(guī)定的具體操作。一條指令執(zhí)行完畢后,轉(zhuǎn)入下一條指令的取指階段。這樣周而復(fù)始地循環(huán),直到遇到暫停指令時結(jié)束。
對于所有的機(jī)器指令,取指階段都是由一系列相同的操作組成的,所用的時間都是相同的。而執(zhí)行指令階段由不同的事件順序組成,它取決于被執(zhí)行指令的類型。指令通常由操作碼(OperationCode)和操作數(shù)(Operand)兩部分組成。操作碼表示該指令完成的操作,而操作數(shù)表示參加操作的數(shù)本身或操作數(shù)所在的地址。指令根據(jù)其所含內(nèi)容的不同而有單字節(jié)指令、雙字節(jié)指令以及多字節(jié)指令等。
取第一條指令的操作過程示意圖CPU的發(fā)展更大的緩存、更高的頻率、超級流水線、分支預(yù)測、亂序執(zhí)行超線程技術(shù)多核技術(shù)低功耗單片機(jī)簡介單片機(jī)即單片機(jī)微型計算機(jī),是將計算機(jī)主機(jī)(CPU、內(nèi)存和I/O接口)集成在一小塊硅片上的微型機(jī)。單片機(jī)開發(fā)系統(tǒng)有單片單板機(jī)和仿真器。實(shí)現(xiàn)單片機(jī)應(yīng)用系統(tǒng)的硬、軟件開發(fā)。單片機(jī)為工業(yè)測控而設(shè)計,又稱微控制器。具有三高優(yōu)勢(集成度高、可靠性高、性價比高)。主要應(yīng)用于工業(yè)檢測與控制、計算機(jī)外設(shè)、智能儀器儀表、通訊設(shè)備、家用電器等。特別適合于嵌入式微型機(jī)應(yīng)用系統(tǒng)。幾個重要的數(shù)字邏輯電路編碼器譯碼器計數(shù)器微機(jī)自動工作的條件程序指令順序存放自動跟蹤指令執(zhí)行1、地址譯碼器2、指令譯碼器小結(jié)指令的執(zhí)行過程
(1)取指令程序計數(shù)器PC中的內(nèi)容通過地址總線輸出讀內(nèi)存指令到CPU指令寄存器中將PC的內(nèi)容遞增,為取下一條指令做好準(zhǔn)備(2)指令譯碼(3)執(zhí)行指令微機(jī)基本結(jié)構(gòu)微機(jī)結(jié)構(gòu)組成連接方式CPU結(jié)構(gòu)管腳特點(diǎn)1、多功能;2、分時復(fù)用內(nèi)部結(jié)構(gòu)1、控制;2、運(yùn)算;3、寄存器;4、地址程序計數(shù)器堆棧定義1、定義;2、管理;3、堆棧形式1.2.1二進(jìn)制數(shù)的表示和運(yùn)算1.2.2BCD碼的表示及運(yùn)算1.2.3
十六進(jìn)制數(shù)的表示和運(yùn)算1.2.4
帶符號數(shù)的表示及運(yùn)算1.2.5字符的編碼表示1.2微型計算機(jī)中信息的表示及運(yùn)算1.2.1二進(jìn)制數(shù)的表示和運(yùn)算
十進(jìn)制數(shù)表示的特點(diǎn)是:①逢十進(jìn)一;②使用10個數(shù)字符號(09)的不同組合來表示;③以后綴D或d表示十進(jìn)制數(shù)(Decimal),但該后綴可以省略任何一個十進(jìn)制數(shù)可表示為:m位小數(shù),n位整數(shù),Di為第i位上的數(shù)符(09)。1.
二進(jìn)制數(shù)表示的特點(diǎn)是:①逢二進(jìn)一;②使用2個數(shù)字符號(0,1)的不同組合來表示;③以后綴B或b表示二進(jìn)制數(shù)(Binary)。任何一個二進(jìn)制數(shù)可表示為:m位小數(shù),n位整數(shù),Bi為第i位上的數(shù)符(0或1)。例:11010010B=
2.二進(jìn)制數(shù)的運(yùn)算
(1)
算術(shù)運(yùn)算加:0+0=00+1=11+0=11+1=0(進(jìn)1)
減: 0-0=01-1=01-0=10-1=1(借位)
乘:00=001=010=011=1除:二進(jìn)制除法是乘法的逆運(yùn)算。例A=11110000B,B=00110101B,求解
(2)
邏輯運(yùn)算
邏輯“與“運(yùn)算(AND).00=001=010=011=1
邏輯“或”運(yùn)算(OR)00=001=110=111=1
邏輯“非”運(yùn)算(NOT)
邏輯“異或”運(yùn)算(XOR)
例A=11110101B,B=00110000B,求解1.2.2BCD碼的表示及運(yùn)算(1)BCD碼的表示二進(jìn)制編碼的十進(jìn)制數(shù)十進(jìn)制數(shù)的每一位(0~9)分別用4位二進(jìn)制碼表示,也稱二-十進(jìn)制(Binary-CodedDecimal)。最常用的是8421BCD碼,從00001111這16種編碼中選擇前10個即00001001分別代表十進(jìn)制數(shù)碼09,這種編碼從高位到低位每位的權(quán)值分別是8、4、2、1。BCD碼有兩種形式,即壓縮型BCD碼和非壓縮型BCD碼。
1)壓縮型BCD碼
壓縮型BCD碼用一個字節(jié)表示兩位十進(jìn)制數(shù)。例如,10000110B表示十進(jìn)制數(shù)86。
2)非壓縮型BCD碼
非壓縮型BCD碼用一個字節(jié)表示一位十進(jìn)制數(shù)。高4位總是0000,低4位用00001001表示09。例如,0000100000000110B表示十進(jìn)制數(shù)86。表8421BCD碼部分編碼表十進(jìn)制數(shù)壓縮型BCD碼非壓縮型BCD碼12391011192021000000010000001000000011000010010001000000010001000110010010000000100001000000010000001000000011
0000100100000001000000000000000100000001
000000010000100100000010000000000000001000000001例
十進(jìn)制數(shù)與BCD數(shù)相互轉(zhuǎn)換。①將十進(jìn)制數(shù)69表示為壓縮型BCD碼:
01101001B(69H)表示為非壓縮型BCD碼:0000011000001001B(0609H)②將BCD碼10001001.01101001B表示為十進(jìn)制數(shù):
89.69
(2)BCD碼的加、減運(yùn)算例:BCD碼按二進(jìn)制加法:
1000+0101=11011001+0111=10000錯誤原因解決方法兩位BCD碼相加時,對二進(jìn)制加法運(yùn)算結(jié)果修正的規(guī)則:①結(jié)果大于9,則該位加6修正。②結(jié)果向高位有進(jìn)位(結(jié)果大于或等于16),則該位加6修正。
例:用BCD碼計算88+69。
1000100088的BCD碼+)0110100169的BCD碼
11110001結(jié)果錯誤。二進(jìn)制加法運(yùn)算結(jié)果采用“加6修正”,得BCD碼加法運(yùn)算結(jié)果。修正后結(jié)果000101010111(157).兩位BCD碼相減時,對二進(jìn)制減法運(yùn)算結(jié)果修正的規(guī)則:相減有借位,則該位需要減6修正。兩個BCD數(shù)進(jìn)行運(yùn)算時,首先按二進(jìn)制數(shù)進(jìn)行運(yùn)算,然后用相應(yīng)的調(diào)整指令進(jìn)行調(diào)整,從而得到正確的BCD碼結(jié)果。
例:用BCD碼計算88-69。
1000100088的BCD碼-)0110100169的BCD碼
00011111結(jié)果錯誤。二進(jìn)制減法運(yùn)算結(jié)果采用“減6修正”,得BCD碼減法運(yùn)算結(jié)果。修正后結(jié)果00011001(19).1.十六進(jìn)制數(shù)表示特點(diǎn)是:①逢十六進(jìn)一;②使用16個數(shù)字符號(0~9,A,B,C,D,E,F)的不同組合來表示,其中AF依次表示1015;③以后綴H或h表示十六進(jìn)制數(shù)(Hexadecimal)。1.2.3十六進(jìn)制數(shù)的表示和運(yùn)算任何一個十六進(jìn)制數(shù)可表示為:m位小數(shù),n位整數(shù),Hi為第i位上的數(shù)符(0~9,A,B,C,D,E,F)。例:
0E5AD.BFH=十進(jìn)制
二進(jìn)制
BCD碼
16進(jìn)制
數(shù)之間
的關(guān)系十進(jìn)制二進(jìn)制BCD碼16進(jìn)制0000000000100010001120010001023001100113401000100450101010156011001106701110111781000100089100110019101010
A111011
B121100
C131101
D141110
E151111
F2.16進(jìn)制數(shù)的加減運(yùn)算
加:1+9=2+A=3+8=A+5=E+C=
7+9=9+9=F+1=FF+1=
減: 12-5=2B-12=D4-6B=58-E=
AB-37=17-9=10-2=1.2.4帶符號二進(jìn)制數(shù)的表示及運(yùn)算
1.機(jī)器數(shù)與真值無符號數(shù)與帶符號數(shù)如何表示帶符號的二進(jìn)制數(shù)?一個字節(jié)型二進(jìn)制數(shù),D7位為符號位,D6D0位為數(shù)值位。符號位中,用“0”表示正,“1”表示負(fù),而數(shù)值位表示該數(shù)的數(shù)值大小。機(jī)器數(shù):一個數(shù)在計算機(jī)中的表示。真值:機(jī)器數(shù)所表示的數(shù)值。D7D6……D1D02.機(jī)器數(shù)的表示方法
1)原碼
最高位為符號位(正數(shù)為0,負(fù)數(shù)為1),其余數(shù)字位表示數(shù)的絕對值。例:-1(8位原碼10000001,16位原碼1000000000000001)+100(8位原碼01100100,16位原碼0000000001100100)
例如,當(dāng)機(jī)器字長n=8時,
[+0]原=00000000B [-0]原=10000000B[+8]原=00001000B [-8]原=10001000B[+127]原=01111111B [-127]原=11111111B
當(dāng)機(jī)器字長n=16時,[+0]原=0000000000000000B[+8]原=0000000000001000B[-0]原=1000000000000000B[-8]原=1000000000001000B[+32767]原=0111111111111111B[-32767]原=1111111111111111B原碼表示數(shù)的范圍是-(2n-1-1)(2n-1-1)
。8位二進(jìn)制原碼表示數(shù)的范圍為-127+127,16位二進(jìn)制原碼表示數(shù)的范圍為-32767+32767;“0”的原碼有兩種表示法:00000000表示+0,10000000表示-0。
原碼表示法簡單直觀,且與真值的轉(zhuǎn)換很方便,算術(shù)運(yùn)算電路很復(fù)雜。因此,計算機(jī)中通常使用補(bǔ)碼進(jìn)行加減運(yùn)算。2)反碼:
正數(shù)的反碼與其原碼相同。例如,當(dāng)機(jī)器字長n=8時:
[+0]反=[+0]原=00000000B[+127]反=[+127]原=01111111B當(dāng)機(jī)器字長n=16時:
[+8]反=[+8]原=0000000000001000B[+127]反=[+127]原=0000000001111111B
負(fù)數(shù)的反碼是在原碼基礎(chǔ)上,符號位不變(1),數(shù)值位按位取反。例如,當(dāng)機(jī)器字長n=8時:
[-0]反=11111111B [-127]反=10000000B
反碼表示數(shù)的范圍與原碼相同
。
“0”的反碼有兩種表示法:00000000表示+0,11111111表示-0。3)補(bǔ)碼如機(jī)器字長為n,則補(bǔ)碼定義如下:正數(shù)的補(bǔ)碼與其原碼、反碼相同。例如,當(dāng)機(jī)器字長n=8時:[+8]補(bǔ)=[+8]反=[+8]原=00001000B [+127]補(bǔ)=[+127]反=[+127]原=01111111B當(dāng)機(jī)器字長n=16時:
[+8]補(bǔ)=[+8]反=[+8]原=0000000000001000B [+127]補(bǔ)=[+127]反=[+127]原
=0000000001111111B
負(fù)數(shù)的補(bǔ)碼(三種方法)例如,當(dāng)機(jī)器字長n=8時:[-8]原=10001000B [-127]原=11111111B[-8]反=11110111B [-127]反=10000000B[-8]補(bǔ)=28-8=11111000B [-127]補(bǔ)=28-127=10000001B當(dāng)機(jī)器字長n=16時:
[-8]補(bǔ)=216-8=1111111111111000B [-127]補(bǔ)=216-127=1111111110000001B可以看出,補(bǔ)碼表示數(shù)的范圍是-2n-1(2n-1-1)
。8位二進(jìn)制補(bǔ)碼表示數(shù)的范圍為-128+127,16位二進(jìn)制補(bǔ)碼表示數(shù)的范圍為-32768+32767。
8位二進(jìn)制數(shù)的原碼、反碼和補(bǔ)碼表帶符號數(shù)原碼反碼補(bǔ)碼000000000000000100000010…01111110011111111000000010000001…
111111011111111011111111012…
126127128129…
253254255+0+1+2…
+126+127-0-1
…
-125-126-127+0+1+2…
+126+127-127-126…-2-1-0+0+1+2…
+126+127-128-127…-3-2-1
二進(jìn)制數(shù)
無符號十進(jìn)制數(shù)3.補(bǔ)碼的加減運(yùn)算
1)補(bǔ)碼加法
在計算機(jī)中,帶符號數(shù)一律用補(bǔ)碼表示,運(yùn)算結(jié)果也是補(bǔ)碼。運(yùn)算特點(diǎn)是:符號位和數(shù)值位一起參加運(yùn)算,并且自動獲得結(jié)果(包括符號位與數(shù)值位)。
補(bǔ)碼加法的運(yùn)算規(guī)則為:即:兩數(shù)補(bǔ)碼的和等于兩數(shù)和的補(bǔ)碼。
例
已知
[+51]補(bǔ)=00110011B,[+66]補(bǔ)=01000010B,
[-51]補(bǔ)=11001101B,[-66]補(bǔ)=10111110B
求[+66]補(bǔ)+[+51]補(bǔ)=?[+66]補(bǔ)+[-51]補(bǔ)=?[-66]補(bǔ)+[-51]補(bǔ)=?解
[+66]補(bǔ)+[+51]補(bǔ)=[(+66)+(+55)]補(bǔ)=01110101B其真值為+117,計算結(jié)果正確。[+66]補(bǔ)+[?51]補(bǔ)=[(+66)+(?55)]補(bǔ)=0000111B其真值為+15,計算結(jié)果正確。二進(jìn)制(補(bǔ)碼)加法十進(jìn)制加法
01000010[+66]補(bǔ)
+66+)11001101[?51]補(bǔ)
+)?5100001111[+15]補(bǔ)
+151自動丟失[?66]補(bǔ)+[?51]補(bǔ)=10001011B=[(?66)+(?55)]補(bǔ)其真值為?117,計算結(jié)果正確。
二進(jìn)制(補(bǔ)碼)加法十進(jìn)制加法
10111110[-66]補(bǔ)
-66+)11001101[?51]補(bǔ)
+)?5110001011[-117]補(bǔ)
-1171自動丟失結(jié)論:不論兩數(shù)是正數(shù)還是負(fù)數(shù),只要直接用它們的補(bǔ)碼相加,當(dāng)結(jié)果不超出補(bǔ)碼所表示的范圍時,計算結(jié)果便是正確的補(bǔ)碼形式。但當(dāng)計算結(jié)果超出補(bǔ)碼表示范圍時,結(jié)果錯誤,這種情況稱為溢出。[+66]補(bǔ)+[+66]補(bǔ)=01000010+01000010=10000100
42H+42H=84H
([-124]補(bǔ))
2)補(bǔ)碼減法
補(bǔ)碼減法的運(yùn)算規(guī)則:
如何由[y]補(bǔ)求[-y]補(bǔ)[y]補(bǔ)連同符號位在內(nèi)的所有位全部變反,再加1
例
已知[+51]補(bǔ)=00110011B,[+66]補(bǔ)=01000010B[?51]補(bǔ)=11001101B,[?66]補(bǔ)=10111110B求
[+66]補(bǔ)?[+51]補(bǔ)=?[?66]補(bǔ)?
[?51]補(bǔ)=?解
[+66]補(bǔ)?[+51]補(bǔ)=[+66]補(bǔ)+[?51]補(bǔ)
[?66]補(bǔ)?[?51]補(bǔ)=[?66]補(bǔ)+[+51]補(bǔ)
二進(jìn)制(補(bǔ)碼)減法[+66]補(bǔ)?[+51]補(bǔ)十進(jìn)制減法
01000010[+66]補(bǔ)
01000010[+66]補(bǔ)
+66+)11001101[?51]補(bǔ)
-)00110011[+51]補(bǔ)
-)+5100001111[+15]補(bǔ)
00001111[+15]補(bǔ)
+151自動丟失
二進(jìn)制(補(bǔ)碼)減法[?66]補(bǔ)?[?51]補(bǔ)十進(jìn)制減法
10111110[-66]補(bǔ)
10111110[-66]補(bǔ)
-66+)00110011[+51]補(bǔ)
-)11001101[-51]補(bǔ)
-)-5111110001[-15]補(bǔ)
11110001[-15]補(bǔ)-15
結(jié)論:無論兩數(shù)是正數(shù)還是負(fù)數(shù),上述補(bǔ)碼減法的規(guī)則是一樣的。當(dāng)結(jié)果不超出補(bǔ)碼所表示的范圍時,計算結(jié)果便是正確的補(bǔ)碼形式。同樣,由最高位向更高位的進(jìn)位(借位)不影響運(yùn)算結(jié)果的正確性。但當(dāng)計算結(jié)果溢出時,結(jié)果錯誤。[+66]補(bǔ)-[-66]補(bǔ)=01000010–10111110=1000010042H-BEH=84H([-124]補(bǔ))
計算機(jī)中帶符號數(shù)用補(bǔ)碼表示時有如下優(yōu)點(diǎn):①可以將減法運(yùn)算變?yōu)榧臃ㄟ\(yùn)算,因此可使用同一個運(yùn)算器實(shí)現(xiàn)加法和減法運(yùn)算,簡化了電路。
②無符號數(shù)和帶符號數(shù)的加法運(yùn)算可以用同一個加法器實(shí)現(xiàn),結(jié)果都是正確的。例如:
無符號數(shù)帶符號數(shù)
11100001 225 [?31]補(bǔ)+)00001101?+)13 +)[+13]補(bǔ)
11101110 238[?18]補(bǔ)若兩操作數(shù)為無符號數(shù),計算結(jié)果真值為238,結(jié)果正確;若兩操作數(shù)為補(bǔ)碼,計算結(jié)果也為補(bǔ)碼形式,真值為–18,結(jié)果也正確。
4.溢出及其判斷方法
1)進(jìn)位與溢出進(jìn)位,指運(yùn)算結(jié)果的最高位產(chǎn)生的進(jìn)位(加法)或借位(減法),可判斷無符號數(shù)運(yùn)算結(jié)果是否超出了計算機(jī)所能表示的無符號數(shù)的范圍(02n?1?1)。溢出,是指帶符號數(shù)的補(bǔ)碼運(yùn)算結(jié)果超出了補(bǔ)碼所能表示的范圍。(?2n?1+2n?1?1)。2)溢出的判斷方法若最高位的進(jìn)位狀態(tài)用CF表示,當(dāng)其有進(jìn)位時,CF=1,否則,CF=0;若次高位的進(jìn)位狀態(tài)用CP表示,當(dāng)其有進(jìn)位時,CP=1,否則,CP=0。通過該兩位進(jìn)位狀態(tài)的異或結(jié)果判斷是否溢出的。若OF=1,結(jié)果溢出;若OF=0,結(jié)果未溢出。
例
設(shè)有兩個機(jī)器數(shù)x=01000100B,y=01001000B,將二者作加法運(yùn)算,試問:①若為無符號數(shù),結(jié)果是否超出其表示范圍?②若為帶符號補(bǔ)碼數(shù),計算結(jié)果是否溢出?
無符號數(shù)帶符號數(shù)
0100010068[+68]補(bǔ)+)01001000+)72+)[+72]補(bǔ)
10001100140[+140]補(bǔ)CP=1CF=0
①無符號數(shù),結(jié)果未超出(0255)。②帶符號數(shù),OF=1結(jié)果溢出;錯誤。解
例
設(shè)有兩個操作數(shù)x=01000100B,y=01001000B,將二者作減法運(yùn)算,試問:①若為無符號數(shù),結(jié)果是否超出其表示范圍?②若為帶符號補(bǔ)碼數(shù),計算結(jié)果是否溢出?
無符號數(shù)帶符號數(shù)
0100010068[+68]補(bǔ)-)01001000-)72-)[+72]補(bǔ)
11111100[+4]補(bǔ)[+4]補(bǔ)CP=1CF=1解
①無符號數(shù),結(jié)果超出(0255)。②帶符號數(shù),OF=0結(jié)果未溢出;正確。①無符號數(shù),結(jié)果超出(0255)。②帶符號數(shù),OF=0,結(jié)果未溢出。正確。
例
設(shè)x=11101110B,y=11001000B,將二者作加法運(yùn)算,①若為無符號數(shù),結(jié)果是否超出其表示范圍?②若為帶符號補(bǔ)碼數(shù),計算結(jié)果是否溢出?解
無符號數(shù)帶符號數(shù)
11101110238[-18]補(bǔ)+)11001000+)200+)[-56]補(bǔ)
10110110438[-74]補(bǔ)CP=1CF=11自動丟失
例
設(shè)x=11101110B,y=11001000B,將這兩個操作數(shù)送運(yùn)算器作減法運(yùn)算,試問:①若為無符號數(shù),結(jié)果是否超出其表示范圍?②若為帶符號補(bǔ)碼數(shù),計算結(jié)果是否溢出?解
無符號數(shù)帶符號數(shù)
11101110238[-18]補(bǔ)-)11001000-)200-)[-56]補(bǔ)
0010011038[38]補(bǔ)CP=0CF=0①無符號數(shù),結(jié)果未超出(0255)。②帶符號數(shù),OF=0,結(jié)果未溢出。正確。
5.帶符號數(shù)的符號擴(kuò)展擴(kuò)展字長無符號數(shù)擴(kuò)展字長:高位補(bǔ)0例:
(8)00001000B ,0000000000001000B帶符號數(shù)(補(bǔ)碼)擴(kuò)展字長:高位補(bǔ)符號位例:(-8)11111000B,1111111111111000B(8)00001000B ,0000000000001000B1.2.5字符編碼所謂字符,是指數(shù)字、字母以及其他一些符號的總稱?,F(xiàn)代計算機(jī)不僅處理數(shù)值領(lǐng)域的問題,還要處理大量的非數(shù)值領(lǐng)域的問題。各種字符也必須用二進(jìn)制數(shù)碼,計算機(jī)才能進(jìn)行識別與處理。在微機(jī)、通信設(shè)備和儀器儀表中廣泛使用的是ASCII碼(AmericanStandardCodeforInformationInterchange)——美國標(biāo)準(zhǔn)信息交換碼。
1.ASCII碼ASCII碼用一個字節(jié)表示一個字符,采用7位二進(jìn)制代碼對字符進(jìn)行編碼,最高位一般用做校驗(yàn)位。7位ASCII碼
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版科技成果轉(zhuǎn)化合作協(xié)議書3篇
- 2024年紡織品出口銷售協(xié)議3篇
- 教育培訓(xùn)銷售員工工作總結(jié)
- 銀行行業(yè)業(yè)務(wù)員工作總結(jié)
- 消化科護(hù)士照顧入微
- 產(chǎn)后護(hù)理護(hù)士關(guān)注產(chǎn)婦康復(fù)
- 2024期貨居間業(yè)務(wù)合作協(xié)議樣本:傭金結(jié)算與居間人義務(wù)3篇
- 2024房地產(chǎn)公司股份買賣具體合同版B版
- 2024投資入股協(xié)議書-航空領(lǐng)域樣板3篇
- 《19棉花姑娘》課件的改革之路
- 2024-2025學(xué)年五年級科學(xué)上冊第二單元《地球表面的變化》測試卷(教科版)
- 污泥(廢水)運(yùn)輸服務(wù)方案(技術(shù)方案)
- 2024-2030年中國降壓藥行業(yè)市場規(guī)模分析及發(fā)展趨勢與投資研究報告
- 二十屆三中全會精神應(yīng)知應(yīng)會知識測試30題(附答案)
- 一例下肢靜脈血栓疑難病例護(hù)理討論
- 2024年信息系統(tǒng)項(xiàng)目管理師題庫及答案
- 輸血相關(guān)法律法規(guī)臨床輸血安全管理課件
- DL∕T 5161.6-2018 電氣裝置安裝工程質(zhì)量檢驗(yàn)及評定規(guī)程 第6部分:接地裝置施工質(zhì)量檢驗(yàn)
- DL∕T 1502-2016 廠用電繼電保護(hù)整定計算導(dǎo)則
- 《吃飯有講究》教學(xué)反思
- 《公路建設(shè)項(xiàng)目數(shù)據(jù)管理、交付及電子文件歸檔管理規(guī)范》
評論
0/150
提交評論