五邑大学计组实验五 CPU与简单模型机设计实验
- 格式:docx
- 大小:806.62 KB
- 文档页数:7
一.实验设计方案实验序号实验名称基本模型机实验实验时间2014年11月19日实验室睿智4—3031.实验目的1、在“微程序控制器的组成与微程序设计实验”的基础上,将第一部分中的各单元组成系统,构造一台基本模型计算机;2、本实验定义五条机器指令,编写相应的微程序,并上机调试运行,形成整机概念。
3、在原有程序的基础上修改一条指令和增加两条指令。
2.实验原理、实验流程或装置示意图1、实验内容:根据模型机的指令系统,编写相应的微程序,并上机调试运行,观察并记录结果。
2、实验原理:在第一部分的单元实验中,所有的控制信号是人为用SWITCH单元产生的,但是在实际的CPU中,所有的控制信号都是由CPU自动产生的。
所以在本次实验中我们用微程序来控制,自动产生各部件单元控制信号,实现特定指令的功能。
这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一段微程序。
本实验设计了五条机器指令,其指令格式如下:助记符机器指令码说明IN 00000000 ;输入,“INPUT”设备中的开关状态→R0 ADD addr 00010000 XXXXXXXX ;二进制加法,R0+[addr]→R0STA addr 00100000 XXXXXXXX ;存数,R0→[addr]OUT addr 00110000 XXXXXXXX ;输出,[addr]→BUSJMP addr 01000000 XXXXXXXX ;无条件转移,addr→PC机器指令码的前4位为操作码。
其中IN为单字长,其余为双字长指令,XXXXXXXX为addr 对应的二进制地址码。
为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。
存储器读操作(READ):拨动总清开关CLR后,控制台开关SWB、SWA为“00”时,按START微动开关,可对RAM连续手动读操作。
CPU与简单模型机设计实验1.实验目的和背景CPU是计算机的核心部件,负责执行各种运算和指令。
在现代计算机系统中,CPU的设计日益复杂和精密,其中包含了大量的逻辑单元、寄存器、控制器等组件。
本实验旨在通过设计一个简单的模型机,使学生们对CPU的基本原理和运作方式有一个直观的理解,并通过实际操作加深对计算机系统的理解。
2.实验内容和步骤本实验将分为以下几个步骤来完成:1)硬件设计:首先,根据CPU的基本原理和结构,设计一个简单的模型机,包括运算单元、寄存器、控制器等组件。
可以参考经典的冯·诺伊曼结构,根据实际需要添加一些功能模块。
2)指令设计:设计若干简单的指令集,包括算术运算、逻辑运算、跳转等指令。
指令集的设计应考虑到CPU的硬件结构,使其能够有效地执行这些指令。
3)程序编写:编写一些简单的程序,包括对指令集的测试、算术运算、逻辑运算等,以验证CPU的正确性和性能。
4)实验报告:总结实验中的设计过程、实现方法、遇到的问题以及解决方案,对设计的CPU进行性能评估和改进。
3.实验材料和工具1)计算机:用于进行程序编写和模拟实验,可以选择使用现有的模拟器或者在线平台。
2)模型机器材料:包括集成电路芯片、面包板、导线、电阻、电容等,用于搭建实验平台。
3)编程工具:用于程序编写和调试,可以选择使用C语言、Python 等高级语言。
4.实验预期结果和意义通过本次实验,学生们将能够深入了解CPU的基本原理和工作原理,掌握计算机系统的设计和实现方法。
同时,通过实际操作,学生们可以锻炼自己的设计能力、解决问题的能力和团队合作能力。
这对于深入理解计算机科学的理论知识、提高实践能力和培养创新思维具有重要意义。
5.实验总结通过本次实验,我对CPU的工作原理和计算机系统的设计有了更深入的理解,掌握了一定的设计和实现方法。
在实验过程中遇到了一些问题,如指令集设计不够合理、硬件连接错误等,通过团队合作和思考,最终得以解决。
CPU与简单模型机设计实验中的关键问题分析摘要:模型机设计实验是计算机组成原理实验中的一个综合性较强的实验,要求学生在掌握各部件单元电路的基础上,构建一台模型计算机。
文章选用TD-CMA实验教学系统,针对采用微程序控制器设计的CPU与简单模型机设计实验,从连线排查、指令设计、微程序设计、指令控制、程序运行等方面分析该实验中的关键问题,并给出每个问题的解决方法。
关键词:计算机组成原理;微程序控制器;简单模型机;TD-CMA0 引言CPU与简单模型机设计实验是计算机组成原理实验中的一个综合性较强的实验,对学生的理论要求、能力要求较高。
在美国的一些主流大学中,计算机组成原理实验强调从顶层(应用和软件)到底层(硬件)的掌握与了解,实验方式一般采用高级语言实现对硬件的模拟;有些大学则要求学生采用VHDL、Verilog 等硬件描述语言进行功能部件和小型系统的设计与实现,并在FPGA等硬件上进行测试验证。
从文献[4]可以看出,国内大学计算机组成原理课程的实验已经由验证性实验逐渐过渡到处理器设计及计算机系统搭建的层次上。
与模型机设计相关的实验仍然是重点实验内容,只是实现方式和难度不同。
例如,有些学校开设的实验会引入MIPS、流水、Cache等功能设计。
根据控制器部件的工作原理,模型机控制器可分为硬布线控制器和微程序控制器两种,还可根据设计的模型机所含指令系统分为简单模型机和具有特定功能的模型机,因此模型机的设计也有不同的类型。
笔者选取微程序控制器的基本模型机设计进行分析。
TD-CMA教学实验系统是西安唐都科教仪器公司推出的新一代计算机组成原理与系统结构教学实验设备。
该系统硬件的电路布局按照计算机组成结构进行模块化设计,配有CMA’监控软件,可以实现从部件到整机实验的数据通路图实时动态图形调试界面演示,且都具有单拍、单周期、连续等调试功能,通路图的调试过程也具有保存和回放功能。
笔者采用TD-CMA实验教学系统,针对以微程序控制器为基础的简单模型机设计实验,从连线排查、指令设计、微程序设计、指令控制、程序运行等多个方面分析微程序控制器模型机实验中的关键问题,给出了每个问题的解决方法。
评语: 课中检查完成的题号及题数:课后完成的题号与题数:成绩: 自评成绩: 85实验报告实验名称:CPU 与简单模型机设计实验日期:2015.11.17 班级: 2 学号:13 姓名:周小多一、实验目的:1. 掌握一个简单CPU 的组成原理。
2. 在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。
3. 为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。
二、实验内容:1.要实现一个简单的CPU,并且在此CPU 的基础上,继续构建一个简单的模型计算机。
CPU 由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成,如图2-1-1 所示。
这个CPU 在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU 必须和主存挂接后,才有实际的意义,所以还需要在该CPU 的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。
2.本模型机和前面微程序控制器实验相比,新增加一条跳转指令JMP,共有五条指令:IN(输入)、ADD(二进制加法)、OUT(输出)、JMP(无条件转移),HLT(停机),其指令格式如下(高4位为操作码):助记符机器指令码说明IN 0010 0000 IN→R0ADD 0000 0000 R0 + R0→R0OUT 0011 0000 R0→OUTJMP addr 1100 0000 addr→ PCHLT 0101 0000 停机3. 设计一段机器程序,要求从IN 单元读入一个数据,存于R0,将R0 和自身相加,结果存于R0,再将R0 的值送OUT 单元显示。
根据要求可以得到如下程序,地址和内容均为二进制数。
地址内容助记符说明00000000 00100000 ; START: IN R0 从IN 单元读入数据送R000000001 00000000 ; ADD R0,R0R0 和自身相加,结果送R000000010 00110000 ; OUT R0R0 的值送OUT 单元显示00000011 11100000 ; JMP START跳转至00H 地址00000100 0000000000000101 01010000 ; HLT停机三、项目要求及分析:1. 试修改现有的指令系统,将加法指令的功能修改为R0的内容和某个存储单元的内容相加;增加存数、取数和减法三条机器指令,指令助记符分别为STA、LAD 和SUB,指令操作码分别为十六进制的60、70和80。
cpu设计实验报告CPU设计实验报告1. 引言计算机是现代社会不可或缺的工具,而中央处理器(CPU)则是计算机的核心组件之一。
本实验旨在设计和实现一个简单的CPU,以加深对计算机组成原理的理解,并通过实践掌握CPU的基本工作原理。
2. CPU设计概述我们的CPU设计基于冯·诺依曼结构,包括指令寄存器(IR)、程序计数器(PC)、算术逻辑单元(ALU)和寄存器文件等关键组件。
CPU的指令集采用RISC(精简指令集计算机)风格,指令长度为32位。
3. 指令集设计我们设计了一套简单的指令集,包括算术运算指令(加法、减法、乘法、除法)、逻辑运算指令(与、或、非)以及数据传输指令(加载、存储)。
指令的格式包括操作码、源操作数和目标操作数。
4. 寄存器文件设计寄存器文件是CPU中用于存储数据的重要组件。
我们设计了一个包含8个通用寄存器的寄存器文件,每个寄存器的宽度为32位。
通过寄存器文件,CPU能够高效地进行数据的读取和存储。
5. 控制单元设计控制单元是CPU中的重要模块,负责解析指令并控制各个组件的操作。
我们设计了一个简单的控制单元,使用有限状态机(FSM)来实现指令的解析和控制信号的生成。
控制单元根据指令的操作码,决定对应的操作,并将操作所需的控制信号发送给其他组件。
6. 数据通路设计数据通路是CPU中各个组件之间的数据传输路径。
我们设计了一个简单的数据通路,包括指令寄存器、程序计数器、寄存器文件、算术逻辑单元等。
数据通路能够将指令中的操作数从寄存器文件中读取出来,并将运算结果写回到寄存器文件。
7. CPU实现与验证我们使用硬件描述语言(HDL)对CPU进行实现,并通过仿真和测试验证其正确性。
通过编写测试程序,我们能够对CPU的各个指令进行测试,并检查其运行结果是否符合预期。
8. 结果与分析经过测试,我们的CPU能够正确执行设计的指令集,并产生正确的运算结果。
通过性能测试,我们还评估了CPU的运行速度和效率,并与其他现有的CPU进行了比较。
《计算机组诚愿理》实验报告实验序号:04 实验项目名称: CPU 与简单模型机设计实验(2)载入指令文件,进行验证:(3)运行指令(程序):将时序与操作台单元的开关KK1 和KK3 置到‘运行’档,实验类型选择简单模型机,CON单元中按CLR清零,检测结果是否与预测的一致。
四、实验结果与数据处理(过程分析):(1)启动IN单元,向其中输入操作数(这里值为03);(2)启动程序计数器(PC),然后自动进行加1操作,将指令地址存放到地址寄存器(AR);(3)从存储器当中读取指令,并将它存放到指令寄存器(IR)当中,然后对指令进行编译处理,形成控制信号,来控制各个部件的工作;(4)启动读操作,将IN单元当中操作数(03)读入到R0寄存器;(5)接着从PC中取出第二条指令的地址,并自动加1,并将它存放到AR当中;(6)从存储器当中取出第二条指令,并将它存放到IR当中,并进行编译;(7)将存储器R0中的03值送到A和B当中;(8)启动ALU运算器,执行加操作,并将运算结果送往R0当中;(8)同样从PC当中第三条指令(将运算结果送往OUT单元显示),取指令流程与上述类似;执行操作,将运算结果送往OUT单元进行显示;五、分析与讨论(心得)答:这是一个简单的CPU是由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成;这个实验是了解了一些指令::IN(输入)、ADD(二进制加法)、OUT(输出)、JMP (无条件转移),HLT(停机);再者,就是观察运行载入的指令文件的过程,通过数据通路图整个过程的变化即数据的流向及处理情况,尝试着去理解CPU在MC的控制下CPU的其他部件(ALU RO IR PC AR)的调用和处理的细节;通过这。
《计算机组成原理》实验报告学院:计算机学院专业:计算机科学与技术班级学号:150801 3115000820学生姓名:黄家燊实验日期:2016.12.25指导老师:李鹤喜五邑大学计算机学院计算机组成原理实验室实验一一、实验名称:微程序控制器实验二、实验目的(1)掌握微程序控制器的功能、组成知识。
(2)掌握为程序的编制、写入、观察微程序的运行二、实验设备:PC机一台,TD-CM3+实验系统一套三、实验原理:微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件的为命令序列,完成数据传送和个汇总处理操作,他的执行方法是将控制各部件的微命令的集合进行编码,即将微命令的集合仿照及其指令一眼,用数字代码的形式表示,这种表示陈伟微指令。
这样就可以用一个微指令序列表示一条机器指令,这种为指令序列称作为程序。
微程序存储在一种专用的存储器中,成为控制储存器四、实验步骤1.对为控制器进行读写操作:(1)手动读写:①按图连线:②将MC单元编程开关置为“编程”档,时序单元状态开关置为“单步”档,ADDR 单元状态开关置为“置数”档③使用ADDR单元的低六位SA5…SA0给出微地址MA5…MA0,微地址可以通过MC 单元的MA5…MA0微地址灯显示④CON单元SD27…SD20,SD17…SD10,SD07…SD00开关上置24位微代码,待写入值由MC单元的M23…M024位LED灯显示⑤启动时序电路(按动一次TS按钮),即将微代码写入到E2PROM2816的相应地址对应单元中⑥重复③④⑤三步,将下图微代码写入2816芯片中二进制代码表(2)联机读写:①将微程序写入文件,联机软件提供了微程序下载功能,以代替手动读写微控制器,但微程序得以指定的格式写入本次试验的微程序如下:://************************************************************// :// // :// 微控器实验指令文件 // :// // ://************************************************************// ://***************Start Of MicroController Data****************//$M 00 000001;NOP$M 01 007070;CON(INS)->IR,P<1>$M 04 002405;R0->A$M 05 04B201;R0->B$M 30 001404;A加B->RO$M 32 183001;IN->R0$M 33 280401;R0->OUT$M 35 000035;NOP;//***************End Of MicroController Data*******************// ②写入微程序用联机软件的“【转存】-【装载数据】”功能将改格式文件装载入试验系统。
计算机组成原理课程设计2012~2013年度第2学期设计题目:模型机的设计与实现院系:计算机学院学号:姓名:指导教师:成绩评定:完成日期:2013年3月15日1.课程设计的目的通过课程设计更清楚地理解下列基本概念:1.1.计算机的硬件基本组成;1.2.计算机中机器指令的设计;1.3.计算机中机器指令的执行过程;1.4.微程序控制器的工作原理;1.5.微指令的格式设计原理;在此基础上设计可以运行一些基本机器指令的微程序的设计。
2.课程设计的内容根据所提供的模型机的硬件,设计6条或6条以上机器指令,编写相应的机器指令的格式并改写原来指令的微程序,使其可以运行所有的机器指令。
新增加的机器指令的功能是:加指令:ADD R1, R0: (R1)OR(R0)→(R0)非指令:NOT R0: (R0)NOT→(R0)其中RS,RD可以是R0 、R1、R2、R3中的任何一个。
并使用实验室提供的组成原理实验箱上设计一段可以执行这N条机器指令的微程序,并设计一段用所设计的机器指令编写的具有一定实用功能的机器指令程序,在实验箱上运行以检验所设计的微程序的正确性。
3.设计的方法及过程微程序流程图:NOPPC->ARPC加1MEM->IRP<1>R0->A R1->B A加B->R0R0取反->RO 010330ADD300405 010128 IN->R001R0->OUT01NOP01PC->ARPC加1MEM->PC01IN32OUT33HLT35JMP3C1DNOT系统设计的微指令表:地址十六进制表示高五位S3-S0 A字段B字段C字段UA5-UA000 00 00 01 00000 0000 000 000 000 00000101 00 6D 43 00000 0000 110 110 101 00001103 10 70 70 00010 0000 111 000 001 11000004 00 24 05 00000 0000 010 010 000 00010105 04 B2 01 00000 1001 011 001 000 000001 1D 10 51 41 00010 0000 101 000 101 000001 30 00 16 04 00000 0000 001 011 000 00010032 18 30 01 00011 0000 011 000 000 00000133 28 04 01 00101 0000 000 010 000 000001 35 00 00 35 00000 0000 000 000 000 110101 3C 00 6D 5D 00000 0000 110 110 101 011101 3B 00 16 28 00000 0000 001 011 000 101000 28 02 32 01 00000 0100 011 001 000 000000机器指令代码:地址内容助记符说明00000000 00100000 START:IN R0 从IN单元读入数据送R0 00000001 00100001 START:IN R1 从IN单元读入数据送R1 00000010 00000100 ADD R1,R0 R0与R1相加,结果送R0 00000011 00110000 OUT R0 R0的值送OUT单元显示00000100 10110000 NOT R0 对R0取反,结果送R0 00000101 00110000 OUT RO R0的值送OUT单元显示00000110 11000000 JMP START 跳转至00H地址00000111 0000000000001000 01010000 HLT 停机实际运行结果:输入值OUT单元首先显示数值(十六进制)(即两数相加之和)OUT单元最后显示数值(十六进制)(即相加之和取反)R0 0000000103 FCR1 00000010R0 0100000184 7BR1 010000114.心得体会在此次课程设计过程中锻炼到的就是独立分析问题的能力,在上学期所学的知识下,进行进一步综合及加深理解,当时所学的计算机组成基本原理的理论知识应用与实践中,通过实际的操作对计算机各部件的组成和工作原理的理解,了解了微程序计算机中指令和微指令的编码方法和指令在计算机中的运行,进一步激发了对计算机的兴趣。
《计算机组成原理》实验报告学院:计算机学院专业:班级学号:学生姓名:实验日期:指导老师:五邑大学计算机学院计算机组成原理实验室实验五CPU与简单模型机实验报告一、实验目的(1) 掌握一个简单CPU 的组成原理。
(2) 在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。
(3) 为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。
二、实验设备PC机一台,TD-CMA 实验系统一套。
三、实验原理本实验要实现一个简单的 CPU,并且在此CPU 的基础上,继续构建一个简单的模型计算机。
CPU 由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成,如图5-1-1 所示。
这个CPU 在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU 必须和主存挂接后,才有实际的意义,所以还需要在该CPU 的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。
除了程序计数器(PC),其余部件在前面的实验中都已用到,在此不再讨论。
系统的程序计数器(PC)和地址寄存器(AR)集成在一片CPLD 芯片中。
CLR 连接至CON 单元的总清端CLR,按下CLR 按钮,将使PC 清零,LDPC 和T3 相与后作为计数器的计数时钟,当LOAD为低时,计数时钟到来后将CPU 内总线上的数据打入PC。
本模型机和前面微程序控制器实验相比,新增加一条跳转指令JMP,共有五条指令:IN (输入)、ADD(二进制加法)、OUT(输出)、JMP(无条件转移),HLT(停机),其指令格式如下(高4位为操作码):助记符机器指令码说明IN 0010 0000 IN R0ADD 0000 0000 R0 + R0 R0OUT 0011 0000 R0 OUTJMP addr 1110 0000 ******** addr PCHLT 0101 0000 停机其中JMP 为双字节指令,其余均为单字节指令,********为addr 对应的二进制地址码。
《计算机组成原理》
实验报告
学院:计算机学院
专业:
班级学号:
学生姓名:
实验日期:
指导老师:
五邑大学计算机学院计算机组成原理实验室
实验五
CPU与简单模型机实验报告
一、实验目的
(1) 掌握一个简单CPU 的组成原理。
(2) 在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。
(3) 为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。
二、实验设备
PC机一台,TD-CMA 实验系统一套。
三、实验原理
本实验要实现一个简单的 CPU,并且在此CPU 的基础上,继续构建一个简单的模型计算机。
CPU 由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成,如图5-1-1 所示。
这个CPU 在写入相应的微指
令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU 必须和主存挂接后,才有实际的意义,所以还需要在该CPU 的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。
除了程序计数器(PC),其余部件在前面的实验中都已用到,在此不再讨论。
系统的程序计数器(PC)和地址寄存器(AR)集成在一片CPLD 芯片中。
CLR 连接至CON 单元的总清端CLR,按下CLR 按钮,将使PC 清零,LDPC 和T3 相与后作为计数器的计数时钟,当LOAD
为低时,计数时钟到来后将CPU 内总线上的数据打入PC。
本模型机和前面微程序控制器实验相比,新增加一条跳转指令JMP,共有五条指令:IN (输入)、ADD(二进制加法)、OUT(输出)、JMP(无条件转移),HLT(停机),其指令格式如下(高4位为操作码):
助记符机器指令码说明
IN 0010 0000 IN R0
ADD 0000 0000 R0 + R0 R0
OUT 0011 0000 R0 OUT
JMP addr 1110 0000 ******** addr PC
HLT 0101 0000 停机
其中JMP 为双字节指令,其余均为单字节指令,********为addr 对应的二进制地址码。
微程序控制器实验的指令是通过手动给出的,现在要求CPU 自动从存储器读取指令并执行。
根据以上要求,设计数据通路图,如图5-1-3 所示。
本实验在前一个实验的基础上增加了三个部件,一是PC(程序计数器),另一个是AR(地址寄存器),还有就是MEM(主存)。
因而在微指令中应增加相应的控制位,其微指令格式如表
5-1-1 所示。
系统涉及到的微程序流程见图5-1-4 所示,当拟定“取指”微指令时,该微指令的判别测试字段为P<1>测试。
指令译码原理见图3-2-3 所示,由于“取指”微指令是所有微程序都使用的公用微指令,因此P<1> 的测试结果出现多路分支。
本机用指令寄存器的高6 位(IR7—IR2)作为测试条件,出现5路分支,占用5个固定微地址单元,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写,微程序流程图上的单元地址为16 进制。
当全部微程序设计完毕后,应将每条微指令代码化,表5-1-2 即为将图5-1-4 的微程序流程图按微指令格式转化而成的“二进制微代码表”。
设计一段机器程序,要求从IN 单元读入一个数据,存于R0,将R0 和自身相加,结果存于R0,再将R0 的值送OUT 单元显示。
四、实验步骤
1. 按图5-1-5 连接实验线路。
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 芯片中。
图5-1-5 实验接线图
(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) 联机写入和校验
3. 运行程序
方法一:本机运行
将时序与操作台单元的开关KK1、KK3 置为‘运行’档,按动CON 单元的总清按钮CLR,将使程序计数器PC、地址寄存器AR 和微程序地址为00H,程序可以从头开始运行,暂存器A、B,指令寄存器IR 和OUT 单元也会被清零。
将时序与操作台单元的开关KK2 置为‘单步’档,每按动一次ST 按钮,即可单步运行一条微指令,对照微程序流程图,观察微地址显示灯是否和流程一致。
每运行完一条微指令,观测一次CPU 内总线和地址总线,对照数据通路图,分析总线上的数据是否正确。
当模型机执行完JMP 指令后,检查OUT 单元显示的数是否为IN 单元值的 2 倍,按下CON 单元的总清按钮CLR,改变IN 单元的值,再次执行机器程序,从OUT 单元显示的数判别程序执行是否正确。
五、实验结果
当模型机执行完JMP 指令后,按要求输入自己学号的后两位(20)到IN单元,这时OUT 单元显示的数为40,是IN 单元值的 2 倍,按下CON 单元的总清按钮CLR,改变IN 单元的值,再次执行机器程序,从OUT 单元显示的数判别程序执行正确,依然为IN单元数的2倍,实验成功。
六、分析讨论
与微程序控制器实验相比,新增加一条跳转指令JMP,即为无条件转移。
CPU 在写入微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU 必须和主存挂接后,才有实际的意义,所以该 CPU 增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。
六、实验心得
本实验有如何构建一个简单 CPU 的全部过程,并且在此 CPU 的基础上,继续构建一个简单的模型计算机。
CPU 由运算器、微程序控制器、通用寄存器,指令寄存器、程序计数器和地址寄存器组成。
在 CPU 的基础上增加一个主存和基本的输入输出部件,就构成一个简单的模型计算机。
在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。
对TD-CMA 实验系统有了更深一步的了解,能够结合PC机进行检错。
连接电路图时要仔细,注意不能连错。