1025116623_组成原理.ppt_第1页
1025116623_组成原理.ppt_第2页
1025116623_组成原理.ppt_第3页
1025116623_组成原理.ppt_第4页
1025116623_组成原理.ppt_第5页
已阅读5页,还剩274页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 吉林大学远程教育学院 2 计算机组成原理 主讲 刘子良 3 参考书目 计算机组成原理教程 科学出版社 1988年 白中英 韩兆轩 计算机组成与结构 清华大学出版社 1990年 王爱英 计算机组成原理 4 计算机组成原理 课程简介计算机组成原理是计算机科学与工程系所有专业的一门核心课程 它在先导课和后续课之间起着承上启下的和继往开来的作用 计算机组成原理教学具有知识面广 内容多 难度大 更新快的特点 本课程讲述计算机组成与结构方面的知识 包括 计算机系统概论 运算方法 运算器 存储系统 指令系统 处理器 系统总线 外围设备 输入输出系统 5 计算机组成原理 主讲 刘子良 第一章概论1 1冯 诺依曼体制 1 ENIAC概况1 数据表示 十进制2 工作存储器 只有20个单元 用于存放数据3 编程 先要人工对面板上6000多个电子开关进行机械定位 然后都转插线插头 插入与拨出方式来编制程序4 ENIAC共用18000多个电子管 6000多个继电器 耗电140KW 占地170平米 重30吨 运算速度5000次 秒 ENIAC可靠运行时间大概不超过20分钟 6 计算机组成原理 主讲 刘子良 第一章概论1 1冯 诺依曼体制 2 冯 诺依曼体制1 引进存储程序概念2 计算机以运算器为核心的集中式控制3 指令由操作码和地址码两部分组成 指令在计算机中最顺序执行的 并受PC的统一控制4 提出计算机系统应由 运算器 控制器 存储器 输入设备和输出设备五大部分组成 这些理论奠定了现代计算机的基本思想 在到目前为止 大多数计算机仍沿用这一体制 人们称其为冯 诺依曼体制 7 计算机组成原理 主讲 刘子良 第一章概论1 2计算机的基本组成 人们常提到的冯 诺依曼机与原始的以运算器为中心的冯 诺依曼机在结构上有很大的改进 现在已转向以存储器为中心的计算机组成方式 如图1 1所示 图1 1计算机基本组成框图 运算器 存储器 控制器 数据 结果 地址 指令 输入设备 输出设备 反馈信息 操作命令 控制信号 请求信号 控制台 控制信号 请求信号 8 计算机组成原理 主讲 刘子良 第一章概论1 2计算机的基本组成 从图1 1中我们可以看出 计算机一般由以下几部分组成 输入设备 存储器 运算器 控制器 输出设备五大部分 运算器与控制器统称为中央处理机CPU 习惯将输入设备 输出设备统称为I O设备 输入设备存储器运算器控制器输出设备 I O设备 CPU 9 计算机组成原理 主讲 刘子良 第一章概论1 2计算机的基本组成 1 2 1运算器基本结构功能 完成算术运算和逻辑运算的装置设置考虑 任意算术运算 加 减 乘 除 都可以通过相加和移位来解决 举证 这样一来 运算器的基本结构就确定下来 如图1 2所示 10 计算机组成原理 主讲 刘子良 第一章概论1 2计算机的基本组成 运算器由 加法器 移位门 寄存器组 输入选择门和数据总线组成 如图1 2所示 图1 2运算器结构框图 移位门 加法器 选择门A 选择门B 来自数据总线 通用寄存器组 数据总线 11 计算机组成原理 主讲 刘子良 第一章概论1 2计算机的基本组成 1 2 2存储器的基本结构功能 存放程序和数据装置 并满足计算机在执行过程中能够随机访问这些程序和数据 设置考虑 1 存取数据一个一个地程序一条一条地如何解决 取出参与操作 设置一个存储体 并将存储体分成若干个单元 12 计算机组成原理 主讲 刘子良 第一章概论1 2计算机的基本组成 设置考虑 2 访问 按地址进行 将第个单元赋予编码 表征该单元地址 放于何处 设地址寄存器MARMemoryAddressRegister 在地址寄存器和存储体之间是否加地址译码器呢 取决于地址给出方式 直接给出 编码给出 加地址译码器ADAddressDecode 存 写入 取 读出 13 计算机组成原理 主讲 刘子良 第一章概论1 2计算机的基本组成 设置考虑 2 续 存 取存在两个问题 数据存放 设置数据寄存器的MBRMemoryBufferRegister 区分 加读写控制线路 R W 控制 于是 存储器的基本结构确定下来 如图1 3所示 14 计算机组成原理 主讲 刘子良 第一章概论1 2计算机的基本组成 图1 3存储器基本结构框图 地址码 地址寄存器 地址译码器 存储体 0号单元 1号单元 4094号单元 4095号单元 代码缓冲寄存器 数据或指令 读令 写令 15 计算机组成原理 主讲 刘子良 第一章概论1 2计算机的基本组成 1 2 3控制器的基本结构功能 全机指挥机构 执行方式有如下三种 按规定的操作去执行 自动地去执行 有秩序地去执行下面 我们具体看一下各种执行方式 16 计算机组成原理 主讲 刘子良 第一章概论1 2计算机的基本组成 按规定的操作去执行 在指令中 就指令执行过程而言 取出指令 存放 设指令寄存器IRInstructionRegister 分析指令 及译码过程设置操作码译码器ODC 执行指令 17 计算机组成原理 主讲 刘子良 第一章概论1 2计算机的基本组成 自动地执行 设置程序计数器PCProgramCounter 顺序 PC存放程序首址 执行一条后 PC自动加1 转移 MAR PC 18 计算机组成原理 主讲 刘子良 第一章概论1 2计算机的基本组成 有秩序去执行 指前一个操作结束 进行下一个操作 如何判断 通过定时系统设置相应的时序线路 控制器的结构如图1 4所示 19 计算机组成原理 主讲 刘子良 第一章概论1 2计算机的基本组成 图1 4控制器结构图 20 计算机组成原理 主讲 刘子良 第一章概论1 2计算机的基本组成 1 2 4输入输出设备输入 输出设备种类繁多 很难用一种结构形式加以描述 通常可以将其描述为一般结构如图1 5所示 图1 5外部设备的一般描述框图 输入设备 接口 接口 输出设备 21 计算机组成原理 主讲 刘子良 第一章概论1 2计算机的基本组成 输入设备把程序和数据转化为计算机能识别和处理的数据形式的设备 输入的程序和数据存入计算机存储器中 输出设备是将计算机中的二进制信算转化为用户所需要的数据格式的设备 它将计算机中的信息 计算结果等 以十进制或字符 图形 表格等形式显示或打印出来 以上 我们简要的介绍了计算机各主要部件的功能 以及其基本构成在设置上的考虑 于是 留下的将是如何从硬件的角度 将计算机各部件连成一个计算机系统的问题了 22 计算机组成原理 主讲 刘子良 第一章概论1 3计算机系统的硬件组成 如何将计算机各个组成部件连接成为一个有机整体 为此 人们提出一种重要的组成系统技术 总线 一 总线1 总线的概念所谓总线 就是连接多个部件的一组共享信息传送线路 它能够分时接收和发送各部件信息 2 典型做法 发送端 通过三态门将信息分时送入总线 接收端 靠定时打入脉冲接收信息 23 计算机组成原理 主讲 刘子良 第一章概论1 3计算机系统的硬件组成 3 实现举例 图1 6计算机总线实现举例框图 A B C CPA CPB CPC A B C SS 控A 控B 控C 24 计算机组成原理 主讲 刘子良 第一章概论1 3计算机系统的硬件组成 二 小型机 微型机的典型结构1 以CPU为中心的双总线结构如图1 7所示 图1 7面向CPU的双总线结构 CPU MEM I O接口 I O接口 I O接口 磁盘 输入机 打印机 25 计算机组成原理 主讲 刘子良 第一章概论1 3计算机系统的硬件组成 以CPU为中心的双总线结构 续 1 结构特点 两簇总线1 CPU与内存之间交换信息的通路 即存储总线M BUS 2 CPU与I O设备之间交换信息的通路 即输入 输出总线I O BUS 2 分析与结论1 根据结构特点画关系图如图1 8所示 显而易见 内存与I O设备之间交换信息都要通过CPU 因此 称其为面向CPU的双总线结构 MEMI O CPU 图1 8面向CPU的双总线结构关系图 26 计算机组成原理 主讲 刘子良 第一章概论1 3计算机系统的硬件组成 以CPU为中心的双总线结构 续 2 既然内存与I O设备要通过CPU交换信息 那么就必要要受到CPU的直接控制 这种结构的优点是同一时间内只能进行一种传送 因此控制线路简单 时间关系易于处理 可以采用同步控制方式 缺点是由于I O设备与存储器交换信息要有CPU进行干预 因而当I O设备工作频繁时要占用大量的CPU时间 从而降低了CPU的工作效率 因此 这种结构为多数低档小型机所采用 27 计算机组成原理 主讲 刘子良 第一章概论1 3计算机系统的硬件组成 2 单总线结构单总线结构如图1 9所示 CPU MEM I O接口 显示器 I O接口 输入机 I O接口 显示器 图1 9面向CPU的单总线结构关系图 28 计算机组成原理 主讲 刘子良 第一章概论1 3计算机系统的硬件组成 以CPU为中心的单总线结构 续 1 结构特点靠一簇总线 包括地址总线 数据总线和各种控制线 来实现CPU 存储器 I O设备这间的信息交换 2 分析与结论1 从单总线的传送方式可以看出 中央处理机不再是计算机的中心 CPU与其它设备一样 只不过是单总线上的一个子系统 2 采用单总线结构后系统功能增强 因为采用单总线传送方式允许I O设备直接与存储器交换信息 除分配总线使用权时还要与CPU打交道外 基本上不影响CPU 同时 外部设备寄存器和内存统一编码 这样中央处理机可以象访问内存一样访问外部设备 29 计算机组成原理 主讲 刘子良 第一章概论1 3计算机系统的硬件组成 以CPU为中心的单总线结构 续 3 存在问题1 单总线的工作不允许有两个主设备同时使用总线 因此 当I O设备控制总线使用权时 CPU 它对总线使用的优先级别低于I O设备 不能从主存中取出数据 因而降低了CPU的处理速度 2 由于所有设备都连在一簇总线上 总线负载很重 随着外设与中央处理机之间交换信息量增大 可使系统的吞吐量呈饱和状态 甚至无法胜任 从而使系统性能下降 3 单总线常采用异步互销应答方式 因此 控制逻辑比较复杂 细节问题将在I O控制一章作详细讨论 30 计算机组成原理 主讲 刘子良 第一章概论1 3计算机系统的硬件组成 3 面向存储器的双总线结构双总线结构如图1 10所示 CPU MEMCACHE I O接口 磁盘 I O接口 光电输入机 I O接口 宽行打印机 图1 10面向存储器的双总线结构关系图 31 计算机组成原理 主讲 刘子良 第一章概论1 3计算机系统的硬件组成 面向存储器的双总线结构 续 1 结构特点在内存上开了两个口子 一个通过高速缓冲存储器Cache 它存有存储器部分信息的副本 与中央处理机相连 专供它与CPU交换信息 另一个口子与原来的单总线相通 实现内存与其他设备的信息交换 2 分析与结论1 依据结构特点来关系图1 11所示 CPUI OD MEM 图1 11面向存储器的双总线结构关系图 32 计算机组成原理 主讲 刘子良 第一章概论1 3计算机系统的硬件组成 面向存储器的双总线结构 续 显见 在这种结构中 存储器成为计算机的中心 所以把这种结构称为面向存储器的双总线结构 2 这种结构不是对单总线结构的否定 而是对它很好的补充 原因有二 第一 CPU通过专用总线与主存交换信息 不仅提高了处理机的速度 而且减轻了系统总线的负担 防止饱和 第二 主存与I O设备交换信息 不必经过CPU 因此又保持了单总线的主要优点 系统灵活性 3 系统程序日益庞大 信息存储成为构成系统的一个核心问题 整个系统由早期以CPU为中心发展为以存储系统为中心 因此 这种双总线结构被广泛采用 33 计算机组成原理 主讲 刘子良 第一章概论1 3计算机系统的硬件组成 4 大中型计算机的典型结构至于大 中型计算机 由于软件资源越来越丰富 存储系统己经成为计算机系统硬件组成的核心部件 同样 外部设备的增多 也使得输入 输出问题变得十分突出 为此 又提出一项组成系统的技术 通道 图1 12给出了大 中计算机的代表性结构 34 计算机组成原理 主讲 刘子良 第一章概论1 3计算机系统的硬件组成 主存储器 中央处理机 通道A 通道B I O控制器 I O设备 I O控制器 I O设备 I O设备 I O控制器 I O设备 I O控制器 I O设备 I O控制器 I O设备 I O设备 单设备控制单元 多设备控制单元 图1 11大型计算机系统典型结构框图 35 计算机组成原理 主讲 刘子良 第二章运算方法与运算器 运算方法 指算术 四则 运算和逻辑运算 在运算器的实现方法 而实现这两种运算的硬设备就是算术逻辑部件ALU ArithmeticandLogicUnit 或称运算器 由于逻辑运算及实现经较简单 所以本章主要讨论计算机中算术四则运算以及运算器的逻辑结构 36 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 2 1 1为什么要进行运算方法的研究50年代初 人们对运算方法理论研究给予了极大的注意 取得了不少至今还在应用的成果 那么为什么要开展对运算方法的研究呢 原因有 1 将一个实际数 用机器数 原码 补码 反码 等表示 产生机器本身特有的运算规律 2 计算机特定的运算方式 定点运算 浮点运算 3 早期冯 诺依曼型运算器只设加法器和寄存器 4 采用什么样的算法与运算器的结构密切相关 这两者的设计是互相影响的 综上考虑 从而开展了对运算方法的研究 37 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 2 1 2一个实际数机内表示所面临的问题通常 我们将一个数 连同符号 在机器中的数值化表示为机器数 而把原来的数值称为机器数的真值 一个实际数 如 通常由数符 数码和小数点三部分组成 因此 将一个实际数机内表示要解决的三个问题 38 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 一个实际数机内表示所面临的问题 续 1 符号的处理通常符号处理有两种方法 一种是舍弃符号 采用无符号数表示 另一种是采用符号 并对符号加以处理 那么如何处理符号呢 途径只有一条 即符号数码化 0 表示正 1 表示负 这种表示源于定义 以原码表示为例 39 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 一个实际数机内表示所面临的问题之符号的处理 续 1 X 0 1011X 0 1011符号数码化表示 X 原 0 1011从定义 X 原 X1 X 01 X0 X 1因为 1 X 0所以 X 原 X 0 1011 40 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 一个实际数机内表示所面临的问题之符号的处理 续 2 X 0 1011X 0 1011符号数码化表示 X 原 1 1011从定义因为 0 X 1所以 X 原 1 X 1 0 1011 1 1011 41 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 一个实际数机内表示所面临的问题之符号的处理 续 2 数码处理 1 采用二进制数表示 如 255 10 11111111 2优点 计算机中 数码是由电平的高低来表示的 通常高电平代表 1 低电平代表 0 所以采用二进制方便 易实现 存在问题 二进制表示数码的效率太低 书写冗长 42 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 一个实际数机内表示所面临的问题之数码处理 续 2 引进组合二进制数 八 十六进制数具体方法是 从最低有效位 LSD 开始 三位一划分组成八进制数 四位一划分组成十六进制数 如 1101011110011101011110016571Q110101111001D79H这种 引进 主要是为了书写方便而己 机器内表示并不区别 43 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 一个实际数机内表示所面临的问题之数码处理 续 3 BCD码需注意 a 如果计算机以二进制进行运算和处理时 只要在输入输出处理机进行二 十进制转换即可 b 在商业统计中 仍产生二 十进制转换方案存在两个问题 第一转换时间就要占实际运算时间很大比例 第二 十进制的0 1 无法用二进制表示 且十进制数0 1 0 1 0 2 在二进制中无法得到确切的数值 这里有一个小误差 因此 商业计算机没有专门用于十进制计算电路 这时的十进制数一般采用BCD码 44 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 一个实际数机内表示所面临的问题之数码处理 续 十进制ASCII码BCD码二进制数十六进制数000110000000000000100110001000100011 90011100110011001910 100001010A 1111F1000010由上式可见 A由于ASCII码与BCD码低四位相同 转换方便 BBCD码中 不采用其它6个二进制数 1010 1111 需校正 45 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 一个实际数机内表示所面临的问题 续 3 小数点处理可否数码化 如10110011 你能鉴别哪一位数码是表示小数点吗 显示不行 它无法与数位相区别 一般地 任意一个二进制数N都可以表示成 N 2E ms m1 m2 mn 其中 E叫做阶码 ms m1 m2 m3 mn叫做原数 Ms为尾数符号 E代表小数点 它可分三种情况讨论 46 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 一个实际数机内表示所面临的问题之小数点处理 续 1 E 0时 参与运算的数是纯小数 记作ms m1 m2 m3 mn 为定点小数格式 如下所示 设机器字长有n 1位 则 原码定点小数表示范围为 1 2 n 1 2 n 补码定点小数表示范围为 1 1 2 n X0X1X2Xn 数值部分 尾数 符号位 小数点位置 47 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 一个实际数机内表示所面临的问题之小数点处理 续 2 E n时 参与运算的数是纯整数 记作ms m1 m2 mn 为定点整数格式 如下所示 原码定点整数的表示范围为 2n 1 2n 1 补码定点整数的表示范围为 2n 2n 1 X最小正数 1 X0X1X2Xn 数值部分 尾数 符号位 小数点位置 48 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 一个实际数机内表示所面临的问题之小数点处理 续 3 E m 且n m 0 参与运算的数是浮点数 此时 N M rE式中 r为浮点数阶码的底 与尾数的基数相同 通常r 2 E和M都是带符号的定点数 E叫做阶码 exponent M叫做尾数 mantissa 在大多数计算机中 尾数为纯小数 常用原码或补码表示 阶码为定点整数 常用移码或补码表示 49 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 一个实际数机内表示所面临的问题 续 浮点数的一般格式如图2 1所示 浮点数的底是隐含的 在整个机器数中不出现 阶码的符号位为es 阶码的大小反映了在数N中小数点的实际位置 尾数的符号位为ms 它也是整个浮点数的符号位 表示了该浮点数的正负 esemsm 1位k位1位n位 阶码E尾数M 图2 1浮点数的一般格式 50 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 一个实际数机内表示所面临的问题 续 浮点数的表示范围主要由阶码决定 有效数字的精度主要由尾数决定 下面分别来讨论这两个问题 1 浮点数的表示范围设某浮点数的格式如图2 1所示 k和n分别表示阶码和尾数的位数 不包括符号位 尾数和阶码均用补码表示 当es 0 ms 0 阶码和尾数的数值位各位全为1 即阶码和尾数都为最大正数 时 该浮点数为最大正数 X最大正数 1 2 n 22 1 K 51 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 一个实际数机内表示所面临的问题之浮点数的表示范围 续 当es 1 ms 0 尾数的最低位mn 1 其余各位为0 即阶码为绝对值最大的负数 尾数为最小正数 时 该浮点数为最小正数 X最小正数 2 n 2 2当es 0 阶码的数值位全为1 ms 1 尾数的数值全为0 即阶码为最大正数 尾数为绝对值最大的负数 时 该浮点数为绝对值最大负数 X绝对值最大的负数 1 22 1 K K 52 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 K 一个实际数机内表示所面临的问题 续 2 规格化浮点数为了提高运算的精度 须要充分地利用尾数的有效数位 通常采取浮点数规格化形式 即规定尾数的最高数位必须是一个有效值 一个浮点数的表示形式并不是唯一的 例如 二进制数0 0001101可以表示为0 001101 2 1 0 01101 2 2 0 1101 2 3 而其中只有0 1101 2 3是规格化数 这就是如同十进制实数中的科学标识法一样 对于r进制的规格化浮点数的尾数M的绝对值应在下列范围内 1 r M 1 如果r 2 则有 1 2 M 1 53 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 一个实际数机内表示所面临的问题 续 浮点数典型值见下表 K K K K K K 54 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 2 1 3负数如何处理1 符号 绝对值表示 sign absolute 用二进制的最高位 最左边位 用来表示符号 例如0表示正数 1表示负数 而其余各位则用于表示该数的绝对值的大小 这种数据表示直观 但在机器中加 减运算不能直接采用它 例如 0 1000 0 1011 0 0011若采用原码运算 设机器字长n 5位 其中一个符号位 则0 1000 1 10110 0011 55 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 负数如何处理之符号 绝对值表示 续 可见 显示的结果是正数 这种表示方法比较直观 缺点是设计硬件电路时 需要对最高位和其它位分别处理 另外 这种表示方法有两个0 0与 0 同时存在 56 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 负数如何处理之符号 续 2 补码表示 two scomplement 法12 1 编码方法 我们用四位二进制数来说明 如果考虑到正数和负数个数一样 则可将十六种组合一分为二 一半是正数 一半表示负数 我们暂时把0归为正数一类 显然不太严格 000001000 8000111001 7001021010 6001131011 5010041100 4010151101 3011061110 2011171111 1 57 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 负数如何处理之符号 补码表示法 续 上图中可见 正数 从0 24 1 7 负数 从 24 1 8 1这种表示的最大好处是在于满足 x x 0的规则 而且很容易区分正数和负数 例 6 6 0110 1010 0000其中0表示正数 1表示负数 这一点与符号 绝对值表示相一致 58 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 负数如何处理之符号 补码表示法 续 2 采用补码表示时 不管多少位二进制 所有位为1时 一定是十进制数 1 这样一来解决了补码数的扩充问题 例如 101111111011010100000101即可以简单地复制最高位 59 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 负数如何处理之符号 补码表示法 续 3 可将补码数作为无符号数处理 并将运算结果解释为二进制补码表示的带符号数 即 X 补 X 补 1 例如 77625 8 0111111110010101 2 77625 8 1000000001101011 2于是 机器作为无符号数 其值为 100153 8 而解释为常符号数为 77625 8 60 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 负数如何处理之符号 补码表示法 续 4 在补码表示中 0 表示法是唯一的 即 0 补 0 补 0 00 0而 0 原 0 00 0 0 原 1 00 0 0 反 0 00 0 0 反 1 11 1从数学上讲 零有两种表示对运算是不利的 这时ALU就必须增加另外的逻辑电路来寻找 0 这个数 因而当今的大多数机器都使用补码 61 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 负数如何处理之符号 补码表示法 续 5 采用补码运算 符号位做为代码可以与数位一起参加运算 无须单独设置符号处理线路 6 目前 就大多数小 微型计算机ALU 只设加法器 采用补码运算后 补码可以将 正数加负数 转化为正数加正数 同时 又可以将减法转化为加法运算 这样只设加法器就可以了 62 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 负数如何处理之符号3 反码表示反码也称1的补码 one scomplement 和2的补码一样 它的最高位为符号位 0 表示正 1 表示负 其余各位为二进制数的基数减1 优点 具有对称性 生成容易 存在问题 1 存在 0与 0之分 0 反 0 00 0 0 反 1 11 1 运算时需将1 11 1换成0 00 0 2 需加权操作 即反码运算若符号位有进位 则运算结果还要加1 在CDC公司的某些机器中使用过 而在新的计算机设计中却很少使用 63 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 2 1 4小数与实数表示小数与实数一般采用浮点数表示 原因是 在定点数的机器中 机器指令的调用的所有操作数都是定点数 然而 实际需要计算机处理的数往往是混合数 所以在编程时须设定一个比例因子 把原始数缩小成定点小数或扩大成定点整数后再进行处理 这种方法存在两个缺点 第一 当只有小数而且很小时 大部分二进制数位 被 0 占用导致精度损失 同样若一个数的小数部分为0时 则有一半二进制位数被浪费 第二 这种表示法所能表示的范围与浮点数相比是比较小的 所以小数和实数一般采用浮点数表示 64 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 小数与实数表示 续 先前 浮点常采用下列格式 由于指数的编码 尾数的格式和小数点的位置有规定有很大的随意性 因此 浮点数的表示法不是唯一的 不同的计算机有不同的规定 这就引起了相互间数据格式的不兼容性 为此 美国电气与电子工程协会 IEEE 制定了有关的工业标准 IEEE754 己被众多的计算机厂商所采用 附符阶码尾符原数 65 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 小数与实数表示 续 IEEE754标准有两点重要考虑 1 考虑到高级语言与机器语言之间的语言差距 二进制规格化数为 1 xx x 2yyy y其中 x和y均为二进制数IEEE754标准2 为便于软件移植 IEEE754规定了浮点数标准 包括 定义了单精度 32位 双精度 64位 两种格式 以及两种扩展格式 66 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 小数与实数表示 IEEE754标准考虑 续 1 单精度浮点数 如下 X 1 s 1 m 2e 127 2 双精度浮点数 如下 X 1 s 1 m 2e 1023由于在规格化二进制浮点数中 小数点前面的一位数总是1 故可将这个1省略 不出现在浮点数的格式中 我们称其为隐藏位 hiddenbit Se 指数 m 尾数 313023220 Sem 636252510 67 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 小数与实数表示 续 例 将十进制数178 125表示成单精度浮点数注 IEEE754单精度 single precision 浮点数格式短实数 如下其中 s sign 符号 e Exponent 阶码 f Fraction 尾数 Sef 313023220 68 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 小数与实数表示 续 IEEE754双精度 double precision 浮点格式 长实数 扩充精度浮点数Pentium中具有三种浮点数格式 临时实数 Sef 636252510 Sef 797864630 69 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 计算机组成原理 主讲 刘子良 第二章运算方法与运算器2 1概述 小数与实数表示 续 解 首先将十进制数178 125表示成二进制实数 178 125 10 10110010 001 B再将二进制实数表示成规格化形式 10110010 001 1 0110010001 27因为指数等于7 另上偏移量127 27 采用移码 之后e 7 127 134 10000110 B因此 178 125的单精度浮点数为 01000011001100100010000000000000 1823 注意小数点前面的1和小数点隐含 70 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 2 2 1补码加减运算1 补码加法两个补码表示的数相加 符号位参加运算 且两数和的补码等于两数补码之和 即 X Y 补 X 补 Y 补下面 我们看两个例子 第二章运算方法与运算器2 2定点加减运算 71 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 例1 己知 X 补 0 1001 Y 补 1 1101求 X Y 补 解 X 补 0 1001 Y 补 1 110110 0110符号位产生的进位1 在模2的意义下 机器会自动将其舍弃 所以 X Y 补 0 0110就是正确的运算结果 第二章运算方法与运算器2 2定点加减运算 72 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 例2 己知 X 补 1 0011 Y 补 0 0110求 X Y 补 解 X 补 1 0011 Y 补 0 0110 X Y 补 1 1001运算结果是以补码表示的负数 第二章运算方法与运算器2 2定点加减运算 73 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 2 补码减法原则上讲 X 补 Y 补 X Y 补 可见 需要一个减法器 而现在只设加法器 那么 如何得到 X Y 补呢 我们可以根据补码加法公式可推出 X Y 补 X Y 补 X 补 Y 补这样一来 减法的问题归结到如何求 Y 补的问题了 从负数引 3 的理论 Y 补 Y 补 1 意思是说 Y 补等于对 Y 补连同符号在内求反加1 第二章运算方法与运算器2 2定点加减运算 74 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 例1 Y 0 1010 Y 补 0 1010 Y 补 1 0110例2 Y 0 1010 Y 补 1 0110 Y 补 0 1010 第二章运算方法与运算器2 2定点加减运算 75 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 例3 己知 X 补 0 0010 Y 补 1 1010求 X Y 补 解 X 补 0 0010 Y 补 0 0110 X Y 补 0 1000这就是运算求得的正确结果 第二章运算方法与运算器2 2定点加减运算 76 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 例4 己知 X 补 1 1011 Y 补 0 0110求 X Y 补 因为 Y 补 0 0110 而 Y 补 1 1010可见 若 Y 补为一正数 则 Y 补就变成一个负数了 所以 解 X 补 1 1011 Y 补 1 1010 X Y 补 11 0101符号位的进位1在机器中将会自动舍弃 因为在以2为模的情况下 2 0 mod2 故得出的就是正确的结果 X Y 补 第二章运算方法与运算器2 2定点加减运算 77 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 2 2 2补码的溢出判断与检测方法1 溢出的产生引例1 X 补 0 1011 Y 补 0 0111 X Y 补 1 0010引例2 X 补 1 0101 Y 补 1 1001 X Y 补 0 1110 第二章运算方法与运算器2 2定点加减运算 78 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 补码的溢出判断与检测方法之溢出的产生 续 从引例1与引例2中 不难看出 两个正数相加 结果是一个负数 符号位为1 而两个负数相加 结果是一个正数I 符号为0 这显然是错误的 原因 运算结果超出了机器允许表示的范围 数值部分上扩充 从而改变了符号的性质 我们将这种现象称为溢出 例 显然 机器允许表示范围应该为 31到 32这间 大于31称之为上溢或正溢出 小于 32称之为下溢或负溢出 第二章运算方法与运算器2 2定点加减运算 011111 100000 符号位 数值部分 79 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 2 溢出的探测方法 方法I 设 X 补 X0 X1 X2 Xn Y 补 Y0 Y1 Y2 Yn其和 或差 为 S 补 S0 S1 S2 Sn 则溢出条件为 V X0Y0S0 X0Y0S0 方法II 采用变形补码 双符号位补码 第二章运算方法与运算器2 2定点加减运算 80 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 补码的溢出判断与检测方法之溢出的探测方法 续 观察下列算式 00 100111 011100 110111 0011 00 0011 11 1101 00 1001 11 011100 110011 010001 011010 1010可见 当结果两位符号的值不一致时表时溢出 若设两符号位Sf1和Sf2 则V Sf1Sf2 第二章运算方法与运算器2 2定点加减运算 81 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 补码的溢出判断与检测方法之溢出的探测方法 续 方法3 采用双离位判断 设 数值部分最高位产生的进位为Cs 符号部分向上产生的进位为Cf 仍以上面四个标式为例 0 10011 01110 11011 0011 0 0011 1 1101 0 1001 1 01110 11001 01001 01100 1010溢出条件为公式 V CfCs 第二章运算方法与运算器2 2定点加减运算 Cf 0Cs 0Cf 1Cs 1Cf 0Cs 1Cf 1Cs 0 82 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 2 2 4补码定点加减运算的实现设A A0 A1 A2 An B B0 B1 B2 Bn 则A B A0 A1 A2 An B0 B1 B2 BnA B A0 A1 A2 An B0 B1 B2 Bn 0 00 01且A BAA BA实现线路如下图 第二章运算方法与运算器2 2定点加减运算 83 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 补码定点加减运算的实现 续 第二章运算方法与运算器2 2定点加减运算 1 1 B B 0 1 Bi 1 Ai CP CPA A 实现线路 84 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 补码定点加减运算的实现 续 对实现线路的补充说明 功能所需控制信号加 A B减 A B 1 第二章运算方法与运算器2 2定点加减运算 CPA A A CPA 85 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 补码定点加减运算的实现 续 将两种功能的控制命令综合起来 得 A ADD SUB B ADD B SUB 1 SUB ADD SUBCPA ADD SUB 第二章运算方法与运算器2 2定点加减运算 A 86 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 小结 这一节 我们讲述了补码加减运算 溢出判断 以及补码加减法实现线路 接着要讨论的是如何才能提高运算器的工作速度 第二章运算方法与运算器2 2定点加减运算 87 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 加法器是组成运算器的核心部件 因此 如何提高运算器工作速度应从加法器单元以及其组成加法器逻辑线路谈起 第二章运算方法与运算器2 3加法器逻辑结构的改进 88 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 2 3 1全加器 加法单元 加法单元是一个三端输入 两端输出的加法网络 如下 其中 三个输入端 被加数Ai 加数Bi和低位传来的进位 两个输出端 和Si与本位向高位的进位Ci 当Ai Bi和Ci 1三个变量中1的个数是奇数时 和Si 1 当三个变量中1的个数等于或大于2时 进位Ci 1 第二章运算方法与运算器2 3加法器逻辑结构的改进 加法单元 Ci i Ai Bi Ci 1 89 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 全加器 续 因此 它的逻辑表达式可以写成下列形式 AiBiCi 1 AiBiCi AiBiCi 1 AiBiCi 1 1 Ci AiBiCi 1 AiBiCi 1 AiBiCi 1 AiBiCi 1 2 从加法单元逻辑表达式不难看出 加法器逻辑结构涉及到两个方面 一个是求和单元 另一个是进位问题 下面我们逐一讨论这个问题 第二章运算方法与运算器2 3加法器逻辑结构的改进 i 90 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 全加器 续 1 串行加法器与并行加法器加法器有串 并这究 只设一个全加器的加法器称串行加法器 如图所示 典型的串行加法器只用一位全加器 由移位寄存器从低位到高位串行地提供操作数进行相加 如果操作数长16位 就要分成16步进行 每步产生一位和 串行地送入结果寄存器 进位信号则用一位触发器寄存 参与下一位的运算 第二章运算方法与运算器2 3加法器逻辑结构的改进 A B QQCD CP i Ci 91 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 全加器之串行加法器与并行加法器 续 那么 如何提高加法器的工作速度呢 有人提出 设置16个加法器 让各位数据同时相加 这就产生了并行加法器 如图所示 并行加法器解决了同时对数的各位相另 减少了本身求和延迟 然而 低位向高位产生的进位 珊珊来迟 提高加法器速度仍然是一句空话 第二章运算方法与运算器2 3加法器逻辑结构的改进 i C0 A1 B1 2 C1 A2 B2 n Cn 1 An Bn Cn 92 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 全加器 续 2 进位链通常我们将各位之间传递进位信号的逻辑连接构成的进位线路称进位链 显然 进位链的讨论应从进位函数谈起 由 2 式化简可得 Ci AiBi AiBi Ci 1 3 可见 Ci的产生与AiBi和 AiBi Ci 1两项有关 其中 AiBi项取决于本位参加的两个数 而与低位的进位无关 因此 称AiBi为第i位位的进位函数 或称本地进位 记作Gi 第二章运算方法与运算器2 3加法器逻辑结构的改进 93 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 全加器之进位链 续 AiBi Ci 1项 则不但与本位的两个数有关 而且与低位产生的进位有关 低位的产生的进位Ci 1 能否通过第i位 向更高位传递 取决于AiBi 若AiBi 1 传上 若AiBi 0 则断开 于是称AiBi项为进位条件 记作Pi 而 AiBi Ci 1项称之为条件进位 于是 可将进位逻辑表达式 3 抽象为 Ci Gi PiCi 1 4 第二章运算方法与运算器2 3加法器逻辑结构的改进 94 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 全加器之进位链 续 1 串位进位方式以四位为例 即i 1 2 3 4 于是有 C1 G1 P1C0C2 G2 P2C1C3 G3 P3C2C4 G4 P4C3从逻辑表达式中不难看出 每一级进位直接依赖于前一级的进位 这种进位方式 我们称串行进位 第二章运算方法与运算器2 3加法器逻辑结构的改进 95 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 全加器之进位链之串行进位方式 续 串行进位链的总延迟时间与字长成正比 字长越长 总的延迟时间就越长 为了得到一个量的概念 我们假定 与非 门和 或非 门的延迟时间均为1ty 则从上式可以看出 每形成一级进位的延迟时间为1ty 则从上式可以看出 每形成一级进位的延迟为2ty 在字长为n位的情况下 若不考虑Gi Pi的形成时间 从C0到Cn的最长延迟时间为2nty 第二章运算方法与运算器2 3加法器逻辑结构的改进 96 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 全加器之进位链 续 2 并行进位方式从串行进位方式得知 若想尽可能地减少进位传递时间 就必须改变进位的传递方式 改串行进位为并行进位方式 并行进位方式又称先行进位或同时进位 若想改串行进位方式为并行进位方式 则必须砍断串行进位链 从数学的角度就是去掉数据相关项 方式是代入法 于是有 C1 G1 P1C0C2 G2 P2C1 G2 P2 G1 P1C0 G2 P2G1 P2P1C0C3 G3 P3C2 G3 P3G2 P3P2G1 P3P2P1C0C4 G4 P4C3 G4 P4G3 P4P3G2 P4P3P2G1 P4P3P2P1C0 第二章运算方法与运算器2 3加法器逻辑结构的改进 97 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 全加器之进位链之并行进位方式 续 估算一下进位延迟时间 若不考虑Gi Pi形成时间 从C0到Cn的最长延迟时间仅为2ty 而且与字长无关 一个理论的产生 往往与实施还有一定差距 原因是 随着加法器进位位数的增加 进位函数Ci所含的逻辑项将越来越长 输入变量 每项的逻辑变量 将越来越多 这就会使硬件电路结构变得十分复杂 而且受到元器件前入系数的限制 使完全采用并行方式变得不现实 第二章运算方法与运算器2 3加法器逻辑结构的改进 98 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 全加器之进位链 续 3 分组并行进位方式具体做法如下 设加法器字长16位 每4位为一组 则可将进位链分成两级 第一级 小组内采用并行进位链第二级 小组间并行进位链组间的进位 与每小组的最高进位有关 即与C4 C8 C12 C16有关 考查C4项 C4 G4 P4G3 P4P3G2 P4P3P2G1 P4P3P2P1C0 第二章运算方法与运算器2 3加法器逻辑结构的改进 99 计算机组成原理 主讲 刘子良 计算机组成原理 主讲 刘子良 全加器之进位链之分组并行进位方式 续 若设 Gi G4 P4G3 P4P3G2 P4P3P2G1Pi P4P3P2P1C0相应有 C4 GI PIC0C8 GII PIIC4C12 CIII PIIIC8C16 CIV PIVC12化成组间并行 CI GI PIC0CII GII PIIPIC0CIII GIII PIIIGII PIIIPIIGI PIIIPIIPIC0CIV GIV PIIIGIII PIV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论