![](https://csdnimg.cn/release/download_crawler_static/87191948/bg6.jpg)
寄存器堆通过识别微程序控制器发送的取址指令,取出运算单元需要的原
始数据。数据类型选择模块接收到数据和取数类型指令后执行相应截位操作,
向交叉电路对应的端口写入数据,每次执行操作前,交叉电路会根据条件控制信
号选择两个操作数送入运算单元。除了操作数,每个 ALU 还有一个指令输入端
口 , 用 来 接 收 经 过 微 程 序 控 制 器 优 化 后 的 一 系 列 操 作 控 制 指 令 , 快 速 完 成
OpenVX 核函数的并行计算。根据核函数的不同,每个运算单元的输出有写入
寄存器堆或送入交叉电路两种选择。整个 PE 计算任务完成后由选择输出电路
选择当前 PE 的输出。
访存控制电路采用突发读写的方式,通过 AXI 总线访问 DDR,根据图像的处
理方式,输出对应的数据格式。图像处理通常在以下级别完成:
(1)低级图像处理:像素级操作。
(2)中级图像处理:对图像像素导出的抽象进行操作。
(3)高级图像处理:从中级图像处理操作中提取抽象内容,目的是生成更
高层次的抽象
[9]
。
OpenVX 核函数均属于低级图像处理,可分为点处理、局部邻域处理、递归
邻域处理和全局处理
[1]
。访存控制电路通过指令判断图像处理类别,选择最优取
数方式送入寄存器堆。
该 并 行 处 理 器 是 为 OpenVX 核 函 数 设 计 的 通 用 处 理 器 , 适 用 于 所 有
OpenVX 核函数,支持单指令多数据(single instruction multiple data,SIMD)
和 多 指 令 多 数 据( multiple instructions stream multiple data stream,MIMD)
两种编程模式,可以实现数据并行、任务并行、流水线的计算模式。SIMD 模式
下 ,16 个 PE 执 行 微 程 序 控 制 器 发 出 的 同 一 条 操 作 指 令 , 节 省 了 代 码 存 储
[10]
;MIMD 模式下,微程序控制器发送指令序列,多个 PE 可以同时完成不同核函
数的操作。
2 OpenVX 的图执行 模型及 函数简 介
2.1 OpenVX 的 图 执 行 模型