计算机系统结构课程设计单功能非线性流水线最佳调度程序.docx

上传人:b****8 文档编号:29769483 上传时间:2023-07-26 格式:DOCX 页数:12 大小:44.11KB
下载 相关 举报
计算机系统结构课程设计单功能非线性流水线最佳调度程序.docx_第1页
第1页 / 共12页
计算机系统结构课程设计单功能非线性流水线最佳调度程序.docx_第2页
第2页 / 共12页
计算机系统结构课程设计单功能非线性流水线最佳调度程序.docx_第3页
第3页 / 共12页
计算机系统结构课程设计单功能非线性流水线最佳调度程序.docx_第4页
第4页 / 共12页
计算机系统结构课程设计单功能非线性流水线最佳调度程序.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

计算机系统结构课程设计单功能非线性流水线最佳调度程序.docx

《计算机系统结构课程设计单功能非线性流水线最佳调度程序.docx》由会员分享,可在线阅读,更多相关《计算机系统结构课程设计单功能非线性流水线最佳调度程序.docx(12页珍藏版)》请在冰豆网上搜索。

计算机系统结构课程设计单功能非线性流水线最佳调度程序.docx

计算机系统结构课程设计单功能非线性流水线最佳调度程序

福建农林大学计算机与信息学院

计算机类课程设计

 

课程名称:

计算机系统结构课程设计

设计题目:

单功能非线性流水线最佳调度程序

姓名:

系:

计算机

专业:

计算机科学与技术

年级:

学号:

指导教师:

职称:

 

2012年11月30日

福建农林大学计算机与信息学院计算机类

课程设计结果评定

评价内容

评价指标

评分权值

评定成绩

工作态度

工作努力,严格按照课程技能训练设计的要求去做,表现好;遵守纪律,工作作风严谨务实。

20

业务水平

能按时优异地完成课程设计任务,能熟练地综合运用所学理论和专业知识,在技能训练中对某些技能、技术有新建议、有小革新、有创见。

动手能力强,实干精神强,团结协作能力强,适应能力强。

30

设计报告质量

报告或成果完整、正确,概念清楚,图纸表格齐全,文字通顺,排版打印符合要求。

40

工作量

按期完成规定的任务,工作量饱满,难度较大。

10

成绩:

指导教师签字:

评定日期:

 

1设计的目的………………………………………………………………1页

2设计要求…………………………………………………………………1页

3主要仪器设备(软硬件环境)…………………………………………1页

4设计内容…………………………………………………………………1页

4.1设计原理…………………………………………………………1页

4.2总体方案设计……………………………………………………2页

4.3程序设计…………………………………………………………2页

4.4程序的调试和运行结果…………………………………………9页

5总结………………………………………………………………………9页

参考文献……………………………………………………………………9页

单功能非线性流水线最佳调度程序

1.设计的目的

通过课程设计进一步了解计算机系统的设计及工作原理,进一步熟悉和掌握单功能非线性流水线最佳调度.利用所学知识完成相关程序的设计、运行和调试工作。

2.设计要求

要求设计一个处理程序,输入非线性流水线各个功能段使用的时间(拍),通过程序处理后输出正确的最佳调度方案。

3.主要仪器设备(软硬件环境)

PC机、windowsxp、VC++6.0

4.设计内容

4.1设计原理

非线性流水线无冲突调度的目标是找出平均允许启动距离最小的启动循环。

按照这样的启动循环向流水线的输入端输入任务,所有功能段在任何时刻都没有冲突,而且流水线的工作效率最高。

在进行这一工作时,首先要进行的就是画出无冲突调度方案的状态图,求得所有的调度方案,再找出平均允许启动距离最小的调度方案。

 

4.2总体方案设计

4.3程序设计

#include

#include

#include

#include

usingnamespacestd;

constintinf=100000;

intmat[20][20];

inttmp_ban[20];

intban[20];

intint_ban;

intpoint[105];

intedge[105][105];

intpn;

doubleopt_dis;

intdis[20];

intdn,pre;

boolhas[20];

structoptimal

{

intrn;

introad[20];

}op[20];

intopn;

 

voidsearch(intid)

{

inti,j,k;

for(i=0;i

if(edge[id][i]

{

if(has[i]==true&&i!

=pre)continue;

dis[dn++]=edge[id][i];

if(has[i]==true)

{

doubletmp=0;

for(j=0;j

tmp+=dis[j];

tmp/=dn;

if(tmp<=opt_dis)

{

if(tmp

op[opn].rn=dn;

for(j=0;j

op[opn].road[j]=dis[j];

opn++;

}

}

else

{

has[i]=true;

search(i);

has[i]=false;

}

dn--;

}

}

intmain()

{

//freopen("in.txt","r",stdin);

//freopen("out.txt","w",stdout);

intm,n,i,j,k,tmp;

while

(1)

{

//输入预约表

printf("请输入流水线预约表的时间和功能段大小m和n(m,n<15):

");

scanf("%d%d",&m,&n);

if(m==0)break;

printf("请在下表中输入0-空格或1-X:

\n");

printf("功能段\\时间");

for(i=1;i<=m;i++)

printf("%d",i);

printf("\n");

for(i=1;i<=n;i++)

{

printf("S%d",i);

for(j=1;j<=m;j++)

scanf("%d",&mat[i][j]);

}

printf("\n");

//计算禁止向量

memset(tmp_ban,0,sizeof(tmp_ban));

intmaxd=0;

for(i=1;i<=n;i++)

for(j=1;j<=m;j++)

if(mat[i][j]==1)

for(k=j+1;k<=m;k++)

if(mat[i][k]==1)

{

//maxd=max(maxd,k-j);

if(maxd>(k-j))

maxd=maxd;

elsemaxd=k-j;

tmp_ban[k-j]=1;

}

//计算冲突向量

int_ban=0;

tmp=1;

for(i=1;i<=maxd;i++)

{

int_ban+=tmp*tmp_ban[i];

tmp*=2;

}

//由冲突向量构造有向状态图

pn=1;

point[0]=int_ban;

memset(edge,127,sizeof(edge));

intid;

for(i=0;i

{

tmp=point[i];

for(j=1;j<=maxd;j++)

{

if(tmp%2==0)

{

tmp/=2;

point[pn]=tmp|point[0];

id=pn;

for(k=0;k

if(point[k]==point[pn])

{

id=k;

break;

}

if(k==pn)pn++;

//edge[i][id]=min(j,edge[i][id]);

if(j

edge[i][id]=j;

}

elsetmp/=2;

}

//初始冲突向量和所有的新形成的冲突向量之间用带箭头的线连接

edge[i][0]=maxd+1;

}

//寻找启动距离最小的等间隔调度

intmin_equ_dis=maxd+1;

for(i=0;i

if(edge[i][i]

min_equ_dis=edge[i][i];

printf("启动距离最小的等间隔调度为:

%d\n\n",min_equ_dis);

//寻找最佳调度,即最小平均间隔拍数

opt_dis=inf;

opn=0;

for(i=0;i

{

memset(has,false,sizeof(has));

dn=0;

pre=i;

has[i]=true;

search(i);

}

printf("最优调度的平均启动距离为:

%lf\n",opt_dis);

for(i=0;i

{

printf("方法%d:

",i+1);

for(j=0;j

printf("%d",op[i].road[j]);

printf("\n");

}

printf("\n");

}

system("pause");

return0;

}

4.4程序的调试和运行结果

5.总结

在设计的过程中,由于自己以前学习不太深入,不得不去复习需要用到的指针、结构体、有向图的邻接表等数据结构里的知识!

通过复习,与同学交流,逐步完成了此次课程的设计!

这次课程设计,使我对单功能非线性流水线有了一定的了解,为以后更好地学习与流水线相关的各方面知识奠定了一定的基础!

参考文献:

[1]郑芹非线性流水线的无冲突调度的分析.福建电脑.2005,03:

1-2。

[2]李学干等.计算机系统结构(第四版).西安西安电子科技大学出版社

[3]军师.非线性流水线计算机调度问题的研究.电脑开发与应用1995,04

[4]张代远.原理及其在非线性流水线调度中的应用.算机工程与应用2006,,16

[5].

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1