可配置的单指令多数据单元制造技术

技术编号:2819778 阅读:214 留言:0更新日期:2012-04-11 18:40
一种处理可配置单指令多数据(CSIMD)指令的方法,所述方法包括以下步骤: 提供一个存储信息的查找表格(LUT)以支持随机访问与多个处理元件(PE)相关的存储位置,并由所述PE执行指令差异; 接收一个CSIMD指令,其包括一个命令和一个所述查找表格(LUT)的索引,将由所述PE执行;以及 使用所述LUT索引随机访问所述存储位置,所述PE有差别地并行执行所述接收到的CSIMD指令的所述命令。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术通常涉及并行处理器特别涉及单指令多数据(SIMD)处理器。
技术介绍
.并行处理通常是指通过将程序分成多个程序段(其可以通过多个处理 器同时执行)以提高程序执行速度的概念。根据应用类型,不同的并行处 理器构造有不同的结果,并要求不同的程序分段。例如,程序可以被分割 成几部分,它们可以同时运行,并可以完全独立运行。这种并行处理被称 为多输入流、多输出流(MIMD)。这种方法增加了灵活性,但由于竞态条 件(race condition)以增加复杂性为代价,其中在MIMD处理器的处理单 元之间的时序差异(timing discrepancy)和数据相关性(data dependency) 可能使运行程序部分失去其正确的次序,导致运行中断。另一种并行处理 器被称为单指令流、多数据流(SIMD)。当在大量数据上执行相同操作时 (例如图像处理),这种并行处理单元特别有用,其中一种操作可以被统一 应甩在所有图像像素上或部分上。依照一个现有构造,图1描述一个SIMD单元100。 SIMD单元100 包括多个并行运行的处理部件(PE) 110a-110n。同时各自有存储组 120a-120n,在所述例子里它们是存储堆栈。每个存储组包括多个存储地址, 地址0、地址l、...地址M。 PE110可以是任何执行引擎,如运算处理器, 其执行诸如加、减、乘和除的命令。或者,PE110同样可以是逻辑和位操 作单元,其执行诸如ADD、 OR、 EXCLUSIVE-OR等操作。每个处理部件 110通过各个读取和写入操作,可以从各个存储组120接收多个数据输入 以及将数据写到各个存储组120。图2显示一个SIMD指令200的例子,其可以由图1的SIMD单元100 执行。指令200包括几个部分210-250。依照,部分210-250的组成部分和 次序根据SIMD单元100的实施不同而不同。在此例子里,指令200包括 一个命令指令(CMD)部分210、数据源部分220、 230 (分别是SRCO和SRC1)、 一个目标地址部分240 (DST)和一个其它控制部分250 (MISC)。CMD部分210显示将被执行的命令类型,SCRO部分220和SRC1部 分230提供在各个存储组内数据的源地址,CMD命令将在其上执行。DST 部分240提供在各个存储组内数据的目标地址,在数据源SCRO和SCR1 上执行CMD命令的数据结果将被写入其中。MISC部分250提供进一步指 令差异(instruction variances)以便给PE执行,如执行的CMD命令结果 在写入程序之前是否完全执行或转移,或者源数据是否是源部分(SRCO 或SRC1)本身,而不是来自存储组。图3描述一种在如图1配置100的SIMD单元上执行如在图2所示指 令的方法300。在步骤310, 一个SIMD指令(200)由SIMD单元接收。 指令可以被解析以分割成指令部分。或者,指令可以被解析然后提供给 SIMD单元。在步骤320, PE接收到指令命令。在步骤330, PE从其各个 存储组取回数据。在指令的SRCO和SRC1部分内显示的存储组地址内的 数据是从每个存储组取得。PE读取各个源数据。在步骤340, PE执行指令。即命令指令是由每个PE执行。MISC控 制信息被传递到PE。指令差异的执行是由不同MISC控制信息设定控制。 所有PE必须在任何运行周期内执行相同的操作。在步骤350,结果被写到 目标地址。每个PE写数据写到指令(图2的200) DST部分指示的存储 地址内,在每个PE的各个存储组内。不利的是,以上图1到图3的SIMD 单元构造被限制在读取和写入一个仅与各个PE相关的存储组。此外,每 个PE必须在取回的数据上执行相同的指令差异。所以,需要一个在以上配置上提供更大灵活性的SIMD单元。专利技术概述依照本专利技术的一个方面,提供一种处理可配置单指令多数据(CSIMD) 指令的方法。本方法包括以下步骤提供一个存储信息的查找表格(LUT) 以支持随机访问与多个处理元件(PE)相关的存储位置并通过PE执行指 令差异;接收一个将由PE执行的CSIMD指令,其包括一个命令和一个査 找表格(LUT)索引;使用LUT索引随机访问存储位置,PE有差别地并 行执行接收到的CSIMD指令。存储在LUT内的信息取决于应用需要。存储在LUT内的信息包括指令差异、从存储位置取回的随机源数据、 以及反写到存储位置的随机目标数据。从存储位置取回的数据和反写到存 储位置的数据可以通过指定地址和组信息而实现。依照LUT索引,PE可以执行指令差异、随机源数据取回和随机目标 写入。LUT索引(图5的520)指向的一个LUT行还包括有关至少一些源数 据的信息,以便PE能够从与PE相关的各个存储位置读取。LUT索引指 向的一个LUT行包括有关目标数据的信息,以便Ps能够被写到与PE相 关的各个存储位置。本方法还包括步骤将PE执行每个命令的结果写到各个目标存储位 置。CSIMD指令可以包括目标存储位置。LUT在各个行包括存储地址,使用LUT索引可访问到它们,以随机 访问存储在存储位置内的源数据。在LUT内的源和/或目标数据位置,其可能包括行地址和列组,可以 被提供给一个随机数据存取控制(RDAC)单元。RDAC单元可以从源数 据位置读取数据,并传送数据到各个PE。 RDAC单元可以从各个PE传送 数据,并写到目标数据位置。本方法可以还包括步骤提供LUT内的MISC控制信息给至少一个 PE以允许每个PE有差别地执行命令。存储位置包括行地址和列组。CSIMD指令还包括一个或多个源数据位置、目标数据位置和MISC控制信息。依照本专利技术的另一个方面,提供一种处理可配置单指令多数据 (CSIMD)指令的装置。本装置包括 多个处理元件(PE);一个存储信息的査找表格(LUT)以支持随机访问与处理元件(PE)相关的存储位置并通过PE执行指令差异;PE接收一个CSIMD指令,其包括一个命令和一个查找表格(LUT) 索弓l,将由PE执行,使用LUT索引随机访问存储位置,PE有差别地并 行执行接收到的CSIMD指令的命令。存储在LUT内的信息取决于应用需要。存储在LUT内的信息包括指令差异、从存储位置取回的随机源数据、 以及反写到存储位置的随机目标数据。从存储单元取回的数据和反写到存储位置的数据可以通过指定行地 址和列组信息而实现。依赖于LUT索引,PE可以执行指令差异、随机源数据取回和随机目 标反写。LUT索引指向的一个LUT行还包括有关至少一些源数据的信息,以 便PE能够从与PE相关的各个存储位置读取。LUT索引指向的一个LUT行可能包括有关目标数据的信息,以便PE 能够写到与PE相关的各个存储位置。本装置可能还包括将PE执行每个命令的结果写到各个目标存储位置 的装置。CSIMD指令包括目标存储位置。LUT包括使用LUT索引可访问的存储地址和/或组、或行和列,以随 机访问存储在所述存储位置内的源数据。本装置可以还包括一个随机数据存取控制(RDAC)单元,其被提供 给至少一个源和目标数据位置,其可能是LUT内的行地址和列组。RDAC 单元可以从源数据位置读取数据,并传送数据到各个PE。 RDAC单元可以 从各本文档来自技高网...

【技术保护点】
一种处理可配置单指令多数据(CSIMD)指令的方法,所述方法包括以下步骤: 提供一个存储信息的查找表格(LUT)以支持随机访问与多个处理元件(PE)相关的存储位置,并由所述PE执行指令差异; 接收一个CSIMD指令,其包括一个命令和一个所述查找表格(LUT)的索引,将由所述PE执行;以及 使用所述LUT索引随机访问所述存储位置,所述PE有差别地并行执行所述接收到的CSIMD指令的所述命令。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:劳咏仪梅思行
申请(专利权)人:香港应用科技研究院有限公司
类型:发明
国别省市:HK

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利