- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机专业类课程
实验报告 课程名称:计算机系统结构
学 院:计算机科学与工程
专 业:计算机科学与技术
学生姓名:林怡
学 号:2012060020023
指导教师:叶娅兰 日 期: 2015年 6月 5日 电 子 科 技 大 学
实 验 报 告
实验三
实验名称:加法乘法动态多功能流水线调度
实验学时:4
实验内容和目的:
实验目的:
掌握加法乘法动态双功能指令调度的方式,
理解静态多功能流水线和动态多功能流水线在调度模式上的区别,
了解指令并行度上限的概念。
实验内容:
(一)给定要执行的任务和执行该任务的流水线结构
流水线的调度方式能够提高任务的并行度,但是针对不同的任务,由于相关的存在,其并行度的提高是不一致的。在开始程序设计前,我们首先要给定所要完成的任务:
这里我们使用矩阵点积运算任务, aibi。 n的数值可以变化,通过变换n的值用同一程序进行多次模拟。
给定流水线:
流水线分五个步骤,每个步骤的执行时间均为一个单位时间;其中1-2-3-5组成加法流水线,1-4-5组成乘法流水线。加法和乘法可以同时执行
(二)对任务进行分解
动态多功能流水线不同于静态多功能流水线,流水线中同时只能有多种种操作的指令,因此不能将其划分为两个相互独立的加法流水线和乘法流水线。
我们考虑设计一个加法乘法混合运算器,加法4步,乘法三步,在送入源数据时应指明执行哪种运算。
(三)任务分解程序模拟的思路
在实验二的基础上。我们对设计进行变更。
加法乘法有一个类实现,称之为加乘法类。乘法的数据源为两个队列,加法的数据源为一个队列。
加法器的源数据队列初始为空,乘法器的源数据队列初始分别放入A1-An和B1-Bn。
(四)加乘法流水线的设计
模拟程序的目的是为了计算总的执行时间,因此对于每个步骤执行的功能并不需要关心。
为此设计一个能够同时执行加法和乘法的运算器类,每次接收两个输入数据,对于加法,经过4个时间片,输出加法的结果;对于乘法,经过3个时间片,输出加法的结果。时间片可以用定时器来模拟。
(五)乘法流水线的设计
乘法流水线分为三个步骤,每个步骤时间花费是一个单位时间。模拟程序的目的是为了计算总的执行时间,因此对于每个步骤执行的功能并不需要关心。
为此设计一个总步数为三步的加法器,接收两个输入数据,经过3个时间片,输出乘法的结果。时间片可以用定时器来模拟。
(五)程序设计
程序应包括三个队列,一个加乘法类,一个定时器,一个输出对话框。
两个乘法队列用于存放源数据,一开始将A1-An和B1-Bn分别放入两个乘法队列。
启动定时器,每一个时间片从两个乘法队列中各取出一个源数据、或者从加法队列中取出两个数据源(依次只能是两者中的一种,可以考虑首先从加法队列中取,请思考为什么加法优先?),送入加乘法器(可以通过调用乘法器中对应的加法接口函数或者乘法接口函数,把源数据作为参数传入)。
构造加乘法器类,可以考虑用一个长度对5的执行队列来模拟流水线的5个步骤,对于队列的元素,除了要表示两个源数据外,还需要表示对应这两个数据所要执行的操作(乘法或加法),每个时间片将队列的数据根据执行的操作依次下压一格(加法下压的顺序是1-2-3-5,乘法下压的顺序是1-4-5),队列尾的数据进行对应的计算,并将结果压入加法器源数据队列。
当乘法源队列和乘法源队列均为空且加乘法器的执行队列也为空(所有运算执行完毕)时,任务执行完毕。
用一个记数值表示时间开销,每个时间片对该记数值加1。最后的记数值是任务的总的时间开销。
(五)多次模拟
可以通过循环的方式对n从4-20进行循环,将每次模拟运行的时间开销值在对话框中显示出来。如果可能将结果打印。
实验原理:
程序设计及数据结构:
实验程序共有6个类,分别是:
DynamicPiplineTest 公共类,测试程序,每一个n的循环,将计时器清零并初始化
长度为n的乘法操作数队列A与B,每个时间片从乘法操作数队列中取出Ai与Bi,进行乘法操作,并将结果送入加法器的操作数队列。当乘法器的源操作数队列为空时开始执行加法操作,当加法操作数队列只剩一个操作数且加法器的执行队列为空的时候,程序结束,输出n和计时器timercounter的值,以及最终的计算结果sum;
OperaQueue 操作数队列类,包括一个操作数队列数据结构、队列初始化函数
OperaQueue(int queueLength)、从队列中取一个源操作数函数getOperationNum()和将加法器计算的结果压入队尾的函数pushOperationNum(int op);
Addition 加法器类(也可以作乘法器类),一个加法(乘法)执行队列additionQueue,
一个用于暂存操作数的队列addOpe
您可能关注的文档
最近下载
- 唐宋八大家之苏轼17舌尖上的东坡 - 毕业文章.docx VIP
- Job-朗文2A-Chapter4-People-at-work英语课件-(第一课时).ppt VIP
- 《汽车电工电子技术基础》说课程标准.pptx VIP
- 银川市农牧局2018年度食品安全工作自查报告.docx VIP
- 电商客服合作协议范本5篇.docx VIP
- JTJT343-1996港口地区有线电话通信系统工程设计规范.pdf VIP
- 唐宋八大家之苏轼16笑对人生 - 高中教育.docx VIP
- 2018款马自达阿特兹全车电路图.pdf VIP
- 食品管理文件管理制度(2025版).docx VIP
- 成都生物城建设有限公司成都天府生物医药产业加速器五期项目.pdf VIP
文档评论(0)