CN118012354A - 数据写入方法、装置、设备及存储介质 - Google Patents
数据写入方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN118012354A CN118012354A CN202410424735.0A CN202410424735A CN118012354A CN 118012354 A CN118012354 A CN 118012354A CN 202410424735 A CN202410424735 A CN 202410424735A CN 118012354 A CN118012354 A CN 118012354A
- Authority
- CN
- China
- Prior art keywords
- vector
- instruction
- address
- memory
- data
- 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 58
- 238000004364 calculation method Methods 0.000 claims abstract description 34
- 230000002159 abnormal effect Effects 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 12
- 238000007689 inspection Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 11
- 230000005856 abnormality Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 108091006146 Channels Proteins 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
Classifications
-
- 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
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
Abstract
本申请实施例中提供了一种数据写入方法、装置、设备及存储介质,涉及计算机技术领域,该方法包括:在向量访存单元获取向量指令并发送至地址计算单元,接收与该向量指令对应的待写入数据;向量指令中携带有指令标识信息和硬件信息;在地址计算单元中根据指令标识信息和硬件信息,对向量指令所需发射出的访存地址进行检查处理;当对访存地址检查通过后,向量访存单元将待写入数据写入至向量寄存器。该方案能够提前对该指令所需发射出的访存地址进行检查,其节省了时间和算力,便于快速将待写入数据写入向量寄存器,使得系统整体的流畅度和性能也可得到提升,提高了数据写入效率。
Description
技术领域
本申请涉及计算机技术领域,具体地,涉及一种数据写入方法、装置、设备及存储介质。
背景技术
在计算机设备的快速发展过程中,中央处理器(Central Processing Unit,CPU)作为一台计算机设备的运算和控制核心,其功能主要是完成对计算机指令的执行和对数据的处理,随着各个领域的数据规模以及复杂度的不断增加,对处理器计算能力、处理性的要求也越来越高。其中,RISCV向量扩展的数据存取指令可由一条指令发射出多条向下游的用于计算访问存储器的地址(Address Genneration Unit,AGU)指令,一般来说,每一条该类agu指令都需要在下游模块经过专门的物理地址检查(physical memory protection,PMPcheck)以确保向量访存单元(Vector Load Store Unit,VLSU)发出的agu指令的地址均为合法地址,否则下游模块进行异常提示和管理。
目前,一条数据读取指令(load)需要向寄存器中写入从内存中读回的数据,而且一条数据存取指令可根据由数据回到VLSU的时间多次写回到向量寄存器堆中,但是相关技术中在数据写回之前,需要对所有agu指令进行物理地址检查以确定写回条件,需要了耗费大量时间和算力,导致数据写入效率较低。
发明内容
本申请实施例中提供了一种数据写入方法、装置、设备及存储介质。
本申请实施例的第一个方面,提供了一种数据写入方法,包括:
在向量访存单元获取向量指令并发送至地址计算单元,接收与该向量指令对应的待写入数据;所述向量指令中携带有指令标识信息和硬件信息;
在所述地址计算单元中根据所述指令标识信息和硬件信息,对所述向量指令所需发射出的访存地址进行检查处理;
当对所述访存地址检查通过后,所述向量访存单元将所述待写入数据写入至向量寄存器。
在本申请一个可选的实施例中,根据所述指令标识信息和硬件信息,对所述向量指令所需发射出的访存地址进行检查处理,包括:
根据所述指令标识信息和硬件信息,判断所述向量指令所需发射出的所有访存地址是否处于预设硬件范围内;
当处于预设硬件范围内时,则对所述访存地址检查通过。
在本申请一个可选的实施例中,根据所述指令标识信息和硬件信息,判断所述向量指令所需发射出的所有访存地址是否处于预设硬件范围内,包括:
当所述向量指令包括多条访存地址指令时,根据所述指令标识信息,确定第一条访存地址指令;
判断所述多条访存地址指令中的第一条访存地址指令是否处于预设硬件范围;
当处于预设预硬件范围时,则所述向量指令所需发射出的所有访存地址均处于预设硬件范围。
在本申请一个可选的实施例中,当对所述访存地址检查通过后,所述向量访存单元将所述待写入数据写入至向量寄存器,包括:
当访存地址检查通过后,所述地址计算单元根据所述指令标识信息生成写回条件并发送至所述向量访存单元;
向量访存单元根据所述写回条件将所述待写入数据写入向量寄存器。
在本申请一个可选的实施例中,在对所述向量指令所需发射出访存地址进行检查处理之后,所述方法包括:
当对所述访存地址检查不通过时,确定异常信息;
对所述异常信息进行报警提示。
在本申请一个可选的实施例中,对所述异常信息进行报警提示,包括:
根据所述异常信息生成报警提示指令,将所述报警提示指令发送至所述向量访存单元,以使得所述向量访存单元进行报警提示。
在本申请一个可选的实施例中,接收与该向量指令对应的待写入数据,包括:
从外部内存中获取该向量指令对应的待写入数据;或者,
从内部内存中获取该向量指令对应的待写入数据。
本申请实施例的第三个方面,提供了一种计算机设备,包括:包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现如上任一项方法的步骤。
本申请实施例的第四个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,计算机程序被处理器执行时实现如上任一项的方法的步骤。
本申请实施例中提供的数据写入方法,通过在向量访存单元获取向量指令并发送至地址计算单元,接收与该向量指令对应的待写入数据;向量指令中携带有指令标识信息和硬件信息,在地址计算单元中根据指令标识信息和硬件信息,对向量指令所需发射出访存地址进行检查处理,当对访存地址检查通过后,向量访存单元将待写入数据写入至向量寄存器。与现有技术相比,本申请中的技术方案由于向量指令中携带有指令标识信息和硬件信息,该硬件信息用于指示地址是否能够检查通过,能够提前对该指令所需发射出的访存地址进行检查处理,并在访存地址检查通过后,更早地告知该指令是否可写回的情况,其无需等到向量访存单元在所有指令都发送完之后才确定出是否允许写入数据的写回条件,节省了时间和算力,便于当以快速将待写入数据写入向量寄存器,使得数据整体的流畅度和系统整体性能得到提升,提高了数据写入效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一个实施例提供的数据写入方法的应用场景示意图;
图2为本申请一个实施例提供的数据写入方法的流程结构示意图;
图3为本申请一个实施例提供的对访存地址检查处理方法的流程示意图;
图4为本申请一个实施例提供的将待写入数据写入向量寄存器方法的流程示意图;
图5为本申请一个实施例提供的处理器的结构示意图;
图6为本申请一个实施例提供的数据写入装置的结构示意图。
具体实施方式
在实现本申请的过程中,发明人发现,目前在数据写回之前,需要对所有agu指令进行物理地址检查以确定写回条件,耗费了大量时间和算力,导致数据写入效率较低。
针对上述问题,本申请实施例中提供了数据写入方法、装置、设备及存储介质,本申请中的技术方案由于向量指令中携带有指令标识信息和硬件信息,该硬件信息用于指示地址是否能够检查通过,能够提前对该指令所需发射出的访存地址进行检查处理,并在访存地址检查通过后,更早地告知该指令是否可写回的情况,其无需等到向量访存单元在所有指令都发送完之后才确定出是否允许写入数据的写回条件,节省了时间和算力,便于当以快速将待写入数据写入向量寄存器,使得数据整体的流畅度将可以得到提升,整体性能也可得到提升,提高了数据写入效率。
本申请实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言Java和直译式脚本语言JavaScript等。
为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
以下对本申请实施例提供的数据写入方法的应用环境作简要说明:
请参见图1,本申请实施例提供的一个计算机设备的结构示意图。该计算机设备可以是终端。如图1所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质例如可以为磁盘。非易失性存储介质中存储有文件(可以为待处理的文件,也可以为处理后的文件)、操作系统和计算机程序等。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据写入方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
请参见图2,以下实施例以上述计算机设备为执行主体,将本申请实施例提供的数据写入方法应用于上述计算机设备来进行数据写入为例进行具体说明。本申请实施例提供的数据写入方法包括如下步骤S201-步骤S203:
步骤S201、在向量访存单元获取向量指令并发送至地址计算单元,接收与该向量指令对应的待写入数据;向量指令中携带有指令标识信息和硬件信息。
需要说明的是,上述向量指令可以是agu command,其可以包括不同指令类型。上述指令标识信息用于唯一标识向量指令的身份信息,硬件信息用于表征该指令后续的访问地址是否处于预设硬件范围内,例如可以是通过两种不同字段表示,当处于预设硬件范围内时,则可以表示为第一字段;当未处于预设硬件范围内时,则可以表示为第二字段。上述向量指令可以是多个,也可以是一个。
上述地址计算单元可以是AGU(Address Genneration Unit)单元,用来计算访问存储器的地址,当使用虚拟存储器时,AGU计算的地址是虚拟地址,还需要将其转换为物理地址。其中,访问存储器类型的指令(load/store)通常会在指令中携带它们想使用的存储器地址,AGU负责对这些指令进行处理,计算出指令中所携带的地址。上述待写入数据是指需要写入向量寄存器的数据。
可选的,上述接收与该向量指令对应的待写入数据的过程中,可以是从外部内存获取的,也可以是从内部内存获取的,还可以是从其他外部设备导入获取的,也可以是从区块链或数据库中获取的。
向量访存单元获取向量指令的过程中,可以是通过外部接口传输获取的,例如可以是通过DISP单元传输至向量访存单元VLSU。在获取向量指令之后,可以将向量指令发送至地址计算单元AGU,并接收到与该向量指令对应的待写入数据。其中,待写入数据可以是以文字、图片或表格形式,也可以是其他形式。
步骤S202、在地址计算单元中根据指令标识信息和硬件信息,对向量指令所需发射出的访存地址进行检查处理。
需要说明的是,在将待写入数据写入至向量寄存器的过程中,可以根据指令标识信息和硬件信息,确定出第一条指令,第一条指令为指令标识排名最靠前的向量指令,然后判断该向量指令所需发射出的访存地址进行检查处理,例如判断后续访存地址是否在预设的硬件指定范围内,当在预设硬件指定范围内时,则表示访存地址检查通过;当在预设硬件指定范围内时,则表示访存地址检查不通过。其中,预设硬件范围是根据实际需求自定义设置的。
本实施例中通过在地址计算单元中根据指令标识信息和硬件信息,对向量指令所需发射出的访存地址进行检查处理,能够提前对该指令所需发射出的访存地址进行检查处理,并在访存地址检查通过后,更早地告知该指令是否可写回的情况,其无需等到向量访存单元在所有指令都发送完之后才确定出是否允许写入数据的写回条件,节省了时间和算力。
步骤S203、当对访存地址检查通过后,向量访存单元将待写入数据写入至向量寄存器。
需要说明的是,向量寄存器用于保存向量,与存储器结构不同的是,它将存储器结构中的缓冲栈改为向量寄存器,运算部件需要的操作数可以是从向量寄存器中读取,运算的中间结果也可以写到向量寄存器中。
具体地,当对访存地址检查通过后,表明该访存地址均在预设硬件范围内,然后向量访存单元VLSU将待写入数据写入到向量寄存器。
本申请实施例中提供的数据写入方法,通过在向量访存单元获取向量指令并发送至地址计算单元,接收与该向量指令对应的待写入数据;向量指令中携带有指令标识信息和硬件信息,在地址计算单元中根据指令标识信息和硬件信息,对向量指令所需发射出访存地址进行检查处理,当对访存地址检查通过后,向量访存单元将待写入数据写入至向量寄存器。与现有技术相比,本申请中的技术方案由于向量指令中携带有指令标识信息和硬件信息,该硬件信息用于指示地址是否能够检查通过,能够提前对该指令所需发射出的访存地址进行检查处理,并在访存地址检查通过后,更早地告知该指令是否可写回的情况,其无需等到向量访存单元在所有指令都发送完之后才确定出是否允许写入数据的写回条件,节省了时间和算力,便于当以快速将待写入数据写入向量寄存器,使得数据整体的流畅度将可以得到提升,整体性能也可得到提升,提高了数据写入效率。
在本申请一个可选实施例中,上述根据指令标识信息和硬件信息,对向量指令所需发射出的访存地址进行检查处理,请参见图3所示,可以包括如下方法步骤:
S301、根据指令标识信息和硬件信息,判断向量指令所需发射出的所有访存地址是否处于预设硬件范围内。
S302、当处于预设硬件范围内时,则对访存地址检查通过。
需要说明的是,硬件信息用于表征该指令后续的访问地址是否处于预设硬件范围内,预设硬件范围例如可以为4K,可以是根据实际需求自定义设置的。向量指令对应有多个访存地址,不同的访存地址对应有不同的指令标识信息。
在向量访存单元VLSU进行多条agu command地址拆分并发送至下游的同时,带有指令标识信息ID(ITAG),即在获取到指令标识信息和硬件信息之后,可以根据指令标识信息和硬件信息,判断向量指令所需发射出的所有访存地址是否处于预设硬件范围内,当处于预设硬件范围内时,则对访存地址检查通过。
本实施例中通过根据指令标识信息和硬件信息,判断向量指令所需发射出的所有访存地址是否处于预设硬件范围内,当处于预设硬件范围内时,则对访存地址检查通过,能够精准地确定出是否允许写回的结果,在开始写回数据之前,预先判断是否能够被写回,以提高整体系统的流畅度,同时提升了系统整体性能。
在本申请一个可选实施例中,上述根据指令标识信息和硬件信息,判断向量指令所需发射出的所有访存地址是否处于预设硬件范围内,包括如下方法步骤:
当向量指令包括多条访存地址指令时,根据指令标识信息,确定第一条访存地址指令;判断多条访存地址指令中的第一条访存地址指令是否处于预设硬件范围;当处于预设预硬件范围时,则向量指令所需发射出的所有访存地址均处于预设硬件范围。
需要说明的是,上述第一条访存地址指令为指令标识排名最靠前的访存地址指令。
在VLSU(向量访存单元)中根据当前指令类型,提前预测该指令所需要发射出的agu command地址是否处于预设硬件范围内,而且该预设硬件范围是在一个PMP检查的最小区间,也就是如果这些agu command中的第一条command可以通过PMP检查,那么该条指令的后续agu command则不需要进行PMP检查,即无需判断后续agu commandi地址是否处于预设硬件范围内。
本实施例中向量访存单元VLSU仅需判断第一条访存地址指令的访存地址是否通过物理地址检查,即可确保该向量访存单元VLSU发出的访存地址都是合法地址,能够预先被告知该指令是否可写回的情况,使得数据整体的流畅度将可以得到提升,整体性能也可得到提升,并且提高了数据写入效率。
在本申请一个可选实施例中,请参见图4所示,上述步骤203、当对访存地址检查通过后,向量访存单元将待写入数据写入至向量寄存器,还包括以下步骤:
S401、当访存地址检查通过后,地址计算单元根据指令标识信息生成写回条件并发送至向量访存单元。
S402、向量访存单元根据写回条件将待写入数据写入向量寄存器。
可以理解的是,上述该待写入数据可以是包括多个,各个待写入数据可以是不同类型的数据,也可以是不同字节长度的数据,还可以是不同数据量的数据。
具体地,当访存地址检查通过后,地址计算单元可以对指令标识信息进行封装处理生成写回条件,该写回条件用于表征待写入数据是否能够被写入向量寄存器,包括该待写入数据能被写入向量寄存器,以及待写入数据不能被写入向量寄存器。
示例性地,当待写入数据能被写入向量寄存器时,可以生成对应的第三字段,对该第三字段进行封装处理以生成对应的写回条件,并将该写回条件发送至向量访存单元;当待写入数据不能被写入向量寄存器时,可以生成对应的第四字段,对该第四字段进行封装处理以生成对应的写回条件,并将该写回条件发送至向量访存单元。
向量访存单元在获取到写回条件后,可以对写回条件进行解析处理,以确定出能够写入向量寄存器的待写入数据,然后将能够写入的待写入数据写入向量寄存器中。
本实施例中当访存地址检查通过后,地址计算单元根据指令标识信息生成写回条件并发送至向量访存单元,能够使得向量访存单元根据写回条件更为精准且快速地将待写入数据写入向量寄存器,提高了系统整体的工作效率。
在本申请一个可选实施例中,上述在对向量指令所需发射出访存地址进行检查处理之后,该方法还包括如下方法步骤:
当对访存地址检查不通过时,确定异常信息;
对异常信息进行报警提示。
需要说明的是,上述异常信息用于表征访存地址检查出现异常,其可以包括出现异常的异常原因和出现异常的向量指令标识信息。
具体地,在对向量指令所需发射出访存地址进行检查处理时,可以判断其访存地址是否处于预设硬件范围内,当未处于预设硬件范围内时,则表征对访存地址检查不通过。当对访存地址检查不通过时,确定对应的向量指令标识信息和异常原因,然后将对应的向量指令标识信息和异常原因进行报警提示。
其中,在进行报警提示的过程中,可以是采用指示灯发光的方式进行报警,也可以是采用声音报警的方式进行报警,还可以是采用图像显示的方式进行报警。例如,在通过指示灯发光的方式对异常信息进行报警提示时,可以是对于不同异常原因进行发光的指示灯颜色不同;在通过声音报警的方式对异常信息进行报警提示时,可以是对于不同异常原因进行声音报警的声音也不同;在采用图像显示的方式进行报警提示时,可以是对于不同异常原因进行显示的图像也不同。
本实施例中当访存地址检查不通过时,确定异常信息,对异常信息进行报警提示,能够准确地确定出无法写入数据的异常原因,进而便于人工及时查找异常问题,以便于修正异常原因后将待写入数据写入向量寄存器中,提高数据写入效率。
在本申请一个可选实施例中,本申请实施例还提供了在对异常信息进行报警提示的具体实现方式,包括如下方法步骤:
根据异常信息生成报警提示指令,将报警提示指令发送至向量访存单元,以使得向量访存单元进行报警提示。
需要说明的是,上述报警提示指令是对异常信息进行封装处理后得到的,在根据异常信息生成报警提示指令之后,可以将报警提示指令发送至向量访存单元,以使得向量访存单元进行报警提示。
其中,报警提示指令用于对访存地址未通过的异常原因进行报警提示。该报警提示指令可以是对采用指示灯发光的方式进行报警,也可以是采用声音报警的方式进行报警,还可以是采用图像显示的方式进行报警。
示例性地,当采用指示灯发光的方式进行报警时,向量访存单元可以与指示灯电连接,向量访存单元将接收到的报警提示指令发送至指示灯,以使得指示灯进行不同颜色的发光提示;当采用声音报警的方式对异常信息进行报警提示时,向量访存单元可以与蜂鸣器电连接,向量访存单元将接收到的报警提示指令发送至蜂鸣器,以使得蜂鸣器进行不同声音的提示;当采用图像显示的方式进行报警提示时,向量访存单元可以与显示屏电连接,向量访存单元将接收到的报警提示指令发送至显示屏,以使得显示屏进行不同图像的提示。
本实施例中根据异常信息生成报警提示指令,并将报警提示指令发送至向量访存单元,以使得向量访存单元进行报警提示,能够准确地确定出无法写入数据的异常原因,进而便于人工及时查找异常问题,以提高数据写入效率。
在本申请一个可选实施例中,在接收与该向量指令对应的待写入数据,包括以下方法步骤:
从外部内存中获取该向量指令对应的待写入数据;或者,从内部内存中获取该向量指令对应的待写入数据。
其中,上述待写入数据还可以是从其他外部设备导入获取的,也可以是从区块链或数据库中获取的。
请参见图5所示,图5为本申请实施例提供的处理器的结构示意图,该结构包括VDISP单元、VLSU向量访存单元、AGU地址计算单元和LSU执行单元。VDISP单元将多个LoadUOP以及多个Store UOP依次发送至VLSU向量访存单元,其中, load/storeUOP表示从/向不连续的内存地址加载、存储数据,interleaved group则表示把这些load/store合并在一起。VLSU向量访存单元将该多个Load UOP以及多个Store UOP依次写回信息至wb entry,并且同步进行处理,该VLSU UOP的处理逻辑包括:发送命令,接收数据,写回数据。具体地,可以是VLSU向量访存单元获取向量指令并发送至AGU地址计算单元,并对向量指令所需发射出的访存地址进行检查处理(PMP check),得到检查结果并生成写回条件信息,然后根据写回条件信息进行合并选择以及写回处理至向量寄存器Vreg bank。同时,VLSU向量访存单元通过命令通道、元素顺序通道、写出数据通道与AGU地址计算单元之间相互通信,LSU单元将RSP data进行合并选择以及写回处理至向量寄存器Vreg bank。
其中,LSU(Load Store Unit)是一个专门的执行单元,负责执行所有的加载(load)和存储(store)指令等,生成load和store操作的虚拟地址,并从内存中加载数据或将数据从寄存器中存储回内存。LSU里一般可以包括L1 D-cache、D-TLB、AGU、load queue、store queue等模块。
本实施例中通过接收待写入数据,能够有针对性地将数据写入向量寄存器中,并且通过VLSU向量访存单元提前计算并预测一条向量指令的所有访存地址是否在预设硬件范围内,并将结果生成写回条件,随后向量访存单元根据该写回条件将待写入数据写入向量寄存器,其无需等到VLSU所有指令发完后才知道写回条件,很大程度上提高了数据写入效率。
应该理解的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
另一方面,请参见图6所示,本申请一个实施例提供了一种数据写入装置500,包括:
获取模块510,用于在向量访存单元获取向量指令并发送至地址计算单元,接收与该向量指令对应的待写入数据;向量指令中携带有指令标识信息和硬件信息;
检查模块520,用于在地址计算单元中根据指令标识信息和硬件信息,对向量指令所需发射出访存地址进行检查处理;
写入模块530,用于当对访存地址检查通过后,向量访存单元将待写入数据写入至向量寄存器。
在其中一个实施例中,上述检查模块520,具体用于:
根据指令标识信息和硬件信息,判断向量指令所需发射出的所有访存地址是否处于预设硬件范围内;
当处于预设硬件范围内时,则对访存地址检查通过。
在其中一个实施例中,上述检查模块520,还用于:
当向量指令包括多条访存地址指令时,根据指令标识信息,确定第一条访存地址指令;
判断多条访存地址指令中的第一条访存地址指令是否处于预设硬件范围;
当处于预设预硬件范围时,则向量指令所需发射出的所有访存地址均处于预设硬件范围。
在其中一个实施例中,上述写入模块530,具体用于:
当访存地址检查通过后,地址计算单元根据指令标识信息生成写回条件并发送至向量访存单元;
向量访存单元根据写回条件将待写入数据写入向量寄存器。
在其中一个实施例中,上述装置,还用于:
当对访存地址检查不通过时,确定异常信息;
对异常信息进行报警提示。
在其中一个实施例中,上述装置,还用于:
根据异常信息生成报警提示指令,将报警提示指令发送至向量访存单元,以使得向量访存单元进行报警提示。
在其中一个实施例中,上述获取模块510,具体用于:
从外部内存中获取该向量指令对应的待写入数据;或者,
从内部内存中获取该向量指令对应的待写入数据。
关于上述数据写入装置的具体限定可以参见上文中对于数据写入方法的限定,在此不再赘述。上述指令处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备的内部结构图可以如图1所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现如上的一种数据写入方法。包括:包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现如上数据写入方法中的任一步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可以实现如上数据写入方法中的任一步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种数据写入方法,其特征在于,包括:
在向量访存单元获取向量指令并发送至地址计算单元,接收与该向量指令对应的待写入数据;所述向量指令中携带有指令标识信息和硬件信息;
在所述地址计算单元中根据所述指令标识信息和硬件信息,对所述向量指令所需发射出的访存地址进行检查处理;
当对所述访存地址检查通过后,所述向量访存单元将所述待写入数据写入至向量寄存器。
2.根据权利要求1所述的方法,其特征在于,根据所述指令标识信息和硬件信息,对所述向量指令所需发射出的访存地址进行检查处理,包括:
根据所述指令标识信息和硬件信息,判断所述向量指令所需发射出的所有访存地址是否处于预设硬件范围内;
当处于预设硬件范围内时,则对所述访存地址检查通过。
3.根据权利要求2所述的方法,其特征在于,根据所述指令标识信息和硬件信息,判断所述向量指令所需发射出的所有访存地址是否处于预设硬件范围内,包括:
当所述向量指令包括多条访存地址指令时,根据所述指令标识信息,确定第一条访存地址指令;
判断所述多条访存地址指令中的第一条访存地址指令是否处于预设硬件范围;
当处于预设预硬件范围时,则所述向量指令所需发射出的所有访存地址均处于预设硬件范围。
4.根据权利要求1所述的方法,其特征在于,当对所述访存地址检查通过后,所述向量访存单元将所述待写入数据写入至向量寄存器,包括:
当访存地址检查通过后,所述地址计算单元根据所述指令标识信息生成写回条件并发送至所述向量访存单元;
向量访存单元根据所述写回条件将所述待写入数据写入向量寄存器。
5.根据权利要求1所述的方法,其特征在于,在对所述向量指令所需发射出访存地址进行检查处理之后,所述方法包括:
当对所述访存地址检查不通过时,确定异常信息;
对所述异常信息进行报警提示。
6.根据权利要求5所述的方法,其特征在于,对所述异常信息进行报警提示,包括:
根据所述异常信息生成报警提示指令,将所述报警提示指令发送至所述向量访存单元,以使得所述向量访存单元进行报警提示。
7.根据权利要求1所述的方法,其特征在于,接收与该向量指令对应的待写入数据,包括:
从外部内存中获取该向量指令对应的待写入数据;或者,
从内部内存中获取该向量指令对应的待写入数据。
8.一种数据写入装置,其特征在于,包括:
获取模块,用于在向量访存单元获取向量指令并发送至地址计算单元,接收与该向量指令对应的待写入数据;所述向量指令中携带有指令标识信息和硬件信息;
检查模块,用于在所述地址计算单元中根据所述指令标识信息和硬件信息,对所述向量指令所需发射出访存地址进行检查处理;
写入模块,用于当对所述访存地址检查通过后,所述向量访存单元将所述待写入数据写入至向量寄存器。
9.一种计算机设备,包括:存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410424735.0A CN118012354B (zh) | 2024-04-10 | 2024-04-10 | 数据写入方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410424735.0A CN118012354B (zh) | 2024-04-10 | 2024-04-10 | 数据写入方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118012354A true CN118012354A (zh) | 2024-05-10 |
CN118012354B CN118012354B (zh) | 2024-07-02 |
Family
ID=90956840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410424735.0A Active CN118012354B (zh) | 2024-04-10 | 2024-04-10 | 数据写入方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118012354B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5063497A (en) * | 1987-07-01 | 1991-11-05 | Digital Equipment Corporation | Apparatus and method for recovering from missing page faults in vector data processing operations |
JP2002063154A (ja) * | 2000-08-23 | 2002-02-28 | Nec Corp | ベクトルメモリアクセス時スカラメモリアクセス命令発行制御方式 |
US20070094477A1 (en) * | 2005-10-21 | 2007-04-26 | Roger Espasa | Implementing vector memory operations |
US7334110B1 (en) * | 2003-08-18 | 2008-02-19 | Cray Inc. | Decoupled scalar/vector computer architecture system and method |
CN104407880A (zh) * | 2014-10-27 | 2015-03-11 | 杭州中天微系统有限公司 | 支持硬件非对齐存储访问的risc处理器加载/存储单元 |
US20160147466A1 (en) * | 2014-11-24 | 2016-05-26 | Futurewei Technologies, Inc. | Hardware and software methodologies for detecting illegal memory address of a memory access operation |
CN108140011A (zh) * | 2015-10-14 | 2018-06-08 | Arm有限公司 | 向量加载指令 |
US20190369995A1 (en) * | 2016-12-22 | 2019-12-05 | Arm Limited | Vector generating instruction |
CN117827284A (zh) * | 2024-03-04 | 2024-04-05 | 芯来智融半导体科技(上海)有限公司 | 向量处理器访存指令处理方法、系统、设备及存储介质 |
-
2024
- 2024-04-10 CN CN202410424735.0A patent/CN118012354B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5063497A (en) * | 1987-07-01 | 1991-11-05 | Digital Equipment Corporation | Apparatus and method for recovering from missing page faults in vector data processing operations |
JP2002063154A (ja) * | 2000-08-23 | 2002-02-28 | Nec Corp | ベクトルメモリアクセス時スカラメモリアクセス命令発行制御方式 |
US7334110B1 (en) * | 2003-08-18 | 2008-02-19 | Cray Inc. | Decoupled scalar/vector computer architecture system and method |
US20070094477A1 (en) * | 2005-10-21 | 2007-04-26 | Roger Espasa | Implementing vector memory operations |
CN104407880A (zh) * | 2014-10-27 | 2015-03-11 | 杭州中天微系统有限公司 | 支持硬件非对齐存储访问的risc处理器加载/存储单元 |
US20160147466A1 (en) * | 2014-11-24 | 2016-05-26 | Futurewei Technologies, Inc. | Hardware and software methodologies for detecting illegal memory address of a memory access operation |
CN108140011A (zh) * | 2015-10-14 | 2018-06-08 | Arm有限公司 | 向量加载指令 |
US20190369995A1 (en) * | 2016-12-22 | 2019-12-05 | Arm Limited | Vector generating instruction |
CN117827284A (zh) * | 2024-03-04 | 2024-04-05 | 芯来智融半导体科技(上海)有限公司 | 向量处理器访存指令处理方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN118012354B (zh) | 2024-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10354085B2 (en) | Providing logical partitions with hardware-thread specific information reflective of exclusive use of a processor core | |
EP3451163A1 (en) | Device and method for use in executing matrix addition/subtraction operations | |
CN101802798B (zh) | 在多核处理器中使用干预消息来避免活锁 | |
TWI667588B (zh) | 用以偵測未經授權之記憶體存取的計算裝置、方法及機器可讀儲存媒體(二) | |
US20170177352A1 (en) | Instructions and Logic for Lane-Based Strided Store Operations | |
EP3394723A1 (en) | Instructions and logic for lane-based strided scatter operations | |
CN104866443A (zh) | 可中断存储独占 | |
CN112118286A (zh) | 基于mdc多线程链路追踪方法、装置及计算机可读存储介质 | |
CN107918555B (zh) | 基于物理主机的用于处理数据的方法和装置 | |
KR20180114046A (ko) | 그래픽스 프로세싱 유닛들에 대한 셰이더들에서의 균일한 프레디케이트들 | |
WO2023142528A1 (zh) | 指令处理装置、方法、芯片、计算机设备以及存储介质 | |
US20170177351A1 (en) | Instructions and Logic for Even and Odd Vector Get Operations | |
EP3931689A1 (en) | Device, processor, and method for splitting instructions and register renaming | |
CN118012354B (zh) | 数据写入方法、装置、设备及存储介质 | |
US20140172344A1 (en) | Method, system and apparatus for testing multiple identical components of multi-component integrated circuits | |
CN112364109A (zh) | 事件的业务关联方法、系统、装置、电子设备及存储介质 | |
US20140281747A1 (en) | Fault Handling at a Transaction Level by Employing a Token and a Source-to-Destination Paradigm in a Processor-Based System | |
CN114237705A (zh) | 验证方法、装置、电子设备和计算机可读存储介质 | |
CN113505079A (zh) | 应用程序测试方法、装置、设备及介质 | |
US7549095B1 (en) | Error detection enhancement in a microprocessor through the use of a second dependency matrix | |
CN112637280B (zh) | 数据传输方法、装置、电子设备及存储介质 | |
JP5057911B2 (ja) | マルチプロセッサシステム | |
CN118069224B (zh) | 地址生成方法、装置、计算机设备和存储介质 | |
CN118259970B (zh) | 指令处理方法、装置、系统以及电子设备 | |
CN113535494B (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 | ||
GR01 | Patent grant |