CN108874729A - 芯片互联多应用有效映射方法、系统及内容寻址存储器 - Google Patents
芯片互联多应用有效映射方法、系统及内容寻址存储器 Download PDFInfo
- Publication number
- CN108874729A CN108874729A CN201810353963.8A CN201810353963A CN108874729A CN 108874729 A CN108874729 A CN 108874729A CN 201810353963 A CN201810353963 A CN 201810353963A CN 108874729 A CN108874729 A CN 108874729A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- instruction
- index
- content adressable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7825—Globally asynchronous, locally synchronous, e.g. network on chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
- G11C15/04—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种芯片互联多应用有效映射的方法、系统及内容寻址存储器,其中所述的方法包括:在处理器单元中增加内容寻址存储器,并且在每一个数据分享指令中增加就绪标志位,只要就绪标志位被置位,该条数据的分享指令就可以被执行,当处理单元从内存或者其他的处理单元中获取数据之后,将存储该数据的存储器的索引作为输入传输到内容寻址存储器中,得到此数据分享指令的就绪标志位地址,将该数据分享指令的就绪位置位,该指令可发射执行,完成该数据的分享操作。该技术方案对芯片间数据分享的机制进行了优化,使芯片之间的数据可以灵活、高效的传输,传输效率和灵活性较传统的结构有明显优势。
Description
技术领域:
本发明涉及计算机体系结构领域,特别是计算机体系结构中芯片互联多应用有效映射的解决方法,以及其系统结构和内容寻址存储器的设置。
背景技术:
随着E级数据时代的来临,计算芯片需要处理的数据集和数据规模越来越大,多核处理器结构已经成为计算机处理大数据的主流。在多核处理器结构当中,数据集被分配在各个不同的处理器核上,处理器核之间协同工作,将一个大的处理任务切割成为多个小任务,处理单元(PE)以细粒度小规模处理数据,从而完成大数据的任务。然而,由于“摩尔定律”的限制,计算机中“存储墙”所带来的限制越来越大。“存储墙”是指处理器的时钟频率和性能以超乎想象的速度增长,但是主存的访问速度主要是DRAM的增长却要缓慢的多,从而造成数据的传输速度远低于数据的处理速度,导致内存带宽“喂不饱”处理器,限制了计算芯片处理数据的性能。
为了能够缓解“存储墙”带来的问题,提高计算芯片的处理性能,通常采用的方法是增加数据的复用性,让数据在芯片的片上网络尽可能“呆的时间长一点”。数据可以在处理单元之间流动,假设共享数据的发送方称之为第一PE,共享数据的接收方称之为第二PE,数据一旦从内存中被第一PE读入,数据就能够分享给第二PE,第二PE可以从第一PE中读取数据,就减少了第二PE的访存次数,在处理器芯片中片上网络的传输延迟远低于处理单元的访存延迟,增加数据之间的复用性,一方面能够降低访存带宽的压力,另一方面也能够降低数据的传输延迟,提高处理器芯片的计算速度。
如图1所示,在现有的技术当中,不存在指令的就绪位,并且对于第一PE而言,每条数据获取的指令(这里的指令既可以指访存指令,也可以指从其他PE获取数据的指令)从发射指令到最后真正获得数据的时间不确定,如果在一条数据获取指令发射之后就紧接着数据的分享指令(数据分享指令是指将该数据分享给其他的PE,这里的数据获取指令与数据分享指令指的都是以一个数据的分享指令),由于数据的获取需要的时间长且不固定,指令与流水线就会一直等待,造成计算资源的浪费,所以一般都会等待所有的数据获取指令的发射之后(数据不一定到来),再执行数据分享指令,这样能够通过多拍指令的发射掩盖数据到来的延迟。
但是以上这种方法的问题在于,若不同的数据从数据获取指令发射到该数据的到来时间是不同的,并且完全有可能后发射的数据获取指令的数据先到来,那么由于指令执行的顺序性,也只能等待所有的数据获取指令发射完毕之后再执行,这就增加了部分数据的等待时间,降低了数据分享的效率和速度。
基于以上存在的问题,传统的同步的方法做数据的分享效率低,只能够在所有的数据都读取完成之后才能够进行数据的分享操作,在不同程度造成了资源的浪费。需要一种能够对访存之后的数据进行及时分享的方法,在不需要同步的情况下,灵活地对数据进行共享。
发明内容:
针对现有技术的不足,本发明提出一种芯片互联多应用有效映射的方法,能够支持芯片之间数据的共享传输。具体而言,本发明提供了以下的技术方案:
首先,本发明提供了一种芯片互联多应用有效映射方法,所述方法包括:
在处理单元的数据分享指令中,设置就绪标志位;
在所述处理单元中设置内容寻址存储器,所述内容寻址存储器通过写入所述内容寻址存储器的数据,返回与端口数据相同的所有内部数据的地址;
当可共享的数据被读入所述处理单元时,所述处理单元中存储器的索引发送至所述内容寻址存储器,所述内容寻址存储器通过所述索引得到所述数据的数据分享指令的地址,所述内容寻址存储器将所述数据分享指令中的就绪标志位置位为一预设值,以标记所述数据分享指令可被发射执行。
优选地,所述预设值为1或0。一般我们可以选择该预设值为1。
优选地,所述内容寻址存储器的输入数据为存储器的索引,所述内容寻址存储器的输出数据为数据分享指令的就绪标志位。
优选地,所述内容寻址存储器中的每一个项中,都设置一使用位;其中
当该项的索引输出之后,所述使用位置位为1,当该项对应的数据的分享指令执行之后,所述使用位置位为0;或者
当该项的索引输出之后,所述使用位置位为0,当该项对应的数据的分享指令执行之后,所述使用位置位为1。
优选地,所述内容寻址存储器中,对输入数据的处理进一步包括:
首先接收外部的查找命令,并将查找数据存储到对应的比较存储器中,将比较存储器中的查找数据和掩码寄存器拼接成为一个查找值;
通过所述查找值和所述内容寻址存储器中的每一组关联字进行匹配,若匹配成功,则将结果输出至译码器中,译码器生成匹配的位置信息和命中信息。
优选地,所述查找数据指存储器的索引,生成的位置信息为该索引对应的共享数据的指令的就绪标志位;所述命中信息驱动给所述就绪标志位置位。
优选地,所述内容寻址存储器中,所述可共享的数据可对应一个或多个索引;
若每个所述可共享的数据通过N次数据的就绪标志位,该可共享的数据N次通过所述内容寻址存储器中,则每得到一次地址索引,就将该项的使用位置位为1,以标识该项已经被使用过,下次不再搜索该项对应的索引;其中N大于等于1;
若所述可分享的数据的所有分享指令都执行完毕,则所述内容寻址存储器将全部使用位重新置位为0。
优选地,所述内容寻址存储器可以对所述可共享的数据的所有分享指令的就绪标志位置位。
优选地,可将每一个需要分享的所述可分享的数据单独进行处理,当所述可分享的数据到来之后,则通过存储该可分享的数据的存储器索引,获得所述可分享的数据的分享指令的就绪标志位,依据所述就绪标志位确定分享操作能否被执行。
此外,本发明还提供了一种用于芯片互联多应用有效映射的内容寻址存储器,所述内容寻址存储器包括比较存储器、掩码寄存器、译码器,以及若干个基本存储单元;
所述内容寻址存储器首先接收外部的查找命令,并将查找数据存储到对应的比较存储器中,将比较存储器中的查找数据和掩码寄存器拼接成为一个查找值;
通过所述查找值和所述内容寻址存储器中的每一组关联字进行匹配,若匹配成功,则将结果输出至译码器中,译码器生成匹配的位置信息和命中信息。
优选地,所述查找数据指存储器的索引,生成的位置信息为该索引对应的共享数据的指令的就绪标志位;所述命中信息驱动给所述就绪标志位置位。
优选地,所述内容寻址存储器中的每一个项中,都设置一使用位;其中
当该项的索引输出之后,所述使用位置位为1,当该项对应的数据的分享指令执行之后,所述使用位置位为0;或者
当该项的索引输出之后,所述使用位置位为0,当该项对应的数据的分享指令执行之后,所述使用位置位为1。
优选地,该使用位可以设置为1bit位,也可以设置为多个位,以起到相同的标识作用。
优选地,所述内容寻址存储器中,可共享的数据可对应一个或多个索引;
若每个所述可共享的数据通过N次数据的就绪标志位,该可共享的数据N次通过所述内容寻址存储器中,则每得到一次地址索引,就将该项的使用位置位为1,以标识该项已经被使用过,下次不再搜索该项对应的索引;其中N大于等于1;
若所述可分享的数据的所有分享指令都执行完毕,则所述内容寻址存储器将全部使用位重新置位为0。
另一个方面,本发明还提供了一种芯片互联多应用有效映射系统,所述系统包含多个处理单元;
在处理单元包含就绪标志位设置单元,用于在所述处理单元的数据分享指令中,设置就绪标志位;优选地,该就绪标志位可以设置为1bit位,也可以设置为多个位,以起到相同的标识作用;
在所述处理单元中还包含内容寻址存储器,所述内容寻址存储器通过写入所述内容寻址存储器的数据,返回与端口数据相同的所有内部数据的地址;
当可共享的数据被读入所述处理单元时,所述处理单元中存储器的索引发送至所述内容寻址存储器,所述内容寻址存储器通过所述索引得到所述数据的数据分享指令的地址,所述内容寻址存储器将所述数据分享指令中的就绪标志位置位为一预设值,以标记所述数据分享指令可被发射执行。
优选地,所述内容寻址存储器包括比较存储器、掩码寄存器、译码器,以及若干个基本存储单元;
所述内容寻址存储器首先接收外部的查找命令,并将查找数据存储到对应的比较存储器中,将比较存储器中的查找数据和掩码寄存器拼接成为一个查找值;
通过所述查找值和所述内容寻址存储器中的每一组关联字进行匹配,若匹配成功,则将结果输出至译码器中,译码器生成匹配的位置信息和命中信息。
优选地,所述查找数据指存储器的索引,生成的位置信息为该索引对应的共享数据的指令的就绪标志位;所述命中信息驱动给所述就绪标志位置位。
优选地,所述内容寻址存储器的输入数据为存储器的索引,所述内容寻址存储器的输出数据为数据分享指令的就绪标志位。
优选地,所述内容寻址存储器中的每一个项中,都设置一使用位;其中
当该项的索引输出之后,所述使用位置位为1,当该项对应的数据的分享指令执行之后,所述使用位置位为0;或者
当该项的索引输出之后,所述使用位置位为0,当该项对应的数据的分享指令执行之后,所述使用位置位为1。
优选地,所述内容寻址存储器中,所述可共享的数据可对应一个或多个索引;
若每个所述可共享的数据通过N次数据的就绪标志位,该可共享的数据N次通过所述内容寻址存储器中,则每得到一次地址索引,就将该项的使用位置位为1,以标识该项已经被使用过,下次不再搜索该项对应的索引;其中N大于等于1;
若所述可分享的数据的所有分享指令都执行完毕,则所述内容寻址存储器将全部使用位重新置位为0。
优选地,所述内容寻址存储器可以对所述可共享的数据的所有分享指令的就绪标志位置位。
优选地,可将每一个需要分享的所述可分享的数据单独进行处理,当所述可分享的数据到来之后,则通过存储该可分享的数据的存储器索引,获得所述可分享的数据的分享指令的就绪标志位,依据所述就绪标志位确定分享操作能否被执行。
与现有技术相比,本发明的有益效果在于:
本发明对芯片互联多应用有效映射进行了优化,使共享数据之间的获取操作和分享操作能够独立开来,使共享数据到来之后能够及时地进行传输和分享操作,相比于传统的共享方式,本发明的共享方法更加灵活,效率也更高。
附图说明:
图1传统模式下数据获取及分享操作代码执行流程;
图2传统指令的组成与本发明中指令的组成对比;
图3CAM部件示意图;
图4本发明针对多分享指令的执行模式;
图5本发明的工作流程;
图6本发明实施例中结构示意图;
图7本实施例中的需执行的指令集合;
图8实现本文实施例中0时刻的实例图;
图9实现本文实施例中1时刻的实例图;
图10实现本文实施例中2时刻的实例图;
图11实现本文实施例中3时刻的实例图(单流水线);
图12实现本文实施例中4时刻的实例图(单流水线);
图13实现本文实施例中5时刻的实例图(单流水线);
图14实现本文实施例中6时刻的实例图(单流水线);
图15实现本文实施例中7时刻的实例图(单流水线);
图16实现本文实施例中3时刻的实例图(多流水线);
图17实现本文实施例中4时刻的实例图(多流水线);
图18实现本文实施例中5时刻的实例图(多流水线);
图19实现本文实施例中6时刻的实例图(多流水线);
图20实现本文实施例中7时刻的实例图(多流水线)。
具体实施方式:
下面将结合本发明实施例中的图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。并且,在此处需要进一步强调的是,以下的具体实施例提供的优选的技术方案,各方案(实施例)之间是可以相互配合或结合使用的。
实施例1
在一个具体的实施例中,本发明提出的一种芯片互联多应用有效映射的方法,可以通过以下的具体实施方式来实现,需要指出的是,该方法中提及的使用位、就绪标志位,都可以使用1bit位的设置方式,当然也可以使用多个位的设置方式,以达到同样的标识作用为目的,而这种使用多个bit位的设置方式,也应当视为落入本发明的保护范围之内。
该方法可以包括以下步骤:
第一、在处理单元(PE)的数据分享的COPY指令中,加入就绪的标志位FLAG。如图2所示,FLAG的作用是标志着这条指令是否能够被发射执行。当FLAG的值为1时,指令能够被发射执行,当FLAG的值为0时,指令不能够被发射执行。
第二、在处理单元(PE)内部实现一个CAM(内容寻址存储器),如图3所示,CAM的功能为可以通过写入CAM的数据返回与该写入CAM的数据相同的所有内部数据的地址。CAM的输入数据为存储器的索引index,CAM的输出数据为数据分享的COPY指令的就绪位,CAM中的每一项中都用一个使用位,当该行的索引输出之后,使用位置为1,当该数据的分享指令执行之后,该使用位置位为0,此处需要说明的是,本实施例中将该使用位置位为1,是一例举方式,其作用为标记该分享指令是否被执行,而并不以置位为1作为本发明的保护范围的限定来理解,本领域技术人员也可以将该使用位置位为0,从而起到相同的作用,这一改变方式也应当被视为落入本发明的保护范围之内。
第三、假设在第一PE和第二PE之间存在着数据共享,并且数据是从第一PE传至第二PE,当可以共享的数据被读入第一PE时,第一PE中存储器的索引作为输入,发送至CAM中,CAM能够通过存储器的索引得到本数据分享指令COPY的地址,CAM将得到的对应分享指令COPY的指令就绪位FLAG置1,只要COPY指令的就绪位为1,那么COPY指令就可以被发射执行,此处需要说明的是,本实施例中将该FLAG置位为1,是一例举方式,其作用为标记该COPY指令可以被执行,而并不以置位为1作为本发明的保护范围的限定来理解,本领域技术人员也可以将该FLAG位置位为0,从而起到相同的作用,这一改变方式也应当被视为落入本发明的保护范围之内。这样就可以让已经接收到的分享数据不用等待所有的分享数据都到来就可以进行传输操作。即单个数据在完成传输之后,就能够及时对本数据进行分享操作。
本发明提出一种芯片互联多应用有效映射的方法中,加入了一个内容寻址存储器,如图3所示,该内容寻址存储器可以设置为包含比较存储器、掩码寄存器、译码器,在该内容寻址存储器中,首先接收外部的查找命令,并且将查找数据存储到对应的比较存储器中,将比较存储器中的查找的数据和掩码寄存器拼接成为一个查找值,通过查找值和CAM中的每一组关联字进行匹配,若匹配成功,则将结果输出到译码器当中,译码器生成匹配的位置信息和命中信息。在本专利中,查找数据是指共享数据存储器的索引,生成的位置信息为该共享数据的指令就绪标志的标志位,命中信息可以驱动给指令就绪标志置位为1。
需要说明的是,在本专利提出的芯片互联多应用有效映射方法中,并不是说数据获取之后,只能给该数据的一条指令的就绪标志位置位,如图4所示,在CAM中一个数据可以对应多个index,可以在一个数据到来之后,假设每个数据通过N次数据的标志位,数据N次通过CAM中,每得到一次地址索引,就将该项的使用位设置为1,代表该项已经被使用过了,下次不再搜索该索引,当这数据的所有的分享指令都执行完毕之后,CAM中的使用位重新置位为0。通过CAM可以对该数据所有的数据分享指令的就绪标志位置1。
在本发明提出的芯片互联多应用有效映射方法中,如图5所示,本方法可以将每一个需要分享的数据单独进行处理,当需要分享的数据到来之后,就通过存储本数据的存储器索引,得到该数据分享指令的就绪标志,将对应的就绪标志置位为1,那么该数据的分享操作就能够被执行。
实施例2
以下通过另一个具体的实施例,对本发明提出的映射方法进行更为详细的阐述。
如图6所示,在一个执行单元A中需要执行的指令如图7所示,在A中的指令包括数据的获取指令,获取到的数据(获取到数据称之为源数据,计算得到的数据称之为结果数据)不止需要进行计算操作,也需要将源数据通过数据的分享指令发送给其他执行单元。在本实施例中,假设数据a的获取时间为4拍,数据b的获取时间为1拍,数据c的获取时间为3拍,数据d的获取时间为2拍。
步骤601:在0时刻,执行单元A执行数据a的获取指令。从内存或者上一个处理单元中获取数据a,假设数据a的获取时间为4拍。
步骤602:在1时刻,执行单元A执行数据b的获取指令,从内存或者其他的处理单元中获取数据b,假设数据b的获取时间为1拍。
步骤603:在2时刻,执行单元A执行数据c的获取指令。从内存或者其他的处理单元中获取数据c,假设数据c的获取时间为1拍。在此时,数据b已经通过网络传输到执行单元A中,并且写入执行单元A相应的存储器中,假设b_index为存储数据b的存储器索引,在写入数据之后,将b_index传入CAM(内容寻址存储器)中,CAM中相应的使用位置为1。通过CAM比对得到数据b对应的数据分享指令(以下称之为b_copy)的就绪标志位地址,将b_copy的就绪标志位置为1,标志着b_copy指令能够被发射执行。
步骤604-1:在3时刻,执行单元A就可以执行数据b的数据分享指令b_copy,此时既可以执行数据b的数据分享指令,也可以执行数据d的数据获取指令,在本发明中,注重的是灵活地加入了数据分享的机制,指令的调度机制不是本专利的重点,故不展开,也即,数据指令的调度机制或者调度方法,可以采用现有技术中的任何一种方式进行,此处不以此为限定。假设在本实例中,只有一条流水线,并且数据的获取指令和数据的分享指令都在这条流水线中执行。假设首先执行数据b的分享指令,将数据b直接分享给其他的执行单元,执行数据分享指令之后,将b的指令的就绪标志位和CAM中的使用位均置为0。
步骤605-1:在4时刻,执行单元A执行数据d的数据获取指令,从内存或者其他的处理单元中获取数据d,假设数据d的获取时间为2拍。在此时,数据a已经通过网络传输到执行单元A中,并且写入执行单元A相应的存储器中,假设a_index为存储数据a的存储器索引,在写入数据之后,将a_index传入CAM(内容寻址存储器)中,CAM中相应的使用位置为1。通过CAM比对得到数据a对应的数据分享指令(以下称之为a_copy)的就绪标志位地址,将a_copy的就绪标志位置为1,标志着a_copy指令能够被发射执行。
步骤606-1:在5时刻,执行数据a的分享指令,将数据a直接分享给其他的执行单元。执行数据分享指令之后,将a的分享指令的就绪标志位和CAM中的使用位均置为0。在此时,数据c已经通过网络传输到执行单元A中,并且写入执行单元A相应的存储器中,假设c_index为存储数据c的存储器索引,在写入数据之后,将c_index传入CAM(内容寻址存储器)中,CAM中相应的使用位置为1。通过CAM比对得到数据c对应的数据分享指令(以下称之为c_copy)的就绪标志位地址,将c_copy的就绪标志位置为1,标志着c_copy指令能够被发射执行。
步骤607-1:在5时刻,执行数据c的分享指令,将数据c直接分享给其他的执行单元。将c的分享指令的就绪标志位和CAM中的使用位均置为0。在此时,数据d已经通过网络传输到执行单元A中,并且写入执行单元A相应的存储器中,假设d_index为存储数据d的存储器索引,在写入数据之后,将d_index传入CAM(内容寻址存储器)中,CAM中相应的使用位置为1。通过CAM比对得到数据d对应的数据分享指令(以下称之为d_copy)的就绪标志位地址,将d_copy的就绪标志位置为1,标志着d_copy指令能够被发射执行。
步骤608-1:在6时刻,执行数据d的分享指令,将数据d直接分享给其他的执行单元。将d的分享指令的就绪标志位和CAM中的使用位均置为0。
在不同的计算机体系结构中,数据的获取指令和数据的分享指令既可以分享一条流水线,也可以在不同的流水线分开执行,即数据的获取指令和数据的分享指令可以同时执行,下面将从步骤603开始,以下假设在本实例中数据的获取指令和数据的分享指令在不同的流水线中执行。
步骤604-2:在3时刻,执行单元A就可以执行数据b的数据分享指令b_copy,此时既可以执行数据b的数据分享指令,也可以执行数据d的数据获取指令,在本发明中,假设有2条流水线,数据的获取指令和数据的分享指令可以同时执行。在本时间拍,执行数据b的分享指令,将数据b直接分享给其他的执行单元。将b的分享指令的就绪标志位和CAM中的使用位均置为0。并且执行单元A执行数据d的数据获取指令,从内存或者其他的处理单元中获取数据d,假设数据d的获取时间为2拍。
步骤605-2:在4时刻,数据a已经通过网络传输到执行单元A中,并且写入执行单元A相应的存储器中,假设a_index为存储数据a的存储器索引,在写入数据之后,将a_index传入CAM(内容寻址存储器)中,CAM中相应的使用位置为1。通过CAM比对得到数据a对应的数据分享指令(以下称之为a_copy)的就绪标志位地址,将a_copy的就绪标志位置为1,标志着a_copy指令能够被发射执行。
步骤606-2:在5时刻,执行数据a的分享指令,将数据c直接分享给其他的执行单元。将a的分享指令的就绪标志位和CAM中的使用位均置为0。在此时,数据c已经通过网络传输到执行单元A中,并且写入执行单元A相应的存储器中,假设c_index为存储数据a的存储器索引,在写入数据之后,将c_index传入CAM(内容寻址存储器)中,CAM中相应的使用位置为1。通过CAM比对得到数据c对应的数据分享指令(以下称之为c_copy)的就绪标志位地址,将c_copy的就绪标志位置为1,标志着c_copy指令能够被发射执行。同时,数据d已经通过网络传输到执行单元A中,并且写入执行单元A相应的存储器中,假设d_index为存储数据d的存储器索引,在写入数据之后,由于CAM同一时间拍只能够执行一次比对操作,假设数据c先于数据d到达,数据d当前时间拍不向CAM传输数据。
步骤607-2:在6时刻,执行数据c的分享指令,将数据c直接分享给其他的执行单元。将c的分享指令的就绪标志位和CAM中的使用位均置为0。将d_index传入CAM(内容寻址存储器)中,CAM中相应的使用位置为1。通过CAM比对得到数据d对应的数据分享指令(以下称之为d_copy)的就绪标志位地址,将d_copy的就绪标志位置为1,标志着d_copy指令能够被发射执行。
步骤608-2:在7时刻,执行数据d的分享指令,将数据d直接分享给其他的执行单元。将d的分享指令的就绪标志位和CAM中的使用位均置为0。
实施例3
在又一个具体的实施例中,本发明还提供了一种内容寻址存储器,在一个具体的实施方式中,其可以设置在多处理单元的系统中,并配合上述多个处理单元,共同执行如实施例1、实施例2的方法。
该内容寻址存储器包括比较存储器、掩码寄存器、译码器,以及若干个基本存储单元;
所述内容寻址存储器首先接收外部的查找命令,并将查找数据存储到对应的比较存储器中,将比较存储器中的查找数据和掩码寄存器拼接成为一个查找值;
通过所述查找值和所述内容寻址存储器中的每一组关联字进行匹配,若匹配成功,则将结果输出至译码器中,译码器生成匹配的位置信息和命中信息。
优选地,所述查找数据指存储器的索引,生成的位置信息为该索引对应的共享数据的指令的就绪标志位;所述命中信息驱动给所述就绪标志位置位。
优选地,所述内容寻址存储器中的每一个项中,都设置一使用位;其中
当该项的索引输出之后,所述使用位置位为1,当该项对应的数据的分享指令执行之后,所述使用位置位为0;或者
当该项的索引输出之后,所述使用位置位为0,当该项对应的数据的分享指令执行之后,所述使用位置位为1。
优选地,所述内容寻址存储器中,可共享的数据可对应一个或多个索引;
若每个所述可共享的数据通过N次数据的就绪标志位,该可共享的数据N次通过所述内容寻址存储器中,则每得到一次地址索引,就将该项的使用位置位为1,以标识该项已经被使用过,下次不再搜索该项对应的索引;其中N大于等于1;
若所述可分享的数据的所有分享指令都执行完毕,则所述内容寻址存储器将全部使用位重新置位为0。
实施例4
在又一个具体的实施例中,本发明的技术方案还可以以一种芯片互联多应用有效映射系统的方式呈现,该系统可以执行如实施例1、实施例2中所提及的具体的方法,也可以配合实施例3的内容寻址存储器执行映射功能。
所述系统包含多个处理单元;
在处理单元包含就绪标志位设置单元,用于在所述处理单元的数据分享指令中,设置就绪标志位;
在所述处理单元中还包含内容寻址存储器,所述内容寻址存储器通过写入所述内容寻址存储器的数据,返回与端口数据相同的所有内部数据的地址;
当可共享的数据被读入所述处理单元时,所述处理单元中存储器的索引发送至所述内容寻址存储器,所述内容寻址存储器通过所述索引得到所述数据的数据分享指令的地址,所述内容寻址存储器将所述数据分享指令中的就绪标志位置位为一预设值,以标记所述数据分享指令可被发射执行。
优选地,所述内容寻址存储器包括比较存储器、掩码寄存器、译码器,以及若干个基本存储单元;
所述内容寻址存储器首先接收外部的查找命令,并将查找数据存储到对应的比较存储器中,将比较存储器中的查找数据和掩码寄存器拼接成为一个查找值;
通过所述查找值和所述内容寻址存储器中的每一组关联字进行匹配,若匹配成功,则将结果输出至译码器中,译码器生成匹配的位置信息和命中信息。
优选地,所述查找数据指存储器的索引,生成的位置信息为该索引对应的共享数据的指令的就绪标志位;所述命中信息驱动给所述就绪标志位置位。
优选地,所述内容寻址存储器的输入数据为存储器的索引,所述内容寻址存储器的输出数据为数据分享指令的就绪标志位。
优选地,所述内容寻址存储器中的每一个项中,都设置一使用位;其中
当该项的索引输出之后,所述使用位置位为1,当该项对应的数据的分享指令执行之后,所述使用位置位为0;或者
当该项的索引输出之后,所述使用位置位为0,当该项对应的数据的分享指令执行之后,所述使用位置位为1。
优选地,所述内容寻址存储器中,所述可共享的数据可对应一个或多个索引;
若每个所述可共享的数据通过N次数据的就绪标志位,该可共享的数据N次通过所述内容寻址存储器中,则每得到一次地址索引,就将该项的使用位置位为1,以标识该项已经被使用过,下次不再搜索该项对应的索引;其中N大于等于1;
若所述可分享的数据的所有分享指令都执行完毕,则所述内容寻址存储器将全部使用位重新置位为0。
优选地,所述内容寻址存储器可以对所述可共享的数据的所有分享指令的就绪标志位置位。
优选地,可将每一个需要分享的所述可分享的数据单独进行处理,当所述可分享的数据到来之后,则通过存储该可分享的数据的存储器索引,获得所述可分享的数据的分享指令的就绪标志位,依据所述就绪标志位确定分享操作能否被执行。
本领域普通技术人员可以理解:实施例中的执行单元,可以指按照实施例中分布的芯片,也可以指在芯片内部的简单处理单元,本专利中的重点在于处理单元之间的数据共享机制,通过本发明可以灵活有效地进行数据的分享操作。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
Claims (16)
1.一种芯片互联多应用有效映射方法,其特征在于,所述方法包括:
在处理单元的数据分享指令中,设置就绪标志位;
在所述处理单元中设置内容寻址存储器,所述内容寻址存储器通过写入所述内容寻址存储器的数据,返回与端口数据相同的所有内部数据的地址;
当可共享的数据被读入所述处理单元时,所述处理单元中存储器的索引发送至所述内容寻址存储器,所述内容寻址存储器通过所述索引得到所述数据的数据分享指令的地址,所述内容寻址存储器将所述数据分享指令中的就绪标志位置位为一预设值,以标记所述数据分享指令可被发射执行。
2.根据权利要求1所述的方法,其特征在于,所述预设值为1或0。
3.根据权利要求1所述的方法,其特征在于,所述内容寻址存储器的输入数据为存储器的索引,所述内容寻址存储器的输出数据为数据分享指令的就绪标志位。
4.根据权利要求1所述的方法,其特征在于,所述内容寻址存储器中的每一个项中,都设置一使用位;其中
当该项的索引输出之后,所述使用位置位为1,当该项对应的数据的分享指令执行之后,所述使用位置位为0;或者
当该项的索引输出之后,所述使用位置位为0,当该项对应的数据的分享指令执行之后,所述使用位置位为1。
5.根据权利要求3所述的方法,其特征在于,所述内容寻址存储器中,对输入数据的处理进一步包括:
首先接收外部的查找命令,并将查找数据存储到对应的比较存储器中,将比较存储器中的查找数据和掩码寄存器拼接成为一个查找值;
通过所述查找值和所述内容寻址存储器中的每一组关联字进行匹配,若匹配成功,则将结果输出至译码器中,译码器生成匹配的位置信息和命中信息。
6.根据权利要求5所述的方法,其特征在于,所述查找数据指存储器的索引,生成的位置信息为该索引对应的共享数据的指令的就绪标志位;所述命中信息驱动给所述就绪标志位置位。
7.根据权利要求1所述的方法,其特征在于,所述内容寻址存储器中,所述可共享的数据可对应一个或多个索引;
若每个所述可共享的数据通过N次数据的就绪标志位,该可共享的数据N次通过所述内容寻址存储器中,则每得到一次地址索引,就将该项的使用位置位为1,以标识该项已经被使用过,下次不再搜索该项对应的索引;其中N大于等于1;
若所述可分享的数据的所有分享指令都执行完毕,则所述内容寻址存储器将全部使用位重新置位为0。
8.根据权利要求7所述的方法,其特征在于,所述内容寻址存储器可以对所述可共享的数据的所有分享指令的就绪标志位置位。
9.根据权利要求1所述的方法,其特征在于,可将每一个需要分享的所述可分享的数据单独进行处理,当所述可分享的数据到来之后,则通过存储该可分享的数据的存储器索引,获得所述可分享的数据的分享指令的就绪标志位,依据所述就绪标志位确定分享操作能否被执行。
10.一种用于芯片互联多应用有效映射的内容寻址存储器,其特征在于,所述内容寻址存储器包括比较存储器、掩码寄存器、译码器,以及若干个基本存储单元;
所述内容寻址存储器首先接收外部的查找命令,并将查找数据存储到对应的比较存储器中,将比较存储器中的查找数据和掩码寄存器拼接成为一个查找值;
通过所述查找值和所述内容寻址存储器中的每一组关联字进行匹配,若匹配成功,则将结果输出至译码器中,译码器生成匹配的位置信息和命中信息。
11.根据权利要求10所述的内容寻址存储器,其特征在于,所述查找数据指存储器的索引,生成的位置信息为该索引对应的共享数据的指令的就绪标志位;所述命中信息驱动给所述就绪标志位置位。
12.根据权利要求10所述的内容寻址存储器,其特征在于,所述内容寻址存储器中的每一个项中,都设置一使用位;其中
当该项的索引输出之后,所述使用位置位为1,当该项对应的数据的分享指令执行之后,所述使用位置位为0;或者
当该项的索引输出之后,所述使用位置位为0,当该项对应的数据的分享指令执行之后,所述使用位置位为1。
13.根据权利要求10所述的内容寻址存储器,其特征在于,所述内容寻址存储器中,可共享的数据可对应一个或多个索引;
若每个所述可共享的数据通过N次数据的就绪标志位,该可共享的数据N次通过所述内容寻址存储器中,则每得到一次地址索引,就将该项的使用位置位为1,以标识该项已经被使用过,下次不再搜索该项对应的索引;其中N大于等于1;
若所述可分享的数据的所有分享指令都执行完毕,则所述内容寻址存储器将全部使用位重新置位为0。
14.一种芯片互联多应用有效映射系统,其特征在于,所述系统包含多个处理单元;
在处理单元包含就绪标志位设置单元,用于在所述处理单元的数据分享指令中,设置就绪标志位;
在所述处理单元中还包含内容寻址存储器,所述内容寻址存储器通过写入所述内容寻址存储器的数据,返回与端口数据相同的所有内部数据的地址;
当可共享的数据被读入所述处理单元时,所述处理单元中存储器的索引发送至所述内容寻址存储器,所述内容寻址存储器通过所述索引得到所述数据的数据分享指令的地址,所述内容寻址存储器将所述数据分享指令中的就绪标志位置位为一预设值,以标记所述数据分享指令可被发射执行。
15.根据权利要求14所述的系统,其特征在于,所述内容寻址存储器包括比较存储器、掩码寄存器、译码器,以及若干个基本存储单元;
所述内容寻址存储器首先接收外部的查找命令,并将查找数据存储到对应的比较存储器中,将比较存储器中的查找数据和掩码寄存器拼接成为一个查找值;
通过所述查找值和所述内容寻址存储器中的每一组关联字进行匹配,若匹配成功,则将结果输出至译码器中,译码器生成匹配的位置信息和命中信息。
16.根据权利要求15所述的系统,其特征在于,所述查找数据指存储器的索引,生成的位置信息为该索引对应的共享数据的指令的就绪标志位;所述命中信息驱动给所述就绪标志位置位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810353963.8A CN108874729B (zh) | 2018-04-19 | 2018-04-19 | 芯片互联多应用有效映射方法、系统及内容寻址存储器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810353963.8A CN108874729B (zh) | 2018-04-19 | 2018-04-19 | 芯片互联多应用有效映射方法、系统及内容寻址存储器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108874729A true CN108874729A (zh) | 2018-11-23 |
CN108874729B CN108874729B (zh) | 2022-04-01 |
Family
ID=64326830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810353963.8A Active CN108874729B (zh) | 2018-04-19 | 2018-04-19 | 芯片互联多应用有效映射方法、系统及内容寻址存储器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108874729B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12007913B2 (en) | 2021-03-29 | 2024-06-11 | Google Llc | On-chip interconnect for memory channel controllers |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4996666A (en) * | 1988-08-12 | 1991-02-26 | Duluk Jr Jerome F | Content-addressable memory system capable of fully parallel magnitude comparisons |
US20040143701A1 (en) * | 2003-01-22 | 2004-07-22 | Paul Giambalvo | Ternary content addressable memory with enhanced priority matching |
CN1673968A (zh) * | 2004-03-25 | 2005-09-28 | 华为技术有限公司 | 一种仿真内容可寻址存储器的方法 |
CN101350771A (zh) * | 2008-07-07 | 2009-01-21 | 中国人民解放军国防科学技术大学 | 三态内容可寻址存储器条目免排序存储方法及其系统 |
CN103248573A (zh) * | 2013-04-08 | 2013-08-14 | 北京天地互连信息技术有限公司 | 面向OpenFlow的集中管理交换机及其数据处理方法 |
US20150100753A1 (en) * | 2013-10-04 | 2015-04-09 | Qualcomm Incorporated | Multi-core heterogeneous system translation lookaside buffer coherency |
CN105589829A (zh) * | 2014-09-15 | 2016-05-18 | 华为技术有限公司 | 基于多核处理器芯片的数据处理方法、装置以及系统 |
-
2018
- 2018-04-19 CN CN201810353963.8A patent/CN108874729B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4996666A (en) * | 1988-08-12 | 1991-02-26 | Duluk Jr Jerome F | Content-addressable memory system capable of fully parallel magnitude comparisons |
US20040143701A1 (en) * | 2003-01-22 | 2004-07-22 | Paul Giambalvo | Ternary content addressable memory with enhanced priority matching |
CN1673968A (zh) * | 2004-03-25 | 2005-09-28 | 华为技术有限公司 | 一种仿真内容可寻址存储器的方法 |
CN101350771A (zh) * | 2008-07-07 | 2009-01-21 | 中国人民解放军国防科学技术大学 | 三态内容可寻址存储器条目免排序存储方法及其系统 |
CN103248573A (zh) * | 2013-04-08 | 2013-08-14 | 北京天地互连信息技术有限公司 | 面向OpenFlow的集中管理交换机及其数据处理方法 |
US20150100753A1 (en) * | 2013-10-04 | 2015-04-09 | Qualcomm Incorporated | Multi-core heterogeneous system translation lookaside buffer coherency |
CN105589829A (zh) * | 2014-09-15 | 2016-05-18 | 华为技术有限公司 | 基于多核处理器芯片的数据处理方法、装置以及系统 |
Non-Patent Citations (2)
Title |
---|
史少平: "平衡时空的自适应多级流表构建方法", 《计算机工程与设计》 * |
徐卫志: "众核处理器片上同步机制和评估方法研究", 《计算机学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12007913B2 (en) | 2021-03-29 | 2024-06-11 | Google Llc | On-chip interconnect for memory channel controllers |
Also Published As
Publication number | Publication date |
---|---|
CN108874729B (zh) | 2022-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jones et al. | GRIP—a high-performance architecture for parallel graph reduction | |
CN105224692B (zh) | 支持多核处理器的sdn多级流表并行查找的系统及方法 | |
CN101573690B (zh) | 线程排队的方法和装置 | |
Sheng et al. | HPC on FPGA clouds: 3D FFTs and implications for molecular dynamics | |
JP2020508532A (ja) | 加速化ディープラーニング | |
CN108351783A (zh) | 多核数字信号处理系统中处理任务的方法和装置 | |
US8688956B2 (en) | Execution engine for executing single assignment programs with affine dependencies | |
CN108334464A (zh) | 具有支持三个dma模式的命令队列结构的多信道dma系统 | |
CN103246542B (zh) | 智能缓存及智能终端 | |
KR20010089392A (ko) | 파이프라인 방식의 메모리 컨트롤러 | |
CN103946803A (zh) | 具有高效工作排队的处理器 | |
US9477412B1 (en) | Systems and methods for automatically aggregating write requests | |
CN109062604B (zh) | 一种面向标量和向量指令混合执行的发射方法及装置 | |
CN105393210B (zh) | 用于处理数据存储器引用的存储器单元和方法 | |
US9274831B2 (en) | Information processing apparatus, information processing method, and storage medium | |
US20130061229A1 (en) | Information processing apparatus, information processing method, and storage medium | |
US11782760B2 (en) | Time-multiplexed use of reconfigurable hardware | |
CN108139867B (zh) | 用于实现对数据元素列表的高读取率的系统及方法 | |
CN108874729A (zh) | 芯片互联多应用有效映射方法、系统及内容寻址存储器 | |
CN102567278A (zh) | 一种片上多核数据传输方法和装置 | |
WO2021126194A1 (en) | Parameter caching for neural network accelerators | |
CN108762810B (zh) | 一种基于并行微引擎的网络报文头处理器 | |
US10601723B2 (en) | Bandwidth matched scheduler | |
CN109636709B (zh) | 一种适用于异构平台的图计算方法 | |
WO2023108654A1 (zh) | 一种任务调度方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100095 room 135, 1st floor, building 15, Chuangke Town, Wenquan Town, Haidian District, Beijing Applicant after: Beijing Zhongke Ruixin Technology Group Co.,Ltd. Address before: 1 wensong Road, Zhongguancun environmental protection park, Beiqing Road, Haidian District, Beijing 100095 Applicant before: SMARTCORE (BEIJING) Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |