当前位置:   article > 正文

设某机为定长指令字结构,指令长度12位,每个地址码占3位,试提出一种分配方案……_5.某机指令字长12位,每个地址段3位,试提出一种指令条数最少的分配方案,使该机指令

5.某机指令字长12位,每个地址段3位,试提出一种指令条数最少的分配方案,使该机指令

2022年12月13日修改
原来的博客是 2018-09-21 17:34:47 发布 的啊,偶尔也有人让详细讲讲……行吧……

题目:
设某机为定长指令字结构,指令长度12位,每个地址码占3位,试提出一种分配方案,使该指令系统包含:4条三地址指令,8条二地址指令,180条单地址指令。

解析:
Step1.指令系统的指令格式是:指令 = 操作码 + 地址码

Step2.“已知每个地址码占3位”,所以:
三地址指令的地址码共占33=9位,
二地址指令的地址码共占3
2=6位,
单地址指令的地址码共占3*1=3位。

Step3.“已知指令长度为12位”,所以:
三地址指令的操作码共占12-9=3位,
二地址指令的操作码共占12-6=6位,
单地址指令的操作码共占12-3=9位。

Step4.综上Step2和Step3,设a代表操作码位、b代表地址码位。所以:
三地址指令格式为 aaa bbbbbbbbb,
二地址指令格式为 aaaaaa bbbbbb,
单地址指令格式为 aaaaaaaaa bbb。

Step5.“要求指令系统包含4条三地址指令、8条二地址指令、180条单地址指令,x代表地址码位。”所以分配如下:

  1. 三地址指令
    4=2^2,所以操作码从从000开始,至011结束,即三地址指令为000 xxxxxxxxx 至 011 xxxxxxxxx。
  2. 二地址指令
    8=2^3,但是操作码位前3位不能与三地址指令的操作码相同,故从011的下一个100开始,操作码位的后3位从000开始,111结束,即二地址指令为100 000xxxxxx 至 100 111xxxxxx
  3. 单地址指令
    2^7=128 < 180 < 256,同理操作码前3位不能与三地址/二地址指令的操作码前3位相同,故从100的下一个101开始,操作码位的后6位从000000开始。
    然而,指令101 000000xxx 至 101 111111xxx 只能容纳2^6=64条指令,因此操作码前3位自动加1,即110,此时指令为110 000000xxx。
    因此,单地址指令的前64种为 101 000000xxx 至 101 111111xxx;
    单地址指令的第65种至第128种为 110 000000xxx 至 110 111111xxx;
    单地址指令的第128种至第180种为 111 000000xxx 至 111 110011xxx。

综上所述,指令系统的分配方案如下:

  • 三地址指令:000 XXX XXX XXX 至 011 XXX XXX XXX
  • 二地址指令:100 000 XXX XXX 至 100 111 XXX XXX
  • 单地址指令:101 000 000 XXX 至 111 110 011 XXX
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/177593
推荐阅读
相关标签
  

闽ICP备14008679号