intel相关内容

Linux Intel 64bit 汇编分部

我正在努力理解为什么我的除法不起作用,下面是我当前的代码,它只取两个个位数并试图将它们相除: STDIN equ 0SYS_READ 0标准输出设备 1SYS_WRITE 等号 1段.data数量 1 dq 0num2 dq 0报价 dq 0rem dq 0.text 段全局_start_开始:mov rax, SYS_READmov rdi, 标准输入mov rsi, num1移动 rdx, ..
发布时间:2021-11-25 07:01:42 服务器开发

今天 x86 上有多少条指令?

我正在尝试从旧的 386 基本指令到迄今为止的所有 sse 添加来学习最新的 x86 汇编. 我读了一些东西,比如 SSE5 计算了 170 条新指令——然后我变成了强烈要求知道目前总共有多少个. 有些人可能会说很难计算(因为它们中的一些很接近,但适用于不同类型的参数),但我认为可以通过一些关于如何将倍数计算为一的合理假设来计算它们.也可以有人提供答案吗? 最好的答案是每个处理器 ..
发布时间:2021-11-25 06:28:42 C#

64位汇编介绍

我正在寻找介绍英特尔 64 位处理器和程序集的文章:x64 寄存器列表、命令语法等,适用于熟悉 32 位程序集的程序员.64 位处理器的“新功能". 解决方案 http://www.codeproject.com/KB/vista/vista_x64.aspx http://msdn.microsoft.com/en-us/library/ms235286%28VS.80%29.as ..
发布时间:2021-11-25 06:19:48 C#

如何编写在现代 x64 处理器上高效运行的自修改代码?

我正在尝试加速可变位宽整数压缩方案,并且我对即时生成和执行汇编代码很感兴趣.目前很多时间都花在了错误预测的间接分支上,根据所发现的一系列位宽生成代码似乎是避免这种惩罚的唯一方法. 一般技术称为“子程序线程";(或“调用线程",尽管这也有其他定义).目标是利用处理器高效的调用/返回预测以避免停顿.该方法在这里得到了很好的描述:http://webdocs.cs.ualberta.ca/~ama ..
发布时间:2021-11-25 06:17:44 C#

32 位 Intel 处理器上的内存对齐

英特尔的 32 位处理器(如奔腾)具有 64 位宽的数据总线,因此每次访问可获取 8 个字节.基于此,我假设这些处理器在地址总线上发出的物理地址始终是 8 的倍数. 首先,这个结论是否正确? 其次,如果它是正确的,那么应该在 8 字节边界上对齐数据结构成员.但是我看到人们在这些处理器上使用 4 字节对齐. 他们怎么能有理由这样做? 解决方案 通常的经验法则(直接来自 In ..
发布时间:2021-11-24 22:49:59 C#

HAXM 错误但启用了 vt-x

安装英特尔 HAXM 时出现以下错误: 这台计算机符合 HAXM 的要求,但未开启英特尔虚拟化技术 (VT-x).在启用 VT-x 之前无法安装 HAXM. 所以,我检查了我的 BiOS,支持 VT-x,并且我启用了 Intel 虚拟化(以前没有).我还检查了它是否真的启用了英特尔虚拟化技术检测工具(英特尔处理器识别实用程序),它说: 英特尔(R) 虚拟化技术 - 是 但是 ..
发布时间:2021-11-21 19:02:05 移动开发

我无法安装英特尔 HAXM

我安装了 Android Studio,没有任何问题.但是,当我尝试运行模拟器时,它说未安装 Intel HAXM. 所以我找到了安装程序,运行它,尽管它说我的笔记本电脑支持它,但它没有启用.我去了,启用了英特尔虚拟化技术 (VT-x),但仍然收到相同的消息. 我听说需要禁用 Hyper-V,但是当我转到打开/关闭 Windows 功能时,我在该列表中找不到它. 有人可以帮我解决 ..
发布时间:2021-11-21 17:56:03 移动开发

android:如何构建可在配备 Intel CPU 的设备上运行的应用程序?

如何构建可在配备 Intel CPU 的设备上运行的应用程序?我的应用程序可以在采用 arm 技术的设备上运行,但是当我尝试在采用 Intel CPU 的设备上安装我的应用程序时,它会显示此消息: 设备不兼容 日志中的这条消息: 失败 [INSTALL_FAILED_CPU_ABI_INCOMPATIBLE] 这是我的项目 build.gradle 文件: 应用插件:'c ..
发布时间:2021-11-17 22:41:35 移动开发

英特尔的最后分支记录功能是英特尔处理器独有的吗?

Last Branch Record 是指寄存器对 (MSR) 的集合,这些寄存器对存储与最近执行的分支相关的源地址和目标地址.它们受英特尔酷睿 2、英特尔至强和英特尔凌动处理器系列的支持.http://css.csail.mit.edu/6.858/2012/readings/ia32/ia32-3b.pdf 文档有更多信息,如果您有兴趣. 类似 LBR 的功能是否仅在英特尔微处理器中可用 ..
发布时间:2021-11-17 22:14:21 其他开发

在 Intel 机器 (Mac) 上为 ARM 架构构建 Docker 镜像

我希望能够从我的 Mac 为 ARM 构建一个 Docker 映像.我知道我可以使用 QEMU 在我的 Mac 上运行 ARM 容器,但我不知道如何为 ARM 构建. 解决方案 现在这有点令人费解.我相信在不久的将来 docker 会让它变得更容易. 基本上,您需要基于已经包含 qemu-arm-static 二进制文件的容器构建一个容器. 您可以通过查看 Raspberry ..
发布时间:2021-11-17 22:11:20 其他开发

什么指令'instCount' Pin 工具计数?

我在基本 C 程序上运行 pintool 'instCount',主函数中的主体为空. int main() { } 当我在这个程序可执行文件上运行 instCount 时,它显示了大约 86000 条指令.连程序都很小,为什么要生成这么多指令..??知道吗.?? 谢谢 解决方案 缺少的是在幕后,做了很多工作才能让您到达 main() 函数的执行点.运行时需要执行很 ..
发布时间:2021-11-17 02:13:23 其他开发

超级队列和行填充缓冲区的语义是什么?

我问这个关于 Haswell 微架构(英特尔至强 E5-2640-v3 CPU)的问题.从CPU和其他资源的规格中我发现有10个LFB,super queue的Size是16.我有两个关于LFB和SuperQueue的问题: 1) 系统可以提供的最大内存级并行度是多少,10 或 16(LFB 或 SQ)? 2) 根据某些来源,每个 L1D 未命中都记录在 SQ 中,然后 SQ 分配行填 ..
发布时间:2021-11-17 01:56:30 其他开发

返回地址预测堆栈缓冲区与堆栈存储的返回地址?

一直在阅读 Agner Fog 的“Intel、AMD 和 VIA CPU 的微体系结构",并在第 34 页描述了“返回地址预测": http://www.agner.org/optimize/microarchitecture.pdf 3.15 返回(除 P1 之外的所有处理器) 一种更好的方法用于退货.后进先出缓冲区,称为返回栈缓冲区,每次记住返回地址执行调用指令,并使用它来 ..
发布时间:2021-11-17 01:49:16 其他开发

什么是存储缓冲区?

谁能解释什么是加载缓冲区以及它与失效队列有何不同.以及存储缓冲区和写入组合缓冲区之间的区别?保罗 E 麦肯尼的论文 http://www.rdrop.com/users/paulmck/scalability/paper/whymb.2010.07.23a.pdf 很好地解释了存储缓冲区和失效队列,但不幸的是没有谈论写入组合缓冲区 解决方案 无效队列更像是存储缓冲区,但它是内存系统的一部分 ..
发布时间:2021-11-17 01:41:36 其他开发

XCode 可以在 M1 Mac 上构建原生 Intel 二进制文件吗

是否可以在 M1 Mac 上使用 XCode 来构建本机 Intel 二进制文件?我想开始使用 M1 架构进行测试,但仍要继续构建原生英特尔应用程序,而无需进行任何更改. 解决方案 M1 Mac 上的 Xcode 将构建通用二进制文件,其中包含 x86_64 和 arm64 的切片. 您可以在 Apple 芯片或基于 Intel 的 Mac 计算机上构建通用二进制文件,但无法在基于 ..
发布时间:2021-11-16 20:34:16 其他开发

在大多数现代 64 位处理器上,“mulq"的速度是否取决于操作数?

在大多数现代 64 位处理器(例如 Intel Core 2 Duo 或 Intel i7 系列)上,x86_64 命令 mulq 及其变体的速度是否取决于操作数?例如,乘以 11 * 13 会比 11111111 * 13131313 快吗?还是总要经历最坏的情况? 解决方案 我没有任何关于手的参考,但我会把钱放在延迟/吞吐量上,因为操作数的值是不变的.否则,日程安排将是一场噩梦. ..
发布时间:2021-09-29 19:46:15 其他开发

为什么 x86_64 CPU 上的通用寄存器没有融合乘加?

在 Intel 和 AMD x86_64 处理器上,SIMD 矢量化寄存器具有特定的融合乘加功能,但通用(标量、整数)寄存器不要 - 你基本上需要相乘,然后相加(除非你能把东西放进一个lea). 这是为什么?我的意思是,它是无用的以至于不值得开销吗? 解决方案 整数乘法很常见,但不是整数乘法最常见的事情之一.但是对于浮点数,乘法和加法一直在使用,而 FMA 为大量 ALU 绑定的 F ..

endbr64 指令实际上做了什么?

我一直在尝试理解 GCC 生成的汇编语言代码,并且在包括 _start() 在内的许多函数的开头经常遇到此指令,但找不到任何说明其用途的指南: 31-0000000000001040 :32:1040:f3 0f 1e fa endbr6433- 1044: 31 ed xor ebp,ebp 解决方案 endbr64(和 endbr32)是 英特尔的控制流强制技术 (CET ..
发布时间:2021-09-29 19:44:09 其他开发

clwb+sfence,如果写入是缓存行对齐的,我们可以删除 sfence 吗?

根据 clwb 订购信息(link), "CLWB 指令仅由存储防护操作排序.例如,软件可以使用 SFENCE、MFENCE、XCHG 或 LOCK 前缀指令来确保以前的存储包含在回写中.CLWB 指令不需要由另一个 CLWB 或 CLFLUSHOPT 指令命令.CLWB 与由逻辑处理器执行的旧存储隐式排序到相同的地址." 如果 Intel X86-64 上的操作集如下,我可以删除“围 ..
发布时间:2021-09-29 19:40:39 其他开发