- 博客(29)
- 收藏
- 关注
原创 CPU的功能与基本结构:计算机的“大脑“如何精密运作
电气层防护while(总线使用中)其他部件EN=0;// 进入高阻态时间层防护周期T4: 内存数据 → 暂存器周期T5: 暂存器 → ALU空间层防护Reg0 ────┐├→ ALUReg1 ────┘典型案例分析指令防护动作:R0→暂存器(避免与地址总线冲突)暂存器→MDRMDR_out_e=1 数据写入内存地址0x100。
2025-06-04 02:51:21
564
原创 CISC vs RISC
当程序员写下a = b + c将b的值加载到寄存器R1将c的值加载到寄存器R2将结果存回a指令集架构(ISA)支持哪些操作(ADD/LOAD等)如何访问数据(寄存器/内存寻址)指令格式(二进制编码方式)很多复杂指令,其实 CPU 内部是偷偷拆开来处理的。1. 把 0x1000 地址的值读出来2. 和 AX 做加法3. 结果再写回 0x1000这就是所谓的“微操作”(micro-ops),CISC 指令其实像是一道“宏命令”,需要拆成若干“微步骤”执行。
2025-06-03 03:50:17
1466
原创 函数调用的机器级实现(二):栈帧的访问与切换机制
除了main;函数开始push ebp或 entersub esp, N;分配局部变量(可选)...;逻辑功能代码pop ebp;或 leaveret这是一种“标准套路”,在阅读汇编时非常重要。
2025-06-02 15:46:29
1228
原创 循环与函数调用的机器级实现
结构C语言形式汇编实现核心指令循环(定次数)forwhile条件跳转或loopcmpjmploop函数调用f()call f→retcallret参数传递(a, b)push b→push apushpop返回值return xmov eax, xmoveax。
2025-06-02 04:49:13
1105
原创 汇编中的选择语句:if/else 的机器级实现
本文通过实例解析汇编语言如何实现 C 语言中的 if/else分支结构,深入理解程序计数器、跳转指令和标志存储器的作用。
2025-05-30 03:02:51
1104
原创 数据寻址方式
在计算机的世界里,数据寻址就像是一场精心编排的寻宝游戏。CPU作为"寻宝者",需要根据指令中的线索(地址码),准确找到数据宝藏的位置。不同的寻址方式就像是不同的寻宝策略,各有其独特的优势和适用场景。
2025-05-26 03:10:44
917
原创 指令寻址方式详解
分类顺序寻址跳跃寻址是否依赖 PC 自增是(自动加)否(跳转时由指令改写)执行流程线性,逐条执行非线性,允许跳跃到任意位置例子适用场景大多数普通指令控制流程转移、循环、函数调用。
2025-05-26 01:31:41
807
原创 计算机指令的基本格式
在计算机中,**指令(Instruction)**是 CPU 所能识别和执行的最小操作单位。每一条指令都告诉 CPU “做什么”(操作码)以及“对谁做”(地址码)。
2025-05-26 01:28:04
702
原创 Cache写策略
Cache写策略的核心是在性能与数据一致性写回法牺牲实时性换取速度,适合高速Cache层级。全写法以性能为代价确保一致性,适合多级Cache同步。写分配法与非写分配法的选择,取决于数据访问模式。
2025-05-25 22:04:52
1219
原创 Cache替换策略
Cache替换算法的核心是平衡命中率与实现复杂度。随机算法和FIFO因忽视局部性原理,实际效果有限;LRU凭借对时间局部性的精准利用成为最优解;LFU因设计缺陷,仅在特定场景下适用。
2025-05-25 22:02:18
762
原创 Cache存储器概述
Cache是连接主存与CPU的高效桥梁,虽然容量小,但速度快,借助程序运行中的局部性原理,在不显著增加硬件成本的前提下大幅提升系统整体性能。理解Cache的基本机制与存在问题,是掌握存储系统结构和优化的核心基础。
2025-05-25 04:28:58
1187
原创 磁盘存储器详解
分类知识点描述存储单位最小读写为扇区(通常512B)实际硬件按字节交互,通过串并转换适配性能瓶颈寻道时间 + 旋转延迟占据读写主要延迟,SSD无此瓶颈编址方式柱面号 → 盘面号 → 扇区号多级定位以精确寻址扇区RAID比较0强性能、1强可靠、5平衡综合性能、安全与成本考虑,企业常用RAID 5指磁盘在出厂时,盘面上所能存储的全部比特数理论最大容量,不考虑任何实际使用的结构开销。指磁盘经过“格式化”处理后,实际可供操作系统/用户使用的数据存储容量实际有效容量。比较维度。
2025-05-24 04:36:00
1185
原创 双端口RAM与多模块存储器:优化主存速度的核心技术
现代计算机中,CPU的运算速度远超主存(内存)的读写速度,且多核CPU需同时访问内存。传统DRAM因需较长恢复时间(存取周期),导致CPU频繁等待。如何优化?
2025-05-22 01:51:39
982
原创 SRAM与DRAM解析,原理、对比与应用场景
特性SRAM(静态RAM)DRAM(动态RAM)存储信息双稳态触发器(6个MOS管)栅极电容(1个MOS管+1个电容)破坏性读出否(非破坏性读出,读取不改变数据)是(读取导致电容放电,数据丢失)读出后是否需要重写不需要(数据保持稳定)需要(需通过刷新恢复数据)运行速度快(纳秒级,接近CPU速度)慢(微秒级,受刷新机制影响)集成度低(电路复杂,单位面积存储单元少)高(单管单电容结构,存储密度高)发热量大(触发器持续工作功耗高)小(待机功耗低,刷新功耗可控)存储成本高(工艺复杂,成本高)低。
2025-05-21 23:16:18
4376
原创 只读存储器(ROM)
如何选择存储设备?日常办公与娱乐优先选择SSD作为系统盘和常用软件安装盘,利用其高速读写特性提升计算机的响应速度和运行效率;搭配机械硬盘作为数据仓库盘,用于存储大量不常访问的文件(如视频、照片、备份数据),在速度和成本之间取得平衡。移动办公与便携需求选择U盘或移动固态硬盘(PSSD),根据容量和速度需求选择合适的类型。如果需要频繁传输大文件,可选择支持USB 3.2 Gen 2或NVMe协议的高速PSSD;如果对便携性要求极高,普通U盘(如Type - C接口的迷你U盘)更适合随身携带。
2025-05-21 22:55:22
3066
原创 计算机组成原理复习4——存储系统概述
存储系统是计算机性能的基础保障,从 Cache 的高速缓存,到主存的程序运行支撑,再到外存的数据存档,不同的结构协同合作,构建了层次分明、效率优化的存储体系。了解这些缩写及原理不仅有助于应对《计算机组成原理》的考试,也有利于我们在实际生活中理解内存卡、硬盘、固态硬盘的区别与性能指标,作出更合理的选购与应用决策。
2025-05-21 01:26:17
1124
原创 计算机组成原理复习3——定点数的移位
本文深入探讨了计算机中的三种移位操作:算术移位、逻辑移位和循环移位。算术移位主要用于有符号数的运算,通过保持符号位不变,实现数值区域的精确变换,特别适用于快速乘除运算。逻辑移位则适用于无符号数的位操作,如图像处理和网络协议中的位提取。循环移位则通过比特的循环流动,广泛应用于数据加密和错误检测。文章还详细解析了补码移位的智能逻辑,包括其构造密码、移位规则及现代应用,如快速乘除算法和浮点数处理。最后,文章总结了移位操作在计算机运算中的重要性,强调了其在二进制世界中的数学优雅与计算智慧。
2025-05-15 01:22:42
1345
原创 Maven模块化开发、聚合继承与多环境配置实战
本文主要介绍了Maven中的聚合与继承、属性与版本管理、多环境配置等内容。聚合用于管理多个模块,通过父工程统一编译、测试和打包;继承则让子模块继承父工程的配置,减少重复配置。通过<dependencyManagement>和<pluginManagement>可以优化依赖和插件的管理。属性管理通过<properties>标签统一管理版本号,版本管理则用于处理模块的迭代。多环境配置通过<profiles>标签实现不同环境下的资源文件差异化,如数据库连接等。这些功
2025-05-13 02:29:39
751
原创 计算机组成原理复习2
本文介绍了计算机组成原理中的几个关键概念。首先,解释了存储字长、数据字长、机器字长和操作系统位数的区别,并通过搬砖的类比帮助理解。接着,深入探讨了主频、时钟周期、CPI、IPC和MIPS等CPU性能指标,通过工厂生产的类比和公式总结,阐明了它们之间的关系。随后,区分了CPU与单片机的不同,指出单片机是集成了CPU、内存、IO等功能的独立运行芯片,而CPU则是运算和控制核心。最后,解释了程序计数器(PC)的作用及其对用户透明的原因,指出PC由CPU自动维护,用户无法直接操作。这些概念为理解计算机硬件和性能提供
2025-05-13 02:16:23
1145
原创 计算机组成原理复习1
计算机存储器按访问速度分为多个层级,寄存器最快,其次是Cache、内存和硬盘。SRAM和DRAM是两种常见的RAM类型,SRAM速度快但成本高,用于Cache;DRAM速度较慢但成本低,用于内存。通用寄存器是CPU的核心组件,用于存储中间值和地址信息。地址寄存器用于存储内存地址,支持CPU访问内存数据。相联存储器通过内容匹配来访问数据,常用于CPU Cache和TLB等场景。计算机处理8位数据时,通常从内存读取数据到寄存器,由ALU进行处理。
2025-05-12 02:54:11
1348
原创 Maven 分模块开发与设计
本文介绍了使用 Maven 进行分模块开发与设计的步骤。首先,创建一个父工程并在 POM 文件中导入相关依赖,如 Servlet、JSP、JSTL 等。接着,通过创建子模块实现模块化拆分,包括 POJO 模块(定义实体类)、Utils 模块(提供工具类)、DAO 模块(数据访问接口与实现)、Service 模块(业务逻辑接口与实现)以及 Servlet 模块(处理请求与响应)。每个模块在 POM 文件中声明依赖关系,确保模块间的协作。这种分模块设计有助于提高代码的可维护性和复用性,适用于复杂的项目开发。
2025-05-08 20:46:02
292
原创 Maven的基本概念
maven 的工作需要从仓库下载一些 jar 包,如下图所示,本地的项目 A、项目 B 等都会通过 maven 软件从远程仓库(可以理解为互联网上的仓库)下载 jar 包并存在本地仓库,本地仓库就是本地文件夹,当第二次需要此 jar 包时则不再从远程仓库下载,因为本地仓库已经存在了,可以将本地仓库理解为缓存,有了本地仓库就不用每次从远程仓库下载了。注意:默认本地仓库在系统磁盘中,比较浪费系统盘空间,所以我们可以修改本地仓库的默认存放位置。这里我们准备了一个本地仓库,解压之后,放入任意盘符下面即。
2025-05-04 15:06:52
329
原创 QQ文字聊天协议分析
通过本次实验抓包分析可以确认,QQ客户端的文字消息传输是基于TCP协议实现的。每发送一条文字消息,都会产生多个 TCP 数据包,依次完成数据推送(PSH)、确认(ACK)等步骤,体现出 TCP 的可靠性和有序传输特性。Wireshark 中的 “Follow TCP Stream” 功能仅适用于 TCP 连接,而我们成功通过此功能观察到 QQ 消息通信过程,进一步验证其基于 TCP。因此可以明确,QQ 的聊天协议(不论是否加密)是建立在 TCP 传输层之上的应用层协议。
2025-05-02 03:43:03
1707
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1