核心和处理器有什么区别?
我已经在谷歌上寻找过它,但我只得到了多核和多处理器的定义,这不是我正在寻找的。
核心通常是 CPU 的基本计算单元 - 它可以运行单个程序上下文(如果支持硬件线程,例如 Intel CPU 上的超线程,则可以运行多个程序上下文),维护正确的程序状态、寄存器和正确的执行顺序,以及通过执行操作ALUs https://en.wikipedia.org/wiki/Arithmetic_logic_unit。出于优化目的,核心还可以保存核心缓存以及常用内存块的副本。
CPU 可能有一个或多个内核来在给定时间执行任务。这些任务通常是操作系统调度的软件进程和线程。请注意,操作系统可能有许多线程要运行,但 CPU 在给定时间只能运行 X 个此类任务,其中 X = 核心数 * 每个核心的硬件线程数。其余的任务必须等待操作系统调度它们,无论是通过抢占当前正在运行的任务还是任何其他方式。
除了一个或多个核心之外,CPU 还将包括一些将核心连接到外部世界的互连,通常还包括一个大型的“最后一级”共享缓存。使 CPU 工作还需要多个其他关键元件,但它们的确切位置可能会根据设计而有所不同。您需要一个内存控制器来与内存、I/O 控制器(显示器、PCIe、USB 等)通信。过去,这些元件位于 CPU 外部的互补“芯片组”中,但大多数现代设计已将它们集成到 CPU 中。
此外,CPU 可能有一个集成 GPU,以及设计人员出于性能、功耗和制造考虑而想要保持密切联系的几乎所有其他内容。 CPU 设计主要趋向于所谓的片上系统 https://en.wikipedia.org/wiki/System_on_a_chip (SoC).
这是一种“经典”设计,被大多数现代通用设备(客户端 PC、服务器以及平板电脑和智能手机)所使用。您可以找到更复杂的设计,通常是在学院中,其中计算不是在基本的“类似核心”的单元中完成的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)