全部文章

Computer Organization

文章目录

RISC vs CISC

一、RISC 架构及其主流操作系统

RISC 架构的核心特点是指令集精简,主要用于嵌入式设备、移动设备和高性能计算领域。以下是 RISC 架构的主要类别及其对应的操作系统。

1. ARM(Advanced RISC Machine)


2. RISC-V


3. MIPS


4. SPARC(Scalable Processor Architecture)


5. PowerPC(Performance Optimization With Enhanced RISC – Performance Computing)


二、CISC 架构及其主流操作系统

CISC 架构的特点是指令集复杂,通常用于桌面计算机和服务器。

1. x86(32位)/x86-64(64位)


2. Itanium(Intel IA-64)


3. IBM Z 系列(大型机架构)


三、汇总:RISC 和 CISC 架构上的主流操作系统对比

架构 类型 主流操作系统
ARM RISC Android、iOS、Windows on ARM、macOS(Apple Silicon)、Linux(Ubuntu、Debian、树莓派 OS)
RISC-V RISC Linux(Ubuntu、Debian、Fedora)、FreeBSD、RTOS(FreeRTOS、Zephyr)
MIPS RISC Linux(OpenWRT、Debian)、FreeBSD、RTOS(VxWorks)
SPARC RISC Solaris、Linux(Debian、Ubuntu)、FreeBSD
PowerPC RISC Linux(Debian、Ubuntu)、AIX、(历史上)Mac OS
x86/x86-64 CISC Windows、Linux(Ubuntu、CentOS、Fedora 等)、macOS(2006-2020)、FreeBSD
Itanium CISC Linux(RHEL、SLES)、Windows Server(历史支持)、HP-UX
IBM Z CISC z/OS、Linux(SLES、RHEL)、AIX
  1. RISC 架构:
    • 适用于低功耗、高效率场景,主流架构包括 ARM 和 RISC-V。
    • 主要操作系统为 Linux 和嵌入式专用 RTOS,桌面和移动设备上也有 macOS 和 Windows 支持。
  2. CISC 架构:
    • 适用于复杂计算和通用计算场景,主流架构为 x86 和 x86-64。
    • 主流操作系统为 Windows 和 Linux,服务器领域广泛使用。

未来,RISC-V 和 ARM 的发展可能会进一步蚕食传统 CISC 的市场份额。

这些架构确定后可更改嘛

不同的架构(如 RISC、CISC、ARM、x86 等)在芯片制造时就已经决定了,后续通常无法更改。这是因为架构直接定义了芯片的指令集(ISA, Instruction Set Architecture),而指令集是处理器执行所有指令的基础。


一、架构是芯片制造时决定的

  1. 指令集架构(ISA)决定处理器的设计:
    • 指令集架构(ISA) 是一种“契约”,定义了处理器能够识别和执行的指令(例如加法、存储、跳转等基本操作)。
    • 芯片设计时,制造商会根据指定的架构(如 ARM、x86 或 RISC-V)设计硬件电路,包括:
      • 指令解码单元:负责解释机器代码。
      • 寄存器:用于存储数据。
      • 流水线与执行单元:执行指令。
    • 因此,从设计电路到制造晶圆的过程中,芯片就已经确定了支持的架构。
  2. 硬件实现与架构绑定:
    • 架构是逻辑设计,而硬件实现(微架构)是用实际的晶体管和电路来实现架构规范。
    • 一旦芯片被制造完成,其硬件逻辑电路和指令解码电路就是固定的,只能执行特定架构的指令。
  3. 芯片设计的定制性:
    • 不同架构的芯片设计有很大的差异。例如:
      • ARM:以低功耗为核心,广泛应用于移动设备。
      • x86:以复杂指令和高性能为主,普遍用于桌面计算机和服务器。
      • RISC-V:开源架构,允许定制扩展指令集。
    • 在设计阶段,芯片制造商会根据目标应用场景选择架构,并设计适配的硬件电路。一旦流片(芯片制造的关键阶段)完成,架构就无法更改。

二、后续为什么不能更改架构?

  1. 硬件逻辑固定:
    • 芯片的指令解码器、电路设计、寄存器文件和执行单元完全基于架构设计。如果尝试运行不兼容的指令集,芯片根本无法解码或执行这些指令,因为硬件没有对应的逻辑。
  2. 架构与软件生态的绑定:
    • 软件是针对特定架构开发的。例如,x86 的程序使用 CISC 指令,而 ARM 的程序使用 RISC 指令。如果架构改变,原有的软件将无法运行。
    • 虽然可以通过软件模拟器(如 QEMU)在不同架构上运行不兼容的软件,但这会显著降低性能。
  3. 架构的专用性:
    • 不同架构的芯片在设计时针对特定场景进行了优化。例如 ARM 专注低功耗设计,而 x86 专注通用计算性能。这种硬件优化是物理层面的,无法通过软件或固件更改。

三、是否有任何方式改变架构?

虽然一般情况下芯片的架构无法更改,但以下两种方式可以实现一定程度的灵活性:

1. 使用指令集仿真/翻译

2. 可重配置硬件(如 FPGA)

# 计组