自考02384計(jì)算機(jī)原理考點(diǎn)【精選文檔】_第1頁(yè)
自考02384計(jì)算機(jī)原理考點(diǎn)【精選文檔】_第2頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、自考02384計(jì)算機(jī)原理考點(diǎn)【精選文檔】第1章 計(jì)算機(jī)系統(tǒng)概論 電子計(jì)算機(jī)是一種能夠自動(dòng)、高速、精確地對(duì)各種信息進(jìn)行處理和存儲(chǔ)的電子設(shè)備,從總體上可以分為兩大類:電子模擬計(jì)算機(jī)和電子數(shù)字計(jì)算機(jī). 11 計(jì)算機(jī)發(fā)展簡(jiǎn)史 填空計(jì)算機(jī)最初是作為一種計(jì)算工具而問世的。早在計(jì)算機(jī)問世之前,就有各種各樣的計(jì)算工具??v觀計(jì)算工具的發(fā)展歷史,人類的計(jì)算工具已經(jīng)經(jīng)過了算籌、算盤、計(jì)算尺、手搖計(jì)算機(jī)、電動(dòng)計(jì)算機(jī)、真空管計(jì)算機(jī)、晶體管計(jì)算機(jī)、大規(guī)模集成電路計(jì)算機(jī),正在向生物計(jì)算、光計(jì)算、量子計(jì)算等方向探索。 單選、填空ENIAC是個(gè)劃時(shí)代的創(chuàng)舉,是世界上第一臺(tái)電子數(shù)字計(jì)算機(jī),成為現(xiàn)代數(shù)字計(jì)算機(jī)的始祖。 12 計(jì)算機(jī)

2、系統(tǒng) 單選、填空一個(gè)完整的計(jì)算機(jī)系統(tǒng)包括硬件和軟件兩大部分。硬件是指計(jì)算機(jī)的所有器件或裝置的總稱,它們是“看得見、摸得著"的有形設(shè)備。軟件是相對(duì)硬件而言的,是指在計(jì)算機(jī)硬件上運(yùn)行的各種程序以及有關(guān)文檔資料,例如操作系統(tǒng)、匯編程序、編譯程序、診斷程序、數(shù)據(jù)庫(kù)管理系統(tǒng)、專用軟件包、各種維護(hù)使用手冊(cè)、程序流程圖和說明等,是無形的東西。 硬件是計(jì)算機(jī)系統(tǒng)的物質(zhì)基礎(chǔ),沒有硬件對(duì)軟件的支持,軟件的功能就無從談起,也就無法計(jì)算、處理某一方面的問題.同樣,軟件是計(jì)算機(jī)系統(tǒng)的靈魂,是硬件功能的完善與擴(kuò)充。沒有軟件,計(jì)算機(jī)“仍是個(gè)“死"東西,根本無法工作。因此,計(jì)算機(jī)的硬件與軟件是相互滲透、相

3、互依存、互相配合、相互促進(jìn)的關(guān)系,二者缺一不可.所以計(jì)算機(jī)系統(tǒng)性能的好壞取決于軟、硬件功能的總和。 簡(jiǎn)答馮·諾依曼思想體制主要包括: (1)采用二進(jìn)制數(shù)字代碼形式表示各種信息。 (2)采用存儲(chǔ)程序控制工作方式。 (3)計(jì)算機(jī)硬件由五大部件組成。計(jì)算機(jī)硬件由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備組成,其組成框圖如圖11所示。圖中,空心箭頭代表數(shù)據(jù)信號(hào)流向,實(shí)心箭頭代表控制信號(hào)流向.填空運(yùn)算器是對(duì)信息進(jìn)行運(yùn)算和處理的部件。在計(jì)算機(jī)中的運(yùn)算有兩類:算術(shù)運(yùn)算和邏輯運(yùn)算。運(yùn)算器主要由算術(shù)邏輯運(yùn)算部件(ALU)和用來暫存數(shù)據(jù)或存放運(yùn)算結(jié)果的一系列寄存器組成。單選、填空通常,人們把運(yùn)算器和控制

4、器統(tǒng)稱為中央處理機(jī)(CPU),而把CPU和內(nèi)部存儲(chǔ)器一起稱為主機(jī)。主機(jī)內(nèi)的存儲(chǔ)器稱為內(nèi)部存儲(chǔ)器或簡(jiǎn)稱內(nèi)存,位于主機(jī)之外的存儲(chǔ)器稱為外部存儲(chǔ)器或簡(jiǎn)稱外存。外存和輸入、輸出設(shè)備一起又統(tǒng)稱為外部設(shè)備或簡(jiǎn)稱外設(shè)。單選、填空總線通常包括數(shù)據(jù)總線、地址總線和控制總線簡(jiǎn)答計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)如下: (1)數(shù)字邏輯層。最底層是由邏輯門組成的邏輯電路,稱為數(shù)字邏輯層。 (2)微程序設(shè)計(jì)層。這是一個(gè)實(shí)在的硬件層,它是機(jī)器硬件直接執(zhí)行微指令.如果某一個(gè)應(yīng)用程序直接用微指令來編寫,那么可在這一級(jí)上運(yùn)行該應(yīng)用程序。對(duì)于非微程序控制的計(jì)算機(jī),此層合并人數(shù)字邏輯層。 (3)機(jī)器語(yǔ)言層。又稱為一般機(jī)器層,它是微程序解釋機(jī)器指

5、令系統(tǒng)。 (4)操作系統(tǒng)層。它由操作系統(tǒng)程序?qū)崿F(xiàn),而操作系統(tǒng)由機(jī)器指令和廣義指令組成。所謂廣義指令,是操作系統(tǒng)定義和解釋的軟件指令. (5)匯編語(yǔ)言層.它給程序員提供一種符號(hào)形式的語(yǔ)言,以減少程序員利用機(jī)器語(yǔ)言編寫程序的復(fù)雜性。這一層由匯編程序支持或執(zhí)行. (6)高級(jí)語(yǔ)言層.這一層由各種高級(jí)語(yǔ)言編譯程序支持.高級(jí)語(yǔ)言層上運(yùn)行的程序是用比匯編語(yǔ)言更高級(jí)、更接近人類自然語(yǔ)言的高級(jí)語(yǔ)言所編寫的。高級(jí)語(yǔ)言程序員在這一級(jí)上不需要了解計(jì)算機(jī)硬件、編譯及操作系統(tǒng)等內(nèi)容。 1·3 計(jì)算機(jī)系統(tǒng)的技術(shù)指標(biāo) 填空、簡(jiǎn)答計(jì)算機(jī)系統(tǒng)的技術(shù)指標(biāo)如下(1)字長(zhǎng)是指計(jì)算機(jī)的運(yùn)算部件能同時(shí)處理的二進(jìn)制數(shù)據(jù)的位數(shù)。字長(zhǎng)

6、通常是字節(jié)的整倍數(shù):它與計(jì)算機(jī)的功能和用途有很大的關(guān)系。字長(zhǎng)不但決定著寄存器、加法器、數(shù)據(jù)總線等部件的位數(shù),直接影響著硬件的代價(jià),而且還決定了計(jì)算機(jī)的運(yùn)算精度。字長(zhǎng)越長(zhǎng):計(jì)算機(jī)的運(yùn)算精度就越高。(2)內(nèi)存容量。一個(gè)內(nèi)存所能存儲(chǔ)的全部信息量稱為內(nèi)存容量。它可以以字長(zhǎng)為單位來計(jì)算,也可以以字節(jié)為單位來計(jì)算。在以字節(jié)為單位時(shí),約定以8位二進(jìn)制位為一個(gè)字節(jié)(Byte,縮寫為B). (2)運(yùn)算速度。它是用每秒能執(zhí)行的指令條數(shù)來表示的,單位一般用MIPS(每秒百萬條指令)表示.第2章 數(shù)字邏輯基礎(chǔ) 21 邏輯代數(shù)與邏輯門簡(jiǎn)答邏輯代數(shù)與普通代數(shù)的區(qū)別如下:邏輯代數(shù)和普通代數(shù)一樣用字母代表變量,稱為邏輯變量.

7、和普通代數(shù)不同的是,邏輯變量的取值只有兩種:”1”和”0”,這里的"1”和”0",不再像普通代數(shù)那樣具有數(shù)值大小的含義,而是表示所研究問題的兩個(gè)相互對(duì)立的邏輯狀態(tài)。 在邏輯關(guān)系中,最基本的邏輯關(guān)系只有“與”、“或和“非”三種,因此邏輯代數(shù)中變量的運(yùn)算也只有“與"、“或和“非”三種基本邏輯運(yùn)算,而其他任何復(fù)雜的邏輯運(yùn)算都可以用這三種基本邏輯運(yùn)算來實(shí)現(xiàn). 1邏輯“與”關(guān)系 若假設(shè)在表21中,用“1”表示開關(guān)閉合或燈亮,用“0"表示開關(guān)斷開或燈滅,便可以得到反映開關(guān)狀態(tài)與燈亮/滅之間因果關(guān)系的數(shù)學(xué)表達(dá)形式邏輯真值表,簡(jiǎn)稱真值表,如表22所示。由表2-2可知,邏

8、輯變量Y與邏輯變量A、B之間的關(guān)系是:只有當(dāng)A與B都是“1”是,Y才為“1”;否則,Y為“0”。這一關(guān)系用邏輯表達(dá)式表示為: Y=A·B或Y=AB式中,“·"表示邏輯變量A、B的“與"運(yùn)算,又稱為邏輯乘. 邏輯與運(yùn)算的規(guī)律是: 0·0=0 0·1=0 10=0 11=1 2邏輯“或”關(guān)系 其邏輯表達(dá)式表示為: Y=A+B 式中,“+"表示邏輯變量A、B的“或"運(yùn)算,又稱為邏輯加。 邏輯或運(yùn)算的規(guī)律是: 0+0=0 0+1=1 1+0=1 1+1=1 3邏輯“非”關(guān)系當(dāng)決定一件事情的條件不具備時(shí),這件事情才會(huì)發(fā)生,這

9、樣的邏輯關(guān)系稱為邏輯“非關(guān)系。非就是相反,就是否定。 當(dāng)開關(guān)A閉合時(shí),燈Y滅;而當(dāng)開關(guān)A斷開時(shí),燈Y會(huì)亮。所以對(duì)燈Y亮這一事件來說,開關(guān)A閉合是一種“非”的邏輯關(guān)系.其邏輯表達(dá)式表示為:Y= A 式中,字母A上方的符號(hào)“一"表示邏輯變量A的“非"或“反運(yùn)算。 邏輯非運(yùn)算的規(guī)律是: 0=1 1=0 4常用復(fù)合邏輯運(yùn)算 除了與、或、非這三種基本邏輯運(yùn)算之外,經(jīng)常用到的還有基于這三種基本運(yùn)算構(gòu)成的一些復(fù)合運(yùn)算,它們是與非(先“與后“非)、或非(先“或”后“非”)、異或等運(yùn)算。與非、或非和異或運(yùn)算的邏輯表達(dá)式分別是: AB 、A+B 、AB5邏輯代數(shù)的運(yùn)算法則 計(jì)算根據(jù)邏輯與、或、

10、非的三種運(yùn)算法則,可推導(dǎo)出邏輯運(yùn)算的一些基本定律和法則,其中最常用的有以下幾種:(1) 關(guān)于變量與常量的關(guān)系A(chǔ)+0=AA+1=AA+A =1A 0=AA+1=1A A =0(2) 重復(fù)律A A=AA+A=A(3) 吸收率A+ A B=AA(A+B)=A(4) 分配律AB+C=A·B+A·C A+B · C=A+B*(A+C)(5) 交換律A+B=B+AA· B=B· A(6) 結(jié)合律A+B+C=A+(B+C)A B C=A (B C)(7) 反演律A BC= A B C A+B+C = A+ B+ C 2。2 組合邏輯電路 單選、填空通常數(shù)字系

11、統(tǒng)的邏輯電路可以分為兩大類:組合邏輯電路和時(shí)序邏輯電路。組合邏輯電路是指電路的輸出狀態(tài)只與當(dāng)時(shí)輸入狀態(tài)有關(guān),而與電路的以前狀態(tài)無關(guān),即輸出與輸入的關(guān)系具有即時(shí)性,不具備記憶功能。2.3 常用時(shí)序電路單選、填空邏輯電路中的輸出狀態(tài)不但與當(dāng)時(shí)的輸入狀態(tài)有關(guān),而且還與電路以前的輸入狀態(tài)有關(guān),這種邏輯電路稱為時(shí)序邏輯電路.因此,時(shí)序邏輯電路中必須要有能夠儲(chǔ)存信息的記憶元件觸發(fā)器。觸發(fā)器也是構(gòu)成各種復(fù)雜時(shí)序邏輯電路中的基本部件。單選、填空觸發(fā)器的種類很多,按時(shí)鐘控制方式來分,有電位觸發(fā)、邊沿觸發(fā)、主從觸發(fā)等方式的觸發(fā)器;按功能來分,有RS型、D型、J K型等觸發(fā)器。同一功能的觸發(fā)器可以由不同的觸發(fā)方式來

12、實(shí)現(xiàn),因此在選用觸發(fā)器時(shí)必須考慮觸發(fā)方式。 單選、填空計(jì)算機(jī)中的許多部件都需要有能夠暫時(shí)寄存數(shù)據(jù)的部件,而寄存器就是這樣的部件,它具有接收信息、存放信息或傳遞信息的功能。寄存器主要由觸發(fā)器和一些控制門構(gòu)成.由于一個(gè)觸發(fā)器只能存放1位二進(jìn)制信息,那么存放n位二進(jìn)制信息的寄存器就需要n個(gè)觸發(fā)器來構(gòu)成. 簡(jiǎn)答74LS175的具體邏輯功能如下: (1)異步清零。當(dāng)MR=0時(shí),寄存器處于異步清零工作方式。這時(shí),不管其他輸人端的狀態(tài)如何(包括時(shí)鐘信號(hào)CLK),寄存器Q3Q0被直接清零.由于清零不受時(shí)鐘信號(hào)CLK控制,因而稱為異步清零。 (2)同步并行置數(shù)。當(dāng)MR=1時(shí),在CLK上升沿作用下,數(shù)據(jù)輸人端D3

13、D0的數(shù)據(jù)將被分別置人Q3Q0。由于置數(shù)操作要與CLK上升沿同步,且D3D0的數(shù)據(jù)同時(shí)置人寄存器,所以稱為同步并行置數(shù)。 (3)保持功能.當(dāng)MR=1時(shí),在CLK上升沿以外的時(shí)間,寄存器的內(nèi)容保持不變,即各個(gè)輸出端的狀態(tài)與輸人數(shù)據(jù)無關(guān)。 填空移位寄存器不僅能夠存儲(chǔ)數(shù)據(jù),而且具有移位的功能。按照數(shù)據(jù)移動(dòng)的方向,可分為單向移位和雙向移位兩大類. 填空、簡(jiǎn)答計(jì)算器的分類主要有下面幾種: (1)按構(gòu)成計(jì)數(shù)器的觸發(fā)器的翻轉(zhuǎn)次序分類,可分為異步計(jì)數(shù)器和同步計(jì)數(shù)器。當(dāng)計(jì)數(shù)脈沖CLK輸入時(shí),所有觸發(fā)器同時(shí)都翻轉(zhuǎn)的計(jì)數(shù)器稱為同步計(jì)數(shù)器;當(dāng)計(jì)數(shù)脈沖CLK輸人時(shí),各級(jí)觸發(fā)器不同時(shí)翻轉(zhuǎn)的計(jì)數(shù)器稱為異步計(jì)數(shù)器。 (2)按

14、計(jì)數(shù)過程中計(jì)數(shù)器中數(shù)字的增減來分類,可分加法計(jì)數(shù)器、減法計(jì)數(shù)器和可逆計(jì)數(shù)器(加減計(jì)數(shù)器)。 (3)按計(jì)數(shù)器中數(shù)字的編碼方式來分類,可分為二進(jìn)制計(jì)數(shù)器和十進(jìn)制計(jì)數(shù)器。第3章 計(jì)算機(jī)中的信息表示 填空在計(jì)算機(jī)中,信息分為兩大類:數(shù)據(jù)信息和控制(指令)信息。數(shù)據(jù)信息泛指計(jì)算機(jī)處理的對(duì)象,它們又可分為數(shù)值型數(shù)據(jù)和非數(shù)值型數(shù)據(jù)。(如文字、聲音、圖像等);控制信息就是控制計(jì)算機(jī)工作的信息,計(jì)算機(jī)執(zhí)行指令時(shí),用指令產(chǎn)生的各種操作命令控制有關(guān)操作,所以指令序列屬于控制信息.3。1 數(shù)值型數(shù)據(jù)的表示 填空所謂進(jìn)位計(jì)數(shù)制,就是人們利用數(shù)字符號(hào)來計(jì)數(shù)的方法。凡是用數(shù)字符號(hào)排列,按由低位向高位進(jìn)位計(jì)數(shù)的方法叫做進(jìn)位計(jì)

15、數(shù)制,簡(jiǎn)稱計(jì)數(shù)制或進(jìn)位制。進(jìn)位計(jì)數(shù)制有很多種,計(jì)算機(jī)科學(xué)中常用的是二進(jìn)制、十進(jìn)制、十六進(jìn)制.填空一個(gè)數(shù)無論采用何種進(jìn)位制表示,都包含兩個(gè)基本要素:基數(shù)和位權(quán)。(1) 基數(shù)任何一種計(jì)數(shù)制允許選用的基本數(shù)字符號(hào)的個(gè)數(shù)叫做基數(shù)。例如,十進(jìn)制中有09共十個(gè)符號(hào),基數(shù)為1 0;二進(jìn)制中只有0和1共兩個(gè)符號(hào),基數(shù)為2.(2) 位權(quán) 一個(gè)數(shù)字符號(hào)所表示的數(shù)值等于該數(shù)字乘以一個(gè)與它所在數(shù)位有關(guān)的常數(shù),這個(gè)常數(shù)叫做“位權(quán)”,簡(jiǎn)稱“權(quán)”。位權(quán)的大小是指以基數(shù)為底,數(shù)字符寫所在位置的序號(hào)為指數(shù)的整數(shù)次冪。 簡(jiǎn)答二進(jìn)制數(shù)與其他數(shù)制相比,具有以下一些特點(diǎn):(1)容易實(shí)現(xiàn)。(2)工作可靠。(3)運(yùn)算簡(jiǎn)單。(4)便于邏輯運(yùn)

16、算與邏輯設(shè)計(jì). 計(jì)算無符號(hào)數(shù)是指整個(gè)機(jī)器字長(zhǎng),的全部二進(jìn)制位均表示數(shù)值位(沒有符號(hào)位),相當(dāng)于數(shù)的絕對(duì)值。對(duì)于機(jī)器字長(zhǎng)為,n位的無符號(hào)數(shù)的表示范圍是0(2n-1),此時(shí)二進(jìn)制的最高位也是數(shù)值位,其權(quán)值等于21.若字長(zhǎng)為8位,則數(shù)的表示范圍為02 5 5。 帶符號(hào)數(shù)的正號(hào)“”或負(fù)號(hào)“",計(jì)算機(jī)是無法識(shí)別的,因此在計(jì)算機(jī)中需要把數(shù)的正、負(fù)符號(hào)數(shù)碼化。一般用數(shù)的最高位表示數(shù)的正負(fù),通常約定“0”表示正號(hào),“1”表示負(fù)號(hào). 計(jì)算十進(jìn)制使用的數(shù)字符號(hào)為09共10個(gè)符號(hào),各位的權(quán)是以10為底的冪;二進(jìn)制使用的數(shù)字符號(hào)為0和1,各位的權(quán)是以2為底的冪。十六進(jìn)制使用數(shù)字0、1、9,以及英文字母A、B

17、、C、D、E、F ,共16個(gè)符號(hào),其中,A、B、C、D、E、F分別代表十進(jìn)制數(shù)中的10、11、。1 2、1 3、1 4、1 5,各位的權(quán)是以1 6為底的冪. (1)十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù) 整數(shù)用“除2取余”,小數(shù)用“乘2取整的方法。 例如:(14.35)10 = (1110.01011)2(2)十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)不論是十六進(jìn)制的整數(shù)部分或小數(shù)部分,只要把每一位十六進(jìn)制數(shù)用等值的四位二進(jìn)制數(shù)代替即可。 例如:(3AB.7E)16= (0011 1010 1011.0111 1110)2 (3)二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù) 整數(shù)部分由小數(shù)點(diǎn)向左每四位一組,小數(shù)部分由小數(shù)點(diǎn)向右每四位一組,不足四位

18、的補(bǔ)0,然后用四位二進(jìn)制數(shù)的等值十六進(jìn)制數(shù)代替即可。 例如:(101110101011010.101101)2= (5D5A.B4)16 計(jì)算一個(gè)數(shù)在計(jì)算機(jī)內(nèi)的表示形式稱為機(jī)器數(shù),這個(gè)數(shù)本身的值稱為該機(jī)器數(shù)的真值.將真值轉(zhuǎn)換為計(jì)算機(jī)硬件能夠直接識(shí)別、處理的機(jī)器數(shù)時(shí),根據(jù)其數(shù)值部分編碼方法的不同,相應(yīng)的機(jī)器數(shù)又有三種不同的編碼:原碼、反碼、補(bǔ)碼。 (1)原碼表示法 原碼表示法是一種最簡(jiǎn)單的機(jī)器數(shù)表示法,其最高位為符號(hào)位,符號(hào)位為“0''表示正數(shù),符號(hào)位為“1”表示負(fù)數(shù)。數(shù)值位部分與真值相同.例如:X = +1101001(+1 0 5) 則原碼X原=01101001 X = -1

19、101001(+1 0 5) 則原碼X原=11101001 真值“0"在原碼中有兩種表示形式,即:+0原=00000000,-0原=10000000 對(duì)于8位原碼表示的數(shù)值范圍是1 27127, +1 27原=01111111; -1 27原=11111111。 (2)反碼表示法 對(duì)于正數(shù),反碼與原碼相同;對(duì)于負(fù)數(shù),除符號(hào)位仍為“1”外,其余各數(shù)值位是“按位取反”。 例如: X=-1101001(-105) 則反碼X反=10010110 反碼的“0"也有兩種表示形式,即:+0反=00000000,-0反=11111111 .對(duì)于8位反碼表示的數(shù)值范圍為1271 27,+1

20、27反=01111111, -127反=10000000 (3)補(bǔ)碼表示法 X補(bǔ)=M+X(mod M)其中,模M=基數(shù)n,n為計(jì)量裝置的位數(shù)(字長(zhǎng))。對(duì)于正數(shù),與反碼一樣,正數(shù)的補(bǔ)碼與原碼相同;對(duì)于負(fù)數(shù),除符號(hào)位仍為“1”外,其余各數(shù)值位“按位取反,末位加1”.例如:X=-1101001-105則補(bǔ)碼X補(bǔ)=X反+1=10010110+1=10010111 補(bǔ)碼的“0”只有一種表示形式:+0補(bǔ)=-0補(bǔ)=00000000對(duì)于8位補(bǔ)碼表示的數(shù)值范圍為1 27128,+127補(bǔ) 01111111,一128補(bǔ)=10000000 計(jì)算通常在編程時(shí)用真值來表示數(shù)值,經(jīng)過編譯、解釋后轉(zhuǎn)換成用原碼或補(bǔ)碼表示的機(jī)

21、器數(shù)。因此,在計(jì)算機(jī)中需要將真值或原碼形式表示的數(shù)據(jù)轉(zhuǎn)換為補(bǔ)碼形式,以便于機(jī)器對(duì)其進(jìn)行運(yùn)算.下面先從原碼形式入手來求補(bǔ)碼。 當(dāng)X為正數(shù)時(shí),X補(bǔ)=X反X 當(dāng)X為負(fù)數(shù)時(shí),X補(bǔ)等于把X原除去符號(hào)位外的各位求反后再末位加“1"。當(dāng)X為負(fù)數(shù)時(shí),已知X補(bǔ),也可通過對(duì)其除符號(hào)位外的各位求反后再末位加“1"求X補(bǔ) 當(dāng)X為負(fù)數(shù)時(shí),由X補(bǔ)轉(zhuǎn)換為X補(bǔ)的另一種更有效的方法是:自低位向高位,尾數(shù)的第一個(gè)“1"及其右部的“0"保持不變,左部的各位取反,符號(hào)位保持不變。這種方法避免了加“1"運(yùn)算,它是實(shí)際求補(bǔ)電路邏輯實(shí)現(xiàn)的依據(jù).例如:X原=11001010X補(bǔ)=101101

22、10 也可以直接由真值X轉(zhuǎn)換為X補(bǔ),其方法更簡(jiǎn)單:數(shù)值位自低位向高位,尾數(shù)的第一個(gè)“1”及其右部的“0”保持不變,左部的各位取反,負(fù)號(hào)用“1”表示。注意,X必須是負(fù)數(shù). 例如:X=00 0 1 0 1 0 X補(bǔ)=11110110 計(jì)算計(jì)算機(jī)中的一般數(shù)據(jù)有兩種表示格式:定點(diǎn)表示與浮點(diǎn)表示。所謂定點(diǎn)與浮點(diǎn),是指數(shù)中小數(shù)點(diǎn)的位置是固定的還是浮動(dòng)的。 (1)定點(diǎn)表示 定點(diǎn)表示分為定點(diǎn)小數(shù)和定點(diǎn)整數(shù).假設(shè)字長(zhǎng)是n1位,則定點(diǎn)小數(shù)的原碼表示范圍是:1-2-n-(1-2-n) ,定點(diǎn)小數(shù)的補(bǔ)碼表示范圍是:1-2-n-1,定點(diǎn)整數(shù)的原碼表示范圍是:2n-1-(2n-1),定點(diǎn)整數(shù)的補(bǔ)碼表示范圍是:2n-1-2

23、n (2)浮點(diǎn)表示 一個(gè)浮點(diǎn)數(shù)N由階碼E和尾碼M兩部分組成。任意一個(gè)二進(jìn)制數(shù)據(jù)N都可以表示為:N=±M×2E,其 中M是尾數(shù),E是階碼,而基數(shù)2隱含。 例如:-101.0011=-0.1010011×2+3=0011,11010011(階碼,尾數(shù)) 對(duì)于二制數(shù)據(jù)N來說: 當(dāng)階碼E=0,若尾數(shù)M為純小數(shù),則數(shù)據(jù)N為定點(diǎn)小數(shù)。 當(dāng)階碼E=0,若尾數(shù)M為純整數(shù),則數(shù)據(jù)N位定點(diǎn)整數(shù)。 當(dāng)階碼E為住意整數(shù),此時(shí)數(shù)據(jù)N為浮點(diǎn)數(shù) 填空BCD碼的編碼形式可以有多種,其中最自然、最簡(jiǎn)單的一種形式是8421BCD碼,即4位二進(jìn)制數(shù)的權(quán)從左往右分別為8、4、2、1。32 非數(shù)值型數(shù)據(jù)的

24、表示 單選、填空計(jì)算機(jī)中的字符是用7位二進(jìn)制編碼來表示的,并且經(jīng)常用一個(gè)字節(jié)來保存這個(gè)二進(jìn)制數(shù)?,F(xiàn)在世界上最通用的編碼方案是ASCII。在ASCII字符編碼表中可以看到,一個(gè)字節(jié)中的7位二進(jìn)制數(shù)給出廠128個(gè)編碼,表示128個(gè)不同的字符. 單選、填空用計(jì)算機(jī)進(jìn)行漢字信息處理,必須將漢字代碼化,即對(duì)漢字進(jìn)行編碼,稱為漢字輸人碼.漢字的編碼有輸入碼、內(nèi)碼、字形碼三種形式, (1)漢字的輸入碼.編碼方案主要分為三大類:數(shù)字編碼、拼音碼、字形編碼.數(shù)字編碼常用的是國(guó)標(biāo)區(qū)位碼,用數(shù)字串輸人一個(gè)漢字;拼音碼是以漢語(yǔ)拼為基礎(chǔ)的輸入方法;字形編碼是用漢字的形狀來進(jìn)行的編碼。 (2)漢字的內(nèi)碼.同一個(gè)漢字以不同

25、輸入方式進(jìn)人計(jì)算機(jī)時(shí),編碼長(zhǎng)度以及0、1組合順序差別很大,在漢字信息進(jìn)一步存取、使用、交流時(shí)十分不方便,必須轉(zhuǎn)換成長(zhǎng)度一致且與漢字唯一對(duì)應(yīng)的能在各種讓算機(jī)系統(tǒng)墮通用的編碼,滿足這種規(guī)則的編碼稱為漢字內(nèi)碼。 3)漢字字形碼。存儲(chǔ)在計(jì)算機(jī)內(nèi)在屏幕上顯示或在打印機(jī)上輸出時(shí),需要知道漢字的字形信息,漢字內(nèi)碼并不能直接反映漢字的字形,而要采用專門的字形碼。字形信息的表示大體上有兩類形式:一類是用活字或文字版的固體字形形式,另一類是點(diǎn)陣表示法或矢量表示法等形式,其中最基本的也是大多數(shù)字形庫(kù)采用的,是以點(diǎn)陣的形式存儲(chǔ)漢字字形編碼的方法。 單選、填空位圖圖像是由一個(gè)個(gè)離散點(diǎn)(像素點(diǎn))的二進(jìn)制數(shù)字組成的數(shù)字圖像

26、,需要經(jīng)過采樣和量化處理。語(yǔ)音是一種模擬信號(hào),和位圖圖像處理類似,必須經(jīng)過采樣、量化等模/數(shù)轉(zhuǎn)換處理。3.3數(shù)據(jù)校驗(yàn)碼 計(jì)算機(jī)中常用檢錯(cuò)或糾錯(cuò)技術(shù)進(jìn)行存儲(chǔ)器讀/寫正確性或傳輸信息的檢驗(yàn),這里僅介紹檢錯(cuò)碼。 最簡(jiǎn)單且應(yīng)用廣泛的檢錯(cuò)碼是采用一位校驗(yàn)位的奇偶校驗(yàn)。設(shè)X=(X0X1X2Xn-1)是一個(gè)n位字,偶校驗(yàn)位C定義為: C=X0X1Xn-1即X中包含偶數(shù)個(gè)1時(shí),才使C=0。3.4 指令信息的表示 指令是指示計(jì)算機(jī)硬件執(zhí)行某種操作的命令。CPU就是根據(jù)指令指揮和控制計(jì)算機(jī)各部件協(xié)調(diào)動(dòng)作。實(shí)現(xiàn)對(duì)信息的加工和處理的.指令系統(tǒng)主要包括指令格式、尋址方式、指令類型與指令功能等內(nèi)容,這些都是必須熟悉和掌握

27、的核心問題。1指令格式 計(jì)算機(jī)能直接識(shí)別和執(zhí)行的指令是用二進(jìn)制編碼表示的機(jī)器指令.指令格式就是指令用二進(jìn)制代碼表示的結(jié)構(gòu)形式,通常由若干個(gè)字段構(gòu)成,主要包括操作碼和地址碼字段。一條機(jī)器指令的基本格式如下:操作碼OP地址碼D (1)操作碼指明了計(jì)算機(jī)應(yīng)講行什么件質(zhì)的操作,如加、減、乘、除四則運(yùn)算或數(shù)據(jù)傳送、移位等操作. (2)地址碼指明了操作的數(shù)據(jù)或數(shù)據(jù)存放的地址。根據(jù)指令碼中提供操作數(shù)地址的個(gè)數(shù),又可以把指令格式分為:零地址指令(又稱為無操作數(shù)指令),一地址指令(又稱為單操作數(shù)指令)、二地址指令(又稱為雙操作數(shù)指今)和三地址指令(又稱為三操作數(shù)指令)等。 零地址指令格式:操作碼OP 這類指令中

28、只有操作碼,沒有操作數(shù),例如空操作指令、停機(jī)指令等;也可能是有操作數(shù),而該操作數(shù)被隱含地給出。 一地址指令格式:操作碼OP地址碼D 一地址通常有兩種情況:這個(gè)操作數(shù)既是操作數(shù)的地址,又是操作結(jié)果的存儲(chǔ)地址;指令中給出一個(gè)操作數(shù),而另一個(gè)操作數(shù)被隱含在CPU的某個(gè)寄存器中 二地址指令格式:操作碼OP地址碼D1地址碼D2 這類指令指明參與操作的兩個(gè)操作數(shù)地址,分別為源地址D2的地址和目的地址D1.指令功能是(D1)OP(D2)>D1. 在雙操作指令中,從操作數(shù)的物理位置來說,可分為三種類型:寄存器-寄存器(RR)型指令。操作數(shù)都放在CPU內(nèi)寄存器中,因不需要訪問存儲(chǔ)器,所以機(jī)器執(zhí)行的速度快:

29、存儲(chǔ)器-存儲(chǔ)器(SS)型指令,操作數(shù)都放在存儲(chǔ)器單元中,執(zhí)行速度慢;寄存器一存儲(chǔ)器(RS)型指令,執(zhí)行速度介于上述兩者之間。三地址指令格藏:操作碼OP地址碼D1地址碼D2地址碼D3 指令功能是(D2)OP(D3)àD1,該指令的優(yōu)點(diǎn)是操作結(jié)束后,D2、D3中的內(nèi)容均未被破壞;缺點(diǎn)是增加了指令長(zhǎng)度和存放空間,加大了取指令的時(shí)間。 2。指令長(zhǎng)度 每一條機(jī)器指令都是一串二進(jìn)制代碼,稱為指令字。在指令系統(tǒng)設(shè)計(jì)上出現(xiàn)兩種相反的趨勢(shì):一種是采用可變長(zhǎng)指令字結(jié)構(gòu),讓指令功能盡可能豐富,稱之為復(fù)雜指令系統(tǒng)計(jì)算機(jī)(Complex Instruction Set Cornputer,CISC);另一種是

30、采用定長(zhǎng)指令字結(jié)構(gòu),只選取簡(jiǎn)單、常用的指令,稱之為精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)(Reduced Instruction Set Computer,RISC). 3.尋址方式 指令中以什么方式提供操作數(shù)或操作數(shù)地址,稱為尋址方式. (1)立即尋地。操作數(shù)跟在操作碼的后面,指令的地址字段直接給出了操作數(shù)。在取出該指令的同時(shí),也就取出了可以立即使用的操作數(shù)。這樣的數(shù)稱為立即數(shù)。 (2)寄存器尋址.指令的地址碼字段給出某一個(gè)通用寄存器的編碼(地址),該寄存器中存放著操作數(shù)。 (3)直接尋址.指令的地址碼字段直接給出的是操作數(shù)的有效地址EA。用這個(gè)有效地址訪問一次存儲(chǔ)器,便可以從指定的存儲(chǔ)單元中獲得操作數(shù)。由于這

31、樣給出的操作數(shù)地址是不能修改的。與程序本身所在的位置無關(guān),所以又叫做絕對(duì)尋址方式。 (4)寄存器間接尋址。指令中的地址碼給出了某一通用寄存器的編號(hào),以該寄存器中的內(nèi)容為有效地址EA,用這個(gè)有效地址訪問一次存儲(chǔ)器,便可以從指定的存儲(chǔ)單元中獲得操作數(shù)。 (5)存儲(chǔ)器間接尋址.這是一種與寄存器間接尋址類似間接尋址方式。通常在指令格式中劃出一位作為直接或間接尋址的標(biāo)志位I。(6)變址尋址.變址尋址就是把變址寄存器RX的內(nèi)容(變址值)與指令中給出的形式地址D相加,形成操作數(shù)的有效地址EA,即EA=(RX)D。(7)相對(duì)尋址.相對(duì)尋址方式是變址尋址的特例。它以程序計(jì)數(shù)器PC為變址器,與指令提供的形式地址相

32、加,從而得到有效地址EA.有效地址與形式地址D和程序計(jì)數(shù)器PC器的關(guān)系為:EA=(PC)D。 (8)基址尋址。當(dāng)存儲(chǔ)器容量較大、所需地址碼的長(zhǎng)度大于字長(zhǎng)時(shí),由指令地址碼字段直接給出的地址就不能直接訪問到存儲(chǔ)器的所有單元。解決的方法通常是把整個(gè)存儲(chǔ)空間分成若干個(gè)段,段的首地址存放在基址寄存器中,段內(nèi)位移量由指令直接給出,存儲(chǔ)器的實(shí)際地址就等于基址寄存器的內(nèi)容(即段首地址)與段內(nèi)位移量之和,這樣通過修改基址寄存器的內(nèi)容就可以訪問存儲(chǔ)器的任一單元。 4指令的類型及功能 計(jì)算機(jī)的指令系統(tǒng)一般都包含有幾十條到上百條指令,其類型也有很多種,在此將按照指令的類型分別介紹各類指令的基本功能。 (1)數(shù)據(jù)傳送類

33、指令 這類指令用于實(shí)現(xiàn)寄存器與寄存器、寄存器與存儲(chǔ)器單元以及兩個(gè)存儲(chǔ)器單元之間的數(shù)據(jù)傳送操作,包括通用數(shù)據(jù)傳送指令和堆棧及堆棧操作指令。 (2)運(yùn)算類指令 運(yùn)算類指令包括算術(shù)運(yùn)算指令和邏輯運(yùn)算指令。算術(shù)運(yùn)算指令一般都設(shè)有二進(jìn)制數(shù)加、減、乘、除、比較和求補(bǔ)等最基本指令;邏輯運(yùn)算指令指與、或、非、異或和測(cè)試等。 (3)移位操作指令 移位操作指令分為算術(shù)移位、邏輯移位和循環(huán)移位三種,可以實(shí)現(xiàn)對(duì)操作數(shù)左移或右移一位或若干位。 算術(shù)移位的對(duì)象是帶符號(hào)數(shù),左移時(shí)、末位補(bǔ)0;右移時(shí),必須保持操作數(shù)的符號(hào)不變。當(dāng)左移一位時(shí),如不產(chǎn)生溢出,則數(shù)值乘2;而右移一位時(shí),如不考慮因移出舍去的末位尾數(shù),則數(shù)值除2。 邏

34、輯移位操作的是無符號(hào)數(shù)。算術(shù)移位與邏輯移位主要差別在于右移時(shí),填人最高位的數(shù)據(jù)不同。算術(shù)右移保持最高位(符號(hào)位)不變,而邏輯右移最高位補(bǔ)零。 循環(huán)移位又分為小循環(huán)(自身循環(huán))與大循環(huán)(帶進(jìn)位循環(huán)),主要用于實(shí)現(xiàn)循環(huán)式控制、高低字節(jié)互換等. 5字符串處理指令 字符串處理指今是一種非數(shù)處理指今.一船包括字符串傳送、字符串轉(zhuǎn)換、字符串比較、字符串查找、字符串匹配、字符串的抽取和替換。 6輸入/輸出指令(I/0) I/0指令主要用來實(shí)現(xiàn)CPU與外部設(shè)備之間的信息交換、包括輸入/輸出數(shù)據(jù)、CPU向外設(shè)發(fā)控制命令或外設(shè)向CPU報(bào)告工作狀態(tài)等. 7程序控制指令 程序控制類指令用于控制程序的執(zhí)行順序,并使程序

35、具有測(cè)試、分析和判斷的能力。它主要包括轉(zhuǎn)移指令、子程序調(diào)用和返回指令等. (1)轉(zhuǎn)移指令用來改變程序的執(zhí)行順序,可以分為無條件轉(zhuǎn)移指令和條件轉(zhuǎn)移指令全兩種。 (2)子程序是一組可以公用的指令序列,只要知道子程序的入口地址就能調(diào)用它。通常把一些需要重復(fù)使用并能獨(dú)立完成某種特定功能的程序單獨(dú)編成子程序,在需要時(shí)由主程序調(diào)用,這樣做既簡(jiǎn)化了程序設(shè)計(jì),又節(jié)省了存儲(chǔ)空間。 (3)從子程序轉(zhuǎn)向主程序的指令稱為返回指令。 8其他指令 其他指令主要包括特權(quán)指全、陷阱與陷阱指令。陷阱實(shí)際上是一種意外事故中斷,中斷的目的不是為了請(qǐng)求CPU的正常處理,而是為了通知CPU所出現(xiàn)的故障,并根據(jù)故障轉(zhuǎn)入相應(yīng)的故障處理程序

36、. 填空、簡(jiǎn)答堆棧是由若干個(gè)連續(xù)存儲(chǔ)單元組成的先進(jìn)后出(FILO)存儲(chǔ)區(qū),第一個(gè)送入堆棧中的數(shù)據(jù)存放在棧底,最后送入堆棧中的數(shù)據(jù)存放在棧頂。棧底是固定不變的,而棧頂卻是隨著數(shù)據(jù)的入棧和出棧在不斷變化。為了表示棧頂?shù)奈恢?,用一個(gè)寄存器指出棧頂?shù)牡刂罚@個(gè)寄存器稱為堆棧指針(Stack Pointe SP),任何堆棧操作只能由SP控制在棧頂進(jìn)行。 由于堆棧具有“先進(jìn)后出"的特性,因而在中斷服務(wù)程序、子程序調(diào)用過程中廣泛用于保存返回地址、狀態(tài)標(biāo)志及現(xiàn)場(chǎng)信息等.另一個(gè)重要作用是在子程序調(diào)用時(shí)利用堆棧在主程序與子程序之間傳遞參數(shù)。例如,首先把所需傳遞的參數(shù)壓人堆棧中,然后調(diào)用子程序。第4章 運(yùn)

37、算方法及運(yùn)算器 運(yùn)算器是計(jì)算機(jī)中加工與處理數(shù)據(jù)的功能部件,它主要由算術(shù)邏輯單元(ALU)、各種寄存器和若干控制門電路組成。4。1 定點(diǎn)補(bǔ)碼加、減法運(yùn)算 簡(jiǎn)答由于補(bǔ)碼加、減法運(yùn)算規(guī)則最簡(jiǎn)單,實(shí)現(xiàn)起來也最方便,因此,一般計(jì)算機(jī)都采用補(bǔ)碼做加、減法運(yùn)算.其運(yùn)算特點(diǎn)是: 符號(hào)位與數(shù)值部分可以按相同的規(guī)則一起參加運(yùn)算,符號(hào)位不用單獨(dú)處理. 補(bǔ)碼減法運(yùn)算可以轉(zhuǎn)換成加法運(yùn)算。 補(bǔ)碼加、減法運(yùn)算是有“?!边\(yùn)算,即符號(hào)位的進(jìn)位自然丟失,并不影響運(yùn)算結(jié)果的正確性。 1補(bǔ)碼加法運(yùn)算補(bǔ)碼加法時(shí),不管兩個(gè)數(shù)是正數(shù)還是負(fù)數(shù),按補(bǔ)碼的和等于和的補(bǔ)碼進(jìn)行運(yùn)算,即:X補(bǔ)+X補(bǔ)=X+Y補(bǔ) 例如:已知X=1000000,Y=000

38、1000,求兩數(shù)和的補(bǔ)碼。 解: X補(bǔ)01000000,Y補(bǔ)=00001000 則X補(bǔ)+Y補(bǔ)=01001000所以X+Y補(bǔ)=01001000 例如: X=0011001,Y=0000110 ,求兩數(shù)和的補(bǔ)碼。解:X補(bǔ)11100111,Y補(bǔ)=11111010則 X補(bǔ)+Y補(bǔ)=11100001,所以X+Y補(bǔ)=11100001。2補(bǔ)碼減法運(yùn)算 補(bǔ)碼減法運(yùn)算可以轉(zhuǎn)化為加法來做,轉(zhuǎn)化公式為: X補(bǔ)-Y補(bǔ)=X補(bǔ)+-Y補(bǔ)=X-Y補(bǔ) 例如:已知 X=0111000,Y=0010001 ,求補(bǔ)碼的減法運(yùn)算。 解:X補(bǔ)=11001000,Y補(bǔ)=11101111,-Y補(bǔ)=00010001 則 X補(bǔ)-Y補(bǔ)=X補(bǔ)+-Y補(bǔ)

39、=11011001 填空由于計(jì)算機(jī)的字長(zhǎng)是固定的,因此計(jì)算機(jī)中數(shù)的表示范圍(允許取值范圍)是有限的。若兩個(gè)有符號(hào)數(shù)進(jìn)行加、減法運(yùn)算的結(jié)果超出了給定的取值范圍,就稱為溢出。 計(jì)算機(jī)必須對(duì)運(yùn)算結(jié)果是否“溢出”作出明確的判斷。所以,在運(yùn)算器中專門設(shè)計(jì)了“溢出”判斷電路和一個(gè)“溢出”標(biāo)志位。當(dāng)判斷電路檢測(cè)到溢出發(fā)生時(shí),則置“溢出”標(biāo)志為“1”,表示結(jié)果出錯(cuò),要求機(jī)器停止運(yùn)算,進(jìn)行中斷處理.判斷是否發(fā)生“溢出”常用下列兩種檢測(cè)方法。 (1)進(jìn)位檢測(cè)方法 用符號(hào)位的進(jìn)位與最高數(shù)值位的進(jìn)位的異或來檢測(cè),若異或的結(jié)果是1,則溢出;若結(jié)果是0,則沒有溢出。 例如:已知X=1011001,Y=1000110,求兩

40、數(shù)的補(bǔ)碼之和,并判斷是否溢出。 解:X補(bǔ)=01011001,Y補(bǔ)=01000110,XY補(bǔ)=10011111 符號(hào)位的進(jìn)位是0,最高數(shù)值位的進(jìn)位是1,異或結(jié)果是1,表示溢出。 (2)變形補(bǔ)碼檢測(cè)方法 如果將符號(hào)位擴(kuò)充為兩位,其所能表示的信息量將隨之?dāng)U大,既能檢測(cè)出是否溢出,又能指出結(jié)果的符號(hào),這種編碼稱為變形補(bǔ)碼。 變形補(bǔ)碼檢測(cè)方法是:每個(gè)操作數(shù)在運(yùn)算時(shí)都采用兩個(gè)符號(hào)位,正數(shù)用00表示,負(fù)數(shù)用11表示,兩個(gè)符號(hào)位與數(shù)值位一起參加運(yùn)算。若運(yùn)算結(jié)果的兩個(gè)符號(hào)位的代碼一致,表示沒有溢出;若運(yùn)算結(jié)果的兩個(gè)符號(hào)位代碼不一致,表示溢出。這時(shí),左邊的符號(hào)位(第一符號(hào)位)代表了該數(shù)真正的符號(hào),右邊的符號(hào)位(第

41、二符號(hào)位)則被破壞。 例如:已知X=1011001,Y1001110,求兩數(shù)的補(bǔ)碼之和,并判斷是否溢出。 解:X補(bǔ)=110100111,Y補(bǔ)=110110010,XY補(bǔ)=101011001 符號(hào)位的代碼為10,表示運(yùn)算結(jié)果 “負(fù)溢”.如果符號(hào)位的代碼為01,則表示運(yùn)算結(jié)果為“正溢”。4。2 定點(diǎn)乘法運(yùn)算 采用原碼做乘法運(yùn)算比較方便,因?yàn)槌朔e的符號(hào)位是兩乘數(shù)符號(hào)位的異或,而乘積的數(shù)值部分則是兩乘數(shù)絕對(duì)值相乘。 1原碼一位乘法運(yùn)算 機(jī)器算法的運(yùn)算規(guī)則總結(jié)如下: (1)被乘數(shù)和乘數(shù)均取絕對(duì)值參加運(yùn)算,符號(hào)位單獨(dú)處理。 (2)為了避免中間結(jié)果溢出,被乘數(shù)、部分積取雙符號(hào)位參加運(yùn)算,部分積初值為0. (

42、3)從乘數(shù)的最低位yn,開始對(duì)乘數(shù)進(jìn)行判斷:若yn=1,則部分積加上被乘數(shù)|X,然后右移一位;如yn=0,則部分積加上0,然后右移一位。 (4)重復(fù)第(3)步n次。 例如:設(shè)X=0。1101,Y=0。1011求X原Y原的值. 解:乘法運(yùn)算時(shí),需要3個(gè)寄存器,其設(shè)置如下: A-運(yùn)算前存放部分積累加和,運(yùn)算后存放乘積高位,初值A(chǔ)=00.0000 B-存放被乘數(shù),初值為B=X |=00。1101 C-運(yùn)算前存放乘數(shù),運(yùn)算后存放乘積低位,初值為C=Y=0.1011 2.補(bǔ)碼一位乘法運(yùn)算 補(bǔ)碼一位乘法的比較法運(yùn)算算法是Bootk夫婦首先提出的,所以也稱為Booth算法,其運(yùn)算規(guī)則如下 (1)運(yùn)算的數(shù)均以

43、碼表示,符號(hào)位參與運(yùn)算。 (2)為了避免中間結(jié)果溢出,被乘數(shù)、部分積取雙符號(hào)位參加運(yùn)算,部分積初值為0. (3)乘數(shù)可取符號(hào)位,以決定最后一步是否需要校正,即是否要加減X補(bǔ)。 (4)乘數(shù)末位增設(shè)附加位yn+l,且初值為0 (5)按照表41中所列規(guī)則進(jìn)行操作。表4-1 補(bǔ)碼一位乘法操作規(guī)則 yn(高位) yn+1 (低位) 操 作 0 0 部分積右移一位 0 1 部分積加X補(bǔ),右移一位 1 0 部分積加X補(bǔ),右移一位 1 1 部分積右移一位 (6)按照上述操作規(guī)則重復(fù)n+1次操作,但第n+1次操作不再移位,僅根據(jù)y0與y1比較結(jié)果做相應(yīng)的運(yùn)算即可。請(qǐng)注意,移位時(shí)須按照補(bǔ)碼移位規(guī)則進(jìn)行.4.3 定

44、點(diǎn)除法運(yùn)算 用原碼做除法很方便,商的符號(hào)位是兩數(shù)的符號(hào)位的異或,商的數(shù)值部分則是兩數(shù)的絕對(duì)值相除. 1原碼恢復(fù)余數(shù)除法 原碼恢復(fù)余數(shù)法的運(yùn)算規(guī)則如下: (1)被除數(shù)和除數(shù)均取絕對(duì)值參加運(yùn)算,符號(hào)位單獨(dú)處理。為了避免溢出,要求0<|被除數(shù)|除數(shù)。 (2)被除數(shù)減除數(shù)得余數(shù)。 (3)如果余數(shù)為正,表示夠減,上商“1”,然后余數(shù)左移一位,減去除數(shù)得新余數(shù);如果余數(shù)為負(fù),表示不夠減,上商“0”加除數(shù),以恢復(fù)原來的余數(shù),然后余數(shù)左移一位,減去除數(shù)得新余數(shù)。 (4)重復(fù)第(3)步一直到n位商時(shí),計(jì)算結(jié)束。 2原碼不恢復(fù)余數(shù)除法 在恢復(fù)余數(shù)法中,當(dāng)余數(shù)為負(fù)時(shí),需要恢復(fù)余數(shù),這就延長(zhǎng)了機(jī)器除法操作的時(shí)間

45、,同時(shí)使除法操作的步數(shù)不固定,控制比較復(fù)雜.因此,實(shí)際中常采用不恢復(fù)余數(shù)法,又稱為加減交替法。 不恢復(fù)余數(shù)法的運(yùn)算規(guī)則如下: (1)被除數(shù)和除數(shù)均取絕對(duì)值參加運(yùn)算,符號(hào)位單獨(dú)處理.為了避免溢出,要求0<|被除數(shù)除數(shù). (2)被除數(shù)減除數(shù)得余數(shù)。 (3)如果余數(shù)為正,表示夠減,上商“qi=1”,余數(shù)左移一位,減去除數(shù)得新余數(shù);如果余數(shù)為負(fù),表示不夠減,上商“qi=0”,余數(shù)左移一位,加除數(shù)得到新余數(shù),即: ri+1=2ri+(1+2qi)y (4)重復(fù)第(3)步n次。 (5)當(dāng)?shù)趎步余數(shù)為負(fù)數(shù)時(shí)需要加上除數(shù),以恢復(fù)正確的余數(shù)rn,最后的余數(shù)R=2-Nrn (余數(shù)與被除數(shù)取同號(hào)). 3補(bǔ)碼不

46、恢復(fù)余數(shù)法 補(bǔ)碼不恢復(fù)余數(shù)法在算法上不像原碼除法那樣直觀,運(yùn)算時(shí)應(yīng)解決以下幾個(gè)相關(guān)問題;(1) 夠減的判斷。 (2) 上商規(guī)則. (3) 商符的確定。 (4) 對(duì)商的校正。44 邏輯運(yùn)算 邏輯運(yùn)算是指不考慮進(jìn)位的“位對(duì)位”的運(yùn)算,參加運(yùn)算的操作數(shù)常被稱為,邏輯數(shù).利用邏輯運(yùn)算可以進(jìn)行兩個(gè)數(shù)的邏輯比較、從某個(gè)數(shù)中選取某幾位等操作。 計(jì)算機(jī)中的邏輯運(yùn)算,主要是指“邏輯非”、“邏輯加"、“邏輯乘”、“邏輯異或”等四種基本運(yùn)算。這些運(yùn)算通過在原有加法器上附加上部分線路來實(shí)現(xiàn),因而把用于完成算術(shù)運(yùn)算與邏輯運(yùn)算的部件稱為算術(shù)邏輯單元(ALU).邏輯運(yùn)算的真值表如下表42所示。 表42 邏輯運(yùn)算真

47、值表 xi yi zi(xi) zi(xiyi) zi(xiyi) zi(xiyi) 邏輯數(shù) 邏輯數(shù) 邏輯求反 邏輯加 邏輯乘 邏輯異或 0 0 1 0 0 O 0 1 1 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 45 浮點(diǎn)運(yùn)算 如果有兩個(gè)浮點(diǎn)數(shù)X和Y,它們分別為:X=MxEx,Y=MxEy,其中,數(shù)x和y的尾數(shù)是MX和My,EX、Ey為數(shù)X和y的階碼。則兩浮點(diǎn)數(shù)進(jìn)行加、減法的運(yùn)算規(guī)則是: X±Y=(Mx2Ex-Ey±My)2Ey (當(dāng)ExEy 浮點(diǎn)加、減運(yùn)算的步驟如下: (1)0操作數(shù)檢查 如果判知兩個(gè)操作數(shù)X或y中有一個(gè)數(shù)為0,即可以得知運(yùn)算結(jié)束,而

48、沒有必要再進(jìn)行后續(xù)的一系列操作,以節(jié)省運(yùn)算時(shí)間。 (2)對(duì)階 兩浮點(diǎn)數(shù)進(jìn)行加、減運(yùn)算,首先要看兩數(shù)的階碼是否相同,即小數(shù)點(diǎn)位置是否對(duì)齊。若兩數(shù)階碼不同,表示小數(shù)點(diǎn)位置沒有對(duì)齊,此時(shí)必須使兩數(shù)階碼相同,這個(gè)過程叫做對(duì)階。 對(duì)階的規(guī)則是:小階向大階看齊(采用這一規(guī)則的原因是當(dāng)階碼小的數(shù)的尾數(shù)右移并相應(yīng)增加階碼時(shí),舍去的僅是尾數(shù)低位部分,誤差比較小).要使小階的階碼增大,則相應(yīng)的尾數(shù)每右移一位,階碼加1,直到兩數(shù)的階碼相等為止。 (3)尾數(shù)加、減 對(duì)階之后,就可以進(jìn)行尾數(shù)加、減運(yùn)算,方法與定點(diǎn)加、減運(yùn)算完全一樣。 (4)結(jié)果規(guī)格化 設(shè)尾數(shù)用雙符號(hào)位補(bǔ)碼表示,經(jīng)過加、減運(yùn)算之后,只要對(duì)運(yùn)算結(jié)果的符號(hào)位

49、和小數(shù)點(diǎn)后的第一位進(jìn)行比較:如果它們不等,即00.1xx或11.xx就是規(guī)格化的數(shù);如果它們相等,即00。1xx或,11。xx就不是規(guī)格化的數(shù),在這種情況下,需要尾數(shù)向左移被以實(shí)現(xiàn)規(guī)格化過程,叫做向左規(guī)格化. 在浮點(diǎn)加、減運(yùn)算時(shí),尾數(shù)求和的結(jié)果也可能得到0 1。xx或10。xx,即兩符號(hào)位不相等,這在定點(diǎn)加、減運(yùn)算中稱為溢出,是不允許的。但在浮點(diǎn)運(yùn)算中,它表明尾數(shù)結(jié)果的絕對(duì)值大于1,此時(shí)將結(jié)果右移一位,階碼加1即可,稱為右規(guī)格化 (5)舍入處理 在對(duì)階或向右規(guī)格化時(shí),尾數(shù)要向右移位,這樣被右移的尾數(shù)的低位部分會(huì)被丟掉,從而造成一定誤差,因此要進(jìn)行舍入處理。常用的舍人方法有兩種:一種是“0舍1入

50、”法,另一一種種是“恒置1”法 (6)溢出判斷 浮點(diǎn)數(shù)的溢出是由階碼的符號(hào)決定的。若階碼也采用雙符號(hào)位補(bǔ)碼表示,當(dāng)階碼為01 xx表示上溢,此時(shí)浮點(diǎn)數(shù)真正溢出,機(jī)器需停止運(yùn)算,作溢出中斷處理;當(dāng)階碼為10xx表示下溢,浮點(diǎn)數(shù)值趨于零,機(jī)器不作溢出處理,而是按機(jī)器零處理。 46 運(yùn)算器 運(yùn)算器主要由算術(shù)邏輯單元、通用寄存器、狀態(tài)字寄存器和有關(guān)的判斷邏輯(例如判結(jié)果是否為0,有無進(jìn)位,是否溢出等)、局部控制電路和內(nèi)部等組成. 單選,填空根據(jù)總線所處的位置,可將其分為內(nèi)部總線和外部總線兩類.內(nèi)部總線是指CPU內(nèi)各部件的連線,而外部總線是指系統(tǒng)總線,即CPU與存儲(chǔ)器、I/O系統(tǒng)之間的連線。 按總線的邏

51、輯結(jié)構(gòu)來說,總線可分為單向總線和雙向總線。所謂單向總線,就是信息只能一個(gè)方向傳送;所謂雙向總線,就是信息可以向兩個(gè)方向傳送,既可以發(fā)送數(shù)據(jù),也可以接收數(shù)據(jù)。第5章 中央處理器51 CPU的功能與組成 簡(jiǎn)答計(jì)算機(jī)對(duì)信息進(jìn)行的處理(或計(jì)算)是通過程序的執(zhí)行來實(shí)現(xiàn)的。CPU要控制整個(gè)程序的執(zhí)行,它應(yīng)具有以下幾個(gè)基本功能. (1)程序控制。程序執(zhí)行順序成為程序控制。 (2)操作控制。 (3)時(shí)間控制。對(duì)各種微操作實(shí)施時(shí)間上的控制稱為時(shí)間控制。 (4)數(shù)據(jù)加工.就是對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算。 除了上述4個(gè)基本功能之外,CPU還必須能控制程序的輸入和運(yùn)算結(jié)果的輸出以及對(duì)總線_的管理,甚至能處理機(jī)器運(yùn)行過程中出現(xiàn)的異常情況和特殊請(qǐng)求即應(yīng)具有中斷理能力。 簡(jiǎn)答傳統(tǒng)的CPU由運(yùn)算器和控制器兩大部分組成?,F(xiàn)代的CPU主要由運(yùn)算器、控制器和Cache三大部分組成. (

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論