《計(jì)算機(jī)組成原理》課后題答案清華大學(xué)出版秦磊華吳非··.doc
《《計(jì)算機(jī)組成原理》課后題答案清華大學(xué)出版秦磊華吳非··.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《《計(jì)算機(jī)組成原理》課后題答案清華大學(xué)出版秦磊華吳非··.doc(66頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 第一章 系統(tǒng)給概論 習(xí) 題 一 1.l 解釋下列名詞 摩爾定律:對(duì)集成電路上可容納的晶體管數(shù)目、性能和價(jià)格等發(fā)展趨勢(shì)的預(yù)測(cè),其主要內(nèi)容是:成集電路上可容納的晶體管數(shù)量每18個(gè)月翻一番,性能將提高一倍,而其價(jià)格將降低一半。 主存: 計(jì)算機(jī)中存放正在運(yùn)行的程序和數(shù)據(jù)的存儲(chǔ)器,為計(jì)算機(jī)的主要工作存儲(chǔ)器,可隨機(jī)存取。 控制器:計(jì)算機(jī)的指揮中心,它使計(jì)算機(jī)各部件自動(dòng)協(xié)調(diào)地工作。 時(shí)鐘周期:時(shí)鐘周期是時(shí)鐘頻率的倒數(shù),也稱為節(jié)拍周期或T周期,是處理操作最基本的時(shí)間單位。 多核處理器:多核處理器是指在一枚處理器中集成兩個(gè)或多個(gè)完整的計(jì)算引擎(內(nèi)核)
2、。 字長(zhǎng):運(yùn)算器一次運(yùn)算處理的二進(jìn)制位數(shù)。 存儲(chǔ)容量: 存儲(chǔ)器中可存二進(jìn)制信息的總量。 CPI:指執(zhí)行每條指令所需要的平均時(shí)鐘周期數(shù)。 MIPS:用每秒鐘執(zhí)行完成的指令數(shù)量作為衡量計(jì)算機(jī)性能的一個(gè)指標(biāo),該指標(biāo)以每秒鐘完成的百萬(wàn)指令數(shù)作為單位。 CPU時(shí)間:計(jì)算某個(gè)任務(wù)時(shí)CPU實(shí)際消耗的時(shí)間,也即CPU真正花費(fèi)在某程序上的時(shí)間。 計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu):計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)由多級(jí)構(gòu)成,一般分成5級(jí),由低到高分別是:微程序設(shè)計(jì)級(jí),機(jī)器語(yǔ)言級(jí),操作系統(tǒng)級(jí),匯編語(yǔ)言級(jí),高級(jí)語(yǔ)言級(jí)。 基準(zhǔn)測(cè)試程序:把應(yīng)用程序中使用頻度最高的那那些核心程序作為評(píng)價(jià)計(jì)算機(jī)性能的標(biāo)準(zhǔn)程序。 軟
3、/硬件功能的等價(jià)性:從邏輯功能的角度來(lái)看,硬件和軟件在完成某項(xiàng)功能上是相同的,稱為軟/硬件功能是等價(jià)的,如浮點(diǎn)運(yùn)算既可以由軟件實(shí)現(xiàn),也可以由專門的硬件實(shí)現(xiàn)。 固件:是一種軟件的固化,其目的是為了加快軟件的執(zhí)行速度。 可靠性:可靠性是指系統(tǒng)或產(chǎn)品在規(guī)定的條件和規(guī)定的時(shí)間內(nèi),完成規(guī)定功能的能力。產(chǎn)品可靠性定義的要素是三個(gè)“規(guī)定”:“規(guī)定條件”、“規(guī)定時(shí)間”和“規(guī)定功能”。 MTTF:平均無(wú)故障時(shí)間,指系統(tǒng)自使用以來(lái)到第一次出故障的時(shí)間間隔的期望值。 MTTR:系統(tǒng)的平均修復(fù)時(shí)間。 MTBF:平均故障間隔時(shí)間,指相鄰兩次故障之間的平均工作時(shí)間。 可用性:指系統(tǒng)在任意時(shí)刻可使用的
4、概率,可根據(jù)MTTF、MTTR和MTBF等指標(biāo)計(jì)算處系統(tǒng)的可用性。 1.2 什么是計(jì)算機(jī)系統(tǒng)的硬件和軟件?為什么說(shuō)計(jì)算機(jī)系統(tǒng)的硬件和軟件在邏輯功能上是等價(jià)的? 答:計(jì)算機(jī)硬件系統(tǒng)是指構(gòu)成計(jì)算機(jī)系統(tǒng)的電子線路和電子元件等物理設(shè)備的總稱。硬件是構(gòu)成計(jì)算機(jī)的物質(zhì)基礎(chǔ),是計(jì)算機(jī)系統(tǒng)的核心。計(jì)算機(jī)的硬件系統(tǒng)包含運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備等五大部件。 計(jì)算機(jī)軟件是計(jì)算機(jī)中全部程序的集合。軟件按其功能分成應(yīng)用軟件和系統(tǒng)軟件兩大類。 計(jì)算機(jī)硬件實(shí)現(xiàn)的往往是最基本的算術(shù)運(yùn)算和邏輯運(yùn)算功能,而其它功能大多是通過(guò)軟件的擴(kuò)充得以實(shí)現(xiàn)的。有許多功能可以由硬件實(shí)現(xiàn),也可以由軟件實(shí)現(xiàn),即從用戶
5、的角度來(lái)看它們?cè)诠δ苌鲜堑葍r(jià)的,這一等價(jià)性被稱為軟/硬件邏輯功能的等價(jià)性。 1.3 馮諾依曼型計(jì)算機(jī)的基本思想是什么?按此思想設(shè)計(jì)的計(jì)算機(jī)硬件系統(tǒng)應(yīng)由哪些部件組成?各起什么作用? 答:馮諾依曼型計(jì)算機(jī)的基本思想是存儲(chǔ)程序和程序控制,其中的“存儲(chǔ)程序”是指將解題的步驟編寫成程序,然后把存儲(chǔ)存放到計(jì)算機(jī)的內(nèi)存中,而“程序控制”是指控制器讀出存放在存儲(chǔ)器中的程序并根據(jù)該程序控制全機(jī)協(xié)調(diào)工作以完成程序的功能。 根據(jù)馮諾依曼型計(jì)算機(jī)的基本思想,計(jì)算機(jī)的硬件應(yīng)該由運(yùn)算器、控制器、存儲(chǔ)器、輸入/輸出設(shè)備和總線組成。 各部件的作用: 運(yùn)算器:對(duì)數(shù)據(jù)進(jìn)行運(yùn)算的部件。 存儲(chǔ)器:存放程序
6、和數(shù)據(jù)。 控制器:根據(jù)指令的功能控制構(gòu)成計(jì)算機(jī)的各大功能部件協(xié)調(diào)工作,共同完成指令的功能。 輸入設(shè)備:將外部信息輸送到主機(jī)內(nèi)部的設(shè)備。 輸出設(shè)備:能將計(jì)算機(jī)內(nèi)部的信息以不同并且相應(yīng)的形式反饋給人們的設(shè)備。 總線:連接兩個(gè)或多個(gè)設(shè)備(部件)的公共信息通路。 1.4 什么是計(jì)算機(jī)字長(zhǎng)?它取決于什么?計(jì)算機(jī)字長(zhǎng)統(tǒng)一了哪些部件的長(zhǎng)度? 答:計(jì)算機(jī)的字長(zhǎng)一般指一次參與運(yùn)算數(shù)據(jù)的基本長(zhǎng)度,用二進(jìn)制數(shù)位的長(zhǎng)度來(lái)衡量。 它取決于運(yùn)算器一次運(yùn)算處理的二進(jìn)制位數(shù)。它是計(jì)算機(jī)的重要性能指標(biāo)。常用的計(jì)算機(jī)字長(zhǎng)有8位、16位、32位及64位。 一般與計(jì)算機(jī)內(nèi)部寄存器、加法器
7、、數(shù)據(jù)總線的位數(shù)以及存儲(chǔ)器字長(zhǎng)等長(zhǎng),因此,字長(zhǎng)直接影響硬件的代價(jià)。 1.5 計(jì)算機(jī)系統(tǒng)從功能上可劃分為哪些層次?各層次在計(jì)算機(jī)系統(tǒng)中起什么作用? 答:計(jì)算機(jī)系統(tǒng)分成五級(jí)層次結(jié)構(gòu),第1級(jí)為微程序設(shè)計(jì)級(jí)、第2級(jí)為機(jī)器語(yǔ)言級(jí)、第3級(jí)為操作系統(tǒng)級(jí)、第4級(jí)為匯編語(yǔ)言級(jí)、第5級(jí)為高級(jí)語(yǔ)言級(jí)。 各層次的作用: 微程序級(jí):為機(jī)器指令級(jí)提供機(jī)器指令的解釋指行功能。 機(jī)器指令級(jí):是軟件系統(tǒng)和硬件系統(tǒng)的界面,一條機(jī)器指令的功能由微程序機(jī)器級(jí)的一段微型程序的功能實(shí)現(xiàn)。 操作系統(tǒng)級(jí):調(diào)度計(jì)算機(jī)中的軟件和硬件資源。 匯編語(yǔ)言級(jí):它將用戶編寫的接近人類語(yǔ)言的程序,翻譯成能在
8、機(jī)器上運(yùn)行的目標(biāo)程序。 高級(jí)語(yǔ)言級(jí):完全面向用戶,是用戶關(guān)心的目標(biāo),可執(zhí)行各種用途的程序。 1.6 計(jì)算機(jī)內(nèi)部有哪兩股信息在流動(dòng)?它們彼此有什么關(guān)系? 答:計(jì)算機(jī)中有兩股信息在流動(dòng):一股是控制信息,即操作命令,它分散流向各個(gè)部件;一股是數(shù)據(jù)信息,它受控制信息的控制,從一個(gè)部件流向另一個(gè)部件,在流動(dòng)的過(guò)程被相應(yīng)的部件加工處理。 1.7 為什么說(shuō)計(jì)算機(jī)系統(tǒng)的軟件與硬件可以互相轉(zhuǎn)化? 答:計(jì)算機(jī)硬件實(shí)現(xiàn)的往往是最基本的算術(shù)運(yùn)算和邏輯運(yùn)算功能,而其它功能大多是通過(guò)軟件的擴(kuò)充得以實(shí)現(xiàn)的。有許多功能可以由硬件實(shí)現(xiàn),也可以由軟件實(shí)現(xiàn),即從用戶的角度來(lái)看它們?cè)诠δ苌鲜堑葍r(jià)的,這一等價(jià)性被
9、稱為軟/硬件邏輯功能的等價(jià)性。 由于這樣的等價(jià)性,所以可以說(shuō)計(jì)算機(jī)系統(tǒng)的軟件與硬件是可以互相轉(zhuǎn)化的。 1.8 什么叫軟件系統(tǒng)?它包含哪些內(nèi)容? 答:一臺(tái)計(jì)算機(jī)中全部程序的集合,統(tǒng)稱為這臺(tái)計(jì)算機(jī)的軟件系統(tǒng)。軟件按其功能分成應(yīng)用軟件和系統(tǒng)軟件兩大類。 應(yīng)用軟件是用戶為解決某種應(yīng)用問(wèn)題而編制的一些程序。 系統(tǒng)軟件用于對(duì)計(jì)算機(jī)系統(tǒng)的管理、調(diào)度、監(jiān)視和服務(wù)等功能,常將系統(tǒng)軟件分為以下六類:操作系統(tǒng),言處理程序,標(biāo)準(zhǔn)程序庫(kù),服務(wù)性程序,數(shù)據(jù)庫(kù)管理系統(tǒng)和算機(jī)網(wǎng)絡(luò)軟件。 1.9 說(shuō)明高級(jí)語(yǔ)言、匯編語(yǔ)言和機(jī)器語(yǔ)言三者之間的差別和聯(lián)系。 答:機(jī)器語(yǔ)言是直接用二進(jìn)制代碼指令表達(dá)的計(jì)算機(jī)語(yǔ)言,是一
10、種面向機(jī)器的編程語(yǔ)言,屬于低級(jí)語(yǔ)言。 匯編語(yǔ)言是用助記符號(hào)來(lái)表示計(jì)算機(jī)指令的語(yǔ)言,也是低級(jí)的語(yǔ)言。 高級(jí)語(yǔ)言是一類接近于人類自然語(yǔ)言和數(shù)學(xué)語(yǔ)言的程序設(shè)計(jì)語(yǔ)言的統(tǒng)稱,分為面向過(guò)程的語(yǔ)言和面向?qū)ο蟮恼Z(yǔ)言。 它們都是計(jì)算機(jī)的編程語(yǔ)言,并且是計(jì)算機(jī)編程語(yǔ)言發(fā)展的三個(gè)階段。三者各自的特點(diǎn): 使用機(jī)器語(yǔ)言編寫的程序,占用內(nèi)存少、執(zhí)行效率高。缺點(diǎn):編程工作量大,容易出錯(cuò);依賴具體的計(jì)算機(jī)體系,因而程序的通用性、移植性都很差。 使用匯編語(yǔ)言編寫計(jì)算機(jī)程序,能夠根據(jù)特定的應(yīng)用對(duì)代碼做最佳的優(yōu)化,提高運(yùn)行速度;能夠最大限度地發(fā)揮硬件的功能。但是編寫的代碼非常難懂,不好維護(hù);開發(fā)效率很低,時(shí)間長(zhǎng)且單調(diào)。
11、 高級(jí)語(yǔ)言的優(yōu)點(diǎn)是:編程相對(duì)簡(jiǎn)單、直觀、易理解、不容易出錯(cuò);編寫的計(jì)算機(jī)程序通用性好,具有較好的移植性。 1.10 什么是系統(tǒng)的可靠性?衡量系統(tǒng)可靠性的指標(biāo)有哪些?如何提高系統(tǒng)的可靠性? 答:系統(tǒng)的可靠性是指系統(tǒng)在規(guī)定的條件和規(guī)定的時(shí)間內(nèi),完成規(guī)定功能的能力。 衡量系統(tǒng)可靠性的指標(biāo)有三個(gè):平均無(wú)故障時(shí)間、平均故障間隔時(shí)間和可用性。 提高系統(tǒng)可靠性的常用方法包括避錯(cuò)和容錯(cuò)。前者即避免錯(cuò)誤的出現(xiàn),從而提高系統(tǒng)的平均無(wú)故障時(shí)間;后者容許錯(cuò)誤的出現(xiàn),但采取有效的方法來(lái)防止其造成的不利影響。 1.11 假定某計(jì)算機(jī)1和計(jì)算機(jī)2以不同的方式實(shí)現(xiàn)了相同的指令集,該指令集中共有A、B、C、D
12、四類指令,它們?cè)诔绦蛑兴急壤謩e為40%、20%、20%、20%,機(jī)器1和機(jī)器2的時(shí)鐘周期為600MHZ和800MHZ,各類指令在兩機(jī)器上的CPI如表1.5所示,求兩機(jī)器的MIPS各為多少? 表1.5 兩臺(tái)計(jì)算機(jī)不同指令的CPI A B C D CPI1 2 3 4 5 CPI2 2 2 3 4 解:CPI1= 2*0.4+ 0.2*(3+4+5)= 3.2 MIPS1= f/(CPI1106) = 600106/(3.2106)=187.5 CPI2= 2*0.4+ 0.2*(2+3+4)= 2.6 MIPS2= f/(CPI1106)
13、= 800106/(2.6106)=307.7 1.12 若某程序編譯后生成的目標(biāo)代碼由A、B、C、D四類指令組成,它們?cè)诔绦蛑兴急壤謩e為40%、20%、15%、25%。已知A、B、C、D四類指令的CPI分別為1、2、2、2。現(xiàn)需要對(duì)程序進(jìn)行編譯優(yōu)化,優(yōu)化后的程序中A類指令條數(shù)減少了一半,而其它指令數(shù)量未發(fā)生變化。假設(shè)運(yùn)行該程序的計(jì)算機(jī)CPU主頻為500MHZ。完成下列各題: 1)優(yōu)化前后程序的CPI各為多少? 2)優(yōu)化前后程序的MIPS各為多少? 3)通過(guò)上面的計(jì)算結(jié)果你能得出什么結(jié)論? 解:1)優(yōu)化前:CPI= = 1 0.4 + 2 0.2 + 2 0.15 + 2 0
14、.25 = 1.6 優(yōu)化后:A、B、C、D四類指令在程序中所占比例分別為1/4、1/4、3/16、5/16, CPI= = 1 1/4 + 2 1/4 + 2 3/16 + 2 5/16 = 1.75 2)根據(jù) 公式MIPS =得 優(yōu)化前:MIPS = (500106)/(1.6106) = 312.5 優(yōu)化后:MIPS = (500106)/(1.75106) = 285.7 3)優(yōu)化后,A類指令條數(shù)減少,造成計(jì)算機(jī)的CPI增加,MIPS減少。這樣的優(yōu)化雖然減少了A類指令條數(shù),卻降低了程序的執(zhí)行速度。第二章 數(shù)據(jù)表示方法 習(xí) 題 二 2.1
15、解釋下列名詞 真值:正號(hào)和負(fù)號(hào)分別用“+”和“-”表示,數(shù)據(jù)位保持二進(jìn)制值不變的數(shù)據(jù)表示方法。 數(shù)值數(shù)據(jù):計(jì)算機(jī)所支持的一種數(shù)據(jù)類型,用于科學(xué)計(jì)算,常見的數(shù)值數(shù)據(jù)類型包括小數(shù)、整數(shù)、浮點(diǎn)數(shù)數(shù)等。 非數(shù)值數(shù)據(jù):計(jì)算機(jī)所支持的一種數(shù)據(jù)類型,一般用來(lái)表示符號(hào)或文字等沒有數(shù)值值的數(shù)據(jù)。 機(jī)器數(shù):數(shù)據(jù)在機(jī)器中的表示形式,是正負(fù)符號(hào)數(shù)碼化后的二進(jìn)制數(shù)據(jù)。 變形補(bǔ)碼:用兩個(gè)二進(jìn)制位來(lái)表示數(shù)字的符號(hào)位,其余與補(bǔ)碼相同。即“00”表示正,“11”表示負(fù)。 規(guī)格化:將非規(guī)格化的數(shù)處理成規(guī)格化數(shù)的過(guò)程。規(guī)格化數(shù)規(guī)定尾數(shù)用純小數(shù)表示,且真值表示時(shí)小數(shù)點(diǎn)后第一位不為0(以機(jī)器數(shù)表示時(shí)對(duì)小數(shù)點(diǎn)后第一
16、位的規(guī)定與具體的機(jī)器數(shù)的形式有關(guān))。 機(jī)器零:計(jì)算機(jī)保存數(shù)字的位有限,所能表示最小的數(shù)也有范圍,其中有一個(gè)范圍之中的數(shù)據(jù)無(wú)法精確表示,當(dāng)實(shí)際的數(shù)據(jù)處在這個(gè)無(wú)法精確表示的數(shù)據(jù)范圍時(shí)計(jì)算機(jī)就將該數(shù)作為機(jī)器零來(lái)處理,因此,計(jì)算機(jī)中的機(jī)器零其實(shí)對(duì)應(yīng)的不是一個(gè)固定的數(shù),而是一個(gè)數(shù)據(jù)表示范圍。 BCD碼:用4位二進(jìn)制數(shù)來(lái)表示1位十進(jìn)制數(shù)中的0~9這10個(gè)數(shù)碼,即二進(jìn)制表示的十進(jìn)制數(shù)。 漢字內(nèi)碼:計(jì)算機(jī)內(nèi)部存儲(chǔ)、處理加工和傳輸漢字時(shí)所用的由0和1符號(hào)組成的代碼。 碼距:一組編碼中對(duì)應(yīng)位上數(shù)字位不同的最小個(gè)數(shù)。 奇偶校驗(yàn):通過(guò)檢測(cè)校驗(yàn)碼中1的個(gè)數(shù)的奇/偶性是否改變來(lái)判斷數(shù)據(jù)是否出錯(cuò)的一
17、種數(shù)據(jù)校驗(yàn)方法。 海明校驗(yàn):是一種基于多重奇校驗(yàn)且具有檢測(cè)與糾正錯(cuò)誤的校驗(yàn)方法。其基本原理是將有效信息按某種規(guī)律分成若干組,每組安排一個(gè)校驗(yàn)位進(jìn)行奇偶測(cè)試,就能提供多位檢錯(cuò)信息,以指出最大可能是哪位出錯(cuò),從而將其糾正。 循環(huán)冗余校驗(yàn):是數(shù)據(jù)通信領(lǐng)域中最常用的一種具有檢測(cè)與糾正錯(cuò)誤能力差錯(cuò)校驗(yàn)碼,基利用生成多項(xiàng)式并基于模2運(yùn)算建立編碼規(guī)則。 檢錯(cuò):檢測(cè)被傳送的信息中是否發(fā)生差錯(cuò)。 糾錯(cuò):糾正信息在傳送或存儲(chǔ)過(guò)程中所發(fā)生的錯(cuò)誤。 2.2回答下列問(wèn)題 1)為什么計(jì)算機(jī)中采用二進(jìn)制? 答:因?yàn)槎M(jìn)制具有運(yùn)算簡(jiǎn)單和表示簡(jiǎn)單的優(yōu)點(diǎn),除此之外還有可靠和容易實(shí)現(xiàn)等特點(diǎn)。 具體來(lái)說(shuō),是
18、因?yàn)椋? (1)技術(shù)實(shí)現(xiàn)簡(jiǎn)單,計(jì)算機(jī)是由邏輯電路組成,邏輯電話通常只有兩個(gè)狀態(tài),開關(guān) 的接通與斷開,這兩種狀態(tài)正好可以用“1”和“0”表示。 (2)簡(jiǎn)化運(yùn)算規(guī)則:兩個(gè)二進(jìn)制數(shù)和、積運(yùn)算組合各有三種,運(yùn)算規(guī)則簡(jiǎn)單,有利 于簡(jiǎn)化計(jì)算機(jī)內(nèi)部結(jié)構(gòu),提高運(yùn)算速度。 (3)適合邏輯運(yùn)算:邏輯代數(shù)是邏輯運(yùn)算的理論依據(jù),二進(jìn)制只有兩個(gè)數(shù)碼,正好 與邏輯代數(shù)中的“真”和“假”相吻合。 (4)易于進(jìn)行轉(zhuǎn)換,二進(jìn)制與十進(jìn)制數(shù)易于互相轉(zhuǎn)換。 2)為什么計(jì)算機(jī)中采用補(bǔ)碼表示帶符號(hào)的整數(shù)? 答:采用補(bǔ)碼運(yùn)算具有如下兩個(gè)特征: (1)因?yàn)槭褂醚a(bǔ)碼可以將符號(hào)位和其他位統(tǒng)一處理,同時(shí),減法也可
19、以按加法來(lái)處理,即如果是補(bǔ)碼表示的數(shù),不管是加減法都直接用加法運(yùn)算即可實(shí)現(xiàn)。 (2)兩個(gè)用補(bǔ)碼表示的數(shù)相加時(shí),如果最高位(符號(hào)位)有進(jìn)位,則進(jìn)位被舍棄。 這樣的運(yùn)算有兩個(gè)好處: (a)使符號(hào)位能與有效值部分一起參加運(yùn)算,從而簡(jiǎn)化運(yùn)算規(guī)則。從而可以簡(jiǎn)化運(yùn)算器的結(jié)構(gòu),提高運(yùn)算速度;(減法運(yùn)算可以用加法運(yùn)算表示出來(lái)。) (b)加法運(yùn)算比減法運(yùn)算更易于實(shí)現(xiàn)。使減法運(yùn)算轉(zhuǎn)換為加法運(yùn)算,進(jìn)一步簡(jiǎn)化計(jì)算機(jī)中運(yùn)算器的線路設(shè)計(jì)。 3)浮點(diǎn)數(shù)的表示范圍和精確度分別由什么決定?字長(zhǎng)一定時(shí)浮點(diǎn)數(shù)的表示范圍與精確度之間有和關(guān)系? 答:浮點(diǎn)數(shù)的表示范圍由階碼的位數(shù)決定,精確度由尾數(shù)的位數(shù)決定。 當(dāng)機(jī)器字
20、長(zhǎng)一定時(shí),分給階碼的位數(shù)越多,尾數(shù)占用的位數(shù)就越少,則數(shù)的表示范圍越大。而尾數(shù)占用的位數(shù)減少,必然會(huì)減少數(shù)的有效數(shù)位,即影響數(shù)的精度。 4)漢字輸入碼、機(jī)內(nèi)碼和字型碼在漢字處理過(guò)程中各有何作用? 答:漢字輸入碼、機(jī)內(nèi)碼和字型碼,分別用于漢字的輸入、漢字在計(jì)算機(jī)內(nèi)的處理以及漢字的顯示和打印。 具體來(lái)說(shuō),計(jì)算機(jī)要對(duì)漢字信息進(jìn)行處理,首先要將漢字轉(zhuǎn)換成計(jì)算機(jī)可以識(shí)別的二進(jìn)制形式并輸入到計(jì)算機(jī),這是由漢字輸入碼完成的;漢字輸入到計(jì)算機(jī)后,還需要轉(zhuǎn)換成內(nèi)碼才能被計(jì)算機(jī)處理,顯然,漢字內(nèi)碼也應(yīng)該是二進(jìn)制形式。如果需要顯示和打印漢字,還要將漢字的內(nèi)碼轉(zhuǎn)換成字形碼。 5)在機(jī)內(nèi)碼中如何區(qū)分兩個(gè)
21、ASCII碼字符和一個(gè)漢字? 答:將一個(gè)漢字看成是兩個(gè)擴(kuò)展ASCII碼,使表示GB2312漢字的兩個(gè)字節(jié)的最高位都為1,而每個(gè)ASCII碼字符中每個(gè)字節(jié)的最高位為0。這樣就能區(qū)別一個(gè)機(jī)內(nèi)碼到底對(duì)應(yīng)一個(gè)漢字還是兩個(gè)西文字符。 6)“8421碼就是二進(jìn)制數(shù)”。這種說(shuō)法對(duì)嗎?為什么? 答:這種說(shuō)法是不對(duì)的。8421碼是一種最簡(jiǎn)單的有權(quán)碼,它選取4位二進(jìn)制數(shù)的前10個(gè)代碼0000~1001分別對(duì)應(yīng)表示十進(jìn)制數(shù)的10個(gè)數(shù)碼。若按權(quán)求和,和數(shù)就等于該代碼所對(duì)應(yīng)的十進(jìn)制數(shù)。 8421碼是一種編碼方式,用于十進(jìn)位制與二進(jìn)制數(shù)之間的轉(zhuǎn)換。 而二進(jìn)制數(shù)是用0和1兩個(gè)數(shù)碼來(lái)表示的數(shù)。二者是不同的概念,
22、不能等同。 7)如何識(shí)別浮點(diǎn)數(shù)的正負(fù)?浮點(diǎn)數(shù)能表示的數(shù)值范圍和數(shù)值的精確度取決于什么? 答:當(dāng)采用一般浮點(diǎn)數(shù)格式表示浮點(diǎn)數(shù)時(shí),階碼和尾數(shù)都各包含一位符號(hào)位。浮點(diǎn)數(shù)的正負(fù)由尾數(shù)的的符號(hào)位決定。當(dāng)采用IEEE754格式時(shí),通過(guò)數(shù)符就能判斷出浮點(diǎn)數(shù)的正負(fù)。 浮點(diǎn)數(shù)能表示的數(shù)值范圍和數(shù)值的精確度,分別取決于階碼的位數(shù)和尾數(shù)的位數(shù)。 8)簡(jiǎn)述CRC的糾錯(cuò)原理。 答:發(fā)送部件將某信息的CRC碼傳送至接收部件,接收部件收到CRC碼后,仍用約定的生成多項(xiàng)式G(x)去除,若余數(shù)為0,表示傳送正確;若余數(shù)不為0,表示出錯(cuò),再由余數(shù)的值來(lái)確定哪一位出錯(cuò),從而加以糾正。具體的糾錯(cuò)原理如下: (1)
23、不論錯(cuò)誤出現(xiàn)在哪一位,均要通過(guò)將出錯(cuò)位循環(huán)左移到最左邊的一位上時(shí)被糾正; (2)不為零余數(shù)的具有循環(huán)特性。即在余數(shù)后面補(bǔ)一個(gè)零除以生成多項(xiàng)目式,將得到下一個(gè)余數(shù),繼續(xù)在新余數(shù)基礎(chǔ)上補(bǔ)零除以生成多項(xiàng)式,繼續(xù)該操作,余數(shù)最后能循環(huán)到最開始的余數(shù)。 (3)CRC就是利用不為零余數(shù)的循環(huán)特性,在循環(huán)計(jì)算余數(shù)的同時(shí),將收到的CRC編碼同步移動(dòng),當(dāng)余數(shù)循環(huán)到等于最左邊位出錯(cuò)對(duì)應(yīng)的余數(shù)時(shí),表明已將出錯(cuò)的位移到CRC碼的最左邊,對(duì)出錯(cuò)位進(jìn)行糾錯(cuò)。 (4)繼續(xù)進(jìn)行余數(shù)的循環(huán)計(jì)算,并同步移動(dòng)CRC編碼,當(dāng)余數(shù)又回到最開始的值時(shí),糾錯(cuò)后的CRC碼又回到了最開始的位置。至此,完成CRC的糾錯(cuò)任務(wù)。 2.3
24、 寫出下列各數(shù)的原碼、反碼和補(bǔ)碼。 0, 一0, 0.10101, 一0.10101, 0.11111, 一0.11111, -0.10000, 0.10000 解: x=0,則[+0]原 = 0.00…0 , [+0 ]反= 0.00…0,[+0]補(bǔ) =0.00…0; x=-0,則[-0]原 = 1.00…0,[-0]反 = 1.11…l,[-0]補(bǔ) = 0.00…0; x=0.10101,則[x]原 =0.10101,[x]反 =0.10101,[x]補(bǔ) =0.10101; x=一0.10101,則[x]原 =1.10101,[x]反 =1.01010,
25、[x]補(bǔ) =1.01011; x=0.11111,則[x]原 =0.11111,[x]反 =0.00000,[x]補(bǔ) =0.00001; x=一0.11111,則[x]原 =1.11111,[x]反 =1.00000,[x]補(bǔ) =1.00001; x=-0.10000,則[x]原 =1.10000,[x]反 =1.01111,[x]補(bǔ) =1.10000; x=0.10000,則[x]原 =0.10000,[x]反 =0.10000,[x]補(bǔ) =0.10000。 2.4 已知數(shù)的補(bǔ)碼表示形式,求數(shù)的真值。 [x]補(bǔ)=0.10010, [x]補(bǔ)=1.10010, [x]補(bǔ)=1.
26、11111, [x]補(bǔ)=1.00000, [x]補(bǔ)=0.10001, [x]補(bǔ)=1.00001, 解: [x]補(bǔ)=0.10010,則[x]原=0.10010,x=0.10010; [x]補(bǔ)=1.10010,則[x]原=1.01101,x=-0.01101; [x]補(bǔ)=1.11111,則[x]原=1.00000,x=-0; [x]補(bǔ)=1.00000,則[x]原=1.11111,x=-0.11111; [x]補(bǔ)=0.10001,則[x]原=0.10001,x=0.10001; [x]補(bǔ)=1.00001,則[x]原=1.11110,x=-0.11110。 2.5 已知
27、x=0.10110,y=—0.01010,求: [x/2]補(bǔ), [x/4]補(bǔ), [y/2]補(bǔ), [2y]補(bǔ) 解: [x]原=0.10110=[x]反=[x]補(bǔ), 所以[x/2]補(bǔ)=0.010110,[x/4]補(bǔ)=0.0010110; [y]原=1.01010,[y]反=1.10101,[y]補(bǔ)=1.10110, 所以[y/2]補(bǔ)=1.110110,[2y]補(bǔ)=1.0110。 2.6 C語(yǔ)言中允許無(wú)符號(hào)數(shù)和有符號(hào)整數(shù)之間的轉(zhuǎn)換, 下面是一段C語(yǔ)言代碼: Int x =-1; Unsigned u=2147483648; Printf (“x=%u=%d\n
28、”,x,x); Printf (“u=%u=%d\n”,u,u); 給出在32位計(jì)算機(jī)中上述程序段的輸出結(jié)果并分析原因. 解:x=4294967295=-1;u=2147483648=-2147483648 原因:x是int型,在計(jì)算機(jī)中以補(bǔ)碼形式存在。%u以無(wú)符號(hào)輸出,%d輸出真值,所以x=4294967295=-1。 u=231是一個(gè)無(wú)符號(hào)數(shù),無(wú)溢出,由于首位為1 %u符號(hào)輸出第一位為非符號(hào)位,所以是2147483648 %d 第一位為符號(hào)位,所以是負(fù)數(shù),取反加1還是231所以是-2147483648。 2.7 分析下列幾種情況下所能表示的數(shù)據(jù)范圍分別是多少
29、 1)16位無(wú)符號(hào)數(shù); 2)16位原碼定點(diǎn)小數(shù); 3)16位補(bǔ)碼定點(diǎn)小數(shù); 4) 16位補(bǔ)碼定點(diǎn)整數(shù); 解: 1)16位無(wú)符號(hào)數(shù):0 ~ 1111 1111 1111 1111,即0 ~ 216-1=65535 2)16位原碼定點(diǎn)小數(shù):1.111 1111 1111 1111 ~ 0.111 1111 1111 1111,即 -(1-2-15)~ 1-2-15 3)16位補(bǔ)碼定點(diǎn)小數(shù):1.000 0000 0000 0000 ~ 0.111 1111 1111 1111,即 -1 ~ 1-2-15 4) 16位補(bǔ)碼定點(diǎn)整數(shù):1000 0000 0000 0000
30、 ~ 0111 1111 1111 1111,即 -215 ~ 215-1 2.8 用補(bǔ)碼表示8位二進(jìn)制整數(shù),最高位用一位表示符號(hào)(即形如x0x1x2x3x4x5x6x7)時(shí),模應(yīng)為多少? 解:因?yàn)?位二進(jìn)制數(shù)補(bǔ)碼的表示范圍為:-128~127一共有256個(gè)數(shù),所以模為256。 2.9 用IEEE754 32位浮點(diǎn)數(shù)標(biāo)準(zhǔn)表示十進(jìn)制數(shù) a) b)3.1415927 c)64000 解: a) 首先分別將整數(shù)和分?jǐn)?shù)部分轉(zhuǎn)換成二進(jìn)制數(shù): =-110.101 移動(dòng)小數(shù)點(diǎn),使其變成1.M的形式: -110.101=-1.10101*22 于是得到: S=0, e
31、= 2,E= 10+01111111 = 10000001,M = 10101 最后得到32位浮點(diǎn)數(shù)的二進(jìn)制存儲(chǔ)格式為: 1100 0000 1101 0100 0000 0000 0000 0000=(C0D40000)16 b) 首先分別將整數(shù)和分?jǐn)?shù)部分轉(zhuǎn)換成二進(jìn)制數(shù): 3.1415927=11.00100100001111110110101 移動(dòng)小數(shù)點(diǎn),使其變成1.M的形式 11.00100100001111110110101=1.1001001000011111101101012 于是得到: S=0, e = 1,E= 1+01111111 =10000000,M
32、= 10010010000111111011010 最后得到32位浮點(diǎn)數(shù)的二進(jìn)制存儲(chǔ)格式為: 0100 0000 0100 1001 0000 1111 1101 1010=(40490FDA)16 c) 首先將6400轉(zhuǎn)換成二進(jìn)制數(shù): 64000=1100100000000 移動(dòng)小數(shù)點(diǎn),使其變成1.M的形式 1100100000000=1.100100000000212 于是得到: S=0, e = 12,E= 1100+01111111 =10001011,M = 1001 最后得到32位浮點(diǎn)數(shù)的二進(jìn)制存儲(chǔ)格式為: 0100 0101 1100 1000 0000
33、0000 0000 0000=(45C80000) 16 2.10 求與IEEE754 32位浮點(diǎn)數(shù)43940000H對(duì)應(yīng)的十進(jìn)制數(shù)。 解: 43940000H=(0100 0011 1001 0100 0000 0000 0000 0000)2 S=0,E=(10000111)2-127=8,M=1.00101 所以表示數(shù)為100101000,對(duì)應(yīng)的十進(jìn)制數(shù)為296。 2.11 求32位 IEEE754 浮點(diǎn)數(shù)能表示的最大數(shù)和最小數(shù)。 解:用IEEE754格式(E的取值范圍:1~254,留出全0和全1分別表示0和無(wú)窮大) 31 30 23 22
34、 0 S E M (1) 最大數(shù)的二進(jìn)制表示: 0 11111110 11111111111111111111111 即 2127(2-2-23) (2) 最小數(shù)的二進(jìn)制表示: 1 11111110 11111111111111111111111 即 - 2127(2-2-23) 2.12 設(shè)有兩個(gè)正浮點(diǎn)數(shù):N1=2mM1,N2=2nM2。 (1)若m>n,是否有N1>N2? (2)若M1和M2是規(guī)格化的數(shù),上述結(jié)論是否正確? 解:(1)不一定。 例如,N1=230.001,N2=220.01,此時(shí)m>n,
35、卻有N1=N2。 再如,N1=230.001,N2=220.1,此時(shí)m>n,卻有N1<N2。 (2)正確。 因?yàn)楦↑c(diǎn)數(shù)規(guī)格化,要求尾數(shù)的最高位為非0數(shù)碼,即當(dāng)尾數(shù)的值不為零時(shí),其絕對(duì)值應(yīng)大于或等于(1/2)10。 那么M1和M2都必須是0.1 … 的形式。這時(shí),若m>n,則一定有N1>N2。 2.13 設(shè)二進(jìn)制浮點(diǎn)數(shù)的階碼為3位,尾數(shù)是7位。用模2補(bǔ)碼寫出它們所能表示的最大正數(shù)、最小正數(shù)、最大負(fù)數(shù)和最小負(fù)數(shù),并將它們轉(zhuǎn)換成十進(jìn)制數(shù)。 解: 補(bǔ)碼 真值 最大正數(shù): 011;0.111111, 23(1-2-6) 最小正數(shù): 101;0.000001,
36、 232-6 最大負(fù)數(shù): 101;1.111111, -232-6 最小負(fù)數(shù): 011;1.000000, -23(1-2-6) 2.14 將下列十進(jìn)制數(shù)表示成浮點(diǎn)規(guī)格化數(shù),階碼4位,尾數(shù)10位,各含1位符號(hào),階碼和尾數(shù)均用補(bǔ)碼表示。 (1)57/128 (2) —69/128 解:(1)57/128=(0.0111001)2,記x=0.0111001,則[x]原=[x]反=[x]補(bǔ)=0.0111001, 規(guī)格化:[x]補(bǔ)=0.111001*2-1 階碼的原碼為:1001,因此補(bǔ)碼為:1111 尾數(shù)為:0111001000 表示成浮點(diǎn)規(guī)
37、格化數(shù):1111 0111001000 (2)-69/128=(-0.1000101)2,記x=-0.1000101,則[x]原=1.1000101,[x]反=1.0111010,[x]補(bǔ)=1.0111011, 無(wú)需規(guī)格化,階碼為0000,尾數(shù)為1011101100 表示成浮點(diǎn)規(guī)格化數(shù):0000 1011101100 2.15 設(shè)有效信息為01011011,分別寫出奇校驗(yàn)碼和偶校驗(yàn)碼。如果接收方收到的有效信息為01011010,說(shuō)明如何發(fā)現(xiàn)錯(cuò)誤。 解:奇偶校驗(yàn)位分別為:0和1, 奇校驗(yàn)碼:010110110 偶校驗(yàn)碼:010110111 如果采用奇校驗(yàn),則發(fā)送方發(fā)出的奇校驗(yàn)
38、碼x=010110110(前8位是有效信息位,最后一位是校驗(yàn)位), 如果接收方收到的x=010110100 (只有1位出錯(cuò),最后一個(gè)0是校驗(yàn)位), 接收方按奇校驗(yàn)方式根據(jù)01011010計(jì)算得到的驗(yàn)位C’=1 ,與從信息中讀到得校驗(yàn)碼的取值不同,表明傳送的信息發(fā)生了錯(cuò)誤。 如果采用偶校驗(yàn),利用相似的方法可以發(fā)現(xiàn)錯(cuò)誤。 2.16由 6 個(gè)字符的 7 位 ASCII 編碼排列,再加上水平和垂直偶校驗(yàn)位構(gòu)成如表2.23的行列結(jié)構(gòu)(最后一列為水平奇偶校驗(yàn)位,最后一行為垂直奇偶校驗(yàn)位) 表2.23 ASCII碼交叉校驗(yàn) 字符 7 位 ASCII 碼 HP 3 0 X1 X2
39、 0 0 1 1 0 Y1 1 0 0 1 0 0 X3 1 + X4 1 0 1 0 1 1 0 Y2 0 1 X5 X6 1 1 1 1 D 1 0 0 X7 1 0 X8 0 = 0 X9 1 1 1 X10 1 1 VP 0 0 1 1 1 X11 1 X12 則 X1 X2 X3 X4 處的比特分別為 _1110_; X5 X6 X7 X8 處的比特分別為 _1000_; X9 X10 X11 X12 處的比特分別為 _1011_; Y1 和 Y2 處的字符分別為
40、__I__ 和 __7__。 解答思路:利用交叉奇/偶校驗(yàn)原理來(lái)確定各個(gè)X值,再查詢ASCII碼表獲知 Y1 和 Y2是什么字符。 2.17 設(shè)8位有效信息為01101ll0,試寫出它的海明校驗(yàn)碼。給出過(guò)程,說(shuō)明分組檢測(cè)方式,并給出指誤字及其邏輯表達(dá)式。如果接收方收到的有效信息變成01101111,說(shuō)明如何定位錯(cuò)誤并糾正錯(cuò)誤。 解:被檢驗(yàn)位有8位,設(shè)檢驗(yàn)位有r位 因?yàn)椋?+r<=2r -1 r=4; 設(shè)四位分別為P1,P2,P3,P4 海明碼為:P1P20P3110P41110 P1:3,5,7,9,11 P2:3,6,7,1
41、0,11 P3:5,6,7,12 P4:9,10,11,12 所以 P1=1,P2=1 P3=0 P4=1 海明碼為:110011011110 指錯(cuò)位G1:1,3,5,7,9,11 G2:2,3,6,7,10,11 G3:4,5,6,7,12 G4:8,9,10,11,12 G1=0,G2=0,G3=0,G4=0 圖略。 2.18 設(shè)要采用CRC編碼傳送的數(shù)據(jù)信息x=1001,當(dāng)生成多項(xiàng)式為G(x)=1101時(shí),請(qǐng)寫出它的循環(huán)校驗(yàn)碼。若接收方收到的數(shù)據(jù)信息x’=1101,說(shuō)明如何定位錯(cuò)誤并糾正錯(cuò)誤。 解:作模二除
42、法: 所以循環(huán)碼為:1001011。 若接收到的數(shù)據(jù)信息x’=1101,,所以是第2位出錯(cuò),將第2位的1改為0即可。 第三章 運(yùn)算方法和運(yùn)算器 習(xí) 題 三 3.1解釋下列名詞 變形形補(bǔ)碼:即用兩個(gè)二進(jìn)制位來(lái)表示數(shù)據(jù)的符號(hào)位,其余與補(bǔ)碼相同。 溢出:運(yùn)算結(jié)果超出數(shù)據(jù)類型所能表示數(shù)據(jù)范圍的現(xiàn)象稱為溢出。 陣列乘法:采用類似手工乘法運(yùn)算的方法,用大量與門產(chǎn)生手工乘法中的各乘積項(xiàng),同時(shí)將大量一位全加器按照手工乘法算式中需要進(jìn)行加運(yùn)算的各相關(guān)項(xiàng)的排列方式組成加法器陣列。 恢復(fù)余數(shù)除法:比較被除數(shù)(余數(shù))與除數(shù)的大小是用減法實(shí)現(xiàn)的。對(duì)原碼除法而言,由于操
43、作數(shù)以絕對(duì)值的形式參與運(yùn)算,因此,相減結(jié)果為正(余數(shù)的符號(hào)位為0)說(shuō)明夠減,商上1;相減結(jié)果為負(fù)(余數(shù)的符號(hào)位為1)說(shuō)明不夠減,商上0。 由于除法通過(guò)減法實(shí)現(xiàn),當(dāng)商上1時(shí),可將比較數(shù)據(jù)大小時(shí)的減法操作與除法操作中的減法操作合并,即商上1后繼續(xù)后面的除法操作。商上0時(shí)表明不夠減,但因比較操作時(shí)已經(jīng)實(shí)施了一次減法,因此,需要對(duì)執(zhí)行比較操作后的結(jié)果加上除數(shù),既將余數(shù)還原成比較操作前的數(shù)值,這種方法就稱為恢復(fù)余數(shù)法。 不恢復(fù)余數(shù)除法:又稱加減交替法,是對(duì)恢復(fù)余數(shù)法的改進(jìn)。不恢復(fù)余數(shù)法的特點(diǎn)是不夠減時(shí)不再恢復(fù)余數(shù),而根據(jù)余數(shù)的符號(hào)作相應(yīng)處理就可繼續(xù)往下運(yùn)算,因此運(yùn)算步數(shù)固定,控制簡(jiǎn)單,提高了運(yùn)算速度
44、。 陣列除法:類似于陣列乘法器的思想,為了加快除法的執(zhí)行速度,也可以采用陣列除法器來(lái)實(shí)現(xiàn)除法。為簡(jiǎn)化運(yùn)算及陣列除法器的結(jié)構(gòu),對(duì)參加運(yùn)算的數(shù)據(jù)進(jìn)行適當(dāng)?shù)奶幚?,使其以正?shù)的形式參加運(yùn)算。 行波進(jìn)位:多位進(jìn)位之間存在高位進(jìn)位的產(chǎn)生依賴低位進(jìn)位的一種進(jìn)位方式。 并行進(jìn)位:高、低進(jìn)位之間不存在具有依存關(guān)系,而是同時(shí)計(jì)算的進(jìn)位方式。 算術(shù)移位:分為算術(shù)左移和算術(shù)右移。其中算數(shù)左移n位相當(dāng)于乘上2n,執(zhí)行方法是把原來(lái)的數(shù)中每一位都向左移動(dòng)n個(gè)位置,左面移出的高位丟棄不要,右面低位空出的位置上全部補(bǔ)0,當(dāng)符號(hào)位發(fā)生改變時(shí)表明發(fā)生了溢出。算術(shù)右移時(shí),符號(hào)位保持不變,其余各位依次右移,最右邊一位移出,將
45、符號(hào)位拷貝到左邊空出的位,一次移位相當(dāng)于除2。 邏輯移位:邏輯左移n位的執(zhí)行方法,是把原來(lái)的數(shù)中每一位都向左移動(dòng)n個(gè)位置,左面移出的高位丟棄不要,右面低位空出的位置上全部補(bǔ)"0"。 邏輯右移n位的執(zhí)行方法是把原來(lái)數(shù)中的每一位都向右移動(dòng)n個(gè)位置,右面移出的低位丟棄不要,左面高位空出的位置上全部補(bǔ)0。 對(duì)階:使階碼相等的過(guò)程,對(duì)階的時(shí)一般采取小的階碼向大階碼看齊的方式。 規(guī)格化:就是使浮點(diǎn)數(shù)的運(yùn)算結(jié)果中,將尾數(shù)從非規(guī)格化數(shù)變成規(guī)格化數(shù)的過(guò)程。根據(jù)尾數(shù)形式的不同,規(guī)格化可分為左移規(guī)格化和右移規(guī)格化。 3.2回答下列問(wèn)題: 1)為什么采用并行進(jìn)位能提高加法器的運(yùn)算速度? 答:由于
46、并行進(jìn)位電路能很快產(chǎn)生各位的進(jìn)位信號(hào),使得加法器的速度大大提高。 2)如何判斷浮點(diǎn)數(shù)運(yùn)算結(jié)果是否發(fā)生溢出? 答:由于溢出與數(shù)據(jù)的表示范圍有關(guān),而浮點(diǎn)數(shù)的階碼影響到其數(shù)據(jù)表示的范圍,因此,浮點(diǎn)數(shù)的溢出是通過(guò)接碼的是否溢出為判斷標(biāo)志。對(duì)于采用雙符號(hào)位的階碼而言,當(dāng)雙符號(hào)位不同時(shí)表示浮點(diǎn)數(shù)發(fā)生溢出,否則則未發(fā)生溢出。 3)如何判斷浮點(diǎn)數(shù)運(yùn)算結(jié)果是否為規(guī)格化數(shù)?如果不是規(guī)格化數(shù),如何進(jìn)行規(guī)格化? 答:當(dāng)尾數(shù)采用補(bǔ)碼表示時(shí),若運(yùn)算結(jié)果不是11.0…或00.1…的形式時(shí),結(jié)果就不是規(guī)格化數(shù)。則應(yīng)進(jìn)行相應(yīng)的規(guī)格化處理: 當(dāng)尾數(shù)符號(hào)為01或10時(shí),需要向右規(guī)格化,且只需將尾數(shù)右移一位,同時(shí)將結(jié)果
47、的階碼值加1。 當(dāng)尾數(shù)運(yùn)算結(jié)果為11.1…或00.0…時(shí)需要左移規(guī)格化,而且左移次數(shù)不固定,與運(yùn)算結(jié)果的形式有關(guān)。 左規(guī)的方法是尾數(shù)連同符號(hào)位一起左移位、和的階碼減1,直到尾數(shù)部分出現(xiàn)11.0或00.1的形式為止。 4)為什么陣列除法器中能用CAS的進(jìn)位/借位控制端作為上商的控制信號(hào)? 答:陣列除法器利用不恢復(fù)余數(shù)的除法,當(dāng)商上1的時(shí)候,會(huì)產(chǎn)生進(jìn)位,當(dāng)商上0時(shí),不產(chǎn)生進(jìn)位,進(jìn)位信號(hào)與上商信號(hào)是相同的,所以可以用CAS的進(jìn)位/借位控制作為上商的控制信號(hào)。 5)移位運(yùn)算和乘法及除法運(yùn)算有何關(guān)系? 答:移位運(yùn)算是乘除法中的基本運(yùn)算。 3.3 已知x和y,用變形補(bǔ)碼計(jì)算x+y,并判
48、斷結(jié)果是否溢出。 (1) x=0.11010,y=0.101110 (2) x=0.11101,y=-0.10100 (3) x=-0.10111,y=-0.11000 解:(1)[x+y]補(bǔ)=01.100010,溢出。 (2)[x+y]補(bǔ)=00.01001,未溢出。 (3)[x+y]補(bǔ)=10.10001,溢出。 3.4 已知x和y,用變形補(bǔ)碼計(jì)算x-y,并判斷結(jié)果是否溢出。 (1) x=0.11011,y=0.11101 (2) x=0.10111,y=0.11110 (3) x=-0.11111,y=-0.11001 解:(1)[x-y]補(bǔ)=11.
49、11110,未溢出。 (2)[x-y]補(bǔ)=11.11001,未溢出。 (1)[x-y]補(bǔ)=11.11001,未溢出。 3.5 設(shè)移碼用6位表示(包含2位符號(hào)位),求[x y]移 (1)x = -6 , y = -3 (2)x=7 , y =11 (3)x=-3 , y =-12 解:(1)[x]移=001010,[y]移= 001101 [-y]移=110011 [Y]補(bǔ)= 111101 [-Y]補(bǔ)= 000011 [X]移 + [y]移=010111, [X]移 + [Y]補(bǔ)= 001010+111101 =000111 根據(jù)移碼加法公式[x + y]移=
50、[X]移 + [Y]補(bǔ)= 000111 根據(jù)移碼加法公式及溢出判斷規(guī)則,雙符號(hào)位為00,結(jié)果為負(fù),未溢出。 根據(jù)移碼的減法公式: [x-y]移 = [x]移 + [-y]補(bǔ) = 001010 + 000011 = 001101 根據(jù)移碼溢出判斷規(guī)則,雙符號(hào)位為00,結(jié)果為負(fù),未溢出。 (2)[x]移=110111, [y]補(bǔ)= 001011 [-y]補(bǔ)=110101 根據(jù)移碼加法公式[x + y]移=[X]移 + [Y]補(bǔ)= 010111+ 001011 = 100010 (根據(jù)教材中說(shuō)明的當(dāng)以譯碼和補(bǔ)碼兩種數(shù)據(jù)表示進(jìn)行運(yùn)算時(shí),要將移碼第一符號(hào)位表示為0) 根據(jù)移碼
51、溢出判斷規(guī)則,雙符號(hào)位為10,結(jié)果為正,且發(fā)生溢出。 根據(jù)移碼的減法公式: [x-y]移 = [x]移 + [-y]補(bǔ) = 010111+ 110101 = 001100 根據(jù)移碼溢出判斷規(guī)則,雙符號(hào)位為00,結(jié)果為負(fù),未溢出。 (3)略,請(qǐng)參照本題前兩小題的思路和方法求解即可 3.6用原碼一位乘法計(jì)算xy=? (1) x=-0.11111,y=0.11101 (2) x=-0.11010,y=-0.01011 解:(1) 部分積 乘數(shù)(y) 判斷位 說(shuō)明
52、 ↑ 00.00000 yf.11101 P0=0 +00.11111 00.11111 →00.01111 1 yf.1110 右移一位,得P1 +00.00000
53、 00.01111 →00.00111 11 yf.111 右移一位,得P2 +00.11111 01.00110 →00.10011 011 yf.11 右移一位,得P3
54、 +00.11111 01.10010 →00.11001 0011 y.1 右移一位,得P4 +00.11111 01.11000 →00.11100 00011 yf 右移一位,得P5=|x||y| 由于 Pf=xfyf=01=1 所以 xy = -0.1110000011 (2)
55、 部分積 乘數(shù)(y) 判斷位 說(shuō)明 ↑ 00.00000 yf. 01011 P0=0 +00.11010 00.11010 →00.01101 0 yf.0101 右移一位,得P1
56、 +00.11010 01.00111 →00.10011 10 yf.010 右移一位,得P2 +00.00000 00.10011
57、 →00.01001 110 yf.01 右移一位,得P3 +00.11010 01.00011 →00.10001 1110 y.0 右移一位,得P4 +00.00000 00.10001 →00.01000 11110 yf 右移一位,得P5=|x||y| 由于
58、 Pf=xfyf=11=0 所以 xy = 0.0100011110 3.7用補(bǔ)碼一位乘法計(jì)算xy=? (1) x=0.10110,y=-0.00011 (2) x=-0.011010,y=-0.011101 解:(1) [x]補(bǔ)=0.10110, [-x]補(bǔ)=1.01010, [y]補(bǔ)=1.11101 部分積 乘數(shù) ynyn+1 說(shuō)明
59、 00.00000 1.111010 yn+1=0 +11.01010 yn+1yn=01,加[-x]補(bǔ) 11.01010 → 11.10101 0 1.11101 右移一位,得P1 +00.10110 yn+1yn=10,加[x]補(bǔ)
60、 00.01011 →00.00101 10 1.1110 右移一位,得P2 +11.01010 yn+1yn=01,加[-x]補(bǔ) 11.01111 →11.10111 110 1.111 右移一位,得P3 +00.00000 yn+1y
61、n=11,加0 11.10111 →11.11011 1110 1.11 右移一位,得P4 +00.00000 yn+1yn=11,加0 11.11011 →11.11101 11110 1.1 右移一位,得P5 +00.00000 yn+1yn=11,加0 11.11101 11110
62、 最后一步數(shù)據(jù)不移位 所以 [xy]補(bǔ)=1.1110111110 (2) [x]補(bǔ)=1.100110, [-x]補(bǔ)=0.011010, [y]補(bǔ)=1.100011 部分積 乘數(shù) ynyn+1 說(shuō)明 00.000000
63、 1.1000110 yn+1=0 +00.011010 yn+1yn=01,加[-x]補(bǔ) 00.011010 →00.001101 0 1.100011 右移一位,得P1 +00.000000 yn+1yn=11,加0 00.001101
64、 →00.000110 10 1.10001 右移一位,得P2 +11.100110 yn+1yn=10,加[x]補(bǔ) 11.101100 →11.110110 010 1.1000 右移一位,得P3 +00.000000 yn+1yn=00,加0 11.1
65、10110 →11.111011 0010 1.100 右移一位,得P4 +00.000000 yn+1yn=00,加0 11.111011 →11.111101 10010 1.10 右移一位,得P5 +00.011010 yn+1yn=01,加[-x]補(bǔ) 00.010111 →00.0010
66、11 110010 1.1 右移一位,得P6 +00.000000 yn+1yn=00,加0 00.001011 110010 最后一步數(shù)據(jù)不移位 所以 [xy]補(bǔ)=0.001011110010 3.8用原碼不恢復(fù)余數(shù)法和補(bǔ)碼不恢復(fù)余數(shù)法計(jì)算xy =? (1) x=0.10101,y=0.11011 (2) x=-0.10101,y=0.11011 解:(1)[y]補(bǔ)=0.11011,[-y]補(bǔ)=1.00101 1 源碼不恢復(fù)余數(shù)法: 1 0 1 被除數(shù)/余數(shù) 商寄存器 上商位 說(shuō)明 00.10101 +[-y]補(bǔ) 11.00101 (x-y)比較 11.11010 0 r0<0,商上0 ← 1
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案