计算机课设微程序最大值,计算机组成原理课程设计(微程序)报告

《计算机组成原理课程设计(微程序)报告》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计(微程序)报告(17页珍藏版)》请在人人文库网上搜索。

1、微程序控制器的设计与实现第17页共13页目录1设计目的32 设计内容33 具体要求34设计方案35 调试过程.116 心得体会12微程序控制器的设计与实现一、设计目的1)巩固和深刻理解“计算机组成原理”课程所讲解的原理,加深对计算机各模块协同工作的认识2)掌握微程序设计的思想和具体流程、操作方法。3)培养学生独立工作和创新思维的能力,取得设计与调试的实践经验。4)尝试利用编程实现微程序指令的识别和解释的工作流程二、设计内容按照要求设计一指令系统,该指令系统能够实现数 据传送,进行加、减运算和无条件转移,具有累加器寻 址、寄存器寻址、寄存器间接寻址、存储器直接寻址、 立即数寻址等五种寻址方式。三。

2、、设计要求1)仔细复习所学过的理论知识,掌握微程序设计的思 想,并根据掌握的理论写出要设计的指令系统的微程 序流程。指令系统至少要包括六条指令,具有上述功 能和寻址方式。2)根据微操作流程及给定的微指令格式写出相应的微程序3)将所设计的微程序在虚拟环境中运行调试程序,并给出测试思路和具体程序段4)尝试用C或者Java语言实现所设计的指令系统的加 载、识别和解释功能。5)撰写课程设计报告。四、设计方案1)设计思路按照要求设计指令系统,该指令系统能够实现数据传送, 进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种 寻址方式。从而可以想到如下指。

3、令:24位控制位分别介绍如XRD :外部设备读信号,当给出了外设的地址后,输出 此信号,从指定外设读数据。EMWR : 程序存储器 EM写信号。EMRD : 程序存储器EM读信号。PCOE : 将程序计数器 PC的值送到地址总线 ABUS上。EMEN :将程序存储器 EM与数据总线 DBUSg通,由EMWR 和EMRD*定是将 DBUSR据写到 EM中,还是 从EM读出数据送到 DBUSIREN :将程序存储器EM读出的数据打入指令寄存器IR和微指令计数器 uPCEINT :中断返回时清除中断响应和中断请求标志,便于 下次中断。ELP : PC打入允许,与指令寄存器的IR3、IR2位结合, 控。

4、制程序跳转。MAREN :将数据总线 DBUS数据打入地址寄存器 MAR MAROE :将地址寄存器 MAR的值送到地址总线 ABUS上。OUTEN :将数据总线 DBUS上数据送到输出端口寄存器OUTSTEN :将数据总线DBUS上数据存入堆栈寄存器ST中。RRD : 读寄存器组 R0-R3,寄存器R?的选择由指令的最 低两位决定。RWR : 写寄存器组 R0-R3,寄存器R?的选择由指令的最 低两位决定。CN :决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。FEN :将标志位存入ALU内部的标志寄存器。X2 : X1: X0: X2 、XI、X0三位组合来译码选择将数据送到D。

5、BUS上的寄存器。具体如下:X2 X1 X0输出寄存器0 0 0IN_OE外部输入门0 0 1IA_OE中断向量0 1 0ST_OE堆栈寄存器0 1 1PC_OE PC寄存器1 0 0D_OE直通门1 0 1R_OE右移门1 1 0L_OE左移门1 1 1没有输出WEN 将数据总线 DBUS的值打入工彳寄存器 W中。AEN :将数据总线DBUS的值打入累加器 A中。S2 : S1: S0: S2、S1、S0三位组合决定 ALU做何种运算具体如下:S2 S1 S0功能0 0 0A+W加0 0 1A-W减0 1 0A|W或0 1 1A&W 与1 0 0A+W+C带进位加1 0 1A-W-C 带进位。

6、减1 1 0A A 取反1 1 1A输出A模型机的寻址方式分五种:累加器寻址:操作数为累加器A,例如“CPL A”是将累加器A值取反,还有些指令是隐含寻址累加器 A,例如“OUT是将累加器A的值输出到输出 端口寄存器OUT寄存器寻址:参与运算的数据在R0-R3的寄存器中,例如“ADD A, R0指令是将寄存器 R0的值加上累加器A的值,再存入累加器 A中。寄存器间接寻址:参与运算的数据在存储器 EMfr,数据的地 址在寄存器R0-R3中,例如 “MOV A R1 指令是将寄存器R1的值做为地址,把存储器 EM中该地址的内容送入累加器 A中。存储器直接寻址:参与运算的数据在存储器 EM中,数据的。

7、地 址为指令的操作数。例如“ AND A, 40H指 令是将存储器EM中40H单元的数据与累加器 A的值做逻辑与运算,结果存入累加器 A立即数寻址:参与运算的数据为指令的操作数。例如“SUBA, #10H是从累加器A中减去立即数10H, 结果存入累加器A2)程序清单MOV A,#01H 立即数寻址,传送指令,将 01h传送给累加器aLOOP:MOV R0,#01H 立即数寻址,将 01h传送给r0ADD A,R0寄存器寻址,加法操作,将 r0的值与a相加,结果存入 a中SUB A,R0 寄存器间接寻址,减法 将R0的值当作是内存地址,再 将此地址的值与A相减,最后放入A。ADD A,01H 存。

8、储器直接寻址, 寻找出01地址中的值,用A和此地址的值相加,最后放入ACPL A累加器寻址,将 a的值取反OUTJMP LOOP 无条件跳转,跳转到LOOP3)指令流程图MOV A,#01HMOV R0,#01HADD A,R0SUB A,R0ADD,02HCPL AMAR EMOUTJMP LOOP五、调试过程1)指令系统设计本指令系统涉及8条指令,分别完成数据传送,进行加、减 和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、 存储器直接寻址、立即数寻址等五种寻址方式。具体指令设计如下:指令索薪|阈微程序跟踪阿记符机招刚|机器码2机器码3注释| _F此注.OOOOQOixs00 -。

9、031卖鞋机占用,不1HDV%OOOOOlxs04 -QfTIImv叫*ir000010x1:oa -orITADD%R?OOOOUxkoc -OFSUB0E?OOOlQOxK10 二13CTLAooioixx14 -1?ur000110K3C18 -IEJWPMM0001 UxxIC -IfMMADD%MMoioqoxk20 -23MMOlOOlxs24 -27未使用2)微程序设计将窗口切换到“ uM微程序”窗口,设计每条指令的微程序。每个程序开始要执行的第一条微指令应是取指操作,因为程序复位后,PC和uPC的值都为0,所以微程序的0地址处就是程序执行的第一条取指 的微指令。取指操作要做的工。

10、作是从程序存储器EM中读出下条将要执行的指令,并将指令的机器码存入指令寄存器IR和微程序计数器uPC中,读出下条操作的微指令。取指设计如下( CBFFFF):工:E mi ERI mE Eni TKH HlfT El-F MENDlTTlf TTKlff HHJ M IT TO * m JD WB 点口 天 51 Ml“ VLl-” 厂 q 旧 R “曰 R 曰寸屏* VHRFR MOV A #01H这条指令是把立即数1从存储器EM中取出,放入累加器 A中。微程序设计如下(C7FFF7):MOV R0,#01H这条指令是把立即数 1从存储器EM中取出,放入寄存器R0中。微程序设计如下(C7FB。

11、FF);皿即EE*即me 口切了脂忆ILf 济田124日加口即皿 加仃制f比 H 加 5 羽力网V * L I 厂 * YM H * 僦 K W M1 H ” X Y 修 H 3ADD A,R0这条指令是寄存器寻址,将 R0的值取出放入 W中与A相加,再将结果放入 A。它由三个指令周期。微程序设计如下: 第一步,把R0的值放入累加器WZ中xh we jtcd ms nn bist elf 同心口,皿 u仃es $te写的 辩悔 e 值 口 m m qt sz 幻 so PPFPI7PPP p p P F7 F P 17 15 PP IFFPI7PU第二步,从D中读出A的值并与 Wt目加,结果放。

12、到 A中m 班描 6叩 rail WM 1W5 U肛 日F 皿加口叮赳STEM遇D 砂 CM F” 即 灯 m /曜 但 靠 1 $0 p p p p p p p p pppppi5pr rrprrrrSUBA,R0这条指令是 寄存器间接寻址,将以 R0为地址的数值取出放入 W 中与A相减,再将结果放入 A。它由四个指令周期。微程序设计如下:第一步,把R0的值放入地址寄存器 MA对wra IRIf 30 BIST EJ NMEKWJOC。皿而叫 MR E RT S 31 即 幌R E 品 SL apppuiyppp rppppppp p I? I? p p p p p第二步从MA对读出以R0为。

13、地址的值放入累加器W中皿 EML m) PCQ! WH 3ZT1IT: MJ H,里K MWBSJ 岫R b 叩 店* 油 HET AEtf 2 JI 0-PFPFPFP PrPPI77p? fppfppp第三步将A的值与W直相减皿 DHT ED ?工工 ZFXIT IRDIEIBT HF UAKD flMQE QVTE SHU BKP XU EX T8F * X ,即 皿 32 SI SOFFFPI7FI7F PFPFPPPF (7话1-厂厂CPL A将A的值取反在存入 A中幅D IKK FCQE MEN 1旭, 皿 XLF Mh raiX mmi 51。幽 笥律 CT ZD 跟 11 即 。

14、ID W 隈 51 SO pppppffp pppppFPr prrrpprOUT将累加器的值送到输出端并输出::RD EHRB EECI FlD EREEN 二RE RIIIT EXP 用血MIRTFS 二TEM g m CH E M2 U 工口 ITS aJN P El 51G I7 信斤除 F 行际I7rrpk p|5pJMP LOOPihd Eun e(mj ju.? iiTcji iw/tir tLF 帕iciriwawrEiiQi m n fo ip ei m rh mn s sl so 7向/* PFPI77PF7 |PPU77PFU六、心得体会这次微程序程序设计主要是要求我们设。

15、计一个指令系 统,其中包含加,减,数据传送和无条件转移指令操作,具 有累加器寻址、寄存器寻址、寄存器间接寻址、存储器 直接寻址、立即数寻址等五种寻址方式。在通过设计的 过程中,大概理解了各种指令操作和寻址方式。学会了 能灵活理解他们之间的关系,包括像操作与寻址方式之 间的搭配等。在这一周半的课程设计中,通过指令系统中微程序的设计,了解了 24位指令字的具体含义,通过对各位的 选择来确定所选择的操作,这样既方便理解,也方便操作。在这次课程设计中,遇到了很多问题,像对各位数 所代表的具体含义仍然不是十分清楚,在设计微程序的 时候,对每一条指令所用的cpu周期不能灵活掌握,希望在以后的学习中可以对其进行更加深入的理解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值