计算机系统结构实验1预习报告
计算机体系结构实验报告

计算机体系结构实验报告实验目的:1.掌握计算机体系结构的基本概念和组成部分2.学会使用模拟器对计算机性能进行测试和优化3.理解计算机指令的执行过程和流水线工作原理4.掌握计算机性能指标的测量方法和分析技巧实验材料和工具:1.一台个人电脑2.计算机体系结构模拟器3.实验指导书和实验报告模板实验步骤:1.搭建计算机系统:根据实验指导书提供的指导,我们搭建了一个简单的计算机系统,包括中央处理器(CPU)、内存和输入输出设备。
2.编写测试程序:我们编写了一段简单的测试程序,用于测试计算机系统的性能。
3.运行测试程序:我们使用模拟器运行测试程序,并记录测试结果。
模拟器可以模拟计算机的执行过程,并提供各种性能指标的测量功能。
4.分析和优化:根据测试结果,我们对计算机系统的性能进行分析,并尝试优化系统设计和测试程序,以提高性能。
实验结果:通过测试程序的运行和性能指标的测量,我们得到了如下结果:1.计算机的时钟频率:根据模拟器显示的结果,我们得知计算机的时钟频率为1000MHz。
2. 指令执行时间:我们计算了测试程序的平均执行时间,得到了结果为5ms。
4.流水线效率:我们通过模拟器提供的流水线分析功能,得到了计算机流水线的平均效率为80%。
实验分析:根据测试结果1.提高时钟频率:通过增加时钟频率可以加快计算机的运行速度。
我们可以尝试调整计算机硬件的设计和制造工艺,提高时钟频率。
2.优化指令执行过程:我们可以通过优化指令的执行过程,减少执行时间。
例如,并行执行多个指令、增加指令缓存等。
3.提高流水线效率:流水线是提高计算机性能的关键技术,我们可以通过增加流水线级数和优化流水线结构,提高流水线效率。
4.增加并行计算能力:并行计算是提高计算机性能的重要途径,我们可以尝试增加计算机的并行计算能力,例如增加处理器核心的数量。
实验总结:通过本次实验,我们深入了解了计算机体系结构的工作原理和性能指标。
通过模拟器的使用,我们学会了对计算机性能进行测试和进行性能优化的方法。
计算机系统结构实验报告

电子科技大学实验报告结果分析:观察三到九周期的ealu信号分别为(10,1,1,10,1,10,10),第九个周期的ealu为10,该周期执行的指令是sub r2 r1 r3;可见第一条指令赋值r1=10;第二条指令赋值r2=1;所以最后一条指令sub r1 r1 r2执行后结果为9,符合条件。
当有数据相关时,就会出问题,再观察第五、六、七两个周期,指令的执行结果均为1。
故该程序不能解决数据相关问题。
(二) 汇编器实现2.1自行设计与所给出的流水线指令的汇编格式,在下表中写出。
指令指令意义Op[31:26] Op2 [25:20] [19:15] [14:10] [9:5] [4:0]如上图所示,相邻的两条指令中,如果第二条指令的两个源操作数寄存器与上一条指令的目的操作数寄存器相同,那么第二条指令在译码周期从寄存器堆中取源操作数值的时候,上一条指令还只在执行周期,还没有将最后结果写回到相应的寄存器中,因此第二条指令取如上图所示,在直接相邻的两条产生数据相关的指令之间插入三条空指令,这样在第二条指令译码之前,第一条指令已经将结果写回,第二条指令取到的源操作数的值是最新的值,数据相关就消除了。
以上情况针对相邻的两条产生数据相关指令的分析,而对于中间隔了一条或两条无数据上图左边部分就是汇编器实现部分的流程图,在此基础上进行扩展,即如箭头所指方向,中间两步替代为右边部分。
)测试程序指令:xor r2, r2, r2add r3, r2, r1xor r2, r2, r2addi r1, r1, 20如上图所示,在产生数据相关的指令前插入了空指令“addi r0 r0 0”。
在xilinx中的仿真结果:。
计算机系统结构实验报告

计算机系统结构实验报告实验目的:掌握计算机系统的基本结构和工作原理,了解计算机系统的组成部分及其相互关系。
实验仪器和材料:计算机硬件设备(主机、硬盘、内存、显卡等)、操作系统、实验指导书、实验报告模板。
实验原理:实验步骤:1.搭建计算机硬件设备,将主机、硬盘、内存、显卡等组装连接好。
2. 安装操作系统,如Windows、Linux等。
3.启动计算机,进入操作系统界面。
4.打开任务管理器,查看CPU的使用情况。
5.打开任务管理器,查看内存的使用情况。
6.运行一些应用程序,观察CPU和内存的使用情况。
7.尝试使用输入输出设备,如键盘、鼠标等。
实验结果:通过实验,我们可以观察到计算机系统的硬件部分和软件部分的工作情况。
通过任务管理器,我们可以查看到CPU的使用情况和内存的使用情况。
在运行应用程序时,我们可以观察到CPU和内存的使用情况的变化。
通过使用输入输出设备,我们可以与计算机进行交互操作。
实验分析:从实验结果可以看出,计算机系统的硬件部分和软件部分都是相互关联的。
CPU作为计算机的核心部件,负责执行各种指令,通过数据传输和计算来完成各种操作。
而内存则用于存储数据和程序,通过读写操作来完成对数据的处理。
硬盘则用于长期存储数据。
操作系统则是计算机系统的管理者,通过调度CPU和内存的使用来实现对计算机资源的分配。
结论:计算机系统是由硬件和软件部分组成的,其中硬件部分包括CPU、内存、硬盘等,软件部分包括操作系统、应用程序等。
计算机系统通过CPU 的运算和数据传输来实现各种操作。
通过实验,我们可以观察到计算机系统的工作情况,并深入了解计算机系统的组成和工作原理。
实验总结:通过本次实验,我们对计算机系统的基本结构和工作原理有了更深入的了解。
实验中,我们搭建了计算机硬件设备,安装了操作系统,并通过观察和分析实验结果,进一步认识到计算机系统的组成部分和各部分之间的相互关系。
通过操作输入输出设备,我们还实践了与计算机进行交互操作的过程。
计算机组成与结构实验报告1 实验一: EDA入门

大学实验报告2018年5月21日课程名称:计算机组成与结构实验实验名称:实验一: EDA入门班级及学号:姓名:同组人:签名:指导教师:指导教师评定:一、实验目的:了解并初步掌握使用QuartusⅡ软件集成开发工具进行专用硬件电路设计的工作过程;了解并初步掌握使用硬件描述语言(VHDL)表述电路功能设计;了解并初步掌握使用时序仿真方法验证电路逻辑功能;了解并初步掌握使用GW48实验台对设计电路进行硬件下载配置和测试。
二、实验任务:1.首先利用QuartusⅡ完成“2选1多路选择器”电路的VHDL语言表达描述;2.设计时序仿真测试激励波形信号并进行电路功能的仿真测试;3.完成“2选1多路选择器”电路的硬件下载编程;4.设计硬件测试方案,配置试验台测试环境,进行硬件测试;5.实验完成,写出实验报告三、实验原理:本实验通过Quartus II软件,编程设计硬件电路功能,在一片FPGA(型号EP1C6Q240C8)可编程芯片上,制作成一块具有“二选一多路选择器”功能的专用电路器件。
测试验证设计电路功能是在GW48实验系统上进行,该实验系统通过改变连线和软件配置可支持多种电路试验。
本实验选用电路模式NO.5。
“2选1多路选择器”电路原理图及逻辑表达式如下:四、实验步骤:第一阶段:建立工程,输入设计文件该电路可用硬件描述语言VHDL表达如下:ENTITY mux21a ISPORT(a,b,s:IN BIT;y:OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux21a ISBEGIN图3.1 “2选1多路选择器”原理图和逻辑表达PROCESS(a,b,s)BEGINIF s ='0' THEN y<= a;ELSE y<=b;END IF;END PROCESS;END ARCHITECTURE one;第二阶段:编译第三阶段:时序仿真仿真解释:a,b输入端,s是控制端,y是输出端。
计算机系统结构实验报告模板

计算机系统结构实验报告
班级
3班
实验日期
3.28
实验成绩
姓名
王志刚
学号
23020112204884
实验名称
指令调度和分支延迟
实
验
目
的
、
要
求
实验目的:
加深对循环级并行性、指令调度技术、循环展开技术以及寄存器换名技术的理解;
调度前代码:
loop:
ADDI $r1,$r1,1
MUL $r2,$r1,$r1
ADDIU $r4,$r4,-1
BGTZ $r4,loop
调度后代码:
loop:
ADDI $r1,$r1,1
ADDI $r2,$r1,1
MUL $r5,$r1,$r1
MUL $r6,$r2,$r2
ADDI $r3,$r2,1
3、选择“配置”--“流水方式”选项;
4、用指令调度解决流水线中的数据冲突
(1)启动MIPSsim;.s;
(3)关闭定向功能,“配置”—“定向”;
(4)执行载入程序,通过查看统计数据与始终周期图,找出并记录程序执行过程中各种冲突的次数没发生冲突的指令组合以及程序执行的总周期数。
ADD $r18,$r16,$r1;(发生结构冲突)
ADD $r18,$r16,$r1与
SW $r18,16($r1);(发生结构冲突和RAW冲突)
SW $r18,16($r1)与
LW $r20,8($r1);(发生结构冲突)
LW $r20,8($r1)与
MUL $r22,$r20,$r14;(发生RAW冲突)
计算机组成原理与系统结构试验一 数据表示与运算

《计算机组成原理与系统结构》实验一数据表示和运算(1)无符号数和带符号整数的表示实验目的:通过无符号数和带符号整数之间的相互转换来理解无符号数和补码整数的表示。
实验要求:验证教材表2.2(P.28)中的关系表达式的结果,并编程得出第二章习题8(P.69)的表中结果。
实验报告:1.给出源程序(文本文件)和执行结果。
图1-1 验证教材表2.2(P.28)中的关系表达式的结果测试代码图1-2 验证教材表2.2(P.28)中的关系表达式的结果测试代码运行结果图1-3 解第二章习题8(P.69) 实验代码图1-4 第二章习题8(P.69)实验代码运行结果由上图结果得解答如下表:表1-1第二章习题8解答结果2.根据实验结果,回答下列问题。
(1)你的机器字长多少位?int型数据的位数、最小值和最大值各是多少?答:我的机器字长为32位;int型数据为32位,min = -2147483648(-231),max = 2147483647(231-1) □(注:“□”符号表示一题解答结束,以下同此约定)(2)在你的机器上,-1用int类型和unsiged int类型表示的结果分别是多少?答:结果分别为-1和429 496 729 5(232-1). □(2)类型转换和移位操作运算实验目的:了解高级语言中数据类型的转换和移位操作结果,从而能更好地理解指令系统设计和计算机硬件设计所需满足的要求和需要考虑的问题。
实验要求:编程实现以下各种操作,并要求分别用十进制和十六进制形式打印输出操作结果。
(1)给定一个short型数据-12345,分别转换为int、unsigned short、unsigned int、float类型的数据;图1-5 short型数据-12345转换成其他类型测试代码图1-6 short型数据-12345转换成其他类型测试代码运行结果(2)给定一个int型数据2147483647,分别转换为short、unsigned short、unsigned int、float 类型的数据;图1-7 int型数据2147483647转换成其他类型测试代码图1-8 int型数据2147483647转换成其他类型测试代码(3)给定一个float型数据123456.789e5,转换成double型数据;图1-9 float型数据123456.789e5,转换成double型数据图1-10 float型数据123456.789e5,转换成double型数据运行结果(4)给定一个double型数据123456.789e5,转换成float型数据;图1-11 double型数据123456.789e5,转换成float型数据图1-12 double型数据123456.789e5,转换成float型数据运行结果(5)按short和unsigned short类型分别对-12345进行左移2位和右移2位操作。
计算机系统实训报告

计算机系统实训报告1.引言计算机系统实训是计算机科学与技术专业学生在培养计算机系统方面的能力和技术实践的一种重要实践方式。
通过实践,学生能够深入了解计算机系统的工作原理和相关技术,掌握实际操作和解决问题的能力,提高自己的实际能力和创新能力。
2.实践目标本次计算机系统实训的主要目标是让学生掌握操作系统安装与配置、网络配置与管理、系统调优与性能分析等方面的基本知识和技能。
通过实际操作和实验,提高学生对计算机系统的理解和操作能力,为将来的工作和学习打下良好的基础。
3.实验内容(1)操作系统安装与配置:学生需要选择合适的操作系统,按照实验指导书的要求进行安装和配置,包括分区、文件系统、启动配置等。
(2)网络配置与管理:学生需要学习和掌握网络配置和管理的基本知识,包括IP地址设置、网络连接、网络共享等。
(3)系统调优与性能分析:学生需要学习和掌握系统调优和性能分析的基本知识和方法,实际操作并进行性能测试和分析。
4.实践过程(1)操作系统安装与配置:根据实验指导书的要求,选择合适的操作系统进行安装和配置。
按照要求进行分区,设置文件系统,并进行启动配置。
(2)网络配置与管理:学习和掌握网络配置和管理的基本知识,并按照实验指导书的要求进行实践操作。
设置IP地址,连接网络,并进行网络共享。
(3)系统调优与性能分析:学习和掌握系统调优和性能分析的基本知识和方法,并按照实验指导书的要求进行实践操作。
进行系统性能测试和分析,根据结果进行调优。
5.实验结果与分析通过实践操作和实验测试,学生顺利完成了实验任务,并取得了良好的实验效果。
通过实验结果和分析,学生对计算机系统的工作原理和相关技术有了更深入的了解,提高了自己的操作能力和解决问题的能力。
6.总结与展望通过本次计算机系统实训,学生不仅掌握了操作系统安装与配置、网络配置与管理、系统调优与性能分析等方面的基本知识和技能,还提高了自己的实际操作和解决问题的能力。
通过实践,学生对计算机系统有了更全面和深入的认识,为将来的工作和学习打下了坚实的基础。
计算机系统结构实验报告

计算机系统结构实验报告计算机系统结构实验报告引言:计算机系统结构是计算机科学领域中的重要课题,它研究计算机硬件和软件之间的关系,以及如何优化计算机系统的性能和效率。
本实验报告旨在介绍我们小组在计算机系统结构实验中的设计和实现过程,以及所获得的实验结果和经验。
一、实验目的计算机系统结构实验的目的是通过设计和实现一个简单的计算机系统,加深对计算机硬件和软件之间关系的理解,以及掌握计算机系统的组成和工作原理。
具体目标包括:1. 理解计算机系统的层次结构和组成部分。
2. 理解指令集架构和微指令集架构的区别。
3. 设计和实现一个简单的计算机系统,包括处理器、存储器和输入输出设备。
4. 测试和验证计算机系统的功能和性能。
二、实验设计与实现1. 计算机系统结构设计我们设计了一个基于冯·诺依曼体系结构的计算机系统,包括中央处理器(CPU)、存储器和输入输出设备。
CPU由控制单元和算术逻辑单元组成,控制单元负责指令的解码和执行,算术逻辑单元负责数据的运算和逻辑操作。
存储器用于存储指令和数据,我们选择了静态随机存储器(SRAM)作为主存储器。
输入输出设备包括键盘、显示器和磁盘。
2. 指令集架构设计我们选择了经典的冯·诺依曼指令集架构作为基础,定义了一套简单的指令集,包括算术运算、逻辑运算和数据传输等指令。
我们还设计了一套微指令集架构,用于实现指令的执行过程。
微指令集中包含了各种控制信号和操作码,用于控制CPU的工作。
3. 硬件设计与实现我们使用硬件描述语言(HDL)进行硬件设计和实现。
通过使用HDL,我们可以描述和模拟计算机系统的各个组成部分,并进行功能验证和性能分析。
我们使用Verilog HDL进行设计和实现,借助Verilog仿真器进行功能验证。
4. 软件设计与实现除了硬件设计和实现,我们还编写了一些软件程序,用于测试和验证计算机系统的功能和性能。
我们编写了一些简单的程序,包括算术运算、逻辑运算和数据传输等,用于测试CPU的指令执行和数据处理能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机系统结构实验
实验1:MIPS指令系统和MIPS体系结构
(预习报告)
姓名:
学号:
班级:
大连理工大学实验预习报告
学院:______________________专业:_______________________班级:_____________________
姓名:______________________学号:_______________________
实验时间:__________________实验室:__________________实验台:__________________
指导老师签字:_________________________________________成绩:____________________
实验目的:
了解熟悉MIPSsim模拟器;
熟悉MIPS指令系统及其特点;
熟悉MIPS体系结构
实验平台:
指令级和流水线操作级模拟器MIPSsim
资料准备:
MIPS64指令系统介绍
1.MIPS的寄存器
32个64位通用寄存器(GPRs整数寄存器):R0-R31。
R0的值永远是0。
32个64位浮点数寄存器FPRs:F0-F31。
它们可以存放32个单精度浮点数(32位),也可以存放32个双精度浮点数(64位)。
MIPS提供了单精度和双精度操作的指令,而且还提供了在FPRs和GPRs之间传送数据的指令。
2.MIPS的数据表示
整数:字节(8位)、半字(16位)、字(32位)和双字(64位)。
浮点数:单精度浮点数(32位)和双精度浮点数(64位)。
MIPS64的操作是针对64位整数以及32位或64位浮点数进行的。
字节、半字或字在装入64位寄存器时,用零扩展或者用符号位扩展来填充该寄存器的剩余部分。
装入以后,对它们按照64位整数的方式进行运算。
3.MIPS的数据寻址方式
MIPS的数据寻址方式只有立即数寻址和偏移量寻址两种,立即数字段和偏移量字段都是16位。
寄存器间接寻址是通过把0作为偏移量来实现的,16位绝对寻址是通过把R0作为基址寄存器来完成的。
MIPS的存储器是按字节寻址的,地址是64位。
由于MIPS是load-store结构,寄存器和存储器之间的数据传送都是通过load指令和store指令来完成的。
所有存储器访问都必须边界对齐。
4.MIPS的指令格式
指令格式简单,其中操作码6位。
按不同类型的指令设置不同的格式,共有3种格式,分别对应I指令、R指令和J指令。
在这3种格式中,同名字段的位置固定不变。
I类指令
包括所有的load和store指令、立即数指令、分支指令、寄存器跳转指令、寄存器链接跳转指令。
其中立即数字段位16位,用于提供立即数或偏移量。
1)load指令
2)store指令
3)立即数指令
4)分支指令
5)寄存器跳转、寄存器跳转并链接
R类指令
包括ALU指令、专用寄存器读、写指令、move指令。
J类指令
包括跳转指令、跳转并链接指令、自陷指令、一场返回指令。
在这些指令中,指令字的低26位时偏移量,它与PC值相加形成跳转的地址。
5、MIPS的部分指令介绍
MIPS指令分为4大类:load和store、ALU操作、分支与跳转、浮点操作。
(1)load和store指令
(2)ALU指令
ALU指令都是寄存器—寄存器型或立即数型的。
运算操作包括算术和逻辑操作。
所有指令都支持立即数寻址模式,参与运算的立即数是由指令中的immedicate字段(低16位)经符号位扩展后生成的。
(3)控制指令
跳转是无条件转移,而分支都是有条件转移。
(4)浮点指令
对浮点寄存器中的数据进行操作,并由操作码指出操作数是单精度还是双精度。
在指令助记符中,用后缀S和D分别表示单精度和双精度。
MIPSsim使用说明:
1.启动模拟器,双击MIPSsim.exe即可启动模拟器。
2.MIPSsim的窗口
3.“流水线”窗口
4.“时钟周期图”窗口
显示程序执行的时间关系,画出各条指令执行时所用的时钟周期。
5.“内存”窗口
显示模拟器内存中的内容,可以进行内存修改。
6.“统计”窗口
该窗口显示模拟器统计的各项数据,在非流水方式下,没有该窗口。
7.“断点”窗口
断点一般是指指定的一条指令,当执行到该指令时,会中断执行,暂停在该指令上。
在模拟器中断点可以设定在某条指定的某一个流水段上。
当该指令执行到相应的流水段时,会中断执行。
“断点”窗口列出当前已经设置的所有断点。
可以对断点进行添加、删除、全部删除和修改。
实验内容和步骤:
首先要阅读MIPSsim模拟器的使用方法,然后了解MIPSsim的指令系统和汇编语言。
1、启动MIPSsim(用鼠标双击MIPSsim.exe)。
2、选择“配置”->“流水方式”选项,使模拟器工作在非流水方式。
3、参照使用说明,熟悉MIPSsim模拟器的操作和使用方法。
可以先载入一个样例程序(在本模拟器所在的文件夹下的“样例程序”文件夹中),然后分别以单步执行一条指令、执行多条指令、连续执行、设置断点等的方式运行程序,观察程序的执行情况,观察CPU中寄存器和存储器的内容的变化。
4、选择“文件”->“载入程序”选项,加载样例程序alltest.asm,然后查看“代码”窗口,查看程序所在的位置(起始地址为0x00000000)。
5、查看“寄存器”窗口PC寄存器的值:[PC]= 。
6、执行load和store指令,步骤如下:
7、执行算术运算类指令。
步骤如下:
8、执行逻辑运算类指令。
9、执行控制转移类指令。
什么是指令延迟?
在流水线中,控制冲突可能会比数据冲突造成更多的性能损失,所以控制冲突同样需要得到很好的处理。
执行分支指令的结果有两种,一种是分支“成功”,PC值改变为分支转移的目标地址。
另一种是“失败”,这是PC的值保持正常递增,指向顺序的下一条指令。
对分支指令“成功”的情况来说,在条件判定和转移地址计算都完成之后,才改变PC值。
处理分支指令最简单的方法是“冻结”或“排空“流水线。
即一旦在流水线的译码段ID检测到分支指令,就暂停其后指令的取指令,直到分支指令,确定是否成功并计算出新的PC值为止。
这种方法简单,但给流水线带来了一个时钟周期的延迟(称为分支延迟)。
为了减少分支延迟,可以采用延迟分支技术。
这种技术的主要思想是从逻辑上“延长“分支指令的执行时间,把延迟分支看成由原来的分支指令和若干个延迟槽构成。
不管分支是否成功,都要按顺序执行延迟槽中的指令。
MIPSsim模拟器的延迟槽的数量为1个。
即:
分支指令
延迟槽
后续指令
在这种情况下,只要分支延迟槽中的指令是有用的,流水线就不会出现停顿,此时延迟分支的方法能够很好地减少分支延迟。
●另一种调度方法
放入延迟槽中的指令是由编译器来进行选择的。
实际上延迟分支能否带来好处完全取决于编译器能否把有用的指令调度到延迟槽中。
这也是一种指令调度技术。
常用的调度方法的有3种:从前调度、从目标处调度和从失败出调度。
从前调度是把位于分支指令之前的一条独立的指令移到延迟槽。
当无法采用从前
调度时,就采用另两种调度。
从目标处调度是指把目标处的指令复制到延迟槽,同时还要修改分支指令的目标
地址。
之所以是复制而不是直接转移,是因为从别的路径可能也要执行该指令。
从目标处调度实际上是猜测了分支是成功的。
所以当分支成功概率比较高时(例
如循环转移),采用这种方法比较好;否则采用从失败处调度比较好。
当猜测错误时,要保证从目标处调度和从失败处调度中调度到延迟槽中的指令执
行不会影响程序的正确性。
在这两种指令序列中,由于分支指令是使用R1来判
断的,所有不能把产生R1值的DADD指令调度到延迟槽。
实验内容和步骤:
1、启动MIPSsim。
2、根据前面的相关知识中关于流水线各段操作的描述,进一步理解流水线窗口中各段的功能,掌握各流水寄存器的含义。
3、选择“配置”->“流水方式”选项,使模拟器工作于流水方式下。
4、用指令调度技术解决流水线中的数据冲突。
5、用延迟分支减少分支指令对性能的影响。