零基础逆向工程学习实战笔记-02(经典必修核心)

查看 57|回复 9
作者:dabingmin   
思考了很久,还是要从基础理论开始,巩固的基础才能具备硬实力。不懂底层原理,不懂计算机如何运行,学习逆向会很肤浅,我的目标就是要深度,虽然这个可能会很费时间。
这就涉及到”经典必修核心“这五本书,实际上覆盖了计算机从底层硬件 → 体系结构 → 指令系统 → 汇编语言 → 实际CPU(Intel x86)的完整学习链条。

[color=]可以说,整个现代计算机与人工智能的根基,就是“晶体管”。

也就是我们可以说:晶体管 = 智能世界的“神经元”
从它出发,人类构建了逻辑 → 算法 → 智能的整条路径。00-数字电子技术基础(第五版)教材 闫石.pdf01-计算机组成原理(白中英).pdf02-计算机组成原理(第2版.唐朔飞).pdf03-INTEL微处理器_12586903.pdf04-汇编语言(第3版) 王爽著.pdf#以上资源链接分享代码请使用【Base64计算器】转换aHR0cHM6Ly9wYW4uYmFpZHUuY29tL3MvMWFEQ0VMa0pYQXk2TFppRmxQNWhaeUE/cHdkPWk5eW0g
在开始之前可以看一下B站的这个视频有助于我们去了解理论知识。
英特尔设计师讲解晶体管技术】 https://www.bilibili.com/video/BV1hx4y1S7jW/?share_source=copy_web&vd_source=8700860fbdd7f2c92f4d8a378acb64c4
[color=]介绍了晶体管技术的发展历史以及半导体技术如何演进摩尔定律,视频内容工作中可能用不到,纯粹是为了扩展知识面,希望你能喜欢!
[color=]还包含了
Intel设计师讲CPU微架构(第一部分)(第二部分)
我们来一一分析它们的作用、学习顺序,以及它们如何帮助“理解计算机发展的过程与原理、汇编语言的本质。

一、从整体上看:这五本书的学习逻辑
层次学科方向代表教材主要内容作用与衔接
电子基础层数字电路《数字电子技术基础(第五版)闫石》门电路、触发器、时序逻辑、加法器、寄存器等理解“电信号如何实现加减、存储、判断”等计算功能,是计算机硬件的根。
组成原理层计算机硬件系统结构《计算机组成原理(白中英)》
《计算机组成原理(唐朔飞 第2版)》存储系统、指令系统、CPU结构、总线、I/O、中断等把“逻辑电路”升级为“完整的计算机系统”,解释CPU是如何执行汇编指令的。
微处理器实例层具体CPU架构《Intel微处理器》(一般指Barry B. Brey的书)以Intel 8086~Pentium为主线,讲解寄存器、地址模式、中断系统、指令集理论结合实际,理解真实CPU设计、汇编语言运行环境。
汇编语言层编程语言/机器语言接口《汇编语言(第3版)王爽》汇编语法、寄存器操作、段寄存器、指令执行过程把抽象的“机器原理”变成能亲手编程、调试的知识。二、每本书的作用详解《数字电子技术基础(第五版)闫石》
  • 关键词:逻辑门、加法器、寄存器、时钟信号、状态机
  • 核心作用
  • 教你“电”如何变成“逻辑”。
  • 让你理解“加法”“存储”“判断”这些最基础的运算,是如何靠电子器件实现的。
  • 后续在“计算机组成原理”中,当你看到“寄存器”“触发器”“ALU”时,会立刻知道它们实际上是由这些电路构成的。
  • 延伸意义
  • 这本书是所有计算机体系结构的电气基础
  • 它解释了“为什么计算机是二进制的”“时钟信号为何重要”“如何实现控制逻辑”等问题。
    《计算机组成原理(白中英)》《计算机组成原理(唐朔飞 第2版)》
  • 关键词:冯·诺依曼结构、指令系统、CPU、主存、总线、中断
  • 核心作用
  • 把数字电路“组合”成完整的计算机。
  • 让你理解:CPU是如何取指—译码—执行;程序是如何在存储器中顺序执行的。
  • “白中英”偏传统、理论逻辑清晰;“唐朔飞”偏现代,内容更贴近计算机体系结构发展(如流水线、存储层次)。
  • 延伸意义
  • 这是从“硬件”到“汇编”的桥梁。
  • 你会理解“寄存器为什么要分通用/专用”“指令怎么设计”“CPU控制器的工作原理”等核心问题。
    《Intel微处理器》
  • 关键词:8086/80286/80386→Pentium架构、寄存器、寻址方式、总线接口
  • 核心作用
  • 理论结合实际:把“计算机组成原理”中的抽象CPU,具体到Intel真实产品。
  • 了解x86系列CPU的发展脉络,从16位→32位→64位。
  • 为学习《王爽汇编》提供硬件环境背景
  • 延伸意义
  • 理解x86汇编的底层架构来源;
  • 明白“实模式/保护模式”的区别;
  • 理解现代操作系统与CPU的互动机制(如中断、分页、寄存器管理)。
    《汇编语言(第3版)王爽》
  • 关键词:8086汇编、段寄存器、指令、地址、Debug调试
  • 核心作用
  • 教你真正“与计算机对话”。
  • 让你在机器层面亲手操作CPU寄存器、内存、I/O端口。
  • 实际体会“指令执行”的全过程。
  • 延伸意义
  • 汇编是连接“软件逻辑”和“硬件结构”的关键纽带;
  • 学会汇编,你会真正理解“C语言是怎么翻译成机器码的”“程序如何被CPU执行”。
    三、学习顺序推荐(由浅入深)
    阶段学习内容推荐书学习目标
    阶段1:逻辑基础数字电路闫石《数字电子技术基础》理解“电路→逻辑→计算”的物理基础
    阶段2:系统结构计算机组成原理白中英、唐朔飞理解CPU、存储器、指令系统如何协作
    阶段3:实例架构Intel微处理器Intel系列教材将理论对照实际x86架构
    阶段4:汇编实战汇编语言王爽亲手编写汇编程序、观察CPU执行过程四、学习这些书后,可以帮助我们理解的关键问题
    [color=hsl(0, 75%, 60%)]问题:计算机为什么是二进制的?它其实就是高低电平吗?
    [color=hsl(0, 75%, 60%)]→ 数电 + 逻辑电路原理。(“高低电平 → 两种稳定状态 → 可靠表达逻辑 → 逻辑可以运算”。)

    第一、表面现象:确实和“高低电平”有关
    在电子电路里:
  • 高电平(High):表示电压接近电源电压,比如 +5V 或 +3.3V。
  • 低电平(Low):表示电压接近地电位(0V)。

    这两种电平物理上容易区分、抗干扰强、易于放大复制,所以非常适合表示两种逻辑状态。
    于是就有了:
  • 高电平 → 表示 1
  • 低电平 → 表示 0

    这就是最直观的“二进制”与电的关系。
    第二、真正的原因:电子设备“天然适合二值逻辑”
    特点二进制的优势
    物理层面稳定电路中,只有两种状态最容易稳定(导通/截止、电压高/低、磁场正/反)。如果是三种或更多状态,就难保持、难区分。
    抗噪声能力强二值只需区分“高”和“低”,容忍信号误差大;而多值逻辑对电压要求更严格,易出错。
    逻辑运算方便布尔代数(真/假、与/或/非)与二进制天然对应。电路门(与门、或门、非门)直接实现逻辑计算。
    硬件实现简单晶体管(transistor)天生是“导通/截止”两态器件,最适合实现二进制。
    所以,计算机选择二进制不是因为“二看起来方便”,
    而是因为自然界的电子器件本来就只能稳定地表示两个状态
    这使得:
    二进制 = 物理稳定 + 抗干扰 + 易制造 + 可逻辑运算。

    第三、逻辑层面:从电到“真/假”的映射
    在“数字逻辑”中,我们定义了:
    电平布尔值二进制
    高电平真(True)1
    低电平假(False)0
    然后通过逻辑门组合(AND、OR、NOT 等)来实现逻辑推理。
    例子:
  • 与门(AND):只有两个输入都为“真(1)”时,输出才是“真(1)”。
  • 或门(OR):任意一个输入为“真(1)”,输出就为“真(1)”。
  • 非门(NOT):把 1 变 0,把 0 变 1。

    这样,计算机的所有算术与判断,都是靠“高低电平的变化”来表达逻辑真假的。
    第四、计算层面:二进制与算术结合
    一旦“1”“0”可以被稳定表达,
    我们就能用二进制表示数字
    十进制二进制电平模式(示意)
    00000低低低低
    10001低低低高
    20010低低高低
    30011低低高高
    .........
    CPU 通过加法器(由逻辑门组成)运算这些电平信号的变化,实现加减乘除。
    最终你看到的“1+1=2”,在底层其实就是电平翻转的结果。
    第五、那能不能不是二进制?可以,但代价太大
    模式现实情况
    三进制(ternary)理论上可行,某些研究型计算机(如苏联Setun机)尝试过,但电路复杂、误差难控制。
    模拟信号计算模拟计算机存在,但不精确、易受干扰,后来被数字计算机取代。
    量子计算用量子比特(0和1的叠加态),是“超越二进制”的新计算方式,但物理原理完全不同。
    所以,传统电子计算机仍以二进制为核心,因为它兼具可靠性、成本、速度和可实现性。
    第六、总结一句话:
    计算机使用二进制,是因为电子器件天然支持两种稳定状态(高电平/低电平),
    这两种状态能稳定地表示逻辑真/假,构成布尔代数体系,
    从而实现逻辑运算、存储与信息处理。

    换句话说:
    高低电平是“物理表现”
    二进制是“逻辑抽象”
    布尔代数是“数学形式”
    三者共同构成了计算机的基石。


    [color=hsl(0,75%,60%)]问题:[color=hsl(0, 75%, 60%)]CPU是如何执行一条汇编指令的?
    [color=hsl(0, 75%, 60%)]→ 逻辑层面:组成原理 + 实际层面:Intel架构。

    简单说:汇编 → 机器码 → 取指(Fetch)→ 译码(Decode)→ 执行(Execute)→ 写回(Write Back)→ 下一条。
    第一、逻辑总览:一条指令的“生命周期”
    在CPU内部,一条指令的执行经历以下五个主要阶段:
    阶段名称作用
    1️⃣取指(Fetch)从内存中取出下一条指令
    2️⃣译码(Decode)分析这条指令要干什么、需要哪些寄存器/数据
    3️⃣取数(Operand Fetch)如果需要操作数,从寄存器或内存取出数据
    4️⃣执行(Execute)运算逻辑单元(ALU)执行指令操作
    5️⃣写回(Write Back)将运算结果写回寄存器或内存
    ⏩更新程序计数器(PC/IP)准备执行下一条指令
    每条汇编指令——无论多简单——都会经历这个完整周期。
    第二、以一个示例说明(8086汇编)
    假设我们在8086汇编中写了一条:
    ADD AX, BX# 含义:把寄存器 BX 的值加到 AX 上,结果放回 AX。
    1️⃣ 指令在内存中的形式:机器码
    汇编语言只是“人类可读”的形式。
    在内存中,这条指令会被汇编器翻译成机器码:
    00000011 11000011↑Opcode↑  ↑寄存器编码↑
    这就是 CPU 真正看到的二进制代码。
    2️⃣ CPU 执行流程(五阶段详细分解)
    🔹(1)取指阶段(Fetch)
  • CPU 根据 指令指针寄存器(IP) 的值,从内存中读取下一条机器指令。
  • 同时,控制单元(CU)发出“读内存”控制信号,经由总线取到指令字节。
  • 取回的机器码存入指令寄存器(IR)
  • IP 自动加上指令长度,指向下一条指令。

    📍此时CPU知道:“我要执行一条 ADD 指令”。
    🔹(2)译码阶段(Decode)
  • 指令译码器(Instruction Decoder)对 IR 中的机器码进行分析。
  • 它识别出:
  • 操作类型:ADD(加法)
  • 源操作数:BX
  • 目的操作数:AX
  • 控制单元生成对应的微操作控制信号序列

    例如:
    控制信号1:读取AX到内部总线控制信号2:读取BX到内部总线控制信号3:启动ALU执行加法控制信号4:将结果写回AX
    🔹(3)取数阶段(Operand Fetch)
  • 控制单元根据译码信息,调出指令需要的数据:
  • 从寄存器堆中读取AX和BX。
  • 如果指令操作数在内存(例如 ADD AX, [1234H]),则此阶段会:
  • 计算内存有效地址(EA)
  • 通过地址总线访问主存
  • 读取数据送入CPU。

    🔹(4)执行阶段(Execute)
  • ALU(算术逻辑单元)开始工作:
  • 执行 AX + BX。
  • 结果暂时存放在 ALU 输出寄存器中。
  • 同时,标志寄存器(FLAGS)被更新:
  • 如果结果为0 → ZF=1;
  • 如果有进位 → CF=1;
  • 如果结果溢出 → OF=1;
    等等。

    🔹(5)写回阶段(Write Back)
  • 控制单元把ALU结果写回AX寄存器。
  • 如果操作数是内存地址,则结果写回内存单元。

    🔹(6)更新指令指针(IP)
  • CPU 检查中断标志;
  • 若无中断,IP已指向下一条;
  • 返回到“取指阶段”,开始下一条指令。

    第三、Intel架构的“微架构层面”更细节的过程
    在现代Intel CPU中(如Pentium及之后),指令执行比上面更复杂:
    阶段现代特征
    取指(Fetch)从指令缓存(I-Cache)批量取指令
    译码(Decode)CISC 指令被分解为多个微操作(μOps)
    执行(Execute)多个执行单元并行执行微操作
    写回(Retire)按程序顺序提交结果(保证精确中断)
    预测(Speculation)分支预测和乱序执行提升性能
    也就是说:
    现代CPU内部执行的其实是很多微操作(Micro-ops)流水线
    逻辑顺序不变,但硬件实现极其优化。
    第四、从组成原理视角看
    组成部件在指令执行中的作用
    控制单元(CU)负责发出取数、写入、ALU运算等控制信号,是“指挥官”
    运算器(ALU)执行算术和逻辑运算,是“执行者”
    寄存器组存放操作数、中间结果、指令地址等
    程序计数器(PC/IP)指示下一条指令的地址
    存储器存放指令与数据
    总线系统负责各部分之间的信息传递
    这就是经典冯·诺依曼体系在CPU中的完整体现。
    第五、理解
    取指(Fetch)          ←─── 由 IP 定位指令地址         译码(Decode)         ←─── 确定操作和操作数           取数(Operand Fetch)  ←─── 从寄存器或内存取数据    执行(Execute)        ←─── ALU 计算或逻辑操作       写回(Write Back)     ←─── 结果写回寄存器或内存     更新IP                ←─── 跳转到下一条或条件分支     
    第六、总结一句话:
    一条汇编指令在CPU中的执行过程,是“电路级逻辑信号控制下的微操作序列”。
    它的本质流程是:
    取指 → 译码 → 取数 → 执行 → 写回 → 更新IP
    从白中英、唐朔飞的《组成原理》能理解这些阶段的“逻辑结构”;
    从《Intel微处理器》和《王爽汇编》你能看到这些逻辑在x86硬件上的具体实现


    [color=hsl(0,75%,60%)]问题:[color=hsl(0, 75%, 60%)]寄存器、缓存、总线分别起什么作用?
    [color=hsl(0, 75%, 60%)]→ 计算机组成原理 + 微处理器体系结构。

    第一、寄存器(Register)→ 位于CPU内部,是速度最快的存储单元。
    作用
  • 暂存指令执行所需的数据与地址
  • 保存运算中间结果
  • 控制CPU运行状态

    分类举例(以Intel x86为例)
    类型示例作用
    通用寄存器AX, BX, CX, DX存放操作数、计算结果
    段寄存器CS, DS, SS, ES分段寻址使用
    指令寄存器IR保存当前正在执行的指令
    程序计数器IP(或PC)保存下一条要执行的指令地址
    状态/标志寄存器FLAGS存放运算状态(如进位、溢出、零等)
    寄存器的特点:容量极小(几十到几百字节),速度极快(一个CPU时钟周期内完成访问)。
    CPU 内部的所有操作(取指、译码、执行、访存……)都由一个时钟信号(clock signal)统一协调。
    时钟信号是一种高低电平周期性变化的方波,它决定了 CPU 每一步动作的节奏。
    一个时钟周期就是时钟信号从高到低再回到高的一个完整振荡周期。
    一个CPU时钟周期很短,按照8086时代计算也就1 微秒 (μs),按照现在的高端CPU就是0.20 纳秒

    第二、缓存(Cache)→ 位于CPU与主存(内存)之间,用来弥补速度差距。
    背景:CPU 执行速度远高于内存访问速度,如果每次都从内存取数据,会严重“拖慢”执行效率。
    作用
  • 存储主存中“近期会被访问的数据或指令”
  • 加速CPU访问数据的速度

    层次结构
    层级名称位置速度容量
    L1 Cache一级缓存CPU核心内极快(纳秒级)数十KB
    L2 Cache二级缓存CPU芯片内快数百KB~数MB
    L3 Cache三级缓存多核心共享较慢数MB~几十MB

    工作原理
    局部性原理
  • 时间局部性:刚访问的数据可能会再次访问
  • 空间局部性:刚访问的地址附近的数据可能也会被访问

    因此Cache会自动预测并提前加载相关数据。
    第三、总线(Bus)→ 各个部件之间的数据传输通道。
    作用
    连接CPU、内存、I/O设备,使它们能协同工作、共享信息
    分类
    类型作用
    数据总线(Data Bus)传输实际的数据
    地址总线(Address Bus)指明数据在内存中的位置
    控制总线(Control Bus)传递控制信号(如读写、时钟、中断)
    举例:
    当CPU执行 MOV AX, [2000H]:
  • CPU 通过地址总线发出地址 2000H
  • 通过控制总线发出“读命令”
  • 内存通过数据总线把数据返回到CPU寄存器AX中

    第四、三者关系总结
    层次位置功能特点
    寄存器CPU内部存储指令与数据,直接参与运算速度最快、容量最小
    缓存(Cache)CPU与内存之间提高数据访问速度自动管理、命中率关键
    总线各部件之间传输数据与指令决定系统整体通信效率

    [color=hsl(0,75%,60%)]问题:[color=hsl(0, 75%, 60%)]为什么高层语言能“运行”在硬件上?
    [color=hsl(0, 75%, 60%)]→ (计算机体系的核心桥梁思想[color=hsl(0, 75%, 60%)])汇编语言揭示了编译后如何映射到机器指令。

    为什么像 C、Python、Java 这样“看起来跟电路完全无关”的高级语言,最终能在硬件(CPU、电路)上运行。
    第 一、从“层次结构”看语言与硬件
    计算机系统是一个层层抽象的体系,每一层都把下层复杂的操作“包装”成更简单的接口:
    应用程序(C、Python)↓编译器 / 解释器↓汇编语言(Assembly)↓机器语言(Machine Code,二进制指令)↓硬件电路(CPU、寄存器、控制单元)↓逻辑电路(加法器、译码器、触发器)↓电子器件(晶体管 → 电流开/关)
    汇编语言就是“连接软件与硬件的翻译层”。所以你能不懂汇编吗?这就不懂英文一样,看不懂国外的文献。所以有条件的话多背单词,不要老想着汉化。

    第二、从编译角度理解“高层语言如何变成硬件可执行”
    编译阶段:翻译为汇编/机器指令
    以C语言为例:
    int a = 2 + 3;
    经过编译器(如gcc)翻译成汇编:
    mov eax, 2add eax, 3
    再由汇编器(assembler)转换成机器指令(二进制码)
    10111000 00000010   ; mov eax, 2 00000101 00000011   ; add eax, 3
    这些二进制数就是CPU能“听懂”的语言。
    第三、机器语言如何驱动硬件
    机器指令并不是“神奇的代码”,而是一串控制信号的组合。
    CPU 的 控制单元(Control Unit) 会:
  • 读取指令(例如 ADD EAX, 3)
  • 译码出需要激活的硬件模块:
  • 打开 算术逻辑单元(ALU) 的“加法通路”
  • 选择 寄存器 EAX 作为输入
  • 控制 数据总线 传送常数 3
  • 时钟信号驱动这些电路一步步完成计算

    这些控制信号最终都是**高低电平(1/0)**形式:
  • 高电平(1):导通某个晶体管通路
  • 低电平(0):关闭该通路

    所以——运行程序的本质就是控制电流的流动模式。
    第四、汇编语言的作用(桥梁地位)
    层级作用
    高级语言人能理解的算法逻辑(如 if、for、函数)
    汇编语言指令级描述,接近硬件逻辑(mov、add、jmp)
    机器语言二进制控制信号序列(0与1)
    电路层晶体管的开与关、高低电平变化
    汇编语言让我们“看到”编译器如何把高级语言逻辑分解为机器级步骤,也因此揭示了高层程序为何能在硬件上运行。

    第五、形象类比
    想象:
  • 硬件(CPU) = 工厂机器
  • 机器指令(二进制) = 控制机器动作的按钮组合
  • 汇编语言 = 给工程师看的“按钮操作说明书”
  • 高级语言 = 员工写的“生产计划书”
  • 编译器 = 把“计划书”翻译成“按钮按法”的工程师

    第六、总结一句话
    高层语言之所以能运行在硬件上,是因为编译器把它翻译成汇编指令,而汇编再被汇编器转为机器码,这些机器码直接驱动CPU的硬件逻辑电路完成操作。



    [color=hsl(0,75%,60%)]问题:[color=hsl(0, 75%, 60%)]为什么计算机能发展得越来越快?
    [color=hsl(0, 75%, 60%)]→ 从8086到现代CPU的演进(Intel微处理器书讲得最系统)。

    第一、起点:8086 是怎样的
    指标8086 (1978)现代Core i9 (≈2025)
    主频5~10 MHz3.5~5.5 GHz
    工艺3 μm NMOS3 nm FinFET
    核心数18~24(含多线程)
    指令x86x86-64 / SIMD / AVX512 等
    缓存无L1+L2+L3(几十MB)
    寄存器14个16位数百个寄存器、64位宽
    性能每秒几万条指令每秒数千亿条指令(>10¹¹)
    从 MHz 到 GHz,从单核到多核,从数千个晶体管到上百亿个晶体管——这背后是架构设计、制造工艺、存储层次与并行技术的全面进化。

    第二、性能提升的四大支柱
    1 提高主频(Frequency ↑)
    早期提升速度最直接的方式。
  • 8086:10 MHz
  • Pentium 4:3 GHz
  • 现代:5 GHz以上(但因功耗限制,接近极限)

    时钟周期缩短 → 每步操作更快。
    ⚠️ 但高频带来发热与能耗问题,因此转向“架构效率”与“并行化”。
    2 提升架构效率(CPI ↓)
    CPU不止频率快,还要“每个周期干得多”。
  • 流水线(Pipeline):一条指令分解成多个阶段(取指→译码→执行→写回),多个指令可并行流动。
    类似“工厂流水线”。
  • 超标量(Superscalar):同时发射多条指令。
    如现代CPU每个时钟周期可执行4~6条指令。
  • 乱序执行(Out-of-Order):让CPU根据资源可用性重新排序执行指令,提高吞吐量。
  • 分支预测(Branch Prediction):猜测程序走向,减少等待。
  • 推测执行(Speculative Execution):提前执行可能会用到的指令。

    从“顺序执行一条条指令” → “并行、预测、乱序执行”,效率提升数倍。

    3 多级缓存(Memory Hierarchy)
    CPU速度远超内存,必须用缓存缓解“瓶颈”:
    寄存器
    4 多核与并行(Parallelism)
    当单核频率遇到瓶颈 → 多核化。
  • 2000年代起主频几乎停滞,但核数翻倍
  • 每个核心都是一个“微型CPU”,能并行执行不同任务
  • 配合操作系统调度、线程库、并行编程模型(如OpenMP、CUDA)

    多核 + 多线程 + GPU并行 → 性能增长曲线持续延伸。

    第三、制造工艺(晶体管数量)
    摩尔定律:
    “集成电路上可容纳的晶体管数目每18~24个月翻一倍。”

    处理器年代制程晶体管数
    808619783 μm29,000
    Pentium19930.8 μm3.1百万
    Core i7201514 nm19亿
    Core i9 / M320253 nm超过 1000 亿
    晶体管越小 → 单位面积性能越高、功耗更低、频率更高。

    第四、指令集扩展(从x86到x86-64)
  • 增加64位寄存器,支持更大内存
  • 引入SIMD(单指令多数据):一次操作多个数据(如AVX2/AVX512)
  • 支持矢量化、AI指令、硬件虚拟化、加密加速

    现代CPU已不只是执行加法、跳转,而是具备通用“并行计算引擎”。
    第五、从8086到现在的总结演化表
    阶段技术特征关键创新
    8086(1978)16位、5MHz、无缓存CISC基础
    80386(1985)32位、分页、保护模式支持多任务OS
    Pentium(1993)双发射、分支预测超标量结构
    Core 2 Duo(2006)多核并行化起点
    Core i系列(2010s)高速缓存、乱序、预测架构优化
    M1/M3 / Ryzen(2020s)ARM / Chiplet、多级缓存、AI单元异构计算时代
    第六、现代趋势
  • AI加速器(NPU、Tensor Core)
  • Chiplet 模块化设计(多芯片封装)
  • 光互连 / 量子互连(未来方向)
  • 异构计算(CPU+GPU+NPU协同)
  • 能效优先(从单纯追速度 → 平衡功耗)

    第七、总结一句话
    计算机之所以越来越快,是因为:
  • 时钟周期变短(主频高)
  • 架构更聪明(流水线、乱序、预测)
  • 存储层次优化(Cache层次)
  • 并行化发展(多核+GPU)
  • 制造工艺持续微缩(晶体管更小)
    五、总结一句话:
    这五本书构成了一条“计算机的生命线”:
    [color=]电子信号 → 逻辑电路 → CPU结构 → 指令系统 → 汇编语言 → 程序运行。
    如果你能真正学透它们,你就掌握了“计算机如何思考”的全过程。

    指令, 寄存器

  • dabingmin
    OP
      

    对编辑发帖格式不是很熟悉,我习惯使用markdown格式,贴上文档在页面会现实部分格式问题,为了方便大家学习,在资源链接分享里面放了《零基础逆向工程学习实战笔记-02(经典必修核心).zip》,可以放心食用。一起进步,一起学习。
    zjwhl   

    感谢分享,可以看出来楼主整理的笔记很用心!!
    wang341122   

    感谢楼主的分享,让我这纯小白看懂了,楼主辛苦啦
    lixinye   

    感谢分享!很系统、知识很全面、直接上高速
    xxs97   

    感谢楼主分享
    msmvc   

    感谢楼主分享
    jackyman   

    需要这么卷吗,要卷原理。。。
    kappa8812290814   

    进来学习下,感谢大佬
    simonsfy   

    感谢楼主分享
    您需要登录后才可以回帖 登录 | 立即注册