《计算机系统结构》实验教学大纲和实验内容
- 格式:doc
- 大小:99.00 KB
- 文档页数:15
计算机系统结构实验报告实验目的:掌握计算机系统的基本结构和工作原理,了解计算机系统的组成部分及其相互关系。
实验仪器和材料:计算机硬件设备(主机、硬盘、内存、显卡等)、操作系统、实验指导书、实验报告模板。
实验原理:实验步骤:1.搭建计算机硬件设备,将主机、硬盘、内存、显卡等组装连接好。
2. 安装操作系统,如Windows、Linux等。
3.启动计算机,进入操作系统界面。
4.打开任务管理器,查看CPU的使用情况。
5.打开任务管理器,查看内存的使用情况。
6.运行一些应用程序,观察CPU和内存的使用情况。
7.尝试使用输入输出设备,如键盘、鼠标等。
实验结果:通过实验,我们可以观察到计算机系统的硬件部分和软件部分的工作情况。
通过任务管理器,我们可以查看到CPU的使用情况和内存的使用情况。
在运行应用程序时,我们可以观察到CPU和内存的使用情况的变化。
通过使用输入输出设备,我们可以与计算机进行交互操作。
实验分析:从实验结果可以看出,计算机系统的硬件部分和软件部分都是相互关联的。
CPU作为计算机的核心部件,负责执行各种指令,通过数据传输和计算来完成各种操作。
而内存则用于存储数据和程序,通过读写操作来完成对数据的处理。
硬盘则用于长期存储数据。
操作系统则是计算机系统的管理者,通过调度CPU和内存的使用来实现对计算机资源的分配。
结论:计算机系统是由硬件和软件部分组成的,其中硬件部分包括CPU、内存、硬盘等,软件部分包括操作系统、应用程序等。
计算机系统通过CPU 的运算和数据传输来实现各种操作。
通过实验,我们可以观察到计算机系统的工作情况,并深入了解计算机系统的组成和工作原理。
实验总结:通过本次实验,我们对计算机系统的基本结构和工作原理有了更深入的了解。
实验中,我们搭建了计算机硬件设备,安装了操作系统,并通过观察和分析实验结果,进一步认识到计算机系统的组成部分和各部分之间的相互关系。
通过操作输入输出设备,我们还实践了与计算机进行交互操作的过程。
《计算机体系结构》教学大纲英文名称: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.实验总成绩。
计算机系统结构教案一、引言计算机系统结构是计算机科学与技术领域中的一门重要课程,它关注计算机硬件和软件之间的相互关系,对于深入理解计算机系统的原理和设计具有关键作用。
本教案旨在提供一种有效的教学方法和内容,帮助学生全面掌握计算机系统结构的基本知识和核心概念。
二、教学目标1. 理解计算机系统结构的基本概念和原理;2. 掌握计算机硬件和软件之间的关系;3. 能够分析和设计简单的计算机系统;4. 培养学生的团队合作和问题解决能力;5. 培养学生的创新意识和实践能力。
三、教学内容1. 计算机系统结构的基本概念1.1 计算机系统的主要组成部分1.2 计算机系统的层次结构1.3 计算机性能指标和评价方法2. 计算机硬件部分2.1 中央处理器(CPU)的结构和功能2.2 存储器的层次结构和访问方式2.3 输入输出设备的分类和特点3. 计算机软件部分3.1 操作系统的作用和功能3.2 编程语言和编译系统3.3 网络通信和分布式计算4. 计算机系统设计与实现4.1 指令集体系结构(ISA)的设计和优化 4.2 流水线技术和超标量处理器4.3 存储器系统的设计和优化5. 计算机系统性能评价5.1 基准程序和性能指标5.2 性能提升的方法和技术5.3 并行计算和并行处理器四、教学方法1. 授课采用讲授的方式介绍计算机系统结构的基本理论和概念,并结合案例和实例进行说明。
2. 实验设计和安排计算机系统结构实验,包括CPU设计与模拟、操作系统的实现与优化等,帮助学生理解和应用所学知识。
3. 讨论与互动组织学生参与讨论和小组活动,培养学生的团队合作和问题解决能力。
4. 实践与项目安排实践任务和项目,鼓励学生运用所学知识解决实际问题,培养学生的创新意识和实践能力。
五、教学评估1. 平时成绩评估包括课堂积极参与、实验报告、作业等,反映学生的学习情况和能力水平。
2. 考试评估设计考试试题,测试学生对于计算机系统结构的理解和应用能力。
《计算机体系结构》教学大纲课程名称:计算机体系结构英文名称: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.设计一个简单的指令系统,包括指令集、寻址方式和控制流程。
计算机系统结构专业实习报告一、实习背景与目的随着信息技术的快速发展,计算机系统结构作为一门涵盖了计算机硬件和软件等多个方面的学科,在我国的高等教育体系中占据了重要的地位。
为了更好地将理论知识与实践相结合,提高自身综合素质和实际操作能力,我选择了计算机系统结构专业实习,以便为今后的学术研究和职业生涯打下坚实基础。
本次实习的主要目的是:1. 深入了解计算机系统结构的基本原理和组成部件;2. 熟悉各类计算机硬件设备的工作原理和性能指标;3. 掌握计算机系统组装、维护和调试的基本技能;4. 提高团队协作能力和沟通交流能力。
二、实习内容与过程1. 实习前的准备在实习开始前,我们参加了由指导老师举办的实习动员大会,了解了实习的要求、内容以及注意事项。
同时,我们还自学了相关教材和资料,为实习打下了理论知识基础。
2. 实习过程中的主要任务与收获实习过程中,我们主要完成了以下任务:1. 参观实验室和机房,了解各类计算机硬件设备及其功能;2. 学习计算机系统组装、维护和调试的基本技能;3. 参与实验室科研项目,协助导师进行数据分析和实验验证;4. 撰写实习日记和总结报告,记录实习过程中的所学所得。
具体收获如下:1. 熟悉了计算机系统结构的基本原理和组成部件,如CPU、内存、硬盘、显卡等;2. 掌握了计算机系统组装、维护和调试的基本技能,如安装操作系统、配置网络、排查故障等;3. 了解了实验室科研项目的工作流程,提高了科研素养;4. 增强了团队协作能力和沟通交流能力。
3. 实习中遇到的困难与解决方案在实习过程中,我们遇到了一些困难,如:1. 部分硬件设备的原理和操作较为复杂,一开始难以掌握;2. 实验室科研项目中的某些技术问题需要花费较长时间解决;3. 实习任务较重,时间紧张,难以兼顾学业与实习。
针对上述困难,我们采取了以下解决方案:1. 请教老师和同学,共同探讨,逐步掌握硬件设备的原理和操作;2. 利用课余时间深入学习相关技术,提高解决问题的能力;3. 合理安排时间,加强与团队成员的沟通,提高团队协作效率。
《计算机系统结构》电子教案一、教学目标1. 了解计算机系统结构的基本概念、发展和分类。
2. 掌握计算机的基本组成原理,包括中央处理器(CPU)、存储器、输入/输出设备等。
3. 理解计算机的指令系统、寻址方式和指令执行过程。
4. 熟悉计算机的总线结构、接口技术和外部设备。
5. 掌握计算机系统性能评价指标,了解并行处理技术。
二、教学内容1. 计算机系统结构概述计算机系统结构的定义和发展历程计算机系统的层次结构计算机系统结构的分类2. 计算机的基本组成原理中央处理器(CPU)存储器输入/输出设备3. 指令系统指令的格式和分类寻址方式指令的执行过程4. 计算机的总线结构与接口技术总线结构接口技术外部设备5. 计算机系统性能评价与并行处理技术计算机系统性能评价指标并行处理技术的基本概念和分类三、教学方法1. 采用讲授法,讲解计算机系统结构的基本概念、原理和组成。
2. 利用案例分析法,分析具体计算机系统的结构和性能。
3. 运用讨论法,引导学生探讨计算机系统结构的发展趋势。
4. 利用实验法,让学生动手实践,加深对计算机系统结构的理解。
四、教学资源1. 教材:《计算机系统结构》2. 课件:PowerPoint3. 网络资源:相关学术论文、技术博客、在线教程等4. 实验设备:计算机、外部设备等五、教学评价1. 课堂表现:观察学生在课堂上的参与程度、提问回答等情况,了解学生的学习状态。
2. 课后作业:布置相关练习题,检验学生对知识的掌握程度。
3. 实验报告:评估学生在实验过程中的操作能力和对知识的运用能力。
4. 期末考试:全面测试学生对计算机系统结构知识的掌握情况。
六、教学安排1. 课时:共计32课时,每课时45分钟。
2. 教学计划:计算机系统结构概述(2课时)计算机的基本组成原理(4课时)指令系统(3课时)计算机的总线结构与接口技术(3课时)计算机系统性能评价与并行处理技术(4课时)实践环节(8课时)七、教学步骤1. 引入新课:通过介绍计算机系统结构的发展历程,引发学生兴趣。
2024计算机基础教学大纲
《2024学年计算机基础教学大纲》
一、教学目标
1、通过计算机基础课程的学习,使学生能够熟练应用计算机,熟悉
和掌握当前的计算机技术发展趋势,并能根据实际需要,利用相应的计算
机程序来解决问题。
2、认识计算机科学作为一门重要学科,体会其丰富多彩的、独特的
知识内容,并通过学习这门学科培养学生的分析和解决实际问题的能力。
3、提高学生的计算机技术水平,使学生掌握相应的基础知识和技能,包括系统的分析和设计能力、计算机程序设计能力、计算机网络应用能力等。
二、教学内容
1、计算机技术发展的历史及其应用:带学生了解计算机技术发展的
历史,对计算机技术的应用进行介绍,让学生更清楚明白计算机技术在日
常生活中的重要作用,以及对人类发展多义的重大影响。
2、计算机系统结构:教学内容包括计算机的硬件系统结构、操作系统,学习操作系统的安装、配置、和管理,以及软件的安装、配置和使用。
3、计算机网络基础:学习计算机网络的基本概念,理解计算机网络
技术的应用,能够正确识别网络环境中的设备,掌握网络结构和拓扑结构
的构造。
《计算机系统结构》课程教学大纲一、课程基本信息课程代码:课程名称:计算机系统结构英文名称: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.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按钮。
实验一熟悉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菜单中的Reset all菜单项,弹出一个“ResetDLX”对话框。
然后点击窗口中的“确认”按钮即可。
(二)程序介绍1.求阶乘程序fact.s这个程序说明浮点指令的使用。
该程序从标准输入读入一个整数,求其阶乘,然后将结果输出。
该程序中调用了input.s中的输入子程序,这个子程序用于读入正整数。
2.程序gcm.sgcm.s程序从标准输入读入两个整数,求他们的greatest common measure,然后将结果写到标准输出。
3. 求素数程序prim.sprim.s程序计算若干个整数的素数。
三.实验要求:实验前要做好充分准备,包括WinDLX安装和调试步骤、程序运行方法,以及对模拟结果的分析等。
四.试验步骤1.启动WinDLX模拟器.装入测试程序之前,先初始化WinDLX.2.以运行求阶乘程序fact.s为例, 选择File / Load Code or Data,按如下步骤操作,可将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 symbol main; requires module INPUT; read a number from stdin and calculate the factorial (type: double); the result is written to stdout;--------------------------------------------------------------------------.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 0input.s;*********** WINDLX Ex.1: Read a positive integer number ************* ;*********** (c) 1991 G黱ther Raidl *************;*********** Modified 1992 Maziar Khosravipour *************;-----------------------------------------------------------------------------;Subprogram call by symbol "InputUnsigned";expect the address of a zero-terminated prompt string in R1;returns the read value in R1;changes the contents of registers R1,R13,R14;-----------------------------------------------------------------------------.data;*** Data for Read-TrapReadBuffer: .space 80ReadPar: .word 0,ReadBuffer,80;*** Data for Printf-TrapPrintfPar: .space 4SaveR2: .space 4SaveR3: .space 4SaveR4: .space 4SaveR5: .space 4.text.global InputUnsignedInputUnsigned:;*** save register contentssw SaveR2,r2sw SaveR3,r3sw SaveR4,r4sw SaveR5,r5;*** Promptsw PrintfPar,r1addi r14,r0,PrintfPartrap 5;*** call Trap-3 to read lineaddi r14,r0,ReadPartrap 3;*** determine valueaddi r2,r0,ReadBufferaddi r1,r0,0addi r4,r0,10 ;Decimal systemLoop: ;*** reads digits to end of linelbu r3,0(r2)seqi r5,r3,10 ;LF -> Exitbnez r5,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) 1991 G黱ther Raidl *************;*********** Modified 1992 Maziar Khosravipour *************;------------------------------------------------------------------------; 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".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 0prim.s;*********** WINDLX Exp.2: Generate prime number table ************* ;*********** (c) 1991 G黱ther Raidl *************;*********** Modified 1992 Maziar Khosravipour *************;-------------------------------------------------------------------; Program begins at symbol main; generates a table with the first 'Count' prime numbers from 'Table';-------------------------------------------------------------------.data;*** size of table.global CountCount: .word 10.global TableTable: .space Count*4.text.global mainmain:;*** Initializationaddi r1,r0,0 ;Index in Tableaddi r2,r0,2 ;Current value;*** Determine, if R2 can be divided by a value in table NextValue: addi r3,r0,0 ;Helpindex in TableLoop: seq r4,r1,r3 ;End of Table?bnez r4,IsPrim ;R2 is a prime numberlw r5,Table(R3)divu r6,r2,r5multu r7,r6,r5subu r8,r2,r7beqz r8,IsNoPrimaddi r3,r3,4j LoopIsPrim: ;*** Write value into Table and increment index sw Table(r1),r2addi r1,r1,4;*** 'Count' reached?lw r9,Countsrli r10,r1,2sge r11,r10,r9bnez r11,FinishIsNoPrim: ;*** Check next valueaddi r2,r2,1 ;increment R2j NextValueFinish: ;*** endtrap 0实验二结构相关一.实验目的:通过本实验,加深对结构相关的理解,了解结构相关对CPU性能的影响。