舉例說明計算機系統結構、計算機組成與計算機實現之間的關系。
解:
(1)如在設計主存系統時,確定主存容量、編制方式、尋址范圍等屬於計算機系統結構;
確定主存周期,邏輯上是否采用並行主存,邏輯設計等屬於計算機組成;
選擇存儲器芯片類型、微組裝技術、線路設計等屬於計算機實現。
(2)計算機系統結構是計算機系統的軟、硬件的界面,即機器語言程序員所看到的傳統機器級所具有的屬性。
計算機組成是計算機系統結構的邏輯實現包含物理機器級中的數據流和控制流的組成以及邏輯設計等。
計算機實現是計算機組成的物理實現,一種體系結構可以有多種組成,一種組成可以有多種實現。
2.計算機系統“從中間開始設計”方法中的“中間”指的是什么地方?這樣設計的好處是什么?
解:
(1)“中間”是指層次結構中的軟硬件的交界面,目前一般是在傳統機器語言級與操作系統機器級之間。
(2)好處:軟件和硬件並行設計可以縮短設計周期,設計過程中可以交流協調,是一種交互式的很好的設計方法。
3.某台主頻為400MHz的計算機執行標准測試程序,程序中指令類型、執行數量和平均時鍾周期數如下:
指令類型 | 指令執行數量 | 平均時鍾周期數 |
整數 | 45000 | 1 |
數據傳送 | 75000 | 2 |
浮點 | 8000 | 4 |
分支 | 1500 | 2 |
求該計算機的有效CPI、MIPS和程序執行時間。
解:
所以,CPI=(45000*1+75000*2+8000*4+1500*2)/(45000+75000+8000+1500)=1.776
(2)MIPS即每秒處理的百萬級的機器語言指令數,MIPS=f/CPI,則MIPS=400/1.776=225.225
(3)程序執行時間即CPU執行時間,而CPU時間 = 執行程序所需的時鍾周期數×時鍾周期時間,在這里執行程序所需的時鍾周期數=∑i=1n(CPIi×ICi),時鍾周期=1/f;
所以時間t=(45000*1+75000*2+8000*4+1500*2)*(1/400)=575ms
4.已知4個程序在3台計算機上的執行時間如下表所示:
程序 | 執行時間(秒) | ||
計算機A | 計算機B | 計算機C | |
程序1 | 1 | 10 | 20 |
程序2 | 1000 | 100 | 20 |
程序3 | 500 | 1000 | 50 |
程序4 | 100 | 800 | 100 |
假設4個程序都執行100 000 000條指令,計算着3台計算機中每台機器上每個程序的MIPS速率,分別計算它們的算術平均值、幾何平均值和調和平均值。
解:在這里用到的公式有:
因此:
程序 | MIPS速率(百萬條指令/秒) | ||
A | B | C | |
程序1 | 100 | 10 | 5 |
程序2 | 0.1 | 1 | 5 |
程序3 | 0.2 | 0.1 | 2 |
程序4 | 1 | 0.125 | 1 |
故:
程序 | MIPS速率 | ||
A | B | C | |
算術平均值 | 25.3 | 2.81 | 3.25 |
幾何平均值 | 1.19 | 0.59 | 2.66 |
調和平均值 | 0.25 | 0.20 | 2.1 |
5.將計算機系統中某一功能的處理速度加快20倍,但該功能的處理時間僅占整個系統運行時間的40%,則采用改進方法后,能使整個系統的性能提高多少?
解:
可改進比為40%=0.4,部件加速比為:20
因此,由Amdahl定律(系統加速比Sn=T0/Tn=1/((1-Fe)+Fe/Se),其中:Fe為可改進比例,Se為部件加速比)知:
Sn=1/((1-0.4)+0.4/20)=1.6129
6.計算機系統有3個部件可以改進,這3個部件的加速比如下:部件加速比S1=30;部件加速比S2=20;部件加速比S3=10。
(1)如果部件1和部件2的可改進比例都為30%,那么當部件3的可改進比例為多少時,系統的加速比才可以達到10%?
(2)如果3個部件的可改進比例分別為30%、30%、20%,3個部件同時改進,那么系統中不可改進部分的執行時間在總執行時間中占的比例是多少?
解:
(1)由多部件可改進情況下,Amdahl定律的擴展:Sn=1/((1-∑Fi)+∑(Fi/Si))
知:10=1/((1-0.3-0.3-F3)+(0.3/30+0.3/20+F3/10))得到:F3=0.36
故第三部件可改進比為36%。
(2)設系統改進前執行時間為T,則3個不僅的執行時間是(0.3+0.3+0.2)T=0.8T,則不改進部分執行時間為0.2T。
已知3個部件改進后的速度比分別為:30、20、10,因此3個部件改進后的執行時間為:T'=0.3T/30+0.3T/20+0.2T/10=0.045T
則改進后整個系統的執行時間為Tn=0.045T+0.2T=0.245T。
則系統不可改進部分的執行時間占總執行時間的比例為:0.2T/0.245T=82%,即占到82%。
7.假設浮點數指令FP指令的比例為30%,其中浮點數平方根FPSQR占全部指令的比例為4%,FP操作的CPI為5,FPSQR操作的CPI為20,其他指令的平均CPI為1.25.現有兩種改進方案,第
一種是把FPSQR操作的CPI減至3,第二種是把所有的FP操作的CPI減至3,試比較兩種方案對系統性能的提高程度。
解:
改進之前,系統指令平均始終周期CPI為CPI=∑(CPIi*(Ii/IC))=(5*30%)+(1.25*70%)=2.375.
如果采用A方案:FPSQR操作的CPI減至3,則整個系統的平均時鍾周期數為:
CPIA=CPI-(CPIFPSQR-CPI'FPSQR)*4%=2.375-(20-3)*4%=1.695
如果采用B方案:把所有的FP操作的CPI減至3,則整個系統的平均時鍾周期數為:
CPIB=CPI-(CPIFP-CPI'FP)*4%=2.375-(5-3)*30%=1.775
從降低整個系統的指令平均時鍾周期數的程度來看,方案A要優於B。
另外,分別計算兩種方案的加速比:(SA=改進秦CPU的執行時間/A的CPU執行時間=(IC*時鍾周期*CPI)/(IC*時鍾周期*CPIA)=CPI/CPIA)
SA=2.375/1.695=1.4
SB=2.375/1.775=1.34
由此也可知,方案A優於方案B。