• 计算机结构体系:主存例题(存储器组织技术)


    题目内容

    假设某台机器及其Cache性能为:
    (1)块大小为1个字;
    (2)存储器总线宽度为1个字。
    (3)Cache失效率为3%。
    (4)平均每条指令访存1.2次。
    (5)Cache失效开销为32个时钟周期
    (6)平均CPI(忽略Cache失效)为2。
    试问多体交叉和增加存储器宽度对提高性能各有何作用?
    如果当把Cache块大小变为4个字时,失效率降为1%,根据前面给出的访问时间,求在采用2路、4路多体交叉存取以及降存储器和总线宽度增加一倍时,性能分别提高多少?
    假设基本存储器的性能如下:
    (1)送地址需4个时钟周期。
    (2)每个字的访问时间为24个时钟周期。
    (3)传送一个字的数据需4个时钟周期。

    题目分析

    首先分析不作处理时该机器的实际CPI,根据下面的公式

    实际CPI=理想CPI+平均每条指令的访存次数×失效率×失效开销

    则可以计算得出

    原始机器实际CPI=2+(1.2×!%×32)=3.15

    由于本题中时钟周期和指令总数并不发生变化,因此可以通过比较实际CPI的大小来比较不同方案下的机器性能。下面举例三种情况:

    ①32位总线和存储器,不采用多体交叉;
    ②32位总线和存储器,采用多体交叉
    ③64位总线和存储器,不采用多体交叉。

    这三种情况下,理想CPI、每条指令的平均访存次数以及失效率都不变,发生变化的是失效开销。

    第①种情况分析:不采用多体交叉时,对于每一个字都需要进行送地址、访问和传送三个阶段,而由于采用32位总线,因此一次只能传输一个字。因此每一个字的失效开销为

    4+24+4=32(时钟周期)

    由于一个Cache块为4个字,因此一次Cache失效需要向Cache块中传送四次,总共的失效开销为

    32×4=128(时钟周期)

    第②种情况分析:采用多体交叉时,四个字的传地址和访问可以同时进行,因此完成传地址和访问共需要的时钟周期为

    4+24=28(时钟周期)

    由于采用32位总线,因此一次只能传输一个字,所以进行数据传输的时间为

    4×4=16(时钟周期)

    因此,总共的失效开销为

    28+16=44(时钟周期)

    第③种情况分析:当采用64位总线时,无论是传地址、访问还是传送数据都可以节约一半的时间,因此总失效开销为第①种情况的一半,即为64个周期。

    接下来根据各自不同情况的失效开销,代入公式即可求出各自的实际CPI,进行比较即可。

  • 相关阅读:
    net 基于asp.net的计算机网络课程题库考试系统
    【LeetCode】1342.将数字变成0的操作次数
    【web课程设计网页规划与设计】基于HTML+CSS+JavaScript火车票网上预订系统网站(4个页面)
    数据结构与算法-冒泡排序
    为什么把k8s比做操作系统:kubernetes与os的架构对比
    Day667.开发避免踩坑注意点 -Java业务开发常见错误
    k8skubectl陈述式及声明式资源管理及金丝雀部署
    linux rsyslog日志采集格式设定四
    CentOS7下Redis7安装
    【51】分布式计算:如果所有人的大脑都联网会怎样?
  • 原文地址:https://blog.csdn.net/hanmo22357/article/details/127849646