计算机组成原理模型机设计实验总结_计算机组成原理mov指令「建议收藏」

计算机组成原理模型机设计实验总结_计算机组成原理mov指令「建议收藏」计算机组成原理实验教程基于多思网络虚拟实验系统张雯雰_多思机组原理实验报告

第十一章 模型机课程设计

计算机组成原理实验教程 基于多思网络虚拟实验系统 张雯雰

  1. 实验目的

    1. 融会贯通所学知识,设计和调试一台模型计算机
    2. 进一步掌握计算机组成的基本原理,建立整机概念
    3. 培养工程设计和研究能力
  2. 实验要求

    1. 独立思考,独立设计,独立调试。
    2. 用心思考,精心设计,细心调试。
    3. 写出课程设计报告
  3. 实验任务

    1. 设计一台模型机,要求模型机的指令集如下表所示:
      模型指令集

    2. 编写程序,求S=1+2+3+┈+N,0<N<20,N从数据开关输入,S存入存储器,并在模型机上运行此程序。

    3. 调试成功之后,整理出设计文档,包括:电路总框架图、微程序控制器电路图、微指令格式表、微程序流程图、微程序代码表、指令代码表、程序代码。

  4. 设计思路与难点分析

    最简单的设计思路,就是从现有的系统出发,在此基础上进行修改。前面有些章节已经实现了一个非常简单的模型机。因此,可以从这个模型机入手,进行比较、分析和设计。

    先看指令的条数,与前面章节的简单模型机相比,本设计的模型机功能更强、指令数更多,从4条指令增加到10条指令,这就意味着对应的微程序及微指令也增加了。微指令多了,就会需要更多存储单元,微地址的位数就可能有变化。

    由于每一条微指令都包括下一条微指令的地址,微地址的位数必然影响微指令的长度,因此微指令的格式需要修改。

    另外,简单模型机中的微指令长度为24位,正好可以用3片EPROM2716来存放,如果指令长度增加,3片EPROM2716就放不下了。解决的办法一般有两种,一是使用4片EPROM2716,二是依旧使用3片EPROM2716,但在指令格式中使用译码字段、在电路中增加译码器来减少位数,保持指令的长度不变。为了电路的简洁,建议使用第一种方法。

    无论使用以上哪种方法,微地址形成电路都需要修改,因此以前的电路最多只能生成4位的微地址,显然满足不了现在的需求。

    再比较指令的功能,此模型机比前面章节的模型机多了4条算术逻辑运算指令和2条访存指令,其中比较特殊的是相等则跳转指令,这是一条条件转移指令,只有满足比较结果相等的条件才执行跳转操作。为实现此功能,需要做的主要工作有:

    1. 增加一片D型触发器74LS175作为状态条件寄存器,用于保存74LS181的A=B输出引脚的值。
    2. 在微指令格式中增加一个判别测试位P(2)和一个标志影响位LDSC。LDSC位高电平有效,只有此位为1的微指令才会影响状态条件寄存器的值,此位为0的微指令运算结果不存入状态条件寄存器。
    3. 修改微地址形成电路,在电路中使用P(2)来进行判别测试,并根据状态条件寄存器的值形成正确的跳转地址。

    微程序控制器设计是此实验的难点,其他电路模块几乎不需要修改,在设计时请开动脑筋、查阅相关资料。

  5. 实验内容与步骤

    1. 模型机数据通路总体设计。根据指令集的功能要求设计模型机的数据通路,请将图1补充完整,标出各控制信号的名称。

数据通路总框图
2. 微程序控制器设计,请在下面画出微程序控制器详细电路图,并标出各种信号。
3. 微指令格式设计,请将微指令格式填入表11-2
微指令格式

  1. 微程序流程设计,请完成图11.2的微指令流程图
    微指令流程图

  2. 微程序代码设计,请将微程序代码填入表11-3
    微程序二进制代码表

  3. 指令设计,请将指令格式、操作码等填入表11-4
    机器指令表

  4. 程序设计,编写程序,求S=1+2+3+┈+N,0<N<20,N从数据开关输入,S存入存储器,填入表11-5
    内存中的程序与数据1
    内存中的程序与数据2

  5. 按照以上设计修改电路,修改RAM内容,修改微程序存储器内容,在模型机上运行程序,观察运行过程和结果,如果有错误,找到并改正错误,一直到正确为止。注意电路的初始化过程和输入地址、数据的时机。

实验

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

在这里插入图片描述
表11-2 微指令格式
表11-2 微指令格式

图11.2微指令流程图

图11.2微指令流程图
表11-3 微程序二进制代码表
表11-3 微程序二进制代码表
表11-4 机器指令表

序号 指令符号 指令二进制代码 长度
1 IN 00000000 8bit
2 ADD 00010000 16bit
3 STA 00100000 16bit
4 JMP 00110000 16bit
5 SUB 01000000 16bit
6 CMP 01010000 16bit
7 INC 01100000 8bit
8 CLA 01110000 8bit
9 LDA 10000000 16bit
10 BEQ 10010000 16bit

表11-5 内存中的程序与数据

内存地址 内容 含义
00 00000000 IN N
01 00100000 STA N
02 00011011
03 01110000 CLA
04 00100000 STA S
05 00011100
06 00100000 STA count
07 00011101
10 01100000 INC
11 00100000 STA count
12 00011101
13 00010000 ADD S
14 00011100
15 00100000 STA S
16 00011100
17 10000000 LDA count
20 00011101
21 01010000 CMP N
22 00011011
23 10010000 BEQ ->
24 00010111
25 00110000 JMP -> 10
26 00001000
27 10000000 LDA S
30 00011100
31 00110000 JMP ->
32 00011001
33 存放N
34 存放S
35 存放count
36
37

实验总结:

实验结合了实验五的简单模型机,在理解了实验五的基础上进行实验。首先根据指令集写出微程序流程图,设计过程中发现CLA和CMP使用到了ALU的功能,查询功能表后使用了logical0功能和A=B接口,BEQ功能要实现跳转需要添加一个判别位P(2),CMP需要添加一个标志影响位LDSC;然后设计微指令格式,将uA0-4、S0-3放在一起;接着设计微程序代码,其中将BEQ跳转后设为相等跳转11111,不相等跳转01111,由P(2)和CMP的结果决定uA4;最后设计实验电路,在实验五的基础上,将EPROM2716C3替换为EPROM2716C4,并连接上各个控制信号,将原来的74LS175替换为74LS174,用于暂存新增的地址线uA4,并添加相应的或门与门,增加一片74LS175和两片与门,用于CMP中ALU的A=B输出的保存。

程序设计先写出伪代码,再转换成微程序,最后写出内存中的内容。

本次实验难点在于设计微程序代码,要将每一步的微程序理清和知道每个控制信号控制什么,还需要理解判别位的功能、选址的原理才能完成。

实验电路:https://download.csdn.net/download/weixin_43924621/18199717

今天的文章计算机组成原理模型机设计实验总结_计算机组成原理mov指令「建议收藏」分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/89228.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注