- 博客(67)
- 收藏
- 关注
原创 CXL与PCIe的关系
CXL(Compute Express Link)是一种基于PCIe物理层的开放标准互连协议,旨在解决CPU与加速器、内存扩展设备之间的高效通信需求。CXL的核心目标包括:1.共享内存访问:允许加速器直接访问主机内存,减少数据复制开销。2.低延迟通信:通过优化协议栈实现更快的数据传输。3.异构计算支持:为AI、机器学习和其他高性能计算任务提供强大的硬件加速能力。CXL作为PCIe的扩展技术,通过引入共享内存访问、缓存一致性和低延迟通信等功能,为异构计算和高性能计算提供了强大的支持。
2025-05-23 09:57:58
988
原创 光模块的产品形态
和 Co-package 、 Pluggable Optics 相比,In-package Optics 更符合它们的技术目标。市面上光模块的产品形态有三类,分别是 Pluggable Optics,Co-Package Optics和In-Package Optics,Pluggable Optics 是当下最主流的方案,• IPO 通过采用硅互连,跳过传统铜线,彻底解放了光模块的性能极限,在带宽、能耗和延迟和Pluggable Optics、CPO 两个仍需要使用铜线的方案比有极大的优势。
2025-05-23 09:54:13
397
原创 硅光子学&Chiplet
传统可插拔光学模组解决的是 Floors/Racks/Systems 之间(> 1m)的光互联问题,但片间通讯(Card/Die,< 1m)对光子收发器的密度和性能要求更高,更短距离的互联需要进一步提升光子收发器的密度,从而部署在体积较小的显卡或是加速卡上,硅光子学的成熟让光子收发器的体积压缩从制作上成为可能,随着 Chiplet 技术的萌发,硅光子收发器更是能被直接安装在 Card/Die 旁,硅光子学模块有望在未来几年内渗透到这个计算中心的最后一米。铜缆的最大互联距离是光纤的 1/100 左右。
2025-05-22 10:56:07
968
原创 片间互联现状
,CXL 的主要作用是让各个计算机部件(计算芯片、内存、硬盘和互联设备等)之间进行高速数据传输,让它们更好的协同工作,将服务器的每一个部件都分解并池化,CXL 的最终愿景是在计算中心里替代以太网(Ethernet),侧重于 Chip-to-Chip 的通讯,并且可以提供极高带宽和较低延迟。LLM 热潮带来对算力需求的升级,算力的可扩展性(Scalability)也成为芯片公司的重要竞争指标,NVIDIA 凭借 NVLINK 在模型训练市场占据了领先优势,也驱动计算中心的互联架构从。
2025-05-22 10:55:17
515
原创 Optical IO技术的两个典型应用
其中Gen2为Ayar Labs当前产品的指标,仍然采用的是AIB接口,单颗TeraPHY芯片含8个光学端口,每个通道中含有8个波长,每个波长的信号速率为32Gbps, 总的双向带宽为4Tbps。对于Ayar Labs来说,optical IO技术可以将不同机架上的GPU、GPU与交换机芯片互联起来,摆脱铜缆传输距离的限制,提供更高带宽、更低延迟、更低功耗的互联方案。在AIGC领域,大模型的参数比较多,而单颗GPU的计算与存储能力有限,需要将多颗GPU组成一个计算能力更强的计算单元来完成计算任务。
2025-05-21 10:02:31
379
原创 LLM的应用
提示词工程,也称为 Prompt Engineering,是一种致力于优化和提高大型语言模型(LLM)输出质量的技术和方法。它主要关注如何设计、构造和优化提示词(Prompt),以引导 LLM 生成更准确、更有用、更符合用户需求的文本。可以说,掌握了提示词工程就掌握了打开 LLM 知识大门的钥匙。
2025-05-20 12:01:48
1072
原创 初始LLM
离线模型的部署方案比较成熟,每个离线模型的部署都有可以参考的文档。ChatGpt 的 token 贵的原因除了训练模型比较耗钱外,我们向LLM发起请求时,每个请求都会在 LLM 的内部发起比较复杂的运算,这些运算对硬件的要求也很高,所以每次发起请求时都有不少的运行时成本。我浅显的经济学知识告诉我 OpenAI 的 ChatGpt 模型虽说远不是垄断企业,但是也绝对不是竞争市场企业,可以大致的把 OpenAI 看成是寡头企业,再考虑到当前 ChatGpt 的良好表现,贵一些还是有贵一些的道理。
2025-05-20 11:57:20
946
原创 D2D&C2C
D2D(Die-to-Die)互联指的是同一封装内部的裸片(die)之间的直接互联。通过封装内的互连结构,例如硅通孔(Through-Silicon Vias, TSV)或重新分布层(Redistribution Layer, RDL),实现裸片之间的高带宽、低延迟通信。C2C(Chip-to-Chip)互联指的是两个独立封装芯片之间的通信,通常通过PCB(印刷电路板)、互连电缆、或无线通信技术实现数据交换。属性封装关系裸片间通信(同一封装内部)独立芯片间通信(不同封装之间)通信距离微米至毫米级。
2025-05-19 14:31:50
1293
原创 PSA Certified
设计领域的黄金标准。通过对安全启动、加密服务以及更新协议等方面制定全面的要求,PSA Certified为芯片制造商提供了清晰的路线图,使其能将安全机制深植于定制芯片解决方案的基础架构中。作为对PSA Certified的补充,物联网平台安全评估标准 () 为定制芯片的安全评估提供了结构化的方法。该标准深入剖析多个关键安全领域,涵盖从安全初始化流程到敏感数据彻底清除的全过程,确保定制芯片在整个运行生命周期内始终保持其完整性与安全性。
2025-05-16 14:49:02
219
原创 初识 Cache 一致性
如果输入将数据放在Cache中,而且输出从Cache中读取数据,那I/O和处理器会看到相同Data。这种方法的难点在于它干扰了处理器,可能会导致处理器因为等待I/O而停顿。在带有Cache的计算机中,I/O系统的目标应当是防止出现数据过期问题,同时尽可能减少干扰。因此,许多系统喜欢直接对主存进行I/O操作,把主存当做一个I/O缓冲区。只要处理器是唯一修改或读取数据的组件,并且缓存位于处理器和存储器之间,那处理器看到旧副本或者说过期副本的危险性就很低。对于I/O而言,出现多个数据副本是非常罕见的。
2025-05-15 11:29:33
232
原创 CBFC(基于信用的流量控制)
随着网络规模和应用的快速增长,拥塞已经成为一个日益重要而突出的问题。尽管拥塞控制策略已经广泛应用,但是提高网络吞吐还是一个重要方向,本文介绍一种基于信用的流量控制方式(credit-based。
2025-05-15 11:24:40
398
原创 cache一致性协议之MESI与MOESI协议
Valid;Valid;Valid;协议的不便之处在于:假设CPU A有个一个M态的cache line,而此时CPU B想获取此cache line,那么总线必须通知CPU A将cache line同步到主存中。在这个过程中,总线与主存的交互会消耗较长的时间,如果可以在不将数据同步回主存的情况,将CPU A的数据通过总线发送给CPU B,将会节省时间,提高效率。协议就优化了这一不便之处。MOESI协议允许cache之间共享dirty cache line。
2025-05-14 11:21:10
440
原创 集成设备管理(IDM)
集成设备管理 (IDM) 是 CI-700 上的一项功能,可提高系统的稳健性,从而减少设备重新启动的需要。当这种情况发生时,它将把有问题的设备与系统的其余部分隔离。最后,它将通知软件并允许其采取补救措施,例如重置设备、启动设备(例如,通过一些积极的电源管理等)。总体而言,Arm 预计此功能将减少用户最终为解决问题而重新启动设备(例如机顶盒、WiFi、路由器等)的次数。相反,软件可以正常访问设备,并且 IDM 可以自动尝试重新启动设备,并使这一切透明地发生在软件上,尽管会造成一些延迟。
2025-05-13 14:59:18
321
原创 CMN-700的发布
Arm表示,通常情况下,snoop过滤器的大小需要至少是核心独占缓存总量的1.5倍,所以在80核的Altra Q中,每核1MB的L2,在网格上至少需要120MB的snoop过滤器缓存,以及32MB的SLC。其中一部分是通过代际更高的网格频率实现的,但新设计更重要的是现在允许节点之间的网格通道加倍。Arm在这里透露了每个die的最大SLC高达512MB,这意味着每个节点4MB,而奇怪的是,CMN-600只支持128MB,这在技术上是不正确的,因为参考手册说它在64个节点上每个节点4MB可达到256MB。
2025-05-13 11:37:51
1059
原创 cacheline state
首先在SOC里面知道,CPU2要往地址0x0010这个地址写一个数据进去,L02里面必须要有这个地址的数据。所以如果没有UCE这个状态,CPU2就必须去把地址0x0010的数据读到自己的cache里面去,但CPU2知道他要改写这个地址,你读回来的数据我不用,读了就是浪费时间浪费带宽呀。假设现在CPU2要这个地址,但是不需要这个数据,为什么不需要这个数据呢,因为CPU2即将自己给这个地址赋值,那CPU2就申请说我的L02要这个地址是UCE的,然后要把CPU0和CPU1里面的这个地址的数据invalid掉。
2025-05-12 15:42:52
264
原创 cache state
为啥要更新主存呢,就是因为cache里面的数据跟主存里面的数据不一样,有新数据了。:Unique的意思是这个地址的数据,只在我这个cache里面有,其他的cache都没有这个数据。比如说:cpu0读到的这个数据,然后改写了,原来数据地址是0x0010,数据是0x1111,现在跟主存里面的数据是一样的,所以没有责任更新主存,是clean的。:这个好理解呀,你读回来一个数据,你这个cache这个数据就是valid的,如果这个数据在其他cache修改了,你这就是个旧数据,那就是invalid。
2025-05-12 15:29:35
322
原创 snoop操作怎么维护一致性?
假设cpu0要读地址addr=0x08的数据,这个数据L01有一份,DDRC里肯定也有一份,但是CPU0不知道这个事情,然后CPU0会发出一个读请求到HN,它会发一个snoop请求给到CPU1,然后CPU1把数据“可以”给HN,然后HN再把数据回给CPU0。另一种:就是CHI这种,HN要搞个directory记录着各个cacheline,所以来了一个请求,我HN是知道哪个cpu有这个地址的数据的,所以每来一个请求,HN就查directory,查到哪个节点有数据,什么状态,就精准的往对应节点发snoop。
2025-05-12 15:13:04
516
原创 AXI&ACE&CHI的对比
的AR/R/AW通道相比AXI也增加了一些一致性的接口。因此互连需要大量的线和增加的通道来进行snoops和响应。AXI/ACE的spec参见:"IHI0022E_amba_axi_and_ace_protocol_spec.pdf"协议使用了master/slave之间的信号电平通信,ACE和AXI相比除了AR/R/AW/W/B通道外还增加了。CHI的spec参见:"IHI0050G_amba_chi_architecture_spec.pdf"可以说CHI和以往的AXI/ACE是完全不同的架构。
2025-05-12 14:51:53
504
原创 ARM系统中,不同芯粒之间该怎么通信?
过去标准化常被视为放弃自身的 IP 或竞争优势。但如今,鉴于系统的高度复杂性以及合作模式的演变,标准化变得尤为重要——所有参与方都将从中获得多重益处。芯片到芯片互连协议等倡议的落地实施,确保来自不同供应商的不同芯粒通过一个统一的接口协议来确保芯粒之间的互操作性。Arm 推出的芯粒系统架构 (Chiplet System Architecture,),旨在对各个芯粒之间及在整个系统内的通信方式等多个方面实现标准化。此外,Arm 携手合作伙伴共同推动。
2025-05-12 09:56:01
170
原创 AI Coding
2024年6月20日,Anthropic 公司发布 Claude-3.5-Sonnet 模型,该模型在编程能力上取得重大突破,显著推动了业界 Cursor、Devin、Windsurf 等标杆产品的破圈应用。AI Coding 产品的发展可极大地提升专业开发者的编程效率,使其能够将重复性工作交给 AI 处理,把更多精力投入到创造性工作中。这种演进不仅有望进一步降低编程的门槛,使更多泛开发者、非专业人士能够进入编程行业,推动编程的民主化,为后续的软件开发、产品交互及流量生态带来新的发展可能性。
2025-05-09 10:40:44
312
原创 内存条的组成、编址、寻址和读写方式
由此可知:Rank其实就是一组内存颗粒位宽的集合,也可以叫Chips,在PCB上,往往把一面上的内存颗粒组成一个Rank,另一面是另外一个Rank(假若有的话),这样也可以将Rank理解内存条的Side(面)。所以我们可以把内存简单的看成一个线性数组,数组每个元素的大小为8bit,我们称为一个存储单元,对这些存储单元我们从0x00000000开始沿着Rank的访问编址,每8个Cell加1,这样数组里的每个元素都由地址,超过一个Rank的,从上一个Rank的最后一个Cell的地址加1作为基地址。
2025-05-08 14:31:17
844
原创 PCIe之Link Training
进入configuration.Idle之后发送idle data,及发送data( before scramble) 8’h0,rx收到8个idle,tx发送16个idle之后进入l0,此时linkup首次被拉高。第一步,dsp的link num=0,lane num=pad,usp收到后回复ts1的link num=0,lane num=pad;主要用作握手功能,告诉对方自己已经准备好了,至少收发8个ts2之后进入configuration.idle。
2025-05-08 14:26:14
425
原创 初始AMBA总线
数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SOC设计中得到了广泛应用。为此,业界出现了很多片上总线标准。其中,由ARM公司推出的AMBA片上总线受到了广大IP开发商和SoC系统集成者的青睐,已成为一种流行的工业标准片上结构。AMBA总线是ARM研发的(Advanced Microcontroller Bus Architecture)提供的一种特殊的机制,可以将RISC处理器集成在其他IP芯核和外设中,它是有效连接IP核的“数字胶”,并且是ARM复用策略的重要组件。
2025-05-08 14:24:00
126
原创 Synthesis的分类
EDA工具自动将上一个设计层次的数据转换成下一个层次的设计数据,可大大减少人工消耗,提高设计效率、准确度和复用性。分为行为综合、逻辑综合和物理综合。将基于HDL描述的RTL代码自动转换成门级网表,所用连线延时是布局布线后提取的真实值。将基于HDL代码描述的行为级代码自动转换为RTL级代码,只考虑逻辑不考虑延时。将基于HDL描述的RTL代码自动转换为门级网表,所用连线延时是理论预估值。
2025-05-02 17:29:36
230
原创 芯片中的pad、strap和probe
Probe模式通常通过软件或者硬件的方式使芯片进入该模式,然后可以进行一些特殊的操作,例如读取芯片内部寄存器的值、测试IO口的工作状态等。:芯片引脚的通用术语,它是芯片与外部世界进行联系的接口,用于输入输出信号、电源、地线等。Pad可以是单个引脚,也可以是引脚的组合,通常由芯片厂商进行设计和定义。Straps通常由电阻、电容和开关等元器件组成,可以通过连接或断开不同的电路来控制芯片的工作模式。总之,Pad、Strap和Probe是芯片设计中常用的术语,它们分别指芯片引脚、启动配置电路和调试测试模式。
2025-05-02 08:43:19
768
原创 PCIe之TS序列
2)当switch接收到TS1时直接进入recovery.rcvlock状态并向对端发送若干TS1序列(此时还没有检查接收TS1的speed change状态位,所以发送的TS1序列,speed change 仍然为0),当switch收到8个连续的TS1(speed change 位为1),将改变switch本地的dircted_speed_change 置1,此时再向EP发送若干TS1序列(speed change 为1)。并向switch发送TS2序列(其speed change 也为1)。
2025-05-01 00:12:04
438
原创 论MMU&SMMU&IOMMU
所有的STEs共同构成了Stream Table,可由StreamID作为Stream Table数组的索引,查找得到对应的STE,因此StreamID也就成了设备唯一性的标识。有了MMU可以在OS上运行超过系统内存的程序,此时通过OS设置的交换分区(通常是硬盘)通过将不活跃的内存中的数据放入交换分区,操作系统可以腾出其空间来为其它的程序服务。MMU/SMMU的发展是围绕着虚拟内存管理(Virtual Memory Management)技术,就产生了分页技术,虚拟地址,地址空间,TLB,MMU等概念。
2025-04-30 10:20:31
571
原创 NOC科普一
网状,是最广泛使用的互联拓扑结构,每个路由器都通过通信通道连接到一个计算资源和四个相邻路由器(分别是North,south,west,east),每个router都通过通信通道连接到一个PE和四个相邻routers。但它的直径随着节点数量的增加而显着增加。:星形,在星形结构的中间有一个中心节点,它连接着周围所有的节点,这样的星形结构使得所有节点互相传递消息的距离为2(先传给中心节点,再传给星角上的另一个)。:蝴蝶拓扑,把所有节点分到两边,中间加一层过渡节点,负责通路上通信的开关,成本比较低。
2025-04-29 20:08:01
664
原创 流量控制机制
在基于信用的流量控制中,每个下游路由器都维护了一个信用计数器,用于跟踪其可用的缓冲空间。当一个数据包(或者说flit)被成功接收后,下游路由器会向上游路由器发送一个信用(credit),表示它已经释放了一个缓冲位置。发送方维护一个窗口,窗口大小表示可以发送并且没有被确认的数据包的数量。当接收方确认了一个数据包,窗口就会向前滑动,允许发送方发送更多的数据包。这种方法中,接收方根据其当前的资源使用情况(例如,缓冲区的使用情况或处理器的使用情况)向发送方反馈信息。发送方根据这个反馈来调整其数据的发送速度。
2025-04-29 20:06:36
496
原创 FlexNoC-Latency
当master慢于slave的工作频率时,latency还待研究。当master和slave工作在同一时钟时,latency为。当master慢于slave的工作频率时,latency为。
2025-04-29 20:01:46
294
原创 FlexNoC随手记
8.MUX的common Link width应该为所有source的data width之和,这样才有可能MUX的source同时打满带宽。2.要想在有Reorder Buffer 的通路上增加Link,需要先加Link再设置Reorder Buffer;否则会导致软件崩溃。3.nBytePerReadBuffer==nBytePerWordResponse时,从slave出的Burst Len会发生变化。4.Reorder Buffer可以解决同一个ID访问不同slave时降低带宽利用率的问题。
2025-04-29 19:58:30
600
原创 DDI0487--A1.7
如果某个值在组件的状态中被标记为存在错误,则称其处于被污染状态,这样一来,在后续对状态的访问中,会检测到该值已被标记为存在错误,并将其视为已检测到的错误。例如,在事务中传递了已损坏的值,但没有任何迹象表明它已损坏。如果事务的消费者无法检测到错误,并且由于事务而消耗未检测到的错误,则错误将由事务的生产者静默传播。在没有错误检测的系统中,所有错误都是潜在错误,它们会通过各个组件默默地传播下去,直到被掩盖住或产生故障。如果事务导致错误变得无法检测,则潜在的(可能检测到的)错误将由其他正确事务的消费者静默传播。
2025-04-29 19:48:36
871
原创 CCI-400 cache一致性控制器
所有这些接口都有可选的DVM消息支持,以管理分布式内存管理单元(MMU),例如CoreLink MMU-400。这些单元可以通过CCI-400与最多三个ACE-Lite从机进行通信。CCI-400还支持多达三个ACE-Lite主站,例如,ARM MaliTM-T600系列图形处理器单元(GPU)。CCI-400将互连和一致性功能结合到一个模块中。硬件管理的一致性可以通过共享片上数据来提高系统性能和降低系统功耗。CCI-400cache一致性控制器实现了ACE协议。中的cache一致性控制器。
2025-04-28 16:11:43
324
原创 DDI0487--A1.3
这意味着不同的软件层,例如应用程序,操作系统内核和虚拟机监控程序在不同执行状态之间进行转换。系统寄存器采用一种标准命名格式:<register_name>.<bit_field_name>以标识特定寄存器,以及寄存器的控制和状态位。关于更多信息,包括寄存器的描述,请参阅ARM通用中断控制器架构规范,GIC架构3.0版本和4.0版本(ARM IHI 0069).从ARM通用中断控制器架构的第3版开始,GICv3,GIC架构规范定义了系统寄存器接口及其部分部分功能。系统寄存器提供有关架构控制和状态信息。
2025-04-28 16:01:48
492
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人