简单模型机实验报告
简单模型机组成原理实验报告
简单模型机组成原理实验报告简单模型机是一种学习机械原理和电子技术的教学工具,它可以帮助学生理解机械结构和电路原理,提高学生的实验能力和创新能力。
本文将介绍简单模型机的组成原理和实验过程。
一、简单模型机的组成原理简单模型机由机械结构和电路控制两部分组成。
机械结构包括电机、齿轮、链条、轮子、滑轮等零部件,这些零部件组成了模型机的动力系统。
电路控制包括电源、电机控制器、传感器、LED灯等电子元件,这些元件组成了模型机的控制系统。
模型机的动力系统和控制系统通过电线连接在一起,实现了模型机的运动和控制。
二、简单模型机的实验过程1. 组装机械结构。
根据模型机的说明书,将各个零部件按照要求组装在一起,包括电机、齿轮、链条、轮子、滑轮等零部件。
组装的过程需要注意每个零部件的位置和连接方式。
2. 连接电路控制。
将电源、电机控制器、传感器、LED灯等元件按照要求连接在一起,形成一个控制电路。
电路的连接需要注意电线的颜色和连接方式,确保电路的正常工作。
3. 调试机械结构。
将电源接上,打开电机控制器,测试机械结构的运动情况,包括电机转动、齿轮传动、轮子转动等。
如果出现异常情况需要及时停机检查。
4. 调试电路控制。
将传感器连接到电路控制中,测试传感器的工作情况,包括检测光线、声音、温度等。
如果传感器检测到异常情况,控制器会发出警报信号或控制电机停止运动。
5. 进行实验。
根据实验要求,调整机械结构和电路控制,进行不同的实验,包括测量速度、转动角度、距离等。
实验过程需要记录数据和结果,进行分析和总结。
三、结论通过简单模型机的组装和实验,可以帮助学生深入理解机械原理和电路控制原理,提高学生的实验能力和创新能力。
同时,模型机的组装和实验也可以培养学生的动手能力和团队精神,促进学生的综合素质的提高。
实验四 模型机设计与实现——实验报告
专业级班学号姓名实验报告实验四模型机的设计与实现一、实验目的1、构造一台基本模型计算机。
2、掌握在模型计算机上进行微程序编制、指令输入、运行调试的方法。
二、实验设备DVCC-C5JH计算机组成原理教学实验系统一台,排线若干。
三、实验原理:部件试验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元空间信号,实现特定指令的功能,这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
四、实验内容1、模型机指令设计:(这里填写各模型机指令的指令助记符、指令机器编码、指令说明)DEC R0 0101 0000 (R0)-1→R0AND addr,R0 0110 0000 (R0) 与[addr]→R02、实验过程:先详细了解实验的原理然后进行以下步骤:(以下步骤应根据自己实际情况补充完整)⑴设计模型机的数据通路图,根据实际机器指令要求,设计微程序流程图及确定微地址;(下面绘制:①数据通路图;②微程序流程图及相应的微指令地址。
)1、2、PC A RPC AR RAM B US RAM B US SW R PC A RRAM B USR0BUS BUS R01 1103 04 12 07 31 10RAM B US02 R0DR1 05 (DR1)+(D R2)R006 PC A RRAM B US RAM B US32 17 R0DR125 13 PC A RRAM B US 26 14 R0DR1 (DR1)-1R0 PC A R RAM B US RAM B USR0DR1 (DR1)+(D R2)R01516 33 34 3536 37微指令代码PC AR PC+1(SW)BUS BUS DR1DR1RAMPC AR PC+1RAM BUS BUS DR1DR1LED21243020 2227⑵根据⑴的设计,编制好微程序;(下面写设计的微程序,要标出各微指令在控存中的地址,可以用联机调试中的十六进制形式编写)$ M00108101$ M0182ED01$ M0248C000$ M0304E000$ M0405B000$ M0506A201$ M06019A95$ M0719E000$ M08011000$ M0983ED01$ M0A87ED01$ M0B9AED01$ M0C96ED01$ M0D1BA201$ M0E9CED01$ M0F15A000$ M1092ED01$ M1194ED01$ M1217A000$ M13018001$ M14182000$ M15010A07$ M1681D100$ M17100A07$ M18118A06$ M19018202$ M1A0FE000$ M1B018AF5$ M1C1DE000$ M1D1EA000$ M1E1FB201$ M1F018AB9⑶根据⑴中的数据通路,连接好实验线路,仔细检查无误后接通电源;⑷将编制好的微程序写入控存;⑸使用上面设计好的机器指令编写机器指令程序,存放在内存中;(下面列出编写的机器指令程序,可以用联机调试中的十六进制形式编写,要写明对应的内存地址和相应的内存内容,且要进行简要的指令说明)$ P0000 IN$ P0110 ADD[0CH] R0+[0CH] -> R0$ P020C 01$ P0320 STA[0BH] R0->[0BH]$ P040D$ P0530 OUT[0BH] [0BH]->BUS$ P060D$ P0740 JMP[00H] 00H->PC$ P0800$ P0950 DEC [R0]-1->R0$ P0A60 AND [R0][0DH]->R0$ P0B0D 05$ P0C01 内容为01$ P0D05 内容为05⑹执行⑸中的机器指令程序,并验证前面的设计是否正确,若不正确请修改前面的设计和微程序;四、实验结果机器指令执行的情况:①第一次执行情况(记录实验时发生的情况包括何处错误):②第二次执行情况:……(调试过程根据自己情况进行填写)五、实验总结。
简单模型机实验报告
简单模型机实验报告篇一:模型机实验报告HUNAN UNIVERSITY课程实习报告题目:模型机学生姓名学生学号 XX0801328专业班级计算机科学与技术(3)班指导老师方恺晴完成日期 XX.5.28思考题:1. 给定一个复合运算式子以及指令码IR[7..5]与八位BUS总线对应情况。
要求写出七条指令新的指令码并写出复合运算执行mif文件。
修改模型机电路调试程序以实现复合运算。
例:已知A=55H,B=8AH,C=F0H;IR[7..5]对应BUS8,BUS1,BUS3;写出(Aplus/B)^(/(/CplusB))的mif文件,并在模拟机上实现。
答:模拟机电路修改如下:存储器预设指令重设:计算结果:(A+/B)^(/(/C+B))=42H2. Microcomputer.vhd代码中进程ct1,ct2,ct3,ct4功能划分依据是什么?ct1:微序列控制器下址跳转。
ct2:实现各种指令,主要集中在实现从存储器或者寄存器释放数据到总线上。
ct3:完成各种指令,从总线上装载数据到相应的存储器或者寄存器中。
ct4:生成下址,判断下址生成方式,根据不太那个的方式生成下址。
3. Microcomputer.vhd代码中如何定义并初始化RAM?type ram is array(0 to 37)of std_logic_vector(7 downto 0); --38*8ramsignal ram8:ram:=(x”20”, x”1e”, x”80”, x”40”, x”20”, x”20”, x”1d”, x”c0”, x”20”, x”40”, x”21”, x”20”, x”1f”, x”80”, x”40”, x”22”, x”20”, x”1e”, x”c0”, x”22”, x”80”, x”e0”, x”21”, x”40”, x”23”, x”60”, x”23”, x”a0”, x”00”, x”55”, x”8a”, x”f0”,others=>x”00”) –initialize ram44. Microcomputer.vhd代码中bus_reg_t2 将ram8存储器中对应于ar中地址单元的数据取出来放到bus_reg_t2寄存器中。
CPU-与简单模型机设计实验
评语: 课中检查完成的题号及题数:课后完成的题号与题数:成绩: 自评成绩: 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。
简单模型机实验报告
简单模型机实验报告篇一:模型机实验报告HUNAN UNIVERSITY课程实习报告题目:模型机学生姓名学生学号 XX0801328专业班级计算机科学与技术(3)班指导老师方恺晴完成日期思考题:1. 给定一个复合运算式子以及指令码IR[7..5]与八位BUS总线对应情况。
要求写出七条指令新的指令码并写出复合运算执行mif文件。
修改模型机电路调试程序以实现复合运算。
例:已知A=55H,B=8AH,C=F0H;IR[7..5]对应BUS8,BUS1,BUS3;写出(Aplus/B)^(/(/CplusB))的mif文件,并在模拟机上实现。
答:模拟机电路修改如下:存储器预设指令重设:计算结果:(A+/B)^(/(/C+B))=42H2. Microcomputer.vhd代码中进程ct1,ct2,ct3,ct4功能划分依据是什么?ct1:微序列控制器下址跳转。
ct2:实现各种指令,主要集中在实现从存储器或者寄存器释放数据到总线上。
ct3:完成各种指令,从总线上装载数据到相应的存储器或者寄存器中。
ct4:生成下址,判断下址生成方式,根据不太那个的方式生成下址。
3. Microcomputer.vhd代码中如何定义并初始化RAM?type ram is array(0 to 37)of std_logic_vector(7 downto 0); --38*8ramsignal ram8:ram:=(x”20”, x”1e”, x”80”, x”40”, x”20”, x”20”, x”1d”, x”c0”, x”20”, x”40”, x”21”, x”20”, x”1f”, x”80”, x”40”, x”22”, x”20”, x”1e”, x”c0”, x”22”, x”80”, x”e0”, x”21”, x”40”, x”23”, x”60”, x”23”, x”a0”, x”00”, x”55”, x”8a”, x”f0”,others=>x”00”) –initialize ram44. Microcomputer.vhd代码中bus_reg_t2 将ram8存储器中对应于ar中地址单元的数据取出来放到bus_reg_t2寄存器中。
模型机实验报告范文
模型机实验报告范文实验报告:模型机引言模型机是一种能够模拟真实飞行原理的飞行模拟器设备。
它具有模拟真实飞行环境的能力,并用电子方式提供各种飞行动作的控制和监测。
本实验报告旨在介绍模型机的原理和应用,并通过实验来验证模型机的飞行能力和准确性。
一、模型机的原理1.动力系统:模型机的动力系统由电动机、电调器和螺旋桨组成。
电动机提供动力,电调器控制电机的转速,螺旋桨则产生推力。
通过调节电机的转速和螺旋桨的角度,可以控制模型机的飞行状态和动作。
2.飞行姿态控制系统:模型机的姿态控制系统由陀螺仪和加速度计组成。
陀螺仪可以感知模型机的倾斜和转动,加速度计可以感知模型机的加速度。
通过对陀螺仪和加速度计的信号进行处理,可以对飞行姿态进行控制。
3.遥控系统:模型机的遥控系统包括遥控器和接收机。
遥控器由飞行员通过手柄进行控制,接收机接收遥控信号并将其转化为模型机动作。
遥控器可以控制模型机的方向、高度和速度等参数。
二、实验方法本实验使用一架模型机进行飞行模拟实验。
实验过程包括以下步骤:1.检查模型机的动力系统,确保电动机和螺旋桨工作正常。
2.检查模型机的姿态控制系统,确保陀螺仪和加速度计的正常工作。
3.进行遥控系统的校准,确保遥控信号的准确传输。
4.在开阔的空地上进行飞行实验。
首先以低速起飞,然后在空中进行一系列动作,如直线飞行、转弯、盘旋等。
通过遥控器控制模型机的动作,并通过观察和记录模型机的运动轨迹来验证模型机的飞行能力和准确性。
三、实验结果通过实验观察和记录,我们发现模型机在飞行过程中表现出良好的飞行能力和准确性。
它能够根据遥控器的指令进行各种飞行动作,如上升、下降、前进、后退、左转、右转等。
模型机的姿态控制系统能够保持模型机的水平飞行,并根据遥控信号进行相应的调整。
同时,模型机的动力系统能够提供足够的动力,使模型机能够在空中稳定飞行。
四、实验讨论1.模型机的飞行性能受到多种因素的影响,如风速、湿度、温度等。
在实际飞行中,飞行员需要根据实际情况进行相应的调整和控制。
模型机设计实验报告
模型机设计实验报告模型机设计实验报告一、引言模型机是一种能够模拟真实飞行器运行原理和机械结构的小型飞行器。
通过设计和制作模型机,可以更好地理解飞行器的工作原理,提高对飞行器的认知和掌握。
本实验旨在通过设计和制作一个简单的模型机,展示其基本原理和运行过程。
二、设计思路在设计模型机之前,我们首先需要明确模型机的用途和目标。
本次实验的目标是设计一个能够实现垂直起降和水平飞行的模型机。
为了达到这个目标,我们选择了倾转旋翼飞行器作为设计的基础。
三、模型机结构设计1. 机身设计模型机的机身采用轻质材料制作,如碳纤维和铝合金,以确保机身的强度和轻量化。
机身的设计需要考虑到电池和电子设备的安装位置,以及传感器和控制系统的布局。
2. 旋翼设计倾转旋翼飞行器的旋翼是实现垂直起降和水平飞行的关键部件。
我们选择了四旋翼结构,每个旋翼由一个电动机驱动,并通过控制系统实现旋翼的倾斜,从而实现飞行器的方向控制。
3. 控制系统设计模型机的控制系统由飞行控制器、传感器和执行机构组成。
飞行控制器负责接收传感器数据并进行飞行控制算法的计算,然后通过执行机构控制旋翼的转速和倾斜角度。
四、实验过程1. 材料准备根据设计要求,准备所需的材料和工具,包括碳纤维板、铝合金材料、电动机、飞行控制器等。
2. 制作机身根据设计图纸,使用碳纤维板和铝合金材料制作机身的框架和外壳。
确保机身的强度和轻量化。
3. 安装电动机和旋翼将电动机安装在机身上,并连接旋翼。
确保旋翼能够自由旋转,并通过控制系统进行倾斜控制。
4. 安装控制系统将飞行控制器、传感器和执行机构安装在机身中,并进行连接。
确保控制系统能够正常工作,并能够接收传感器数据并进行飞行控制。
5. 调试和测试完成模型机的组装后,进行调试和测试。
通过遥控器进行模型机的起飞、降落和飞行控制,检查模型机的性能和稳定性。
五、实验结果与分析经过实验测试,我们成功地设计和制作了一个能够实现垂直起降和水平飞行的模型机。
模型机实验报告
模型机实验报告模型机实验报告一、引言模型机是一种用来模拟真实飞行器的小型飞行模型。
通过对模型机的设计、搭建和调试,可以深入了解飞行器的结构和原理,提高对飞行器的认识和理解。
本文将介绍我所进行的一次模型机实验,并对实验结果进行分析和总结。
二、实验目的本次实验的目的是通过搭建一架模型机,探究其飞行性能和稳定性,并对模型机进行相应的调试和优化。
通过实验,我们希望能够了解模型机的飞行原理,提高对空气动力学和飞行控制的理解。
三、实验材料和方法1. 实验材料:a. 模型机组件:包括机翼、机身、尾翼、电机、螺旋桨等。
b. 遥控器:用于控制模型机的飞行姿态和动作。
c. 电池:为模型机提供动力。
d. 降落伞:用于模型机降落时减慢速度。
2. 实验方法:a. 搭建模型机:根据设计图纸和说明书,将模型机的各个组件进行组装和连接。
b. 调试模型机:通过遥控器对模型机进行飞行姿态和动作的调试,确保模型机能够平稳飞行。
c. 进行飞行实验:将模型机投放到空中,观察其飞行状态和性能。
d. 数据分析和总结:根据实验结果,对模型机的飞行性能和稳定性进行分析和总结。
四、实验结果在实验过程中,我们成功搭建了一架模型机,并进行了多次飞行实验。
通过观察和记录实验数据,我们得到了以下实验结果:1. 飞行性能:模型机在飞行过程中,能够稳定地在空中飞行,并且能够完成一些基本的动作,如上升、下降、转弯等。
模型机的飞行速度和高度可以通过遥控器进行调节和控制。
2. 稳定性:模型机在飞行过程中表现出较好的稳定性。
即使在风力较大的情况下,模型机也能够保持相对平稳的飞行姿态,并能够自动调整飞行姿态以保持平衡。
3. 飞行时间:模型机的飞行时间受限于电池的容量和电机的功率。
在实验中,我们发现模型机的飞行时间大约为10-15分钟,之后需要更换电池。
五、实验分析和总结通过对实验结果的分析和总结,我们可以得出以下结论:1. 模型机的飞行性能和稳定性受到多种因素的影响,包括机翼的设计、重心的位置、电机的功率等。
纸飞机模型实验报告
纸飞机模型实验报告引言纸飞机是一种简单而又有趣的玩具,它以其简单的结构和易操作性而备受儿童和成年人的喜爱。
在本次实验中,我们将研究和测试不同纸飞机模型的飞行性能,探究飞行距离和飞行稳定性之间的关系。
实验目的1. 了解纸飞机模型的基本结构和设计原理。
2. 探究纸飞机模型的飞行特性和影响飞行性能的因素。
3. 分析不同设计的纸飞机模型的飞行距离和飞行稳定性之间的关系。
实验材料和方法材料1. 纸张2. 尺子3. 手工刀4. 计时器5. 测量器材(标尺或测量软件)方法1. 选择纸张并根据所选模型的设计原理进行切割和折叠,并确保模型的对称性和平衡性。
2. 进行距离测量前,确保实验环境平整且没有任何干扰。
3. 开始实验前,将纸飞机模型对齐并掷出,启动计时器。
4. 测量纸飞机模型的飞行距离,并记录下来。
5. 重复实验三次,并计算平均值。
实验结果经过一系列实验,我们获得了以下数据:模型名称第一次飞行距离(单位:米)第二次飞行距离(单位:米)第三次飞行距离(单位:米)平均飞行距离(单位:米)-模型A 5.2 4.9 5.15.07模型B 4.5 4.3 4.24.33模型C 6.1 5.9 6.26.07由上表可知,模型C的平均飞行距离最远,达到了6.07米,而模型B的平均飞行距离最短,只有4.33米。
这说明不同设计的纸飞机模型具有不同的飞行距离表现,其中模型C的设计最为优秀。
结论通过本次实验,我们得出以下结论:1. 不同设计的纸飞机模型具有不同的飞行性能。
2. 飞行距离受到纸飞机模型的结构和平衡性的影响,优秀的设计能够使纸飞机飞行更远。
3. 实验结果表明模型C的设计最为优秀,具有最远的飞行距离。
总结纸飞机模型实验是一项有趣且能够展示设计能力和物理原理知识的实验。
通过本次实验,我们不仅了解了纸飞机模型的基本结构和设计原理,还得出了不同设计的纸飞机模型的飞行距离和飞行稳定性之间的关系。
探索纸飞机的飞行性能不仅能为我们带来乐趣,还能帮助我们更好地理解物理学中的运动和力学原理。
模型机设计实验报告
模型机设计实验报告一、实验目的本次实验的目的是通过设计和制作模型机,掌握机械设计的基本原理和方法,提高学生的机械制图和机械加工能力,培养学生的创新思维和动手能力。
二、实验原理模型机是一种小型机械装置,通常由多个零部件组成,可以模拟真实机器的运行原理。
在设计模型机时,需要考虑机器的结构、功能和材料等因素,以确保机器的稳定性和可靠性。
在本次实验中,我们采用了三维建模软件进行机器的设计,然后使用数控机床进行机器的加工。
在加工过程中,需要注意机器的精度和加工质量,以确保机器的性能和使用寿命。
三、实验步骤1. 设计模型机的结构和功能,确定机器的材料和尺寸。
2. 使用三维建模软件进行机器的设计,包括零部件的设计和组装。
3. 将设计好的模型导入数控机床,进行机器的加工。
4. 对加工好的零部件进行组装和调试,确保机器的性能和稳定性。
5. 对机器进行测试和评估,记录机器的性能和使用情况。
四、实验结果经过设计和制作,我们成功地制作出了一台模型机。
该机器采用了铝合金材料,具有较高的强度和耐腐蚀性。
机器的结构紧凑,功能齐全,可以模拟真实机器的运行原理。
在加工过程中,我们采用了数控机床进行加工,确保了机器的精度和加工质量。
在组装和调试过程中,我们注意了机器的细节和性能,确保了机器的稳定性和可靠性。
经过测试和评估,我们发现该机器的性能和使用情况良好,可以满足实际应用的需求。
五、实验总结通过本次实验,我们掌握了机械设计的基本原理和方法,提高了机械制图和机械加工能力,培养了创新思维和动手能力。
同时,我们也了解了数控机床的加工原理和操作方法,提高了数控加工的技能和水平。
在今后的学习和工作中,我们将继续加强机械设计和制造方面的学习和实践,不断提高自己的技能和能力,为实现自己的梦想和目标做出更大的贡献。
计算机组成原理课程设计模型机实验报告 精品
实践报告计算机组成原理--模型机设计报告作者姓名:专业:计算机科学与技术学号:指导教师:完成日期:年月号******学院计算机工程系摘要“计算机组成原理”是计算机科学与技术系的一门核心专业基础课程,在计算机专业中起了很重要的作用。
课程中分部分介绍了计算机的各个部件,我们有必要将它们组合起来以对计算机有一个整体的认识。
这次课程设计通过对一个简单模型机的设计与实现,是我们对计算机的基本组成、部件的设计、部件间的连接有更深的理解。
依次设计计算机的几个部件并进行连接使成为一个完整的模型机。
通过运行和调试,使之正常工作。
关键词:运算器;控制器;存储器;输入输出接口;模型机正文:一、课设目的要求:《计算机组成原理》是一门理论性、实践性均较强的专业基础课,要求学生具有一定的电路分析、指令系统编写能力、软件设计能力。
通过计算机组成原理实践周,要突出《计算机组成原理》理论联系实际的特点,培养实践动手能力。
1.培养学生运用理论知识和技能,构建建立问题逻辑结构,锻炼学生分析解决实际问题的能力。
2.培养学生使用PROTEUS软件分析和设计计算机内部器件的方法和技巧。
3.培养学生调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。
4.通过实践设计,要求学生在指导教师的指导下,独立完成设计课题的全部内容,包括:(1)通过调查研究和上机实习,掌握PROTEUS软件的设计和仿真调试技能。
(2)掌握计算机系统的组成结构及其工作原理。
(3)设计实现一个简单计算机的模型机,并能够使用PROTEUS软件进行电路仿真验证二、课设内容:利用所学的计算机结构和工作原理的知识,要求学生独立完成简单计算机的模型机设计,并用PROTEUS软件进行验证。
在分析设计过程中,要求学生养成良好的习惯,学会分析实际问题,并利用所学的知识建立系统的逻辑结构,学会PROTEUS调试技巧和方法,通过逻辑设计和工程设计培养调试硬件电路的实际动手能力。
要求学生掌握数字逻辑电路中故障的一般规律,以及排除故障的一般原则和方法;锻炼分析问题与解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障。
基本模型机实验报告
基本模型机实验报告一、实验目的本实验旨在通过构建一个基本模型机,深入了解计算机的工作原理,包括数据的二进制表示、指令执行、内存管理以及简单的输入输出。
二、实验设备1. 微处理器(如 Intel 8080)2. 存储器芯片(如 Intel 2114)3. 输入设备(如开关或键盘)4. 输出设备(如LED灯或显示器)5. 电源三、实验步骤步骤一:构建模型机根据实验设备,将微处理器、存储器、输入设备和输出设备连接起来,形成一个简单的模型机。
确保所有连接正确无误,电源供应稳定。
步骤二:数据表示与存储在模型机中,使用二进制数表示数据。
将数据存储在存储器中,并观察数据在存储器中的表示形式。
例如,使用开关模拟二进制数的0和1,将开关按下表示0,不按下表示1。
步骤三:指令执行编写简单的汇编指令,如加法指令,并在模型机上执行。
观察指令的执行过程,包括取指令、解码指令、执行指令和写回结果等步骤。
步骤四:内存管理模拟内存的读写操作,了解内存地址的概念以及如何通过地址访问存储在内存中的数据。
观察内存地址的增加和减少对数据读写的影响。
步骤五:输入输出操作通过输入设备输入数据,观察模型机如何将输入的数据存储在内存中。
然后通过输出设备输出数据,了解输出数据的表示形式。
四、实验结果与分析通过本次实验,我们了解了计算机的基本工作原理,包括数据的二进制表示、指令执行、内存管理和输入输出操作。
在实验过程中,我们观察到微处理器负责执行指令,存储器用于存储数据和指令,输入设备用于输入数据,输出设备用于输出数据。
此外,我们还了解了内存地址的概念以及如何通过地址访问存储在内存中的数据。
五、结论与建议本次实验使我们深入了解了计算机的基本工作原理,并掌握了构建简单模型机的方法。
为了进一步提高实验效果,建议在未来的实验中增加更多的设备和功能,例如中断处理、多任务处理等,以便更全面地了解计算机的工作原理。
同时,建议在实验过程中注重细节和观察,以便更好地理解实验结果和原理。
计算机组成原理 实验八 简单模型计算机实验
实验八简单模型计算机实验一、实验目的1)通过实验分析简单模型机结构,了解计算机的工作原理。
2)掌握计算机微程序控制器的控制方法,掌握计算机指令执行过程二、实验原理基本整机模型数据框图如图所示,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
数据的通路从程序计数器PC的地址送到主存的地址寄存器,根据地址寄存器的内容找到相应的存储单元。
存储器中的数据是指令时,那么数据是从RAM送到总线,再从总线送到IR 中。
存储器中的数据是需要加工的数据时,那么数据是从RAM送到总线,再动总线送到通用寄存器中等待加工。
数据加工过程中,两个数据是从总线上将数据分别分时压入两个暂存器中,等待运算部件的加工,在数据加工完成以后。
运算结果是通过三太门送到总线上。
三态门的控制时由微控制器来控制。
图:模型机的数据通路图SW-G三、实验过程1.连线按实验逻辑原理图连接以下控制信号。
1)时钟单元(CLOCK UNIT)的T1-T4接到微程序控制单元(MAIN CONTROL UNIT)的T1-T4.2)手动控制开关单元(MANUAL UNIT)的KA ,KB接到指令单元(INS UNIT)的KA,KB。
3)指令单元(INS UNIT)的J(1)-J(5)、SE6-SE0、B-IR 接到的微程序控制单元(MAIN CONTROL UNIT)的J(1)-J(5)、SE6-SE0、B-IR。
4)输入/输出单元(INPUT/OUTPUT UNIT)IO-W,IO-R接到微程序控制单元(MAINCONTROL UNIT)的IO-W,IO-R,Ai接到地址单元(ADDRESS UNIT)的A0. 5)主存储器单元(MEM UNIT)M-W、M-R接到微程序控制单元(MAIN CONTROL UNIT)的M-W、M-R,A7-A0 接到地址单元(ADDRESS UNIT)的A7-A0.6)地址单元(ADDRESS UNIT)的B-AR、B-PC、PC+1、PC-B接到微程序控制单元(MAIN CONTROLUNIT)的B-AR、B-PC、PC+1、PC-B.7)通用寄存器单元(REG UNIT)的B-R、R0-B 接到微程序控制单元(MAIN CONTROLUNIT)的B-DR、DR-B。
模型机实验报告
一.基本知识点a)计算机的组成和工作原理。
b)计算机执行机器指令的工作过程。
c)微指令,微程序的设计及调试。
二.实验设计方案:模型机与程序运行实验是一个综合型整机实验。
该模型机包含七条指令。
他能够依照用户程序执行微程序完成由加,与,非运算以及数据组合的任意复合运算。
用户测试程序可通过内存初始化的方式存储在内存中,也可通过强迫写的方式循环写入内存。
该模型机可通过以下两种方式完成:(1)分模块整合法。
此整机实验,由节拍脉冲,数据通路,微控制器,数码管显示4个模块组成。
运算器,存储器,数据通路及微程序控制器中的时钟脉冲必须与时序电路相连。
(2)依据微体系结构图通过VHDL编程设计模型机,由模型机主体,时序电路,显示模块组成。
三.实验流程实验前先学习如何创建一个工程。
点击create a new project创建工程路径,工程和顶层文件名称选择需要添加的子模块选择实验板类型,然后点击finish。
1.设计时序电路(节拍器)状态机设计仿真结果2.模型机主体VHDL代码library ieee;use Ieee.std_logic_1164.all;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity microcomputer isport( Clr, srd, swe, t1, t2, t3, t4: in std_logic;sw_in: in std_logic_vector(7 downto 0);mpcout : out std_logic_vector(4 downto 0);arout, bus_data : out std_logic_vector(7 downto 0));end microcomputer;architecture rt1 of microcomputer istype RAM is array(0 to 31) of std_logic_vector(7 downto 0);signal ram8:RAM := (x"20", x"0d", x"e0", x"0e", x"40", x"10", x"60", x"10", x"c0", x"0f",x"80", x"a0", x"00", x"11", x"12", x"24", x"ff", others => x"00");signal pc, ar, dr1, dr2, r5, bus_Reg, bus_reg_t2, bus_Reg_t3: std_logic_vector(7 downto 0);signal mpc, mpc_t2, mpc_t3, mpc_t4:std_logic_vector(4 downto 0);signal ir: std_logic_vector(2 downto 0);beginmpcout <= mpc_t4;arout <= ar;bus_data <= bus_Reg;ct1:process(t1, clr, srd, swe)beginif clr = '0' then mpc <= (others => '0');elsif swe = '0' then mpc <= "10000";elsif srd = '0' then mpc <= "01000";elsif t1 = '1' and t1'event then mpc <= mpc_t4;end if;end process;ct2:process(t2, mpc, sw_in, ar)beginif Clr = '0' then mpc_t2 <= (others => '0');elsif t2 = '1' and t2'event thencase mpc iswhen "00000" =>mpc_t2 <= "00001";bus_reg_t2<= sw_in;when "00001" =>mpc_t2 <= "00010";bus_Reg_t2<= pc;when "00010" =>mpc_t2 <= "01000";bus_Reg_t2<=ram8(conv_integer(ar));when "01001" =>mpc_t2 <= "10101";bus_Reg_t2<=pc;when "10101" =>mpc_t2 <= "10110";bus_Reg_t2<=ram8(conv_integer(ar));when "10110" =>mpc_t2 <= "00001";bus_Reg_t2<=ram8(conv_integer(ar));when "01010" =>mpc_t2 <= "10111";bus_Reg_t2<=pc;when "10111" =>mpc_t2 <= "11000";bus_Reg_t2<=ram8(conv_integer(ar));when "11000" =>mpc_t2 <= "00001";bus_Reg_t2<=r5;ram8(conv_integer(ar))<=r5;when "01011" =>mpc_t2 <= "11001";bus_Reg_t2<=pc;when "11001" =>mpc_t2 <= "11010";bus_Reg_t2<=ram8(conv_integer(ar));when "11010" =>mpc_t2 <= "00001";bus_Reg_t2<=ram8(conv_integer(ar));when "01100" =>mpc_t2 <= "11011";dr1 <= r5;bus_Reg_t2<=r5;when "11011" =>mpc_t2 <= "00001";bus_Reg_t2<=bus_Reg_t2;when "01101" =>mpc_t2 <= "11100";bus_Reg_t2<=pc;when "11100" =>mpc_t2<="00001";bus_Reg_t2<=ram8(conv_integer(ar));when "01110" =>mpc_t2 <= "00011";bus_Reg_t2<=pc;when "00011" =>mpc_t2 <= "00100";bus_Reg_t2<=ram8(conv_integer(ar));when "00100" =>mpc_t2<="00101";dr2<=ram8(conv_integer(ar));bus_Reg_t2 <=ram8(conv_integer(ar));when "00101" =>mpc_t2 <= "00110";dr1<=r5;bus_Reg_t2<=r5;when "00110" =>mpc_t2<="00001";bus_Reg_t2<=bus_Reg_t2;when "01111" =>mpc_t2<="11101";bus_Reg_t2<=pc;when "11101" =>mpc_t2<="11110";bus_Reg_t2<=ram8(conv_integer(ar));when "11110" =>mpc_t2<= "11111";dr2<= ram8(conv_integer(ar));bus_Reg_t2<=ram8(conv_integer(ar));when "11111" =>mpc_t2<="00111";dr1<=r5;bus_Reg_t2<=r5;when "00111" =>mpc_t2<= "00001";bus_Reg_t2<=bus_Reg_t2;when "10000" =>mpc_t2<="10001";bus_Reg_t2<=sw_in;when "10001" =>mpc_t2<="10010";bus_Reg_t2<=pc;when "10010" =>mpc_t2<="10001";bus_Reg_t2<=sw_in;ram8(conv_integer(ar))<=sw_in;when "01000" =>mpc_t2<="10011";bus_Reg_t2<=sw_in;when "10011" =>mpc_t2<="10100";bus_Reg_t2<=pc;when "10100" =>mpc_t2<="10011";bus_Reg_t2<=ram8(conv_integer(ar));when others =>mpc_t2<= mpc; bus_Reg_t2<=bus_Reg_t2;end case;end if;end process;ct3:process(t3, mpc, mpc_t2,bus_Reg_t2)beginif clr = '0' then mpc_t3<=(others=>'0');elsif t3 ='1' and t3'event thenmpc_t3<= mpc_t2;bus_Reg_t3 <= bus_Reg_t2;case mpc iswhen "00000" =>pc <= bus_Reg_t2;when "00001" =>ar <= bus_Reg_t2;pc<=pc+1;when "00010" =>ir <= bus_Reg_t2(7 downto 5);when "01001" =>ar <= bus_Reg_t2;pc <= pc+1;when "10101" =>ar <= bus_Reg_t2;when "10110" =>r5 <=bus_Reg_t2;when "01010" =>ar <= bus_Reg_t2;pc<=pc+1;when "10111" =>ar <= bus_Reg_t2;when "01011" =>ar <= bus_Reg_t2;pc <= pc+1;when "11001"=>ar <= bus_Reg_t2;when "11011" =>r5 <= not dr1;bus_Reg_t3<= not dr1;when "01101"=>ar <= bus_Reg_t2;pc<= pc+ 1;when "11100"=>pc<=bus_Reg_t2;when "01110"=>ar <= bus_Reg_t2;pc<= pc+1;when "00011"=>ar <= bus_Reg_t2;when "00110"=>r5 <= dr1+dr2;bus_Reg_t3<=dr1+dr2;when "01111"=>ar <= bus_Reg_t2;pc<= pc+1;when "11101"=>ar <= bus_Reg_t2;when "00111"=>r5<=dr1 and dr2; bus_Reg_t3 <= dr1 and dr2;when "10000"=>pc <= bus_Reg_t2;when "10001"=>ar <= bus_Reg_t2;pc<=pc+1;when "01000"=>pc<= bus_Reg_t2;when "10011"=>ar <= bus_Reg_t2;pc<=pc+1;when others =>bus_Reg_t3<=bus_Reg_t2;end case;end if;end process;ct4:process(clr, t4,mpc,ir,mpc_t3)beginif clr = '0' then mpc_t4 <= (others=>'0');elsif t4='1' and t4'event thenbus_Reg<=bus_Reg_t3;case mpc iswhen "00010" =>mpc_t4<= mpc_t3(4 downto 3) & ir;when others =>mpc_t4 <= mpc_t3;end case;end if;end process;end rt1;3.模4计数器顶层电路4.2_3译码器顶层电路5.4_1选择器VHDL代码6.4_7译码器7.顶层电路设计8.引脚设置选择Assignments->pins8.全编译 processing->compiler tool ,然后点击start8.下载到电板选择TOOLs->groprommer9.然后点击start开始下载。
计算机组成原理简单模型机实验
实验四简单模型机实验1.1实验目的1)将微程序控制器模块通过总线同运算器模块、存储器模块联机,组成一台模型计算机;2)用微程序控制器控制模型机数据通路;3)通过CPU运行5条机器指令组成的简单程序,掌握机器指令与微指令的关系,牢固建立机器的整机概念。
1.2电路图本次实验用到前几次实验所有电路,将几个模块组成一台简单计算机,由微程序控制器控制数据通路,实现cpu从内存取出一条机器指令到执行指令结束的一个指令周期,由微指令组成的序列来完成,一条机器指令对应一个微程序。
图1 电路图1.3 实验原理(1)PC计数器初始值为“0”,微程序默认从00地址开始执行,产生控制信号,使PC的地址通过ABUS将送到存储器(6116)的地址锁存器AR中, PC=PC+1;(2)读出存储器中存放内容,通过DBUS送到IR指令寄存器中,实现指令译码,指令的操作码送至微程序控制器的程序跳转控制部分,在P(1)的控制下与微程序中储存的下一条指令地址进行逻辑运算,产生真正的下一条微程序地址;(3)在微程序的控制下单步执行微指令序列。
1.4 微指令格式表1 微指令格式1.5 微程序流程图:图2 微程序流程图1.6微程序代码表1.7 数据通路总体图图3 数据通路总体图五条机器指令格式(其中,A为内存地址8bit):RAM中装入的程序和数据(其中,地址为8进制):1.8 实验任务及步骤(1)实验连线:本次实验大部分的连线已由教师完成,请同学们对照微指令格式,完成微程序控制器的剩余部分连线。
(2)实验环境初始化:实验平台通电前请关闭DR1(74ls273),DR2(74ls273),存储器(6116)的地址锁存器(74ls273),微程序控制器的地址锁存器(74ls175)的自动清零功能,将几个芯片的-MR引脚置为“1”。
时钟发生器的功能设定为单步执行,具体信号为:STOP=0,STEP=1。
(3)加电运行初始化:①指令寄存器IR自动清零,程序计数器PC手动清零,将两片74ls163的ENT,ENP引脚置“1”,-CR引脚置“0”,打开三态门开关,给单步时钟脉冲;②程序计数器PC设定为单步技术功能,并交由微程序控制,将-CR引脚置“1”,关闭三态门开关;③关闭指令寄存器IR清零功能,交由微程序控制,将-MR设为“1”。
简单模型机实验报告
简单模型机实验报告篇一:模型机实验报告HUNAN UNIVERSITY课程实习报告题目:模型机学生姓名学生学号 XX0801328专业班级计算机科学与技术(3)班指导老师方恺晴完成日期 XX.5.28思考题:1. 给定一个复合运算式子以及指令码IR[7..5]与八位BUS总线对应情况。
要求写出七条指令新的指令码并写出复合运算执行mif文件。
修改模型机电路调试程序以实现复合运算。
例:已知A=55H,B=8AH,C=F0H;IR[7..5]对应BUS8,BUS1,BUS3;写出(Aplus/B)^(/(/CplusB))的mif文件,并在模拟机上实现。
答:模拟机电路修改如下:存储器预设指令重设:计算结果:(A+/B)^(/(/C+B))=42H2. Microcomputer.vhd代码中进程ct1,ct2,ct3,ct4功能划分依据是什么?ct1:微序列控制器下址跳转。
ct2:实现各种指令,主要集中在实现从存储器或者寄存器释放数据到总线上。
ct3:完成各种指令,从总线上装载数据到相应的存储器或者寄存器中。
ct4:生成下址,判断下址生成方式,根据不太那个的方式生成下址。
3. Microcomputer.vhd代码中如何定义并初始化RAM?type ram is array(0 to 37)of std_logic_vector(7 downto 0); --38*8ramsignal ram8:ram:=(x”20”, x”1e”, x”80”, x”40”, x”20”, x”20”, x”1d”, x”c0”, x”20”, x”40”, x”21”, x”20”, x”1f”, x”80”, x”40”, x”22”, x”20”, x”1e”, x”c0”, x”22”, x”80”, x”e0”, x”21”, x”40”, x”23”, x”60”, x”23”, x”a0”, x”00”, x”55”, x”8a”, x”f0”,others=>x”00”) –initialize ram44. Microcomputer.vhd代码中bus_reg_t2 将ram8存储器中对应于ar中地址单元的数据取出来放到bus_reg_t2寄存器中。
实验六 基本模型机实验
实验六 基本模型机实验一、 实验目的1. 掌握微程序执顺序强制改变的原理2. 掌握机器指令与微程序的对应关系。
3. 掌握机器指令的执行流程。
4.掌握机器指令的微程序的编制、写入。
二、 实验设备TDN -CM +计算机组成原理教学实验系统。
三、 实验原理E 1E 2E 3E 4E 5E 6242322212019181716D R i D R 1D R 2D R I R D A D D A RS -B D -B J -B 99-B L U -B C -BC (1)C (2)C (3)C (4)R D P C图1:微控器原理图部件实验过程中,各部件单元的控制信号是人为模拟产生的,如运算器实验中对74LS -181芯片的控制,存储器实验中对存储器芯片的控制信号,以及几个实验中对输入设备的控制。
而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。
这里,计算机数据通路的控制将由微程序控制器来完成,CPU 从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一段微程序。
1. 微程序执行顺序强制改变原理如图2 所示,后继地址是由6片正沿触发的双D 触发器(74)构成,它们带有清“0”和置“1”端,可以让CLR 有效(低电平)使MA0~MA5置0,也可以让SE1~SE5有效(低电平),使对应的触发器置1。
在微程序的运行过程中,在T2时刻,将当前运行的微指令中的µA5~µA0置入对应的触发器中,作为下条执行微指令的地址,如果在T2后的T4时刻,可能会使SE1~SE5中的某一位或者几位有效,将强制的置对应触发器为“1”,从而改变由µA5~µA0指定的微地址,改变微程序执行流程。
SE2SE1SE3SE4SE5SE6后继微地址输出图2:后继地址逻辑图注:CLR :清零信号 T2:时钟信号µA5~µA0:对应微指令中µA5~µA02. 机器指令与微程序的对应关系每条机器指令由多条微指令按一定的顺序完成,如MOV 指令(从存储器到存储器)需要6条微指令的执行才能完成,其执行流程为:将完成某条机器指令的这些微指令的第一条指令放置在微控器的存储器的固定位置,通过对机器指令的编码,当读到某条机器指令后,能将微程序的执行流程转入该指令对应的微程序位置。
模型仪器实验报告
一、实验名称模型仪器实验二、实验目的1. 了解模型仪器的结构、原理及工作方式。
2. 掌握模型仪器的操作方法及注意事项。
3. 通过实验,验证模型仪器的性能指标。
三、实验原理模型仪器是一种模拟真实仪器或设备的实验装置,主要用于教学、科研和生产实践。
它具有结构简单、操作方便、成本低廉等优点。
实验中,我们使用模型仪器进行相关实验,通过观察、测量和分析,了解其工作原理和性能。
四、实验仪器与材料1. 模型仪器一套(包括电源、控制器、传感器、执行器等)。
2. 电脑一台(用于数据采集和分析)。
3. 实验指导书一份。
五、实验步骤1. 连接仪器:按照实验指导书的要求,将模型仪器各个部件连接好,确保电路连接正确。
2. 设置参数:根据实验要求,设置模型仪器的参数,如传感器灵敏度、执行器输出等。
3. 进行实验:启动模型仪器,观察其工作状态,记录相关数据。
4. 数据分析:将实验数据导入电脑,利用软件进行数据分析,得出结论。
六、实验内容及数据1. 实验一:传感器性能测试- 实验目的:测试传感器的灵敏度、准确度等性能指标。
- 实验步骤:1. 连接传感器,设置参数。
2. 输入不同信号,观察传感器输出。
3. 记录数据,进行分析。
- 实验数据:| 输入信号 | 输出信号 || -------- | -------- || 0V | 0V || 1V | 0.9V || 2V | 1.8V || 3V | 2.7V |2. 实验二:执行器性能测试- 实验目的:测试执行器的响应速度、输出力等性能指标。
- 实验步骤:1. 连接执行器,设置参数。
2. 输入不同信号,观察执行器输出。
3. 记录数据,进行分析。
- 实验数据:| 输入信号 | 输出力(N) | 响应时间(s) || -------- | -------- | -------- || 0V | 0N | 0s || 1V | 0.5N | 0.1s || 2V | 1.0N | 0.2s || 3V | 1.5N | 0.3s |七、实验结果与分析1. 通过实验一,我们验证了传感器的灵敏度、准确度等性能指标符合要求。
实验4 模型机综合实验
模型机综合实验(微程序控制器)在综合实验中,模型机作为一个整体来工作的,所有微程序的控制信号由微程序存储器uM输出,而不是由开关输出。
在做综合实验之前,先用8 芯电缆连接J1 和J2,使系统处于非手动状态,这样实验仪的监控系统会自动打开uM的输出允许,微程序的各控制信号就会接到各寄存器、运算器的控制端口。
此综合实验(1~7)使用的指令是模型机的缺省指令系统,系统自动默认装入缺省指令系统/非流水微指令系统文件:insfile1.mic。
在做综合实验时,可以用CPTH计算机组成原理实验软件输入、修改程序,汇编成机器码并下载到实验仪上,由软件控制程序实现单指令执行、单微指令执行、全速执行,并可以在软件上观察指令或微指令执行过程中数据的走向、各控制信号的状态、各寄存器的值。
CPTH 软件的使用方法见第九章“CPTH 集成开发环境使用”。
也可以用实验仪自带的小键盘和显示屏来输入、修改程序,用键盘控制单指令或单微指令执行,用LED 或用显示屏观察各寄存器的值。
实验仪上的键盘使用方法见第八章“实验仪键盘使用”。
在用微程序控制方式做综合实验时,在给实验仪通电前,拔掉实验仪上所有的手工连接的接线,再用8 芯电缆连接J1 和J2,控制方式开关KC拨到“微程序控制”方向。
若想用CPTH软件控制组成原理实验仪,就要启动软件,并用快捷图标的“连接通信口”功能打开设置窗口,选择实验仪连接的串行口,然后再点击“OK”按钮接通到实验仪。
实验1:数据传送实验/输入输出实验1.在CPTH 软件中的源程序窗口输入下列程序,给R0赋值13h,把第四条指令改成Mov A,12H2.将程序另存为EX1.ASM,将程序汇编成机器码,调试窗口会显示出程序地址、机器码、反汇编指令。
3.按快捷图标的F7,执行“单微指令运行”功能,观察执行每条微指令时,寄存器的输入/输出状态,各控制信号的状态,PC 及uPC如何工作。
(见EX1.ASM程序跟踪结果)EX1.ASM程序跟踪结果每个程序的一开始的第一条微指令一定是取指令,此微指令的值为0CBFFFFH,对应到各个控制位就是EMRD、PCOE、及IREN为低,此三位有效,其它所有位都处于无效状态。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
评语:课中检查完成的题号及题数:课后完成的题号与题数:成绩:自评成绩:实验报告实验名称:__________ 简单模型机实验报告____________ 日期: _________________ 班级:学号:姓名:-、实验目的:1掌握一个简单CPU的组成原理。
2、在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。
3、为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。
二、实验内容:本实验要实现一个简单的CPU并且在此CPU的基础上,继续构建一个简单的模型计算机。
CPU由运算器(ALU、微程序控制器(MC、通用寄存器(R0,指令寄存器(IR)、程序计数器(PC和地址寄存器(AR组成,如图2-1-1所示。
这个CPU在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU必须和主存挂接后,才有实际的意义,所以还需要在该CPU的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。
图1-4-1基本CPU 构成原理图除了程序计数器(PC ,其余部件在前面的实验中都已用到,在此不再讨论。
系统 的程序计数器(PC 由两片74LS161和一片74LS245构成,其原理如图1-4-2所示。
PC_B 为三态门的输出使能端,CLR 连接至CON 单元的总清端CLR 按下CLR 按钮,将使PC 清 零,LDPC 和T2相与后作为计数器的计数时钟,当LOAD 为低时,计数时钟到来后将CPU 内总线上的数据打入PG图1-4-2程序计数器(PC )原理图本模型机和前面微程序控制器实验相比,新增加一条跳转指令 JMP 共有五条指令: OUT (输出)、JMP (无条件转移),HLT (停机), 其指令格式如下(高4位为操作码):助记符 机器指令码 说明 IN 0010 0000 IN — R0 ADD 0000 0000R0 + R0 — R0 OUT 0011 0000R0 — OUT JMP addr 1100 0000 ******** addr— PC HLT 0101 0000停机 址码。
微程序控制器实验的指令是通过手动给出的,现在要求 CPU 自动从存储器读取指令并执行。
根据以上要求,设计数据通路图,如图 1-4-3所示。
IN (输入)、ADD (二进制加法)、 其中JMP 为双字节指令,其余均为单字节指令, ******** 为addr 对应的二进制地LDPC T2CLRLOAD本实验在前一个实验的基础上增加了三个部件,一是PC (程序计数器),另一个是AR (地址寄存器),还有就是ME(主存)。
因而在微指令中应增加相应的控制位,其微指令格式如表1-4-1所示。
图1-4-3数据通路图系统涉及到的微程序流程见图1-4-4所示,当拟定“取指”微指令时,该微指令的判别测试字段为P<1>M试。
指令译码原理见图1-3-3所示,由于“取指”微指令是所有微程序都使用的公用微指令,因此P<1>的测试结果出现多路分支。
本机用指令寄存器的高6位(IR7—IR2)作为测试条件,出现5路分支,占用5个固定微地址单元,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写,微程序流程图上的单元地址为16进制。
当全部微程序设计完毕后,应将每条微指令代码化,表1-4-2即为将图1-4-2的微程序流程图按微指令格式转化而成的“二进制微代码表”NOP00图1-4-4简单模型机微程序流程图表1-4-2二进制微代码表设计一段机器程序,要求从IN单元读入一个数据,存于R0,将R0和自身相加,结果存于R0,再将R0的值送OUT单元显示。
根据要求可以得到如下程序,地址和内容均为二进制数。
地址 内容 助记符 说明00000000 00100000 ;START: IN R0 从IN 单元读入数据送R0 00000001 00000000 ;ADD R0,R0 R0和自身相加,结果送R0 00000010 00110000 ;OUT R0 R0 的值送OUT 单元显示 00000011 11100000 ;JMP START跳转至00H 地址 00000100 000000000000010101010000;HLT停机三、项目要求及分析:1.试修改现有的指令系统,将加法指令的功能修改为R0的内容和某个存储单元的内 容相加;增加存数、取数和减法三条机器指令,指令助记符分别为 STA 、LAD 和SUB 指令操作码分别为十六进制的60、70和80。
四、具体实现:微程序流程图:NUHIN 5TALAD37OUT________ 也一珂HUTin >FLO 32PCFC+lPC*134«D-X>UTNOP fJia 丨z01KI K->AR PC*1UaDLas輛心Mgn 寻fl5I03■aUtt鼻卜曲Qi X■■ :二进制代码表 地址 十六进 制 咼五位 S3-S0 A 字段 B 字段 C 字段 MA5-MA0 00 帀y 000001 000000000 000 000 000 000001 01 006D43 00000 0000 110 110 101 000011 03 107072 00010 0000 111 000 001 110010 04 206005 00100 0000 110 000 000 000101 05200401 00100 0000 000 010 000 000001 06 206007 00100 0000 110 000 000 000111 07103001 00010000001100000000000108 006D79 00000 0000 110 110 101 111001 09 20600A 00100 0000 110 000 000 001010 0A 10300B 00010 0000 011 000 000 001011 0B 00240C 00000 0000 010 010 000 001100 32 183001 00011 0000 011 000 000 000001 33 280401 00101 0000 000 010 000 000001 35 000035 00000 0000 000 000 000 110101 36 006D84 00000 0000 110 110 101 000100 37 006D86 00000 0000 110 110 101 000110 38 001408 00000 0000 001 010 000 001000 0C05B20100000 1011 011 001 000 000001说明; 从 IN 单元读入数据送 R0 ; 先读地址再读数据 , 存入主存 ; 取出存入主存的数据; R0 的值送 OUT 单元显示 ; 从 IN 单元读入数据送 R0 ; 进行减法运算;RO 的值送OUT 单元显示 编写微程序:机器指令:$P OO 2O ; 从 IN 单元读入数据送 RO $P O1 6O ; 先读地址再读数据 , 存入主存 $P O2 7O ; 取出存入主存的数据 $P 03 30 ; R0 的值送OUT 单元显示 $P O4 2O ; 从 IN 单元读入数据送 RO $P 05 80 ; 进行减法运算$P 06 30 ; R0 的值送OUT 单元显示 $P 07 00 ;$P 08 50 ; HLT 停机微指令:$M 00 000001 ; NOP$M 01 006D43 ; PC->AR,PC 加1 $M 03 107072 ; MEM->IR, P<1>$M 32 183001 ; IN->R0$M 36 006D84 ; PC->AR,PC 加1$M 04 206005 ; AR->MEM$M 05 200401 ; R0->MEM$M 37 006D86 ; PC->AR,PC 加1$M 06 206007 ; AR->MEM $M 07 103001 ; MEM->R0微程序: 地址 内容 00000000 00100000 00000001 00100000 00000010 01100000 00000011 00000000 00000100 00110000 00000101 11100000 00000110 00100000 00000111 00000000 00001000 01100000; HLT 停机$M 33 280401 ; R0->OUT$M 01 006D43 ; PC->AR,PC 加1$M 03 107072 ; MEM->IR$M 32 183001 ; IN->R0$M 38 001408 ; R0->A$M 08 006D79 ; PC->AR,PC 加1$M 09 20600A ; AR->MEM$M 0A 10300B ; MEM->R0$M 0B 00240C ; R0->B$M 0C 05B201 ; A-B->R0$M 33 280401 ; R0->OUT$M 00 000001 ; NOP六、所遇问题及解决方法:(1 )程序运行前必须对微地址清零。
拨动实验仪右下角清零开关CLR (1-0-1) 后,观看实验仪右上方的微地址显示灯(UA0-UA5是否全为零,若全为零,则正确,若不全为零,说明有问题,要检查。
(2)使用单步微指令运行程序,单击该系统第三行的“单步微指令”图标即可。
(3)在每次单步执行一条微指令的过程中,都要观察屏幕动态流线显示的运行结果,根据屏幕显示的结果分析与该条微指令的格式和功能是否一致。
若不一致,必须检查原因。
七、实验总结:通过本次实验收获丰富,在做这次实验之前,通过深入的预习,理解了实验原理、明确了实验的目的,按部就班地连线,逐步完成了实验的要求。
在实验过程中,我认真进行实验操作和思考实验有关的内容,把自己不太明白的问题通过实验理解清楚,取得了较好的实验结果。
通过这次实验懂得了基本模型机设计与实现的基本操作,加深了对书本知识的认识。
通过CPU运行五条机器指令组成的简单程序,掌握机器指令与微指令的关系,建立了利用指令控制整机(输入、输出、运算、存储系统)的概念。
本次实验,提高了我对组成原理实验的积极性,更教育了我实验要认真,要培养了我实验要认真,要严谨的态度,将课本知识运用到实践之中,也提高了对课程学习的热情。
八、建议:1、希望老师在时间充裕的情况下,能带领我们做实验;2、实验之前向大家讲解本次试验的注意事项,以免我们犯不必要的错误。