如有C语言程序段: for(k=0;k<1000;k++) a[k]=a[k]+32; 若数组a及变量k均为int型,int型数据占4B,数据Cache采用直接映射方式,数据区大小为1KB、块大小为16B,该程序段执行前Cache为空,则该程序段执行过程中访问数组a的Cache缺失率为()A.1.25%B.2.5%C.12.5%D.25%
如有C语言程序段: for(k=0;k<1000;k++) a[k]=a[k]+32; 若数组a及变量k均为int型,int型数据占4B,数据Cache采用直接映射方式,数据区大小为1KB、块大小为16B,该程序段执行前Cache为空,则该程序段执行过程中访问数组a的Cache缺失率为()
A.1.25%
B.2.5%
C.12.5%
D.25%
参考答案和解析
12.5%
相关考题:
以下程序段是函数返回a所指数组中最大的值所在的下标值,横线处的语句为( )。 fun(int*a, int n) { int i,j=0,k; k=j; for(i=j;i<n;i++) if[a[i]>a[k])______; return(k); }A.k=iB.k=jC.i=jD.i=n
现有如下程序段,则程序段的输出结果为 【16】 。#include "stdio.h"int fun(){static int k;return k;}main(){int m;m=fun();printf("%d\n",m);}
现有如下程序段#include "stdio.h"int fun(int k,int *m){if(k%3)*m=k*k;else *m=k/3;}main(){ int (*p)(int,int *),m;p=fun;(*p)(78, m);printf( "%d\n",m);}则程序段的输出结果为A.24B.25C.26D.27
下面函数返回数组中最大元素的下标,数组中元素个数为t,将程序补充完整。int findmax(int s[],int t) {int k,p;for(p=0,k=p;p<t;p++) {if 【 】k=p;}return k;}
有下列程序段:int k=0,a=1,b=2,c=3;k=ac?c:k;执行该程序段后,k的值是()。A.3B.2C.1D. 有下列程序段: int k=0,a=1,b=2,c=3; k=a<b?b:a; k=k>c?c:k; 执行该程序段后,k的值是( )。A.3B.2C.1D.0
阅读下列程序和控制流图,将应填入(n)的字句。【程序】下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。int GetMax(int n,int datalist[]){int k=0;for(int j=1;j<n;j++)if(datalist[j]>datalist[k])k=j;return k;}该程序的控制流图中A~E分别是什么?
有以下程序段:int k=0, a=1, b=2, c=3;k=ac? c:k;执行该程序后,k的值是______。A.3B 有以下程序段: int k=0, a=1, b=2, c=3; k=a<b? b:a; k=k>c? c:k; 执行该程序后,k的值是______。A.3B.2C.1D.0
有以下程序段: int k=0,a=1,b=2,c=3; k=ac?c:k; 执行该程序段后,k的值是 有以下程序段: int k=0,a=1,b=2,c=3; k=a<b?b:a; k=k>c?c:k; 执行该程序段后,k的值是 ______。A.3B.2C.1D.0
下列程序是用来判断数组中特定元素的位置所在,则输出结果为includeinclude 下列程序是用来判断数组中特定元素的位置所在,则输出结果为 #include<conio.h> #include<iostream.h> int fun(int * s,int t,int * k) { int i; *k=0; for(i=0;i<t;i++) if(s[ * k] <s[i] ) *k=i; retum s[ * k] ;} void main( ) { int a[10] ={876,675,896,101,301,401,980,431,451,777},k; fun(a,10,k) ; cout < < k < < ',' < < a[k] ;}A.7,431B.6C.980D.6,980
定义数组char a[]=}'0','1','2','3');,则将该数组中元素按反序转换成整数,正确的程序段是______。A.int k=0,i; for(i=0;i<4;i++) k=k*10+a[i]-48;B.int k=0,i; for(i=3;i>=0;i--) k=k*10+a[i]-'0';C.int k=0,i; for(i=3;i>=0;i--) k=k+a[i]-'0';D.int k,i; for(i=3;i>=0;i--) k=k*10+a[i]-'0';
有下列程序段:int k=0,a=1,b=2,c=3;k=ac?C:k;执行该程序段后,k的值是()。A.3B.2C.1D.0 有下列程序段: int k=0,a=1,b=2,c=3; k=a<b?b:a;k=k>c?C:k; 执行该程序段后,k的值是( )。A.3B.2C.1D.0
有如下程序段#include "stdio.h"void fun(int *a,int *b,int *c,int *d,int *e){ int i,j,k,m; for(i=0;i *a;i++) for(j=0;j *b;j++) for(k=0;k*c;k++) for(m=0;m *d;m++) ++*e;}main(){ int a=10,b=10,c=10,d=10,e=0; fun(a,b,c,d,e); printf("%d\n",e);} 则程序段的输出结果是A.10000 B.1000 C.100 D.0
有以下程序段:int k=0,a=1,b=2,c=3;k=ac ? c:k;执行该程序段后,k的值是()。A.3B.2C 有以下程序段: int k=0,a=1,b=2,c=3; k=a<b ? b:a; k=k>c ? c:k; 执行该程序段后,k的值是( )。A.3B.2C.1D.0
执行下面的程序段后,变量k中的值为 include void main( ) { int k=3,s[2]; s[ 执行下面的程序段后,变量k中的值为 #include<iostream.h> void main( ) { int k=3, s[2]; s[0]=k; k=s[1] *10; cout < < k;}A.不定值B.33C.30D.10
有以下程序段intk=0, a=1, b=2, c=3; k=ac? c:k;执行该程序段后,k的值是A.3B.2C.1 有以下程序段 int k=0, a=1, b=2, c=3; k=a<b ? b:a; k=k>c ? c:k; 执行该程序段后,k的值是A.3B.2C.1D.0
若k是int型变量,且有下面程序片段: k=-3; if(k 若k是int型变量,且有下面程序片段: k=-3; if(k<=0)printf("# # # #") else printf(" ") 上面程序片段的输出结果是 ( )A.# # # #B. C.# # # D.有语法错误,无输出结果
对于以下程序, main( ) { int a[5],*p; int k; for(k=0,p=a;k5;k++,p++) scanf(“%d”,p); for(;k0;k--) printf(“%d”,*(--p)); } 若输入为:1 2 3 4 5(注:表示回车),则输出结果是多少?
下面程序段在执行完成后,a的值为() int j=0,k=0,a=0; while(j3) {j++;a=a+1;k=0;while(k=2) {k++;if(k%2!=0)continue;a=a+1;} a=a+1;}A、6B、8C、9D、10
问答题假定有三个处理器,分别带有以下不同的cache:cache1:采用直接映射方式,块大小为1个字,指令和数据的缺失率分别为4%和6%;cache2:采用直接映射方式,块大小为4个字,指令和数据的缺失率分别为2%和4%;cache3:采用2-路组相联映射方式,块大小为4个字,指令和数据的缺失率分别为2%和3%。在这些处理器上运行相同的程序,该程序的CPI为2.0,其中有一半是访存指令。若缺失损失为(块大小+6)个时钟周期,处理器1和处理器2的时钟周期都为420ps,带有cache3的处理器3的时钟周期为450ps。请问:哪个处理器因cache缺失而引起的额外开销最大?哪个处理器执行速度最快?
单选题假定主存地址为32位,按字节编址,主存和Cache之间采用直接映射方式,主存块大小为4个字,每字32位,采用回写(Write Back)方式,则能存放4K字数据的Cache的总容量的位数至少是( )。A146KB147KC148KD158K
单选题下面程序段在执行完成后,a的值为() int j=0,k=0,a=0; while(j3) {j++;a=a+1;k=0;while(k=2) {k++;if(k%2!=0)continue;a=a+1;} a=a+1;}A6B8C9D10