- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
体系结构实验8位CPU试验报告
计算机体系结构试验
——微程序控制计算机(8位)
微程序控制计算机CPU框图(不包含微程序模块)
图1 CPU结构框图
图1 微程序控制计算机CPU框图
关于CUP结构的说明:
累加器:
A为累加器,CA为它的打入脉冲(后沿有效(下同)),GA为它的打入允许端(‘0’为允许接数),ACT为暂存寄存器,CT和GC分别为它的打入脉冲和允许端。
通用寄存器:R0~R7为8个通用寄存器 ,RA、RB、RC为选择端,用于选中某个寄存器,WRC和WRE分别为写入脉冲和允许端。
算术逻辑运算单元:
ALU为8位的算术逻辑运算单元,FA、FB为两路输入,FF为输出;S2、S1、S0用于选择工作方式,如加、减、FA、FB等;COUT为加法的进位输出或减法的借位输出,需要时COUT的值可锁存于CY寄存器中(CTK为写入脉冲,CP为允许端)。如果需执行带进位(或借位)的加法(或减法)时,ALU应该还有进位输入。ALU输出FF通过三态门(OB为控制端)加至数据总线。
指令寄存器:
IR为指令寄存器,它存放指令的第一字节(一般包含操作码和寄存器选择),CI和GI分别为它的打开脉冲和允许端。
直接寻址指令寄存器:ADRH和ADRL为指令第二、三字节寄存器,存放直接寻址指令(如LDA addr,JMP addr)的16位地址值。CA1、CA2和GA1、GA2分别为它们的打入脉冲和允许端。
程序计数器:
PC为16位的程序计数器,它的清0端接RESET,使它在复位时为0,从0地址开始执行程序。PCK为脉冲端,PINC为加1控制端,PLD为并行接数控制端,它的输入端来自多路开关,可选择为“1”、CY、“0”等。其中“1”对应于JMP指令,CY对应于JC指令,其他情况接“0”(不转移)。PC的输出和ADR(由ADRH、ADRL组成)的输出通过多路开关加至地址总线AB。
堆栈指针:
SP为16位的堆栈指针,它的初态为7FFFH。在把一个字节压入堆栈后,应把SP减一,指向下一个单元。在从堆栈弹出一个字节前,应把SP加一。
指令系统定义
编号 汇编码 操作 指令码 1 MOV A ,Ri (Ri)-A 00000iii 2 MOV Ri,A (A)-Ri 00001iii 3 MOV A,@Ri (7EH[Ri])-A 00010iii 4 MOV @Ri,A (A)-7EH[Ri] 00011iii 5 ADD A,Ri (A)+(Ri)-A 00100iii 6 SUB A,Ri (A)-(Ri)-A 00101iii 7 MOV A,#data data-Adata 8 MOV Ri,#data data-Ri 00111iii data 9 LDA addr (addr)-Aaddrh addrl 10 STA addr (A)-addraddrh addrl 11 JC addr if CY=1 then addr-PC else (PC)+3-PCaddrh addrl 12 JMP addr addr-PCaddrh addrl 13 JNKB addr if KRIX=0 then addr-PC else (PC)+3-PCaddrh addrl 14 JNPB addr if PRIX=0 then addr-PC else (PC)+3-PCaddrh addrl 15 CALL addr 按addr转到子程序,保存PC进栈addrh addrl 16 RET PC退栈,子程序返回 17 RSP 7fffH-SP 18 SUB A,addr (A)-(addr)-Aaddrh addrl 19 ROR A 循环右移 20 DEC @Ri (Ri)-1-Ri 21 PUSH A (A)-SP, (SP)-1-SP 22 POP A (SP)+1-SP,(SP)-A 23 JN addr if N=1 then addr-PC else (PC)+3-PCaddrh addrl 24 ORL A,#data (A)or data-Adata
指令流程定义
编号 汇编码 指令流程 0 取指令(所有指令的最后一步) T0:(PC)MC=00AB;(M)CRDX=0DBGI=0IR;
(PC)+1PINC=0P
文档评论(0)