作者的话
写了一堆开发文档,换个口味,聊聊天,说一说ADI的芯片趣事,先讲TigerSAHRC,最具特色,也是最遗憾的一类IC,如果按游戏装备算,他直接属于暗金装备。
扒一扒DSP历史
DSP,Digital signal processorl的简称,众所周知,最初是专门用来做信号处理器算法的一类微处理器芯片,在最早期,我们分为专用DSP和可编程DSP,而现在兄弟们用到的SHARC,都是可编程DSP。
本篇要讲一讲TigerSHARC,就不得不先说一说他的老祖宗SHARC,这个当下ADI DSP产品线相对最热门的IC系列,几乎所有的新能源汽车座舱里都在用的像21565、21569这些IC,都属于SHARC。
SHARC是什么意思,估计也就OP我这种从20年前就开始用的老鸟还记得,Super(超级)、Harvard(哈弗)、Architecture(结构)、Computer(计算机),老外的取名,就是这么直接,超级哈弗结构计算机,缩写就是SHARC。
我记得最早应该是70年代,有了具有DSP性质处理器,但商业上的第一成功,应该是TI的TMS320C10,我认为DSP的正式粉墨登场,是这一颗,也是初代目。
第二代能不能是moto的DSP56001?和他同时代的还有TI的新品C50,以及ADI正式下场的第一颗DSP,ADSP-2100,他们开始有了单多指令的硬件循环,能够循环寻址,是开创也是进步。在这个时期不仅仅是moto,TI,ADI,还有其他家也有做的。
第三代就应该只剩下ADI,TI和moto在坚持,大概是1995还是1996年?记不太清,ADI发布了ADSP-21060,SHARC的第一颗DSP,这一代对DSP的结构进行了翻天覆地的改变,专用并行单元和可并行的功能单元,让DSP开始有了竞争力。诸位近30年了,时至今日,21060依然在我们这的某些领域发光发热,具体用在哪里,就不展开来细说了,OP老师是从这颗正式开始进入ADI。
这个时期TI也没闲着,依然还是TMS320里头的型号,应用广泛;moto也有同样也有新品,但在我当年的认知里,貌似国内用的人很少,甚至都不知道怎么你们家还做DSP那。
TigerSHARC是第几代
有点发散了,因为我只用ADI,所以还是回到ADI的路线上来。SHARC从21060走到2116X,自己经历了2代的技术迭代,到了第三代,传奇来了,TigerSHARC,我喜欢称之为虎鲨,一颗在90年代末、20年代初卖几百美元的DSP,横空出世。
从官网的页面来看,ADI非常得意的说,他们在虎鲨这个系列的DSP上,做了24Mbit的片上SRAM,这就是放在20多年后的今天,也不算小,而在20多年前,可想而知这是一个什么概念,2000年,24Mbit SRAM、600MHz主频,超级哈弗结构,Super DSP处理器,炸不炸裂。
这颗DSP是技术上的极大进步,说明ADI这家公司真的有点东西,那我们来看看他的特点(这是2000年左右的芯片,我们不要太以现在的算力来审视它,你要想到2000年我们才开始用几86的电脑来着):
- 在一个时钟周期内完成8个16bit的乘加运算;
- 在一个时钟周期内完成2个32bit的浮点乘加运算或4个32bit的定点乘加运算;
- 在一个时钟周期内完成2个16bit的复数乘加运算;
- 提供单周期的加、比较、选择指令,支持维特比算法;
- 提供位反转指令和加减指令,使其可以高速执行FFT运算;
- 时钟频率250MHz,每秒能完成2亿16bit次乘加运算;
- 每秒完成500兆次32bit乘加运算;
- 12GByte/秒的内部存储器带宽;
- 支持IEEE32 bit 浮点数格式、32 bit、16bit、8bit定点数格式;
- 支持有符号数、无符号数、整数、分数等多种数据类型
- 由用户自定义程序空间和数据空间;
- 128个通用寄存器;
- 有汇编级的运算指令;
- 性能绝佳的C语言编译器;
- 采用单指令多数据流(SIMD)指令集;
- 支持非规则的存储器访问;
- 完整的中断功能
以上,以前参加培训的时候笔记。那个时候我们做TS201开发用汇编和C,有大哥全汇编,我不行我用C,写完了代码还得大哥们拿汇编来帮我做优化。
性能评估,我以前在参加TigerSHARC培训的时候有做过笔记,那真是很久远的记忆,当年的ADI刚进中国,意气风发,花钱如流水,TigerSHARC的推介和培训放在最豪华的5星级宾馆,作为学生的OP进去都战战兢兢,***读了20多年的书,哪见过这阵仗^^。
执行时间(250M主频) | 指令周期数 |
---|---|
32Bit运算性能评估 | |
1024点基2复数FFT运算 41us | 10300 |
50阶FIR滤波器(1024点)110us | 27500 |
单FIR乘加运算 2.2ns | 0.55 |
16bit运算性能评估 | |
256点基2复数FFT 4.4us | 1100 |
50阶FIR滤波器(1024点)29us | 7200 |
单FIR乘加运算 0.56ns | 0.14 |
单FIR复数乘加运算 2.28ns | 0.57 |
TigerSHARC的内核
TigerSHARC内部有一个程序控制单元,两个完全独立的计算单元,两个地址产生器,三块内部存储器,多个通道和DMA控制器。他在一个指令周期可以执行4条指令,SIMD机制让他可以同时操作多个32bit浮点数或者32、16、8bit的定点数。
独立计算单元是完全独立运作的,每个计算单元又包括了ALU,MPU和SHIFTER三个计算模块,用来进行64bit和32bit的定点浮点运算。
内存则分为3个部分,一块作为程序存储空间,另外两块作为数据存储空间,我们可以自由分配,他们配备了一套地址线和两套数据线,可以取一条指令的同时,得到2个数据。
虎鲨的内存支持变字长数据连续存储,不会造成内存的浪费,带宽也到了12GByte/sec,这在当时是很诱人的。
虎鲨支持Link Port,通俗的来讲就是芯片级联技术,这在DSP的发展领域是一个极大的创新,一颗TS不够用,那就两颗,两颗还不够,我用4颗,8颗,12颗,你有多少的数据过来,我就吃掉多少,我以前见过一块板上用12颗TS201,一块信号处理板就卖到100万!
讲内核讲外设太枯燥了,不多说,反正这颗也是一个遗憾了。
TigerSHARC在今日
时至今日,为何OP说是一个遗憾,因为TS201已经早早的停产了,我们只能用性能差一些的TS101。
有兄弟问是不是老美做这颗不赚钱?又或者是特殊原因不卖给我们了?并不是,反而这颗非常非常非常赚钱,可能会超出你想像的赚钱,但全球只剩下Intel的一条IC生产线能做它。而随着这条产线被Intel卖掉了,新接手这条产线的公司不给ADI做,TS201就这么莫名的下架了。
TS203?TS30X?砍掉,以色列的研发团队解散,虎鲨系列除了TS101,其他全部寿终就寝,都结束了。
后记
OP为什么对这颗DSP如此感慨呢?因为这颗DSP有太多的回忆,北京、石家庄、西安、太原、成都、武汉、洛阳、桂林,2000年到2006年,最好的年纪都和虎鲨在一起。
话又说回来,虽然但是,TS101依然是可用的,而且依然有非常多的用户还在用它,那么OP就为这颗虎鲨继续提供开发工具,ADZS-HPUSB-ICE仿真器,AD-HP560ICE仿真器,唯二在售能支持虎鲨系列调试的仿真器,有需要,联系我,就这样。