CN112416256B - 数据写入方法、装置及数据读取方法、装置 - Google Patents

数据写入方法、装置及数据读取方法、装置 Download PDF

Info

Publication number
CN112416256B
CN112416256B CN202011387584.4A CN202011387584A CN112416256B CN 112416256 B CN112416256 B CN 112416256B CN 202011387584 A CN202011387584 A CN 202011387584A CN 112416256 B CN112416256 B CN 112416256B
Authority
CN
China
Prior art keywords
data
physical register
register
bit
interval
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.)
Active
Application number
CN202011387584.4A
Other languages
English (en)
Other versions
CN112416256A (zh
Inventor
黄河
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202011387584.4A priority Critical patent/CN112416256B/zh
Publication of CN112416256A publication Critical patent/CN112416256A/zh
Application granted granted Critical
Publication of CN112416256B publication Critical patent/CN112416256B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal 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)
  • Executing Machine-Instructions (AREA)

Abstract

一种数据写入方法、装置及数据读取方法、装置。该数据写入方法包括:获取数据广播指令;根据数据广播指令,确定源操作数和目的逻辑寄存器;根据目的逻辑寄存器,确定目的逻辑寄存器对应的物理寄存器;响应于源操作数的数据位宽小于物理寄存器的位宽,将源操作数写入物理寄存器中的写入区间,其中,写入区间为物理寄存器的部分区间。该数据写入方法通过将源操作数写入物理寄存器的部分区间来减小物理寄存器的读写范围,从而降低广播类指令读写物理寄存器的功耗。

Description

数据写入方法、装置及数据读取方法、装置
技术领域
本公开的实施例涉及一种数据写入方法、数据写入装置、数据读取方法和数据读取装置。
背景技术
广播指令(broadcast instruction)是指令集中常见的一类指令。该类指令通常用于将单位长度的数据复制扩展到整个寄存器,例如,可以将8位(1字节)数据扩展到128位寄存器的16个8位子字段,或者可以将64位(8字节)数据扩展到256位寄存器的4个64位子字段。
发明内容
本公开至少一实施例提供一种数据写入方法,包括:获取数据广播指令;根据所述数据广播指令,确定源操作数和目的逻辑寄存器;根据所述目的逻辑寄存器,确定所述目的逻辑寄存器对应的物理寄存器;响应于所述源操作数的数据位宽小于所述物理寄存器的位宽,将所述源操作数写入所述物理寄存器中的写入区间,其中,所述写入区间为所述物理寄存器的部分区间。
例如,在本公开至少一实施例提供的数据写入方法中,将所述源操作数写入所述物理寄存器中的写入区间,包括:将所述源操作数直接写入所述写入区间,其中,所述源操作数的数据位宽为M位,所述物理寄存器的位宽为Q位,所述写入区间包括所述Q位中的M位,Q和M为正整数,且Q大于M。
例如,在本公开至少一实施例提供的数据写入方法中,所述M位为所述物理寄存器中的第a位至第(a+M-1)位,其中,a为自然数。
例如,在本公开至少一实施例提供的数据写入方法中,将所述源操作数写入所述物理寄存器中的写入区间,包括:将所述源操作数复制至少一份以得到多个中间源操作数,其中,所述多个中间源操作数包括所述源操作数;将所述多个中间源操作数写入所述写入区间,其中,所述多个中间源操作数的总数据位宽为N位,所述物理寄存器的位宽为Q位,所述写入区间包括所述Q位中的N位,Q和N为正整数,且Q大于N。
例如,本公开至少一实施例提供的数据写入方法还包括:根据所述数据广播指令确定广播字节信息;记录所述广播字节信息。
例如,在本公开至少一实施例提供的数据写入方法中,根据所述数据广播指令确定广播字节信息,包括:根据所述数据广播指令确定所述源操作数的数据位宽;根据所述数据位宽,确定所述广播字节信息。
例如,在本公开至少一实施例提供的数据写入方法中,记录所述广播字节信息,包括:在寄存器重命名表中记录所述广播字节信息。
例如,在本公开至少一实施例提供的数据写入方法中,所述寄存器重命名表包括多个信息组,每个信息组包括彼此一一对应的逻辑寄存器信息、物理寄存器信息和广播信息,在所述寄存器重命名表中记录所述广播字节信息,包括:将所述广播字节信息作为所述寄存器重命名表中所述目的逻辑寄存器对应的广播信息。
本公开至少一实施例提供一种数据写入装置,包括:指令获取单元,配置为获取数据广播指令;指令解析单元,配置为根据所述数据广播指令,确定源操作数和目的逻辑寄存器;寄存器确定单元,配置为根据所述目的逻辑寄存器,确定所述目的逻辑寄存器对应的物理寄存器;写入单元,配置为响应于所述源操作数的数据位宽小于所述物理寄存器的位宽,将所述源操作数写入所述物理寄存器中的写入区间,其中,所述写入区间为所述物理寄存器的部分区间。
本公开至少一实施例提供一种数据读取方法,包括:确定待读取的物理寄存器及所述物理寄存器对应的广播字节信息;获取待读取区间;基于所述广播字节信息和所述待读取区间,从所述物理寄存器上读取待读取数据,其中,所述待读取数据根据被写入数据得到,所述被写入数据仅被写入所述物理寄存器的写入区间中,所述写入区间为所述物理寄存器的部分区间。
例如,在本公开至少一实施例提供的数据读取方法中,确定待读取的物理寄存器及所述物理寄存器对应的广播字节信息,包括:基于所述逻辑寄存器,查询寄存器重命名表,以获取所述逻辑寄存器对应的物理寄存器作为待读取的所述物理寄存器,并提取所述逻辑寄存器对应的广播信息作为所述广播字节信息,其中,所述寄存器重命名表包括多个信息组,每个信息组包括彼此一一对应的逻辑寄存器信息、物理寄存器信息和广播信息,所述广播信息用于指示被写入所述广播信息对应的物理寄存器中的数据的数据位宽。
例如,在本公开至少一实施例提供的数据读取方法中,基于所述广播字节信息和所述待读取区间,从所述物理寄存器上读取待读取数据,包括:获取所述物理寄存器的写入区间;基于所述广播字节信息生成多个数据选择信号,所述多个数据选择信号分别对应于所述物理寄存器的多位;根据所述多个数据选择信号及所述待读取区间,选择所述写入区间中对应的数据输出以得到所述待读取数据。
例如,在本公开至少一实施例提供的数据读取方法中,根据所述多个数据选择信号及所述待读取区间,选择所述写入区间中对应的数据输出以得到所述待读取数据,包括:对于所述待读取区间的第i位,确定所述待读取区间的第i位对应于所述物理寄存器的第j位,基于所述多个数据选择信号中对应于所述物理寄存器的第j位的数据选择信号,选择所述写入区间中对应于所述物理寄存器的第j位的数据作为所述待读取数据的第i位,其中,i为自然数且小于所述待读取区间的宽度,j为自然数且小于所述物理寄存器的位宽。
例如,在本公开至少一实施例提供的数据读取方法中,基于所述多个数据选择信号中对应于所述物理寄存器的第j位的数据选择信号,选择所述写入区间中对应于所述物理寄存器的第j位的数据作为所述待读取数据的第i位,包括:响应于所述物理寄存器的第j位属于所述写入区间,基于所述数据选择信号选择所述物理寄存器的第j位的数据作为所述待读取数据的第i位;响应于所述物理寄存器的第j位不属于所述写入区间,基于所述数据选择信号选择所述写入区间中与所述物理寄存器的第j位对应的数据作为所述待读取数据的第i位。
本公开至少一实施例提供一种数据读取装置,包括:确定单元,配置为确定待读取的物理寄存器及所述物理寄存器对应的广播字节信息;读取区间获取单元,配置为获取待读取区间;读取单元,配置为基于所述广播字节信息和所述待读取区间,从所述物理寄存器上读取待读取数据,其中,所述待读取数据根据被写入数据得到,所述被写入数据仅被写入所述物理寄存器的写入区间中,所述写入区间为所述物理寄存器的部分区间。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1为广播指令“VPBROADCASTB”的功能示意图;
图2为广播指令“VPBROADCASTW”的功能示意图;
图3为本公开至少一实施例提供的一种数据写入方法的示意性流程图;
图4A为本公开至少一实施例提供的一种数据读取方法的示意性流程图;
图4B为本公开一实施例提供的物理寄存器的第0位连接的多路选择器示意图;
图4C为本公开一实施例提供的物理寄存器的第64位连接的多路选择器示意图;
图5为本公开至少一实施例提供的一种数据写入装置的示意性框图;
图6为本公开至少一实施例提供的一种数据读取装置的示意性框图。
具体实施方式
为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
为了保持本公开实施例的以下说明清楚且简明,本公开省略了部分已知功能和已知部件的详细说明。
广播指令是指令集中一种常规指令,表1所示为x86指令集中的部分广播指令的指令名称及相应功能。
表1 X86指令集中的部分广播指令的名称及相应功能
Figure BDA0002810134140000051
如表1所示,广播指令可以将内存中读取的至少一个N比特数据存入目的逻辑寄存器在处理器中对应的物理寄存器中,并复制、扩展至物理寄存器的全位宽,例如物理寄存器可以为向量寄存器或SIMD(Single Instruction Multiple Data,单指令多数据流)中的寄存器。
图1为广播指令“VPBROADCASTB”的功能示意图。如图1所示,该指令“VPBROADCASTBxmm1,xmm2/mem8”用于实现将源寄存器xmm2中的1个8位源操作数B0复制15份(B1-B15),以得到16个8位源操作数(B0-B15),同时将16个8位源操作数(B0-B15)写入128位目的逻辑寄存器xmm1的16个8位字段,从而将单个源操作数B0复制扩展至整个目的逻辑寄存器xmm1。
图2为广播指令“VPBROADCASTW”的功能示意图。如图2所示,该指令“VPBROADCASTWxmm1,xmm2/mem16”用于实现将源寄存器xmm2中的16位源操作数W0复制7份(W1-W7),以得到8个16位源操作数(W0-W7),同时将8个16位源操作数(W0-W7)写入128位目的逻辑寄存器xmm1的8个16位字段,从而将单个源操作数W0复制扩展至整个目的逻辑寄存器xmm1。
广播类指令在矩阵运算类程序中被频繁使用,但在执行广播指令的过程中,由于源操作数的写入需要写入物理寄存器的全位宽,且读取时需要从物理寄存器的全位宽读取数据,从而导致指令执行过程及寄存器读取过程的功耗较大。
本公开至少一实施例提供一种数据写入方法,该数据写入方法包括:获取数据广播指令;根据数据广播指令,确定源操作数和目的逻辑寄存器;根据目的逻辑寄存器,确定目的逻辑寄存器对应的物理寄存器;响应于源操作数的数据位宽小于物理寄存器的位宽,将源操作数写入物理寄存器中的写入区间,其中,写入区间为物理寄存器的部分区间。
该数据写入方法通过将源操作数写入物理寄存器的部分区间来减小物理寄存器的读写范围,从而降低广播类指令读写物理寄存器的功耗。
需要说明的是,本公开实施例中的逻辑寄存器可以为指令集体系结构(ISA,Instruction Set Architecture)定义的寄存器,例如,在x86指令集中,逻辑寄存器可以为ymm0~ymm15(16个256位逻辑寄存器)或xmm0~xmm7(8个128位逻辑寄存器)。此外,本公开实施例中的物理寄存器可以是处理器内部为逻辑寄存器分配的寄存器。
下面结合附图对本公开的实施例进行详细说明,但是本公开并不限于这些具体的实施例。
图3为本公开至少一实施例提供的一种数据写入方法的示意性流程图。
例如,如图3所示,本公开实施例提供的数据写入方法包括步骤S110至S140。
在步骤S110,获取数据广播指令。
例如,数据广播指令可以为X86指令集中的广播指令,例如,数据广播指令包括但不限于表1所示的广播指令,例如,数据广播指令为“VPBROADCASTB”或者“VPBROADCASTW”等广播指令。
例如,数据广播指令也可以为其他架构(例如ARM架构、PowerPC架构等)中实现与X86指令集中的广播指令相同功能的指令,本公开对此不作限制。
在步骤S120,根据数据广播指令,确定源操作数和目的逻辑寄存器。
例如,如表1所示,每个数据广播指令的参数包括源操作数(例如指令“VBROADCASTSD ymm1,mem64”中的mem64等)和目的逻辑寄存器(例如指令“VBROADCASTSDymm1,mem64”中的ymm1等),例如,源操作数可以为从内存或其他寄存器得到的源操作数,例如,目的逻辑寄存器可以为数据广播指令的执行结果所写入的逻辑寄存器。
例如,参考图1,对于数据广播指令“VPBROADCASTB”,源操作数可以为源寄存器中的8位数据B0,目的逻辑寄存器可以为xmm1,数据广播指令“VPBROADCASTB”的执行结果B0-B15存入目的逻辑寄存器xmm1;例如,参考图2,对于数据广播指令“VPBROADCASTW”,源操作数可以为源寄存器中的16位数据W0,目的逻辑寄存器可以为xmm1,数据广播指令“VPBROADCASTW”的执行结果W0-W7存入目的逻辑寄存器xmm1。
在步骤S130,根据目的逻辑寄存器,确定目的逻辑寄存器对应的物理寄存器。
例如,处理器中的指令通常为并行执行且指令的执行顺序为乱序,所以有可能出现一条指令读取一个寄存器的同时,另外一条指令正在对这个寄存器执行写操作,为避免数据冲突以及提高处理器的指令级并行能力,处理器通常在指令执行过程的寄存器重命名阶段,把不同的物理寄存器分配给不同的指令使用,处理器可以通过查询寄存器重命名表以得到处理器为目的逻辑寄存器所分配的物理寄存器。
在步骤S140,响应于源操作数的数据位宽小于物理寄存器的位宽,将源操作数写入物理寄存器中的写入区间,其中,写入区间为目的逻辑寄存器对应的物理寄存器的部分区间。
由于数据广播指令在执行过程中需要对物理寄存器的全位宽执行写入操作,因而功耗会比较大,而在本公开提供的数据写入方法可以将源操作数仅写入物理寄存器的部分位宽(即部分区间)来降低物理寄存器的写入代价,降低数据广播指令的执行所带来的物理寄存器功耗。
例如,在一些实施例中,步骤S140可以包括:将源操作数直接写入写入区间,例如,源操作数的数据位宽为M位,物理寄存器的位宽为Q位,写入区间包括Q位中的M位,Q和M为正整数,且Q大于M。
在该实施例中,在本公开的技术方案中,源操作数仅被写入物理寄存器的M位,相对于常规数据广播指令的执行需要将源操作数写入物理寄存器的Q位来说,减少了写入位数,降低了写入寄存器操作带来的功耗。例如,可以将源操作数写入物理寄存器中的任意位置,例如,可以将源操作数写入物理寄存器中的连续的第a位至第(a+M-1)位,也即M位为物理寄存器中的第a位至第(a+M-1)位,这里a为自然数。
例如,在一些示例中,源操作数的数据位宽为8位,也即M为8,可以将该源操作数写入物理寄存器中的第0位至第7位,此时a为0;例如,在另一些示例中,为兼顾寄存器输出数据时的物理连线长度以得到更好的时序效果,可以将源操作数写入物理寄存器的中间部分,例如物理寄存器的总位宽为128位,可以将源操作数写入物理寄存器的第64位至第71位,此时a为64。例如,a为M的自然数的倍数,例如,写入区间的起始位可以为物理寄存器的第0位、物理寄存器的第M位、物理寄存器的第2*M位等。需要说明的是,物理寄存器的写入区间可以根据设计需要任意选择,本公开对此不作限制。
例如,在另一些实施例中,步骤S140可以包括:将源操作数复制至少一份以得到多个中间源操作数,其中,多个中间源操作数包括源操作数;将多个中间源操作数写入物理寄存器的写入区间。
例如,多个中间源操作数的总数据位宽为N位,物理寄存器的位宽为Q位,写入区间包括Q位中的N位,Q和N为正整数,且Q大于N。
例如,可以将多个中间源操作数分别写入物理寄存器的不同位置,例如,源操作数的数据位宽为32位,可以将该源操作数复制一份,得到两个中间源操作数,将两个中间源操作数分别写入物理寄存器中的第0位至第32位和第96位至第127位;例如,可以将多个中间源操作数连续写入物理寄存器的连续区间,例如,源操作数的数据位宽为8位,可以将该源操作数复制三份,得到四个中间源操作数,将四个中间源操作数连续写入物理寄存器中的第64位至95位。
需要说明的是,物理寄存器的写入区间、源操作数的复制份数可以根据设计需要任意选择,本公开对此不作限制。此外,多个中间源操作数可以写入物理寄存器的连续区间,也可以分别写入物理寄存器的不同区间,本公开对此不作限制。
在该实施例中,向物理寄存器中写入了多份源操作数,从而可以在读取寄存器的过程中减少数据复制的份数,简化相应的硬件设计逻辑,以得到更好的时序效果。在实际使用过程中,可以根据设计需求和硬件电路约束自行选择写入数据的份数,以达到降低功耗和时序约束之间的平衡。此外,由于写入区间为N位,仍小于物理寄存器的位宽Q位,所以该实施例也可以降低数据广播指令的执行功耗。
例如,在一些实施例中,该数据写入方法还包括:根据数据广播指令确定广播字节信息;记录广播字节信息。
例如,根据数据广播指令确定广播字节信息可以包括:根据数据广播指令确定源操作数的数据位宽;根据数据位宽,确定广播字节信息。
例如,如表1所述,每个数据广播指令中的源操作数的数据位宽可能不同,因此可以通过数据广播指令确定源操作数的数据位宽。例如,数据指令“VPBROADCASTB”的源操作数的数据位宽为8位,数据广播指令“VPBROADCASTW”的源操作数的数据位宽为16位。
例如,表2示出了本公开一些实施例提供的一种广播字节信息的示例。
表2广播字节信息示例
广播字节信息 数据位宽
001 8位数据
010 16位数据
011 32位数据
100 64位数据
101 128位数据
如表2所示,可以用3比特数据表示广播字节信息,并根据数据位宽选择不同的取值。此外,在一些示例中,广播字节信息还可以包括其他信息,例如,可以用广播字节信息为“000”表示该源操作数为非广播数据,以指示在读取该物理寄存器时可以按照常规读取方式执行。广播字节信息的格式及取值可以根据需要自行设计,本公开对此不作限制。
例如,记录广播字节信息可以包括:在寄存器重命名表中记录广播字节信息。例如,可以在寄存器重命名阶段将广播字节信息存入寄存器重命名表中以记录该信息。
例如,寄存器重命名表包括多个信息组,每个信息组包括彼此一一对应的逻辑寄存器信息、物理寄存器信息和广播信息,在寄存器重命名表中记录广播字节信息可以包括:将广播字节信息作为寄存器重命名表中目的逻辑寄存器对应的广播信息。
寄存器重命名表用于在寄存器重命名阶段为逻辑寄存器分配可用的物理寄存器,也即提供逻辑寄存器至物理寄存器的映射关系。例如,可以在在寄存器重命名表增加一列广播信息,用以记录广播字节信息,从而在寄存器的读取时,在寄存器重命名阶段读取寄存器重命名表,即可得到目的逻辑寄存器对应的广播字节信息。
例如,寄存器重命名表包括多个信息组,每个信息组包括彼此一一对应的逻辑寄存器信息、物理寄存器信息和广播信息。
表3示出了本公开一些实施例提供的一种寄存器重命名表的示例:
表3寄存器重命名表的示例
逻辑寄存器信息 物理寄存器信息 广播信息
xmm1 PRN30 001
xmm2 PRN18 011
xmm3 PRN103 101
如表3所示,寄存器重命名表中的每一行用于记录一个信息组,每个信息组包括逻辑寄存器信息、一个与逻辑寄存器信息对应的物理寄存器信息以及一个对应的广播信息。例如,逻辑寄存器信息可以为目的逻辑寄存器的名称,物理寄存器信息可以为物理寄存器的编号,广播信息可以为指示写入目的逻辑寄存器的源操作数的数据位宽的广播字节信息。
本公开至少一实施例还提供一种数据读取方法。该数据读取方法可以根据物理寄存器中的仅被写入部分区间的被写入数据获得数据广播指令的执行结果,例如得到物理寄存器的全位宽数据。例如,数据读取方法可以用于读取根据上述任一实施例所述的数据写入方法写入的数据。
图4A为本公开至少一实施例提供的一种数据读取方法的示意性流程图。
例如,如图4A所示,本公开实施例提供的数据写入方法包括步骤S210至S230。
在步骤S210,确定待读取的物理寄存器及所述物理寄存器对应的广播字节信息。
例如,步骤S210可以包括:获取待读取的逻辑寄存器;基于所述逻辑寄存器,查询寄存器重命名表,以获取所述逻辑寄存器对应的物理寄存器作为待读取的所述物理寄存器,并提取所述逻辑寄存器对应的广播信息作为所述广播字节信息,其中,所述寄存器重命名表包括多个信息组,每个信息组包括彼此一一对应的逻辑寄存器信息、物理寄存器信息和广播信息,所述广播信息用于指示被写入所述广播信息对应的物理寄存器中的数据的数据位宽。
例如,寄存器重命名表可以如表3所示,在数据读取过程中,在寄存器重命名阶段通过待读取的逻辑寄存器从寄存器重命名表中得到逻辑寄存器所在的信息组,从信息组中提取物理寄存器信息(即逻辑寄存器对应的物理寄存器的编号)和广播信息(即广播字节信息)。
在步骤S220,获取待读取区间。
例如,可以通过读取指令获取物理寄存器的待读取区间。例如,可以通过指令执行过程中的存储源操作数的源寄存器的相关信息获取物理寄存器的待读取区间。
例如,待读取区间可以是物理寄存器的全部区间,例如,待读取区间也可以是物理寄存器的部分区间。
在步骤S230,基于广播字节信息和待读取区间,从物理寄存器上读取待读取数据。
例如,待读取数据由被写入数据得到,该被写入数据仅被写入物理寄存器的写入区间中,该写入区间为物理寄存器的部分区间。
例如,写入区间可以为物理寄存器的第0位至第7位,此时写入区间的被写入数据可以为数据广播指令中的8位源操作数。例如,写入区间可以为物理寄存器的第0位至第31位和第96位至第127位,此时写入区间的被写入数据可以为2份数据广播指令中的32位源操作数。
由于源操作数仅写入了物理寄存器的部分区间,而数据广播指令的作用为将源操作数写入物理寄存器的全位宽,所以在读取寄存器时,需要设计相应的数据读取逻辑以得到物理寄存器中任一位的数据。
例如,步骤S230可以包括:获取物理寄存器的写入区间;基于广播字节信息生成多个数据选择信号,多个数据选择信号分别对应于物理寄存器的每一位;根据多个数据选择信号及待读取区间,选择写入区间中对应的数据输出以得到待读取数据。
例如,根据多个数据选择信号及待读取区间,选择写入区间中对应的数据输出以得到待读取数据,可以包括:对于待读取区间的第i位,基于多个数据选择信号中对应于待读取区间的第i位的数据选择信号,选择写入区间中对应于待读取区间的第i位的数据作为待读取数据的第i位,例如,i为自然数且小于待读取区间的宽度。
例如,待读取区间的第i位对应于物理寄存器的第j位,基于多个数据选择信号中对应于待读取区间的第i位的数据选择信号,选择写入区间中对应于待读取区间的第i位的数据作为待读取数据的第i位,可以包括:响应于物理寄存器的第j位属于写入区间,基于数据选择信号选择物理寄存器的第j位的数据作为待读取数据的第i位;响应于物理寄存器的第j位不属于写入区间,基于数据选择信号选择写入区间中与物理寄存器的第j位对应的数据作为待读取数据的第i位,例如,j为自然数且小于物理寄存器的位宽。
例如,在一些示例中,可以在芯片设计阶段规划物理寄存器的写入区间和写入份数,例如预先规定对于8位源操作数,其写入区间为第0位至第7位以及第96位至第103位,也就是说,在数据写入时,将源操作数复制一份得到两个中间源操作数(包括源操作数),将两个中间源操作数分别写入物理寄存器的第0位至第7位以及第96位至第103位。
图4B为本公开一实施例提供的物理寄存器的第0位连接的多路选择器示意图,图4C为本公开一实施例提供的物理寄存器的第64位连接的多路选择器示意图。
例如,寄存器的每一位均连接有一个多路选择器,用于通过数据选择信号选择某一路数据输出。
例如,在一些实施例中,在芯片设计阶段指定物理寄存器的写入区间为第0位至第7位以及第96位至第103位,且待读取区间为物理寄存器的第0位至第127位。
例如,如图4B所示,在一些示例中,处理器包括4条流水线,对于物理寄存器的第0位,由于物理寄存器的第0位位于物理寄存器的写入区间中,此时,物理寄存器的第0位连接的多路选择器0的输入可以包括5个输入信号,分别为物理寄存器的第0位的数据:物理寄存器[0]、流水线0的结果总线的第0位的数据:流水线0的结果总线[0]、流水线1的结果总线的第0位的数据:流水线1的结果总线[0]、流水线2的结果总线的第0位的数据:流水线2的结果总线[0]和流水线3的结果总线的第0位的数据:流水线3的结果总线[0]。
例如,如图4C所示,对于物理寄存器的第64位,由于物理寄存器的第64位不位于物理寄存器的写入区间中,此时,物理寄存器的第64位连接的多路选择器64的输入可以包括6个输入信号,分别为物理寄存器的第64位的数据:物理寄存器[64]、流水线0的结果总线的第64位的数据:流水线0的结果总线[64]、流水线1的结果总线的第64位的数据:流水线1的结果总线[64]、流水线2的结果总线的第64位的数据:流水线2的结果总线[64]和流水线3的结果总线的第64位的数据:流水线3的结果总线[64]以及物理寄存器的第96位的数据:物理寄存器[96]。
例如,若当前指令的源操作数可以从某条流水线的结果总线中提取,则通过数据选择信号选择对应的流水线的结果总线输出数据;例如,若当前指令的源操作数需要从物理寄存器中提取,那么可以通过数据选择信号选择物理寄存器中的对应位以得到源操作数的对应位。
例如,待读取数据的第0位至第7位以及第96位至第103位直接通过物理寄存器的第0位至第7位以及第96位至第103位得到。如图4B所示,对于待读取数据的第0位,该待读取数据的第0位对应于物理寄存器的第0位,由于物理寄存器的写入区间包括物理寄存器的第0位,基于物理寄存器的第0位对应的数据选择信号,可以直接将物理寄存器的第0位的数据(例如,图4B所示的物理寄存器[0])输出以作为待读取数据的第0位,即图4B所示的源操作数[0];或者,基于物理寄存器的第0位对应的数据选择信号,可以直接将某一个流水线的结果总线的数据(例如,图4B所示的流水线0的结果总线[0]等)输出以作为待读取数据的第0位,即图4B所示的源操作数[0]。
例如,待读取数据的第8位至第95位以及第104位至127位可以基于物理寄存器的第0位至第7位或第96位至第103位存储的数据得到,例如,可以根据芯片中的物理走线距离选择待读取数据的第8位至第63位基于物理寄存器的第0位至第7位存储的数据得到,待读取数据的第64位至第95位以及第104位至127位基于物理寄存器的第96位至第103位存储的数据得到。
如图4C所示,对于待读取数据的第64位,该待读取数据的第64位对应于物理寄存器的第64位,由于物理寄存器的写入区间不包括物理寄存器的第64位,如果直接将物理寄存器的第64位的数据直接输出则得不到对应的数据。由于数据广播指令是将源操作数循环写入物理寄存器,因此可以根据数据广播指令的执行原理得到物理寄存器的第64位对应的数据,例如,数据广播指令为“VPBROADCASTB”,物理寄存器第64位对应的数据与物理寄存器第0位及第96位对应的数据相同,例如,物理寄存器第96位与物理寄存器第64位的距离较近,因此可以通过物理寄存器的第0位对应的数据选择信号选择物理寄存器的第96位数据(图4C中物理寄存器[96])输出以得到待读取数据的第64位,也即图4C中的源操作数[64];或者,物理寄存器的写入区间为物理寄存器的全区间,也即物理寄存器的写入未执行本公开至少一实施例提供的数据写入方法,则可以基于物理寄存器第64位对应的数据选择信号,将物理寄存器第64位的数据(图4C中物理寄存器[64])直接输出以作为待读取数据的第64位,即图4B所示的源操作数[64];或者,基于物理寄存器的第64位对应的数据选择信号,可以直接将某一个流水线的结果总线的数据(例如,图4C所示的流水线0的结果总线[64]等)输出以作为待读取数据的第64位,即图4B所示的源操作数[64]。
同样的,若物理寄存器的写入区间为第0位至第7位以及第96位至第103位,则对于无法直接从物理寄存器的写入区间读取得到的待读取数据,可以根据数据广播指令的执行原理得到与写入区间中对应的位置,并将该位置的数据通过数据选择信号选择输出以作为待读取数据的对应位。
与上述的数据写入方法相对应,本公开至少一实施例还提供一种数据写入装置,图5为本公开至少一实施例提供的一种数据写入装置的示意性框图。
例如,如图5所示,数据写入装置500包括:指令获取单元501、指令解析单元502、寄存器确定单元503和写入单元504。
指令获取单元501配置为获取数据广播指令。
指令解析单元502配置为根据数据广播指令,确定源操作数和目的逻辑寄存器。
寄存器确定单元503配置为根据目的逻辑寄存器,确定目的逻辑寄存器对应的物理寄存器。
写入单元504配置为响应于源操作数的数据位宽小于物理寄存器的位宽,将源操作数写入物理寄存器中的写入区间,写入区间为物理寄存器的部分区间。
例如,指令获取单元501、指令解析单元502、寄存器确定单元503和写入单元504包括存储在存储器中的代码和程序;处理器可以执行该代码和程序以实现如上所述的指令获取单元501、指令解析单元502、寄存器确定单元503和写入单元504的一些功能或全部功能。例如,指令获取单元501、指令解析单元502、寄存器确定单元503和写入单元504可以是专用硬件器件,用来实现如上所述的指令获取单元501、指令解析单元502、寄存器确定单元503和写入单元504的一些或全部功能。
需要说明的是,指令获取单元501用于实现图3所示的步骤S110,指令解析单元502用于实现图3所示的步骤S120,寄存器确定单元503用于实现图3所示的步骤S130,写入单元504用于实现图3所示的步骤S140。从而关于指令获取单元501的具体说明可以参考上述数据写入方法的实施例中图3所示的步骤S110的相关描述,关于指令解析单元502的具体说明可以参考上述数据写入方法的实施例中图3所示的步骤S120的相关描述,关于寄存器确定单元503的具体说明可以参考上述数据写入方法的实施例中图3所示的步骤S130的相关描述,关于写入单元504的具体说明可以参考上述数据写入方法的实施例中图3所示的步骤S140的相关描述。此外,数据写入装置可以实现与前述数据写入方法相似的技术效果,在此不再赘述。
与上述的数据读取方法相对应,本公开至少一实施例还提供一种数据读取装置,图6为本公开至少一实施例提供的一种数据读取装置的示意性框图。
例如,如图6所示,数据读取装置600包括:确定单元601、读取区间获取单元602、读取单元603。
确定单元601配置为确定待读取的物理寄存器及物理寄存器对应的广播字节信息。
读取区间获取单元602配置为获取待读取区间。
读取单元603配置为基于广播字节信息和待读取区间,从物理寄存器上读取待读取数据。
例如,确定单元601、读取区间获取单元602、读取单元603包括存储在存储器中的代码和程序;处理器可以执行该代码和程序以实现如上所述的确定单元601、读取区间获取单元602、读取单元603的一些功能或全部功能。例如,确定单元601、读取区间获取单元602、读取单元603可以是专用硬件器件,用来实现如上所述的确定单元601、读取区间获取单元602、读取单元603的一些或全部功能。
需要说明的是,确定单元601用于实现图4A所示的步骤S210,读取区间获取单元602用于实现图4A所示的步骤S220,读取单元603用于实现图4A所示的步骤S230。从而关于确定单元601的具体说明可以参考上述数据读取方法的实施例中图4A所示的步骤S210的相关描述,关于读取区间获取单元的具体说明可以参考上述数据读取方法的实施例中图4A所示的步骤S220的相关描述,关于读取单元603的具体说明可以参考上述数据读取方法的实施例中图4A所示的步骤S230的相关描述。此外,数据读取装置可以实现与前述数据读取方法相似的技术效果,在此不再赘述。
对于本公开,还有以下几点需要说明:
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)为了清晰起见,在用于描述本发明的实施例的附图中,层或结构的厚度和尺寸被放大。可以理解,当诸如层、膜、区域或基板之类的元件被称作位于另一元件“上”或“下”时,该元件可以“直接”位于另一元件“上”或“下”,或者可以存在中间元件。
(3)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上所述仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。

Claims (15)

1.一种数据写入方法,包括:
获取数据广播指令;
根据所述数据广播指令,确定源操作数和目的逻辑寄存器;
根据所述目的逻辑寄存器,确定所述目的逻辑寄存器对应的物理寄存器;
响应于所述源操作数的数据位宽小于所述物理寄存器的位宽,将所述源操作数写入所述物理寄存器中的写入区间,其中,所述写入区间为所述物理寄存器的部分区间,所述部分区间的位宽小于所述物理寄存器的位宽。
2.根据权利要求1所述的数据写入方法,其中,将所述源操作数写入所述物理寄存器中的写入区间,包括:
将所述源操作数直接写入所述写入区间,其中,所述源操作数的数据位宽为M位,所述物理寄存器的位宽为Q位,所述写入区间包括所述Q位中的M位,Q和M为正整数,且Q大于M。
3.根据权利要求2所述的数据写入方法,其中,所述M位为所述物理寄存器中的第a位至第(a+M-1)位,其中,a为自然数。
4.根据权利要求1所述的数据写入方法,其中,将所述源操作数写入所述物理寄存器中的写入区间,包括:
将所述源操作数复制至少一份以得到多个中间源操作数,其中,所述多个中间源操作数包括所述源操作数;
将所述多个中间源操作数写入所述写入区间,其中,所述多个中间源操作数的总数据位宽为N位,所述物理寄存器的位宽为Q位,所述写入区间包括所述Q位中的N位,Q和N为正整数,且Q大于N。
5.根据权利要求1-4任一项所述的数据写入方法,还包括:
根据所述数据广播指令确定广播字节信息;
记录所述广播字节信息。
6.根据权利要求5所述的数据写入方法,其中,根据所述数据广播指令确定广播字节信息,包括:
根据所述数据广播指令确定所述源操作数的数据位宽;
根据所述数据位宽,确定所述广播字节信息。
7.根据权利要求5所述的数据写入方法,其中,记录所述广播字节信息,包括:
在寄存器重命名表中记录所述广播字节信息。
8.根据权利要求7所述的数据写入方法,其中,所述寄存器重命名表包括多个信息组,每个信息组包括彼此一一对应的逻辑寄存器信息、物理寄存器信息和广播信息,
在所述寄存器重命名表中记录所述广播字节信息,包括:
将所述广播字节信息作为所述寄存器重命名表中所述目的逻辑寄存器对应的广播信息。
9.一种数据写入装置,包括:
指令获取单元,配置为获取数据广播指令;
指令解析单元,配置为根据所述数据广播指令,确定源操作数和目的逻辑寄存器;
寄存器确定单元,配置为根据所述目的逻辑寄存器,确定所述目的逻辑寄存器对应的物理寄存器;
写入单元,配置为响应于所述源操作数的数据位宽小于所述物理寄存器的位宽,将所述源操作数写入所述物理寄存器中的写入区间,其中,所述写入区间为所述物理寄存器的部分区间,所述部分区间的位宽小于所述物理寄存器的位宽。
10.一种数据读取方法,包括:
确定待读取的物理寄存器及所述物理寄存器对应的广播字节信息;
获取待读取区间;
基于所述广播字节信息和所述待读取区间,从所述物理寄存器上读取待读取数据,
其中,所述待读取数据根据被写入数据得到,所述被写入数据仅被写入所述物理寄存器的写入区间中,所述写入区间为所述物理寄存器的部分区间,所述部分区间的位宽小于所述物理寄存器的位宽。
11.根据权利要求10所述的数据读取方法,其中,确定待读取的物理寄存器及所述物理寄存器对应的广播字节信息,包括:
获取待读取的逻辑寄存器;
基于所述逻辑寄存器,查询寄存器重命名表,以获取所述逻辑寄存器对应的物理寄存器作为待读取的所述物理寄存器,并提取所述逻辑寄存器对应的广播信息作为所述广播字节信息,其中,所述寄存器重命名表包括多个信息组,每个信息组包括彼此一一对应的逻辑寄存器信息、物理寄存器信息和广播信息,所述广播信息用于指示被写入所述广播信息对应的物理寄存器中的数据的数据位宽。
12.根据权利要求10所述的数据读取方法,其中,基于所述广播字节信息和所述待读取区间,从所述物理寄存器上读取待读取数据,包括:
获取所述物理寄存器的写入区间;
基于所述广播字节信息生成多个数据选择信号,其中,所述多个数据选择信号分别对应于所述物理寄存器的多位;
根据所述多个数据选择信号及所述待读取区间,选择所述写入区间中对应的数据输出以得到所述待读取数据。
13.根据权利要求12所述的数据读取方法,其中,根据所述多个数据选择信号及所述待读取区间,选择所述写入区间中对应的数据输出以得到所述待读取数据,包括:
对于所述待读取区间的第i位:
确定所述待读取区间的第i位对应于所述物理寄存器的第j位,
基于所述多个数据选择信号中对应于所述物理寄存器的第j位的数据选择信号,选择所述写入区间中对应于所述物理寄存器的第j位的数据作为所述待读取数据的第i位,
其中,i为自然数且小于所述待读取区间的宽度,j为自然数且小于所述物理寄存器的位宽。
14.根据权利要求13所述的数据读取方法,其中,基于所述多个数据选择信号中对应于所述物理寄存器的第j位的数据选择信号,选择所述写入区间中对应于所述物理寄存器的第j位的数据作为所述待读取数据的第i位,包括:
响应于所述物理寄存器的第j位属于所述写入区间,基于所述数据选择信号选择所述物理寄存器的第j位的数据作为所述待读取数据的第i位;
响应于所述物理寄存器的第j位不属于所述写入区间,基于所述数据选择信号选择所述写入区间中与所述物理寄存器的第j位对应的数据作为所述待读取数据的第i位。
15.一种数据读取装置,包括:
确定单元,配置为确定待读取的物理寄存器及所述物理寄存器对应的广播字节信息;
读取区间获取单元,配置为获取待读取区间;
读取单元,配置为基于所述广播字节信息和所述待读取区间,从所述物理寄存器上读取待读取数据,
其中,所述待读取数据根据被写入数据得到,所述被写入数据仅被写入所述物理寄存器的写入区间中,所述写入区间为所述物理寄存器的部分区间,所述部分区间的位宽小于所述物理寄存器的位宽。
CN202011387584.4A 2020-12-01 2020-12-01 数据写入方法、装置及数据读取方法、装置 Active CN112416256B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011387584.4A CN112416256B (zh) 2020-12-01 2020-12-01 数据写入方法、装置及数据读取方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011387584.4A CN112416256B (zh) 2020-12-01 2020-12-01 数据写入方法、装置及数据读取方法、装置

Publications (2)

Publication Number Publication Date
CN112416256A CN112416256A (zh) 2021-02-26
CN112416256B true CN112416256B (zh) 2023-03-28

Family

ID=74829459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011387584.4A Active CN112416256B (zh) 2020-12-01 2020-12-01 数据写入方法、装置及数据读取方法、装置

Country Status (1)

Country Link
CN (1) CN112416256B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626076A (zh) * 2020-05-08 2021-11-09 安徽寒武纪信息科技有限公司 数据处理方法及装置以及相关产品
CN113434545B (zh) * 2021-06-02 2022-11-18 中科驭数(北京)科技有限公司 数据缓存装置及数据提供方法
CN113722669B (zh) * 2021-11-03 2022-01-21 海光信息技术股份有限公司 数据处理方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103988174A (zh) * 2011-12-02 2014-08-13 Arm有限公司 无需额外寄存器执行寄存器重命名的数据处理设备和方法
CN108304217A (zh) * 2018-03-09 2018-07-20 中国科学院计算技术研究所 将长位宽操作数指令转换为短位宽操作数指令的方法
CN109992308A (zh) * 2017-12-29 2019-07-09 英特尔公司 用于单指令多数据(simd)流水线中的循环展平和约简的装置和方法
CN111352658A (zh) * 2018-12-21 2020-06-30 英特尔公司 用于在从存储器加载时在进行中转置向量的系统和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103988174A (zh) * 2011-12-02 2014-08-13 Arm有限公司 无需额外寄存器执行寄存器重命名的数据处理设备和方法
CN109992308A (zh) * 2017-12-29 2019-07-09 英特尔公司 用于单指令多数据(simd)流水线中的循环展平和约简的装置和方法
CN108304217A (zh) * 2018-03-09 2018-07-20 中国科学院计算技术研究所 将长位宽操作数指令转换为短位宽操作数指令的方法
CN111352658A (zh) * 2018-12-21 2020-06-30 英特尔公司 用于在从存储器加载时在进行中转置向量的系统和方法

Also Published As

Publication number Publication date
CN112416256A (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
CN112416256B (zh) 数据写入方法、装置及数据读取方法、装置
US6925553B2 (en) Staggering execution of a single packed data instruction using the same circuit
US6006315A (en) Computer methods for writing a scalar value to a vector
JP3150286B2 (ja) データストリング生成方法、コンピュータ動作方法、コンピュータシステムによるマトリックス乗算方法、及びコンピュータ
US5996057A (en) Data processing system and method of permutation with replication within a vector register file
US5832288A (en) Element-select mechanism for a vector processor
US6076154A (en) VLIW processor has different functional units operating on commands of different widths
US6009509A (en) Method and system for the temporary designation and utilization of a plurality of physical registers as a stack
TWI489382B (zh) 改良的萃取指令背景之設備及方法
KR20160031503A (ko) 마이크로프로세서에서의 선택적 리네이밍을 위한 방법 및 장치
CN117632257A (zh) 将有效位通道作为矢量断言暴露于cpu
US6338134B1 (en) Method and system in a superscalar data processing system for the efficient processing of an instruction by moving only pointers to data
WO2023077769A1 (zh) 数据处理方法、装置以及设备和计算机可读存储介质
KR102161682B1 (ko) 이미디에이트 핸들링 및 플래그 핸들링을 위한 프로세서 및 방법
CN113722669B (zh) 数据处理方法、装置、设备及存储介质
US8549266B2 (en) System and method of instruction modification
US10042646B2 (en) System and method of merging partial write result during retire phase
US7024538B2 (en) Processor multiple function units executing cycle specifying variable length instruction block and using common target block address updated pointers
US11036506B1 (en) Memory systems and methods for handling vector data
US20050246507A1 (en) Storage pre-alignment and EBCDIC, ASCII and unicode basic latin conversions for packed decimal data
CN111414196B (zh) 一种零值寄存器的实现方法及装置
US7668897B2 (en) Result partitioning within SIMD data processing systems
US5752271A (en) Method and apparatus for using double precision addressable registers for single precision data
US10853080B2 (en) System and method of merging partial write results for resolving renaming size issues
JPS6058487B2 (ja) デ−タ処理装置

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