一种用以建构人工智能计算机的平行硬件搜索系统技术方案

技术编号:11314004 阅读:110 留言:0更新日期:2015-04-17 01:22
本发明专利技术将现有计算机搭配一种平行硬件搜索系统,用以建构大众负担得起的人工智能计算机。这样的计算机可被视为一种图灵机,使用执行人工智能的逻辑推理方式来取代传统计算机依序处理程序指令的方式。本发明专利技术提供的平行硬件搜索系统采用平行化及硬件化的虚拟B树搜索、阶层分页与哈希等技术来处理大量数据。此系统已被成功地建立在一张PCIE适配卡上,主要包含:一颗Xilinx的Kintex7FPGA芯片及两个DDR3内存模块。FPGA芯片中包含:32个32位处理器单元、一个PCIE控制器、一个搜索/删除/插入控制器、两个DRAM控制器。

【技术实现步骤摘要】
【专利摘要】本专利技术将现有计算机搭配一种平行硬件搜索系统,用以建构大众负担得起的人工智能计算机。这样的计算机可被视为一种图灵机,使用执行人工智能的逻辑推理方式来取代传统计算机依序处理程序指令的方式。本专利技术提供的平行硬件搜索系统采用平行化及硬件化的虚拟B树搜索、阶层分页与哈希等技术来处理大量数据。此系统已被成功地建立在一张PCIE适配卡上,主要包含:一颗Xilinx的Kintex7FPGA芯片及两个DDR3内存模块。FPGA芯片中包含:32个32位处理器单元、一个PCIE控制器、一个搜索/删除/插入控制器、两个DRAM控制器。【专利说明】一种用以建构人工智能计算机的平行硬件搜索系统
本专利技术涉及一种平行硬件搜索系统,特别涉及一种用以建构人工智能计算机的平行硬件搜索系统。
技术介绍
在乔姆斯基阶层(Chomsky hierarchy)的定义中,目前使用于计算器的语言文法被定义为无关上下文(context-free),而图灵机(Turing Machine)则被定义为最高阶的文法。不同于现今计算器依序处理程序指令的方式,PROLOG语言每一步骤都需要搜索和处理horn clause (rule或fact),以用于执行人工智能的逻辑推理,因此,搜索成为这种语言最大的瓶颈。 20世纪80年代,日本政府提出第五代计算机研究计划,PROLOG被用作这个计划的主要语言。在2011年,IBM的超级计算器“WATSON”已经被证明比人类更聪明。云端计算技术被用来解决PROLOG的搜索问题。WATSON在网络上包含了将近3000台服务器,苹果计算机公司的Siri则将此技术进一步应用于日常生活,唯有跨国大企业才有能力拥有如此庞大又昂贵的计算器系统。机器人技术近年来有很好的进展。然而,设计一个大众负担得起的人工智能计算机系统,以促进机器人产业仍然是一个具有挑战性的任务。
技术实现思路
本专利技术提供了一种用以建构人工智能计算机的平行硬件搜索系统,用于解决PROLOG的搜索问题。 本专利技术提供的用以建构人工智能计算机的平行硬件搜索系统,包括: 若干个处理器单元(PU),假设处理器单元的个数为m,连接m个BRAM单元及一跨处理器单元逻辑电路(Inter Processing Unit Logic),处理器单元用于处理与其有连接关系的BRAM单元的数据,跨处理器单元逻辑电路用于实现处理器单元之间的逻辑连接功倉泛; —个PCIE接口控制器,用以连接用以建构人工智能计算机的平行硬件搜索系统及一外部计算机,并接收外部计算机发出的指令; 一个搜索/删除/插入控制器,用以连接处理器单元及BRAM单元,接收外部计算机的指令进行搜索/删除/插入运算;其中,m个BRAM单元连接外部的若干个DRAM控制器,并接收来自若干个DRAM控制器的数据。 进一步的,本专利技术提供的用以建构人工智能计算机的平行硬件搜索系统用于建构人工智能计算机。 进一步的,本专利技术提供的用以建构人工智能计算机的平行硬件搜索系统通过一界面与一计算机连接,用以建构人工智能计算机的平行硬件搜索系统运作时,使计算机语言文法从无关上下文(Context Free)层次提升至图灵机(Turing Machine)层次。 进一步的,本专利技术提供的用以建构人工智能计算机的平行硬件搜索系统使用阶层分页(Hierarchical Page Table)结构处理大量记录(record),大量记录被划分为若干个资料页以缩减每页中的记录数量,并减少高速内存(cache)的大小以及传输和处理每一页的时间,并增加DRAM或通用内存的单元数以增加数据传输速率。 进一步的,本专利技术提供的用以建构人工智能计算机的平行硬件搜索系统从BRAM单元到DRAM单元或由DRAM单元到BRAM单元中执行五种不同的运算,五种不同的运算包括:搜索、删除、插入、传输数据,并以平行处理的方式进行,与处理器单元的总数量无关。 进一步的,本专利技术提供的用以建构人工智能计算机的平行硬件搜索系统通过搜索的方式进行删除和插入运算,若干个处理器单元在记录数量相对小的数据页中平行执行左移或右移动作,并保持页内所有记录的排序和完美一致性。 进一步的,本专利技术提供的用以建构人工智能计算机的平行硬件搜索系统使用哈希技术,将大型的阶层分页分割成若干个小型的阶层分页,以增加搜索效能并使哈希桶(HASHBUCKET)内每页的资料量大小一致。 进一步的,本专利技术提供的用以建构人工智能计算机的平行硬件搜索系统处理的记录需具有不同于该页其他记录的搜索值,多个对象有相同的搜索值时,其中一对象指针指向一个包含复数个指针的数组对象,数据对象通过该数组一一被读取。 进一步的,本专利技术提供的用以建构人工智能计算机的平行硬件搜索系统使用四个无符号数(Unsigned number)公式仿真虚拟B树结构,四个无符号数公式分别为一第一公式,一第二公式,一第三公式及一第四公式,四个无符号数公式由DLB推导而来,DLB为搜索范围的下限位置减一的位置,假设处理器单元总数为2k,其中k为一整数,除法使处理器单元位置左移,四个无符号数公式在一个时钟周期之内处理完成,其中,四个无符号数公式分别表示如下: 第一公式:由DLB寻找休息状态处理器单元的索引值,公式为: RPindex=mod (DLB, m); 第二公式:Pindex为m个处理器单元被指定的由I至m的固定索引值,其代表路径值由虚拟B树的层别为奇数或偶数决定,计算公式为: PATH=RPindex-Pindex (当 LEVEL 值为奇数时); PATH=Pindex-PPindex (当 LEVEL 值为偶数时); 第三公式:搜索范围切割成m-Ι个大小相同的数据区块,BlockSize为数据区块的大小,每一个数据区块中最大位置的计算公式为: locat1n=dlb + PATH*B1ckSize; 第四公式:取出已知位置所代表的搜索值,并与标准值比较,RecordSize为页中记录的大小,搜索值的物理地址公式为: PAddress=LOCAT1N*RecordSize/m。 进一步的,本专利技术提供的用以建构人工智能计算机的平行硬件搜索系统中的搜寻方法在至多L=1gnrlN个数据搜寻循环内完成该页数据的搜寻,其中,处理器单元的个数为m,而N为此页中记录的个数,搜索由B树结构的最上层LEVEL=L开始执行循环的步骤进行数据搜寻,此时DLB的初始值设定为0,搜索范围在每一层不断被缩减成原来范围的I/(m-Ι),一直找到最底层LEVEL=I时即完成搜索,每一循环执行包括以下步骤: (I)、每一处理器单元用第一公式算出虚拟B树中此层休息状态处理器单元的索引值; (2)、每一处理器单元用第二公式算出虚拟B树中此层其代表的路径值,休息状态处理器单元的路径值=0,其余m-Ι个工作状态处理器单元的代表路径值分别为I至m-Ι ; (3)、虚拟B树中此层的搜索范围被m-Ι个工作状态处理器单元切割成m_l个数据区块,每一工作状态处理器单元用第三公式算出在虚拟B树中其数据区块中最大位置值,处理器单元由此位置的记录找到用以比较的搜索值; (4)、每一工作状态处理器单元用第四公式将上步骤的位本文档来自技高网
...

【技术保护点】
一种用以建构人工智能计算机的平行硬件搜索系统,其特征在于,包括:若干个处理器单元,假设处理器单元的个数为m,连接m个BRAM单元及一跨处理器单元逻辑电路,处理器单元用于处理与其有连接关系的BRAM单元的数据,跨处理器单元逻辑电路用于实现处理器单元之间的逻辑连接功能;一个PCIE接口控制器,用以连接所述用以建构人工智能计算机的平行硬件搜索系统及一外部计算机,并接收所述外部计算机发出的指令;一个搜索/删除/插入控制器,用以连接所述处理器单元及所述BRAM单元,接收所述外部计算机的指令进行搜索/删除/插入运算;其中,所述m个BRAM单元连接外部的若干个DRAM控制器,并接收来自所述若干个DRAM控制器的数据。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:许文龙
申请(专利权)人:高霆科技股份有限公司
类型:发明
国别省市:中国台湾;71

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

1