长春建网站一般多少钱机械设备网站
2026/1/10 15:20:44 网站建设 项目流程
长春建网站一般多少钱,机械设备网站,直通车推广技巧,洋桥网站建设内存控制器(memory controller)架构及其工作原理 前置知识: Linux 内核中常见地址的设计原理及其API使用: https://mp.weixin.qq.com/s/MUSAvyDBue7rPbkKYmrLVQ DMA 硬件寄存器及kernel driver软件设置: https://mp.weixin.qq.com/s/ury8IbSzQkLNxEiMUkNo2w PCIe Direct Memory…内存控制器(memory controller)架构及其工作原理前置知识:Linux 内核中常见地址的设计原理及其API使用:https://mp.weixin.qq.com/s/MUSAvyDBue7rPbkKYmrLVQDMA 硬件寄存器及kernel driver软件设置:https://mp.weixin.qq.com/s/ury8IbSzQkLNxEiMUkNo2wPCIe Direct Memory Access (DMA) - 软硬件工作原理完全手册PCIe信号链路架构及其Linux kernel系统软件完全开发指南基于统一协议GPU芯片高速互联Infinity Fabric的研究 (二)基于统一协议CPU芯片高速互联Infinity Fabric的研究 (一)完整文章: 请关注公众号获取请关注微信公众号:颇锐克科技共享内存控制器是一个关键却常被忽视的组件它决定了现代计算系统的性能和效率。让我们来详细解析其架构和工作原理。一、前言什么是内存控制器其核心是内存控制器 是一个管理进出计算机主内存DRAM如 DDR4 或 DDR5数据流的数字电路硬件。它充当 CPU/系统其余部分与内存模块之间的“交通警察”或“翻译器”。关键演变· 北桥历史 在旧系统中内存控制器是主板上一个独立的芯片是“北桥”芯片组的一部分。· 集成内存控制器IMC - 现代 自 2000 年代中期AMD Athlon 64后来的 Intel Nehalem以来内存控制器已直接集成到 CPU 芯片中。这极大地减少了延迟访问内存的时间并增加了带宽因为通信不再需要通过速度较慢的前端总线进行片外传输。二、memory contoller 架构如内存控制器架构可知现代 IMC 是一个复杂的片上系统SoC模块包含几个专用单元内存通道控制器· IMC 被划分为独立的通道例如双通道、四通道。每个通道可以同时与一组内存模块通信从而倍增有效数据带宽。每个通道都有自己的控制器、数据缓冲区和 I/O 引脚。命令调度器与队列· 这是操作的大脑。它接收来自 CPU 核心通过系统代理/缓存层次结构的读/写请求。· 它不按接收顺序FIFO执行请求。相反它使用复杂的调度算法来重新排序命令以最小化由 DRAM 内部时序造成的延迟这个过程称为命令调度或重排序。这能最大化效率和带宽。地址解码器与转换器· CPU 使用物理地址请求数据。控制器将其转换为特定的 DRAM 语言Bank、Row 和 Column 地址。· Rank 和 DIMM 选择逻辑也在这里处理确定访问哪根内存条以及内存条的哪一面。PHY物理层接口· 这是电气接口负责物理驱动内存总线到 DIMM 插槽的信号。· 它处理高速串行化/反串行化SerDes、阻抗校准和时序同步。它负责实际的“物理”协议DDR4/5。刷新逻辑· DRAM 单元将数据存储在会泄漏电荷的小电容器中。控制器必须定期刷新每一行读取并重写以防止数据丢失。这是由控制器自主管理的后台任务。错误校正码逻辑如果支持· 计算并检查数据的额外奇偶校验位以检测和纠正单位错误有时是多位错误。对服务器和工作站至关重要。三、读/写/Qos sequence 及data path3-1. 数据访问流程架构3-2. 读操作让我们追踪一个 CPU 内存读取请求CPU Core → L1/L2 Cache (Miss) → L3 Cache (Miss) →System Agent → IMC Scheduler → Arbiter (QoS Decision) →Channel Scheduler → PHY → DDR Interface → DIMM →Bank Activation → Row Buffer → Column Read →Data Return: DIMM → DDR Interface → PHY →Read Data Buffer → System Agent → CPU Core请求生成 CPU 核心发生缓存未命中所需数据不在其 L1/L2/L3 缓存中。它生成一个针对物理内存地址的读取请求。该请求被发送到 CPU 内的集成内存控制器。队列与调度 请求进入调度器的命令队列。调度器查看所有待处理请求读和写并应用其算法。它可能会· 优先处理读请求而非写请求读取延迟通常更关键。· 将命令分组到相同的 DRAM Bank 或 Row以避免打开/关闭行的开销行缓冲区命中。· 这种重排序对 CPU 是透明的CPU 总是获得正确的数据只是顺序可能不同。地址转换与命令发出 调度器选择下一个要处理的最佳请求。地址解码器将物理地址转换为 通道 - DIMM - Rank - Bank - Row - Column。然后控制器在所选通道的总线上发出一系列精确的低级 DRAM 命令DRAM 访问序列关键路径· 激活RAS 向特定的 Bank 和 Row 发送“行激活”命令。这会打开一行将整行存储单元数千个比特复制到该 Bank 的行缓冲区中。这是一个相对较慢的操作tRCD 时序。· 读取CAS 等待行准备就绪后发出带列地址的“列读取”命令。这会从行缓冲区中选择要输出的特定字节。· 数据传输 DRAM 将请求的数据一个突发传输通常为 64 字节或更多取决于架构置于数据总线上。内存控制器上的 PHY 接收此数据。· 预充电 最终必须关闭已打开的行以便为 Bank 的新访问做准备。这可以在读取后立即执行或延迟执行自动预充电。此时序为 tRP。数据返回 CPU 内存控制器接收数据突发可能进行 ECC 检查然后将其转发回 CPU 核心的缓存层次结构填充原始的缓存行。核心现在可以继续其操作。3-3 写操作CPU Core → System Agent → Write Data Buffer →IMC Scheduler → Arbiter (Priority Assignment) →Channel Scheduler → Write to Open Row (if possible) →PHY → DDR Interface → DIMM → Bank → Row Buffer →Data Written → Acknowledge3-4 QosMultiple Request Sources → System Agent →IMC Scheduler (with priority tags) → Arbiter/QoS →Channel Allocation Based on:Request Type (Read/Write)Source Priority (CPU/GPU/I/O)Latency RequirementsBandwidth Allocation四、高级功能与优化· Bank 交错 交错访问不同的 Bank 以隐藏延迟当一个 Bank 在激活时另一个可以读取数据。· 命令重叠 允许对不同 Bank 的某些命令同时进行。· 写缓冲 控制器可以在数据完全写入较慢的 DRAM 之前立即确认来自 CPU 的写操作将其存储在小型快速缓冲区中从而使 CPU 无需等待即可继续工作。· 电源管理 在空闲期间为 DRAM 实现低功耗状态如自刷新以节省能源。五、总结为何如此重要· 性能 调度器的效率直接影响有效内存带宽和平均访问延迟这是决定整体系统性能的主要因素尤其是在数据密集型任务中游戏、科学计算、数据库。· 兼容性 它确保 CPU 能与行业标准的 JEDEC 内存协同工作并能执行内存训练在启动时校准时序以确保稳定性尤其是对于超频XMP/EXPO内存。· 系统稳定性 正确管理刷新、时序参数CL、tRCD、tRP、tRAS和电压对于系统稳定至关重要。总而言之内存控制器是一个复杂的协调器它弥合了 CPU 对数据的无尽需求与 DRAM 复杂且受物理规律支配的行为之间的鸿沟将简单的读/写命令转化为高度优化的电信号交响乐使您的系统能以最高效率运行。谢谢关注后续会持续分享关于AI,GPU,Linux开发,操作系统图形学高性能计算芯片行业讯息。欢迎感兴趣的伙伴关注微信公众号参与讨论沟通:请关注公众号获取完整系统资料请关注微信公众号:颇锐克科技共享

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询