Steve Leibson,赛灵思战略营销与商业规划总监 (2013年3月25日)
几个星期以前,我曾经写过一篇博客,内容是有关在摩尔定律作用下,我们能够在单个芯片上集成越来越多的功能,所以ASIC让位的时候到了(见:所有ASIC都去了哪里?)
在那篇专栏中,我引用了我的朋友Dave Jones录制并发表在www.eevblog.com上的一个视频播客。在视频中Dave拆解了一个上世纪90年代中期的Fluke示波器,并展示了内部的ASIC。现在Dave又进行了一次拆解,我不能放过这个再次见证行业发展关键点的机会,即在摩尔定律的作用下,ASIC正在消失。
这次Dave拆解的是一部上世纪80年代晚期的经典Commodore Amiga 500个人计算机。下面是他拍摄的Amiga 500的内部结构图:
经典Commodore Amiga 500个人计算机的主板
这幅图是Amiga 500的主板。该计算机采用8MHz摩托罗拉68000微处理器,时钟频率刚刚超过7MHz。这个处理器就是最左边垂直放置的大型64引脚DIP器件。你还可以看到主板底部有两排DRAM芯片。这些芯片使用16位宽的256K DRAM,为主机提供512KB(不是512MB)RAM。DRAM右侧是一个扩展RAM连接器,有一个扩展RAM和电池供电的实时时钟板插入到照片所示的这个端口中。
在我针对这个话题发表的第一篇博客中,我把Amiga 500主板中的四个ASIC用红圈圈起来。这四个ASIC分别是:Fat Agnus、Denise、Paula和Gary,名字很有趣。Fat Agnus是系统存储器访问控制器,采用84引脚PLCC封装,是Amiga 500主板上位置最靠底边的ASIC。该ASIC还包含Amiga 500的位块传送器(基本上就是视频内存的DMA控制器)和“copper”视频处理器。
Fat Agnus ASIC上面的是Paula ASIC,其采用40引脚DIP封装,内置8位四通道PCM音频(左右音频端口各两通道)、中断控制器、高度可编程软盘控制器(可读取IBM PC和Mac磁盘)、RS-232串行端口和模拟游戏杆控制器。Paula可能代表“端口(Port)、音频(Audio)和UART”,但巧合的是,它也是芯片设计者女友的名字。
紧挨Paula的右边是另一个40引脚DIP芯片,这就是Gary ASIC。Gary代表“门阵列”,为软盘驱动器提供胶合逻辑及其它支持。Gary ASIC是真正的门阵列,它将此前在Commodore Amiga 1000中由分立逻辑实现的多项功能集成在一起。
Paula的左边是Denis ASIC,也是一个40引脚DIP芯片,它是这个系统的主视频处理器。Amiga个人计算机系列以其出色的视频灵活性而著称。尤其是Amiga个人计算机具备视频同步锁相功能,可与已有的视频进行图像叠加。由于具备这项功能,Amiga计算机成为众多视频编辑系统的心脏,其中最出名的要算NewTek的Video Toaster系列。Amiga计算机最知名的用途或许是为电视连续剧《巴比伦五号》第一季和第二季制作计算机场景。Amiga计算机在当年可以说是功能极其强大的机器。
如今,你可以轻松地把Fat Agnus、Denise、Paula和Gary ASIC布置在28nm SoC中的一个小角落里。我在观看Dave Jones的拆解视频时,又闪现出另一个想法。现在,可以用一个赛灵思Zynq All Programmable SoC实现整个Amiga 500主板,包括处理器、视频逻辑、DRAM阵列和输入输出(I/O)。当然,微处理器采用的是1GHz ARM Cortex-A9 32位RISC而非7MHz的摩托罗拉68000。这种ARM处理器比摩托罗拉68000大约快1400倍:仅时钟速度就快了142倍;ARM处理器的32位总线比68000微处理器的16位总线快33%;另外,ARM RISC处理器每个时钟即可执行一个指令,是摩托罗拉68000每指令8时钟执行周期的8倍。Zynq All Programmable SoC还有一个用于执行额外任务的备用处理器(另一个1GHz ARM Cortex-A9处理器)。
Zynq All Programmable SoC中有一个RS-232 UART,当然,实际上有两个,但还需要一对1Gbps以太网端口用于网络连接,两个480M/s的USB 2.0端口用于外设访问。访问速度大大加快。两个片上12位模数转换器可以轻松处理模拟游戏杆。由于有17通道模拟多路复用器,这两个模数转换器可以处理8个模拟游戏杆,并仍可空闲一路模拟输入。
在存储器方面,Zynq All Programmable SoC的片上L2缓存容量与Amiga 500中的DRAM阵列相当。而且Zynq系列中的所有成员均有一个用于存储指令和数据的256K片上存储器。
这样,一个Zynq IC提供的内存容量实际上就相当于Amiga 500计算机的总内存容量,而且几乎等于Amiga 500主板与扩展RAM板的容量之和。这样你可以用全新的视角来审视Zynq All Programmable SoC的用途,不是吗?对我来说是这样。
想看看Dave拆解Amiga 500个人计算机的视频吗?我想答案一定是肯定的, 这里就是(已得到Dave的慷慨授权,不过可惜是在Youtube上, 国内很多网友还是无法观看):https://www.youtube.com/watch?v=HKNVIgsbYrA