下面是现代可配置处理器(例如Tensilica公司的 Xtensa处理器)提供的配置和扩展选项,这对于传统的固定模式处理器而言是做不到的。
(i) 配置选项:选项菜单包括下面几项:
a. 设计人员需要或者不需要的指令。例如,16x16的乘法或者乘累加、移位、浮点指令等等。
b. 零开销循环、五级或者七级流水线、局部数据加载或者存储部件个数等。
c. 是否需要存储器保护、存储器地址转换或者存储器管理部件(MMU)
d. 包含或者不包含系统总线接口
e. 系统总线宽度和局部存储大电流电感器接口宽度
f. 局部(紧密耦合)存储器大小和数量。
g. 中断数量及中断类型和中断优先级。
(ii) 扩展选项:增加设计人员自己定义的功能部件,包括:
a. 寄存器和寄存器文件。
b. 多周期、仲裁复杂指令功能部件。
c. 单指令流多数据流SIMD功能部件。
d. 将单发射处理器变为多发射处理器。
e. 用户定制接口,可以直接对数据通路进行读写操作,例如,类似GPIO(通用输入/输出)引脚的处理器内核端口或者引脚,用于扩展先进先出FIFO队列的队列接口(可以与其它逻辑或者处理器内核进行接口)。
配置选项的好处是让设计人员通过仅选择与其应用有关的选项,就可以构建一个规模适度的处理器,并能够满足其特定应用。扩展选项的好处是让设计人员根据应用定制处理器,包括建立专用指令、寄存器文件、功能部件和相关接口,用于加速系统应用算法的执行。
4、自动化软件开发工具套件支持
可配置和可扩展的关键是不仅能够自动产生预先经过验证的RTL代码,用于设计人员定制处理器(包括所有系统扩展功能),而且还能够自动产生完整的软件工具,包括一个与处理器相匹配并经过优化的开发工具套件、一个基于时钟周期的指令集仿真器以及系统模型。
这种自动化意味着编译器知道设计人员所添加的新指令、相关的寄存器以及寄存器文件。因此,编译器能够对用户定义的指令进行调度,并执行寄存器分配操作。类似地,软件开发人员在调试时除了处理器本身的基本寄存器,还能够了解设计人员定义的寄存器和寄存器文件;同时,软件开发人员能够利用指令集仿真器对设计人员定义的新指令进行仿真。与处理器相关的实时操作系统RTOS端口和系统模型也能够自动产生。Tensilica的软件工具能够在一个小时内自动产生上述软件工具,这是对使用可配置处理器用户的核心承诺,能够执行诸如SAD运算,而不必采用RTL那样的实现方法。
5、采用可配置处理器构建视频加速引擎建立多操作功能部件
将SAD这样的融合操作加到一个可配置处理器中是一件麻烦的事情。一条称为“sub.abs.ac”的新指令可以完成“减法-绝对值-累加”运算操作。这条新指令能够将图2中的操作变成图3中的复操作。
图3 使用新指令计算“减法-绝对值-累加”操作
将该指令添加到处理器中后,C编译器能够识别这条新的“sub.abs.ac”指令,并调度相关指令;调度器将显示“sub.abs.ac”功能部件所使用的内部信号;汇编器能够处理这条新指令;指令集仿真器ISS能够按照时钟周期模式进行仿真。
新的专用视频功能部件插入处理器后的数据通路简图如图4所示。注意到,除了产生功能部件逻辑外,硬件生成工具还能够自动插入前馈通路、控制逻辑以及旁路逻辑,以便将新的功能部件与数据通路中的其它逻辑互连。
图4 插入sub.abs.ac视频专用功能部件后的简化数据通路示意图
包含新指令的C代码描述的SAD算法如下:
for (row = 0; row < numro功率电感器ws; row++) {for (col = 0; col < numcols; col++) {
sub.abs.ac( accum, macroblk1[row][col], macroblk2[row][col]);
} /* column loop */
} /* row loop */
基于Matlab的FIR带通滤波器设计与实现 4月08日 第三届·无线通信技术研讨会 立即报名 12月04日 2015•第二届中国IoT大会 精彩回顾 10月30日ETF•智能硬件开发技术培训会 精彩回顾 10月23日ETF•第三届 消费 关于BMS的二次保护芯片关于BMS的二次保护芯片已经用了电池管理芯片管理电池组每节电芯那二级保护芯片也有对应的管脚接在每节的电芯上这样不会和电池管理芯片冲突吗?芯片之间不会发生灌流? IR2110S+IRF3205总是炸MOS,麻烦大神指点一下电路 电路如图:
控制频率10Khz
刚开始Vcc给的20V,Q7坏了几块(没有炸,直接击穿导通了)后来把Vcc降到13V左右,Q8直接炸了。。
之前测试的电流大概在10A左右,VB
2/4 首页 上一页 1 2 3 4 下一页 尾页 |