宁静以致远
zgf的blog
<2008年10月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

留言簿(15)

随笔分类

随笔档案

文章档案

友情链接

资料收藏

搜索

最新评论

阅读排行榜

评论排行榜

 
VC知识库BLOG   首页  新随笔  联系  聚合  登录 
  随笔-31 文章-8 评论-99 Trackbacks-0
      今天ADI公司在深圳举办了一个关于Blackfin DSP芯片的研讨会。为了使我们这些小兵早日升级成小将,老大带领我们一行五人杀向深圳喜来登酒店。早上六点被闹钟吵醒,一看手机发现老大早已打电话来过,赶紧起床等待集合。5555......... 可怜我为了不在会上出丑,昨晚看芯片资料到三点半才睡。
       经过一整天与瞌睡虫的斗争,终于取得了辉煌的战果 : ) 。公布如下:

1. 烂表一块 :  抽奖所得(三等奖)

2. bf 5** 开发平台一台: 抽奖所得(一等奖)。价值至少400美金。更重要的是这个平台很稀少,国内很少有货。而公司真在四处寻找这个东东呢。

3. 学到了一些有趣的知识。以前都是学的CPU的简单结构,从来不了解DSP的一些东西。


       先介绍一下Blackfin DSP芯片。 在技术上,Blackfin芯片是 micro-controller与DSP的杂交体。既有传统DSP运算速度快的优点,又能像通用嵌入式处理器一样直接提供一些I/O接口,只不过没有通用嵌入式处理器的接口那么丰富。所以Blackfin芯片非常适合在运算量大,只需要简单接口的场合,如多媒体处理。Blackfin芯片是一个系列,包含Bf531 Bf532 Bf533 Bf561......  其中Bf561是双核的。
    
下面是我觉得比较有趣的地方:  
1. 对Bf561的双内核处理数据非常快。但没有充足的数据供应,再快的内核也枉然。所以像BF561这样的双核处理器有三个DMA控制器:DMA1, DMA2 , IMDMA
      DMA1 是32bit 工作在系统时钟。用来搬运高速数据,  
      DMA2 是16bit 工作在系统时钟。用来搬运低速数据,如SPI ,UART,SPORT
      IMDMA是32bit 工作在 内核时钟。 这个速度非常快,用来在Cache (L1和L2)间搬运数据

2. 二维DMA
      如 7 * 7 矩阵中 取出最前面的2 * 2
a b c d e  f  g
h i  j  k l  m n
o p q ........
      用二维DMA就很容易一次DMA操作 取得 a b h i . 这在图像处理上很有用。

3. 视频处理时片内memory与片外memory之间的数据交换流量很大。
     ADI给的资料上给的估计有 100MB/s ,并且数据有进有出。

     切换DMA的传输方向需要耗费时间,规定DMA的传输方向可以提高传输速度,就象道路系统中的单行道一样。Blackfin添加了一个控制机制,在一个设定的周期内交替变换DMA的传输方向。

4.SDRAM的实际速度
       Cache L1 工作在核心时钟,速度和内核处理速度一样,是最快的。
      Cache L2 是片内SRAM ,工作在系统时钟。
      片外 memory 可以是 SDRAM。 也是工作在系统时钟。 但速度并不等于Cache L2的速度 。好像是因为SDRAM取数时先要将数放到 SDRAM的 cacheh中,当读取一整块数据时,数据第一次就被读进SDRAM的cache, 以后再读时直接从这个cache中读取,这是 SDRAM和Cache L2的速度基本相等。当随机读取数据时,SDRAM的cache的命中率很低,经常的需要更新cache ,导致速度很慢。

5. 双核的结构也很有趣,片内data memory被分成4个bank ,拥有两条data bus
    能两路数据同时跑。

6.外部memory的存放也有些讲究。
    Blackfin可以同时打开4个page ,安排程序时考虑这些可以减少切换page的开销

7. 一般会将采集数据放在external memory 然后再处理。但在一个例子中 它用DMA将 video in 数据直接先搬到Cache L2 然后再 搬到 external memory 。  原因还是SDRAM的特性,整块读写效率很好,随机读写效率很差。将数据先缓存到cache L2 ,收集到一整块后在一次性写到外部SDRAM中。

8. Blackfin内部有 2个16bit 乘法器 2个40bit ALU  和8个8bit video ALU运算功能非常强大。
     特别是4个video ALU能同时做 4对 8bit 减法的累加和 。 8*8的DCT 少于300个指令周期就可以完成。这个在图像处理上也经常用到。

9. 还有 运算时数据对齐问题,我不是十分明白。

10. AD采样使用了10bit ,这样可以保证8bit的有效位


再后面讲的一些模拟视频处理,我一点也听不懂。-_-!
posted on 2006-04-21 03:01 zgf的blog 阅读(2945) 评论(9)  编辑 收藏
Comments
  • # re: 参加ADI研讨会的收获
    一笑
    Posted @ 2006-04-21 08:51
    看过,不懂,顶一下!:)
  • # re: 参加ADI研讨会的收获
    freedk
    Posted @ 2006-04-21 09:18
    也顶
  • # re: 参加ADI研讨会的收获
    zgf
    Posted @ 2006-04-21 09:39
    可能讲述太简单了
    其实都是些经常碰到的东西,如DMA,L1和L2 两级缓存等

    只是数量更多,控制更精细。DMA有三个,两个主ALU,8个辅ALU
    重要的是如何合理的运用这些部件
  • # re: 参加ADI研讨会的收获
    HateMath
    Posted @ 2006-04-21 09:51

    头回听说这种东西,有收获。
  • # re: 参加ADI研讨会的收获
    玻璃
    Posted @ 2006-04-21 15:46

    KAO~ 咱也打磨一下,变成自己的芯片~ :P

  • # re: 参加ADI研讨会的收获
    dsfy
    Posted @ 2006-05-04 00:37
    哇............都不知道有Blackfin研讨会, 可惜错过好机会.
  • # re: 参加ADI研讨会的收获
    Alec
    Posted @ 2006-05-05 18:27
    居然可以拿开发板!
    早知到我也去了!
  • # re: 参加ADI研讨会的收获
    sjtu
    Posted @ 2006-12-29 21:58
    前几天参加了TI的研讨会,宣传达芬奇,很厉害啊,现在搞67X似乎都没的混了.....
  • # re: 参加ADI研讨会的收获
    sjtu
    Posted @ 2006-12-29 21:59
    前几天参加了TI的研讨会,宣传达芬奇,很厉害啊,现在搞67X似乎都没的混了.....
标题  
姓名  
主页
验证码 *
内容   
  登录  使用高级评论  Top
[使用Ctrl+Enter键可以直接提交]