CPU体系架构 #
2.1 CPU体系架构有哪些? #
我们常见的
CPU
架构有哪些呢?
如果我们熟悉Linux
,那么这个问题肯定不难回答!
我们查看内核目录下的arch
子目录,就可以看到Linux
所支持的处理器架构,基本属于我们常见的类型了。
# ls ./arch
alpha arc arm arm64 c6x h8300 hexagon ia64 Kconfig m68k microblaze mips nds32 nios2 openrisc parisc powerpc riscv s390 sh sparc um unicore32 x86 xtensa
准确来说,CPU
处理器架构主要有以下几种类型:
- CISC(复杂指令集计算机):
CISC
架构的CPU
设计理念是尽可能减少程序指令的数量,以降低CPU
和内存之间的通信频率。这种架构的一个显著特点是拥有大量的寄存器和复杂的指令集。Intel
的x86
架构就是一个典型的CISC
架构 - RISC(精简指令集计算机):
RISC
架构的CPU
设计理念是通过简化指令集来提高CPU
的运行效率。这种架构的一个显著特点是拥有较少的寄存器和简单的指令集。ARM
架构就是一个典型的RISC
架构 - MISC(中间指令集计算机):
MISC
架构的CPU
设计理念是在CISC
和RISC
之间寻找一个平衡点,既不过于复杂也不过于简单。这种架构的一个显著特点是指令集的复杂度介于CISC
和RISC
之间 - VLIW(超长指令字计算机):
VLIW
架构的CPU
设计理念是通过增大指令长度来提高并行执行的可能性。这种架构的一个显著特点是指令长度远大于其他架构的CPU
- EPIC(显式并行指令计算):
EPIC
架构的CPU
设计理念是通过显式标记并行指令来提高CPU
的运行效率。这种架构的一个显著特点是指令集中包含了并行执行的信息。Intel
的Itanium
架构就是一个典型的EPIC
架构 - 超标量架构:超标量架构的
CPU
设计理念是通过在一个时钟周期内执行多条指令来提高CPU
的运行效率。这种架构的一个显著特点是CPU
内部包含了多个执行单元,可以同时执行多条指令 - 超线程技术:超线程技术是
Intel
公司为其部分CPU
所采用的一种使单一处理器像多个逻辑处理器那样并行处理多个线程的技术 - 多核心架构:多核心架构的
CPU
设计理念是在一个CPU
芯片内集成多个处理器核心,以提高并行处理能力。这种架构的一个显著特点是CPU
内部包含了多个独立的处理器核心,每个核心可以独立执行指令
这里就有一个疑问,我们什么时候说RISC
架构,什么时候说ARM
架构,这两个有什么区别呢?
以
ARM
和RISC
为例:
ARM
架构和RISC
架构的主要区别在于ARM
实际上是RISC
的一个具体实现,而RISC
则是一个更广泛的处理器设计理念。换句话说,ARM
是RISC
的一个子集。
同理,X86
架构是CISC
的一个子集。
2.2 常见的问题 #
Q1
:你所熟知的处理器架构有哪些?
我们常见的处理器架构有ARM
、X86
、mips
架构等;
Q2
:STM32
属于什么架构的?
STM32
是ST
公司开发的32位微控制器集成电路,基于 ARM
的 Cortex-M
系列内核。因此,STM32
属于 ARM
架构的微控制器。
Q3
:RISC
和CISC
的区别是什么?
RISC
:精简指令集架构,通过简化指令集,使得大多数的操作都能够在一个指令周期内完成,提高CPU
运行效率CISC
:复杂指令集架构,指令集丰富,能够完成一些较为复杂的任务,并且可以降低CPU
和内存之间的通信频率,提高性能。