cpu-architecture相关内容

Trap和Interrupt有什么区别?

陷阱和中断有什么区别? 如果不同系统的术语不同,那么它们在x86上意味着什么? 解决方案 一个 陷阱 是用户流程中的例外.它是由零除或无效的内存访问引起的.这也是调用内核例程(系统调用的常用方法),因为它们以更高的级别运行优先级高于用户代码.处理是同步的(因此,用户代码被挂起并随后继续).从某种意义上说,它们是“活动的"-在大多数情况下,代码期望陷阱发生并依赖于此事实. 中断 ..
发布时间:2020-04-25 11:15:02 其他开发

如何找到我的CPU拓扑?

我正在使用从cat /proc/cpuinfo中发现的Intel(R)i5 CPU M 560 @ 2.67GHz.但是我想知道确切的层次结构,例如,如果支持的话,那么有多少个套接字,每个套接字和线程也有多少个内核.有什么主意吗? 解决方案 您可以使用命令 lscpu 这将提供信息 有关处理器的相关信息 dmidecode -t处理器 ..
发布时间:2020-04-23 10:45:20 服务器开发

是否有可能在java中检测处理器架构?

是否有可能在java中检测处理器架构?像x86或sun SPARC等?如果是这样,我将如何去做? 解决方案 你可以试试 System.getenv()获取环境变量,使用 PROCESSOR_ARCHITECTURE 获取CPU架构的关键: System.out.println(System.getenv(“PROCESSOR_ARCHITECTURE”)) ); ..
发布时间:2018-12-20 22:04:40 Java开发

缺少必需的架构x86_64

我有一个旧项目,我为一个uodate重新编译,它现在显示此错误消息: ... 。在文件myLibrary.a中缺少必需的体系结构x86_64 .... 我在网上搜索后尝试了各种技巧缺少文件中所需的体系结构x86_64,但没有成功。任何人都知道如何正确处理这个问题? 我正在使用Xcode版本7.0.1。 运行: lipo -info myLi ..
发布时间:2018-09-21 19:35:26 移动开发

如何在运行时确定二进制图像架构?

崩溃日志包含“二进制映像”部分,其中包含有关体系结构(armv6 / armv7)的信息以及所有已加载模块的标识符。如何在运行时确定此信息? (至少,仅适用于应用程序可执行文件) NSBundle有方法executableArchitectures,但是如何确定正在运行的架构? 解决方案 好的答案时间长。应用程序中dyld图像的mach头包含您要查找的信息。我添加了一个我只测试工作的 ..
发布时间:2018-09-13 13:49:42 移动开发

Xcode 6.1上的体系结构x86_64的未定义符号

Xcode突然在编译时把这个错误告诉了我: 架构x86_64的未定义符号: “_OBJC_CLASS _ $ _ Format”,引用自: objc-class-ref in WOExerciseListViewController.o ld:找不到架构的符号x86_64 clang:错误:链接器命令失败并退出代码1(使用-v查看调用) 在做了一些研究之后,我可能 ..
发布时间:2018-08-30 17:49:00 移动开发

mtune如何工作?

有这个相关问题:海湾合作委员会:march与mtune有什么不同? 然而,现有的答案并没有比GCC手册本身更进一步。至多,我们得到: lockquote 如果你使用 -mtune ,那么编译器将会生成在任何一个 上都能运行的代码,但会支持在 上运行速度最快的指令序列,您指定的特定CPU。 和 -mtune = Y 选项可调整生成的代码在Y上运行速度快于其他可能运行 ..

每个浮点操作是否都采用相同的时间?

我相信无论操作数有多大,整数加法或减法总是占用相同的时间。 ALU输出稳定所需的时间可能随输入操作数而变化,但利用ALU输出的CPU组件将等待足够长的时间,以便在同一周期内处理任何整数运算。 (ADD,SUB,MUL和DIV所需的周期将会不同,但ADD会采用相同的周期,无论输入操作数是多少,我认为。) 这对于浮点运算也是如此吗? 我试图实现一个包含大量浮点操作的程序。我想知道是否有助 ..

小型RISC仿真器

我正在寻找一个虚拟机到一个游戏,并想知道是否有人知道任何真正简单的虚拟机(我认为RISC / PIC是接近我想要的),通常用于嵌入式项目,如控制机器人,电机,传感器等。我主要关心的是编写/汇编程序,如果我自己滚动。我会很高兴使用已经在那里的工具,或者以最简单的形式只是一个C编译器,可以编译它:-p。 我真的很不想在这里重新发明这个轮子,但是我也需要数以千计的运行在一个虚拟的世界,所以他们必须 ..
发布时间:2017-08-15 20:30:16 HTML/CSS

组装指令如何变成CPU上的电压变化?

过去3 - 5年,我一直在C和CPython工作。考虑我在这里的知识基础。 如果我使用汇编指令,如 MOV AL,61h 到支持它的处理器,处理器内部究竟是什么来解释这个代码并将其分派为电压信号?这样一个简单的指令可能如何执行? 当我尝试想到包含在 MOV AL,61h 甚至 XOR EAX,EBX 。 编辑:我读了几个意见,问我为什么把这个嵌入式嵌入式系统在嵌入式系统中并不常见 ..
发布时间:2017-08-15 19:45:38 HTML/CSS

更新到Xcode 5 - ld:符号(没有找到架构armv7或armv7s链接器错误

我刚刚更新了我的iPhone 4S软件到iOS 7 Beta 2,而我正在做一个新的应用程序(Phonegap)的最后一点。不是一个好主意! 完成后Xcode没有检测到我的iPhone,所以我安装了Xcode 5 beta。修复它后,我终于得到它来检测我的手机。现在唯一的问题是使用的架构出现错误。 这里是生成的错误: ld:warning:忽略文件/ Users / ----- ..
发布时间:2017-01-07 17:24:57 移动开发

什么是缓存命中和缓存未命中?为什么上下文切换会导致缓存未命中?

从性能和可扩展性)和名为上下文切换 -us-east-1.amazonaws.com/\">JCIP图书: 当新线程切换时,它需要的数据在本地处理器高速缓存中不太可能是 ,因此上下文切换导致 高速缓存未命中的繁忙,因此线程运行得更慢一些,当它们是 时 有人可以以容易理解的方式解释高速缓存未命中的概念 为什么上下文切换会导致大量缓存缺失? 解决方案 有人可以用容易理解 ..

与动态调度相比,编译器指令调度有什么优势?

如今,超标量RISC cpus通常支持无序执行,具有分支预测和推测执行。他们安排工作动态。 与乱序CPU的动态调度相比,编译器指令调度的优势是什么?编译时静态调度对于乱序CPU或者对于简单的有序CPU来说是否有问题? 目前大多数软件指令调度工作专注于VLIW或简单的CPU。 GCC wiki的调度页面也显示了更新gcc调度算法的兴趣不大。 解决方案 静态(编译器)调度的优点: ..

保留执行管道

常常检查返回类型的错误。但是,将继续执行的代码可以以不同的方式指定。 if(!ret) { doNoErrorCode(); } exit(1); 或 if(ret) { exit(1); } doNoErrorCode(); 单向重量级CPU可以使用简单的统计数据推测近邻/用于分支推测(-2,-1,0,+ 1,+ 2)的4 ..

是否有一个编译器标志指示缺乏armv7s体系结构

现在出现了iPhone 5和其他armv7s设备,现有(封闭源代码)第三方框架(如Flurry)在没有这种新架构的情况下存在兼容性问题。 一个选项是等待,直到他们发布一个新的构建,但我希望可能有一个编译器标志或我可以使用在我的Xcode项目,这将让链接器知道不要期望armv7s架构从这个框架,并使用armv7。 解决方案 不可能加载一个不包含目标架构的框架。 你可以做的只是运送 ..
发布时间:2016-12-22 19:43:20 移动开发

确定二进制文件在Linux中的目标体系结构(库或可执行文件)

我们有一个与使用Via C3处理器的Advantech POS板上的(而不是旧的)FC3下运行的Java应用程序相关的问题。 java应用程序有几个编译的共享库,通过JNI访问。 通过C3处理器被认为是i686兼容。一段时间以前,在具有相同处理器的MiniItx板上安装Ubuntu 6.10之后,我发现前面的语句不是100%true。 Ubuntu内核在启动时挂起,因为缺少在C3处理器中设置 ..

“首选32位”的目的是什么,在Visual Studio 2012中的设置,它实际上是如何工作?

> 不清楚我怎么编译器会自动知道编译为64位时,它需要。它如何知道什么时候可以自信地定位32位? 我主要关心编译器如何知道编译时要指定哪个架构。 解决方案 很奇怪,没有人链接到博客条目 什么AnyCPU真正意味着.NET 4.5和Visual Studio 11 : 在.NET 4.5和Visual Studio 11中,奶酪已被移动。大多数.NET项目的 默认值是An ..
发布时间:2016-12-22 11:23:41 C#/.NET

如何清除L1,L2和L3缓存?

我正在做一些缓存性能测量,我需要确保缓存在计时之前没有“有用”的数据。 假设L3缓存是10MB足以创建10M / 4 = 2,500,000个浮点数的向量,遍历整个该向量,对数字求和,并且在遍历向量迭代之前将其中的任何数据的整个缓存清空。 b $ b 解决方案 是的,这应足以刷新有用数据的 L3 缓存。 p> 我已经做过类似的测量,并通过使用英特尔的缓存计数器进行交叉验证,验证我是 ..
发布时间:2016-10-27 06:12:17 C/C++开发