简单模型机实验_简单模型机实验

  • 阿里云国际版折扣https://www.yundadi.com

  • 阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

    电路图

    链接https://pan.baidu.com/s/1zQfO_GKtyihuHrJpS2Qyhg?pwd=2333
    提取码2333
    –来自百度网盘超级会员V5的分享

    报告部分

    实验5 简单模型机实验
    5.1实验目的
    1通过总线将微程序控制器、运算器、存储器等联机组成一台模型计算机。
    2用微程序控制器控制模型机数据通路运行由4条机器指组成的简单程序。
    3掌握微指令与机器指令的关系建立整机概念。
    5.2实验要求
    1做好实验预习复习微指令和机器指令的概念读懂实验电路图熟悉实验元器件的功能特性和使用方法。
    2对于实验任务中的问题在实验前预先给出答案以便与实验结果相比较。
    3在实验过程中单步运行微程序注意理解微程序与程序的联系和区别。
    4写出实验报告。
    5.3实验原理
    本实验综合了前面实验的电路将运算器模块、存储器模块和控制器模块通过总线连接在一起组成了一个简单的模型机其电路如图5.1所示。
    在这里插入图片描述

    图5.1 简单模型机总框图
    实验电路中涉及的主要控制信号如下
    1M选择ALU的运算模式(M=0算术运算M=1逻辑运算)
    2S3S2S1S0选择ALU的运算类型。如M=0时设为1001表示加法运算。
    3向ALU最低位输入的进位信号=0时有进位输入=1时无进位输入。
    4 LDDR1DR1的数据加载信号LDDR1=1时在T4的上升沿将数据锁存到DR1。
    5LDDR2DR2的数据加载信号LDDR2=1时在T4的上升沿将数据锁存到DR2.。
    6ALU输出三态门使能信号为0时将ALU运算结果输出到总线。
    7开关输出三态门使能信号为0时将SW7~SW0数据发送到总线。
    8PC输出三态门使能信号为0时将PC的值输出到总线。
    9PC的置数信号为0时PC工作在置数模式可在此模式下为PC设置初值。
    10LDPCPC的加载信号为1时在T4的上升沿执行清零、置数或计数操作。
    11R0芯片的输出控制信号为0时将R0中的数据输出到总线。
    12LDR0R0的数据载入信号为1时在T4上升沿将数据存入R0。
    13LDIRIR的加载信号当LDIR=1时在T3的上升沿将指令锁存到IR。
    146116片选信号为0时6116正常工作。
    15WE存储器写信号在=0、=0的条件下当WE=1且T3=1时进行写操作否则进行读操作。
    16LDARAR的地址加载信号当LDAR=1时在T3的上升沿将地址锁存到AR。
    17T1~T4时序信号对应一个CPU周期。
    18TsSoSeSaTs为时钟源输入So为停止信号Sa为开始信号Se为单步运行。
    在控制器实验中实现了自动按照AR中的指令逐条取出对应的微指令。在本实验中程序存储在RAM中微程序存储在控制存储器中要实现自动从RAM里逐条取出指令放入IR并按照IR中的指令自动从控制存储器读出相应的微程序执行。
    本实验用到的微指令长度为24bit微指令格式如表5-1所示。
    在这里插入图片描述
    本实验使用的微程序流程如图5.2所示。
    在这里插入图片描述

    图5.2 微程序流程图
    对应的微程序代码存放在控制存储器中如表5-2所示。
    表5-2 微程序二进制代码表
    在这里插入图片描述

    一条指令对应一个微程序一个微程序是多条微指令的有序集合。
    模型机共包含4条指令指令格式如表5-3所示。本实验用这4条指令编写了一个简单程序并已存入RAM。RAM中的程序和数据如表5-4所示。
    在这里插入图片描述

    在这里插入图片描述

    5.4实验内容与步骤
    1.运行虚拟实验系统按照图5.1绘制实验电路生成如图5.3所示电路。
    在这里插入图片描述

    2.打开电源开关。
    3.进行电路预设置。将DR1、DR2和AR的置1将计数器的、ENT、ENP置1时序发生器的Step置1可在开电源之前设置。微地址寄存器74LS175和指令寄存器IR的置1。此时微地址寄存器和IR已初始化为零模型机将从控制存储器的零地址开始运行。
    4.在数据开关SW7~SW0上设置好程序的起始地址00000000。
    5.单击1次时序发生器的Start按钮思考并回答问题此时执行的是微程序流程图中的第几条微指令作用是什么
    6.再单步执行两条微指令思考并回答问题这两条微指令的作用是什么
    7.通过数据开关SW7~SW0设置操作数1的值为00010100。
    8.单击Start执行微指令SW→R0将操作数1保存到累加器R0中。
    9.继续单步执行之后的微指令直到第一轮循环结束。在此过程中注意观察总线上数据灯的显示并说明每个显示出来的数字的意义将表5-5补充完整。

    1. 利用菜单“工具/存储器芯片设置”选项查看运算结果是否已填入指定内存单元。
      5.5实验结果
      本实验需要记录的结果是回答5.4节实验内容与步骤中第5、6、9、10步提出的问题
      5.单击1次时序发生器的Start按钮思考并回答问题此时执行的是微程序流程图中的第几条微指令作用是什么
      答此时执行的是微程序流程图中的第1条也就是00地址的微指令该微指令是nop也就是空操作指令该指令用于控制时间周期。Nop是no operation 的缩写。Nop无操作数所以称为空操作。执行Nop指令只使程序计数器PC加1所以占用一个机器周期。
      6.再单步执行两条微指令思考并回答问题这两条微指令的作用是什么
      答第一个是SW→PC将输入的地址存到程序计数器PC中第二条指令是PC→AR同时PC+1PCprogram counter是程序计数器存放下一条指令的主存地址。ARadress register是地址寄存器与主存的地址总线直接连接在从主存取数据前存放要数据的地址。这条指令的意思是PC值送AR准备从主存取指令当前PC值+1使PC存放下一条指令的主存地址。
    2. 将表5-5补充完整。
    3. 对每条指令的执行结果进行说明并将使用菜单“工具/存储器芯片设置”选项查看运算结果时的界面进行截图。
      指令 结果说明
      IN SW→R0 数据开关上的值00010100送入R0寄存器中
      ADD R0+A→R0 R0中的00010100与内存地址1000中的数据00001011 相加结果为00011111将结果送入R0寄存器中
      STA R0→A 将R0寄存器中的00011111值送入内存地址1001
      JMP A→PC 将内存地址1000中的00011111值送入PC中
      在这里插入图片描述

    5.6思考与分析
    1.指令与微指令、程序与微程序之间有什么联系
    微程序控制器中机器指令与微指令的关系是每一条机器指令由若干微指令组成的微程序来解释执行。微程序是由多个机器指令组成的机器指令集程序则是为了完成某一应用功能所编写的代码的集合。简单一点微程序是机器指令级别的程序是高级语言级别的。程序由一组指令组成指令由一个微程序实现微程序由一组微指令实现微指令由一组微操作实现。
    2.无论是程序还是微程序都必须按一定的顺序执行其中的指令或微指令请分别说明它们确定下一条要执行的指令或微指令的方法。
    对于程序来说执行指令的寻址方式是确定本条指令的操作数地址以及下一条将要执行的指令的地址的方法。寻址方式分为两种指令寻址和操作数寻址
    指令寻址顺序寻址PC+1跳跃寻址JMP指令
    数据寻址立即寻址寄存器寻址直接寻址间接寻址寄存器间接寻址寄存器相对寻址基址寻址变址寻址基址变址寻址

    为了确定下一条微指令的地址通常采用断定方式其基本思想是通过微指令顺序控制字段由设计者指定或由设计者指定的判别字段控制产生后继微指令地址通常就是顺序寻址PC+1跳跃寻址JMP指令两种寻址方式。

  • 阿里云国际版折扣https://www.yundadi.com

  • 阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6