




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、3.9 本章真題解析在本章的內容中,需要考生重點掌握的有存儲器的組成、Cache的映像等。本節按照研究生入學考試的試題樣式,參考歷年的真題和全國40所高校的研究生入學試題,組織了相關的真題及解析,供讀者參考。3.9.1 單項選擇題例題1某計算機的Cache共有16塊,采用2路組相聯映射方式(即每組2塊)。每個主存塊大小為32字節,按字節編址。主存129號單元所在主存塊應裝入到的Cache組號是(1)。2009年試題14(1)A0 B2 C4 D6例題1分析組相聯映射方式是將某一主存塊j按模Q(Q是Cache的組數)映射到Cache的第i組中的任一塊,即i = j mod Q。根據題目條件可知,
2、Q=16/2=8組。因為每個主存塊大小為32字節,按字節編址,所以主存129號單元所在的主存塊號為4(注意:從0開始計數),所以i=4 mod 8=4。例題1答案(1)C例題2某計算機主存容量為64KB,其中ROM區為4KB,其余為RAM區,按字節編址?,F要用2K8位的ROM芯片和4K4位的RAM芯片來設計該存儲器,則需要上述規格的ROM芯片數和RAM芯片數分別是(2)。2009年試題15(2)A1、15 B2、l5 C1、30 D2、30例題2分析因為1B=8位,ROM區的總大小為4KB,即為4K8位,那么需要的ROM芯片數為:(4K8位)/(2K8位)=2片。RAM區的總大小為64KB-4
3、KB=60KB,即60K8位,那么需要的RAM芯片數為:(60K8位)/(4K4位)=30片。例題2答案(2)D例題3假設某計算機的存儲系統由Cache和主存組成。某程序執行過程中訪存1000次,其中訪問Cache缺失(未命中)50次,則Cache的命中率是(3)。2009年試題21(3)A5% B9.5% C50% D95%例題3分析程序執行過程中訪存1000次,其中訪問Cache缺失(未命中)50次,也就是說Cache完成存取的總次數為1000-50=950。那么Cache的命中率=(1000-50)/1000=95%。例題3答案(3)D例題4假定用若干個2K4位芯片組成一個8K8位存儲器
4、,則地址0B1FH所在芯片的最小地址是(4)。2010年試題15(4)A0000HB0600HC0700HD0800H例題4分析芯片的大小為2K4位,而存儲器的大小為8K8位,不難得出要獲得這樣一個大小的存儲器,需要8片2K4位的芯片。如果按字節編址,對應一個大小為8K8位的存儲器,需要13位地址,其中高3位為片選地址,低10位為片內地址,而題目給出的地址0B1FH轉換為二進制為0 1011 0001 1111,其高3位為010,即片選地址為2。因此,地址0B1FH對應第2片芯片,該芯片的起始地址(最小地址)為0 1000 0000 0000,即0800H。例題4答案(4)D例題5下列有關RA
5、M和ROM的敘述中,正確的是(5)。2010年試題16I RAM是易失性存儲器,ROM是非易失性存儲器II RAM和ROM都采用隨機存取方式進行信息訪問III RAM和ROM都可用做CacheIV RAM和ROM都需要進行刷新(5)A僅I和II B僅II和III C僅I,II,III D僅II,III,IV例題5分析對于計算機系統中的存儲器,常用的數據存取方式有順序存取、直接存取、隨機存取和相聯存取四種。其中RAM和ROM都是采用隨機存取方式。RAM具有讀/寫方便,使用靈活等優點,但斷電后無法保存信息,因此只能用于暫存數據,可用于主存和高速緩沖存儲器。ROM的信息是固化在存儲器中,斷電后仍然能
6、保存信息,信息不容易丟失。但ROM中的信息只可讀出,無法改寫,當然不需要刷新。一般用于存放系統程序BIOS和用于微程序控制,不適合用于讀寫頻繁的Cache。例題5答案(5)A例題6下列命令組合情況中,一次訪存過程中,不可能發生的是(6)。2010年試題17(6)ATLB未命中,Cache未命中,Page未命中 BTLB未命中,Cache命中,Page命中 CTLB命中,Cache未命中,Page命中 DTLB命中,Cache命中,Page未命中例題6分析TLB是緩存曾經訪問過的虛擬地址所指向的物理地址,以使將來快速得到相同物理地址的高速存儲器,可以與Cache的作用相類比。在一次訪問存儲器的過
7、程中,如果能夠Cache命中,很顯然,說明就訪問到了需要的頁(Page),即Page命中。同樣的道理,如果能夠TLB命中,也說明訪問到了需要的頁,如果這兩者都命中,那么頁肯定命中。因此本題中選項D的情況是不可能發生的。例題6答案(6)D例題114位機器內的數值代碼,它所表示的十進制真值為(11)。(11)A9 B-10C-7 D16例題11分析在計算機內部,符號和數字都用二進制碼表示,兩者合在一起構成數的機內表示形式,稱為機器數,而它真正表示的帶有符號的數稱為這個機器數的真值。4位機器內的代碼值除去最高位符號位外,它所能表示的數值范圍為07,因此表示的十進制真值可以為-7,而不能表示9或-10
8、。例題11答案(11)C例題12下列BCD碼中,不是合法8421碼的是(12)。(12)A0111 1001 B1101 0110C0000 0100 D1000 0101例題12分析如表2-11所示列出了幾種常見的BCD碼。表2-11 常見的BCD碼十進制數8421碼2421碼余3碼0 1 2 3 4 5 6 7 8 90000 0001 0010 0011 0100 0101 0110 0111 1000 10010000 0001 0010 0011 0100 1011 1100 1101 1110 11110011 0100 0101 0110 0111 1000 1001 1010
9、1011 1100從表2-11中可以看出,不是合法8421碼的是1101 0110。例題12答案(12)B例題13用32位字長(其中1位符號位)表示定點小數時,所能表示的數值范圍是(13)。例題13分析定點小數即純小數,小數點的位置固定在最高有效數位之前,符號位之后,如圖2-3所示。定點小數的小數點位置是隱含約定的,小數點并不需要真正地占據一個二進制位。當表示X為負數,此時情況要稍微復雜一些,這是因為在計算機中帶符號數可用補碼表示,也可用原碼表示,原碼和補碼的表示范圍有一些差別。若機器數為原碼,當均等于1時,X為絕對值最大的負數,也稱為最負的數或最小負數,其真值等于:綜上所述,設機器字長有n+
10、1位,原碼定點小數的表示范圍為補碼定點小數的表示范圍為在本題中,要求32位字長所表示定點小數的數值范圍,它只要我們給出其數值的表示范圍,并不是整個表示范圍,從上面的分析中可以看出,32位字長的數值表示范圍是。例題13答案(13)B例題14設機器碼的長度為8,X為帶符號純小數,Y為帶符號純整數,則X的十進制真值為(14),Y的十進制真值為(15)。(14)A1/128 B-1/128 C-127/128 D127/128(15)A-1 B127 C-127 D1例題14分析對于帶符號數,機器數的最高位是表示正、負的符號位,其余位則表示數值。若約定小數點的位置在機器數的最低數值位之后,則是純整數;
11、若約定小數點的位置在機器數的最高數值位之前(符號位之后),則是純小數。數值X的原碼記為如果機器字長為n(即采用n個二進制位表示數據),則最高位是符號位,0表示正數,1表示負數,其余的n-1位表示數值的絕對值。因此,當即X=-127/128。數值Y的補碼記為如果機器字長為n,則最高位為符號位,0表示正數,1表示負數,正數的補碼與其原碼和反碼相同,負數的補碼等于其反碼的末尾加1。因此,當例題14答案(14)C (15)A例題15已知x=-73,若采用8位機器碼表示,則(16),(17)。(16)A11001001 B01001001 C11011001 D01011001(17)A10110111
12、 B01001001 C10110011 D01011001例題15分析在計算機系統內部,對于二進制數而言,存在三種不同的表示方法:原碼、反碼和補碼。它們各有優缺點,可以適用于不同的方面。如表2-12所示總結了這三種碼字的表示法(其中假設字長為8位)。根據表2-13所示的規則,用原碼來表示-73,最高位的符號位應該是1,73的二進制表示是1001001,因此X原11001001。而對于負數而言,補碼是該數的反碼加1。而X反應為10110110,而補碼就應該是10110111。表2-12 原/反/補碼表示法類 型正數(以94為例)負數(以-94為例)原碼說明高位為符號位,0表示正數,1表示負數實
13、例0101111011011110反碼說明正數與原碼相同符號位為1,其他按位取反實例0101111010100001補碼說明正數與原碼相同是該數反碼加1(即補)實例0101111010100010例題15答案(16)A (17)A例題16某數值編碼為FFH,若它所表示的真值為127,則它是用(18)表示的;若它所表示的真值為1,則它是用(19)表示的。(18)A原碼 B反碼 C補碼 D移碼(19)A原碼 B反碼 C補碼 D移碼例題16分析原碼表示又稱符號數值表示法。正數的符號位用0表示,負數的符號位用1表示,數值部分保持不變。反碼的符號位表示法與原碼相同,即符號0表示正數,符號1表示負數。與原
14、碼不同的是,反碼數值部分的形成和它的符號位有關。正數反碼的數值和原碼的數值相同,而負數反碼的數值是原碼的數值按位求反。補碼的符號表示和原碼相同,0表示正數,1表示負數。正數的補碼和原碼、反碼相同,就是二進制數值本身。負數的補碼是這樣得到的:將數值部分按位取反,再在最低位加1。補碼的補碼就是原碼。移碼又稱為增碼,它的符號表示和補碼相反,1表示正數,0表示負數。移碼為該數的補碼,但符號位相反,常用來表示浮點數的階碼。例題16答案(18)A (19)C例題17IEEE754標準規定:單精度浮點數的最高位為符號位,后面跟8位經偏移的階碼移碼,偏移量為+127。尾數用原碼表示,且把尾數規格化為1.xxx
15、x(x為0或1),并將1去掉,尾數用23位表示。根據該標準,十進制數+178.125的規格化表示形式為(20)。(20)ABCD例題17分析本題中,要表示的數是+178.125,轉化為二進制數就是10110010.001。由于要求把尾數規格化為1.xxxx(x為0或1),并將1去掉,尾數用23位表示,因此就需要將小數點移到第1個1的后面,即得到1.0110010001的形式,共向左移動了7位。移動完成后,去掉1,再表示成23位,顯然尾數部分就是。接下來,再構造階碼部分,由于左移了7位,因此階碼應為+7,表示成為移碼則是127+7,得到10000110。+178.125是正數,因此符號位為0。這
16、樣,最終的結果是。例題17答案(20)A例題18設機器碼的長度為8位,已知x,z為帶符號純整數,y為帶符號純小數,X原= Y補= Z移=11111111,求出x、y、z的十進制真值:X=(21),Y=(22),Z=(23)。(21)A-1 B127 C-127 D1(22)A1/128 B-1/128 C-127/128 D127/128(23)A-1 B127 C-127 D1例題18分析移碼是在真值X的基礎上,加上一個常數(也稱為偏置值),這也是移碼一詞的由來。如果沒有特殊說明,其加的偏置值是其中n為機器碼的長度。例如,對于字長8位的定點整數,如果偏置值為那么:通過比較可以發現,在移碼中,
17、最高位0表示負數,1表示正數,而且它和補碼之間的區別,正好是符號位相反,其他位相同。另外,移碼全為0時,值最??;全為1時,值最大。而且在移碼中,0的表示方法也只有一種,即100000000。因此,如果純整數的原碼是11111111,其符號位為1,說明是負數;其絕對值是1111111,即127,所以它表示的數就是-127。如果純小數的補碼是11111111,其符號位為1,說明是負數;其對應的原碼就應該是10000001,它表示的數是-2-7,即-1/128。如果純整數的移碼是11111111,其對應的補碼就是01111111,因此表示的數應為127。例題18答案(21)C (22)B (23)B
18、例題19計算機中十六位浮點數的表示格式為:某機器碼為。若階碼為移碼且尾數為反碼,則其十進制真值為(24);若階碼為移碼且尾數為原碼,則其十進制真值為(25);若階碼為補碼且尾數為反碼,則其十進制真值為(26);若階碼為補碼且尾數為原碼,則其十進制真值為(27),將其規格化后的機器碼為(28)。(24)A0.078125 B20 C1.25 D20.969375(25)A0.078125 B20 C1.25 D20.969375(26)A0.078125 B20 C1.25 D20.969375(27)A0.078125 B20 C1.25 D20.969375(28)AC例題19分析根據題目中
19、所示的格式可以得知:階碼為1110,尾數為001010000000。另外,對于4位的二進制碼,移碼所加的偏移位應該是有了這些基礎知識,就可以逐一來地解答本題。 若階碼為移碼且尾數為反碼。階碼為1110,其對應的補碼就是0110,因此真值為+6;而尾數為反碼,由于其為正數,因此尾數不變,即為001010000000。由于階碼為+6,因此小數點將向右移動6位,得到10100(注意,最高位為尾符),因此值為20。 若階碼為移碼且尾數為原碼。這種情況下,由于尾數的值為正數,原碼和反碼相同,所以它表示的數也相同,因此其值也是20。 若階碼為補碼且尾數為反碼。若階碼為補碼,由于最高位為1,即表示其為負數,
20、而它對應的原碼就是1010,表示的數就是-2。因此,要將尾數再向右移動兩個小數點,得到0.000101,轉換為十進制數就是 若階碼為補碼且尾數為原碼。同樣的道理,其值也應該與前者相同,即為0.078 125。而需要對其進行規格化,首先應將小數點右移3位,得到(其中最高位是符號位,表示正數),而其階碼應該是-3,用補碼表示為1101,從而得到。例題19答案(24)B (25)B (26)A (27)A (28)C例題20假設某機器中浮點數的格式為:令某浮點數為(指數和尾數部分均是按十進制表示的)。若把該浮點數以規格化形式放于機器中,則階碼和尾數都用原碼表示時為(29),都用反碼表示時為(30),
21、都用補碼表示時為(31),而階碼用移碼、尾數用補碼表示時為(32)。在最后一種情況下,該機器所能夠表示的絕對值最大的浮點數是(33)。(29)AC(30)AC(31)AC(32)AC例題20分析根據題目中給出的格式,在該浮點數中階碼部分是7位,尾碼是11位,其中最高位是尾符。要將浮點數表示出來,首先將尾數轉化為二進制表示:0.0101101,由于其最高位不是1,因此要再左移一位得到0.101101,所以階碼要再加1,即為-62。若階碼和尾數都用原碼表示時,則階碼為-62,其二進制表示為1111110,而尾數顯然是1 101101 0000,組合起來就是。由于階碼和尾數都是負數,因此反碼與原碼不
22、同,需按位取反(負號位保持不變),因此階碼就是1000001,尾數則是1 010010 1111,組合起來就是。補碼是在反碼的基礎上加1,因此階碼就得到1000010,尾數則是1 010011 0000,組合起來就是。移碼和補碼的區別只在于符號位,如果階碼用移碼表示,則應該是0000010,尾碼不變,組成起來就是。如果用k、n分別表示階碼和尾數的數值位位數,尾數用補碼,階碼用移碼表示,則浮點數的表示范圍如表2-13所示。表2-13 浮點數的取值范圍條 件結 果值es=0,ms=0,階碼和尾數的數值位均為1最大正數es=1,ms=0,尾數數值位的最低位為1,其他位均為0最小正數es=0,ms=1
23、,階碼的數值位全為1,尾數數值位全為0絕對值最大負數例題20答案(29)C (30)A (31)D (32)C (33)C例題21A=A1A16和B=B1B16是兩個16位二進制補碼表示的整數,其中A1和B1是符號位;A與B的加法和記為S=S1S16,那么表示和溢出的布爾表達式是(34)。若A采用以下浮點記數法:階碼用移碼,基數為2,尾數用補碼。該數不等于0時,表示其為規格化數的布爾表達式為(35)。它所能表示的最大規格化浮點數是(36),最小規格化浮點數是(37)。若,則其十進制真值為(38)。例題21分析在補碼加減法運算中,有時會出現一些異常:兩個正數相加,結果的符號位為1(結果為負);兩
24、個負數相加,結果的符號位為0(結果為正),這就是溢出,這是由于兩數相加的和超過了機器允許的表示范圍。檢查是否溢出有三種方法,如表2-14所示。表2-14 補碼加減法運算的溢出判斷方 法判斷方法說明符號位判斷被操作數和操作數的符號相同,卻與結果的符號位不同進位判斷兩正數相加,最高有效位產生進位,符號位卻無進位,說明正溢出 兩負數相加,最高有效位無進位,符號位卻產生進位,說明負溢出雙符號位判斷前兩種方法只能夠檢測是否溢出,而雙符號位可以判斷結果符號 00:正數、無溢出;01:正溢出;10:負溢出;11:負數、無溢出在本題中,顯然應該采用符號位判斷。不同的符號位組合如表2-15所示。表2-15 符號
25、位情況分析操作數A操作數B和S是否溢出+否+-是+-+否+-否-+否-+-否-+是-否因此,可以得到溢出的表達式就應該是:用文字說明就是,和的符號位為0并且加數與被加數的符號位都是1,或者和的符號位為1并且加數與被加數的符號位都是0。例如,16位整數補碼所能夠表示的真值范圍是,即-32768, 32767。若,則A與B的真值分別為16385及16386,其和為32771,已溢出。如圖2-19(a)中的例子所示,此時,A1=B1=0,而S1=1。如果,則A與B的真值分別為-32767和-32766,其和等于-65533,也已溢出。此時如圖2-19(b)中的例子所示,此時,A1=B1=1,而S1=
26、0。根據題中的浮點記數法,階碼是采用4位移碼表示,取值范圍是-8, +7;尾數采用12位補碼,其真值范圍是-1, 1-2-11。根據表2-13,所能表示的最大浮點數是:其機器碼為。按照浮點數規格化的定義,其尾數的絕對值應大于等于1/2。對于補碼來說必然是尾符位和尾數的數值部分最高位正好相反(一個是0,另一個是1),即其布爾表達式為。上述最大的浮點數而最小的浮點數都符合此條件,故都是規格化的數。所以,它們分別表示最大規格化浮點數和最小規格化浮點數。若,其階碼為移碼1101,表示的真值是+5。尾數為補碼,表示的真值是二進制數,故浮點數的真值為:將其轉換成等值的十進制數是-18.875。例題21答案
27、(34)A (35)C (36)D (37)C (38)D例題22設01011010和01001011兩個數為余3碼,如采用這種代碼進行十進制運算,其和的余3碼應為(39)。其所代表的十進制值為(40),其BCD碼(8421碼)為(41)。余3碼十進制加法運算原則是:當和無進位時(和的十進制值9),(42);當和有進位時(和的十進制值9),(43)。(39)A01111000 B10000111 C10100101 D01111001(40)A78 B87 C45 D72(41)A01111000 B01000101C10000111 D01110010(42)A不需修正 B需減0011修正C
28、需減0110修正 D修正方法不確定(43)A不需修正 B需減0011修正C需加0011修正 D需加0110修正例題22分析二進制是計算機中最適合的表示方法。而要表示十進制數,最直接的方法是將十進制數的各位數字變成一組對應的二進制代碼,用4位二進制數來表示一位十進制數。由于4位二進制數可以組合出16種代碼,所以只需任取10種代碼即可產生多種BCD編碼。如表2-16所示是幾種常見的BCD碼的特點比較。表2-16 常見BCD編碼的特點比較編碼類型主要特點8421碼(1)有權碼,從高到低各位的權分別是8、4、2、1; (2)簡單直觀,不允許出現101011112421碼(1)有權碼,從高到低各位的權分
29、別是2、4、2、1; (2)它是對9的自補碼,即某數的2421碼,只要自身按位取反,就能夠得到該數對9補數的2421碼; (3)不允許出現01011010余3碼(1)無權碼,是在8421碼的基礎上加0011形成的; (2)它也是一種對9的自補碼; (3)不允許出現00000010、11011111; (4)當和無進位時(和的十進制值9),需減0011修正; (5)當和有進位時(和的十進制值9),需加0011修正設A=01011010,B=01001011,則其求和的過程如圖2-20所示,也就是說,A+B的和為01111000。由于余3碼是在8421碼的基礎上加0011得到的,所以和對應的842
30、1碼高位為0111-0011=0100,低位為1000-0011=0101,合起來就是01000101。根據BCD求得其所表示的十進制數就比較容易了,0100表示十進制的4,0101表示十進制的5,所以該數表示的是十進制數45。例題22答案(39)A (40)C (41)B (42)B (43)C例題23執行算術右移指令的操作過程是(44)。(44)A操作數的符號位填0,各位順次右移1位,最低位移至進位標志位中B操作數的符號位填1,各位順次右移1位,最低位移至進位標志位中C操作數的符號位不變,各位順次右移1位,最低位移至進位標志位中D進位標志移至符號位,各位順次右移1位,最低位移至進位標志位中
31、例題23分析在計算機中,實現乘除運算的方案有三種:軟件實現、通過邏輯線路來將乘除運算變換為移位操作;設置專有的乘法、除法器。其中大部分采用移位操作來實現。而移位操作主要包括算術移位、邏輯移位和循環移位三種,如表2-17所示。表2-17 移位操作的類型類 型說 明算術移位對象是有符號數,在移位過程中保持操作數的符號不變邏輯移位對象是無符號數,移位時無須考慮符號位循環移位左移移出的數放到最右,右移移出的數放在最左顯然,關于算術右移指令操作過程描述正確的是,操作數的符號位不變,各位順次右移1位,最低位移至進位標志位中。例題23答案(44)C例題24原碼除法是指(45)。(45)A尾數用絕對值表示,加
32、上符號位后相除B操作數用補碼表示,以利加減,但商用原碼表示C取絕對值相除,符號位單獨處理D操作數用原碼表示,然后相除例題24分析原碼除法是指取兩個操作數的絕對值相除,符號位單獨處理的除法。例題24答案(45)C例題25例題25分析對于帶符號數,在移位時遵循如表2-18所示的規則。表2-18 移位規則碼 類移位規則原碼符號位不變,空出位一律以“0”補入補碼正數符號位不變,空出位一律以“0”補入負數符號位不變,左移后的空出位補“0”,右移后的空出位補“1”轉換成二進制數為10100101,右移兩位后,則符號位不變,右移的空位被“1”補齊,得到11101001,轉換成十六進制數就是。例題25答案(4
33、6)C例題26某數據的7位編碼為0110101,若在其最高位之前增加一位偶校檢位,則編碼為(47)。(47)A10110101 B00110101 C01101011 D01101010例題26分析奇偶校驗碼可以分為奇校驗和偶校驗兩種,都是添加1位校驗位,根據信息碼中1的個數來決定校驗位的取值,填入校驗位后,使得1的個數為奇數(奇校驗)或偶數(偶校驗)。例如:對于7位編碼0110101而言,若在最高位加上奇偶校驗位,那么: 奇校驗:0110101共有4個1,要使1的個數為奇數,就需要補1,因此加上校驗位后就得到10110101。 偶校驗:0110101共有4個1,要使1的個數為偶數,無須補1,
34、因此加上校驗位后就得到00110101。例題26答案(47)B例題27對于16位的數據,需要(48)個校驗位才能構成海明碼。在某個海明碼的排列方式其中表示校驗位,數據位由(49)進行校驗。(48)A3 B4 C5 D6(49)AP4P2P1 BP4P3P2 CP4P3P1 DP3P2P1例題27分析要計算海明校驗碼,首先要知道海明校驗碼是放置在2的冪次位上的,即1,2,4,8,16,32,而對于信息位為m的原始數據,需加入k位的校驗碼,它滿足計算時很煩瑣。而有一種簡單的方法,則是從第1位開始寫,遇到校驗位留下空格。例如,對于16位的數據,需要第1、2、4、8、16位作為校驗位(共5個校驗位),
35、加上校驗位后,共有21位。在海明碼的排列方式D9D8D7D6D5D4P4D3D2D1P3D0P2P1中,加上P1到P4四個校驗位之后,D8就是第13位,其相應的二進制表示是1101,因此參加校驗的位就是P4P3P1。例題27答案(48)C (49)C例題28在浮點加減運算中,(50)。(50)A階碼部分與尾數部分分別進行加減運算B階碼與尾數作為一個整體相加減C階碼對齊后,尾數相加減D尾數單獨加減,取兩數中最大階碼作為結果的階碼值例題28分析浮點數的加減法須執行以下五步完成運算: 第1步:對階,對階的目的就是使參與運算的兩個數的階碼相等,以提供尾數相加減的可能性; 第2步:實現尾數的加、減運算;
36、 第3步:尾數規格化; 第4步:尾數的舍入處理; 第5步:檢查階碼是否溢出。綜上所述,可以知道在浮點加減運算中,是階碼對齊后,尾數相加減。例題28答案(50)C例題29下列關于串行加法器與并行加法器的描述中,不正確的是(51)。(51)A相對并行進位,串行進行的處理速度較慢B串行加法器只有一個全加器,并行加法器有多個全加器C若采用并行加法器的分組并行進位方式,那么在組間可采用串行進位方式D并行加法器的并行進位方式容易實現例題29分析加法器主要有串行加法器和并行加法器兩種。在串行加法器中,只有一個全加器,數據逐位串行送入加法器進行運算。并行加法器可有多個全加器,可同時對數據的多位相加,它克服了串
37、行加法器只能逐位進行相加的缺點,很顯然,它的處理速度要比串行加法器快。并行加法器中的每個全加器都有一個從低位送來的進位輸入和一個傳送給高位的進位輸出。在使用并行加法器的時候,雖然操作數的各位是同時提供的,但低位運算所產生的進位會影響高位的運算結果。并行進位又叫先行進位、同時進位,其特點是各級進位信號同時形成。C1=G1+PC0C2=G2+P2C1=G2+P2G1+P2P1C0C3=G3+P3C2=G3+P3G2+P3P2G1+P3P2P1C0C4=G4+P4C3=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0上述各式中所有的進位輸出僅由及最低進位輸入決定,而不依賴于其低位
38、的進位輸入,因此各級進位輸出可以同時產生。這種進位方式是快速的,若不考慮的形成時間,從的最長延遲時間僅為2ty,而與字長無關。但是隨著加法器位數的增加,的邏輯表達式會變得越來越長,輸入變量會越來越多,這會使電路結構變得很復雜,所以完全采用并行進位是不現實的。分組并行進位方式把n位字長分為若干小組,在組內各位之間實行并行快速進位,在組間既可以采用串行進位方式,也可以采用并行快速進位方式,因此有兩種情況。第一種情況是單級先行進位方式,它又稱為組內并行、組間串行進位方式。以16位加法器為例,可分為4組,每組4位。第一小組組內的進位邏輯函數C1C4信號是同時產生的。在這種情況下,若不考慮Gi、Pi的形
39、成時間,從C1C16的最長延遲時間為42ty=8ty,其進位的時間圖如圖2-21所示。第二種情況是多級先行進位方式,又稱為組內并行、組間并行進位方式。在這種方式下,若不考慮的形成時間,它的進位時間圖如圖2-22所示,此時加法器的最長進位延遲時間是6ty。用同樣的方法可以擴展到多于兩級的先行進位加法器,如用三級先行進位結構設計64位加法器。這種加法器的字長對加法時間影響甚小,但造價較高。例題29答案(51)D例題30兩個同符號的數相加或異符號的數相減,所得結果的符號位SF和進位標志CF進行(52)運算為l時,表示運算的結果產生溢出。(52)A與 B或 C與非 D異或例題30分析解答這道題,我們首
40、先需要清楚一個概念,即什么是溢出。溢出,是指運算結果超出機器數的表示范圍。從這個概念我們可以了解到,兩個異號數相加不會產生溢出,僅兩個同號數相加時才有可能產生溢出。兩個正數相加而絕對值超出允許的表示范圍時稱為正溢,兩個負數相加而絕對值超出允許的表示范圍時則稱為負溢。一旦溢出,溢出的部分將丟失,留下來的結果將不正確。如果只有一個符號位,溢出將使結果的符號位產生錯亂。因此,一般計算機中都設置了溢出判斷邏輯,如果產生溢出,將停機并顯示“溢出”標志?,F在我們來看幾個典型的例子,從中我們可以總結出判斷溢出的方法。其實在平時的學習當中,大家也應該盡可能多地自己總結規律,而不要光看書上的判斷方法。在下面的4
41、個例題中,二進制數首位為符號位,后面4位為數據位,采用補碼運算。例1: 3+6=9 0 0011+0 0110 0 1001例2: 8+9=17 0 1000+0 1001 1 0001(正溢)例3: 8+(-5)=3 0 1000+1 1011 0 0011例4: (-9)+(-8)=-17 1 0111+1 1000 0 1111(負溢)看完上面的4個運算式,我們可以開始總結規律了。由于上面的計算,是對兩個4位的帶符號二進制數進行運算,運算結果仍是一個4位帶符號二進制數。所以其運算結果的范圍應是:-16 +15,非常明顯,上面的例2和例4的結果溢出了。接下來,我們對這幾個例題進行詳細分析。
42、為了便于分析,令兩個操作數的符號位分別為Sa和Sb。結果的符號位為Sf。符號位直接參與運算,所產生的符號位進位為Cf。將符號位之后的A1和B1稱為最高有效位,它產生的進位為C。在例3中,C=1,但并未溢出,所以進位不等于溢出,不能簡單地根據單個進位信號去判斷有無溢出,而應當從幾個相關信號之間的關聯去進行溢出判斷。在雙符號位中,高位就是符號位的進位Cf;而低位就是結果的符號位Sf。當Cf與Sf不同時,表示溢出;而相同時,表示操作正常。能達到此效果的運算為異或運算。例題30答案(52)D例題31已知X/2補=C6H,計算機的機器字長為8位二進制編碼,則X補=(53)。(53)A8CH B18H C
43、E3H DF1H例題31分析已知X/2補=C6H,C6H化為二進制數得到11000110,求其真值,得到-0111010。再乘以2(即左移一位)得-1110100,求此數的補碼可得10001100,即8CH。例題31答案(53)A例題32131-45=53在(54)進制下成立。(54)A六 B七 C八 D九例題32分析在六進制中,131-45=42;在七進制中,131-45=53;在八進制中,131-45=66;在九進制中,131-45=15。例題32答案(54)B例題33利用海明碼(Hamming Code)糾正單位錯,如果有 6 位信息位,則需要加入(55)位冗余位。(55)A2 B3 C
44、4 D.5例題33分析按照海明的理論,糾錯碼的編碼就是把所有合法的碼字盡量安排在n維超立方體的頂點上,使得任一對碼字之間的距離盡可能大。如果任意兩個碼字之間的海明距離是d,則所有少于等于d-1位的錯誤都可以檢查出來,所有少于d/2位的錯誤都可以糾正。一個自然的推論是,對某種長度的錯誤串,要糾正錯誤就要用比僅僅檢測它多一倍的冗余位。對于給定的數據位m=6,根據節的公式,即要糾正單個錯誤,k必須取最小值,即可取k=4,得到例題33答案(55)C2.5.2 綜合應用題例題34設有兩個十進制數:(1)將x,y的尾數轉換為二進制補碼形式。(2)設階碼2位,階符1位,數符1位,尾數3位。通過補碼運算規則求
45、出z=x-y的二進制浮點規格化結果。例題34解答(1)設S1為x的尾數,S2為y的尾數,則S1 = (-0.875)10 =(-0.111)2,S1補=1.001S2 = (0.625)10 = (0.101)2,S2補=0.101(2)首先對階,x的階碼為(+01)2,y的階碼為(+10)2,(01)2-(10)2=(-01)2,小階的尾數S1右移一位得到(-0.0111)2,階碼加1,S1經舍入后得到(-0.100)2,對階完畢。得到x的補碼浮點格式為010 1100,y的補碼浮點格式為010 0101。其次,進行尾數相減,采用雙符號位。S1補=11.100,S2補=11.011。尾數右移
46、一位,最低有效位舍掉,階碼加1(右規),則S1S2補=11.011,即規格化結果為0111011。例題35設有兩個浮點數若尾數4位,階碼2位,階符1位,求x+y的值,寫出運算步驟及結果。例題35解答首先對階,= Ex-Ey=(-10) -(+10) = -100,所以Sx右移4位,得到0.00001001,經過舍入處理后,Sx=+0.0001。其次,尾數求和:結果為規格化數,不需要再處理。例題36求有效信息1011的CRC校驗碼。例題36解答求CRC循環冗余校驗碼的基本思路是先確定校驗位的位數,然后選定一個生成多項式,最后用有效數值后面添加校驗位的位數個0并與生成多項式相除,CRC校驗碼為有效
47、數值后加余數。求有效信息1011的CRC校驗碼,計算過程如下:首先,確定校驗位的位數。設r為校驗位的位數,則整個碼字的位數應滿足不等式:設r=3,則不等式滿足。故r最小取3。其次,選定一個r+1位的生成多項式G(x),如G(x)=1011。在有效信息后面添加r個0,然后用它和G(x)進行模2除法運算,所得的余數即為所求的校驗位。顯然,在G(x)=1011的情況下,余數為000,故所求的CRC校驗碼為1011000。例題37已知x=0.10011101,y=0.1110,用不恢復余數陣列除法器求xy。例題37解答這是一道計算題,主要考查不恢復余數陣列除法器的運算方法,關鍵是掌握其運算規則。先求出
48、:-y補=1.0010例題38將下列數進行相關的轉換。(1)將(100.25)10轉換成短浮點數格式。(2)把短浮點數C1C90000H轉換成為十進制數。例題38解答(1)把十進制數轉換成為二進制數,得到:以短浮點數格式存儲該數,因為符號位為0,階碼為10000101,尾數為,所以,短浮點數代碼為,表示為十六進制的代碼為42C88000H。(2)將十六進制代碼寫成二進制形式,并分離出符號位、階碼和尾數。因為,所以符號位為1,階碼為10000011,尾數為。計算出階碼真值(移碼減去偏置值),如下:100000111111111 = 100以規格化二進制數的形式寫出此數,得到寫成非規格化二進制數的
49、形式,為11001.001。轉換成十進制數,并加上符號位(11001.001)2=(25.125)10,所以,該浮點數為-25.125。例題39設浮點數的階碼和尾數均采用補碼表示,且位數分別為5位和7位(均含2位符號位)。若有兩個數求浮點加法Z=X+Y的最終結果。例題39解答首先對階,小階向大階看齊。Y的尾數右移兩位,Y的階碼加2,則Y的浮點數格式為00111 0000101。其次,尾數相加。結果的浮點數格式為00111 0100010。接著,對結果進行規格化。因為尾數的符號位不同(為01),說明它不是規格化的數,需要進行一次右規,才能變成規格化的數,右移一位,階碼加1,則結果的浮點數格式為0
50、1000 0010001。最后,進行溢出判斷。因為結果階碼的兩個符號位不同(為01),所以發生溢出。例題40設有一個8位信息為10101100,試求海明碼的生成和校驗過程。例題40解答因為信息位為8位,根據海明碼的規則2k-1=m+k+1,其校驗位長度為5位,按偶校驗有:P1=00100=1P2=01110=1P3=0111=1P4=0101=0P5=001011=1將5位檢驗位插入到有效信息位中,可得到用二進制表示的海明碼為:1 1 0 1 0 0 1 1 0 1 0 1 1其中,下畫線表示校驗位在海明碼中的位置。上述海明碼傳送到接收方后,若H11(D7)位發生了錯誤,原碼字就變為:1 1 1 1 0 0 1 1 0 1 0 1 1出錯檢錯的過程很簡單,只要將接收到的碼字重新進行偶校驗:S1=100101=1S2=101111=1S3=10111=0S4=00111=1S5=1001011=0故指誤字為01011,其中低4位有效,相應的十進制數是11,指出H11出錯?,F在H11錯成了1,糾錯就是將H11位取反讓它恢復
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 兒童營養不良的識別與糾正
- 空氣動力學與飛行原理 課件 4.3.1-4.3.2 平飛
- 河北省邢臺市南和一中2025年高二化學第二學期期末達標檢測試題含解析
- 安全知識培訓總結(15篇)
- 2025屆福建省泉州市泉港二中化學高二下期末統考模擬試題含解析
- 海南省白沙中學2025屆化學高一下期末統考試題含解析
- 湖南省株洲市荷塘區明照中學等多校2024-2025學年七年級下學期6月期末聯考數學試卷(含答案)
- 廣西大學附屬中學2024-2025學年高一下學期期中考試英語試題
- 崗位練兵活動方案
- 小班益智區域活動方案
- 浙江2025年6月高一學考模擬地理試題及答案
- 黑龍江司法警官職業學院2025年招生政治考察表
- (正式版)CB∕T 4549-2024 船舶行業企業加油-駁油作業安全管理規定
- 得寶松封閉治療
- 三廢環保管理培訓
- 23秋國家開放大學《液壓氣動技術》形考任務1-3參考答案
- 21ZJ111 變形縫建筑構造
- 照片檔案的整理歸檔
- 比賽流程及節目單
- 不良品處理流程及相關管理規定
- 11質點運動的描述
評論
0/150
提交評論