Adokenai Asked:2020-09-11 08:21:24 +0000 UTC2020-09-11 08:21:24 +0000 UTC 2020-09-11 08:21:24 +0000 UTC hlt 和 pause 命令有什么区别?用什么比较好? 772 hlt 在中断到达之前“停止”处理器,从而减少负载。pause 也“停止”,但我找不到具体的描述。他们有不同的代码。 ассемблер 1 个回答 Voted Best Answer Gordory 2020-09-11T13:46:24Z2020-09-11T13:46:24Z 哇。我会试着回答。 据我了解,主要思想是HLT(停止) - 停止逻辑处理器,释放对物理包中共享资源的访问,这些资源可供同一包中的所有活动逻辑处理器使用。 PAUSE用于提高具有超线程技术的处理器的性能。底线是通过访问信号量等待释放某些东西的代码处于等待循环中。如果代码跳出循环并发现发生了内存顺序违规,处理器将简单地刷新管道。这通常会导致性能下降。因此需要PAUSE来告诉处理器代码序列是一个等待循环,并有助于避免内存顺序冲突和管道刷新。此外,该说明在功耗方面给出了一些奖励,但我没有仔细阅读。 你可以在这里阅读更多:https ://xem.github.io/minix86/manual/intel-x86-and-64-manual-vol3/o_fe12b1e2a880e0ce-302.html
哇。我会试着回答。
据我了解,主要思想是HLT(停止) - 停止逻辑处理器,释放对物理包中共享资源的访问,这些资源可供同一包中的所有活动逻辑处理器使用。
PAUSE用于提高具有超线程技术的处理器的性能。底线是通过访问信号量等待释放某些东西的代码处于等待循环中。如果代码跳出循环并发现发生了内存顺序违规,处理器将简单地刷新管道。这通常会导致性能下降。因此需要PAUSE来告诉处理器代码序列是一个等待循环,并有助于避免内存顺序冲突和管道刷新。此外,该说明在功耗方面给出了一些奖励,但我没有仔细阅读。
你可以在这里阅读更多:https ://xem.github.io/minix86/manual/intel-x86-and-64-manual-vol3/o_fe12b1e2a880e0ce-302.html