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

在操作系统中,有一种重要的进程间的同步机制称作信号量机制。信号量即当前可用资源的计数。信号量是一个用来实现同步的整型或记录型(Record)变量,除了初始化外,对它只能执行等待和释放这两种原子操作。一次对信号量的等待操作是获得信号量的过程,读取当前信号量的值,如果发现有可利用资源,则将信号量减1,否则进入等待状态。一次对信号量的释放过程即将信号量加1。一个进程对信号的读取、计算新的信号量值、更新信号量的值,这三个步骤是不允许被其他进程打破的,如果被打破,则信号量的值将会发生错误,RMW操作的最大用途在于信号量操作。 当然,用户也可以将总线精简为不支持RWM操作。

一次RMW操作对于总线来说,本质上是两次子操作,一次读,一次写,只不过这两次子操作必须由同一个主设备的完成,且读数据和写数据的地址相同。"改"是不发生在总线上的,它发生在主设备内部。一个RMW操作的例子如图19所示,其过程如下:

时钟上升沿0:

·主机将有效地址置于ADR_O()和TGA_O();

·主机将WE_O复位,以表明进入读周期;

·主机输出SEL_O()(bank select)表明其操作的数据地址;

·主机将CYC_O和TGC_O()置位,以表明周期的开始;

·主机将STB_O置位。

注意:主机可以在时钟上升沿1到来之前的任意时间将CYC_O和TGC_O()置位,而TAGN_O信号是可选的。

时钟上升沿1(SETUP):

·从机解码输入,并对ACK_I的置位做出响应;

·从机将有效数据置于DAT_I()和TGD_I()上;

·主机监控ACK_I信号,并准备锁存DAT_I()和TGD_I()上的信号;

时钟上升沿1:

·主机锁存DAT_I()和TGD_I()上的数据;

·主机将STB_O复位,以插入一个等待周期(-WSW-)。

时钟上升沿2(SETUP):

·从机将ACK_I复位以响应STB_O信号;

·主机将WE_O置位,以表明进入写周期。

注意:实际上主机可以在本过程之前插入任意多个周期。

时钟上升沿2:

·主机将写数据置于DAT_O()和TGD_O()上;

·主机输出SEL_O()(bank select)表明其操作的数据地址;

·主机置位STB_O信号。

时钟上升沿3(SETUP):

·从机解码输入,并响应ACK_I的置位;

·从机准备锁存DAT_O()和TGD_O()上的数据;

·主机监控ACK_I信号,并准备结束数据段(phase)传输。

注意:实际上从机可以在本过程之前插入任意多个周期。

时钟上升沿3:

·从机将DAT_O()和TGD_O()上的数据锁存;

·主机复位STB_O和CYC_O信号,以表明本周期的结束;

·从机将ACK_I信号复位,以响应STB_O信号的复位。

图19 RWM周期

 

(0)

相关推荐

  • 不开机,STB信号电压低,看看哪里的问题!

    不开机,STB信号电压低,看看哪里的问题!

  • IIC原理超详细讲解

    文章目录 IIC 简介 IIC的物理层 IIC的高阻态 IIC物理层总结: IIC的协议层 IIC 总线时序图 初始(空闲)状态 开始信号: 停止信号 数据有效性 应答信号 IIC数据传送 数据传送格 ...

  • 应用可编程芯片实现小水电站的半周期精确测频

    摘要 陕西略阳水力发电有限责任公司.西安西电自动化控制系统有限责任公司.西电通用电气自动化有限公司的研究人员周培孝.刘吕娜.严结实,在2019年第11期<电气技术>杂志上撰文(论文标题为& ...

  • IIC总线知多少?

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

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

    一个总线周期由多个不可分的时钟周期构成,完成单次读/写操作.块读/写操作或者读改写操作.总线周期也分为单次读/写周期.块读/写周期和读改写周期.一次块读/写总线周期完成多次数据读/写操作.一般情况下, ...

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

    标准块写操作 图17显示的是一个标准的块写周期时序图.块写周期可以在每一个时钟周期完成一次数据传输.但是,本例中显示了主机和从机插入等待状态以控制数据传输速率的情况.图中一共显示了5个传输.第二次传输 ...

  • 【博文连载】Wishbone总线周期之单次写操作

    标准单次写周期 图12显示的是标准单次写周期的时序图. 图12 标准单次写周期 总线协议的执行流程如下: 时钟上升沿0: ·主机将有效地址置于ADR_O()和TGA_O()上: ·主机将有效数据置于D ...

  • 【博文连载】Wishbone总线周期之单次读操作

    单次读/写操作每次操作只完成一次读或者写,是最基本的Wishbone总线操作方式. 规则3.75:所有支持单次读或者单次写周期的,主机和从机接口都应满足下文给出的相关时序要求. 允许3.50:Wish ...

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

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

  • 【博文连载】Wishbone总线周期之握手协议

    握手发生在主设备和从设备之间.握手协议是主设备和从设备在握手时所遵守的共同规则.除了,B3版中的标准模式之外,B4版的Wishbone官方手册中还新增了流水线模式.下面将依次进行介绍. 标准Wishb ...

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

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

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

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

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

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