intel相关内容

英特尔i7更换和可能的编程

我的东芝笔记本电脑刚坏了,我想取出它的CPU(英特尔i7)并将其放在我的旧台式机(装有Windows XP)上。如何卸下CPU?我需要为Windows XP重新配置我的CPU吗?你能列出我需要的东西吗? 解决方案 这里有很多讽刺行为,您显然没有得到。要回答您的问题和评论:您可以根据需要重新编程CPU。您将需要数月的专业培训,并对您没有的CPU体系结构有本能的了解。在任何情况下,对CPU进行 ..
发布时间:2020-10-10 23:58:56 Java开发

通过降低关联性增强了Skylake L2缓存?

在英特尔的优化指南,第2.1.3节,其中列出了Skylake(重点是我的)中的缓存和内存子系统的一些增强功能: Skylake微体系结构的缓存层次结构具有以下 增强功能: 与前几代产品相比,缓存带宽更高。 通过扩大的缓冲区同时处理更多的负载和存储。 与Haswell微体系结构和早期版本中的一个相比,Processor可以并行执行两次页面遍历。 页面拆分负载损失从上一代的100个 ..
发布时间:2020-10-10 23:49:21 其他开发

Sandy-Bridge CPU规格

我能够到处散布有关Sandy Bridge-E架构的信息,但我不确定所有参数,例如L2缓存的大小。任何人都可以确认它们都是正确的吗?我的主要来源是 64 -ia-32-architectures-optimization-manual.pdf 解决方案 在沙桥上,每个核心都有256KB的L2(请参阅数据表, 1.1 )。对于6个内核,则为1.5MB,但是由于每个内核只能访问自己的内核,因此 ..
发布时间:2020-10-10 23:46:05 其他开发

英特尔x86_64处理器不仅是流水线架构,还是超标量?

Intel x86_64处理器不仅是流水线架构,还是超标量吗? 流水线-这两个序列并行执行(同一时钟中同一管道单元的不同阶段,例如具有4个阶段的ADD): 舞台1->舞台2->舞台3->舞台4->什么都没有 什么都没有->舞台1->舞台2->舞台3->舞台4 超标量-这两个序列并行执行(可以在同一时钟中向不同的流水线单元启动两条指令,例如ADD和MUL) : ADD(st ..
发布时间:2020-10-10 23:38:22 其他开发

现代英特尔CPU L3缓存如何组织?

鉴于CPU现在是多核并拥有自己的L1 / L2高速缓存,我很想知道L3高速缓存是如何组织的,因为它由多个内核共享。我可以想象,如果我们有4个核心,那么L3缓存将包含4页的数据,每个页面对应于特定核心正在引用的内存区域。假设我是正确的,就目前而言?例如,它可以将这些页面中的每一个划分为子页面。这样,当多个线程在同一个内核上运行时,每个线程可以在子页面之一中找到其数据。我只是想出了这个办法,所以我很想 ..
发布时间:2020-10-10 23:27:10 其他开发

添加“ -march = native”;编译行的intel编译器标志导致KNL上出现浮点异常

我有一个代码,该代码在Intel Xeon Phi Knights Landing(KNL)7210(64核)处理器(本机为PC,以纯模式)上启动,并使用Intel c ++编译器(icpc)版本17.0.4。我也在icpc版本为17.0.1的Intel Core i7处理器上启动了相同的代码。为了更正确,我在启动它的机器上编译了代码(在i7上编译并在i7上启动,与KNL相同)。我从未将二进制文件 ..
发布时间:2020-10-06 23:36:15 C/C++开发

我如何找到在Intel x86 CPU上的指令解码为的微操作?

《英特尔优化参考》在3.5.1节中建议: “重要的单微操作指令”。 “避免使用复杂的指令(例如输入,离开或循环),这些指令具有4个以上的微操作,并且需要多个周期才能解码。请改为使用简单指令序列。” 尽管Intel自己告诉编译器编写者使用可解码为几个微操作的指令,但我在他们的任何手册中都找不到任何内容,该手册解释了每条ASM指令可解码多少个微操作。至!这些信息在任何地方都可用吗? ..
发布时间:2020-10-06 23:26:30 其他开发

在没有启用各种指令集的情况下,如何编译?

我正在尝试使用各种指令集重新编译某些软件,特别是 SSE , SSE2 , SSE3 , SSSE3 , SSE4.1 , SSE4.2 和 AVX ,我想看看代码在没有这些指令集的情况下如何执行 例如,我想仅用 -O2 进行编译使用 gnu 编译器,并查看将其限制为仅 SSE 时的性能查看默认情况下调用的标志。我也有一个正在使用的 intel 编译器,我想隔离每个标志(或标志的组合)对我的 ..
发布时间:2020-10-06 23:21:19 其他开发

CMake add_custom_command失败,并出现bin / sh:1:...找不到

我要实现的目标 我尝试建立一个工具链来编译适用于Intel FPGA的OpenCL应用程序。因此,在构建基于C ++的主机应用程序下面,我需要为OpenCL内核调用Intel OpenCL脱机编译器。 仅当cl源文件已被编辑或结果二进制文件丢失。我的方法是添加一个自定义命令以调用CL编译器并创建一个依赖于此命令生成的输出的自定义目标。离线Open CL编译器称为 aoc ,由于系统上可 ..
发布时间:2020-10-02 19:29:25 其他开发

MASKMOVDQU为什么不扩展到256位和512位存储?

MASKMOVDQU 1 在x86存储指令中是特殊的,因为,原则上,它允许您将单个字节存储在高速缓存行中,而无需先将整个高速缓存行一直加载到内核,这样写入的字节可以与未覆盖的现有字节合并。 似乎可以使用与NT存储区相同的机制来工作:在不先执行RFO的情况下将高速缓存行向下推。根据英特尔软件开发手册(重点是我的): MASKMOVQ指令可用于提高需要的 算法的性能以字节为单位合并数据。 ..
发布时间:2020-09-28 06:25:36 其他开发

为什么Intel使用虚拟索引物理标记缓存而不使用VIVT或PIPT?

我不确定,但是如果我记得正确的英特尔使用了VIPT缓存,我想知道这种选择的原因,为什么它比VIVT或PIPT更好,它具有什么优势,也许有什么劣势。谢谢。 解决方案 确切的设计决策可能尚未发布,但是VIPT的总体好处是: 虚拟索引意味着您可以在TLB中查找翻译之前(或与此同时)开始从缓存中读取集合。这意味着普通情况下的查找比物理索引的缓存要快得多,在物理索引的缓存中,只有在翻译后才可以 ..
发布时间:2020-09-28 05:39:26 其他开发

Intel Core i7的缓存规范

我正在为Intel Core i7构建一个缓存模拟器,但是很难找到L1,L2和L3缓存(共享)的详细规格。我需要Cacheblock大小,缓存大小,关联性等等。有人可以指出我的正确方向吗? 解决方案 英特尔的优化指南描述了每个体系结构一代所需要的大多数规范(您没有指定拥有哪个i7,自Nehalem到Haswell为止已经有几代了。) 例如,Haswell将具有- 请注意,如果要 ..
发布时间:2020-09-28 05:35:50 其他开发

利用Sandy Bridge的硬件真正的随机数生成器?

我想知道是否有办法利用英特尔的沙桥CPU中基于硬件的新真数发生器?我读过intel的MKL(数学内核库)公开了此功能,但这需要MKL套件和intel编译器,最终非常昂贵。 还有另一种方法可以在我的C ++代码中使用硬件随机数生成器? 例如,一个不错的,仅标头的库? 解决方案 Intel已发布了有关以下内容的手册,库和代码示例rdrand 指令软件实施指南” rel =“ noref ..
发布时间:2020-09-27 06:42:14 C/C++开发

x86-64阵列输入和打印

我正在尝试将值输入到x86-64 Intel程序集中的数组中,但我不太清楚。 我正在创建一个段.bss中的数组。然后,我尝试使用r15将数组的地址传递给另一个模块。在该模块内,我提示用户输入一个数字,然后将其插入数组。 我正在尝试执行以下操作 segment .bss dataArray resq 15; segment操纵的数组.text mov rdi,da ..
发布时间:2020-09-25 05:57:01 其他开发

为何两者兼而有之? vperm2f128(avx)与vperm2i128(avx2)

avx引入了指令vperm2f128(通过_mm256_permute2f128_si256公开),而avx2引入了vperm2i128(通过_mm256_permute2x128_si256公开). 它们似乎都做的完全一样,它们各自的等待时间和吞吐量也似乎是相同的. 那么为什么两个指令都存在?这背后必须有一些推理吗?也许我忽略了什么?鉴于avx2在avx引入的数据结构上运行,我无法想 ..
发布时间:2020-09-15 05:43:15 其他开发

使用__m256d寄存器

您如何使用__m256d? 说我想使用英特尔AVX指令由于x,y和z是Vector3类的成员,因此_我可以在union中使用__m256d变量声明它们吗? union Vector3 { struct { double x,y,z ; } ; __m256d _register ; // the Intel register? } ; 那我可以去 Vector3 a ..
发布时间:2020-09-15 05:38:24 C/C++开发

使用AVX一次性完成4个水平双精度求和

问题可以描述如下. 输入 __m256d a, b, c, d 输出 __m256d s = {a[0]+a[1]+a[2]+a[3], b[0]+b[1]+b[2]+b[3], c[0]+c[1]+c[2]+c[3], d[0]+d[1]+d[2]+d[3]} 我到目前为止已经完成的工作 这似乎很容易:两个VHADD之间有一些改组,但实 ..
发布时间:2020-09-15 05:38:17 其他开发

英特尔SSE和AVX示例和教程

是否有用于学习英特尔SSE和AVX指令的良好C/C ++教程或示例? 我在Microsoft MSDN和Intel网站上发现的很少,但是从基础知识上理解它将是很棒的. 解决方案 对于视觉倾斜的SIMD程序员而言,Stefano Tommesani的站点是x86 SIMD编程的最佳入门. http://www.tommesani.com/index.php/simd/46 -ss ..
发布时间:2020-09-15 05:38:05 其他开发