Questions tagged «multicore»

10
多核汇编语言是什么样的?
曾几何时,例如,编写x86汇编器时,您将需要说明“加载EDX寄存器值为5”,“递增EDX”寄存器等指令。 对于具有4个内核(甚至更多)的现代CPU,在机器代码级别上看起来是否只有4个独立的CPU(即,是否只有4个不同的“ EDX”寄存器)?如果是这样,当您说“增加EDX寄存器”时,由什么决定增加哪个CPU的EDX寄存器?x86汇编器中现在有“ CPU上下文”或“线程”概念吗? 内核之间的通信/同步如何工作? 如果您正在编写操作系统,则通过硬件公开什么机制以允许您计划在不同内核上的执行?这是一些特殊的特权说明吗? 如果您正在为多核CPU编写优化的编译器/字节码VM,那么您需要特别了解x86,以使其生成可在所有内核上高效运行的代码? 对x86机​​器代码进行了哪些更改以支持多核功能?
243 assembly  x86  cpu  multicore  smp 




4
在GDB中运行应用程序,直到发生异常
我正在开发一个多线程应用程序,我想使用GDB对其进行调试。 问题是,我的线程之一一直死于消息: pure virtual method called terminate called without an active exception Abort 我知道该消息的原因,但是我不知道它在线程中出现的位置。回溯确实会有所帮助。 当我在GDB中运行我的应用程序时,每当线程被暂停或恢复时它就会暂停。我希望我的应用程序继续正常运行,直到其中一个线程死于该异常为止,这时所有内容都应停止,以便获得回溯。

9
Node.js或Erlang
当涉及到它可以处理的并发级别时,我真的很喜欢这些工具。 Erlang / OTP看起来更稳定,但是需要更多的学习,并且需要深入研究功能语言范例。看起来,Erlang / OTP在多核CPU方面做得更好(如果我错了,请纠正我)。 但是我应该选择哪个呢?从短期和长期角度看,哪一个更好? 我的目标是学习一种工具,该工具比传统语言更容易在高负载下扩展Web项目。

3
多CPU,多核和超线程
有人可以向我推荐一些文档来说明多CPU,多核和超线程之间的区别吗?我总是对这些差异以及每种架构在不同情况下的优缺点感到困惑。 编辑:这是我在网上学习并从他人的评论中学习后的当前理解;有人可以评论评论吗? 我认为超线程是其中最差的技术,但价格便宜。它的主要思想是重复寄存器,以节省上下文切换时间。 多处理器比超线程更好,但是由于不同的CPU在不同的芯片上,因此不同CPU之间的通信比多核具有更长的延迟,并且使用多芯片比多核具有更多的开销和更多的功耗。 ; 多核将所有CPU集成在单个芯片上,因此与多处理器相比,不同CPU之间的通信延迟大大降低了。由于它使用一个芯片来包含所有CPU,因此与多处理器系统相比,它消耗的功率更少,成本也更低。 预先感谢乔治

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.