CPU-1运算部件(8学时).ppt

上传人:max****ui 文档编号:6328340 上传时间:2020-02-22 格式:PPT 页数:58 大小:1.77MB
返回 下载 相关 举报
CPU-1运算部件(8学时).ppt_第1页
第1页 / 共58页
CPU-1运算部件(8学时).ppt_第2页
第2页 / 共58页
CPU-1运算部件(8学时).ppt_第3页
第3页 / 共58页
点击查看更多>>
资源描述
第三章CPU子系统 运算器 控制器 本章主要讨论 运算器控制器数据通路结构与外部的连接 指令的执行过程 CPU组成 CPU工作原理 CPU组成原理CPU工作机制 设计模型机 CPU子系统 运算器组成和运算方法 控制器原理 组合逻辑控制器 微程序控制器 主机和外设的信息交换 时序控制 本章知识架构 第一节运算器组织 3 1 1运算器的硬件组成 选择操作数来源 选择操作数组合 独立结构 小型存储器结构 单口双口 寄存器组 独立R 双口RAM用多路选择器作为ALU的输入逻辑 单口RAM用锁存器作为ALU的输入逻辑 3 1 2运算器的组织结构 1 带多路选择器的运算器 特点 R各自独立 可同时向ALU提供两个操作数 采用单向内总线 2 带输入锁存器的运算器 特点 单口RAM不能同时向ALU提供两个操作数 用锁存器暂存操作数 采用双向内总线 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补 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 对商校正 商符变反 第n位商恒置1 3 2 4浮点四则运算 3 2 4 1浮点加减运算步骤 1 检测能否简化操作 判操作数是否为0 尾数为0阶码下溢 2 对阶例 10 01 1 对阶 使两数阶码相等 小数点实际位置对齐 尾数对应权值相同 2 对阶规则 小阶向大阶对齐 110 1 010 01 110 1 3 尾数加减 1 1 0001 0 1001 4 阶码比较 比较线路或减法 3 对阶操作 小阶阶码增大 尾数右移 例 AE BE 则BE 1BE BM 直到BE AE 1 1010 2 0 0101 0 1101 4 结果规格化 1 0010 应左移规格化 应右移规格化 若Af1 Af2 1 则右规 1 11 0001 00 1001 11 1010 2 00 0101 00 1101 01 0010 1 2除外 Af1Af2A1 11 1010 01 0010 Af1Af2 3 2 4 2浮点乘法运算 步骤 1 检测操作数是否为0 2 阶码相加 若阶码用移码表示 相加后要修正 3 尾数相乘 相乘前不需对阶 4 结果规格化 一般左规 3 2 4 3浮点除法运算 步骤 1 检测操作数是否为0 2 AM BM 4 尾数相除 相除前不需对阶 5 结果不再规格化 3 阶码相减 若阶码用移码表示 相减后要修正 见教学网站 CPU子系统 运算方法 http 125 71 228 222 wlxt ks indexs aspx courseid 0002请完成单选题 第三章作业
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!