破解计算机组成原理
特別聲明:雖然劃分了可能考試的題型,但是填空題考成論述題,計算題考成論述題都有可能。
填空題
最大正數:22m?1×(1?2?n)2^{2^m-1}×(1-2^{-n})22m?1×(1?2?n),
最小正數:2?(2m?1)×2?n2^{-(2^m-1)}×2^{-n}2?(2m?1)×2?n,
最大負數:?2?(2m?1)×2?n-2^{-(2^m-1)}×2^{-n}?2?(2m?1)×2?n,
最小負數:?22m?1×(1?2?n)-2^{2^m-1}×(1-2^{-n})?22m?1×(1?2?n)。
例如m=4,n=10,
最大正數:21111×0.1111111112^{1111}×0.11111111121111×0.111111111,
最小正數:2?1111×0.10000000002^{-1111}×0.10000000002?1111×0.1000000000,
最大負數:?2?1111×0.1000000000-2^{-1111}×0.1000000000?2?1111×0.1000000000,
最小負數:?21111×0.1111111111-2^{1111}×0.1111111111?21111×0.1111111111。
論述題
虛擬機器M4(高級語言機器):用編譯程序翻譯成匯編語言程序。
虛擬機器M3(匯編語言機器):用匯編語言翻譯成機器語言程序。
虛擬機器M2(操作系統機器):用機器語言解釋操作系統。
虛擬機器M1(機器語言機器):用微程序解釋機器指令。
虛擬機器M0(微指令系統):由硬件直接執行微指令。
- 計算機由運算器,存儲器,控制器,輸入設備和輸出設備五大部件組成。
- 指令和數據以同等的地位存放于存儲器內,并可按地址尋訪。
- 指令和數據均用二進制數表示。
- 指令由操作碼和地址碼組成,操作碼用來表示操作的性質,地址碼用來表示操作數在存儲器中的位置。
- 指令在存儲器內按順序存放。通常,指令是順序執行的,在特定條件下,可根據運算結果或根據設定的條件改變執行順序。
- 機器以運算器為中心,輸入輸出設備與存儲器間的數據傳送通過運算器完成。
- 運算器用來完成算術運算和邏輯運算,并將運算的中間結果暫存在運算器內。
- 存儲器用來存放數據和程序。
- 控制器用來控制,指揮程序和數據的輸入,運行以及處理運算結果。
- 輸入設備用來將人們熟悉的信息形式轉換為機器能識別的信息形式。
- 輸出設備可將機器運算結果轉換為人們熟悉的信息格式。
- 五大部件的分散連接和總線連接滿足隨時增減設備的需要。
- 總線是連接多個部件的公共信息傳輸線,是各個部件共享的傳輸介質。在某一時刻,只允許有一個部件向總線發送信息,而多個部件可以同時從總線上接受相同的信息。
- 總線是多個部件共享的公共信息傳輸線,連接著多個部件,但每一時刻只能有一個部件向總線發送信息,如何避免發送沖突,給信息傳送定時,防止信息丟失,需要總線控制器統一管理。
- 總線控制包括判優控制和通信控制。
- 總線判優控制:如果多個主設備要同時使用總線,就由總線判優器的判優邏輯按照一定的優先等級順序確定哪個主設備能使用總線。
- 總線判優控制可分集中式和分布式兩種。前者將控制邏輯集中在一處(如CPU),后者將控制邏輯分散在與總線連接的各個部件或設備上。常見的集中控制優先仲裁方式有三種:鏈式查詢,計數器定時查詢和獨立請求方式。
- 鏈式查詢方式的特點:只需要3根控制線,就能按照一定的優先級次序實現總線控制;容易擴充設備;對電路故障敏感;優先級固定,優先級低的設備難以獲得請求。
- 計數器定時查詢的特點:優先級有多種可能:固定—計數每次從0開始;循環—每次計數從上一次計數的終點開始;可變—計數器初值由程序設定。對電路故障不敏感;增加了控制線數量,需要log2nlog_2nlog2?n根地址線,n為設備數量 ;控制更為復雜。
- 獨立請求方式特點:響應速度快,因為BG信號是一對一的;優先級次序控制靈活(可程序控制);增加了控制線數量(2n根),控制比較復雜。
- 總線通信控制:總線上存在多個主設備時,在通信時間的分配方面,各設備按照獲得總線使用權的先后順序分時占用總線,輪流交替傳輸信息。
- 總線周期就是完成一次總線操作所用的時間,可以分為以下四個階段:申請分配階段(主模塊申請。總線仲裁決定),尋址階段(主模塊向從模塊給出地址和命令),傳數階段(主模塊和從模塊交換數據),結束階段(主模塊撤銷有關信息)。
- 總線通信控制是指通信雙方如何獲知傳輸開始和傳輸結束,以及通信雙方如何協調如何配合。
- 總線通信的四種方式:同步通信(由統一時標控制數據傳送),異步通信(采用應答方式,沒有公共時鐘標準),半同步通信(同步,異步結合),分離式通信(充分挖掘系統總線每個瞬間的潛力)。
- 同步通信的特點:同步通信對在每個時鐘周期要完成什么動作有明確規定;主從模塊時間配合屬于強制性同步;對于速度不同的部件而言,必須根據最慢速度的部件設計公共時鐘,影響總線工作效率;適用于總線長度較短,各部件存取時間一致的場合。
- 異步通信的特點:異步通信沒有公共的時鐘標準,不要求所有部件嚴格的統一操作時間,因此允許各模塊速度不一致;采用應答方式(握手方式):主模塊發出請求信號時,一直等待從模塊反饋回響應信號,才開始通信;異步通信的應答方式:不互鎖、半互鎖、全互鎖。
- 半同步通信的特點:同步:發送方 用系統 時鐘前沿發信號;接收方 用系統 時鐘后沿 判斷、識別;異步:允許不同速度的模塊和諧工作; 增加一條 “等待”響應信號WAIT?^-?;等待慢速設備時,采用插入時鐘周期的措施協調通信雙方的配合。
- 分離式通信的特點:各模塊有權申請占用總線;采用同步方式通信,不等對方應答;各模塊準備數據時,不占用總線;總線被占用時,無空閑等待時間;充分提高了總線的有效占用效率。
- 存儲系統層次結構主要體現在緩存-主存和主存-輔存這兩個存儲層次上。
- 緩存-主存層次主要解決CPU和主存速度不匹配的問題。
- 主存-輔存層次主要解決存儲系統的容量問題。
- CPU響應中斷的條件和時間:CPU響應I/O設備提出中斷請求的條件是必須滿足CPU中允許中斷觸發器EINT為“1”。I/O設備準備就緒的時間(即D=1)是隨機的,而CPU是在統一的時刻(每條指令執行階段結束前)向接口發中斷查詢信號,以獲取I/O的中斷請求。因此CPU響應中斷的時間一定是在每條指令執行階段的結束時刻。
- 一次中斷處理的完整過程包括如下階段:中斷請求,中斷判優,中斷響應,中斷服務,中斷返回。
- 中斷服務程序最后一條指令是一條中斷返回指令,用于從中斷服務程序返回原程序斷點。
- 中斷服務程序的流程:保護現場(程序斷點地址的保護:由中斷隱指令完成;寄存器內容的保護:由進棧指令完成或者寫入存儲器),中斷服務(對不同的I/O設備具有不同內容的設備服務),恢復現場(出棧或者取數指令),中斷返回(中斷返回指令,返回到原程序斷點處,繼續執行原程序)。
- 多重中斷嵌套前提:只有優先級更高的新中斷才能中斷當前中斷服務程序,且只有在EINT=1時才可以。
- 單重中斷和多重中斷在中斷服務程序流程方面存在區別:開中斷的時刻不同。(多重中斷在保護現場之后開中斷,單重中斷在中斷返回時開中斷)。
- 操作碼長度固定的優劣:譯碼時間短,便于硬件設計;降低了指令位數使用效率(指令操作數個數變化會導致空出一些位,卻沒有利用),導致指令較長。
- 操作碼長度可變的優劣:可以有效壓縮操作碼的平均長度;但增加指令譯碼、分析的難度,控制器設計復雜。
- 采用擴展操作碼技術,使得操作碼長度隨地址數的減少而增加,不同地址數的指令可以具有不同長度的操作碼,從而在滿足要求的前提下,有效縮短指令字長。
- RISC 的主要特征:選用使用頻度較高的一些簡單指令,復雜指令的功能由簡單指令來組合; 指令長度固定、指令格式種類少、尋址方式少;只有LOAD / STORE指令訪存;CPU中有多個通用寄存器;采用流水技術一個時鐘周期內完成一條指令;采用組合邏輯實現控制器,采用優化的編譯程序 。
- CISC 的主要特征:系統指令復雜龐大,各種指令使用頻度相差大; 指令長度不固定、指令格式種類多、尋址方式多;訪存指令不受限制;CPU中設有專用寄存器;大多數指令需要多個時鐘周期執行完畢; 采用微程序控制器; 難以用優化編譯生成高效的目的代碼。
- RISC和CISC 的比較:RISC更能充分利用 VLSI芯片的面積;RISC 更能提高計算機運算速度:指令數、指令格式、尋址方式少,通用寄存器多,采用組合邏輯 ,便于實現指令流水;RISC便于設計,可降低成本,提高可靠性;RISC有利于編譯程序代碼優化 ;RISC不易實現指令系統兼容。
- 中斷響應:響應中斷的條件:允許中斷觸發器EINT = 1;響應中斷的時間:指令執行周期結束時刻由CPU 發查詢信號;中斷隱指令:保護程序斷點,尋找服務程序入口地址,硬件關中斷。
- 保護現場——置屏蔽字——開中斷——中斷服務——關中斷——恢復現場——恢復屏蔽字——中斷返回。
- 保護現場應該包括保護程序斷點和保護CPU內部各寄存器內容的現場兩個方面。
- 恢復現場是指在中斷返回前,必須將寄存器的內容恢復到中斷處理前的狀態。
- 在中斷服務程序中設置適當的屏蔽字,能起到對優先級別不同的中斷源的屏蔽作用。
- 只有中斷觸發器EINT = 1時,才可以響應中斷。
- 采用微程序設計方法設計控制單元的過程就是編寫每一條機器指令對應的微程序。
- 任何一條機器指令的取指周期的操作都是一樣的,因此把取指令操作的命令統一編成一個微程序。間址周期、中斷周期也是如此。
- 控制存儲器中微程序的個數應為機器指令數再加上對應取指、間址尋址和中斷周期的3個微程序。
計算題
異步串行傳輸系統
**考試題型:**求總線帶寬,比特率或波特率。
預測可能考試指數:★★★
需要注意:
- 總線帶寬=總線頻率×總線寬度/8。
- 波特率:單位時間內傳送的二進制數據的位數,單位:bps(位/秒)。
- 比特率:異步串行通信單位時間內傳送的二進制有效數據的位數,單位: bps(位/秒)。
存儲器與CPU的連接
**考試題型:**給定CPU的地址線數目,數據線數目,一系列存儲芯片和主存地址分配要求。選定存儲芯片連接到CPU的地址線,數據線,訪存控制信號和讀/寫控制信號。
預測可能考試指數:★★★★★
需要注意:
- 存儲芯片位擴展增加存儲字長,連入相同的地址線,分別連入不同的數據線,片選信號和讀寫信號相連。
- 存儲芯片字擴展增加存儲器字的數量,連入相同的數據線的地位地址線,高位地址線連接片選信號,讀寫信號相連。
- 系統程序區選擇ROM,用戶工作區和系統工作區選擇RAM。
- ROM的讀寫信號應接地。
- CPU高位地址線和訪存控制信號經譯碼器連接到片選信號(注意譯碼器控制端應為有效電平)。
解題步驟:
- 由主存的地址線數目寫出所有的地址二進制碼,并根據分配要求分配地址。
- 選取存儲芯片和擴展方式。
- 連接數據線,地址線,片選信號,讀寫信號。
Cache——主存地址映射
**考試題型:**給定主存容量,Cache容量,塊長和字大小,根據不同的映射方式設計主存地址格式。
預測可能考試指數:★★★★
需要注意:
- 分清字,位,和字節及其轉換關系。
- 看清題中給出的尋址方式,按字尋址或按字節尋址,默認為按字節尋址。
解題步驟:
以按字節尋址為例:
- 計算主存2m2^m2m字節,Cache2c2^c2c字節,塊長2i2^i2i字節。
- 直接映射方式:
- 主存字塊標記|Cache字塊地址|字塊內地址:m?c?i∣c?i∣im-c-i|c-i|im?c?i∣c?i∣i
- 全相聯映射方式:
- 主存字塊標記|字塊內地址:m?i∣im-i|im?i∣i
- 二路組相聯映射方式:
- 主存字塊標記|組地址|字塊內地址:m?c?i+1∣c?i?1∣im-c-i+1|c-i-1|im?c?i+1∣c?i?1∣i
- 四路組相聯映射方式:
- 主存字塊標記|組地址|字塊內地址:m?c?i+2∣c?i?2∣im-c-i+2|c-i-2|im?c?i+2∣c?i?2∣i
**考試題型:**計算Cache的命中率和Cache-主存系統的效率。
預測可能考試指數:★★★★
需要注意:
- Cache的命中率:h=NcNc+Nm\LARGE h=\frac{N_c}{N_c+N_m}h=Nc?+Nm?Nc??,NcN_cNc?為訪問Cache總命中次數,NmN_mNm?為訪問主存次數。
- Cache-主存系統的效率:e=訪問Cache的時間平均訪問時間\LARGE e=\frac{訪問Cache的時間}{平均訪問時間}e=平均訪問時間訪問Cache的時間?。
- 如果需要訪問的字塊已經在Cache中,則不需要再訪問主存。
定點運算
**考試題型:**進行定點數的移位,加減運算。
預測可能考試指數:★★★
需要注意:
- 正數移位補0,負數原碼補0,反碼補1,補碼左移補0,右移補1。
- 補碼定點加減溢出:(一位符號位)操作數符號相同,與運算結果的符號不同;(兩位符號位)兩位符號位不同,高位永遠代表真正的符號。
解題步驟:
- 轉化為補碼。
- 運算。
- 判斷溢出。
浮點運算
**考試題型:**進行浮點數的加減運算。
預測可能考試指數:★★★★★
需要注意:
- 浮點數表示:階符,階碼;數符.尾數。
- 對階時,小階的尾數右移轉化為大階。
- 規格化時:符號位與尾數第一位相同,表示尾數太小,需要左移尾數,同時階碼減少;兩位符號位不相同時,表示尾數太大,需要右移尾數,同時階碼變大。
- 舍入原則:0舍1入法;恒置1法。
- 溢出判斷:標準化之后若階符為01,需作溢出處理。
解題步驟:
- 對階。
- 尾數計算。
- 規格化。
- 舍入。
- 溢出判斷。
指令格式
**考試題型:**由指令字長,操作碼和地址碼位數,進行零地址,一地址,二地址和三地址的指令個數的計算。
預測可能考試指數:★★★
需要注意:
- 采用操作碼固定還是擴展操作碼技術。
- 固定操作碼時,所有的指令個數之和為操作碼位數。
- 擴展操作碼技術時,一地址的指令個數是二地址剩下的指令個數的操作碼之差位數倍。
尋址方式
**考試題型:**根據主存容量和操作數目進行地址指令格式相關的計算。
預測可能考試指數:★★★★★
需要注意:
- 操作碼|尋址特征|形式地址。
- 注意指令取單字長還是雙字長。
- 一次間接尋址的尋址范圍是字長,多次間接尋址的尋址范圍是字長減一。
- 立即數尋址指令執行最快,多次間接尋址方式速度最慢,變址尋址便于解決數組問題,相對尋址的最大特點是轉移地址不固定,便于程序浮動。
- 如果要求尋址所有存儲字,可以嘗試采用雙字長指令或間接尋址。
解題步驟:
- 根據尋址方式確定尋址特征的位數。
- 根據操作數目確定操作碼位數。
- 剩下的為形式地址位數。
**考試題型:**相對尋址的轉移指令占三字節,求第二三字節的機器代碼。
預測可能考試指數:★★★
需要注意:
- 采用以低字節地址為字地址還是高字節地址為字地址。
解題步驟:
- PC當前值為n,該指令取出后PC值為n+3,要求轉移到m,即相對位移量為m-n-3,轉換為補碼。若以低字節地址為字地址,則第二字節為補碼,第三字節為00H或FFH 。
多級時序系統
考試題型: CPU主頻,機器周期,時鐘周期,指令周期和平均指令執行速度之間的運算。
預測可能考試指數:★★★★★
需要注意:
- CPU主頻×時鐘周期=1。
- 指令周期×平均指令速度=1。
- 主頻單位為Hz,平均指令速度單位為IPS。
- 一個機器周期含多個時鐘周期。
- 一個指令周期含多個機器周期。
- 結論:機器的速度不僅與主頻有關,還與機器周期中所含的時鐘周期數以及指令周期中所含的機器周期數有關。同樣主頻的機器,由于機器周期所含時鐘周期數不同,運行速度也不同。機器周期所含時鐘周期數少的機器,速度更快。。
微指令序列地址的形成
**考試題型:**設置微指令的編碼方式。
預測可能考試指數:★★★★★
需要注意:
- 操作控制|下地址。
- 直接編碼方式:每一位代表一個微操作命令,速度快,但是控存容量大。
- 字段直接編碼方式:將微操作的操作控制字段分成若干段,將一組互斥的微操作命令放在一個字段內,通過對這個字段譯碼,便可對應每一個微命令。
- 分支轉移:操縱控制字段|轉移方式|轉移地址。
- 若微程序可在整個控存空間實現轉移:下地址×微指令字長=控制存儲器容量。
解題步驟:
- 直接編碼方式:微指令數目為操作控制位數。
- 字段直接編碼方式:由互斥的微命令的位數相加得到操作控制位數。
- 分支轉移:由互斥的可判定的外部條件得轉移方式位數。
- 剩下的為下地址位數。
總結
- 上一篇: oracle siebel crm 8.
- 下一篇: IDEA清除Local History