计算机组成原理课程设计_第1页
计算机组成原理课程设计_第2页
计算机组成原理课程设计_第3页
计算机组成原理课程设计_第4页
计算机组成原理课程设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机组成原理课程设计报告班级:08计算机0803班姓名:陈祥学号:20082908完成时间:2011,1.3一、课程设计目的在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系;通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;培养综合实践及独立分析、解决问题的能力。二、课程设计的任务针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。三、课程设计使用的设备(环境)硬件COP2000实验仪PC机软件COP2000仿真软件四、课程设计的具体内容(步骤)详细了解并掌握COP2000模型机的微程序控制器原理,通过综合实验来实现1.该模型机指令系统的特点:从指令字长来看该模型机指令系统包含单字长和双字长两种格式的指令,字长为8位,对于需要访问内存的指令都是双字长的,指令系统中大多数指令是单字长;从指令操作码是定长和变长来看,这里认为,虽然ADDA,R?和ADDA,@R?都是执行加法操作,但他们是不同的指令,将指令格式中寻址寄存器的两位也认为是操作码的一部分,这两条指令的操作码不同。因此,指令系统的指令格式是定长操作码的,操作码为6位。1)双字长的指令格式如下:OPR?A举例:助记符机器码1机器码2ADDA,MM000110xxMMADDA,#II000111xxIIMOVA,MM011110xxMM

2)单字长的指令格式如下:OPR?举例:助记符机器码1机器码2ADDA,R?000100xxORA,R?011000xxMOVR?,A100000xx2.该模型机微指令系统的特点(包括其微指令格式的说明等):该模型机微指令系统的微指令格式是水平型微指令,微指令的字长为24制。微指令的具体格式如下:X2TcnX0VRRD1*maRenoutenXRDEM*EMNEINPEMWRPCOEIRENELPMAROE制。微指令的具体格式如下:X2TcnX0VRRD1*maRenoutenXRDEM*EMNEINPEMWRPCOEIRENELPMAROESTENRWRFENX1WENS21100101111111111111111112。计算机中实现乘法和除法的原理(1)无符号乘法②硬件原理框图:②硬件原理框图:①实例演示(即,列4位乘法具体例子演算的算式):X11100111被乘数乘数1101位积'11010位积!000000位积7移位相加1101000位积J0001111结果

③算法流程图:No(2)无符号除法①实例演示(即,列4位除法具体例子演算的算式):No01010------商1101/10000111------被除数00000000------不够减,商上0,除数右移一位10000111------做差后的被除数01101000——够减,商上1,除数右移一位00011111做差后的被除数00000000------不够减,商上0,除数右移一位00011111做差后的被除数00011010——够减,商上1,除数右移一位00000101------移位4次后,余数②硬件原理框图:③算法流程图:开始Yes保存结果结束对应于以上算法如何分配使用COP2000实验仪中的硬件(初步分配,设计完成后再将准确的使用情况填写在此处)1)乘法程序的硬件分配:硬件名称在乘法算法中的功能R01用来存放被乘数2保存乘积结果R1用来存放乘数R2未使用R3用做计数器,来控制程序循环次数A1、存放中间结果2、用来存放操作数参加ALU的运算W用来存放操作数参加ALU的运算PC程序计数器EM内存(存放程序)IR指令寄存器ST堆栈寄存器,可以用来暂存寄存器A的值MAR地址寄存器2)除法程序的硬件分配硬件名称在除法运算中的功能R0用来存放被除数R1用来存放除数R2用来存放商R31用作计数器,控制循环的次数2保存余数A1、存放中间数据2、用来存放操作数参加ALU的运算W用来存放操作数参加ALU的运算PC程序计数器EM内存(存放程序)IR指令寄存器ST堆栈寄存器,可以用来暂存寄存器A的值MAR地址寄存器4,在COP2000集成开发环境下设计全新的指令/微指令系统设计结果如表所示(可按需要增删表项)(1)新的指令集(设计两个不同指令集要分别列表)助记符机器码1机器码2指令说明_FATCH_000000XX实验机占用,不可修改。复位后,所有寄存器清0,首先执行_FATCH_指令取指MOVR?,#II000001XXII将立即数II送到寄存器R?中

MOVR?,A000010XX将累加器A的值送到寄存器R?中MOVA,R?000011xx将寄存器R?的值送入累加器A中ANDA,#II000100xxII将立即数与累加器A中的数相与ANDR?,#II000101xxII将立即数与寄存器R?中的数相与SHRR?000110xx寄存器R?带进位右移SHLR?000111xx寄存器R?带进位左移JCMM001000xxMM若进位标志置1,跳转到MM地址JZMM001001xxMM若零标志置1,跳转到MM地址ADDR?,#II001010xxII将寄存器R?中的数与立即数相加ADDA,R?001011xx将累加器与寄存器R?相加,结果存入累加器SUBR?,#II001100xxII将寄存器R?中的值与立即数相减SUBA,R?001101xx将累加器与寄存器R?的值相减,结果存入累加器CMPA,R?001110xx累加器与寄存器R?的值比较,结果影响进位、零标志JMPMM001111xxMM无条件跳转到MM处PUSHA010000xx将累加器中的值暂存POPA010001xx将暂存结果送回到累加器A中SHRNR?010010xx寄存器R?不带进位右移SHLNR?010011xx寄存器R?不带进位左移(2)新的微指令集助记符状态微地址微程序数据输出数据打入地址输出运算器移位控制uPCPC_FATCH_T000CBFFFFF指令寄存器IRPC输出A输出写入+101FFFFFFA输出+102FFFFFFA输出+103FFFFFFA输出+1MOVR?,#IIT104E7FBFF存储器EM寄存器R?PC输出A输出+1+1T005CBFFFF指令寄存器PC输出A输出写入+106FFFFFFA输出+107FFFFFFA输出+1MOVR?,AT108FFFB9FALU直通寄存器R?A输出+1T009CBFFFF指令寄存器IRPC输A输写+1

出出入0AA输出+10BA输出+1MOVA,R?T1OCFFF7F7寄存器值R?寄存器AA输出T0ODCBFFFFF指令寄存器IRPC输出A输出写入+10EFFFFFFA输出+10FFFFFFFA输出+1ANDA,#IIT210C&7FFEF存储器值EM寄存器WPC输出A输出+1+1T111FFFE93ALU直通寄存器A标志位C、Z与运算+1T012CBFFFF指令寄存器IRPC输出A输出写入+113FFFFFFA输出+1ANDR?,#IIT314C7FFEF存储器EM寄存器WPC输出A输出+1+1T215FFF7F7寄存器值R?寄存器AA输出+1T116FFFA9BALU直通寄存器R?标志位C、Z与运算+1T017CBFFFF指令寄存器IRPC输出A输出+1+1SHRR?T318FFEF9FALU直通堆栈寄存器STA输出+1T219FFF7F7寄存器值R?寄存器AA输出+1T11AFFFABFALU右移寄存器R?标志位C、ZA输出带进位右移+1T01BCBFF57堆栈寄存器ST寄存器A指令寄存器IRPC输出A输出写入+1SHLR?T31CFFEF9FAlU直通推展寄存器STA输出+1T21DFFF7F7寄存器值R?寄存器AA输出+1T11EFFFADFALU左移寄存器R?标志位C、ZA输出带进位左移+1

1+BVM重器姓墨dnZddd21溯lv90S1+Y丘用Bv用B3dHI器姓墨令肆出良ra。SS011+菖Z'。冯翠零胰器姓墨BBmv66VJJJSS111+1+用Bv用B3dMWH重器果虐dnddZDIS211+用Bvv重器姓墨ZJZdddOSS1II#'溯90S1+用Bv出出出&1+Y丘用Bv用B3dHI器姓墨令肆出良ra。亚011+菖Z'。冯翠零胰器姓墨BBmvas111+用BvM重器姓墨dnZddd3221溯lvaav1+Y丘用Bv用B3dHI器姓墨令肆出良ra。92011+菖Z'。冯翠零胰器姓墨BBmv86VJJJvs111+1+用Bv用B3dMWH重器果虐dnddZD67211+用Bvv重器姓墨ZJZddd82S1ii#'溯aav1+用BvLZ1+用Bv971+Y丘用Bv用B3dHI器姓墨令肆出良ra。92011+1+用Bv用B3d3d器姓墨WH重器果虐出出9。11wwzf1+用Bv脱1+用Bv1+Y丘用Bv用B3dHI器姓墨令肆出良ra。12011+1+用Bv用B3d3d器姓墨WH重器果虐出出9。0211imof1+Y丘用Bv用B3dHI器姓墨令肆V器姓墨M器姓墨IWfZ9dd9301

R?出T135FFFE91ALU直通寄存器A标志位C、Z减运算+1T036CBFFFF指令寄存器IRPC输出A输出写入+137FFFFFFA输出+1CMPA,R?T338FFF7EF寄存器值R?寄存器WA输出+1T239FFEF9FALU直通堆栈寄存器STA输出+1T13AFFFE91ALU直通寄存器A标志位C、Z减运算+1T03BCBFF57堆栈寄存器寄存器A指令寄存器IRPC输出A输出+1+1JMPMMT13CC6FFFF存储器EM寄存器PCPC输出A输出+1+1T03DCBFFFF指令寄存器IRPC输出A输出写入+13EFFFFFFA输出+13FFFFFFFA输出+1PUSHAT140FFEF9FALU直通堆栈寄存器STA输出+1T041CBFFFF指令寄存器IRPC输出A输出写入+142FFFFFFA输出+143FFFFFFA输出+1POPAT144FFFF57堆栈寄存器ST寄存器AA输出+1T045CBFFFF指令寄存器IRPC输出A输出写入+146FFFFFA输出+147FFFFFA输出+1SHRNR?T348FFEF9FALU直通堆栈寄存器STA输出+1T249FFF7F7寄存器值R?寄存器AA输出+1

T14AFFF9BFALU右移寄存器R?A输出右移+1T04BCBFF57堆栈寄存器ST寄存器A指令寄存器IRPC输出A输出写入+1SHLNR?T34CFFEF9FALU直通堆栈寄存器STA输出+1T24DFFF7F7寄存器值R?寄存器AA输出+1T14EFFF9DFALU左移寄存器R?A输出左移+1T04FCBFF57堆栈寄存器寄存器A指令寄存器IRPC输出A输出写入+15.用设计完成的新指令集编写实现无符号二进制乘法、除法功能的汇编语言程序(1)乘法4位乘法的算法流程图与汇编语言程序清单:1)流程图如下:开始NO结束,被乘数在R0中,乘数在R1中--乘积结果在R0中2)汇编语言程序清单如下:MOV,被乘数在R0中,乘数在R1中--乘积结果在R0中SHRR1JCNEXT1JMPLOOP2NEXT1:ADDA,R0LOOP2:SHLNR0PUSHASUBR3,#01HPOPAJZNEXT2JMPLOOP1NEXT2:MOVR0,AEND

⑵除法4位除法的算法流程图与汇编语言程序清单:1)算法流程图如下NO2)汇编语言程序清单如下:MOVR0,#87H---被除数在R0中MOVR1,#0DH---除数在R1中MOVR3,#04HANDR2,#00H---商在R2中SHLNR1SHLNR1SHLNR1SHLNR1MOVA,R0CMPA,R1JCNEXT1JMPQUITNEXT1:SHRNR1SHLNR2CMPA,R1JCNEXT2SUBA,R1PUSHAADDR2,#01HPOPANEXT2:PUSHASUBR3,#01HPOPAJZQUITJMPNEXT1QUIT:MOVR3,A---余数保存在R3中END6.上述程序的运行情况(跟踪结果)6.1)乘法程序运行的过程

汇编指令程序地址机器码指令说明微程序PCPC运行时寄存器或存储器的值MOVR0,#0F00040F立即数0F送入R0中E7FBFFCBFFFF+1+1+1写入R0:0FMOVR1,#0F02050F立即数0F送入R1中E7FBFFCBFFFF+1+1+1写入R1:0FMOVR3,#04040704立即数04送入R3中E7FBFFCBFFFF+1+1+1写入R3:04ANDA,#00061000将寄存器A清0C7FFEFFFFE93CBFFFF+1+1+1+1写入EM:00W:00SHRR10819寄存器R1带进位右移FFEF9FFFF7F7FFFABFCBFF57+1+1+1+1写入ST:00A:0FR:07A:00JC0D09200DCF=1跳转到0DC6FFFFCBFFFF写入+1+1写入LIESHLNROT34CFFEF9F"ALUliji.寄.荐器前......”]蹄田一T24HFFF7FTFFF9DFCBFF5TFFEF9FCBFFFFFFF7FTC7FFEFFFFA99CBFFFFFFFF5TCBFFFFC6FFFFCBFFFFC6FFFFCBFFFFFFEF9FFFF7FTFFFABFCBFF5TC6FFFFCBFFFFFFFTEFFFFE90CBFFFFFFEF9FFFFTF7FFF9DFCBFF5T寄存器值K?寄存器A点出+111写无T14EALU左移寄存器K?点出左移+1TO4F堆栈寄存嚣ST寄存器A指令寄存嚣I】FC输出点出写入OFPUSHAT140ALU直通堆栈寄存器刃点出+1TLl41指令寄存器IRPC输出喘出写入10SUBR3,#01T330寄存器值留寄存器A喘出+1T231存呢:器值EM寄存器WPC输出喘出+1T132ALU直通寄存器留标志位c,z减运耸+1TLl33指令寄存器IRPC输出喘出写入12FLIPAT144堆栈寄存嚣ST寄存器A喘出+1TLl45指令寄存器IRPC输出喘出写入13J717T124存呢:器值EM寄存器FCFC输出喘出+1TLl25指令寄存器IRFC输出喘出写入15邛F08T13C存呢:器值EM寄存器FCFC输出喘出+1TLl3D指令寄存器IRFC输出喘出写入08EHRR1T318ALU直通堆栈寄存器ST喘出+1T219寄存器值留寄存器A喘出+1T11AALU右移寄存器留标志位c,z喘出带进位右移+1TLlIB堆栈寄存器刃寄存器A指令寄存器I】FC输出喘出写入09JConT120存矿:器值EM寄存器FCFC输出满他+1TLl21指令寄存器IRFC输出满他写入onAima.rdT22C寄存器值留寄存器W满他+1T12DALU直通寄存器A标志位C,Z加运算+1TO2E指令寄存器IRFC输出满他写入LIESHUTROT34CALU直通堆栈寄存器ST满他+1T24H寄存器值留寄存器A满他+1T14EALU左移寄存器留晚出左稼+1TO4F堆栈寄存器刃寄存器A指令寄存器I】FC输出晚出写入OFPUSHAT140FFEF9FAU®通堆栈寄存器邻1A输出+1TO41CBFFFFFFF7F7指令寄存器IRFC输出尊出写入+110Sl.fl:R3j#01T330寄存器值R?寄存器A尊出+1T231CTFFEFFFFA99存建器ilEM寄存器WFC输出尊出+1+1T132ALU直通寄存器R?标志位匚,Z减运算+1TO33CBFFFFFFFF57指令寄存器IEFC输出尊出写人+112FOFAT144堆栈寄存器ST寄存器A尊出+1TO45CBFFFFC6FFFF指令寄存器IEFC输出尊出写人13JZITT124存M器值EM寄存器FCFC输出尊出+1TO25CBFFFFC6FFFF指令寄存器IEFC输出尊出写人15JTilF08T13C存M器值EM寄存器FCFC输出尊出+1TO3DCBFFFFFFEF9FFFF7F7FFFABFCBFF57C6FFFFCBFFFF指令寄存器IEFC输出尊出写人1OS洒;KIT318ALU直通堆栈寄存器对尊出+1T219寄存器值R?寄存器A尊出+1T11AALU右移寄存器R?标志位匚Z尊出带进位右移+1TOIB堆栈寄存器3T寄存器A指令寄存器11FC输出尊出写人osjconT120存M器值EM寄存器FCFC输出尊出+1TO21指令寄存器IRFC输出尊出写人ODAimA.RDT22CFFFTEFFFFE9LI寄存器值R?寄存器W尊出+1T12DALU直通寄存器A标志位C,Z加运耸+1TO2ECBFFFFFFEF9F指令寄存器IRFC输出尊出写入+1LIESHUTEllT34CALU直通堆栈寄存器邻尊出+1T24HFFFTF7FFF9DF寄存器值R?寄存器A尊出+1T14EALU左移寄存器R?尊出左移+1TO4FCBFF57FFEF9F堆栈寄存器刃寄存器A指令寄存器11FC输出尊出写入+1OFPUSHAT140ALU直通堆栈寄存器邻尊出+1TO41CBFFFFFFF7F7指令寄存器IRFC输出尊出写入+110Sl.fl:R3j#01T330寄存器值R?寄存器A尊出+1T231CTFFEFFFFA99存建器值EM寄存器WFC输出尊出+1+1T132ALU直通寄存器R?标志位匚,Z减运算+1TO33CBFFFF指令寄存器IEFC输出尊出写人+112FOFAT1->44TFFF57堆栈寄存器ST寄存器A庾出+1

13J717T124C6FFFF存!C器值EM寄存器也FC输出漏出+1写入TO25CBFFFF指令■寄存器IRFC输出调出写入+1ITMOVRO,AT108FFFB9FALU宜通寄存器R?调出+1TO09CEFFFF指令寄存器IRFC输出喻出写入+118_FATCHTLI00CBFFFF指令寄存器IRFC输出喻出写入+119_FATCHTO00CBFFFF指令寄存器邛FC输出端出写入+11A_FATCHTO00CBFFFF指令寄存器IRFC输出漏出写入+1IB_FATCHTO00CBFFFF指令寄存器IRFC输出漏出写入+11C_FATCHTO00CEFFFF指令■寄存器IRFC输出调出写入+1ID_FATCHTO00CEFFFF指令■寄存器IRFC输出调出写入+1IE_FATCHTLI00CBFFFF指令寄存器IRFC输出喻出写入+1IF_FATCHTLI00CBFFFF指令寄存器IRFC输出喻出写入+120_FATCHTO->00CBFFFF|指令寄存器IR|fc输出1端出2)除法程序运行的过程助记符状态微地址微程序1数据输出数据打入地址输出运耸器移位控制1£PCPC00_FATCHTO00CBFFFF||指令寄存器IRFC输出尊出写入L+100MOVFILL#87T104E7FBFF存M器值EM寄存器R?FC输出喻出+1+1TO05CBFFFF指令寄存器IRFC输出痴i出写入+102MOVRL#JDT104E7FBFFCBFFFFE7FBFFCBFFFF存『器值EM寄存器R?咒输出崛出+1+1TO05指令■寄存器IR咒输出调出写入+104MOVR3j#04T104存,器值EM寄存器RT既输出调出+1+1TO05指令寄存器IR既输出漏出写入+106WiR2,#00T314C7FFEF存『器值EM寄存器W咒输出端出+1+1T215FFF7F7寄存器值R?寄存器A喻出+1T116FFFA9BALU直通寄存器R?标志位C,Z与运苴+1TO17CBFFFF指令寄存器IRFC输出痴i出写入+108SHUTR1T34CFFEF9FFFFTF7FFF9DFALU直通堆栈寄存器刃调出+1T24D寄存器值RT寄存器A调出+1T14EALI吐移寄存器RT调出左移+1TO4FCBFF57堆栈寄存器刃寄存器A指令寄存器II既输出漏出写入+1095HLNR1T34CFFEF9FALU宜通堆栈寄存器ST端出+1T24DFFF7F7寄存器值R?寄存器A喻出+1T14EFFF9HFALU左移寄存器R?喻出左移+1TO4FCBFF57堆栈寄存器刃寄存器A指令寄存器11FC输出痴i出写入+10ASHUTR1T34CFFEF9FFFFTF7FFF9DFALU直通堆栈寄存器刃调出+1T24D寄存器值RT寄存器A调出+1T14EALI吐移寄存器RT调出左移+1TO4FCBFF57堆栈寄存器刃寄存器A指令寄存器II既输出漏出写入+10E5HLNR1T34CFFEF9FALU宜通堆栈寄存器ST端出+1T24DFFF7F7寄存器值R?寄存器A喻出+1T14EFFF9HFALU左移寄存器R?喻出左移+1TO4FCBFF57堆栈寄存器刃寄存器A指令寄存器11FC输出痴i出写入+10CMOVA.RLiT1OCFFFTF7寄存器值R?寄存器A调出+1TO0DCBFFFF指令■寄存器IR「咒输出调出写入「+1

OHCMPA,R1T338FFFTEF寄存器值R?寄存器V尊出+1T239FFEF9FALU宜通堆栈寄存器刃尊出+1T13AFFFE91ALU宜通寄存器A标志位匚Z诚运算+1TO3BCBFF57堆栈寄存器以寄存器A指令■寄存器口FC输出尊出写入+1OEJT12T120C6FFFF存贮器值醐寄存器咒FC输出尊出+1写入TO21CBFFFF指令■寄存器IKFC输出尊出写入+112SHFLtlR1T348FFEF9FALU直通堆栈寄存器刃瀚出+1T249FFFTF7寄存器值RT寄存器A瀚出+1T14AFFF9BFALU右移寄存器RT瀚出右移+1TO4BCBFF57堆栈寄存器刃寄存器A指令寄存器口FC输出瀚出写入+1135HLNR2T34CFFEF9FALU宜通堆栈寄存器ST瀚出+1T24DFFF7F7寄存器值RT寄存器A瀚出+1T14EFFF9DFALU左移寄存器RT瀚出左移+1TO4FCBFF57堆栈寄存器刃寄存器A指令寄存器口FC输出瀚出写入+114CMPA.R1T338FFFTEF寄存器值RT寄存器W端出+1T239FFEF9FALU宜通堆栈寄存器ST端出+1T13AFFFE91ALU宜通寄存器A标志位匚Z减运算+1TO3ECBFF57堆栈寄存器ST寄存器A指令寄存器口FC输出喘出写入+115JE1CT120CBFFFF存贮器值醐寄存器FCFC输出端出+1写入TO21CBFFFF指会寄存器IKFC输出端出写入+117SirE;A.ElT234FFFTEF寄存器值R?寄存器V端出+1T135FFFE91ALU直通寄存器A标志位匚Z减运管+1TO36CBFFFF指令寄存器IRFC输出端出写入+118PUSHAT140FFEF9FALU直通堆栈寄存器讨端出+1TO41CBFFFF指令寄存器IRFC输出端出写入+119AHUR2,#01T328FFF7F7寄存器值R?寄存器A端出+1T229C7FFEF存贮器值EM寄存器VFC输出痴j出+1+1T12AFFFA98ALU直通寄存器RT标志位C,Z加运算+1TO2BCBFFFF指令寄存器IRFC输出痴j出写入+1IBPOPAT144FFFF5T堆栈寄存器刃寄存器A痴j出+1TO45CEFFFF指令寄存器IRFC输出顺出写入+11CPUSHAT1->40iFFEFSFALU直通苹通寄存器刃饷也CZZZiHIIIISUBR3,#01T330FFF7F7寄存器值RT寄存器A瀚出+1T231C7FFEF存贮器值醐寄存器WFC输出瀚出+1+1T132FFFA99ALU宜通寄存器RT标志位匚Z减运算+1TO33CBFFFF指令寄存器IRFC输出端出写入+1IFFUFAT144FFFF57堆枝寄存器ST寄存器A端出+1TO45CBFFFF指令寄存器IRFC输出喘出写入+120J724T124CBFFFF存贮器值醐寄存器咒FC输出喘出+1写入TO25CBFFFF指会寄存器IKFC输出端出写入+122刑F12T13CCBFFFF存贮器值醐寄存器FCFC输出端出+1写入TO3DCBFFFF指令寄存器IRFC输出端出写入+112SHFJTR1T348FFEF9FALU直通堆栈寄存器讨端出+1T249FFF7F7寄存器值R?寄存器A端出+1T14AFFF9BFALU右移寄存器R?端出右移+1TO4BCBFF57堆栈寄存器刃寄存器A指令寄存器口FC输出端出写入+113SHUTR2T34CFFEF9FALU直通堆栈寄存器讨端出+1T24DFFF7F7寄存器值RT寄存器A痴j出+1T14EFFF9DFALU左移寄存器RT痴j出左移+1TO4FCBFF57堆栈寄存器刃寄存器A指令寄存器11FC输出痴j出写入+114CMPA,R1T338FFFTEF寄存器值R?寄存器V痴j出+1T239FFEF9FALU直通堆栈寄存器刃顺出+1T13AFFFE91ALU直通寄存器A标志位匚Z减运筒+1TO3BCBFF57堆栈寄存器以寄存器A指令■寄存器口FC输出尊出写入+115JC1CT120CBFFFF存定器值EM寄存器咒FC输出尊出+1写A.TO21CEFFFF指令寄存器IRFC输出尊出写入+11CPUSHAT140FFEF9FALU宜通堆栈寄存器刃尊出+1TO41CEFFFF指令寄存器IRFC输出尊出写入+1HiSUBR3,#01T330FFFTF7寄存器值RT寄存器A尊出+1T231C7FFEF存贮器值醐寄存器WFC输出尊出+1+1T132FFFA99ALU直通寄存器RT标志位匚Z减运耸+1TO33CBFFFF指令寄存器IRFC输出瀚出写入+1

IFFOPAT144FFFF57堆栈寄存器刃寄存器A晰出+1TO45CBFFFF指令寄存器IRFC输出晰出写入+120JZ24T124C6FFFF存,器值EM寄存器花FC输出湖出+1写入TO25CBFFFF指令寄存器IRFC输出湖出写A.+122JTilF12T13CCBFFFF存,器值EM寄存器花FC输出湖出+1写入TO3DCBFFFF指令寄存器IRFC输出湖出写A.+112SHR1IR1T348FFEF9FALU直通堆栈寄存器3T湖出+1T249FFF7F7寄存器值RT寄存器A湖出+1T14AFFF9BFALU右移寄存器RT湖出右移+1TLI4BCBFF57堆栈寄存器以寄存器A指令寄存器II咒输出湍出写入+113SHLNR2T34CFFEF9FALU直通堆栈寄存器刃湍出+1T24HFFF7F7寄存器值RT寄存器A湍出+1T14EFFF9DFALU左移寄存器RT煽出左移+1TLI4FCBFF57堆栈寄存器ST寄存器A指令寄存器II既输出煽出写A.+114CMPA.ElT338FFF7EF寄存器值RT寄存器V煽出+1T239FFEF9FALU直通堆栈寄存器刃煽出+1T13AFFFE91ALU直通寄存器A标志位匚Z减运算+1TLI3BCBFF57堆栈寄存器ST寄存器A指尊■寄存器IE既输出煽出写入+115JC1CT120CBFFFF存『器值EM寄存器旺既输出煽出+1写入TLI21CBFFFF指舍寄存器IR咒输出端出写入+117SUBA.ElT234FFF7EF寄存器值R?寄存器V端出+1T135FFFE91ALU直通寄存器A标志位匚Z减运算+1TLI36CBFFFF指舍寄存器IRFC输出嘲出写入+118PUSHAT140FFEF9FALU直通堆栈寄存器ST端出+1TO41CBFFFF指令寄存器IRFC输出端出写入+119AHUR2,#01T328FFF7F7寄存器值R?寄存器A端出+1T229C7FFEF存旷器值EM寄存器WFC输出端出+1+1T12AFFFA98ALU直通寄存器R?标志位匚Z加运算+1TO2BCBFFFF指令寄存器IRFC输出端出写入+1IBPOPAT144FFFF57堆栈寄存器以寄存器A端出+1TO45CBFFFF指令寄存器IRFC输出端出写入+120JZ24T124C6FFFF存,器值EM寄存器FCFC输出椭出1+1写入TO25CEFFFF指令寄存器IRFC输出调出写入+122JTilF12T13CC6FFFF存,器借EM寄存器咒咒输出调出+1写入TO3HpFFFF]|指令寄存器IR|fc输出|喘出[写入...+112SHRNR1T343FFEF9FALU宜通堆栈寄存器刃椭出+1T249FFF7F7寄存器11R?寄存器A喘出+1T14AFFF9BFALU右移寄存器R?喘出右移+1TO4BCBFF5T堆栈寄存器ST寄存器A指令寄存器I】FC输出调出写入+113SHLNR2T34CFFEF9FALU宜通堆栈寄存器刃调出+1T24DFFF7F7寄存器值R?寄存器A湍出+1T14EFFF9DFALU左稼寄存器R?尊出左卷+1TO4FCBFF5T堆栈寄存器3T寄存器A指令■寄存器I】FC输出调出写入+114CMPA.ElT338FFF7EF寄存器值R?寄存器W湍出+1T239FFEF9FALU直通堆栈寄存器讨椭出+1T13AFFFE91ALU宜通寄存器A标志位C,Z减运苴+1TO3ECBFF57堆栈寄存器对寄存器A指令寄存器11FC输出湍出写入+115JC1CT120C6FFFF存,器值EM寄存器FCFC输出椭出+1写入TO21CBFFFF指令寄存器IRFC输出调出写入+11CPUSHAT140FFEF9FALU宜通堆栈寄存器ST调出+1TO41CBFFFF指令寄存器IRFC输出喘出写A.+1IDSUBR3,#01T330FFFTFT寄存器值R?寄存器A椭出+1T231CTFFEF存,器11EM寄存器V咒输出喘出+1+1T132FFFA99ALU直通寄存器R?标志位匚Z减运耸+1TO33CBFFFF指令寄存器IRFC输出调出写入+1IFFOFAT144FFFF5T堆栈寄存器3T寄存器A调出+1TO45CBFFFF指令寄存器IRFC输出喘出写入+120JZ24T124C6FFFF存『器值EM寄存器FCFC输出尊出+1写入TO25CBFFFF指令寄存器IRFC输出调出写入+124MOVR3,AT108FFFB9FALU宜通寄存器R?湍出+1TO09CBFFFF指令寄存器IRFC输出椭出写入+17.设计结果说明调试运行程序时是否出现问题,是否有重新调整指令/微指令系统设计的情况出现?请在此做具体说明。答:出现了问题。1)之前由于设计了ADDR?,#II和SUBR?,#II、SHLR?、SHRR?等这类指令,而这两些指令在执行过都需要先将立即数或者寄存器中的数保存到寄存器A中,再进行运算,运算完后再送回寄存器,这必然会改变寄存器A的值,也就是说如果运行这类指令就会改变累加器A的值,然而在设计乘法和除法的程序中都需要用到寄存器A来暂存一些中间数据,从而得不到正确的运行结果。重新调整:为了尽量的减少这类指令改变寄存器A的情况,在最大范围内将这些指令设计成不改变其他寄存器的指令。如原来的右移指令SHRR?的微指令设计成:T2:FFF7F7将寄存器R?中的值送入到寄存器A中T1:F

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论