关于CPU、指令集、架构、芯片的基本认识
学过计算机基础知识的朋友都知道CPU的含义,亦即中央处理器,是负责计算机主要运算任务的组件。一般习惯把CPU比喻为人的大脑。而了解略深的用户会听说CPU有x86、ARM等分类,前者主要用于PC而后者主要用于手机平板等设备。那么这里的x86、ARM指的是什么呢? CPU执行计算任务时都需要遵从一定的规范, 程序在被执行前都需要先翻译为CPU可以理解的语言。这种规范或语言就是指令集 (ISA,Instruction Set Architecture)。程序被按照某种指令集的规范翻译为CPU可识别的底层代码的过程叫做编译(compile)。 x86、ARM v8、MIPS都是指令集的代号 。指令集可以被扩展,如x86增加64位支持就有了x86-64。厂商开发兼容某种指令集的CPU需要指令集专利持有者授权,典型例子如Intel授权AMD,使后者可以开发兼容x86指令集的CPU。 CPU的基本组成单元即为核心(core)。多个核心可以同时执行多件计算任务,前提是这些任务没有先后顺序。 核心的实现方式被称为 微架构 (microarchitecture)。 微架构的设计影响核心可以达到的最高频率、核心在一定频率下能执行的运算量、一定工艺水平下核心的能耗水平等等。 此外,不同微架构执行各类程序的偏向也不同,例如90年代末期Intel的P6微架构就在浮点类程序上表现优异