計算機硬件基礎知識(高級程序員級)
高級程序員資格和水平考試試題共15個硬件基礎知識4個題內容涉及:
1.隨機存儲器種類特性。
2.虛擬存儲器特性及工作原理。
3.數據可靠性編碼CRC及工作原理。
4.精簡指令計算機RISC的特性。
一、主存儲器的種類和特性(第九題)
主存儲器用來存放正在運行的程序所需的和常用的指令和數據。是CPU直接訪問的部件。主機對主存的主要要求是速度快。主存通常包括,隨機讀寫存儲器RAM和只讀存儲器ROM。
1.可隨機讀寫,只要不斷電其存儲內容一直保持不變的存儲器芯片叫靜態隨機讀寫存儲器SRAM,其單元存儲原理類似觸發器。
2.可隨機讀寫,但需要不斷刷新才能保持其中存儲信息的芯片稱為動態隨機讀寫存儲器DRAM,這種芯片是用動態MOS電路構成的。
利用電容的充電來存儲數據但因電路本身總有漏電,因此需定期不斷補充充電才能保持其存儲的數據。
注意DRAM即使在不斷電的時候,也必須定時刷新,但這種刷新是自動進行的并不需要使用人員干預。
3.生產廠家在產品出廠前利用掩膜技術已經寫好數據的存儲器稱為只讀存儲存儲器ROM。使用者無法改變其中的內容,常用來存放固定程序。
4.用戶在使用ROM時感到不方便,有時偶爾需要改變ROM的內容時,可采用EPROM稱為可擦除的可編程的只讀存儲器。但每次擦除需要用紫外線直接照射這種芯片15~20分鐘,而寫入數據時必須使用特殊裝置。因此在機器運行過程中仍是只讀不寫的。
5.一種新型的存儲器閃速存儲器FM已經面世。其特點是可以用信號在幾秒鐘內快速地擦除芯片內容的一部分或全部但不能對指定單元(字節)單獨進行擦除。
二、虛擬存儲器(第十題)
1.主存的特點是速度快但容量小,CPU可直接訪問。外存的特點的容量大和速度慢,CPU不能直接訪問。用戶的程序和數據通常放在外存中。因此需要經常在主有與外存間取來送去。由用戶來干預調度很不方便。虛擬存儲器用來解決這個矛盾,使用戶感到他可以直接訪問整個內外存空間,而不需用戶干預。因此容量很大的速度較快的外存儲器(硬磁盤)成為虛擬存儲器主要組成部分。
2.虛擬存儲器中硬盤中的數據與主存中的數據的調度方法與高速緩存Cache的調度方法類似。即把經常訪問的數據調入高速主存中保存。不需要的數據用一定的替代算法再送回硬盤中。這些調入調出的操作都是由虛擬存儲器自動完成的。
3.用戶程序采用虛地訪問整個虛擬空間,而指令執行時只能訪問主存空間。因此必須進行虛實地址轉換,把不在主存的單元內容調入主存某單元再按轉換的實地址進行訪問。
4.虛存中虛實地址轉換是關鍵,為了提高轉換速度通常采用硬件支持這種轉換,即把負頁放在相聯存儲器中,相聯存儲器是按內容訪問的,而直接查找你要訪問虛頁號是否在相聯存儲器中,而得到有關的實頁號。
三、數據可靠性編碼CRC(第十一題)
1.數據在計算機是存儲傳送上可靠性直接影響計算機可靠性,通過編碼技術及時發現和糾正已經產生的數據錯誤將是非常重要的,CRC是一種常用檢錯編碼,即循環冗余校編碼。
2.在產生CRC校驗碼時使用模二除法
在模二運算中是按位進行的。
模二加減法均不產生進行和借位。
模二除法是利用模二減法求余數的,余數最高位為“1”,則商“1”,否則商“0”,每商1位則余數減少一位,直到余數位數少于除數位數。
3.如果生成多項式G(x)=x4(4次冪)+x3(3次冪)+x+1原始報文為1100 1010 101,則其CRC碼求法如下:
將其余數0011添加在該報文最后即得到其CRC編碼1100 1010101 0011
因此答案中指出的其它3個編碼都是錯誤的。這個題要求掌握CRC碼生成原理和模二除法。
4.校驗原理
當接收到一個CRC碼時,用生成多項式去除該CRC碼。
如果余數是0,則傳送正確。
如果余數不是0,則傳送有錯,根據不同余數可以知是哪位出錯,即將該位變反即可。
因此,CRC碼,可發現糾正一位錯。
CRC碼可以檢測小于等于校驗位長度的突發錯。
四、RISC計算機(第十二題)
為了提高計算機的速度,提高操作系統與編譯程序的效率,合理的設計指令系統是非常重要的,精簡指令RISC計算機應運而生。其主要特點減少指令種類,錄址方式類型,簡少一條指令新需的機器周期數,增加CPU中通用寄存的數目以減少訪存次數等。
計算機執行一個程序所需的時間為P,該程序經編譯后的機器指令總條數I,每條指令所需的的平均機器周期數CPI,和每個機器指令周期所需的時間為T。則P=I·CPI·T。
因此用RISC編寫程序雖然增加了I,但更重要的是減少CPI。
它的指令系統具有指令種類少的特點,更適于采用硬布線控制邏輯,而CISC由于指令系統復雜采用微程序方案更合適。
RISC機器,指令執行過程中,要減少存取數據訪存的次數。因此CPU中設置了大量通用寄存器,用來加快處理器處理數據速度。
RISC機器指令系統考慮了操作系統與編譯的優化,因此使編譯工作更簡單。
作者簡介:謝樹煜,清華大學計算機系教授,中國軟件行業協會軟件考試培訓系校副校長。1959年清華大學自動控制系計算機專業畢業。留校工作,長期從事計算機系統結構方面的教學科研工作,曾主持多項“七五”國家重點科技攻關項目,和國家自然科學基金項目,多次獲得國家部級科技進步二等獎。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/