2017年全國計算機等級考試四級復習輔導2

字號:


     (1)整數(shù)轉(zhuǎn)換方法———除基取余法
     十進制整數(shù)除以2取余數(shù)作最低位系數(shù)k0 再取商的整數(shù)部分繼續(xù)除以2取余數(shù)作高一位的系數(shù),如此繼續(xù)直到商為0時停止除法,最后一次的余數(shù)就是整數(shù)部分有效位的二進制系數(shù),依次所得到的余數(shù)序列就是轉(zhuǎn)換成的二進制數(shù)。因為除數(shù)2是二進制的基數(shù),所以這種算法稱作“除基取余”法。
     (2)小數(shù)轉(zhuǎn)換方法———乘基取整法
     把十進制小數(shù)乘以2,取其積的整數(shù)部分作對應二進制小數(shù)的位系數(shù)k -1 再取積的純小數(shù)部分乘以2,新得積的整數(shù)部分又作下一位的系數(shù)k -2 ,再取其積的純小數(shù)部分繼續(xù)乘2,…,直到乘積小數(shù)部分為0時停止,這時乘積的整數(shù)部分是二進制數(shù)最低位系數(shù),每次乘積得到的整數(shù)序列就是所求的二進制小數(shù)。這種方法每次乘以基數(shù)取其整數(shù)作系數(shù)。所以叫乘基取整法。需要指出的是并不是所有十進制小數(shù)都能轉(zhuǎn)換成有限位的二進制小數(shù)并出現(xiàn)乘積的小數(shù)部分0的情況,有時整個換算過程無限進行下去。此時可以根據(jù)要求并考慮計算機字長,取定長度的位數(shù)后四舍五入,這時得到的二進制數(shù)是原十進制數(shù)的近似值。來源:www.examda.com
     一個既有整數(shù)又有小數(shù)部分的數(shù)送入計算機后,由機器把整數(shù)部分按“除基取余”法,小數(shù)部分按“乘基取整”法分別進行轉(zhuǎn)換,然后合并。任意進制數(shù)轉(zhuǎn)換成十進制數(shù):
     任意一種進位計數(shù)制的數(shù)轉(zhuǎn)換成十進制數(shù)的方法都是一樣的。把任意進制數(shù)按權(quán)展開成多項式和的形式,把各位的權(quán)與該位上的數(shù)碼相乘,乘積逐項相加,其和便是相應的十進制數(shù)。十進制數(shù)轉(zhuǎn)換成任意進制數(shù):
     十進制數(shù)轉(zhuǎn)換成任意進制數(shù)與十進制數(shù)轉(zhuǎn)換成二進制數(shù)的方法完全相同,即整數(shù)部分用除基取余的算法,小數(shù)部分用乘基取整的方法,然后將整數(shù)與小數(shù)拼接成一個數(shù)作為轉(zhuǎn)換的最后結(jié)果。
     3.數(shù)的機器碼表示
     符號數(shù)的機器碼表示:
     (1)機器數(shù)和真值
     數(shù)在計算機中的表示形式統(tǒng)稱為機器數(shù)。機器數(shù)有兩個基本特點,其一,數(shù)的符號數(shù)值化。實用的數(shù)據(jù)有正數(shù)和負數(shù),因為計算機只能表示0、1兩種狀態(tài),數(shù)據(jù)的正號“+”或負號“-”,在機器里就用一位二進制的0或1來區(qū)別。通常這個符號放在二進制數(shù)的位,稱符號位,以0代表符號“+”,以1代表符號“-”,這樣正負符號就被數(shù)值化了。因為有符號占據(jù)一位,數(shù)的形式值就不等于真正的數(shù)值,帶符號位的機器數(shù)對應的數(shù)值稱為機器數(shù)的真值。來源:www.examda.com
     機器數(shù)的另一個特點是二進制的位數(shù)受機器設(shè)備的限制。機器內(nèi)部設(shè)備一次能表示的二進制位數(shù)叫機器的字長,一臺機器的字長是固定的。字長8位叫一個字節(jié)(Byte),現(xiàn)在機器字長一般都是字節(jié)的整數(shù)倍,如字長8位、16位、32位、64位。
     符號位數(shù)值化之后,為能方便的對機器數(shù)進行算術(shù)運算、提高運算速度,計算機設(shè)計了多種符號位與數(shù)值一起編碼的方法,最常用的機器數(shù)表示方法有三種:原碼、反碼和補碼。
     (2)原碼表示法和反碼表示法
     一個機器數(shù)X由符號位和有數(shù)數(shù)值兩部分組成。
     (3)補碼表示法(complement)
     設(shè)計補碼表示法的目的是:①使符號位能和有效數(shù)值部分一起參加數(shù)值運算從而簡化運算規(guī)則,節(jié)省運算時間。②使減法運算轉(zhuǎn)化成加法運算,從而進一步簡化計算機中運算器的線路設(shè)計。計算機是一種有限字長的數(shù)字系統(tǒng),因此都是有模運算,超過模的運算結(jié)果都將溢出。n位二進制整數(shù)的模是2 n 。
     對于二進制數(shù)還有一種更加簡單的方法由原碼求得補碼。①正數(shù)的補碼表示與原碼一樣,[X]補 =[X]原②負數(shù)的補碼是將原碼符號位保持“1”之后其余各位取相反的碼,末位加1便得到補碼,即取其原碼的反碼再加1∶[X]補 =[X]反 +1。
     真值+0和-0的補碼表示是一致的,但在原碼和反碼表示中具有不同的形式。8位補碼機器數(shù)可以表示-128,但不存在+128的補碼與之對應,由此可知8位二進制補碼能表示數(shù)的范圍是-128~+127。應該注意,不存在-128的8位原碼和反碼形式。
     根據(jù)互補的概念,一個補碼機器數(shù)再求一次補就得到機器數(shù)的原碼了。
     定點數(shù)與浮點數(shù):
     (1)定點數(shù)(fixed-point number)
     計算機處理的數(shù)據(jù)不僅有符號,而且大量的數(shù)帶有小數(shù),小數(shù)點不占有二進制一位而是隱含有機器數(shù)里某固定位置上。通常采用兩種簡單的約定:一種是約定所有機器數(shù)的小數(shù)點位置隱含在機器數(shù)的最低位之后,叫定點純整數(shù)機器數(shù),簡稱定點整數(shù)。
     另一種約定所有機器數(shù)的小數(shù)點位置隱含有符號位之后、有效數(shù)值部分位之前,叫定點純小數(shù)機器數(shù),簡稱定點小數(shù)。
     計算機采用定點數(shù)表示時,對于既有整數(shù)又有小數(shù)的原始數(shù)據(jù),需要設(shè)定一個比例因子,數(shù)據(jù)按比例因子縮小成定點小數(shù)或擴大成定點整數(shù)再參加運算,結(jié)果輸出時再按比例折算成實際值。n位原碼定點整數(shù)的表示范圍是-(2 n-1 -1)≤X≤2 n-1 -1,n位原碼定點小數(shù)的表示范圍是-(1-2 -(n-1) )≤X≤1-2 -(n-1) 。當機器數(shù)小于定點數(shù)的最小值時,被當作0處理,超出定點數(shù)的值時,機器無法表達,稱作“溢出”,此時機器將停止運算,屏幕顯示溢出警告。
     定點數(shù)表示方法簡單直觀,不過定點數(shù)表示數(shù)的范圍小,不易選擇合適的比例因子,運算過程容易產(chǎn)生溢出。
     (2)浮點數(shù)(floating-point number)
     計算機采用浮點數(shù)來表示數(shù)值,它與科學計算法相似,把任意一個二進制數(shù)**移動小數(shù)點位置表示成階碼和尾數(shù)兩部分:N=2 E ×S
     其中:E———N的階碼(exponent),是有符號的整數(shù);
     S———N的尾數(shù)(mantissa),是數(shù)值的有效數(shù)字部分,一般規(guī)定取二進制定點純小數(shù)正式。浮點數(shù)運算必須化成規(guī)格化形式。所謂規(guī)格化,對于原碼尾數(shù)應使數(shù)字位S1 =1,如果不是1,且尾數(shù)不是全為0時就要移動尾數(shù)直到S1 =1,階碼相應變化,**N值不變。如果尾數(shù)是補碼,當N是正數(shù)時,S1 必須是1,而N是負數(shù)時,S1 必須是0,才稱為規(guī)格化的形式。
     4.數(shù)字編碼
     十進制數(shù)在機內(nèi)轉(zhuǎn)換成二進制數(shù)時,有時也以一種中間數(shù)字編碼形式存在,它把每一位十進制數(shù)用四位二進制編碼表達,每一組只表達0~9的數(shù)值運算時,有專門的線路在每四位二進制間按“十”進位處理,故稱為二進制編碼的十進制數(shù)———BCD碼(Binary Coded Decimal(或稱二—十進制數(shù)。其編碼種類很多,如格雷碼、余3碼等,最常用的叫8421BCD碼,4個二進制位自左向右每位的權(quán)分別是8、4、2、1。0~9的8421碼與通常的二進制一樣進位,十分簡單,當計數(shù)超過9時,需要采取辦法自動向十進制高位進一,即要進行“十進制調(diào)整”才能得到正確結(jié)果。
     5.校驗碼
     由于器件質(zhì)量不可靠、線路工藝不**、遠距離傳送帶來的干擾或受來自電源、空間磁場影響等因素,使得信息在存取、傳送和計算過程中難免會發(fā)生諸如“1”誤變?yōu)椤?”的錯誤,計算機一旦出錯,要能及時檢測并糾正錯誤,其中一種方法是對數(shù)據(jù)信息擴充,加入新的代碼,它與原數(shù)據(jù)信息一起按某種規(guī)律編碼后具有發(fā)現(xiàn)錯誤的能力,有的甚至能指出錯誤所在的準確位置使機器自動糾正,能起這種作用的編碼叫“校驗碼”(check code)。
     奇偶校驗碼:
     將每個數(shù)據(jù)代碼擴展一個二進位作校驗位(parity bit),這個校驗取0還是取1的原則是:若是奇校驗(odd parity),編碼是含“1”的個數(shù)連同校驗位的取值共有奇數(shù)個“1”;若是偶校驗(even parity),連同校驗位在內(nèi)編碼里含“1”的個數(shù)是偶數(shù)個。
     交叉校驗:
     計算機進行大量字節(jié)傳送時一次傳送幾百甚至更多字節(jié)組成的數(shù)據(jù)塊,如果不僅每一個字節(jié)有一個奇偶校驗位———稱橫向校驗,而且全部字節(jié)的同一位也設(shè)置了一個奇偶校驗位———稱縱向校驗,對數(shù)據(jù)塊代碼的橫向縱向同時校驗,這種情況叫交叉校驗。
     循環(huán)冗余校驗碼———CRC碼(Cyclic Redundancy Check):
     計算機信息傳向遠方終端或傳到另一個計算中心時,信息沿一條通信線路一位位傳送,這種通信方式叫串行通信。循環(huán)冗余碼(簡稱CRC碼)就是一種檢驗能力很強,在串行通信中廣泛采用的校驗編碼。
     (1)CRC碼
     串行傳送的信息M(X)是一串k位二進制序列,在它被發(fā)送的同時,被一個事先選擇的“生成多項式”相除,“生成多項式”長r+1位,相除后得到r位余數(shù)就是校驗位,它拼接到原k位有效信息后面即形成CRC碼。CRC碼到達接收方時,接收方的設(shè)備一方面接收CRC碼,一方面用同樣的生成多項式相除,如果正好除盡,表示無信息差錯,接收方去掉CRC碼后面r位校驗,收下k位有效信息;當不能除盡時,說明有信息的狀態(tài)位發(fā)生了轉(zhuǎn)變,即出錯了。一般要求重新傳送一次或立即糾錯。
     (2)CRC碼計算
     傳送信息時生成CRC碼以及接收時對CRC碼校驗都要與“生成多項式”相除,這里除法是“模2運算”,即二進位運算時不考慮進位和借位。作模2除法時,取商的原則是當部分余數(shù)首位為1時商取1,反之商取0,然后按模2減,求部分余數(shù)。這個余數(shù)不計高位。當被除數(shù)逐位除完時,最后余數(shù)的位數(shù)比除數(shù)少一位。該余數(shù)就是校驗位。它拼接在有效信息后面組成CRC碼。因為校驗位擴充了傳送部分的代碼,所以這是一種基于“冗余校驗”的思想的校驗辦法。
     (3)生成多項式
     CRC碼是M(X)除以某一個預先選定的多項式后產(chǎn)生的,所以這個多項式叫生成多項式。并不是任何一個r+1位的編碼都可以作生成多項式用,它應能滿足當任何一位發(fā)生傳送錯誤時都能使余數(shù)不為0,并且不同位發(fā)生錯誤時應當使余數(shù)也不同,這樣不但能檢錯而且能推斷是哪一位出錯,從而有利準確的糾錯。有兩個生成多項式,其檢錯率很高。
     X 16 +X 15 +X 2 +1
     X 16 +X 12 +X 6 +1
     6.非數(shù)值數(shù)據(jù)的表示方法
     計算機中數(shù)據(jù)的概念是廣義的,機內(nèi)除有數(shù)值數(shù)據(jù)之外,還有文字、符號、圖象、語言和邏輯信息等等,因為它們也都是0、1形式存在,所以稱為非數(shù)值數(shù)據(jù)。
     (1)字符數(shù)據(jù)
     字符數(shù)據(jù)主要指數(shù)字、字母、通用符號、控制符號等,在機內(nèi)它們都被變換成計算機能夠識別的二進制編碼形式。國際上被普遍采用的一種編碼是美國國家信息交換標準代碼(American Standard Code for Information Interchange),簡稱ASCII碼。ASCII碼選擇了四類共128種常用的字符:①數(shù)字0~9。②字母。③通用符號。④動作控制符。
     (2)邏輯數(shù)據(jù)
     邏輯數(shù)據(jù)是指計算機不帶符號位的一位二進制數(shù)。
     邏輯數(shù)據(jù)在計算機中雖然也是“0”或“1”的形式,但是與數(shù)值有很大區(qū)別:
     ①邏輯數(shù)據(jù)的取值只有“0”和“1”兩個值,不可能再有其他值,而數(shù)值數(shù)據(jù)與1的不同組合可以反映很多不同數(shù)值。
     ②邏輯數(shù)據(jù)的“0”和“1”代表兩種成對出現(xiàn)的邏輯概念,與一般數(shù)學中代表“0”和“1”的數(shù)值概念截然不同。
     ③邏輯數(shù)據(jù)和邏輯數(shù)據(jù)運算可以表達事物內(nèi)部的邏輯關(guān)系,而數(shù)值數(shù)據(jù)表達的是事物的數(shù)量關(guān)系。漢字:
     (1)漢字字音編碼
     (2)漢字字形編碼
     (3)漢字音形編碼
     (4)電報碼
     (5)整字編碼為了能在不同的漢字系統(tǒng)之間交換信息、高效率高質(zhì)量共享漢字信息,近年來國家推出了一系列有關(guān)中文信息處理的標準。比如1981年我國制定推行的GB2312-80國家標準信息交換用流字編碼字符集(基本集)———簡稱國標碼,以及若干輔助集。國標碼收集、制定的基本圖形字符有7千余個,其中常用漢字3755個,次常用漢字3008個,共6763個漢字,還有俄文字母、日語假名、拉丁字母、希臘字母、漢語拼音,每字節(jié)內(nèi)占用7bit信息,位補0,例如漢字“啊”的國際碼,前一字節(jié)是01100000,后一字節(jié)是00100001,編碼為3021H。
     漢字內(nèi)部碼是漢字在計算機內(nèi)部存儲、運算的信息代碼,內(nèi)部碼的設(shè)計要求與西文信息處理有較好的兼容性,當一個漢字以某種漢字輸入方案送入計算機后,管理模塊立刻將它轉(zhuǎn)換成兩字節(jié)長的GB2312-80國標碼,如果給國標碼的每字節(jié)位加“1”,作為漢字標識符,就成為一種機器內(nèi)部表示漢字的代碼———漢字內(nèi)部碼。漢字內(nèi)部碼的特點十分明顯:
     ①漢字內(nèi)部碼結(jié)構(gòu)簡短,一個漢字內(nèi)部碼只占兩個字節(jié),兩字節(jié)足以表達數(shù)千個漢字和各種符號圖形,且又節(jié)省計算機存儲空間。
     ②便于和西文字符兼容。西文字符的ASCII碼占一個字節(jié),兩字節(jié)的漢字內(nèi)碼可以看成是它擴展的字符代碼,在同一個計算機系統(tǒng)中,只要從位標識符就能區(qū)分這兩種代碼。標識符是“0”,即是ASCII碼;標識符是“1”,則是漢字內(nèi)部碼。
     7.語音識別及語言表示原理
     語音產(chǎn)生機理的研究表明,每一種語言的語音都有自己特定的音素特征,語音是不同頻率振動的結(jié)果。分析語音的音素特點,找出音素的基頻和高次頻率優(yōu)分,就能在計算機中建立發(fā)音系統(tǒng)的模型,在實施中對語音采樣,**濾波器分解提取頻率信息,由模/數(shù)轉(zhuǎn)換設(shè)備轉(zhuǎn)換成數(shù)字輸入計算機,與機內(nèi)的語言模型比較,由此達到識別語音的目的。與此相反,如果選擇已知音素的參數(shù),應用語音系統(tǒng)模型,就能得到指定的音素,進一步按照一定的規(guī)則合成語言。
     六、運算器
     1.運算器的組成
     多功能算術(shù)/邏輯運算單元(ALU):
     (1)基本思想
     (2)邏輯表達式
     對一片ALU來說,可有三個進位輸出。其中G稱為進位發(fā)生輸出,P稱為進位傳送輸出。在電路中,多加這兩個進位輸出的目的是為了便于實現(xiàn)多片(組)ALU之間的先行進位,為此,還需一個配合電路,它稱為先行進位發(fā)生器(CLA)。
     內(nèi)部總線:
     根據(jù)總線所處位置,總線分為內(nèi)部總線和外部總線兩類。內(nèi)部總線是指CPU內(nèi)各部件的連線,而外部總線是指系統(tǒng)總線,即CPU與存儲器、I/O系統(tǒng)之間的連線。
     按總線的邏輯結(jié)構(gòu)來說,總線可分為單向傳送總線和雙向傳送總線。所謂單向總線,就是信息只能向一個方向傳送。所謂雙向總線,就是信息可以向兩個方向傳送。換句話說,總線既可以用來發(fā)送數(shù)據(jù),也可以用來接收數(shù)據(jù)。
     總線的邏輯電路往往是三態(tài)的,即輸出電平有三種狀態(tài):邏輯“1”、邏輯“0”和“浮空”狀態(tài)。
     2.運算器的基本結(jié)構(gòu)
     運算器包括ALU、陣列乘除器件、寄存器、多路開關(guān)或三態(tài)緩沖器、數(shù)據(jù)總線等邏輯部件。現(xiàn)代計算機的運算器大體有如下三種結(jié)構(gòu)形式。①單總線結(jié)構(gòu)的運算器②雙總線結(jié)構(gòu)的運算器③三總線結(jié)構(gòu)的運算器
     七、控制器
     1.控制器在CPU中的位置
     中央處理器(CPU)由兩個主要部分———控制器及運算器組成。其中程序計數(shù)器、指令寄存器、指令譯碼器、時序產(chǎn)生器和操作控制器等組成了控制器。它是對計算機發(fā)布命令的“決策機構(gòu)”,協(xié)調(diào)和指揮整個計算機系統(tǒng)的操作,因此,它處于CPU中極其重要的位置。在CPU中,除算術(shù)邏輯單元(ALU)及累加器外,尚有下列邏輯部件:
     (1)緩沖寄存器(DR)
     緩沖寄存器用來暫時存放由內(nèi)存儲器讀出的一條指令或一個數(shù)據(jù)字;反之,當向內(nèi)存存入一條指令或一個數(shù)據(jù)字時,也暫時將它們存放在這里。緩沖寄存器的作用是:①作為CPU和內(nèi)存、外部設(shè)備之間信息傳送的中轉(zhuǎn)站;②補償CPU和內(nèi)存、外部設(shè)備之間在操作速度上的差別;
     ③在單累加器結(jié)構(gòu)的運算器中,緩沖寄存器還可兼作為操作數(shù)寄存器。
     (2)指令寄存器(IR)指令寄存器用來保存當前正在執(zhí)行的一條指令。指令劃分為操作碼和地址碼字段,它們由二進制數(shù)字組成。為執(zhí)行任何給定的指令,必須對操作碼進行譯碼,以便指出所要求的操作。指令寄存器中操作碼字段的輸出就是指令譯碼器的輸入。操作碼一經(jīng)譯碼后,即可向操作控制器發(fā)生具體操作的特定信號。
     (3)程序計數(shù)器(PC)
     為了**程序能夠連續(xù)地執(zhí)行下去,CPU必須具有某些手段來確定下一條指令的地址。而程序計數(shù)器(PC)正是起到這種作用,所以通常又稱其為指令計數(shù)器。
     (4)地址寄存器(AR)
     地址寄存器用來保存當前CPU所要訪問的內(nèi)存單元的地址。由于在內(nèi)存和CPU之間存在著操作速度上的差別,所以必須使用地址寄存器來保持地址信息,直到內(nèi)存讀/寫操作完成為止。
     (5)累加寄存器(AC)
     累加寄存器AC通常簡稱為累加器。它的功能是:當運算器的算術(shù)/邏輯單元(ALU)執(zhí)行全部算術(shù)和邏輯運算時,為ALU提供一個工作區(qū)。例如,在執(zhí)行一個加法前,先將一個操作數(shù)暫時存放在AC中,再從存放中取出另一個操作數(shù),然后同AC的內(nèi)容相加,所得結(jié)果送回AC中,而AC中原有的內(nèi)容隨即被破壞。顧名思義,累加寄存器用來暫時存放ALU運算的結(jié)果信息。顯然,運算器中至少要有一個累加器寄存器。
     由于運算器的結(jié)構(gòu)不同,可采用多個累加寄存器。
     (6)狀態(tài)寄存器(SR)
     狀態(tài)寄存器保存由算術(shù)指令和邏輯指令運行或測試結(jié)果建立的各種狀態(tài)碼內(nèi)容。
     (7)操作控制器
     操作控制器的功能,就是根據(jù)指令操作碼和時序信號,產(chǎn)生各種操作控制信號,以便正確地建立數(shù)據(jù)通路,從而完成取指令和執(zhí)行指令的控制。