計(jì)算機(jī)組成原理期末復(fù)習(xí)資料
計(jì)算機(jī)組成原理
一、縮寫詞解釋
CPU:中央處理器 ??
ALU:算術(shù)邏輯單元 ??
I/O:輸入輸出接口 ??
RAM:隨機(jī)存儲(chǔ)器 ?
SRAM:靜態(tài)隨機(jī)訪問存儲(chǔ)器??
DRAM:動(dòng)態(tài)隨機(jī)訪問存儲(chǔ)器???
ROM:只讀存儲(chǔ)器 ?
PROM:用戶可編程的只讀存儲(chǔ)器 ?
EPROM:紫外線可擦除可編程只讀存儲(chǔ)器 ???
FLASH:閃速存儲(chǔ)器 ?
EEPROM:用電可擦除可編程只讀存儲(chǔ)器 ?
ISA:工業(yè)標(biāo)準(zhǔn)總線 ?
EISA:擴(kuò)展工業(yè)標(biāo)準(zhǔn)總線 ??
PCI:外圍部件互連總線 ?
USB:通用串行總線 ?
RS—232C:串行通信總線
Cache:高速緩存 ??
FIFO:先進(jìn)先出算法 ?
LRU:近期最少使用算法 ?
CRC:循環(huán)冗余校驗(yàn)碼
A/D:模擬/數(shù)字轉(zhuǎn)換器 ?
D/A:數(shù)字/模擬轉(zhuǎn)換器 ?
DMA:直接存儲(chǔ)器存取方式 ??
DMAC:直接內(nèi)存訪問控制器 ?
LED:發(fā)光二極管 ?
FA:全加器 ?
OP:操作碼
CISC:復(fù)雜指令系位計(jì)算機(jī) ?
RISC:精簡指令系位計(jì)算機(jī) ?
VLSI:超大規(guī)模集成電路 ?
LSI:大規(guī)模集成電路
MAR:存儲(chǔ)器地址寄存器 ?
MDR:存儲(chǔ)器數(shù)據(jù)寄存器
CU:控制單元
CM:控制存儲(chǔ)器
二、選擇題(自己看書吧····)
三、名詞解釋
1.計(jì)算機(jī)系統(tǒng):由硬件和軟件兩大部分組成,有多種層次結(jié)構(gòu)。
2.主機(jī):CPU、存儲(chǔ)器和輸入輸出接口合起來構(gòu)成計(jì)算機(jī)的主機(jī)。
3.主存:用于存放正在訪問的信息
4.輔存:用于存放暫時(shí)不用的信息。
5.高速緩存:用于存放正在訪問信息的付本。
6.中央處理器:是計(jì)算機(jī)的核心部件,由運(yùn)算器和控制器構(gòu)成。
7.硬件:是指計(jì)算機(jī)實(shí)體部分,它由看得見摸得著的各種電子元器件,各類光、電、機(jī)設(shè)備的實(shí)物組成。
軟件:指看不見摸不著,由人們事先編制的具有各類特殊功能的程序組成。
8.系統(tǒng)軟件:又稱系統(tǒng)程序,主要用來管理整個(gè)計(jì)算機(jī)系統(tǒng),監(jiān)視服務(wù),使系統(tǒng)資源得到合理調(diào)度,高效運(yùn)行。
??應(yīng)用軟件:又稱應(yīng)用程序,它是用戶根據(jù)任務(wù)需要所編制的各種程序。
9.源程序:通常由用戶用各種編程語言編寫的程序。
??目的程序:由計(jì)算機(jī)將其翻譯機(jī)器能識別的機(jī)器語言程序。
10.總線:是連接多個(gè)部件的信息傳輸線,是各部件共享的傳輸介質(zhì)。
11.系統(tǒng)總線:是指CPU、主存、I/O設(shè)備(通過I/O接口)各大部件之間的信息傳輸線。
???通信總線:是指用于計(jì)算機(jī)系統(tǒng)之間或者計(jì)算機(jī)系統(tǒng)與其他系統(tǒng)(如控制儀表、移動(dòng)通信)之間的通信的線路。
????按傳送方式分并行和串行。串行通信是指數(shù)據(jù)在單條1位寬的傳輸線上,一位一位的按順序分時(shí)傳送。并行通信是指數(shù)據(jù)在多條并行1位寬的傳輸線上,同時(shí)由源傳送到目的地。
12.帶寬:單位時(shí)間內(nèi)可以傳送的最大的信息量。
13.機(jī)器字長:是指CPU一次并行處理數(shù)據(jù)的位數(shù),通常與CPU的寄存器位數(shù)有關(guān)。
14.主存容量:是指主存中存放二進(jìn)制代碼的總位數(shù)。
15.機(jī)器數(shù):符號位數(shù)字化,0代表正數(shù),1代表負(fù)數(shù)。
16.定點(diǎn)數(shù):小數(shù)點(diǎn)固定在某一位位置的數(shù)。
17.浮點(diǎn)數(shù):小數(shù)點(diǎn)的位置可以浮動(dòng)的數(shù)。
18.補(bǔ)碼:帶符號數(shù)據(jù)表示方法之一,正數(shù)的反碼和原碼相同,負(fù)數(shù)的反碼是將二進(jìn)制按位取反后在最低位再加1.
19.溢出:在計(jì)算機(jī)中,超出機(jī)器字長,發(fā)生錯(cuò)誤的結(jié)果。
20.非編碼鍵盤:采用軟件判斷鍵是否按下及設(shè)鍵、譯鍵、計(jì)算鍵值的方法的鍵盤。
21.A/D轉(zhuǎn)換器:它能將模擬量轉(zhuǎn)換成數(shù)字量,是計(jì)算機(jī)的輸入設(shè)備。
22.I/O接口:指主機(jī)與I/O設(shè)備之間設(shè)置的一個(gè)硬件電路及器相應(yīng)的軟件控制。
23.端口:指接口電路中的一些寄存器,用來存放數(shù)據(jù)信息、控制信息和狀態(tài)信息。
24.中斷:計(jì)算機(jī)在執(zhí)行程序的過程中,當(dāng)出現(xiàn)異常情況或特殊請求時(shí),計(jì)算機(jī)停止現(xiàn)行程序的運(yùn)行轉(zhuǎn)向?qū)@些異常情況或特殊請求處理,處理結(jié)束后再返回到現(xiàn)行程序的間斷處,繼續(xù)執(zhí)行源程序。
25.中斷源:凡能向CPU提出中斷請求的各種因素統(tǒng)稱為中斷源。
26.中斷嵌套:計(jì)算機(jī)在處理中斷的過程中,有可能出現(xiàn)新的中斷請求,此時(shí)CPU暫?,F(xiàn)行中斷服務(wù)程序,轉(zhuǎn)向新的中斷請求,這種現(xiàn)象稱為中斷嵌套。
27.優(yōu)先級:為使系統(tǒng)能及時(shí)響應(yīng)并處理發(fā)生的所有中斷,系統(tǒng)根據(jù)引起中斷事件的重要性和緊迫程度,硬件將中斷源分為若干個(gè)級別。
28.DMA方式:用硬件在主存與外設(shè)之間直接進(jìn)行數(shù)據(jù)傳送,不須CPU,用軟件控制。
29.指令系統(tǒng):將全部機(jī)器指令的集合稱為機(jī)器的指令系統(tǒng)。
30.尋址方式:是指確定本條指令的數(shù)據(jù)地址以及下一條將要執(zhí)行的指令地址的方法,它與硬件結(jié)構(gòu)緊密相關(guān),而且直接影響指令格式和指令功能。
31.指令周期:完成一條指令的時(shí)間,由若干機(jī)器周期組成。
???機(jī)器周期:完成摸個(gè)獨(dú)立操作,由若干時(shí)鐘周期組成。
???時(shí)鐘周期:最基本時(shí)間單位,由主頻決定。
32.微操作:在微程序控制器中,執(zhí)行部件接受微指令后所進(jìn)行的最基本的操作。
33.微指令:控制器存儲(chǔ)的控制代碼,分為操作控制部分和順序控制部分,由微命令組成。
34.微程序:存儲(chǔ)在控制存儲(chǔ)器中的完成指令功能的程序,由微指令組成。
35.控制存儲(chǔ)器:CPU內(nèi)用于存放實(shí)現(xiàn)指令系統(tǒng)全部指令的微程序的只讀存儲(chǔ)器。
二、計(jì)算
3.14. 設(shè)總線的時(shí)鐘頻率為8MHZ,一個(gè)總線周期等于一個(gè)時(shí)鐘周期。如果一個(gè)總線周期中并行傳送16位數(shù)據(jù),試問總線的帶寬是多少?
解:由于:f=8MHz,T=1/f=1/8M秒,因?yàn)橐粋€(gè)總線周期等于一個(gè)時(shí)鐘周期
所以:總線帶寬=16/(1/8M) = 128Mbps=16MBps
3.15. 在一個(gè)32位的總線系統(tǒng)中,總線的時(shí)鐘頻率為66MHZ,假設(shè)總線最短傳輸周期為4個(gè)時(shí)鐘周期,試計(jì)算總線的最大數(shù)據(jù)傳輸率。若想提高數(shù)據(jù)傳輸率,可采取什么措施?
解:總線傳輸周期=4*1/66M秒
總線的最大數(shù)據(jù)傳輸率=32/(4/66M)=528Mbps=66MBps
若想提高數(shù)據(jù)傳輸率,可以提高總線時(shí)鐘頻率、增大總線寬度或者減少總線傳輸周期包含的時(shí)鐘周期個(gè)數(shù)。
3.16. 在異步串行傳送系統(tǒng)中,字符格式為:1個(gè)起始位、8個(gè)數(shù)據(jù)位、1個(gè)校驗(yàn)位、2個(gè)終止位。若要求每秒傳送120個(gè)字符,試求傳送的波特率和比特率。
解:一幀包含:1+8+1+2=12位
???故波特率為:(1+8+1+2)*120=1440bps
?????比特率為:8*120=960bps
4.5. 什么是存儲(chǔ)器的帶寬?若存儲(chǔ)器的數(shù)據(jù)總線寬度為32位,存取周期為200ns,則存儲(chǔ)器的帶寬是多少?
解:存儲(chǔ)器的帶寬指單位時(shí)間內(nèi)從存儲(chǔ)器進(jìn)出信息的最大數(shù)量。
存儲(chǔ)器帶寬 = 1/200ns ×32位 = 160M位/秒 = 20MB/秒(注:1ns=10-9s)
4.7. 一個(gè)容量為16K×32位的存儲(chǔ)器,其地址線和數(shù)據(jù)線的總和是多少?當(dāng)選用下列不同規(guī)格的存儲(chǔ)芯片時(shí),各需要多少片?
1K×4位,2K×8位,4K×4位,16K×1位,4K×8位,8K×8位
解:地址線和數(shù)據(jù)線的總和 = 14 + 32 = 46根;
選擇不同的芯片時(shí),各需要的片數(shù)為:
1K×4:(16K×32) / (1K×4) = 16×8 = 128片
2K×8:(16K×32) / (2K×8) = 8×4 = 32片
4K×4:(16K×32) / (4K×4) = 4×8 = 32片
16K×1:(16K×32)/ (16K×1) = 1×32 = 32片
4K×8:(16K×32)/ (4K×8) = 4×4 = 16片
8K×8:(16K×32) / (8K×8) = 2×4 = 8片
6.4. 設(shè)機(jī)器數(shù)字長為8位(含1位符號位在內(nèi)),寫出對應(yīng)下列各真值的原碼、補(bǔ)碼和反碼。 ? ? ? ? -13/64,-87
解:真值與不同機(jī)器碼對應(yīng)關(guān)系如下:
真值
-13/64
-87
原碼
1.001 1010
1,101 0111
補(bǔ)碼
1.1100110
1,0101001
反碼
1.1100101
1,0101000
6.5. 已知[x]補(bǔ),求[x]原和x。
?????[x1]補(bǔ)=1.1100; ?[x2]補(bǔ)=1.1001; ?[x4]補(bǔ)=1.0000;
?[x5]補(bǔ)=1,0101; ?[x6]補(bǔ)=1,1100; ?[x8]補(bǔ)=1,0000;
解:[x]補(bǔ)與[x]原、x的對應(yīng)關(guān)系如下:
真值
-1/4
-7/16
-1
-11
-4
-16
[x]補(bǔ)
1.1100
1.1001
1.0000
1,0101
1,1100
1,0000
[x]原
1.0100
1.0111
無
1,1011
1,0100
無
x
-0.0100
-0.0111
-1.0000
-1011
-0100
-10000
6.9. 當(dāng)十六進(jìn)制數(shù)9B和FF分別表示為原碼、補(bǔ)碼、反碼、移碼和無符號數(shù)時(shí),所對應(yīng)的十進(jìn)制數(shù)各為多少(設(shè)機(jī)器數(shù)采用一位符號位)?
解:真值和機(jī)器數(shù)的對應(yīng)關(guān)系如下:
?
原碼
補(bǔ)碼
移碼
無符號數(shù)
9BH
-27
-101
+27
155
?
原碼
補(bǔ)碼
移碼
無符號數(shù)
FFH
-128
-1
+128
256
6.12. 設(shè)浮點(diǎn)數(shù)格式為:階碼5位(含1位階符),尾數(shù)11位(含1位數(shù)符)。寫出-27/1024、-86.5所對應(yīng)的機(jī)器數(shù)。要求如下:
(1)階碼和尾數(shù)均為原碼。
(2)階碼和尾數(shù)均為補(bǔ)碼。
(3)階碼為移碼,尾數(shù)為補(bǔ)碼。 ? ?
解:據(jù)題意畫出該浮點(diǎn)數(shù)的格式:
階符1位
階碼4位
數(shù)符1位
尾數(shù)10位
??? ? 將十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制: x1= -27/1024= -0.0000011011B = 2-5*(-0.11011B)
??x3=-86.5=-1010110.1B=27*(-0.10101101B)
則以上各數(shù)的浮點(diǎn)規(guī)格化數(shù)為:
(1)[x1]原=1,0101;1.110 110 000 0
?????[x3]原=0,0111;1.101 011 010 0
(2)[x1]補(bǔ)=1,1011;1.001 010 000 0
?????[x3]補(bǔ)=0,0111;1.010 100 110 0
(3)[x1]移補(bǔ)=0,1011;1.001 010 000 0
?????[x3]移補(bǔ)=1,0111;1.010 100 110 0
6.19. 設(shè)機(jī)器數(shù)字長為8位(含1位符號位),用補(bǔ)碼運(yùn)算規(guī)則計(jì)算下列各題。
?? (2)A=19/32,B=-17/128,求A-B。
?? (4)A=-87,B=53,求A-B。
解:(2)A=19/32= 0.100 1100B, B= -17/128= -0.001 0001B
? ? ? ? [A]補(bǔ)=00.100 1100, [B]補(bǔ)=11.110 1111 , [-B]補(bǔ)=00.001 0001
??????[A-B]補(bǔ)=[A]補(bǔ)+[-B]補(bǔ)
?????????????=00.1001100 + 00.0010001
?????????????=00.1011101 ——無溢出
??????A-B= 0.101 1101B = 93/128B
?(4)A= -87= -101 0111B, B=53=110 101B
? ? ? ?[A]補(bǔ)=11, 010 1001, [B]補(bǔ)=00, 011 0101, [-B]補(bǔ)=11, 100 1011
???????[A-B]補(bǔ)=[A]補(bǔ)+[-B]補(bǔ)
??????????????= 11,0101001 + 11,1001011
??????????????= 10,1110100 —— 溢出
6.20. 用原碼一位乘和補(bǔ)碼一位乘(Booth算法)、兩位乘計(jì)算x·y。
?? ? (1)x= 0.110 111,y= -0.101 110;(4)x= 0.110 11,y= -0.111 01。
解:先將數(shù)據(jù)轉(zhuǎn)換成所需的機(jī)器數(shù),然后計(jì)算,最后結(jié)果轉(zhuǎn)換成真值。
(1)[x]原=0.110111,[y]原=1.101110,x*=0.110111, y*=0.101110
原碼一位乘:
部分積
乘數(shù)y*
說明
0.000 000
101110
乘數(shù)為0右移
????0.000 000
???+0.110 111
010111
乘數(shù)為1,加上x*
?
????0.110 111
????0.011 011
???+0.110 111
010111
101011
右移一位
乘數(shù)為1,加上x*
?
????1.010 010
????0.101 001
???+0.110 111
101011
010101
右移一位
乘數(shù)為1,加上x*
?
????1.100 000
????0.110 000
010101
001010
右移一位
乘數(shù)為0,右移一位
????0.011 000
???+0.110 111
000101
乘數(shù)為1,加上x*
?
????1.001 111
????0.100 111
000101
100010
右移一位
?
即x*×y*=0.100 111 100 010,z0=x0??y0=0 ?1=1,
[x×y]原=1.100 111 100 010;x·y= -0. 100 111 100 010
補(bǔ)碼一位乘:[x]補(bǔ)=00.110111,[-x]補(bǔ)=11.001001,[y]補(bǔ)=11.010010
部分積
乘數(shù)
Yn+1
說明
??00 . 000 000
??00 . 000 000
+11 . 001 001
1 010 010
0 101 001
0
0
Ynyn+1=00,部分積右移1位
Ynyn+1=10,部分積加[-x]補(bǔ)
?
??11 . 001 001
?
?
右移1位
??11 . 100 100
+00 . 110 111
1 010 100
1
Ynyn+1=01,部分積加[x]補(bǔ)
?
??00 . 011 011
?
?
右移1位
??00 . 001 101
??00 . 000 110
+11 . 001 001
1 101 010
1 110 101
0
0
Ynyn+1=00,部分積右移1位
Ynyn+1=10,部分積加[-x]補(bǔ)
?
??11 . 001 111
?
?
右移1位
??11 . 100 111
+00 . 110 111
1 111 010
1
Ynyn+1=01,部分積加[x]補(bǔ)
?
??00 . 011 110
??00 . 001 111
+11 . 001 001
?
0 111 101
?
0
右移1位
Ynyn+1=10,部分積加[-x]補(bǔ)
?
??11 . 011 000
0 111 10
?
?
即 [x×y]補(bǔ)=1.011 000 011 110,x·y= -0.100 111 100 010
(4)[x]原=0.11011,[y]原=1.11101,x*=0.11011,y*=0.11101
原碼一位乘:
部分積
乘數(shù)y*
說明
???0.000 00
11101
乘數(shù)為1,加x*
??+0.110 11
?
右移1位
???0.011 01
11110
乘數(shù)為0,右移1位
???0.001 10
11111
乘數(shù)為1,加x*
??+0.110 11
?
?
???1.000 01
11111
右移1位
???0.100 00
11111
乘數(shù)為1,加x*
??+0.110 11
?
?
???1.010 11
11111
右移1位
???0.101 01
11111
乘數(shù)為1,加x*
??+0.110 11
?
?
???1.100 00
11111
右移1位
??0.11000
01111
?
補(bǔ)碼一位乘:[x]補(bǔ)=00.11011,[-x]補(bǔ)=11.00101,[y]補(bǔ)=1.00011
??00.00000
000110
?+11.00101
?
??11.00101
000110
??11.10010
1100011
??11.11001
0110001
?+00.11011
?
??00.10100
?
??00.01010
0011000
??00.00101
0001100
??00.00010
1000110
?+11.00101
?
??11.00111
10001
6.21. 用原碼加減交替法和補(bǔ)碼加減交替法計(jì)算x÷y。
?? ? (2)x=-0.10101, y=0.11011;
?? ? (4)x=13/32, ? ? y= -27/32。
(2)[x]原=1.10101 ?x*=0.10101 [X*]補(bǔ)=1.01011 Xf?Yf=1
??0.10101
?
?+1.00101
?
??1.11010
0
??1.10100
?
?+0.11011
?
??0.01111
0
??0.11110
?
?+1.00101
?
??0.00011
011
??0.00110
?
?+1.00101
?
??1.01011
0110
??0.10110
?
?+0.11011
?
??1.10001
01100
??1.00010
?
?+0.11011
?
??1.11101
011000
?????[y]原=0.11011 ?y*=0.11011 [Y*]補(bǔ)=0.11011 [-y*]補(bǔ)=1.00101
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
[x/y]原=1.11000
(4)做法相同,打表格太累,僅給出結(jié)果。[x/y]原=1.01111
三、應(yīng)用
4.14. 某8位微型機(jī)地址碼為18位,若使用4K×4位的RAM芯片組成模塊板結(jié)構(gòu)的存儲(chǔ)器,試問:
????(1)該機(jī)所允許的最大主存空間是多少?
(2)若每個(gè)模塊板為32K×8位,共需幾個(gè)模塊板?
(3)每個(gè)模塊板內(nèi)共有幾片RAM芯片?
(4)共有多少片RAM?
(5)CPU如何選擇各模塊板?
解:(1)該機(jī)所允許的最大主存空間是:218?× 8位 = 256K×8位 = 256KB
(2)模塊板總數(shù) = 256K×8 / 32K×8 = 8塊
(3)板內(nèi)片數(shù) = 32K×8位 / 4K×4位 = 8×2 = 16片
(4)總片數(shù) = 16片×8 = 128片
(5)CPU通過最高3位地址譯碼輸出選擇模板,次高3位地址譯碼輸出選擇芯片。地址格式分配如下:
4.29. 假設(shè)CPU執(zhí)行某段程序時(shí)共訪問Cache命中4800次,訪問主存200次,已知Cache的存取周期為30ns,主存的存取周期為150ns,求Cache的命中率以及Cache-主存系統(tǒng)的平均訪問時(shí)間和效率,試問該系統(tǒng)的性能提高了多少倍?
解:Cache被訪問命中率為:4800/(4800+200)=24/25=96%
則Cache-主存系統(tǒng)的平均訪問時(shí)間為:ta=0.96*30ns+(1-0.96)*150ns=34.8ns
Cache-主存系統(tǒng)的訪問效率為:e=tc/ta*100%=30/34.8*100%=86.2%
性能為原來的150ns/34.8ns=4.31倍,即提高了3.31倍。
例7.2設(shè)相對尋址的轉(zhuǎn)移指令占3個(gè)字節(jié),第一字節(jié)為操作碼,第二,三字節(jié)為相對位移量(補(bǔ)碼表示)。而且數(shù)據(jù)在存儲(chǔ)器中采用以低字節(jié)地址為字地址的存放方式。每當(dāng)CPU從存儲(chǔ)器取出一個(gè)字節(jié)時(shí),即自動(dòng)完成(PC)+1 ???PC。
(1)?若PC當(dāng)前值為240(十進(jìn)制),要求轉(zhuǎn)移到290(十進(jìn)制),則轉(zhuǎn)移指令的第二、三字節(jié)的機(jī)器代碼是什么?
(2)?若PC當(dāng)前值為240(十進(jìn)制),要求轉(zhuǎn)移到200(十進(jìn)制),則轉(zhuǎn)移指令的第二、三字節(jié)的機(jī)器代碼是什么?
解:(1)PC當(dāng)前值為240,該指令取出后PC值為243,要求轉(zhuǎn)移到290,即相對位移量為290-243=47,轉(zhuǎn)換成補(bǔ)碼為2FH。由于數(shù)據(jù)在存儲(chǔ)器中采用以低字節(jié)地址為字地址的存放方式,故該轉(zhuǎn)移指令的第二字節(jié)為2FH,第三字節(jié)為00H。
(2)PC當(dāng)前值為240,該指令取出后PC值為243,要求轉(zhuǎn)移到200,即相對位移量為200-243=-43,轉(zhuǎn)換成補(bǔ)碼為D5H。由于數(shù)據(jù)在存儲(chǔ)器中采用以低字節(jié)地址為字地址的存放方式,故該轉(zhuǎn)移指令的第二字節(jié)為D5H,第三字節(jié)為FFH。
例7.3一條雙字長直接尋址的子程序調(diào)用指令,其第一個(gè)字為操作碼喝尋址特征,第二個(gè)字為地址碼5000H。假設(shè)PC當(dāng)前值為2000H,SP的內(nèi)容為0100H,棧頂內(nèi)容為2746H,存儲(chǔ)器按字節(jié)編址,而且進(jìn)棧操作時(shí)執(zhí)行(SP)-△-P,后存入數(shù)據(jù)。試回答下列幾種情況下,PC、SP及棧頂內(nèi)容各為多少?
(1)?CALL指令被讀取前。
(2)?CALL指令被執(zhí)行后。
(3)?子程序返回后。
解CALL指令被讀取前,PC=2000H,SP=0100H,棧頂內(nèi)容為2746H。
(1)?CALL指令被執(zhí)行后,猶豫存儲(chǔ)器按字節(jié)編制,CALL指令供占4個(gè)字節(jié),故程序斷電2004H進(jìn)棧,此時(shí)SP=(SP)-2=00FEH,棧頂內(nèi)容為2004H,PC被更新為子程序入口地址5000H。
(2)?子程序返回后,程序斷點(diǎn)出棧,PC=2004H,SP被修改為0100H,棧頂內(nèi)容為2746H。
7.6某指令系統(tǒng)字長為16位,地址碼取4位,試提出一種方案,使該地址系統(tǒng)有8條三地址指令、16條二地址指令、100條一地址指令。
解:
OP
A2
A1
A0
三地址指令8條
0000
?
?
·
·
·
?
0111
?
?
OP
A1
A0
二地址指令16條
10000000
?
?
·
·
·
?
10001111
?
?
OP
A0
一地址指令100條
110000000000
?
?
110001100011
?
7.7設(shè)指令字長為16位,采用擴(kuò)展操作碼技術(shù),每個(gè)操作碼的地址為6位。如果定義了13條二地址指令,試問還可安排多少條一地址指令。
解:(24-3)*26=3*64=192條
7.8某機(jī)指令字長16位,每個(gè)操作數(shù)的地址碼為6位,設(shè)操作碼長度固定,指令分為零地址,一地址和二地址三種格式,若零地址指令有M種,以抵制指令有N種,則二地址指令最多有幾種?若操作碼位數(shù)可變,則二地址指令最多允許有幾種?
解:1)若采用定長操作碼時(shí),二地址指令格式如下:
OP(4位)
A1(6位)
A2(6位)
設(shè)二地址指令有K種,則:K=24-M-N
當(dāng)M=1(最小值),N=1(最小值)時(shí),二地址指令最多有:Kmax=16-1-1=14種
2)若采用變長操作碼時(shí),二地址指令格式仍如1)所示,但操作碼長度可隨地址碼的個(gè)數(shù)而變。此時(shí),K= 24?-(N/26?+ M/212?);
當(dāng)(N/26?+ M/212?)£1時(shí)(N/26?+ M/212?向上取整),K最大,則二地址指令最多有:
Kmax=16-1=15種(只留一種編碼作擴(kuò)展標(biāo)志用。)
9.5設(shè)機(jī)器A的CPU主頻為8MHz,機(jī)器周期為4個(gè)時(shí)鐘周期,且該機(jī)的平均指令執(zhí)行速度是0.4MIPS,試求該機(jī)的平均指令周期和機(jī)器周期,每個(gè)指令周期中含幾個(gè)機(jī)器周期?如果機(jī)器B的CPU主頻為12MHz,且機(jī)器周期也含有4個(gè)時(shí)鐘周期,試問B機(jī)的平均指令執(zhí)行速度為多少M(fèi)IPS?
A.CLK=8MHz ?T=1/8MHz=0.125us
??機(jī)器周期=4*T=0.5us
??因?yàn)閳?zhí)行速度為0.4MIPS 所以平均指令周期=1/0.4MIPS=2.5us
??2.5us/0.5us=5個(gè) 所以每個(gè)指令含有5條機(jī)器指令
B.T=1/f=1/12MHz=1/12us ?機(jī)器指令=4*T=1/3us ?指令周期=5*1/3=5/3us
平均指令執(zhí)行速度 ?1/(5/3)=0.6MIPS
9.6設(shè)某計(jì)算機(jī)的CPU主頻為8MHz,每個(gè)機(jī)器周期平均含2個(gè)時(shí)鐘周期,每條指令平均有4個(gè)機(jī)器周期,試問該計(jì)算機(jī)的平均指令執(zhí)行速度為多少M(fèi)IPS?若CPU主頻不變,但每個(gè)機(jī)器周期平均含4個(gè)時(shí)鐘周期,每條指令平均有4個(gè)機(jī)器周期,試問B機(jī)的平均指令執(zhí)行速度為多少M(fèi)IPS?
1.CLK=8MHz ?平均指令執(zhí)行速度1/(1/8M*2*4)=1MIPS
2.指令周期=4*4*1/8=2us 執(zhí)行速度=1/(1/8M*4*4)=0.5MIPS
9.7某CPU的主頻為10MHz,若已知每個(gè)機(jī)器周期平均含有4個(gè)時(shí)鐘周期,該機(jī)的平均指令執(zhí)行速度為1MIPS,試求該機(jī)的平均指令執(zhí)行速度為多少M(fèi)IPS?若CUP主頻不變,但每個(gè)機(jī)器周期平均含有4個(gè)時(shí)鐘周期,每條指令平均有4個(gè)機(jī)器周期,則該機(jī)的平均指令執(zhí)行速度又是多少M(fèi)IPS?由此可得出什么結(jié)論
1.平均指令周期=1/1MIPS=1us ?T=1/f=0.1us ?T機(jī)=4*T=0.4us
因?yàn)?us/0.4us=2.5 ??所以每個(gè)指令包含2.5個(gè)機(jī)器周期
2.T=0.4us 速度=1/(0.4*2.5*4)=0.25MIPS
3.因?yàn)樗俣?0.8MIPS 所以T指=1/0.8us
??因?yàn)門指=4*2.5*T ?所以T=1/8us 所以 f=1/T=8MHz
四、簡答
1.馮諾依曼機(jī)主機(jī)主要特點(diǎn)。
1計(jì)算機(jī)由運(yùn)算器、存儲(chǔ)器、控制器、輸入設(shè)備和輸出設(shè)備五大部件組成。
2.指令和數(shù)據(jù)一同等地位存放于存儲(chǔ)器內(nèi),并可按地址尋訪。
3.指令和數(shù)據(jù)均用二進(jìn)制表示。
4.指令由操作嗎和地址碼組成,操作碼用來表示操作的性質(zhì),地址碼用來表示操作數(shù)在存儲(chǔ)器中的位置。
5.采用存儲(chǔ)控制原理,指令在存儲(chǔ)器內(nèi)按順序存放。通常指令是順序執(zhí)行的,在特定條件下,可根據(jù)運(yùn)算結(jié)果或根據(jù)設(shè)定的條件改變執(zhí)行順序。
6.機(jī)器以運(yùn)算器為中心,輸入輸出設(shè)備與存儲(chǔ)器間的數(shù)據(jù)傳說通過運(yùn)算器完成。
2.計(jì)算機(jī)硬件主要技術(shù)指標(biāo),軟件定義與分類。
??計(jì)算機(jī)硬件主要技術(shù)指標(biāo):機(jī)器字長、存儲(chǔ)容量、運(yùn)算速度、主頻等。
??軟件定義:看不見摸不著,由人們事先編制的具有各類特殊功能的程序組成。
??分類:系統(tǒng)軟件和應(yīng)用軟件。
3.計(jì)算機(jī)組成部分與個(gè)部分作用。
??運(yùn)算器:用來完成算術(shù)運(yùn)算和邏輯運(yùn)算,并將運(yùn)算的中間結(jié)果暫存在運(yùn)算器內(nèi)。
??存儲(chǔ)器:用來存放數(shù)據(jù)和程序。
??控制器:用來控制、指揮程序和數(shù)據(jù)的輸入、運(yùn)行以及處理器運(yùn)算結(jié)果。
??輸入設(shè)備:用來將人們熟悉的信息形式轉(zhuǎn)換為機(jī)器能識別的信息形式,常見的有鍵盤、鼠標(biāo)等。
??輸出設(shè)備:可將機(jī)器運(yùn)算結(jié)果轉(zhuǎn)換為人們熟悉的信息形式,如打印機(jī)輸出,顯示器輸出等。
4.總線定義與分類方法,系統(tǒng)總線定義與分類方法。
?總線
???定義:總線是連接多個(gè)部件的信息傳輸線,是各部件共享的傳輸介質(zhì)。
???分類:片內(nèi)總線 ??系統(tǒng)總線 ??通信總線
?系統(tǒng)總線
定義:系統(tǒng)總線是指CPU、主存、I/O設(shè)備(通過I/O接口)各大部件之間的信息傳輸線。
??分類: ?數(shù)據(jù)總線 ?地址總線 ?控制總線
5.什么是總線標(biāo)準(zhǔn),目前流行的總線標(biāo)準(zhǔn)有哪些。
??所謂總線標(biāo)準(zhǔn)可視為系統(tǒng)與各模塊,模塊與模塊之間的一個(gè)互連的標(biāo)準(zhǔn)界面。
??ISA總線、EISA總線、PCI總線、RS—232C總線、IEEE-488(并行通信總線又稱GP-IP總線)USB總線。
6.三級存儲(chǔ)器系統(tǒng)中各級存儲(chǔ)器特點(diǎn)與用途,分哪兩個(gè)層次。
1主存 ?特點(diǎn):隨機(jī)訪問、速度快。容量大。用途:存放CPU使用的程序和數(shù)據(jù)。
??輔存 ?特點(diǎn):容量大、速度慢、價(jià)格低、可脫機(jī)保存信息。用途:存放大量后備數(shù)據(jù)
緩存 ?特點(diǎn):速度快、容量小、價(jià)格高 用途:用于主存與輔存之間作為緩沖,正在使用的程序和數(shù)據(jù)的付本。
?2緩存-----主存層次和主存---輔村層次。
7.半導(dǎo)體存儲(chǔ)器RAM與ROM特點(diǎn)與用途。
RAM特點(diǎn):可讀可寫掉電后信息丟失,存臨時(shí)信息。用途:主要做內(nèi)存
ROM特點(diǎn):只讀不寫掉電后信息不丟失,存長期信息。用途:主要做控制存儲(chǔ)器
8.動(dòng)態(tài)RAM與靜態(tài)RAM特點(diǎn)與用途,DRAM刷新方式與主要優(yōu)點(diǎn)。
靜態(tài)RAM特點(diǎn):信息讀出后,仍保持其原有狀態(tài),不需要再生。用途:用于Cache
動(dòng)態(tài)RAM特點(diǎn):靠電容存儲(chǔ)電荷的原理來寄存信息。用途:組成內(nèi)存/主存。
DRAM刷新方式
????集中刷新:集中刷新是在規(guī)定的一個(gè)刷新周期內(nèi)對全部存儲(chǔ)單元集中一段時(shí)間逐行進(jìn)行刷新,此刻必須停止讀寫操作。
????分散刷新:分散刷新是指對每行存儲(chǔ)單元的刷新分散到每個(gè)存儲(chǔ)周期內(nèi)完成。
異步刷新:異步刷新是前兩種方式的結(jié)合,它即可縮短“死時(shí)間”,又充分利用最大刷新間隔2ms的特點(diǎn)。
優(yōu)點(diǎn):單個(gè)MOS管組成,集成度高,速度較SRAM慢,價(jià)格低,
9.Cache工作原理特點(diǎn),地址映射方式與替換算法。
原理:利用程序訪問的局部性,近期用到信息存于cache。
地址映射方式:直接映射、全相聯(lián)映射、組相聯(lián)映射、
替換算法:先進(jìn)先出算法(FIFO)、近期最少使用算法(LRU)、隨機(jī)法。
10.主機(jī)與外設(shè)交換信息采用中斷與DMA方式特點(diǎn)與應(yīng)用場合。
中斷方式:
特點(diǎn):CPU與外設(shè)并行工作,效率高
應(yīng)用場合:管理多種外設(shè)并行工作、進(jìn)行實(shí)時(shí)處理、進(jìn)行故障自動(dòng)處理
DMA方式:
特點(diǎn):
1從數(shù)據(jù)傳送看,程序中斷方式靠程序傳送,DMA方式靠硬件傳送。
2從CPU響應(yīng)時(shí)間看,程序中斷方式是在一條指令執(zhí)行結(jié)束時(shí)響應(yīng),而DMA方式可在指令周期內(nèi)的任一存取周期結(jié)束時(shí)響應(yīng)。
3程序中斷方式有處理異常事件能力,DMA方式?jīng)]有這種能力,主要用于大批數(shù)據(jù)的傳送,如硬盤存取、圖像處理、高速數(shù)據(jù)采集系統(tǒng)等,可提高數(shù)據(jù)吞吐量。
4程序中斷方式需要中斷現(xiàn)行程序,故需保護(hù)現(xiàn)場;DMA方式不中斷現(xiàn)行程序,無須保護(hù)現(xiàn)場。
5DMA的優(yōu)先級比程序中斷的優(yōu)先級高。
應(yīng)用場合:高速設(shè)備 如硬盤
11.I/O端口與接口的區(qū)別,I/O接口分類方法。
端口:接口內(nèi)部寄存器有I/O地址號。一般分為數(shù)據(jù)口、命令口和狀態(tài)口。
接口:若干端口加上相應(yīng)的控制電路組成。
接口分類:按數(shù)據(jù)傳送方式分串行接口和并行接口
??????????按功能選擇的靈活性分為可編程接口和不可編程接口
??????????按通用性分為通用接口和專用接口
??????????按數(shù)據(jù)傳送的控制方式分為程序型接口和DMA接口。
12.中斷處理過程分成哪兩個(gè)階段各完成哪些任務(wù)
響應(yīng)階段:關(guān)中斷、保護(hù)斷點(diǎn)地址、轉(zhuǎn)入中斷服務(wù)入口地址
處理階段:保護(hù)現(xiàn)場、執(zhí)行用戶編寫的中斷服務(wù)程序、恢復(fù)現(xiàn)場。
13.與中斷方式比較MDA方式主要特點(diǎn)是什么。
??1從數(shù)據(jù)傳送看,程序中斷方式靠程序傳送,DMA方式靠硬件傳送。
2從CPU響應(yīng)時(shí)間看,程序中斷方式是在一條指令執(zhí)行結(jié)束時(shí)響應(yīng),而DMA方式可在指令周期內(nèi)的任一存取周期結(jié)束時(shí)響應(yīng)。
3程序中斷方式有處理異常事件能力,DMA方式?jīng)]有這種能力,主要用于大批數(shù)據(jù)的傳送,如硬盤存取、圖像處理、高速數(shù)據(jù)采集系統(tǒng)等,可提高數(shù)據(jù)吞吐量。
4程序中斷方式需要中斷現(xiàn)行程序,故需保護(hù)現(xiàn)場;DMA方式不中斷現(xiàn)行程序,無須保護(hù)現(xiàn)場。
5DMA的優(yōu)先級比程序中斷的優(yōu)先級高。
14.什么是尋址方式,數(shù)據(jù)尋址方式有哪幾種。
尋址方式:是指確定本條指令的數(shù)據(jù)地址以及下一條將要執(zhí)行的指令地址的方法,它與硬件結(jié)構(gòu)緊密相關(guān),而且直接影響指令格式和指令功能。
數(shù)據(jù)尋址方式:立即尋址、直接尋址、隱含尋址、間接尋址、寄存器尋址、寄存器間接尋址、基址尋址、變址尋址、相對尋址、堆棧尋址。
15.RISC主要特點(diǎn)與CISC相比較RISC主要優(yōu)點(diǎn)。
特點(diǎn):
????選用使用頻率較高的一些簡單指令以及一些很有用但又不復(fù)雜的指令,讓復(fù)雜指令的功能由頻度高的簡單指令的組合來實(shí)現(xiàn);
指令長度固定指令格式種類少,尋址方式種類少;
只有取數(shù)/存數(shù)指令訪問存儲(chǔ)器,其余指令的操作都在寄存器內(nèi)完成;
采用流水線技術(shù),大部分指令在一個(gè)時(shí)鐘周期內(nèi)完成;
控制器采用組合邏輯控制,不用微程序控制;
采用優(yōu)化的編譯程序。
?1充分利用VLSI芯片的面積。
?2提高計(jì)算機(jī)運(yùn)算速度。
3便于設(shè)計(jì)可降低成本提高可靠性。
4有效支持高級語言程序。
16.組合邏輯與微程序設(shè)計(jì)主要特點(diǎn)與應(yīng)用。
組合邏輯:特點(diǎn):速度快、復(fù)雜不靈活。應(yīng)用:適用于RISC機(jī)。
微程序:特點(diǎn):引入程序設(shè)計(jì)與存儲(chǔ)邏輯技術(shù),硬件軟化,把一條機(jī)器指令用一段微程序來實(shí)現(xiàn),存放控制存儲(chǔ)器CM中。應(yīng)用:系列機(jī)。
17.什么是指令周期、機(jī)器周期、時(shí)鐘周期 ?三者的關(guān)系如何。
??指令周期:完成一條指令的時(shí)間,由若干機(jī)器周期組成。
機(jī)器周期:完成摸個(gè)獨(dú)立操作,由若干時(shí)鐘周期組成。
時(shí)鐘周期:最基本時(shí)間單位,由主頻決定。
關(guān)系:時(shí)鐘周期是最基本時(shí)間單位,由若干時(shí)鐘周期組成機(jī)器周期,由若干機(jī)器周期組成指令周期。
18.微程序設(shè)計(jì)基本思想,微程序指令主要編碼方式。
思想:引入程序設(shè)計(jì)與存儲(chǔ)邏輯技術(shù)硬件軟化把一條機(jī)器指令用一般微程序來實(shí)現(xiàn),存于控制存儲(chǔ)器中。
編碼方式:直接編碼(直接控制)方式、字段直接編碼方式。
?