【博文连载】Wishbone总线同步结束与异步结束对比

为了实现在给定时钟频率下的最大可能吞吐量,Wishbone采用了周期异步结束方式。这样做的结果是从主设备的STB_O到从设备的ACK_O/ERR_O/RTY_O再到主设备的ACK_I/ERR_I/RTY_I输入形成了一个异步回路,如图23。在大型SoC设计中,该回路往往成为整个设计的关键路径,限制系统时钟频率的进一步提高。在深亚微米时代,由于线延迟往往比门延迟更大,这一异步回路更加可能成为系统性能的瓶颈。

图23 Wishbone总线的异步周期结束路径

这一问题的最简单解决方法是插入寄存器将回路断开,但这样做的缺点是在每一次总线操作中都需要插入一个等待周期,从而制约了总线吞吐量。如图24所示,在上升沿0主设备发起了一次操作,在上升沿1从设备发起响应将ACK_O置高,在上升沿2主设备检测到ACK_I为高完成第一次操作并发起第二次操作,但是在上升沿2从设备并不知道主设备会发起第二次操作,因此只能将ACK_O信号置低。在上升沿3从设备才能对第二次操作发起响应将ACK_O置高,在上升沿3主设备检测到ACK_I为高完成第二次操作。

图24 Wishbone总线的传统同步周期结束方式

在图24中,每一次传输都需要两个时钟周期,一半的带宽被浪费。如果从设备在上升沿3知道主设备将发起新的操作,它将能够在上升沿3就对主设备的操作发起响应,从而节省时钟周期提高了系统的吞吐量,利用该思想改进后的同步时序如图25所示。

图25 Wishbone总线改进的同步周期结束方式

在图25的上升沿1,主设备发起操作,在上升沿2,从设备将ACK_O置高,在上升沿3,从设备知道主设备将发起新的操作,于是将ACK_O继续置高。因此, 3个时钟周期就完成了2次操作,而不是原来大的4个时钟周期,于是吞吐量提高了25%。一般的,改进后,N次操作需要N+1个时钟周期,而不是2N个时钟周期,吞吐量改善为(N-1)/N%。

改进后的同步周期结束方式具备异步周期结束方式的吞吐量优势,同时具备传统同步结束方式的延迟优势。改进后的同步周期结束方式称作Wishbone寄存反馈周期结束方式。

表2 优化结果比较

 

(0)

相关推荐

  • IIC总线知多少?

    注:本文转载自公众号"记得诚" ❝ IIC是串行总线,只用到两个线,应用非常广泛,本文介绍IIC的软件协议及硬件相关知识. ❞ 一.IIC概述 1. IIC定义 IIC总线是由Ph ...

  • I2C总线通讯协议

    I2C总线通讯协议

  • 【博文连载】CY7C68013同步FIFO配置

    在VIP Mini开发板资料包08_USB_Keil_Project目录下,Bingo提供了CY7C68013的同步FIFO配置工程,以及其他的一些功能.软件版本为Keil UVision 4.73. ...

  • 【博文连载】Wishbone总线地址不变突发结束方式

    地址不变突发是一个总线周期,在这个总线周期中完成多次操作,但是地址不变.地址不变突发的典型应用是以DMA方式读/写FIFO.主设备在时钟的某一个上升沿将CTI()置为3'b001后,下一个周期的操作必 ...

  • 【博文连载】Wishbone总线寄存反馈周期结束方式

    在Wishbone寄存反馈周期结束方式中,主设备需要事先通知从设备操作下一时钟周期是否将发起新的总线操作,这是通过周期类型识别地址标签CTI_O()/CTI_I()和突发类型扩展地址标签BTE_O() ...

  • ​【博文连载】Wishbone总线介绍

    图29 Wishbone总线结构图 ● 所有应用使用一个总线体系结构: ● 简单.紧凑的体系结构: ● 支持多控制器: ● 64位地址空间: ● 8-64 位数据总线(可扩展): ● 单周期读和写: ...

  • 【博文连载】Wishbone总线地址译码

    很多总线标准中,从设备必须译码所有的地址,这称为全地址译码.比如在PCI总线中,每一个从设备都必须具有32位的地址输入,并对这32位的地址进行译码以确定如何响应主设备的请求. 片上总线规范比如Wish ...

  • 【博文连载】Wishbone共享总线连接示例

    Wishbone共享总线连接与点到点连接同样重要.在本例中,两个主设备和两个从设备通过SYSCON实现了共享总线连接,在后续章节中,我们将使用该例子对Or1200进行基本RTL验证.系统复位后,一个或 ...

  • 【博文连载】Wishbone总线从设备接口示例

    一个8比特从设备前文曾经指出,Wishbone总线规范是"轻量级(Lightweight)"规范,它实现起来非常简单紧凑,接口需要的互联逻辑非常少.这里给出一个Wishbone从设 ...

  • 【博文连载】Wishbone总线周期之数据组织

    说明:B.4版的Wishbone手册本节内容写的比较繁琐,因此没有像前文一样继续翻译.数据组织是指数据的传送顺序.目前常见的32为处理器的数据总线粒度为1字节,在传送时,一个32位数据的最高字节可以放 ...

  • 【博文连载】Wishbone总线周期之RMW操作

    在操作系统中,有一种重要的进程间的同步机制称作信号量机制.信号量即当前可用资源的计数.信号量是一个用来实现同步的整型或记录型(Record)变量,除了初始化外,对它只能执行等待和释放这两种原子操作.一 ...