【技术实现步骤摘要】
【国外来华专利技术】单个数据缓冲器的并行处理 相关申请的交叉引用 该本申请在35 U.S.C. $119 (e)下要求2012年7月11日提交的美国临时申请序列号 61/670, 472和2012年9月28日提交的美国专利申请序列号13/631,763的优先权。
技术介绍
用于验证数据文件和计算机程序的安全的软件在许多不同情景中是流行的,所述 情景诸如操作系统引导序列、程序代码或数据文件的加载、web浏览、数据通信和数据存储。 诸如用于认证和/或加密的那些的串行数据处理算法可以以链式相关的方式对数据的单 个缓冲器进行操作。那些算法可受到串行链接的约束,因为源自对缓冲器中的一个数据块 的处理的输出通常需要对后续的块的处理。 例如,诸如MD5 (消息摘要的算法)以及SHA1、SHA256和SHA512 (安全哈希算法) 的密码哈希函数就通用处理器上的计算而言可能是昂贵的。这样的哈希函数依次对数据的 单个缓冲器工作,从而利用从每个数据块得到的计算结果更新哈希摘要状态并使用彼此相 互依赖的多轮处理。单个缓冲器的块的串行处理限制现代处理器上的性能。诸如使用矢量 单指令多数据(SMD)单元的多缓冲器处理的方法已被提出以得到应用中的更好的性能,其 中能够对多个独立的数据缓冲器进行工作;然而,那些方法不适用于涉及单个缓冲器的哈 希的应用。树式哈希是已被使用的另一技术,尽管其跨多个核或引擎。 【附图说明】 本公开中所述的概念以示例的方式而非以限制性的方式在附图中被示出。为了说 明的简单和清晰起见,附图中所示的元件并不一定是按比例绘制的。在被认为合适的地方, 附图标记在图之间被 ...
【技术保护点】
一种用于处理数据缓冲器的计算装置,所述计算装置包括:数据缓冲器处理模块,用以: 访问具有缓冲器长度和多个数据段的任意长度的数据缓冲器,每个数据段具有大于零且小于所述缓冲器长度的段长度; 根据串行数据处理算法填补每个数据段; 将填补后的数据段中的每个直接读取到数据寄存器中,所述数据寄存器具有多个数据路径,每个填补后的数据段被直接读取到不同的数据路径中;以及 基本并行地对数据路径中的每个执行串行数据处理算法,以针对每个数据路径产生结果。
【技术特征摘要】
【国外来华专利技术】2012.07.11 US 61/670472;2012.09.28 US 13/6317631. 一种用于处理数据缓冲器的计算装置,所述计算装置包括: 数据缓冲器处理模块,用以: 访问具有缓冲器长度和多个数据段的任意长度的数据缓冲器,每个数据段具有大于零 且小于所述缓冲器长度的段长度; 根据串行数据处理算法填补每个数据段; 将填补后的数据段中的每个直接读取到数据寄存器中,所述数据寄存器具有多个数据 路径,每个填补后的数据段被直接读取到不同的数据路径中;以及 基本并行地对数据路径中的每个执行串行数据处理算法,以针对每个数据路径产生结 果。2. 根据权利要求1所述的计算装置,其中所述数据缓冲器具有任意的长度。3. 根据权利要求1或权利要求2所述的计算装置,其中所述数据缓冲器处理模块包括 用以将填补后的数据段中的每个直接读取到所述数据寄存器的不同数据路径中的数据缓 冲器处理模块。4. 根据权利要求1-3中任一项所述的计算装置,其中所述数据缓冲器处理模块包括用 以根据所述串行数据处理算法填补数据段中的每个的数据缓冲器处理模块。5. 根据权利要求1-4中任一项所述的计算装置,其中所述数据缓冲器处理模块被体现 为对密码哈希算法的扩展。6. 根据权利要求1-5中任一项所述的计算装置,其中所述数据缓冲器处理模块包括用 以在所述计算装置的微处理器的单个核上执行的数据缓冲器处理模块。7. 根据权利要求6所述的计算装置,其中所述数据缓冲器处理模块包括用以在所述单 个核的单个线程上执行的数据缓冲器处理模块。8. 根据权利要求1-7中任一项所述的计算装置,其中所述数据缓冲器处理模块包括用 以在所述计算装置的单指令多数据能力的处理器上执行的数据缓冲器处理模块。9. 根据权利要求1-8中任一项所述的计算装置,所述数据缓冲器处理模块包括用以与 单线程软件应用一起执行的数据缓冲器处理模块。10. -个或多个机器可读存储介质,其包含存储于其上的多个指令,所述多个指令响应 于被执行导致计算装置: 将所述计算装置的任意长度的数据缓冲器定义作为多个数据段,每个数据段具有大于 零且小于所述数据缓冲器的长度的段长度; 根据串行数据处理算法填补每个数据段; 将填补后的数据段流式传送到数据寄存器中,所述数据寄存器具有多个数据路径执行 单元,每个填补后的数据段使用单个数据指针被流式传送到不同的数据路径执行单元中; 以及 基本并行地在数据路径执行单元中的每个中执行串行数据处理算法,以针对每个数据 路径执行单元产生结果。11. 根据权利要求10所述的机器可读存储介质,其中所述多个指令还使所述计算装 置:基于由所述串行数据处理算法指定的字大小和所述数据寄存器的宽度定义所述段长 度。12. 根据权利要求10或权利要求11所述的机器可读存储介质,其中将所述数据缓冲器 定义作为多个数据段包括以交织方式将所述数据缓冲器分割...
【专利技术属性】
技术研发人员:SM古利,WK费哈尔,V戈帕尔,JD圭尔福德,GM沃尔里奇,KS亚普,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。