APP下载

阵列处理器动态可配置分布式存储访问结构设计

2021-06-20刘有耀

现代电子技术 2021年12期
关键词:全局处理器分布式

张 园,刘有耀,山 蕊

(西安邮电大学,陕西 西安 710121)

0 引言

随着集成电路产业的发展,可重构阵列处理器能够满足计算效能的需求,是处理器发展的必然趋势[1⁃4]。但处理器处理速度与主存存储速度失配引起的“存储墙”问题依然存在,如何在可重构阵列处理器上构建灵活、高效的存储体系是处理器性能提升的一个关键问题[5⁃6]。

为了解决上述问题,设计者们普遍在可重构存储结构中采用Cache 技术和多媒体应用下的便签式存储器SPM(Scratch⁃Pad Memory)[7]。文献[8]采用多级Cache 来进行访问,多级Cache 因为一致性问题导致了较高的能耗,对于实时性数据处理较差,难以满足新兴应用对存储并行性访问的需求。文献[9]提出的分布式Cache 结构,在大规模存储系统中,提高了缓存吞吐量,节省了能耗。文献[10]通过分布式SPM 在运行时显示执行数据移动指令,最大限度地提高软件运行速度。综上研究表明,越来越多的学者在可重构处理器中设计分布式存储结构[11],缓解可重构处理器中的“存储墙”问题。

可重构阵列处理器分布式存储结构中,实现阵列间高效率、低延迟的访问需求,常用的方法是在阵列处理器簇内(Processing Element Group,PEG),设计互连网络结构。互连网络不仅会影响计算性能,也会对面积和功耗有极大的影响[12]。可重构结构设计早期,大都采用静态互连网络,PE(Processing Element)在进行数据交互时通过固定的互连结构,如文献[13]中的BilRC 结构,该结构采用邻接互连线完成数据交互,对于没有邻接的PE,使得系统的计算效率有所降低且资源利用率不高。设计具有重构特性的互连网络成为可重构阵列处理器的一个新的挑战。本文基于可重构阵列处理器分布式存储结构,提出了一种动态可配置分布式存储访问结构DCAS(Dynamic Configurable Access Structure)。该分布式访问结构设有3 种互连方式,根据数据访存特点,可动态地配置为本地访问模式、局部访问模式和全局访问模式,提高了资源利用率,优化访存性能,减少能耗,在很大程度上减少访问延迟,提高了可重构阵列处理器的访存并行性。

1 动态可配置分布式存储访问结构(DCAS)

动态可配置分布式存储访问结构DCAS 如图1所示。

图1 动态可配置分布式存储访问结构

PEG 内包含4×4 个PE,每个PE 对应一个512 bit 大小的MB(Memory Bank,MB),称为本地MB,本地MB 对应的PE 称为本地PE,这4×4 个MB 地址连续,逻辑统一,以阵列的形式对应排布在可重构阵列处理器中,构成4×4 大小的分布式存储结构。PE 要和MB 进行通信时,通过设计好的片上互连结构(Interconnection)完成簇内的数据通信。DCAS 硬件电路结构分为动态模式配置单元、本地访问模式单元、局部访问模式单元和全局访问模式单元4 个电路模块,动态模式配置单元主要完成分布式存储访问结构的配置,即决定该PE 是本地访问模式还是局部访问模式,亦或是全局访问模式。本地访问模式完成本地PE 和本地MB 的互连,在此模式下仅支持本地访问需求。局部访问模式支持同一区域PE和MB 的共享访问需求,同区域之间的访问顺序采用轮询仲裁。全局访问模式支持簇内16 个PE 和MB 的共享访问,在此模式下实现簇内所有PE 和MB 的数据交互。

1.1 动态模式配置单元

簇内16 个PE 根据访问需求,可并行切换为本地访问模式、局部访问模式和全局访问模式,也可部分配置为任意一种访问模式,提高了簇内片上互连的灵活性,最大限度地优化访存效率。动态模式配置单元主要功能定义如图2 所示。

图2 动态模式配置单元结构框图

1)数据寄存器:接收到PE 的读写访问请求之后,先在寄存器中判断反馈信息,若反馈信息为高,则将寄存的访问信息释放;若反馈信息为低,则将访问信息寄存在数据寄存器中,等待正确的访问顺序。

2)判断器:接收PE 的读写访问信息,根据读写地址[12:9]判断目的MB 位置,将判断信息送给计数器。

3)计数器:数据访问一开始,先进行8 个计数器的置0,然后根据判断器发来的信息,记录对3 个模式的读访问次数和写访问次数,同时对各个模式下PE 发出的访问请求进行计数,当访问模式变化时,所有计数清0。

4)配置比较器:根据计数器的记录结果和输入的参数N进行模式匹配,当计数器的记录结果达到模式切换的条件,对现有的访问模式进行重新配置。

5)模式寄存器:记录当前访问模式和下一时刻访问模式,将访问状态发送给模式配置器。

6)模式配置器:根据访问状态和配置比较器,选择相应的模式输出访问信息到相应访问模式单元。

1.2 本地访问模式单元

本地访问模式簇内的Local Bus 将本地PE 和本地MB 直连,电路运行效率高,且不会形成冲突访问。其单元框图如图3 所示,主要功能定义如下:

图3 本地访问模式单元框图

1)仲裁器:当3 种访问模式同时有访问MB 的请求时,根据本地优先的访问策略,仲裁出一路信号经Local Bus 与MB 进行数据交互。并根据仲裁出的访问信号等待对应的反馈信号,将反馈信号送给动态模式配置模块。

2)数据信息通路Data:当仅有本地访问模式的MB请求时,直接经过数据直连通道与本地MB 进行数据交互。

3)反馈信息通路ack:当源操作PE 和目的MB 完成数据交互后,需返回ack 信息告知源操作PE。

1.3 局部访问模式单元

局部访问模式单元簇内的Partly Bus 把位于同行的PE 连接起来组成一个局部共享通道。一个共享通道内有4 个PE,访问冲突时,采用轮询仲裁,每次仲裁出一路信号与MB 进行数据交互。在PE 收到反馈信息后,可在下一拍发送新的访问请求,否则一直处于访问等待状态。局部访问模式单元框图如图4 所示,读操作与写操作类似,以写操作为例,主要功能定义如下:

图4 局部访问模式单元框图

1)写FSM:接受拼接的写使能P_wr[3:0],写使能从高位到低位分别为局部区域3 号使能、局部区域2 号使能、局部区域1 号使能和局部区域0 号使能。当访问冲突率为0 时,写FSM 根据P_wr[3:0]的有效位输出当前状态使能信号P_wr_reg[3:0],输出的P_wr_reg[3:0]中仅有1 位为高位。当访问冲突率不为0 时,写FSM 经过轮询,仲裁出1 路信号,生成新的使能有效位P_wr_reg[3:0]。

2)写MUX:根据写FSM 仲裁出的有效写使能P_wr_reg,进行写使能、写地址和写数据输出信号的选择,同时进行写反馈信号的等待。当P_wr_reg=0 时,代表无访问请求,所有的写输出信号置0,写反馈信号亦置0,当P_wr_reg[3:0]第n位为高时(n=0,1,2,3),选择n号写输入信号进行输出,并且等待n号写反馈信号。

1.4 全局访问模式单元设计

全局访问模式单元簇内的Global Bus 将4×4 个PE和4×4 个MB 连接起来,在该模式结构下,电路连线最多,模块最大,运行消耗最大。全局访问模式下访问冲突可达100%,即16 个PE 同时访问一个MB 块,此时,经过轮询仲裁,仲裁出1 路信号与MB 块进行数据交互。但全局模式下,可在簇内形成最大的共享存储结构,即16×512 bit 大小的存储块。全局模式访问单元框图如图5 所示,这里以写操作为例,主要功能定义如下:

图5 全局访问模式单元结构框图

1)写FSM:接受拼接的写使能P_wr[15:0],P_wr[15:0]的第n位代表全局区域的第n号写使能请求(n=0,1,2,…,15)。当访问冲突率为0 时,写FSM 根据P_wr[15:0]的有效位输出当前状态新的写使能信号P_wr_reg[15:0],输出的P_wr_reg[15:0]中仅有1 位为高位。当访问冲突率不为0 时,写FSM 经过轮询仲裁,仲裁出1 路信号,生成新的使能P_wr_reg[15:0]。

2)写MUX:根据写FSM 仲裁出的有效写使能P_wr_reg,进行写使能、写地址和写数据输出信号的选择,同时等待写反馈信号。当P_wr_reg[15:0]为0 时,代表此时无写访问请求,所有的写输出信号置0,写反馈信号亦置0,当P_wr_reg[15:0]第n位为高时(n=0,1,2,…,15),选择n号写输入信号进行输出,并且等待n号写反馈信号。

2 DCAS 的访问机制

DCAS 的访问机制如下:

1)DCAS 接收PE 送来的读写数据,并将读写信息寄存在本地Config MB 中。

2)在访问的一开始,所有Config MB 中的计数器C_PE,C_L,C_P,C_G 全部置0。

3)根据PE 发出的读写地址信息的[12:9]位来判断访问的数据位于哪一个MB 块,然后利用本地MB 对访问的MB 块次数以及PE 发出的访问请求次数进行对应的计数器加1。

4)根据设置的参数N和模式切换的条件进行模式匹配,若模式匹配正确,则进行模式配置。

5)在配置好的模式下将访问请求发往对应的互连结构下进行数据交互。

6)数据交互完成后返回读写反馈信息以及读数据信息,Config MB 收到反馈信息后,将寄存的访问信息释放,然后PE 可继续发送读写请求。

3 综合分析

采用Verilog HDL 硬件描述语言,在Questasim10.1d工具下进行功能仿真验证,选用Xilinx 公司的ZYNQ 系列芯片XC7Z045 FFG900⁃2 FPGA,通过Xilinx ISE14.7对设计进行综合,DCAS 最大工作频率为212.354 MHz,访问峰值带宽为7.125 GB/s。具体器件资源占用情况如表1 所示。

表1 FPGA 综合报告

4 仿真性能统计

本文设计的DCAS 基于数据访存特点,可动态独立地将16 个PE 配置为本地访问模式、局部访问模式和全局访问模式。为验证结构的合理性,选取了有冲突和无冲突两种情况进行访问延迟的统计。

图6统计了在无冲突访问时,访问次数分别为10次、20 次、30 次、40 次和100 次时3 种模式的平均写访问延迟。在本地访问模式下,平均写访问延迟与访问次数无关,均为1 个时钟周期。局部访问模式和全局访问模式的平均写访问延迟相同,随着访问次数的增多,2 种访问模式的平均写访问延迟均趋于1 个时钟周期。统计结果表明,在无冲突访问时,簇内的3 种片上互连结构均可以在各自访问需求下实现最优的访问效果。

图6 无冲突时平均写访问延迟统计

图7 展示了冲突率为25%,50%,75%,100%时,局部访问模式和全局访问模式的平均读写访问延迟统计图。由图可知,随着访问冲突率的增大,2 种访问模式下的平均读写访问延迟均有上升,其中全局访问模式的平均读写访问延迟上升较快。

图7 有冲突时平均读写访问延迟统计

5 结论

针对可重构视频阵列处理器数据的访存问题,本文设计了一种动态可配置分布式存储访问结构,该结构可动态独立地将4×4 个PE 配置为本地访问模式、局部访问模式和全局访问模式,实现4×4 个PE 对4×4 个MB 的并行访问。无冲突时,本地访问模式写操作在当前时钟即可完成数据交互,并返回写反馈信息,读操作需要1 个时钟周期,并返回读数据和读反馈信息。局部访问模式和全局访问模式写操作需要1 个时钟周期,读操作需要2 个时钟周期。通过Xilinx 公司的ZYNQ 系列芯片XC7Z045 FFG900⁃2 FPGA 开发板进行验证,在无冲突情况下,该结构支持16 个PE 的同时读/写访问,最高频率可达212.354 MHz,访存峰值带宽为7.125 GB/s。

猜你喜欢

全局处理器分布式
Cahn-Hilliard-Brinkman系统的全局吸引子
量子Navier-Stokes方程弱解的全局存在性
落子山东,意在全局
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
基于DDS的分布式三维协同仿真研究
Imagination的ClearCallTM VoIP应用现可支持Cavium的OCTEON® Ⅲ多核处理器
新思路:牵一发动全局
ADI推出新一代SigmaDSP处理器
西门子 分布式I/O Simatic ET 200AL