自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 收藏
  • 关注

原创 PDE&PTE

一个大小为 1024 个元素的数组,用来保存页索引号。数组中的每个元素的高20 bit 用来保存页索引号,低 12 bit 保存页属性。:把物理内存中的页挨个编号,从 0 开始,一直到最后一页。图1 中展示了页目录、页表和普通物理页之间的关系。:页表本身既然也占用一页,那页表本身这个物理页也是有索引号的。所以保存这种物理页索引号的页表,叫一级页表,也叫页目录。二级页表,简称页表。这没有什么好惊讶的,因为一级页表中保存的,本来就是另一个页表所在物理页的索引号。0表示这是4KB页,指向一个页表。

2026-01-09 12:10:24 392

原创 PTE&TLB

TLB作为PTE的高速缓存,用于加速虚拟地址到物理地址的转换过程。

2026-01-09 12:04:17 233

原创 MAS(Micro-Architecture Specification)

由 IP 设计验证团队用于构建块级验证环境(测试平台、测试场景、测试用例以及测试方法/策略)。尽管此文档并非设计验证团队所使用的唯一工具,但它在验证规划流程中是一个关键部分,因为它能为设计团队与验证团队之间的测试计划会议提供有价值的数据支持。会向 IP 集成团队提供相关信息,以帮助他们将 IP 整合到更大的 IP 或系统级芯片中,并在系统层面验证该模块。4.此规范被后端硅验证团队所采用,并用于编制相关文档(例如编程指南等),这些文档需为外部客户准备。)由IP设计团队使用,用于描述模块的需求和功能。

2025-12-29 20:01:11 326

原创 初始Infinity Fabric

Infinity Fabric (IF) is a proprietary system interconnect architecture that facilitates data and control transmission across all linked components. This architecture is utilized by AMD's recent microarchitectures for both CPU (i.e., Zen) and graphics (e.g.

2025-12-17 16:45:26 763

原创 用户自定义verdi_config

【代码】用户自定义verdi_config。

2025-12-03 11:10:17 167

原创 Linux资源占用查询

在Linux系统中,监控资源占用是维护系统稳定运行的重要任务。可以通过多种命令来查看服务器的负载和资源占用情况,以及进行性能监控。

2025-12-02 10:41:40 406

原创 Gray Code

在跨时钟域时,使用二进制的方式很容易出现错误,容易出现亚稳态,相邻二进制地址变化时,不止一位发生变化。可以观察到,对于二进制码来说,当fifo深度为8时,低三位用来表示读和写的指针的位置,最高位(即第3位)用来判断读空和写满,而对于格雷码来说是要用高两位(即第3位和第2位)来判断读空和写满。当读和写指针的高两位不同,低两位相同时,判断为写满。但是异步FIFO读写时钟不同,而读写指针又是分属各自的时钟域,在进行空满检测的时候,是需要将读写指针进行跨时钟域处理的,即读指针跨时钟到写指针,写指针跨时钟到读指针。

2025-11-20 17:50:00 110

原创 初始Tmux

在普通的终端中,窗口和其中由于session(任务)而启动的进程是连在一起的,关闭窗口,session就结束了,session内部的进程也会终止,不管是否运行完。但是在具体使用中,我们希望当前的session隐藏起来,在终端中做其他事情,但是又不希望session及其进程被关闭。对于一个session,可以创建好几个window,对于每一个窗口,都可以将其分解为几个pane小窗格。session的名字,这个名字可以用于解绑后快速的重新进入该session。对于window可以理解为一个工作区,一个窗口。

2025-10-31 16:09:42 787

原创 Verdi与EDA配合的使用方法

3.交互式接口,控制灵活,仿真过程可修改dump信息,如dumpon/dumpoff。1.需要重新编译系统,浪费时间(不使用valuevalueplusargs时);2.使用高级语言接口,容易完成复杂处理,例如传递变量,例如使用正则表达式;2.Verilog是低级语言,对于文本处理比较困难,不支持正则表达式。其中dump_fsdb_vcs.tcl(ucli脚本为tcl语言)(VCS使用tcl脚本,irun、questa与该脚本类似)也可以使用交互式仿真:注释内容可以在仿真过程中键入。

2025-10-15 14:59:12 448

原创 Ultra Accelerator Link(UALink)Consortium

联盟于 2024 年 10 月成立,是一个开放的行业标准组织,致力于制定 UALink 规范,一种高速、可扩展的加速器互连技术,能够提升下一代人工智能和高性能计算集群的性能。成员包括阿里巴巴、AMD、苹果、Astera Labs、AWS、Cisco、谷歌、HPE、英特尔、Meta、微软和Synopsys。该联盟制定的技术规范有助于推动新兴人工智能应用模式的突破性性能,并支持数据中心加速器的开放生态系统。欲了解 UALink 联盟的更多信息,请访问 www.UALinkConsortium.org。

2025-08-26 17:21:06 437

原创 UALink是什么?

根据UALink推广组的说法,基于包括AMD的Infinity Fabric在内的“开放标准”,UALink 1.0将允许AI加速器所附带的内存之间的直接加载和存储,并且与现有互连规范相比,总体上将提高速度,同时降低数据传输延迟。与NVLink不同,UALink的目标是提供一个可扩展的、高性能的连接解决方案,支持AI和HPC应用,并允许多达1024个GPU AI加速器的连接,组成一个计算“集群”(pod),意指服务器中的一个或多个机架。使用增强的Ethernet来作为InfiniBand的替代方案。

2025-08-25 20:51:44 595

原创 如何查看VSIX文件?

vsix 文件是 Visual Studio Code 扩展的安装包,实际上是一个 ZIP 压缩文件。你可以通过解压缩 .vsix 文件或者改为.zip文件来查看其源代码和内容。

2025-08-20 17:20:26 395

原创 如何代开VSCode的settigns.json文件

使用命令面板(Ctrl+Shift+P或Cmd+Shift+P),输入“Preferences: Open XXX Settings (JSON)”并回车,迅速定位到该文件。

2025-08-20 17:15:40 519

原创 内网环境给VSCode安装插件

如果遇到插件不能安装成功可以升级一下本地的vscode版本,或者将.vsix文件改成.zip文件,同时修改里面package.json里面vscode的版本号和你本地的版本号一致就可以.点击“Download VSIX”;下载VSIX文件后,复制到内网。

2025-08-20 17:10:13 900

原创 Perl——qw()函数

qw()是用来指定了很多小单引号的句字是一个快速的方法。例如,qw(foo bar baz) 相当于 ('foo', 'bar', 'baz')。实际上,你可以使用任何,而不仅仅是括号组。

2025-08-13 19:20:08 640

原创 Perl——$_

在迭代循环中,当前循环的字符串会放在 $_ 中, 然后 通过 print 输出。另外 print 在不指定输出变量,默认情况下使用的也是 $_。

2025-08-12 20:51:28 369

原创 Perl——编译命令

【代码】Perl——编译命令。

2025-08-12 20:50:45 256

原创 Perl——Error Handling

在Perl编程语言中,错误处理是非常重要的一部分。错误处理能够帮助开发者有效地管理程序运行过程中可能出现的各种问题,比如文件操作失败、资源获取不到等。本文将详细介绍Perl中用于错误处理的三个关键函数:`die`、`warn` 和 `eval`。这些函数能够帮助程序员更好地理解和控制程序的行为,特别是在遇到错误时如何优雅地处理。

2025-08-12 20:49:47 373

原创 Perl——文件操作

使用select更改默认文件输出句柄。

2025-08-12 11:49:40 626

原创 CXL与PCIe的关系

CXL(Compute Express Link)是一种基于PCIe物理层的开放标准互连协议,旨在解决CPU与加速器、内存扩展设备之间的高效通信需求。CXL的核心目标包括:1.共享内存访问:允许加速器直接访问主机内存,减少数据复制开销。2.低延迟通信:通过优化协议栈实现更快的数据传输。3.异构计算支持:为AI、机器学习和其他高性能计算任务提供强大的硬件加速能力。CXL作为PCIe的扩展技术,通过引入共享内存访问、缓存一致性和低延迟通信等功能,为异构计算和高性能计算提供了强大的支持。

2025-05-23 09:57:58 1679

原创 光模块的产品形态

和 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 680

原创 硅光子学&Chiplet

传统可插拔光学模组解决的是 Floors/Racks/Systems 之间(> 1m)的光互联问题,但片间通讯(Card/Die,< 1m)对光子收发器的密度和性能要求更高,更短距离的互联需要进一步提升光子收发器的密度,从而部署在体积较小的显卡或是加速卡上,硅光子学的成熟让光子收发器的体积压缩从制作上成为可能,随着 Chiplet 技术的萌发,硅光子收发器更是能被直接安装在 Card/Die 旁,硅光子学模块有望在未来几年内渗透到这个计算中心的最后一米。铜缆的最大互联距离是光纤的 1/100 左右。

2025-05-22 10:56:07 1265

原创 片间互联现状

,CXL 的主要作用是让各个计算机部件(计算芯片、内存、硬盘和互联设备等)之间进行高速数据传输,让它们更好的协同工作,将服务器的每一个部件都分解并池化,CXL 的最终愿景是在计算中心里替代以太网(Ethernet),侧重于 Chip-to-Chip 的通讯,并且可以提供极高带宽和较低延迟。LLM 热潮带来对算力需求的升级,算力的可扩展性(Scalability)也成为芯片公司的重要竞争指标,NVIDIA 凭借 NVLINK 在模型训练市场占据了领先优势,也驱动计算中心的互联架构从。

2025-05-22 10:55:17 796

原创 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 685

原创 论Agilex9、7、5 和 3 FPGA 家族

2025-05-21 09:56:08 188

原创 LLM的应用

提示词工程,也称为 Prompt Engineering,是一种致力于优化和提高大型语言模型(LLM)输出质量的技术和方法。它主要关注如何设计、构造和优化提示词(Prompt),以引导 LLM 生成更准确、更有用、更符合用户需求的文本。可以说,掌握了提示词工程就掌握了打开 LLM 知识大门的钥匙。

2025-05-20 12:01:48 1477

原创 初始LLM

离线模型的部署方案比较成熟,每个离线模型的部署都有可以参考的文档。ChatGpt 的 token 贵的原因除了训练模型比较耗钱外,我们向LLM发起请求时,每个请求都会在 LLM 的内部发起比较复杂的运算,这些运算对硬件的要求也很高,所以每次发起请求时都有不少的运行时成本。我浅显的经济学知识告诉我 OpenAI 的 ChatGpt 模型虽说远不是垄断企业,但是也绝对不是竞争市场企业,可以大致的把 OpenAI 看成是寡头企业,再考虑到当前 ChatGpt 的良好表现,贵一些还是有贵一些的道理。

2025-05-20 11:57:20 1076

原创 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 1764

原创 PSA Certified

设计领域的黄金标准。通过对安全启动、加密服务以及更新协议等方面制定全面的要求,PSA Certified为芯片制造商提供了清晰的路线图,使其能将安全机制深植于定制芯片解决方案的基础架构中。作为对PSA Certified的补充,物联网平台安全评估标准 () 为定制芯片的安全评估提供了结构化的方法。该标准深入剖析多个关键安全领域,涵盖从安全初始化流程到敏感数据彻底清除的全过程,确保定制芯片在整个运行生命周期内始终保持其完整性与安全性。

2025-05-16 14:49:02 314

原创 CCN系列产品的比较

2025-05-16 14:46:46 209

原创 初识 Cache 一致性

如果输入将数据放在Cache中,而且输出从Cache中读取数据,那I/O和处理器会看到相同Data。这种方法的难点在于它干扰了处理器,可能会导致处理器因为等待I/O而停顿。在带有Cache的计算机中,I/O系统的目标应当是防止出现数据过期问题,同时尽可能减少干扰。因此,许多系统喜欢直接对主存进行I/O操作,把主存当做一个I/O缓冲区。只要处理器是唯一修改或读取数据的组件,并且缓存位于处理器和存储器之间,那处理器看到旧副本或者说过期副本的危险性就很低。对于I/O而言,出现多个数据副本是非常罕见的。

2025-05-15 11:29:33 293

原创 CBFC(基于信用的流量控制)

随着网络规模和应用的快速增长,拥塞已经成为一个日益重要而突出的问题。尽管拥塞控制策略已经广泛应用,但是提高网络吞吐还是一个重要方向,本文介绍一种基于信用的流量控制方式(credit-based。

2025-05-15 11:24:40 1212

原创 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 684

原创 集成设备管理(IDM)

集成设备管理 (IDM) 是 CI-700 上的一项功能,可提高系统的稳健性,从而减少设备重新启动的需要。当这种情况发生时,它将把有问题的设备与系统的其余部分隔离。最后,它将通知软件并允许其采取补救措施,例如重置设备、启动设备(例如,通过一些积极的电源管理等)。总体而言,Arm 预计此功能将减少用户最终为解决问题而重新启动设备(例如机顶盒、WiFi、路由器等)的次数。相反,软件可以正常访问设备,并且 IDM 可以自动尝试重新启动设备,并使这一切透明地发生在软件上,尽管会造成一些延迟。

2025-05-13 14:59:18 485

原创 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 1759

原创 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 386

原创 cache state

为啥要更新主存呢,就是因为cache里面的数据跟主存里面的数据不一样,有新数据了。:Unique的意思是这个地址的数据,只在我这个cache里面有,其他的cache都没有这个数据。比如说:cpu0读到的这个数据,然后改写了,原来数据地址是0x0010,数据是0x1111,现在跟主存里面的数据是一样的,所以没有责任更新主存,是clean的。:这个好理解呀,你读回来一个数据,你这个cache这个数据就是valid的,如果这个数据在其他cache修改了,你这就是个旧数据,那就是invalid。

2025-05-12 15:29:35 456

原创 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 760

原创 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 913

原创 ARM系统中,不同芯粒之间该怎么通信?

过去标准化常被视为放弃自身的 IP 或竞争优势。但如今,鉴于系统的高度复杂性以及合作模式的演变,标准化变得尤为重要——所有参与方都将从中获得多重益处。芯片到芯片互连协议等倡议的落地实施,确保来自不同供应商的不同芯粒通过一个统一的接口协议来确保芯粒之间的互操作性。Arm 推出的芯粒系统架构 (Chiplet System Architecture,),旨在对各个芯粒之间及在整个系统内的通信方式等多个方面实现标准化。此外,Arm 携手合作伙伴共同推动。

2025-05-12 09:56:01 269

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除