- 博客(53)
- 收藏
- 关注
原创 第三十八篇:BootLoader概念及工作原理
Bootloader 是一段存储在设备非易失性存储器(如硬盘、ROM、Flash)中的小程序。将操作系统的内核从存储设备加载到内存(RAM)中,然后将控制权交给内核,从而启动整个操作系统。你可以把它想象成火箭发射的点火程序或者汽车的点火钥匙。点火程序本身不是火箭,但没有它,火箭(操作系统)就无法升空。特性描述本质一段小程序,是硬件和操作系统之间的桥梁。核心任务加载操作系统内核到内存,并移交控制权。存在原因硬件初始化、内核加载、复杂性封装、多系统启动。工作流程。
2025-11-23 11:31:20
90
原创 第三十七篇:三种虚拟存储器管理方式
特性页式段式段页式划分单位固定大小的页可变长度的段(按逻辑模块)先分段,段内再分页地址维度一维线性地址二维地址(段号 + 偏移)二维地址(但最终映射为一维)碎片问题内部碎片外部碎片少量内部碎片共享与保护不易实现,以页为单位易于实现,以段为单位易于实现,以段或页为单位管理开销简单,仅页表较复杂,需段表及处理外部碎片最复杂,需段表和多个页表用户视角不可见,由系统管理可见,符合程序逻辑可见,但底层由系统管理适用场景通用系统,追求性能对模块化、保护要求高的系统现代通用操作系统TLB如何加速。
2025-11-22 20:06:04
51
原创 第三十六篇:内存访问-TLB和缓存(Cache)
比喻:TLB像是一个精准的GPS导航,它告诉你:“你的朋友住在「幸福路(物理页帧号0xabcde)」。Cache像是一排带有很多信箱的公寓楼。索引0x67告诉你朋友住在「第67号公寓」。组相联意味着「第67号公寓」有2个房间(Way 0 和 Way 1),分别住着可能不同的人。并行比较就像是你走到67号公寓楼下,同时看两个房间的门牌号(物理标签)。一个写着“0xfedcb”(王五),一个写着“0xabcde”(张三)。GPS告诉你找的是张三,所以你立刻就知道应该去第二个房间。
2025-11-22 15:19:26
19
原创 第三十五篇:内存访问-虚拟地址
回到你的问题:“CPU发出的是虚拟地址。这里的虚拟地址指的是指令的地址码嘛?用于取指令。地址来源是程序计数器,它指向下一条要执行的指令的虚拟地址。用于访问数据。地址来源是指令中的地址码(无论是直接地址、间接地址还是计算出的有效地址),这些都是虚拟地址。用于函数调用和动态内存分配。通过栈指针、堆指针等访问,这些指针里存储的也是虚拟地址。所以,虚拟地址是程序运行时视角下的唯一真相。
2025-11-22 15:11:20
29
原创 第三十四篇:TLB概念
硬件实现:TLB是一个独立的硬件单元,集成在CPU的MMU中,速度极快。容量很小:由于是高速硬件,它的容量远小于页表,通常只有几十到几百个条目。内容可寻址存储器:它的查找方式是并行的,输入一个键(虚拟页号),它会同时与所有条目比较,因此速度极快。层次化:现代CPU也有多级TLB(如L1 TLB和L2 TLB),类似于多级Cache,以在速度和容量间取得平衡。上下文切换:当操作系统切换进程时,由于新的进程有自己的虚拟地址空间,旧的TLB映射会失效,因此通常需要清空TLB,这会带来一定的性能开销。
2025-11-22 15:04:33
37
原创 第三十三篇:PCIe版本自动协商
关系:PCIe版本既和显卡有关,也和主板有关。适配:是的,主板和显卡会自动协商。结果:协商的最终结果是运行在两者中版本较低的那个标准上。建议:购买时无需过度追求PCIe版本的完全匹配。对于显卡,PCIe 4.0的平台在可预见的未来都完全足够。确保插对插槽(通常是最靠近CPU的那条)比纠结版本更重要。
2025-11-15 11:47:33
825
原创 第三十二篇:PCIe概念
指的是PCIe插槽的通道数(车道数),决定了带宽(速度)。它们之间是物理和电气上兼容的,小卡可以插大槽,但速度以其电气模式为准。选择原则显卡→ 优先插在CPU直连的x16插槽上。NVMe SSD→ 需要x4通道。普通扩展卡→ x1通道足矣。在购买主板和配置硬件时,需要留意主板手册,了解不同插槽的实际运行模式,避免因为共享通道导致高性能设备降速。关系:PCIe版本既和显卡有关,也和主板有关。适配:是的,主板和显卡会自动协商。结果:协商的最终结果是运行在两者中版本较低的那个标准上。建议。
2025-11-14 13:44:55
593
原创 第三十一篇:分辨率和刷新率
如果你主要玩电竞游戏、高速动作游戏,或者追求极致的系统流畅体验:优先选择 4K @ 120Hz(或更高)。流畅度带来的体验提升远比从4K到8K的清晰度提升要明显。如果你主要用来看电影、进行专业内容创作,或者使用超大尺寸屏幕:可以考虑 8K @ 60Hz。极致的清晰度是你的首要追求。对于大多数人来说:4K @ 120Hz 是目前技术更成熟、体验更均衡、内容更丰富的最佳选择。8K @ 60Hz 则代表了未来的方向,但目前还处于市场早期阶段。
2025-11-14 13:37:45
786
原创 第三十篇:HDMI与DP 的区别
场景推荐接口客厅娱乐(电视、游戏机、影音)HDMIPC办公与游戏(高刷电竞屏、专业设计屏)DP追求未来最高性能(8K以上、超高刷新率)DP 2.1(当设备普及时)简单连接,设备有啥用啥两者均可,但注意版本是否满足需求简单来说,可以把HDMI 看作是面向大众消费电子的“通用标准”,而DP 则是面向PC和高性能显示领域的“专业利器”。根据你的使用场景选择合适的接口,才能获得最佳的视听体验。
2025-11-14 13:37:31
1056
原创 第二十九篇:显卡的概念
一个好的显卡生成的精美画面,需要一个好的显示器才能完美呈现。反之,一个顶级的显示器,如果配了一个很差的显卡,也无法显示出高质量的画面。
2025-11-14 13:37:18
683
原创 第十八篇:Windows 用户态到硬件底层的完整调用链
特性配置表驱动程序形态静态数据结构可执行代码模块(.sys 文件)角色被查询的数据主动的执行者功能提供信息翻译命令、操作硬件、处理中断与OS关系是OS管理的数据是OS内核的特权扩展。
2025-11-14 13:37:03
901
原创 第九篇:比指令集更底层的“指令”
概念:现代复杂的 CISC 架构处理器(如 x86)内部,通常采用一种叫做微代码的技术。当 CPU 从内存中取到一条复杂的 x86 指令(例如,意思是将内存中的值与寄存器 EAX 相加)时,它并不会直接执行这条指令。解码过程:CPU 内部有一个微代码序列器,它会将这条复杂的指令翻译成一系列更简单、更原始的、类似 RISC 风格的微指令。例如,上面那条可能会被分解成:// 微指令1:从内存加载数据到临时寄存器// 微指令2:执行加法操作// 微指令3:将结果存回内存执行。
2025-11-12 11:47:34
412
原创 第八篇:寄存器和内存的区别
寄存器是CPU的手足,速度极致,容量极小,用于直接运算。内存是系统的工作台,速度较慢,容量巨大,用于承载所有运行中的程序和数据。它们之间巨大的速度差异,是通过多级CPU缓存来有效弥合的。理解这三者的关系和差异,是理解程序性能瓶颈、进行底层优化的基础。一个优秀的编译器,其核心任务之一就是尽可能地让数据待在寄存器和高速缓存中,减少访问内存的次数。
2025-11-12 11:33:04
857
原创 第七篇:x86-64 和 x86 的概念及区别
定义:指的是一系列基于Intel 8086处理器的16位和32位指令集架构。历史:名称源于Intel早期的一系列以“86”结尾的芯片:8086, 80186, 80286, 80386, 80486。关键节点:1985年的80386是首个32位的x86处理器,它引入了IA-32架构,将x86从16位彻底带入了32位时代。因此,现在我们通常说的“x86”指的就是32位架构。特点:32位内存寻址,最大支持4GB物理内存。x86是奠定了个人电脑基础的32位架构,而x86-64是AMD开创的、对x86的。
2025-11-12 11:18:18
991
原创 第六篇:处理器指令集概念
特性CISCRISC设计哲学强调指令的功能性,一条指令做更多事强调指令的简洁性,追求单指令单周期指令复杂度复杂,长度可变简单,长度固定寻址模式丰富多样相对较少内存访问指令可直接访问内存只有Load/Store指令可访问内存(加载-存储架构)寄存器数量相对较少非常多硬件设计复杂,多用微码控制简单规整,利于流水线和并行代码密度高(程序占用的内存小)相对较低(程序占用的内存大)主要代表x86ARM(移动、嵌入式)、RISC-V(新兴开源)发展趋势界限模糊。
2025-11-12 10:54:42
727
原创 第五篇:处理器及OS设计流程
ISA是核心契约:它是连接软硬件的基石,是所有设计的起点和依据。流程是迭代的,而非线性的:硬件设计、ISA演进和操作系统开发是一个不断反馈、相互塑造的循环过程。“设计-实现-测试-反馈”是贯穿始终的核心理念。工具链至关重要:编译器、模拟器、调试器这些工具链的提前开发,是实现并行开发的关键。理解协同设计:最优秀的计算机系统往往来自于对软硬件界限的深刻理解,以及跨领域的协同优化(即软硬件协同设计)。
2025-11-12 10:48:33
711
原创 第四篇:Xeon 和 EPYC
像一个经验丰富、资源雄厚的“名门望族”。它拥有最广泛的合作伙伴和生态系统,在AI加速、特定企业级功能和安全技术上持续投入,追求的是全面、稳定和可靠。AMD EPYC像一个锐意进取、技术创新的“挑战者”。它通过Chiplet架构和实现了核心数和I/O能力的颠覆性突破,以极高的“性能/价格”比和“性能/功耗”比作为其最锋利的武器。在选择时,企业需要根据具体的应用场景(是更需要高核心数,还是更需要特定的AI加速功能)、预算、现有的IT基础设施以及对未来扩展性的需求来做出决策。
2025-11-11 17:41:31
813
原创 第九篇:消息队列和管道
使用场景建议:选择共享内存当需要极致性能传输大量数据能够处理复杂的同步逻辑选择消息队列/管道当开发效率更重要需要结构化的消息传递希望内核处理同步问题消息数量多但体积小消息队列/管道提供了更高级的抽象,让进程间通信变得更简单可靠,而共享内存则提供了底层的高性能控制。
2025-11-06 11:22:42
259
原创 第八篇:共享内存速度对比
追求极致性能,且在同一台机器上?->共享内存是你的首选,但必须小心处理好同步问题。需要在同一台机器上进行简单的进程间通信,且不想处理复杂的同步?->消息队列或管道是不错的选择,它们在性能和易用性之间取得了很好的平衡。你的应用需要跨网络,或者未来可能会跨网络?->Socket是唯一的选择,而且本地Socket的性能也已经相当不错。简单来说,速度的代价是复杂性。共享内存用编程的复杂性换来了极致的速度,而Socket和消息队列则用一部分性能换来了编程的简便性和功能的丰富性(如网络透明性、内置同步)。
2025-11-06 11:20:47
865
原创 第四篇:XML文件详解及帧构造
项目决定者决定依据性质以太网帧长度主站软件(自动计算)所有从站PDO数据的总位长(来自XML文件)客观的、被动的周期发送周期主站开发者/系统集成者应用的控制性能需求、从站能力、主站平台性能主观的、主动的设计选择两者的关系:帧长度决定了每个周期内传输的数据量。通信周期决定了数据传输的频率。它们共同决定了EtherCAT网络的总数据吞吐量和实时性能。一个系统可能有一个很长的帧(很多数据),但周期较慢(更新频率低);也可能有一个很短的帧(很少数据),但周期极快(响应非常迅速)。
2025-10-23 15:24:37
603
原创 第二十八篇:日常办公电脑的时间来源
场景时间来源精度校准方式联网电脑RTC(初始) + NTP(持续校准)非常高(误差在毫秒级)自动通过互联网时间服务器不联网电脑仅依赖RTC和本地振荡器较低(存在持续漂移,误差随累积)需要手动干预或使用专门的授时设备(如GPS)
2025-09-09 13:50:34
1332
原创 第二十七篇:RTC实时时钟
UTC是目标,是全球统一的时间标准。RTC是设备上一个低成本的、本地的、不精确的时间缓存器。GPS是获取高精度的、权威的UTC时间的一种外部方法。它们是如何协同工作的?GPS模块从卫星获取到最精确的UTC时间。系统用这个时间来校准(同步)手机操作系统内存中的软件时钟。在关机或重启时,系统可能会将这个已校准的准确时间写入RTC硬件,以提升下次开机时初始时间的准确性。当手机没有GPS信号时,就依靠之前校准过的RTC来提供一个相对可靠的时间起点。
2025-09-09 13:45:06
812
原创 电池电压变化
智能手机电池电量从20%到关机往往极快,就是因为内阻压降占比骤增。的结果,具体机制因电池类型(如锂离子、铅酸、碱性电池等)而异。通过理解这些机制,可以更科学地使用和保养电池!电池电压由正负极的电化学势差决定。电池在使用后期电压逐渐降低,是。:电池像一辆燃油车——
2025-08-15 22:32:01
1011
原创 第一篇:常见CAN错误帧及其排查方向
在本文中主要阐述各类错误帧的形成原因以及在使用同星硬件设备出现错误帧时,应当 如何进行排查并消除错误帧。在 CAN 总线通信中,通常遇见的错误帧主要为以下五种,其 分别是:bit error、ACK error、stuff error、CRC error 以及 form error。
2025-08-15 22:01:58
1203
原创 第六篇:EtherCAT中PDO与SDO的详细区别
PDO(Process Data Object,过程数据对象)和SDO(Service Data Object,服务数据对象)是EtherCAT(基于CANopen)中两种基本的数据通信机制,它们在实时性、用途和工作方式上有显著区别。
2025-07-14 14:56:23
2078
原创 第五篇:EtherCAT从节点中XML文件的作用
EtherCAT网络信息文件(EtherCAT Network Information,ENI)是主站使用的XML配置文件,描述整个EtherCAT网络的拓扑结构和参数。EtherCAT从站信息文件(EtherCAT Slave Information,ESI)是XML格式的文件,用于描述EtherCAT从站设备的特性和功能。这些XML文件是EtherCAT系统配置的核心,确保了主站和从站之间的互操作性和高效通信。
2025-07-14 14:54:43
998
原创 第二篇:EtherCAT 的on-the-fly
EtherCAT的On-the-Fly机制通过硬件级数据插入/提取,实现了近乎零延迟的实时通信。其报文设计将多设备数据压缩到单帧中,配合分布式时钟同步,可满足。的情况下,直接读取或写入数据,实现微秒级实时通信。的需求(如机器人多轴同步)。开发时需重点关注从站ESC的FMMU配置和PDO映射。主站控制3个从站(1个数字量输入模块,2个数字量输出模块),周期为1ms。机制是其高性能的核心设计,允许从站在。EtherCAT 的。
2025-07-04 14:06:29
769
原创 第三篇:EtherCAT分布式时钟(时间同步机制)
(通常32/64位),以固定频率递增(例如,基于30MHz晶振,每33.3ns计数+1)。并不是指北京时间或其他现实世界的时间标准(如UTC),而是EtherCAT网络内部定义的。每个EtherCAT从站的ESC芯片(如ET1100/ET2000)内置一个。,用于实现从站间的硬件级同步,与北京时间等现实时间标准无关。若需关联UTC,需通过额外协议(如PTP)桥接。在EtherCAT的分布式时钟(DC)同步机制中,主站同样维护一个本地计数器,作为整个网络的。),其他从站通过算法与其对齐。
2025-07-04 13:56:16
981
原创 第一篇:EtherCAT概念及与标准以太网区别
专为工业自动化控制设计,由德国Beckhoff公司开发,现由**EtherCAT技术协会(ETG)**维护。它被广泛应用于运动控制、PLC、I/O设备等实时性要求高的场景。,在工业自动化领域远超标准以太网的实时性。而普通以太网(TCP/IP)更适合非实时、高带宽需求的应用(如文件传输、视频流)。(Ethernet for Control Automation Technology)是一种基于以太网的。的工业控制,EtherCAT是理想选择;若仅需通用数据传输,标准以太网更合适。EtherCAT通过。
2025-07-03 22:41:55
639
原创 第二十六篇:线程池与直接使用Thread的区别
有显著区别,线程池的实现方式、性能特点以及与C#线程池的差异也值得探讨。在C++中,使用线程池和直接使用。
2025-06-24 19:04:16
689
原创 第二十五篇:Windows多线程映射逻辑处理器
如需更深入的控制(如绑定核心、设置优先级),可使用 Win32 API(多个线程可能同时在不同逻辑处理器上执行(若系统有多个核心)。若线程抛出未处理异常,进程可能终止(除非使用。当线程函数返回或调用。或结构化异常处理)。
2025-06-22 13:23:46
397
原创 第十一篇:虚拟内存地址与物理内存
这种设计实现了内存隔离、动态分配和超额提交(Overcommit),是现代操作系统的核心机制。将其虚拟地址映射到真实的物理内存页(Physical Page)。,而非直接的物理内存地址。只有当进程首次访问这些变量时,操作系统才会通过。在操作系统中,进程看到的所有内存地址都是。全局变量和静态变量存储在进程的。
2025-06-22 13:18:05
976
原创 第二十四篇:Socket缓冲区与DMA缓冲区
而是需要经过额外的步骤才能让网卡通过 DMA 读取数据。这种设计平衡了安全性、灵活性和性能,是操作系统网络栈的核心机制。在 Linux/Windows 等操作系统中,用户态调用。
2025-06-22 13:16:32
887
原创 第二十四篇:IOMMU流程理解
这种设计在保证高性能的同时,解决了传统 DMA 的安全隐患,是现代系统(尤其是云服务器和虚拟化环境)的基石技术。时,设备发起 DMA 请求的流程会涉及。
2025-06-22 13:15:10
767
原创 第二十三篇:DMA与IOMMU
这种设计既提升了安全性(隔离设备访问),又增强了灵活性(支持虚拟化、异构计算)。(或系统的虚拟地址空间),从而提供安全性和灵活性。在现代计算机系统中,
2025-06-22 12:44:58
912
原创 第二十二篇:网卡 DMA 工作机制详解
直接通过总线(如 PCIe)访问内存,无需外部 DMA 控制器。(如 Intel 8237),负责管理设备与内存的数据传输。现代网卡、GPU、NVMe SSD 等高速设备。(因性能低,无法满足高速设备需求)。早期计算机在主板上有一个独立的。传输数据,彻底解放 CPU。从内存读取数据时,涉及。这种设计使得网卡能以。
2025-06-22 12:16:12
1897
原创 第二十一篇:DMA机制详解
的技术,用于高效传输大量数据(如网络包、磁盘 I/O、音视频流)。以下是其核心原理、工作流程及实际应用分析。如果需要深入某个细节(如 IOMMU 的工作机制或 DMA 攻击防护),可以进一步探讨!
2025-06-22 11:39:42
2391
原创 第二十篇:主机硬件如何进行数据交互
在 Windows 操作系统中,网卡、显卡、USB 主机控制器和 COM 接口等硬件设备向外发送数据时,确实。通过这种设计,Windows 实现了高效的外设数据发送,同时最大限度降低 CPU 负载。,但不同设备的细节有所不同。当应用程序调用发送函数(如。
2025-06-21 17:52:34
1488
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅