计算机体系结构实验报告

合集下载

计算机体系结构实验报告

计算机体系结构实验报告

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

计算机系统结构实验报告

计算机系统结构实验报告

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

计算机网络体系结构实验报告-FTP 服务安装与配置

计算机网络体系结构实验报告-FTP 服务安装与配置

计算机网络体系结构实验报告FTP 服务安装与配置一、实验内容使用IIS功能新建FTP站点,并对站点进行账户管理以及安全管理,同时使用另外一台机器对其进行访问二、实验目的掌握Windows Server中的IIS配置FTP服务器,同时掌握WireShake抓包工具三、实验环境3.1 实验环境服务端IP:172.23.202.3服务端系统:Windows Server 2003服务端工具:IIS管理工具客户端:172.30.154.88客户端系统:MacOS Mojave 10.14.6客户端工具:terminal终端、WireShake抓包工具、Finder3.2 网络拓扑图3.2 IIS配置FTP服务器流程四、实验原理文件传输协议(File Transfer Protocol,FTP),是用在网络上进行文件传输的一套标准协议。

它工作在应用层,使用TCP运输层传输协议,即客户和服务器建立连接需要进行三次握手的过程,同时释放连接的时候也需要进行四次挥手的过程。

FTP服务系统是典型的C/S工作模式,在网络上的两个站点进行文件传输时,要求服务器主机运行FTP服务程序,同时客户主机也应在其计算机上运行相应的FTP客户程序或者通过命令行来直接调用FTP来来进行服务。

FTP在服务器主机和客户主机之间需要建立两次连接,一个是控制连接,端口号为21,用于传出控制信息;另外一个是数据连接,端口号为20(或其他),用于数据的传送。

采用分开传送的方法大大提高了FTP的效率。

所以在建立连接时需要建立两次TCP连接。

并且每当一个文件传输结束时,数据连接将关闭,传输下一个文件时再打开,而控制连接则持续保持连接状态。

FTP协议的连接模式分为被动模式(PASV)以及主动模式(PORT)。

被动模式为服务器处于运行的状态,同时开启FTP服务系统,处于监听状态。

客户端通过FTP客户程序对其进行发起连接以及文件传输等功能。

而主动模式则与其相反,客户端处于监听状态,由服务器发起连接。

计算机系统结构实验报告

计算机系统结构实验报告

计算机系统结构实验报告计算机系统结构实验报告引言:计算机系统结构是计算机科学领域中的重要课题,它研究计算机硬件和软件之间的关系,以及如何优化计算机系统的性能和效率。

本实验报告旨在介绍我们小组在计算机系统结构实验中的设计和实现过程,以及所获得的实验结果和经验。

一、实验目的计算机系统结构实验的目的是通过设计和实现一个简单的计算机系统,加深对计算机硬件和软件之间关系的理解,以及掌握计算机系统的组成和工作原理。

具体目标包括:1. 理解计算机系统的层次结构和组成部分。

2. 理解指令集架构和微指令集架构的区别。

3. 设计和实现一个简单的计算机系统,包括处理器、存储器和输入输出设备。

4. 测试和验证计算机系统的功能和性能。

二、实验设计与实现1. 计算机系统结构设计我们设计了一个基于冯·诺依曼体系结构的计算机系统,包括中央处理器(CPU)、存储器和输入输出设备。

CPU由控制单元和算术逻辑单元组成,控制单元负责指令的解码和执行,算术逻辑单元负责数据的运算和逻辑操作。

存储器用于存储指令和数据,我们选择了静态随机存储器(SRAM)作为主存储器。

输入输出设备包括键盘、显示器和磁盘。

2. 指令集架构设计我们选择了经典的冯·诺依曼指令集架构作为基础,定义了一套简单的指令集,包括算术运算、逻辑运算和数据传输等指令。

我们还设计了一套微指令集架构,用于实现指令的执行过程。

微指令集中包含了各种控制信号和操作码,用于控制CPU的工作。

3. 硬件设计与实现我们使用硬件描述语言(HDL)进行硬件设计和实现。

通过使用HDL,我们可以描述和模拟计算机系统的各个组成部分,并进行功能验证和性能分析。

我们使用Verilog HDL进行设计和实现,借助Verilog仿真器进行功能验证。

4. 软件设计与实现除了硬件设计和实现,我们还编写了一些软件程序,用于测试和验证计算机系统的功能和性能。

我们编写了一些简单的程序,包括算术运算、逻辑运算和数据传输等,用于测试CPU的指令执行和数据处理能力。

计算机体系结构实验报告

计算机体系结构实验报告

ECUST《计算机体系结构》实验报告专业计算机班级计071姓名xxx学号xxx成绩指导教师xxx计算机实验教学中心实验一一、实验名称FIFO先进先出存储器实验实验地点一教211 实验日期2010-5-25二、实验目的掌握FIFO 存储器的工作特性和读写方法。

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

四、实验原理本实验用FPGA 芯片来实现一个简单的8 位×4 的FIFO,本实验用FPGA 芯片来实现一个简单的8 位×4 的FIFO,器件的接口信号如图3-2-1,内部逻辑图如下图3-2-2。

其各信号的功能为:EMPTY:FIFO 存储器空标志,高电平有效。

FULL:FIFO 存储器满标志,高电平有效。

RST:清FIFO 存储器为空。

FIFOWR:FIFO 存储器写入信号,低电平有效。

FIFORD:FIFO 存储器读信号,低电平有效。

ID0~ID7:FIFO 存储器输入数据线。

OD0~OD7:FIFO 存储器输出数据线。

内部逻辑图设计的顶层原理图如下:五、实验操作及运行结果(1)按照上述功能要求及管脚说明,进行FPGA 芯片设计,其引脚电路图如图3-2-4 所示。

(2)关闭电源,按图3-2-5 实验连线图接线。

确保接线正确后打开实验系统的电源。

(3)编辑、编译所设计的程序,打开实验系统电源,将下载电缆插入FPGA 单元的JTAG 口,把生成的SOF 文件下载到FPGA 单元中去。

(4)接线图中B03 和B04 是FIFO 空状态、满状态指示信号,分别接到扩展单元指示灯E0、E1 上,用来反映FIFO 当前的状态。

注意:系统总清后FIFO 输出的数据是无效的,因为当FIFO 总清后,读计数器的输出被清零,此时多路开关选择输出C0 中的数据,而C0 中的数据是不确定的。

当第一次对FIFO 进行写操作后,FIFO 输出的数据开始有效。

简单的说,空标志位无效时,FIFO 的输出有效。

计算机体系结构实验报告

计算机体系结构实验报告

计算机体系结构实验报告实验⼆结构相关⼀、实验⽬的:通过本实验,加深对结构相关的理解,了解结构相关对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 comment !!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⽂件,进⾏单步运⾏。

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

(R-stall 数据相关Stall- 结构相关)1)第⼀个结构相关:addd f2,,f0,f2由于前⾯的数据相关,导致上⼀条指令addd f0,f0,f4暂停在ID阶段,所以下⼀条指令addd f2,,f0,f2发⽣结构相关,导致相关的部件:译码部件。

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

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

计算机体系结构实验报告——实验二1.实验目的:通过本实验,熟练掌握WinDLX模拟器的操作和使用,清楚WinDLX五段流水线在执行具体程序时的流水情况,熟悉DLX指令集结构及其特点。

2.实验内容:(1)用WinDLX模拟器执行程序gcm.s。

该程序从标准输入读入两个整数,求他们的greatest common measure,然后将结果写到标准输出。

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

(2).给出两组数6、3和6、1,分别在main+0x8(add r2,r1,r0)、gcm.loop(seg r3,r1,r2)和result+0xc(trap0x0)设断点,采用单步和连续混合执行的方法完成程序,注意中间过程和寄存器的变化情况,然后单击主菜单execute/display dlx-i/0,观察结果。

3.实验程序求最大公约数程序:gcm.s;***********WINDLX Ex.1:Greatest common measure*************;------------------------------------------------------------------------;Program begins at symbol main;requires module INPUT;Read two positive integer numbers from stdin,calculate the gcm;and write the result to stdout;------------------------------------------------------------------------.data;***Prompts for inputPrompt1:.asciiz“First Number:”Prompt2:.asciiz“Second Number:“;***Data for printf-TrapPrintfFormat:.asciiz“gcM=%d\n\n”.align2PrintfPar:.word PrintfFormatPrintfValue:.space4.text.global mainmain:;***Read two positive integer numbers into R1and R2 addi r1,r0,Prompt1jal InputUnsigned;read uns.-integer into R1add r2,r1,r0;R2<-R1addi r1,r0,Prompt2jal InputUnsigned;read uns.-integer into R1Loop:;***Compare R1and R2seq r3,r1,r2;R1==R2?bnez r3,Resultsgt r3,r1,r2;R1>R2?bnez r3,r1Greaterr2Greater:;***subtract r1from r2sub r2,r2,r1j Loopr1Greater:;***subtract r2from r1sub r1,r1,r2j LoopResult:;***Write the result(R1)sw PrintfValue,r1addi r14,r0,PrintfPartrap5;***endtrap0该程序中调用了input.s中的输入子程序。

计算机体系结构实验报告

计算机体系结构实验报告

《计算机体系结构》实验报告计算机实验教学中心实验名称FIFO存储器实验地点信息楼418实验日期2015.10一、实验目的掌握FIFO 存储器的工作特性和读写方法二、实验设备PC、唐都实验箱三、实验原理本实验用FPGA 芯片来实现一个简单的8 位×4 的FIFO,器件的接口信号如图3-2-1,内部逻辑图如下图3-2-2。

其各信号的功能为:EMPTY:FIFO 存储器空标志,高电平有效。

FULL:FIFO 存储器满标志,高电平有效。

RST:清FIFO 存储器为空。

FIFOWR:FIFO 存储器写入信号,低电平有效。

FIFORD:FIFO 存储器读信号,低电平有效。

ID0~ID7:FIFO 存储器输入数据线。

OD0~OD7:FIFO 存储器输出数据线。

四、实验操作及运行结果1、按实验连接图接线。

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

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

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

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

4、运行结果接线图中B03 和B04 是FIFO 空状态、满状态指示信号,分别接到扩展单元指示灯E0、E1 上,用来反映FIFO 当前的状态。

1)实验时,按动系统右下脚的CLR 清零开关可使读、写信号计数清零。

这时指示灯E0 亮,表示FIFO 为空。

2)使用CON 单元编号为SD27 到SD20 的开关模拟输入总线给出一个数据,按动时序与操作台单元的开关ST,可将该数写入到FIFO 中。

计算机系统结构 实验报告

计算机系统结构 实验报告

计算机系统结构实验报告计算机系统结构实验报告一、引言计算机系统结构是计算机科学中的重要领域,它研究计算机硬件和软件之间的关系,以及如何设计和优化计算机系统的组成部分。

本实验旨在通过实际操作和观察,深入了解计算机系统结构的原理和实践应用。

二、实验目的本次实验的主要目的是通过搭建一个简单的计算机系统,实践理论知识,加深对计算机系统结构的理解。

具体目标包括:1. 学习和掌握计算机系统的基本组成部分,如中央处理器(CPU)、内存、输入输出设备等。

2. 理解计算机指令的执行过程,包括指令的获取、解码和执行。

3. 掌握计算机系统的性能评估方法,如时钟周期、吞吐量和响应时间等。

三、实验过程1. 搭建计算机系统首先,我们需要准备计算机系统的各个组成部分。

将中央处理器、内存、输入输出设备等逐一连接起来,确保它们能够正常工作。

然后,将操作系统安装到计算机系统中,以便后续的实验操作。

2. 执行指令在搭建好计算机系统后,我们可以开始执行指令了。

通过输入指令,计算机系统将按照指令的要求进行相应的操作。

我们可以观察指令的执行过程,包括指令的获取、解码和执行。

同时,我们还可以通过性能评估方法,如时钟周期、吞吐量和响应时间等,评估计算机系统的性能。

3. 优化计算机系统在观察和评估计算机系统的性能后,我们可以根据实验结果进行优化。

例如,我们可以调整计算机系统的硬件配置,提升计算机的运行速度和效率。

另外,我们还可以优化指令的执行顺序和算法,以提高计算机系统的整体性能。

四、实验结果与分析通过实验,我们可以得到计算机系统的性能数据,并进行相应的分析。

例如,我们可以计算计算机系统的时钟周期,以及每秒钟能够执行的指令数量。

通过对这些数据的分析,我们可以了解计算机系统的性能瓶颈,并采取相应的优化措施。

五、实验总结本次实验通过搭建计算机系统、执行指令、优化系统等步骤,深入了解了计算机系统结构的原理和实践应用。

通过实验,我们学习到了计算机系统的基本组成部分,以及指令的执行过程。

计算机体系结构实验报告3篇

计算机体系结构实验报告3篇

计算机体系结构实验报告第一篇:计算机体系结构概述计算机体系结构是计算机学科中的一个重要分支,它研究的是计算机的硬件组成和工作原理,包括计算机的处理器、存储器、输入输出设备、总线等。

计算机体系结构的研究可以帮助我们理解计算机的工作原理,优化计算机的性能,提升计算机的能力。

计算机体系结构可以分为两个方面:指令集体系结构和微体系结构。

其中,指令集体系结构是指计算机的操作系统能够直接识别和执行的指令集合,它们是应用程序的编程接口;而微体系结构是指通过硬件实现指令集合中的指令,在底层支持指令集合的操作。

指令集体系结构和微体系结构是密切相关的,因为指令集体系结构会影响微体系结构的设计和实现。

目前,计算机体系结构主要有三种类型:单处理器体系结构、多处理器体系结构和分布式计算体系结构。

其中,单处理器体系结构是指所有的指令和数据都存放在同一台计算机中,这种体系结构的优点是操作简单、易于管理,但是主频存在瓶颈,无法很好地发掘多核的性能优势;多处理器体系结构是指多个计算机共享同一块物理内存,因此可以方便地实现负载均衡和任务协作,但是存在通信延迟和数据一致性问题;分布式计算体系结构则是指通过互联网将多个计算机连接成一个网络,可以在全球范围内共享计算资源,但是通信成本和数据安全问题需要考虑。

总之,计算机体系结构是计算机学科中的重要分支,它研究计算机的硬件组成和工作原理,帮助我们理解计算机的工作原理,优化计算机性能,提升计算机能力。

第二篇:计算机指令集体系结构计算机指令集体系结构,简称ISA(Instruction Set Architecture),是指计算机能够识别和执行的指令集合。

ISA是计算机指令的编程接口,定义了一组指令和地址模式,以及寄存器和内存的组织方式,它是计算机软件和硬件协同工作的关键接口之一。

ISA可以分为两类:精简指令集体系结构(RISC,Reduced Instruction Set Computer)和复杂指令集体系结构(CISC,Complex Instruction Set Computer)。

中南大学 计算机体系结构实验报告

中南大学 计算机体系结构实验报告

计算机体系结构课程设计学院:信息科学与工程学院专业班级:指导老师:学号:姓名:.目录实验1 对指令操作码进行霍夫曼编码 (3)一、实验目的 (3)二、实验内容 (3)三、设计思路 (4)四、关键代码 (4)五、实验截图 (5)六、源代码 (5)实验2 使用LRU 方法更新Cache (8)一、实验目的 (8)二、实验内容 (8)三、设计思路 (9)四、程序截图 (9)五、实验代码 (9)实验总结 (16)参考文献 (16).实验1 对指令操作码进行霍夫曼编码一、实验目的了解和掌握指令编码的基本要求和基本原理二、实验内容1. 使用编程工具编写一个程序,对一组指令进行霍夫曼编码,并输出最后的编码结果以及对指令码的长度进行评价。

与扩展操作码和等长编码进行比较。

2. 问题描述以及问题分析举例说明此问题,例如:P1 P2 P3 P4 P5 P6 P70.45 0.30 0.15 0.05 0.03 0.01 0.01下表所示:对此组指令进行 HUFFMAN 编码正如下图所示:最后得到的HUFFMAN 编码如下表所示:最短编码长度为:H=0.45*1+0.30*2+0.15*3+0.05*4+0.03*5+0.01*6+0.01*6=-1.95.要对指令的操作码进行 HUFFMAN 编码,只要根据指令的各类操作码的出现概率构造HUFFMAN 树再进行 HUFFAM 编码。

此过程的难点构造 HUFFMAN 树,进行 HUFFAM 编码只要对你所生成的 HUFFMAN 树进行中序遍历即可完成编码工作。

三、设计思路观察上图,不难看出构造 HUFFMAN 树所要做的工作:1、先对各指令操作码的出现概率进行排序,构造一个有序链表。

2、再取出两个最小的概率节点相加,生成一个生的节点加入到链表中,同时从两表中删除此两个节点。

3、在对链表进行排序,链表是否只有一个节点,是则 HUFFAN 树构造完毕,否则继续做 2 的操作。

计算机系统结构专业实习报告

计算机系统结构专业实习报告

计算机系统结构专业实习报告一、实习背景与目的随着信息技术的快速发展,计算机系统结构作为一门涵盖了计算机硬件和软件等多个方面的学科,在我国的高等教育体系中占据了重要的地位。

为了更好地将理论知识与实践相结合,提高自身综合素质和实际操作能力,我选择了计算机系统结构专业实习,以便为今后的学术研究和职业生涯打下坚实基础。

本次实习的主要目的是:1. 深入了解计算机系统结构的基本原理和组成部件;2. 熟悉各类计算机硬件设备的工作原理和性能指标;3. 掌握计算机系统组装、维护和调试的基本技能;4. 提高团队协作能力和沟通交流能力。

二、实习内容与过程1. 实习前的准备在实习开始前,我们参加了由指导老师举办的实习动员大会,了解了实习的要求、内容以及注意事项。

同时,我们还自学了相关教材和资料,为实习打下了理论知识基础。

2. 实习过程中的主要任务与收获实习过程中,我们主要完成了以下任务:1. 参观实验室和机房,了解各类计算机硬件设备及其功能;2. 学习计算机系统组装、维护和调试的基本技能;3. 参与实验室科研项目,协助导师进行数据分析和实验验证;4. 撰写实习日记和总结报告,记录实习过程中的所学所得。

具体收获如下:1. 熟悉了计算机系统结构的基本原理和组成部件,如CPU、内存、硬盘、显卡等;2. 掌握了计算机系统组装、维护和调试的基本技能,如安装操作系统、配置网络、排查故障等;3. 了解了实验室科研项目的工作流程,提高了科研素养;4. 增强了团队协作能力和沟通交流能力。

3. 实习中遇到的困难与解决方案在实习过程中,我们遇到了一些困难,如:1. 部分硬件设备的原理和操作较为复杂,一开始难以掌握;2. 实验室科研项目中的某些技术问题需要花费较长时间解决;3. 实习任务较重,时间紧张,难以兼顾学业与实习。

针对上述困难,我们采取了以下解决方案:1. 请教老师和同学,共同探讨,逐步掌握硬件设备的原理和操作;2. 利用课余时间深入学习相关技术,提高解决问题的能力;3. 合理安排时间,加强与团队成员的沟通,提高团队协作效率。

计算机体系结构实验报告

计算机体系结构实验报告

计算机体系结构实验报告实验⼀流⽔线中的相关⼀.实验⽬的1. 熟练掌握WinDLX模拟器的操作和使⽤,熟悉DLX指令集结构及其特点;2. 加深对计算机流⽔线基本概念的理解;3. 进⼀步了解DLX基本流⽔线各段的功能以及基本操作;4. 加深对数据相关、结构相关的理解,了解这两类相关对CPU性能的影响;5. 了解解决数据相关的⽅法,掌握如何使⽤定向技术来减少数据相关带来的暂停。

⼆.实验平台WinDLX模拟器三.预备知识1. WinDLXWinDLX模拟器是⼀个图形化、交互式的DLX流⽔线模拟器,能够演⽰DLX流⽔线是如何⼯作的。

该模拟器可以装载DLX汇编语⾔程序(后缀为“.s”的⽂件),然后单步、设断点或是连续执⾏该程序。

CPU的寄存器、流⽔线、I/O和存储器都可以⽤图形表⽰出来,以形象⽣动的⽅式描述DLX流⽔线的⼯作过程。

模拟器还提供了对流⽔线操作的统计功能,便于对流⽔线进⾏性能分析。

有关WinDLX的详细介绍,见WinDLX教程。

2. 熟悉WinDLX指令集和WinDLX源代码的编写3. 复习和掌握教材中相应的内容(1)DLX基本流⽔线(2)流⽔线的结构相关与数据相关结构相关:当指令在重叠执⾏过程中,硬件资源满⾜不了指令重叠执⾏的要求,发⽣资源冲突时,将产⽣“结构相关”。

数据相关:当⼀条指令需要⽤到前⾯指令的执⾏结果,⽽这些指令均在流⽔线中重叠执⾏时,就可能引起“数据相关”。

(3)定向技术的主要思想:在发⽣数据相关时,等待前⾯计算结果的指令并不⼀定真的马上就⽤到该计算结果,如果能够将该计算结果从其产⽣的地⽅直接送到其他指令需要它的地⽅,就可以避免暂停。

四.实验内容及结果1. ⽤ WinDLX 模拟器执⾏下列三个程序(任选⼀个):求阶乘程序 fact.s求最⼤公倍数程序 gcm.s求素数程序 prim.s分别以步进、连续、设置断点的⽅式运⾏程序,观察程序在流⽔线中的执⾏情况,观察CPU 中寄存器和存储器的内容。

合肥工业大学计算机体系结构实验报告

合肥工业大学计算机体系结构实验报告

实验一主板架构的测试一、实验目的及要求了解Internet系列主板的基本构架二、实验设备(环境)及要求多核计算机,windows os ,CPU-Z,GPU-Z。

三、实验内容与步骤1.执行计算机硬件检测程序CPU-Z,GPU-Z;2.记录所用计算机的CPU ID号,Cache大小,指令集,CPU型号,电压,内存,主板,SPD和GPU等所有显示的信息;3.在任务和设备管理器中查看CPU是否为双核?四、实验结果与数据处理1.执行计算机硬件检测程序CPU-Z,GPU-Z;2.记录所用计算机的CPU ID号,Cache大小,指令集,CPU型号,电压,内存,主板,SPD和GPU等所有显示的信息;3.在任务和设备管理器中查看CPU是否为双核?在任务管理器中可以看到CPU为双核:在设备管理器中可以看到CPU为4线程:五、分析与讨论结论:对电脑的构架有的更深的了解。

1.此台电脑CPU是Inter i5,3.20GHz,三级缓存;2.从CPU-Z中的核心时钟频率可以判断计算机的性能,时钟频率越高越好;3.从任务管理器和系统属性上并不能准确的判断CPU的核数,需要用CPU-Z进行检测才能真正确定计算机的核数。

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

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

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

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

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

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

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

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

三、实验报告认真记录实验数据或显示结果。

如实填写实验报告。

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

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

计算机组织与体系结构实验报告1.1基本运算器实验1.1.1 实验目的(1) 了解运算器的组成结构。

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

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

1.1.3 实验原理本实验的原理如图1-1-1所示。

运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A 和暂存器B,三个部件同时接受来自A和B的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM),各部件对操作数进行何种运算由控制信号S3…S0和CN来决定,任何时候,多路选择开关只选择三部件中一个部件的结果作为ALU的输出。

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

ALU中所有模块集成在一片FPGA中。

逻辑运算部件由逻辑门构成,较为简单,而后面又有专门的算术运算部件设计实验,在此对这两个部件不再赘述。

移位运算采用的是桶形移位器,一般采用交叉开关矩阵来实现,交叉开关的原理如图1-1-2所示。

图中显示的是一个4X4的矩阵(系统中是一个8X8的矩阵)。

每一个输入都通过开关与一个输出相连,把沿对角线的开关导通,就可实现移位功能,即:(1) 对于逻辑左移或逻辑右移功能,将一条对角线的开关导通,这将所有的输入位与所使用的输出分别相连,而没有同任何输入相连的则输出连接0。

(2) 对于循环右移功能,右移对角线同互补的左移对角线一起激活。

例如,在4位矩阵中使用‘右1’和‘左3’对角线来实现右循环1位。

(3) 对于未连接的输出位,移位时使用符号扩展或是0填充,具体由相应的指令控制。

使用另外的逻辑进行移位总量译码和符号判别。

运算器部件由一片FPGA实现。

ALU的输入和输出通过三态门74LS245连到CPU内总线上,另外还有指示灯标明进位标志FC和零标志FZ。

请注意:实验箱上凡丝印标注有马蹄形标记,表示这两根排针之间是连通的。

图中除T4和CLR,其余信号均来自于ALU单元的排线座,实验箱中所有单元的T1、T2、T3、T4都连接至控制总线单元的T1、T2、T3、T4,CLR都连接至CON单元的CLR按钮。

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

实验一流水线中的相关一.实验目的1. 熟练掌握WinDLX模拟器的操作和使用,熟悉DLX指令集结构及其特点;2. 加深对计算机流水线基本概念的理解;3. 进一步了解DLX基本流水线各段的功能以及基本操作;4. 加深对数据相关、结构相关的理解,了解这两类相关对CPU性能的影响;5. 了解解决数据相关的方法,掌握如何使用定向技术来减少数据相关带来的暂停。

二.实验平台WinDLX模拟器三.预备知识1. WinDLXWinDLX模拟器是一个图形化、交互式的DLX流水线模拟器,能够演示DLX流水线是如何工作的。

该模拟器可以装载DLX汇编语言程序(后缀为“.s”的文件),然后单步、设断点或是连续执行该程序。

CPU的寄存器、流水线、I/O和存储器都可以用图形表示出来,以形象生动的方式描述DLX流水线的工作过程。

模拟器还提供了对流水线操作的统计功能,便于对流水线进行性能分析。

有关WinDLX的详细介绍,见WinDLX教程。

2. 熟悉WinDLX指令集和WinDLX源代码的编写3. 复习和掌握教材中相应的内容(1)DLX基本流水线(2)流水线的结构相关与数据相关结构相关:当指令在重叠执行过程中,硬件资源满足不了指令重叠执行的要求,发生资源冲突时,将产生“结构相关”。

数据相关:当一条指令需要用到前面指令的执行结果,而这些指令均在流水线中重叠执行时,就可能引起“数据相关”。

(3)定向技术的主要思想:在发生数据相关时,等待前面计算结果的指令并不一定真的马上就用到该计算结果,如果能够将该计算结果从其产生的地方直接送到其他指令需要它的地方,就可以避免暂停。

四.实验内容及结果1. 用 WinDLX 模拟器执行下列三个程序(任选一个):求阶乘程序 fact.s求最大公倍数程序 gcm.s求素数程序 prim.s分别以步进、连续、设置断点的方式运行程序,观察程序在流水线中的执行情况,观察CPU 中寄存器和存储器的内容。

熟练掌握WinDLX 的操作和使用。

注意:fact.s 中调用了input.s 中的输入子程序。

load 程序时,要两个程序一起装入(都select 后再点击load)。

gcm.s 也是如此。

说明:此实验我们选择:求阶乘程序fact.s1)用WinDLX模拟器执行求阶乘程序fact.s。

2)程序的作用:这个程序说明浮点指令的使用。

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

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

3)实验结果:i . 分别以步进、连续、设置断点的方式运行程序图1. 求阶乘程序fact.s运行统计数据步进方式运行图2 求阶乘程序fact.s运行统计数据连续方式运行图3 求阶乘程序fact.s运行统计数据连续方式运行ii. 数据统计图1.1.4 求阶乘程序fact.s运行统计数据图5 求阶乘程序fact.s流水线执行情况图6 求阶乘程序fact.s寄存器使用情况iii. 定向非定向分析在载入fact.s和input.s之后,不设置任何断点运行。

A. 不采用重新定向技术,我们得到的结果:B. 采用定向技术,我们得到的结果:结果分析从上面的数据我们可以看出定向的作用:在定向技术存在的情况下Statistics 窗口中的各种统计数字:总的周期数(215) 和暂停数(17 RAW, 25 Control, 12 Trap; 54 Total)在定向技术不存在时候,控制暂停和Trap 暂停仍然是同样的值,而RAW暂停从17变成了53,总的模拟周期数增加到236。

所以定向技术带来的加速比:S=236 / 215 = 1.098因此:DLX forwarded比DLX not forwarded快9.8%。

2. 用WinDLX 运行程序structure_d.s,通过模拟:找出存在结构相关的指令对以及导致结构相关的部件;记录由结构相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行周期数的百分比;论述结构相关对CPU 性能的影响,讨论解决结构相关的方法。

1)模拟结果:图2.1 程序structure_d.s流水线执行过程图2.2程序structure_d.s运行统计信息2)结构相关i. 如图,导致结构的部件:浮点数寄存器f4addd f0,f0,f4 指令在译码阶段ID停滞1周期ii. 如图导致结构相关的部件:ALUaddi r2,r2,0x8 指令在执行阶段intEX停滞1周期3)结果分析由资源相关引起的暂停周期数为:30总执行周期数为:139暂停周期数占总执行周期数的百分比:21.58%分析:资源相关使相关指令在流水线上停滞,降低了执行效率。

4)解决办法在合理的指令调度范围内,尽量避免执行重复的指令。

尽量避免同一寄存器的频繁使用,若无法避免,则使用寄存器换名的方法。

也可以考虑采用资源重复的方法,比如,在流水线机器中设置相互独立的指令存储器和数据存储器,也可以将CACHE 分割成指令CACHE 和数据CACHE。

3. 在不采用定向技术的情况下(去掉Configuration 菜单中Enable Forwarding 选项前的勾选符),用WinDLX 运行程序data_d.s。

记录数据相关引起的暂停时钟周期数以及程序执行的总时钟周期数,计算暂停时钟周期数占总执行周期数的百分比。

1)实验结果:没有采用定向技术时运行该程序,我们得到:程序执行了202个周期,10个数据相关引起的时钟周期RAW stall为104个。

暂停时钟周期数占总执行周期数的百分比=51.48%4. 在采用定向技术的情况下(勾选Enable Forwarding),用WinDLX 再次运行程序data_d.s。

重复上述3 中的工作,并计算采用定向技术后性能提高的倍数。

1)实验结果:采用定向技术时运行该程序,我们得到:2)结果分析:程序执行了128个周期,共有6个数据相关引起的时钟周期RAW stall为30个。

暂停时钟周期数占总执行周期数的百分比=23.44%五.总结实验二循环展开及指令调度一.实验目的1. 加深对循环级并行性、指令调度技术、循环展开技术以及寄存器换名技术的理解;2. 熟悉用指令调度技术来解决流水线中的数据相关的方法;3. 了解循环展开、指令调度等技术对 CPU 性能的改进。

二.实验平台WinDLX simulator四.预备知识1. WinDLX模拟器的相关知识,详见相关的文档。

2. 复习和掌握教材中相应的内容:(1)循环级并行性(2)指令调度(3)循环展开(4)寄存器换名五.实验内容及结果1.用指令调度技术解决流水线中的结构相关与数据相关(1)用DLX汇编语言编写代码文件*.s,程序中应包括数据相关与结构相关(假设:加法﹑乘法﹑除法部件各有2个,延迟时间都是3个时钟周期)给出调度前的程序sch_bef:(2)通过Configuration菜单中的“Floating point stages”选项,把加法﹑乘法﹑除法部件的个数设置为2个,把延迟都设置为3个时钟周期;(3)用WinDLX运行程序。

记录程序执行过程中各种相关发生的次数、发生相关的指令组合,以及程序执行的总时钟周期数;(4)采用指令调度技术对程序进行指令调度,消除相关;调度之后的程序sch_aft:.data.global ONEONE: .word 1.text.global mainmain:lf f1,ONE ;turn divf into a movecvti2f f7,f1 ;by storing in f7 1 innop ;floating-point formatdivf f1,f8,f7 ;move Y=(f8) into f1divf f2,f9,f7 ;move Z=(f9) into f2divf f4,f11,f7 ;move B=(f11) into f4divf f5,f12,f7 ;move C=(f12) into f5addf f3,f1,f2multf f6,f4,f5divf f10,f3,f7 ;move f3 into X=(f10)divf f13,f6,f7 ;move f6 into A=(f13)Finish:trap 0(5)用WinDLX运行调度后的程序,观察程序在流水线中的执行情况,记录程序执行的总时钟周期数;(6)根据记录结果,比较调度前和调度后的性能。

论述指令调度对于提高CPU性能的意义。

意义:可以看出经过调度之后运行周期从27减少到21,而且减少了相关。

2. 用循环展开、寄存器换名以及指令调度提高性能(1)用DLX汇编语言编写代码文件*.s,程序中包含一个循环次数为4的整数倍的简单循环;循环展开前的程序:LHI R2, (A>>16)&0xFFFFADDUI R2, R2, A&0xFFFFLHI R3, (B>>16)&0xFFFFADDUI R3, R3, B&0xFFFFADDU R4, R0, R3NOPloop:SUBI R4, R4, #8SUB R5, R4, R2BNEZ R5, loopTRAP #0A: .double 1, 2, 3, 4B: .double 1, 2, 3, 4(2)用WinDLX运行该程序。

记录执行过程中各种相关发生的次数以及程序执行的总时钟周期数;(3)将循环展开3次,将4个循环体组成的代码代替原来的循环体,并对程序做相应的修改。

然后对新的循环体进行寄存器换名和指令调度;循环展开后的程序:LHI R2, (A>>16)&0xFFFFADDUI R2, R2, A&0xFFFFLHI R3, (B>>16)&0xFFFFADDUI R3, R3, B&0xFFFFADDU R4, R0, R3SUBI R4, R4, #8SUBI R4, R4, #8SUBI R4, R4, #8SUBI R4, R4, #8TRAP #0A: .double 1, 2, 3, 4B: .double 1, 2, 3, 4(4)用WinDLX运行修改后的程序,记录执行过程中各种相关发生的次数以及程序执行的总时钟周期数;(5)根据记录结果,比较循环展开、指令调度前后的性能。

结论:可以看出经过循环展开之后运行周期从30减少到14,而且减少了相关。

五.总结实验三记分牌算法和Tomasulo 算法一.实验目的1. 掌握DLXview 模拟器的使用方法;2. 进一步理解指令动态调度的基本思想,了解指令动态调度的基本过程与方法;3. 理解记分牌算法和Tomasulo 算法的基本思想,了解它们的基本结构、运行过程;4. 比较分析基本流水线与记分牌算法和Tomasulo 算法的性能及优缺点。

相关文档
最新文档