并行处理器中的共享存储结构及方法

文档序号:8922377阅读:487来源:国知局
并行处理器中的共享存储结构及方法
【技术领域】
[0001]本发明属于计算机体系结构领域,特别涉及并行处理器中的线程之间采用信息传递机制的数据交换与存储。
【背景技术】
[0002]现代计算机体系结构以多处理器、多线程并行方式提高其处理能力,这一方式要求在多线程之间低开销地交换信息。而目前线程间的信息传递通常采用由软件实现的互斥机制,效率很低,实现也很复杂。

【发明内容】

[0003]本发明的目的是:提供一种专门用于多处理器多线程之间采用信息传递机制的、数据交换的共享存储结构及方法,高效完成并行机中处理器间多线程的信息交换。
[0004]本发明的技术方案是:一种并行处理器中的共享存储结构,其特征是:它包括:数个信息通道,读写双通道存储器,数个多播计数器组,以及仲裁器;
[0005]所述数个信息通道各自连接多个并行处理器,每一所述并行处理器执行2-16个线程;所述的数个信息通道均包括:地址信号线端、存储使能信号线端、读写选择信号线端、字节选择信号线端、输入数据信号线端、输出数据信号线端、输出有效信号线端;所述输入数据信号线端中包括:输入数据线端、多播计数线端、以及阻塞/非阻塞模式线端;
[0006]所述读写双通道存储器用于存取所述线程间传递的数据,数据宽度为4个字节,能够按字节存取,数据是32位的单精度字或者64位的双精度字;
[0007]所述的数个多播计数器组各自包含η个计数器,所述计数器用于记载多播计数信息,由地址信号选取,相应的信号控制进行读、写和递减操作;
[0008]所述仲裁器执行轮循仲裁算法,每次选择一个所述线程对所述读写双通道存储器进tx读与。
[0009]一种并行处理器中的共享存储方法,它上所述的并行处理器中的共享存储结构,并执行以下操作:
[0010]A.阻塞模式的写操作
[0011]Al.当几个来自所述信息通道的线程同时请求向所述双通道存储器写数据时,由所述仲裁器选取其中一个线程,并输出该线程给出的地址信号;
[0012]A2.由所述地址信号的最低1-2位选取一个所述多播计数器组,由所述地址信号的其它位选取该多播计数器组内相应的计数器,检查该计数器的值是否为O ;
[0013]A3.如果为0,则将该线程给出的多播计数写入该计数器,所述输出有效信号线端置I,按照该线程给定地址将数据写入所述双通道存储器;否则,
[0014]A4.所述输出有效信号线端置0,本次写操作失败;
[0015]B.阻塞模式的读操作
[0016]B1.当几个来自所述信息通道的线程同时请求从所述双通道存储器读数据时,由所述仲裁器选取其中一个线程,并输出该线程给出的地址信号,该地址信号也用来选择所述双通道存储器的一个字节;
[0017]B2.由所述地址信号的最低1-2位选取一个所述多播计数器组,由所述地址信号的其它位选取该多播计数器组内相应的计数器,检查该计数器的值是否大于O ;
[0018]B3.如果大于0,则将该计数器值减1,所述输出有效信号线端置1,按照该线程给定地址读取所述双通道存储器的指定字节;否则,
[0019]B4.所述输出有效信号线端置0,本次读操作失败;
[0020]C.非阻塞模式的写操作
[0021]Cl.当几个来自所述信息通道的线程同时请求向所述双通道存储器写数据时,由所述仲裁器选取其中一个线程,并输出该线程给出的地址信号;
[0022]C2.由所述地址信号的最低1-2位选取一个所述多播计数器组,由所述地址信号的其它位选取该多播计数器组内相应的计数器;
[0023]C3.将该线程给出的多播计数写入该计数器,所述输出有效信号线端置1,按照该线程给定地址将数据写入所述双通道存储器;
[0024]D.非阻塞模式的读操作
[0025]Dl.当几个来自所述信息通道的线程同时请求从所述双通道存储器读数据时,由所述仲裁器选取其中一个线程,并输出该线程给出的地址信号,该地址信号也用来选择所述双通道存储器的一个字节;
[0026]D2.由所述地址信号的最低1-2位选取一个所述多播计数器组,由所述地址信号的其它位选取该多播计数器组内相应的计数器,检查该计数器的值是否大于O ;
[0027]D3.如果大于0,则将该计数器值减1,所述输出有效信号线端置1,按照该线程给定地址读取所述双通道存储器的指定字节;否则,
[0028]D4.所述输出有效信号线端置0,本次读操作失败。
[0029]本发明提供了并行处理器多线程间的信息传递机制,实现信息的多播传输,通常只需要一个时钟就可以完成访存互斥检验,大大降低了通信开销和功耗。本发明的结构与方法还可以在可编程处理器阵列上高效地实现并行运算。
【附图说明】
[0030]附图1为本发明结构示意图;
[0031]附图2为本发明中多播计数器组结构示意图;
[0032]附图3为本发明中阻塞模式的写操作流程图;
[0033]附图4为本发明中阻塞模式及非阻塞模式的读操作流程图;
[0034]附图5为本发明中非阻塞模式的写操作流程图。
【具体实施方式】
[0035]实施例1:参见附图1、2,一种并行处理器中的共享存储结构,其特征是:它包括:数个信息通道,读写双通道存储器,数个多播计数器组,以及仲裁器;
[0036]所述数个信息通道各自连接多个并行处理器,每一所述并行处理器执行2-16个线程;所述的数个信息通道均包括:地址信号线端、存储使能信号线端、读写选择信号线端、字节选择信号线端、输入数据信号线端、输出数据信号线端、输出有效信号线端;所述输入数据信号线端中包括:输入数据线端、多播计数线端、以及阻塞/非阻塞模式线端;
[0037]所述读写双通道存储器用于存取所述线程间传递的数据,数据宽度为4个字节,能够按字节存取,数据是32位的单精度字或者64位的双精度字;
[0038]所述的数个多播计数器组各自包含η个计数器,所述计数器用于记载多播计数信息,由地址信号选取,相应的信号控制进行读、写和递减操作;
[0039]所述仲裁器执行轮循仲裁算法,每次选择一个所述线程对所述读写双通道存储器进行读与。
[0040]实施例2:参见附图1、2,如实施例1所述并行处理器中的共享存储结构,其特征是:
[0041]所述信息通道的数量为4个,每个所述信息通道连接4个并行处理器;
[0042]所述多播计数器组的数量为16个,每个所述多播计数器组包含的计数器为16个,每个所述计数器为3-4比特,支持6-8个线程间的数据多播;
[0043]所述信息传递共享存储结构占有所述并行处理器数据存储的地址空间,映射于该数据存储空间的最高地址部分。
[0044]实施例3:参见附图3、4、5,一种并行处理器中的共享存储方法,它使用如实施例1或2所述的并行处理器中的共享存储结构,并执行以下操作:
[0045]A.阻塞模式的写操作
[0046]Al.当几个来自所述信息通道的线程同时请求向所述双通道存储器写数据时,
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1