一条指令的完整旅程

一条指令的完整旅程

一条指令的完整旅程 从第一讲的二进制基础,到上一讲的 I/O 系统——我们已经学完了计算机组成原理的全部核心内容。本讲将把这些知识点串成一条线,追踪一条指令从出生到完成的完整旅程。 我们将实现一个完整的冯·诺依曼计算机模拟器(FullComputer),它包含:四层存储结构(硬盘、内存、缓存、寄存器)、DMA 数据传输、取指-译码-执行-写回四阶段流水线、总线交互、缓存命中率统计。最后打印一份完整的执行报告。 回顾:六个模块的知识地..

存储金字塔 分多层

存储金字塔 分多层

存储金字塔 -- 为什么要分这么多层 /* ========== facesoho 存储金字塔配图与交互演示专用样式(仅作用于本节容器,不污染主题) ========== */ /* SVG 金字塔图容器 */ .storage-fig-wrap { position: relative; max-width: 760px; margin: 24px auto; } .storage-fig-wrap svg { d..

缓存命中与缓存未命中

缓存命中与缓存未命中

缓存命中与缓存未命中 /* ========== facesoho 缓存模拟器演示专用样式 ========== */ /* 演示主容器 */ .cache-sim-wrap { background: #1a1a2e; border-radius: 14px; padding: 28px 24px; margin: 28px 0; color: #e0e0e0; } .cache-sim-wrap .cache..

内存地址与寻址

内存地址与寻址

内存地址与寻址 /* ========== facesoho 地址空间计算器演示专用样式 ========== */ /* 演示主容器 */ .addr-demo-wrap { background: #1a1a2e; border-radius: 14px; padding: 28px 24px; margin: 28px 0; color: #e0e0e0; } .addr-demo-wrap .addr-d..

总线 计算机公路系统

总线 计算机公路系统

总线 -- 计算机内部的「公路系统」 计算机内部各个组件之间需要不停地交换信息。CPU 要从内存取指令、要读写数据,这些信息怎么传输?答案是——总线(Bus)。 总线是连接 CPU、内存、硬盘、显卡等设备的一组公共通信线路,就像城市里的公路系统——有主干道、有支路,每条路都有明确的用途。 本讲将带你理解三种总线的分工,并用 Python 模拟一次完整的内存读操作。 公路系统类比:三种路,三种用途 想象你在一个大城市里送快递。快递员..

I/O 方式 轮询、中断、DMA

I/O 方式 轮询、中断、DMA

I/O 的三种方式 轮询、中断、DMA CPU 和内存之间如何通过总线通信 计算机不只是 CPU 加内存 还需要和键盘、鼠标、硬盘、网卡等各种外部设备(I/O 设备)交换数据 CPU 与外部设备交换数据有三种基本方式 轮询(Polling)、中断(Interrupt)、DMA(直接存储器访问) 三者效率天差地别 选择决定系统的性能

指令周期

指令周期

指令周期 -- 取指、译码、执行、写回 CPU 执行每一条指令都遵循同样的四步流程,就像一个永不停止的流水线节拍。本讲将带你深入了解这四步分别做了什么,并用 Python 模拟一个完整 CPU 的指令执行过程。 生活中的类比:餐厅后厨 想象你是一家餐厅的主厨。客人下单后,你按以下步骤出菜: 取单(Fetch):从前台取一张新的点菜单,看看客人点了什么 看单(Decode):分析菜单——「红烧肉」需要五花肉、酱油、冰糖,「清炒时..

时钟频率是什么

时钟频率是什么

时钟频率是什么意思 理解 GHz 的真正含义,以及为什么主频不是衡量 CPU 性能的唯一标准。 生活类比:节拍器 想象一个节拍器——音乐家用来练习节奏的工具。把它设置为每分钟 120 拍,它就每秒发出两次'滴答'声。 节拍器每秒钟打的拍子数,就像 CPU 的时钟频率。在每个拍子上,音乐家弹一个音符;在每个时钟周期里,CPU 也可能执行一条指令。节拍器打得更快,演奏速度就更快;同理,CPU 的频率越高,单位时间内..

流水线 如何让 CPU 更快

流水线 如何让 CPU 更快

流水线 -- 如何让 CPU 更快 在不提高时钟频率的情况下,CPU 还能变快吗?答案是肯定的。流水线(Pipeline)技术就是其中最重要的一种方法。本讲用 Python 代码和甘特图风格的可视化输出,展示流水线如何让指令执行效率大幅提升。 生活中的类比:洗车流水线 想象你开了一家洗车店。有两种经营方式: 方式一:单人包干(无流水线) 一个工人从头到尾负责一辆车的全部清洗工序——冲水、打泡沫、刷洗、擦干。做完一辆,才能开始下一..

多核心是怎么回事

多核心是怎么回事

多核心是怎么回事 当单核 CPU 的性能提升遇到瓶颈(功耗墙、频率墙、流水线复杂度墙)后,工程师想出了一个「简单粗暴」但有效的办法:在一个芯片上放多个 CPU 核心。本讲将介绍多核心的原理、优势以及阿姆达尔定律对并行加速的限制。 生活中的类比:快餐店厨房 想象一家快餐店在午餐高峰期的情况。 单核模式:只有一个厨师。他在拼命加快速度(提高频率),优化做菜流程(流水线),但再怎么优化,同时只能做一道菜。客人排长队,等得不耐烦。 多..