《数字逻辑设计与计算机组成》一练习

简介: 本节书摘来自华章出版社《数字逻辑设计与计算机组成》一 书中的第3章,练习章节,作者:[美]尼克罗斯·法拉菲,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

练习

3.1 现有一个CPA (8),8位的CPA,完成以下练习:

a.    用非门和与非门设计一个加法器,并给出所需逻辑门的总数量。使用第2章给出的全加器SOP表达式实现。
b.    给出所需三极管总数量。
c.    设计一个CPA (32)需要多少三极管?

3.2 计算下列2的补码的和与差值。对于每个结果标明是否有溢出的情况。

3.3 给出1位PGU和1位CGU的POS表达式并用非门和或非门画出它们的电路框图,要求使用最少的逻辑门数量。
3.4 假设一个8位加法器使用两个4位CPA(标记为CPA1和CPA2)组成的,其中进位输出c3作为CPA2的进位输入。CPA1传入原始进位输入c-1。为了提高加法器的运行速度,c3的生成公式为c3 = g3 + p3g2 + p3p2g1 + p3p2p1g0 + p3p2p1p0c-1,其中p和g可以在0.3ns内生成。给出新的加法器可以提升的速率值,ΔFAc = 0.5ns。
3.5 设计和估计用以下模块实现的16位混合加法器的传输延迟:

a.    2个CLA (8)模块
b.    4个CLA (4)模块
c.    8个CLA (2)模块

3.6 通过计算ΔCPA (8)与ΔCLA (8)的比值比较ΔCPA (8)和ΔCLA (8)速率。使用全加器的SOP表达式。
3.7 用4位BCGU设计15位CLA,其中每一个BCGU输出3个进位以及p和g信号。
3.8 用1位2-1 MUX设计一个1位8-1 MUX。假设与非门有0.1ns延迟,给出其传输延迟的估计。
3.9 用1位2-1和1位4-1 MUX设计一个1位8-1 MUX。假设与非门有0.1ns延迟,4-1 MUX用SOP表达式实现,同时估计其传输延迟。
3.10 估计图3-16中8位ALU的传输延迟,假设与非门有0.1ns延迟,加法器用CLA (8)实现,且只有2-1 MUX可用。
3.11 证明图3-22中的电路可以实现ALU映射模块。
3.12 现有一个8位位并行ALU,其只能实现4个功能:加法、减法、按位与和异或。假设一个加法器/减法器模块用一个由CLA (2)模块组成的混合加法器设计。此外,当进行按位计算时溢出标记必须屏蔽。假设只有8位2-1 MUX可以选择。完成以下练习:

    a.    画出数据通路并估计其传输延迟,假设非门和与非门有0.1ns延迟。
    b.    给出其映射模块的真值表。

3.13 用2-1译码器模块设计一个4-2译码器。提示:你也许还需要一个1位2-1 MUX和一个2输入或门。
3.14 用4-2译码器模块设计一个8-3译码器。提示:你也许还需要一个2位2-1 MUX和一个2输入或门。
3.15 用表3-8中给出的1位ALU片真值表设计图3-23所示的8位位串行ALU。
3.16 设计一个2位2的补码比较器,且用4个比较器模块来设计8位比较器。提示:一个2位2的补码比较器输入两个2位输入A、B和gti(大于)、eqi(等于)和lti(小于)信号,“i”表示从之前的模块输入,输出信号为gto、eqo和lto,“o”表示输出。首先设计一个只有A和B的2位2的补码比较器生成三个输出,当A > B时输出为gtt、A = B时输出为eqt、A < B时输出ltt,这里“t”表示最初的。然后将gtt、eqt、ltt与gti、eqi、lti组合起来生成gto、eqo和lto。例如,当(gti = 1且gtt = 1)或(gti = 1且eqt = 1)或(eqi = 1且gtt = 1)或(lti = 1且gtt = 1)时,gto = 1。
3.17 现有图3-26给出的4位阵列乘法器。完成以下练习:

    a.    根据进位与和值的传输延迟估计其传输延迟;即根据ΔFAc和ΔFAs。
    b.    给出n位阵列乘法器的传输延迟公式。

3.18 现有8位阵列乘法器,CLA (8)替换了最后一行的CPA (8)。假设ΔFAc = 0.2ns,ΔFAs = 0.3ns且CLA (8) = 0.8ns,问新的乘法器可以比原来的乘法器运行多快?
3.19 用恢复除法算法运算用N = 10101101除以D = 1110。你可以使用计算器进行二进制运算来验证你的结果。
3.20 首先通过设计一个1位组合减法MUX位片来设计一个阵列除法器,使得传输延迟最小(例如,SOP或者POS表达式);然后用其来设计4位位串行减法MUX模块;且用其替换图3-28中的4位减法和4位MUX对。
3.21 用你熟悉的语言(或者用Excel)写出实现以下倒数除法算法的程序,且当D = 1.0时做一次观察。然后证明倒数除法算法,计算Q,等于N/D,用除法运算(/)计算。倒数除法算法如下:

    
    考虑到在计算Q的过程中没有除法操作;在N除以D中只用到了乘法操作和减法操作。这个算法是在硬件Intel x486处理器中作为浮点除法指令存在的。执行两次程序,一次用输入D = 1.99且N = 2.4,一次使用输入D = 1.56且N = 2.4。考虑到D的尾数总是小于2(例如,D的最大尾数的二进制表示为1.1111111…1 < 2,“浮点”类型中小数点后有23个1,“双浮点”类型中小数点后有52个1)。
    当D变为1.0时比较N值和用原始N(N0)除以(/)原始D(D0)(例如Q = 2.4/1.99)求得的Q值。对于某些i当Di变为1.0时,比较Ni和Q = N/D。对于某些i,当Di = 1.0时可以得到Q = Ni吗?这两次运行你注意到什么?

3.22 给出6.725的IEEE浮点表示。
3.23 给出0.35的IEEE单浮点类型表示。
3.24 0x41DD0000是IEEE单浮点数。在十进制中其表示的数值为多少?
3.25 给出两个单浮点数A = 0xC18D0000 = - 17.625和B = 0x41080000 = 8.5相加求出和值(S)的步骤。
3.26 设计一个8位组合右移运算器。每一次数值进行一次运算右移,符号位不变。且给出- 80右移三次的步骤(- 80 >>> 3)。
3.27 用CPA(8)设计一个8位2的补码的加法器/减法器Verilog行为和结构模块并进行仿真。用“case”语句来描述一个全加器;然后用一个Verilog结构模块来设计CPA(8),使用8个全加器副本。用“assign”语句来溢出标记(ovf)的表达式,用“if-else”语句来描述转换模块。设计一个Verilog测试模块来测试你的设计是否正确,使用测试向量0x80 - 0x01和0x7F + 0x01。在两个例子中溢出标记是否为真?
3.28 用Verilog设计一个8位恢复除法器。用一个Verilog行为模块设计一个1位与全加器相似的减法器。且设计一个8位与8位CPA类似的BPS。设计一个8位2-1 MUX的行为描述。将若干个BPS和MUX模块结合起来用于设计除法器。设计一个测试模块来测试你的设计。
3.29 考虑外部尾数N.F = {1, N.F}的浮点被除数和内部尾数D.F = {1, D.F}的浮点除数,其中N.F和D.F都为4位数值。用练习3.20中4位位串行减法MUX设计一个FPU中的整数除法器。提示:N.F将从右边填充0;这个例子中,在每一步中Ak总是一个5位数值和Ak[4],最高有效位(MSB),不用于确定下一位数(例如Ak [3:0] - D.F);在每一步中Ak [4]用于与借位输出(bo)连接来决定下一个商位qk = Ak[4] + (bok)。
计算机安全
3.30 计算机安全(硬件木马):练习11.12了解计算机恶意电路如何设计。不用实现其触发机制;直接操作MUX来引起计算机攻击(参照11.2节)。
3.31 计算机安全(访问控制):练习11.26设计一个适用于硬件实现的分级访问控制模块(参照11.1.4节和11.1.5节)。

相关文章
|
安全
《数字逻辑设计与计算机组成》一 导读
本书内容包括存储器组织、处理器核心和处理器组织结构,以及硬件支持的计算机安全等。由于技术的进步以及对高速和低功耗设计的需求改变了计算机组织结构的基础,因此本书尝试不仅提供简单的实例用于展示基本的设计概念,而且揭示对现代计算机设计目标的理解。
1530 0
《数字逻辑设计与计算机组成》一3.2 算术函数
本节书摘来自华章出版社《数字逻辑设计与计算机组成》一 书中的第3章,第3.2节,作者:[美]尼克罗斯·法拉菲,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
958 0
|
芯片 异构计算
《数字逻辑设计与计算机组成》一2.9 实现
本节书摘来自华章出版社《数字逻辑设计与计算机组成》一 书中的第2章,第2.10节,作者:[美]尼克罗斯·法拉菲,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1677 0
《数字逻辑设计与计算机组成》一3.6 算术逻辑单元
本节书摘来自华章出版社《数字逻辑设计与计算机组成》一 书中的第3章,第3.6节,作者:[美]尼克罗斯·法拉菲,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2216 0
|
算法
《数字逻辑设计与计算机组成》一 3.4 减法器
本节书摘来自华章出版社《数字逻辑设计与计算机组成》一 书中的第3章,第3.4节,作者:[美]尼克罗斯·法拉菲,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1998 0
《数字逻辑设计与计算机组成》一练习
本节书摘来自华章出版社《数字逻辑设计与计算机组成》一 书中的第2章,练习章节,作者:[美]尼克罗斯·法拉菲,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1436 0
|
存储 芯片
《数字逻辑设计与计算机组成》一 1.2 逻辑设计
本节书摘来自华章出版社《数字逻辑设计与计算机组成》一 书中的第1章,第1.2节,作者:[美]尼克罗斯·法拉菲,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2403 0
《数字逻辑设计与计算机组成》一 1.3 计算机组成
本节书摘来自华章出版社《数字逻辑设计与计算机组成》一 书中的第1章,第1.3节,作者:[美]尼克罗斯·法拉菲,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
894 0
|
测试技术 容器
《数字逻辑设计与计算机组成》一 2.10 硬件描述语言
本节书摘来自华章出版社《数字逻辑设计与计算机组成》一 书中的第2章,第2.10节,作者:[美]尼克罗斯·法拉菲,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1575 0
《数字逻辑设计与计算机组成》一 2.8 设计实例
本节书摘来自华章出版社《数字逻辑设计与计算机组成》一 书中的第2章,第2.8节,作者:[美]尼克罗斯·法拉菲,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1756 0