《计算机系统结构》实验教学大纲及实验内容

合集下载

计算机系统结构实验报告

计算机系统结构实验报告

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

计算机系统结构课程教学大纲

计算机系统结构课程教学大纲

《计算机系统结构》课程教学大纲一、课程性质与教学目的《计算机系统结构》的教学对象为计算机应用专业的高年级本科生专业技术基础课程,目的是介绍计算机体系结构的概念、技术和最新动态,着重介绍软,硬件功能分配以及如何最佳、最合理地实现软、硬件功能分配。

要求了解基本概念、基本原理、基本结构和基本分析方法。

使学生对计算机系统结构、组成和实现有一个整体掌握。

二、基本要求1.本课程的前续课程应为:计算机组成原理、汇编程序设计、高级语言程序设计、离散数学、数据结构、操作系统、编译原理等。

2.了解和掌握计算机的系统结构、组成和实现的相互关系、相互影响。

3.对计算机整体结构、软,硬件的功能分配和划分的理论及方法有一定的理解。

4.了解并行、体系方面的基本概念和技术,掌握系统结构中的一些分析方法5.了解当前计算机系统结构的发展方向和主要的问题。

三、教学内容1.计算机系统结构的基本概念计算机系统结构、组成与实现、软硬取舍、并行性的发展及计算机系统的分类2.指令与寻址数据表示、寻址方式、指令系统的设计和改进3.输入输出系统总线设计、中断系统、通道处理机、外围处理机4.存储体系存储体系的形成与性能、虚拟存储器、高速缓冲存储器5.重叠、流水和向量处理机重叠解释方式、流水方式、流水线机器的相关处理和控制机构6.多处理机特点及主要技术问题、多处理机的硬件结构、程序并行性问题四、学分及学时分配学分:3学时:总学时48 ,讲授学时48 ,实验(上机)学时0 ,建议学时分配如下:五、主要教材及参考书:教材:《计算机系统结构》--------- 李学干, 苏东庄编西安电子科技大学出版社参考书:《计算机系统结构基础》----- 严允中, 徐炜民编著清华大学出版社《计算机原理与系统结构》--- 侯炳辉主编清华大学出版社《计算机系统结构》--------- 郑纬民等编清华大学出版社。

计算机组成原理课程教学大纲

计算机组成原理课程教学大纲

计算机组成原理课程教学大纲计算机组成原理课程教学大纲一、课程概述“计算机组成原理”是计算机科学与技术专业的一门核心课程,旨在帮助学生理解计算机系统的基本组成和工作原理,包括中央处理器(CPU)、内存、输入输出(I/O)以及总线等基本组成部分。

通过本课程的学习,学生将掌握计算机硬件系统的组织结构、工作原理和设计方法,为进一步学习其他计算机硬件课程打下坚实的基础。

二、课程目标本课程的目标如下:1、理解计算机系统的基本组成,包括CPU、内存、I/O设备和总线等。

2、掌握计算机系统中的数据表示和运算方法,包括二进制数的表示、算术逻辑运算、机器指令等。

3、理解并掌握计算机系统中控制信号的产生和传递机制,包括时序、指令流程、异常处理等。

4、了解计算机系统的性能设计和评估方法,包括速度计频、吞吐量、响应时间等。

5、学习并掌握计算机组织结构的设计方法,包括硬件设计、操作系统设计、I/O接口设计等。

三、课程内容本课程将分为以下几个模块:1、计算机系统的基础知识:包括计算机系统的定义、分类、硬件组成等。

2、CPU的基本原理:包括CPU的组织结构、指令周期、时序等。

3、内存的基本原理:包括内存的组织结构、存储器的扩展、内存的控制等。

4、I/O设备的基本原理:包括I/O设备的组织结构、I/O控制方式等。

5、总线的基本原理:包括总线的组织结构、总线的通信协议等。

6、计算机系统的性能设计和评估:包括计算机系统的速度计频、吞吐量、响应时间等性能指标的设计和评估方法。

7、计算机系统的组织结构设计:包括硬件设计、操作系统设计、I/O 接口设计等。

四、教学方法本课程将采用以下几种教学方法:1、理论教学:通过讲解计算机系统的基本原理,帮助学生理解计算机组织的内部工作机制。

2、实验教学:通过实验操作,让学生实际操作计算机硬件,加深对理论知识的理解和掌握。

3、案例分析:通过分析实际计算机系统的组织结构,让学生了解计算机系统的实际应用和设计方法。

《计算机体系结构》教学大纲

《计算机体系结构》教学大纲

《计算机体系结构》教学大纲英文名称:Computer Architecture预修课程:计算机原理、数据结构、操作系统、编译原理、高级语言总学时数:45学时,其中讲授36学时,课内实验4学时。

学分:2.5教学对象:计算机科学与技术专业本科学员开课学期:第6学期一、课程的性质、地位和任务该课程是计算机专业一门非常重要的专业基础课。

课程系统介绍进行计算机系统设计所必须了解与掌握的专业知识,重点介绍计算机体系结构的基本思想、基本概念、设计原理、设计方法与评价分析方法。

本课程内容广、概念多、系统性强、实例多,涉及计算机体系结构技术领域前沿。

本课程的任务是要使学生能够系统全面正确理解和掌握计算机体系结构技术的基本思想,并培养学生按照定量分析的方法初步设计和评价计算机系统的能力。

二、教学内容和要求(一)计算机体系结构基础内容和要求:了解计算机系统设计的基本任务;了解计算机技术发展的趋势;了解计算机性能与成本的影响因素,以及性能的评价方法,掌握计算机体系结构基本概念和定量分析方法的基本原理。

重点:计算机设计的基本任务,计算机体系结构基本概念,定量分析方法基本原理(二)计算机指令集结构设计内容和要求:从计算机系统指令集结构设计出发了解典型指令集结构的技术特点及其发展,掌握计算机系统指令集结构的设计方法以及各种设计方案的优缺点;掌握一种RISC指令集结构实例。

重点:计算机系统指令集结构设计,RISC指令集结构实例(三)流水线技术内容和要求:掌握流水线技术的基本原理及其性能评价方法;掌握RISC指令集结构流水线的基本设计方法,并能够从数据相关与控制相关两个方面分析流水线性能,掌握提高流水线性能的软硬件方法。

掌握向量处理机原理;了解基本的向量处理机结构;掌握向量处理机性能改善和评价的基本方法。

重点:流水线的基本原理与设计、分析评价方法、向量处理机原理(四)指令级并行内容和要求:掌握指令级并行的基本概念、指令的动态调度技术,理解控制相关的动态解决技术,掌握多指令流出技术的基本原理。

《计算机组成原理》实验教学大纲

《计算机组成原理》实验教学大纲

《计算机组成原理》实验教学大纲一、实验目的1.了解计算机的基本组成结构和工作原理;2.掌握计算机各个部件的功能和作用;3.掌握计算机组成原理的基本概念和理论知识;4.培养学生动手实践、动脑思考的能力;5.提高学生的团队协作和问题解决能力。

二、实验内容1.计算机硬件基本组成实验(1)CPU的功能和性能测试(2)主板的组装和测试(3)内存的安装和测试(4)硬盘的安装和测试2.计算机软件基本组成实验(1)操作系统的安装和配置(2)应用软件的安装和配置(3)网络设置和测试3.计算机接口和通信实验(1)串口和并口的测试(2)USB接口的测试(3)网络通信的测试4.计算机系统性能测试实验(1)性能测试软件的使用(2)性能测试实验数据分析(3)性能测试实验结果报告5.计算机故障排除实验(1)硬件故障排除方法(2)软件故障排除方法(3)系统故障排除方法三、实验设备1.计算机硬件设备:CPU、主板、内存、硬盘、显卡、其他外设2.计算机软件设备:操作系统、应用软件、性能测试软件3.通信设备:串口、并口、USB接口、网络设备四、实验要求1.认真学习计算机组成原理的理论知识;2.熟练掌握计算机硬件和软件的基本操作方法;3.认真执行实验操作步骤,按时完成实验任务;4.认真分析实验数据,撰写实验报告;5.积极参与实验讨论和交流,相互学习,共同进步。

五、实验流程1.实验前准备:查阅相关资料,准备实验材料;2.实验操作:根据实验大纲逐步进行实验操作;3.实验数据:记录实验过程中产生的数据和结果;4.实验分析:根据实验数据和结果分析实验过程;5.实验报告:撰写实验报告,总结实验经验和教训。

六、实验负责人实验负责人1:XXX实验负责人2:XXX七、实验安全注意事项1.操作实验设备时需注意安全,切勿疏忽大意;2.保护实验设备,避免损坏;3.如有不懂之处,及时向实验负责人请教;八、实验成绩评定1.实验操作得分2.实验报告得分3.实验讨论得分4.实验总成绩。

本科专业认证《计算机体系结构》教学大纲

本科专业认证《计算机体系结构》教学大纲

《计算机体系结构》教学大纲课程名称:计算机体系结构英文名称:Computer Architecture课程编号:0812000485课程性质:选修学分/学时:2/32。

其中,讲授 32学时,实验 0学时,上机 0学时,实训 0学时。

课程负责人:先修课程:模拟电路,数字电路,计算机组成原理,汇编语言,操作系统,算法与程序设计方法一、课程目标通过本课程的教学,使学生先掌握计算机系统结构的基本概念,以及计算机系统结构的形成和发展过程,再以现代计算机系统结构为主线,掌握计算机系统结构的合成、存储系统结构、流水线结构、多处理机系统、RISC结构、分布计算环境结构及数据流计算机结构等现代计算机的系统结构,并了解软件对计算机系统结构的影响,最后了解现代计算机系统结构的最新发展。

本课程帮助学生了解计算机系统结构的基本概念,基本原理、基本结构、基本分析方法以及近年来的重要进展。

通过本课程的学习,达到以下教学目标:1. 工程知识1.1 掌握必要的计算机体系结构基础理论知识。

1.2 能够应用计算机体系结构理论知识解决复杂工程技术问题。

2. 问题分析2.1 能够理解并恰当表述计算机体系结构的实际问题。

2.2 能够找到合适的解决计算机体系结构实际问题的程序与方法。

2.3 在一定的限制条件下能够合理解决计算机体系结构方面的实际问题。

3.设计/开发解决方案能够运用计算机系统结构基础知识初步进行计算机系统的规划与设计并体现创新意识。

4. 研究4.1能够采用计算机系统结构理论知识进行研究并合理设计实验方案。

4.2具备采集有效数据的能力。

5. 使用现代工具能够正确运用工具与资源对计算机系统的性能提升等问题进行设计与实现。

6. 终身学习6.1具有自觉搜集阅读与整理资料的能力。

6.2了解计算机系统结构的发展前沿。

6.3具有终身学习的意识与能力。

二、课程内容及学时分配如表1所示。

三、教学方法课程教学以课堂教学、实验教学、课外作业、综合讨论、网络课程等共同实施。

北邮高级计算机系统结构实验二三四五

北邮高级计算机系统结构实验二三四五

实验二指令流水线相关性分析·实验目的通过使用WINDLX模拟器,对程序中的三种相关现象进行观察,并对使用专用通路,增加运算部件等技术对性能的影响进行考察,加深对流水线和RISC 处理器的特点的理解。

·实验原理:指令流水线中主要有结构相关、数据相关、控制相关。

相关影响流水线性能。

·实验步骤一.使用WinDLX模拟器,对Fact.s做如下分析:(1)观察程序中出现的数据/控制/结构相关。

指出程序中出现上述现象的指令组合。

(2)考察增加浮点运算部件对性能的影响。

(3)考察增加forward部件对性能的影响。

(4)观察转移指令在转移成功和转移不成功时候的流水线开销。

·实验过程一.使用WinDLX模拟器,对Fact.s做如下分析:浮点加、乘、除部件都设置为1,浮点数运算部件的延时都设置为4,如图1:图1 初始设置将fact.s和input.s加载至WinDLX中,如图2示。

图2 加载程序1.观察程序中出现的数据/控制/结构相关;指出程序中出现上述现象的指令组合。

1)数据相关点击F7,使程序单步执行,当出现R-Stall时停止,运行过程中出现下图3所示,输入整数6。

图3 输入整数6打开Clock Diagram,可以清楚的看到指令执行的流水线如图4所示。

图4 指令流水线双击第一次出现R-Stall的指令行,如图5所示。

图5 指令详细信息对以上出现的情况分析如下:程序发生了数据相关,R-Stall(R-暂停)表示引起暂停的原因是RAW。

lbu r3,0×0(r2)要在WB周期写回r3中的数据;而下一条指令seqi r5,r3,0×a要在intEX周期中读取r3中的数据。

上述过程发生了WR冲突,即写读相关。

为了避免此类冲突,seq r5,r4,0×a的intEX指令延迟了一个周期进行。

由此,相关指令为:2)控制相关由图6可以看出,在第4时钟周期:第一条指令处于MEM段,第二条命令处于intEX段,第三条指令出于aborted状态,第四条命令处于IF段。

《计算机系统结构》教学大纲

《计算机系统结构》教学大纲

《计算机系统结构》教学大纲课程名称:计算机系统结构课程学时:72学时课程类型:专业必修课课程学分:3学分课程考核方式:考试一、课程目标本课程旨在使学生了解计算机系统的基本结构和原理,掌握计算机系统的层次结构、指令系统和中央处理器、主存储器和输入输出系统等方面的知识,培养学生分析和设计计算机系统的能力。

二、课程内容1.计算机系统概论1.1计算机系统的发展历程1.2计算机系统的基本组成部分1.3计算机系统的层次结构2.指令系统2.1指令的分类与特点2.2指令的寻址方式2.3指令的执行过程2.4简单指令系统的设计与实现3.中央处理器3.1数据通路和控制器3.2指令的执行过程3.3中央处理器的设计与实现3.4流水线技术4.主存储器4.1存储器的基本概念4.2存储器的层次结构4.3存储器的组织与管理4.4高速缓存存储器的设计与实现4.5虚拟存储器5.输入输出系统5.1输入输出系统的功能与分类5.2输入输出设备的接口技术5.3中断处理和DMA技术5.4输入输出系统的设计与实现三、教学方法本课程采用理论课和实验相结合的教学方法。

理论课主要讲授计算机系统的基本原理和概念,通过示例和案例分析加深学生的理解。

实验课将对部分计算机系统组成部分进行仿真和实践操作,提高学生的实际操作能力。

四、教材与参考书主教材:《计算机组成与设计》(第5版)- David A. Patterson, John L. Hennessy,机械工业出版社参考书:1. 《计算机系统结构教程》- M. Morris Mano, 赵洁,高等教育出版社2.《计算机体系结构》-王肇国,机械工业出版社五、考核方式与评分标准本课程采取考试的方式进行综合评估。

考试主要包括选择题、填空题、简答题和综合性问题。

评分标准包括学生对计算机系统原理的掌握程度、对计算机系统设计的理解程度以及实验操作能力的表现等。

六、实验内容1.设计一个简单的指令系统,包括指令集、寻址方式和控制流程。

《计算机系统结构》课程教学大纲

《计算机系统结构》课程教学大纲

《计算机系统结构》课程教学大纲一、课程基本信息课程代码:课程名称:计算机系统结构英文名称:Computer Architecture课程类别: 专业课学时:72(其中实验18学时)学分: 3.5适用对象: 计算机科学与技术、网络工程专业考核方式:考试(其中平时成绩占30%,期末考试成绩占70%)先修课程:计算机组成原理、操作系统二、课程简介本课程是计算机专业一门重要的专业基础课,对于培养学生的抽象思维能力和自顶向下、系统地分析和解决问题的能力有非常重要的作用。

其目标是使学生掌握计算机系统结构的基本概念、基本原理、基本结构、基本设计和分析方法,并对计算机系统结构的发展历史和现状有所了解。

通过学习本课程,能把在“计算机组成原理”等课程中所学的软、硬件知识有机地结合起来,从而建立起计算机系统的完整概念。

This course is a computer professional important foundation for the professional class, for training students in abstract thinking, and top-down, System analysis and the ability to solve problems is a very important role. The goal is to enable students to master computer system structure the basic concepts, basic principles and basic structure, basic design and analysis methods and computer system architecture and the history of the development of an understanding of the status quo. Through the study of this course, can in "Principles of Computer Organization", y the school curriculum of the software and hardware knowledge combined organic, Computer systems in order to establish the integrity of the concept.三、课程性质与教学目的《计算机系统结构》的教学对象为计算机相关专业的高年级本科生专业技术基础课程,目的是介绍计算机体系结构的概念、技术和最新动态,着重介绍软,硬件功能分配以及如何最佳、最合理地实现软、硬件功能分配。

《计算机系统结构》课程教学大纲

《计算机系统结构》课程教学大纲

《计算机系统结构》课程教学大纲英文课程名称: Computer Architecture 课程编号:授课语言:中文学分:3课内学时:51 课程性质:专业课先修课程:计算机组成原理考试/考查:考试是否全英/双语课程:否一、课程定位和基本要求1.课程定位本课程是计算机专业和软件工程专业的一门重要专业课。

其目的是提高学生从总体结构、系统分析这一层次来研究和分析计算机系统的能力,帮助学生建立整机的概念;使学生掌握计算机系统结构的概念、原理、结构以及设计和分析方法,并对计算机系统结构的发展历史和现状有所了解。

2.课程教学目标课程教学目标1:掌握计算机系统结构相关的基本概念和计算机系统的设计方法,掌握定量分析的基本方法以及计算机系统的性能评测技术。

掌握计算机系统结构中并行性的发展。

课程教学目标2:理解指令集结构的分类及指令系统设计中应考虑的各种因素,掌握计算机指令系统的设计方法,掌握指令操作码的优化编码。

课程教学目标3:掌握流水线的基本概念、分类以及性能分析,掌握基本MIPS流水线的实现,掌握流水线中的各种冲突及其解决方法。

课程教学目标4:掌握向量处理机的基本概念、结构和性能评价方法。

课程教学目标5:掌握指令级并行的概念及其硬件开发方法,掌握Tomasulo算法以及动态分支预测技术。

课程教学目标6:掌握指令级并行开发的软件方法,包括基本指令调度、循环展开、全局指令调度(踪迹调度和超块调度)、静态多指令流出、显式并行指令计算;掌握开发循环级并行的方法,如软流水。

课程教学目标7:掌握多级存储层次,掌握Cache的组成及性能分析,掌握改进Cache 性能的方法;课程教学目标8:掌握磁盘冗余阵列RAID以及通道的工作原理和性能分析;课程教学目标9:掌握互连函数、互连网络的参数和性能指标,掌握静态互连网络和动态互连网络。

课程教学目标10:掌握多处理机系统的两种存储结构模型, 掌握实现多Cache一致性的监听法和目录法。

《计算机组成原理》教学大纲

《计算机组成原理》教学大纲

《计算机组成原理》教学大纲一、课程基本信息1.课程名称(中文):计算机组成原理2.课程名称(英文):Computer Form principle3.课程类别:必修4.适用专业:信息管理5.总学时:学时(其中理论 54 学时,实验16 学时)6.总学分: 4 学分二、本课程在教学计划中的地位、作用和任务1.研读对象:本课程的主要研读对象是信息管理及相近专业本科生,是必修的课程之一。

2.课程特点:概念清晰、深入浅出,既有一定的理论高度,贴近当前的新技术和新思想,内容安排符合教学规律。

3.本课程的主要教学任务:1)以IBM-PC和Intel 80x86 CPU为主要背景,介绍计算机组成结构的基本概念、基本原理和程序设计的常用方法与技术,介绍用计算机解决实际问题的全过程。

2)通过本课程的学习,应该使学生掌握计算机硬件构成和在计算机中信息的表示方法,掌握计算机的算术运算和逻辑运算方法,基本掌握常用数字逻辑电路的结构和工作原理,基本掌握汇编语言的基本概念、基本原理和程序设计的常用方法与技术。

掌握组成计算机的各部件的基本工作原理,并掌握用计算机解决实际问题的全过程。

三、理论教学内容与教学基本要求第一章计算机系统概论(2学时)1.1 计算机的发展概况1.2 计算机的分类及应用1.3 计算机的硬件系统1.4 计算机的软件系统1.5 计算机系统的层次结构第二章信息的表示及运算方法(6学时)2.1 进位计数制2.2 带符号数的表示2.3 数的定点表示与浮点表示2.4 字符和汉字信息的表示2.5 校验码2.6 定点加法、减法运算2.7 定点乘法运算2.8 定点除法运算2.9 浮点算术运算第三章数字逻辑电路及运算器(8学时)3.1 逻辑代数中的三种基本运算3.2 逻辑函数及其表示方法3.3 逻辑函数和逻辑图3.4 逻辑代数的基本公式和常用公式3.5 逻辑表达式的化简3.6 加法器3.7 定点运算器的组成和结构第四章中央处理器(12学时)4.1 中央处理器的功能和组成4.2 指令周期4.3 组合逻辑控制器4.4 微程序控制器4.5 PLA控制器4.6 Intel 8086 CPU简介第五章指令系统(4学时)5.1 指令系统及指令格式5.2 指令和操作数的寻址方式5.3 典型指令5.4 8086的寻址方式5.5 8086的指令系统第六章汇编语言程序设计(8学时)6.1 8086汇编语言的基本格式6.2 汇编语言语句6.3 助记符、伪指令6.4 宏指令语句6.5 汇编语言程序的基本结构形式6.6 汇编语言程序上机操作过程第七章存储器和存储体系(10学时)7.1 概述7.2 主存储器的基本工作原理7.3 半导体读写存储器7.4 只读存储器7.5 高速存储器7.6 高速缓冲存储器(Cache)7.7 虚拟存储器第八章总线和输入输出系统(4学时)8.1 总线8.2 总线接口8.3 输入输出系统概述8.4 程序直接控制方式8.5 程序中断方式8.6 DMA方式8.7 通道方式和I/O处理机方式8.8 外围设备四、实验教学内容与要求实验作为教学的一个重要环节,其目的在于更深入地理解和掌握课程教学中的有关基本概念,应用基本技术解决实际问题,从而进一步提高解决问题的能力。

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

实验一熟悉WinDLX的使用一.实验目的:通过本实验,熟练掌握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菜单中的Resetall菜单项,弹出一个“ResetDLX”对话框。

然后点击窗口中的“确认”按钮即可。

(二)程序介绍1.求阶乘程序fact.s这个程序说明浮点指令的使用。

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

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

2.程序gcm.sgcm.s程序从标准输入读入两个整数,求他们的greatest common m easure,然后将结果写到标准输出。

3. 求素数程序prim.sprim.s程序计算若干个整数的素数。

三.实验要求:实验前要做好充分准备,包括WinDLX安装与调试步骤、程序运行方法,以及对模拟结果的分析等。

四.试验步骤1.启动WinDLX模拟器.装入测试程序之前,先初始化WinDLX.2.以运行求阶乘程序fact.s为例,选择File / Load Code orDat a,按如下步骤操作,可将fact.s和input.s这两个程序装入主存:将fact.s和input.s拷贝到WinDLX目录,◆点击fact.s◆点击select按钮◆点击input.s◆点击select按钮◆点击load按钮3.点击主窗口中的Execution开始运行。

4.程序gcm.s(最大公因子)和prim.s(计算若干个整数的素数)的运行过程同上。

五. 实验报告:通过上述使用WinDLX,总结WinDLX的特点。

六.程序:fact.s;*********** WINDLX Ex.3: Factorial*************;*********** (c) 1991 *************;*********** Modified: 1992 Maziar Khosravipour ************* ;--------------------------------------------------------------------------; Program begin at symbolmain; requiresmodule INPUT; readanumber fromstdin andcalculate the factorial(type: double);theresultis writtento stdout;--------------------------------------------------------------------------.dataPrompt: .asciiz "An integer value>1 :"PrintfFormat: .asciiz "Factorial= %g\n\n".align 2PrintfPar: .word PrintfFormatPrintfValue: .space8.text.globalmainmain:;***Readvalue from stdininto R1addir1,r0,Promptjal InputUnsigned;***init valuesmovi2fp f10,r1;R1-> D0 D0..Countregistercvti2df0,f10addir2,r0,1;1->D2D2..resultmovi2fp f11,r2cvti2d f2,f11movd f4,f2;1-> D4 D4..Constant 1;***Breakloop if D0= 1Loop: led f0,f4;D0<=1 ?bfptFinish;*** Multiplication and next loopmultd f2,f2,f0subd f0,f0,f4j LoopFinish:;*** write result to stdoutsd PrintfValue,f2addi r14,r0,PrintfPartrap 5;***endtrap 0input.s;*********** WINDLX Ex.1:Read a positive integer number *************;*********** (c)1991 G黱therRaidl*************;***********Modified 1992Maziar Khosravipour*************;-----------------------------------------------------------------------------;Subprogramcall by symbol "InputUnsigned";expect theaddress of a zero-terminated prompt string inR1;returnsthereadvalue in R1;changes the contents of registers R1,R13,R14;----------------------------------------------------------------------------- .data;***DataforRead-TrapReadBuffer: .space 80ReadPar: .word 0,ReadBuffer,80;***Data for Printf-TrapPrintfPar:.space 4SaveR2: .space 4SaveR3:.space 4SaveR4: .space4SaveR5: .space4.text.globalInputUnsignedInputUnsigned:;*** saveregister contentssw SaveR2,r2sw SaveR3,r3sw SaveR4,r4swSaveR5,r5;***PromptswPrintfPar,r1addi r14,r0,PrintfPartrap 5;*** call Trap-3 toread lineaddi r14,r0,ReadPartrap3;*** determinevalueaddi r2,r0,ReadBufferaddi r1,r0,0addi r4,r0,10 ;Decimal systemLoop: ;***readsdigits to end of linelbu r3,0(r2)seqir5,r3,10 ;LF->Exitbnezr5,Finishsubi r3,r3,48;??multu r1,r1,r4;Shift decimaladd r1,r1,r3addi r2,r2,1 ;increment pointerj LoopFinish:;*** restore old register contentslw r2,SaveR2lw r3,SaveR3lw r4,SaveR4lw r5,SaveR5jr r31 ; Returgcm.s;*********** WINDLX Ex.1:Greatest common measure*************;***********(c) 1991G黱ther Raidl *************ﻫ;***********Modified 1992Maziar Khosravipour*************;------------------------------------------------------------------------ﻫ; Program begins atsymbol main; requires module INPUT; Read two positive integer numbersfromstdin,calculate thegcmﻫ;and write the result to stdoutﻫ;------------------------------------------------------------------------.data;***Prompts forinputPrompt1: .asciiz "FirstNumber:"ﻫPrompt2:.asciiz "Second Number:";*** Data forprintf-TrapﻫPrintfFormat: .asciiz "gcM=%d\n\n"ﻫ.align 2PrintfPar: .wordPrintfFormatﻫPrintfValue: .space 4ﻫ.text.globalmainmain:ﻫ;***Read two positive integer numbers intoR1andR2addir1,r0,Prompt1ﻫjal InputUnsigned ;read uns.-integerintoR 1ﻫadd r2,r1,r0 ;R2 <- R1ﻫaddir1,r0,Prompt2ﻫjalInputUnsigned ;r ead uns.-integer intoR1Loop:;*** Compare R1andR2ﻫseq r3,r1,r2 ;R1==R2 ?ﻫbnezr3,Resultsgt r3,r1,r2 ;R1 > R2?bnez r3,r1Greaterﻫr2Greater:;*** subtractr1 from r2ﻫsubr2,r2,r1ﻫj Loopr1Greater:;*** subtract r2from r1ﻫsub r1,r1,r2ﻫj LoopResult:;*** Write theresult (R1)sw PrintfValue,r1ﻫaddi r14,r0,PrintfPartrap 5;***endtrap0prim.s;*********** WINDLX Exp.2:Generate prime number table *************ﻫ;***********(c) 1991 G黱ther Raidl *************ﻫ;*********** Modified 1992Maziar Khosravipour *************;-------------------------------------------------------------------ﻫ;Programbegins atsymbolmainﻫ;generatesatablewiththe first 'Count'prime numbers from'Table'ﻫ;-------------------------------------------------------------------.data;*** size of tableﻫ.global CountCount: .word 10ﻫ.globalTableTable:.space Count*4.textﻫ.globalmainﻫmain:ﻫ;*** Initializationﻫaddi r1,r0,0 ;Indexi nTableaddir2,r0,2 ;Current value;*** Determine, ifR2canbe divided by a value intableﻫNextValue:addi r3,r0,0;Helpindex in TableLoop: seq r4,r1,r3 ;End ofTable?ﻫbnezr4,IsPrim ;R2 is a prime numberﻫlw r5,Table(R3)ﻫdivu r6,r2,r5multu r7,r6,r5subur8,r2,r7ﻫbeqz r8,IsNoPrimﻫaddir3,r3,4ﻫj LoopIsPrim: ;*** Writevalue into Table andincrementindexsw Table(r1),r2addi r1,r1,4;*** 'Count'reached?lwr9,Countsrlir10,r1,2sge r11,r10,r9ﻫbnez r11,FinishIsNoPrim: ;*** Check nextvalueaddir2,r2,1;incrementR2ﻫj NextValueﻫﻫFinish: ;*** endﻫtrap 0实验二结构相关一.实验目的:通过本实验,加深对结构相关的理解,了解结构相关对CPU性能的影响。

相关文档
最新文档