1、计算机组成原理实验报告精品9篇计算机组成原理实验报告课程名称 计算机组成原理实验 学 院 计算机 专业班级 学 号 学生姓名 指导教师 20 年 月 日 实验一:基础汇编语言程序设计实验1实验目的 学习和了解TEC-XP+教学实验监控命令的用法; 学习和了解TEC-XP+教学实验系统的指令系统; 学习简单的TEC-XP+教学实验系统汇编程序设计。2实验设备及器材 工作良好的PC机; TEC-XP+教学实验系统和仿真终端软件PCEC。3实验说明和原理实验原理在于汇编语言能够直接控制底层硬件的状态,通过简单的汇编指令查看、显示、修改寄存器、存储器等硬件内容。实验箱正如一集成的开发板,而我们正是通过
2、基础的汇编语言对开发板进行使用和学习,过程中我们不仅需要运用汇编语言的知识,还需要结合数字逻辑中所学的关于存储器、触发器等基本器件的原理,通过串口通讯,实现程序的烧录,实验箱与PC端的通讯。4实验内容1) 学习联机使用TECXP+教学实验系统和仿真终端软件PCEC;2) 学习使用WINDOWS界面的串口通讯软件;3) 使用监控程序的R命令显示/修改寄存器内容、D命令显示存储内容、E命令修改存储内容;4) 使用A命令写一小段汇编程序,U命令反汇编输入的程序,用G命令连续运行该程序,用T、P命令单步运行并观察程序单步执行情况。5实验步骤1) 准备一台串口工作良好的PC机器; 2) 将TEC-XP+
3、放在实验台上,打开实验箱的盖子,确定电源处于断开状态; 3) 将黑色的电源线一段接220V交流电源,另一端插在TEC-XP+实验箱的电源插座里; 4) 取出通讯线,将通讯线的9芯插头接在TEC-XP+实验箱上的串口COM1或COM2上,另一端接到PC机的串口上; 5) 将TEC-XP+实验系统左下方的六个黑色的控制机器运行状态的开关置于正确的位置,再找个实验中开关应置为001100(连续、内存读指令、组合逻辑、联机、16位、MACH),6) 控制开关的功能在开关上、下方有标识;开关拨向上方表示1,拨向下方表示0,X表示任意,其他实验相同; 7) 打开电源,船型开关盒5V电源指示灯亮; 8) 在
4、PC机上运行PCEC16.EXE文件,根据连接的PC机的串口设置所用PC机的串口为1或2,其他的设置一般不用改动,直接回车即可; (8)按一下RESET按键,再按一下START按键,主机上显示: 6实验截图及思考题【例3】计算1到10的累加和。思考题:若把IN81,SHRR0,JRNC2028三个语句换成3个MVRRR0,R0语句,该程序执行过程会出现什么现象?答:改为三个MVRDR0,R0语句后,用G命令运行的结果:用G命令运行程序,程序执行速度快,端口输出速度慢,会跳跃输出,屏幕显示09【例5】将被显示的6个字符AF送入到内存20F0H开始的存储区域中。7实验心得 这是第一次计组的上机实验
5、,初步了解到TEC-XP+教学系统的概况,通过仿真终端软件PCEC以及WINDOWS界面的串口通讯软件,结合对汇编基本指令的学习,让我们熟悉计组的实验工具和流程,为后续的实验打下基础。对汇编基本指令的学习,让我对汇编语言以及嵌入式系统方向产生了兴趣,并且通过汇编语言的学习,发现在高级语言中简单的加法或变量申请,在底层实现的过程是相当复杂的。使用汇编语言直接控制硬件,让我们亲身感受到一个简单的指令操作硬件时,硬件所发生的变化,貌似回到了70年代的计算机学习一样,而且在实验一的学习过程中,懂得了一些基于实验箱的汇编小程序,与单片机的使用有很多相似之处,十分有趣。另外,实验一过程中使用绝对地址,直接
6、访问内存的数据,让我们脱离操作系统的封装,更好地体会到直接控制硬件的感觉。然而,对于大程序的编写,基本的汇编语言的编程难度比起高级语言高了不少,但汇编的学习的确促进了我们对计算机的认识。 实验三:存储器部件教学实验1实验目的 熟悉ROM芯片和RAM芯片在功能和使用方法等方面的相同和差异之处。学习用编程器设备向EEPROM芯片内写入一批数据的过程和方法。 理解并熟悉通过字、位扩展技术实现扩展存储器系统容量的方案。 了解静态存储器系统使用的各种控制信号之间正常的时序关系。 了解如何通过读、写存储顺的指令实现对58C65ROM芯片的读、写操作。 加深理解存储器部件在计算机整机系统中的作用。2实验设备
7、与器材 TEC-XP+教学实验系统和仿真终端软件PCEC。3实验说明和原理内存储器原理:内存储器是计算机中存放正在运行中的程序和相关数据的部件。在教学计算机存储器部件设计中,出于简化和容易实现的目的,选用静态存储器芯片实现内存储器的存储体,包括唯读存储区和随读写存储区两部分,ROM存储区选用4片长度8位、容易8KB的58C65芯片实现,RAM存储区选用2片长度8位、容量2KB的6116芯片实现,每2个8位的芯片合成一组用于组成16位长度的内存字,6个芯片被分成3组,其地址空间分配关系是:0-1777h用于第一组ROM,固化监控程序,2000-2777h用于RAM,保存用户程序和用户数据,其高端
8、的一些单元作监控程序的数据区,第二组ROM的地址范围可以由用户选择,主要用于完成扩展内存容量的教学实验。地址总线的低13位送到ROM芯片的地址线引脚,用于选择芯片内的一个存储字。用于实现存储字的高位字节的3个芯片的数据线引脚、实现低位字节的3个芯片的数据线引脚分别连接在一起接到数据总线的高、低位字节,是实现存储器数据读写的信息通路。数据总线要通过一个双向三态门电路与CPU一侧的内部总线IB相连接,已完成存储器、接口电路和CPU之间的数据通讯。4实验内容1) 要完成存储器容量扩展的教学实验,需为扩展存储器选择一个地址,并注意 读写和OE等控制信号的正确状态。2) 用监控程序的D、E命令对存储器进
9、行读写操作,比较RAM(3116)、EEPROM(28系列芯片)、EPROM(27系列芯片)在读写上的异同。3) 用监控程序的A命令编写一段程序,对RAM(6116)进行读写,用D命令查看结果是否正确。4) 用监控程序的A命令编写一段程序,对扩展存储器EEPRM(28系列芯片)进行读写,用D命令查看结果是否正确;如不正确,分析原因,改写程序,重新运行。5实验步骤与截图(1) 显示从2020内存单元开始的值(2)6实验思考题思考:将延时改短,将程序中的R3的内容赋成00FF,再看运行结果。7实验心得能用E命令直接写AT28C64B的存储单元,而不用A命令,修改延时子程序,将其延时改短,可将延时子
10、程序中的R3的内容赋成00FF或0FFF等,再看运行结果时,发现因为当写入双字节指令的低位时会出错,这也是不能用A命令而只能用E命令去写存储单元的原因。实验四:组合逻辑控制器部件教学实验1实验目的通过看懂教学计算中已经设计好并正常运行的几条典型指令的功能、格式和执行流程,然后自己设计几条指令的功能、格式、和执行流程,并在教学计算机上实现、调试正确。其最终要达到的目的是: 深入理解计算机控制器的功能、组成知识。 深入地学习计算机各类典型指令的执行流程。 指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念。 学习组合逻辑控制器的设计过程和相关技术2实验设备与器材 TEC-XP+教学实验系统
11、和仿真终端软件PCEC。3实验说明和原理控制器设计是学习计算机总体组成和设计的最重要部分。要在TEC-XP16教学计算机完成这项实验,必须清楚地懂得:1) TEC-XP+教学机的组合逻辑控制器主要由MACH器件组成。2) TEC-XP+教学机上已实现了29条基本指令。3) 应了解监控程序的A命令只支持基本指令,扩展指令应用E命令将指令代码写入到相应的存储单元中;不能用T、P命令单步调试扩展指令,只能用G命令执行有扩展指令的程序。4) 要明白TEC-XP+教学机支持的指令格式及指令执行流程分组情况;理解TEC-XP+教学机中已经设计好并正常运行的各类指令的功能、格式和执行流程、也包括控制器设计的
12、实现中的具体路线的控制信号的组成。5) 要明确自己要实现的指令功能、格式、执行流程设计中必须遵从的约束条件。为了完成自己设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确的内容,具体过程包括:1) 确定指令格式和功能,要受到教学机已有硬件的约束,应尽量与已实现指令的格式和分类办法保持一致。2) 划分指令执行步骤并设计每一步的执行功能,设计节拍状态的值,应参照已实现指令的处理办法来完成,特别注意的是,读取指令的节拍只能用原来已实现的,其他节拍的节拍状态也应尽可能地与原用节拍的状态保持一致和相近。3) 在指令流程表中真写每一个控制信号的状态值,基本上是个查表填数的过程,应特别仔细,
13、并有意识地体会这些信号的控制作用。4) 在给出来mach的源文件中添加扩展指令的控制信号的逻辑表达式,编译适配后下载到MACH器件中。5) 写一个包含你设计的指令的程序,通过运行该程序检查执行结果的正确性,初步判断你的设计是否正确;如果有问题,通过几种办法查出错误并改正,继续调试,直到完全正确。4实验内容1) 完成控制器部件的教学实验,主要内容是由学生自己设计几条指令的功能、格式和执行流程,并在教学机上实现、调试正确。2) 首先是看懂TEC-XP教学机的功能部件组成和线路逻辑关系,然后分析教学计算机中已经设计好并正常运行的几条典型指令的功能、格式和执行流程。3) 设计几条指令的功能、格式和执行
14、流程,并在教学计算机上实现、调试正确。4) 单条运行指令。查看指令的功能、格式和执行流程。5) 用监控程序的A、E命令编写一段小程序,观察运行结果。5实验步骤(1) 测试ADC指令(2)测试JMPR指令(3)测试JPS指令 (4)测LDRX、STRX指令例26实验思考题7实验心得经过一段时间汇编语言的学习,发现我们的实验箱与8686架构的汇编指令的二进制表示代码并不相同。而通过学习ADD,SHR,OUT,MVRD,JRC,RET,CALA等指令,对硬件运行流程以及汇编指令的控制和调试都有了新的进步。另外实验箱的A命令只支持基础命令,而不支持扩展指令,当需要用到扩展指令时,要用E命令输入,并且通
15、过G命令执行。这是后期实验需要注意的地方。 实验五:微程序控制器部件教学实验1实验目的 全面掌握计算机各部件组成及相互联接关系。 深入理解计算机微程序控制器的功能、组成知识。 深入的学习计算机各类典型指令的执行流程。 对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念。 学习微程序控制器的设计过程和相关技术。2实验设备与器材 TEC-XP+教学实验系统和仿真终端软件PCEC。3实验说明和原理制器设计是学习计算机总体组成和设计的最重要部分。要在TEC-XP16教学计算机完成这项实验,必须清楚地懂得: 1) TEC-XP+教学机的微程序控制器主要由微程序定序器AM2910、产生当前微地址
16、和下地 址的微控存和MACH器件组成。 2) TEC-XP+教学机上已实现了的全部基本指令和留给用户实现的19条扩展指令的控制信号都是由微控存和MACH给出的。 3) 应了解监控程序的A命令只支持基本指令,扩展指令应用E命令将指令代码写入到相应 的存储单元中;不能用T、P命令单步调试扩展指令,只能用G命令执行有扩展指令的 程序。 4) 要明白TEC-XP+教学机支持的指令格式及指令执行流程分组情况;理解TEC-XP+教学 机中已经设计好并正常运行的各类指令的功能、格式和执行流程、也包括控制器设计的 实现中的具体路线的控制信号的组成。 5) 要明确自己要实现的指令功能、格式、执行流程设计中必须遵
17、从的约束条件。为了完成自己设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确的内容,具体过程包括: a) 确定指令格式和功能,包括确定要用的操作码,指令中的其它字段的内容分配与使用, 要受到教学机已有硬件的约束,应尽量与已实现指令的格式和分类办法保持一致。 b) 按新指令的功能和格式、设计指令的执行流程。划分指令执行步骤并设计每一步的执行功能,设计微地址和下地址的取值,应参照已实现指令的处理办法来完成。c) 在指令流程表中真写每一个控制信号的状态值,基本上是个查表填数的过程,应特别仔细,并有意识地体会这些信号的控制作用。 d) 将设计好的微码,装入控制存储器的相应单元。 e)
18、写一个包含你设计的指令的程序,通过运行该程序检查执行结果的正确性,来初步判断你的设计是否正确;如果有问题,通过几种办法查出错误并改正,继续调试,直到完全正确。4实验内容1) 完成控制器部件的教学实验,主要内容是自己设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确。2) 首先是看懂TEC-XP+教学计算机的功能部件组成和线路逻辑关系,然后分析教学计算机中已经设计好并正常运行的几条典型指令的功能、格式和执行流程,注意各操作功能所对应的控制信号的作用。3) 设计几条指令的功能、格式和执行流程,并在教学机上实现、调试正确。4) 单条运行指令。查看指令的功能、格式和执行流程。5) 用监
19、控程序的A、E命令编写一段小程序,观察运行结果。5实验步骤与截图(1) 测试ADC指令(2) 测试CALR指令(3) 测试指令LDRA6思考题P66不能,A指令只是基本命令,扩展应用指令要用E指令将指令代码写入相应的存储单元中。7实思心得本次实验让我们对指令的格式、寻址方式以及指令系统有了一个总体概念,特别是对于扩展指令的认识与使用得到了加深,并且可以自主实现自设微码调用微指令,初步掌握了微程序控制器的设计过程。此外,我们通过对指令的执行,更为深入地知晓汇编典型指令的执行流程,有了感性的认识,减少了学习的枯燥。本次实验需要用到的单步运行指令较多,慢慢地习惯了对指令的调试以及内存或寄存器的查询。
20、还有,当我们使用扩展指令时,需要用E命令输入。实验六:输入/输出接口扩展实验1实验目的 了解串行接口与计算机主机之间的数据传送方。 理解串行接口芯片的内部组成的传送数据的运行方式。 了解串行接口在投入运行之前必须执行的初始化操作的作用及完成初始化操作的具体方案。2实验设备与器材 TEC-XP+教学实验系统和仿真终端软件PCEC。3实验说明和原理1) 串行通信是指外设和计算机间使用一根数据信号线,数据在一根数据信号线上按位进行传输,每一位数据都占据一个固定的时间长度。2) 这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,当然,其传输速度比并行传输慢。相比之下,由于高速率的要求,处于计
21、算机内部的CPU与串口之间的通讯仍然采用并行的通讯方式,所以串行口的本质就是实现CPU与外围数据设备的数据格式转换(或者称为串并转换器),即当数据从外围设备输入计算机时,数据格式由位 (bit)转化为字节数据;反之,当计算机发送下行数据到外围设备时,串口又将字节数据转化为位数据。3) 串行端口的本质功能是作为CPU和串行设备间的编码转换器。当数据从 CPU经过串行端口发送出去时,字节数据转换为串行的位。在接收数据时,串行的位被转换为字节数据。4实验内容1) 为扩展I/O口选择一个地址,即将与COM2接口相连的8251的/CS与标准有I/O/CS的一排插孔中的一个相连。2) 将COM2口与终端或
22、另一台运行有PCEC16的PC机的串口相连。3) 用监控程序的A命令,编写一段小程序,先初始化COM2口,再身COM2口发送一些字符,也可从COM2口接收一些字符,或实现两个串口的通信。5实验步骤与PC端截图甲方乙方 6思考题7实验心得本次实验主要是实现两个PC机的串行通讯,其实过程有点类似于单片机与PC机的串口通讯,而学生之前尝试使用C语言实现单片机与PC机之间的串口信息传输,因此本次使用汇编语言实现两个PC机之间的串行通讯多少有点熟悉,并且通过更细致的指令编写,深入地学会串行通讯的底层实现过程。另外,实验进行时曾有一台PC机的COM口都被占用,具体解决方法由于当时课上时间较为紧迫,没有想出
23、来,因此只能另外换机再试。实验七:中断实验1实验目的 加深理解计算机系统中断的工作原理及处理过程。 学习和掌握中断产生、响应、处理等技术。 掌握中断服务子程序的编写要点,进行一次硬、软件的综合调试。2实验设备与器材 TEC-XP+教学实验系统和仿真终端软件PCEC。3实验说明和原理1) 要求中断隐指令中执行关中断功能,如果用户中断服务程序允许被中断,必须 在中断程序中执行EI开中断命令。2) 教学机的中断系统共支持三级中断,由三个无锁按键确定 从右到左依次为一、二、三级中断,对应的P1、P0的编码分别是01、10、11,优先级也依次升高,这决定 了它们的中断向量,为XXX4、XXX8、XXXC
24、。可以看到,每级中断实际可用空间只有四个字节,故这个空间一般只存放一条转移指令,而真正的用户中断服务程序则存放在转移指令所指向的地址。3) 用户需扩展中断隐指令、开中断指令、产中断指令、中断返回指令及其节拍。4实验内容1) 扩展中断隐指令,为中断隐指令分配节拍,中断隐指令用到12个节拍,为了和一般指令相区别,应将其节拍T3设计为1.2) 扩展开中断指令EI、关中断指令DI、中断返回指令IRET。3) 确定中断向量地址。中断微量的高12位由开关确定为(0001001000000)。三级中断对应的中断微量为2404H、2408H、240CH。当有中断请求且被响应后,将执行存放在该中断的中断微量所指
25、向的内存区的指令。4) 真写中断微量表。在上述2404H、2408H、240CH地址写入三条JR转移指令,JR指令的OFFSSET是-128127之间,但在PCEC16中输入时,用户不需要计算偏移量,直接输入要转向的绝对地址即可。5) 编写中断服务程序。中断服务程序可以放在中断微量表之后,中断服务程序可以实现在程序正常运行时在计算机屏幕上显示与优先级相对应的不同字符。6) 写主程序。可编写一死循环,要求先开中断。5实验步骤与中断程序6思考题7实验心得由于本次实验课前,计算机组成原理课堂上进行了关于中断机制,中断向量表的学习,因此在本次实验课上得心应手。本次除了敲上课本所附代码外,自行设计了一个
26、中断程序,虽然过程中遇到些许麻烦,不过最终得以解决,过程中,对中断的产生,响应以及处理机制加深了了解和熟悉。在学习中断时,应学会主动制造错误,如除法溢出等出发中断,然后逐步了解其响应过程,以及通过中断向量表调用内存中自己所写入的程序代码,从而加深对中断整个过程的了解。从单片机中的学习,清楚明白到中断机制的存在为底层编程予以极大方便和灵活性,因此熟悉中断机制是我们深入学习嵌入式系统的前提。实验九:FPGA芯片实现非流水线的CPU系统(综合实验)1实验目的 进一步熟悉教学计算机的指令格式、指令编码、寻址方式和指令功能等内容。 进一步熟悉教学计算机的总体组成和各个部件的功能,理解控制器部件在计算机整
27、机中的关键作用; 进一步理解和指令执行步骤的划分方案; 进一步熟悉教学计算机的硬连线控制器各个控制命令的控制功能,学习用VHDL语言描述节拍发生器和控制信号产生部件的功能。 进一步理解与熟悉在TH-union教学计算机控制器中处理原有指令和扩展指令的方案,提高对控制器功能能描述的理解程序。2实验设备与器材 TEC-XP+教学实验系统和仿真终端软件PCEC。3实验说明和原理用VHDL语言来描述的CPU的源码文件,经过专用工具软件的编译和综合后,经专用烧录器,把程序下载到FPGA芯片中,就得到了能够正常运行的CPU系统。4实验内容控制器实验可以在两个层次上进行:1) 第一个层次属于观察、验证性的实
28、验,即通过多种方式,察看教学计算机指令的执行步骤、运行结果、各组控制信号在每一个执行步骤中的状态、指令之间的衔接等有关内容。这个层次的实验,重点在于学懂教学计算机中已有的设计结果,把实现基本指令的VHDL语言程序中的语句描述与教学机的运行结果对应清楚。2) 第二个层次是学生进行自己的设计与实现新的扩展指令的实验,即在教学机系统已有指令的基础上,由学生自己添加若干条新的指令进行,包括定义指令格式、功能。划分指令执行步骤和确定每一步的功能,确定每一执行步骤使用的全部控制信号的状态值,使用VHDL语句把新的设计结果描述正确并添加到已有的源程序代码中去,编译、下载并调试正确,写一个包含已有指令和刚刚实现的指令的小程序,检查运行结果的正确性,若发现错误则找出原因并设法改正,直到全部正确为止。5实验步骤与烧录过程6实验思考与心得由本次实验可知,FPGA支持基本汇编指令集。经过基本汇编指令微码的对比可知,其实对于FPGA、8086架构、单片机、ARM或者是最近的的灵动系统CPU,它们都有各自的汇编指令集,而FPGA系统则在指令系统、使用的软件资源等方面与小规模期间构成的实验箱兼容,能够使软件资源得到充分的应用,同时提高动手和学习能力,尽管不同的CPU架构之间为知识的应用也带来了麻烦。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1