《组成第六讲--运算器》由会员分享,可在线阅读,更多相关《组成第六讲--运算器(25页珍藏版)》请在人人文库网上搜索。

1、运算器是计算机的加工处理部件,最基本的结构必须有算术逻辑运 算单元、数据寄存器、累加器、多路转换器和数据总线等部件。 前面我们曾介绍由一位全加器(FA)构成的行波进位加法器,它可以 实现补码数的加法运算和减法运算。但是这种加法/减法器存在两 个问题:一是由于串行进位,它的运算时间很长。假如加法器由n 位全加器构成,每一位的进位延迟时间为20ns,那么最坏情况下, 进位信号从最低位传递到最高位而最后输出稳定,至少需要 计算机组成原理 n20ns,这在高速计算中显然是不利的。 二是就行波进位加法器本身来说,它只能完成加法和减法 两种操作而不能完成逻辑操作。 为此,本节我们先介绍多功能算术/逻辑运算。

2、单元(ALU), 它不仅具有多种算术运算和逻辑运算的功能,而且具有先 行进位逻辑,从而能实现高速运算。 (1)基本思想 一位全加器(FA)的逻辑表达式为 Fi=AiBiCi Ci+1=AiBi+BiCi+CiAi 计算机组成原理 式中Fi是第i位的和数,Ai,Bi是第i位的被加数和加数, Ci是第i位的进位输入,Ci+1为第i位的进位输出。 为了将全加器的功能进行扩展以完成多种算术/逻辑运算, 我们先不将输入Ai,Bi和下一位的进位数Ci直接进行全加, 而是将Ai和Bi先组合成由控制参数S0,S1,S2,S3控制的组 合函数Xi和Yi(如上图所示),然后再将Xi,Yi和下一位进 位数通过全加器。

3、进行全加。这样,不同的控制参数可以得 到不同的组合函数 ,因而能够实现多种算术运算和逻辑 运算。 计算机组成原理 计算机组成原理 图2.10ALU的逻辑结构原理框图 因此,一位算术/逻辑运算单元的逻辑表达式为 Fi=XiYiCn+1 Cn+i+1=XiYi+YiCn+i+Cn+iXI 上式中进位下标用n+i代替原来一位全加器中的 i,i代表集成在一片电路上的ALU的二进制位 数,对于4位一片的ALU,i=0,1,2,3。n代表若 干片ALU组成更长字长的运算器时每片早路的 进位输入,例如当4片组成16位字长的运算器 时,n=0,4,8,12。 计算机组成原理 2) 逻辑表达式 控制参数S0,S。

4、1,S2,S3分别控制输 入Ai和Bi, 产生Yi和Xi的函数。其中Yi是受S0,S1控制的Ai 和Bi的组合函数,而Xi是受S2,S3控制的Ai和B i的组合函数,其函数关系如下表所示 计算机组成原理 S0 S1 Yi S2 S3 Xi 00 01 10 11 Ai AiBi AiBi 0 00 01 10 11 1 AiBi AiBi Ai 根据上面所列的函数关系,即可列出Xi和Yi 的逻辑表达式 XiS2S3S2S3(AiBi)S2S3(AiBi) S2S3Ai YiS0S1AiS0S1AiBiS0S1AiBi 计算机组成原理 进一步化简并代入前面的求和与进位表达式,可得ALU的 某一位。

5、逻辑表达式如下 FiYi Xi Cn+i Cni1YiXiCni 计算机组成原理 内部总线内部总线 由于计算机内部的主要工作过程是信息传送和加工的过程,因 此在机器内部各部件之间的数据传送非常频繁。为了减少内的 数据传送线并便于控制,通常将一些寄存器之间数据传送的 通路加以归并,组成总线结构,使不同来源的信息在此传输线 上分时传送。 根据总线所处的位置,总线分为内部总线和外部总线两类: 内部总线是指CPU内各部件的连线。 外部总线是指系统总线,即CPU与存储器、I/O系统之间的连线。 计算机组成原理 按总线的逻辑结构来说,总线可分为单向传送总线和双向 传送总线。所谓单向总线,就是信息只能向一个。

6、方向传送。 所谓双向总线,就是信息可以向 两个方向传送,既可以 发送数据,也可以接收数据。 总线的逻辑电路往往是三态的,即输出电平有三种状态: 逻辑1逻辑0和浮空状态。 计算机组成原理 计算机组成原理 由三态门组成的双向数据总线 (a)是带有缓冲驱动器的4位双向数据总线。其中所用的 基本电路就是三态逻辑电路。当“发送”信号有效时,数据 从左向右传送。反之,当“接收”信号有效时,数据从右向左 传送。这种类型的缓冲器通常根据它们如何使用而叫作 总线扩展器、总线驱动器、总线接收器等等。 (b)所示的是带有锁存器的4位双向数据总线。它主要由 一个DE触发器和一个三态缓冲器组成。DE触发器是在 一个普通。

7、D触发器上另加一个E输入端(允许端)而构 成的。此处E输入端用以控制D的输入。若E0,即使D 为“1”,也不能输入。当接收数据时,E1三态门被禁止,因 而数据总线上的数据被接收到锁存器。当发送数据时,E 0,三态门被允许,因而锁存器的数据发送至数据总线上。 计算机组成原理 定点运算器的基本结构 运算器包括ALU阵列乘除器寄存器多路开关三态缓冲 器数据总线等逻辑部件。运算器的设计,主要是围绕ALU 和寄存器同数据总线之间如何传送操作数和运算结果进行 的。在决定方案时,需要考虑数据传送的方便性和操作速 度,在微型机和单片机中还要考虑在硅片上制作总线的工 艺。 计算机的运算器大体有如下三种结构形式 。

8、计算机组成原理 单总线结构的运算器如(a)所示。由于所有部件都接到同 一总线上,所以数据可以在任何两个寄存器之间,或者在任 一个寄存器和ALU之间传送。如果具有阵列乘法器或除法 器,那么它们所处的位置应与ALU相当。对这种结构的运算 器来说,在同一时间内,只能有一个操作数放在单总线上。 为了把两个操作数输入到ALU,需要分两次来做,而且还需 要A,B两个缓冲寄存器。 这种结构的主要缺点是操作速度较慢。虽然在这种结构中 输入数据和操作结果需要三次串行的选通操作,但它并不 会对每种指令都增加很多执行时 计算机组成原理 间。只有在对全都是CPU寄存器中的两个操作数进行操作 时,单总线结构的运算器才会。

9、造成一定的时间损失。但是 由于它只控制一条总线,故控制电路比较简单。 计算机组成原理 双总线结构的运算器如(b)所示。在这种结构中,两个操作 数同时加到ALU进行运算,只需一次操作控制,而且马上就 可以得到运算结果。图中,两条总线各自把其数据送至ALU 的输入端。特殊寄存器分为两组,它们分别与一条总线交 换数据。这样,通用寄存器中的数就可进入到任一组特殊 寄存器中去,从而使数据传送更为灵活。ALU的输出不能直 接加到总线上去。这是因为,当形成操作结果的输出时,两 条总线都被输入数占据,因而必须在ALU输出端设置缓冲寄 存器。为此,操作的控制要分两步完成: 计算机组成原理 1.在ALU的两个输入。

10、端输入操作数,形成结果并送入缓冲寄 存器; 2.把结果送入目的寄存器。假如在总线1,2和ALU输入端之 间再各加一个输入缓冲寄存器,并把两个输入数先放至这 两个缓冲寄存器,那么,ALU输出端就可以直接把操作结果 送至总线1或总线2上去。 计算机组成原理 三总线结构的运算器如演示(C)所示。在三总线结构 中,ALU的两个输入端分别由两条总线供给, 而ALU的输出则与第三条总线相连。这样,算术 逻辑操作就可以在一步的控制之内完成。由于 ALU本身有时间延迟,所以打入输出结果的选通 脉冲必须考虑到包括这个延迟。另外,设置了一 个总线旁路器。如果一个操作数不需要修改,而 直接从总线2传送到总线3,那么。

11、可以通过控制总 线旁路器把数据传出;如果一个操作数传送时需 要修改,那么就借助于ALU。很显然,三总线结构 的运算器的特点是操作时间快。 计算机组成原理 计算机组成原理 运算器组成实例 1、最简单的运算器 只有三个逻辑部件: 算术逻辑运算单元、 累加寄存器ac、数据 缓冲寄存器DR。 计算机组成原理 2、 早 期 的 小 型 机 的 运 算 器 计算机组成原理 计算机组成原理 计算机组成原理 浮点运算器 图为8087系列浮点运算器,可进行三类七种数据运算。 主要功能: 1、可与配套cpu芯片异步并行工作 2、高性能80位字长内部结构,有八个80位字长的以 堆栈方式管理的寄存器组 3、浮点运算格式符合ieee指定的国际标准 4、能处理包括二进制浮点数、二进制整数和十进制 数串三大类七种数据 5、扩展了配套cpu芯片的硬件指令,支持函数运算 6、内部出错管理功能 计算机组成原理 计算机组成原理。

计算机组成三态门有哪些,组成第六讲--运算器相关推荐

  1. java二级考试历年真题6_2018年3月计算机二级考试JAVA试题及答案(六)

    2018年计算机等级考试开考在即,小编在这里为考生们整理了2018年3月计算机二级考试JAVA试题及答案,希望能帮到大家,想了解更多资讯,请关注出国留学网的及时更新哦. 2018年3月计算机二级考试J ...

  2. (计算机组成原理)第三章存储系统-第六节4:Cache的写策略(写回法和全写法,写分配法和非写分配法)

    文章目录 一:写命中 (1)写回法(write-back) (2)全写法(write-through) 二:写不命中 (1)写分配法(write-allocate) (2)非写分配法(not-writ ...

  3. 计算机系统总线功能组,计算机组到成原理(华科版)第六章 系统总线.ppt

    计算机组到成原理(华科版)第六章 系统总线 两个不同频率的模拟信号,分别由电子开关控制,在运算放大器的输入端相加,而电子开关由要传输的数字信号(即数据)控制.当信号为"1"时,控制 ...

  4. [XJTU计算机网络安全与管理]——第六讲 伪随机数,流密码,哈希

    文章目录 [XJTU计算机网络安全与管理]--第六讲 伪随机数,流密码,哈希 一.随机数 随机数 TRNG.PRNG和PRF 伪随机数生成器PRNG 线性同余生成器Linear Congruentia ...

  5. #Apache Spark系列技术直播# 第六讲【 What's New in Apache Spark 2.4? 】

    Apache Spark系列技术直播第六讲 [ What's New in Apache Spark 2.4? ] Abstract(简介): This talk will provide an ov ...

  6. 白话文讲计算机视觉-第六讲-轮廓检测算法

    大家好,欢迎收听小木的第六讲,第六讲我们主要讲的内容是轮廓检测.说道轮廓检测.轮廓怎么检测呢,那么我们就要引入一个轮廓检测算法: 这个算法是日本的铃木桑发明的.这位日本人写了一篇论文,叫做: Topo ...

  7. Python第六讲-列表

    文章目录 第六讲 列表 6.1 序列 6.2 列表(list) 6.3 切片 6.4 通用操作 6.5 列表的操作 6.6 for 循环和 range 函数 作业 第六讲 列表 6.1 序列 概念:P ...

  8. Python语法第六讲 for循环

    6.1.6 for循环遍历 for循环 通过for循环来遍历列表 for 变量 in 序列(遍历的规则): # 对于这个数据在这个列表中:挨个进行访问,称呼为遍历 1 语法 2 for 变量 in 序 ...

  9. 趣谈网络协议笔记-二(第十六讲上)

    趣谈网络协议笔记-二(第十六讲上) 流媒体协议:如何在直播里看到美女帅哥? 自勉 给岁月以文明,而不是给文明以岁月!--<三体> 在触不到的獠牙上点火--就像不必仰望那星星就能够解决--就 ...

最新文章

  1. Hibernate学习笔记(一)----针对不同的数据库不同的配置
  2. 中如何构造有参和无惨_CAD制图初学入门:CAD机械软件中如何构造孔?
  3. 《Raspberry Pi用户指南》——导读
  4. 对话智能新高度:全面解读百度开放域对话模型PLATO
  5. QT中DirectShowPlayerService::doSetUrlSource: Unresolved error code 0x80040216 ()问题的解决
  6. oracle序列修改语句
  7. Java基础学习,一些零散的笔记之抽象类与接口
  8. vue.js源码学习分享(四)
  9. WIN10系统安装visio2016失败后修改系统设置,安全
  10. 时间管理-要抽专门的时间去做那些重要但不紧急的事情
  11. linux 锐捷 自动,Ubuntu下锐捷自动认证设置
  12. 3D建模和3D渲染吃什么硬件?专业图形显卡和游戏显卡区别
  13. 广东省计算机媒体大赛,年广东省大学生计算机设计大赛.doc
  14. 85程序锁的工作原理
  15. (附源码)springboot校园兼职系统 毕业设计 463450
  16. code online-线上码-随时随地在线写代码,支持主流语言 go lua luajit php perl python ruby woo dotnet
  17. 关于多视觉几何MVG中,仿射变换的SVD分解问题的程序验证
  18. 用Delphi制作BPL包
  19. 笔记:C++中求一个正整数n以内的所有质数以及所有质数的总和
  20. vue 实战培训课程-张秋方-专题视频课程

热门文章

  1. 给入行新人的一点忠告
  2. angularjscheckbox全选_angularJS全选功能实现
  3. vivox21支持html,vivo X21支持nfc吗_vivo X21支持otg吗-太平洋IT百科手机版
  4. Win11系统wsappx程序磁盘占用率高怎么解决?
  5. 搜索框自动补全(模糊匹配)功能实现
  6. 钢筋连接套筒A做拉伸试验时,钢筋连接套筒被拉断就一定不合格吗?
  7. linux终端打印保存到文件,Linux 终端中命令输出保存到文件中的方法
  8. 三维细胞结构生物显微影像分析处理软件
  9. 大数据学习----Javase----Day13【QQ号,二分查找】
  10. 如何成为全栈UI设计师 学习UI前景怎么样