【CHI协议-0】概述

CHI协议是干嘛的呢,首先我们来看看他的名字,CHI的全称是Coherent Hub Interface。相信大家通过这个名字也能猜出个大概了,没错,就是解决一致性的!CHI协议是AMBA大家族的第五代协议(AMBA全家福的照片我这里就不放了,网上太多了,感兴趣的同学可以去搜搜看!),相当于ACE协议的一个演进版,当然也就是比ACE更新的一个用来解决一致性的协议啦!简单介绍完,我们开始吧!!!

  1. List item
    CHI官方文档首先介绍了它的架构层次,没错,从CHI开始,为了更多的组件互联,这里分为了三层:协议层、网络层、链路层。
    协议层简单来说就是来控制如何进行读写操作的,什么时候应该发什么请求才能保证我们的cache一致性(关于cache一致性这里不多做介绍了,不懂的同学可以先了解一下这个);网络层就是把我们协议的层的各种信息进行打包,然后负责将这些信息在整个mesh网络中正确的路由;而链路层就是给网络之间提供一些通道(channel)进行传输,是硬件需要真实实现的东西。本系列重点带大家了解学习一下协议层(其实是因为网络层和链路层的东西我也不太懂。。。~所以想了解这两方面的同学可以看看其他前辈的博客学习)。

  2. List item
    学习协议层,重点就是学习很多请求,比如read、write、dataless、atomic、dvm等等,然后read里面又包括readnosnp,readshared,readunique还有readpreferunique??write又包括writenosnp,writeunique。。atomic事务又包括atomicload,atomicswap等等,还有dvm事务中又有同步与非同步事务,非同步又包括四种类型。不仅有这些事务,还涵盖保序呀,独占呀各种功能。。。唉说实话,我一开始看到这些也都懵了,想着不就是个读写嘛,整这么麻烦。而现在学了一段时间,觉得发明这玩意儿的真tn是个天才。为了保证cache一致性而且还要兼顾到读写的效率和正确,还真得这么麻烦。

  3. List item
    那么说了这么久,我们学习协议层,应该写哪些东西呢应该学到什么程度呢?我觉得吧,首先我们得了解各种请求的含义以及对应的响应还有snoop类型(snoop是个啥,我们后面再说),发了这个请求cache的状态得很清楚吧。比如做IC的同学,做设计互联的你得知道我收到这个请求应该怎么处理吧,返回什么响应,cache状态应该怎么变,即使同样的请求发进来的激励中每个字段不同,我该做什么不同的处理吧?你学的不够清楚,万一碰上一个很懂协议的验证,天天来找你的麻烦!因为验证的同学同样需要很清楚协议的规定啊,不然怎么来判定设计的对错,我发的用例怎么才算通过,总要有个通过准则,就是验证同学平台里的scoreboard,那这个准则就是我们的CHI协议(划重点)!!!

  4. List item
    好啦,今天先和大家扯这些。对这方面感兴趣的同学后续一起交流学习,我会持续更新CHI协议协议层的学习心得。**我将重点从各类请求的含义底层原理,发起各种请求的场景,重点域段的含义,完整事务流等方面进行全方位深入剖析!**前面这句话好像说的有点狂,不过这是我的小目标嘛,最后还是低调一下,向大家学习!

  • 18
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值