Caching 计算机体系结构:缓存传输分析
这是我考试学习指南上的一个问题,我们还没有讨论如何计算数据传输。任何帮助都将不胜感激 给定的是一个容量为2Mbyte(1MByte=2^20字节)的8路集关联二级数据缓存 块大小为128字节。缓存通过共享的32位地址和 数据总线。高速缓存和RISC-CPU通过单独的地址和数据总线连接,每个总线都有一个 32位的宽度。CPU正在执行加载字指令 a) 在缓存未命中的情况下,有多少用户数据从主存传输到缓存Caching 计算机体系结构:缓存传输分析,caching,computer-architecture,data-transfer,Caching,Computer Architecture,Data Transfer,这是我考试学习指南上的一个问题,我们还没有讨论如何计算数据传输。任何帮助都将不胜感激 给定的是一个容量为2Mbyte(1MByte=2^20字节)的8路集关联二级数据缓存 块大小为128字节。缓存通过共享的32位地址和 数据总线。高速缓存和RISC-CPU通过单独的地址和数据总线连接,每个总线都有一个 32位的宽度。CPU正在执行加载字指令 a) 在缓存未命中的情况下,有多少用户数据从主存传输到缓存 b) 如果缓存未命中,有多少用户数据从缓存传输到CPU?您需要首先计算缓存线大小: 缓存块数:2
b) 如果缓存未命中,有多少用户数据从缓存传输到CPU?您需要首先计算缓存线大小:
如果您到达二级缓存,则意味着您错过了一级缓存。因此,CPU必须从二级缓存向一级缓存传输完整的一级缓存线因此L1行大小为128B,那么128B的数据将从L2传输到L1。CPU将只使用该行的一小部分将生成未命中的指令馈送到一级缓存。无论该行是否从二级缓存中删除,都应该在问题句(包含/排除缓存)中说明。您的问题与编程无关,也没有显示任何搜索效果。@mrgenco它与低级编程有关,即计算机体系结构。就搜索工作而言,我花了8个小时通读我的书,试图找出如何做到这一点。但是我在我的书中找不到这个信息;这是我的教授提出的问题。因此,我请求帮助。告诉我们你的想法和原因,如果你是对的,我们会告诉你:)@VAndrei它早就到期了,但我真的不知道该怎么做。我说:对于A,因为有8个128字节的块需要更新,所以8*128=1024字节将从内存中传输。对于B,有两条32位总线,首先发送64位,然后声明未命中,因此在从内存中解决未命中后,指令必须向CPU重新发送另一条64位,总计128位。然而,这只是我如何理解这一点的简单逻辑(我根本不理解这一点);这只是我最好的猜测,因为我不能让它空白。