计算机系实验报告 - CPU 与简单模型机设计实验

实验名称_CPU与简单模型机设计实验 

课程名称_计算机组成与结构        

院 系 部:  控计                 专业班级:信安1102

学生姓名:李响                  学    号: 1111290210

        同 组 人:  万旭惠               实验台号: 16

        指导教师: 琚赟                成    绩:

    实验日期: 2013.12.10

                      华北电力大学

实验报告内容要求:

一、        实验目的:

(1) 掌握一个简单CPU 的组成原理。

(2) 在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。

(3) 为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。

二、        实验内容:

三、        实验设备:

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

四、        实验线路:

五、        程序设计(流程图及程序代码)

; //*************************************** //

; // //

; // CPU 与简单模型机实验指令文件 //

; // //

; // By TangDu CO.,LTD //

; // //

; //*************************************** //

; //****** Start Of Main Memory Data ****** //

$P 00 20 ; START: IN R0 从IN 单元读入数据送R0

$P 01 00 ; ADD R0,R0 R0 和自身相加,结果送R0

$P 02 30 ; OUT R0 R0 的值送OUT 单元显示

$P 03 E0 ; JMP START 跳转至00H 地址

$P 04 00 ;

$P 05 50 ; HLT 停机

; //******* End Of Main Memory Data ******* //

; //**** Start Of MicroController Data **** //

$M 00 000001 ; NOP

$M 01 006D43 ; PC->AR,PC 加1

$M 03 107070 ; MEM->IR, P<1>

$M 04 002405 ; R0->B

$M 05 04B201 ; A 加B->R0

$M 1D 105141 ; MEM->PC

$M 30 001404 ; R0->A

$M 32 183001 ; IN->R0

$M 33 280401 ; R0->OUT

$M 35 000035 ; NOP

$M 3C 006D5D ; PC->AR,PC 加1

; //** End Of MicroController Data **//

六、        实验步骤及实验结果

      实验步骤:

1. 按图连接实验线路。

2. 写入实验程序,并进行校验,分两种方式,手动写入和联机写入。

1) 手动写入和校验

(1) 手动写入微程序

① 将时序与操作台单元的开关KK1 置为‘停止’档,KK3 置为‘编程’档,KK4 置为‘控

存’档,KK5 置为‘置数’档。

② 使用CON 单元的SD05——SD00 给出微地址,IN 单元给出低8 位应写入的数据,连续两次按动时序与操作台的开关ST,将IN 单元的数据写到该单元的低8 位。

③ 将时序与操作台单元的开关KK5 置为‘加1’档。

④ IN 单元给出中8 位应写入的数据,连续两次按动时序与操作台的开关ST,将IN 单元的数据写到该单元的中8 位。IN 单元给出高8 位应写入的数据,连续两次按动时序与操作台的开关ST,将IN 单元的数据写到该单元的高8 位。

⑤ 重复①、②、③、④四步,将表5-1-2 的微代码写入2816 芯片中。

(2) 手动校验微程序

① 将时序与操作台单元的开关KK1 置为‘停止’档,KK3 置为‘校验’档,KK4 置为‘控存’档,KK5 置为‘置数’档。

② 使用CON 单元的SD05——SD00 给出微地址,连续两次按动时序与操作台的开关ST,MC 单元的指数据指示灯 M7——M0 显示该单元的低8 位。

③ 将时序与操作台单元的开关KK5 置为‘加1’档。

④ 连续两次按动时序与操作台的开关ST,MC 单元的指数据指示灯 M15——M8 显示该单元的中8 位,MC 单元的指数据指示灯 M23——M16 显示该单元的高8 位。

⑤ 重复①、②、③、④四步,完成对微代码的校验。如果校验出微代码写入错误,重新写入、校验,直至确认微指令的输入无误为止。

(3) 手动写入机器程序

① 将时序与操作台单元的开关KK1 置为‘停止’档,KK3 置为‘编程’档,KK4 置为‘主存’档,KK5 置为‘置数’档。

② 使用CON 单元的SD07——SD00 给出地址,IN 单元给出该单元应写入的数据,连续两次按动时序与操作台的开关ST,将IN 单元的数据写到该存储器单元。

③ 将时序与操作台单元的开关KK5 置为‘加1’档。

④ IN 单元给出下一地址(地址自动加1)应写入的数据,连续两次按动时序与操作台的开关ST,将IN 单元的数据写到该单元中。然后地址会又自加1,只需在IN 单元输入后续地址的数据,连续两次按动时序与操作台的开关ST,即可完成对该单元的写入。

⑤ 亦可重复①、②两步,将所有机器指令写入主存芯片中。

(4) 手动校验机器程序

①将时序与操作台单元的开关KK1 置为‘停止’档,KK3 置为‘校验’档,KK4 置为‘主存’档,KK5 置为‘置数’档。

② 使用CON 单元的SD07——SD00 给出地址,连续两次按动时序与操作台的开关ST,CPU内总线的指数据指示灯 D7——D0 显示该单元的数据。

③ 将时序与操作台单元的开关KK5 置为‘加1’档。

④ 连续两次按动时序与操作台的开关ST,地址自动加1,CPU 内总线的指数据指示灯 D7

——D0 显示该单元的数据。此后每两次按动时序与操作台的开关ST,地址自动加1,CPU 内

总线的指数据指示灯 D7——D0 显示该单元的数据,继续进行该操作,直至完成校验,如发现

错误,则返回写入,然后校验,直至确认输入的所有指令准确无误。

⑤ 亦可重复①、②两步,完成对指令码的校验。如果校验出指令码写入错误,重新写入、校验,直至确认指令码的输入无误为止。

2) 联机写入和校验

联机软件提供了微程序和机器程序下载功能,以代替手动读写微程序和机器程序,但是微

程序和机器程序得以指定的格式写入到以TXT 为后缀的文件中。

3. 运行程序

方法一:本机运行

将时序与操作台单元的开关KK1、KK3 置为‘运行’档,按动CON 单元的总清按钮CLR,将使程序计数器PC、地址寄存器AR 和微程序地址为00H,程序可以从头开始运行,暂存器A、B,指令寄存器IR 和OUT 单元也会被清零。将时序与操作台单元的开关KK2 置为‘单步’档,每按动一次ST 按钮,即可单步运行一条微指令,对照微程序流程图,观察微地址显示灯是否和流程一致。每运行完一条微指令,观测一次CPU 内总线和地址总线,对照数据通路图,分析总线上的数据是否正确。当模型机执行完JMP 指令后,检查OUT 单元显示的数是否为IN 单元值的2 倍,按下CON单元的总清按钮CLR,改变IN 单元的值,再次执行机器程序,从OUT 单元显示的数判别程序执行是否正确。

方法二:联机运行

将时序与操作台单元的开关KK1 和KK3 置为‘运行’档,进入软件界面,选择菜单命令“【实验】—【简单模型机】”,打开简单模型机数据通路图。按动CON 单元的总清按钮CLR,然后通过软件运行程序,选择相应的功能命令,即可联机运行、监控、调试程序,当模型机执行完JMP 指令后,检查OUT 单元显示的数是否为IN 单元值的2 倍。在数据通路图和微程序流中观测指令的执行过程,并观测软件中地址总线、数据总线以及微指令显示和下位机是否一致。

实验结果:

七、        结果分析和讨论:

     CPU由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序计

数器(PC)和地址寄存器(AR)组成,如图5-1-1所示。这个CPU在写入相应的微指令后,就

具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU必须和主存挂接后,才

有实际的意义,所以还需要在该CPU的基础上增加一个主存和基本的输入输出部件,以构成一

个简单的模型计算机。

                   

八、        实验心得

    出现的问题:结果不正确

    原因:实验线路没有正确连接

    解决方法:仔细检查电路连接,发现连接错误,改正电路连接后发现得出正确结果。

 

第二篇:实验七 CPU与简单模型机设计实验

山西大学计算机与信息技术学院

实验报

相关推荐