computer-architecture

    2热度

    1回答

    我有一个连续的内存 1024缓冲区,每个缓冲区大小2K字节。我使用链表来保存可用缓冲区的记录(这里的缓冲区可以被认为是由生产者和消费者使用)。一些操作之后,链接列表中的缓冲区顺序变得随机。 现代计算机体系结构主张紧凑的数据,地方很多。它在需要访问位置时缓存相邻数据。我的计算机的缓存行是64(从64K更正)字节。 问题1.对我来说,由于我的访问模式是随机的,是否有很多缓存未命中? 问题2.现代计算机

    10热度

    3回答

    正如我使用objdump -D拆卸二元,的jmpq典型的代码是这样e9 7f fe ff ff,其用于表示负偏移。然而,x86-64的地址是64(48)位(据我所知),那么32位地址7f fe ff ff如何代表64位绝对地址的负偏移? 此外,有没有其他的指令,如jmp和jmpq,但有64位地址位移?我如何在英特尔或AMD手册中找到说明(我搜索了jmpq,但什么也没找到)? 当我搜索时,它似乎被称

    0热度

    1回答

    这是一个关于我的考试学习指南的问题,我们还没有介绍如何计算数据传输。任何帮助将不胜感激。 鉴于是容量为2兆字节(1M字节= 2^20字节) 和块尺寸128个字节的8路组关联二级数据高速缓存。高速缓存通过共享的32位地址和数据总线连接到主存储器。缓存和RISC-CPU通过分离的地址和数据总线连接,每个总线的宽度为32位。 CPU正在执行加载字指令 a)在缓存未命中的情况下,有多少用户数据从主存储器传

    40热度

    1回答

    我的理解是,两种方法的主要区别在于,在“直写”方法中,数据通过缓存立即写入主存储器,而在“回写”数据中写在“后一时间”。 我们仍然需要等待“后一段时间”的内存,那么“直写”的好处是什么?

    7热度

    4回答

    我知道计算机如何将数字转换为二进制。但我不明白的是,我听说计算机将所有内容(文字,说明......)都翻译成二进制,而不仅仅是数字。这怎么可能? 你能告诉我一些例子吗?就像计算机如何将字母“A”翻译成二进制文件一样? 当电脑看到的二进制代码,他们怎么能知道,如果0和1的那一长串代表一个数字或一个字或指令? 。 例: 比方说,一个计算机程序员编码的字母“Z”,使其转换为这个二进制字符串:110110

    5热度

    1回答

    我跑PERF以下空的程序分析, #include <stdio.h> int main() { } 编译和运行PERF统计./a.out我得到了下面的输出说法(以及之后其他数据,如周期数,任务时钟等): 418,869 instructions # 0.87 insns per cycle 的指令变化期间每“PERF”在相同的小精灵数目分析。 我的实际需要是在我写的特定函数中找到指令的

    2热度

    1回答

    我想了解关于缓存的整个结构和概念。当我们使用TLB将虚拟地址快速映射到物理地址时,如果我们使用虚拟索引的物理标记的L1高速缓存,可以将虚拟地址转换与L1高速缓存访​​问重叠吗?

    0热度

    2回答

    我给出的以下信息: 虚拟地址:32位 物理地址:30个比特 页面大小:8 KB 页表项:4字节 我想要计算页表的大小。页表大小是通过使用虚拟地址空间还是物理地址空间来计算的? 虚拟: 2^32/2^13 = 2^19页* 2^2入口尺寸= 2^21页表尺寸 物理: 2 ^二分之三十○^ 13 = 2^17页* 2^2条目大小= 2^19页表大小 由于地址大小的差异,我不确定物理内存地址空间是否会约

    -1热度

    1回答

    计算转换为5级流水线CPU的单周期CPU的最大加速比。 单周期具有的流水线级由需要时间40ps的寄存器分开的800PS 的时间。 我至今是: 800 /(40×5)= 4. 最大加速我不知道如果我正确地去了解这个。

    0热度

    1回答

    有关于解决给定这些数据的AMAT(平均存储器存取时间)这样的问题: 传奇:高速缓存级别1 = L1高速缓存级别2 = L2主内存= M L1, L2 and M's Hit Time are 1, 10 and 100 respectively whilst L1 Miss Rate is 5%, L2 5% and M 50%. 在时钟周期中查找AMAT。 试图解决这个问题之后,这里是我的