intel相关内容

英特尔性能监视器 - 任何方式每个进程的监控?

我怎么会去监视特定进程的执行(即,其分支机构,分支跟踪店)使用的英特尔性能计数器监控,同时过滤掉其他进程的信息? 解决方案 您应该知道,BTS(转移跟踪店)和性能监视事件/计数器(CPU内,其PMU块)是完全不同的事情。 转移跟踪Store是CPU的功能时,它不记录每一个执行的分支(对EIP的 - 分支指令及分支目标的第二个第一,也有加入到每一对标志的字)的内存的特殊区域。它的结果是很喜 ..
发布时间:2016-08-22 15:42:24 C/C++

如何CLFLUSH工作了,是不是在高速缓存中没有一个地址?

我们正在尝试使用英特尔CLFLUSH指令刷新在Linux下一个进程在用户空间缓存内容。 我们创建一个非常简单的C程序,首先访问一个大阵,然后调用CLFLUSH刷新整个阵列的虚拟地址空间。我们衡量花费CLFLUSH冲洗整个阵列的延迟。在程序中数组的大小是输入,我们改变输入从1MB到40MB具有2MB的步骤 在我们的理解,在CLFLUSH应刷新缓存中的内容的 的。因此,我们希望看到冲洗整个阵列首先 ..
发布时间:2016-08-21 22:32:06 C/C++

为什么地板()这么慢?

我最近(ISO / ANSI C)写了一些code,并且是它取得的糟糕表现感到惊讶。长话短说,原来,罪魁祸首是地板()功能。它不仅是缓慢的,但它并没有向量化(与英特尔的编译器,又名ICL)。 下面是一些基准在2D矩阵的所有单元格进行地板: VC:0.10 ICL:0.20 与此相比,一个简单的转换: VC:0.04 ICL:0.04 哪有地板()是比简单的铸件慢得多?它本质上是做(除 ..
发布时间:2016-08-19 15:45:37 C/C++

逻辑CPU数回报16而不是4

我有一个英特尔酷睿i5-2450M(2个物理处理器和4个逻辑处理器),我想找到一种方法,依靠AMD和英特尔CPU的逻辑和物理内核。 但是,一些搜索后,我发现了一些奇怪的。而不是返回4个逻辑单元,我的code给我16。 静态LogicalProcCount中int8_t(无效) { 如果(!超线程) 返回1; uint32_t的未使用的,EBX; CPUID ..
发布时间:2016-08-19 00:27:38 C/C++开发

是__m128i变量为零?

我如何测试如果 __ m128i 变量对任何非零值SSE-2和早期的处理器? 解决方案 在SSE2,你可以这样做: __ m128i零= _mm_setzero_si128(); 如果(_mm_movemask_epi8(_mm_cmpeq_epi32(X,零))== 0xFFFF的) { //将code ... } 这将考验四个整形的VS为零,则返回一个面具每个字节,如此 ..
发布时间:2016-08-18 23:51:52 C/C++开发

不能启用CPU的使用SSSE3

我有一个应该有集SSE4.2指令支持至强W3550处理器,但是当我尝试在我的C程序中使用过去的事情我SSE2得到一个编译错误例如 #ERROR“的SSE4.2指令集未启用” 当我使用 $猫/特效内/ cpuinfo 它检测到所有相关的SSE指令集,但 $ CPUID 只能检测SSE和SSE2。 我的操作系统是Ubuntu的11.04内核2.6.38-11泛型。 这是如何解决这一问题 ..
发布时间:2016-08-18 23:31:28 服务器开发

否定了一些最快的方法

我是今天上午在这里想,这将是扭转了一些正到负和由负最快的方式积极的,当然,最简单的方法可能是: int类型的= 10; A = A *( - 1); 或 int类型的= 10; A = -a; 不过,我想,我采取这一做到这一点,使用命令转移和指针... 这确实有可能改变一个数值的符号,使用命令移位运算和记忆? 解决方案 第一个生产: .file“optimum.c” .D ..
发布时间:2016-08-18 22:50:33 C/C++开发

检查进位标志设置

使用内联汇编[GCC,英特尔,C],如何检查进位标志是一种手术后? 解决方案 使用条件跳转 JC (跳跃,如果进位)或 JNC (跳跃,如果没有携带)。 或者你可以存储进位标志, ;; Intel语法 MOV EAX,0 ADC EAX,0;添加带有进 ..
发布时间:2016-08-18 14:46:08 C/C++

请问我基于AMD的机器使用的小端或大端?

我要去虽然计算机系统课程,我试图建立,的肯定的,如果我的基于AMD处理器的电脑是一个小endian机器?我相信这是因为这将是Intel兼容。 具体来说,我的处理器是AMD的Athlon 64 X2。 据我所知,这可以在C编程重要。我正在写C程序和我使用的方法将受此影响。我试图找出如果我能得到相同的结果,如果我运行该程序基于Intel的机器上(假设的是小尾数机)。 最后,让我问这个:是否有任何 ..
发布时间:2016-08-17 23:13:54 C/C++

我如何使用x86汇编code数组来代替一个字的信吗?

大家好让我的工作涉及组装数组赋值。我需要让用户输入一个数字,然后清除屏幕。之后,第二个玩家尝试猜词。我做过的一切,但我也有显示一个提示每次第二个玩家试图猜测。例如,如果我输入了单词Hello程序显示^ h!升!当第二个玩家试图猜测O操作。我已经尝试过了,但不能得到它的工作。任何帮助将是非常美联社preciated,谢谢你。 。数据选择: .ascii“输入密语\\ n” chose_le ..
发布时间:2016-07-18 21:54:02 .NET Framework

Rdrand instrucrtion SIGILL

CPUID说,我有我的rdrand系统上,但rdrand指令抛出SIGILL。我使用的VMware Workstation 11里Linux Mint的,我用Google搜索工作站支持rdrand,他们说,自从9日的版本,它启用。主持人Proccess是i5-2550k,它应该支持rdrand。我能以某种方式解决这一问题?下面是GDB上市: 断点1,在0x08048060 _start() (G ..
发布时间:2016-07-18 21:42:33 .NET Framework

英特尔x86_64的组装,如何落地双从XMM寄存器为int?

我怎样才能做到这一点?这将是最好的,如果结果将是E * X寄存器。 解决方案 您已经问过,你可以通过看C编译器是如何做的接听几个琐碎的问题。从那里,你可以看一下它使用的指令,并决定要实际使用哪些。 (有大约在libm中数不胜数不同的舍入的功能,所以在第一时间挑选合适的人并不容易)。 使用 -O3 -ffast-数学内联得到最简单的libm函数(因为它不具有潜在的设置错误号上NAN或垃圾一 ..
发布时间:2016-07-18 21:42:15 .NET Framework

RDPMC在用户模式下不与PCE集甚至工作

基于对维基百科条目 以及英特尔手册, RDPMC 应提供给用户模式进程,只要第8位 CR4 设置。不过,我仍然运行到一般保护试图从用户空间,即使是位集运行 RDPMC 时出错。 我在一个8核英特尔X3470 内核 2.6.32-279.el6.x86_64 运行 下面是用户模式程序我试图执行: 的#define _GNU_SOURCE#包括LT&;&stdio.h中GT; #包括LT&;& ..
发布时间:2016-07-18 21:41:01 .NET Framework

我怎么能确定哪些指令支持英特尔处理器家族?

只是作为一个例子,我想这正是在x86处理器家族支持 FISTTP 指令知道了。我是pretty肯定的是,它支持奔腾4和超越,但我想有一些官方的验证。而更重要的是,我想知道它是否支持任何进一步的回:是它可在奔腾III ? 我尝试了所有的明显谷歌的搜索字词,但几乎没有有任何东西可这个特定指令在线。而且即使有,这不是一个好的解决方法。 我知道英特​​尔IA-32体系结构手册,可在网上 ..
发布时间:2016-07-18 21:40:28 .NET Framework

英特尔指令集:与EAX,EBX,ECX或EDX倍增?

你怎么想知道,当“MUL ECX”被执行死刑。 ECX将与EAX相乘?而不是与EBX或EDX? MUL ECX,EAX 会更有意义,但。 解决方案 该指令集被简单地定义这种方式。 英特尔可能会在其他方面,包括将允许您完全指定输入和输出寄存器的方式定义,但他们没有这样做。 借口可以说,在不同的乘法指令加入到指令集的CPU时间(8086葡萄酒,我认为),即现有的指令没有任何明显的地方把乘法 ..
发布时间:2016-07-18 21:37:32 .NET Framework

是leaq慢或者还有另外一个原因较小的组件列表要比较长的慢?

我不知道任何真正的集会,但可以阅读GCC -S 输出来评估定的C code的实际成本。 这问题不是那么多有关分析和基准,而是教育。我需要有人来解释一下我为什么[1]片段并不比第二个快。 好了,以前觉得这样的:“是啊,像一些MUL操作是pretty昂贵,但如果一个组件比另一个大X倍,它应该会比较慢。” 直到我遇见这是千真万确这两个: unsigned char型字节[4] = {0,0,0 ..
发布时间:2016-07-18 21:32:32 .NET Framework

了解新的gcc序幕

我想知道为什么GCC引入一个新的序幕(和尾声以及),以功能 - 尤其是主要的(),因为我只进行了分析。例如,在此之前,它是: 推EBP MOV EBP,ESP 子ESP,0X ...;分配内存空间进栈; ...一些code;结语 离开 RET 现在,这是一个比较复杂(理解,至少): LEA ECX,[ESP +为0x4] 和ESP,0xfffffff0 推DWORD PTR [ECX-位于0 ..
发布时间:2016-07-18 21:25:31 .NET Framework