热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

总线分类及常见总线

目录 1.总线分类1.1数据传输方式分类1.1.1串行总线1.1.2并行总线1.2按传输数据类型分为1.2.1数据总线1.2.2地址总线1.2.3命令总线1.3按总线在soc系统的

目录

 

1.总线分类

1.1数据传输方式分类

1.1.1串行总线

1.1.2并行总线

1.2按传输数据类型分为

1.2.1 数据总线

1.2.2 地址总线

1.2.3 命令总线

1.3按总线在soc系统的不同层次位置上分类

1.3.1 片上总线(片内总线)

1.3.2 片间总线

1.3.3系统总线

1.3.4 外部总线

arm芯片用pcie总线是不是能提高数据传输性能和效率?

1.总线分类

1.1数据传输方式分类

1.1.1串行总线

1.1.2并行总线

1.2按传输数据类型分为

1.2.1 数据总线

1.2.2 地址总线

1.2.3 命令总线

1.3按总线在soc系统的不同层次位置上分类

1.3.1 片上总线(片内总线)

AXI/AHB/APB 都属于片内总线

1.3.2 片间总线

微处理器与各外围芯片(如存储器RAM/ROM、I/O接口)之间通信的总线,属于芯片级互联

CAN/IIC/SPI/PCI-E

1.3.3系统总线

soc中各插件板与系统板之间的总线;属于插件板级的互连。

1.3.4 外部总线

设备间互联,比如IEEE488、RS232、RS485、USB等;属于设备级的互连。电脑与路由器设备级互联。

以上分类并不完全互斥。

或者简单分为片上总线和外设总线,在soc中常用片内AMBA总线,外设总线有PCIE,IIC,SPI

对于总线的理解可以参考知乎的一篇回答:

https://www.zhihu.com/question/26200899

arm芯片用pcie总线是不是能提高数据传输性能和效率?

arm自己有一套总线,包括flash也都是用的arm自己的接口,那么如果arm芯片使用pcie总线接口,是不是可以提升内存和flash的数据传输速度,使整体性能加强?

《总线分类及常见总线》

陈俊直

苦比的电子工程师

6 人赞同了该回答

xieyao
你提到的ARM总线应该是存储扩展用的并行总线。而PCIE是用于微控制器/微处理器到外设之间的高速串行总线。两者是不一样的。
另外,有的ARM芯片是带有PCIE接口模块的,比如TI的SITARA系列 Cortex-A8 内核的芯片。所以,问之前请先调查清楚。

编辑于 2015-02-09

林桂

先跑题一下,ARM的性能瓶颈不在总线上。举个例子,内存带宽是其重要的瓶颈之一。
现有ARM的并非没有集成Pcie控制器,如陈俊直所说的TI部分系列,还有CB2,3的全志A20 SOC,对SOC而言,只要你买了授权的IP core是可以集成到基于ARM的芯片的。
就题主的问题可以有两个方面来切入,一个是片内总线与片外总线,一个是ARM的性能。
第一个,题主说的“arm自己有一套总线”,这个是片内总线的概念,比如AMBA,再细层次的AXI等。ARM与flash的通讯属于片外总线通讯,引申开来有各种片外总线,如:SPI,I2C,UART,PCIE等等。那通过PCIe来连接flash确实如 

@疯狂的蔬菜

说的,有点杀鸡用牛刀的意思。另外,外部总线速率上去了,但外设自身速率没上去也很难提高整体的通信速度。
第二个,提高ARM整体性能。这个议题应该是整个ARM联盟一直孜孜不倦追求的。坦率的讲,仅从性能上,Intel确实可以吊打整个ARM联盟。原因在于精简指令集(RISC)是一种更为消耗带宽的指令集,但ARM 架构的内存带宽却远远不足,因此这是ARM性能提升的巨大瓶颈。我想,我们谈到的并能运算能力差,超线程能力等等瓶颈,其主要的根因也在这。
所以,题主问这个问题可能是真心希望改善ARM性能,对于ARM阵营是可好消息。不过,方向可能有些偏颇,呵呵。

发布于 2015-02-09

疯狂的蔬菜

PCIE总线是一种外部总线协议,也就是说是一种片间总线协议。

具体到这个问题上,假设我有一颗带PCIE功能支持的ARM芯片,PCIE可以用来连接CPU和特定的存储器控制器,而不是Flash芯片本身。这是因为大部分FLASH芯片是用来实现存储程序和数据的功能,具体到电路上面就是地址线给定一个地址->使能->数据线上出现相应地址的数据电平,实现这种功能并行接口就足够了。如果硬是要把Flash芯片挂在PCIE通道上面,每一颗Flash芯片都要额外多设计一个PCIE控制器,成本会大大提高。而在SoC一端,也要增加一堆PCIE控制器,成本和功耗都会提高很多(我印象中PCIE控制器在ARM的SoC里面是一个独立的IP核,要额外授权?如有误请指出)。

其次,Flash是一种以block而不是bit组织的存储器,而且还有坏块的问题,因此必须要有一个专用的控制器对所有Flash芯片进行集中管理。ARM的SoC上面集成了控制器的话,Flash芯片就可以直接用并行总线接到SoC上面了,用PCIE就多做了一层无谓的转换了。(是不是可以理解DDR有控制器和PHY,所以直接并行总线接到SOC上的)

最重要的一点是,目前大部分ARM的性能瓶颈和总线无关,发挥这些SoC的全部数据吞吐能力用PCIE总线的话有点杀鸡用牛刀了。


推荐阅读
author-avatar
xuyuankeji_954
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有