0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Wishbone总线周期之数据组织

SwM2_ChinaAET 来源:未知 作者:李倩 2018-07-22 10:14 次阅读

说明:B.4版的Wishbone手册本节内容写的比较繁琐,因此没有像前文一样继续翻译。

数据组织是指数据的传送顺序。目前常见的32为处理器的数据总线粒度为1字节,在传送时,一个32位数据的最高字节可以放在数据总线的最低8位传送,也可以放在数据总线的最高8位传送,因此出现了大端和小端两种数据组织方法。大端是指一个数据的最高位放在数据总线的最低位传送或者放在地址较小的存储器位置存储;小端是指一个数据的最高位放在数据总线的最高位传送或者放在地址较高的存储器位置存储。Wishbone同时支持大端和小端两者数据组织方式。当数据总线的粒度和宽度相同时,大端和小端是一样的。

大端模式

所谓的大端模式(Big-endian),是指数据的高字节,保存在内存的低地址中,而数据的低字节,保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;

例子:

0000430: e684 6c4e 0100 1800 53ef 0100 0100 0000
0000440: b484 6c4e 004e ed00 0000 0000 0100 0000

在大端模式下,前32位应该这样读: e6 84 6c 4e ( 假设int占4个字节)

记忆方法: 地址的增长顺序与值的增长顺序相反

图20 一个大端的例子

小端模式

所谓的小端模式(Little-endian),是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致。

例子:

0000430: e684 6c4e 0100 1800 53ef 0100 0100 0000
0000440: b484 6c4e 004e ed00 0000 0000 0100 0000

在小端模式下,前32位应该这样读: 4e 6c 84 e6( 假设int占4个字节)

记忆方法: 地址的增长顺序与值的增长顺序相同

图21 一个小端的例子

现状

目前Intel的80x86系列芯片是唯一还在坚持使用小端的芯片,ARM芯片默认采用小端,但可以切换为大端;而MIPS等芯片要么采用全部大端的方式储存,要么提供选项支持大端——可以在大小端之间切换。另外,对于大小端的处理也和编译器的实现有关,在C语言中,默认是小端(但在一些对于单片机的实现中却是基于大端,比如Keil 51C),Java是平台无关的,默认是大端。在网络上传输数据普遍采用的都是大端。[

这两者数据组织方式在一般文献中都可以找到。总线标准只定义接口通信协议,而数据的组织本质上取决于主设备和从设备的设计。有时需要将大端和小端的接口互联起来,图22给出了将数据组织为大端的IP A和数据组织为大端的IP B相连的情形。IP A和IP B的数据总线宽度都是32为,粒度为8位。

图22 大端和小端的接口互联

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7428

    浏览量

    163512
  • 数据总线
    +关注

    关注

    2

    文章

    56

    浏览量

    17539
收藏 人收藏

    评论

    相关推荐

    wishbone总线

    想请教各位前辈,wishbone在工作中很常用吗?我最近在学关于这个的代码,感觉很难懂,而时间又感觉不大够用,需要重点攻击, 所以想知道是否值得投入大量的时间去研究它。望各位前辈不吝赐教
    发表于 03-02 23:37

    基于WISHBONE总线的FLASH闪存接口设计

    部件,提高系统吞吐量。FLASH接口的设计 由于OR1200采用的是WISHBONE共享总线,其地址线为32位,数据线也为32位。设计中采用将低位与FLASH相联接,并将接口位度设计为16位。原理框图
    发表于 12-05 10:35

    基于Wishbone片上总线的IP核的互联

    以 FPGA 技术为基础,以Verilog HDL 为载体,设计了遵守Wishbone 片上总线规范的IP 核接口,实现了片上系统的IP 核互联。
    发表于 01-13 15:09 13次下载

    基于Wishbone总线的UART IP核设计

    本文介绍的基于Wishbone总线的UART IP核的设计方法,通过验证表明了各项功能达到预期要求,为IP核接口的标准化设计提供了依据。此外,该IP核代码全部采用模块化的Verilog-HDL语言编写,
    发表于 06-10 11:47 3738次阅读
    基于<b class='flag-5'>Wishbone</b><b class='flag-5'>总线</b>的UART IP核设计

    基于WISHBONE总线的FLASH闪存接口设计

    本文简要介绍了AMD 公司Am29LV160D 芯片的特点,并对WISHBONE总线作了简单的介绍,详细说明了FLASH memory 与WISHBONE 总线的硬件接口设计及部分Ve
    发表于 06-23 16:32 18次下载
    基于<b class='flag-5'>WISHBONE</b><b class='flag-5'>总线</b>的FLASH闪存接口设计

    基于WISHBONE总线的通用接口控制器

    通用IO接口是Soc系统中非常重要的一种外围端口.本文完成了一种基于WISHBONE总线的GPIO_W B拉制器的逻拜设计和物理实现.文中较其体地介绍了GPIO_W B核的体系结构以及WISHBONE接Q和DMA传偷方式
    发表于 09-21 16:57 32次下载
    基于<b class='flag-5'>WISHBONE</b><b class='flag-5'>总线</b>的通用接口控制器

    Wishbone总线实现UART IP核设计

    该设计采用了自顶向下的模块化划分和有限状态机相结合的方法,由于其应用了标准的Wishbone总线接口,从而使微机系统与串行设备之间的通信更加灵活方便。验证结果表明,这种新的架构
    发表于 10-19 15:01 27次下载
    <b class='flag-5'>Wishbone</b><b class='flag-5'>总线</b>实现UART IP核设计

    基于FPGA的SDX总线Wishbone总线接口设计

    介绍了基于硬件描述语言Verilog HDL设计的SDX总线Wishbone总线接口转化的设计与实现,并通过Modelsim进行功能仿真,在QuartusⅡ软件平台上综合,最终在Altera公司的CycloneⅢ系列FPGA上
    发表于 01-11 10:21 25次下载
    基于FPGA的SDX<b class='flag-5'>总线</b>与<b class='flag-5'>Wishbone</b><b class='flag-5'>总线</b>接口设计

    基于AMBA与WISHBONE的SoC总线桥KBar控制器的设计

    基于AMBA与WISHBONE的SoC总线桥KBar控制器的设计_陈俊锐
    发表于 03-19 11:31 0次下载

    Wishbone一般总线规范的共同特点

    支持用户定义的标签。这些标签可以用于为地址、数据总线提供额外的信息如奇偶校验,为总线周期提供额外的信息如中断向量、缓存控制操作的类型等。Wishbo
    的头像 发表于 07-06 08:07 2959次阅读
    <b class='flag-5'>Wishbone</b>一般<b class='flag-5'>总线</b>规范的共同特点

    Wishbone总线周期之复位操作

    这些信号,以响应复位周期。RST_I被复位(变为0)后的第一个时钟上升沿到来后,主机接口的STB_O和CYC_O信号可以被立即置位(变为1)。
    的头像 发表于 07-11 09:07 3264次阅读
    <b class='flag-5'>Wishbone</b><b class='flag-5'>总线</b><b class='flag-5'>周期</b>之复位操作

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

    在图25的上升沿1,主设备发起操作,在上升沿2,从设备将ACK_O置高,在上升沿3,从设备知道主设备将发起新的操作,于是将ACK_O继续置高。因此, 3个时钟周期就完成了2次操作,而不是原来大的4个
    的头像 发表于 07-24 09:08 3008次阅读
    <b class='flag-5'>Wishbone</b><b class='flag-5'>总线</b>的异步<b class='flag-5'>周期</b>结束路径

    一个简单的Wishbone从设备的RTL代码

    前文曾经指出,Wishbone总线规范是"轻量级(Lightweight)"规范,它实现起来非常简单紧凑,接口需要的互联逻辑非常少。这里给出一个Wishbone从设备的一个例子,如图21所示。该从
    的头像 发表于 07-31 09:11 4396次阅读
     一个简单的<b class='flag-5'>Wishbone</b>从设备的RTL代码

    Wishbone总线的主要特征概括

    在以上介绍的三种总线中,CoreConnect虽免费不过需要IBM 公司许可,ARM 没有明确的正式说法,可能也会免费,而Wishbone 是绝对免费的。三种总线都是同步的总线,使用时
    的头像 发表于 08-11 09:14 4748次阅读
    <b class='flag-5'>Wishbone</b><b class='flag-5'>总线</b>的主要特征概括

    Wishbone II交易总线:速度的另一个等级

    Wishbone B.3总线。以类似的方式,Altera引入了自己的互连方案,称为Avalon Bus,SOPC Builder和Nios(II)系统就是围绕该方案制造的。Xilinx 还推出了自己的总线,称为片上外设
    的头像 发表于 11-14 15:38 1181次阅读
    <b class='flag-5'>Wishbone</b> II交易<b class='flag-5'>总线</b>:速度的另一个等级