版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、學(xué)習(xí)愉快,畫面寧靜,使人可以安靜的進入學(xué)習(xí)狀態(tài),喚醒人的學(xué)習(xí)意識. 寧靜以致遠,主要參考書: 1周明德.微計算機系統(tǒng)原理及應(yīng)用.清華大學(xué)工業(yè)出版社. 2戴梅萼.微型計算機技術(shù)及應(yīng)用 .清華出版,1995. 3鄭學(xué)堅.微型計算機原理及應(yīng)用.清華出版. 4錢曉捷.微型計算機原理及接口技術(shù).機械工業(yè)出版社,1999.,第 1章 概述,本章講述以下五部分的內(nèi)容: 1.1 80 x86系列的概要歷史 1.2 計算機基礎(chǔ) 1.3 計算機的硬件和軟件 1.4 微型計算機的結(jié)構(gòu) 1.5 多媒體計算機,第一節(jié)介紹x86系列處理器的發(fā)展概史。 第二節(jié)介紹計算機的基本原理和主要的概念及術(shù)語。 第三節(jié)介紹什么是微型計
2、算機的硬件和軟件以及軟件的主要種類。 第四節(jié)介紹微型計算機的內(nèi)部和外部結(jié)構(gòu)。 第五節(jié)介紹多媒體計算機主要功能和組成。,1.1 x86系列結(jié)構(gòu)的概要歷史,1971年 Intel 4004 70年代中期 Intel 8080、8085 80年代初 Intel 8086、8088 從8086(8088)到80286、80386、80486、奔騰(也稱為80586)、奔騰MMX、奔騰PRO(也稱為80686)、奔騰、奔騰,直至最新的奔騰 4,形成了IA(Intel Architecture)-32結(jié)構(gòu)。 目前IA-64結(jié)構(gòu)正在推出,微處理器正在向64位發(fā)展。,1.2 計算機基礎(chǔ) 1.2.1 計算機的基
3、本結(jié)構(gòu),CPU、主板、內(nèi)存條、硬盤、軟盤、顯示卡、顯示器、鍵盤、鼠標(biāo)等,這些都是計算機的部件,雖然這些部件的功能與性能都有了巨大的發(fā)展,但是計算機的基本結(jié)構(gòu)未變,如圖1-3所示。,計算機最早是作為運算工具出現(xiàn)的。顯然,它首先要有能進行運算的部件,稱為運算器; 其次要有能記憶原始題目、原始數(shù)據(jù)和中間結(jié)果以及為了使機器能自動進行運算而編制的各種命令的器件,這種器件就稱為存儲器; 再次,要有能代替人的控制作用的控制器,它能根據(jù)事先給定的命令發(fā)出各種控制信息,使整個計算過程能一步步地自動進行。,但是光有運算器、控制器和存儲器還不夠,原始的數(shù)據(jù)與命令要輸入,所以需要有輸入設(shè)備;而計算的結(jié)果(或中間過程)
4、需要輸出,就要有輸出設(shè)備。這樣就構(gòu)成了一個基本的計算機系統(tǒng)。,在計算機中,基本上有兩種信息在流動。一種信息為數(shù)據(jù),即各種原始數(shù)據(jù)、中間結(jié)果、程序等。這些數(shù)據(jù)要由輸入設(shè)備輸入,存于存儲器中。在運算處理過程中,數(shù)據(jù)從存儲器讀入運算器進行運算,運算的中間結(jié)果要存入存儲器中,或最后由運算器經(jīng)輸出設(shè)備輸出。,人們給計算機的各種命令(即程序),也以數(shù)據(jù)的形式由輸入設(shè)備存至存儲器中。在運行時從存儲器中取出送入控制器,由控制器經(jīng)過譯碼后變?yōu)楦鞣N控制信號。這就是計算機中的另一種信息流即控制命令,由控制器控制輸入裝置的啟動或停止。控制運算器按規(guī)定一步步地進行各種運算和處理,控制存儲器的讀和寫,控制輸出設(shè)備輸出結(jié)果
5、等等。,圖1-3中的各個部分構(gòu)成了計算機的硬件(Hardware)。在上述的計算機硬件中,往往把運算器、控制器和存儲器合在一起稱為計算機的主機;而把各種輸入輸出設(shè)備統(tǒng)稱為計算機的外圍設(shè)備或外部設(shè)備(Peripheral)。 在主機部分中,又把運算器和控制器合在一起稱為中央處理單元CPU(Central Processing Unit)。隨著半導(dǎo)體集成電路技術(shù)的發(fā)展,可以把整個CPU集成在一個集成電路芯片上,就把它稱為微處理器(Microprocessor)。,人們把以微處理器為核心構(gòu)成的計算機,稱為微型計算機,最典型的就是上述的PC機。若內(nèi)存的容量較小,輸入輸出設(shè)備少,整個計算機可以只安裝在一
6、塊印刷電路板上,這樣的計算機就稱為單板計算機。若能把整個計算機集成在一個芯片上,就稱為單片機。 但不論計算機的規(guī)模大小,CPU只是計算機的一個部件。必須同時具有CPU、存儲器和輸入輸出設(shè)備,才能構(gòu)成一臺計算機。,1.2.2 常用的名詞術(shù)語和二進制編碼,位、字節(jié)、字及字長 位、字節(jié)、字及字長是計算機常用的名詞術(shù)語。 (1) 位(Bit) “位”是指一個二進制位。它是計算機中信息存儲的最小單位,一般用b表示。 (2) 字節(jié)(Byte) “字節(jié)”是指相鄰的8個二進制位。一般用B表示。,(3) 字(Word)和字長 “字”是計算機內(nèi)部進行數(shù)據(jù)傳遞、處理的基本單位。通常它與計算機內(nèi)部的寄存器、運算裝置、
7、總線寬度相一致。 一個字所包含的二進制位數(shù)稱為字長。常見的微型計算機的字長有8位、16位、32位和64位。,數(shù)字編碼 計算機中的數(shù)用二進制表示。計算機中的十進制數(shù)的每一位用若干位二進制表示,這就是二進制編碼。即十進制數(shù)的二進制編碼,簡稱二-十進制編碼(BCD)。,3. 字符編碼 同樣,字母、數(shù)字、符號等各種字符也必須按照特定的規(guī)則用二進制編碼才能在計算機中表示。字符編碼的方式很多,世界上最普遍采用的一種字符編碼是ASCII碼(美國信息交換標(biāo)準(zhǔn)碼)。,ASCII碼用7位二進制編碼,它有128種組合,可以表示128種字符。包括09,十個阿拉伯?dāng)?shù)字字符,大、小寫英文字母(72個),常用標(biāo)點符號和各種
8、控制字符。 在計算機中用一個字節(jié)表示一個ASCII碼字符,即在7位ASCII前最高位置為0。例如,0011000000111001(即30H39H)是數(shù)字09的ASCII碼,而0100000101011010(即41H5AH)是大寫英文字母AZ的ASCII碼。詳見ASCII字符表。,4. 漢字編碼 用計算機處理漢字,每個漢字必須用代碼表示。鍵盤輸入漢字是輸入漢字的外部碼。外 部碼必須轉(zhuǎn)換為內(nèi)部碼才能在計算機內(nèi)進行存儲和處理。為了將漢字以點陣的形式輸出,還要將內(nèi)部碼轉(zhuǎn)換為字形碼。不同的漢字處理系統(tǒng)之間交換信息采用交換碼。,(1) 外部碼 漢字主要是從鍵盤輸入,每個漢字對應(yīng)一個外部碼,外部碼是計算
9、機輸入漢字的代碼,是代表某一個漢字的一組鍵盤符號。外部碼也叫輸入碼。漢字的輸入方法不同,同一個漢字的外部碼可能不一樣。,(2) 內(nèi)部碼 漢字內(nèi)部碼也稱漢字內(nèi)碼或漢字機內(nèi)碼。在不同的漢字輸入方案中,同一漢字的外部碼不同,但同一漢字的內(nèi)部碼是惟一的。內(nèi)部碼通常是用其在漢字字庫中的物理位置表示,可以用漢字在漢字字庫中的序號或者用漢字在漢字字庫中的存儲位置表示。漢字在計算機中至少要用兩個字節(jié)表示(有用三字節(jié)、四字節(jié)表示的),在微型計算機中常用的是兩字節(jié)漢字內(nèi)碼。,(3) 交換碼 計算機之間或計算機與終端之間交換信息時,要求其間傳送的漢字代碼信息要完全一致。為此,國家根據(jù)漢字的常用程度定出了一級和二級漢
10、字字符集,并規(guī)定了編碼,這就是國標(biāo)GB 2312-80信息交換用漢字編碼字符集基本集,GB 231280中漢字的編碼即國標(biāo)碼。該標(biāo)準(zhǔn)編碼字符集共收錄漢字和圖形符號7445個。,(4) 輸出碼 漢字輸出碼又稱漢字字形碼或漢字發(fā)生器的編碼。眾所周知,漢字無論字形有多少變化,也無論筆劃有多有少,都可以寫在一個方塊中;一個方塊可以看作m行n列的矩陣,稱為點陣。一個m行n列的點陣共有mn個點。例如1616點陣的漢字,共有256個點。每個點可以是黑點或者非黑點,凡是筆劃經(jīng)過的點用黑點,于是利用點陣描繪出了漢字字形,漢字的點陣字形在計算機中稱為字模。如圖1-4表示漢字“中”的1616點陣字模。,1.2.3
11、指令、程序和指令系統(tǒng),計算機的幾個主要部件構(gòu)成了計算機的硬件的基礎(chǔ)。但是,光有硬件,還只是具有了計算的可能。計算機要真正能夠進行計算還必須要有軟件的配合,首先是各種程序(Program)。 計算機所以能脫離人的直接干預(yù),自動地進行計算,這是由于人把實現(xiàn)計算的一步步操作用命令的形式即一條條指令(Instruction)預(yù)先輸入到存儲器中,在執(zhí)行時,機器把這些指令一條條地取出來,加以翻譯和執(zhí)行。,計算機的運算是通過取數(shù)、送數(shù)、相加、存數(shù)等操作實現(xiàn)的。把要求計算機執(zhí)行的各種操作用命令的形式寫下來,這就是指令。通常一條指令對應(yīng)著一種基本操作。一臺計算機能執(zhí)行什么樣的操作,能做多少種操作,是由設(shè)計計算機
12、時所規(guī)定的指令系統(tǒng)決定的。一條指令,對應(yīng)著一種基本操作;計算機所能執(zhí)行的全部指令,就是計算機的指令系統(tǒng)(Instruction Set),這是計算機所固有的。,在使用計算機時,必須把要解決的問題編成一條條指令,這些指令的集合就稱為程序。用戶為解決自己的問題所編制的程序,稱為源程序(Source Program)。 指令通常分成操作碼(Opcode即operation code)和操作數(shù)(Operand)兩大部分。操作碼表示計算機執(zhí)行什么操作;操作數(shù)指明參加操作的數(shù)的本身或操作數(shù)所在的地址。 因為計算機只認(rèn)得二進制數(shù)碼,所以計算機的指令系統(tǒng)中的所有指令,都必須以二進制編碼的形式來表示。,計算機發(fā)
13、展初期,就是用指令的機器碼直接來編制用戶的源程序,這就是機器語言階段。但是機器碼是由一連串的0和1組成的,沒有明顯的特征,不好記憶,不易理解,易出錯。所以,編寫程序成為一種十分困難而且十分繁瑣的工作。因而,逐漸進入了匯編語言階段。用戶用匯編語言(操作碼用助記符代替,操作數(shù)也用一些符號來表示)編寫源程序。,1.2.4 初級計算機,為簡化,先用模型機分析計算機內(nèi)部結(jié)構(gòu) 。 圖1-5是微型計算機的結(jié)構(gòu)圖,它是由微處理器(CPU)、存儲器、接口電路組成,通過三條總線(BUS)地址總線(Address Bus),控制總線(Control Bus)和雙向數(shù)據(jù)總線(Data Bus )來連接。,CPU的結(jié)構(gòu)
14、 模型機的CPU結(jié)構(gòu),如圖1-6所示。 算術(shù)邏輯單元ALU(Arithmetic Logic Unit)是執(zhí)行算術(shù)和邏輯運算的裝置,它以累加器 AL(Accumulator)的內(nèi)容作為一個操作數(shù);另一個操作數(shù)由內(nèi)部數(shù)據(jù)總線供給,可以是寄存器(Register)BL中的內(nèi)容,也可以是由數(shù)據(jù)寄存器DR(Data Register)供給的由內(nèi)存讀出的內(nèi)容等;操作的結(jié)果通常放在累加器AL中。,F(Flag)是標(biāo)志寄存器,由一些標(biāo)志位組成 。 PC程序計數(shù)器,提供要執(zhí)行的指令的地址。 AR(Address Register)是地址寄存器,由它把要尋址的單元的地址(可以是指令則地址由PC提供;也可以是數(shù)據(jù)
15、則地址要由指令中的操作數(shù)部分給定)通過地址總線,送至存儲器。,從存儲器中取出的指令,由數(shù)據(jù)寄存器DR送至指令寄存器IR(Instruction Register),經(jīng)過指令譯碼器ID(Instruction Decoder)譯碼,通過控制電路,發(fā)出執(zhí)行一條指令所需要的各種控制信息。,存儲器 存儲器的結(jié)構(gòu)如圖1-7所示。它由256個存儲單元組成,為了能區(qū)分不同的存儲單元,對這些存儲單元分別編了號,用兩位十六進制數(shù)表示,這就是它們的地址如00H、01H、02H、FFH等;而每一個存儲單元可以存放8位二進制信息(通常也用兩位十六進制數(shù)表示),就是它們的內(nèi)容。,存儲器中的不同存儲單元,是由地址總線上送
16、來的地址(8位二進制數(shù)),經(jīng)過存儲器中的地址譯碼器來尋找的(每給定一個地址號,可從256個存儲單元中找到相應(yīng)于這個地址號的某一存儲單元),然后就可以對這個存儲單元的內(nèi)容進行讀或?qū)懙牟僮鳌?(1) 讀操作 若已知在04號存儲單元中,存的內(nèi)容為10000100即84H,若要把它讀出至數(shù)據(jù)總線上,則要求CPU的地址寄存器先給出地址號04,然后通過地址總線送至存儲器,存儲器中的地址譯碼器對它進行譯碼,找到04號存儲單元;再要求CPU發(fā)出讀的控制命令,于是04號存儲單元的內(nèi)容84H就出現(xiàn)在數(shù)據(jù)總線上,由它送至數(shù)據(jù)寄存器DR,如圖1-8所示。,(2) 寫操作 若要把數(shù)據(jù)寄存器中的內(nèi)容26H寫入到10號存儲
17、單元,則要求CPU的AR地址寄存器先給出地址10,通過地址總線(AB)送至存儲器,經(jīng)譯碼后找到10號存儲單元;然后把DR數(shù)據(jù)寄存器中的內(nèi)容26H經(jīng)數(shù)據(jù)總線(DB)送給存儲器;且CPU發(fā)出寫的控制命令,于是數(shù)據(jù)總線上的信息26H就可以寫入到10號存儲單元中,如圖1-9所示。,信息寫入后,在沒有新的信息寫入以前,該信息是一直保留的,而且我們的存儲器的讀出是非破壞性的,即信息讀出后存儲單元的內(nèi)容不變。,執(zhí)行過程 若程序已經(jīng)存放在內(nèi)存中,大部分8位機執(zhí)行過程就是取指(取出指令)和執(zhí)行(執(zhí)行指令)這兩個階段的循環(huán)。 機器從停機狀態(tài)進入運行狀態(tài),要把第一條指令所在的地址賦給PC,然后就進入取指階段。在取指
18、階段從內(nèi)存中讀出的內(nèi)容必為指令,所以DR把它送至IR,然后由指令譯碼器譯碼,就知道此指令要執(zhí)行什么操作,在取指階段結(jié)束后就進入執(zhí)行階段。當(dāng)一條指令執(zhí)行完以后,就自動進入到了下一條指令的取指階段,這樣的循環(huán)一直進行到程序結(jié)束(遇到停機指令)。,1.2.5 簡單程序舉例,微機的工作過程就是執(zhí)行程序的過程,而程序由指令序列組成,因此,執(zhí)行程序的過程,就是執(zhí)行指令序列的過程 , 即逐條地執(zhí)行指令;由于執(zhí)行每一條指令,都包括取指令與執(zhí)行指令兩個基本階段,所以,微機的工作過程,也就是不斷地取指令和執(zhí)行指令的過程 。,假定程序已由輸入設(shè)備存放到內(nèi)存中。當(dāng)計算機從停機狀態(tài)進入運行狀態(tài)時,首先把第1條指令所在的
19、地址賦給程序計數(shù)器PC,然后機器進入取指階段。,在取指階段,CPU從內(nèi)存中讀出的內(nèi)容必為指令 ,于是,數(shù)據(jù)寄存器DR便把它送至指令寄存器IR;然后由指令譯碼器譯碼,控制器就發(fā)出相應(yīng)的控制信號,CPU便知道該條指令要執(zhí)行什么操作。 在取指階段結(jié)束后,機器就進入執(zhí)指階段,這時,CPU執(zhí)行指令所規(guī)定的具體操作。當(dāng)一條指令執(zhí)行完畢以后,就轉(zhuǎn)入了下一條指令的取指階段。這樣周而復(fù)始地循環(huán)一直進行到程序中遇到暫停指令時方才結(jié)束。,取指階段都是由一系列相同的操作組成的,所以,取指階段的時間總是相同的,它稱為公操作。而執(zhí)指階段將由不同的事件順序組成,它取決于被執(zhí)行指令的類型,因此,執(zhí)指階段的時間從一條指令到下一
20、條指令變化相當(dāng)大。 應(yīng)當(dāng)指出的是,指令通常包括操作碼(Operation Code)和操作數(shù)(Operand)兩大部分。操作碼表示計算機執(zhí)行什么具體操作, 而操作數(shù)表示參加操作的數(shù)的本身或操作數(shù)所在的地址, 也稱之為地址碼。在8位機中, 由于1個存儲單元只能存放1個字節(jié), 而指令根據(jù)其所含內(nèi)容不同而有單字節(jié)、雙字節(jié)、3字節(jié)乃至最多4字節(jié)之分 ,因此在執(zhí)行1條指令時,就可能要處理14個不等字節(jié)數(shù)目的代碼信息,包括操作碼、操作數(shù)或操作數(shù)的地址。,例子 計算3+2=? 在編寫程序之前,必須首先查閱所使用的微處理器的指令表(或指令系統(tǒng)),它是某種微處理器所能執(zhí)行的全部操作命令匯總.不同系列的微處理器各
21、自具有不同的指令表。人們給每條指令規(guī)定了一個縮寫詞,或稱作助記符。 機器碼用二進制和十六進制兩種形式表示 ,計算機和程序員用它來表示指令。,根據(jù)指令表提供的指令,用助記符形式和十進制數(shù)表示的加法運算的程序可表達為: MOV A, 3 ADD A, 2 HLT 模型機并不認(rèn)識助記符和十進制數(shù),只認(rèn)識用二進制數(shù)表示的操作碼和操作數(shù)。因此,必須按二進制數(shù)的形式來寫程序,即用對應(yīng)的操作碼代替每個助記符,用相應(yīng)的二進制數(shù)代替每個十進制數(shù)。 MOV A,3 變成 1011 0000; 操作碼(MOV A ,n) 0000 0011; 操作數(shù)(3) ADD A,2 變成 0000 0100; 操作碼(ADD
22、 A , n) 0000 0010; 操作數(shù)(2) HLT 變成 1111 0100; 操作碼(HLT),整個程序是3條指令5個字節(jié)。由于微處理器和存儲器均用8位字或1個字節(jié)存放與處理信息,因此,當(dāng)把這段程序存入存儲器時,共需要占5個存儲單元。假設(shè)我們把它存放在存儲器的最前面5個單元里,則該程序?qū)⒄加袕?0H至04H這5個單元。,當(dāng)程序存入存儲器以后,微機內(nèi)部執(zhí)行程序的具體操作過程。開始執(zhí)行程序時,必須先給程序計數(shù)器PC賦以第1 條指令的首地址00H,然后就進入第1條指令的取指階段。操作過程如圖111所示:, 把PC的內(nèi)容00H送到地址寄存器AR。 一旦PC的內(nèi)容可靠地送入AR后,PC自動加1
23、,即由00H 變?yōu)?1H。注意,此時AR的內(nèi)容并沒有變化。 把地址寄存器AR的內(nèi)容00H放在地址總線上,并送至存 儲器,經(jīng)地址譯碼器譯碼,選中相應(yīng)的00H單元。 CPU發(fā)出讀命令。 在讀命令控制下,把所選中的00H單元中的內(nèi)容即第1 條指令的操作碼B0H 讀到數(shù)據(jù)總線DB上。,把讀出的內(nèi)容B0H經(jīng)數(shù)據(jù)總線送到數(shù)據(jù)寄存器DR。 取指階段的最后一步是指令譯碼。因為取出的是指令的操作碼,故數(shù)據(jù)寄存器DR把它送到指令寄存器IR,然后再送到指令譯碼器ID,經(jīng)過譯碼,CPU“識別”出這個操作碼B0H就是MOV A,n指令,于是,它“通知”控制器發(fā)出執(zhí)行這條指令的各種控制命令。這就完成了第1條指令的取指階段
24、。 然后轉(zhuǎn)入執(zhí)行第1條指令的階段。,經(jīng)過對操作碼B0H譯碼后,CPU 就“知道”這是一條把下一單元中的操作數(shù)取入累加器A的雙字節(jié)指令MOV A,n,所以,執(zhí)行第1條指令就必須把指令第2字節(jié)中的操作數(shù)03H取出來。 取指令第2字節(jié)的過程如圖1-12所示。,把PC的內(nèi)容01H送到地址寄存器AR。 當(dāng)PC的內(nèi)容可靠地送到AR后,PC自動加1,變?yōu)?2H。但這時AR中的內(nèi)容01H并未變化。 地址寄存器通過地址總線把地址01H送到存儲器的地址譯碼器,經(jīng)過譯碼選中相應(yīng)的01H單元。 CPU發(fā)出讀命令。,在讀命令控制下,將選中的01H單元的內(nèi)容03H讀到數(shù)據(jù)總線DB上。 通過DB把讀出的內(nèi)容送到數(shù)據(jù)寄存器D
25、R。 因CPU根據(jù)該條指令具有的字節(jié)數(shù)已知這時讀出的是操作數(shù),且指令要求把它送到累加器A, 故由數(shù)據(jù)寄存器DR取出的內(nèi)容就通過內(nèi)部數(shù)據(jù)總線送到累加器A。于是第1次執(zhí)指階段完畢,操作數(shù)03H被取入累加器A中;并進入第2條指令的取指階段。,取第2條指令的過程如圖1.13所示.它與取第1條指令的過程相同,只是在取指階段的最后一步,讀出的指令操作碼04H由DR把它送到指令寄存器,經(jīng)過譯碼發(fā)出 相應(yīng)的控制信息。當(dāng)指 令譯碼器ID對指令譯碼 后,CPU就“知道”操作碼 04H表示一條加法指令, 意即以累加器 A中的內(nèi) 容作為一個操作數(shù),另一 個操作數(shù)在指令的第2字 節(jié)中.,執(zhí)行第2條指令,必須取出指令的第
26、2字節(jié)。 取第2字節(jié)及執(zhí)行指令的過程如圖1.14所示。, 把PC的內(nèi)容03H送到地址寄存器AR。 當(dāng)把PC的內(nèi)容可靠地送到AR后,PC自動加1。 AR通過地址總線把地址號03H送到地址譯碼器,經(jīng)過譯 碼,選中相應(yīng)的03H單元。 CPU發(fā)出讀命令。 在讀命令控制下,把選中的03H單元中的內(nèi)容即數(shù)02H讀 至數(shù)據(jù)總線上。 數(shù)據(jù)通過數(shù)據(jù)總線送到數(shù)據(jù)寄存器DR。, 因在對指令譯碼時,CPU已知讀出的數(shù)據(jù)02H為操作數(shù) , 且要將它與已暫存于A中的內(nèi)容03H相加,故數(shù)據(jù)由DR通 過內(nèi)部數(shù)據(jù)總線送至ALU的另一輸入端I2 。 A中的內(nèi)容送ALU的輸入端I1,且執(zhí)行加法操作。 把相加的結(jié)果05H由ALU的輸
27、出端O又送到累加器A中。 至此,第2條指令的執(zhí)行階段結(jié)束, A中存入和數(shù)5H,而將原有內(nèi)容03H沖掉。接著,就轉(zhuǎn)入第3條指令的取指階段。,程序中的最后一條指令是HLT??捎妙愃粕厦娴娜≈高^程把它取出。 當(dāng)把HLT指令的操作碼F4H取入數(shù)據(jù)寄存器DR后,因是取指階段,故CPU將操作碼F4H送指令寄存器IR, 再送指令譯碼器ID;經(jīng)譯碼,CPU“已知”是暫停指令,于是,控制器停止產(chǎn)生各種控制命令,使計算機停止全部操作。這時,程序已完成3+2的運算,并且和數(shù)5已放在累加器中。,1.2.6 尋址方式,在上例中,操作數(shù)就包含在指令中,但是更一般的情況是操作數(shù)在存儲器中的某一單元,例如操作數(shù)是前面操作的中
28、間結(jié)果。上例中的和是放在累加器中,但若還要進行別的運算,則必須把和放到存儲器中暫時存放。于是就存在一個如何尋找操作數(shù)的問題,這就是尋址方式。,立即尋址(Immediate Addressing) 上例中的操作數(shù)就包含在指令中,這種規(guī)定操作數(shù)的方式,稱為立即尋址。指令中的操作數(shù)稱為立即數(shù)。 2. 寄存器尋址(Register Addressing) 若操作數(shù)在某一寄存器中,這種尋址方式就稱為寄存器尋址。,3. 直接尋址(Direct Addressing) 在這種尋址方式中,指令的操作數(shù)字段不是操作數(shù)本身,而是操作數(shù)所在的地址,它是把地址所指的存儲單元的內(nèi)容送至累加器AL,如圖1-15所示。 由
29、于在這種尋址方式中,指令中包含操作數(shù)的直接地址,故稱為直接尋址。,4. 寄存器間接尋址(Register Indirect Addressing) 這種尋址方式與寄存器尋址方式不同,它不是把寄存器BL中的內(nèi)容作為操作數(shù)送AL,而是把BL中的內(nèi)容作為操作數(shù)的地址,把此地址所指的內(nèi)存單元的內(nèi)容送AL,如圖1-16所示。 在這種尋址方式,操作數(shù)的地址并不直接在指令中,而是在某一個寄存器中,故稱為間接尋址。,1.2.7 分支,在程序執(zhí)行時,往往會產(chǎn)生許多條件,要按條件執(zhí)行不同的操作。也有許多操作要重復(fù)執(zhí)行。于是程序直線執(zhí)行的情況很少,而是要根據(jù)條件執(zhí)行分支或循環(huán)。這就需要有分支和循環(huán)指令。 無條件轉(zhuǎn)移
30、(Unconditional Jump) 無條件轉(zhuǎn)移的指令的格式為: JMP n 這條指令的功能是把n賦給PC,于是程序就無條件地轉(zhuǎn)移到地址n開始的程序段去。,2. 條件轉(zhuǎn)移(Conditional Jump) 程序中更多的情況是: 要根據(jù)上面的指令運行的結(jié)果,判斷它是否滿足一定的條件,若滿足則轉(zhuǎn)移,不滿足則順序繼續(xù)執(zhí)行。 為確定是否滿足條件,機器中為此設(shè)立了一些判斷條件的標(biāo)志。主要的標(biāo)志有:,Z(Zero)標(biāo)志零標(biāo)志。若指令的運行結(jié)果為零(即8位全為0)則Z=1;否則Z=0。 C(Carry)標(biāo)志進位標(biāo)志。若在加法運算時最高位(bit7)向前有進位,或在減法運算時最高位向前有借位,則C=1;
31、否則C=0。 S(Sign)標(biāo)示符號標(biāo)志。若運算的結(jié)果為負(fù)(bit7=1),則S=1;否則S=0。,3. 算術(shù)和邏輯運算指令 邏輯運算是指兩個操作數(shù)按位進行指定的邏輯操作。 (1) “與”運算 即凡是與0進行邏輯“與”運算的位結(jié)果為0,而與1進行“與”運算的位結(jié)果不變。所以,可用邏輯“與”屏蔽掉一些位(即使一些位為0),保留一些位。,(2) “或”運算 凡是與0進行邏輯“或”運算的位結(jié)果維持不變,而與1進行“或”運算的結(jié)果為1。所以,可用邏輯“或”使某些位置“1”。 (3) “異或”運算 兩個相同的位“異或”的結(jié)果為0,否則為1。故利用對同一個數(shù)做“異或”運算,可對操作數(shù)清0;也可利用”異或”
32、運算來檢驗兩個操作數(shù)是否相同。,1.3 計算機的硬件和軟件,上述的計算機的基本結(jié)構(gòu)構(gòu)成了計算機的硬件。但是要計算機正確地運行以解決各種問題,必須給它編制各種程序。為了運行、管理和維修計算機所編制的各種程序的總和就稱為軟件。軟件的種類很多,各種軟件發(fā)展的目的都是為了擴大計算機的功能和方便用戶,使用戶編制解決用戶的各種問題的源程序更為方便、簡單和可靠。,1.3.1 系統(tǒng)軟件,在計算機發(fā)展的初期,人們是用機器指令碼(二進制編碼)來編寫程序的,這就稱為機器語言。 用助記符代替操作碼,用符號來代替地址,這就是匯編語言階段。 但用匯編語言寫的源程序在機器中還必須經(jīng)過翻譯,變成用機器碼表示的程序(稱為目標(biāo)程
33、序Object Program),機器才能識別和執(zhí)行。 能執(zhí)行這樣的功能的程序就稱為匯編程序(Assembler)。,為更便于用戶編寫程序,開發(fā)了各種高級語言。高級語言易于理解、學(xué)習(xí)和掌握;用戶用高級語言編寫程序也就方便多了,大大減少了工作量。但是在計算機執(zhí)行時,仍必須把用高級語言編寫的源程序翻譯成用機器指令表示的目標(biāo)程序才能執(zhí)行,這樣就需要有各種解釋程序(Interpreter)。,隨著計算機本身的發(fā)展(更快速,容量更大),以及計算機應(yīng)用的普及和推廣,計算機的操作也就由手工操作方式(用戶直接通過控制臺操作運行機器),過渡到多道程序成批地在計算機中自動運行方式,于是就出現(xiàn)了控制計算機中的所有資
34、源(CPU、存儲器、輸入輸出設(shè)備以及計算機中的各種軟件),使多道程序能成批地自動運行,并且充分發(fā)揮各種資源的最大效能的操作系統(tǒng)(Operating System)。,這些為了使用和管理計算機由機器的設(shè)計者提供的軟件,統(tǒng)稱為系統(tǒng)軟件。系統(tǒng)軟件包括: (1) 各種語言和它們的匯編或解釋、編譯程序; (2) 機器的監(jiān)控管理程序(Monitor)、調(diào)試程序(Debug)、故障檢查和診斷程序; (3) 程序庫。為了擴大計算機的功能,便于用戶使用,機器中設(shè)置了各種標(biāo)準(zhǔn)子程序,這些子程序的總和就形成了程序庫; (4) 操作系統(tǒng)。,1.3.2 應(yīng)用軟件,用戶利用計算機以及計算機所提供的各種系統(tǒng)軟件,編制解決用戶各種實際問題的程序,這些程序就稱為應(yīng)用軟件。應(yīng)用軟件也可以逐步標(biāo)準(zhǔn)化、模塊化、逐步形成了解決各種典型問題的應(yīng)用程序的組合,稱為軟件包(Package)
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026天津市濱海新區(qū)事業(yè)單位招聘25人備考題庫及參考答案詳解
- 05帶電粒子在電場中的運動課件高二上學(xué)期物理人教版()-2
- 2026江蘇南京大學(xué)招聘XZ2026-005商學(xué)院保潔員備考題庫含答案詳解
- 2026云南昆明市尋甸回族彝族自治縣檔案館城鎮(zhèn)公益性崗位招聘2人備考題庫及答案詳解參考
- 2026廣東清遠市佛岡縣石角鎮(zhèn)招聘新城社區(qū)專職網(wǎng)格員1人備考題庫及參考答案詳解一套
- 2026年河北滄州市人民醫(yī)院選聘高層次人才49名備考題庫附答案詳解
- 2025云南臨滄雙江自治縣地方產(chǎn)業(yè)發(fā)展服務(wù)中心招聘公益性崗位人員1人備考題庫有完整答案詳解
- 2026年河北邯鄲凌云中學(xué)招聘儲備教師61名備考題庫及答案詳解1套
- 三江源地區(qū)高原濕地生態(tài)探秘
- 2026江蘇徐州美華盛泰電梯有限公司招聘備考題庫及1套完整答案詳解
- 電站設(shè)備管理和檢修及維修制度
- 浙江省高級法院公布十大民間借貸典型案例
- GA 1809-2022城市供水系統(tǒng)反恐怖防范要求
- YS/T 1148-2016鎢基高比重合金
- JJF 1143-2006混響室聲學(xué)特性校準(zhǔn)規(guī)范
- GB/T 39597-2020出租汽車綜合服務(wù)區(qū)規(guī)范
- 兒童舌診解析
- GB/T 12060.3-2011聲系統(tǒng)設(shè)備第3部分:聲頻放大器測量方法
- 四年級數(shù)學(xué)下冊解決問題練習(xí)題
- 《康復(fù)評定技術(shù)》考試復(fù)習(xí)題庫(含答案)
- 幼兒園四季交替課件
評論
0/150
提交評論