CPU Cache Line伪共享问题的总结和分析

  众所周知,现代计算机体系结构,通过存储器层次结构 (Memory Hierarchy) 的设计,使系统在性能,成本和制造工艺之间作出取舍,从而达到一个平衡。 下图给出了不同层次的硬件访问延迟,可以看到,各个层次硬件访问延迟存在数量级上的差异,越高的性能,往往意味着更高的成本和更小的容量:

  通过上图,可以对各级存储器 CacheMiss 带来的性能惩罚有个大致的概念。

  随着多核架构的普及,对称多处理器 (SMP) 系统成为主流。例如,一个物理 CPU 可以存在多个物理 Core,而每个 Core 又可以存在多个硬件线 个物理 Core,每个 Core 有两个 HT (Hyper Thread),

  从硬件的角度,上图的 L1 和 L2 Cache 都被两个 HT 共享,且在同一个物理 Core。而 L3 Cache 则在物理 CPU 里,被多个 Core 来共享。 而从 OS 内核角度,每个 HT 都是一个逻辑 CPU,因此,这个处理器在 OS 来看,就是一个 8 个 CPU 的 SMP 系统。

  以 x86 为例,早期的 x86 就是典型的 UMA 架构。例如下图,四路处理器通过 FSB (前端系统总线) 和主板上的内存控制器芯片 (MCH) 相连,DRAM是以 UMA 方式组织的,延迟并无访问差异,

  然而,这种架构带来了严重的内存总线的性能瓶颈,影响了 x86 在多路服务器上的可扩展性和性能。

  因此,从 Nehalem 架构开始,x86 开始转向 NUMA 架构,内存控制器芯片被集成到处理器内部,多个处理器通过 QPI链路相连,从此 DRAM 有了远近之分。 而 Sandybridge 架构则更近一步,将片外的 IOH 芯片也集成到了处理器内部,至此,内存控制器和 PCIe Root Complex 全部在处理器内部了。 下图就是一个典型的 x86 的 NUMA 架构:

  由于 NUMA 架构的引入,以下主要部件产生了因物理链路的远近带来的延迟差异:

  除物理 CPU 有本地的 Cache 的层级结构以外,还存在跨越系统总线 (QPI) 的远程 Cache 命中访问的情况。需要注意的是,远程的 Cache 命中,对发起 Cache 访问的 CPU 来说,还是被记入了 LLC Cache Miss。

  在两路及以上的服务器,远程 DRAM 的访问延迟,远远高于本地 DRAM 的访问延迟,有些系统可以达到 2 倍的差异。 需要注意的是,即使服务器 BIOS里关闭了 NUMA 特性,也只是对 OS 内核屏蔽了这个特性,这种延迟差异还是存在的。

  对 CPU 访问设备内存,及设备发起DMA内存的读写活动而言,存在本地 Device 和远程 Device 的差别,有显著的延迟访问差异。

  因此,对以上 NUMA 系统,一个 NUMA 节点通常可以被认为是一个物理 CPU 加上它本地的 DRAM 和 Device 组成。那么,四路服务器就拥有四个 NUMA 节点。 如果 BIOS 打开了 NUMA 支持,Linux 内核则会根据 ACPI 提供的表格,针对 NUMA 节点做一系列的 NUMA 亲和性的优化。

  Cache Line 是 CPU 和主存之间数据传输的最小单位。当一行 Cache Line 被从内存拷贝到 Cache 里,Cache 里会为这个 Cache Line 创建一个条目。 这个 Cache 条目里既包含了拷贝的内存数据,即 Cache Line,又包含了这行数据在内存里的位置等元数据信息。

  由于 Cache 容量远远小于主存,因此,存在多个主存地址可以被映射到同一个 Cache 条目的情况,下图是一个 Cache 和主存映射的概念图:

  而这种 Cache 到主存的映射,通常是由内存的虚拟或者物理地址的某几位决定的,取决于 Cache 硬件设计是虚拟地址索引,还是物理地址索引。 然而,由于索引位一般设计为低地址位,通常在物理页的页内偏移以内,因此,不论是内存虚拟或者物理地址,都可以拿来判断两个内存地址,是否在同一个 Cache Line 里。

  一个主存的物理或者虚拟地址,可以被分成三部分:高地址位当作 Cache 的 Tag,用来比较选中多路 (Way) Cache 中的某一路 (Way),而低地址位可以做 Index,用来选中某一个 Cache Set。 在某些架构上,最低的地址位,Block Offset 可以选中在某个 Cache Line 中的某一部份。

  因此,Cache Line 的命中,完全依靠地址里的 Tag 和 Index 就可以做到。关于 Cache 结构里的 Way,Set,Tag 的概念,请参考相关文档或者资料。这里就不再赘述。

  如前所述,在 SMP 系统里,每个 CPU 都有自己本地的 Cache。因此,同一个变量,或者同一行 Cache Line,有在多个处理器的本地 Cache 里存在多份拷贝的可能性,因此就存在数据一致性问题。 通常,处理器都实现了 Cache 一致性 (Cache Coherence)协议。如历史上 x86 曾实现了 MESI 协议以及 MESIF 协议。

  本文中的 Cache Line 伪共享场景,就基于上述场景来讲解,关于 Cache 一致性协议更多的细节,请参考相关文档。

  Cache Line 伪共享问题,就是由多个 CPU 上的多个线程同时修改自己的变量引发的。这些变量表面上是不同的变量,但是实际上却存储在同一条 Cache Line 里。 在这种情况下,由于 Cache 一致性协议,两个处理器都存储有相同的 Cache Line 拷贝的前提下,本地 CPU 变量的修改会导致本地 Cache Line 变成 Modified 状态,然后在其它共享此 Cache Line 的 CPU 上, 引发 Cache Line 的 Invaidate 操作,导致 Cache Line 变为 Invalidate 状态,从而使 Cache Line 再次被访问时,发生本地 Cache Miss,从而伤害到应用的性能。 在此场景下,多个线程在不同的 CPU 上高频反复访问这种 Cache Line 伪共享的变量,则会因 Cache 颠簸引发严重的性能问题。

  当应用在 NUMA 环境中运行,或者应用是多线程的,又或者是多进程间有共享内存,满足其中任意一条,那么这个应用就可能因为 Cache Line 伪共享而性能下降。

  但是,要怎样才能知道一个应用是不是受伪共享所害呢?Joe Mario 提交的 patch 能够解决这个问题。Joe 的 patch 是在 Linux 的著名的 perf 工具上,添加了一些新特性,叫做 c2c, 意思是“缓存到缓存” (cache-2-cache)。

  Redhat 在很多 Linux 的大型应用上使用了 c2c 的原型,成功地发现了很多热的伪共享的 Cache Line。 Joe 在博客里总结了一下 perf c2c 的主要功能:

  下面,让我们就之前给出的 perf c2c 的输出样例,做一个详细介绍。

  输出里的第一个表,概括了 CPU 在 perf c2c 数据采样期间做的 load 和 store 的样本。能够看到 load 操作都是在哪里取到了数据。

  而 Remote HITM,意思是跨 NUMA 节点的 HITM,这个是所有 load 操作里代价最高的情况,尤其在读者和写者非常多的情况下,这个代价会变得非常的高。

  要检查 Cache Line 伪共享问题,就在这个表里找 Rmt LLC Load HITM(即跨 NUMA 节点缓存里取到数据的)次数比较高的,如果有,就得深挖一下。

  这是最重要的一个表。为了精简,这里只展示了三条 Cache Line 相关的记录,表格里包含了这些信息:

  其中 71,72 行是列名,每列都解释了Cache Line的一些活动。

  然后是数据地址列。上面提到了 76 行显示了 Cache Line 的虚拟地址,而下面几行的这一列则是行内偏移。

  接下来三列,展示了平均load操作的延迟。我常看着里有没有很高的平均延迟。这个平均延迟,可以反映该行的竞争紧张程度。

  熟悉 perf 的读者可能已经注意到,这里的 -F 选项指定了非常高的采样频率: 60000。请特别注意:这个采样频率不建议在线上或者生产环境使用,因为这会在高负载机器上带来不可预知的影响。 此外 perf c2c 对 CPU load 和 store 操作的采样会不可避免的影响到被采样应用的性能,因此建议在研发测试环境使用 perf c2c 去优化应用。

  对采样数据的分析,可以使用带图形界面的 tui 来看输出,或者只输出到标准输出

  默认情况,为了规范输出格式,符号名被截断为定长,但可以用 “–full-symbols” 参数来显示完整符号名。

  有的时候,很需要找到读写这些 Cache Line 的调用者是谁。下面是获得调用图信息的方法。但一开始,一般不会一上来就用这个,因为输出太多,难以定位伪共享。一般都是先找到问题,再回过头来使用调用图。

  为了让采样数据更可靠,会把 perf 采样频率提升到 -F 60000 或者 -F 80000,而系统默认的采样频率是 1000。

  提升采样频率,可以短时间获得更丰富,更可靠的采样集合。想提升采样频率,可以用下面的方法。 可以根据 dmesg 里有没有 perf interrupt took too long … 信息来调整频率。注意,如前所述,这有一定风险,严禁在线上或者生产环境使用。

  在大型系统上(比如有 4,8,16 个物理 CPU 插槽的系统)运行 perf c2c,可能会样本太多,消耗大量的CPU时间,perf.data文件也可能明显变大。 对于这个问题,有以下建议(包含但不仅限于):

  一般搭建看见性能工具的输出,都会问这些数据意味着什么。Joe 总结了他使用 c2c 优化应用时,学到的东西,

  perf c2c 采样时间不宜过长。Joe 建议运行 perf c2c 3 秒、5 秒或 10 秒。运行更久,观测到的可能就不是并发的伪共享,而是时间错开的 Cache Line 访问。

  如果对内核样本没有兴趣,只想看用户态的样本,可以指定 --all-user。反之使用 --all-kernel。

  CPU 很多的系统上(如>

  148 个),设置 -ldlat 为一个较大的值(50 甚至 70),perf 可能能产生更丰富的C2C样本。

  看 Pareto 表时,需要关注的,多半只是最热的两三个 Cache Line。

  有的时候,一段代码,它不在某一行 Cache Line 上竞争严重,但是它却在很多 Cache Line 上竞争,这样的代码段也是很值得优化的。同理还有多进程程序访问共享内存时的情况。

  在 Pareto 表里,如果发现很长的 load 操作平均延迟,常常就表明存在严重的伪共享,影响了性能。

  接下来去看样本采样自哪些节点和 CPU,据此进行优化,将哪些内存或 Task 进行 NUMA 节点锁存。

  最后,Pareto 表还能对怎么解决对齐得很不好的Cache Line,提供灵感。 例如:

  很容易定位到:写地很频繁的变量,这些变量应该在自己独立的 Cache Line。可以据此进行对齐调整,让他们不那么竞争,运行更快,也能让其它的共享了该 Cache Line 的变量不被拖慢。

  很容易定位到:读多写少的变量,可以将这些变量组合到相同或相邻的 Cache Line。

  有时直接去看用 perf c2c record 命令生成的 perf.data 文件,其中原始的采样数据也是有用的。 可以用 perf script 命令得到原始样本,man perf-script 可以查看这个命令的手册。输出可能是编码过的,但你可以按 load weight 排序(第 5 列),看看哪个 load 样本受伪共享影响最严重,有最大的延迟。

  文章出处:【微信号:LinuxDev,微信公众号:Linuxer】欢迎添加关注!文章转载请注明出处。

  我们将《嵌入式工程师-系列课程》分成两大阶段:第一阶段:《计算机体系结构》课程 分成4篇:分别是

  自从整合核显之后,Intel被玩家调侃为买CPU送显卡,酷睿及低端的奔腾、赛扬都会带HD Graph....

  尽管Intel处理器缺货问题已经基本缓解,但没想到半路杀出AMD锐龙3000,迎来新一轮市场缠斗。

  我想发帖,但是发帖之前要我完善个人资料,可是我点击完善资料进去后应用领域说是含有敏感词导致我不能保存,所以更新不了个人资...

  (台湾数能原装进口产品),15MA-300MA LED汽车车大灯模组恒流IC/恒流灯带/恒流灯条

  (台湾数能原装进口产品),15MA-300MA LED汽车车大灯模组恒流IC/恒流灯带/恒流灯条/LED模组/LED广告灯箱线性恒流I...

  5G是时下最热门的词,是众多电子产业的未来发展的方向,如何在5G的大潮中取得先机成为领头羊呢?PCB增材涉及到许多产业的命...

  Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息。但是对于双核的cpu,在cpuinfo中会看到两个cpu。常常会让人误以为是两个单...

  下面的场景越来越常见了。您有一个正在工作的嵌入式设计,在客户那里已经部署了多年,成百上千行的调试代码为其提供支持。市场上...

  下面的场景越来越常见了。您有一个正在工作的嵌入式设计,在客户那里已经部署了多年,成百上千行的调试代码为其提供支持。市场上...

  意法半导体(ST)旗下全资子公司Portland Group公布该公司的Fortran、C和C++编译器及开发工具套件7.1版全面上市。PGI编译...

  对可怜的处理器设计师表示同情。他们的工作以前非常简单。在每一半导体新工艺代中,每平方毫米的晶体管数量都会加倍,速度会有很...

  对可怜的处理器设计师表示同情。他们的工作以前非常简单。在每一半导体新工艺代中,每平方毫米的晶体管数量都会加倍,速度会有很...

  0 引言 随着计算机的硬件,特别是CPU主频的不断提升,基于软件的音、视频编码效率也...

  BGA是PCB 上常用的组件,通常CPU、NORTH BRIDGE、SOUTH BRIDGE、AGP....

  得益于7nm锐龙3000系列处理器的上市,AMD的股价日前创了新高,冲上了34美元,今年以来股价已经....

  微控制器开发板是一种印刷电路板(PCB),其电路和硬件设计用于促进某些微控制器板功能的实验。开发....

  机器视觉的研究始于20世纪50年代二维图像的模式识别[1],它起初被设计用来代替人眼从事检测识别的工....

  本书基于Keil μV ision程序设计平台和Proteus硬件仿线....

  运算器:用于实现算术和逻辑运算。计算机的运算和处理都在这里进行; 控制器:是计算机的控制指挥部....

  当我们收到小米 CC 发布会的邀请函时,我们就认为这次的小米发布会有些与众不同。一改以往严肃,有些耍....

  实测B350老主板搭配锐龙9 3900X没有性能损失 但得选一个好点的风冷散热器

  AMD锐龙处理器的兼容性一直备受称道,至少到明年都会坚持AM4接口,这就使得老主板可以轻松上新U。这....

  AMD去年11月就发布了7nm Zen架构的EPYC二代处理器“Rome”罗马,从第一代的32核64....

  距离iPhone发布新机的时间越来越近了,这次iPhone是否会给我们带来惊喜呢?我们都知道iPho....

  iPhone 11R模具、手机壳、设计图纸出现了接连的曝光“真香”呢?

  今年的iPhone11从报道之初的“无人肯信”,到后来iPhone11模具、手机壳、设计图纸出现了接....

  本文介绍了S7通讯的基本操作,包括硬件组态、网络组态、通讯功能块的调用:还介绍了单边、双边连接的建立....

  SC7313是一块具有音量、音调(低音、高音)、平衡度(左、右)和响度(前、后)控制的音频处理电路,....

  SEMI发布的最新预测显示,除中国台湾地区和美国外,全部地区均预计同比下滑。

  对于CPU产品,我们有时候几年都不会去更换,然而天下硬件风云变幻,游戏玩家最爱说的“一代版本一代神”....

  很多从日系PLC或者200PLC过来的人,很不习惯于S7 1200 或者TIA PORTAL 里面的....

  Flash存储器,简称Flash,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程的性能,还不....

  UltraRAM 原语(也称为 URAM)可在 Xilinx UltraScale +™ 架构中使用....

  Cypress公司的PSoC®5系列具有独特的可配置模块阵列,是真正的系统级解决方案,能够通过单个芯....

  三星去年11月发布了Exynos9系列处理器新品Exynos9820,这是三星首款集成NPU的手机S....

  2019年6月24日是Raspberry Pi社区迄今为止最大的新产品推出:Raspberry Pi....

  美商应材公司(Applied Materials)因应物联网(IoT)和云端运算所需的新存储器技术,....

  日本管制关键原材料输出韩国,引发韩系存储器大厂产线供应不足的疑虑,市场价格喊涨绘声绘影。

  据日经亚洲评论报道,由于日本对韩国产业至关重要的半导体材料出口管制,三星电子原本计划于明年初推出其最....

  自从2012年AMD正式发布GCN架构的HD7000系列显卡,已经过去了整整7年。GCN也从当年的强....

  现在,苹果中国上架了两款新品,售价6999元起,它们是谁想必大家也都猜出来了吧。这次上架的两款新品分....

  通过联发科技NeuroPilot 人工智能开发平台让电视联动AIoT生态

  7月8日,联发科通过官网宣布面向全球首发旗舰级智能电视芯片S900。据介绍,该芯片高度集成高性能CP....

  80x86指令系统 80x86的指令系统可以分为以下6组:数据传送类指令 算术指令 逻辑指令 串处理....

  英特尔(Intel)面临来自竞争对手AMD(Advanced Micro Devices )在多个方....

  简述X86处理器完成实时数字信号处理的优缺点。 答:利用X86处理器完成实时数字信号处理。特点是处....

  在AMD锐龙处理器没上市的前几年中,大家选择CPU处理器并不发愁,追求性能、玩游戏的玩家几乎只能选I....

  受AMD锐龙3000处理器影响 英国亚马逊上酷睿i5-9600K处理器跌价18%

  昨天有篇文章提到了AMD的7nm锐龙3000处理器来势汹汹,Intel要如何应对的问题,单从产品角度....

  AMD锐龙处理器这几年急速蹿升,性能和市场表现都给了Intel巨大的压力。根据鲁大师最新公布的201....

  据外媒DIGTIMES最新报道,AMD近日开始销售第三代Ryzen 3000系列处理器和新款Rade....

  经过数个月的宣传后,AMD终于正式推出第三代的锐龙系列处理器,号称效能更胜英特尔,虽然实测结果显示英....

  据知情人士透露,总部位于英国的Arm公司一直在努力开发和销售有望成为所谓物联网的软件。该术语是指日益....

  STM32F205xx和STM32F207xx 32位单片机的数据手册免费下载

  尽管嵌入式系统有着无比广阔的市场需求和发展前景,但嵌入式系统的发展多年来却经历了一个曲折和痛苦的历程....

  华天科技透露,华天南京的南京集成电路先进封测产业基地项目,主要进行厂房和动力配套等基础设施建设,以及....

  在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统都继续工作。此时的电流可降到....

  近日,国民技术发布公告称,公司收到华夏芯(北京)通用处理器技术有限公司(以下简称“华夏芯”)关于产品....

  本手册包含了逐步的指导来建立 Turbo PMAC 的应用程序,从整个系统的配置开始,接着是各个电机....

  VK1S68C是1/5到1/8占空比的LED显示控制驱动电路。由10根段输出、4根栅输出、3根段/栅....

  信息BelaSigna®300是一款超低功耗,高保真单声道音频处理器,适用于便携式通信设备,可在不影响尺寸或电池寿命的情况下提供卓越的音频清晰度。 BelaSigna 300为易受噪声和回声影响的设备提供了卓越音频性能的基础。其独特的专利双核架构使多种高级算法能够同时运行,同时保持超低功耗。微型超低功耗单芯片解决方案对电池寿命或外形尺寸几乎没有影响,是便携式设备的理想选择。具有领域专业知识和一流算法,安森美半导体和我们的解决方案合作伙伴网络可以帮助您快速开发和推出产品。 BelaSigna 300芯片提供全套开发工具,实践培训和全面技术支持。 针对音频处理优化的负载均衡双核DSP架构 超低功耗:通常为1-10 mA 微型外形尺寸:3.63 x 2.68 mm PCB面积,外部元件很少 输入级: - 88 dB系统动态范围可扩展至110 dB - A / D采样率从8.0到60 kHz - 4个独立通道 输出阶段: - 高保真D类输出直接驱动扬声器 - 25 mA最大声功率输出 灵活的输入输出控制器(IOC),用于卸载DSP上的数字信号移动

  支持具有极低群延迟的高级自适应音频处理算法 128位AES高级加密以保护制造商和用户数据 与其他系统和HMI的无缝连接按钮,电位器和L...

  BELASIGNA 250 16位音频处理器,全立体声2声道,2声道输出

  信息BelaSigna®250是一款完整的可编程音频处理系统,专为超低功耗嵌入式和便携式数字音频系统而设计。这款高性能芯片以BelaSigna 200的架构和设计为基础,可提供卓越的音质和无与伦比的灵活性。 BelaSigna 250集成了完整的音频信号链,来自立体声16位A / D转换器或数字接口,可接受信号通过完全灵活的数字处理架构,可以直接连接到扬声器的立体声模拟线路电平或直接数字电源输出。 独特的并行处理架构 集成转换器和电源输出 超低功耗:20 MHz时5.0 mA; 1.8 V电源电压 支持IP保护 智能电源管理,包括需要 88 dB系统动态范围且系统噪声极低的低电流待机模式 灵活的时钟架构,支持高达33 MHz的速度 全系列可配置接口,包括:IS,PCM,UART,SPI,IC,GPIO...

  BELASIGNA 300 AM 带AfterMaster HD的音频处理器

  信息BelaSigna®300AM是一款基于DSP的音频处理器,能够在包含主机处理器和/或外部I 基于S的单声道或立体声A / D转换器和D / A转换器。 AfterMaster HD是一种实时处理音频信号的算法,可显着提高响度,清晰度,深度和饱满度。 br

  BelaSigna 300 AM专门设计用于需要解决方案以克服小型或向下扬声器(包括平板电视或耳机)限制的应用。 通常4执行AfterMaster HD时为-8 mA 尺寸为3.63 mm x2.68 mm x 0.92 mm(包括焊球)提供 包括一个快速的I 基于C的界面,用于下载和AfterMaster HD算法的一般配置,一个高度可配置的PCM接口,用于将数据流入和器件,高速UART,SPI端口和5个GPIO。 这些器件无铅,无卤素/ BFR,符合RoHS标准...

  AD5175 单通道、1024位数字变阻器,配有I²C接口和50-TP存储器

  信息优势和特点 单通道、1024位分辨率 标称电阻:10 kΩ 50次可编程(50-TP)游标存储器 温度系数(变阻器模式):35 ppm/°C 单电源供电:2.7 V至5.5 V 双电源供电:±2.5 V至±2.75 V(交流或双极性工作模式) I2C兼容型接口 游标设置和存储器回读 上电时从存储器刷新 电阻容差存储在存储器中 薄型LFCSP、10引脚、3 mm x 3 mm x 0.8 mm封装 紧凑型MSOP、10引脚、3 mm × 4.9 mm × 1.1 mm封装产品详情AD5175是一款单通道1024位数字变阻器,集业界领先的可变电阻性能与非易失性存储器(NVM)于一体,采用紧凑型封装。该器件既可以采用±2.5 V至±2.75 V的双电源供电,也可以采用2.7 V至5.5 V的单电源供电,并提供50次可编程(50-TP)存储器。AD5175的游标设置可通过I²C兼容型数字接口控制。将电阻值编程写入50-TP存储器之前,可进行无限次调整。AD5175不需要任何外部电压源来帮助熔断熔丝,并提供50次永久编程的机会。在50-TP激活期间,一个永久熔断熔丝指令会将电阻位置固定(类似于将环氧树脂涂在机械式调整器上)。AD5175提供3 mm × 3 mm 10引脚LFCSP和10引脚MSOP两种封装。保证工作温度范围为−40°C至+125°C扩展...

  AD5174 单通道、1024位数字变阻器,配有SPI接口和50-TP存储器

  信息优势和特点 单通道、1024位分辨率 标称电阻:10 kΩ 50次可编程(50-TP)游标存储器 温度系数(变阻器模式):35 ppm/°C 单电源供电:2.7 V至5.5 V 双电源供电:±2.5 V至±2.75 V(交流或双极性工作模式) SPI兼容型接口 游标设置和存储器回读 上电时从存储器刷新 电阻容差存储在存储器中 薄型LFCSP、10引脚、3 mm x 3 mm x 0.8 mm封装 紧凑型MSOP、10引脚、3 mm × 4.9 mm × 1.1 mm封装产品详情AD5174是一款单通道1024位数字变阻器,集业界领先的可变电阻性能与非易失性存储器(NVM)于一体,采用紧凑型封装。 该器件既可以采用±2.5 V至±2.75 V的双电源供电,也可以采用2.7 V至5.5 V的单电源供电,并提供50次可编程(50-TP)存储器。AD5174的游标设置可通过SPI数字接口控制。将电阻值编程写入50-TP存储器之前,可进行无限次调整。AD5174不需要任何外部电压源来帮助熔断熔丝,并提供50次永久编程的机会。在50-TP激活期间,一个永久熔断熔丝指令会将电阻位置固定(类似于将环氧树脂涂在机械式调整器上)。AD5174提供3 mm × 3 mm 10引脚LFCSP和10引脚MSOP两种封装。保证工作温度范围为−40°C至+125°C扩展工业...

  AD5292 单通道、1%端到端电阻容差(R-TOL)、1024位数字电位计,具有20次可编程存储器

  信息优势和特点 单通道、256/1024位分辨率 标称电阻:20 kΩ、50 kΩ和100 kΩ 标称电阻容差误差(电阻性能模式):±1%(最大值) 20次可编程游标存储器 温度系数(变阻器模式):35 ppm/°C 分压器温度系数:5 ppm/°C +9V至+33V单电源供电 ±9V至±16.5V双电源供电 欲了解更多特性,请参考数据手册 下载AD5292-EP (Rev 0)数据手册(pdf) 温度范围:−55°C至+125°C 受控制造基线 唯一封装/测试厂 唯一制造厂 增强型产品变更通知 认证数据可应要求提供 V62/12616 DSCC图纸号产品详情AD5292是一款单通道1024位数字电位计1,集业界领先的可变电阻性能与非易失性存储器(NVM)于一体,采用紧凑型封装。这些器件能够在宽电压范围内工作,支持±10.5 V至±16.5 V的双电源供电和+21 V至+33 V的单电源供电,同时确保端到端电阻容差误差小于1%,并具有20次可编程(20-TP)存储器。业界领先的保证低电阻容差误差特性可以简化开环应用,以及精密校准与容差匹配应用。AD5291和AD5292的游标设置可通过SPI数字接口控制。将电阻值编程写入20-TP存储器之前,可进行无限次调整。这些器件不需要任何外部电压源来帮助熔断熔丝,并提供20次永久编程的机...

  AD5291 单通道、1%端到端电阻容差(R-Tol)、256位数字电位计,具有20次可编程存储器

  信息优势和特点 单通道、256/1024位分辨率 标称电阻:20 kΩ, 50 kΩ和 100 kΩ 校准的标称电阻容差:±1%(电阻性能模式) 20次可编程 温度系数(变阻器模式):35 ppm/°C 温度系数(分压器模式):5 ppm/°C +9 V 至 +33 V 单电源供电 ±9 V至±16.5 V 双电源供电 欲了解更多特性,请参考数据手册 产品详情AD5291/AD5292属于ADI公司的digiPOT+™ 电位计系列,分别是单通道256/1024位数字电位计1 ,集业界领先的可变电阻性能与非易失性存储器(NVM)于一体,采用紧凑型封装。这些器件的工作电压范围很宽,既可以采用±10.5 V至±16.5 V双电源供电,也可以采用+21 V至+33 V单电源供电,同时端到端电阻容差误差小于1%,并提供20次可编程(20-TP)存储器。业界领先的保证低电阻容差误差特性可以简化开环应用,以及精密校准与容差匹配应用。AD5291/AD5292的游标设置可通过SPI数字接口控制。将电阻值编程写入20-TP存储器之前,可进行无限次调整。这些器件不需要任何外部电压源来帮助熔断熔丝,并提供20次永久编程的机会。在20-TP激活期间,一个永久熔断熔丝指令会将游标位置固定(类似于将环氧树脂涂在机械式调整器上)。AD5291/AD52...

  信息优势和特点 四通道、64位分辨率 1 kΩ, 10 kΩ, 50 kΩ, 100 kΩ 非易失性存储器1 存储游标设置,并具有写保护功能 上电恢复至EEMEM设置,刷新时间典型值为300 µs EEMEM重写时间:540 µs(典型值) 电阻容差存储在非易失性存储器中 EEMEM提供12个额外字节,可存储用户自定义信息 I2C兼容型串行接口 直接读写RDAC2 和EEMEM寄存器 预定义线性递增/递减命令 预定义±6 dB阶跃变化命令 欲了解更多信息,请参考数据手册产品详情AD5253/AD5254分别是64/256位、四通道、I2C®, 采用非易失性存储器的数字控制电位计,可实现与机械电位计、调整器和可变电阻相同的电子调整功能。AD5253/AD5254具有多功能编程能力,可以提供多种工作模式,包括读写RDAC和EEMEM寄存器、电阻的递增/递减、电阻以±6 dB的比例变化、游标设置回读,并额外提供EEMEM用于存储用户自定义信息,如其它器件的存储器数据、查找表或系统识别信息等。主控I2C控制器可以将任何64/256步游标设置写入RDAC寄存器,并将其存储在EEMEM中。存储设置之后,系统上电时这些设置将自动恢复至RDAC寄存器;也可以动态恢复这些设置。在同步或异步通...

  AD5254 四通道、256位、 I2C 、非易失性存储器、数字电位计

  信息优势和特点 四通道、256位分辨率 1 kΩ, 10 kΩ, 50 kΩ, 100 kΩ 非易失性存储器1存储游标设置,并具有写保护功能 上电恢复为EEMEM设置,刷新时间典型值为300 µs EEMEM重写时间:540 µs(典型值) 电阻容差存储在非易失性存储器中 EEMEM提供12个额外字节,可存储用户自定义信息 I2C兼容型串行接口 直接读/写RDAC2 和EEMEM寄存器 预定义线性递增/递减命令 预定义±6 dB阶跃变化命令 欲了解更多特性,请参考数据手册产品详情AD5253/AD5254分别是64/256位、四通道、I2C®, 采用非易失性存储器的数字控制电位计,可实现与机械电位计、调整器和可变电阻相同的电子调整功能。AD5253/AD5254具有多功能编程能力,可以提供多种工作模式,包括读写RDAC和EEMEM寄存器、电阻的递增/递减、电阻以±6 dB的比例变化、游标设置回读,并额外提供EEMEM用于存储用户自定义信息,如其它器件的存储器数据、查找表或系统识别信息等。主控I2C控制器可以将任何64/256步游标设置写入RDAC寄存器,并将其存储在EEMEM中。存储设置之后,系统上电时这些设置将自动恢复至RDAC寄存器;也可以动态恢复这些设置。在同步或异步通...

  信息优势和特点 非易失性存储器可保存游标设置 电阻容差存储在非易失性存储器中 1 k Ω, 10 k Ω, 50 k Ω 100 k Ω I2C 兼容型串行接口 游标设置回读功能 线性递增/递减预定义指令 ±6 dB对数阶梯式递增/递减预定义指令 单电源:2.7 V至5.5 V 逻辑操作电压:3 V至5 V 上电复位至EEMEM设置,刷新时间小于1 ms 非易失性存储器写保护 数据保留期限:100年(典型值, TA = 55°C )产品详情AD5252是一款双通道、数字控制可变电阻(VR),具有256位分辨率。它可实现与电位计或可变电阻相同的电子调整功能。该器件通过微控制器实现多功能编程,可以提供多种工作与调整模式。在直接编程模式下,可以从微控制器直接加载RDAC寄存器的预设置。在另一种主要工作模式下,可以用以前存储在EEMEM寄存器中的设置更新RDAC寄存器。当更改RDAC寄存器以确立新的游标位时,可以通过执行EEMEM保存操作,将该设置值保存在EEMEM中。一旦将设置保存在EEMEM寄存器之后,这些值就可以自动传输至RDAC寄存器,以便在系统上电时设置游标位。这种操作由内部预设选通脉冲使能;也可以从外部访问预设值。基本调整模式就是在游标位设置(RDAC)寄...

  信息优势和特点 非易失性存储器保存游标设置 电阻容差存储在非易失性存储器中 1 k Ω, 10 k Ω, 50 k Ω 100 k Ω I2C 兼容型串行接口 游标设置回读功能 线性递增/递减预定义指令 ±6 dB对数阶梯式递增/递减预定义指令 单电源:2.7 V至5.5 V 逻辑操作电压:3 V至5 V 上电复位至EEMEM设置,刷新时间小于1 ms 非易失性存储器写保护 数据保持能力:100年(典型值,TA = 55°C )产品详情AD5251是一款双通道、数字控制可变电阻(VR),具有64位分辨率。它可实现与电位计或可变电阻相同的电子调整功能。该器件通过微控制器实现多功能编程,可以提供多种工作与调整模式。在直接编程模式下,可以从微控制器直接加载RDAC寄存器的预设置。在另一种主要工作模式下,可以用以前存储在EEMEM寄存器中的设置更新RDAC寄存器。当更改RDAC寄存器以确立新的游标位时,可以通过执行EEMEM保存操作,将该设置值保存在EEMEM中。一旦将设置保存在EEMEM寄存器之后,这些值就可以自动传输至RDAC寄存器,以便在系统上电时设置游标位。这种操作由内部预设选通脉冲使能;也可以从外部访问预设值。基本调整模式就是在游标位设置(RDAC)寄存器...

  信息优势和特点 双通道、1024位分辨率 标称电阻:25 kΩ、250 kΩ 标称电阻容差误差:±8%(最大值) 低温度系数:35 ppm/°C 2.7 V至5 V单电源或±2.5 V双电源 SPI兼容型串行接口 非易失性存储器存储游标设置 加电刷新EEMEM设置 永久性存储器写保护 电阻容差储存于EEMEM中 26字节额外非易失性存储器,用于存储用户定义信息 1M编程周期 典型数据保留期:100年 下载AD5235-EP数据手册 (pdf) 温度范围:-40℃至+125°C 受控制造基线 一个装配/测试厂 一个制造厂 增强型产品变更通知 认证数据可应要求提供 V62/11605 DSCC图纸号产品详情AD5235是一款双通道非易失性存储器1、数控电位计2,拥有1024阶跃分辨率,保证最大低电阻容差误差为±8%。该器件可实现与机械电位计相同的电子调整功能,而且具有增强的分辨率、固态可靠性和出色的低温度系数性能。通过SPI®-兼容串行接口,AD5235具有灵活的编程能力,支持多达16种工作模式和调节模式,其中包括暂存编程、存储器存储和恢复、递增/递减、±6 dB/阶跃对数抽头调整和游标设置回读,同时提供额外的EEMEM1 ,用于存储用户定义信息,如其他元件的存储器数据、查找表、系统标识信息等。...

  信息优势和特点 1024位分辨率 非易失性存储器保存游标设置 上电时利用EEMEM设置刷新 EEMEM恢复时间:140 µs(典型值) 完全单调性工作 端接电阻:10 kΩ、50 kΩ、100 kΩ 永久存储器写保护 游标设置回读功能 预定义线性递增/递减指令 预定义±6 dB/步对数阶梯式递增/递减指令 SPI®兼容型串行接口 3 V至5 V单电源或±2.5 V双电源供电产品详情AD5231是一款采用非易失性存储器*的数字控制电位计**,提供1024阶分辨率。它可实现与机械电位计相同的电子调整功能,而且具有增强的分辨率、固态可靠性和遥控能力。该器件功能丰富,可通过一个标准三线式串行接口进行编程,具有16种工作与调整模式,包括便笺式编程、存储器存储与恢复、递增/递减、±6 dB/步对数阶梯式调整、游标设置回读,并额外提供EEMEM用于存储用户自定义信息,如其它器件的存储器数据、查找表或系统识别信息等。在便笺式编程模式下,可以将特定设置直接写入RDAC寄存器,以设置端子W–A与端子W–B之间的电阻。此设置可以存储在EEMEM中,并在系统上电时自动传输至RDAC寄存器。EEMEM内容可以动态恢复,或者通过外部PR选通脉冲予以恢复;WP功能则可保护EE...

  信息优势和特点 单芯片结构 双缓冲锁存器支持兼容8位微处理器 快速建立时间:500 ns(最大值,至±1/2 LSB) 片内集成高稳定性嵌入式齐纳基准电压源 整个温度范围内保证单调性 整个温度范围内保证线 LSB(最大值,AD567K) 保证工作电压:±12 V或±15 V 欲了解更多信息,请参考数据手册产品详情AD567是一款完整的高速12位单芯片数模转换器,内置一个高稳定性嵌入式齐纳基准电压源和一个双缓冲输入锁存器。该转换器采用12个精密、高速、双极性电流导引开关和一个经激光调整的薄膜电阻网络,可提供快速建立时间和高精度特性。微处理器兼容性通过片内双缓冲锁存器实现。输入锁存器能够与4位、8位、12位或16位总线直接接口。因此,第一级锁存器的12位数据可以传输至第二级锁存器,避免产生杂散模拟输出值。锁存器可以响应100 ns的短选通脉冲,因而可以与现有最快的微处理器配合使用。AD567拥有如此全面的功能与高性能,是采用先进的开关设计、高速双极性制造工艺和成熟的激光晶圆调整技术(LWT)的结果。该器件在晶圆阶段进行调整,25°C时最大线 LSB(K级),整个工作温度范围内的线 LSB。芯片的表面下(嵌入式...

  CAT25128 128-kb SPI串行CMOS EEPROM存储器

  信息 CAT25128是一个128 kb串行CMOS EEPROM器件,内部组织为16kx8位。它具有64字节页写缓冲区,并支持串行外设接口(SPI)协议。该器件通过片选()输入启用。此外,所需的总线信号是时钟输入(SCK),数据输入(SI)和数据输出(SO)线。 输入可用于暂停与CAT25128设备的任何串行通信。该器件具有软件和硬件写保护功能,包括部分和全部阵列保护。片上ECC(纠错码)使该器件适用于高可靠性应用。适用于新产品(Rev. E) ) 20 MHz SPI兼容 1.8 V至5.5 V操作 硬件和软件保护 低功耗CMOS技术 SPI模式(0,0和1,1) 工业和扩展温度范围 自定时写周期 64字节页写缓冲区 块写保护 - 保护1 / 4,1 / 2或全部EEPROM阵列 1,000,000编程/擦除周期 100年数据保留

  8引脚PDIP,SOIC,TSSOP和8焊盘TDFN,UDFN封装 此器件无铅,无卤素/ BFR,符合RoHS标准 具有永久写保护的附加标识页...

  CAT25256 256-kb SPI串行CMOS EEPROM存储器

  信息 CAT25256是一个256 kb串行CMOS EEPROM器件,内部组织为32kx8位。它具有64字节页写缓冲区,并支持串行外设接口(SPI)协议。该器件通过片选()输入启用。此外,所需的总线信号是时钟输入(SCK),数据输入(SI)和数据输出(SO)线。输入可用于暂停与CAT25256设备的任何串行通信。该器件具有软件和硬件写保护功能,包括部分和全部阵列保护。片上ECC(纠错码)使该器件适用于高可靠性应用。适用于新产品(Rev. E) ) 20 MHz(5 V)SPI兼容 1.8 V至5.5 V电源电压范围 SPI模式(0,0)和(1,1) ) 64字节页面写缓冲区 具有永久写保护的附加标识页(新产品) 自定时写周期 硬件和软件保护 100年数据保留 1,000,000编程/擦除周期 低功耗CMOS技术 块写保护

  - 保护1 / 4,1 / 2或整个EEPROM阵列 工业和扩展温度范围 8引脚PDIP,SOIC,TSSOP和8焊盘UDFN和TDFN封装 此器件无铅,无卤素/ BFR,符合RoHS标准...

  信息 CAT25040是一个4-kb SPI串行CMOS EEPROM器件,内部组织为512x8位。安森美半导体先进的CMOS技术大大降低了器件的功耗要求。它具有16字节页写缓冲区,并支持串行外设接口(SPI)协议。该器件通过片选()启用。此外,所需的总线信号是时钟输入(SCK),数据输入(SI)和数据输出(SO)线。 输入可用于暂停与CAT25040设备的任何串行通信。该器件具有软件和硬件写保护功能,包括部分和全部阵列保护。 20 MHz(5 V)SPI兼容 1.8 V至5.5 V电源电压范围 SPI模式(0,0和1,1) 16字节页面写入缓冲区 自定时写入周期 硬件和软件保护 块写保护 - 保护1 / 4,1 / 2或整个EEPROM阵列 低功耗CMOS技术 1,000,000编程/擦除周期 100年数据保留 工业和扩展温度范围 PDIP,SOIC,TSSOP 8引脚和TDFN,UDFN 8焊盘封装 这些器件无铅,无卤素/ BFR,符合RoHS标准...

  信息 CAT25080 / 25160是8-kb / 16-kb串行CMOS EEPROM器件,内部组织为1024x8 / 2048x8位。它们具有32字节页写缓冲区,并支持串行外设接口(SPI)协议。该器件通过片选()输入启用。此外,所需的总线信号是时钟输入(SCK),数据输入(SI)和数据输出(SO)线。 输入可用于暂停与CAT25080 / 25160设备的任何串行通信。这些器件具有软件和硬件写保护功能,包括部分和全部阵列保护。 10 MHz SPI兼容 1.8 V至5.5 V电源电压范围 SPI模式(0,0和1,1) 32字节页写缓冲区 自定时写周期 硬件和软件保护 块写保护 - 保护1 / 4,1 / 2或全部EEPROM阵列 低功耗CMOS技术 1,000,000个编程/擦除周期 100年数据保留 工业和扩展温度范围 符合RoHS标准的8引脚PDIP,SOIC,TSSOP和8焊盘TDFN,UDFN封装...

  信息优势和特点 完整的8位DAC 电压输出:0 V至2.56 V 内部精密带隙基准电压源 单电源供电:5 V (±10%) 完全微处理器接口 快速建立时间:1 xxs内电压达到±1/2 LSB精度 低功耗:75 mW 无需用户调整 在工作温度范围内保证单调性 规定了 T min至T max的所有误差 小型16引脚DIP或20引脚PLCC封装 低成本产品详情AD557 DACPORT®是一款完整的电压输出8位数模转换器,它将输出放大器、完全微处理器接口以及精密基准电压源集成在单芯片上。无需外部元件或调整,就能以全精度将8位数据总线与模拟系统进行接口。AD557 DACPORT的低成本和多功能特性是单芯片双极性技术持续发展的结果。完整微处理器接口与控制逻辑利用集成注入逻辑(I2L)实现,集成注入逻辑是一种极高密度的低功耗逻辑结构,与线性双极性制造工艺兼容。内部精密基准电压源是一种取得专利的低压带隙电路,采用+5 V单电源时可实现全精度性能。薄膜硅铬电阻提供在整个工作温度范围内保证单调性工作所需的稳定性,对这些薄膜电阻进行激光晶圆调整则可实现出厂绝对校准,误差在±2.5 LSB以内,因此不需要用户进行增益或失调电压调整。新电路设计可以使电压在800 ns内达到±...

  AD558 电压输出8位数模转换器,集成输出放大器、完全微处理器接口和精密基准电压源

  信息优势和特点 完整8位DAC 电压输出:两种校准范围 内部精密带隙基准电压源 单电源供电:+5 V至+15 V 完全微处理器接口 快速建立时间:1 ±s内电压达到±1/2 LSB精度 低功耗:75 mW 无需用户调整 在工作温度范围内保证单调性 规定了 Tmin至Tmax的所有误差 16引脚DIP和20引脚PLCC小型封装 激光晶圆调整单芯片供混合使用产品详情AD558 DACPORT®是一款完整的电压输出8位数模转换器,它将输出放大器、完全微处理器接口以及精密基准电压源集成在单芯片上。无需外部元件或调整,就能以全精度将8位数据总线与模拟系统进行接口。这款DACPORT器件的性能和多功能特性体现了近期开发的多项单芯片双极性技术成果。完整微处理器接口与控制逻辑利用集成注入逻辑(I2 L)实现,集成注入逻辑是一种极高密度的低功耗逻辑结构,与线性双极性制造工艺兼容。内部精密基准电压源是一种取得专利的低压带隙电路,采用+5 V至+15 V单电源时可实现全精度性能。薄膜硅铬电阻提供在整个工作温度范围内保证单调性工作所需的稳定性(所有等级器件),对这些薄膜电阻运用最新激光晶圆调整技术则可实现出厂绝对校准,误差在±1 LSB以内,因此不需要用户进行增...

TAG标签: 主存概念
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。