设计一组四指令集.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
设计一组四指令集

设计一组指令集 让我们来建构一个简易的计算机吧 可程序化控制系统 一个初步的程序 一个最佳化的程序 计算阶乘 计算阶乘的控制架构 可程序化引擎 一般用途计算器 冯诺曼(von Neumann)模型 储存程序计算器 冯诺曼计算机解析 指令集架构 β 程序模型 一个具代表性, 简单, 当代的RISC β 指令格式 β ALU 操作 β ALU 常数操作 我们需要内建的常数吗? 宝宝的第一个Beta程序 (片段) β 载入 及 储存 储存的常规 一般的 “寻址模式” 记忆体操作: 使用量 至目前的功能: 表示式的计算 翻译一个表示式: 我们可以执行任何的算法吗? Beta 分流指令 现在 我们可以执行阶乘了... 总结 *10/17/0 缴交实作课报告日: 今天 下周二10/22 计算 N*(N-1) 的数据路径 L.E. = 可载入(load enable). 缓存器只在LE=1时载入新值 ANSWER 以这个数据路径来计算 N*(N-1) 是一个多步骤的程序. 我们可以用一个有限状态机来控制这个程序的每一步骤. 如果可以让不同的控制序列加载这个控制有限状态机, 那就是说这机器必需是可程序化的. 再一次, 写一个控制程序不外乎是填表: 有些部分的程序可以被同时计算: 可程序化系统的好处是: 可们可以重新设定组态来计算新的函数 为了要计算 N! , 我们需要加上一些新的逻辑电路以及一个输入到控制有限状态机: 可程序性使得我们可以重复使用数据路径来解新的问题. 我们所需要的是一个通用的数据路径. 它必需能够有效率地解大部分的问题, 同时可用较简单的方式来控制它. 我们已经用相同的数据路径来计算 N*(N-1) 及 阶乘; 还有很多各式各样的计算, 是可以简单地重新写入程序到控制有限状态机来达成的. 虽然我们的小机器是可程序化的, 但它还不够做为一个实用的通用计算器 – 并且无法通过Turning通用测试. 以下有三个主要的理由: 1. 它的储存空间很有限: 它缺少了Turing机器所需的“可延伸” 内存资源. 2. 它只有很少的操作功能. 3. 它的”程序”是固定的. 它缺少了(来举例来说)产生新程序并执行的能力. 有许多一般用途计算器的架构被提出并探讨. 几乎大部分近代实用的计算器是以约翰冯诺曼(John von Neumann) 在1940年代后期所提出的架构来建构的. 它包含了以下几个主要的组件: 中央处理单元 (CPU): 包含几个缓存器, 以及可以对缓存器的内容执行一组特定的操作之逻辑. 内存: 储存N个W位的字组, 其中W一个固定的架构参数, 而N可以依需求被延申. 输入/输出: 对外沟通的组件. 输入/ 输出 中央处理单元 主存储器 冯诺曼 架构轻易地指出前述简单可程序化计算机中的前两项限制: 较丰富的操作功能, 以及 可延伸的内存. 但是它如何达到”可程序化”这项要求呢? CPU 取得并执行 (解译) 连续的程序指令 ... 程序对解译器来说只是简单的数据 – 就像在一个通用的Turing机器! 单一个可延伸的资源共享区 – 主存储器 – 限制了数据和程序的大小. 主要概念: 内存不只储存数据, 也储存了 型成一个程序的编码指令. 中央 处理单元 缓存器 操作 指令被编码为二进制数据 程序计数器 (PC): 下一个将被执行的指令之地址 将指令转译成数据路径的控制讯号之逻辑 MEMORY 控制单元 指令 地址 地址 资料 控制讯号 状态 資料路徑 內部儲存空間 如何选择指令的编码... 取舍: 效能, 压缩度, 可程序性 一致性. 不同的指令应该 大小相同? 执行时间长度相同? 趋势: 一致性提供了简单, 速度, 以及管路技术的可行性. 复杂度. 有多少不同的指令? 何种等级的操作? 支持特定软件操作的等级: 数组指位, 过程调用, “多项式求值”, 等等 “简化指令集计算机” (RISC) 哲学: 简易指令, 最佳化速度 工程及艺术的综合体... 尝试 (以模拟来达成) 是现有最好的技术来决定架构! 我们所使用的代表架构: β 架构! 处理器状态 主存储器 通用缓存器 虽然每一个记忆字组(word)是32位宽, 由于历史的因素, β还是使用字节(byte)内存地址. 因为每一个字组(word)包含了四个8位的字节(byte), 两个连续的字组的地址相差4. 指令取得/执行 循环: 取得 Mem[PC] PC = PC + 4? 执行所取得的指令 (可能会改变 PC!) 重复! 有两种指令格式: OPCODE, 3个缓存器OPERAND (2个来源, 一个目标) OPCODE, 2个缓存器OPERAND, 16-bit字母常数 所有的β 指令可以编码成单一个32位字组(

文档评论(0)

186****0772 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档