CPU的设计实践.pdf

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
神秘是一种我们能够体验到的最美丽的东西。 它是所有真正艺术和科学的源泉。 ——阿尔伯特. 爱因斯坦 简单CPU 设计实践 King-Duan 本文通过一个简单的CPU 模型设计,阐述CPU 设计 过程中的一些原理和经验。 左家垅职业技术学院 岳麓山 158157488@ 2014/10/25 简单CPU 设计实践 目录 开始前的话3 总体组成3 运算器3 补码3 算术单元4 逻辑单元5 算术逻辑单元6 移位器7 运算器综合8 溢出判断9 运算器设计的总结和补充11 寄存器组 11 注意事项11 使能端12 构建寄存器组12 控制器 13 程序计数器14 指令寄存器14 数据通路设计14 控制字15 指令译码器16 状态寄存器18 控制器综合18 CPU 综合 19 封装19 指令周期和机器周期21 编译器开发23 结束语24 参考资料24 2 简单CPU 设计实践 开始前的话 本人大学党一个,计算机科学与技术专业,平时对电子技术、计算机科学和软件技术有 所研究,在此只是分享一些自己平时学习、游戏中的电子和计算机科学方面的经验,希望能 够给同样学习中的人带来启发,另外如果有任何意见、建议、批评,欢迎提出来。 由于对于大部分学电子和信息的同学来说,数电已能熟练掌握,所以在此略过数电的知 识,如果对数电有些不明白的,可以参考其他数电教程。 本教程开始之前要求至少要掌握:基本逻辑门、组合逻辑电路分析设计方法、译码器、 编码器、数据选择器、比较器、加法器、三态门、基本触发器、锁存器、寄存器、移位寄存 器、计数器。 在这里采用的工具是 Logisim,这是一个较为简易的仿真工具,不会涉及具体的芯片, 而是纯粹从原理的角度来分析仿真,对于简单的CPU 仿真最合适不过了。 此外,本人水平有限,文中难免出现纰漏和错误,欢迎指出! 这里会从零开始,一步一步搭建电路,阐述原理,最终实现一个类似MIPS 架构的CPU。 另外我会采用尽可能简洁的语言。 总体组成 CPU 一般包括寄存器组、运算器和控制器。 另外对于现代的CPU,大都配置了Cache 。 首先,让我们来构造运算器 运算器 一般简单CPU 实现的运算操作有算术运算、逻辑运算和移位。算术运算主要包括加法、 减法、曾1、减1 等,逻辑运算主要包括与、或、非、异或,移位实现左移右移或者不变。 算术运算器实际上就是一个加法器和其他几个运算的结合体,那么减法怎么办呢? 补码 众所周知,A-B=A+(-B),就这样,减法就转换成了加法,那么负数怎么表示?答案是 用补码! 实际上为了方便,我们把参与运算的数都用补码表示,定义正数和零的补码为本身,负 数的补码为其反码加一(反码就是按位取反)。 3 简单CPU 设计实践 补码表示的时候,正数、零和负数可以很方便区分出来,最高位为 0,则为正数或零, 最高位为1,则为负数。 不过在这里,我们还需要对运算结果按2^n 取模(n 为位数),

文档评论(0)

189****6140 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档