- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一,指令设计原理
指令的格式为:
第一个操作数地址 第二个操作数地址 运算结果为负时的转移地址
其执行过程如下:
从第二个操作数中减去第一个操作数,并把运算结果存储在第二个操作数的地址中
如果减法运算得到的结果为负数,则转移到指定的地址继续执行,否则执行下面地址中的指令
如果转移到地址0,则停止URISC的运行
其处理器的数据单元示意图如下所示
指令执行时,可分为九个状态,即九个始终周期:
在状态0,先通过设置控制信号pcout和marin为1把指定地址加载到地址寄存器mar中。由于comp和cin全为0,所以pc中的数值通过总线与常数0相加后传递到总线bus_b,mar为1使得总线bus_b上的数值加载到mar,即把当前指令的第一字节加载到地址寄存器mar中。由于设定了控制信号zend,如果pc值为0,则控制序列会在状态0无限执行,这时称为URISC处理器的动态挂起,以下讨论全假定pc值不为0.由于read为1,所以这一状态把mar指出的地址的内容读入数据寄存器mdr,即把第一个数的地址读到数据寄存器mdr中
在状态1,由于把mdrout和marin设置为1,这时数据寄存器mdr中的数据经过bus_a,加法器和bus_b进入地址寄存器mar,对于这一状态仍设定了读控制信号read,所以此时把mar指明的地址中的内容读入数据寄存器mdr
在状态2,设定控制信号mdrout和rin为1,使得数据寄存器mdr中的数据进入寄存器r
在状态3,读第二个操作数的地址。首先因为控制信号pcout和cin为1,加法器对pc值加1。因为控制信号pcin和marin为1,加法器运算的结果被同时送入程序计数器pc和地址寄存器mar。由于读控制信号read为1,此时将mar指明的地址内容读入数据寄存器mdr
在状态4,由于控制信号mdrout和marin为1,数据寄存器mdr中的内容经过bus_a,加法器和bus_b进入地址寄存器mar。由于这一状态仍设定了读控制信号read,所以此时把mar指明的地址内容读入数据寄存器mdr
在状态5,控制信号mdrout,comp和cin为1,使得加法器从第二个操作数中减去寄存器r中的内容。由于设定了控制信号mdr,减法运算的结果被送回到数据寄存器mdr。同时由于设定了控制信号min,如果减法运算得到负结果,标志寄存器n会被置位。由于在状态4中为地址寄存器mar设定的数值并没有被改变,所以写控制信号write为1使得把数据寄存器中的内容重新写入原第二个操作数的地址。
在状态6,把减法运算得到负值时的转移地址读入数据寄存器mdr。由于设定了控制信号pcout,cin和pcin,所以加法器将程序计数器pc的值加1后送回到pc,即pc指向了当前指令的第三个字节。同时由于设定了控制信号marin,所以pc的新值也被送入地址寄存器mar。读控制信号read使得把当前指令的第三个字节读入数据寄存器mdr。
状态7,增加pc,使它指向下一条指令的第一个字节。由于设定了控制信号pcout,cin和pcin,所以加法器将程序计数器pc的值加1后送回到pc,即pc指向了下一指令的第一个字节。这时还可能出现两种情况:如果在状态5中做减法运算时没有产生负结果,即没有把标志寄存器n置为1,则由于这时设定了控制信号nnend,控制序列返回到状态0,重新开始执行一条新指令。亦即减法运算得到非负结果时,URISC处理器继续执行下一条指令。如果在状态5中设置了标志位n,即减法运算得到了负结果,则转移到状态8.
状态8,把数据寄存器mdr中的数据复制到程序计数器pc之后控制单元转状态0重新执行一条新指令。由于将控制信号mdrout和pcin设定为1,数据寄存器mdr中的数据经bus_a,加法器和bus_b被复制到pc。然后,控制单元返回到状态0.
电路的结构
整个处理器的结构可以用下所示框图来表示:
而其中数据单元du内部的结构图如下所示
控制单元的内部结构图如下所示
仿真波形
Ram中的存储数据如下表所示:
地址 数据 00000000 00000111 00001000 00000000 00001001 00001010 00000000 00000001 00000010 00000010 00000001 第一个指令周期为:op1地址为07,op1为01,op2地址为08,op2为02,op2-op1结果为非负,继续往下执行
第二个指令周期为:op1地址为
原创力文档


文档评论(0)