计算机组成原理课程设计报告江苏大学_适用于软件工程(编辑修改稿)内容摘要:
机器码 (H) 汇编指令 0000 0002 0761 5678 0B61 F000 MOV 5678H, R1 ADD F000, R1 11 结果和第二天的一样,说明硬件扩充正确。 四、设计中遇到的问题 及解决办法 在写 TR,AR,IR 的实例化代码时,没注意是用寄存器模块 R 实例化得到的,经过报错和仔细看书后,发现了问题,成功改正过来了。 完成程序运行出了问题,经过查找发现是 DR模块出了问题, if(!n_reset)q=0。 else if(DRce_IB)q=data_IB。 else if(DRce_DB)q=data_DB。 这一句被我写成了 if(!n_reset)q=0。 else if(DRce_IB)q=data_IB。 else q=data_DB。 12 第四天 为 CPU 扩充转移指令 一、设计要求 在初级 CPU 的基础上进行功能扩充,使其支持转移类指令 二、硬件 uAG 模块设计 ( 自己修改的设计部分, 加上适当注释) 339。 d3:uAGout = {NA[8:1],BM3_uAR0}。 //3,根据条件转移指令操作码 PSW的 ZF,OF,SF,CF 状态标志决定微地址 //第四天 always@(SZOC, IR) begin case(IR[7:6]) // 条件转移类指令 239。 b00: Flag_MUX=SZOC[0]。 239。 b01: Flag_MUX=SZOC[1]。 239。 b10: Flag_MUX=SZOC[2]。 239。 b11: Flag_MUX=SZOC[3]。 default:Flag_MUX=139。 b0。 endcase end assign BM3_uAR0 = Flag_MUX ^ IR[5]。 三、转移指令微程序的设计 A R o e , P C c eE X E C1 224。 F I C转 移 条 件 满 足YN转 移 指 令 入 口0 7 63 :0 7 60 0 00 : 固 定 转 移0 7 70 0 00 : 固 定 转 移N O P0 0 0条 件 不 满 足 条 件 满 足( a )( b ) 13 四、测试程序、数据及运行结果 测试内容: JC 命令 机器码: 内存地址 (H) 机器码 (H) 汇编指令 0000 0002 0004 0761 5678 0B61 F000 011A 0010 MOV 5678H, R1 ADD F000, R1 JC 0010H 运行数据: 运行结果及分析: 从微地址可以看出,第一阶段先是取第一条指令( MOV 5678H, R1) 001002003004,再是取源操作数, 00400B00F016006,是立即数寻址方式,再是取目的操作数,006018007,是寄存器寻址方式,最后是执行阶段, 007044046000,将结果 mov到寄存器里。 在 GRS可以看出由 0000变成了 5678。 第二阶段先是取第二条指令( ADD F000, R1) 001002003004,再是取源操作数, 00400B00F016006,是立即数寻址方式, 14 再 是 取目 的操 作数 , 006018007 ,是 寄存 器寻 址方 式 ,最 后是 执行 阶段 ,00704804F070000,是 ADD 运算,结果存放在寄存器 GRS中,可以看出结果为 4678,并且产生进位, SZOC=0001,正确。 第三阶段,进入 JC指令,因为 C=1,有进位,所以条件满足,执行的是 075077000,正确。 五、设计中遇到的问题及解决办法 程序中误将赋值符号 =写成了 =, 被同学发现,及时修改,并成功得到解决。 15 第五天 为 CPU 扩充移位指令 一、设计目标 在前面的 CPU 的基础上扩充硬件,使其支持移位指令。 二、硬件设计 SHIFTER 模块设计 (加上适当注释) wire data_lsb。 wire data_hsb。 //******************************************************************************************* // * // 第五天要修改的代码 * //assign data_lsb = 139。 b0。 //assign data_hsb = 139。 b0。 mux(1) mux_1(.d1(0),.d2(0),.d3(d[15]),.d4(CF),.q(data_lsb),.addr(IR76))。 mux(1) mux_2(.d1(d[15]),.d2(0),.d3(d[0]),.d4(CF),.q(data_hsb),.addr(IR76))。 // 根据不同的移位指令,实例化两个四选一多路器,重新形成 data_lsb和 data_lsb * // 多路器 mux 在工程文件中已提供 * // * //******************************************************************************************* CF 模块设计 timescale 1ns / 1ps module CF(d15, d0, Cout, q, SL, SR)。 input d15, d0, Cout。 input SL, SR。 output q。 reg q。 always @(*) begin case ({SL, SR}) 339。 b01: q = d0。 16 339。 b10: q = d15。 default:q = Cout。 endcase end endmodule IR_DECODE 模块设计(自己增加修改的设计部分) 239。 b00:BM4_uA={539。 b01001,IR[7:5],139。 b0}。 顶层模块设计(增加自己修改的设计部分) wire [DATAWIDTH 1: 0] SP_out, GRS_out, TR_out, A_ou。计算机组成原理课程设计报告江苏大学_适用于软件工程(编辑修改稿)
相关推荐
MOV 5678H, R1 ADD F000, R1 11 结果和第二天的一样,说明硬件扩充正确。 四、设计中遇到的问题 及解决办法 在写 TR,AR,IR 的实例化代码时,没注意是用寄存器模块 R 实例化得到的,经过报错和仔细看书后,发现了问题,成功改正过来了。 完成程序运行出了问题,经过查找发现是 DR模块出了问题, if(!n_reset)q=0。 else
定一个虚拟端口( VLAN端口) SW32(configif)ip address。 为 VLAN分配 IP 地址 SW32(configif)int vlan 20。 指定第二个虚拟端口 SW32(configif)ip address。 为 VLAN20分配 IP 地址 SW32(configif)int vlan 30。 指定虚拟端口 SW32(configif)ip address。 为
圆 XY(δ 0 + δ 1, 1), 偏距圆 XY(δ 0 + δ 1, 2)), amp。 HFFFF00 (x0, y0)(偏距圆 XY(δ 0 + δ 1 + δ 2, 1), 偏距圆 XY(δ 0 + δ 1 + δ 2, 2)), amp。 HFFFF00 End Sub Public Sub Second_Step() Dim j As Integer Dim i As
使学生课外科技创新活动蓬勃开展,使各项政策、资金、措施能真正落到实处,学院专门成立了由学院党政主要领导担任主任,其他班子成员担任副主任,全体辅导员和科技创新指导教师为成员的 学生课外学术科技竞赛组委会。 学生课外科技竞赛组委会作为一个常设机构,负责学生课外科技创新的政策落实、规划制定、方案论证和策划协调等工作,负责组织实施校内外各级各类学生课外科技竞赛,为学生课外科技创新活动的顺利开展提
GAIN := TI := TD := TM_LAG := DEADB_W := LMN_HLM := LMN_LLM := PV_FAC := PV_OFF := LMN_FAC := LMN_OFF := I_ITLVAL:= DISV := LMN := LMN_PER :=PQW288 QLMN_HLM:= QLMN_LLM:= LMN_P := LMN_I := LMN_D := PV
2,b3,b4],B)。 %解出Ge待定系数Gz= *z^1*(1+*z^1)*(*z^1)*(*z^1)*(1+*z^1)/((1z^1)^2*(*z^1)*(*z^1)*(*z^1))Dwz=Gc/Ge/Gz[N,D]=numden(simplify(Dwz))。 numdw=sym2poly(N)dendw=sym2poly(D)运行结果:numdw = +26 * dendw =+25*