ADSP-21161N SHARC DSP是ADSP-21160的低成本衍生产品,具有模拟设备超级哈佛架构。为了便于移植,ADSP-21161N与ADSP-21160和第一代ADSP-2106X SHARC处理器在SISD(单指令,单一数据)模式。与其他sharc dsp一样,adsp-21161N是一个32位处理器,为高性能的数字信号处理器应用而优化。ADSP-21161N包括一个100兆赫或110兆赫的核心、一个双端口片上SRAM、一个支持多处理的集成I/O处理器和多条内部总线,以消除I/O瓶颈。正如adsp-21160adsp-21161n首次提供的那样,adsp-21161n提供了单指令多数据(simd)体系结构。使用两个计算单元(ADSP-2106X SHARC处理器有一个),ADSP-21161N在一系列的数字信号处理器算法上可以比ADSP-2106X实现双倍周期性能。
ADSP-21161N采用最先进的高速低功耗CMOS工艺制造,指令周期为10 ns或9 ns。由于其simd计算硬件运行在110mhz,adsp-21161n每秒可以执行6.6亿个浮点运算。表1显示了ADSP-21161N的性能基准。这些基准提供了测量的双通道处理性能的单通道外推。
ADSP-21161N延续了SHARC业界领先的DSP集成标准,将高性能32位DSP内核与集成的片上系统功能结合在一起。这些功能包括1兆位双端口sram存储器、主机处理器接口、支持14个dma通道的i/o处理器、4个串行端口、2个链路端口、sdram控制器、spi接口、外部并行总线和无胶多处理。
ADSP-21161N的框图说明了以下架构特征:
*两个处理元件,每个元件由一个ALU、多个plier、移位器和数据寄存器文件组成;数据地址生成器(DAG1、DAG2);带指令缓存的程序序列器;PM和DM总线能够支持每个核心处理器周期内存和核心之间的四个32位数据传输;间隔计时器;片上SRAM(1M位);SDRAM控制器,用于与SDRAM的无胶接口。
*支持以下功能的外部端口:与片外存储器外设接口。
*六个ADSP-21161N SHARC的无胶多处理支持;主机端口读/写IOP寄存器;DMA控制器;四个串行端口;两个链路端口;SPI兼容接口;JTAG测试访问端口;12个通用I/O引脚。
ADSP-21161N系列核心架构
ADSP-21161N包括ADSP-2116X系列核心的以下结构特征。ADSP-21161N在汇编级与ADSP-21160兼容,ADSP-21060、ADSP-21061、ADSP-21062和ADSP-21065L。
simd计算引擎
adsp-21161n包含两个计算处理元素,它们作为单指令多数据(simd)引擎运行。处理元件称为PEX和pey,每个都包含一个alu、乘法器、移位器和寄存器文件。PEX始终处于活动状态,可通过在Mode1寄存器中设置PEYEN模式位来启用PEY。启用此模式时,在两个处理元素中执行相同的指令,但每个处理元素对不同的数据进行操作。该体系结构能够有效地执行数学密集型的dsp算法。
进入simd模式也会影响在存储器和处理元件之间传输数据的方式。在simd模式下,需要两倍的数据带宽来维持处理单元中的计算操作。由于这一要求,进入simd模式也会使内存和处理元素之间的带宽增加一倍。
在simd模式下使用dags传输数据时,每次访问内存或寄存器文件时都会传输两个数据值。simd只支持内部存储器访问,不支持片外访问。
独立的并行计算单元
在每个处理单元中都有一组计算单元。计算单元包括算术/逻辑单元(ALU)、乘法器和移位器。这些单元执行单周期指令。每个处理单元中的三个单元并行排列,最大化计算吞吐量。单个多功能指令执行并行运算单元和乘法器操作。在simd模式下,并行alu和乘法器操作同时发生在两个处理单元中。这些计算单元支持ieee 32位单精度浮点、40位扩展精度浮点和32位定点数据格式。
数据寄存器文件
通用数据寄存器文件包含在每个处理元素中。寄存器文件在计算单元和数据总线之间传输数据,并存储中间结果。这10个端口、32个寄存器(16个主寄存器、16个辅助寄存器)的寄存器文件与sharc增强的harvard体系结构相结合,允许计算单元和内存之间无约束的数据流。PEX中的寄存器称为R0–R15,PEY中的寄存器称为S0–S15。
指令和四个操作数的单周期获取
ADSP-21161N采用了增强的哈佛体系结构,其中数据存储器(DM)总线传输数据,程序存储器(PM)总线传输指令和数据(见图2)。利用ADSP-21161N的独立程序和数据存储总线以及片上指令缓存,处理器可以在一个周期内同时获取四个操作数(每个数据总线两个操作数)和一条指令(从缓存)。
指令缓存
ADSP-21161N包括一个片上指令高速缓存,该高速缓存支持三总线操作以获取一条指令和四个数据值。缓存是选择性的,只缓存取数与pm总线数据访问冲突的指令。此高速缓存支持核心、循环操作(如数字滤波器乘法累加)和fft蝶形处理的全速执行。
带硬件循环缓冲区的数据地址生成器
ADSP-21161N的两个数据地址生成器(DAG)用于间接寻址和在硬件中实现循环数据缓冲区。圆形缓冲器允许有效编程延迟线和数字信号处理所需的其他数据结构,通常用于数字滤波器和傅里叶变换。ADSP-21161N的两个DAG包含足够的寄存器,可以创建多达32个循环缓冲区(16个主寄存器集,16个次寄存器集)。DAG自动处理地址指针环绕,减少开销,提高性能,并简化实现。循环缓冲区可以在任何内存位置开始和结束。
灵活指令集
48位指令字可容纳各种并行操作,以实现简洁的编程。例如,adsp-21161n可以有条件地在两个处理元素中执行乘法、加法和减法,而分支则可以在一条指令中执行。
ADSP-21161N内存和I/O接口功能
ADSP-21161N为ADSP-2116X系列核心增加了以下架构功能。
双端口片上存储器
ADSP-21161N包含1兆位片上SRAM,按0.5M位的两个块组织(图3)。每个块可以配置为代码和数据存储的不同组合。每个内存块都是双端口的,由核心处理器和I/O处理器进行单周期独立访问。双端口存储器结合三条独立的片上总线,允许在一个周期内从核心和I/O处理器传输两次数据。在adsp-21161n上,存储器可以配置为32位数据的最大32k字、16位数据的最大64k字、48位指令的最大21k字(或40位数据)或最大为1兆位的不同字大小的组合。所有内存都可以作为16位、32位、48位或64位字访问。支持16位浮点存储格式,有效地将可存储在芯片上的数据量加倍。32位浮点和16位浮点格式之间的转换是在一条指令中完成的。虽然每个存储块可以存储代码和数据的组合,但是当一个块使用dm总线存储数据进行传输,而另一个块使用pm总线存储指令和数据进行传输时,访问效率最高。使用dm总线和pm总线,每个内存块有一个专用的总线,确保单周期执行和两个数据传输。在这种情况下,指令必须在缓存中可用。
片外存储器和外设接口
ADSP-21161N的外部端口提供处理器与片外存储器和外围设备的接口。ADSP-21161N的统一地址空间中包括62.7兆字的片外地址空间(如果所有SDRAM都是254.7兆字)。用于pm地址、pm数据、dm地址、dm数据、i/o地址和i/o数据的单独onchip总线在外部端口上多路复用,以创建具有单个24位地址总线和单个32位数据总线的外部系统总线。对外部存储器的每次访问都基于获取32位字的地址。从外部存储器获取指令时,将访问两个32位数据位置以获取压缩指令。未使用的链路端口线也可以用作额外的数据线data15–data0,允许以高达110mhz的频率从外部存储器单周期执行指令。图4显示了对外部内存的各种访问的对齐方式。
外部端口支持异步、同步和同步突发访问。同步突发sram可以无胶接。adsp-21161n还可以与sdram无胶连接。通过对高阶地址线的片上解码来产生存储组选择信号,从而方便了外部存储设备的寻址。ADSP-21161N提供可编程存储器等待状态和外部存储器确认控制,允许以可变访问、保持和禁用时间要求与存储器和外围设备进行接口。
SDRAM接口
sdram接口使adsp-21161n能够以核心时钟频率或核心时钟频率的一半向同步dram(sdram)传输数据。同步方法,加上核心时钟频率,支持高吞吐量的数据传输,32位传输高达440m字节/秒,48位传输高达660m字节/秒。
sdram接口提供了一个无胶接口,标准sdrams-16mb、64mb、128mb和256mb-和包括支持ADSP-21161N和SDRAM之间的附加缓冲区的选项。sdram接口非常灵活,能够将sdram连接到adsp-21161n的四个外部存储库中的任何一个,最多四个存储库都映射到sdram。多个sdram设备并行连接的系统可能需要缓冲以满足总体系统计时要求。adsp-21161n支持地址和控制信号的管道传输,以在其自身和多个sdram设备之间实现这种缓冲。
目标板JTAG模拟器连接器
jtag仿真器的模拟器件dsp-tools产品线采用adsp-21161n处理器的ieee 1149.1jtag测试接入端口对目标板处理器进行仿真监控。模拟器件dsp工具生产线JTAG模拟器以全处理器速度提供仿真,允许检查和修改内存、寄存器和处理器堆栈。处理器的jtag接口确保模拟器不会影响目标系统加载或计时。有关JTAG模拟器操作的SHARC模拟设备DSP工具产品线的完整信息,请参阅相应的模拟器硬件用户指南。
DMA控制器
ADSP-21161N的片上DMA控制器可以在无需处理器干预的情况下实现零开销数据传输。dma控制器对处理器核心独立且不可见地操作,允许在核心同时执行其程序指令时进行dma操作。dma传输可以发生在adsp-21161n的内部存储器和外部存储器、外部外设或主机处理器之间。在ADSP之间也可以进行DMA传输-21161N的内部存储器及其串行端口、链路端口或SPI兼容(串行外围接口)端口。在从8位、16位或32位宽的外部存储器进行dma传输期间,在内部存储器中执行32位、48位或64位字的外部总线打包和解包。ADSP-21161N-2上有14个DMA通道,其中8个通过串行端口,4个通过处理器的外部端口(用于主机处理器、其他ADSP-21161N、内存或I/O传输)在SPI接口和链路端口之间共享。可以使用dma传输将程序下载到adsp-21161n。异步片外外设可以控制两个使用dma请求/授权线的dma信道(dmar2–1,DMAG2 - 1)。其他dma功能包括在dma传输完成时生成中断,以及用于自动链接dma传输的dma链。
多处理
adsp-21161n为多处理的dsp系统提供了强大的功能。外部端口和链接端口提供集成的无胶多处理支持。
外部端口支持一个统一的地址空间(见图3),该地址空间允许直接访问每个ADSP21161N的内部内存映射(I/O处理器)寄存器。通过对iop dma参数和控制寄存器的编程启动dma传输,可以间接访问所有其他内部存储器。分布式总线仲裁逻辑包含在芯片上,用于简单、无胶连接最多包含六个ADSP-21161N和一个主机处理器的系统。主处理器切换只会产生一个周期的开销。总线仲裁可以选择固定优先级或旋转优先级。总线锁为信号量启用不可分割的读-修改-写序列。为处理器间命令提供矢量中断。使用110mhz的指令速率,通过外部端口的处理器间数据传输的最大吞吐量为440m字节/秒。
两个链路端口提供了多处理通信的第二种方法。每个链路端口可以支持与另一个ADSP-21161N的通信。ADSP-21161N以110MHz的频率运行,在220M字节/秒的链路上具有处理器间通信的最大吞吐量。链路端口和群集多处理可以同时或独立使用。
链接端口
ADSP-21161N具有两个8位链路端口,提供额外的I/O功能。由于每个链路端口能够以110mhz的频率运行,因此可以支持110m字节/秒的速率。链路端口i/o对于多处理系统中的点到点处理器间通信尤其有用。链路端口可以独立和同时工作,最大数据吞吐量为220m字节/秒。链路端口数据被打包成48位或32位字,可由核心处理器直接读取或由dma传输到片上存储器。每个链路端口都有自己的双缓冲输入和输出寄存器。时钟/应答握手控制链路端口传输。传输可编程为发送或接收。
串口
ADSP-21161N具有四个同步串行端口,为各种数字和混合信号外围设备提供廉价的接口。每个串行端口由两条数据线组成,一条时钟和帧同步。数据线可以编程为发送或接收。
串行端口的工作速率高达核心时钟速率的一半,每个端口的最大数据速率为55m bit/s。串行数据管脚可编程为发射器或接收器,为串行通信提供更大的灵活性。串行端口数据可以通过专用的DMA自动地在片上存储器之间传输。每个串行端口都具有时分多路(TDM)多通道模式,其中两个串行端口是TDM发射器,两个串行端口是TDM接收器(Sport0 Rx与Sport2 TX配对,Sport1 Rx与Sport3 TX配对)。每个串行端口还支持i2s协议(音频编解码器、adc和dac通常使用的行业标准接口),具有两个数据管脚,每个串行端口允许四个i2s通道(使用两个i2s立体声设备),最多16个i2s通道。串行端口允许从3位到32位的小端或大端传输格式和字长选择。对于i2s模式,数据字长度可在8位和32位之间选择。串行端口提供可选的同步和传输模式以及可选的μ-律或a-律压扩。串行端口时钟和帧同步可以在内部或外部生成。
串行外设(兼容)接口
串行外围接口(spi)是一种工业标准的同步串行链路,使adsp-21161n spi兼容端口能够与其他spi兼容设备通信。spi是一个4线接口,由两个数据管脚、一个设备选择管脚和一个时钟管脚组成。它是一个全双工同步串行接口,支持主模式和从模式。spi端口可以在多主环境中运行,它可以与多达四个其他spi兼容设备(作为主设备或从设备)连接。ADSP-21161N SPI兼容外设实现还具有可编程波特率和时钟相位/极性。ADSP-21161N SPI兼容端口使用开放漏极驱动程序来支持多主机配置并避免数据争用。
主机处理器接口
ADSP-21161N主机接口允许轻松连接到标准的8位、16位或32位微处理器总线,而不需要额外的硬件。主机接口通过ADSP-21161N的外部端口访问。主机接口有四个dma通道;代码和数据传输以较低的软件开销完成。主机处理器用主机总线请求ADSP-21161N的外部总线请求(HBR)、主机总线授权(HBG)和芯片选择(CS)信号。主机可以直接读写adsp-21161n的内部iop寄存器,并可以访问dma信道设置和消息寄存器。通过主机的dma设置将允许它通过dma传输访问任何内部内存地址。向量中断支持提供主机命令的有效执行。
主机-处理器接口可用于多处理器或单处理器sharc系统。对于多处理器系统,对sharc的主机访问要求低驱动地址pin addr17、addr18、addr19和addr20。
仅通过电阻器(例如10k欧姆)将这些引脚连接到接地是不够的。必须用足够强的驱动力(10–50欧姆)将这些销驱动低,以克服这些销上存在的SHARC保持器闩锁。如果提供的驱动器强度不够强,则可能会发生数据访问故障。
对于使用此主机访问功能的单处理器SHARC系统,地址管脚ADDR17、ADDR18、ADDR19和ADDR20可能被限制在低位(例如通过10K欧姆电阻器)、由缓冲区/驱动器驱动或保持浮动。任何一种选择都是足够的。
通用I/O端口
ADSP-21161N还包含12个可编程的通用I/O引脚,可以作为输入或输出。作为输出,这些管脚可以向外围设备发送信号;作为输入,这些管脚可以提供条件分支的测试。
程序启动
ADSP-21161N的内部存储器可以在系统通电时从8位EPROM、主机处理器、SPI接口或通过其中一个链路端口启动。选择引导源由引导内存选择(bms)、eboot(eprom boot)和link/host boot(lboot)管脚控制。8位、16位或32位主机处理器也可用于引导。
锁相环和晶体双使能
adsp-21161n使用片内锁相环(pll)来产生核心的内部时钟。clk_cfg1–0管脚用于选择2:1、3:1和4:1的比率。除了PLL比率,CLKDBL引脚可用于更多的时钟比率选项。由CLKDBL引脚设置的(1/2×CLKIN)速率决定PLL输入时钟的速率和外部端口的工作速率。加上支持clk_cfg1–0和clkdbl,核心和clkin之间的比率为2:1、3:1、4:1、6:1和8:1。
电源
ADSP-21161N具有用于模拟(AVDD/AGND)、内部(VDDINT)和外部(VDDEXT)电源的独立电源连接。内部和模拟电源必须满足1.8 V的要求。外部电源必须满足3.3V的要求。所有外部电源引脚必须连接到同一电源。
注意,模拟电源(AVDD)为ADSP-21161N的时钟发生器PLL供电。为了产生稳定的时钟,提供一个外部电路来过滤AVDD引脚的电源输入。地点过滤器尽可能靠近销子。必须为多处理器系统中的每个ADSP-21161N添加图6所示的AVDD滤波电路。为了防止噪声耦合,对模拟接地(agnd)信号使用宽跟踪,并在尽可能靠近管脚的地方安装去耦电容器。