文档视界 最新最全的文档下载
当前位置:文档视界 › 计算机系统结构实验报告

计算机系统结构实验报告

计算机系统结构实验报告
计算机系统结构实验报告

计算机系统结构实验报告

一.流水线中的相关

实验目的:

1. 熟练掌握WinDLX模拟器的操作和使用,熟悉DLX指令集结构及其特点;

2. 加深对计算机流水线基本概念的理解;

3. 进一步了解DLX基本流水线各段的功能以及基本操作;

4. 加深对数据相关、结构相关的理解,了解这两类相关对CPU性能的影响;

5. 了解解决数据相关的方法,掌握如何使用定向技术来减少数据相关带来的暂停。

实验平台:

WinDLX模拟器

实验内容和步骤:

1.用WinDLX模拟器执行下列三个程序:

求阶乘程序fact.s

求最大公倍数程序gcm.s

求素数程序prim.s

分别以步进、连续、设置断点的方式运行程序,观察程序在流水线中的执行情况,观察CPU中寄存器和存储器的内容。熟练掌握WinDLX的操作和使用。

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

3. 在不采用定向技术的情况下(去掉Configuration菜单中Enable Forwarding选项前的勾选符),用WinDLX运行程序data_d.s。记录数据相关引起的暂停时钟周期数以及程序执行的总时钟周期数,计算暂停时钟周期数占总执行周期数的百分比。

在采用定向技术的情况下(勾选Enable Forwarding),用WinDLX再次运行程序data_d.s。重复上述3中的工作,并计算采用定向技术后性能提高的倍数。

1. 求阶乘程序

用WinDLX模拟器执行求阶乘程序fact.s。这个程序说明浮点指令的使用。该程序从标准输入读入一个整数,求其阶乘,然后将结果输出。

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

实验结果:

在载入fact.s和input.s之后,不设置任何断点运行。

a.不采用重新定向技术,我们得到的结果

b.采用定向技术,我们得到的结果:

从上面的数据我们可以看出定向的作用:

在定向技术存在的情况下Statistics 窗口中的各种统计数字:总的周期数(215) 和暂停数(17 RA W, 25 Control, 12 Trap; 54 Total)

在定向技术不存在时候,控制暂停和Trap 暂停仍然是同样的值,而RA W暂停从17变成了53,总的模拟周期数增加到236。所以定向技术带来的加速比:

236 / 215 = 1.098

DLX forwarded比DLX not forwarded快9.8%。

2.数据相关

先给出一个存在数据相关的程序:

LHI R2, (A>>16) & 0xFFFF

ADDUI R2, R2, A & 0xFFFF

LHI R3, (B>>16)&0xFFFF

ADDUI R3, R3, B&0xFFFF

loop:

LW R1, 0 (R2)

ADD R1, R1, R3

SW 0(R2), R1

LW R5, 0 (R1)

ADDI R5, R5, #10

ADDI R2, R2, #4

SUB R4, R3, R2

BNEZ R4, loop

TRAP #0

A: .word 0, 4, 8, 12, 16, 20, 24, 28, 32, 36

B: .word 9, 8, 7, 6, 5, 4, 3, 2, 1, 0

没有采用定向技术时运行该程序:得到

程序执行了202个周期,10个数据相关引起的时钟周期RA W stall为104个。

暂停时钟周期数占总执行周期数的百分比=51.48%

采用定向技术时运行该程序:得到

程序执行了128个周期,共有6个数据相关引起的时钟周期RA W stall为30个。

暂停时钟周期数占总执行周期数的百分比=23.44%

可见通过定向技术,减少了数据相关,缩短了程序的执行周期,整个性能为原来的1.57倍。

3.结构相关

下面这段程序存在结构相关

ADDI R5, R5, 1

SUBI R4, R4, 1

AND R3, R3, R3

XOR R7, R7, R7

ADDI R8, R8, 1

ADDI R9, R9, 1

MULT R1,R5,R4

MULT R2,R3,R7

执行之后得到的clock cycle programe

Statistics:

可见1个结构相关引起了4个stall,占总共20个CYCLE 的20%

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

二.循环展开及指令调度

实验目的:

1. 加深对循环级并行性、指令调度技术、循环展开技术以及寄存器换名技术的理解;

2. 熟悉用指令调度技术来解决流水线中的数据相关的方法;

3. 了解循环展开、指令调度等技术对CPU性能的改进。

实验平台:

WinDLX模拟器

实验内容和步骤:

1.用指令调度技术解决流水线中的结构相关与数据相关

(1)用DLX汇编语言编写代码文件*.s,程序中应包括数据相关与结构相关(假设:加法﹑乘法﹑除法部件各有2个,延迟时间都是3个时钟周期)

(2)通过Configuration菜单中的“Floating point stages”选项,把加法﹑乘法﹑除法部件的个数设置为2个,把延迟都设置为3个时钟周期;

(3)用WinDLX运行程序。记录程序执行过程中各种相关发生的次数、发生相关的指令组合,以及程序执行的总时钟周期数;

(4)采用指令调度技术对程序进行指令调度,消除相关;

(5)用WinDLX运行调度后的程序,观察程序在流水线中的执行情况,记录程序执行的总

时钟周期数;

(6)根据记录结果,比较调度前和调度后的性能。论述指令调度对于提高CPU性能的意义。

2. 用循环展开、寄存器换名以及指令调度提高性能

(1)用DLX汇编语言编写代码文件*.s,程序中包含一个循环次数为4的整数倍的简单循环;(2)用WinDLX运行该程序。记录执行过程中各种相关发生的次数以及程序执行的总时钟周期数;

(3)将循环展开3次,将4个循环体组成的代码代替原来的循环体,并对程序做相应的修改。然后对新的循环体进行寄存器换名和指令调度;

(4)用WinDLX运行修改后的程序,记录执行过程中各种相关发生的次数以及程序执行的总时钟周期数;

(5)根据记录结果,比较循环展开、指令调度前后的性能。

3)存在相关的程序

1.指令调度:

首先,通过Configuration菜单中的“Floating point stages”选项,把除法单元数设置为3,把加法﹑乘法﹑除法的延迟设置为3个时钟周期。

给出调度前的程序sch_bef:

.data

.global ONE

ONE: .word 1

.text

.global main

main:

lf f1,ONE ;turn divf into a move

cvti2f f7,f1 ;by storing in f7 1 in

nop ;floating-point format

divf f1,f8,f7 ;move Y=(f8) into f1

divf f2,f9,f7 ;move Z=(f9) into f2

addf f3,f1,f2

divf f10,f3,f7 ;move f3 into X=(f10)

divf f4,f11,f7 ;move B=(f11) into f4

divf f5,f12,f7 ;move C=(f12) into f5

multf f6,f4,f5

divf f13,f6,f7 ;move f6 into A=(f13)

Finish:

trap 0

运行之后可以得到结果:

调度之后的程序sch_aft:

.data

.global ONE

ONE: .word 1

.text

.global main

main:

lf f1,ONE ;turn divf into a move

cvti2f f7,f1 ;by storing in f7 1 in

nop ;floating-point format

divf f1,f8,f7 ;move Y=(f8) into f1

divf f2,f9,f7 ;move Z=(f9) into f2

divf f4,f11,f7 ;move B=(f11) into f4

divf f5,f12,f7 ;move C=(f12) into f5

addf f3,f1,f2

multf f6,f4,f5

divf f10,f3,f7 ;move f3 into X=(f10)

divf f13,f6,f7 ;move f6 into A=(f13)

Finish:

trap 0

运行之后得到:

可以看出经过调度之后

运行周期从27减少到21,而且减少了相关。

2.循环展开:

循环展开前的程序:

LHI R2, (A>>16)&0xFFFF

ADDUI R2, R2, A&0xFFFF

LHI R3, (B>>16)&0xFFFF

ADDUI R3, R3, B&0xFFFF

ADDU R4, R0, R3

NOP

loop:

SUBI R4, R4, #8

SUB R5, R4, R2

BNEZ R5, loop

TRAP #0

A: .double 1, 2, 3, 4

B: .double 1, 2, 3, 4

运行结果:

循环展开后的程序:

LHI R2, (A>>16)&0xFFFF

ADDUI R2, R2, A&0xFFFF

LHI R3, (B>>16)&0xFFFF

ADDUI R3, R3, B&0xFFFF

ADDU R4, R0, R3

SUBI R4, R4, #8

SUBI R4, R4, #8

SUBI R4, R4, #8

SUBI R4, R4, #8

TRAP #0

A: .double 1, 2, 3, 4

B: .double 1, 2, 3, 4

运行结果:

可以看出经过循环展开之后

运行周期从30减少到14,而且减少了相关。

三.实验总结:

通过本实验,基本掌握了WinDLX模拟器的操作和使用,熟悉DLX指令集结构及其特点,对减少各种相关、提高流水线速度的方法和技术有了更深的认识,对于体系结构这门课程的学习和后面的实验还是很有帮助的。

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

实验二结构相关 一、实验目得: 通过本实验,加深对结构相关得理解,了解结构相关对CPU性能得影响。 二、实验内容: 1、用WinDLX模拟器运行程序structure_d、s 。 2、通过模拟,找出存在结构相关得指令对以及导致结构相关得部件。 3、记录由结构相关引起得暂停时钟周期数,计算暂停时钟周期数占总执行 周期数得百分比。 4、论述结构相关对CPU性能得影响,讨论解决结构相关得方法。 三、实验程序structure_d、s LHI R2, (A>>16)&0xFFFF 数据相关 ADDUI R2, R2, A&0xFFFF LHI R3, (B>>16)&0xFFFF ADDUI R3, R3, B&0xFFFF ADDU R4, R0, R3 loop: 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 answer your questions) ADDI R2, R2, #8 ADDI R3, R3, #8 SUB R5, R4, R2 BNEZ R5, loop ;条件跳转 TRAP #0 ;; Exit < this is a ment !! A: 、double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 B: 、double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 四、实验过程 打开软件,load structure_d、s文件,进行单步运行。经过分析,此程序一 次循环中共有五次结构相关。(Rstall 数据相关Stall 结构相关) 1)第一个结构相关:addd f2,,f0,f2 由于前面得数据相关,导致上一条指令addd f0,f0,f4暂停在ID阶段,所以下一条指令addd f2,,f0,f2发生结构相关,导致相关得部件:译码部件。

体系结构大作业

软件体系结构课程大作业 1. 常规作业 Course Project: Tool Warehouse System 1.1 项目背景 FastRepair?是一家大型的跨国机械电子修理公司,建立于1980年。公司总部位于美国印第安纳州,印第安纳波利斯。目前公司总部有超过10000人的全职雇员。该公司拥有8家较小的子公司,位于整个美国境内,每个子公司的全职员工人数在3000到9000之间。 FastRepair 的业务主要涉及四个领域:大型建筑设备修理(Construction Device Repair)、汽车修理(Automobile Repair)、家电修理(Appliance Repair)和计算机修理(Computer Repair),相应的划分为四个大的部门(Department)。每个公司的员工(Employee)都根据自己的专业特长隶属于一个部门。然而,一些具有跨行业技能的高级员工(Specialist)独立于任何部门,他们平时会做一些与自己专业相关的工作,在遇到紧急情况或特殊项目时,需要立即被分配到这些项目上去。 公司的每一个员工都有两类工具(Tool),每类工具有50-100件左右。第一类工具放入员工工具箱中的一组常用廉价工具(Inexpensive Tool),另外一类是

一些贵重的工具(Expensive Tool )。对于工具箱中的廉价工具,员工在领取时需要进行登记(Register ),自行保管,但在损坏时需要进行注销(Cancellation )。而对于贵重工具(>200$的工具),必须通过工具仓库管理系统进行统一管理。在使用时需要办理租借(Lend )手续。需要注意的是,对于一般员工,只能借与自己专长相关的工具(也就是本部门内的工具),而对于专家,则可以借所有类型的工具。 由于工具种类庞杂,数量巨大;某些工具重量也很大;且分布在不同的地理位置。FastRepair 决定开发一套工具仓库管理系统(Tool Warehouse System TWS )。 TWS 主要分为两个部分,第一部分是员工与工具信息管理系统(Employ and Tool Management System ETMS ),详细记录工具的借、还与工具状态,公司内部员工可以通过本地企业局域网(Intranet )查询自己工具的借还情况,并发出对贵重工具的请求。对于本地没有的特殊工具,员工可以使用ETMS 通过互联网(Internet )在总公司或各个子公司的仓库中查找特定工具,并发出借用该工具的请求。 第二部分是一个仓库的实时管理系统(Warehouse Management System WMS ),位于总公司和每个子公司的工具仓库,在提取具体工具时,用户需要到具体的工具仓库进行工具的提取(也可以在工具仓库现场借工具),某个仓库的工具借用过程的示意图如下所示: 12. 验有效传送带 工具货柜 工具货柜工具货柜admin 抓将工具放置到传送带上 FastRepair 对WMS 的具体要求如下所示: 仓库的实时管理系统中存在多个工具抓取机器人,每个机器人都可从货柜上获取工具并将其放在工具传送带上,工具传送带装置根据重量传感器得知是否有工具在传送带上,并将工具传送到出口处。 用户在仓库的出口处向仓库管理员提交工具租借请求,由管理员将该请求输入仓库控制电脑,电脑将控制仓库中的机器人抓取相应的工具并将其放到工具传

计算机控制技术复习大作业及答案

2014年上学期《计算机控制技术》复习大作业及参考答案========================================================== 一、选择题(共20题) 1.由于计算机只能接收数字量,所以在模拟量输入时需经( A )转换。 A.A/D转换器B.双向可控硅 C.D/A转换器D.光电隔离器 2.若系统欲将一个D/A转换器输出的模拟量参数分配至几个执行机构,需要接入( D )器件完成控制量的切换工作。 A.锁存器锁存B.多路开关 C.A/D转换器转换D.反多路开关 3.某控制系统中,希望快速采样,保持器的保持电容CH应取值( A )。 A.比较小B.比较大C.取零值D.取负值 4. 在LED显示系统中,若采用共阳极显示器,则将段选模型送至( B )。 A.阳极B.阴极 C.阴极或阳极D.先送阴极再送阳极 5. 电机控制意味着对其转向和转速的控制,微型机控制系统的作法是通过(B )实现的。 A.改变定子的通电方向和通电占空比 B.改变转子的通电方向和通电占空比 C.改变定子的通电电压幅值 D.改变转子的通电电压幅值 6.计算机监督系统(SCC)中,SCC计算机的作用是(B) A.接收测量值和管理命令并提供给DDC计算机 B.按照一定的数学模型计算给定植并提供给DDC计算机 C.当DDC计算机出现故障时,SCC计算机也无法工作 D.SCC计算机与控制无关 7. 键盘锁定技术可以通过(C)实现。 A.设置标志位 B.控制键值锁存器的选通信号 C.A和B都行 D.定时读键值 8. RS-232-C串行总线电气特性规定逻辑“1”的电平是(C)。 A.0.3 伏以下B.0.7伏以上 C.-3伏以下D.+3伏以上 9. 在工业过程控制系统中采集的数据常搀杂有干扰信号,(D)提高信/躁比。 A.只能通过模拟滤波电路 B.只能通过数字滤波程序 C.可以通过数字滤波程序/模拟滤波电路 D.可以通过数字滤波程序和模拟滤波电路 10.步进电机常被用于准确定位系统,在下列说法中错误的是(B )。 A.步进电机可以直接接受数字量 B.步进电机可以直接接受模拟量 C.步进电机可实现转角和直线定位 D.步进电机可实现顺时针、逆时针转动

软件架构大作业

计算机工程学院 《大型软件系统构造》大作业 设计名称:科技信息发布系统 姓名: 专业班级: 系(院):计算机工程学院 设计时间: 设计地点:

一、需求分析 1、愿景与范围文档 (1)业务需求 A项目背景 科学技术是第一生产力,创新是民族进步的灵魂。当今社会科技发展日新月异,大学生作为祖国的栋梁、未来的花朵,要对科学技术有着较高的认识和敏感度,一则为了丰富自己的知识面,拓展自己的视野,提升自我素养,不与社会前沿脱节,二则能够速度有效把握当前科技潮流,结合自身实际,运用科技丰富自身能力,突破自我开创未来,用知识武装自己,用科技推动社会进步。随着时间推移,淮海工学院在不断发展着,师生人数也逐渐扩大,纸质文章的已不能满足广大师生对科学技术的渴求,而网络中众多纷杂的科技报道也不为师生提供一个良好的学习平台。为了更好地推广科技力量,为广大师生提供一个全新的高效权威准确的科技知识及交流平台,因此我校迫切需要一款适用于淮海工学院全校师生的科技信息发布系统软件。 B业务机遇 对外,通过科技信息发布系统,贴合师生实际需要,严格筛选各类信息,把世界各地的高校、高新科研所、各大公司的最新科研成果以最快的速度、最为权威的论述发表公开发表,以及各项科研的政策规定,这也是接受全校师生监督的平台,方便广大师生学习了解当前科研动态和各项政策法规,还可利用所学为社会服务(如参加科技公益活动或科技小发明等等),创造浓郁的学习氛围,大力宣传科研精神,发扬敢为人先、敢于吃苦、创新创造的科学品质。 C业务目标 全校师生可以通过淮海工学院科研处的网页浏览当前的政策法规(包括科

技计划与项目管理、国家重点实验室及工程中心、其他专项计划管理、科学技术评价、科技成果转化、基金及经费管理、知识产权管理)、科技动态、科研成果(包括通知及简讯、科研新闻、资料下载、基础研究论坛)和社会服务点的内容。管理员则可进行相应的后台管理。 D客户或市场需求 目前学校师生的获得科技信息的途径有三种,一是去图书馆借阅,二是于网络搜索相应信息,三是自己花钱购买对应的书籍期刊。图书馆的纸质书籍因为出版货运等原因具有滞后性,而网络上的信息良莠不齐,不能作为一个很好的信息来源,作为连云港地区首屈一指的高校,淮工应当创建一个更为合理更为便捷的学习交流平台。科技信息发布系统可以通过各种途径收集切实可靠的科研信息,实现快捷高效的信息发布浏览,并提供交流区供师生各抒己见相互学习。亦可为图书馆提供一个很好的数据参考,为师生提供真正所需的各类书籍,有效指导师生日后深入学习和了解。为学校创造一个融洽的学习氛围,该系统具有很好的使用价值和使用效应。 E提供给客户的价值 科研信息发布系统减轻了师生在收集科技信息时的苦恼,为广大师生提供更多更新更加真实权威的信息来源,从而提高学习效率,进一步推进科技发展;开放式的信息模式给其他高校一个极大地视觉冲击,有利于淮海工学院声望的提高。 F业务风险 科研信息发布系统知识针对淮海工学院全校师生设计开发,并没有涉及到极为困难的技术应用,完全可以在规定的时间之内完成这个系统,并且达到用户的所有要求。所以,不存在任何业务风险。

计算机系统结构大作业

《计算机系统结构》大作业 介绍并行算法与并行程序设计 及它们的不足及发展趋势 专业计算机科学与技术(软件工程方向) 指导教师蔡启先 班级 学号 姓名 日期 2013年6月 广西科技大学计算机学院

介绍并行算法与并行程序设计 及它们的不足及发展趋势 摘要:并行算法是并行计算中非常重要的问题。这篇报告首先简要介绍并行计算,然后主要讨论并行算法研究中的问题和今后的方向,最后阐述并行计算研究中存在的问题以及今后面临的挑战。并行算法研究应该确立一个“理论-设计-实现-应用”的系统方法,形成一个完善的“架构—算法—编程”方法论,这样才能保证并行算法不断发展并变得更加实用。再结合例子进而介绍并行算法的基本原理,给并行算法下一个基本的定义,对并行算法进行了相关的介绍;接着根据目前并行算法的应用,提出了在计算机系统结构中以并行算法为基础的一些并行程序设计的应用,比较了目前流行的并行程序设计的方法,并通过比较指出它的不足以及并行程序设计在未来的发展趋势和前景。 关键词:计算机系统结构并行算法并行程序设计 引言 并行计算机从70年代的开始,到80年代蓬勃发展和百家争鸣,再到90年代体系结构框架趋于统一,近年来其快速发展,并行机技术日趋成熟。首先是市场的需求,一直是推动并行计算机发展的主要动力,大量实际应用部门,如天气预报、核武器、石油勘探、地震数据处理、飞行器数值模拟以及其他大型事务处理等,都需要每秒执行数十万亿次乃至数百万亿此浮点运算的计算机,基于这些应用问题本

身的限制,并行计算是满足它们的唯一可行途径。使用多计算机进行并行程序设计,它们之间的通信是通过发送消息来完成的,所以消息传递需要并行程序设计。并行程序设计使用多计算机或多个内部处理器的计算机来求解问题,它比使用单台计算机的计算速度要快得多。并行程序设计也为求解更大规模的问题提供了机会,前面所述问题需要更多的计算步或更大存储容量需求,并行程序设计以并行算法为核心,能满足这要求,因为多计算机和多处理机系统通常比单计算机有更大的总存储容量。 并行算法是一门还没有发展成熟的学科,虽然人们已经总结出了相当多的经验,但是远远不及串行算法那样丰富。并行算法设计中最常用的的方法是PCAM方法,即划分,通信,组合,映射。首先划分,就是将一个问题平均划分成若干份,并让各个处理器去同时执行;通信阶段,就是要分析执行过程中所要交换的数据和任务的协调情况,而组合则是要求将较小的问题组合到一起以提高性能和减少任务开销,映射则是要将任务分配到每一个处理器上。总之,并行算法还需要相当多完善的地方。并行算法与串行算法最大的不同之处在于,并行算法不仅要考虑问题本身,而且还要考虑所使用的并行模型,网络连接等等。 并行算法是并行计算中非常重要的问题。并法研究应该确立一个“理论-设计-实现-应用”的系统方法,形成一个完善的“架构—算法—编程”方法论,这样才能保证并行算法不断发展并变得更加实用。简单的说,算法就是求解问题的方法和步骤。并行算法,就是在

计算机系统结构实验报告

计算机系统结构实验报告 一.流水线中的相关 实验目的: 1. 熟练掌握WinDLX模拟器的操作和使用,熟悉DLX指令集结构及其特点; 2. 加深对计算机流水线基本概念的理解; 3. 进一步了解DLX基本流水线各段的功能以及基本操作; 4. 加深对数据相关、结构相关的理解,了解这两类相关对CPU性能的影响; 5. 了解解决数据相关的方法,掌握如何使用定向技术来减少数据相关带来的暂停。 实验平台: WinDLX模拟器 实验内容和步骤: 1.用WinDLX模拟器执行下列三个程序: 求阶乘程序fact.s 求最大公倍数程序gcm.s 求素数程序prim.s 分别以步进、连续、设置断点的方式运行程序,观察程序在流水线中的执行情况,观察 CPU中寄存器和存储器的内容。熟练掌握WinDLX的操作和使用。 2. 用WinDLX运行程序structure_d.s,通过模拟找出存在资源相关的指令对以及导致资源相 关的部件;记录由资源相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行周期数的 百分比;论述资源相关对CPU性能的影响,讨论解决资源相关的方法。 3. 在不采用定向技术的情况下(去掉Configuration菜单中Enable Forwarding选项前的勾选符),用WinDLX运行程序data_d.s。记录数据相关引起的暂停时钟周期数以及程序执行的 总时钟周期数,计算暂停时钟周期数占总执行周期数的百分比。 在采用定向技术的情况下(勾选Enable Forwarding),用WinDLX再次运行程序data_d.s。重复上述3中的工作,并计算采用定向技术后性能提高的倍数。 1. 求阶乘程序 用WinDLX模拟器执行求阶乘程序fact.s。这个程序说明浮点指令的使用。该程序从标准 输入读入一个整数,求其阶乘,然后将结果输出。 该程序中调用了input.s中的输入子程序,这个子程序用于读入正整数。 实验结果: 在载入fact.s和input.s之后,不设置任何断点运行。 a.不采用重新定向技术,我们得到的结果

软件体系结构大作业要求

《软件体系结构》大作业要求 一、课程性质与目的 通过本课程学习,旨在达到以下目标: 1帮助学生掌握需求分析的流程、方法以及技巧; 2帮助学生了解软件体系结构的基本概念,初步掌握中大型软件系统构架的分析与设计方法; 3使学生了解构建系统的目的是为了满足组织的需求,认识软件行业和开发组织在系统设计及其最终成败所起的作用,提高软件设计的基本素养; 4使学生了解常用软件设计模式的使用场景,解决方案; 5引导学生认识系统的性能、可用性、安全性等质量属性都是受软件构架制约的,或者说这些属性的实现影响着设计师的设计选择; 二、设计内容 下面题目将作为实习题贯穿需求分析和软件体系结构设计部分,以1人为一组,任选其中一个问题。采用适当的需求分析方法获取初步需求,题目选择如下: 问题A. 图书馆管理(R.A.Kemmerer) 一个小型图书馆管理系统,需完成以下工作: 1.借书,还书; 2.在图书馆中增加/删除一本书; 3.按照作者名或专业领域检索一批书; 4.找出被某位读者借出的一批书; 5.找出最近借走某本图书的读者. 该系统有两类用户:图书管理员与普通读者.功能4可供普通读者查找他们自己借出的书目.功能1,2,5只供图书管理员使用. 该系统必须满足以下限制: 1.馆中所有未借出的书籍能够供读者随时借阅. 2.在同一时刻,一本书不能既被借出,又可供借阅.

3.一个读者一次借出的书籍数目不能超过预定值. 问题B. 保温系统(S.White) 如果主开关置于”加热”状态,保温系统的控制器负责开关锅炉,监视锅炉系统的燃油流量和燃烧状态,进而调节进入房间的热量流.当室内温度降至(T r-2)0C以下,控制器启动锅炉.这里,T r是用户设置的理想室温. 锅炉启动过程如下: 1.控制器向锅炉的马达发信号. 2.控制器监视马达速度.马达达到正常操作速度时,启动点火并打开油阀. 3.控制器监视水温,一旦水温达到预定值,发信号打开水流循环阀.热水开始在室内循 环. 4.如果发生异常情况,燃油流量指示器和光感器向控制器发信号.此时控制器发信号关 闭系统. 5.一旦室内温度达到(T r +2)0C,控制器首先关闭油阀,延迟5s后关闭锅炉马达. 系统必须满足以下限制: 1.锅炉停机后重启必须延迟5min. 2.在主开关关闭或油阀关闭5s内应指示锅炉停机. 问题C. 字符串格式化(https://www.docsj.com/doc/402808921.html,i) 给定非负整数MAXPOS和包含空格与换行作为分隔符的字符集.对字符串S,称两分隔符之间或分隔符到S的结尾处的非空字符串为字. 程序以有穷字符串为输入,输出满足以下条件的字符串: 1.如果输入串包含长度为MAXPOS+1的字,则输出串为一空格. 2.如果输入串的任何MAXPOS+1个相邻字符至少含有一个分隔符,则: 2-1 输入串的所有字以相同的次序出现在输出串中;并且,输出串不含有未在输入串中出现的字; 2-2 此外,输出串满足以下限制: 2-2-1 输出串中不出现前导和后导分隔符,也不出现相邻的分隔符. 2-2-2 任何MAXPOS+1个相邻字符中含有一个换行符; 2-2-3 对于输出串中的任意子串S,如果: (1) S的长度不超过MAXPOS;

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

计算机系统结构实验 实验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)寄存器跳转、寄存器跳转并链接

北邮计算机系统结构实验报告-实验一到五-WINDLX模拟器

北京邮电大学 实验报告 课程名称计算机系统结构 计算机学院03班 王陈(11)

目录 实验一WINDLX模拟器安装及使用......................................... 错误!未定义书签。 ·实验准备................................................................................ 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验内容及要求.................................................................... 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 ·实验总结............................................................................. 错误!未定义书签。实验二指令流水线相关性分析 ............................................... 错误!未定义书签。 ·实验目的............................................................................. 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 ·实验总结............................................................................. 错误!未定义书签。实验三DLX处理器程序设计 .................................................... 错误!未定义书签。 ·实验目的............................................................................. 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 A.向量加法代码及性能分析 ................................................... 错误!未定义书签。 B.双精度浮点加法求和代码及结果分析 .............................. 错误!未定义书签。 ·实验总结............................................................................. 错误!未定义书签。实验四代码优化 ....................................................................... 错误!未定义书签。 ·实验目的............................................................................. 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验原理................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 ·实验总结+实习体会........................................................... 错误!未定义书签。实验五循环展开 ....................................................................... 错误!未定义书签。 ·实验目的............................................................................. 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验原理................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 矩阵乘程序代码清单及注释说明........................................... 错误!未定义书签。 相关性分析结果........................................................................... 错误!未定义书签。 增加浮点运算部件对性能的影响........................................... 错误!未定义书签。 增加forward部件对性能的影响 ............................................ 错误!未定义书签。 转移指令在转移成功和转移不成功时候的流水线开销 .. 错误!未定义书签。 ·实验总结+实习体会+课程建议......................................... 错误!未定义书签。

嵌入式系统大作业

《嵌入式系统原理及应用》课 程论文 嵌入式数据库的现状和发展趋势 学生姓名 学号 专业 班级 授课教师 所属学院

嵌入式数据库的现状和发展趋势 摘要:随着计算机技术及相关技术的不断发展,嵌入式产品由于其智能化、小型化、便携式等特点,已经普遍应用于我们的生活。这些产品通常是在计算资源、存储资源等条件受限的情况下处理大量的数据,而传统的数据库一般都是运行在各种各样的服务器或大容量的存储器上,显然把传统的数据库直接移植到嵌入式设备上是不可行的。嵌入式数据库应运而生。本文从嵌入式系统结构入手,阐述了嵌入式数据库的发展现状,并具体介绍了当前主流嵌入式数据库的共性、基本特点、关键技术、构件、分类,并提出了发展趋势和进一步研究的技术突破点。 关键词:嵌入式数据库、复制、缓存技术、现状、趋势 引言 随着计算机技术及相关技术的不断发展,嵌入式产品由于其智能化、小型化、便携式等特点,已经普遍应用于我们的生活,比如智能手机、车载导航设备、数字移动电视、机顶盒、智能控制设备等。这些产品通常是在计算资源、存储资源等条件受限的情况下处理大量的数据,而传统的数据库一般都是运行在各种各样的服务器或大容量的存储器上,显然把传统的数据库直接移植到嵌入式设备上是不可行的。那么如何在苛刻的条件下,充分利用有限的资源便成为了人们研究的热点。嵌入式数据库也正是在此条件下,和嵌入式操作系统、嵌入式应用软件相伴而生的。 正文 1嵌入式系统的体系结构 嵌入式系统的英文叫做Embedded System, 是一种包括硬件和软件的完整的计算机系统, 但又跟通用计算机系统不同。嵌入式系统的定义是: / 嵌入式系统是以应用为中心, 以计算机技术为基础, 并且软硬件可剪裁, 适用于应用系统对功能、可靠性、成本、体积和功耗有严格要求的专用计算机系统。0嵌入式系统所用的计算机是嵌入到被控对象中的专用微处理器, 但是功能比通用计算机专门化, 具有通用计算机所不能具备的针对某个方面特别设计的、合适的运算速度、高可靠性和较低比较成本的专用计算机系统。 嵌入式数据库位于嵌入式系统的中间部分,下面有嵌入式操作系统层,当前主流的嵌入式操作系统有Windows CE;Palm OS。Linux,VXworks,SymbianOS等平台,硬件平台主要有Dragonball,Handspring,MIPS,Hitachi SH,Power PC以及ARM处理器。嵌入式应用软件位于嵌入式数据库之上,可以通过API函数接口,、ODBC,JDBC等与嵌入式数据库通信,来实现数据的检索、删除、添加等操作,更为重要的是要实现数据的完整性、一致性。当前主流的嵌入式数据库,具有支持多个平台、面向多种开发语言、具有多个灵活的接口等特点,主流的嵌入式数据库有:Oracle公司的Berkeley DB、Sysbase Adaptive ServerAnywhere、Linter以及SQLite等,国内的科研机构也积极开展这方面的研究并推出了自己的产品,主要有方舟公司的Noahbase人大金仓kingbase等。

大连理工大学计算机系统结构实验-实验四

大连理工大学实验报告计算机系统结构实验 实验四Cache性能分析 学院(系):电子信息与电气工程学部专业:计算机科学与技术 学生姓名: 班级: 学号: 大连理工大学 Dalian University of Technology

实验四Cache性能分析 一、实验目的和要求 (1)加深对Cache的基本概念、基本组织结构以及基本工作原理的理解。 (2)掌握Cache容量、相联度、块大小对Cache性能的影响。 (3)掌握降低Cache不命中率的各种方法以及这些方法对提高Cache性能的好处。 (4)理解LRU与随机法的基本思想以及它们对Cache性能的影响。 二、实验步骤与操作方法 1、Cache容量对不命中率的影响。 (1)启动MyCache。 (2)用鼠标单击“复位”按钮,把各参数设置为默认值。 (3)选择一个地址流文件。方法:选择“访问地址”—>“地址流文件”选项,然后单击“浏览”按钮,从本模拟器所在文件夹下的“地址流”文件夹中选取。 (4)选择不同的Cache容量,包括2KB、4KB、8KB、16KB、32KB、64KB、128KB和256KB。分别执行模拟器(单击“执行到底”按钮即可执行),然后在下表中记录各种情况下的不命中率。 表不同容量下Cache的不命中率 (5)以容量为横坐标,画出不命中率随Cache容量变化而变化的曲线,并指明地址流文件名。

(6)根据该模拟结果,你能得出什么结论? 答:随着Cache容量的增大,不命中率降低,但是降低的幅度由较大差别,Cache容 量足够大以后,不命中率降到一定程度以后,降低效果不再明显。 2.相联度对不命中率的影响 (1)用鼠标单击“复位”按钮,把各参数设置为默认值。此时的Cache容量为64KB。 (2)选择一个地址流文件。 (3)选择不同的Cache相联度,包括2路、4路、8路、16路和32路。分别执行模拟器,然后在下表中记录各种情况下的不命中率。 表当容量为64KB时,不同相联度下Cache的不命中率 (4)把Cache的容量设置为256KB,重复(3)的工作,并填写下表。 表当容量为256KB时,不同相联度下Cache的不命中率 (5)以相联度为横坐标,画出在64KB和256KB的情况下不命中率随Cache相联度变化而变化的曲线,并指明地址流文件名。

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

实验二结构相关 一、实验目的: 通过本实验,加深对结构相关的理解,了解结构相关对CPU性能的影响。 二、实验内容: 1. 用WinDLX模拟器运行程序structure_d.s 。 2. 通过模拟,找出存在结构相关的指令对以及导致结构相关的部件。 3. 记录由结构相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行 周期数的百分比。 4. 论述结构相关对CPU性能的影响,讨论解决结构相关的方法。 三、实验程序structure_d.s LHI R2, (A>>16)&0xFFFF 数据相关 ADDUI R2, R2, A&0xFFFF LHI R3, (B>>16)&0xFFFF ADDUI R3, R3, B&0xFFFF ADDU R4, R0, R3 loop: 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 answer your questions) ADDI R2, R2, #8 ADDI R3, R3, #8 SUB R5, R4, R2 BNEZ R5, loop ;条件跳转 TRAP #0 ;; Exit <- this is a comment !! A: .double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 B: .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发生结构相关,导致相关的部件:译码部件。 2)第二个结构相关:ADDI R2, R2, #8,与第一个结构相关类似。由于数据相关, 上一条指令暂停在ID阶段,所以导致下一条指令发生结构相关。

计算机系统结构大作业

高级计算机系统结构 课题:基于多任务学习技术的图像特征 提取方法分析 学院:数字媒体学院 专业:软件工程 主讲:刘渊 姓名:张英 学号:6161611007

目录 第一章绪论 (3) 1.1课题研究背景及意义 (3) 1.2多任务发展历史与研究现状 (4) 1.3多任务学习与迁移学习的对比 (4) 第二章基本方法介绍 (4) 2.1主成分分析法 (4) 2.2线性判别分析法 (5) 2.3局部保留投影 (5) 2.4 TrAdaBoost算法 (5) 2.5 方法总结 (6) 第三章基于投影变换迁移的特征提取方法 (6) 3.1基于投影向量正交的特征提取算法 (6) 3.1.1有监督的基于投影向量正交的特征提取算法 (7) 3.1.2无监督的基于投影向量正交的特征提取算法 (7) 3.2 有监督&无监督特征提取算法总结 (7) 第四章总结 (8) 参考文献 (9)

第一章绪论 1.1课题研究背景及意义 在生物、物理、医学、市场、计算机视觉、人工智能和远程传感控制等各种工程科学学科中,自动的识别[1]、描述、分类和模式分组是很重要的问题。但什么是模式呢?Watanabe[2]是这样定义模式的:“是混乱的对立,它是一个独立存在的事物,很模糊的定义,可以给它命名为模式”。例如,一个模式可以是一个指纹图像,一个手写的草书字,一张人脸图像[3]或者一个语音信号。给定一个模式,它的识别或分类可能包括如下两个任务之一:(1)有监督分类(例如鉴别分析),即输入的模式的类别信息是已知的;(2)无监督分类(例如聚类),即输入的模式的类别信息是未知的。我们要强调的是这里所提到的识别问题是指一个分类或者分类任务,其中类别信息在有监督分类中是由系统设计者定义的,在无监督分类中是基于模式的相似性学习得到的。模式识别领域是现在研究的一个热点,它在各方面的应用既有吸引力又有挑战性。这些应用包括数据挖掘,文本分类,金融预测,多媒体数据库的组建和检索,统计生物学识别等。 最近人们发现,图像识别中很多图像样本在空间中呈现的是一种非线性的流形结构的分布。但主成分分析(PCA)、线性鉴别分析(LDA)等线性降维技术却破坏了图像样本在空间中的流形分布结构,这样不利于分类识别。为了保护图像样本空间中的流形结构,人们做了大量的工作,相继提出了局部线性映射(Locally Linear Embedding,LLE) ,等距映射(Isometric Feature Mapping, ISOMAP ) 和拉普拉斯特征映射(Laplacian Eigenmaps)等非线性降维方法。局部保留投影(Locality Preserving Projection, LPP) 是拉普拉斯特征映射方法的线性近似,该方法解决了前面介绍的非线性降维方法难以获得新样本点的低维投影的问题,它通过构造基于样本的近邻流形结构图保持了样本空间的流形结构,使得原始图像样本空间中近邻的样本图像经过投影之后仍然是近邻的。 但是在实际生活中,人们有时候会遇到训练样本数目很少的情况,此时大部分传统的模式识别方法的效果都不是很好,人们发现多任务学习方法可以帮助解决这个问题。例如,现在只有两个苹果作为训练样本,但是实际上苹果的形状是有差别的,单单训练两个苹果并不能得到很好的识别效果,我们可以把和苹果相像的其它水果作为辅助的任务一起识别,即把橘子,梨,桃等作为辅助样本来帮助识别苹果。

软件体系结构大作业模板

软件体系结构大作业 题目:管道-过滤器模型 专业班级: 13 软件工程1班 学生姓名:马潇霄 学号: 12013241604 2015年 10月 20 日

目录 1.问题背景 (3) 2.相关综述: 管道-过滤器模型 (3) 3. 设计内容/方案:管道-过滤器的设计原型 (6) 4. 总结 (8) 参考文献 (9)

1.问题背景 摘要软件体系结构设计给出了大规模软件复用,特别是领域复用的重要设计模式。体系结构描述了软件系统的整体组织结构与风格,对软件的性能和质量有直接的影响。管道-过滤器模式是一种面向数据流的软件体系结构。该文对这种体系结构做了深入的讨论,并结合一个具体应用给出了设计原型。 关键词管道-过滤器模型管道过滤器 随着软件系统规模和复杂性的增加,系统总体结构设计的重要性已远远超过特定算法和数据结构的选择,良好的体系结构是保证系统成功的关键。基于软件体系结构的过程开发是现代软件开发的基本途径,也是软件工程成熟的标志。软件体系结构的风格或模式包括客户-服务器模式的体系结构,管道-过滤器模式的体系结构,层次式体系结构,面向对象的体系结构等。 管道-过滤器模式的体系结构是面向数据流的软件体系结构。它最典型的应用是在编译系统。一个普通的编译系统包括词法分析器,语法分析器,语义分析与中间代码生成器,优化器,目标代码生成器等一系列对源程序进行处理的过程。人们可以将编译系统看作一系列过滤器的连接体,按照管道-过滤器的体系结构进行设计。此外,这种体系结构在其它一些领域也有广泛的应用。因此它成为软件工程和软件开发中的一个突出的研究领域。 2.相关综述: 管道-过滤器模型 2.1 模型的结构与特征 管道-过滤器模型的基本部件都有一套输入输出接口。每个部件从输入接口中读取数据,经过处理,将结果数据置于输出接口中,这样的部件称为“过滤器”。这种模型的连接者将一个过滤器的输出传送到另一个过滤器的输入,该文把这种连接者称为“管道”。 在这种模型中,过滤器必须是独立的实体,每一个过滤器的状态不受其它过滤器的影响。并且,虽然人们对过滤器的输入输出有一定的规约,但过滤器并不需要知道向它提供数据流的过滤器和它要提供数据流的过滤器的内部细节。 过滤器的基本结构如图 1。 3

相关文档
相关文档 最新文档