intel相关内容

为什么在此示例中预取速度没有提高?

在此这篇优秀论文的6.3.2中,Ulrich Drepper撰写了有关软件预取的文章.他说这是“熟悉的指针追踪框架",我收集到的是他较早前对遍历随机指针所做的测试.在他的图中可以理解,当工作集超过缓存大小时,性能会降低,因为那样我们将越来越频繁地访问主内存. 但是为什么预取在这里仅能提供8%的帮助?如果我们确切地告诉处理器要加载的内容,并且提前足够长的时间告诉他(他提前160个周期),那么为 ..
发布时间:2020-11-29 20:08:17 其他开发

如何打开icc/icpc警告?

我在Linux上安装了Intel Compiler composer_xe_2013_sp1.3.174.我对icc警告感到困惑.用简单的main.c程序向icc馈入,如下所示: int main(int argc, char **argv) { int a = 1; unsigned int b = -22; if (b = a) { } } 我用命令icc -Wal ..
发布时间:2020-11-29 20:08:15 C/C++开发

使用性能监视原始事件计数器

我正在尝试在具有多个(物理)处理器的(英特尔至强)计算机上测量某些硬件事件.具体来说,我想知道发出了多少次读取“离线"数据的请求. 我发现英特尔文档中的OFFCORE_REQUESTS 硬件事件,它为事件描述符提供了0xB0,对于数据需求,它提供了额外的掩码0x01. 然后告诉perf记录事件0xB1(即0xB0 | 0x01)并将其称为: perf record -e r0B1 ..
发布时间:2020-11-29 20:06:55 服务器开发

英特尔“退休"是什么意思?

在retired到底是什么意思? 请注意,我已经阅读了英特尔的性能分析指南,其中指出“已退休"具有非常精确的含义(第8页),请参阅第7页上的图.但是,我认为我缺乏了解Retirement / Writeback的确切含义的背景知识.该过程到底是什么?涉及什么? 解决方案 在上下文中,“已退休"是指:指令( ,μop)离开“退休部门".这意味着在乱序 CPU管道中,指令最终得以执行,其 ..
发布时间:2020-11-29 20:05:51 其他开发

什么是有效地址?

在阅读英特尔时64和IA-32体系结构软件开发人员手册,LEA指令(加载有效地址)的操作部分使用称为EffectiveAddress(SRC)的计算,在其他任何地方都未定义. 有效地址的定义是什么,EffectiveAddress(SRC)的作用是什么? 解决方案 相同文档状态的第3.7.5节(指定偏移量)如下: 内存地址的偏移量部分可以直接指定为 静态值(称为位移)或通过地址 ..
发布时间:2020-11-29 20:04:40 其他开发

如何将两个SSE寄存器加在一起

我有两个SSE寄存器(128位是一个寄存器),我想将它们加起来.我知道如何在其中添加相应的单词,例如,如果我在寄存器中使用16位单词,则可以使用_mm_add_epi16做到这一点,但是我想要的是类似_mm_add_epi128的东西(不存在),它将使用寄存器作为一个大词. 即使需要多个指令,也可以执行任何操作吗? 我当时正在考虑使用_mm_add_epi64,检测右字中的溢出,然后根据需要在寄 ..
发布时间:2020-11-29 20:04:33 C/C++开发

我应该如何在笔记本电脑的CPU中查找流水线级数

我想研究最新的处理器与标准RISC V实现(RISC V具有5级流水线-获取,解码,内存,ALU和回写)有何不同,但是找不到我应该如何着手解决这个问题,因此在处理器上找到流水线的当前实现方式 我尝试将Intel文档用于i7-4510U文档,但这并没有太大帮助 解决方案 据报道,Haswell的流水线长度为14个阶段(在uop-cache命中时),从L1i提取以进行传统解码时为19个阶 ..
发布时间:2020-11-29 20:04:24 其他开发

如何将两个寄存器的mul结果存储到内存中

所以,假设我在dx:ax中得到了mul的结果,如何将其保存到dword [ebx]? 我对双字有同样的问题:edx(上半部分)和eax(下半部分)指向[ebx]所指向的两个dword. 解决方案 正如评论员Michael和Ped7g所说,您已经使用了偏移量.让我解释一下: x86以little-endian格式存储数字,这意味着最低顺序的字节首先存储在内存中.一个小例子:假设您 ..
发布时间:2020-11-29 20:04:12 其他开发

英特尔固有技术指南-延迟和吞吐量

有人可以解释英特尔内在指南中给出的延迟和吞吐量值? 我是否正确理解延迟是指一条指令运行所需的时间量,吞吐量是每个时间单位可以启动的指令数? 如果我的定义正确,为什么在较新的CPU版本(例如mulps)上某些指令的等待时间更长? 解决方案 该表遗漏了:Broadwell上的MULPS延迟:3. Skylake上:4. 在这种情况下,内在查找器的延迟是准确的,尽管我在这个链接 ..
发布时间:2020-11-29 20:04:10 其他开发

英特尔8086组件中CS和IP寄存器的用途是什么?

因此,正如问题所指出的,英特尔8086中CS和IP寄存器的用途是什么 我找到了这个解释: 代码段(CS)是一个16位寄存器,包含带有处理器的64 KB段地址 指示.处理器将CS段用于对以下指令所引用指令的所有访问: 指令指针(IP)寄存器. CS寄存器不能直接更改. CS寄存器 会在远距离跳转,远距离呼叫和远距离返回指示期间自动更新. 这是针对IP的: 指令指针(IP)是一 ..
发布时间:2020-11-29 20:04:05 其他开发

为什么我的超便携式笔记本电脑CPU无法在HPC中保持最高性能

我开发了一个高性能 Cholesky因式分解例程,该例程在单个CPU(无超线程)上应具有约10.5 GFLOP的峰值性能.但是,当我测试其性能时,有些现象是我不理解的.在我的实验中,我测量了矩阵尺寸N从250增加到10000时的性能. 在我的算法中,我应用了缓存(具有调整的阻塞因子),并且在计算过程中始终以步幅访问数据,因此缓存性能是最佳的.消除了TLB和寻呼问题; 我有8GB的可用RAM ..
发布时间:2020-11-23 21:59:27 其他开发

有没有办法确定是否发生了SMM中断?

是否有一种方法可以在一定的定义间隔内确定 SMM 条目在当前内核上发生过? 解决方案 从Nehalem开始,MSR寄存器0x34(称为MSR_SMI_COUNT)对自系统启动以来发生的SMI数量进行计数.它是只读的且特定于Intel.您可以使用/dev/cpu/CPUNUM/msr接口从用户模式从该寄存器(或任何其他MSR寄存器)读取可编程性.有几种使用该界面显示SMI计数的工具,包括 m ..
发布时间:2020-11-22 04:49:01 其他开发

包括对RDTSCP的支持的gcc cpu类型是什么?

我正在使用RDTSCP替换LFENCE; RDTSC序列,并且还获得了处理器ID,这样我就知道在将线程重新安排到另一个CPU之后比较TSC值的情况. 为确保我不会在太旧的计算机上运行RDTSCP,在进行CPUID检查(使用libcpuid)后,我将回退到RDTSC.我想尝试使用gcc多目标属性功能代替CPUID调用: int core2_func (void) __attribute_ ..
发布时间:2020-11-12 22:40:07 其他开发

英特尔HD 3700 Linux的Java 8 Swing渲染问题

我在Kubuntu 18.04中的Java 8 update 181中开发了一个应用程序.在我的开发PC中,我具有带Intel®HD Graphics 530的Intel i3-6100.所有图形都是使用swing完成的,并且使用此硬件配置,一切都可以正常进行. 在生产PC上,我具有用于IntelAtom®处理器Z3700系列的带有Intel®HD Graphics的Intel®Celero ..
发布时间:2020-11-10 22:48:33 Java开发

更新HAXM后,带有Android API 28的模拟器无法启动

我有下一期。在使用版本API 28更新android studio中的最高7.2.0 android模拟器的HAXM之后,不要启动。我无法运行模拟器。我在Intel处理器i7上使用笔记本电脑。虚拟化已启动。在更新之前它起作用。更新后,即使打开了软件加速功能,我也可以运行仿真器。如果是硬件-无法运行。如果使用x86_64代替x86,我会在模拟器上出现黑屏,并且logcat中出现错误: 06- ..
发布时间:2020-10-29 05:34:58 移动开发