首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
下列程序实现了矩阵乘法。 int A[100] [150] , int B[150] [200] ; int C[100][200l; for (i=0;i<100;i++) for {j=0; j<200; j++) for (k=0; k<150; k
下列程序实现了矩阵乘法。 int A[100] [150] , int B[150] [200] ; int C[100][200l; for (i=0;i<100;i++) for {j=0; j<200; j++) for (k=0; k<150; k
admin
2017-04-28
58
问题
下列程序实现了矩阵乘法。
int A[100] [150] ,
int B[150] [200] ;
int C[100][200l;
for (i=0;i<100;i++)
for {j=0; j<200; j++)
for (k=0; k<150; k++)
C
[j]+=A
[k]*B[k][j];
假设矩阵A和矩阵B的初值已经初始化过,矩阵C初始化为0,各矩阵均以页为单位连续存放(且假定是行优先存储)。又假定一个整数占用1个字,代码以及变量i、j和k存放在其他页面里,并且存取变量i、j和k时不存在缺页问题。主存初始为空,在请求分页存储管理中,页面淘汰算法为FIFO。
作业分配10个页面,每个页面为100字,给矩阵A、B和C使用。问执行上面的程序时,缺页次数是多少?当执行完程序时,留在内存的10个页面各属于哪些矩阵?
选项
答案
矩阵是按行存储的,且每页均从页面首址开始存放,则矩阵A、B、C的存储情况如表2—12所示。 [*] 程序执行中对存储器的访问顺序为读A、读B、读C和写C。由于每页可存放100个字,由表2—12可知,矩阵A占用150页、矩阵B占用300页、矩阵C占用200页。假设矩阵A占用的页面为1~150,矩阵B占用的页面为151~450,矩阵C占用的页面为451~650。其存储示意图如图2—12所示。 [*] 程序对矩阵A和C的访问是按行访问,即矩阵A和C的存放顺序与访问顺序相同。程序对矩阵B的访问是按列访问,矩阵B的存放顺序与访问顺序不一致,即访问顺序是访问某列的第1个元素后,再访问该列的第2个元素、第3个元素……并且,由于矩阵B每行必须用两页存储,所以一列第1个元素与第2个元素存储在不同的页中,也即按列顺序访问时,每次对矩阵B的访问实际上都要访问与前一页访问不同的页。 程序中的三重for循环执行的次数为100×200×150=3000000次,每次需要一次访问矩阵A、B和C。只要不跨页,每次访问矩阵A和C时无需调入新页,但每次访问矩阵B中的元素都需要调入新页。由于系统只有10个页面,所以每次访问矩阵B,被访问元素所在页面都不在内存中。 采用FIFO算法,当循环次数为n1×9+1或n2×100+1时,读A、读B与读C或写C都会出现缺页,而其他情况只有在读B时会出现缺页。 n1×9+1时的情况是由于矩阵B需要占用页面,而把矩阵A、C换出,造成下次访问,矩阵A、C时出现缺页。 [*] 需要访问A,根据FIFO,B页面被换出,需要访问B,C页面也被换出,最后又要访问C,C页面又被换入。 n2×100+1时的情况则是需要读A或C新的一页数据造成的缺页。 nl×9+1的取值范围为[1,10,19,28,37,…,901,…,333333×9+1] n2×100+1的取值范围为[1,101,201,…,901,…,29999×l00+1] 当n2为9的倍数时,会有共同项出现,如901、1 801…… 这种共同项个数为[30000/9]=3333。去掉重复项后,A和C的缺页总次数为(333333+29999—3333)×2。 根据上述规律可得出缺页的次数为 [100×200×150+(333333+29999—3333)×2]次=3719998(次) 最后留在内存中的10个页面,其中1个页面属于矩阵A,8个页面属于矩阵B,1个页面属于矩阵C。
解析
转载请注明原文地址:https://kaotiyun.com/show/OHRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
简述第二国际建立的社会历史条件。
《关于建国以来党的若干历史问题的决议》
万历年间,()的获得使得佃农与地主之间只存在单纯的经济强制关系,没有人身依附关系
詹天佑自主设计修建了中国第一条铁路是在()。
第一国际成立前,各国无产阶级强烈要求加强国际团结的直接原因是()。
1936年,德奥双方通过(),德国基本上控制了奥地利的内政和外交。
决定把苏联由农业国变成工业国的主要目的是()
中华人民共和国恢复在联合国合法席位的时间是()。
晚清时期清帝年号的正确排序是
已知一个带有表头结点的单链表,结点结构为:假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data域的值,并返回1;否则,只返回0。要求:
随机试题
法律咨询
Haveyou【C1】______askedyourselfwhychildrengotoschool?Youwillprobablysaythattheygo【C2】______theirownlanguageando
对放射线高度敏感的肿瘤,下列哪项是错误的()
下列应包括在政府投资建设的社会公益性项目可行性研究报告中的内容有()。
已知某工作总时差为8天,最迟完成时间为第16天,最早开始时间为第7天,则该工作的持续时间为()。
下列不同朝代的官名与其在当时的职能对应不正确的一项是:
售后:品控
设A为n阶实矩阵,AT是A的转置矩阵,则对于线性方程组(I):AX=0和(Ⅱ):ATAX=0,必有
一台Ethernet交换机提供24个100Mbps的全双工端口与1个1Gbps的全双工端口,在交换机满配置情况下的总带宽可以达到【】。
AlltherecentnewsonAIDSisbad.ThedeathofRockHudson【1】publicconcern-aboutthe【2】almosttothepointofpanic.Nowgen
最新回复
(
0
)