内存控制器

article/2025/10/1 9:30:52

1.内存控制器(Memory Controller)

 

内存控制器(Memory Controller)是计算机系统内部控制内存并且通过内存控制器使内存与CPU之间交换数据的重要组成部分。内存控制器决定了计算机系统所能使用的最大内存容量、内存BANK数、内存类型和速度、内存颗粒数据深度和数据宽度等等重要参数,也就是说决定了计算机系统的内存性能,从而也对计算机系统的整体性能产生较大影响。
传统的计算机系统其内存控制器位于主板芯片组的北桥芯片内部,CPU要和内存进行数据交换,需要经过“CPU--北桥--内存--北桥--CPU”五个步骤,在此模式下数据经由多级传输,数据延迟显然比较大从而影响计算机系统的整体性能;而AMD的K8系列CPU(包括Socket 754/939/940等接口的各种处理器)内部则整合了内存控制器,CPU与内存之间的数据交换过程就简化为“CPU--内存--CPU”三个步骤,省略了两个步骤,与传统的内存控制器方案相比显然具有更低的数据延迟,这有助于提高计算机系统的整体性能。
CPU内部整合内存控制器的优点,就是可以有效控制内存控制器工作在与CPU核心同样的频率上,而且由于内存与CPU之间的数据交换无需经过北桥,可以有效降低传输延迟。打个比方,这就如同将货物仓库直接搬到了加工车间旁边,大大减少了原材料和制成品在货物仓库和加工车间之间往返运输所需要的时间,极大地提高了生产效率。这样一来系统的整体性能也得到了提升。
CPU内部整合内存控制器的最大缺点,就是对内存的适应性比较差,灵活性比较差,只能使用特定类型的内存,而且对内存的容量和速度也有限制,要支持新类型的内存就必须更新CPU内部整合的内存控制器,也就是说必须更换新的CPU;例如AMD的K8系列CPU目前就只能支持DDR,而不能支持更高速的DDR2。而传统方案的内存控制器由于位于主板芯片组的北桥芯片内部,就没有这方面的问题,只需要更换主板,甚至不更换主板也能使用不同类型的内存,例如Intel Pentium 4系列CPU,如果原来配的是不支持DDR2的主板,那么只要更换一块支持DDR2的主板就能使用DDR2,如果配的是同时支持DDR和DDR2的主板,则不必更换主板就能直接使用DDR2。
将内存控制器整合到CPU内部显然是今后的发展方向,而且其技术也会越来越完善。以后Intel也将会推出整合内存控制器的CPU。

 

2.Intel:CPU不集成内存控制器的原因

 

相对Intel的处理器,AMD的CPU其中一个很大的优势就是在芯片内集成内存控制器,集成内存控制器可以有效控制内存控制器工作在与处理器核心同样的频率上,而且由于内存与处理器之间的数据传输无需经过 北桥,可以有效降低传输延迟。但为什么Intel不在芯片内集成内存控制器呢?Intel的CEO Paul Otellini道出了原因。
 
 
 
 
Paul Otellini认为,内存标准不断变化,将导致处理器芯片架构很快改变,需要耗费更多的时间改变设计。如AMD目前的处理器只对应DDR内存,对于DDR2内存的支持需要更改一些设计和更长的研发时间。其实Intel也尝试过有过类似的产品,夭折的Timna处理器就曾经内建Rambus内存支持。其次,处理器上带有的大容量缓存也降低了集成内存控制器的需求,高速缓存同样可以减少数据传输时间,提高系统性能。其实要真正达到集成内存控制器更好的效果,就只有在CPU上集成内存。

 

3.Intel:不整合内存控制器原因有三

 

Intel公司CEO奥特里尼在本届IDF上表现得相当低调,主题演讲都交给了属下,自己则专心做起了观众,不过奥特里尼也并非无所事事,比如他就解释了Intel为何不在处理器中整合内存控制器的三点原因。
内存控制器是在处理器和内存之间负责数据交换的一小块硅片。如果像AMD那样将其整合在处理器内部,则可以显著降低内存延迟,提高处理器性能,但Intel一直拒绝这么做。奥特里尼给出的理由如下:
内存标准一直在改变:Athlon处理器不能搭配DDR2内存只是因为它整合的内存控制器只能连接DDR,这也是AMD要升级到Socket AM2的主要原因。Intel当初的Timna处理器曾整合了RAMBUS内存控制器,但随着RAMBUS在市场上的惨败而流产。
Intel可以在处理器上集成大容量缓存:AMD处理器对缓存容量不是非常敏感,而Intel处理器则可以凭借大容量的缓存弥补未整合内存控制器带来的损失。奥特里尼在IDF上说:“唯一能战胜整合内存控制器的武器是处理器缓存。”
不整合内存控制器可以减小处理器面积:尽管Intel不断改进自己的生产工艺和产能,但产量总是有限度的。因此,处理器面积越小,能生产的数量就越多,最终带来更多收入。
奥特里尼说:“没人会根据是否整合内存控制器来决定要不要购买某一种处理器的。用户之所以选择某种处理器,看重的只是平台的整体性能。”
 

http://chatgpt.dhexx.cn/article/TBgAJP2S.shtml

相关文章

Java并发包中常用类小结(一)

Java并发包中常用类小结(一) 从JDK1.5以后,Java为我们引入了一个并发包,用于解决实际开发中经常用到的并发问题,那我们今天就来简单看一下相关的一些常见类的使用情况。 1、ConcurrentHashMap ConcurrentHashMap其实就是线程安全版本的has…

java并发包源码分析

java并发包之AbstractQueuedSynchronizer源码分析 分析并发包首先要了解AbstractQueuedSynchronizer(AQS),因为AQS是并发包的基础工具类。本文从ReentrantLock的公平锁出发,分析AbstractQueuedSynchronizer的工作过程。 lock与u…

【Java进阶】Java并发包提供了哪些并发工具类?

通过前面的学习,我们一起回顾了线程、锁等各种并发编程的基本元素,也逐步涉及了 Java 并发包中的部分内容,相信经过前面的热身,我们能够更快地理解 Java 并发包。 今天我要问你的问题是,Java 并发包提供了哪些并发工具…

java---JUC并发包详解

目录 前言 一、atomic包 AtomicInteger类 AtomicReference类 AtomicStampedReference类 二、locks包 接口 Condition Lock ReadWriteLock 实现类 ReentrantLock类 ReentrantReadWriteLock类 三、CountDownLatch 四、Semaphore(信号量) 总结 前言 JUC是java.u…

Java多线程并发编程--Java并发包(JUC)

Java多线程并发–Java并发包(JUC) 前言 前一篇文章中,笔者已经介绍了Java多线程的一些基础知识,但是想要成为一名中高级Java程序员还必须懂得Java并发包(JUC)的知识点,而且JUC现在也是面试中必…

接口测试--apipost如何自定义header中的content-type

使用apipost进行接口测试的时候,有时候会用到一些自定义或者不常见的content-type格式,这个时候就要手动在header头部自定义content-type。 这里我们自定义一个content-type,格式为application/octet-stream 然后body选择的为form-data&…

Type-c引脚定义

Type-c口是什么口,有什么作用? Type-c口在大家的视野中或许比较陌生,但是生活中处处离不开Type-c口的存在。手机,电脑,音箱,小家电,无人机…等等,都存在Type-c接口。 Type-c只是一种…

TYPE-C12PIN接口电路

16PIN封装只有12个PIN脚,所有16/12PIN其实是一种规格 特点,正反插 VBS-VCC A5,B5接电阻拉地 A7,B7串联接电阻成为DN A6,B6串联接电阻成为DP GND拉地 外壳拉地 USB接口介绍

TypeScript-interface接口篇

简介 接口的作用:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用。接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数…

TypeScript(四)接口

目录 前言 定义 用法 基本用法 约定规则 属性控制 任意属性 可选属性 只读属性 定义函数 冒号定义 箭头定义 接口类型 函数接口 索引接口 继承接口 类接口 总结 前言 本文收录于TypeScript知识总结系列文章,欢迎指正! 在介绍TS对象…

Type-C接口简单介绍-面向单片机应用

Type-C接口简单介绍-面向单片机应用 1、绪论 用单片机做一些东西时,Type-C接口逐渐替代了MicroUSB接口。但不像MicroUSB那样只有5V、GND、D、D-、ID五个接口,Type-C接口有24个引脚,比较复杂。大多时候我们用TypeC也用不到USB3.0协议&#x…

CTP_将C++封装为Python可调用接口

目录 写在前面: 前置准备: step 1 与上期所原始代码对比分析源码 td源码 1 配置属性-》常规-》配置类型 要为 “动态库(.dll)” 2 VC目录 -》包含目录 3 VC目录 -》 库目录 4 链接器-》常规-》附加库目录 5 链接器-》输入-》附加依赖项 vnctp.h 的功…

一文读懂USB Type-C接口 <一>:引脚和功能指南

本文将介绍USB Type-C标准的一些最重要的特性。 你知道如何使用USB Type-C接口吗?本文列出了USB Type-C引脚的解剖结构,并简要介绍了其各种模式。 USB Type-C是一种USB连接器系统的规范,它在智能手机和移动设备中越来越受欢迎,能够提供电力和…

VisionPro连接相机步骤

一、修改相机与电脑IP地址在同一网段上 1、修改相机IP地址 在菜单栏找到 “Cognex GigE Vision Configurator” ,可直接输出搜索。 或者在visionPro默认安装目录下 “C:\Program Files\Cognex\VisionPro\bin”,找到“Cognex GigE Vision Configurator…

机器视觉——相机选型

目录 相机选型 分辨率、快门、帧率、色彩、靶面、接口 镜头选型 分辨率、靶面、焦距、接口、光圈畸变工作距离 常用计算示例 相机选型 分辨率、快门、帧率、色彩、靶面、接口 镜头选型 分辨率、靶面、焦距、接口、光圈畸变工作距离 常用计算示例 1. 面阵相机和镜头选型 已…

线扫相机的选择

1.通过幅宽和精度求像素个数选择相机: Rmin为最小像素数;FOV为检测幅宽;X为检测精度。通过计算结果选择相机大小。 如果幅宽要求120mm,精度要求0.1,得到最少所需像素个数为1200,选择2k的线扫相机即可满足。…

1-CCD相机选型

1-相机分类 2-以像素数选择(高像素型或标准型) 从“像素分辨率”这一点来添加良否判定的基准,可选择最佳像素数的相机! 视觉系统所使用的 CCD 拍摄元件是以格子状排列的较小像素的集合体。在作为标准型经常使用的 31 万像素 CCD …