計算機組成原理(名詞解釋)
計算機組成原理
第1章:計算機系統概論
1、計算機系統由哪兩部分組成?計算機系統性能取決於什麼?
計算機系統是由“硬體”和“軟體”組成。衡量一臺計算機效能的優劣是根據多項技術指標綜合確定的,既包括硬體的各種效能指標,又包括軟體的各種功能。
1)計算機系統由硬體和軟體兩部分組成。
2)計算機系統性能由硬體和軟體共同決定。
2、計算機系統5層層次結構從下到上由哪五層組成?哪些是物理機,哪些是虛擬機器?
1)微程式機器、傳統機器、作業系統機器、組合語言機器、高階語言機器
2)微程式機器和傳統機器是物理機,其他是虛擬機器。
3、在計算機系統結構中,什麼是翻譯?什麼是解釋?
1)翻譯:將一種語言編寫的程式全部翻譯成另一種語言,然後再執行;
2)解釋:將一種語言編寫的程式的一條語句翻譯成另一種語言的一條或多條語句,然後執行,執行完這條語言後,再解釋下一條。
4、什麼是計算機體系結構?什麼是計算機組成?以乘法指令為例說明二者區別。
1)計算機體系結構是指那些能夠被程式設計師看到的計算機的屬性。如指令集、資料型別等;
2)計算機組成是指如何實現計算機體系結構所體現出來的屬性;
3)以乘法指令為例,計算機是否有乘法指令,屬於體系結構的問題。乘法指令是採用專用的乘法器,還是使用加法器和移位器構成,屬於計算機組成的問題。
5、馮諾依曼機器的主要特點?
1)計算機由運算器、儲存器、控制器、輸入裝置和輸出裝置五大部分組成;
2)指令和資料儲存在儲存器中,並可以按地址訪問;
3)指令和資料均以二進位制表示;
4)指令由操作碼和地址碼構成,操作碼指明操作的性質,地址碼錶示運算元在儲存器中的位置;
5)指令在儲存器內按順序存放,通常按自動的順序取出執行;
6)機器以運算器為中心,I/O裝置與儲存器交換資料也要通過運算器。(因此,後來有了以儲存器為中心的計算機結構)
6、畫出現代計算機的組成框圖。
P10,圖1.9
7、什麼是儲存單元、儲存字、儲存字長、儲存體?
儲存單元:儲存一個儲存字並具有特定儲存地址的儲存單位;
儲存字:一個儲存單元中存放的所有的二進位制資料,按照某個地址訪問某個儲存單元獲取的二進位制資料。
儲存字長:儲存字中二進位制資料的位數,即按照某個地址訪問某個儲存單元獲取的二進位制資料的位數;
儲存體:由多個儲存單元構成的儲存器件。
8、主儲存器中,什麼是MAR,什麼是MDR,儲存器的最大容量由什麼決定?
1)MAR:儲存地址暫存器,儲存需要訪問的儲存單元地址。反映儲存單元的個數。
2)MDR:儲存資料暫存器,快取讀出/寫入儲存單元的資料。反映儲存字長。
3)儲存器的最大容量由MAR暫存器的位數和MDR暫存器的位數決定。
9、什麼是機器字長,什麼是儲存字長長?
機器字長:CPU一次能夠處理的二進位制資料的位數。
儲存字長:按照某個地址訪問某個儲存單元獲取的二進位制資料的位數。
10、假設MAR暫存器的位數為16位,MDR暫存器的位數為16位,儲存器的最大容量是多少?
1)MAR暫存器的位數為16位,能表示的地址個數為2的16次方,為64K;
2)MDR暫存器的位數為16位,說明儲存字長為16位,也即2個位元組;
3)儲存器的最大容量為64K * 2B = 128K Byte
------------------------------------------------------------------------------------------------------
第三章 系統匯流排
1、為什麼要使用匯流排?
在馮諾依曼結構中,各個部件之間均有單獨連線,不僅線多,而且導致擴充套件I/O裝置很不容易。即擴充套件一個I/O裝置,需要連線很多線。
因此,引入了匯流排連線方式,將多個裝置連線在同一組總線上,構成裝置之間的公共傳輸通道。
2、匯流排的兩大基本特徵是什麼?
1)共享:多個部件連線在同一組總線上,各個部件之間都通過該匯流排進行資料交換。
2)分時:同一時刻,總線上只能傳輸一個部件傳送的資訊;
3、系統匯流排按照傳輸資訊的不同,分成哪幾類?是單向的,還是雙向的?
1)分成資料匯流排、地址匯流排以及控制匯流排。
2)資料匯流排:各個功能部件之間傳送資料資訊,雙向傳輸;
3)地址匯流排:用來指明資料匯流排上,源資料或目的資料所在的主存單元的地址。單向:由CPU發出
4)控制匯流排:用來發送各種控制訊號。對於控制匯流排中的單根線,是單向的,即只能由一個部件發向另一個部件。而一組控制匯流排中,有輸入也有輸出,因此,控制匯流排也可以看成是雙向的。
3、什麼是匯流排寬度、匯流排頻寬、匯流排複用、訊號線數?
1)匯流排寬度:資料匯流排的根數,一般是8的倍數。是衡量計算機系統性能的重要指標;
2)匯流排頻寬:即匯流排資料傳輸速率,總線上每秒能夠傳輸的最大位元組量。
3)匯流排複用:一條訊號線上分時傳送兩種訊號。例如資料匯流排和地址匯流排的分時複用;
4)訊號線數:地址匯流排、資料匯流排和控制匯流排三種匯流排的線數之和。
4、假設匯流排的工作頻率為33MHz,匯流排寬度為32位,則它最大的傳輸速率是多少?
33 * (32/8) = 132 MB/s
5、簡要說明單匯流排結構的概念及缺點?(現代計算機為什麼要採用多匯流排結構?)
在單匯流排結構中,所有的部件(CPU、主存、I/O裝置)都連線在一組總線上。
但所有的資訊傳送都要通過這組匯流排,同時只能有一個部件向總線上傳送資訊,導致匯流排成為系統的瓶頸。
因此,發展出來了多匯流排結構,其基本思想均是將速度相近的裝置掛接在同一組總線上,匯流排之間通過匯流排控制器相連。
例如CPU和Cache之間、I/O裝置之間等。
6、集中式匯流排判優控制有哪三種方式,哪種方式的優先順序不能改變?
1)鏈式查詢、計數器定時查詢、以及獨立請求。
2)鏈式查詢的優先順序不能改變,離控制器最近的優先順序最高。
7、簡述鏈式查詢、計數器定時查詢以及獨立請求三種方式的工作原理。
(略)
8、什麼是匯流排週期,分為哪幾個階段?
1)匯流排週期:總線上兩個部件完成一次完整且可靠的資料傳輸時間;
2)分為四個階段:
申請分配階段:申請匯流排
定址階段:發出地址及有關命令
傳數階段:進行資料交換
結束:從總線上撤除訊號,讓出匯流排
9、什麼是匯流排通訊控制,匯流排通訊控制有哪幾種?
1)匯流排通訊控制:解決通訊雙方如何獲知傳輸開始和傳輸結束,以及如何協調配合;
2)同步通訊、非同步通訊、半同步通訊、分離式通訊
10、什麼是同步通訊?其優點和缺點?
1)同步通訊:總線上各個部件由統一的時鐘訊號控制;在匯流排週期中,每個時鐘週期各個部件如何動作都有明確的規定。
2)優點:速度快,各個模組間配合簡單
3)缺點:以總線上最慢的部件來設計公共時鐘,影響匯流排效率。
11、什麼是非同步通訊?非同步通訊分為哪幾種類型?
1)非同步通訊:總線上各部件沒有統一的時鐘標準,採用應答式通訊;(主模組發出請求後,一直等到從模組反饋回來應答訊號之後才開始通訊)
2)不互鎖、半互鎖、全互鎖。(需要了解各種方式的含義)
12、什麼是波特率?什麼是位元率?(需要掌握如何計算波特率、位元率)
波特率:單位時間內傳送的二進位制資料資料的位數,單位bps
位元率:單位時間內傳送的有效的二進位制位數。
13、非同步通訊時,常規需要設定的引數有哪些?
波特率、停止位(1/2/1.5)、校驗位(奇校驗、偶校驗、無校驗)
14、簡述半同步通訊的基本原理。
半同步通訊結合同步通訊和非同步通訊。
同步通訊:採用統一的時鐘,規定了在一定的時鐘週期幹什麼事情;
非同步通訊:如果從模組沒有準備好,增加一個“等待響應”訊號。
15、簡述分離式通訊的基本原理。
主模組發出地址和命令之後,放棄匯流排,在從模組準備資料期間,使得匯流排可以被其他裝置所用。提高匯流排利用率。
但是,這種方式控制比較複雜。
16、奇偶校驗可以糾錯嗎?漢明碼可以糾錯碼?
1)奇偶校驗只能檢錯,不能糾錯。
2)漢明碼可以糾錯。
-----------------------------------------------------------------------------------------------------------------------------------------
第四章 儲存器
1、儲存器按存取方式,可以分成哪四類?哪些屬於隨機訪問儲存器,哪些屬於序列訪問儲存器?
1)可以分為隨機儲存器、只讀儲存器、順序儲存器和直接儲存器;
2)隨機儲存器和只讀儲存器屬於隨機儲存器,即存取時間與實體地址無關;
3)順序儲存器(典型的如磁帶)和直接儲存器(典型的如磁碟)屬於序列儲存器,即存取時間與實體地址有關。
2、衡量儲存器使用哪三個指標?暫存器、快取、主存中,哪個速度最快?哪個最便宜?
1)速度、容量、位價格。
2)暫存器速度最快,主存最便宜。
3、常見的儲存系統層次結構有哪兩種?透明性如何?各自用來解決什麼問題的?
1)快取-主存層次:用來緩解CPU和主存速度不匹配的問題,由硬體來完成,對所有的程式設計師完全透明。
2)主存-輔存層次:用來解決主存容量不夠的問題,由作業系統和硬體共同完成,對應用程式設計者透明,對系統程式設計者不透明。
(現在一般儲存器都即能按字訪問,也能按照位元組訪問,因此,儲存器編址時,每個位元組都有一個獨立的地址。)
4、字在儲存單元中有兩種儲存方式,大端方式和小端方式。各是什麼含義?x86採用的是哪種儲存方式?
1)大端方式:字的低位存在記憶體的高地址中,而字的高位存在記憶體的低地址中;
2)小端方式:字的低位存在記憶體的低地址中,而字的高位存在記憶體的高地址中。
3)x86CPU採用的是小端方式。
5、主存的三個主要技術指標
儲存容量、存取速度和儲存頻寬
6、什麼是存取時間?什麼是存取週期?哪個大?
1)存取時間:啟動一次儲存器完成本次操作(讀或寫)所需的時間;
2)存取週期:連續兩次啟動儲存器所需要的最小間隔時間;
3)存取週期包含存取時間;
7、什麼是儲存器頻寬?(要了解如何計算儲存器頻寬)
單位時間記憶體儲器存取的資訊量;
8、半導體儲存晶片譯碼驅動包含哪兩種方式,請簡要說明。
1)線選法:所有的地址晶片通過一個譯碼器譯碼,選擇一個儲存單元的各位,適合於儲存容量不大的晶片;
2)重合法:將地址分為兩組,每組通過一個譯碼器譯碼,選擇行或列,行、列交叉處就是要訪問的儲存位。
9、隨機儲存器包含哪兩大類?哪個需要重新整理?請從速度、容量、價格等方面進行簡要比較。
1)靜態RAM:採用鎖存器原理實現;
2)動態RAM:採用電容原理實現,需要重新整理。
3)相比於動態RAM,靜態RAM的速度快、容量小、價格高,一般用於快取,而動態RAM一般用於記憶體。
10、只讀儲存器有哪幾種?
1)掩模ROM(MROM):出廠後內容不能被更改。
2)PROM:可程式設計只讀儲存器,可以進行一次性程式設計;
3)EPROM:可擦除只讀ROM,用紫外線照射;
4)EEPROM:電可擦除只讀ROM。
6)FLash Memory:採用EEPROM的非易失性儲存器。
11、單片儲存器晶片的容量有限,很難滿足實際需要,因此必須將若干儲存晶片連線在一起才能組成足夠容量的儲存器。
儲存器的擴充套件通常有位擴充套件和字擴充套件,什麼是字擴充套件,什麼是位擴充套件?請舉例簡要說明
1)位擴充套件:增加儲存器的字長,例如兩個1K * 4位的儲存晶片構成1個1K*8位的儲存器;
2)字擴充套件:增加儲存器的字數,例如兩個1K * 8位的儲存晶片構成1個2K * 8位的儲存器;
通常字擴充套件和位擴充套件兩種方式混合使用。
12、熟慮掌握儲存器的擴充套件,包括地址空間分配、地址線的連線、資料線的連線、片選訊號的產生及連線等;
參看P94頁,例4.1
13、假設欲檢測的二進位制程式碼為n位,為了使其具有1位的糾錯能力,需新增K位檢測位,組成n+k位的程式碼。問,應新增多少位檢測位?
應新增的檢測位位數:2的k次方大於等於n+k+1。
因為要使其有1位的檢測能力,必須使用k位來說明n+k位到底哪一位出現了錯誤,k位能表達的數量為2的k次方,而n+k位到底哪一位
出現了錯誤或者是全部正確,共有n+k+1種狀況,因此,k的取值需要滿足:2的k次方大於等於n+k+1
14、對於漢明碼,應熟練掌握漢明碼的編碼方式(按照配偶或配奇的原則),以及給出漢明碼,得到要傳送的原始資訊(包括糾錯過程)。
15、提高訪存速度的三種方式。
1)採用高速元器件;
2)採用儲存層次結構:cache-主存結構;
3)調整主存結構:包括單體多字,多體並行兩種方式。
16、簡述單體多字的儲存系統的工作原理,及其優點。
1)單體多字儲存系統一次訪存取出多個CPU字,即儲存字為CPU字的n倍(假設一次訪存取出n個cpu字)。
2)優點是:顯著提高了儲存器頻寬。
17、多體並行系統有哪兩種編址方式?請簡要說明其編址方式及其優點。
1)高位交叉編址方式:儲存體的編址方式為順序儲存,即一個儲存體存滿後,再存入下一個;儲存單元地址的高位為儲存體的編號。
高位交叉編址並不能提高單次訪存速度,但能使多應用並行訪存,提高系統的併發性。
2)低位交叉編址方式:儲存體的編址方式為交叉儲存。即程式連續存放在相鄰的儲存體之中。儲存單元地址的低位為儲存體的編號。
低位交叉編址能顯著提高單次訪存速度。
19、在四位低位交叉編址中,假設存取週期為T,匯流排傳輸週期為τ,為了實現流水線方式儲存,應滿足什麼條件?如果連續讀取四個字,所需要的時間是多少?
1)T= 4τ
2)連續讀取四個字,所需要的時間為T + (4-1)τ
注意:假設不是低位交叉編址,而是高位交叉編址,連續讀取四個字所需要的時間仍然為4T。
20、需要大家掌握多體並行儲存器在高位交叉編址(順序儲存)和低位交叉編址(交叉儲存)的情況下,儲存器頻寬的計算方式。
21、在CPU和記憶體之間引入cache的原因。
1)避免cpu空等I/O訪存;
2)緩解CPU和主存速度不匹配的問題。
22、什麼是程式的區域性性原理。
CPU從主存取指令或資料,在一定時間內,只是對主存區域性地址區域訪問。
23、Cache命中率、平均訪問時間以及訪問效率的計算。
24、Cache寫操作有哪兩種方式?
1)寫直達法:寫操作既寫入Cache又寫入主存;
2)寫回法:只把資料寫入Cache而不寫入主存,當Cache中資料被替換出去之後才寫入主存。
25、將主存地址對映到Cache地址稱為地址對映,常見的Cache對映方式有哪幾種?
直接對映、全相聯對映、組相聯對映。
26、直接對映的優缺點?
優點:地址變換速度快。缺點:cache利用率不高,塊衝突率高;
27、全相聯對映的優缺點?
優點:cache利用率高,塊衝突率低。缺點:地址變換複雜,需要較多的硬體。
28、需要大家掌握各種對映方式之下,寫出主存地址格式、cache地址格式,以及主存地址向cache地址的轉換。
29、Cache常用的替換演算法有哪些?哪個命中率最高?
1)先進先出、近期最少使用演算法和隨機替換演算法;
2)命中率最高的是近期最少使用演算法;
30、磁碟的三地址結構包括哪些?
柱面、磁頭號和扇區號
---------------------------------------------------------------------------------------------------------
第五章 輸入輸出系統
1、I/O系統的發展大致可以分為哪4個階段?
1)早期(分散連線、序列工作、程式查詢)
2)介面模組和DMA階段(匯流排連線、並行工作、中斷及DMA)
3)通道階段(通道是具有特殊功能的處理器)
4)I/O處理機階段
I/O系統的發展實際上是逐步將CPU從繁重的I/O工作中解放出來的過程;
2、I/O裝置編址有哪兩種方式?各有什麼優缺點?
1)統一編址方式:和儲存器統一編址,I/O地址作為儲存器地址的一部分;無須用專用的I/O指令,但佔用儲存器空間。
2)獨立編址方式:和儲存地址分開編址,需用專用的I/O指令。
3、I/O裝置與主機的聯絡方式有哪幾種?
I/O裝置與主機間互動資訊時必須瞭解彼此的狀態。根據I/O裝置工作速度的不同,可以分為3類:
1)立即響應:不管其狀態(認為其時刻準備好),適用於慢速裝置。
2)應答訊號:通過應答訊號來進行互動;
3)同步時標:採用統一的時鐘訊號。
4、I/O匯流排包括哪四類?
資料線、裝置選擇線、狀態線、命令線
5、I/O裝置通常使用D觸發器(完成觸發器)和B觸發器(工作觸發器)來標識裝置所處的狀態。
D=0,B=0:暫停狀態;
D=0,B=1:準備狀態
D=1,B=0:就緒狀態
6、程式查詢的基本工作原理。
cpu不斷去查詢I/O裝置狀態,導致CPU和I/O裝置序列工作。
7、什麼是中斷?
計算機在執行程式過程中,當出現異常清空或特殊請求時,計算機停止現行程式的執行,轉去處理這些異常清空或特殊請求,處理結束後,再返回現行程式的間斷處,繼續執行原程式,即為中斷。
8、中斷服務程式的基本流程包括哪四部分?
1)保護現場
2)中斷服務
3)恢復現場
4)中斷返回
9、什麼是單重中斷和多重中斷?
1)單重中斷:不允許中斷現行的中斷服務程式;
2)多重中斷:允許級別更高的中斷源中斷現行的中斷服務程式,也稱為中斷巢狀;
10、CPU響應中斷的時機?
當前指令執行完畢後,cpu發出中斷查詢訊號,也就是說,中斷響應一定是在每條指令執行結束之後進行的,不可能在指令執行過程中響應中斷。
11、什麼是DMA?
DMA:直接記憶體訪問。在主存和I/O裝置之間建立獨立的匯流排連線。
12、在DMA方式中,由於DMA介面與CPU共享主存,可能會出現兩者爭用主存的衝突,為解決衝突,DMA和主存交換資料時,通常採用哪三種工作方式?
1)停止CPU訪問主存:DMA訪存優先順序高;
2)週期挪用(竊取):DMA挪用儲存或竊取匯流排使用權一個或幾個主存存取週期;
3)DMA和CPU交替訪問:將CPU工作週期分成兩部分,一部分供DMA訪存,一部分供CPU訪存。
13、DMA工作過程包括哪三部分?
1)預處理
2)資料傳輸
2)後處理
--------------------------------------------------------------------------------------------------------------------------------------
第六章 計算機的運算方法
1、掌握有符號數的原碼計算方法,以及通過原碼求真值;
2、掌握補碼計算的方法,以及通過補碼求原碼,然後求真值的方法。
1)通過原碼求補碼:符號位不變,各位取反,末位加1;
2)通過補碼求原碼:符號位不變,各位取反,末位加1;
3、原碼中0有2種表示方法(正零和負零),補碼中0只有一種表示方法(正零和負零的表示方法一致)
4、假設有符號數的位數為8(包括符號位),補碼能表示的真值的範圍?
補碼能表示的真值範圍為-128~+127(參見補碼定義)
5、掌握求反碼以及移碼的方法。
6、什麼是定點表示?什麼是浮點表示?
1)定點表示:小數點固定在某一位置的數為定點數;
2)浮點表示:小數點位置可以浮動的數。
7、浮點數在機器中的表示形式,由哪幾部分組成?
由尾數、數符、階碼、階符四部分組成。
8、掌握規格化浮點數的表示範圍(最大正數、最小正數、最大負數、最小負數)的計算方法。
9、IEEE754標準規定的浮點數由哪幾部分組成?
由數符、階碼(含階符)以及尾陣列成。
10、IEEE754標準規定的浮點數中,階碼和尾數用什麼形式表示?
階碼用移碼錶示,其偏移量是2^(n-1),尾數用原碼錶示。
11、float佔多少位?double佔多少位?
float為短實數,佔32位,其中階碼8位,尾數23位。
double為長實數,佔64位,其中階碼佔11位,尾數為52位。
12、對正數進行算術移位,當正數採用原始碼、補碼、反碼時,左移或右移時,低位或高位添補什麼程式碼?
對於正數,其原始碼、補碼、反碼均等於真值,左移時,低位添補0,右移時,高位添補0。
13、對負數進行算術移位,當負數採用原始碼、補碼、反碼時,左移或右移時,低位或高位添補什麼程式碼?
對於原始碼,左移或右移時,低位或高位均添補0;
對於補碼:左移時,低位添補0,右移時高位添補1
對於反碼:左移或右移時,低位或高位均添補1;
14、什麼是邏輯移位?
邏輯移位是對無符號數的移位,由於無符號數不存在符號位,左移時,高位移丟,低位補零。右移時,低位移丟,高位補零。
15、加法和減法時,什麼情況下可能發生溢位?如何簡單判斷髮生溢位?
1)正數加正數,正數減負數,負數加負數,負數減正數時,可能會發生溢位。
2)如果參加操作的兩個數符號相同(轉換成補碼的加法),其結果與源運算元符號不同,即為溢位。
3)如果補碼採用1位符號位,如果最高有效位的進位和符號位的進位不同,則發生溢位。
16、定點乘法運算可以使用加法和移位來實現嗎?
可以。
17、浮點加減運算基本按照哪幾步來進行?
1)對階:使小數點對齊;
2)尾數求和:將對階後的兩個尾數按照定點加減運算規則求和;
3)規格化:尾數規格化;
4)舍入:尾數右規時,丟失數值位;
5)溢位判斷:判斷結果是否溢位。
18、如何判斷浮點運算結果是否溢位?
階碼是否超出了其表示範圍。(使用2個符號位判溢位)
--------------------------------------------------------------------------------------------------------------------
第七章 指令系統
1、什麼是機器指令?什麼是指令系統?
1)機器指令:每一條機器語言的語句;
2)指令系統:全部機器指令的集合。
2、一條指令包含哪兩個主要部分?請簡要說明各部分作用。
1)操作碼:指明指令要完成的操作;
2)地址碼:指明指令要操作的資料或資料來源;
3、操作碼長度有固定長度和可變長度兩種,各自有什麼優點?
1)固定長度:便於硬體設計,指令譯碼時間短;
2)可變長度:壓縮了操作碼平均長度;
4、指令中地址碼中的地址可以是哪些裝置的地址?
可以是主存地址、暫存器地址或I/O裝置的地址;
5、指令中地址的個數可以有幾個?
四地址、三地址、二地址、一地址以及零地址。
6、假設指令中有四個地址、三個地址、兩個地址以及一個地址,各自需要訪存幾次?
1)四地址:訪存4次;
2)三地址:訪存4次;
3)兩地址:訪存3次;
4)一地址:訪存2次;
7、當使用暫存器代替指令字中的地址碼欄位後,有哪些優點?
1)擴大指令字的定址範圍;
2)縮短指令字長;
3)減少訪存次數
8、資料在儲存器中儲存時,為什麼要按照邊界對齊?
減少訪存次數。
9、定址方式包括哪兩類?
1)指令定址:下一條將要執行的指令的指令地址;
2)資料定址:確定本指令的運算元地址。
10、什麼是形式地址?什麼是有效地址?
1)形式地址:指令的地址碼欄位通常都不代表運算元的真實地址,成為形式地址,記為A;
2)有效地址:運算元的真實地址,記為EA,由定址特徵和形式地址共同決定;
11、瞭解各種定址方式的概念及根據形式地址形成有效地址的方式。
立即定址、直接定址、隱含定址、間接定址、暫存器定址、暫存器間接定址、基址定址(隱式或顯式)、變址定址、相對定址、堆疊定址
12、什麼是RISC?什麼是CISC?
RISC:精簡指令集;
CISC:複雜指令集;