AHB中split机制简介
完整的AHB协议:1)可以多个master,并且需要外加一个Arbiter,和write multiplexor。为了保证每一时刻只有一个master拥有访问权。
2)为了增强pipeline的能力,允许Arbiter将一个未完成的burst中断,grant给另外一个transfer。所以还有两种
transfer;RETRY/SPLIT。
Arbitration:主要是确保每个时间点,都从master的req中选择一个priority最高的访问bus;
从slave端接收req,来完成SPLIT操作。
Arbitration signals:
HBUSREQ,从master到Arbitration的总线请求信号。
HLOCK,从master到Arbitration的原子操作请求,与AHB-Lite中的lock信号类似。为了保证transfer的完整性。
HGRANT,从Arbitration到master的总线应答信号。
HMASTER,4bit,由master驱动,表示当前拥有总线的master。方便支持SPLIT transfer的slave record此时的master。
HMASTLOCK,由Arbitration发送给slave的lock信号。
HSPLIT,16bit,由slave发出,表示要进行SPLIT transfer,通知Arbitration哪一个bus master要继续进行操作。
以下是一个Arbitration的响应过程。在GRANT和HREADY都为高时,才表示总线赋予成功.
HRESP信号,2bit,表示OKAY、ERROR外,还可以表示RETRY、SPLIT。同样的RETRY、SPLIT也是2-cycle response。
RETRY和SPLIT的主要区别是,RETRY只是表示这个transfer还没有结束,
但并不会改变Arbitration接下来的调度。
SPLIT会将当前transfer的优先级调低,在slave准备好之后,通过SPLIT信号通知Arbitration,
而后再将优先级调高。
RETRY和SPLIT的会增加slave和Arbitration的设计复杂性,但是对master并没有影响,master应该始终req bus。
SPLIT机制最大限度的利用AHB的总线带宽。却增加了slave和Arbitration的设计复杂性。
相关文章
- 【C/C++学院】0724-堆栈简介/静态区/内存完成篇/多线程
- Knockout.Js官网学习(简介)
- 【转载】Python简介
- RIP防环机制简介
- DL之self-attention:self-attention自注意力机制的简介(背景、特点、改进对比、传统对比、关系、应用,适合长距离捕获分析)、计算过程(八大步骤)、案例应用之详细攻略
- NLP:自然语言处理技术的简介、领域方向-细分任务及其评估标准、发展历史、案例应用之详细攻略
- DL之NRL&GCN:网络表示学习NRL与图神经网络GNN的简介、应用、经典案例之详细攻略
- DL之U-Net:U-Net算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
- ML之ME:机器学习之风控业务中常用模型评估指标PSI(人群偏移度指标)的的简介、使用方法、案例应用之详细攻略
- ML之Validation:机器学习中模型验证方法的简介、代码实现、案例应用之详细攻略
- DL框架之MXNet :深度学习框架之MXNet 的简介、安装、使用方法、应用案例之详细攻略
- 【Kotlin 协程】协程简介 ( 协程概念 | 协程作用 | 创建 Android 工程并进行协程相关配置开发 | 异步任务与协程对比 )
- 【Linux 内核 内存管理】RCU 机制 ① ( RCU 机制简介 | RCU 机制的优势与弊端 | RCU 机制的链表应用场景 )
- 【Android 异步操作】Handler 机制 ( Handler 常用用法 | HandlerThread 简介 | HandlerThread 源码注释分析 )
- BlockChain:《Blockchain Gate》听课笔记——区块链的共识机制—简介、理解、畅谈