计算机组成原理精华部分_第1页
计算机组成原理精华部分_第2页
计算机组成原理精华部分_第3页
计算机组成原理精华部分_第4页
计算机组成原理精华部分_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

逻辑电路 1 与 and Y AB 分析相当于 2 个开关串联在一条线上 即 A 和 B 两个开关 当两者都闭合时电路才是通 路 当其中任意一个打开时 电路就是断路 其中包含两者都是打开情况 如下图情况 ABY AB 000 010 100 111 其中数字 0 表示电路中的断路 1 表示电路中的通路 如果输入端 A 作为控制端 则 A 的值将会决定输入端 B 的值是否能被输出到端口 Y 意思即为 A 为 0 时表示不能输入端口 Y 相反亦然 与表示符号另一片第另一片第 2 脚接脚接 5V 第第 3 脚接输出脚接输出 1 3 1 1 2 3 4 5 13 12 11 10 9 8 1 2 3 6 4 2 第第 6 引脚接引脚接 9 第 第 11 引脚接引脚接 10 1 3 1 1 2 3 4 5 13 12 11 10 9 8 1 2 3 6 4 2 第第 8 脚输出 测出脚输出 测出 A B 与与 Y Z 间的逻辑关系间的逻辑关系 2 全加器的设计 考虑低位来的进位的加法称为全加 完成全加功能的电路称为全加器 全加器的方框图如图 3 2 2 所示 从图中可知它有加数 A 被加数 B 低位向高位的进位 Ci三个 输入端 有全加和 S 和向高位的进位 C0二个输出端 1 根据全加器方框图及二进制数相加的原则列出真值表加表 3 2 2 所示 2 根据全加器真值表利用卡诺图可用不同的方案实现全加器 方案一 利用异或门和与非门实现 全加和 S 与向高位进位 C0的卡诺图和化简过程如图 3 2 3 所示 表表 3 2 2 全加器真值表全加器真值表 半加器 S C0 AB 半加和 向高位的进位 加数被加数 Ci 低位向高 位的进位 图 3 2 2 全加器方框图 图 3 2 3 全加器的卡诺图 a S 卡诺图 b C0卡诺图 0 i ii ii SAB CAB CABC CABAB CABAB C A A A B C1S C0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 1 C C0 0 S S 1 1 1 1A A B B C Ci i 图 3 2 4 用异或门和与非门构成全加器 根据 S 和 C0的表达式画出逻辑电路图如图 3 2 4 所示 在化简过程中 我们注意到利用公共 项 方案二 利用与或非门及非门实现 在中规模组件中一般都采用与或非门和非门来实现全加器 由于全加器有 S 和 C0两路输出 从图 3 2 3 b C0的卡诺图可看出 C0可写为 0ii CABBCAC 利用一个与或非门和非门即可形成 C0 下面我们利用卡诺图的变换找出 S 和0 C的公共项 如图 3 2 5 所示 图 3 2 5 S 的卡诺图变换 从图 3 2 5 中看出 00 12ii SCFFCABCABC A 000 ii ACBCC CABC 000 ii ACBCC CABC 根据 C0和 S 的逻辑表达式画出逻辑电路图如图 3 2 6 所示 采用与或非门构成的全加器具有使用器件少 速度快的特点 目前集成全加器广泛采用此种 形式 3 集成全加器 全加器是常用的算术运算电路 其逻辑符号如图 3 2 7 所示 在一位全加器的基础上 可以构成多位全加器 当两个 n 位二进制数相加时 进位方式有两 种 即逐位进位和超前进位 目前生产的集成四位全加器也具有上述两种进位方式 1 1 4 位逐位进位全加器 1 11 1 1 1 1 1 0 CS A B 1 C 图 3 2 6 用与或非门构成的全加器 F CO CI A B 图 3 2 7 一位全加器逻辑符号 图 3 2 8 是 4 位二进制数相加逐位进位的全加器电路 由于每一位相加结果 必须等到低一位 的进位产生以后才能建立 因此这种结构叫做逐位进位全加器 或串行进位全加器 逐位进位全加器的最大缺点是运算速度慢 为提高运算速度 必须设法减小或消除由于进位 信号逐级传递所耗费的时间 为了提高运算速度 制成了超前进位全加器 B B3 3A A3 3B B2 2A A2 2B B1 1A A1 1B B0 0A A0 0 F F0 0 F F1 1 F F2 2 F F3 3 C CO O C CO OC CO OC CO OC CO O C CI IC CI IC CI IC CI I 图 3 2 8 4 位逐位进位全加器 2 超前进位全加器 图 3 2 9 所示为 4 位超前进位全加器逻辑电路图 从图中可见 1111111 11 111111 2222222 2111111111111111 XA BABAB YCI FXYABCI XA BABAB YCIA BABCIA BABCIABA B A 将 Y2进行变换 11 211111111111 YCIABA BCIA BCI A BA B AA 与全加器 C0比较 可知 Y2为第一位 A1B1和 CI1相加产生的相加产生的向高位的进位信号 CO1 也就是第 2 位的进位输入 CI2 同理 可写出 X3 X4 X2 X1 Y4 Y3 Y2 Y1 11 B4 12 A4 15 B3 14 A3 2 B2 3 A2 6 B1 5 A1 7 CI1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 F1 4 F2 1 F3 13 F4 10 CO4 9 图 3 2 9 4 位超前进位全加器 33222221122111 YCICOA BABABABAB CI A 44333332233 YCICOA BABA BAB A 22113322111 ABABABABAB CI A 44444334433 COCOA BABA BABAB A 2244332211 A BABABABAB 443322111 ABABABAB CI A 0 3 P 0 3 Q 0 3 CICO 图 3 2 10 4 位全加器逻辑符号 从 Y2 Y3 Y4 CO的表达式可见 各位进位信号的产生均只需要经历一级与非门和一级与或非 门的延迟时间 比逐位进位的全加器大大缩短了时间 4 位超前进位全加器集成电路有 CT54283 CT74283 CT54S283 CT74S283 CT54LS283 CT74LS283 CC4008 等 图 3 2 10 所示为 4 位全加器逻辑符号 4 全加器的应用实例 全加器除了可作为二进制的加法运算外 还可做其它方面的应用 如乘法运算 8421BCD 码 的加法运算 实现码制变换等 1 试用全加器完成二进制的乘法功能 以二个 2 位二进制数相乘为例 乘法算法如下 10 AA A 10 BB B 1010 PA AB B A1 A0 B1 B0 A1B0 A0B0 A1B1 A0B1 P2 P1 P0 000 11001 2111 32 PA B PABA B PABC PC C1为 A1B0 A0B1的进位位 P3 C2 C2为 A1B1 C1的进位位 按上述 P0 P1 P2 P3的关系可构成用 全加器实现二进制乘法的电路 如图 3 2 11 所示 2 采用四位全加器实现将 8421BCD 码转换成为余 3 码的码制转换电路 余 3 码是在 8421BCD 码基础上加上恒定常数 3 0011 因此 可采用 4 位全加器 8421BCD 码作为一组数 据输入端的输入 另一组数据输入端接上恒定常数 0011 输出 F3 F0即为余 3 码 实现了码制 转换 如图 3 2 12 所示 COCO CI P0P1P2P3 A0B0A1B1 图 3 2 11 利用全加器实现二进制乘法 CI CO 30 P 30 Q 30 F3F2F1F0 A B C D 1 图 3 2 12 用全加器实现码制转换 3 用四位全加器构成一位 8421BCD 码的加法电路 两位 8421BCD 码相加 其和仍应为 8421BCD 码 如不是 8421BCD 码则结果错误 若和小于等于 9 结果正确 如 4 0100 3 0011 7 7 0111 0111 是 8421BCD 码的 7 结果正确 若和大于 9 则结果错误 若要得到正确结果 则需加 6 011 修正 如 6 0110 7 0111 13 1011 1101 在 8421BCD 码中是非法码 结果错误 如果加 6 修正后 则产生了进位信号 且本位 1101 0110 1 0011 0011 也是正确的 若和产生进位 则结果错误 也需加 6 修正 如 8 1000 9 1001 17 1 0001 虽产生了进位 但本位和不正确 若加 6 修正 1 0001 0110 1 0111 得到正确结果 产生错误的原因是 8421BCD 码为十进制 逢十进一 而四位二进制数是逢十六进一 故二 者进位关系不同 其中刚好相差 6 故需加 6 进行修正 这样 构成两个一位 8421BCD 相加时 必须由三部分组成 一部分进行加数和被加数相加 第二部分是修正判别 判别是否要加以修正 即产生修正控制信号 第三部分完成加 6 修正 第 一部分和第三部分均由 4 位全加器实现 第二部分修正判别电路应在 8421BCD 码相加有进位信 号 CO 产生时 或者和数在 10 15 的情况下产生修正控制信号 F 所以 F 应为 10 11 12 13 14 15 m FCO 利用图 3 2 14 所示的卡诺图将和大于 9 的部分化简得出 F 32313231 FCOF FF FCO F FF F AA 根据上述分析及 F 信号产生的逻辑表达式可得到两个一位 8421BCD 码相加的电路 如图 3 2 13 所示 0 3 P 0 3 Q 3 0 CI CO 3 0 P 3 0 Q 3 0 CI CO 8 4 2 1 8 4 2 1 加数 被加数 A B 8 4 2 1 进数 8 4 2 1 和 相加 1 修正判断 修正 图 3 2 13 用全加器实现两个 8421BCD 码加法 好像 用异或运算 其实 CPU 只有加法 什么都转换成加法做 其实是用补码表示数的方法 用加法实现出来 是左位移运算 是右位移 浮点数可以是单精度数据和双精度 数据 单精度浮点数占据 32 位二进制 1 位为符号位 0 代表正数 1 代表负数 8 位指数位 即指数可以达到 10 进 制数据的 2 的 8 次方 尾数 23 位 即尾数可以达到 2 的 23 次方 双精度浮点数占据 64 位二进制 1 位为符 号位 11 位指数位 52 位尾数位 2 不同进制间的转换 1 二进制 八进制 十六进制数转换成十进制数 当二进制 八进制 十六进制数转换成十进制数时 只 要 按权展开 即可 例 3 1 二进制数转换成十进制数 10100 01 2 1 24 0 23 1 22 0 21 0 20 0 2 1 1 2 2 10 20 25 10 例 3 2 八进制数转换成十进制数 300 6 8 3 82 0 81 0 80 6 8 1 10 192 75 10 例 3 3 十六进制数转换成十进制数 3B C 16 3 161 11 160 12 16 1 10 59 75 10 十进制数转换成二进制 八进制 十六进制数时 因为 整数部分和小数部分转换的规则不同 所以要将整数 和小数 部分分开进行转换 整数部分的转换 整数部分的转换规则是 除基取余 逆向取 也就是 说 用要转换的十进制整数去除以基数 R 将得 到的余数作 为结果数据中各位的数字 直到余数为 0 为止 先得到的余 数作为转换后的最低位 最后得到的 余数作为转换后的最高 位 例 3 4 将十进制整数 835 分别转换成二进制和八进制数 余数 低位 二进制转换 8 834 2 8 104 0 8 13 5 8 1 1 0 高位 所以 834 10 1502 8 2009 7 2 计算机组成原理 197 Page 198 二进制转换 余数 低位 2 834 0 2 417 1 2 208 0 2 104 0 2 52 0 2 26 0 2 13 1 2 6 0 2 3 1 2 1 1 0 高位 所以 834 10 1101000010 2 小数部分的转换 小数部分的转换规则是 乘基取整 正向取 也就是说 用要转 换的十进制小数去乘以基数 R 将得 到的乘积的整数部分作为结果数据 中各位的数字 小数部分继续与基数 R 相乘 以次类推 直到某一步乘 积的小数部分为 0 或已得到希望的位数为止 最后 将先得到的整数部分 作为转换后的最高位 最后得到的 整数部分作为转换后的最低位 2009 7 2 计算机组成原理 198 Page 199 例 3 5 将十进制小数 0 6875 分别转换成二 八进制数 0 6875 2 1 375 1 0 375 2 0 75 0 0 75 2 1 5 1 0 5 2 1 0 1 所以 0 6875 10 0 1011 2 0 6875 8 5 5 5 0 5 8 4 0 4 所以 0 6875 10 0 54 8 低位 其它例题 略 2009 7 2 计算机组成原理 199 Page 200 二进制数转换成八进制数 二进制数转换为八进制数的规则可以概括为 三位并一位 即以小数点为基数 整数部分从 右 至左 每三位一组 最高位不足三位时 添 0 补 足三位 小数部分从左至右 每三位一组 最低有 效位不足 三位时 添 0 补足三位 然后 将各组的 三位二进制数按 22 21 20 权展开后相加 得到一 位八进制数 例 3 9 将 1000110 01101 2 转换成八进制数 001 000 110 011 010 1 0 6 3 2 所以 1000110 01101 2 106 32 8 2009 7 2 计算机组成原理 200 Page 201 二进制数转换成十六进制数 二进制数转换为十六进制数规则可概括为 四位并一 位 即以小数点为基数 整数部分从右至左 每 四位一组 最高位不足四位时 添 0 补足四位 小数部分从左至右 每 四位一组 最低有效位不足四位时 添 0 补足四位 然后 将各组的四位二进制数按 23 22 21 20 权展开后相加 得到一位十六进制数 例 3 10 将 10010111 11011 2 转换成十六进制数 1001 0111 1101 1000 9 7 D 8 所以 10010111 11011 2 97 D8 16 思考 计算机能够直接识别运算的是二进制 那么计 算机中还要采用八进制 十六进制的目的是什么 3 3 1 原码 反码 补码的定义 1 原码 对于无符号数 原码是一种用数值本身表示的二进制编 码 对于有符号数 原码是一种以符号和数值表示的二进制 编码 有符号数的原码编码规则是 用最高位 表示符号 整 数用 0 表示 负数用 1 表示 其他位表示该数的绝对值 例如 X 105 X 原 01101001 2 Y 105 Y 原 11101001 2 注意 0 的原码有两种 即 0 原 00000000 2 0 原 10000000 2 结论 正数的原码是它本身 负数的原码是真值取绝对 值后 在最高位 左端 补 1 2 反码 反码使用得较少 它只是补码得一种过渡 对于无符号数 反码是一种用对数值按位取反表示的二 进制编码 对于有符号数 反码是一种用符号位和对数值按位取反 表示的二进制编码 有符号数的反码编码规则 是 用最高位 表示符号 正数用 0 表示 负数用 1 表示 正数的反码是其原 码本身 负数反码的数值部分是 原码的数值部分按位取反 例如 65 原 01000001 2 65 反 01000001 2 65 原 11000001 2 65 反 10111110 2 注意 0 的反码有两种 即 0 反 00000000 2 0 反 11111111 2 结论 正数的反码与其原码相同 负数的反码是符号位 不变 其余各位按位取反 3 补码 补码是计算机处理有符号数的运算常用的一种方法 对于无符号数 补码是一种用对数值按位取反并加 1 表示的二进制 编码 对于有符号数 补码是一种用符号和对数值按位取反并加 1 表示的 二进制编码 对于 n 位计算机 某数 x 的补码定义为 X 2n 1 X 0 X 补 2n X 0 X 2n 1 结论 正数的补码等于正数本身 负数的补码等于模 即 2n 减 去它的绝对值 即符号位 1 不变 数 值部分是原码的数值部分按位取反 并加 1 4 三种码制的比较 1 对于正数它们都等于真值本身 而对于负数各有不同的表示 2 原码和反码各有两种零的表示法 而补码具有唯一的零 乘法运算过程步骤可归为如下几点 1 乘法运算可用移位运算和加法运算实现 当 4 位数乘 4 位数时 需要作 4 次移位运算和 4 次加法运 算 2 由乘数的末位值决定乘数是否与部分积相加 然后右移 1 位 形成新的部分积 同时乘数也右移 1 位 由次低位作为末位值 空出的最高位为部分积 的最低位 3 每次作加法时 被乘数仅仅与原部分积的高 位相加 其低位被移至乘数所空出的高位位置 5 移码移码 移码 是用来表示浮点型小数的阶码 对于正数 符号位为 1 其余位不变 1110001 11110001 对于负数 符号位为 0 其余位取反 最后加 1 1110001 00001111 存储容量 所谓存储容量即存储器能够保存的数据的 数量 常用的单位有 GB MB KB 等 1GB 1024MB 1MB 1024KB 1KB 1024B 也可以用 乘积的方式表示 公式为 容量 字数 字长 如 1KB 可以表示为 1K 8 位 1MB 可以表示为 1M 8 位等 存取速度 所谓存取速度即是单位时间内存储器能读 写的位数或字节数 该参数跟存储器的时钟频率有关 一般情况下 时钟频率越高 存取速度越快 如果用位 数衡量 常用单位有 Kb s Mb s 等 如果用字节数衡 量 常用单位有 KB s MB s 等 读写周期 所谓读写周期是指读写一位或一 个字节所需要的时间 该参数与存取速度成反比 存取速度越快 周期越短 反之亦然 所谓虚拟存储 就是采用一定的方法将一定 的外存容量模拟成内存 同时对程序进出内存的 方式进行管理 从而得到一个比实际内存容量大 得多的内存空间 使得程序的运行不受内存大小 的限制 虚拟存储方法的实现依赖于程序的特性 顺序性 局部性 根据程序的以上两个特性 需要运行的程序 不需要完全进入内存也可运行 具体方法如下 根据程序的顺序性和局部性原理 如果将程序分 成几块 当前面一个块快运行结束时再将下一个 块调入内 存 则程序的执行将不会受到影响 而 且程序所需要的内存容量也将变小 页式存储系统 是对作业而言 即对整个程序而言 根据分区分配时 区域的大小是否固定 分 区分配又可以分为固定分区分配和可变分区分配 所谓固定分区分配 是指先将内存分成若干 固定区域 区域大小一经确定将永远不再改变 每个作业占用 一个区域 分区过程中 要给作业分配内存 必须首先 要知道哪些分区是空闲 未分配 的 这些空闲 区的容量是 多大 因此系统需要设置一种表格来 纪录这些信息 常常采用的方法是分区分配表 常用的分区方法一般有两种 最佳适应法 以容量考虑 和 最先适应法 以时间考虑 所谓最佳适应法 是指 在给作业分 配空间时 首先遍查分区分配表找到一个能满足 作业要求的最小分区分配给该作业 而最先适应 法则是指在分区时 按地址从低到高查找分区分 配表 将找到的第一个能满足作业运行要求的分 区分配给 作业 所谓可变分区分配是指先不给内存分区 给 作业分配时 根据作业运行时对内存的需要再从 剩余空间中分出 一部分给该作业 经过一段时间 的分配后内存也将分为若干区域 因此 在可变 分区中也需要设置分区分配 表 分页虚拟存储分页虚拟存储 在可变分区分配中 为了解决空闲区不连续 问题而采用了移动作业的内存空间的方法 系统 开销非常大 而 且采用的方法是让硬件适应软件 的方法 其实解决上述问题的也可以从另一方面 入手 那就是让软件去适应 硬件 这里所说的软 件是作业 硬件是内存 既然移动内存需要花费 很多 CPU 时间 那就将作业划分为几 个部分 每 个部分存在一个空闲区域中 这样 要保存一个 较大的作业就不需要找到一个比作业空间大的空 闲空间 而只需要多个空闲块的容量之和大于作 业容量即可 请求分页虚拟存储 所谓 请求 是指不将作业的所有页同时放入内存 而是作业在运行过程中需要某个页时 如果该页没有在 内 存中 则请求中断 让系统将该页从外存放入内存 因此 在给作业分配空间时 不需要按作业的页数分 配物理块 而是只给作业分配少量的物理块 然后通过一定的置换机 制实现用少量的物理块运行较大的作业 所谓 置换 是 指当作业需要某个没有在内存中的页时 如果系统分配给 作业的几个物理块已经全部被占满 则根据一定的算法将 内存中的页面调到外存 而将马上要运行的页调入内存 比如 系统分配给某作业三个 物理块 此三个物理块分别 保存作业的 2 4 和 6 号页 当作业需要运行 5 号页时 因为 系统分配给该作业 的三个块已经被占满 则需要从 2 4 和 6 号页中选择淘汰一个 将其调出内存 而将 5 号页面放入 内存运 行 如果置换算法设计不当 则页将会频繁地调入 调出内存 增大系统开销 降低系统性能 特别是 颠簸 问题的存在 给置换算法提出了很高的要求 常用的页面置换算法主要有 先进先出置换 算法 最久不用置换算法和最近最久未用置换算法 根据程序执行的顺序性和局部性 当一个页 刚刚被使用过 则该页被再次使用的几率较高 相反 越早使用 过的页 被再次使用的几率越低 最近最久未用算法就是基于作业的这一特性设计 的 段式虚拟存储 是对程序的模块而言 即对其功能而言 通过前面的学习 我们知道 页式虚拟存储因 为页的大小跟物理块的大小相同 所以很大程度上 解决了存储 管理的碎片问题 但是按照固定的大小 对作业进行分页 往往会破坏作业本身的逻辑结构 因为现在的程序 大都按其功能分为很多的子程序 而子程序的大小各不相同 更不会是刚好页大小的 整数倍 所以如果单纯 对作业进行分页 则有的页 可能会包含有一个子程序的结尾部分和另外一个页 的开始部分 这就完全破坏 了程序的模块化 然而 模块化思想解决软件危机的最基本的思想 编程序 时要注意程序模块化 存储管理 时更要注意保持子 程序的完整性 存储空间分配 段式存储管理系统中 由于按照逻辑关系将 作业分成了若干段 所以没有必要给作业分配一 个连续的地址 空间 只需要给每个段分配一个连 续的空间即可 因此在段式存储管理方式下 逻 辑相邻的段可能在物理 地址上不连续 段页式管理中作业的页表不唯一 在段页式管理方式下 作业访问内存中的语句之 前 要两次访问内存 而页式存储管理和段式存 储管理访问 内存语句前 只需要访问一次内存 外存设备与磁盘阵列技术 对外存的要求跟内存 不同 对外存主要要求其容量足够大 而对其读 取速度的要求不高 常用的外存主要有 软盘 U 盘 磁盘和光盘等 辅助存储器的主要技术指标是存储密度 存 储容量 数据传输率和寻址时间等 存储密度是指单位长度或单位面积磁层表面所 存储的二进制信息量 对于磁盘存储器 用道密度 和位密度表 示 也可以用两者的乘积 面密度表示 对于磁带存储器 则主要用位密度表示 存储容量指磁表面存储器所能存储的二进制信 息总量 一般用字节为单位 数据传输率是指在单位时间内与主机之间传送 数据的位数或字节数 寻址时间是指发出读磁盘命令到数据全部读出 的时间长度 要对数据寻址 硬盘的 地址信息将包含盘面号 磁道号和扇区号 值得注 意的是 虽然不同磁道上的扇区长 度不同 但是它 们的存储容量却是相同的 与磁盘不同的是 光盘采用一个连续的旋转 形的轨道来存储数据的 有点类似音轨的概念 这些轨道被分 成相同尺寸 相同密度的区域 因 此 使盘片的利用率得到进一步的提高 由于光 盘上的数据是以相同的 密度存放的 因此在读取 光盘的时候就要采取恒定的线速度 光驱在读取 内外圈数据时盘片的旋转速度会 大为不同 需要 光驱的主轴马达不断改变旋转速度以适应读取数 据的需要 指令系统 一台计算机中全部指令 的集合称为这台计算机的指令系统 它是软 硬件设计的分 界面 CPU 中至少要有 5 个专用的寄存器 它们是 程 序计数器 PC 指令寄存器 IR 存储器地址寄 存器 MAR 存储器数据寄存器 MDR 状态标 志寄存器 PSWR CPU 的主要技术参数的主要技术参数 cpu 包含控制器和运算器 1 字长 2 内部工作频率 3 外部工作频率 4 片内 Cache 的容量和速率 5 工作电压 6 地址总线宽度 7 数据总线宽度 8 制造工艺 时钟周期 时钟周期也称为振荡周期 定义为时钟脉冲的倒数 可以这样来理解 时钟周期就是单片机外接晶振的倒 数 例如 12M 的晶振 它的时间周期就是 1 12 us 是计算机中最基本的 最小的时间单位 在一个时钟周期内 CPU 仅完成一个最基本的动作 对于某种单片机 若采用了 1MHZ 的时钟频率 则 时钟周期为 1us 若采用 4MHZ 的时钟频率 则时钟周期为 250us 由于时钟脉冲是计算机的基本工作脉冲 它控制着计算机的工作节奏 使计算机的每一步都统一到它的步调上来 显然 对同一种机型的计算机 时 钟频率越高 计算机的工作速度就越快 但是 由于不同的计算机硬件电路和器件的不完全相同 所以其所需 要的时钟周频率范围也不一定相同 我们学习的 8051 单片机的时钟范围是 1 2MHz 12MHz 在 8051 单片机中把一个时钟周期定义为一个节拍 用 P 表示 二个节拍定义为一个状态周期 用 S 表 示 机器周期 在计算机中 为了便于管理 常把一条指令的执行过程划分为若干个阶段 每一阶段完成一项工作 例如 取指令 存储器读 存储器写等 这每一项工作称为一个基本操作 完成一个基本操作所需要的时间称为机器 周期 一般情况下 一个机器周期由若干个 S 周期 状态周期 组成 8051 系列单片机的一个机器周期同 6 个 S 周期 状态周期 组成 前面已说过一个时钟周期定义为一个节拍 用 P 表示 二个节拍定义为一个 状态周期 用 S 表示 8051 单片机的机器周期由 6 个状态周期组成 也就是说一个机器周期 6 个状态周 期 12 个时钟周期 指令周期 指令周期是执行一条指令所需要的时间 一般由若干个机器周期组成 指令不同 所需的机器周期数也不 同 对于一些简单的的单字节指令 在取指令周期中 指令取出到指令寄存器后 立即译码执行 不再需要其 它的机器周期 对于一些比较复杂的指令 例如转移指令 乘法指令 则需要两个或者两个以上的机器周期 通常含一个机器周期的指令称为单周期指令 包含两个机器周期的指令称为双周期指令 组合逻辑控制器和微程序控制器的比较 组合逻辑控制和微程序控制之间的最显著差异可归结为两点 1 实现 2 性能 任何流水线上的某一段不能在一个时钟周期内完 成 通常就叫做流水线停顿 一旦流水线停段 性能就会降 低 因此流水线处理器设计的一个重要目标就是通过某些措施来有 效地避免或减小这种停顿的影响 常用的 技术主要有指令预取 指令队列 指令缓冲 和快速 Cache 等 为避免流水线停顿 时钟周期的长度应足以保证 任何段都能够完成任务

温馨提示

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

评论

0/150

提交评论