计算机组成原理课程设计

一、目的和要求

深入了解计算机各种指令的执行过程,以及控制器的组成,指令系统微程序设计的具体知识,进一步理解和掌握动态微程序设计的概念;完成微程序控制的特定功能计算机的指令系统设计和调试。

二、实验环境

TEC-2实验计算机系统(TEC-2模拟机)

PC电脑

三、具体内容

理论分析

TEC-2微指令格式

每条微指令可以表示为B55-B0(高八位B63-B56无用),则B55-B46这8位表示下址。

B43-B40这4位表示CI3-CI0,用于选择AM2910的控制功能,具体规定如下:

每条微指令可以表示为B55-B0(高八位B63-B56无用),则B55-B46这8位表示下址。

B43-B40这4位表示CI3-CI0,用于选择AM2910的控制功能,具体规定如下:

B34-B32这3位表示SST,用于设置标志位,具体规定如下:

 B31、B27、B23这3位分别表示/MIOREQ/WE,用于控制存储器的读写模式,具体规定如下:

B30-B28、B26-B24、B22-B20这3组4微码分别表示MI8-6、MI5-3、MI2-0,用于控制运算器AM2901的功能,具体规定如下:

B19-B16、B15-B12这两组4位微码分别表示ALU的A口和B口地址。

B11-B10表示SCI,用于设置运算器AM2901最低位的进位,具体规定如下:

B9-B8表示SSH,用于控制运算器AM2901移位器的功能,具体规定如下:

B7的SA、B3的SB两位用于控制运算器AM2901 A口和B口地址的来源,具体规定如下:

B6-4 和 B2-0 的DC1和DC2用于控制送往内部总线IB的数据来源和接收来自内部总线IB数据的寄存器,具体规定如下:

新指令的设计方法

首先选择指令的操作码,TEC-2中剩余11条指令未实现,他们的操作码分别是D4、D8、DC、E0、E4、E8、EC、F0、F4、F8和FC,其对应的微程序入口地址已经写死在MAP中,因此只需选择其中一个操作码作为新指令的操作码,再根据指令功能编写微程序,然后将其装入从操作码对应的入口地址开始的一块控存空间即可。

选定操作码后,需要确定指令的格式(单操作数、双操作数等)和功能,然后设计该指令的执行过程,即分成几步完成,每一步要实现的详细操作细节,各步之间的衔接次序等。将每一步中的操作,用一条微指令实现,即具体设计每条微指令各字段的具体编码值,既包括控制码的各字段,也包括下地址字段,形成下地址用到的条件码等等。

MEM的内容是当前地址寄存器AR所存的地址单元的内容。

寄存器Q的内容可以是立即数,也可以是地址。

11条未定义的机器指令的6位操作码已定,最低两位可用于选择C、Z、V、S四个标志位作为判别条件。

11条未定义的机器指令具有对应的微程序段的入口地址,如D400对应的是100H,D800对应的是110H,E010对应的是130H。

指令一的设计与测试

指令格式

D5 DR SR,DISP    双字指令(控存入口100H)

指令功能

[DR]=[DR] +[[SR]+DISP]

微程序流程和分析

PCAR PC+1PC     0000 0E00 A0B5 5402

MEMQ    0000 0E00 00F0 0000        DISP送到Q寄存器

SRAR      0000 0E00 90C0 008A       SR里的值作为地址传给AR

MEM+QQ    0000 0E01 00E0 0000     这部完成的是[SR]+DISP

QAR          0000 0E00 10A0 0002    [SR]+DISP的值作为地址传给AR

MEMQ      0000 0E00 00F0 0000      读取[[SR]+DISP]这个地址里面存的值

DRAR        0000 0E00 90B0 000A     DR里的值作为地址传给AR

MEM+QQ   0000 0E01 00E0 0000       这部完成的是[DR]+ [[SR]+DISP]

QMEM     0029 0300 1020 0010        将最后的结果存回内存

功能测试

指令二的设计与测试

指令格式

D8××,ADDR1,ADDR2     三字指令(控存入口110H)

指令功能

[ADDR1]←[ADDR2]

微程序流程和分析

PC+1PC 0000 0E00 A0B5 5402

PCAR 0000 0E00 90B0 5002       AR读入第二个操作数的地址做准备

MEMAR 0000 0E00 10F0 0002     AR读入第二个操作数的地址

MEMQ 0000 0E00 00F0 0000      读第二个操作数送往Q寄存器

PC-1AR 0000 0E00 91B0 5402     AR读入第一个操作数的地址做准备

PC+1PC 0000 0E00 B0B0 5400   

MEMAR 0000 0E00 10F0 0002      AR读入第一个操作数的地址

QMEMCC#=0 0029 0300 1020 0010    Q寄存器结果送回第一个操作数位置

功能测试

指令三的设计与测试

指令格式

E1 DR SR,DISP 双字指令(控存入口130H,  DISP为相对转移地址偏移量)

指令功能

if  DR=SR goto  (IP)+DISP  else 顺序执行

微程序流程和分析

DR-SR  0000 0E01 9190 0088    两个通用寄存器SRDR相减,结果不保存,根据运算结果重新设置标志位

PCAR, PC+1PC  0000 0E00 A0B5 5402 

MEM+IPIP, CC#= /Z   0023 83E0 30D6 6000  这个指令设为条件转移指令,若满足,则跳转到00230023处设有指令IP->pc,就跳到目标了

CC#=0   0029 0300 9080 0000   顺序执行后的下条指令是条件转移指令,让CC#0满足跳转条件,跳到0029结束

SR=DR时,顺序执行

当SR=DR时,跳转

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值