<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
http://www.analog.com/zh/embedded-processing-dsp/blackfin/content/blackfin_architecture/fca.html
Blackfin 处理器架构概述
Blackfin? 处理器是一类专为满足当今嵌入式音频、视频和通信应用的计算要求和功耗约束条件而设计的新型 16~32 位嵌入式处理器。Blackfin 处理器基于由 A DI 和 Intel 公司联合开发的微信号架构(MSA),它将一个 32 位 RISC 型指令集和双 16 位乘法累加(MAC)信号处理功能与通用型微控制器所具有的易用性组合在了一起。 这种处理特征的组合使得 Blackfin 处理器能够在信号处理和控制处理应用中均发挥上佳的作用 —— 在许多场合中免除了增设单独的异类处理器的需要。该能力极大地简化了 硬件和软件设计实现任务。
目前,Blackfin 处理器在单内核产品中可提供高达 756MHz 的性能。Blackfin 处理器系列中的新型对称多处理器成员在相同的频率条件下实现了性能的翻番。Blackfin 处理器系列还提供了低至 0.8V 的业界领先功耗性能。对于满足当今及未来的信号处理应用(包括宽带无线、具有音频/视频功能的因特网工具和移动通信)而言,这种高性能与 低功耗的组合是必不可少的。
所有的 Blackfin 处理器都为系统设计师提供了十分重要的好处,包括:
性能处理器内核
Blackfin 处理器架构基于一个 10 级 RISC MCU/DSP 流水线和一个专为实现最佳代码密度而设计的混合 16/32 位指令集架构。Blackfin 处理器架构还完全符合 SIMD 标准,并包括用于加速视频和图像处理的指令。该架构很适合于全信号处理/分析能力,同时还可在单内核 器件或双内核器件上提供高效 RISC MCU 控制任务执行能力。 由于具有最佳代码密度且只需进行极少(或者完全不需要进行)代码优化处理,因此可缩短产品的 面市时间,而不会遇到其他传统处理器所常见的性能空间障碍。
高带宽 DMA 能力
所有的 Blackfin 处理器均具有多个独立的 DMA 控制器,这些控制器支持自动数据传输,而所需的处理器内核开销极少。 DMA 传输可出现于内部存储器和诸多具有 DMA 功能的外设之间。传输也有可能出现于外设和与外部存储器接口相连的外部器件(包括 SDRAM 控制器和异步存储器控 制器)之间。
视频指令
除了具有对 8 位数据以及许多像素处理算法所常用的字长的固有支持之外,Blackfin 处理器架构还包括专为增强视频处理应用中 的性能而定义的指令。比如,离散余弦变换(DCT)通过一个 IEEE1180 舍入操作得到支持,而“SUM ABSOLUTE DIFFERENCE”指令则支持在诸如 MPEG2、MPEG4 和 JPEG 等视频压缩算法中所使用的运动估计算法。
利用软件来实现视频压缩算法使得 OEM 制造商能够在不变更硬件的情况下适应不断发展的标准和新型功能要求。增强型指令可使 Blackfin 处理器在那些先前 主要是由 ASIC、VLIW 媒体处理器或硬连线芯片组来满足的应用中一试身手。归根结底,Blackfin 处理器将在帮助降低总系统成本的同时使终端应用的产品上市时 间得以缩短。
高效控制处理
Blackfin 处理器架构还提供了各种在 RISC 控制处理器中最为常见的好处。这些特点包括:一个功能强大且灵活的分层存 储器架构、出众的代码密度以及各种各样的微控制器型外设(包括 10/100 以太网 MAC、UARTS、SPI、CAN 控制器、支持 PWM 的定时器、看门狗定时器、实时时钟和一 个无缝同步和异步存储器控制器)。所有这些特点为设计师提供了巨大的设计灵活性,并最大限度地降低了终端系统成本。
分层存储器
Blackfin 处理器存储器架构在器件实现中提供了 Level 1(L1)和 Level 2(L2)存储模块。L1 存储器直接与处理器内 核相连、以全系统时钟频率运行并为实时算法程序段提供了最大的系统性能。L2 存储器是一种较大的大容量存储模块,其性能虽略有下降,但运行速度仍然高于片外存 储器。
L1 存储器架构的实现旨在提供信号处理所需的性能以及通用型微控制器所拥有的编程简易性。这是通过允许将 L1 存储器配置为 SRAM、高速缓冲存储器或两者 之组合来实现的。通过支持 SRAM 和高速缓冲存储器编程模型,系统设计师便能够把要求高带宽和低延迟的关键实时信号处理数据组分配至 SRAM 中,而将更多的“软” 实时控制/OS 任务存储于高速缓冲存储器。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
存储器管理单元(MMU)规定了一种存储器保护格式,当其与内核的用户及监控模式相组合时,就能够支持一个全实时操作系统。该 RTOS 运行于监控模式中, 并对 存储模块及其他系统资源进行分割,以便实际应用程序运行于用户模式之中。这样,MMU 就提供了一种用于实现完善系统和应用的隔离而安全的环境。
出众的代码密度
Blackfin 处理器架构支持多长度指令编码。使用频率非常高的控制型指令被编码为紧致 16 位字,而更多的算术密集型信号处理指令 则被编码为 32 位值。该处理器将把 16 位控制指令与 32 位信号处理指令加以混合和链接,以形成 64 位组,从而实现存储器存储密度的最大化。当进行指令高速缓存和取指 令操作时,内核将自动地对总线的长度进行充分的压缩,因为它没有对准方面的限制。当组合起来使用时,这两种功能将使 Blackfin 处理器提供出堪与业界领先的 RISC 处理 器相媲美的。
动态电源管理
所有的 Blackfin 处理器均采用了多种节能技术。Blackfin 处理器基于一种选通时钟内核设计,可按照逐条指令来选择性 地切断功能单元的电源。Blackfin 处理器还支持多种针对所需 CPU 动作极少(或根本不需要 CPU 动作)期间的断电模式。最后(或许是最重要的)一点是, Blackfin 处理器支持一种自含动态电源管理电路,借助该电路即可对工作频率和电压进行独立控制,以满足正在执行的算法的性能要求。这些转换可以在一个 RTOS 或用户固件的控制之下连续出现。大多数 Blackfin 处理器都提供了片上内核稳压电路,并可在低至 0.8V 的电压条件下工作,因而特别适合于需要延长电池使用寿命 的便携式应用。
易用性
如今,在许多过去需要同时采用一个高性能信号处理器和一个单独的高效控制处理器的应用中,只需采用一个 Blackfin 处理器 便足够了。这种好处极大地缩减了开发时间和成本,并最终加快了终端产品的面市进程。此外,由于只需采用一组开发工具,因而减少了系统设计师的初期费用和学习时间。
http://www.analog.com/zh/embedded-processing-dsp/blackfin/content/blackfin_core_basics/fca.html
Blackfin 处理器包括一个具有 10 级 RISC MCU/DSP 流水线的高性能 16/32 位嵌入式处理器内核、用于实现最佳代码密度的可变长度 ISA 以及具有面向加速视频和多媒体处理的指令的全 SIMD 支持。Blackfin 内核的说明如下:
Blackfin 处理器内核包括一个用于通用运算单元的 8 路×32 位数据寄存器文件。支持的数据类型包括8 位、16 位或 32 位带符号或无符号整数以及 16 位或 32 位带符号分数。在每个时钟周期中,这种多端口寄存器文件均支持两个 32 位读出和两个 32 位写入操作。还可将其作为一个 16 路×16 位数据寄存器文件来进行存取。
除了支持循环缓冲和栈保持以外,地址寄存器文件还提供了一种通用型寻址机制。该寄存器文件由 8 个表目组成,并包括一个帧指针和一个栈指针。帧指针可用于子例程参数传输,而栈指针则可用于存储子程序调用的返回地址。
数据运算器所包含的系统资源大约是 Analog Devices 公司以往 16 位架构的两倍。它包括:
所有的计算资源均能够处理来自数据寄存器文件(R0~R7)的 8 位、16 位或 32 位操作数。可将每个寄存器作为一个 32 位寄存器或一个 16 位寄存器的高位部分或低位部分来进行存取。
在单个时钟周期中,SIMD 架构能够对多达两个 32 位值进行读出和写入操作。然而,由于能够对 R0~R7 寄存器的高位部分和低位部分进行独立寻址(Rx、Rx.H 或Rx.L),因此每个计算部件都能够从两个 32 位输入值和四个 16 位输入值当中进行选择,而并未对输入数据加以限制。计算的结果可以作为一个 32 位实体或寄存器的高 16 位部分或低 16 位部分而被重新写入寄存器文件。此外,累积的方法有可能因为数据通路的不同而存在差异。例如,A0 可能是一个恒定加法,而 A1 则可能是一个恒定减法。这种能力被称为 “灵活的 SIMD”。
两个累加器的长度均为 40 位,从而提供了 8 位扩展精度。与通用型寄存器相似,两个累加器均能够以 16 位、32 位或 40 位的增量进行存取。Blackfin 架构还支持一种可生成两个 16 位、32 位或 40 位结果或 4 个 16 位结果的组合型加法/减法指令。在希望获得 4 个 16 位结果的场合,高位和低位部分的结果可以互换。这是一项非常强大的功能,比方说,它能够显著地改善 FFT 基准程序结果。
两个数据地址发生器(DAG)提供了用于实现存储器的同时双重操作数取出的地址。这两个 DAG 共用一个包含了 4 组 32 位索引(I)、长度(L)、基数(B)和修改(M)寄存器的寄存器文件。另外还有 8 个附加 32 位地址寄存器(即 P0~P5、帧指针和栈指针),它们可被用作针对变量和栈位置的通用标引的指针。
4 组 I、L、B 和 M 寄存器可用于实现循环缓冲。当一道使用时,每组索引、长度和基数寄存器都能够在内部或外部存储器中实现一种独特的循环缓冲器。Blackfin 架构还支持各种寻址模式,包括间接型、自动增量和减量型、索引型和位反转型。最后,所有的地址寄存器的长度均为 32 位,从而可支持 Blackfin 处理器架构的全 4Gbyte 地址范围。
程序定序器负责控制指令执行的流程,并支持条件转移和子例程调用以及嵌套式零开销循环。一个多级全互锁型流水线可确保代码按照预期的方式来执行,并将所有的数据故障与编程装置隔离开来。此类流水线通过在必要时停转的方法确保了结果的准确度,以获得正确结果。这极大地简化了编程任务,因为软件工程师无须彻底了解流水线延迟问题。片上互锁硬件可确保操作数数据在一个特殊指令的执行过程中处于有效状态。
除了有限的多种 64 位指令程序包之外,Blackfin 架构还支持 16 位和 32 位指令长度。这通过把最常用的控制指令编码为紧致 16 位字、并将更加棘手的数学运算编码为 32 位双字的方法确保了最大的代码密度。
文章评论(0条评论)
登录后参与讨论