基本模型机的设计与实现

一、实验目的

  1. 在掌握部件单元电路的实验的基础上,构造一台基本模型计算机。
  2. 为其定义五条机器指令,并编写相应的微程序,上机调试掌握整机概念

二、实验设备

Dais—CMX16+ 计算机组成原理教学实验系统一台

三、实验原理

手动控制实验过程中,各部件单元的控制信号是以人为模拟产生为主,而本实验将能在微程序控制下自动产生各部件单元的控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从EM主存种取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。

在这里插入图片描述
其中OP—CODE为操作码段,位于指令字节高三位(IR7~IR5);第四位IR4是保留位,
指定为零;低四位为源与目的寄存器地址,它们的编码见下表;Addr定义操作数或操作地址。
在这里插入图片描述

五、指令流程图

在这里插入图片描述

六、微指令结构和名字段含义

6.1 微程序控制器的组成结构

(1)控制存储器CM

控制存储器用来存放解析指令的微程序,由2片6264和1片6116共三片静态存储器平行组成。它们的地址通路由11位微程序计数器μPC供给,其寻址范围为2K(0~7FFh)。实验模型机对应的40位微指令格式如下,其中操作控制位19位,P测试位5位,后续直接地址位11位,保留位5位。微指令采用了重叠结构定义,控制存储器分时输出24位微控位(操作控制位19位和P测试位5位)和11位后续直接地址位

在这里插入图片描述
在这里插入图片描述

(2)微程序计数器μPC

图2-11所示的微程序计数器μPC由3片161构成,输出11微地址驱动控制存储器,从控存对应单元读取微指令,微指令的19位操作控制位直接输出或译码输出各种微命令信号,11位直接后续地址位和5位P测试位通过微地址转移逻辑共同决定下一条微指令的微地址。本模型机中微指令的地址可以由后续直接地址采用链式存储方式确定,也可以由现行微程序计数器微址加1采用顺序存储方式确定。

在这里插入图片描述

6.2 微程序的执行过程

图2-11所标示的字号表示微程序控制的全部工作过程。
1)启动取指微指令或微程序,根据程序计数器PC所提供的指令地址,从指令存储器中取出所要执行的机器指令,送入指令寄存器IR中,并且完成PC+1,指向机器指令的下址单元。
2)根据ID译码器中的指令码,把微地址转移逻辑产生的解释机器指令第一条微指令的微地址打入μPC。
3)从μPC所指定的控制存储器单元分时输出微操作控制字段与下续微地址控制字段。
4)微指令的操作控制字段经译码或直接产生一组微命令,控制有关功能部件完成微程序所规定的微操作。
5)微指令的直接地址字段和P测试字段及当前的状态标记、中断请求标志送往微地址形成电路,产生下条微指令的地址,进入读取与执行下条微指令。如此循环,直到一条机器指令的微程序全部执行完毕。

6.3 微指令格式及编码

如图2-10所示,本系统微指令综合采用了字段的直接控制法和编码表示法,把微指令操作控制字段划分为若干个子字段,每个子字段的所有微命令进行统一编码。
本控制器微指令字长35位,其中24个微控位分别由P测试字段、源寻址字段、运算控制字段、目的寻址字段及直接控制字段组成; 11位后续直接地址位M34~M24输出下一条微指令的十一位的后续微地址。

(1)P测试字段

五位P测试位决定是否需要对微指令给出的11位后续直接地址进行修改以及如何修改来确定下一条微指令在控存的地址。
①M0定义为Ids,微程序结束测试位。微程序的最后一条微指令该位为0,否则为1。
②M1定义为Icz,进位标志测试位。当Icz为“0”时,利用进位标志CY修改微总线uBUS的11位直接后续地址最后一位ud0,形成2路分支
在这里插入图片描述
③M2定义为IR,指令操作码的测试位,当IR为“0”时,利用8位操作码OP修改微总线uBUS的11位直接后续地址的ud8~ud1,形成256路分支。

在这里插入图片描述
④M3定义为中断控位IE,中断请求测试位。每条指令执行末尾进入公操作,通过检查该位判断外设是否有中断请求,如果有中断请求转入中断处理过程;否则转入取值的微指令从指存取下一条指令执行。
⑤M4定义为Iu,微指令寻址方式测试位,当Iu为“0”时,以微指令的11位后续直接地址作为下一条微指令的地址;该方式是微指令的链式存储;当Iu为“1”时,以uPC+1,即当前微指令地址加1作为下一条微指令的地址,该方式是微指令的顺序存储。

(2)源编码字段

①M5定义为运算源控位ALU,当ALU=“1”时运算器以AX、BX寄存器为源,若ALU=“0”运算器以当前源编码的定义为源。
②M6定义为字长控位W,当W=“0”时当前总线宽度为十六位字总线;当W=“1”时当前总线宽度为八位字节总线。
③M7定义为源奇偶特性控位XP,当XP=“0”时工作寄存器源为偶字节,;当XP=“1”时工作寄存器源为奇字节。
④M10~M8分别定义X2、X1、X0,组成源寻址的编码段

(3)运算字段

①M13~M11分别定义S2、S1、S0,组成运算方式选择字段。
②M14定义了CN,是运算的最低位有效进位。
③M15定义了M,当M=“0”时,ALU做算数运算;当M=“1”时,ALU做逻辑运算。

(4)目标编码字段

①M16定义为目的奇偶控位OP,当OP=“0”时为工作寄存器的以偶字节为操作目标,当OP=“1”时工作寄存器以奇字节为操作目标。
②M19~M17分别定义O2、O1、O0,组成目的寻址的编码段

(5)直接控制字段

①M20定义为寄存器与Cache选择控位R/M,当R/M=“1”时,选择寄存器组为ALU的工作区;当R/M=“0”时,选择Cache为ALU的工作区,本实验设备无Cahce,所以该位衡“1”。
②M21定义为主存及指令寄存器IR写命令MWR,当MWR=“0”、IR=“1”时执行主存的写入操作。当MWR=“0”、IR=“0”时执行指令寄存器写入操作。
2.1 ③M22定义为程序计数器使能控位IP,当IP=“0”时,执行PC+1;当IP=“0”、E/M=“0”时执行PC地址的装载。
④M23定义为指存与数存的地址选择控位E/M,当E/M=“1”时主存以当前程序指针PC驱动指令地址总线;当E/M=“0”时主存以当前AR驱动数据地址总线。

(6)下址段

由M34M24组成μPCμPC共11位后续直接地址

六、源程序

在这里插入图片描述

七、实验所用的机器指令程序

在这里插入图片描述
共有十一条指令,其中IN(数据读出)、RR(右移运算)、NOT(取反运算)为单字节指令,其余为三字节指令。

八、基本模型机微指令

在这里插入图片描述

九、程序调试过程

初始化
在这里插入图片描述
IN RO,IOL

在这里插入图片描述

ADD R0,[addr]
在这里插入图片描述

SUB R0,IOL
在这里插入图片描述

OR R0,*

在这里插入图片描述

AND R0,*
在这里插入图片描述

STA [addr],R0
在这里插入图片描述

OUT [addr],IOH
在这里插入图片描述

MOV R0,SP
在这里插入图片描述
RR R0
在这里插入图片描述

NOT
在这里插入图片描述

JMP
在这里插入图片描述

十、心得体会

  • 20
    点赞
  • 143
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
计算组成原理中的基本模型是一个非常重要的概念,它是计算硬件设计的基础。基本模型包括了CPU、存储器、输入/输出设备等基本组成部分。在学习计算组成原理的时候,我们通常会进行基本模型设计实现实验,这有助于我们更深入地理解计算硬件的工作原理。 下面是基本模型设计实现实验的步骤: 1. 确定基本组成部分:CPU、存储器、输入/输出设备等。 2. 设计CPU的指令集合,并编写汇编语言程序。 3. 设计存储器的结构,并编写存储器控制器。 4. 设计输入/输出设备的接口,并编写输入/输出控制器。 5. 将CPU、存储器、输入/输出设备等组成一个完整的系统,并进行测试。 在进行基本模型设计实现实验时,我们需要掌握一些基本的知识和技能。比如: 1. 掌握计算硬件的基本原理,包括CPU、存储器、输入/输出设备等的工作原理。 2. 掌握数字电路设计基本原理,包括逻辑门、寄存器、计数器等的设计方法。 3. 掌握汇编语言的基本语法和指令集合,能够编写简单的汇编语言程序。 4. 掌握数字电路仿真软件和硬件描述语言的基本使用方法,能够进行数字电路的仿真和验证。 基本模型设计实现实验是一项非常重要的实践课程,它能够帮助我们更深入地理解计算硬件的工作原理,掌握数字电路设计和汇编语言编程的基本技能,为我们今后的学习和工作打下坚实的基础。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值