计算机系统结构第二版习题答案,计算机系统结构课后习题答案(第2版).docx
習題一
1、解釋下列術語
計算機系統的外特性:通常所講的計算機系統結構的外特性是指機器語言程序員或編譯程序編寫者所看到的外特性,即由他們所看到的計算機的基本屬性(概念性結構和功能特性)。
計算機系統的內特性:計算機系統的設計人員所看到的基本屬性,本質上是為了將有關軟件人員的基本屬性加以邏輯實現的基本屬性。
模擬:模擬方法是指用軟件方法在一臺現有的計算機上實現另一臺計算機的指令系統。
可移植性:在新型號機出臺后,原來開發的軟件仍能繼續在升級換代的新型號機器上使用,這就要求軟件具有可兼容性,即可移植性。可兼容性是指一個軟件可不經修改或只需少量修改,便可由一臺機器移植到另一臺機器上運行,即同一軟件可應用于不同環境。
Amdahl定律:系統中對于某一部件采用某種更快的執行方式所能獲得的系統性能改進程度,取決于這種執行方式被使用的頻度或占總執行時間的比例。
虛擬機(Virtual Machine):指通過軟件模擬的具有完整硬件系統功能的、運行在一個完全隔離環境中的完整計算機系統。
6、
7、假定求浮點數平方根的操作在某臺機器上的一個基準測試程序中占總執行時間的20%,為了增強該操作的性能,可采用兩種不同的方法:一種是增加專門的硬件,可使求浮點數平方根操作的速度提高為原來的20倍;另一種方法是提高所有浮點運算指令的速度,使其為原來的2倍,而浮點運算指令的執行時間在總執行時間中占30%。試比較這兩種方法哪一種更好些。
答:增加硬件的方法的加速比Sp1=1.23, 另一種方法的加速比Sp2=
1.176,經計算可知Sp1=方法更好些。 Sp2>Sp2第一種
9、假設高速緩存Cache的工作速度為主存的5倍,且Cache被訪問命中的概率
T=為90%,則采用Cache能使整個存儲系統獲得多高的加速比? 答:
加速比
,其中tm=5tc,代入公式、得到加速比S=3.33。
11、Flynn分類法的依據是什么,它與按“并行級”和“流水級”的分類方法有什么不同?
答:Flynn分類法的依據是指令流和數據流多倍性概念進行分類的。而“并行級”和“流水級”的分類方法是根據子系統的并行程度及流水線處理程度進行分類的方法。
13、計算機系統按功能劃分,通常分為那幾個層次,這種劃分方法有什么意義? 答:計算機系統按功能可劃分成多層次結構,在傳統機器級上是操作系統級、匯編語言級、高級語言級和應用語言級,在下面的是微程序機器級以及擴展級電子線路。這種劃分方法的意義是:有助于理解各級語言的實質及實現,分層后,處在某一級虛擬機的程序員只需知道這一級的語言及虛擬機,至于這一級語言如何層次地經翻譯或解釋直到下面的實際機器級,則無需知道。
習題二
1、解釋下列術語
CPI
MIPS
MFLOPS
基準測試程序
性能算術平均值
性能幾何平均值
2、衡量計算機性能的主要標準是什么?為什么它是最可靠的衡量標準?
答:衡量計算機系統性能可采用各種尺度,最常用的是時間和速率,但最為可靠的衡量尺度是時間。例如響應時間、CPU時間等。由于系統CPU時間很難精確統計,誤差較大,故采用用戶CPU時間作為衡量時間比較妥當。但在衡量無負載系統時,采用響應時間比較合適。用時間來作為計算機的衡量標準直觀、準確,適用于各種情況的衡量,所以時間是最可靠的衡量標準。
3、
4、計算機持續性能的表示常用哪3種平均值表示?列出他們的公式,并比較它們的優缺點。
答:持續性能(Sustained Performance)的表示常用算術平均(Arithmetic Mean)、幾何平均(Geometric Mean)和調和平均(Harmonic Mean)3種平均值方法,其計算公式如下:
以上3個公式中Ri表示由n個程序組成的工作負荷中執行第i個程序的速率,Ti表示執行第i個程序所需的時間,這里Ri=1/Ti。
三種方法中Am計算最簡單,但不能精確地衡量性能。Gm運算量大,但它有一個良好的性能,即它的幾何平均比和比的幾何平均是相等的。在進行比較時是很方便的。Hm值是真正與運行所有典型測試程序所需時間總和成反比的,從時間是衡量性能唯一標準來看,用Hm值來衡量計算機系統性能是比較精確的。
習題三
1、解釋下列術語
帶標志符的數據:帶標志符數據表示(Tagged Data Representation)要求對每一個數據都附加標志符,由標志符來表示后邊數據所具有的類型。
數據描述符:數據描述符(Data Descriptors)主要是用來描述復雜和多維數據類型的,例如:向量、矩陣、記錄等。
2、
3、將下列數轉換成IEEE單精度浮點格式,以8位十六進制數表示。 (a)9
IEEE單精度浮點格式為0x41100000
(b)5/32
IEEE單精度浮點格式為0x3E200000
(c)-5/32
IEEE單精度浮點格式為0xBE200000
(d)6.125
IEEE單精度浮點格式為0x40C40000
4、
9、將下列的IEEE754單精度數由二進制數轉換成十進制數。
(1)1 1000 0011 1100 0000 0000 0000 0000 000
十進制數為: -7;
(2)0 0111 1110 1010 0000 0000 0000 0000 000
十進制數為:0.8125
(3)0 1000 0000 0000 0000 0000 0000 0000 000
十進制數為:1
10、
11、IEEE745浮點數標準中,為什么要設置非規格化數?
答:對于絕對值較小的數,為了避免下溢而損失精度,IEEE754標準允許采用比最小規格化數還要小的那些數,稱為非規格化數(Denormal Number)來表示,這是因為使用非規格化數后,就可以表示那些處于0和最小可表示的規格化數之間的數。
習題四
1、解釋下列術語
RISC
CISC
裝載延遲
低端排序
高端排序
延遲轉移技術
重疊窗口技術
4、某計算機有10條指令,它們的使用頻率分別為:
0.3、0.24、0.16、0.12、0.07、0.04、0.03、0.02、0.01、0.01
若用霍夫曼編碼對它們的操作碼進行編碼,其操作碼的平均碼長
其平均編碼長度
=7*0.01+7*0.01+6*0.02+5*0.03+4*0.04+3*0.07+2*0.24+3*0.12+3*0.16+2*0.3=2.7
5、
6、某模型機有8條指令,使用頻率分別為:
0.3、0.3、0.2、0.1、0.05、0.02、0.02、0.01
試分別用霍夫曼編碼和擴展碼對其操作碼進行編碼,限定擴展編碼只有兩種長度,則它們的平均編碼長度各比定長操作碼的平均編碼長度減少多少? 答:編碼如下表:
用霍夫曼編碼要比定長編碼平均長度減少0.62,用霍夫曼擴展編碼要比定長編碼平均長度減少0.4。
7、
8、試敘述比較-轉移指令的功能特點,為什么在有的
RISC機中要設
置這樣的指令?
答:將比較指令和轉移指令合成一條指令后,該指令將直接對兩個對象進行相等或不等的比較,然后根據比較結果判別是否執行轉移,這樣就可以省去一條指令,且不用受條件碼的約束。所以許多典型的RISC機中都采用這樣的復合指令。
習題五
1、解釋下列術語:
超長指令字機:(VLIW:Very Long Instruction Word)以一條長指令(或一組指令形式)來實現每個時鐘周期發動多個操作的并行執行,以減少對存儲器的訪問。 超標量機:借助對硬件資源重復設置來實現空間的并行操作。
超級流水機:通過提高流水線的運行速度來增強機器的性能,加深流水深度。
2、
3、假設一條指令的解釋分為取指、分析和執行3個階段,每個階段所需的時間為t取指、t分析、和t執行。
寫出用下列幾種方式執行100條指令所需的時間通式:
6、
7、比較阻塞、交叉和同時多線程三者各自的優缺點。
答:在阻塞多線程超標量處理器中,長的阻塞可借助切換到另一線程而得到部分
隱藏。雖然這種方式在每個時鐘周期能減少完全閑置的時鐘周期的數目,但由于有限的指令級并行性仍將導致閑置周期。
對于交叉多線程的超標量處理器,由于各線程的交叉運行,從而可消除完全空閑的指令發射槽。但因為在指定的時鐘周期中,僅有一個線程發射指令,所以悠閑地指令級并行性仍將導致在各個時鐘周期內會有一定數量的閑置發射槽。
在同時多線程的超標量處理器中,線程級并行性和指令級并行性被同時開發,因此在單個時鐘周期中,各個指令發射槽可被多個線程使用。在理想情況下,指令發射槽的閑置數主要受多線程間所需的資源及可用資源間的不平衡約束。
習題六
1、解釋下列術語:
向量流水處理:允許流水線具有較深的流水深度,每條指令相當于一個標量循環,可以交叉訪問的處理結構。
屏蔽向量:通過向量測試得到的,采用屏蔽控制技術來控制那些向量元素參加運算,使循環能夠向量化。
半性能向量長度:為達到向量流水線最大性能值一半時所需要的向量長度。
2、
3、
4、向量的加工方法有哪幾種,各有什么特點?試從加工速度、需用中間變量等方面加以比較。
答:向量的加工方法有三種:(1)橫向加工(2)垂直加工(3)縱橫向加工或稱為分組加工。
橫向加工用到一個暫存單元,出現N次相關和2N次功能轉換。
垂直加工一次相關一次切換,但要一個中間暫存向量。
橫向加工各組有一次數據相關,2次切換,n個中間向量寄存器單元。
習題七
1、解釋下列術語:
直接映射
全相聯映射
組相聯映射
虛擬存儲器 全寫法 寫回法 SAN 2、 3、 4、 5、 1、 2、 4、 5、 6、 10
習題八
展開閱讀全文
總結
以上是生活随笔為你收集整理的计算机系统结构第二版习题答案,计算机系统结构课后习题答案(第2版).docx的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows10自带Ubuntu更换U
- 下一篇: Swift语法学习--数组