计算机体系结构 实验报告2 华东理工大学

合集下载

计算机体系结构实验报告

计算机体系结构实验报告

计算机体系结构实验报告实验目的:1.掌握计算机体系结构的基本概念和组成部分2.学会使用模拟器对计算机性能进行测试和优化3.理解计算机指令的执行过程和流水线工作原理4.掌握计算机性能指标的测量方法和分析技巧实验材料和工具:1.一台个人电脑2.计算机体系结构模拟器3.实验指导书和实验报告模板实验步骤:1.搭建计算机系统:根据实验指导书提供的指导,我们搭建了一个简单的计算机系统,包括中央处理器(CPU)、内存和输入输出设备。

2.编写测试程序:我们编写了一段简单的测试程序,用于测试计算机系统的性能。

3.运行测试程序:我们使用模拟器运行测试程序,并记录测试结果。

模拟器可以模拟计算机的执行过程,并提供各种性能指标的测量功能。

4.分析和优化:根据测试结果,我们对计算机系统的性能进行分析,并尝试优化系统设计和测试程序,以提高性能。

实验结果:通过测试程序的运行和性能指标的测量,我们得到了如下结果:1.计算机的时钟频率:根据模拟器显示的结果,我们得知计算机的时钟频率为1000MHz。

2. 指令执行时间:我们计算了测试程序的平均执行时间,得到了结果为5ms。

4.流水线效率:我们通过模拟器提供的流水线分析功能,得到了计算机流水线的平均效率为80%。

实验分析:根据测试结果1.提高时钟频率:通过增加时钟频率可以加快计算机的运行速度。

我们可以尝试调整计算机硬件的设计和制造工艺,提高时钟频率。

2.优化指令执行过程:我们可以通过优化指令的执行过程,减少执行时间。

例如,并行执行多个指令、增加指令缓存等。

3.提高流水线效率:流水线是提高计算机性能的关键技术,我们可以通过增加流水线级数和优化流水线结构,提高流水线效率。

4.增加并行计算能力:并行计算是提高计算机性能的重要途径,我们可以尝试增加计算机的并行计算能力,例如增加处理器核心的数量。

实验总结:通过本次实验,我们深入了解了计算机体系结构的工作原理和性能指标。

通过模拟器的使用,我们学会了对计算机性能进行测试和进行性能优化的方法。

计算机体系结构实验

计算机体系结构实验

计算机体系结构实验
计算机体系结构实验是计算机科学与技术专业中的一门实
践课程,旨在让学生通过实际操作来深入了解计算机体系
结构的原理和实现。

在这门课程中,学生通常会进行一系列的实验,主要包括
以下内容:
1. 单周期CPU设计与实现:学生会实际设计和实现一个简单的单周期CPU,包括指令的解码、运算和存储等功能,
了解CPU的工作原理。

2. 流水线CPU设计与实现:学生会进一步设计和实现一个流水线CPU,通过将指令的执行过程划分为多个阶段,并
行处理不同指令,提高CPU的工作效率。

3. 缓存设计与实现:学生会学习和实践缓存的原理和实现,包括缓存的映射方式、替换策略和写策略等,以及如何通
过缓存来提高计算机的性能。

4. IO设备的编程和控制:学生会学习如何使用IO设备,
包括键盘、鼠标、显示器、磁盘等,并实践编程和控制这
些设备,实现输入输出功能。

5. 总线设计与实现:学生会学习计算机系统中各个组件之间的通信方式和总线的设计原理,以及如何实现总线控制和数据传输等功能。

通过这些实验,学生可以深入了解计算机体系结构的各个方面,从硬件层面理解计算机的工作原理,同时也能锻炼实践操作和解决问题的能力。

计算机系统结构实验报告

计算机系统结构实验报告

计算机系统结构实验报告一、实验目的:1、熟练掌握WinDLX模拟器的操作和使用2、熟悉DLX指令集结构及其特点二、实验内容:1、用WinDLX模拟器执行求阶乘程序fact.s。

这个程序说明浮点指令的使用。

该程序从标准输入读入一个整数,求其阶乘,然后将结果输出。

该程序中调用了input.s 中的输入子程序,这个子程序用于读入正整数。

2、用WinDLX模拟器执行求最大公约数程序gcm.s。

该程序从标准输入读入两个整数,求他们的最大公约数,然后将结果写到标准输出。

该程序中调用了input.s 中的输入子程序。

3、通过上述使用WinDLX,总结WinDLX的特点。

三、实验结果:fact.s程序代码:.dataPrompt: .asciiz "An integer value >1 : "PrintfFormat: .asciiz "Factorial = %g\n\n".align 2PrintfPar: .word PrintfFormatPrintfValue: .space 8.text.global mainmain:;*** Read value from stdin into R1addi r1,r0,Promptjal InputUnsigned;*** init valuesmovi2fp f10,r1 ;R1 -> D0 D0..Count registercvti2d f0,f10addi r2,r0,1 ;1 -> D2 D2..resultmovi2fp f11,r2cvti2d f2,f11movd f4,f2 ;1-> D4 D4..Constant 1;*** Break loop if D0 = 1Loop: led f0,f4 ;D0<=1 ?bfpt Finish;*** Multiplication and next loopmultd f2,f2,f0subd f0,f0,f4j LoopFinish: ;*** write result to stdoutsd PrintfValue,f2addi r14,r0,PrintfPartrap 5;*** endtrap运行结果:gcm.s程序代码:.data;*** Prompts for inputPrompt1: .asciiz "First Number:"Prompt2: .asciiz "Second Number: ";*** Data for printf-TrapPrintfFormat: .asciiz "gcM=%d\n\n".align 2PrintfPar: .word PrintfFormatPrintfValue: .space 4.text.global mainmain:;*** Read two positive integer numbers into R1 and R2addi r1,r0,Prompt1jal InputUnsigned ;read uns.-integer into R1add r2,r1,r0 ;R2 <- R1addi r1,r0,Prompt2jal InputUnsigned ;read uns.-integer into R1Loop: ;*** Compare R1 and R2seq r3,r1,r2 ;R1 == R2 ?bnez r3,Resultsgt r3,r1,r2 ;R1 > R2 ?bnez r3,r1Greaterr2Greater: ;*** subtract r1 from r2sub r2,r2,r1j Loopr1Greater: ;*** subtract r2 from r1sub r1,r1,r2j LoopResult: ;*** Write the result (R1)sw PrintfValue,r1addi r14,r0,PrintfPartrap 5;*** endtrap 0运行结果:四、实验总结在本次实验过程当中,winDLX里的程序是一种汇编语言,通过对寄存器和条件转移来实现程序的实现。

计算机系统结构实验报告

计算机系统结构实验报告

计算机系统结构实验报告实验目的:掌握计算机系统的基本结构和工作原理,了解计算机系统的组成部分及其相互关系。

实验仪器和材料:计算机硬件设备(主机、硬盘、内存、显卡等)、操作系统、实验指导书、实验报告模板。

实验原理:实验步骤:1.搭建计算机硬件设备,将主机、硬盘、内存、显卡等组装连接好。

2. 安装操作系统,如Windows、Linux等。

3.启动计算机,进入操作系统界面。

4.打开任务管理器,查看CPU的使用情况。

5.打开任务管理器,查看内存的使用情况。

6.运行一些应用程序,观察CPU和内存的使用情况。

7.尝试使用输入输出设备,如键盘、鼠标等。

实验结果:通过实验,我们可以观察到计算机系统的硬件部分和软件部分的工作情况。

通过任务管理器,我们可以查看到CPU的使用情况和内存的使用情况。

在运行应用程序时,我们可以观察到CPU和内存的使用情况的变化。

通过使用输入输出设备,我们可以与计算机进行交互操作。

实验分析:从实验结果可以看出,计算机系统的硬件部分和软件部分都是相互关联的。

CPU作为计算机的核心部件,负责执行各种指令,通过数据传输和计算来完成各种操作。

而内存则用于存储数据和程序,通过读写操作来完成对数据的处理。

硬盘则用于长期存储数据。

操作系统则是计算机系统的管理者,通过调度CPU和内存的使用来实现对计算机资源的分配。

结论:计算机系统是由硬件和软件部分组成的,其中硬件部分包括CPU、内存、硬盘等,软件部分包括操作系统、应用程序等。

计算机系统通过CPU 的运算和数据传输来实现各种操作。

通过实验,我们可以观察到计算机系统的工作情况,并深入了解计算机系统的组成和工作原理。

实验总结:通过本次实验,我们对计算机系统的基本结构和工作原理有了更深入的了解。

实验中,我们搭建了计算机硬件设备,安装了操作系统,并通过观察和分析实验结果,进一步认识到计算机系统的组成部分和各部分之间的相互关系。

通过操作输入输出设备,我们还实践了与计算机进行交互操作的过程。

计算机体系结构实验报告二

计算机体系结构实验报告二

实验二结构相关一、实验目得:通过本实验,加深对结构相关得理解,了解结构相关对CPU性能得影响。

二、实验内容:1、用WinDLX模拟器运行程序structure_d、s 。

2、通过模拟,找出存在结构相关得指令对以及导致结构相关得部件。

3、记录由结构相关引起得暂停时钟周期数,计算暂停时钟周期数占总执行周期数得百分比。

4、论述结构相关对CPU性能得影响,讨论解决结构相关得方法。

三、实验程序structure_d、sLHI R2, (A>>16)&0xFFFF 数据相关ADDUI R2, R2, A&0xFFFFLHI R3, (B>>16)&0xFFFFADDUI R3, R3, B&0xFFFFADDU R4, R0, R3loop:LD F0, 0(R2)LD F4, 0(R3)ADDD F0, F0, F4 ;浮点运算,两个周期,结构相关ADDD F2, F0, F2 ; < A stall is found (an example of how to answeryour questions)ADDI R2, R2, #8ADDI R3, R3, #8SUB R5, R4, R2BNEZ R5, loop ;条件跳转TRAP #0 ;; Exit < this is a ment !!A: 、double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10B: 、double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10四、实验过程打开软件,load structure_d、s文件,进行单步运行。

经过分析,此程序一次循环中共有五次结构相关。

(Rstall 数据相关Stall 结构相关)1)第一个结构相关:addd f2,,f0,f2由于前面得数据相关,导致上一条指令addd f0,f0,f4暂停在ID阶段,所以下一条指令addd f2,,f0,f2发生结构相关,导致相关得部件:译码部件。

计算机结构与组成实验报告2

计算机结构与组成实验报告2

大连理工大学本科实验报告课程名称:计算机结构与组成原理实验报告学院(系):软件学院专业:软件工程班级:0726学号:200792055学生姓名:李小梅2009年4月27日实验项目列表目录实验一部件实验存储器和总线传输实验一、实验目的二、实验原理三、实验要求四、实验设备五、实验步骤六、实验结果与分析七、实验体会实验二8位微程序控制计算机设计实验第一节预习报告一、8位微程序控制计算机的工作原理二、2位乘法程序的流程图第二节实验报告一、实验目的二、实验原理三、实验原理图四、实验步骤五、指令流程表六、微指令编码表七、指令集文件八、2位乘法程序流程图九、实验程序十、实验体会学院(系) 软件学院 专业 软件工程 班级 0726 姓名 李小梅 学号 200792055 组 实验时间 实验室 实验台 指导教师签字 成绩实验一 部件实验 存储器和总线传输实验一.实验目的 了解总线的作用及数据传输原理二.实验要求 把两个数据分别写入373、374中,在使用RAM 作为中间单元来交换这两个数据。

实验完成后,将以上两个寄存器中数据置零 三.实验原理1根据数据传输原理,需通过寄存器以及内总线从外设向控存写数据,同时根据脉冲信号的有效性来控制输入\输出以及交换操作的进行,并且以三态门来隔离总线对数据的干扰。

2.实验框图RAMDB244 373377A9……A0MCLKMENMWR MOECI(7) CI(0)OE374开关输入显示灯四.实验步骤1.下载busv1.bit文件到XC2S150中五.实验结果与分析1.第一次上拔s12时,灯L0-L7中L0-L4亮;说明数据11110000已送入373.2.第一次上拔s9时,灯L0-L7中L1,L2,L3,L7四个灯亮;说明01110001已送入374.3.第二次上拔s12时,灯L0-L7中L1,L2,L3,L7四个灯亮;第二次上拔s9时,灯L0-L7中L0-L4亮;说明373,374中的数据交换成功六.实验体会通过这次实验,我对计算机内部数据的存储,数据在总线上的传输有了进一步了解,以及对VHDL语言有了初步的了解。

大学计算机2实验报告

大学计算机2实验报告

大学计算机2实验报告大学计算机2实验报告引言大学计算机2实验是计算机专业学生必修的一门实践课程,旨在培养学生的实际动手能力和解决问题的能力。

通过实验,学生可以将在课堂上学到的理论知识应用到实际中,加深对计算机原理和技术的理解。

本篇实验报告将对大学计算机2实验的内容、实验过程以及实验结果进行详细描述和分析。

实验内容大学计算机2实验的内容主要包括以下几个方面:汇编语言程序设计、计算机组成原理、操作系统原理、网络通信等。

在实验中,我们需要完成一系列的实际操作,如编写汇编语言程序、设计简单的计算机系统、实现操作系统的基本功能等。

通过这些实验,我们可以更好地理解计算机的工作原理和内部结构,提高对计算机系统的整体认识。

实验过程在实验过程中,我们首先需要学习相关的理论知识,包括计算机指令集、寄存器的功能、内存的组织方式等。

然后,我们会根据实验要求进行实际的操作。

例如,在汇编语言程序设计的实验中,我们需要根据给定的要求编写相应的程序,并通过模拟器进行调试和测试。

在计算机系统设计的实验中,我们需要根据给定的硬件要求,设计并实现一个简单的计算机系统。

在操作系统实验中,我们需要实现操作系统的基本功能,如进程管理、内存管理、文件系统等。

在网络通信实验中,我们需要学习网络协议的基本原理,并通过实际操作进行网络通信的测试。

实验结果通过实验,我们可以得到一些实验结果。

例如,在汇编语言程序设计的实验中,我们可以得到程序的运行结果,并进行相应的分析。

在计算机系统设计的实验中,我们可以得到一个可以运行的计算机系统,并测试其性能和稳定性。

在操作系统实验中,我们可以得到一个具备基本功能的操作系统,并测试其对进程管理、内存管理、文件系统等方面的支持程度。

在网络通信实验中,我们可以测试网络通信的可靠性和速度,并进行相应的优化。

实验心得通过大学计算机2实验,我深刻体会到了理论与实践的结合的重要性。

在实验中,我们不仅要掌握相关的理论知识,还要能够将其应用到实际中。

计算机组织与体系结构实验报告

计算机组织与体系结构实验报告

实验一基本运算器实验一、实验目的(1)了解运算器的组织结构。

(2)掌握运算器的工作原理。

二、实验设备PC机一台,TD-CMA实验系统一套。

三、实验原理运算器含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A和暂存器B,三个部件同时接受来自A和B的数据,各部件对操作数进行何种运算有控制信号S3、S2、S1、S0和CN来决定,任何时候,多嘴选择开关只选择三部件中的一个部件的结果作为ALU的输出。

是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU零标志。

ALU中多有模块集中成一片CPLD中。

运算器逻辑功能表:四、实验步骤1.连接实验电路并检查无误。

图中将用户需要连接的信号线用小圆圈标明(其它实验相同,不再说明)。

2.KK2设置为单拍,KK1和KK3为运行。

3. 开电源开关。

4.用输入开关向暂存器DR1 置数。

①拨动输入开关形成二进制数01100101(或其它数值)。

(数据显示灯亮为0,灭为1)。

②使SWITCH UNIT 单元中的开关SW-B=0(打开数据输入三态门)、ALU-B=1(关闭 ALU 输出三态门)、LDDR1=1、LDDR2=0。

③按动微动开关KK2,则将二进制数01100101 置入DR1 中。

5.用输入开关向暂存器DR2 置数。

①拨动输入开关形成二进制数10100111(或其它数值)。

②SW-B=0、ALU-B=1 保持不变,改变LDDR1、LDDR2,使LDDR1=0、LDDR2=1。

③按动微动开关KK2,则将二进制数10100111 置入DR2 中。

6.该变运算器的功能设置观察输出。

并将结果填入表中。

五、实验结果六、实验心得体会与收获通过本次实验我了解了运算器的组成结构并掌握了运算器的工作原理。

学习了运算器的输出跟数据总线相连,还有两个输入端通过两个锁存器也与数据总线相连。

实验总是不厌其烦的调试,认真地把每个数据记录下来,同时还需要仔细分析数据的准确性和实用性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验名称多通路运算器和寄存器堆实验地点信息楼420
实验日期2012-12-7
一、实验目的
1.了解多通路的运算器与寄存器堆的组成结构。

2.掌握多通路的运算器与寄存器堆的工作原理及设计方法。

二、实验设备
PC 机一台, TD-CMX 实验系统一套。

三、实验原理
1.ALU&REG 单元的结构
ALU&REG单元由运算器和双端口寄存器堆构成,通过不同的控制信号SEL1、SEL0 产生不同结构的运算器。

运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A 和暂存器B。

SEL0 和SEL1 用于选择运算器和寄存器堆的通路:
(1)当SEL1=0、SEL0=0,ALU 的输出D7…D0、REG(右口)的输出OUT7…OUT0 和ALU与REG 的输入IN7…IN0 接到CPU 内总线上时,如图1-2-1 所示,寄存器堆只能从右口进行操作,相当于只有一组控制线的单端口寄存器堆,一般计算机组成原理实验涉及到的运算器和寄存器就是采用这种结构。

(2)当SEL1=1、SEL0=0,REG(右口)的输出OUT7…OUT0 和ALU 与REG(右口)的输入IN7…IN0 接到CPU 内总线上时,运算器和双端口寄存器堆的结构如图1-2-2 所示,寄存器堆由两组控制信号来分别进行控制,每组控制信号都可以相对独立的对寄存器堆进行读写操作,同时增加了执行专用通道A 总线,以利于提高指令执行的效率。

(3)当SEL1=1、SEL0=1,REG(右口)的输出OUT7…OUT0 和ALU 与REG(右口)的输入IN7…IN0 接到CPU 内总线上时,运算器和双端口寄存器堆的结构如图1-2-3 所示,在双通道双端口运算器和寄存器堆的基础上增加了暂存器旁路,把运算结果写回到寄存器堆的同时也可以写到暂存器A、暂存器B 中。

由于在运算型指令中把运算的结果写到通用寄存器中的指令很多,占运算型指令的大多数,发生通用寄存器数据相关的概率相当高,因此,可以用硬件设置专用路径来解决这种通用寄存器数据相关问题。

上面介绍了运算器和寄存器堆的三种典型的数据通路图,在计算机组成原理这门课程中我们已经对运算器有了初步的了解,明白运算器的主要功能是完成算术和逻辑类运算。

在系统结构这门课程中经过进一步的研究,还会了解到运算器与寄存器堆的结构对于计算机系统的设计有着重要的作用,对于计算机性能的优劣有着很大的影响。

2.ALU&REG 单元的应用
在了解运算器与寄存器堆结构的基础上,基于如图1-2-3 所示的双通道双端口运算器和双端口寄存器堆的结构可以设计一段程序:从IN 单元读入一个数据,存入R0;从IN 单元读入另一个数据,存于R1;将R0 和R1 相加,结果存于R0;将R0 和R1 相加,结果存于R3,同时打入暂存器A 中;再将R0 的值送OUT 单元显示。

四、实验操作及运行结果
(1)实验步骤
1、把时序与操作台单元的“MODE”短路块插上,使系统工作在四节拍模式,按实验连接图接线。

注意:连线时实验箱电源要处于关闭状态。

2、确保接线正确后,将实验箱连到电脑:电源线+并口Jtag下载线(打印机口),并打开实验箱电源。

3、在软件Quartus II 8.0中选择“File->Open Project”选项,按照以下路径查找实验过程中需要下载到FPGA中的数据“C:\TangDu\CMX\FPGA\ALU&REG \ ALU&REG.qpf(.sof)”,打开该文件后,单击软件中的“Programmer”选项,单击“Start”完成下载。

如果下载成功在界面Progress中可以看到100%的标志字样。

4、用串口电缆连接实验箱和电脑打印机口,接通电源,打开软件CMX,进行串口测试(如果串口线未连接或者串口线故障则自动弹出错误信息对话框):端口→串口选择→COM1或者COM2;然后,测试串口通讯是否成功:端口→串口测试。

5、如果串口通讯成功,在PC 机上运行TD-CMX,进入联机软件界面,选择菜单命令“【实验】—【ALU&REG实验】”,打开数据通路图。

6、首先按CON单元的CLR开关进行系统清零,状态机为S0态。

然后,采用单节拍运行方式
来观察数据流通。

1)用连接成的双通道双端口运算器和双端口寄存器堆的结构实现以下一段程序:从IN 单元读入一个数据,存入R0;从IN 单元读入另一个数据,存于R1;将R0 和R1 相加,结果存于R0;将R0 和R1 相加,结果存于R3,同时打入暂存器A 中;再将R0 的值送OUT 单元显示。

2)根据指令要求,得出用时钟进行驱动的状态机描述,即得出其有限状态机
S0:空操作,系统复位后的状态
S1:IN->R0;从IN 单元往R0 中打一个数
S2:IN->R1; 从IN 单元往R1 中打一个数
S3:R0 ->A, R1 ->B;同时把R0、R1 中的数打入暂存器A、B 中
S4:A+B->R0;将A+B 的结果送往R0
S5:A+B->R3,A+B->A; 增加暂存器旁路,将A+B 的结果送往R3 的同时打入暂存器A中S6:R0->OUT;把R0 中的数送入输出单元显示
3)每个状态运行4个周期(T1—T4),即每个状态按4次单节拍运行按钮。

请在S1和S2状态,通过IN单元的开关分别输入两个数(比如1和3)。

观察数据通路图中数据的变化,并检查是否与状态的描述相符合。

最后观察OUT液晶单元是否显示正确(如果从IN 单元输入的两个数分别为1和3,则OUT单元输出应该为4)。

7、当模型机执行完一遍后,检查OUT 单元显示的数是否正确,按下CON 单元的总清按
钮CLR,改变IN 单元的值,再次执行机器程序,从OUT 单元显示的数判别程序执行是否正确。

(2)实验结果
五、实验中出现的问题和解决方法
问题1:接线问题
解决方法:本试验我自认为是这三个实验里连线最复杂的一个,因为开始的时候小组其他的两个同学连的线,后来实验执行不成功,所以我们又检查了一下连线,虽然找到了几个错误但是仍然不成功,不得不在找一遍,最终发现了加法运算器执行不正确的地方了。

问题2:串口问题
解决方法:使用新的串口需要根据实验操作指示重新安装USB转串口驱动程序。

问题3:ID问题
解决3:每次实验的 ID都不一致所以需要根据实验操作指示做相关修改。

相关文档
最新文档