计算机底层相关

杨镇源 于 2025-01-15 发布 浏览量

计算机底层相关

CPU架构、指令集、硬编码(机器码)、汇编之间的关系

在计算机体系结构中,CPU 架构的分类通常依据其指令集架构(ISA)来进行,指令集架构的设计直接影响 CPU 的性能、功耗、指令执行效率等关键因素。根据指令集的设计复杂度,CPU 架构大致可以分为两大类:复杂指令集计算机(CISC)架构和精简指令集计算机(RISC)架构。

  1. 复杂指令集计算机(CISC,Complex Instruction Set Computing)

    复杂指令集计算机架构采用较为复杂的指令集,旨在通过提供多种功能强大的指令来简化编程和减少指令执行次数。CISC 架构的特点是每条指令执行的操作较为复杂,通常涉及多个操作步骤。CISC 架构的设计重点在于减少程序中的指令数量,便于高效地执行复杂的计算任务。

    • Intel系列处理器,x86和x86-64架构
    • AMD系列处理器,同样采用x86架构
  2. 精简指令集计算机(RISC,Reduced Instruction Set Computing)

    精简指令集计算机架构强调指令集的简单性和高效性,目的是通过提供较少的、但功能强大的指令来提升指令的执行速度。RISC 架构的指令集通常更简单,且每条指令通常只完成一个操作,因此执行速度较快,但程序通常需要更多的指令来完成同样的任务。

    • RISC-V开放指令集架构(ISA)
    • ARM系列处理器
    • 苹果M系列处理器,基于ARM架构进行定制,优化了性能和功耗

机器码是计算机能够直接理解和执行的二进制代码,它是指令集架构(ISA)中定义的指令在实际硬件中执行的具体编码方式。每种指令集架构都定义了一组操作符、操作数、寻址模式等,机器码则是这些高层次的指令在底层硬件中如何表示的具体方案。

而汇编是将汇编语言(Assembly Language)转化为机器码的过程

由于汇编有不同风格,即存在不同风格的汇编语言(Intel风格 vs AT&T风格)

因此

不同的汇编风格的代码,如果是在同一架构上,最终会被转换成相同的机器码。