1. 程式人生 > >軟考複習之第一部分計算機組成原理

軟考複習之第一部分計算機組成原理

/*先說個好笑的,昨日我在知乎看見一個問題“初中生可以學佛法麼,看不懂怎麼辦”,下面有個回答就是,“你先好好學習,我初中就皈依了,我那個師傅日常跟我講“學習都學不好還想學佛法,先好好學習””然後我 0-0忍不住哈哈哈哈,一樣的口氣。同一個世界啊。。。下面大概先是手默知識點,我寫這個主要是記錄加整理記憶自己每天所學,自己看的會一如既往亂0-0,,你們想看技術知識有用部落格出門go*/

知識點1:資料表示 數制的轉換,原碼,反碼,補碼,移碼,浮點數,溢位,算術運算,邏輯運算,校驗碼

數制及其轉換:n進位制數轉10進位制  按權展開 譬如把一個16進位制數1230H轉換成一個十進位制數( ???) 這裡H代表1230這個數是16進位制,我們現在要把它轉換成10進位制。就是0*16^0+3*16^1+2*16^2+1*16^3=4656。(一點不懂的人類自己找規律,不想跟你們講寫權是什麼,我也不造,定義太長,討厭數學討厭數字,為啥拿16進位制與10進位制轉換舉例因為昨天看見了很多16進位制)

                       10進位制數轉n進位制數 (輾轉相除法 除到餘數為0為止)譬如10進位制的103轉8進位制,(你們自己去除吧,我討厭算術,一般採用拼湊法) 8^3=64*8 8^2=64 8^1=8 8^0=1 103=64+8*4+7=1*8^2+4*8^1+7*8^0=147(大概就是這樣拼湊,計算過程也很討厭,稍微比除來除去好了一點點。)

                        所以 二進位制,8進位制,16進位制等等常用轉換,你們就統統先變成10進位制再轉好了。

以上都是整數的進位制轉換,下面來說小數的

                             n進位制數轉10進位制的還是按權展開:譬如10.11(2)=1*2^1+0*2^0+1^2^(-1)+1*2^(-2)=2+0.5+0.25=2.75 (數學計算真討厭)

                             10進位制帶小數的轉n進位制:12.5=1100.1 太難拼湊了

綜上所述   按權展開和拼湊 大概可以解決。只要數字正常一點。。。。

原碼:正數的原碼,符號位為0 其餘不變   譬如1011  原碼 0 1011 

           負數的原碼 ,符號位為1 其餘不變  譬如-1011  原碼 1  1011

反碼:正數的反碼,同原碼 譬如1011  反碼 0 1011 

           負數的反碼, 符號位不變,其餘位按位取反 譬如-1011  反碼 1  0100

補碼:正數的補碼,同原碼

           負數的補碼,反碼加1 譬如-1011  補碼 1  0101

移碼:與補碼符號位相反 譬如 

          X=+1011 [X]補=01011 [X]移=11011

          X=-1011 [X]補=10101 [X]移=00101

(這裡說這些針對是計算機裡數,計算機內部數一般是用二進位制表示,,,,所以均二進位制表示。)

--------------------------------------------------加油喔 還只剩下浮點數,寫完浮點數再做7-8道軟考真題 就暫時ojbk小歇一會開始硬體 有的人20歲就已經死了 

浮點數:計算機裡浮點數表示有點像小學的科學計數法(所以小學數學多麼重要啊-_-)就是形如 a*2^x這樣

在計算機中表示一個浮點數,其結構如下:

尾數部分(定點小數) 階碼部分(定點整數)

這裡 a就是尾數,階碼就是x。【是不是很噁心,說次或者指數不好麼,還有尾數,今天還知道一個更噁心的詞 叫原語 來自作業系統,翻譯成原語也真是,,,,不知道的還以為是咒語密法呢  繼續】

尾數寬度控制浮點數精度 階碼寬度控制浮點數大小範圍。

浮點數計算:

對階  小階向大階看齊(讓兩個數階碼一樣把比較小的階碼變成和比較大的一樣),然後小階的尾數右移階碼差的位數(為什麼叫右移呢,,,我也很煩,明明就是小數點左移)。

尾數加減 

格式化 :暫時我也不明白,什麼算格式化

例題:

試題1
若某計算機採用8位整數補碼錶示資料,則運算__(1)_c_將產生溢位。
(1) A.-127+1  B.-127-1  C.127+1  D.127-1

8位整數補碼:符號位佔一位  剩下7位 最大127 

試題2
原碼錶示法和補碼錶示法是計算機中用於表示資料的兩種編碼方法,在計算機系統中常採用補
碼來表示和運算資料,原因是採用補碼可以_B_(2)__。
(2)A.保證運算過程與手工運算方法保持一致
         B.簡化計算機運算部件的設計
         C.提高資料的運算速度
         D.提高資料的運算精度

補碼的0只有一種表示,

試題3
計算機中的浮點數由三部分組成:符號位S,指數部分E(稱為階碼)和尾數部分M。在總長度
固定的情況下,增加E的位數、減少M的位數可以_A_(3)__。
(3)A.擴大可表示的數的範圍同時降低精度
         B.擴大可表示的數的範圍同時提高精度
         C.減小可表示的數的範圍同時降低精度
         D.減小可表示的數的範圍同時提高精度

階碼 數範圍 尾數精度

計算機中常採用原碼、反碼、補碼和移碼錶示資料,其中,±0 編碼相同的是_C_(4)__。
(4)A.原碼和補碼 B.反碼和補碼
C.補碼和移碼 D.原碼和移碼

試題5
計算機在進行浮點數的相加(減)運算之前先進行對階操作,若x的階碼大於y的階碼,則應將
__(5)_D_。
(5)A.x的階碼縮小至與y的階碼相同,且使x的尾數部分進行算術左移
B.x的階碼縮小至與y的階碼相同,且使x的尾數部分進行算術右移
C.y的階碼擴大至與x的階碼相同,且使y的尾數部分進行算術左移
D.y的階碼擴大至與x的階碼相同,且使y的尾數部分進行算術右移



2計算機體系結構分類:

Flynn按照指令流,資料流,多倍性分類分類:

單指令單資料流SISD(single instruction single data) 一個處理器一個控制部分一個模組    單處理機系統

MISD:多指令單資料流  不存在 目前。

SIMD:

MIMD:

當個看上去很專業的程式設計師太辛苦了。。。。溜了溜了,資料一份附上。很簡單很簡單,,,,個錘子。。。。。!-_-!

下面均是希賽教育總結 你們慢慢看:

您現在的位置:希賽網 > 雲閱讀 > 軟體設計師考前衝刺與考點分析 > 考點脈絡 第 1 章:計算機硬體基礎知識 作者:希賽教育軟考學院 來源:希賽網 2014年05月04日 考點脈絡 本書簡介 下一節 第 1 章:計算機硬體基礎知識 作者:希賽教育軟考學院 來源:希賽網 2014年05月04日 資料的表示 上一節 本書簡介 下一節 第 1 章:計算機硬體基礎知識 作者:希賽教育軟考學院 來源:希賽網 2014年05月04日 計算機硬體系統是軟體執行的基礎,掌握一些基本硬體的工作原理是軟體技術提高的前提,所 以硬體基礎知識是軟體設計師考試中的一個必考模組。在此科目中,涉及到的知識點非常多,但真 正常考的卻不多,本章將對考點脈絡進行梳理,對重要知識點進行精講,並輔以習題,以便考生加 深印象。 根據考試大綱,本章要求考生掌握以下幾個方面的知識點。 (1)資料的表示:數制及其轉換、原碼、反碼、補碼、移碼、浮點數、溢位、算術運算、邏輯 運算、校驗碼。 (2)計算機系統的組成、體系結構分類及特性:CPU、儲存器的組成、效能和基本工作原理、 常用I/O裝置、通訊裝置的效能及基本工作原理、I/O介面的功能、型別和特性、CISC/RISC、流水 線操作、多處理機、並行處理。 (3)儲存系統:虛擬儲存器基本工作原理、多級儲存體系、RAID型別和特性。 (4)可靠性與系統性能評測基礎知識:診斷與容錯、系統可靠性分析評價、校驗方法、計算機 系統性能評測方法。 從歷年的考試情況來看,本章的考點主要集中以下方面。 在資料的表示中,主要考浮點數運算、溢位、算術、邏輯運算。 在計算機系統的組成與體系結構中,主要考查CPU的構成,常見暫存器的作用、計算機體系結 構分類、指令系統基礎、CISC與RISC、流水線操作的相關內容。 在儲存系統中,主要考查Cache儲存器。 在可靠性與系統性能評測基礎知識中,主要考查系統可靠性分析和校驗方法。 版權方授權希賽網釋出,侵權必究 在資料的表示這個考點中,主要涉及到數制轉換、資料編碼、浮點數計算三個方面的內容,其 中難度最高的是浮點數計算。 版權方授權希賽網釋出,侵權必究 考點精講 1. 數制轉換 (1)R進位制數轉換成十進位制數 R進位制數轉換成十進位制數通常使用按權展開法。具體操作方式為:將R進位制數的每一位數值用R k 形式表示,即冪的底數是R,指數為k,k與該位和小數點之間的距離有關。當該位位於小數點左邊, k值是該位和小數點之間數碼的個數,而當該位位於小數點右邊,k值是負值,其絕對值是該位和小 數點之間數碼的個數加1。 例如二進位制數l0101.01的值可計算如下: l0101.01=1×2 4 +1×2 2 +1×2 0 +1× 按照上面的表示法,即可計算出R進位制數十進位制的值。 (2)十進位制數轉換為R進位制數 最常用的是“除以R取餘法”。例如將十進位制數85轉換為二進位制數: 2 |85餘1 2 | 420 2 |21 1 2 |100 2 | 5 1 2 | 2 0 1 1 將所得的餘數從低位到高位排列(1010101) 2 就是85的二進位制數。 (3)二進位制數與八進位制數、十六進位制數之間的轉換 二進位制轉八進位制:將每3個二進位制數轉換為八進位制數; 二進位制轉十六進位制數:將每4個二進位制數轉換為八進位制數; 八進位制轉二進位制:將每個八進位制數轉換為3位二進位制數; 十六進位制轉二進位制:將每個十六進位制數轉換為4位二進位制數。 上面的轉換都是以小數點作為計算數碼個數的起點。八進位制數和十六進位制數轉換可先轉換為二 進位制數,然後再轉換為目標進位制。 2. 原碼、反碼、補碼、移碼 在計算機中,資料編碼方式可以有多種,最為常見的有原碼、反碼、補碼、移碼。一個正數的 原碼、補碼、反碼是相同的,負數則不同。 (1)原碼 將最高位用做符號位(0表示正數,1表示負數),其餘各位代表數值本身的絕對值的表示形 式。這種方式是最容易理解的。 例如,+1 的原碼是0000 0001,–1 的原碼是1000 0001。 但是直接使用原碼在計算時卻會有麻煩,比如(1) 10 +(–1) 10  = 0,如果直接使用原碼則: (0000 0001) 2 +(1000 0001) 2 =(1000 0010) 2 這樣計算的結果是–2,也就是說,使用原碼直接參與計算可能會出現錯誤的結果。所以,原碼 的符號位不能直接參與計算,必須和其它位分開,這樣會增加硬體的開銷和複雜性。 (2)反碼 正數的反碼與原碼相同。負數的反碼符號位為1,其餘各位為該數絕對值的原碼按位取反。這個 取反的過程使得這種編碼稱為“反碼”。 例如,–1的反碼:1111 1110 。 同樣對上面的加法,使用反碼的結果是: (0000 0001) 2 + (1111 1110) 2 = (1111 1111) 2  這樣的結果是負0,而在人們普遍的觀念中,0是不分正負的。反碼的符號位可以直接參與計 算,而且減法也可以轉換為加法計算。 (3)補碼 正數的補碼與原碼相同。負數的補碼是該數的反碼加1,這個加1就是“補”。 例如,–1的補碼:1111 1110+1 = 1111 1111。 再次做加法是這樣的: (0000 0001) 2  + (1111 1111) 2 = (0000 0000) 2  直接使用補碼進行計算的結果是正確的。 對一個補碼錶示的數,要計算其原碼,只要對它再次求補,可得該數的原碼。 由於補碼能使符號位與有效值部分一起參加運算,從而簡化運算規則,同時它也使減法運算轉 換為加法運算,進一步簡化計算機中運算器的電路,這使得在大部分計算機系統中,資料都使用補 碼錶示。 (3)移碼 移碼是對補碼的符號位取反得到的一種編碼。移碼只用於表示浮點數的階碼,所以只用於整 數。 例如,-1的移碼為:0111 1111。 3. 浮點數計算 在數學中,要表示一個很大的數時,我們常常使用一種稱為科學計數法的方式: N = M*R e 其中M稱為尾數,e是指數,R為基數。 浮點數就是使用這種方法來表示大範圍的數,其中指數一般是2,8,16。而且對於特定機器而 言,指數是固定不變的,所以在浮點數中指數並不出現。從這個表示式可以看出:浮點數表示的精 讀取決於尾數的寬度,範圍取決於基數的大小和指數的寬度。 浮點數的運算主要有三個步驟:對階、尾數計數、結果格式化。 (1)對階 首先計算兩個數的指數差,把指數小的向指數大的對齊,並將尾數右移指數差的位數,這樣兩 個浮點數就完成了對階的操作。可以看出,對階的過程可能使得指數小的浮點數失去一些有效位。 如果兩個浮點數階數相差很大,大於指數小的浮點數的尾數寬度,那麼對階後那個浮點數的尾數就 變成了0,即當做機器零處理了。 (2)尾數計算 對階完成後,兩個浮點數尾數就如同定點數,計算過程同定點數計算。 (3)結果格式化 尾數計算後,可能會產生溢位,此時將尾數右移,同時指數加1,如果指數加1後發生了溢位, 上一節 本書簡介 下一節 第 1 章:計算機硬體基礎知識 作者:希賽教育軟考學院 來源:希賽網 2014年05月04日 一點一練 則表示兩個浮點數的運算髮生了溢位。 如果尾數計算沒有溢位,則尾數不斷左移,同時指數減1,直到尾數為格式化數。如果這個過程 中,指數小於機器能表達的最小數,則將結果置“機器零”,這種情況稱為下溢。 版權方授權希賽網釋出,侵權必究 試題1 若某計算機採用8位整數補碼錶示資料,則運算__(1)__將產生溢位。 (1) A.-127+1  B.-127-1  C.127+1  D.127-1 試題2 原碼錶示法和補碼錶示法是計算機中用於表示資料的兩種編碼方法,在計算機系統中常採用補 碼來表示和運算資料,原因是採用補碼可以__(2)__。 (2)A.保證運算過程與手工運算方法保持一致 B.簡化計算機運算部件的設計 C.提高資料的運算速度 D.提高資料的運算精度 試題3 計算機中的浮點數由三部分組成:符號位S,指數部分E(稱為階碼)和尾數部分M。在總長度 固定的情況下,增加E的位數、減少M的位數可以__(3)__。 (3)A.擴大可表示的數的範圍同時降低精度 B.擴大可表示的數的範圍同時提高精度 C.減小可表示的數的範圍同時降低精度 D.減小可表示的數的範圍同時提高精度 試題4 計算機中常採用原碼、反碼、補碼和移碼錶示資料,其中,±0 編碼相同的是__(4)__。 (4)A.原碼和補碼 B.反碼和補碼 C.補碼和移碼 D.原碼和移碼 試題5 計算機在進行浮點數的相加(減)運算之前先進行對階操作,若x的階碼大於y的階碼,則應將 __(5)__。 (5)A.x的階碼縮小至與y的階碼相同,且使x的尾數部分進行算術左移 B.x的階碼縮小至與y的階碼相同,且使x的尾數部分進行算術右移 C.y的階碼擴大至與x的階碼相同,且使y的尾數部分進行算術左移 D.y的階碼擴大至與x的階碼相同,且使y的尾數部分進行算術右移 上一節 本書簡介 下一節 第 1 章:計算機硬體基礎知識 作者:希賽教育軟考學院 來源:希賽網 2014年05月04日 解析與答案 版權方授權希賽網釋出,侵權必究 試題1分析 採用8位整數補碼錶示資料,資料的表示範圍是-128至127,因此在各選擇中運算會發生溢位的 是C。 試題1答案 (1)C 試題2分析 在計算機中,各類運算都等可以採用補碼進行,特別是對於有符號數的運算。在計算機中設計 補碼的目的一是為了使符號位能與有效值部分一起參加運算,從而簡化運算規則,使運算部件的設 計更簡單;二是為了使減法運算轉換為加法運算,進一步簡化計算機中運算器的線路設計。因此在 計算機系統中常採用補碼來表示和運算資料,原因是採用補碼可以簡化計算機運算部件的設計。 試題2答案 (2)B 試題3分析 浮點數的表示形式如下: N=M×r E 其中r是浮點數階碼的底,與尾數的基數相同,通常r=2。E和M都是帶符號的定點數,E叫做階 碼,M叫做尾數。浮點數的一般格式如圖所示,浮點數的底是隱含的,在整個機器數中不出現。階 碼的符號位為Es,階碼的大小反映了在數N中小數點的實際位置;尾數的符號位為M s ,它也是整個 浮點數的符號位,表示了該浮點數的正、負。 圖1-1浮點數的一般格式 浮點數的大小由階碼部分決定,而其精度由尾數部分決定,因此增加E的位數、減少M的位數可 以擴大可表示的數的範圍同時降低精度。 試題3答案 A 試題4分析 本題考查計算機系統資料編碼基礎知識。 設機器字長為n(即採用n個二進位制位表示資料),最高位是符號位,0表示正號,1表示負號。 原碼錶示方式下,除符號位外,n-1位表示數值的絕對值。因此,n為8時,[+0] 原 =0 0000000,[-0] 原 =1 0000000。 上一節 本書簡介 下一節 第 1 章:計算機硬體基礎知識 作者:希賽教育軟考學院 來源:希賽網 2014年05月04日 計算機系統的組成與體系結構 上一節 本書簡介 下一節 第 1 章:計算機硬體基礎知識 作者:希賽教育軟考學院 來源:希賽網 2014年05月04日 考點精講 正數的反碼與原碼相同,負數的反碼則是其絕對值按位求反。n為8時,數值0的反碼錶示有兩種 形式:[+0] 反 =0 0000000,[-0] 反 =11111111。 正數的補碼與其原碼和反碼相同,負數的補碼則等於其反碼的末尾加1。在補碼錶示中,0有唯 一的編碼:[+0] 補 =0 0000000,[-0] 補 =00000000。 移碼錶示法是在數X上增加一個偏移量來定義的,常用於表示浮點數中的階碼。機器字長為n 時,在偏移量為2 n-1 的情況下,只要將補碼的符號位取反便可獲得相應的移碼錶示。 試題4答案 (4)C 試題5分析 本題考查浮點數運算的基本過程。該過程分為如下3步: 第一步:對階,規則是向大階看齊。具體方法是:階碼小的那個尾數右移,移位的次數等於參 加運算的兩個數的階碼之差。 第二步:尾數相加。實際上進行的是定點數加法。 第三步:結果的後處理。包括如下3個方面: (1)如果運算結果的尾數部分溢位,則需要向右規格化一位。具體方法是:尾數部分右移一 位,階碼加1。 (2)如果運算結果的最高位為0,則需要向左規格化,並且要重複進行,直到尾數的最高位不 為0。尾數部分每左移一位,階碼必須減1。 (3)進行舍入處理。 所以本題的正確答案為D。 試題5答案 (5)D 版權方授權希賽網釋出,侵權必究 在計算機系統的組成與體系結構中,計算機體系結構分類、計算機的硬體組成、指令系統基 礎、CISC與RISC、流水線操作等內容是最為重要的,下面將詳細介紹這幾個方面的知識。 版權方授權希賽網釋出,侵權必究 1. 計算機體系結構分類 計算機體系結構分類有多種方式,其中最為常見的是:Flynn分類法與馮氏分類法。而考試中主 要考查的是Flynn分類法。 Flynn分類法是根據指令流、資料流和多倍性三方面來進行分類的,如表1-1所示。 表1-1 Flynn分類法 2. 計算機的硬體組成 計算機硬體系統是依照馮·諾依曼所設計體系結構,即包括運算器、控制器、儲存器、輸入裝置 和輸出裝置五大部件組成,如圖1-2所示。 圖1-2 計算機硬體組成結構示意圖 其中運算器和控制器組成中央處理器(CPU)。運算器負責完成算術、邏輯運算功能,通常由 ALU(算術/邏輯單元)、暫存器、多路轉換器、資料匯流排組成;控制器則負責依次訪問程式指令, 進行指令譯碼,並協調其他裝置,通常由程式計數器(PC)、指令暫存器、指令譯碼器、狀態/條件 暫存器、時序發生器、微操作訊號發生器組成。 下面介紹幾個主要部件的功能: 程式計數器:用於存放下一條指令所在單元的地址的地方。由於大多數指令都是按順序來執行 的,所以修改的過程通常只是簡單的對PC加1。當遇到轉移指令時,後繼指令的地址(即PC的內 容)必須從指令暫存器中的地址欄位取得。在這種情況下,下一條從記憶體取出的指令將由轉移指令 來規定,而不像通常一樣按順序來取得。因此程式計數器的結構是具有寄存資訊和計數兩種功能的 結構。 指令暫存器:用來儲存當前正在執行的一條指令。當執行一條指令時,先把它從記憶體取到資料 暫存器中,然後再傳送至指令暫存器。指令劃分為操作碼和地址碼欄位,由二進位制數字組成。為了 執行任何給定的指令,必須對操作碼進行測試,以便識別所要求的操作。指令譯碼器就是做這項工 作的(下一詞條將詳細介紹其工作過程)。指令暫存器中操作碼欄位的輸出就是指令譯碼器的輸 入。操作碼一經譯碼後,即可向操作控制器發出具體操作的特定訊號。 指令譯碼器:譯碼是編碼的逆過程,在編碼時,每一種二進位制程式碼,都賦予了特定的含義,即 都表示了一個確定的訊號或者物件。把程式碼狀態的特定含義“翻譯”出來的過程叫做譯碼,實現譯 碼操作的電路稱為譯碼器。或者說,譯碼器是可以將輸入二進位制程式碼的狀態翻譯成輸出訊號,以表 示其原來含義的電路。 3. 指令系統基礎 在計算機中,CPU都會定義出自己特定的指令系統,不過都遵循著統一的標準格式。指令的基 本格式是由操作碼和地址碼兩個部分組成的。操作碼指出該指令要完成什麼操作,地址碼則是提供 原始的資料。指令系統中定義操作碼的方式可以分為規整型(定長編碼)和非規整型(變長編碼) 兩種,如表1-2所示。 表1-2 指令系統操作碼定義分類方法比較表 而在指令系統中用來確定如何提供運算元或提供運算元地址的方式稱為定址方式和編址方式。 運算元可以存放在CPU中的暫存器(用暫存器名操作)、主儲存器(指出儲存單元地址)、堆疊 (先進後出的儲存機制,用棧頂指標SP來標出其當前位置)、外儲存器或外圍裝置中。不過在運算 時,資料均在主儲存器中,運算元可以採用以下幾種定址方式: (1)立即定址方式 指令的地址欄位指出的不是運算元的地址,而是運算元本身。這種方式的特點是指令執行時間 很短,不需要訪問記憶體取數。題目中所說的“運算元包含在指令中的定址方式”就是立即定址。 例如,單地址的移位指令格式為 這裡D不是地址,而是一個運算元。F為標誌位,當F=1時,運算元進行右移;當F=0時,操作 數進行左移。 (2)直接定址方式 直接定址特點是:在指令格式的地址欄位中直接指出運算元在記憶體的地址D。 採用直接定址方式時,指令字中的形式地址D就是運算元的有效地址E,即E=D。因此通常把形 式地址D又稱為直接地址。此時,由定址模式給予指示。如果用S表示運算元,那麼直接定址的邏輯 表示式為 S=(E)=(D) (3)間接定址方式 間接定址的情況下,指令地址欄位中的形式地址D不是運算元的真正地址,而是運算元地址的指 示器,D單元的內容才是運算元的有效地址。 如果把直接定址和間接定址結合起來,指令有如下形式: 定址特徵位I=0,表示直接定址,這時有效地址E=D;I=1,表示間接定址,這時有效地址E= (D)。 間接定址方式是早期計算機中經常採用的方式,但由於兩次訪問記憶體,影響指令執行速度,現 在已不大使用。 (4)暫存器定址方式和暫存器間接定址方式 當運算元不放在記憶體中,而是放在CPU的通用暫存器中時,可採用暫存器定址方式。此時指令 中給出的運算元地址不是記憶體的地址單元號,而是通用暫存器的編號。這也就是題目中所說的“操 作數在暫存器中的定址方式”。 暫存器間接定址方式與暫存器定址方式的區別在於:指令格式中的暫存器內容不是運算元,而 是運算元的地址,該地址指明的運算元在記憶體中。這也就是題目中所說的“運算元的地址在暫存器 中的定址方式”。 (5)相對定址方式 相對定址是把程式計數器PC的內容加上指令格式中的形式地址D而形成運算元的有效地址。程 序計數器的內容就是當前指令的地址。“相對”定址,就是相對於當前的指令地址而言的。 採用相對定址方式的好處是程式設計師無須用指令的絕對地址程式設計,所程式設計序可以放在記憶體任何地 方。 此時形式地址D通常稱為偏移量,其值可正可負,相對於當前指令地址進行浮動。 4. CISC與RISC 為了提高作業系統的效率,人們最初選擇了向指令系統中新增更多、更復雜的指令,而隨著不 斷地升級和向後相容的需要,指令集也越來越大。這種型別的計算機,我們稱之為複雜指令計算機 CISC。而後來研究發現,計算機指令系統如果使用少量結構簡單的指令會提高計算機的效能,這就 是精簡指令集計算機RISC。計算機執行程式所需的時間P由三方面因素決定:編譯後產生的機器指令 數I、執行每條指令所需的平均週期數CPI,以及每個機器週期的時間T。它們的關係是P=I×CPI×T。 RISC正是通過簡化指令的途徑使計算機結構更合理,減少指令執行週期數,提高運算速度。雖然 RISC編譯後產生的機器指令數(I)增多了,但指令所需的週期數(CPI)和每個週期的時間(T)都 可以減少。它與CISC可謂各有特色,如表1-3所示。 表1-3 指令系統操作碼定義分類方法比較表 典型的RISC處理器包括:DEC的Alpha 21164、IBM的Power PC620、HP的PA-8000、SGI MIPS分部的TS、Sun的Ultra SPARC。目前RISC處理器技術的發展方向是採用並行處理技術(包括 超級流水線、超級標量、超長指令字)大幅度提高運算速度。 5. 流水線 流水線是指在程式執行時多條指令重疊進行操作的一種準並行處理實現技術。各種部件同時處 理是針對不同指令而言的,它們可同時為多條指令的不同部分進行工作,以提高各部件的利用率和 指令的平均執行速度。 指令流水線是將指令執行分成幾個子過程,每一個子過程對應一個工位,我們稱為流水級或流 水節拍,這個工位在計算機裡就是可以重疊工作的功能部件,稱為流水部件。 如圖1-3所示,IF,ID,EX,WD分別是流水線的流水部件。 圖1-3幾個部件組成的流水線 流水線要求所有的流水級部件必須在相同的時間內完成各自的子過程。在流水線中,指令流動 一步便是一個機器週期,機器週期的長度必須由最慢的流水級部件處理子過程所需的時間來決定。 那麼我們為什麼要提出流水線這個概念,以及流水線是如何提高系統吞吐量的呢?下面我們來 看幾個圖,概念自然就清楚了。 圖1-4是一個非流水線結構系統執行指令時空圖。 圖1-4非流水線結構系統執行指令時空圖 我們從圖1-4中可以看到,任意一個系統時間都有大量的裝置處於空閒狀態,如第一個時間段有 ID,EX,WB空閒,則第二個時間段有IF,EX,WB空閒。 我們再來看採用了流水線結構的時空圖1-5。 圖1-5流水線結構指令時空圖 顯然,採用流水線可以大大提升系統資源的利用率,以及整個系統的吞吐量。 在考試中,流水線方面的考題主要考查兩個知識點:計算流水線執行時間和分析影響流水線的 因素。 (1)計算流水線執行時間 假定有某種型別的任務,共可分成N個子任務,執行每個子任務需要時間t,則完成該任務所需 的時間即為Nt。若以傳統的方式,則完成k個任務所需的時間是kNt;而使用流水線技術執行,花費 的時間是Nt+(k-1)t。也就是說,除了第一個任務需要完整的時間外,其他都通過並行,節省下了大 量的時間,只需一個子任務的單位時間就夠了。 另外要注意的是,如果每個子任務所需的時間不同,則其速度取決於其執行順序中最慢的那個 (也就是流水線週期值等於最慢的那個指令週期),要根據實際情況進行調整。 例如:若指令流水線把一條指令分為取指、分析和執行三部分,且三部分的時間分別是取指 2ns,分析2ns,執行1ns。那麼,最長的是2ns,因此100條指令全部執行完畢需要的時間就是: (2ns+2ns+1ns) +(100-1)×2ns=203ns。 另外,還應該掌握幾個關鍵的術語:流水線的吞吐率(等於任務數/完成時間),加速比(不採 用流水線的執行時間/採用流水線的執行時間)。 上一節 本書簡介 下一節 第 1 章:計算機硬體基礎知識 作者:希賽教育軟考學院 來源:希賽網 2014年05月04日 一點一練 (2)影響流水性的主要因素 如圖1-5所示,流水線的關鍵在於“重疊執行”,因此如果這個條件不能夠滿足,流水線就會被 破壞。這種破壞主要來自兩種情況: 轉移指令:因為前面的轉移指令還沒有完成,流水線無法確定下一條指令的地址,因此也就無 法向流水線中新增這條指令。從這裡的分析可以看出,無條件跳轉指令是不會影響流水線的。 共享資源訪問的衝突:也就是後一條指令需要使用的資料,與前一條指令發生的衝突,或者相 鄰的指令使用了相同的暫存器,這也會使得流水線失敗。 響應中斷:當有中斷請求時,流水線也會停止。對於這種情況有兩種響應方式,一種是立即停 止——精確斷點法,能夠立即響應中斷;另一種是流水線中的指令繼續執行,不再新增指令到流水 線——不精確斷點法。 版權方授權希賽網釋出,侵權必究 試題1 若某條無條件轉移彙編指令採用直接定址,則該指令的功能是將指令中的地址碼送入__(1)__。 (1) A.PC(程式計數器)B.AR(地址暫存器) C.AC(累加器)D.ALU(算邏運算單元) 試題2 CPU中譯碼器的主要作用是進行__(2)__。 (2)A.地址譯碼 B.指令譯碼 C.資料譯碼 D.選擇多路資料至ALU 試題3 編寫組合語言程式時,下列暫存器中程式設計師可訪問的是__(3)__。 (3)A.程式計數器(PC)    B.指令暫存器(IR) C.儲存器資料暫存器(MDR) D.儲存器地址暫存器(MAR) 試題4 在CPU中用於跟蹤指令地址的暫存器是__(4)__。 (4)A.地址暫存器(MAR) B.資料暫存器(MDR) C.程式計數器(PC) D.指令暫存器(IR) 試題5 若CPU要執行的指令為:MOV R1,#45(即將數值45傳送到暫存器R1中),則該指令中採用 的定址方式為__(4)__。 (4)A.直接定址和立即定址 B.暫存器定址和立即定址 C.相對定址和直接定址 D.暫存器間接定址和直接定址 試題6 在CPU的暫存器中,__(6)__對使用者是完全透明的。 上一節 本書簡介 下一節 第 1 章:計算機硬體基礎知識 作者:希賽教育軟考學院 來源:希賽網 2014年05月04日 解析與答案 (6)A.程式計數器 B.指令暫存器 C.狀態暫存器 D.通用暫存器 試題7 指令系統中採用不同定址方式的目的是__(7)__。 (7)A.提高從記憶體獲取資料的速度 B.提高從外存獲取資料的速度 C.降低操作碼的譯碼難度 D.擴大定址空間並提高程式設計靈活性 試題8 匯流排複用方式可以__(8)__。 (8)A.提高匯流排的傳輸頻寬 B.增加匯流排的功能 C.減少匯流排中訊號線的數量 D.提高CPU利用率 試題9 一條指令的執行過程可以分解為取指、分析和執行三步,在取指時間t取指=3△t、分析時間t分 析=2△t、執行時間t執行=4△t的情況下,若按序列方式執行,則10條指令全部執行完需要 __(9)__△t;若按流水線的方式執行,則10條指令全部執行完需要__(10)__△t。 (9)A.40 B.70 C.90 D.100 (10)A.20 B.30 C.40 D.45 版權方授權希賽網釋出,侵權必究 試題1分析 本題主要考查暫存器的相關內容。 程式計數器是用於存放下一條指令所在單元的地址的地方。在程式執行前,必須將程式的起始 地址,即程式的一條指令所在的記憶體單元地址送入程式計數器,當執行指令時,CPU將自動修改程 序計數器的內容,即每執行一條指令程式計數器增加一個量,使其指向下一個待指向的指令。程式 的轉移等操作也是通過該暫存器來實現的。 地址暫存器一般用來儲存當前CPU所訪問的記憶體單元的地址,以方便對記憶體的讀寫操作。 累加器是專門存放算術或邏輯運算的一個運算元和運算結果的暫存器。 ALU是CPU的執行單元,主要負責運算工作。 試題1答案 (1)A 試題2分析 在計算機中,通常都是二進位制程式碼,如果我們要將一個資訊放到計算機中去表述,就都需要將 其編碼為二進位制程式碼,在編碼時,每一種二進位制程式碼,都賦予了特定的含義,即都表示了一個確定 的訊號或者物件。而譯碼就是編碼的逆過程。 CPU中的譯碼器的主要作用是對指令進行譯碼。 試題2答案 (2)B 試題3分析 程式計數器是用於存放下一條指令所在單元的地址的地方。在程式執行前,必須將程式的起始 地址,即程式的一條指令所在的記憶體單元地址送入程式計數器,當執行指令時,CPU將自動修改程 序計數器的內容,即每執行一條指令程式計數器增加一個量,使其指向下一個待指向的指令。程式 的轉移等操作也是通過該暫存器來實現的。 指令暫存器一般用來儲存當前正在執行的一條指令。 儲存器資料暫存器主要是用來儲存運算元和運算結果等資訊的,其目的是為了節省讀取運算元 所需佔用匯流排和訪問儲存器的時間。 儲存器地址暫存器一般用來儲存當前CPU所訪問的記憶體單元的地址,以方便對記憶體的讀寫操 作。 作為程式設計師,應該要能控制其所編寫程式的執行過程,這就需要利用程式計數器來實現,因此 程式設計師能訪問的是程式計數器。 試題3答案 (3)A 試題4分析 請參看試題3分析。 試題4答案 (4)C 試題5分析 本題主要考查各種定址方式。 立即定址的特點是:指令的地址欄位指出的不是運算元的地址,而是運算元本身; 直接定址特點是:在指令格式的地址欄位中直接指出運算元在記憶體的地址; 暫存器定址的特點是:指令中給出的運算元地址不是記憶體的地址單元號,而是通用暫存器的編 號(當運算元不放在記憶體中,而是放在CPU的通用暫存器中時,可採用暫存器定址方式); 暫存器間接定址方式與暫存器定址方式的區別在於:指令格式中運算元地址所指向的暫存器中 存放的內容不是運算元,而是運算元的地址,通過該地址可在記憶體中找到運算元; 相對定址的特點是:把程式計數器PC的內容加上指令格式中的形式地址來形成運算元的有效地 址。 在本題中,指令中的兩個運算元,分別使用的是暫存器定址和立即定址,因為在這個指令中, 其第一個運算元欄位是一個暫存器編號,而第二個運算元欄位就是運算元本身。 試題5答案 (5)B 試題6分析 指令暫存器用來存放當前正在執行的指令,對使用者是完全透明的。 狀態暫存器用來存放計算結果的標誌資訊,如進位標誌、溢位標誌等。 通用暫存器可用於傳送和暫存資料,也可參與算術邏輯運算,並儲存運算結果。 試題6答案 (6)B 上一節 本書簡介 下一節 第 1 章:計算機硬體基礎知識 作者:希賽教育軟考學院 來源:希賽網 2014年05月04日 考點精講 試題7分析 定址是指尋找運算元的地址或下一條將要執行的指令地址。資料和指令一般都需要存放在一些 儲存器的儲存單元中,儲存器對這些儲存單元進行編號,這些編號就是資料和指令的地址,如果在 應用中需要用到這些資料或指令時,就通過它們的地址到儲存器中去尋找,這就是定址。 假如某主機的主存容量可達1MB,而指令中的地址碼欄位最長僅16位,只能直接訪問主存的一 小部分,而無法訪問到整個主存空間,而採用不同的定址方式可以實現對整個主存空間的訪問。就 是在字長很長的大型機中(地址碼欄位足夠長),即使指令中能夠拿出足夠的位數來作為訪問整個 主存空間的地址,但為了靈活、方便地編制程式,也需要對地址進行必要的變換。 綜上所述,可知本題答案選D。 試題7答案 (7)D 試題8分析 匯流排複用,顧名思義就是一條匯流排實現多種功能。常見的匯流排複用方式有匯流排分時複用,它是 指在不同時段利用總線上同一個訊號線傳送不同訊號,例如,地址匯流排和資料匯流排共用一組訊號 線。採用這種方式的目的是減少匯流排數量,提高匯流排的利用率。 試題8答案 (8)C 試題9分析 序列執行時,每條指令都需三步才能執行完,沒有重疊。總的執行時間為:(3+2+4) △t×10=90△t。 按流水線方式執行,系統在同一時刻可以進行第k條指令的取指,第k+1條指令的分析,第k+2 條指令的執行,所以效率大大提高了。我們平時用的流水線計算公式是:第一條指令順序執行時間+ (指令條數?1)?週期,而週期與三個步驟時間最長的保持一致,因此本題的計算結果為:9+(10- 1)*4=45。 試題9答案 (9)C (10)D 版權方授權希賽網釋出,侵權必究 在整個計算機系統中,儲存系統的地位非常重要,在本書中,有多個章節涉及儲存相關內容。 本章主要描述儲存系統中與硬體相關的部分,而在作業系統章節將描述儲存排程相關內容。 1.Cache 由於在CPU與儲存系統間存在著資料傳送頻寬的限制,因此在其中設定了Cache(高速緩衝存 儲器,通常速度比記憶體快),以提高整體效率。但由於其成本更高,因此Cache的容量要比記憶體小 得多。Cache是一種相聯儲存器(即按內容進行儲存的儲存器)。 (1)Cache原理、命中率、失效率 使用Cache改善系統性能的主要依據是程式的區域性性原理。通俗地說,就是一段時間內,執行 的語句常集中於某個區域性。而Cache正式將訪問集中的內容放在速度更快的Cache上,以提高效能。 引入Cache後,CPU在需要資料時,先找Cache,如果沒有再找記憶體。 如果Cache的訪問命中率為h(通常1-h就是Cache的失效率),而Cache的訪問週期時間是 t1,主儲存器的訪問週期時間是t2,則整個系統的平均訪存時間就應該是: 從公式可以看出,系統的平均訪存時間與命中率有著很密切的關係。靈活地應用這個公式,可 以計算出所有情況下的平均訪存時間。 例如:設某流水線計算機主存的讀/寫時間為100ns,有一個指令和資料合一的Cache,已知該 Cache的讀/寫時間為l0ns,取指令的命中率為98%,取數的命中率為95%。在執行某類程式時,約 有1/5指令需要存/取一個運算元。假設指令流水線在任何時候都不阻塞,則設定Cache後,每條指 令的平均訪存時間約為多少?其實這是應用該公式的簡單數學題: (2%×100ns + 98%×10ns)+ 1/5×(5%×100ns + 95%×10ns)=14.7ns (2)Cache儲存器的對映機制 圖1-6 Cache對映規則圖解 CPU發生訪存請求時,會先讓Cache判斷是否包括,如果命中(即包括請求的內容)就直接使 用。這個判斷的過程就是Cache地址對映,這個速度應該儘可能快,常見的對映方法有直接對映、 全相聯對映和組相聯對映三種,其原理如圖1-6所示。 直接對映:是一種多對一的對映關係,但一個主存塊只能夠複製到Cache的一個特定位置上 去。Cache的行號i和主存的塊號j有函式關係:i=j%m(其中m為Cache總行數)。例如:某Cache 容量為16KB(可用14位表示),每行的大小為16B(可用4位表示),則說明其可分為1024行(可 用10位表示)。則主存地址的最低四位為Cache的行內地址,中間10位為Cache行號。如果記憶體地 址為1234E8F8H的話,那麼最後四位就是1000(對應16進位制數的最後一位),而中間10位,則應從 E8F(111010001111)中獲取,得到1010001111。 相聯對映:將主存中一個塊的地址與塊的內容一起存於Cache的行中。速度更快,但控制復 雜。 組相聯對映:是前兩種方式的折中方案。它將Cache中的塊再分成組。然後通過直接對映方式 決定組號,再通過相聯對映的方式決定Cache中的塊號。 要注意的是,在Cache對映中,主存和Cache儲存器將均分成容量相同的塊。 例如:容量為64塊的Cache採用組相聯方式映像,字塊大小為128個字,每4塊為一組。若主存 容量為4096塊,且以字編址,那麼主存地址應該為多少位?主存區號為多少位?這樣的題目,首先 根據主存與Cache塊的容量需一致,因此記憶體也是128個字,因此共有128×4096個字,即 2 19 (2 7 +2 12 )個字,因此主存地址需要19位;而記憶體所需要分為4096/64塊,即2 6 ,因此主存區號需 要6位。 (3)Cache淘汰演算法 當Cache資料已滿,並且出現未命中情況時,就是淘汰一些老的資料,更新一些新的資料。而 選擇淘汰什麼資料的方法就是淘汰演算法,常見的方法有三種:隨機淘汰、先進先出(FIFO)淘汰 (淘汰最早調入Cache的資料)、最近最少使用(LRU)淘汰法。其中平均命中率最高的是LRU算 法。 (4)Cache儲存器的寫操作 在使用Cache時,需要保證其資料與主存一致,因此在寫Cache時就需要考慮與主存間的同步問 題,通常使用以下三種方法:寫直達(寫Cache時,同時寫主存)、寫回(寫Cache時不馬上寫主 存,而是等其淘汰時回寫)、標記法。 2. 主存(記憶體) (1)主儲存器的種類 RAM:隨機儲存器,可讀寫,斷電後資料無法儲存,只能暫存資料。 SRAM:靜態隨機儲存器,在不斷電時資訊能夠一直保持。 DRAM:動態隨機儲存器,需要定時重新整理以維持資訊不丟失。 ROM:只讀儲存器,出廠前用掩膜技術寫入,常用於存放BIOS和微程式控制。 PROM:可程式設計ROM,只能夠一次寫入,需用特殊電子裝置進行寫入。 EPROM:可擦除的PROM,用紫外線照射15~20分鐘可擦去所有資訊,可寫入多次。 E 2 PROM:電可擦除ERPOM,可以寫入,但速度慢。 閃速儲存器:現在U盤使用的種類,可以快速寫入。 記憶時,抓住幾個關鍵英文字母。A,即Access,說明讀寫都行;O,即Only,說明只讀;P, 即Programmable,說明可通過特殊電子裝置寫入;E,即Erasable,說明可擦寫;E平方說明是兩 個E,第二個E是電子。 (2)主儲存器的組成 實際的儲存器總是由一片或多片儲存器配以控制電路構成的(如圖1-7所示)。其容量為 W×B,W是儲存單元(word,即字)的數量,B表示每個word由多少bit(位)組成。如果某一芯 片規格為w×b,則組成W×B的儲存器需要用(W/w)×(B/b)個晶片。 上一節 本書簡介 下一節 第 1 章:計算機硬體基礎知識 作者:希賽教育軟考學院 來源:希賽網 2014年05月04日 一點一練 圖1-7主儲存器組成示意圖 (3)主儲存器的地址編碼 主儲存器(記憶體)採用的是隨機存取方式,需對每個資料塊進行編碼,而在主儲存器中資料塊 是以word來標識的,即每個字一個地址,通常採用的是16進製表示。例如,按位元組編址,地址從 A4000H到CBFFFH,則表示有(CBFFF-A4000)+1個位元組,28000H個,也就是163840個位元組,等於 160KB。 要注意的是,編址的基礎可以是位元組,也可以是字(字是由1個或多個位元組組成的),要算地址 位數,首先應計算要編址的字或位元組數,然後求2的對數即可得到。 版權方授權希賽網釋出,侵權必究 試題1 位於CPU與主存之間的高速緩衝儲存器Cache用於存放部分主存資料的拷貝,主存地址與 Cache地址之間的轉換工作由__(1)__完成。 (1)A.硬體 B.軟體 C.使用者 D.程式設計師 試題2 在程式的執行過程中,Cache與主存的地址映像由__(2)__。 (2)A.專門的硬體自動完成 B.程式設計師進行排程 C.作業系統進行管理 D.程式設計師和作業系統共同協調完成 試題3 相聯儲存器按__(3)__訪問。 (3)A.地址 B.先入後出的方式 C.內容 D.先入先出的方式 試題4 記憶體單元按位元組編址,地址0000A000H~0000BFFFH共有__(4)__個儲存單元。 (4)A.8192K B.1024K C.13K D.8K 試題5 若記憶體容量為4GB,字長為32,則__(5)__。 (5)A.地址匯流排和資料匯流排的寬度都為32 上一節 本書簡介 下一節 第 1 章:計算機硬體基礎知識 作者:希賽教育軟考學院 來源:希賽網 2014年05月04日 解析與答案 B.地址匯流排的寬度為30,資料匯流排的寬度為32 C.地址匯流排的寬度為30,資料匯流排的寬度為8 D.地址匯流排的寬度為32,資料匯流排的寬度為8 試題6 若某計算機系統的I/O介面與主存採用統一編址,則輸入輸出操作是通過__(6)__指令來完成的。 (6)A.控制 B.中斷 C.輸入輸出 D.訪存 試題7 設用2K×4位的儲存器晶片組成16K×8位的儲存器(地址單元為0000H~3FFFH,每個晶片的地 址空間連續),則地址單元0B1FH所在晶片的最小地址編號為__(7)__。 (7)A.0000H  B.0800 H  C.2000 H  D.2800 H 試題8 正常情況下,作業系統對儲存有大量有用資料的硬碟進行__(8)__操作時,不會清除有用資料。 (8)A.磁碟分割槽和格式化   B.磁碟格式化和碎片整理 C.磁碟清理和碎片整理 D.磁碟分割槽和磁碟清理 試題9 __(9)__不屬於按定址方式劃分的一類儲存器。 (9)A.隨機儲存器 B.順序儲存器 C.相聯儲存器 D.直接儲存器 版權方授權希賽網釋出,侵權必究 試題1分析 從Cache-主存層次實現的目標看,一方面既要使CPU的訪存速度接近於訪Cache的速度,另一 方面為使用者程式提供的執行空間應保持為主存容量大小的儲存空間。在採用Cache-主存層次的系統 中,Cache對使用者程式而言是透明的,也就是說,使用者程式可以不需要知道Cache的存在。因此, CPU每次訪存時,依然和未使用Cache的情況一樣,給出的是一個主存地址。但在Cache-主存結構 中,CPU首先訪問的是Cache,並不是主存。為此,需要一種機制將主存地址轉換成對應的Cache 地址,這個處理過程對速度要求非常高,因此它是完全由硬體來完成的。 試題1答案 (1)A 試題2分析 Cache與主存的地址映像需要專門的硬體自動完成,使用硬體來處理具有更高的轉換速率。 試題2答案 (2)A 試題3分析 相聯儲存器一種按內容進行儲存和訪問的儲存器。 試題3答案 (3)C 試題4分析 本題考查計算機中的儲存部件組成。 記憶體按位元組編址,地址從0000A000H到0000BFFFH時,儲存單元數為0000BFFFH -0000A000H +1H=00002000H,轉換為二進位制後為0010 0000 0000 0000即2 13 ,即8K個儲存單 元。 試題4答案 (4)D 試題5分析 字長是指在同一時間中CPU處理二進位制數的位數叫字長。 資料匯流排是用於在計算機中傳送資料的匯流排,它可以把CPU的資料傳送到儲存器或輸入輸出接 口等其它部件,也可以將其它部件的資料傳送到CPU。資料匯流排的位數是微型計算機的一個重要指 標,通常與字長一致,所以字長32也就意味著資料匯流排的寬度為32。 地址匯流排是傳送地址資訊的匯流排,根據地址匯流排的多少可以確定記憶體容量的大小,如32位的地 址匯流排可以允許2的32次方的記憶體容量。 試題5答案 (5)A 試題6分析 I/O介面與主存採用統一編址,即將I/O裝置的介面與主存單元一樣看待,每個端口占用一個存 儲單元的地址,其實就是將主存的一部分劃出來作為I/O地址空間。 訪存指令是指訪問記憶體的指令,顯然,這裡需要訪問記憶體,才能找到相應的輸入輸出裝置,一 次需要使用訪存指令。 而控制類指令通常是指程式控制類指令,用於控制程式流程改變的指令,包括條件轉移指令、 無條件轉移指令、迴圈控制指令、程式呼叫和返回指令、中斷指令等。 試題6答案 (6)D 試題7分析 晶片的大小為2k×4位,而儲存器的大小為16k×8位,不難得出要獲得這樣一個大小的儲存器, 需要16片2k×4位的晶片。 如果按位元組編址,對應一個大小為16k×8位的儲存器,需要14位地址,其中高4位為片選地址, 低10位為片內地址,而題目給出的地址0B1FH轉換為二進位制為00 1011 0001 1111,其高4位為 0010,即片選地址為2。因此,地址0B1FH對應第2片晶片,該晶片的起始地址(最小地址)為00 1000 0000 0000,即0800H。 試題7答案 (7)B 試題8分析 這題主要考查我們對磁碟分割槽、格式化、碎片整理、磁碟清理等概念的理解。 上一節 本書簡介 下一節 第 1 章:計算機硬體基礎知識 作者:希賽教育軟考學院 來源:希賽網 2014年05月04日 考點精講 磁碟分割槽是指將一塊容量相對較大的磁碟劃分為多塊容量相對較小的磁碟,磁碟分割槽並不刪除 磁碟上的資料,但一般情況下,磁碟分割槽後要經過格式化後才能正式使用。 磁碟格式化在往磁碟的所有資料區上寫零的操作過程,它是一種純物理操作,同時對硬碟介質 做一致性檢測,並且標記出不可讀和壞的扇區。那麼格式化後,磁碟原有的資料被清除。 磁碟清理也可以刪除計算機上的檔案,但它主要用於刪除計算機上那些不需要的檔案。 碎片整理是指通過系統軟體或一些專業的磁碟碎片整理軟體對計算機磁碟在長期使用過程中產 生的碎片和凌亂檔案重新整理,以釋放出更多可用的儲存空間。 綜上所述,不會清除計算機中有用資料的是C。 試題8答案 (8)C 試題9分析 本題考查儲存器型別的劃分。 按定址方式劃分,儲存器可分為:順序儲存(如:磁帶機),直接儲存器(如:磁碟、硬碟、 光碟),隨機儲存器(如:記憶體、U盤)。 試題9答案 (9)C 版權方授權希賽網釋出,侵權必究 可靠性計算在軟體設計師考試中出現頻度較高,出題方式也較為單一,主要是計算,是一個很 好得分的知識點,另外一個知識點是校驗碼,出現頻度較低,需要了解概念及計算過程,本節將詳 細介紹這部分內容。 1. 可靠性計算 可靠性計算主要涉及三種系統,即串聯絡統、並聯系統和冗餘系統,其中串聯絡統和並聯系統 的可靠性計算都非常簡單,只要瞭解其概念,公式很容易記住。冗餘系統要複雜一些,有些學員常 常搞不清楚。 (1)串聯絡統 假設一個系統由n個子系統組成,當且僅當所有的子系統都能正常工作時,系統才能正常工作, 這種系統稱為串聯絡統,如圖1-8所示。 圖1-8串聯絡統 設系統各個子系統的可靠性分別用 表示,則系統的可靠性 。 如果系統的各個子系統的失效率分別用 來表示,則系統的失效率 。 (2)並聯系統 假如一個系統由n個子系統組成,只要有一個子系統能夠正常工作,系統就能正常工作,如圖1- 9所示。 圖1-9並聯系統 設系統各個子系統的可靠性分別用 表示,則系統的可靠性 。 假如所有子系統的失效率均為 ,則系統的失效率為 : 在並聯系統中只有一個子系統是真正需要的,其餘n-1個子系統都被稱為冗餘子系統。該系統隨 著冗餘子系統數量的增加,其平均無故障時間也會增加。 (3)模冗餘系統 m模冗餘系統由m個(m=2n+1為奇數)相同的子系統和一個表決器組成,經過表決器表決 後,m個子系統中佔多數相同結果的輸出可作為系統的輸出,如圖1-10所示。 圖1-10模冗餘系統 在m個子系統中,只有n+1個或n+1個以上的子系統能正常工作,系統就能正常工作並輸出正確 結果。假設表決器是完全可靠的,每個子系統的可靠性為R 0 ,則m模冗餘系統的可靠性為: 2.校驗碼 為了實現資料的自動檢錯與糾錯,引入了校驗碼。而最簡單的就是奇偶校驗碼,它分為奇校驗 和偶校驗兩種,均是新增1位校驗位,根據資訊碼中1的個數來決定校驗位的取值,使得填入校驗位 後,使得1的個數為奇數(奇校驗)或偶數(偶校驗)。這方面知識更深入的考察點主要包括以下幾 個方面: (1)海明碼距 海明的冗餘資料位檢測和糾正程式碼差錯的理論和方法指出:可以在資料程式碼上新增若干冗餘位 組成碼字。而將一個碼字變成另一個碼字時必須改變的最小位數就是碼字之間海明距離,簡稱碼 距。從這裡將得出:沒有加冗餘校驗碼的任何編碼,它們的碼距就是1,即只要改一位,就可以變成 另一個碼字了;而奇偶校驗碼則添加了1位校驗碼,使得要變成另一個碼字最少要修改兩位,這就使 其碼距變成2了;根據定義得知,碼距是不同碼字的海明距離的最小值。判斷碼距時,可以列出一些 碼進行判斷,找出最小的位數即可。 另外,還需要記住以下幾個關鍵的關係: 可查出多少位錯誤:根據海明的研究發現,可以發現“≤碼距-1”位的錯誤。 可以糾正多少位錯誤:根據海明的研究發現,可以糾正“<碼距/2”位的錯誤,因此如果要能夠 糾正n位錯誤,則所需最小的碼距應該是“2n+1”。 (2)海明校驗碼 要計算海明校驗碼,首先要知道海明校驗碼是放置在2的冪次位上的,即“1、2、4、8、16、 32……”,而對於資訊位為m的原始資料,需加入k位的校驗碼,它滿足m+k+1<2 k 。計算時總令人 感到頭痛。而有一種簡單的方法,則是從第1位開始寫,遇到校驗位留下空格。例如:原始資訊為 101101100,並採用偶校驗則: 圖1-11填入原始資訊 然後根據以下公式填充校驗位“1、2、4、8”: 然後將結果填入,得到: 圖1-12完成計算 而如果給出一個加入了校驗碼的資訊,並說明有一位錯誤,要找出,則可以採用基本相同的方 法,假如給出的是: 圖1-13有一位錯誤 可根據以下公式計算: 然後從高位往下寫,得到1101,即十進位制的11,因此出錯的位數為第11位。而剩下的問題就是 這個公式如何來的?首先計算校驗碼時,1、2、4、8位都是空的,因此在公式的左邊;當進行校驗 時,1、2、4、8位都已經有值,因此要參與計算。而這些值是根據右表得到的,也就是生成B1、 B2、B4、B8四個公式,而公式中要參與計算的位,是在表格中出現“1”的那個位。要說明的是, 右邊的表格,就是對資料位的二進位制描述。 由於海明碼距在計算和糾錯過程中,計算都過於複雜,無法很容易地使用硬體實現,因此在實 際的應用中並不是應用得很廣泛。 (3)CRC校驗碼 由於CRC的實現原理十分易於用硬體實現,因此被廣泛地應用於計算機網路上的差錯控制。而 CRC的考察點主要有兩個:計算CRC校驗碼;驗算一個加了CRC校驗的碼是否有錯誤。 計算CRC校驗碼 要計算CRC校驗碼,需根據CRC生成多項式進行。例如:原始報文為“11001010101”,其生 成多項式為:“x 4 +x 3 +x+1”。在計算時,是在原始報文的後面若干個0(等於校驗碼的位數,而生 成多項式的最高冪次就是校驗位的位數,即使用該生成多項式產生的校驗碼為4位)作為被除數,除 以生成多項式所對應的二進位制數(根據其冪次的值決定,得到11011,因為生成多項式中除了沒有x 2 之外,其他位都有)。然後使用模2除,得到的商就是校驗碼。 上一節 本書簡介 下一節 第 1 章:計算機硬體基礎知識 作者:希賽教育軟考學院 來源:希賽網 2014年05月04日 一點一練 圖1-14計算CRC校驗碼 然後將0011新增到原始報文的後面就是結果:110010101010011。 檢查資訊碼是否有CRC錯誤 要想檢查資訊碼是否出現了CRC錯誤的計算很簡單,只需用待檢查的資訊碼做被除數,除以生 成多項式,如果能夠整除就說明沒有錯誤,否則就是出錯了。另外要注意的是,當CRC檢查出現錯 誤時,它是不會進行糾錯的,通常是讓資訊的傳送方重發一遍。 版權方授權希賽網釋出,侵權必究 試題1 某計算機系統的部件構成如圖1-15所示,假定每個部件的千小時可靠度都為R,則該系統的千小 時可靠度為__(1)__。 圖1-15可靠性計算示意圖 (1)A.R+2R/4 B.R+R 2 /4 C.R(1-(1-R) 2 ) D.R(1-(1-R) 2 ) 2 試題3 下面關於校驗方法的敘述,__(3)__是正確的。 (3)A.採用奇偶校驗可檢測資料傳輸過程中出現一位資料錯誤的位置並加以糾正 B.採用海明校驗可檢測資料傳輸過程中出現一位資料錯誤的位置並加以糾正 C.採用海明校驗,校驗碼的長度和位置可隨機設定 上一節 本書簡介 下一節 第 1 章:計算機硬體基礎知識 作者:希賽教育軟考學院 來源:希賽網 2014年05月04日 解析與答案 D.採用CRC校驗,需要將校驗碼分散開並插入資料的指定位置中 試題4 某資料處理軟體包括兩個完全相同的資料處理部件和一個數據儲存部件,且採用圖1-16給出的 容錯方案。當資料處理部件的可靠性為0.6時,為使整個軟體系統的可靠性不小於0.66,則資料儲存 部件的可靠性至少應為__(4)__。 圖1-16 先並聯後串聯絡統 (4)A.0.6 B.0.66 C.0.79 D.1.0 試題5 若計算機採用CRC進行差錯校驗,生成多項式為G(X)= X 4 +X+1,資訊字為10110,則CRC校驗 碼是__(5)__。 (5)A.0000 B.0100 C.0010 D.1111 版權方授權希賽網釋出,侵權必究 試題1分析 本題考查系統可靠性。 計算機系統是一個複雜的系統,而且影響其可靠性的因素也非常繁複,很難直接對其進行可靠 性分析。若採用串聯方式,則系統可靠性為每個部件的乘積R=R 1 ×R 2 ×R 3 ×…×R n ;若採用並聯方 式,則系統的可靠性為R=1-(1-R 1 )×(1-R 2 )×(1-R 3 )×…×(1-R n )。 在本題中,既有並聯又有串聯,計算時首先我們要分別計算圖中兩個並聯後的可靠度,它們分 別為1-(1-R) 2 ,然後是三者串聯,根據串聯的計算公式,可得系統的可靠度為R×1-(1-R) 2 ×1- (1-R) 2 = R(1-(1-R) 2 ) 2 。因此本題答案選D。 試題1答案 (1)D 試題2 冗餘技術通常分為4類,其中__(2)__按照工作方法可以分為靜態、動態和混合冗餘。 (2)A.時間冗餘  B.資訊冗餘  C.結構冗餘  D.冗餘附加技術 試題2分析 冗餘技術一般包括時間冗餘、資訊冗餘、結構冗餘和冗餘附加技術,其中結構冗餘按照工作方 法可以分為靜態、動態和混合冗餘。 試題2答案 (2)C 試題3分析 本題考查基本校驗碼,題目中提到的3種校驗方式都是需要考生掌握的。 其先進度排名為:奇偶校驗<CRC校驗<海明校驗。 奇偶校驗碼是在源資訊碼的基礎上新增一個校驗位,使整個資訊位呈奇性或偶性。這種校驗碼 只能根據收到的資訊奇偶性判斷資訊在傳輸中是否產生了1位錯誤,同時不能判斷具體是哪一位出了 錯。 CRC校驗即迴圈冗餘碼校驗(Cyclical Redundancy Check),它是利用除法及餘數的原理來 做錯誤偵測(Error Detecting)的。實際應用時,傳送裝置計算出CRC值並隨資料一同傳送給接收 裝置,接收裝置對收到的資料重新計算CRC並與收到的CRC相比較,若兩個CRC值不同,則說明數 據通訊出現錯誤。 海明校驗是由Richard Hamming於1950年提出、目前還被廣泛採用的一種很有效的校驗方法, 它只要增加少數幾個校驗位,就可以發現“≤碼距-1”位的錯誤,可以糾正“<碼距/2”位的錯誤。 因此如果要能夠糾正n位錯誤,則所需最小的碼距應該是“2n+1”;如果要糾正1位錯誤,則最小碼 距為3。 有了以上的知識基礎,問題就非常容易解決了,接下來逐個分析備選答案中存在的概念錯誤。 A.“採用奇偶校驗可檢測資料傳輸過程中出現一位資料錯誤的位置並加以糾正”,奇偶校驗碼 只能檢測一位的錯誤,不能確定錯誤的位置,更無法對錯誤進行糾正,描述錯誤。 B.“採用海明校驗可檢測資料傳輸過程中出現一位資料錯誤的位置並加以糾正”,海明碼能發 現錯誤位置並予以改正,描述正確。 C.“採用海明校驗,校驗碼的長度和位置可隨機設定”,海明碼的編碼過程有嚴格要求,對於 資訊位與校驗位的放置也是有約定的,不能隨機設定,描述錯誤。 D.“採用CRC校驗,需要將校驗碼分散開並插入資料的指定位置中”,CRC碼的校驗位都是置 於編碼的最後部分(最右端),描述錯誤。 故正確答案為:B。 試題3答案 (3)B 試題4分析 本題考查系統可靠性,是常考的知識點。 計算機系統是一個複雜的系統,而且影響其可靠性的因素也非常繁複,很難直接對其進行