- 博客(161)
- 收藏
- 关注

原创 On-Chip-Network 阅读整理
On-Chip-Networks之interface with system architecture。On-Chip-Networks之introduction。On-Chip-Network之Topology。On-Chip-Network之routing。
2024-11-25 15:25:34
774

原创 Memory consistency model 梳理目录
常见的一些RELAXED MODEL CONCEPTS。Coherence & Consistency的背景。coherence的基本概念。SC的实现原理及方式。
2024-11-13 14:42:58
537

原创 CHI协议简读汇总
(210条消息) CHI trans简析--Non-Allocating Read_newyork major的博客-优快云博客。(210条消息) chi中的trans简析---Allocating Read_newyork major的博客-优快云博客。(210条消息) CHI trans简析--combined trans_newyork major的博客-优快云博客。(210条消息) CHI trans简介---Atomic trans_newyork major的博客-优快云博客。
2023-07-23 10:53:14
954
原创 On-Chip-Network典型实现之PRINCETON PITON
NoC3传输L1.5的回写和从memory controller到L2的响应。为了确保消息类之间的deadlock-freedom,noc之间的优先级顺序为NoC3 > NoC2 > NoC1。该设计本质上使用多个物理网络,而不是在相同的物理链路上复用多个VCs。它通过一个名为Piton的25核平 铺处理器 ASIC 原型进行了演示,该原型采用 32 nm 工艺,运行速度为 1 GHz。这款多核处理器使用 OpenSPARC T1 内核,并提供通过三个 NoC 互连的内存子系统。
2024-12-12 15:20:17
413
原创 On-Chip-Network典型实现之MIT EYERISS
在过去十年中,片上网络一直在推动商业产品和研究原型中真正的多核芯片的发展。我们在这里讨论其中的一些案例研究,重点关注它们互连的系统和设计规范。我们重点介绍拓扑、路由算法、流量控制和 路由器微架构,并将这些设计与前面章节中介绍的基本概念联系起来;但是,在某些情况下,关于这些芯片的公开信息有限,因此对它们的处理可能不完整。表8.1总结了本章讨论的所有芯片的功能。案例研究 按时间顺序排列,从最新的开始。
2024-12-12 15:01:45
864
原创 On-Chip-Network之router微架构的物理实现
自20世纪90年代以来,功耗一直是嵌入式芯片和高性能芯片面临的一个挑战。自2000年代中期以来,它已经成为大多数设计的主要约束。多核解决了功耗问题,由此产生的communication substrate,namely the on-chip network,对多核的总功耗起着积极的作用——both dynamic and leakage。图6 - 18a给出了一个最先进的mesh router和四个VCs的功率分布。这些数字来自32nm的芯片。
2024-12-04 17:16:50
1285
原创 On-Chip-Network之router pipeline
图6.15a显示了basic virtual channel router的logical pipeline stages,其中包含所有 到目前为止讨论过的组件。就像典型处理器的逻辑流水线阶段一样:指令获取、解码、执行、存储和写回,these are logical stages that will fit into a physical pipeline depending on the actual clock frequency。
2024-12-04 15:56:18
822
原创 On-Chip-Network之Router Microarchitecture
Router的设计必须在严格的面积和功耗限制下满足延迟和吞吐量要求;这是设计人员在多核系统 扩展过程中面临的主要挑战。router的复杂性随着带宽需求的增加而增加;当不需要高吞吐量时,可以构建具有low area and power开销的非常简单的router(unpipelined, worm hole, no VCs, limited buffering)。当片上网络的延迟和吞吐量需求增 加时,挑战就出现了。
2024-12-03 16:06:43
1139
原创 On-Chip-Networks之Flow Control
Flow control决定着network buffer和links的分配。它决定何时将buffer和link分配给消息、分配的粒度以及如何在使用network的众多消息之间共享这些资源。一个好的flow control protocol会通过不在resource allocation中产生高开销,从而降低low loads下消息所经历的延迟,并通过在消息之间有效共享buffer和link来提高网络吞吐量。
2024-11-26 14:25:07
941
原创 On-Chip-Network之routing
在确定网络拓扑之后,路由算法用来决定消息将通过网络的哪条路径到达目的地。路由算法的目标是将流量分布在由网络拓扑提供的路径上,以avoid hotspots and minimize contention,从而减少网络延迟和提高吞吐量。所有这些性能目标必须在严格遵守实现复杂性约束的同时实现:路由电路可能会延长关键路径的延迟,并增加router的area footprint。虽然路由电路的能量开销通常很低,但选择的具体route会直接影响hop count,从而极大地影响能量消耗。
2024-11-25 15:21:48
1212
原创 On-Chip-Network之Topology
我们在本章开头介绍了各种抽象指标,并用它们来比较和对比各种常见拓扑。在这里,我们将讨 论这些简单指标对片上网络实现的影响,解释为什么它们是片上网络延迟、面积和功耗的良好代理,同时强调使用这些指标的常见陷阱。Node degree可用作router complexity的代理,因为higher degree意味着端口数量越多。
2024-11-22 11:27:11
1148
1
原创 On-Chip-Networks之interface with system architecture
在过去15年中,单核处理器计算机芯片已让位于多核芯片。这些多核和众核系统已成为计算机系统的主要组成 部分,标志着我们设计和构建这些系统的方式发生了重大转变。未来性能的提升将依赖于消除处理器与内存组件之间的通信瓶颈,这些内存组件为这些高带宽的多核设计提供数据。execution units或cores之间的高效通信将日益成为提高多核芯片性能的关键因素。此处我们主要讨论如下三种主要的architecture。
2024-11-20 16:14:15
816
原创 On-Chip-Networks之introduction
自从20世纪90年代末引入对多核芯片的研究以来,on-chip networks 已经成为一个重要的和不断增长的研究领域。随着核数的增加,从高端服务器到智能手机甚至物联网网关的领域都出现了多核处理器,为提高核利用率而产生的带宽需求也相应增加,对可扩展的片上互连结构的需求至关重要。应用平台的多样性导致片上网络的研究跨越了从计算机体系结构到计算机辅助设计、嵌入式系统、超大规模集成电路等各种学科。本文综合了片上网络中的关键概念,以快速引导学生和设计师进入这一令人兴奋的领域。
2024-11-19 17:33:08
1196
转载 闲聊内存模型(Memory Model)
现在大多数多核芯片在硬件中支持共享内存,设计和评估一个正确的共享内存系统需要准确理解内存模型。尽管这些模型千奇百怪,各有优缺点,但我们只要,就可以轻松拿捏它们。不要太在意边边角角的点,不然很容易陷进去。本文闲聊的内容框架大致如下,如果有出现专有名词,就不再解释了,请各位自行搜索下,或者翻看我的历史文章。
2024-11-13 14:56:44
128
原创 CPU指令融合技术概述
为了实现宏融合,fetch阶段预取到指令后,对指令进行扫描,如果连续两条指令的全部有效指令域,经优化可以由单独一条指令容纳,则将这两条指令融合成一条“融合指令”。已有指令的空闲指令域不多甚至没有;相邻的两条指令之间有数据依赖关系;
2024-10-11 16:56:34
488
原创 BTB结构分析
1. L1I的miss与BTB miss相比,谁带来的penaty更大?2. FTQ/Decode Q的深度,对处理器性能的影响;
2024-10-11 10:56:48
1263
原创 分支预测器的几个关键节点
训练过程,即训练过程中,各个关键参数是如何变化的; 预测过程,即是如何根据现有的信息,进行预测的; BTB/PHT/GHR等关键信息的update时刻; BTB/PHT/GHR等关键信息的update方式; 预测成功时,关键信号的变化; 预测失败时,关键信号的变化; 预测失败时,如何进行恢复;
2024-10-11 10:23:04
199
原创 TAGE-SC分支预测器
在昆明湖 TAGE-SC 预测器中,会同时得到 TAGE 和 SC 的预测结果 P1 和 P2,然后对他们的结果进行累加 P = P1+P2如果 P 的绝对值大于8bit 的阈值sc_bank_thres,则采用预测器结果 P;否则则采用 P1 作为最终预测结果。为了进行动态自适应,阈值sc_thres是需要是动态变化的。为此在实现上TAGE-SC使用了一个5bit的sc_bank_ctr计数器对阈值sc_bank_thres进行调整。
2024-10-10 17:12:46
902
原创 TAGE-SC-L predictor
上一篇文章中介绍了TAGE预测器的基本结构以及算法,本文将会介绍TAGE的两种主要的变体,或者说是辅助预测器件,即对应的TAGE预测器变体则可以是TAGE-L/TAGE-SC/TAGE-SC-L;
2024-10-09 17:46:51
1130
原创 香山南湖架构分析--FE
阶段发现它的最后 2 bytes 是一条 RVI 指令的前半部分时,我们把这条 RVI 指令算在这个块里,同时我们取两个 cache line 的机制保证后半部分是一定可以被取到的,因此我们只需要在发生这种情况的时候置一个标识位,当下一个块来的时候把第一个 2 bytes 排除在指令的有效范围之外即可。一种多个不同延迟的预测器的组织形式,延迟大的、相对更准确的预测器被放在后面的流水级,其产生的预测结果会与前面的预测器进行比较,如果不同则会冲刷流水线,整体预测结果以最准确的预测器为准。
2024-10-09 16:02:27
1610
原创 Machine Mode下的Excp处理
有时需要在处理异常的过程中转到处理更高优先级的中断。mepc, mcause,mtval 和mstatus 这些控制寄存器只有一个副本,那么在处理第二个中断的时候,怎么处理这些寄存器呢?可抢占的中断处理程序可以在启用中断之前把这些寄存器保存到内存中的栈,然后在退出 之前,禁用中断并从栈中恢复寄存器。RISC-V中实现精确例外:保证异常之前的所有指令都完整地执行了,而后续的指令都没有开始执行(或等同于没有执行)机器模式最重要的特性是拦截和处理异常(不寻常的运行时事件)的能力。RISC-V将 异常分为两类。
2024-10-08 17:31:41
900
原创 经典5级流水线概述
这两个从右向左的数据流不会影响当前指令;只有当前指令以后的指令才会受到这种数据反向活动的影响。需要注意的是,第一个例外会导致数据冒险,而第二个会导致控制冒险。图中,Memory这一步,只有load/store会有,所以其他的指令都是pass掉的;
2024-10-08 16:22:48
962
原创 处理器中的几种hazard
什么是hazard?Instructions interact with each other in pipeline ;Structural Hazard原因:An instruction in the pipeline may need a resource being used by another instruction in the pipeline ; Structural hazard occurs when two instructions need same hardwar
2024-10-08 12:10:18
1280
原创 CHI协议中的LPID
当某个requester包含多个logically separate processing agent时,使用这个LPID;
2024-09-30 14:31:03
318
原创 CHI trans简介--prefetch
用来预测性的从main memory中取数据;访问的是Snoopable的地址空间,从RN中,直接发送给SN;此命令不包含response;SN收到该请求后,将从off-chip memory获取数据,同时将读取回来的数据进行缓存,以便于后续读取相同地址的命令使用;此命令不能被retry, RN在发送了该请求之后,会很快的deallocate这个请求;作为receiver, 必须要能够接受这个指令,而不能和读取相同地址的操作之间,有任何的依赖;
2024-09-29 11:00:53
428
转载 NoC片上网络 On-Chip Network--虚拟通道
6.1 虚拟通道路由器微体系结构 VC Router MicroArchitecture。6.4 分配器和仲裁器 Allocators and Arbiters。6.4.4 波前分配器 WAVEFRONT ALLOCATOR。6.2 缓冲区和虚拟通道 buffer and vc。6.3 开关设计 Switch Design。6.4.1 round-robin 仲裁器。6.3.3 交叉开关切分 Slicing。6.4.5 分配器的组织方式。6.3.1 交叉开关设计。6.3.2 交叉开关加速。
2024-09-12 16:33:42
265
转载 NOC的拓扑结构及路由整理
转载自《芯片验证日记》转载的《老秦谈芯》;部分内容格式做了调整,便于更加具象化;随着近些年SoC的设计规模越来越大,片上网络(NoC,Network on Chip)逐渐被大家关注。今天简单聊聊关于NoC的几个重要话题:拓扑(topology),即如何连接每个节点路由(routing),即数据如何在节点之间的传递路径流量控制(flow control),即如何控制数据在源节点和目的节点传递微架构(microarchitecture),即路由器的架构设计。
2024-09-12 16:08:38
1531
原创 RISC-V vector(1) --- vector的引入与register说明
在有些处理器中,会采用寄存器重命名的技术,比如超标量流水线处理器,在undisturbed策略下,必须从旧的物理目标向量寄存器中读取元素值,才能复制到新的物理目标寄存器中;也可以说,在新的物理寄存器进行重命名时,需要根据重命名映射表,查到原有的映射关系,然后把其中的元素值读出来,写到重命名后的对应元素。vl的宽度由最小元素宽度(SEW)和最大向量长度决定,其中SEW规定了指令执行元素的宽度,最小为8,最大向量长度为组成的最长的向量寄存器组,由VLMUL决定,最大为8。vxsat位在vcsr中有镜像。
2024-08-23 17:33:36
1427
原创 RISC-V中的acquire和release
RISC-V中,有两类原子操作指令:⚫ 内存原子操作(AMO)⚫ 加载保留/条件存储(load reserved / store conditional)此处我们先看下LR和SC指令;
2024-08-22 19:48:39
947
原创 Snooping Coherence Protocols
值得注意的是,响应消息不会影响一致性事务的序列化。从逻辑上讲,无论响应何时到达请求者,当请求被排序时,都会发生一个由广播请求和单播响应组成的一致性事务。请求出现在总线上和响应到达请求者之间的时间间隔确实会影响协议的实现(例如,在这个间隙期间,是否允许其他控制器请求此块?由于响应消息携带数据,因此比请求长得多,因此能够在更简单、成本更低的网络上发送它们有很大的好处。到目前为止,我们只讨论了一致性请求,而不是对这些请求的响应。作为一个具体而简单的例子,考虑一个使用总线来广播一致性请求的系统。
2024-08-05 15:01:24
637
原创 TAGE predictor
TAGE是现今最经典的分支预测算法,TAGE及其后续的变体都是当今高性能微处理器的分支预测算法基础。因此,要聊分支预测算法的话题必定绕不开TAGE。
2024-07-09 14:51:30
1319
原创 TLB&Cache的联合设计
如果 Cache 缺失,那么就仍旧需要使用 TLB 来将虚拟地址转换为物理地址,然后使用物理地址去寻址L2 Cache,从而得到缺失的数据(在现代的处理器中,L2及其更下层的Cache都是物理Cache),这个过程如图3.42所示。此时Cache容量小于或等于一个页的大小,直接使用虚拟地址中的[L+b-1:0]部分来寻址Cache,找到对应Cache line中的数据,并将这个Cache line的Tag部分和TLB转换得到的PFN进行比较,用来判断Cache是否命中。访问 TLB 和 Cache 是。
2024-05-31 15:15:12
1048
原创 virtual cache基本概念
使用这样的方式,要从虚拟地址中得到需要的数据,相比于两级页表,需要多一次物理内存的访问,这会造成TLB缺失的处理时间变长,是使用ASID带来的一个负面影响,尤其是 TLB 缺失发生的频率很高时,这种负面影响更为严重。这是因为,不同的进程,会存在很多相同的虚拟地址,这些虚拟地址实际上对应的物理地址是不同的,当进程之间进行切换时,如果还是映射到上一个进程的物理地址,肯定是会有问题;● 浪费了宝贵的cache空间,造成cache等效容量的减少,降低了整体的性能;同样考虑8KB, 直接相连的cache;
2024-05-31 09:59:47
1169
原创 mmu之TLB的来源与实现
因此需要在页表中,对每个被修改的页加以标记,称为脏状态位(dirty),当物理内存中的一个页要被替换时,需要首先检查它在页表中对应PTE的脏状态位,如果它是1,那么就需要先将这个页写回到硬盘中,然后才能将其覆盖。比如,当发生TLB缺失时,需要从页表中将一个新的PTE写到TLB中,如果TLB此时已经满了,那么就需要替换掉TLB中的一个表项,也就不再记录这个页的映射关系,但是这个页的内容在 D-Cache中仍旧是存在的。这个问题或者转换成:在D-cache中保存的数据,一定是在TLB中的记录范围吗?
2024-05-29 16:04:23
1306
2
原创 虚拟化概述
正常场景处理器送出的虚拟地址(VA)首先送到 MMU中。MMU使用页表的基址寄存器PTR和VA[31:12]组成一个访问页表的地址,这个地址被送到物理内存中。物理内存将页表中被寻址到的 PTE 返回给 MMU.MMU判断PTE中的有效位,发现其为1,也就表示对应的页存在于物理内存中,因此使用PTE中的PFN和原来虚拟地址的[11:0]组成实际的物理地址,即PA=(PFN, VA[11:0]},并用这个地址来寻址物理内存,得到最终需要的数据。
2024-05-29 12:07:11
1235
AScalable Front-End Architecture for Fast Instruction Delivery
2024-10-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人