




已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章CPU子系统 运算器 控制器 本章主要讨论 运算器控制器数据通路结构与外部的连接 指令的执行过程 CPU组成 CPU工作原理 第一节运算器组织 独立结构 小型存储器结构 单口双口 寄存器组 独立R 双口RAM用多路选择器作为ALU的输入逻辑 单口RAM用锁存器作为ALU的输入逻辑 3 1 1带多路选择器的运算器 特点 R各自独立 可同时向ALU提供两个操作数 采用单向内总线 3 1 2带输入锁存器的运算器 特点 单口RAM不能同时向ALU提供两个操作数 用锁存器暂存操作数 采用双向内总线 3 1 3位片式运算器 特点 用双口RAM 两地址端 两数据端 作通用寄存器组 可同时提供数据 用多路选择器作输入逻辑 不需暂存操作数 ALU增加乘 除功能 用乘商寄存器存放乘数 乘积或商 例 4位片运算器粗框 第二节运算方法 3 2 1 1补码加减法 数用补码表示 符号位参加运算 实际操作能否只取决于操作码 结果需不需修正 如何将减法转换为加法 3 2 1定点加减运算 1 基本关系式 X Y 补 X补 Y补 1 X Y 补 X补 Y 补 2 式 1 操作码为 加 时 两数直接相加 3 X 3Y 2 X补 00011Y补 11110 00001 1补码 2 X 3Y 2 X补 11101Y补 11110 11011 5补码 1 X 3Y 2 X补 00011Y补 00010 00101 5补码 4 X 3Y 2 X补 11101Y补 00010 11111 1补码 例 求 X Y 补 X Y 补 X补 Y补 1 X Y 补 X补 Y 补 2 式 2 操作码为 减 时 将减转换为加 1 X 4Y 5 X补 00100Y补 11011 Y 补 00101 01001 9补码 2 X 4Y 5 X补 11100Y补 00101 Y 补 11011 10111 9补码 例 求 X Y 补 Y补 Y 补 将Y补变补 不管Y补为正或负 将其符号连同尾数一起各位变反 末位加1 即将减数变补后与被减数相加 X补 00100Y补 11011 X补 11100Y补 00101 注意 某数的补码表示与某数变补的区别 例 10101原11011 补码表示 10011补01101 变补 00101原00101 补码表示 符号位不变 负数尾数改变 正数尾数不变 00011补11101 变补 符号位改变 尾数改变 补码的机器负数 2 算法流程 3 逻辑实现 1 1 控制信号 加法器输入端 A 打开控制门 将A送 B 打开控制门 将B送 1 控制末位加1 加法器输出端 CPA 将结果打入A 2 补码加减运算器粗框 3 2 1 2溢出判断 在什么情况下可能产生溢出 例 数A有4位尾数 1位符号SA数B有4位尾数 1位符号SB 符号位参加运算 结果符号Sf符号位进位Cf尾数最高位进位C 正确 正溢 正确 负溢 正确 正确 1 硬件判断逻辑一 SA SB与Sf的关系 溢出 SA SB Sf SA Sf SB 2 硬件判断逻辑二 Cf与C的关系 正确 正溢 正确 负溢 正确 正确 Cf 0C 0 Cf 0C 1 Cf 1C 1 Cf 1C 0 Cf 1C 1 Cf 0C 0 1 1 1 1 1 1 1 硬件判断逻辑一 SA SB与Sf的关系 2 硬件判断逻辑二 Cf与C的关系 3 硬件判断逻辑三 双符号位 第一符号位Sf1 第二符号位Sf2 1 硬件判断逻辑一 SA SB与Sf的关系 2 硬件判断逻辑二 Cf与C的关系 3 硬件判断逻辑三 双符号位 3 2 1 3移位操作 逻辑移位 数码位置变化 数值不变 1 移位类型 算术移位 10001111 循环左移 0 1001111 算术左移 1 0 0 1 1 1 1 1 0 1 1 1 1 0 15 30 1 单符号位 00111 01110 2 双符号位 001110 000111 2 正数补码移位规则 3 移位规则 00111 00011 011100 001110 000111 数符不变 单 符号位不变 双 第一符号位不变 空位补0 右移时第二符号位移至尾数最高位 1 单符号位 11011 10110 2 双符号位 101100 110110 3 负数补码移位规则 3 移位规则 11011 11101 110110 111011 数符不变 单 符号位不变 双 第一符号位不变 左移空位补0 第二符号位移至尾数最高位 右移空位补1 3 2 1 4舍入方法 1 0舍1入 原码 补码 000100原 100101原 111011补 2 末位恒置1 原码 补码 000100原 111011补 100101原 00010原 10011原 11110补 00011原 10011原 11101补 10011原 11101补 例 保留4位尾数 例 保留4位尾数 3 2 2定点乘法运算 3 2 2 1原码一位乘法每次用一位乘数去乘被乘数 1 算法分析 例 0 1101 1 1011 X原 Y原 1 手算0 1101 0 1011 1101110100001101 0 10001111上符号 1 10001111 部分积 问题 1 加数增多 由乘数位数决定 2 加数的位数增多 与被乘数 乘数位数有关 改进 将一次相加改为分步累加 2 分步乘法 每次将一位乘数所对应的部分积与原部分积的累加和相加 并移位 设置寄存器 A 存放部分积累加和 乘积高位B 存放被乘数C 存放乘数 乘积低位 步数条件操作AC 00 0000 1011 1 Cn 1 B Cn 00 1101 00 1101 1101 00 0110 1 101 0 1101 0 1011 2 Cn 1 B 00 1101 01 0011 00 1001 11 10 0 1101 0 1011 3 Cn 0 0 00 0000 00 1001 00 0100 111 1 4 Cn 1 B 00 1101 01 0001 00 1000 1111 X原 Y原 1 10001111 2 算法流程 Y Y N N 3 运算规则 1 操作数 结果用原码表示 2 绝对值运算 符号单独处理 3 被乘数 B 累加和 A 取双符号位 4 乘数末位 Cn 为判断位 其状态决定下步操作 5 作n次循环 累加 右移 3 2 2 2补码一位乘法1 算法分析X补 X0 X1X2 Xn 1 Y为正 Y补 0 Y1Y2 Yn XY 补 X补 0 Y1Y2 Yn 2 Y为负 Y补 1 Y1Y2 Yn XY 补 X补 0 Y1Y2 Yn X 补 3 Y符号任意 XY 补 X补 0 Y1Y2 Yn X 补Y0 符号位 4 展开为部分积的累加和形式 XY 补 X补 0 Y1Y2 Yn X 补Y0 X补 0 Y1Y2 Yn X补Y0 Yn 1 比较法 用相邻两位乘数比较的结果决定 X补 X补或 0 2 比较法算法Yn 高位 Yn 1 低位 操作 A补为部分积累加和 00011011 1 2A补1 2 A补 X补 1 2 A补 X补 1 2A补 0 1 1 0 3 运算实例X 0 1101 Y 0 1011 求 XY 补 初值 A 00 0000 B X补 11 0011 B X 补 00 1101 C Y补 1 0101 步数条件操作AC 00 00001 0101 1 10 B Cn 00 1101 00 1101 00 0110 11 0101 2 01 B 11 0011 11 1001 11 1100 111 010 3 10 B 00 1101 00 1001 00 0100 1111 01 4 01 B 11 0011 11 0111 11 1011 11111 0 0 Cn 1 CnCn 1 5 10 B 00 1101 XY 补 0 10001111 4 01 B 11 0011 11 0111 11 1011 11111 0 5 10 B 00 1101 00 1000 1111 修正 1 A B取双符号位 符号参加运算 2 C取单符号位 符号参加移位 以决定最后是否修正 3 C末位设置附加位Cn 1 初值为0 CnCn 1组成判断位 决定运算操作 4 作n步循环 若需作第n 1步 则不移位 仅修正 4 运算规则 1 0 B修正0 1 B修正0 0 不修正1 1 不修正 3 2 3定点除法运算 例 0 10110 0 11111 0 10110 1101 0 0 1 11111 0 11111 0 0 0 1 11111 10101 0 1 11111 1011 0 0 00000 0 商 0 10110余数 0 10110 2 实现除法的关键 比较余数 除数绝对值大小 以决定上商 3 2 3 1原码恢复余数法1 算法比较两数大小可用减法试探 2 余数 除数 新余数 为正 够减 商1 为负 不够减 商0 恢复原余数 2 实例 X 0 10110 Y 0 11111 求X Y 给出商Q和余数R 设置 A 被除数 余数 B 除数 C 商 初值 A X 00 10110 B Y 00 11111 C Q 0 00000 B 11 00001 步数条件操作AC 00 101100 00000 1 0 B 01 01100 11 00001 00 01101 0 00001 2 1 B 00 11010 11 00001 11 11011 0 00010 3 恢复余数 B 00 11111 00 11010 01 10100 0 00101 4 0 B 11 00001 00 10101 Cn SA Q1 Q2 Q3 r0 2r0 r1 2r1 r2 r2 2r2 r3 步数条件操作AC 00 101010 00101 5 0 B 01 01010 11 00001 00 01011 0 01011 6 1 B 00 10110 11 00001 11 10111 0 10110 7 恢复余数 B 00 11111 00 10110 Q 0 10110 Cn Q4 Q5 Q3 r3 2r3 r4 2r4 r5 r5 3 说明 3 2 3 2原码不恢复余数法 加减交替法 1 算法分析第二步 2r1 B r2 0第三步 r2 B r2 恢复余数 第四步 2r2 B r3 2r2 B 2 r2 B B 2r2 B r3 第二步 2r1 B r2 0第三步 2r2 B r3 不恢复余数 2 算法ri 1 2ri 1 2Qi Y ri为正 则Qi为1 第i 1步作2ri Y ri为负 则Qi为0 第i 1步作2ri Y 3 实例 X 0 10110 Y 0 11111 求X Y 给出商Q和余数R 初值 A X 00 10110 B Y 00 11111 C Q 0 00000 B 11 00001 步数条件操作AC 00 101100 00000 1 为正 B 01 01100 11 00001 00 01101 0 00001 2 为负 B 00 11010 11 00001 11 11011 0 00010 3 B 00 11111 11 10110 0 00101 为正 00 10101 Cn r Q1 Q2 Q3 r0 2r0 r1 2r1 r2 2r2 r3 4 为正 B 01 01010 11 00001 00 01011 0 01011 Q4 2r3 r4 步数条件操作AC 00 010110 01011 6 为负 恢复余数 B 00 11111 00 10110 Q 0 10110 Cn Q4 r4 5 为正 B 00 10110 11 00001 11 10111 0 10110 Q5 2r4 r5 r5 4 运算规则 1 A B取双符号位 X Y取绝对值运算 X Y 2 根据余数的正负决定商值及下一步操作 3 求n位商 作n步操作 若第n步余数为负 则第n 1步恢复余数 不移位 3 2 3 3补码不恢复余数法 加减交替法 如何判断是否够减 如何上商 如何确定商符 1 判够减 1 同号相除 1 0 1 0 够减 不够减 够减 不够减 够减 r与X Y同号 不够减 r与X Y异号 2 异号相除 1 0 1 0 够减 够减 不够减 不够减 够减 r与X同号 与Y异号 不够减 r与X异号 与Y同号 3 判断规则 同号 作X补 Y补 X补 Y补 够减 r补与Y补同号 不够减 r补与Y补异号 异号 作X补 Y补 够减 r补与Y补异号 不够减 r补与Y补同号 2 求商值 同号 商为正 异号 商为负 够减商1不够减商0 够减商0不够减商1 r Y同号 r Y异号 r Y异号 r Y同号 够减商1不够减商0 够减商0不够减商1 r Y同号 r Y异号 r Y异号 r Y同号 r Y同号 r Y异号 r Y异号 r Y同号 够减商1不够减商0 够减商0不够减商1 上商规则 余数与除数同号商1 异号商0 3 算法 ri 1 补 2ri补 1 2Qi补 Y补 ri补与Y补同号 则Qi补为1 第i 1步作2ri补 Y补 ri补与Y补异号 则Qi补为0 第i 1步作2ri补 Y补 4 求商符 令X补 r0补 r0补与Y补 同号 Q0补 1异号 Q0补 0 与实际商符相反 商符 5 商的校正 商 余数 真商 假商 1 000 01 Q0 Q1Q2 Qn 1 求n 1位商 假商 第n位商 末位商 恒置1 3 1 商符变反 n位 4 余数求至rn 6 实例 X 0 10110 Y 0 11111 求X Y 给出商Q和余数R 初值 A X补 00 10110 B Y补 11 00001 C Q补 0 00000 B 00 11111 步数条件操作AC 00 101100 0000 1 异号 B 01 01100 11 00001 00 01101 0 0000 2 同号 B 00 11010 11 00001 11 11011 0 0001 Cn 1 r Y Q1 Q2 r0 2r0 r1 2r1 r2 求商符 Q0 异号 0 5 B 11 00001 00 10110 11 10111 步数条件操作AC 11 110110 0001 3 异号 B 11 10110 00 11111 00 10101 0 0010 4 异号 B 01 01010 11 00001 00 01011 0 0100 Cn 1 r Y Q3 Q2 r2 2r2 r3 2r3 r4 2r4 r5 假商 0 0100 Q4 真商 0 0100 1 00001 1 01001 Q 0 10111R 0 01001 2 5 7 运算规则 1 A B取双符号位 符号参加运算 并且X Y 2 根据余数与除数的符号决定商值及下一步操作 3 求n 1位商 作n步操作 求出rn 4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公益诉讼在国有资产保护中的作用分析
- 现代园林设计新思维:生态美学在园林空间构建中的应用
- 教育数字化背景下体育课程创新研究
- 【《新兴城市社区社会工作融入研究-以Y社区为例》8000字(论文)】
- 【《Z商业银行信贷风险管理研究》5800字(论文)】
- 江苏省苏州市葛江中学2026届九年级英语第一学期期末达标测试试题含解析
- 华山医院教学体系建设与实践
- 安徽省当涂县2026届九上化学期中考试模拟试题含解析
- 广联达教育培训
- 涉企收费迎检汇报
- 闭合性颅脑损伤重型个案护理
- 紫金矿业员工工作手册
- 消费者市场与购买行为课件
- 民政信访业务培训课件
- 行政检查业务培训课件
- 个人独资企业章程样本
- 土石方价值评估报告
- 16-CNC绕线机设置培训资料
- 员工利益冲突管理制度
- 加油站安全教育培训记录表模板
- 2023年护理三基考试试题库7000题
评论
0/150
提交评论