2022年 软件工程专业 计算机组成原理 CPU与模拟机设计实验报告

本次实验旨在掌握简单CPU的组成原理和微程序的编制与运行。实验中,CPU由运算器、微程序控制器、寄存器等组成,并通过微指令实现机器指令的执行。实验步骤包括连接电路、导入微程序、校验和运行。通过单步和联机运行,观察微指令执行过程,验证了如加法和输出等操作的正确性。
摘要由CSDN通过智能技术生成

年级

班号

 

组号

 学号

 

专业

软件工程

日期

 

 姓名

 预判你的代码

实验名称

CPU与模拟机设计实验

实验室

308

实验

目的

要求

  1. 掌握一个简单CPU的组成原理
  2. 掌握微程序的编制、写入,观察微程序的运行过程

实验

环境

PC机,TD-CMA实验系统一套

实验内容或

实验题目

  本实验要实现一个简单的 CPU, 并且在此 CPU 的基础上,继续构建一个简单的模型计算机。 CPU由运算器(ALU)、微程序控制器(MC)、通用寄存器(RO),指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成。这个CPU 在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中, CPU必须和主存挂接后,才有实际的意义,所以还需要在该CPU 的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。

实验原理:

   微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件的为命令序列,完成数据传送和个汇总处理操作,他的执行方法是将控制各部件的微命令的集合进行编码,即将微命令的集合仿照及其指令一眼,用数字代码的形式表示,这种表示成微指令。这样就可以用一个微指令序列表示一条机器指令,这种为指令序列称作为程序。微程序存储在一种专用的存储器中,成为控制储存器。

本实验微程序流程图

方框是微指令 微地址用十六进制表示

伪指令格式

微指令字长24位

微指令转为二进制代码

写出微程序 保存到txt文件

实验具体操作:

  1. 按照电路图连接电路

  1. KK1 运行档,kk2单步档,kk3运行档,打开电源。

  1. 打开上位机软件cma,连接串口,测试端口,选择微控器实验

  1. 将写有微程序的txt文件导入装载。
  2. 校验微程序

   选择联机软件的“【转储】一【刷新指令区】”可以读出下位机所有的机器指令和微指令,并在指令区显示。检查微控器相应地址单元的数据是否和编写的微程序中的十六进制数据相同,如果不同,则说明写入操作失败,应重新写入,可以通过联机软件单独修改某个单元的微指令,先用鼠标左键单击指令区的“微存’TAB 按钮,然后再单击需修改单元的数据,此时该单元变为编辑框,输入6位数据并回车,编辑框消失,并以红色显示写入的数据。

6.运行微程序:

   运行时也分两种情况:本机运行和联机运行。

1)本机运行

    ①将时序与操作台单元的开关KK1、KK3 置为‘运行’档,按动CON 单元的CLR按钮,将微地址寄存器(MAR)清零,同时也将指令寄存器(IR)、ALU 单元的暂存器A和暂存器B清零.

    ②将时序与操作台单元的开关KK2置为‘单拍’档,然后按动ST 按钮,体会系统在T1、T2、T3、T4节拍中各做的工作。T2节拍微控器将后续微地址(下条执行的微指令的地址)打入微地址寄存器,当前微指令打入微指令寄存器,并产生执行部件相应的控制信号:T3、T4节拍根据T2节拍产生的控制信号做出相应的执行动作,如果测试位有效,还要根据机器指令及当前微地址寄存器中的内容进行译码,使微程序转入相应的微地址入口,实现微程序的分支。

    ③按动CON 单元的CLR按钮,清微地址寄存器(MAR)等,并将时序与单元的开关KK2置为‘单步’档.

④置IN单元数据为00100011,按动ST 按钮, 当MC单元后续微地址显示为000001时,

在CON单元的SD27...SD20模拟给出IN 指令00100000并继续单步执行,

当MC单元后续微地址显示为000001时,说明当前指令已执行完;在CON 单元的SD27...SD20 给出ADD指令00000000,

该指令将会在下个T3被打入指令寄存器(IR), 它将R0中的数据和其自身相加后送RO;接下来在CON 单元的SD27...SD20 给出OUT 指令00110000并继续单步执行,

在MC单元后续微地址显示为000001时,观查OUT 单元的显示值是否为01000110。

联机运行

    联机运行时,进入软件界面,在菜单上选择【实验】一【微控器实验】,打开本实验的数据通路图,也可以通过工具栏上的下拉框打开数据通路图。将时序与操作台单元的开关KK1、KK3置为‘运行’档,按动CON 单元的总清开关后,按动软件中单节拍按钮,当后续微地址(通路图中的MAR) 为000001时, 置CON 单元SD27...SD20, 产生相应的机器指令,该指令将会在下个T3被打入指令寄存器(IR), 在后面的节拍中将执行这条机器指令。仔细观察每条机器指令的执行过程,体会后续微地址被强置转换的过程,这是计算机识别和执行指令的根基。也可以打开微程序流程图,跟踪显示每条机器指令的执行过程。按本机运行的顺序给出数据和指令,观查最后的运算结果是否正确。

注:联机的微程序流程图见上

实验运行结果:

观察到相应的数据通路图

从In单元输入数据23H

将IN单元输入数据23H进行自加

Ro->a

Ro->b

A+b->ro

将自加单元结果从out单元输出

分析结果以及在试验中应注意的问题:

  1. 误操作时候提供了清零按钮、

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值