码迷,mamicode.com
首页 > 其他好文 > 详细

20135206于佳心【家庭作业汇总】

时间:2015-11-21 00:27:34      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:

选题:3.63

分值:两分

作业过程:

技术分享
int sum_col(int n,int A[E1(n)][E2(n)],int j)
{
    int i;
    int result = 0;
    for(i=0;i<E1(n);i++)
        result += A[i][j];
    return result;
}
技术分享

上面是原来的代码

汇编代码

技术分享
movl    8(%ebp),%edx                     ;edx:n
    leal    (%edx,%edx),%eax             ;eax:2n
    leal    -1(%eax),%ecx                ;ecx:2n-1
    leal    (%eax,%edx),%esi             ;esi:3n,(E1(n))
    movl    $0,%eax                      ;eax: 0(result)
    testl    %esi,%esi                   ;检验esi(正\负\0)
    jle        .L3                       ;若esi中E1(n)≤0的话,跳转
    leal    0(,%ecx,4),%ebx              ;ebx:0+4*ecx=4(2n-1)
    movl    16(%ebp),%eax                ;eax:ebp+16(j的地址)
    movl    12(%ebp),%edx                ;edx:ebp+12(A[i]的地址)
    leal    (%edx,%eax,4),%ecx           ;ecx:edx+4*eax(A[i][j])
    movl    $0,%edx                      ;edx:0
    movl    $0,%eax                      ;eax: 0
.L4                                      ;loop
    addl    (%ecx),%eax                  ;eax+=ecx((A[i][j]的地址)
    addl    $1,%edx                      ;edx:edx+1(i)
    addl    %ebx,%ecx                    ;ecx:ecx+ebx(ecx:A[i+1][j])
    cmpl    %esi,%edx                    ;比较esi与edx(E1(n)与i的比较)
    jl        .L4                        ;如果i<E1(n),跳转,回到循环
.L3                                      ;
技术分享

E1(n)存储在esi中,E1(n)=3n;
E2(n)存储在ebx中,ebx=4*E2(n),所以E2(n)=2n-1.

 

选题:6.31

分值:一分

作业过程:

A.E=4,B=4,S=8

所以C=E*B*S=128

B.

技术分享

 

 

选题:6.32

分值:两分

作业过程:

由题6.31可得:
块偏移位数量b=2 ==>CO
组索引位数量s=3 ==>CI
标记位数量t=8 ==>CT

接着把0x0718化成二进制得到0000011100011000,然后按顺序填入地址中:
索引位为6,高速缓存示记为38,所以可以看6.31的图索引位为6的那一行,有两个38的标记位,所以缓存示命中的。但是第一个的状态是0所以命中的是后面的FA

技术分享

技术分享

 

选题:6.42

分值:两分

作业过程:

读总数为2912

不命中的读总数为728

不命中率为25%

20135206于佳心【家庭作业汇总】

标签:

原文地址:http://www.cnblogs.com/javablack/p/4982693.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!