CN117311817A - 一种协处理器控制方法、装置、设备及存储介质 - Google Patents
一种协处理器控制方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117311817A CN117311817A CN202311622565.9A CN202311622565A CN117311817A CN 117311817 A CN117311817 A CN 117311817A CN 202311622565 A CN202311622565 A CN 202311622565A CN 117311817 A CN117311817 A CN 117311817A
- Authority
- CN
- China
- Prior art keywords
- instruction
- target task
- processing
- coprocessor
- software
- 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
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000012545 processing Methods 0.000 claims abstract description 136
- 238000004590 computer program Methods 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 230000005856 abnormality Effects 0.000 description 3
- 238000013467 fragmentation Methods 0.000 description 3
- 238000006062 fragmentation reaction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
本申请实施例提供了一种协处理器控制方法、装置、设备及存储介质,涉及智能控制技术领域,该方法包括:获取指令,并判断指令是否为扩展指令;若指令为扩展指令,则判断扩展指令的指令类型;若扩展指令的类型为分派指令类型,则载入扩展指令的虚拟输入地址和虚拟输出地址,并将虚拟输入地址和虚拟输出地址,转化为相应的物理输入地址和物理输出地址;若存在用于处理扩展指令的空闲的协处理器,且扩展指令的指令参数不是强制回退,则将扩展指令对应的目标任务和物理输出地址插入队列,并将目标任务标记为处理中;通过相应的协处理器对目标任务进行处理,并将处理结果输出至物理输出地址,以及将目标任务标记为已完成。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种协处理器控制方法、装置、设备及存储介质。
背景技术
协处理器一般不能被直接使用,而常常需要借由操作其内部的寄存器以达成对其的控制。一般而言,常用以下两种方式:第一种方式、设计指令把中央处理器的寄存器的值复制到协处理器的寄存器中,或把协处理器的寄存器的值复制到中央处理器的寄存器中;第二种方式、把协处理器的寄存器映射成一段内存,通过读写相应的内存段间接读写协处理器的寄存器。以上都是以读写数据的方式对协处理器进行控制。
但是,采用第一种方式会浪费指令编码空间;采用第二种方式会浪费内存空间且使用协处理器的使用方法会带来碎片化的问题,两种方式还都会带来当没有协处理器时,回退到软件实现造成碎片化的问题。
发明内容
本申请实施例提供了一种协处理器控制方法、装置、设备及存储介质,用于避免软件碎片化的问题。
第一方面,本申请实施例提供了一种协处理器控制方法,包括:
获取指令,并判断所述指令是否为扩展指令;
若所述指令为所述扩展指令,则判断所述扩展指令的指令类型;
若所述扩展指令的类型为分派指令类型,则载入所述扩展指令的虚拟输入地址和虚拟输出地址,并将所述虚拟输入地址和所述虚拟输出地址,转化为相应的物理输入地址和物理输出地址;
若存在用于处理所述扩展指令的空闲的协处理器,且所述扩展指令的指令参数不是强制回退,则将所述扩展指令对应的目标任务和所述物理输出地址插入队列,并将所述目标任务标记为处理中;
通过所述协处理器对所述目标任务进行处理,并将处理结果输出至所述物理输出地址,以及将所述目标任务标记为已完成。
本申请实施例中,通过引入扩展指令,可以直接对协处理器进行控制,避免了软件的碎片化。可以实现软件在各种硬件上的通用,同时也能提高中央处理器的性能。
可选地,还包括:
若不存在用于处理所述扩展指令的协处理器,或者所述扩展指令的指令参数为强制回退,则基于所述扩展指令的指令参数,确定软件实现所述扩展指令的时序信息;
基于所述时序信息,通过软件对所述目标任务进行处理,获得处理结果。
本申请实施例中,当不存在可以使用的协处理器时,通过软件实现,避免了目标任务无法处理的问题;或扩展指令参数为强制回退时,根据时序信息确定是否当前在分派指令时就由软件处理,提升了任务处理的效率。
可选地,所述基于所述时序信息,通过软件对所述目标任务进行处理,获得处理结果,包括:
若所述时序信息表征先执行软件实现,则通过软件对所述目标任务进行处理,获得处理结果;以及,将所述处理结果和所述物理输出地址插入队列,并将所述目标任务标记为已完成。
可选地,还包括:
若所述时序信息表征后执行软件实现,则将所述目标任务、所述物理输入地址和所述物理输出地址插入队列,并将所述目标任务标记为等待软件实现。
可选地,还包括:
若存在用于处理所述扩展指令的协处理器,且所述协处理器处于占用状态,以及所述扩展指令的指令参数不是强制回退,则基于所述扩展指令的指令参数,判断是否切换至等待状态;
若是,则切换至等待状态;
否则基于所述扩展指令的指令参数,确定软件实现所述扩展指令的时序信息;以及基于所述时序信息,通过软件对所述目标任务进行处理,获得处理结果。
本申请实施例中,通过将状态切换至等待,避免了将任务重新开始,节省时间,提升了任务的处理效率。
可选地,所述切换至等待状态之后,还包括:
判断所述协处理器是否处于空闲状态;
若是,则将所述目标任务和所述物理输出地址插入队列,并将所述目标任务标记为处理中;通过所述协处理器对所述目标任务进行处理,并将处理结果输出至所述物理输出地址,以及将所述目标任务标记为已完成;
否则将所述目标任务、所述物理输入地址和所述物理输出地址插入队列,并将所述目标任务标记为排队中。
本申请实施例中,当协处理器空闲时,协处理器处理任务,若协处理器非空闲时,将任务插入队列中排队,当协处理器空闲时可以从排队中获取任务,无需重新开始任务,提升了整体的处理效率。
可选地,还包括:
若所述扩展指令的类型为等待指令类型,则在所述队列中查询所述目标任务并获取所述目标任务的状态;
若所述目标任务的任务状态为等待软件实现,则基于所述扩展指令的指令参数,确定软件实现所述扩展指令的时序信息;
基于所述时序信息,通过软件对所述目标任务进行处理,获得处理结果。
本申请实施例中,通过设置等待类型的扩展指令,当目标任务处于等待中时,可以通过软件实现,或暂时将目标任务挂起,避免了任务重新开始,提升了处理目标任务的效率。
可选地,还包括:
若所述目标任务的任务状态为处理中时,则等待任务处理完毕后,将所述目标任务标记为已完成,并向中央处理器发送中断信号。
可选地,还包括:
若所述目标任务的任务状态为排队中,则确定等待时长;
若所述等待时长大于设定时长,则基于所述扩展指令的指令参数,确定软件实现所述扩展指令的时序信息;以及基于所述时序信息,通过软件对所述目标任务进行处理,获得处理结果;
若所述等待时长不大于设定时长时,接收到协处理器表征所述目标任务处理完成的信号或向对应协处理器查询到任务已完成,则将所述目标任务标记为已完成。
本申请实施例中,当等待时长过长时,通过软件处理目标任务,避免了目标任务等待的时间过久。当等待时长较短时,当接收到协处理器表征所述目标任务处理完成的信号,或者向对应协处理器查询任务已完成时,将目标任务标记为已完成,可以确认目标任务是否完成。
第二方面,本申请实施例提供了一种协处理器控制装置,包括:
获取模块,用于获取指令,并判断所述指令是否为扩展指令;
判断模块,用于若所述指令为所述扩展指令,则判断所述扩展指令的指令类型;
转化模块,用于若所述扩展指令的类型为分派指令类型,则载入所述扩展指令的虚拟输入地址和虚拟输出地址,并基于所述扩展指令中的任务识别号,将所述虚拟输入地址和所述虚拟输出地址,转化为相应的物理输入地址和物理输出地址;
队列管理模块,用于若存在用于处理所述扩展指令的空闲的协处理器,且所述扩展指令的指令参数不是强制回退,则将所述扩展指令对应的目标任务和所述物理输出地址插入队列;
标记模块,用于将所述目标任务标记为处理中;
协处理器管理模块,用于通过所述协处理器对所述目标任务进行处理,并将处理结果输出至所述物理输出地址;
所述标记模块,还用于将所述目标任务标记为已完成。
可选地,所述判断模块还用于:
若不存在用于处理所述扩展指令的协处理器,或者所述扩展指令的指令参数为强制回退,则基于所述扩展指令的指令参数,确定软件实现所述扩展指令的时序信息;
基于所述时序信息,通过软件对所述目标任务进行处理,获得处理结果。
可选地,所述判断模块具体用于:
若所述时序信息表征先执行软件实现,则通过软件对所述目标任务进行处理,获得处理结果;以及,将所述处理结果和所述物理输出地址插入队列,并将所述目标任务标记为已完成。
可选地,所述判断模块还用于:
若所述时序信息表征后执行软件实现,则将所述目标任务、所述物理输入地址和所述物理输出地址插入队列,并将所述目标任务标记为等待软件实现。
可选地,所述判断模块还用于:
若存在用于处理所述扩展指令的协处理器,且所述协处理处于占用状态,以及所述扩展指令的指令参数不是强制回退,则基于所述扩展指令的指令参数,判断是否切换至等待状态;
若是,则切换至等待状态;
否则基于所述扩展指令的指令参数,确定软件实现所述扩展指令的时序信息;以及基于所述时序信息,通过软件对所述目标任务进行处理,获得处理结果。
可选地,所述判断模块还用于:
判断所述协处理器是否处于空闲状态;
若是,则将所述目标任务和所述物理输出地址插入队列,并将所述目标任务标记为处理中;通过所述协处理器对所述目标任务进行处理,并将处理结果输出至所述物理输出地址,以及将所述目标任务标记为已完成;
否则将所述目标任务、所述物理输入地址和所述物理输出地址插入队列,并将所述目标任务标记为排队中。
可选地,所述判断模块还用于:
若所述扩展指令的类型为等待指令类型,则基于所述扩展指令中的任务识别号反映射出所述队列中所述目标任务的任务状态;
若所述目标任务的任务状态为等待软件实现,则基于所述扩展指令的指令参数,确定软件实现所述扩展指令的时序信息;
基于所述时序信息,通过软件对所述目标任务进行处理,获得处理结果。
可选地,所述判断模块还用于:
若所述目标任务的任务状态为处理中时,接收到表征所述目标任务处理结束的中断信号,则将所述目标任务标记为已完成。
可选地,所述判断模块还用于:
若所述目标任务的任务状态为排队中,则确定等待时长;
若所述等待时长大于设定时长,则基于所述扩展指令的指令参数,确定软件实现所述扩展指令的时序信息;以及基于所述时序信息,通过软件对所述目标任务进行处理,获得处理结果;
若所述等待时长不大于设定时长时,接收到表征所述目标任务处理结束的中断信号,则将所述目标任务标记为已完成。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述协处理器控制方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行上述协处理器控制方法的步骤。
附图说明
图1为本申请实施例提供的一种系统架构图;
图2为本申请实施例提供的一种协处理器控制方法的流程示意图;
图3为本申请实施例提供的一种扩展指令为分派指令时的流程示意图;
图4为本申请实施例提供的一种扩展指令为等待指令时的流程示意图;
图5为本申请实施例提供的一种软件实现的流程示意图;
图6为本申请实施例提供的一种协处理器控制的装置;
图7为本申请实施例提供的一种计算机设备。
具体实施方式
为了使本申请的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
下面,对本申请中的部分用于进行通用解释说明,以便于本领域技术人员理解,并不对本申请中的用语进行限定。
协处理器:协处理器,是一种协助中央处理器完成其无法执行或执行效率、效果低下的处理工作而开发和应用的处理器,一个协处理器通过扩展指令集或提供配置寄存器来扩展内核处理功能。
动态链接库:动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个动态链接库文件中,该动态链接库包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。动态链接库还有助于共享数据和资源。多个应用程序可同时访问内存中单个动态链接库副本的内容。
系统级异常:事件或状态或行为。CPU出现异常时常常会进入这个状态,在这个状态下,CPU会陷入内核态,由内核中的异常处理例程来处理异常。
用户级异常:本专利引入的一种新型的异常,其类似于系统级异常,但与系统级异常的区别是:当发生异常时,不再进入内核态,而是留在用户态,由后面提到的软件实现来处理。
参考图1,为本申请实施例适用的一种系统架构图,该系统架构包括中央处理器(Central Processing Unit,简称CPU)101、协处理器102和软件103,CPU1通过扩展指令从而可以控制协处理器102和软件103。
CPU101和协处理器102可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。软件103可以是安装在任一终端设备中的。
基于图1的系统架构图,本申请实施例提供了一种协处理器控制方法,参考图2,该方法的流程由计算机设备执行,包括以下步骤:
步骤201、获取指令,并判断指令是否为扩展指令。
具体地,当CPU从输入/输出设备中获取到指令时,首先要判断该指令是否为扩展指令。一般来说,在本申请实施例中,获取到的指令可以分为合法的普通指令、非法指令和协处理器扩展指令,若为本申请实施例所需要的协处理器扩展指令,则继续执行步骤202。
步骤202、若指令为扩展指令,则判断扩展指令的指令类型。
具体地,在获取到的指令为协处理器扩展指令后,再继续判断该指令的指令类型,本申请实施例中,指令类型分为:分派指令和等待指令。
步骤203、若扩展指令的类型为分派指令类型,则载入扩展指令的虚拟输入地址和虚拟输出地址,并将虚拟输入地址和虚拟输出地址,转化为相应的物理输入地址和物理输出地址。
具体地,当识别到指令类型为分派指令后,则从指定的寄存器中读取输入和输出地址,其中,指令中指定了哪些寄存器用于存放输入地址、输出地址以及指令选项。将虚拟输入地址和虚拟输出地址转化为相应的物理输入地址和物理输出地址。
步骤204、若存在用于处理扩展指令的空闲的协处理器,且扩展指令的指令参数不是强制回退,则将扩展指令对应的目标任务和物理输出地址插入队列,并将目标任务标记为处理中。
具体地,判断是否存在空闲的协处理器可以处理上述扩展指令,若存在,且扩展指令不是强制回退,则将指令所需要执行的任务插入队列元素,标记为处理中,指令结束。继续执行步骤205。若任何协处理器(不论是否空闲),均无法处理目标任务,或扩展指令的指令参数是强制回退,则不允许使用硬件实现。
扩展指令的参数分为四种:
强制回退:总是回退到软件实现。
忙时回退:没有空闲可用的协处理器用于运算时, 回退到软件实现。
缺失回退:硬件中缺少相应的协处理器时,回退到软件实现,否则使用协处理器进行运算(硬件实现);若协处理器忙,任务进入队列等待(此时该指令可立即返回 ,排队在SoC 内部隐式地进行 ,轮到本任务时协处理器直接进行运算,不须程序干预)。
禁止回退:强制使用协处理器进行运算;若协处理器忙,任务进入队列等待;若协处理器不存在,引发异常。
步骤205、通过协处理器对目标任务进行处理,并将处理结果输出至物理输出地址,以及将目标任务标记为已完成。
具体地,协处理器在接收到目标任务后,对目标任务进行处理,在将目标任务处理完成后将处理结果发送至物理输出地址,并将目标任务标记为已完成。
在一些实施例中,若不存在用于处理扩展指令的协处理器,或者扩展指令的指令参数为强制回退,则基于扩展指令的指令参数,确定软件实现扩展指令的时序信息。基于时序信息,通过软件对目标任务进行处理,获得处理结果。
具体地,若当前的协处理器都处于工作状态,或者扩展指令的参数显示为强制回退,则此时需使用软件来实现扩展指令。软件实现需要分为先执行和后执行。先执行的部分为软件实现的具体步骤,软件实现按照下一实施例执行。
在一些实施例中,若时序信息表征先执行软件实现,则通过软件对目标任务进行处理,获得处理结果;以及,将处理结果和物理输出地址插入队列,并将目标任务标记为已完成。
具体地,在由软件实现时,启用本发明引入的用户级异常。出现异常时,直接根据配置寄存器的配置,跳转到动态链接库所在地址,进行软件实现,不需要经过操作系统内核。实现了所有标准运算指令的动态链接库,会根据发生的异常类型、指令地址、指令编码等信息来判断发生异常的是何种指令。软件会根据指令类型和指令输出地址,获取队列元素中的输入和输出所在的内存地址,使用软件来进行运算,然后将运算结果输出至指定地址,指令完成。
在一些实施例中,若时序信息表征后执行软件实现,则将目标任务、物理输入地址和物理输出地址插入队列,并将目标任务标记为等待软件实现。
具体地,若时序信息为后执行软件实现,程序执行至分派指令时,需要将目标物理输入地址、物理输出地址插入到队列中,及至该程序执行至相应的等待指令时,再执行软件实现。
在一些实施例中,若存在用于处理扩展指令的协处理器,协处理处于占用状态,以及扩展指令的指令参数不是强制回退,则基于扩展指令的指令参数,判断是否切换至等待状态;若是,则切换至等待状态;否则基于扩展指令的指令参数,确定软件实现扩展指令的时序信息;以及基于时序信息,通过软件对目标任务进行处理,获得处理结果。
具体地,若协处理器为占用状态但是扩展指令的参数不是强制回退,则根据扩展指令的指令参数判断目标任务是否需要切换至等待状态。如果需要等待,则需由软件实现,且根据软件的时序信息,通过软件对目标任务进行处理,从而得到处理结果。
在一些实施例中,切换至等待状态之后,还包括:判断协处理器是否处于空闲状态;若是,则将目标任务和物理输出地址插入队列,并将目标任务标记为处理中;通过协处理器对目标任务进行处理,并将处理结果输出至物理输出地址,以及将目标任务标记为已完成;否则将目标任务、物理输入地址和物理输出地址插入队列,并将目标任务标记为排队中。
具体地,在切换到等待状态后,还需判断协处理器是否处于空闲状态。如果协处理器处于空闲状态,则将目标任务以及目标任务的物理输出地址插入队列, 同时将目标任务标记为处理中,使得协处理器对目标任务进行处理,处理完成后将处理结果输出至物理输出地址,同时将目标任务标记为已完成。
如果协处理器处于非空闲状态,则将目标任务,以及目标任务的物理输入地址、物理输出地址插入队列,并将目标任务标记为排队中。
在一些实施例中,若扩展指令的类型为等待指令类型,则基于扩展指令中的输出地址反映射出队列中目标任务的任务状态;若目标任务的任务状态为等待软件实现,则基于扩展指令的指令参数,确定软件实现扩展指令的时序信息;基于时序信息,通过软件对目标任务进行处理,获得处理结果。
具体地,扩展指令还包含等待指令,若CPU识别到扩展指令为等待指令时,则根据扩展指令的输出地址反映射出队列中目标任务的状态。如果目标任务的任务状态为等待软件实现,则该目标任务由软件来实现。
在一些实施例中,还包括:若目标任务的任务状态为处理中时,接收到表征目标任务处理结束的中断信号,则将目标任务标记为已完成。
具体地,如果目标任务的任务状态为处理中,则当接收到目标任务处理结束的中断信号时,则认为该目标任务已完成,并标记为已完成。
在一些实施例中,还包括:若目标任务的任务状态为排队中,则确定等待时长;若等待时长大于设定时长,则基于扩展指令的指令参数,确定软件实现扩展指令的时序信息;以及基于时序信息,通过软件对目标任务进行处理,获得处理结果;若等待时长不大于设定时长时,接收到表征目标任务处理结束的中断信号,则将目标任务标记为已完成。
具体地,如果目标任务的任务状态为排队中,则需确定目标任务的等待时长。如果等待时长大于设定的时长,则需通过软件实现,并通过软件实现获得处理结果。如果等待的时长小于或等于设定时长,则等待协处理器处理,在协处理器处理完成后,将目标任务标记为已完成。
在任务等待的过程中,需要提供一个暂时存储任务队列的地方,这可以通过在输入输出内存管理单元(简称 IOMMU )中加入一个任务队列(其硬件实现可参考双页TLB)来实现。CPU 一般都使用这样一种 TLB,即其中每一项都可映射两个连续的虚拟页面编号(Virtual Page Number,简称VPN)到两个互不关联的物理页面编号(Physical FrameNumber ,简称PFN),通俗地讲,即 TLB 中的每一项都可以将连续的两个虚拟页面映射到两个可不连续的物理页面,这样的TLB称为双页TLB。
双页TLB为索引,前面是输入区,后面是输出区,输入区需要输入页号、进程ID(简称ASID)和页面掩码(简称PageMask),可用于大页,输入区代表内存映射索引,output代表映射目的地。TLB的容量是有限的,若太大会导致成本较高 。举例说明,因为第0页和第1页相邻,所以可以把第1页的索引去掉,引用第0页的索引,在查第0页时也可以查第1页,所以查第0页和第1页都使用同一个索引,同时可以输出第0页和第1页的映射,因此使用双页TLB可以用更低的硬件成本实现更大的TLB容量,从而降低成本,这样的TLB称为双页TLB。
如表1展示了双页TLB的典型条目结构,VPN2 表示输入的 VPN 除去最低位后,对应同一个 TLB 条目, 其最低位决定是该 entry 中的哪一个 PFN 被返回。实际上,尽管表1中分为输入和输出,但 TLB 内部的每一项的数据结构都完全等同于表1,即前半部分用于匹配条目,后半部分用于返回匹配结果。显然地,VPN2 的最低位可以不储存。Flags用来标记页面属性的,页面的属性可以是页面可读、可写、可执行等。这个数据结构恰巧拥有三个页面编号:一个虚拟的,两个物理的。使用时只需要重新分配各个字段的用途,就可储存任务队列信息。
VPN2用来存放输出地址所在的页面,2个PFN用来存放2个输入地址各自所在的页面,ASID可以用来标记任务所在的进程,G和Flags可用于标记任务的属性。输入区的VPN必须是输出页面,输出区的PFN必须是输入页面。若输入或者输出的页面较大时,则可以使用PageMask将小页面变成大页面。
表1
为了更好地解释本申请实施例,下面结合具体实施场景介绍本申请实施例提供的一种协处理器控制方法,如图3所示,包括以下步骤:
首先介绍扩展指令为分派指令时的执行步骤:
步骤301、获取指令。
步骤302、对指令进行译码。
步骤303、判断指令的类型,若为非法指令,则执行步骤304,若为合法的普通指令,则执行步骤305,若为合法的协处理器扩展指令,则执行步骤306。
步骤304、发生系统级异常。
步骤305、由CPU执行。
步骤306、判断扩展指令的类型,若为分派指令,则执行步骤307;若为等待,则由等待指令执行。
步骤307、从指令中、或指令指定的寄存器中、或约定的寄存器中,载入输入和输出所在的内存地址。
步骤308、对输出和输入地址建立虚拟地址和物理地址之间的映射关系。
步骤309、判断当前是否存在相应的协处理器,且指令参数是否允许协处理器实现。若是,则执行步骤310;否则,由软件实现。
步骤310、判断协处理器是否空闲,若空闲,则执行步骤311;否则,执行步骤315。
步骤311、将目标任务插入队列元素中,并标记为处理中,其中目标任务含输入、输出地址。
步骤312、交由协处理器处理。
步骤313、将协处理器的运算结果输出至指定地址。
步骤314、将目标任务标记为已完成,执行步骤318。
步骤315、根据指令参数判断是否决定等待,若等待,则执行步骤316;否则由软件实现。
步骤316、将目标任务插入队列元素中,并标记为排队中,其中目标任务含输入、输出地址。
步骤317、判断协处理器是否空闲,若空闲,则执行步骤312;否则,再次执行步骤317。
步骤318、结束。
接下来介绍扩展指令为等待指令时的执行步骤,如图4所示:
步骤401、获取指令。
步骤402、对指令进行译码。
步骤403、判断指令的类型,若为非法指令,则执行步骤404;若为合法的普通指令,则执行步骤405;若为合法的协处理器扩展指令,则执行步骤406。
步骤404、发生系统级异常。
步骤405、由CPU执行。
步骤406、判断扩展指令的类型,若为分派指令,则执行步骤407;若为等待指令,则由等待指令执行。
步骤407、从指令中读取输出地址。
步骤408、根据虚拟地址-物理地址映射表,查找输出地址对应的物理地址。
步骤409、弹出物理地址对应的队列元素。
步骤410、判断此时目标任务的状态,若为处理中,则执行步骤411;若为已完成,则执行步骤415;若为排队中,则执行步骤413。
步骤411、将执行该目标任务的进程挂起,等待中断。
步骤412、代表任务完成的中断到达,恢复该目标任务的进程,执行415。
步骤413、判断目标任务是否已超时,若超时,则执行步骤414;否则,执行步骤411,其中,是否已超时由指令中的参数决定。
步骤414、使用软件实现完成该任务。
步骤415、结束。
最后介绍软件实现的执行步骤,如图5所示:
步骤501、发生用户级异常。
步骤502、跳转至软件实现所在的动态链接库定义的异常处理入口点。
步骤503、根据指令类型和输出地址,从队列元素中获取输入和输出所在的内存地址。
步骤504、对目标任务进行运算。
步骤505、将运算结果输出至指定地址。
步骤506、结束。
基于相同的技术构思,本申请实施例提供了一种协处理器控制装置600,如图6所示,包括:
获取模块601,用于获取指令,并判断所述指令是否为扩展指令;
判断模块602,用于若所述指令为所述扩展指令,则判断所述扩展指令的指令类型;
转化模块603,用于若所述扩展指令的类型为分派指令类型,则载入所述扩展指令的虚拟输入地址和虚拟输出地址,并将所述虚拟输入地址和所述虚拟输出地址,转化为相应的物理输入地址和物理输出地址;
队列管理模块604,用于若存在用于处理所述扩展指令的空闲的协处理器,且所述扩展指令的指令参数不是强制回退,则将所述扩展指令对应的目标任务和所述物理输出地址插入队列;
标记模块605,用于将所述目标任务标记为处理中;
协处理器管理模块606,用于通过所述协处理器对所述目标任务进行处理,并将处理结果输出至所述物理输出地址;
所述标记模块605,还用于将所述目标任务标记为已完成。
可选地,所述判断模块602还用于:
若不存在用于处理所述扩展指令的协处理器,或者所述扩展指令的指令参数为强制回退,则基于所述扩展指令的指令参数,确定软件实现所述扩展指令的时序信息;
基于所述时序信息,通过软件对所述目标任务进行处理,获得处理结果。
可选地,所述判断模块602具体用于:
若所述时序信息表征先执行软件实现,则通过软件对所述目标任务进行处理,获得处理结果;以及,将所述处理结果和所述物理输出地址插入队列,并将所述目标任务标记为已完成。
可选地,所述判断模块602还用于:
若所述时序信息表征后执行软件实现,则将所述目标任务、所述物理输入地址和所述物理输出地址插入队列,并将所述目标任务标记为等待软件实现。
可选地,所述判断模块602还用于:
若存在用于处理所述扩展指令的协处理器,且所述协处理处于占用状态,以及所述扩展指令的指令参数不是强制回退,则基于所述扩展指令的指令参数,判断是否切换至等待状态;
若是,则切换至等待状态;
否则基于所述扩展指令的指令参数,确定软件实现所述扩展指令的时序信息;以及基于所述时序信息,通过软件对所述目标任务进行处理,获得处理结果。
可选地,所述判断模块602还用于:
判断所述协处理器是否处于空闲状态;
若是,则将所述目标任务和所述物理输出地址插入队列,并将所述目标任务标记为处理中;通过所述协处理器对所述目标任务进行处理,并将处理结果输出至所述物理输出地址,以及将所述目标任务标记为已完成;
否则将所述目标任务、所述物理输入地址和所述物理输出地址插入队列,并将所述目标任务标记为排队中。
可选地,所述判断模块602还用于:
若所述扩展指令的类型为等待指令类型,则基于所述扩展指令中的任务识别号反映射出所述队列中所述目标任务的任务状态;
若所述目标任务的任务状态为等待软件实现,则基于所述扩展指令的指令参数,确定软件实现所述扩展指令的时序信息;
基于所述时序信息,通过软件对所述目标任务进行处理,获得处理结果。
可选地,所述判断模块602还用于:
若所述目标任务的任务状态为处理中时,接收到表征所述目标任务处理结束的中断信号,则将所述目标任务标记为已完成。
可选地,所述判断模块602还用于:
若所述目标任务的任务状态为排队中,则确定等待时长;
若所述等待时长大于设定时长,则基于所述扩展指令的指令参数,确定软件实现所述扩展指令的时序信息;以及基于所述时序信息,通过软件对所述目标任务进行处理,获得处理结果;
若所述等待时长不大于设定时长时,接收到表征所述目标任务处理结束的中断信号,则将所述目标任务标记为已完成。
基于相同的技术构思,本申请实施例提供了一种计算机设备,计算机设备可以是终端或服务器,如图7示,包括至少一个处理器701,以及与至少一个处理器连接的存储器702,本申请实施例中不限定处理器701与存储器702之间的具体连接介质,图7处理器701和存储器702之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本申请实施例中,存储器702存储有可被至少一个处理器701执行的指令,至少一个处理器701通过执行存储器702存储的指令,可以执行上述协处理器控制方法中所包括的步骤。
其中,处理器701是计算机设备的控制中心,可以利用各种接口和线路连接计算机设备的各个部分,通过运行或执行存储在存储器702内的指令以及调用存储在存储器702内的数据,从而进行协处理器控制方法。可选的,处理器701可包括一个或多个处理单元,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。在一些实施例中,处理器701和存储器702可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器701可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器702作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器702可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(StaticRandom Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(ReadOnly Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器702是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器702还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行上述协处理器控制方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (12)
1.一种协处理器控制方法,其特征在于,包括:
获取指令,并判断所述指令是否为扩展指令;
若所述指令为所述扩展指令,则判断所述扩展指令的指令类型;
若所述扩展指令的类型为分派指令类型,则载入所述扩展指令的虚拟输入地址和虚拟输出地址,并将所述虚拟输入地址和所述虚拟输出地址,转化为相应的物理输入地址和物理输出地址;
若存在用于处理所述扩展指令的空闲的协处理器,且所述扩展指令的指令参数不是强制回退,则将所述扩展指令对应的目标任务和所述物理输出地址插入队列,并将所述目标任务标记为处理中;
通过所述协处理器对所述目标任务进行处理,并将处理结果输出至所述物理输出地址,以及将所述目标任务标记为已完成。
2.如权利要求1所述的方法,其特征在于,还包括:
若不存在用于处理所述扩展指令的协处理器,或者所述扩展指令的指令参数为强制回退,则基于所述扩展指令的指令参数,确定软件实现所述扩展指令的时序信息;
基于所述时序信息,通过软件对所述目标任务进行处理,获得处理结果。
3.如权利要求2所述的方法,其特征在于,所述基于所述时序信息,通过软件对所述目标任务进行处理,获得处理结果,包括:
若所述时序信息表征先执行软件实现,则通过软件对所述目标任务进行处理,获得处理结果;以及,将所述处理结果和所述物理输出地址插入队列,并将所述目标任务标记为已完成。
4.如权利要求3所述的方法,其特征在于,还包括:
若所述时序信息表征后执行软件实现,则将所述目标任务、所述物理输入地址和所述物理输出地址插入队列,并将所述目标任务标记为等待软件实现。
5.如权利要求1所述的方法,其特征在于,还包括:
若存在用于处理所述扩展指令的协处理器,且所述协处理处于占用状态,以及所述扩展指令的指令参数不是强制回退,则基于所述扩展指令的指令参数,判断是否切换至等待状态;
若是,则切换至等待状态;
否则基于所述扩展指令的指令参数,确定软件实现所述扩展指令的时序信息;以及基于所述时序信息,通过软件对所述目标任务进行处理,获得处理结果。
6.如权利要求5所述的方法,其特征在于,所述切换至等待状态之后,还包括:
判断所述协处理器是否处于空闲状态;
若是,则将所述目标任务和所述物理输出地址插入队列,并将所述目标任务标记为处理中;通过所述协处理器对所述目标任务进行处理,并将处理结果输出至所述物理输出地址,以及将所述目标任务标记为已完成;
否则将所述目标任务、所述物理输入地址和所述物理输出地址插入队列,并将所述目标任务标记为排队中。
7.如权利要求1至6任一所述的方法,其特征在于,还包括:
若所述扩展指令的类型为等待指令类型,则在所述队列中查询所述目标任务并获取所述目标任务的状态;
若所述目标任务的任务状态为等待软件实现,则基于所述扩展指令的指令参数,确定软件实现所述扩展指令的时序信息;
基于所述时序信息,通过软件对所述目标任务进行处理,获得处理结果。
8.如权利要求7所述的方法,其特征在于,还包括:
若所述目标任务的任务状态为处理中时,则等待任务处理完毕后,将所述目标任务标记为已完成,并向中央处理器发送中断信号。
9.如权利要求7所述的方法,其特征在于,还包括:
若所述目标任务的任务状态为排队中,则确定等待时长;
若所述等待时长大于设定时长,则基于所述扩展指令的指令参数,确定软件实现所述扩展指令的时序信息;以及基于所述时序信息,通过软件对所述目标任务进行处理,获得处理结果;
若所述等待时长不大于设定时长时,接收到协处理器表征所述目标任务处理完成的信号或向对应协处理器查询到任务已完成,则将所述目标任务标记为已完成。
10.一种协处理器控制装置,其特征在于,包括:
获取模块,用于获取指令,并判断所述指令是否为扩展指令;
判断模块,用于若所述指令为所述扩展指令,则判断所述扩展指令的指令类型;
转化模块,用于若所述扩展指令的类型为分派指令类型,则载入所述扩展指令的虚拟输入地址和虚拟输出地址,并将所述虚拟输入地址和所述虚拟输出地址,转化为相应的物理输入地址和物理输出地址;
队列管理模块,用于若存在用于处理所述扩展指令的空闲的协处理器,且所述扩展指令的指令参数不是强制回退,则将所述扩展指令对应的目标任务和所述物理输出地址插入队列;
标记模块,用于将所述目标任务标记为处理中;
协处理器管理模块,用于通过所述协处理器对所述目标任务进行处理;
输出模块,用于将处理结果输出至所述物理输出地址,
所述标记模块,还用于将所述目标任务标记为已完成。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~9任一所述方法的步骤。
12.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~9任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311622565.9A CN117311817B (zh) | 2023-11-30 | 2023-11-30 | 一种协处理器控制方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311622565.9A CN117311817B (zh) | 2023-11-30 | 2023-11-30 | 一种协处理器控制方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117311817A true CN117311817A (zh) | 2023-12-29 |
CN117311817B CN117311817B (zh) | 2024-03-08 |
Family
ID=89250351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311622565.9A Active CN117311817B (zh) | 2023-11-30 | 2023-11-30 | 一种协处理器控制方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117311817B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117560226A (zh) * | 2024-01-09 | 2024-02-13 | 上海芯联芯智能科技有限公司 | 一种通过虚拟专用网络vpn进行数据传输的方法及装置 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1177147A (zh) * | 1996-08-19 | 1998-03-25 | 三星电子株式会社 | 用于处理带参数传递的软件中断的系统和方法 |
CN101379467A (zh) * | 2006-02-02 | 2009-03-04 | 微软公司 | 对动态可扩展处理器的软件支持 |
US20090160863A1 (en) * | 2007-12-21 | 2009-06-25 | Michael Frank | Unified Processor Architecture For Processing General and Graphics Workload |
US20150006852A1 (en) * | 2013-06-28 | 2015-01-01 | International Business Machines Corporation | Forming instruction groups based on decode time instruction optimization |
CN104603748A (zh) * | 2012-09-27 | 2015-05-06 | 英特尔公司 | 具有多个核、共享的核扩展逻辑及共享的核扩展利用指令的处理器 |
CN111240457A (zh) * | 2020-01-17 | 2020-06-05 | 济南浪潮高新科技投资发展有限公司 | 一种基于risc-v的动态功耗管理方法 |
CN112905238A (zh) * | 2021-02-08 | 2021-06-04 | 北京微芯区块链与边缘计算研究院 | 一种区块链智能合约执行器及方法、区块链运行系统 |
CN113760818A (zh) * | 2021-09-10 | 2021-12-07 | 中国电子科技集团公司第五十八研究所 | 一种高性能协处理器接口 |
CN113849221A (zh) * | 2020-06-27 | 2021-12-28 | 英特尔公司 | 用于操作系统透明指令状态管理的装置、方法和系统 |
CN113868155A (zh) * | 2021-11-30 | 2021-12-31 | 苏州浪潮智能科技有限公司 | 一种内存空间扩展方法、装置及电子设备和存储介质 |
CN114721718A (zh) * | 2022-03-12 | 2022-07-08 | 北京大学 | 一种实现基于时钟精准模拟器的risc-v向量拓展指令集的方法 |
CN114879968A (zh) * | 2022-04-29 | 2022-08-09 | 山东云海国创云计算装备产业创新中心有限公司 | 一种基板管理控制芯片中视频处理的方法和装置 |
CN115004158A (zh) * | 2020-01-30 | 2022-09-02 | 华为技术有限公司 | 在多核处理器上执行扩展集中的处理器指令的设备、方法和计算机程序 |
CN115309454A (zh) * | 2022-07-14 | 2022-11-08 | 复旦大学 | 一种超标量risc-v处理器的扩展指令接口 |
CN115688640A (zh) * | 2022-09-24 | 2023-02-03 | 复旦大学 | 基于超标量risc-v处理器流水线的协处理器访存接口 |
WO2023019537A1 (en) * | 2021-08-20 | 2023-02-23 | Intel Corporation | Apparatuses, methods, and systems for device translation lookaside buffer pre-translation instruction and extensions to input/output memory management unit protocols |
US20230196176A1 (en) * | 2021-12-21 | 2023-06-22 | Intel Corporation | Apparatus and method for efficient and scalable quantum instruction implementation for a high sensitivity silicon spin qubit readout |
CN117063162A (zh) * | 2021-03-26 | 2023-11-14 | 英特尔公司 | 用于在可信区中实现共享虚拟存储器的装置和方法 |
-
2023
- 2023-11-30 CN CN202311622565.9A patent/CN117311817B/zh active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1177147A (zh) * | 1996-08-19 | 1998-03-25 | 三星电子株式会社 | 用于处理带参数传递的软件中断的系统和方法 |
CN101379467A (zh) * | 2006-02-02 | 2009-03-04 | 微软公司 | 对动态可扩展处理器的软件支持 |
US20090160863A1 (en) * | 2007-12-21 | 2009-06-25 | Michael Frank | Unified Processor Architecture For Processing General and Graphics Workload |
CN104603748A (zh) * | 2012-09-27 | 2015-05-06 | 英特尔公司 | 具有多个核、共享的核扩展逻辑及共享的核扩展利用指令的处理器 |
CN115858017A (zh) * | 2012-09-27 | 2023-03-28 | 英特尔公司 | 具有多个核、共享的核扩展逻辑及共享的核扩展利用指令的处理器 |
US20150006852A1 (en) * | 2013-06-28 | 2015-01-01 | International Business Machines Corporation | Forming instruction groups based on decode time instruction optimization |
CN111240457A (zh) * | 2020-01-17 | 2020-06-05 | 济南浪潮高新科技投资发展有限公司 | 一种基于risc-v的动态功耗管理方法 |
CN115004158A (zh) * | 2020-01-30 | 2022-09-02 | 华为技术有限公司 | 在多核处理器上执行扩展集中的处理器指令的设备、方法和计算机程序 |
CN113849221A (zh) * | 2020-06-27 | 2021-12-28 | 英特尔公司 | 用于操作系统透明指令状态管理的装置、方法和系统 |
CN112905238A (zh) * | 2021-02-08 | 2021-06-04 | 北京微芯区块链与边缘计算研究院 | 一种区块链智能合约执行器及方法、区块链运行系统 |
CN117063162A (zh) * | 2021-03-26 | 2023-11-14 | 英特尔公司 | 用于在可信区中实现共享虚拟存储器的装置和方法 |
WO2023019537A1 (en) * | 2021-08-20 | 2023-02-23 | Intel Corporation | Apparatuses, methods, and systems for device translation lookaside buffer pre-translation instruction and extensions to input/output memory management unit protocols |
CN113760818A (zh) * | 2021-09-10 | 2021-12-07 | 中国电子科技集团公司第五十八研究所 | 一种高性能协处理器接口 |
CN113868155A (zh) * | 2021-11-30 | 2021-12-31 | 苏州浪潮智能科技有限公司 | 一种内存空间扩展方法、装置及电子设备和存储介质 |
US20230196176A1 (en) * | 2021-12-21 | 2023-06-22 | Intel Corporation | Apparatus and method for efficient and scalable quantum instruction implementation for a high sensitivity silicon spin qubit readout |
CN114721718A (zh) * | 2022-03-12 | 2022-07-08 | 北京大学 | 一种实现基于时钟精准模拟器的risc-v向量拓展指令集的方法 |
CN114879968A (zh) * | 2022-04-29 | 2022-08-09 | 山东云海国创云计算装备产业创新中心有限公司 | 一种基板管理控制芯片中视频处理的方法和装置 |
CN115309454A (zh) * | 2022-07-14 | 2022-11-08 | 复旦大学 | 一种超标量risc-v处理器的扩展指令接口 |
CN115688640A (zh) * | 2022-09-24 | 2023-02-03 | 复旦大学 | 基于超标量risc-v处理器流水线的协处理器访存接口 |
Non-Patent Citations (1)
Title |
---|
何裕南;安虹;郭锐;梁博;: "OpenCMP:一个支持事务存储模型的多核处理器模拟器", 计算机科学, no. 01, pages 248 - 254 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117560226A (zh) * | 2024-01-09 | 2024-02-13 | 上海芯联芯智能科技有限公司 | 一种通过虚拟专用网络vpn进行数据传输的方法及装置 |
CN117560226B (zh) * | 2024-01-09 | 2024-03-19 | 上海芯联芯智能科技有限公司 | 一种通过虚拟专用网络vpn进行数据传输的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117311817B (zh) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190266193A1 (en) | Data processing method for bloom filter, and bloom filter | |
US9710408B2 (en) | Source core interrupt steering | |
CN117311817B (zh) | 一种协处理器控制方法、装置、设备及存储介质 | |
JP2003512670A (ja) | 連結リストdma記述子アーキテクチャ | |
US9703603B1 (en) | System and method for executing accelerator call | |
CN111679921A (zh) | 内存共享方法、内存共享装置及终端设备 | |
JPH07182260A (ja) | ネットワークパケットのフレームバッファ方法 | |
US20120159104A1 (en) | Secure memory access system and method | |
US7076629B2 (en) | Method for providing concurrent non-blocking heap memory management for fixed sized blocks | |
CN108885552A (zh) | 用于向后兼容性的欺骗cpuid | |
WO2018165939A1 (en) | Flash data compression decompression method and apparatus | |
CN115456862B (zh) | 一种用于图像处理器的访存处理方法及设备 | |
CN114826793B (zh) | 一种rop链的检测方法、装置及介质 | |
US7904697B2 (en) | Load register instruction short circuiting method | |
US7159078B2 (en) | Computer system embedding sequential buffers therein for performing a digital signal processing data access operation and a method thereof | |
CN111984430A (zh) | 多对多的进程通信方法及计算机可读存储介质 | |
CN111124522B (zh) | 一种微内核及宏内核混合的方法及系统 | |
CN115269199A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN111651124B (zh) | Ssd映射表多核分区并行重建方法、装置、设备及介质 | |
US7404064B2 (en) | Method and device for calculating addresses of a segmented program memory | |
CN114327882A (zh) | 一种数据转发方法、装置及系统 | |
WO2021061269A1 (en) | Storage control apparatus, processing apparatus, computer system, and storage control method | |
CN105183668A (zh) | 缓存刷新方法及装置 | |
EP0787326B1 (en) | System and method for processing of memory data and communication system comprising such system | |
US20020032846A1 (en) | Memory management apparatus and method |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |