Questions tagged «cpu»

CPU是中央处理器的缩写。有时简称为中央处理器,但更通常称为处理器

7
什么时候应该将工作转移到GPU而不是CPU?
正在开发诸如OpenCL之类的较新系统,以便我们可以在图形处理器上运行越来越多的代码,这是有道理的,因为我们应该能够尽可能多地利用系统中的功能。 但是,在所有这些新系统中,似乎GPU在各个方面都比CPU更好。因为GPU可以并行计算,所以多核GPU实际上看起来要比多核CPU好得多。您将能够一次进行许多计算,从而真正提高速度。在某些情况下,串行处理仍比并行处理更好,更快和/或更有效吗?
15 optimization  cpu  gpu 

2
休眠线程如何工作?
当您休眠线程时,实际上是什么情况? 我看到休眠线程“在给定的时间段内暂停了当前线程”。但是,它是如何工作的呢? 根据Thread.sleep()在内部如何工作以及Thread.sleep如何真正工作?: 睡眠时间将取决于某些系统特定的粒度 睡眠受阻 线程离开CPU并停止执行 线程在睡眠时不占用CPU时间 我只是不太了解这一切意味着什么的内部和基本机制。 我知道有一个称为调度程序的东西负责线程之间的切换。 消息来源似乎表明这随操作系统(或硬件?)而变化,并且大多数线程被赋予1ms-60ms左右的时间,以便在CPU切换到另一个线程之前执行某些操作。 但是,当线程休眠时(例如,数秒),它如何恢复?我猜想其中涉及一个计时器,它是主板的时钟吗?它与CPU时钟速率有关吗? 即使涉及计时器,CPU如何知道何时该再次关注该线程?是否不必经常检查线程以查看其是否准备就绪?这不是有效的轮询,因此会浪费CPU时间吗? 是在休眠特定于线程语言的线程,还是由操作系统负责,还是CPU特定的事物? 有人可以通过诸如调度程序之类的基本解释以及CPU在所有这些过程中的作用向我解释一下吗?

4
CPU如何执行代码行?
我试图真正理解高级语言如何准确地转换为机器代码,然后由cpu执行。 我知道该代码已编译为机器代码,这是CPU可以使用的低级代码。如果我有作业说明,请说: x = x + 5; y = x - 3; CPU是否一次执行每一行?因此,它将首先执行x = x + 5; 指令,然后CPU将执行的下一条指令是y = x-3; 我实际上是想了解执行过程以及我编写的代码实际上是如何由CPU执行的。

4
“我们希望对其进行编译,以免烧毁CPU做错事情。”这句话的含义是什么。
我在读这篇文章。它具有以下段落。 Scala真的很快吗?那么,您对fast的定义是什么?大约和Java一样快。它不必与C或Assembly一样快。Python没有比Ruby快很多。我们想用更少的机器做更多的事情,以更好地利用并发性。我们希望对其进行编译,以免烧毁CPU做错了事情。 我正在寻找最后一句话的含义。解释语言将如何使CPU做“错误”的事情?

3
为什么编译器通常只为安装它们的平台生成可执行文件?
我是C ++开发人员,为了更好地理解跨平台开发,我试图更好地了解编译器的一些实现细节以及它们如何精确创建OS特定的二进制文件。在研究过程中,我意识到,至少有一段时间,您为特定平台下载的大多数编译器仅针对该平台编译了二进制文件。因此,如果您下载了Windows编译器exe附带的IDE,则该编译器将只能针对x86-x64 Windows应用程序而非Linux或Mac应用程序编译程序。 现在,我了解到不同的平台需要不同的二进制格式,但是为什么说Windows上的可视C ++编译器很难生成Linux二进制可执行文件呢?只要您具有运行CPU的汇编指令以及特定于OS的库,您是否不应该能够在任何计算机上为任何平台编译可执行文件?

3
是否有CPU执行这种可能的L1缓存写优化?
当具有L1高速缓存的CPU进行写操作时,通常会发生这种情况(假定正在写入的高速缓存行已在L1高速缓存中),高速缓存(除了更新数据外)会将高速缓存行标记为脏,并在稍后将行与更新的数据一起写出。 一种可能的优化方法是使缓存将写入内容与缓存的先前内容进行比较,如果它们相同,则不要将行标记为脏。因为这可以使高速缓存有时避免回写,所以我可以看到CPU制造商如何看待这种逻辑所需要的门。 我的问题:是否有执行此优化的CPU? 关于我为什么要问的背景:我正在编写一些需要经常访问内存的代码;也就是说,能够侦听缓存行为的人不应该推断出我在做什么。我的某些访问是写操作,并且以明显的方式来实现此代码,许多写操作将写入已经存在的相同数据。我需要进行写操作,因为根据数据,我正在写的数据可能相同也可能不同,并且无论如何都要执行相同的操作很重要。如果CPU通过不实际写“ no-change-write”来进行优化,则意味着高速缓存的行为将根据我在做什么而变化,这将颠覆我的目标。 那么,是否有CPU尝试以这种方式优化写入?
9 caching  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.