第3章

Digital Logic Design and Computer Organization with Computer Architecture for Security
组合电路:大型设计

3.1 简介

在前一章中介绍的设计技术只适用于很少输入数目的组合电路。有很多输入的组合电路必须以不同的方式设计。例如,考虑有n = 32个输入的组合电路。其真值表可能会有超过40亿行——对于第2章介绍的设计电路方法来说,这个数目特别巨大。再有,大型电路肯定会遇到设计扇入和扇出的需求。这就要求一种自顶向下的方法,将大型组合电路设计问题反复地分成较小的问题,直至小到可以用第2章所学的设计技术来解决为止。然后大型电路通过将较小型电路模块进行组装来设计完成。
具有加法、减法、乘法和除法等初级算术操作的电路是大型电路应用于处理器的例子。类似于软件解决方案可以实现需要不同处理器时间和存储器使用情况的代替算法,大型组合电路可以用不同总量的硬件实现(例如三极管数量)。具有越多的三极管数量的电路解决方案,通常意味着具有更小的电路延迟来执行更高数量的逻辑操作,但也更耗能量。
通常,更多的硬件意味着更少的处理时间。包含快速算法模块的CPU有望更快地运行;多核处理器有望比单核处理器运行任务速度更快,等等。
在这章中,我们提供了算术电路的设计实例。特别地,我们将讨论通常称为快速加法器的设计,也展示减法器、2的补码加法器、算术逻辑单元(ALU)、乘法器和除法器的设计。这章同样也会展示IEEE浮点(FP)数标准和算术。
自顶向下的设计方法
自顶向下的方法,也叫分层的方法,是指一种设计流程,如包含父结点和叶结点的树结构。在根结点的大型设计问题可以依次在叶结点划分为较小的设计问题。根结点的问题第一次将被分为较小设计问题为子结点。如果需要,在每一个子结点(现在为父结点)上的较小设计问题又可以分为更小的设计问题。这个处理过程一直持续直到每一个在叶结点的设计问题足够小并且拥有更少的输入。
对于叶结点上的每一个设计问题,第2章中的技术都可以用来设计电路。这些电路随后将连续组合成目标大型组合电路。设计可能需要一个或多个较小电路的副本。最终电路必须无任何扇入和扇出问题。
在设计流程中的每一步,有很多种方法和算法都会进行检查,对如电路延迟和逻辑门数量进行权衡分析,然后选出最佳的解决方案来满足整个设计要求。通常,一位并行和一位串行设计分区技术(稍后定义)从根结点开始被用于每一个父结点。
当设计问题被分成较小的设计问题时,分区被称为位并行的。例如,生成n位与或者n位和的组合AND/ADD电路模块的设计可以视为三个分开的设计问题:n位的位与逻辑、n位的加法器和n位2-1的多路选择器(MUX),当n = 8时如图3-1所示。MUX选择位与逻辑的结果或者加法器的和值来作为输出。虽然位与逻辑、加法器和MUX都只是实现单一的功能,但是对于第2章所学的方法来说,还是很大型的设计问题。这三个模块都必须再分为更小的设计问题。

位串行方法用于将设计问题分成有更少输入的较小问题。例如,n位输入的大型电路设计问题可以分为称为片的k位输入设计问题,这里k(最好)能整除n。每片都可以执行一个或者多个函数操作,但只能对较少的输入位进行操作。例如,一个8位加法器可以用8个全加器(FA)进行设计;8位2-1 MUX可以用8个1位2-1 MUX进行设计。在图中,每个结点旁边的数字表示了片的数量。在k位片不会违反所用逻辑门的扇入扇出限制时,常数k可以作为一个选择。
在用位串行方法设计8位AND/ADD模块时,我们可以使用8片1位AND/ADD片或者4片2位AND/ADD片来进行设计,如图3-2所示。通常n位模块可以用n个1位、n/2个2位、n/4个4位等来设计。每片需要输出附加信号——例如,当选择加法函数时,连接片所需要的进位输出位。为了保证最小传输延迟,位串行可以被用真值表和其他设计方式化简成SOP或者POS表达式进行模块化。

使用位并行还是位串行方法,在每一步的使用中都会对结果电路的最大传输延迟和所需逻辑门数目造成影响。这一章展示了一些常见的大型组合电路。

《数字逻辑设计与计算机组成》一 第3章 3.1 简介相关推荐

  1. 数字逻辑计算机组成,数字逻辑设计与计算机组成pdf

    数字逻辑设计与计算机组成 内容简介 本书从简单的数字逻辑电路设计基础开始,由浅入深,讲解组合逻辑和时序逻辑电路的设计技术.计算机组成的基本原理和计算机体系结构的相关概念,后深入探讨了现代计算机系统如何 ...

  2. 《数字逻辑设计与计算机组成》一 第2章 2.1 简介

    第2章 Digital Logic Design and Computer Organization with Computer Architecture for Security 组合电路:小型设计 ...

  3. 《数字逻辑设计与计算机组成》一3.3 加法器

    3.3 加法器 n位整数加法器输入两个n位数值和一个可选的输入进位(cin)来产生一个n位的和及最后进位输出(cout).如图3-3所示,从右(例如最低有效位)开始,两位和先前的进位相加产生一个和及一 ...

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

    练习 3.1 现有一个CPA (8),8位的CPA,完成以下练习: a. 用非门和与非门设计一个加法器,并给出所需逻辑门的总数量.使用第2章给出的全加器SOP表达式实现. b. 给出所需三极管总数量. ...

  5. 数字逻辑设计(何建新)第二章

    数字电路(第二章) 不同进制之间的转换 R进制转换为十进制例:将二进制(1010.11)转换为十进制=1×2^3 + 1×2^1 + 1×2^-1 + 1×2^-2=(8+2+0.5+0.25)=10 ...

  6. 数字逻辑设计大程——以撒的结合(Verilog语言)

    前言 在大二学习数字逻辑设计课程(即计算机组成课程的前引课)时,期末大程题目我和同组的github成员lwaekfjlk 决定写一款基于Verilog语言的游戏.原型是我们两人都非常喜爱的一款游戏-- ...

  7. 【数字逻辑设计】核心知识归纳总结

    数字逻辑设计 概述 二进制 组合逻辑设计 时序逻辑设计 SR锁存器 D锁存器 D触发器 四位寄存器 带使能端的触发器 带复位功能的触发器 非稳态电路 同步电路与异步电路 有限状态机 时序逻辑的时序 并 ...

  8. 【数字逻辑设计】Logisim构建多路选择器

    多路选择器在数字逻辑设计中用途广泛,其逻辑表达式是: f = s ′ x 1 + s x 2 f = s'x1 + sx2 f=

  9. 【数字逻辑入门】计算机如何存储1位二进制数

    0 前言 本文将会以R-S锁存器为例,引出锁存器的核心和本质,之后再带你构建更多类型的锁存器,你能够: 感受到由浅入深的学习方式 体会到掌握核心本质的快感 深刻理解核心套外壳的设计理念(产品迭代1.0 ...

最新文章

  1. 你是怎样给下属分配工作
  2. Leetcode1712. 将数组分成三个子数组的方案数[C++题解]:双指针和前缀和
  3. 大神对飞控精准高度估计算法解读
  4. CNN/RNN TF1.4
  5. ASP.NET AJAX Timer Trouble? Location is key.
  6. 开源库 | 监控视频中的目标检测与跟踪
  7. scrapy通过item类直接创建数据库中的数据表
  8. double类型字符串转换成一个纯数字字符串和一个小数点位数的c++代码
  9. 语音识别技术在汽车上的应用
  10. 数据库的跨平台设计(转)
  11. 编码基本功:给刚刚学习编程的朋友的建议
  12. POJ2074 Line of Sight
  13. 应届生求职简历HTML模板
  14. Android异步通信:深入剖析Handler机制源码
  15. indesign里怎么打根号_indesign 数学符号
  16. Asp开发中出现“msxml3.dll 错误 ‘800c0005‘系统未找到指定的资源
  17. 网易有道的喜与忧:11亿营销费抢市场,与跟谁学之间还差一个有道
  18. 关于snipaste的网页长截屏(只能复制字或代码)
  19. Oracle:ADG基础知识学习一20230515
  20. 分段存储管理+逻辑地址转化为物理地址+例题

热门文章

  1. Hash算法总结(转载)
  2. 华为交换机配置eth-trunk以及模式选择
  3. x264参数设置详解(x264 settings)
  4. 泛函分析笔记(十七) 弱偏导数
  5. 【软件工程】软件工程系统开发——系统设计概述
  6. 虚拟机启动失败:VMware Workstation and Device/Credential Guard are not compatible
  7. 第九周项目5 三色球
  8. 北大数学英才班,没有一名新生经历高三
  9. s+清辅音,读作对应的浊辅音
  10. Windows Server 2016 企业CA证书的应用