【技术实现步骤摘要】
共享第一级处理器高速缓存的硬件排序加速器
本专利技术一般而言涉及计算系统,并且更具体而言,涉及被配置为对计算机处理器的数据记录进行排序的排序加速器。
技术介绍
计算系统被广泛用来处理和排序存储在数据库中的数据记录。已经开发了各种排序算法来减少排序时间以改进计算系统的处理性能。一个这样的排序算法被称为锦标赛树排序(tournamenttreesort)。通常,锦标赛树排序是基于二叉树的选择和替换排序算法。锦标赛树排序算法允许以连续流传输的方式对与数据记录相关联的键进行排序。传入的键被输入到叶子节点中,并且这些键以排序的顺序从树的根节点退出。对于最初填充到叶子节点中的一组输入记录,在每个树级别执行成对比较,直到在树根处出现获胜记录。在初始回合的比较和填充之后,除了从树中发送出的获胜键之外,每个非叶子节点只保持一个输入键。在连续排序期间,在从树中移除获胜者之后,在先前获胜者的叶子节点处插入新的输入记录,并且将新的输入记录与每个级别的恰好一个非叶子节点进行比较(并且如果需要则进行交换),直到到达树根并且确定新的获胜者。
技术实现思路
根据非限制性实施例,一种计算机处理器包括存储器单元和处理器高速缓存,存储器单元被配置为存储要加载到部分锦标赛排序中的键值,处理器高速缓存被配置为从存储器单元获得指示键值的树数据。计算机处理器还包括与存储器单元和处理器高速缓存进行通信的硬件合并排序加速器。合并排序加速器被配置为基于仅存储在存储器和处理器高速缓存中的键值生成锦标赛树,并且执行部分锦标赛排序,以将锦标赛结果 ...
【技术保护点】
1.一种计算机处理器,包括:/n存储器单元,所述存储器单元被配置为存储要加载到部分锦标赛排序中的键值;/n处理器高速缓存,所述处理器高速缓存被配置为从所述存储器单元获得指示键值的数据;/n与所述存储器单元和所述处理器高速缓存进行信号通信的硬件合并排序加速器,所述合并排序加速器被配置为基于键值生成锦标赛树,并且执行部分锦标赛排序,以将锦标赛结果的第一部分存储在所述处理器高速缓存中,同时从所述处理器高速缓存中排除锦标赛结果的第二部分。/n
【技术特征摘要】
20180831 US 16/118,5601.一种计算机处理器,包括:
存储器单元,所述存储器单元被配置为存储要加载到部分锦标赛排序中的键值;
处理器高速缓存,所述处理器高速缓存被配置为从所述存储器单元获得指示键值的数据;
与所述存储器单元和所述处理器高速缓存进行信号通信的硬件合并排序加速器,所述合并排序加速器被配置为基于键值生成锦标赛树,并且执行部分锦标赛排序,以将锦标赛结果的第一部分存储在所述处理器高速缓存中,同时从所述处理器高速缓存中排除锦标赛结果的第二部分。
2.如权利要求1所述的计算机处理器,其中所述键值表示包括多个数位的数字。
3.如权利要求2所述的计算机处理器,其中所述合并排序加速器通过执行第一锦标赛以确定总体获胜键值的第一数位并且执行第二锦标赛以确定总体获胜键值的第二数位来执行部分锦标赛排序。
4.如权利要求3所述的计算机处理器,其中所述合并排序加速器基于第一键值的第一数位和不同于第一键值的第二键值的第一数位之间的特定比赛的获胜数位来确定所述锦标赛结果的第一部分。
5.如权利要求4所述的计算机处理器,其中所述合并排序加速器将获胜数位确定为给定比赛的第一键和第二键的数位之间的比较当中的最低值。
6.如权利要求4所述的计算机处理器,其中所述合并排序加速器通过从锦标赛列表中选择键值并且使用所选择的键值执行通过锦标赛树的多个遍历来确定部分锦标赛排序的总体获胜键值。
7.如权利要求6所述的计算机处理器,其中将总体获胜键值从所述合并排序加速器存储到所述存储器单元。
8.如权利要求7所述的计算机处理器,其中存储到所述存储器单元的每个总体获胜键值相对于彼此自动地顺序存储。
9.一种对存储在硬件计算机处理器中的多个数据值进行排序的计算机实现的方法,所述方法包括:
在计算机处理器的存储器单元中存储要加载到部分锦标赛排序中的键值;
经由处理器高速缓存从所述存储器单元获得指示键值的树数据;
经由硬件合并排序加速器,基于键值生成锦标赛树;以及
经由所述合并排序加速器执行部分锦标赛排序,以将锦标赛结果的第一部分存储在所述处理器高速缓存中,同时从所述处理器高速缓存中排除锦标赛结果的第二部分。
10.如权利要求9所述的方法,其中所述键值表示包括多个数位的数字。
11.如权利要求10所述的方法,其中执行部分锦标赛排序包括:
执行第一锦标赛以确定总体获胜键值的第一数位;以及
执行第二锦标赛以确定总体获胜键值的第二数位。
12.如权利要求11所述的方法,其中确定锦标赛结果的第一部分是基于第一键值和不同于第一键值的第二键值之间的特定比赛的获胜数位,所述获胜数位是根据第一键值的第一数位和第二键值的第一数位之间的比较来确定的。
13.如权利要求12所述的方法,其中获胜数位被确定为给定比赛的第一键和第二键的数位之间的比较当中的最低值。
14.如权利要求12所述的方法,还包括:
通过从锦标赛列表中选择键值来确定部分锦标赛排序的总体获胜键值;以及
使用所选择的键值来执行通过锦标赛树的多个遍历。
15.如权利要求14所述的方法,还包括将总体获胜键值从所述合并排序加速器存储到所述存储器单元。
16.如权利要求15所述的方法,还包括响应于将每个总体获胜键值存储到所述存储器单元来更新所述存储器单元,使得每个总体获胜键值相对于彼此自动地顺序存储。
17.一种控制电子计算机处理器对数据进行排序的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有与其一起实施的程序指令,所述程序指令能由电子计算机处理器执行以执行操作,所述操作包括:
在计算机处理器的存储器单...
【专利技术属性】
技术研发人员:C·雅科比,A·普拉尼克,M·雷克滕瓦尔德,C·佐尔林,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。