【计组实验】P1logisim完成单周期处理器开发MIPS指令集.pdfVIP

【计组实验】P1logisim完成单周期处理器开发MIPS指令集.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【计组实验】P1logisim完成单周期处理器开发MIPS指令集 参考教材:《计算机组成与设计 硬件/软件接⼝ 原书第五版》第⼆章 第四章 ↑ 这本书写的特别好,零基础也可以看 *仅供参考,指令已经过MARS对⽐测试,但不保证完全正确,欢迎指正 *最后⼀次更新:2019-6-21 14:34:17 (新增:七段数码管、JAL指令) 顶层视图 测试指令: v2.0 raw 3c0800ff 3c09000101495023 350b5555 3c0c0001 3c0d0001 35ad0001 01ac6023 01ec402101084021 01ef4821 018c6821 01ad68 21 01ac6821 01ac7021 01cc7821 012c48210810000f 3c080000 ad0c0000 8d0d0000 0c100000 指令解释: 测试结果(运⾏最后⼀条指令JAL之前): 实验要求 以下为制作过程记录 半加器 此半加器将在32-bit adder 的第0位使⽤,因为第0位不需要考虑低位的进位 半加器电路是指对两个输⼊数据位相加,输出⼀个结果位和进位,没有进位输⼊的加法器电路。 是实现两个⼀位⼆进制数的加法运算电路。 判断是否进位的电路 或门的使⽤ 或门有多个输⼊端,⼀个输出端,只要输⼊中有⼀个为⾼电平时(逻辑“1”),输出就为⾼电平(逻辑“1”);只有当所有的输⼊全为 低电平(逻辑“0”)时,输出才为低电平(逻辑“0”) 下图是⼀个3输⼊的或门: 下⾯这个电路⽤来判断是否进位,有3个输⼊,1个输出。真值表如右图: 全加器 full adder ⽤门电路实现两个⼆进制数相加并求出和的组合线路,称为⼀位全加器。 ⼀位全加器可以处理低位进位,并输出本位加法进位。 多个⼀位全加器进⾏级联可以得到多位全加器。 下⾯图左是⼀个⼀位全加器,图右是对应的真值表。电路上⾯是异或,下⾯⽅块⽤于判断是否进位。 3个输⼊分别是:两个加数a(i),b(i) ,前⼀位的进位c(i) 2个输出分别是:本位的结果 ,下⼀位进位 s(i) c(i+1) 异或门的使⽤ 如下图,使⽤了⼀个三输⼊的异或门 在实际使⽤时,注意左侧的Multiple-Input Behavior选项 应该选择“ When an odd number are on ”,这样当三个输⼊为 1 1 1 时,输出为 1 不要选择 When one input is on ,否则三个输⼊为 1 1 1 时,输出为 0 上图中三输⼊异或门的真值表如下:A B C是输⼊,Y是输出,F是对输出的取反 为什么会产⽣这样的真值表?解释如下。 当有多于2个输⼊时,异或逻辑的运算(半加运算) 异或运算通常⽤符号“♁”表⽰,其运算规则为: 0♁0=0 0同0异或,结果为0 0♁1=1 0同1异或,结果为1 1♁0=1 1同0异或,结果为1 1♁1=0 1同1异或,结果为0 即两个逻辑变量相异,输出才为1,给ABCD赋值,从左向右累计运算。得答案。 第⼀、相信你是知道两个命题变量的异或运算的规则的——只要你知道它的真值表就够了,其规律是:(两变量取值)相同则(结果为) 假,不同则真; 第⼆、你应该知道两个命题变量的异或运算的结果也是⼀个命题变量,它可以参与下⼀步的逻辑运算; 第三、多个异或连续运算,就类似数学上的连加、连乘运算:将前两个数的运算结果,与第三个数继续运算;再将结果与第四个运算; 再……其中的每⼀步都要按照相应运算的规则进⾏; 现在,你可以⾃⼰进⾏计算了。不过我曾经对多个变量的异或(和同或)运算的规律做过分析,现将结果告诉你,你可以⾃⾏验证: 1、多个命题的“异或”运算:其结果依赖于参与运算的所有量中,取值为“真”的量的“个数”的“奇偶性”: 若含“奇数”个“真命题”,则结果为“真”; 若含“偶数”个“真命题”,则结果为“假”;(零个也是偶数个) 换句话说:命题表达式 A♁B♁C♁D 结果为“真”,当且仅当 A、B、C、D 中有奇数个(即 1 个或 3 个)变量的取值为“真”;⽽⾄于其 中“假命题”的个数,则对结果“⽆任何影响”。关于这⼀点的证明,可以从下⾯两个恒等式中找到思路 : p ♁ 1 = ⾮p;——增加⼀个“真命题”参与运算,总会将“原命题”变成其“反命题”; p ♁ 0 = p;——增加⼀个“假命题”参与运算,对“原命题”永远没影响; 2、多个命题的“同或”运算:其结果依赖于参与运算的所有量中,取值

文档评论(0)

137****3135 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档