原创 ADSP-BF592的处理器内核

2013-11-11 12:17 751 7 7 分类: 处理器与DSP

如图2所示,Blackfin处理器内核包含2个16位乘法器、2个40位累加器、2个40位ALU、4个视频ALU和1个40位移位器。计算单元处理来自寄存器文件的8位、16位或32位数据。

2013110612351****.jpg

 

计算寄存器文件包含8个32位寄存器。对16位操作数数据执行运算时,寄存器文件作为16个独立的16位寄存器工作。用于运算的所有操作数都来自多端口寄存器文件和指令常数字段。

 

每个MAC在每个周期可以执行一个16位乘16位乘法,结果累加到40位累加器中。支持带符号和无符号格式、舍入以及饱和。

 

ALU用于对16位或32位数据执行传统的算术和逻辑运算。此外,它还包括许多特殊指令,以便加速多种信号处理任务的执行。特殊指令包括字段提取和二进制位个数统计等位操作、模232乘法、除法原语、饱和和舍入、符号/指数检测。视频指令集包括字节对齐和打包操作、16位和8位截除加法、8位平均操作、8位减法/绝对值/累加(SAA)操作。此外还提供比较/选择和矢量搜索指令。

 

对于某些指令,两个16位ALU操作可以在寄存器对(一个计算寄存器的16位高半部分和16位低半部分)上同时执行。如果使用第二个ALU,则可以同时执行4个16位操作。

 

40位移位器可以执行移位和旋转,用于支持归一化、字段提取和字段存放指令。

 

程序序列器控制指令执行流程,包括指令对齐和解码。对于程序流程控制,该序列器支持PC相对和间接条件跳转(带静态分支预测)以及子例程调用。硬件支持零开销循环。该架构完全联锁,意味着在执行具有数据相关性的指令时,编程人员无需管理流水线。

 

地址算法单元提供两个地址,用于实现同时双取存储器操作。它包含一个多端口寄存器文件,该寄存器文件由4组32位索引、更改、长度、基础寄存器(用于循环缓冲)和8个附加32位指针寄存器(用于C式索引堆栈操作)组成。

 

Blackfin处理器支持一种改进型Harvard架构和分层存储器结构。第一级(L1)存储器通常以处理器最高速度工作,延迟非常短或无延迟。在L1层,指令存储器仅保存指令。数据存储器保存数据,一个专用暂存数据存储器存储堆栈和本地变量信息。

 

提供了多个L1存储器模块。存储器管理单元(MMU)为可能在内核上工作的各个任务提供存储器保护,并且能够防止对系统寄存器进行非预期的访问。

 

该架构提供三种工作模式:用户模式、管理员模式和仿真模式。用户模式对某些系统资源的访问权限是有限制的,从而提供一种受保护的软件环境,而管理员模式则能无限制地访问系统和内核资源。

 

Blackfin处理器的指令集经过优化,16位操作码代表最常用的指令,因而可获得出色的编译代码密度。复杂的DSP指令则编码为32位操作码,以实现完备的多功能指令。

 

Blackfin处理器支持有限的指令级并行功能,一个32位指令可以与两个16位指令并行发出,使得编程人员能在一个指令周期中使用许多内核资源。

 

Blackfin处理器的汇编语言使用代数语法,易于编码和阅读。该架构经过优化,能够与C/C++编译器一起使用,软件实现快速、高效。

 

原文地址:http://www.eastadi.com/Article/wz4/201311/20131106122851.html 

文章评论0条评论)

登录后参与讨论
我要评论
0
7
关闭 站长推荐上一条 /2 下一条