计算机组成原理实验报告(8)

2019-02-21 00:06

程序计数器(PC)原理图

地址寄存器(MAR)原理图

本实验安排了四条机器指令,分别为ADD(0000 0000)、IN(1010 1000)、OUT(1010 1100)和JMP(1110 0111),括号中为各指令的二进制代码,指令格式如下:

助记符 机器指令码 说明 IN 1010 1000 IN -> R0 ADD 0000 0000 R0 + R0 -> R0 OUT 1010 1100 R0 -> OUT 1110 0111 JMP addr8 addr8->PC ******** 无条件跳转指令JMP是双字节指令,11100111是指令码,********是8位二进制地址码。

微程序控制器实验的指令是通过开关区的拨动开关手动给出的,本实验由CPU通过PC单元提供8位地址、控制总线单元CBus提供存贮器读写信号nM_RD、nM_WR,从存贮器MEM单元读取指令并运行。新的数据通路图如下:

数据通路图

在数据通路图中可以看出,在微程序控制器实验的基础上增加了三个部件:MAR、PC、MEM。在微指令中需要增加相应的控制位。 微指令字长共 32位,控制位顺序如下表: 微指令格式 位 31 30 29 28 27 26 25 24 23 22 21 信号SP_nrALwPiEnd wA wB wIR rRDi rRi A字段 名 OE U SW 位 20 19 18 17 16 15 14 13 12 11-8 信号CN_rPPC+nMAnPCOnINnWM_nnRD S3..S0 名 I C 1 ROE E TA R IO 位 7-0 信号uM_PC7..uM_PC0 名

A字段 23 22 选择 0 0 NOP 0 1 wRi 1 0 wPC 1 1 wMAR 其中uM_PC7..uM_PC0为8位后续微地址,A为译码字段,由二个控制位译码出多位。 wA:写暂存器A。wA低电平,在T1的下降沿,将iDBus上数据写到暂存器A。 wB:写暂存器B。wB低电平,在T2的下降沿,将iDBus上数据写到暂存器B。 wIR:写指令寄存器IR。wIR为低电平,在T2的下降沿,将iDBus上数据写到IR。 SP_nOE:允许堆栈输出地址。SP_nOE低电平,在T1、T2、T3时刻,堆栈寄存器SP中数据输出到地址总线上。

rRDi:读通用寄存器。rRDi低电平,在T1时刻,通用寄存器中数据输出到内部数据总线iDBus上。

rRi: 读通用寄存器。rRi低电平,在T2时刻,通用寄存器中数据输出到内部数据总线iDBus上;在T3时刻,如果rALU信号为高电平,通用寄存器中数据也输出到iDBus上。

rALU:允许ALU结果输出到iDBus上。rALU低电平,在T3时刻,ALU的运算结果输出到iDBus上,这时rRi、nRD只在T2时刻有效,T3时刻让出iDBus。 wRi:写通用寄存器。wRi低电平,在T3的下降沿,将iDBus上数据写到通用寄存器中。

wPC:写PC。wPC低电平,在T3的下降沿,将iDBus上数据写到PC中。 wMAR:写地址寄存器MAR。wMAR低电平,在T3的下降沿,将iDBus上数据写到地址寄存器MAR中。

wPSW: 不允许影响标志寄存器PSW。wPSW低电平,在T3的下降沿,将ALU中当前运算结果(对标志位的影响)写入标志寄存器PSW;wPSW高电平,任何时刻,不影响PSW。例如:PUSH指令需要在压栈前,SP堆栈寄存器-1(放到ALU中运算),不允许像DEC(-1)指令一样影响标志位(PSW)。 CN_I、S3..S0:控制ALU执行何种操作,详细请参阅基本运算器实验 rPC:读PC。rPC低电平,在T1、T2时刻,PC数据输出到iDBus上。 PC+1:允许PC+1。PC+1信号高电平,在T3的下降沿,PC+1->PC。

nMAROE:允许MAR输出地址。nMAROE低电平,在T1、T2、T3时刻,MAR中数据输出到地址总线上。

nPCOE: 允许PC输出地址。nPCOE低电平,在T1、T2、T3时刻,PC中数据输出到地址总线上。

注意:nPCOE、nMAROE、SP_nOE三个信号在任意时刻只允许一个信号有效 nINTA:中断响应信号。 M_nIO nRD nWR 有效期 读1 0 1 T2,T3(rALU=1) MEM(nM_RD) 写1 1 0 T2 MEM(nM_WR) 读1 0 1 T2,T3(rALU=1) I/O(nIO_RD) 写I/O(nIO 1 1 0 T2 _WR)

本系统上的指令译码规则: 译码输出地址 微地址范围 机器码IR7..IR0 说明 IR_A7..IR_A0 IR_A7..IR_A0 00-7FH 00001,IR6..IR4 08H-0FH 80-9FH 00110, IR4..IR2 30H-37H B8-BFH译码为A0-DFH 00,IR6..IR2,0 10H-2FH 1EH E0-EFH 010,IR3..IR0,0 40H-5FH F0-F3H 04H-07H 04H-07H F8-FFH 00111,IR2..IR0 38H-3FH 指令译码电路在IR单元的CPLD中实现。 四条机器指令对应的参考微程序流程图如下图所示。取指后译码,使微程序产生分支。

微程序流程图

将全部微程序按微指令格式变成二进制微代码: 地HEX 高八A字21,19-12CN_I 址 位 段 位 00 6F0ED001 6F 00 0 0 11101101 08 3B0AF009 3B 00 0 0 10101111 09 5D0AF00A 5D 00 0 0 10101111 0A 7E4AF800 7E 01 0 0 10101111 14 7F4AC000 7F 01 0 0 10101100 16 7D0AA000 7D 00 0 0 10101010 4E 7F8AD000 7F 10 0 0 10101101 二进制微代码表 地HEX 高八A字21,19-12CN_I 址 位 段 位 00 6F0ED001 6F 00 0 0 11101101 08 3B0AF009 3B 00 0 0 10101111 09 5D0AF00A 5D 00 0 0 10101111 0A 7E4AF800 7E 01 0 0 S3-S0 0000 0000 0000 1000 0000 0000 0000 uM_PC7..uM_PC0 01 09 0A 00 00 00 00 S3-S0 0000 0000 0000 1000 uM_PC7..uM_PC0 01 09 0A 00 14 16 3F 7F49C000 7F 01 00 00 7D09A000 7D 7F0AF03F 7F 10101111 0 10011100 0 10011010 0 10101111 0 0 0 0000 0000 0000 00 00 3F 设计一段机器程序,要求从IN单元读入一个数据,存于R0,将R0和自身相加,结果存于R0,再将R0的值送OUT单元显示。根据要求可以得到如下程序,地址和内容均为二进制数。 地址 内 容 助记符 说明 00000000 1010 1000 ;START:IN R0 ;从IN单元读入数据送

R0

00000001 0000 0000 ; ADD R0,R0 ;R0 + R0 -> R0 00000010 1010 1100 ; OUT R0 ;R0的值送OUT单元显示 00000011 1110 0111 ; JMP START ;跳转至00H地址 00000100 0000 0000

三. 实验过程和图片

1、连线说明: uM单元:S0、S1、S2、S3(JP1) —— ALU单元:S0、S1、S2、S3(JP18) uM单元:wA、wB、rALU、—— ALU单元:wA、wB、rALU、CN_I(JP4) CN_I(JP19) uM单元:rRi、wRi —— ALU单元:rR0、wR0 uM单元:rRdi ALU单元:rRd0 uM单元:wIR(JP10) —— IR单元:wIR(JP32) uM单元:M_nIO、nRD、nWR、—— CBus单元:M_nIO、nRD、nWR、nINTA(JP2) nINTA(JP42) ALU单元:IN0..7(JP22) —— iDBus单元:iD0..7(JP38) ALU单元:—— iDBus单元:iD0..7(JP37) ALU_D0..ALU_D7(JP25) ALU单元:iD0..iD7(JP24) —— iDBus单元:iD0..7(JP36) IR单元:D0..D7(JP35) —— iDBus单元:iD0..7(JP41) IR单元:IR_A0..IR_A7(JP30) —— uPC单元:IR_A0..IR_A7(JP12) IN单元:IN0..IN7(JP101) —— DBus单元:D0..D7(JP52) IN单元:nCS、nRD(JP100) —— CBus单元:IO_nCE0、nIO_RD(JP49) OUT单元:nCS、nWR(JP68) —— CBus单元:IO_nCE0、nIO_WR(JP48) OUT单元:I0..I7(JP69) —— DBus单元:D0..D7(JP54) OUT单元:OUT0..OUT7(JP70) —— 扩展区单元:JP67 MEM单元:A0..A7(JP72) —— ABus单元:A00..A07(JP56) MEM单元:D0..D7(JP73) —— DBus单元:D0..D7(JP53) MEM单元:M_nRD、—— CBus单元:nM_RD、nM_WR(JP44)


计算机组成原理实验报告(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:工作面煤体注水安全技术措施

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: