计算机组成原理微课版(第3章)教案 运算方法与运算器_第1页
计算机组成原理微课版(第3章)教案 运算方法与运算器_第2页
计算机组成原理微课版(第3章)教案 运算方法与运算器_第3页
计算机组成原理微课版(第3章)教案 运算方法与运算器_第4页
计算机组成原理微课版(第3章)教案 运算方法与运算器_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

运算方法与运算器参考学时7学时。教学目标(能力要求)理解高级语言中不同运算符的底层逻辑实现:可将不同数据类型的运算符转换成对应机器指令,并指出对应的硬件实现逻辑。掌握定点加减法运算与溢出检测规则:了解补码运算在计算机中的重要性,能熟练利用补码运算规则进行定点数加减法运算,可利用三种方法进行定点数溢出检测。掌握定点加减法的逻辑实现:能给出一位全加器输出信号的逻辑表达式,了解如何通过级联多个全加器实现多位串行进位加法器,并能分析其时间延迟特性与性能缺陷;能阐述可控加减法电路的设计原理,理解其在计算机运算器实现中的重要意义。理解先行进位以及快速加法器原理:能概述先行进位加法器的设计原理,理解硬件性能优化的基本思路,并能利用相关原理在实验中构造16位、32位、64位先行进位电路,且能分析其时间延迟特性。掌握定点乘法运算方法与逻辑实现:能利用原码一位乘法和补码一位乘法的规则进行正确的手工运算,并能运用相关原理设计对应的实验电路。理解无符号阵列乘法器的构成原理,并能简单分析其时间延迟特性,可在实验框架中设计实现一个5位无符号阵列乘法器;了解乘法流水线提升乘法运算吞吐率的基本原理。掌握定点除法运算方法:能利用原码恢复余数法和不恢复余数法进行正确的手工除法运算,能区分二者的性能差异,能给出原码不恢复数法的基本逻辑框图。掌握浮点数运算方法:能按照对阶、尾数求和、规格化、舍入、溢出判断等步骤手工进行浮点加减法运算;了解浮点数乘除运算的基本步骤。理解运算器构成的基本原理:能描述运算器的基本构成,能区分不同总线结构对运算器的影响,可根据相关原理构建具有特定功能的定点运算器实验系统。教学重点和难点教学重点:补码可控加减法运算电路实现,浮点加减法运算。教学难点:快速加法器设计、补码一位乘法运算教学主要内容计算机中的运算(20分钟)C语言中的位运算C语言中的逻辑运算C语言中的移位运算C语言中的算术运算定点加减法运算(100分钟)补码加/减法运算方法(10分钟)补码运算溢出及检测(7分钟)加减法的逻辑实现(82分钟)一位全加器(8分钟)多位串行加法器(7分钟)可控加减法电路(7分钟)标志位(6分钟)先行进位加法器(55分钟)定点乘法运算(120分钟)原码一位乘法(45分钟)补码一位乘法(25分钟)阵列乘法器(21分钟)补码阵列乘法器(4分钟)乘法器性能优化(25分钟)定点除法运算(35分钟)原码一位除法(27分钟)阵列除法器(8分钟)浮点运算(45分钟)浮点数的加/减运算(38分钟)浮点数的乘/除运算(7分钟)运算器(45分钟)定点运算器(30分钟)定点运算器实验(12分钟)浮点运算器(3分钟)教学过程与方法计算机中的运算(20分钟)系统梳理C语言中的各类运算符,启发学生思考运算符后面的底层逻辑。C语言中的位运算以C语言位运算对应的汇编代码为例讲解高级语言中位运算的底层逻辑实现。C语言中的逻辑运算以逻辑运算对应的汇编代码为例讲解逻辑运算的底层逻辑实现。C语言中的移位运算以移位运算对应的汇编代码为例讲解移位运算的底层逻辑实现。C语言中的算术运算

以整数、浮点数加减乘除算术运算的汇编代码为例讲解算术运算的底层逻辑实现。定点加减法运算(100分钟)补码加/减法运算方法(10分钟)简单介绍补码加减法运算基本规则,注意减法变加法是关键,但由于补码表示范围不对称,一些特殊值可能存在溢出问题,补码公式的证明学时不够可以不讲。补码运算溢出及检测(7分钟)以单符号运算的四种情况分别介绍计算机进行溢出检测的2种方法以及底层逻辑实现。双符号溢出检测方法,可以反问学生计算机中是单符号还是双符号,为什么?进一步启发学生如何在程序中判断溢出?加减法的逻辑实现(82分钟)一位全加器(8分钟)以多位加法依赖于一位加法引出一位全加器的功能需求。利用组合逻辑的设计方法逐步设计出一位全加器,并进一步给出电路,简单分析时间延迟。多位串行加法器(7分钟)利用一位全加器串联构成多位加法器,并实现有符号溢出检测。以四个8位无符号数的运算为例分析无符号加减法运算溢出检测方法。可控加减法电路(7分钟)利用补码减法变加法的规则将多位串行加法器改造为可控加减法单元。注意启发学生思考Sub信号产生的依据是什么?标志位(6分钟)以溢出检测位引出计算机中的标志寄存器,分析X86计算机中的常见标志位功能。先行进位加法器(55分钟)详细分析串行加法器时间延迟,让学生注意数字逻辑电路特有的片内并行性。根据时间延迟分析公式,时延与位数n成线性关系,如何进一步优化性能?利用进位逻辑表达式推导引入进位生成函数和传递函数,可以提前用电路生成各位全加器所需的进位信号,利用水管阀门图形象的说明进位链与生成函数传递函数的关系。利用与门、异或门阵列构建生成函数、传递函数电路。利用逻辑门电路实现先行进位电路,注意不同进位信号逻辑门输入引脚数目的变化。利用前面构建的两个电路进一步实现四位快速加法器,并进一步引导学生分析其时间延迟。尝试利用四位快速加法器构建16位快速加法器,引出成组进位产生函数和成组进位传递函数。分析四位一组的进位逻辑表达式和一位一组的进位逻辑表达式之间的关系,引出成组先行进位思想。利用水管阀门图说明进位链与成组生成函数、成组传递函数的关系。依据成组进位的思想构建可级联的两级先行进位电路。尝试利用四位快速加法器、可级联的两级先行进位电路构建16位组内、组间先行进位电路,并进一步引导学生分析该电路的关键路径与时间延迟,比较串行加法器和并行加法器的性能差异。定点乘法运算(120分钟)原码一位乘法(45分钟)以简单的横向阵列乘法器引出原码一位乘法,尝试用数学表达进一步分析。分析原码一位乘法的运算流程,注意运算次数,符号计算等关键点。用一个具体例子演示原码一位乘法运算完整过程,提醒学生注意运算中间的溢出不会影响结果的正确性。尝试利用硬件逻辑实现原码一位乘法,注意分析软件实现和硬件实现的差异。用动画方式逐步展示原码一位乘法硬件逻辑电路,此处可以布置相应的实验任务要求学生在Logisim中实现相应电路,注意Logisim中没有原码,实验只能实现无符号数一位乘法,该实验有助于学生提前理解数据通路,系统停机逻辑设计等。补码一位乘法(25分钟)推导补码一位乘法运算公式,并进一步与原码一位乘法比较,得出以下一位乘法运算流程图。分析补码一位乘法运算流程,注意运算次数和右移次数与原码一位乘法的差异。以动画方式展示补码一位乘法硬件逻辑实现,根据需要是否布置实验任务。从硬逻辑实现的角度再次举例说明运算详细过程。阵列乘法器(21分钟)从手工乘法运算引出阵列乘法器。首先给出最直接的横向进位阵列乘法器,进一步分析电路成本以及运算关键路径和逻辑时延。再进一步启发得到斜向进位阵列乘法器,进一步分析电路成本以及运算关键路径和逻辑时延。补码阵列乘法器(4分钟)利用无符号阵列乘法器实现补码阵列乘法器。乘法器性能优化(25分钟)进一步启发学生思考如何优化乘法运算,简单介绍乘法流水线一起其他现行主流方法。分析计算机中的整数乘法运算的底层逻辑实现,强调溢出判断的重要性。分析变量与常数之间乘法运算的编译器优化机制。定点除法运算(35分钟)原码一位除法(27分钟)以手工除法引出原码一位除法的运算思路。详细分析恢复余数除法流程。举例说明恢复余数除法的运算过程以及注意事项,进一步分析该方法存在的问题。推导不恢复余数除法计算方法,余数不论正负直接左移,根据上商位决定下次运算做加法还是减法。举例说明不恢复余数除法计算流程,注意最后由于是无符号运算,所以最后一次一次余数如果是负数还是需要恢复余数。动画展示不恢复余数除法的硬件逻辑实现,注意上商位通过加法器进位信号得到。从硬逻辑实现的角度再次举例说明不恢复余数除法运算详细过程。阵列除法器(8分钟)动画展示不恢复余数除法阵列的硬件逻辑实现,并进一步分析改电路的时间延迟。浮点运算(45分钟)浮点数的加/减运算(38分钟)分析浮点数运算过程中存在的一系列问题,规格化,溢出判断,舍入处理等。并进一步给出浮点数加减法运算的五个基本步骤。结合实例演示浮点数加减法运算的全过程,注意讲解附加位的作用。给出一个浮点数运算溢出的例子,帮助学生理解浮点数溢出判断。给出一个IEEE754浮点数运算溢出的例子,进一步帮助学生理解浮点数溢出判断。从C语言程序角度讲解IEEE754浮点数运算溢出的例子,帮助学生建立软件和硬件之间的连接。浮点数的乘/除运算(7分钟)简单介绍浮点乘法运算和除法运算的基本步骤,运算本质还是利用定点运算解决浮点运算的问题。运算器(45分钟)定点运算器(30分钟)介绍运算器的基本功能,并引导学生思考如何利用

温馨提示

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

评论

0/150

提交评论