计算机系统结构实验一
计算机系统结构课程实验1
计算机系统结构课程实验指导书2016——2017 学年第 2学期姓名:徐益学号:201415725指导教师:薛素静教研室:计算机系统结构教研室实验:存贮层次模拟器1学时:4学时实验类型:(综合/设计):设计一、实验目的与要求使学生清楚认识虚拟存贮层次结构,熟练掌握常用的几种存储地址映像与变换方法,以及FIFO、LRU等替换算法的工作全过程。
要求用程序实现任意地址流在存储层次上的命中情况,实验结束后提交源程序和实验说明书。
二、实验内容在模拟器上实现在任意地址流下求出在 Cache—主存两层存贮层次上的命中率。
三、实验步骤1.Cache—主存:映像方式要实现全相联、直接映象、组相联方式三种方式,并选择每一种映像方式下输出结果;替换算法一般使用LRU算法。
2.要求主存容量、Cache大小、块大小以及组数等可以输入修改。
3.求出命中率;显示替换的全过程;任选一种高级语言来做。
4.要设计简洁、易于操作的界面。
四、实验仪器设备计算机(装有java、Apache tomcat)五、实验过程1、设计思想:(1)在本次实验中,我使用的是java语言来实现。
(2)首先,建一个web项目,然后将整个实验分为前端和后端两部分,前端为jsp页面,用来输入数据和显示实验结果。
后端为Java,在本次实验我用了一个MyServlt类,在这个类中用来接收前端的数据,然后进行一系列的逻辑处理;即各个算法的具体实现。
最后将数据传送给前端输出。
(3)将整个cache看成是一个对象,然后建一个实体类Cache。
在这个类中有cache的大小、块大小、块数、块地址、计数器、计时器等属性。
块地址用于存放地址流,计数器用于计算命中率,当命中一次,计数器加1。
计时器用于LRU 算法。
当命中时,计时器清零。
每一个循环结束,有地址的块计时器加1;替换时,找到计时器最大的块地址,然后把它替换出去。
(4)将要输出的数据封装成一个类,然后进行输出。
六、实验代码1、前端代码:Index.jsp代码(用于输入数据):在本页面中用到jqurey插件以达到美观效果,其中的js、css等代码就不粘贴出来了。
计算机组成原理与系统结构试验一 数据表示与运算
《计算机组成原理与系统结构》实验一数据表示和运算(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位操作。
计算机体系结构实验报告
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 的输出有效。
计算机体系结构实验报告
实验一流水线中的相关一.实验目的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 的操作和使用。
计算机系统结构实验一MIPS指令系统和MIPS体系结构
计算机系统结构实验报告班级计算机2班实验日期2016.2.24实验成绩姓名殷凤学号22920132203917实验名称MIPS指令系统和MIPS体系结构实验目的要求实验目的及要求:了解和熟悉指令级模拟器;熟练掌握MIPSsim模拟器的操作和使用方法;熟悉MIPS指令系统及其特点,加深对MIPS指令操作语义的理解;熟悉MIPS体系结构。
实验器材:实验平台采用指令级和流水线操作级模拟器MIPSsim;计算机一台。
实验内容、步骤及结果1. 阅读MIPSsim模拟器的使用方法,然后了解MIPSsim的指令系统和汇编语言;2. 对照实验教程启动、配置MIPSsim.exe,参照使用说明,载入程序,多种执行方式查看结果;3. 补充实验的完成:a.求阶乘问题:解决方法:在代码最后加一句指令TEQ r0,r0思路:将自定义的整数存入一个整数寄存器r1,r2,“1”的值存入寄存器r3作为求阶乘时减一的用处,r2减一,与原值r1相乘结果存入r1,判断r2值是否已经减到0,是就运行结束,否则跳转继续r2减一与r1相乘,最后r1的内容就是最终结果。
结果截图:b.ALU运算求(X-Y)*2-(X+Y)/8问题:无思路:题目要求不可以使用乘除指令,则利用逻辑左移(SLL)一位实现乘2,利用逻辑右移(SRL)3实现除以8。
r1 r2中存放自定义的x y,r3中存放x-y的值,r4存放x+y的值,最后结果放在r5中。
结果截图:c.求补码问题:解决方法:把高32位和低32位之间base的差值4个字节事先存进寄存器r6问题:解决方法:改成LABLE1问题:如果是正数的话结果总是错误的解决方法:刚开始忘记判断正负了,如果是正数就直接存回存储器原来的位置,判断正负通过高32位(存在r2中)和十六进制数0x00…0080000000(寄存器r9)进行AND,如果结果等于0(与$r0比较),就为正数,否则就是负数。
思路:r1中放取字指令LW的base值,根据内存中的数据来决定,存储器中高32位数据取出来放进r2,低32位数据放进r3。
计算机组装上机实验5篇
计算机组装上机实验5篇第一篇:计算机组装上机实验计算机组装实验/实训内容实验一:认识计算机系统各个硬件及外设实验目的:了解计算机系统各个硬件的外形、特征实验重点:掌握各个部件在机箱内的位置实验难点:各个部件的防接错特征实验步骤:1.用螺丝刀拆卸计算机各个硬件,注意轻拿轻放,保护好螺丝不要丢失2.根据学过的每个硬件的知识观察各个硬件的外形、特征3.观察每个硬件在机箱里的位置4、写出实验心得体会实验二:AMD,Intel CPU编号识别实验目的:了解AMD,Intel CPU外形、接口特征实验重点:AMD,Intel CPU编号的辨别实验难点:AMD,Intel CPU的防接错特征实验步骤:1、根据每个人的电脑内的CPU来分别辨别不同厂商的CPU、型号、接口类型2、观察AMD及Intel CPU 外形、接口特征3、在实验报告上写出自己的CPU 厂商、型号、接口类型实验三:AMD,Intel CPU和风扇的安装实验目的:掌握AMD,Intel CPU的安装方法实验重点:AMD,Intel CPU安装方法实验难点:AMD,Intel CPU的防接错特征实验步骤:1、根据每个人的电脑内的CPU来分别辨别不同厂商的CPU、型号、接口类型2、观察AMD及Intel CPU 外形、接口特征3、安装AMD或Intel CPU到主板的CPU插槽上,同时安装散热风扇实验四:认识主板的结构实验目的:了解AMD,Intel CPU外形、接口特征实验重点:AMD,Intel CPU编号的辨别实验难点:AMD,Intel CPU的防接错特征实验步骤:2、根据每个人的电脑内的CPU来分别辨别不同厂商的CPU、型号、接口类型2、观察AMD及Intel CPU 外形、接口特征3、在实验报告上写出自己的CPU 厂商、型号、接口类型实验四:认识主板的结构实验目的:了解主板的结构和组成原理实验重点:主板上各个元器件的识别实验难点:主板上每个电子元器件的位置及特征实验步骤:1、观察自己的主机内的主板的厂商、型号2、观察主板上的各个电子元器件,能指出其名字3、观察南北桥芯片组及各种外设接口实验六:主板驱动程序的安装实验目的:掌握主板驱动程序的安装过程实验重点:不同主板的驱动安装实验难点:找到对应的主板驱动程序实验步骤:1、通过优化大师查看自己的主板的型号及厂商2、下载驱动程序或把主板光盘自带的驱动程序放入光驱3、安装驱动程序,重启实验七:内存的识别及参数测试实验目的:了解内存的外形、接口特征实验重点:内存的安装实验难点:参数的测试实验步骤:1、根据每个人的电脑内存来分别辨别不同厂商的内存型号、接口方式2、观察不同类型的内存的外形、接口特征3、在实验报告上写出自己的内存厂商、型号、接口类型及容量4.用内存测试工具软件Hwinfo32测试内存,观察内存的参数指标实验八:主流硬盘的编号参数识别实验目的:了解主流硬盘的编号参数和接口类型实验重点:主流硬盘的编号识别实验难点:硬盘的接口连接实验步骤:1、根据每个人的电脑硬盘来分别辨别不同厂商的硬盘型号、容量、接口方式2、观察不同类型的硬盘的外形、接口特征3、在实验报告上写出自己的硬盘的厂商、型号、接口类型及容量实验九:电源各种引线接口的连接实验目的:了解电源中各种引线的接口及连接设备实验重点:电源的引线连接到设备中实验难点:电源的安装实验步骤:1、根据每个人的电脑电源来分别辨别不同厂商的电源型号、引线的接口2、观察不同类型的电源的外形、接口特征3、在实验报告上写出自己的电源的厂商及接口的阵脚数实验十:键盘和鼠标的安装实验目的:掌握键盘和鼠标的安装方式实验重点:键盘鼠标的安装实验难点:接口的识别实验步骤:1、根据每个人的电脑键盘和鼠标来分别辨别不同厂商的键盘和鼠标的类型和厂商2、观察键盘和鼠标的外形、接口特征3、在实验报告上写出自己的键盘和鼠标的生产厂商及接口方式实验十一:显示器的相关设置实验目的:掌握显示器的菜单设置实验重点:对于分辨率、语言、对比度、亮度的设置实验难点:显示器的水纹、消磁功能的设置实验步骤:1、根据每个人的显示器的类型来辨别不同厂商的显示器的类型2、观察显示期的种类、接口特征、及厂商3、在实验报告上写出自己的显示器的生产厂商及类型4、运用显示器上的主菜单设置语言、对比度、亮度、尺寸、消磁、水纹等功能实验十二:计算机组装实训实验目的:掌握计算机中各种硬件的组装和连线实验重点:计算机中各种硬件的组装实验难点:各种硬件的数据及电源线连接实验步骤:1、把各种硬件按照组装的步骤把每个硬件按照到主板上固定好主板到机箱上2、注意螺丝不要拧死,硬件安装到位3、连接各种数据线和电源线4、连接外设5、通电检测6、排除故障实验十三:OFFICE 2003的安装与删除实验目的:掌握office2003的安装与删除的方法实验重点:office2003安装的步骤及目录实验难点:安装时有选择的安装软件实验步骤:1、把准备好的OFFICE 2003安装程序通过开始菜单----控制面板—添加删除程序2、如果是.EXE程序直接安装到制定的目录3、打开各个程序看看程序安装是否正确4、删除OFFICE 2003软件实验十四:OFFICE 2003的安装与删除实验目的:掌握office2003的安装与删除的方法实验重点:office2003安装的步骤及目录实验难点:安装时有选择的安装软件实验步骤:4、把准备好的OFFICE 2003安装程序通过开始菜单----控制面板—添加删除程序5、如果是.EXE程序直接安装到制定的目录6、打开各个程序看看程序安装是否正确4、删除OFFICE 2003软件第二篇:计算机组装上机实验报告西安邮电大学计算机装配调试上机实习报告书系部名称:学生姓名:专业班级:学号:指导教师:计算机学院网络实习时间: 2014年12月22日至2014年12月26 日上机实习报告一、实习任务目标帮助我们了解计算机的组成以及性能,还有能对计算机进行基本的操作。
Win-DLX 计算机系统结构课程实验教程
Win-DLX 计算机系统结构课程实验教程目录实验一熟悉WinDLX的使用 (2)实验二结构相关 (4)实验三数据相关................................................................... .6 实验四指令调度 (8)附录实验报告 (10)实验一汇编源程序的上机调试操作基础训练一.实验目的:通过本实验,熟练掌握WinDLX模拟器的操作和使用,熟悉DLX指令集结构及其特点。
二.实验内容:(一)WinDLX的安装:1. WinDLX是一个基于Windows的模拟器, 能够演示DLX流水线是如何工作的。
WinDLX 包含windlx.exe和windlx.hlp文件。
同时,还需要一些扩展名为.s的汇编代码文件。
按以下步骤在Windows下安装WinDLX:⑴ WinDLX创建目录,例如D:\WINDLX⑵解压WinDLX软件包或拷贝所有的WinDLX文件(至少包含windlx.exe,windlx.hlp)到这个WinDLX 目录。
2. 启动和配置WinDLX:双击WinDLX图标,将出现一个带有六个图标的主窗口,双击这些图标会弹出子窗口.为了初始化模拟器, 点击File菜单中的Reset all菜单项,弹出一个“ResetDLX”对话框。
然后点击窗口中的“确认”按钮即可。
(二)程序介绍1.求阶乘程序fact.s这个程序说明浮点指令的使用。
该程序从标准输入读入一个整数,求其阶乘,然后将结果输出。
该程序中调用了input.s中的输入子程序,这个子程序用于读入正整数。
2.程序gcm.sgcm.s程序从标准输入读入两个整数,求他们的greatest common measure,然后将结果写到标准输出。
3. 求素数程序prim.sprim.s程序计算若干个整数的素数。
三.实验要求:实验前要做好充分准备,包括WinDLX安装与调试步骤、程序运行方法,以及对模拟结果的分析等。
计算机体系结构实验报告3篇
计算机体系结构实验报告第一篇:计算机体系结构概述计算机体系结构是计算机学科中的一个重要分支,它研究的是计算机的硬件组成和工作原理,包括计算机的处理器、存储器、输入输出设备、总线等。
计算机体系结构的研究可以帮助我们理解计算机的工作原理,优化计算机的性能,提升计算机的能力。
计算机体系结构可以分为两个方面:指令集体系结构和微体系结构。
其中,指令集体系结构是指计算机的操作系统能够直接识别和执行的指令集合,它们是应用程序的编程接口;而微体系结构是指通过硬件实现指令集合中的指令,在底层支持指令集合的操作。
指令集体系结构和微体系结构是密切相关的,因为指令集体系结构会影响微体系结构的设计和实现。
目前,计算机体系结构主要有三种类型:单处理器体系结构、多处理器体系结构和分布式计算体系结构。
其中,单处理器体系结构是指所有的指令和数据都存放在同一台计算机中,这种体系结构的优点是操作简单、易于管理,但是主频存在瓶颈,无法很好地发掘多核的性能优势;多处理器体系结构是指多个计算机共享同一块物理内存,因此可以方便地实现负载均衡和任务协作,但是存在通信延迟和数据一致性问题;分布式计算体系结构则是指通过互联网将多个计算机连接成一个网络,可以在全球范围内共享计算资源,但是通信成本和数据安全问题需要考虑。
总之,计算机体系结构是计算机学科中的重要分支,它研究计算机的硬件组成和工作原理,帮助我们理解计算机的工作原理,优化计算机性能,提升计算机能力。
第二篇:计算机指令集体系结构计算机指令集体系结构,简称ISA(Instruction Set Architecture),是指计算机能够识别和执行的指令集合。
ISA是计算机指令的编程接口,定义了一组指令和地址模式,以及寄存器和内存的组织方式,它是计算机软件和硬件协同工作的关键接口之一。
ISA可以分为两类:精简指令集体系结构(RISC,Reduced Instruction Set Computer)和复杂指令集体系结构(CISC,Complex Instruction Set Computer)。
计算机系统结构实验报告
计算机系统结构实验报告计算机系统结构实验报告《计算机系统结构》实验报告专业班级姓名学号实验一熟悉模拟器WinDLX的使用一、实验目的1. 熟练掌握WinDLX模拟器的操作和使用,熟悉DLX指令集结构及其特点。
2. 加深对计算机流水线基本概念的理解。
3.了解DLX基本流水线各段的功能以及基本操作。
二、实验平台WinDLX模拟器三、实验内容和步骤1.WinDLX的安装WinDLX模拟器是一个图形化、交互式的DLX 流水线模拟器,能够演示DLX流水线是如何工作的。
该模拟器可以装载DLX汇编语言程序(后缀为“.s”的文件),然后单步、设断点或是连续执行该程序。
CPU的寄存器、流水线、I/O和存储器都可以用图形表示出来,以形象生动的方式描述DLX流水线的工作过程。
模拟器还提供了对流水线操作的统计功能,便于对流水线进行性能分析。
WinDLX 包含windlx.exe和windlx.hlp文件。
同时,还需要一些扩展名为.s的汇编代码文件。
按以下步骤在Windows下安装WinDLX:(1)WinDLX创建目录,例如D:\WINDLX(2)解压WinDLX软件包或拷贝所有的WinDLX文件(至少包含windlx.exe, windlx.hlp)到这个WinDLX 目录。
2.启动和配置WinDLX双击WinDLX图标,将出现一个带有六个图标的主窗口,如图1-1。
双击这些图标会弹出子窗口。
图1-1 WinDLX启动窗口为了初始化模拟器, 点击File 菜单中的Reset all 菜单项,弹出一个“Reset DLX”对话框。
然后点击窗口中的“确认”按钮即可。
WinDLX可以在多种配置下工作。
可以改变流水线的结构和时间要求、存储器大小和其他几个控制模拟的参数。
点击Configuration→Floating Point Stages(点击Configuration打开菜单,然后点击Floating Point Stages菜单项),选择如图1-2标准配置。
大连理工大学计算机系统结构实验-实验一
大连理工大学实验报告计算机系统结构实验实验一MIPS指令系统和MIPS体系结构学院(系):电子信息与电气工程学部专业:计算机科学与技术学生姓名:班级:学号:大连理工大学Dalian University of Technology实验一MIPS指令系统和MIPS体系结构一、实验目的和要求1. 了解熟悉MIPSsim模拟器。
2. 熟悉MIPS指令系统及其特点。
3. 熟悉MIPS体系结构。
二、实验步骤1、启动MIPSsim。
2、选择“配置”->“流水方式”选项,使模拟器工作在非流水方式。
3、参照使用说明,熟悉MIPSsim模拟器的操作和使用方法。
4、选择“文件”->“载入程序”选项,加载样例程序alltest.asm,然后查看“代码”窗口,查看程序所在的位置(起始地址为0x00000000)。
5、查看“寄存器”窗口PC寄存器的值:[PC]= 0x00000000 。
6、执行load和store指令,步骤如下:(1)单步执行一条指令(F7)。
(2)下一条指令地址为= 0x00000004 ,是一条有(有,无)符号载入字节(字节,半字,字)指令。
(3)单步执行一条指令(F7)。
(4)查看R1的值,[R1]=0X FFFFFFFFFFFFFF80 。
(5)下一条指令地址为=0X00000008 ,是一条有(有,无)符号载入字(字节,半字,字)指令。
(6)单步执行1条指令。
(7)查看R1的值,[R1]=0X0000000000000080 。
(8)下一条指令地址为=0X0000000C ,是一条无(有,无)符号载入字(字节,半字,字)指令。
(9)单步执行1条指令。
(10)查看R1的值,[R1]= 0X0000000000000080 。
(11)单步执行1条指令。
(12)下一条指令地址为0X00000014 ,是一条保存字(字节,半字,字)指令。
(13)单步执行一条指令。
(14)查看内存BUFFER处字的值,值为0x00000080 。
计算机系统结构第一,二次实验报告范文
班别:学号:姓名:袁凯琦1.实验一WINDLX模拟器安装及使用1.1实验类别:综合实验1.2实验目的:建立实验环境,了解WINDLX模拟器的结构及使用1.3实验设备环境:WinDLX要求的硬件平台是IBM PC兼容机,WinDLX是一个Windows应用程序,运行于Windows 3.0以上的操作系统。
1.4实验原理:WinDLX软件包中带有说明文件,供安装程序时候使用。
1.5要点与难点:软件包中还有WinDLX教程和联机帮助,可以通过它们进一步了解模拟器的使用方法和DLX处理器的原理。
大家在进行模拟实验以前应该仔细阅读这些文档。
1.6实验内容和要求:阅读模拟器Help文档和相关资料,利用Fact.s及Input.s代码熟悉模拟器的配置、各项工具使用、寄存器设置及指令系统。
1.7实验步骤:(1)WINDLX模拟器安装WinDLX是一个基于Windows的模拟器, 能够演示DLX流水线是如何工作的。
WinDLX 包含windlx.exe和windlx.hlp文件。
同时,还需要一些扩展名为.s的汇编代码文件。
按以下步骤在Windows下安装WinDLX: WinDLX创建目录,例如E:\WINDLX解压WinDLX软件包或拷贝所有的WinDLX文件(至少包含 windlx.exe, windlx.hlp)到这个WinDLX 目录。
(2)熟悉模拟器的配置启动和配置WinDLX: 双击WinDLX图标,将出现一个带有六个图标的主窗口,双击这些图标会弹出子窗口.(3)利用Fact.s及Input.s代码熟悉各工具的使用1)导入求阶乘程序fact.sFile--> Load code or Data,然后出现以下界面,双击fact.s,input.s(由于fact.s调用了input.s),点击Load键即可导入按F7,单步运行程序,通过观察各个窗口的信息,理解fact.s的运行情况显示的是各个寄存器的名称及内容PC:程序计数器;IMAR:指令内存地址寄存器;IR:指令寄存器;A,B:ALU操作数寄存器;BTA:分支地址寄存器;ALU:ALU输出寄存器,ALUI(伪)寄存器;FPSR:用来保存有关浮点数操作结果的信息;DMAR:数据内存地址寄存器;SDR:存数据寄存器,SDRI (伪)寄存器;LDR:去素聚寄存器,LDRI(伪)寄存器;R0~R31:32位通用寄存器,R0永远为0;F0~F31:浮点寄存器。
计算机系统结构实验-循环展开和指令调度.
中央民族大学实验报告
八、实验数据及结果分析:
一、用指令调度技术解决流水线中的结构相关与数据相关:
1、instruction.s文件的代码:
2、运行程序部分截图
3、未用指令调度技术之前程序执行过程中的相关:
4、运行结果数据统计
5、采用指令调度后的程序代码
6、采用调度技术后发生的关联
7、运行结果数据统计
二、用循环展开、寄存器换名以及指令调度提高性能:
1、test.s文件的源代码如下:
2、运行test.s文件,记录运行过程中存在的相关,以及运行总的时钟周期数
3、将循环展开3次,将4个循环体组成的代码代替原来的循环体,并对程序做相应的修改。
然后对新的循环体进行寄存器换名和指令调度,代码如下:
4、记录执行过程中各种相关发生的次数以及程序执行的总时钟周期数:。
计算机系统结构实验一
实验报告册计算机系统结构姓名:***学号:*********专业:计算机科学与技术班级:153指导教师:***华北水利水电学院信息系系统结构教研室实验一存贮层次模拟器学时:4学时【实验目的】1、使学生清楚认识虚拟存贮层次结构,熟练掌握常用的几种存储地址映象与变换方法,以及FIFO、LRU等替换算法的工作全过程。
2、要求用程序实现任意地址流在存储层次上的命中情况,实验结束后提交源程序和实验说明书。
【实验内容】在模拟器上实现在任意地址流下求出在 Cache—主存两层存贮层次上的命中率。
【实验步骤】1.Cache—主存:映像方式要实现全相联、直接映象、组相联方式三种方式,并选择每一种映像方式下输出结果;替换算法一般使用LRU算法。
3.要求主存容量、Cache大小、页大小、块大小以及组数等可以输入修改。
4.求出命中率;显示替换的全过程;任选一种高级语言来做。
5.要有简洁、易于操作的界面。
【实验仪器设备】计算机(装有常用编程环境,如C、VC++等)【源程序、实验结果及分析、实验心得及体会】#include<iostream>using namespace std;struct B{ int yh;int A;};void fifo(int m,int n,int address[10]){ int i=m/n;int count=0,count1=100;double d=0.0;B zucun[100];for(int t1=0;t1<i;t1++){zucun[t1].yh=address[t1];cout<<"缺页,"<<address[t1]<<"调进" <<endl;zucun[t1].A=count1;count1--;}for(int t2=i;t2<10;t2++){ int w=0,u=-1;for(int t3=0;t3<i;t3++){ if(address[t2]==zucun[t3].yh){ cout<<address[t2]<<"命中"<<endl;count++;u=0;continue;}}if(u==-1){ for(int t5=0;t5<i;t5++){ w=0;if(zucun[w].A<zucun[t5].A)w=t5;}zucun[w].yh=address[t2];zucun[w].A=count1;count1--;cout<<"缺页,"<<address[t2]<<"替换"<<endl;}u=-1; }d=count/10.0;cout<<"命中率为:"<<d<<endl;}void lru(int m,int n,int address[10]){int i=m/n;int count=0;double d=0.0;B zucun[100];for(int t77=0;t77<i;t77++){zucun[t77].yh=-1;zucun[t77].A=0;}for(int t2=0;t2<i;t2++){zucun[t2].yh=address[t2];cout<<"缺页,"<<address[t2]<<"调进"<<endl;for(int t7=0;t7<t2;t7++){if(zucun[t7].yh!=-1)zucun[t7].A++;}for(int t8=t2+1;t8<i;t8++){if(zucun[t8].yh!=-1)zucun[t8].A++;} }for(int t3=i;t3<10;t3++){int w=0;int u=-1;for(int t4=0;t4<i;t4++){if(address[t3]==zucun[t4].yh){cout<<address[t3]<<"命中"<<endl;zucun[t4].A=0;for(int t11=0;t11<t4;t11++)zucun[t11].A++;for(int t12=t4+1;t12<i;t12++)zucun[t12].A++;count++;u=0;continue;} }if(u==-1){ w=0;for(int t5=0;t5<i;t5++){if(zucun[w].A<zucun[t5].A)w=t5;}zucun[w].yh=address[t3];zucun[w].A=0;for(int t9=0;t9<w;t9++)zucun[t9].A++;for(int t10=w+1;t10<i;t10++)zucun[t10].A++;cout<<"缺页,";cout<<address[t3];cout<<"替换" <<endl;}u=-1;}d=count/10.0;cout<<"命中率为:"<<d<<endl;}void main(){int m,n,a;int address[10];cout<<"请输入主存容量,页面大小:"<<endl;cin>>m>>n;cout<<"请输入10个地址流:"<<endl; for(int i=0;i<10;i++){ cin>>a;address[i]=a;}cout<<"1.FIFO 置换算法:"<<endl;fifo(m, n, address);cout<<"2.LRU置换算法"<<endl;lru(m, n, address);}实验心得:本次实验做了好久,而且感觉好难,最后还是通过同学的讲解才大致了解了来龙去脉,也勉强的完成了任务,通过这件事,明白考查课所要学习的东西依然很正要,值得我们思考。
《计算机组成原理与系统结构》实验指导书
实验1 运算器组成实验实验序号:1 实验名称:运算器组成实验适用专业:计算机科学与技术学时数:4学时一、实验目的1、掌握简单运算器的数据传送通路。
2、验证运算功能发生器(74LS181)的组合功能。
二、实验原理实验中所用的运算器数据通路如图1-1所示。
其中运算器由两片74LS181以并/串形式构成8位字长的ALU。
运算器经过一个三态门(74LS245)和数据总线相连,运算器的两个数据输入端分别由二个锁存器(74LS373)锁存,锁存器的输入连至数据总线,数据开关(“INPUT DEVICE”)用来给出参与运算的数据,并经过一三态门(74LS245)和数据总线相连,数据显示灯(“BUS UNIT”)已和数据总线相连,用来显示数据总线内容。
图1-1 运算器数据通路图中已将用户需要连接的控制信号用圆圈标明(其他实验相同,不再说明),其中除T4为脉冲信号,其他均为电平信号。
由于实验电路中的时序信号均已连至“W/R UNIT”的相应时序信号引出端,因此,在进行实验时,只需将“W/R UNIT”的T4接至“STATE UNIT”的微动开关KK2的输出端,按动微动开关,即可获得实验所需的单脉冲,而S3、S2、S1、S0、Cn、M、LDDR1、LDDR2、ALU-B、SW-B 各电平控制信号用“SWITCH UNIT”中的二进制数据开关来模拟,其中Cn、ALU-B、SW-B为低电平有效,LDDR1、LDDR2为高电平有效。
三、实验内容1、按照图1-2连接实验线路,仔细查线无误后,接通电源。
2、用二进制数码开关向DR1和DR2寄存器置数。
具体操作步骤图示如下:检验DR1和DR2中存的数据是否正确,具体操作为:关闭数据输入三态门(SW-B =1),打开ALU输出三态门(ALU-B=0),当置S3、S2、S1、S0、M为11111时,总线指示灯显示DR1中的数,而置成10101时总线指示灯显示DR2中的数。
3、验证74LS181的算术运算和逻辑运算功能(采用正逻辑)在给定DR1=65、DR2=A7的情况下,改变运算器的功能设置,观察运算器的输出,填入下表1-1中,并和理论分析进行比较、验证。
大学计算机Ⅱ实验报告实验一
大学计算机Ⅱ实验报告实验一一、引言计算机科学与技术是现代社会不可或缺的重要学科之一。
在高校计算机专业的学习过程中,实验环节扮演着至关重要的角色,能够帮助学生更好地理解和掌握所学的理论知识,提高实际操作能力和问题解决能力。
本实验报告旨在总结和分析大学计算机Ⅱ实验一的过程和结果,进一步加深对计算机硬件原理和实际运用的理解。
二、实验目的本次实验的目的是通过搭建计算机系统的基本硬件平台,了解计算机硬件原理以及多个硬件组件之间的工作原理和相互关系。
通过实际操作,进一步熟悉计算机硬件的组装流程,加深对二进制数据表示、逻辑门电路和状态转换的理解。
三、实验内容1. 按照实验指导书的步骤,完成计算机系统的硬件组装。
包括主板、CPU、内存、硬盘、显卡等硬件组件的连接和安装。
2. 对计算机硬件进行配置和优化,如设置BIOS,安装操作系统等。
3. 进行计算机的开机和检测,确保各硬件组件正常工作。
四、实验步骤1. 首先,准备相关硬件和工具。
2. 将主板安装在计算机机箱中,确保紧密连接并固定好。
3. 将CPU、内存、硬盘、显卡等硬件组件插入主板相应插槽中,并连接上相应电源线。
4. 将显示器接入显卡的输出接口,并将键盘和鼠标连接到计算机主机的USB接口上。
5. 硬件连接完成后,接通电源,按照实验指导书提供的方法进行启动并进行配置。
6. 检查计算机各硬件组件是否正常工作,如有异常检测则进行排查和修复。
五、实验结果与分析经过实验,成功完成了计算机硬件的组装和配置工作。
在开机及检测过程中,各硬件组件正常工作,没有出现明显的故障。
通过观察显示器输出的信息和操作系统的启动情况,可以确认硬件组装和配置的正确性。
实验一的主要目的是帮助学生熟悉计算机硬件的组装和配置过程,以及硬件之间的关系和工作原理。
通过实际操作,学生能够更好地理解计算机硬件的构成和功能,为后续实验和学习打下坚实的基础。
六、实验总结通过本次实验,我对计算机硬件的组装和配置有了更深入的了解。
计算机系统结构实验一实验报告
宁夏师范学院数学与计算机科学学院《计算机系统结构》实验报告实验序号:实验一实验项目名称:WinDLX模拟器与DLX指令的使用学号姓名专业、班级实验地点文科楼224指导教师时间2015.5.19一、实验目的及要求1.熟练掌握WinDLX模拟器的操作和使用,熟悉DLX指令集结构及其特点;2.加深对计算机流水线基本概念的理解;3.了解DLX基本流水线各段的功能以及基本操作;二、实验平台及要求WinDLX模拟器1.WinDLXWinDLX模拟器是一个图形化、交互式的DLX流水线模拟器,能够演示DLX流水线是如何工作的。
该模拟器可以装载DLX汇编语言程序(后缀为“.s”的文件),然后单步、设断点或是连续执行该程序。
CPU的寄存器、流水线、I/O和存储器都可以用图形表示出来,以形象生动的方式描述DLX流水线的工作过程。
模拟器还提供了对流水线操作的统计功能,便于对流水线进行性能分析。
有关WinDLX的详细介绍,见附录(WinDLX教程)。
2.熟悉WinDLX指令集和WinDLX源代码的编写三、实验内容与步骤用WinDLX模拟器执行求最大公倍数程序gcm.s分别以步进、连续、设置断点的方式运行程序,观察程序在流水线中的执行情况,观察CPU中寄存器和存储器的内容。
熟练掌握WinDLX的操作和使用。
注意:gcm.s中调用了input.s中的输入子程序。
load程序时,要两个程序一起装入(都select后再点击load)。
如:给出两组数6、3和6、1,分别在main+0x8(add r2,r1,r0)、gcm.loop(seg r3,r1,r2)和result+0xc(trap0x0)设置断点,采用单步和连续混合执行的方法完成程序,注意中间过程和寄存器的变化情况,然后单击主菜单execute/display dlx-i/o,观察结果。
四、实验结果与数据处理321实验程序实验源程序见文件gcm.s和input.s结果截图如下:五、分析与讨论通过本实验我掌握了WinDLX模拟器的基本操作和使用,了解了DLX 指令集结构及其特点,更加深入的了解计算机体系流水线的工作过程。
计算机系统结构实验一MIPS指令系统和MIPS体系结构
计算机系统结构实验报告班级计算机2班实验日期2016、2、24实验成绩姓名殷凤学号22920132203917 实验名称MIPS指令系统与MIPS体系结构实验目得要求实验目得及要求:了解与熟悉指令级模拟器;熟练掌握MIPSsim模拟器得操作与使用方法;熟悉MIPS指令系统及其特点,加深对MIPS指令操作语义得理解;熟悉MIPS体系结构。
实验器材:实验平台采用指令级与流水线操作级模拟器MIPSsim;计算机一台。
实验内容、步骤及结果1、阅读MIPSsim模拟器得使用方法,然后了解MIPSsim得指令系统与汇编语言;2、对照实验教程启动、配置MIPSsim、exe,参照使用说明,载入程序,多种执行方式查瞧结果;3、补充实验得完成:a.求阶乘问题:解决方法:在代码最后加一句指令TEQ r0,r0思路:将自定义得整数存入一个整数寄存器r1,r2,“1”得值存入寄存器r3作为求阶乘时减一得用处,r2减一,与原值r1相乘结果存入r1,判断r2值就是否已经减到0,就是就运行结束,否则跳转继续r2减一与r1相乘,最后r1得内容就就是最终结果。
结果截图:b.ALU运算求(X-Y)*2-(X+Y)/8问题:无思路:题目要求不可以使用乘除指令,则利用逻辑左移(SLL)一位实现乘2,利用逻辑右移(SRL)3实现除以8。
r1 r2中存放自定义得x y,r3中存放x-y得值,r4存放x+y得值,最后结果放在r5中。
结果截图:c.求补码问题:解决方法:把高32位与低32位之间base得差值4个字节事先存进寄存器r6问题:解决方法:改成LABLE1问题:如果就是正数得话结果总就是错误得解决方法:刚开始忘记判断正负了,如果就是正数就直接存回存储器原来得位置,判断正负通过高32位(存在r2中)与十六进制数0x00…0080000000(寄存器r9)进行AND,如果结果等于0(与$r0比较),就为正数,否则就就是负数。
思路:r1中放取字指令LW得base值,根据内存中得数据来决定,存储器中高32位数据取出来放进r2,低32位数据放进r3。
计算机组成原理与系统结构实验教程
实验一算术逻辑运算实验一.实验目的1.了解运算器的组成结构。
2.掌握运算器的工作原理。
3.学习运算器的设计方法。
4.掌握简单运算器的数据传送通路。
5.验证运算功能发生器74LS181 的组合功能。
二.实验设备TDN-CM+或TDN-CM++教学实验系统一套。
三.实验原理实验中所用的运算器数据通路图如图2.6-1。
图中所示的是由两片74LS181 芯片以并/串形式构成的8 位字长的运算器。
右方为低4 位运算芯片,左方为高4 位运算芯片。
低位芯片的进位输出端Cn+4 与高位芯片的进位输入端Cn 相连,使低4 位运算产生的进位送进高4 位运算中。
低位芯片的进位输入端Cn 可与外来进位相连,高位芯片的进位输出引至外部。
两个芯片的控制端S0~S3 和M 各自相连,其控制电平按表2.6-1。
为进行双操作数运算,运算器的两个数据输入端分别由两个数据暂存器DR1、DR2(用锁存器74LS273 实现)来锁存数据。
要将内总线上的数据锁存到DR1 或DR2 中,则锁存器74LS273 的控制端LDDR1 或LDDR2 须为高电平。
当T4 脉冲来到的时候,总线上的数据就被锁存进DR1 或DR2 中了。
为控制运算器向内总线上输出运算结果,在其输出端连接了一个三态门(用74LS245 实现)。
若要将运算结果输出到总线上,则要将三态门74LS245 的控制端ALU-B 置低电平。
否则输出高阻态。
2图2.6-1 运算器通路图数据输入单元(实验板上印有INPUT DEVICE)用以给出参与运算的数据。
其中,输入开关经过一个三态门(74LS245)和内总线相连,该三态门的控制信号为SW-B,取低电平时,开关上的数据则通过三态门而送入内总线中。
总线数据显示灯(在BUS UNIT 单元中)已与内总线相连,用来显示内总线上的数据。
控制信号中除T4 为脉冲信号,其它均为电平信号。
由于实验电路中的时序信号均已连至“W/R UNIT”单元中的相应时序信号引出端,因此,需要将“W/R UNIT”单元中的T4 接至“STATE UNIT”单元中的微动开关KK2 的输出端。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告册
计算机系统结构
姓名:韩文肖
学号:201215325
专业:计算机科学与技术
班级:153
指导教师:孙全红
华北水利水电学院信息系系统结构教研室
实验一存贮层次模拟器
学时:4学时
【实验目的】
1、使学生清楚认识虚拟存贮层次结构,熟练掌握常用的几种存储地址映象与变换方法,以及FIFO、LRU等替换算法的工作全过程。
2、要求用程序实现任意地址流在存储层次上的命中情况,实验结束后提交源程序和实验说明书。
【实验内容】
在模拟器上实现在任意地址流下求出在 Cache—主存两层存贮层次上的命中率。
【实验步骤】
1.Cache—主存:映像方式要实现全相联、直接映象、组相联方式三种方式,并选择每一种映像方式下输出结果;替换算法一般使用LRU算法。
3.要求主存容量、Cache大小、页大小、块大小以及组数等可以输入修改。
4.求出命中率;显示替换的全过程;任选一种高级语言来做。
5.要有简洁、易于操作的界面。
【实验仪器设备】
计算机(装有常用编程环境,如C、VC++等)
【源程序、实验结果及分析、实验心得及体会】
#include<iostream>
using namespace std;
struct B
{ int yh;
int A;};
void fifo(int m,int n,int address[10])
{ int i=m/n;
int count=0,count1=100;
double d=0.0;
B zucun[100];
for(int t1=0;t1<i;t1++)
{
zucun[t1].yh=address[t1];
cout<<"缺页,"<<address[t1]<<"调进" <<endl;
zucun[t1].A=count1;
count1--;}
for(int t2=i;t2<10;t2++)
{ int w=0,u=-1;
for(int t3=0;t3<i;t3++)
{ if(address[t2]==zucun[t3].yh)
{ cout<<address[t2]<<"命中"<<endl;
count++;
u=0;
continue;
}}
if(u==-1)
{ for(int t5=0;t5<i;t5++)
{ w=0;
if(zucun[w].A<zucun[t5].A)
w=t5;
}
zucun[w].yh=address[t2];
zucun[w].A=count1;
count1--;
cout<<"缺页,"<<address[t2]<<"替换"<<endl;
}
u=-1; }
d=count/10.0;
cout<<"命中率为:"<<d<<endl;
}
void lru(int m,int n,int address[10])
{
int i=m/n;
int count=0;
double d=0.0;
B zucun[100];
for(int t77=0;t77<i;t77++)
{
zucun[t77].yh=-1;
zucun[t77].A=0;
}
for(int t2=0;t2<i;t2++)
{
zucun[t2].yh=address[t2];
cout<<"缺页,"<<address[t2]<<"调进"<<endl;
for(int t7=0;t7<t2;t7++)
{
if(zucun[t7].yh!=-1)
zucun[t7].A++;
}
for(int t8=t2+1;t8<i;t8++)
{
if(zucun[t8].yh!=-1)
zucun[t8].A++;
} }
for(int t3=i;t3<10;t3++)
{
int w=0;
int u=-1;
for(int t4=0;t4<i;t4++)
{
if(address[t3]==zucun[t4].yh)
{
cout<<address[t3]<<"命中"<<endl;
zucun[t4].A=0;
for(int t11=0;t11<t4;t11++)
zucun[t11].A++;
for(int t12=t4+1;t12<i;t12++)
zucun[t12].A++;
count++;
u=0;
continue;
} }
if(u==-1)
{ w=0;
for(int t5=0;t5<i;t5++)
{
if(zucun[w].A<zucun[t5].A)
w=t5;}
zucun[w].yh=address[t3];
zucun[w].A=0;
for(int t9=0;t9<w;t9++)
zucun[t9].A++;
for(int t10=w+1;t10<i;t10++)
zucun[t10].A++;
cout<<"缺页,";
cout<<address[t3];
cout<<"替换" <<endl;
}
u=-1;
}
d=count/10.0;
cout<<"命中率为:"<<d<<endl;
}
void main()
{
int m,n,a;
int address[10];
cout<<"请输入主存容量,页面大小:"<<endl;
cin>>m>>n;
cout<<"请输入10个地址流:"<<endl; for(int i=0;i<10;i++)
{ cin>>a;
address[i]=a;
}
cout<<"1.FIFO 置换算法:"<<endl;
fifo(m, n, address);
cout<<"2.LRU置换算法"<<endl;
lru(m, n, address);
}
实验心得:本次实验做了好久,而且感觉好难,最后还是通过同学的讲解才大致了解了来龙去脉,也勉强的完成了任务,通过这件事,明白考查课所要学习的东西依然很正要,值得我们思考。