CN117608667B - 指令集处理系统、方法及电子设备 - Google Patents
指令集处理系统、方法及电子设备 Download PDFInfo
- Publication number
- CN117608667B CN117608667B CN202410089039.9A CN202410089039A CN117608667B CN 117608667 B CN117608667 B CN 117608667B CN 202410089039 A CN202410089039 A CN 202410089039A CN 117608667 B CN117608667 B CN 117608667B
- Authority
- CN
- China
- Prior art keywords
- instruction set
- instruction
- cache
- unit
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 204
- 238000000034 method Methods 0.000 title claims description 27
- 238000006243 chemical reaction Methods 0.000 claims abstract description 16
- 238000003672 processing method Methods 0.000 claims abstract description 7
- 230000015654 memory Effects 0.000 claims description 88
- 230000001427 coherent effect Effects 0.000 claims description 40
- 230000004044 response Effects 0.000 claims description 39
- 238000013519 translation Methods 0.000 claims description 34
- 230000006870 function Effects 0.000 claims description 22
- 230000001360 synchronised effect Effects 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 13
- 238000004590 computer program Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- 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
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请提供一种指令集处理系统、方法及电子设备,该指令集处理系统包括:内核单元,用于支持处理精简指令集计算机架构下的指令集格式;一致性网络网格互联总线,用于支持处理ARM架构下的指令集格式;指令集处理单元,设置于内核单元和一致性网络网格互联总线之间,用于对接收到内核单元下发的第一指令集提供指令集处理功能,以将第一指令集格式转换为一致性网络网格互联总线支持处理的指令集格式,其中,指令集处理功能包括如下至少之一:非缓存一致性存储、非缓存一致性读数据、无效高速缓存地址转换条目、数据同步。可以实现兼容CPU不同架构下的支持不同指令集部件。
Description
技术领域
本申请涉及计算机技术,尤其涉及一种指令集处理系统、方法及电子设备。
背景技术
CPU发展至今存在着很多种架构,比如x86架构、ARM架构、单字长定点指令平均执行速度MIPS架构、嵌入式系统PowerPC架构等,不同的架构的CPU会采用不同的指令集,因此,不同指令集对同一指令的功能实现的微架构是不尽相同,这就会导致在CPU不同架构下,出现支持不同指令集部件之间的不兼容问题。
发明内容
本申请提供一种指令集处理系统、方法及电子设备,用以解决相关技术中在CPU不同架构下,出现支持不同指令集部件之间的不兼容的技术问题,可以实现兼容CPU不同架构下的支持不同指令集部件。
一方面,本申请提供一种指令集处理系统,所述指令集处理系统包括:
内核单元,用于支持处理精简指令集计算机架构下的指令集格式;
一致性网络网格互联总线,用于支持处理ARM架构下的指令集格式;
指令集处理单元,设置于所述内核单元和所述一致性网络网格互联总线之间,用于对接收到所述内核单元下发的第一指令集提供指令集处理功能,以将所述第一指令集格式转换为所述一致性网络网格互联总线支持处理的指令集格式,其中,所述指令集处理功能包括如下至少之一:非缓存一致性存储、非缓存一致性读数据、无效高速缓存地址转换条目、数据同步。
一种可选的实施例,所述内核单元包括:
二级缓存单元,用于缓存所述内核单元指示发出的所有指令集,并将对所述所有指令集进行任务分配得到的所述第一指令集发送给所述指令集处理单元。
一种可选的实施例,所述指令集处理系统,还包括:
依赖性处理单元,用于在所述第一指令集译码得到的待处理指令为多个的情况下,对多个所述待处理指令进行依赖性检查,并以乱序或顺序方式将多个所述待处理指令发送给所述指令集处理单元;
多个译码处理单元,用于分别对接收到的所述第一指令集进行译码,以识别出所述第一指令集中的所述待处理指令,其中,所述待处理指令包括以下中的至少一者:非缓存一致性存储指令、非缓存一致性读数据指令、无效高速缓存地址转换条目指令、数据同步指令;
多个所述译码处理单元,还用于分别将译码得到的所述待处理指令存储至对应的指令队列,并根据所述依赖性处理单元的依赖性检查结果发送对应的所述待处理指令给所述指令集处理单元。
一种可选的实施例,所述指令集处理单元包括:
非缓存一致性存储单元,用于将所述非缓存一致性存储指令转换为基于CHI协议的写数据字段,以向所述一致性网络网格互联总线发送携带有所述写数据字段的指令写请求;
所述非缓存一致性存储单元,还用于根据所述一致性网络网格互联总线的返回响应,确定是否将对应的非缓存一致性数据写入所述一致性网络网格互联总线,或者重新尝试向所述一致性网络网格互联总线发送所述指令写请求,或者收集错误并结束。
一种可选的实施例,所述非缓存一致性存储单元,还用于根据后续执行译码、转换处理得到基于CHI协议的写数据字段中的数据地址,确定是否合并执行将多个所述基于CHI协议的写数据字段写入所述一致性网络网格互联总线的操作。
一种可选的实施例,所述非缓存一致性存储单元,还用于和所述内核单元中的二级缓存单元进行握手,以统一所述第一指令集的处理进度;
所述非缓存一致性存储单元,还用于在与所述二级缓存单元握手完毕,且接收到所述一致性网络网格互联总线的数据写入响应后结束操作。
一种可选的实施例,所述指令集处理单元还包括:
非缓存一致性读取单元,用于在接收到非缓存一致性读数据指令后,若接收到所述内核单元中的二级缓存单元下发的取消读数据指令,则取消执行向所述一致性网络网格互联总线请求读数据的操作;若未接收到所述取消读数据指令,且所述非缓存一致性读数据指令未碰撞到非缓存一致性存储指令,则将所述非缓存一致性读数据指令转换为基于CHI协议的读数据字段,以向所述一致性网络网格互联总线发送携带有所述读数据字段的指令读请求;
所述非缓存一致性读取单元,还用于根据所述一致性网络网格互联总线的返回响应和所述二级缓存单元的同步信号,确定是否重新尝试向所述一致性网络网格互联总线发送所述指令读请求,或者收集错误并结束。
一种可选的实施例,所述指令集处理单元还包括:
无效高速缓存地址转换条目单元,用于将所述无效高速缓存地址转换条目指令转换为基于CHI协议的非同步字段,以向所述一致性网络网格互联总线发送携带有所述非同步字段的虚拟内存处理请求;
所述无效高速缓存地址转换条目单元,还用于根据所述一致性网络网格互联总线的返回响应,确定是否重新尝试向所述一致性网络网格互联总线发送所述虚拟内存处理请求,或者发送对应的虚拟内存数据给所述一致性网络网格互联总线;
所述无效高速缓存地址转换条目单元,还用于根据所述一致性网络网格互联总线的返回响应,确定结束发送所述虚拟内存数据。
一种可选的实施例,所述指令集处理单元还包括:
数据同步单元,用于将所述数据同步指令转换为基于CHI协议的同步字段,以向所述一致性网络网格互联总线发送携带有所述同步字段的虚拟内存处理请求;
所述数据同步单元,还用于根据所述一致性网络网格互联总线的返回响应,确定是否重新尝试向所述一致性网络网格互联总线发送所述携带有同步字段的虚拟内存处理请求,或者发送对应的虚拟内存数据给所述一致性网络网格互联总线;
所述数据同步单元,还用于根据所述一致性网络网格互联总线的返回响应,确定结束发送所述虚拟内存数据。
一种可选的实施例,所述指令集处理系统还包括:
一级仲裁单元,用于确定任意一个所述待处理指令对应的多个请求的发送顺序;
二级仲裁单元,用于确定所有的所述待处理指令对应的多个请求的发送顺序。
另一方面,本申请提供一种指令集处理方法,所述方法包括:
响应于接收到内核单元发送给一致性网络网格互联总线的第一指令集,获取所述第一指令集的第一指令集格式;
若所述第一指令集格式为精简指令集计算机架构下的指令集格式,则对所述第一指令集进行指令集处理,以将所述第一指令集格式转换为所述一致性网络网格互联总线支持处理的第二指令集格式,其中,所述第二指令集格式为ARM架构下的指令集格式,所述指令集处理包括如下至少之一:非缓存一致性存储、非缓存一致性读数据、无效高速缓存地址转换条目、数据同步。
另一方面,本申请提供一种电子设备,包括:处理器,以及与上述处理器连接的存储器;上述存储器存储计算机执行指令;上述处理器执行上述存储器存储的计算机执行指令,以实现如任一项上述全一致性请求节点中的指令。
另一方面,本申请提供一种计算机可读存储介质,上述计算机可读存储介质中存储有计算机执行指令,上述计算机执行指令被处理器执行时用于实现如任一项上述全一致性请求节点中的指令。
另一方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现任一项上述全一致性请求节点中的指令。
本申请提供的指令集处理系统、方法及电子设备,该指令集处理系统包括:内核单元,用于支持处理精简指令集计算机架构下的指令集格式;一致性网络网格互联总线,用于支持处理ARM架构下的指令集格式;指令集处理单元,设置于内核单元和一致性网络网格互联总线之间,用于对接收到内核单元下发的第一指令集提供指令集处理功能,以将第一指令集格式转换为一致性网络网格互联总线支持处理的指令集格式,其中,指令集处理功能包括如下至少之一:非缓存一致性存储、非缓存一致性读数据、无效高速缓存地址转换条目、数据同步。
采用本申请实施例提供的系统,采用设置于内核单元和一致性网络网格互联总线之间的指令集处理单元,对接收到内核单元下发的第一指令集提供指令集处理功能,以将第一指令集格式转换为一致性网络网格互联总线支持处理的指令集格式,从而提高了指令集处理效率和兼容性。用以解决相关技术中在CPU不同架构下,出现支持不同指令集部件之间的不兼容的技术问题,可以实现兼容CPU不同架构下的支持不同指令集部件。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请实施例所提供的一种指令集处理系统的结构示意图;
图2是本申请实施例所提供的一种可选的指令集处理系统的结构示意图;
图3是本申请实施例所提供的一种可选的指令集处理系统的结构示意图;
图4为本申请实施例提供的一种可选的非缓存一致性存储单元的处理流程示意图;
图5为本申请实施例提供的一种可选的非缓存一致性读取单元的处理流程示意图;
图6为本申请实施例提供的一种可选的无效高速缓存地址转换条目单元的处理流程示意图;
图7为本申请实施例提供的一种指令集处理方法的流程示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
首先对本申请所涉及的名词进行解释:
高级微控制器总线架构(Advanced Microcontroller Bus Architecture, 简称AMBA),是用于ARM架构下系统芯片设计中的一种总线架构。
一致性集线器接口协议(Coherent Hub Interface, 简称CHI协议)是一种高速互联协议,AMBA第五代协议,用于连接计算机内部的处理器、内存和其他设备,具有很广泛的应用性。
精简指令集计算机(Reduced Instruction Set Computer, RISC)是一种计算机的设计方式。
单字长定点指令平均执行速度MIPS(Million Instructions Per Second):每秒处理的百万级的机器语言指令数。这是衡量CPU速度的一个指标。
不具有缓存一致性的单元(Nocacheable Unit,NCU)是一种内存访问属性,用于指示特定的内存区域不应被缓存。
ARM(Advanced RISC Machine)是一种精简指令集(RISC)微处理器系列,它具有高性能和低功耗的特点,现在已经在多个消费类电子产品中得到广泛的应用,例如手机、PDA、数码相机等。
CPU发展至今存在着很多种架构,比如x86架构、ARM架构、单字长定点指令平均执行速度MIPS架构、嵌入式系统PowerPC架构等,不同的架构的CPU会采用不同的指令集,所以不同指令集对同一指令的功能实现的微架构是不尽相同,这就会导致当研发一款CPU时会遇到支持不同指令集部件之间的兼容问题,本方案提供了一种具有普适性的解决方案。
CHI协议作为一种用于连接计算机内部的处理器、内存和其他设备的高速互联协议,具有很广泛的应用性,所以通过CHI协议用一致性互联coherent interconnect支持RISC体系指令执行和数据传输具有非常重大的意义,可以支持RISC架构的多元化发展。
本申请提供的指令集处理系统、方法,旨在解决现有技术的如上技术问题。下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请提供一种指令集处理系统,图1是本申请实施例所提供的一种指令集处理系统的结构示意图,如图1所示,该指令集处理系统100包括:
内核单元101,用于支持处理精简指令集计算机架构下的指令集格式;
一致性网络网格互联总线102,用于支持处理ARM架构下的指令集格式;
指令集处理单元103,设置于内核单元101和一致性网络网格互联总线102之间,用于对接收到内核单元下发的第一指令集提供指令集处理功能,以将第一指令集格式转换为一致性网络网格互联总线支持处理的指令集格式,其中,指令集处理功能包括如下至少之一:非缓存一致性存储、非缓存一致性读数据、无效高速缓存地址转换条目、数据同步。
可选的,精简指令集计算机RISC架构是一种采用较少的指令和寄存器,但每条指令的执行速度较快的计算机架构。ARM架构是一种基于精简指令集计算机RISC架构的低功耗、高性能的处理器架构。不同架构下的指令集格式有不同的编码方式、操作码、操作数等,因此需要进行转换才能在不同的系统中执行。
可选的,非缓存一致性存储是一种将数据直接写入内存而不经过缓存的操作,可以避免缓存的更新和失效问题。非缓存一致性读数据是一种从内存直接读取数据而不经过缓存的操作,可以避免缓存的命中和失效问题。无效高速缓存地址转换条目是一种将虚拟地址和物理地址之间的映射关系从高速缓存中删除的操作,可以避免地址转换的错误和冲突问题。数据同步是一种保证数据在不同的处理器或内存之间一致的操作,可以避免数据的不一致和错误问题。
本申请实施例提供的指令集处理系统,可以用于执行基于CHI协议的不可缓存uncacheable指令功能的实现方法,主要是实现了CHI协议的支持RISC指令集的数据传输以及指令发送,如图2所示的一种可选的指令集处理系统的框架示意图,该指令集处理系统是在一致性网络网格互联总线103(coherent interconnect)和内核单元101(例如:不具有缓存一致性单元NCU)之间,增加支持RISC构架到ARM构架的指令集转换的指令集处理单元103。支持处理的待处理指令包括以下中的至少一者:非缓存一致性存储指令、非缓存一致性读数据指令、无效高速缓存地址转换条目指令、数据同步指令。
采用本申请实施例提供的系统,采用设置于内核单元和一致性网络网格互联总线之间的指令集处理单元,对接收到内核单元下发的第一指令集提供指令集处理功能,以将第一指令集格式转换为一致性网络网格互联总线支持处理的指令集格式,从而提高了指令集处理效率和兼容性。
一种可选的实施例,仍如图2所示,内核单元包括:
二级缓存单元1010,用于缓存内核单元指示发出的所有指令集,并将对所有指令集进行任务分配得到的第一指令集发送给指令集处理单元。
可选的,二级缓存单元是一种位于内核单元和指令集处理单元之间的高速缓存,可以存储更多的指令集,减少内核单元和指令集处理单元之间的数据传输延迟。该二级缓存通过根据指令集的特征和需求,将指令集分配给合适的处理器或单元的操作,可以提高指令集的执行速度和质量。
本申请实施例,通过在内核单元中设置二级缓存单元,用于缓存内核单元指示发出的所有指令集,并将对所有指令集进行任务分配得到的第一指令集发送给指令集处理单元,从而提高了系统的缓存命中率和指令集处理效率。
采用二级缓存单元对所有指令集进行任务分配,以根据指令集的类型、优先级、依赖性等因素,将指令集分配给不同的译码处理单元,从而提高了系统的指令集处理并行度和灵活性。译码处理单元是一种对指令集进行译码和转换的单元,可以将不同架构下的指令集转换为统一的指令集格式。不同的译码处理单元可以处理不同类型的指令集,例如非缓存一致性存储指令、非缓存一致性读数据指令、无效高速缓存地址转换条目指令、数据同步指令等。通过任务分配,可以使不同的译码处理单元同时或顺序地处理不同的指令集,从而提高指令集处理的并行度和灵活性。
一种可选的实施例,如图3所示,指令集处理系统,还包括:
依赖性处理单元104,用于在第一指令集译码得到的待处理指令为多个的情况下,对多个待处理指令进行依赖性检查,并以乱序或顺序方式将多个待处理指令发送给指令集处理单元;
多个译码处理单元105,用于分别对接收到的第一指令集进行译码,以识别出第一指令集中的待处理指令,其中,该待处理指令包括以下中的至少一者:非缓存一致性存储指令、非缓存一致性读数据指令、无效高速缓存地址转换条目指令、数据同步指令;
多个译码处理单元105,还用于分别将译码得到的待处理指令存储至对应的指令队列,并根据依赖性处理单元的依赖性检查结果发送对应的待处理指令给指令集处理单元。
可选的,上述依赖性检查结果是一种指示多个指令之间是否存在依赖关系的信息,可以指导指令的发送顺序和方式。
本申请实施例中,采用依赖性处理单元denpendcy_handle,对多个待处理指令进行依赖性检查,并以乱序(即不按照指令的原始顺序执行或发送指令的方式)或顺序方式发送多个待处理指令,从而提高了系统的指令集处理并行性和灵活性。依赖性检查是一种判断多个指令之间是否存在数据或控制依赖的操作,可以避免指令的错误和延迟问题。
通过采用多个译码处理单元(分别对第一指令集进行译码和转换的单元),对第一指令集进行译码,以识别出待处理指令,并将待处理指令存储至对应的指令队列,从而提高了系统的指令集处理效率和可靠性。多个译码处理单元,根据依赖性处理单元的依赖性检查结果,发送对应的待处理指令给指令集处理单元,从而提高了系统的指令集处理正确性和稳定性。
一种可选的实施例中,仍如图3所示,提供了一种可选的指令集处理系统的结构图,包括如下多个采用CHI协议支持RISC指令执行和数据传输的译码处理单元105:
非缓存一致性存储译码处理单元,用于接收二级缓存传输过来的第一指令集(RISC指令集),将译码处理第一指令集得到的非缓存一致性存储指令存储在非缓存一致性存储队列,并根据依赖性检查相关处理发送到非缓存一致性存储单元中。
非缓存一致性读取译码处理单元,用于接收二级缓存传输过来的第一指令集(RISC指令集),将译码处理第一指令集得到的非缓存一致性读数据指令存储在非缓存一致性读数据队列中,并根据依赖性检查相关处理发送到非缓存一致性读取单元中。
无效高速缓存地址转换条目译码处理单元,用于接收二级缓存传输过来的第一指令集(RISC指令集),将译码处理第一指令集得到的无效高速缓存地址转换条目TLBIE指令存储在无效高速缓存地址转换条目队列中,根据依赖性检查相关处理发送到无效高速缓存地址转换条目单元中。
数据同步译码处理单元,用于接收二级缓存传输过来的第一指令集(RISC指令集),将译码处理第一指令集得到的Sync类同步指令存储到数据同步队列,根据依赖性检查相关处理发送到数据同步单元。
需要说明的是,本申请实施例中的多个指令集处理单元,均不是严格意义上纯状态机模块,包含若干个状态机以及相关处理模块,接收来自上级的各类指令请求,并转为向总线发送相应的信息用ARM构架的指令实现RISC指令的功能,并接收从总线传回的反馈信号解析维持模块功能运转。
一种可选的实施例,仍如图3所示,指令集处理单元103包括:
非缓存一致性存储单元1031,用于将非缓存一致性存储指令转换为基于CHI协议的写数据字段,以向一致性网络网格互联总线发送携带有写数据字段的指令写请求;
非缓存一致性存储单元1031,还用于根据一致性网络网格互联总线的返回响应,确定是否将对应的非缓存一致性数据写入一致性网络网格互联总线,或者重新尝试向一致性网络网格互联总线发送指令写请求,或者收集错误并结束。
可选的,非缓存一致性存储指令是一种将数据直接写入内存而不经过缓存的操作,可以避免缓存的更新和失效问题。写数据字段是一种包含数据地址和数据内容的信息,可以用于指示数据的写入位置和内容。
可选的,重新尝试发送指令写请求是一种在数据写入失败的情况下,再次向一致性网络网格互联总线发送指令写请求的操作,可以用于增加数据写入的成功率。收集错误并结束是一种在数据写入失败的情况下,记录错误信息并终止数据写入的操作,可以用于避免数据写入的错误和异常。
一种可选的实施例中,非缓存一致性存储单元Cache-inhibited store的执行机制如图4所示,具体实现方案包括:
采用非缓存一致性存储译码处理单元,根据二级缓存单元传递下来的第一指令集(RISC指令集)进行译码(对第一指令集进行翻译),识别出非缓存一致性存储指令,并继续后续操作。
采用非缓存一致性存储单元对非缓存一致性存储指令进行转换为基于CHI协议的写数据字段,从而提高了系统的数据写入效率和兼容性。例如,将RISC指令集中Cache-inhibited store指令转换为CHI协议的写数据字段Writenosnp,并向一致性网络网格互联总线发送符合CHI协议的指令写请求,该请求中包含了写数据字段Writenosnp,发到总线上传输给相应的器件,其他器件看到写数据字段Writenosnp即知道是要写入非缓存一致性数据。
之后,非缓存一致性存储单元等待一致性网络网格互联总线的响应回复Response,并根据一致性网络网格互联总线的返回响应,确定是否将对应的非缓存一致性数据写入一致性网络网格互联总线,或者重新尝试向一致性网络网格互联总线发送指令写请求,或者收集错误并结束,从而提高了系统的数据写入可靠性和稳定性。
一种可选的实施例,非缓存一致性存储单元1031,还用于根据后续执行译码、转换处理得到基于CHI协议的写数据字段中的数据地址,确定是否合并执行将多个基于CHI协议的写数据字段写入一致性网络网格互联总线的操作。
后续执行译码、转换处理是一种对后续的指令集进行译码和转换的操作,可以得到基于CHI协议的写数据字段。数据地址是一种指示数据的存储位置的信息,可以用于判断数据的相邻性和连续性。
可选的,本申请实施例中,上述合并执行是一种将多个相邻或连续的数据合并为一个数据块的操作,可以减少数据的传输次数和开销。
一种示例中,如果内核单元要发送的非缓存一致性数据过大,但传输通道有限,则只能将非缓存一致性数据拆分成几部分数据分批发送,例如,会在地址中标志是第1/2/3/4批等,非缓存一致性存储单元会将几批数据合并成完整数据,不同批的数据的地址是有相关性的,以体现这个数据原本是一整个数据只是被拆分,非缓存一致性存储单元是不知道目前要写入这个数据是完整的数据还是一个过大的数据中的一部分,只能通过地址来判断,如果只是一部分数据,就无需再将整个写数据流程再操作一遍,直接趁着本次写操作还没做完,继续来发送数据,直到发送结束完整数据,这样就提高了数据发送的效率。
因此,本申请实施例中,根据后续执行译码、转换处理得到基于CHI协议的写数据字段中的数据地址,确定是否合并执行将多个基于CHI协议的写数据字段写入一致性网络网格互联总线的操作,从而提高了系统的数据写入效率和带宽利用率。
一种可选的实施例,非缓存一致性存储单元,还用于和内核单元中的二级缓存单元进行握手,以统一第一指令集的处理进度;非缓存一致性存储单元,还用于在与二级缓存单元握手完毕,且接收到一致性网络网格互联总线的数据写入响应后结束操作。
可选的,一种示例中,采用非缓存一致性存储单元和内核单元中的二级缓存单元进行握手,以统一第一指令集的处理进度,从而提高了系统的数据写入一致性和同步性。握手可以理解为是一种在数据写入前,与二级缓存单元进行通信和协调的操作,可以保证第一指令集的处理顺序和状态。在与二级缓存单元握手完毕,且接收到一致性网络网格互联总线的数据写入响应后结束操作,从而提高了系统的数据写入效率和稳定性。上述握手完毕是一种在数据写入前,与二级缓存单元达成一致和同步的状态,可以保证数据写入的正确性和顺利性。
一种可选的实施例,如图3所示,指令集处理单元还包括:
非缓存一致性读取单元1032,用于在接收到非缓存一致性读数据指令后,若接收到内核单元中的二级缓存单元下发的取消读数据指令,则取消执行向一致性网络网格互联总线请求读数据的操作;若未接收到取消读数据指令,且非缓存一致性读数据指令未碰撞到非缓存一致性存储指令,则将非缓存一致性读数据指令转换为基于CHI协议的读数据字段,以向一致性网络网格互联总线发送携带有读数据字段的指令读请求;
非缓存一致性读取单元1032,还用于根据一致性网络网格互联总线的返回响应和二级缓存单元的同步信号,确定是否重新尝试向一致性网络网格互联总线发送指令读请求,或者收集错误并结束。
可选的,取消读数据指令是一种在数据读取前,由二级缓存单元发出的指示取消数据读取的操作,可以避免数据读取的无效和冗余问题。
可选的,碰撞是一种指示两个或多个指令之间存在数据或控制冲突的情况,可以导致数据读取的错误和延迟问题。
可选的,上述非缓存一致性读数据指令是一种从内存直接读取数据而不经过缓存的操作,可以避免缓存的命中和失效问题。上述读数据字段是一种包含数据地址和数据内容的信息,可以用于指示数据的读取位置和内容。
可选的,上述二级缓存单元的同步信号是一种指示数据读取的进度和状态的信息,可以用于判断数据读取的完成度和结果。
可选的,重新尝试发送指令读请求是一种在数据读取失败的情况下,再次向一致性网络网格互联总线发送指令读请求的操作,可以用于增加数据读取的成功率。收集错误并结束是一种在数据读取失败的情况下,记录错误信息并终止数据读取的操作,可以用于避免数据读取的错误和异常。
一种可选的实施例中,如图5所示,非缓存一致性读取单元的执行机制包括如下执行过程:
非缓存一致性读取译码处理单元,用于接收二级缓存传输过来的第一指令集(RISC指令集),译码处理第一指令集得到非缓存一致性读数据指令。
非缓存一致性读取单元,在接收到非缓存一致性读数据指令后,响应于接收到内核单元中的二级缓存单元下发的取消读数据指令Load-cancel,则取消执行向一致性网络网格互联总线请求读数据的操作;若未接收到取消读数据指令Load-cancel,且非缓存一致性读数据指令未碰撞hit到非缓存一致性存储指令,则将非缓存一致性读数据指令转换为基于CHI协议的读数据字段Readnosnp(读取不具有缓存一致性的数据),以向一致性网络网格互联总线发送携带有读数据字段的指令读请求。
上述示例中,通过非缓存一致性读取单元,根据内核单元中的二级缓存单元下发的取消读数据指令,取消执行向一致性网络网格互联总线请求读数据的操作,从而提高了系统的数据读取效率和灵活性。根据非缓存一致性读数据指令是否碰撞到非缓存一致性存储指令,将非缓存一致性读数据指令转换为基于CHI协议的读数据字段,从而提高了系统的数据读取正确性和兼容性。
并且,根据一致性网络网格互联总线的返回响应和二级缓存单元的同步信号,确定是否重新尝试发送指令读请求,或者收集错误并结束,从而提高了系统的数据读取可靠性和稳定性。
一种可选的实施例,如图3所示,指令集处理单元还包括:
无效高速缓存地址转换条目单元1033,用于将无效高速缓存地址转换条目指令转换为基于CHI协议的非同步字段,以向一致性网络网格互联总线发送携带有非同步字段的虚拟内存处理请求;
无效高速缓存地址转换条目单元1033,还用于根据一致性网络网格互联总线的返回响应,确定是否重新尝试向一致性网络网格互联总线发送虚拟内存处理请求,或者发送对应的虚拟内存数据给一致性网络网格互联总线;
无效高速缓存地址转换条目单元1033,还用于根据一致性网络网格互联总线的返回响应,确定结束发送虚拟内存数据。
可选的,本申请实施例中,无效高速缓存地址转换条目指令是一种将虚拟地址和物理地址之间的映射关系从高速缓存中删除的操作,可以避免地址转换的错误和冲突问题。
可选的,CHI协议是一种用于一致性网络网格互联总线的通信协议,可以实现数据的传输和响应。非同步字段是一种包含虚拟地址和操作码的信息,可以用于指示虚拟内存的处理请求。
可选的,一致性网络网格互联总线的返回响应是一种指示虚拟内存处理的结果的信息,可以用于判断虚拟内存处理的成功或失败。重新尝试发送虚拟内存处理请求是一种在虚拟内存处理失败的情况下,再次向一致性网络网格互联总线发送虚拟内存处理请求的操作,可以用于增加虚拟内存处理的成功率。发送对应的虚拟内存数据是一种在虚拟内存处理成功的情况下,向一致性网络网格互联总线发送虚拟内存的数据内容的操作,可以用于实现虚拟内存的读取或写入。
可选的,结束发送虚拟内存数据是一种在虚拟内存处理完成后,终止虚拟内存数据的传输的操作,可以用于避免虚拟内存数据的错误和异常。
本申请实施例,如图6所示,采用无效高速缓存地址转换条目单元,将无效高速缓存地址转换条目指令转换为基于CHI协议的非同步字段,从而提高了系统的虚拟内存处理效率和兼容性。之后,根据一致性网络网格互联总线的返回响应,确定是否重新尝试发送虚拟内存处理请求,或者发送对应的虚拟内存数据给一致性网络网格互联总线,从而提高了系统的虚拟内存处理可靠性和稳定性。最后,根据一致性网络网格互联总线的返回响应,确定结束发送虚拟内存数据,从而提高了系统的虚拟内存处理效率和稳定性。
一种可选的实施例,仍如图3所示,指令集处理单元还包括:
数据同步单元1034,用于将数据同步指令转换为基于CHI协议的同步字段,以向一致性网络网格互联总线发送携带有同步字段的虚拟内存处理请求;
数据同步单元1034,还用于根据一致性网络网格互联总线的返回响应,确定是否重新尝试向一致性网络网格互联总线发送携带有同步字段的虚拟内存处理请求,或者发送对应的虚拟内存数据给一致性网络网格互联总线;
数据同步单元,还用于根据一致性网络网格互联总线的返回响应,确定结束发送虚拟内存数据。
可选的,数据同步指令是一种保证数据在不同的处理器或内存之间一致的操作,可以避免数据的不一致和错误问题。CHI协议是一种用于一致性网络网格互联总线的通信协议,可以实现数据的传输和响应。同步字段是一种包含同步地址和操作码的信息,可以用于指示数据的同步请求。一致性网络网格互联总线的返回响应是一种指示数据同步的结果的信息,可以用于判断数据同步的成功或失败。
一种可选的实施例中,通过数据同步单元,将数据同步指令转换为基于CHI协议的同步字段,从而提高了系统的数据同步效率和兼容性。根据一致性网络网格互联总线的返回响应,确定是否重新尝试发送携带有同步字段的虚拟内存处理请求,或者发送对应的虚拟内存数据给一致性网络网格互联总线,从而提高了系统的数据同步可靠性和稳定性。
一种可选的示例中,重新尝试发送携带有同步字段的虚拟内存处理请求是一种在数据同步失败的情况下,再次向一致性网络网格互联总线发送虚拟内存处理请求的操作,可以用于增加数据同步的成功率。
另一种可选的示例中,在数据同步成功的情况下发送对应的虚拟内存数据,即向一致性网络网格互联总线发送虚拟内存的数据内容的操作,可以用于实现虚拟内存的读取或写入。
此外,本申请实施例,根据一致性网络网格互联总线的返回响应,确定结束发送虚拟内存数据,即在数据同步完成后,终止虚拟内存数据的传输的操作,可以用于避免虚拟内存数据的错误和异常,从而提高了系统的数据同步效率和稳定性。
一种可选的实施例,仍如图3所示,指令集处理系统还包括:
一级仲裁单元1035,用于确定任意一个待处理指令对应的多个请求的发送顺序;
二级仲裁单元1036,用于确定所有的待处理指令对应的多个请求的发送顺序。
该系统采用一级仲裁单元确定任意一个待处理指令对应的多个请求的发送顺序;采用二级仲裁单元确定所有的待处理指令对应的多个请求的发送顺序,从而提高了系统的请求处理效率和公平性。
可选的,一个待处理指令对应的多个请求,则采用一级仲裁单元仲裁出该待处理指令的多个请求的处理优先级,例如发送顺序、调度顺序。即一级仲裁单元是一种对一个待处理指令对应的多个请求进行优先级判断和调度的单元,可以保证请求的顺序和分配。每一类待处理指令是一种指示不同功能或操作的指令,例如非缓存一致性存储指令、非缓存一致性读数据指令、无效高速缓存地址转换条目指令、数据同步指令等中的一个。
可选的,多个待处理指令对应的多个请求,则采用二级仲裁单元仲裁出多个待处理指令的多个请求的处理优先级,例如发送顺序、调度顺序。二级仲裁单元是一种对所有的待处理指令对应的多个请求进行优先级判断和调度的单元,可以保证请求的顺序和分配。所有的待处理指令是一种指示所有功能或操作的指令,包括非缓存一致性存储指令、非缓存一致性读数据指令、无效高速缓存地址转换条目指令、数据同步指令等的全部。
一种可选的实施例,在图3中,一级仲裁单元1035和二级仲裁单元1036可以设置在指令集处理单元中,仍如图3所示,该二级仲裁单元1036还可以通过请求处理单元向一致性网络网格互联总线发送请求,二级仲裁单元1036还通过数据派发单元执行向一致性网络网格互联总线传输数据的操作。指令集处理系统中还可以采用反馈处理单元将一致性网络网格互联总线的响应返回给指令集处理单元,通过指令集处理系统中设置的上述各个单元,可以实现指令或数据的处理和响应。
采用本申请上述实施例:(1)实现了RISC指令集中Noncacheable指令转换为ARM指令的操作(2)实现目前RISC体系结构中只能通过Powerbus对指令传输的限制,可以通过CHI协议配合总线实了对内存数据的读写和多核数据交互(3)提高Noncacheable指令执行效率,缩减指令执行周期数。
本申请实施例的技术关键点在于:(1)RISC指令集中Noncacheable指令转换为ARM指令的执行机制,包括四类指令,RISC构架到ARM构架之间的指令执行流程。(2)指令转换并执行的机制中的重要部件:store/load/TLBIE/Sync的状态机,以及处理总线反馈的反馈处理rsp_handle模块,根据各类指令转换为向一致性网络网格互联总线的request flit单元和data flit发送模块req_disp/data_disp单元。
本申请提供一种指令集处理方法的实施例,图7为本申请实施例提供的一种指令集处理方法的流程示意图,如图7所示,该方法包括:
S101,响应于接收到内核单元发送给一致性网络网格互联总线的第一指令集,获取第一指令集的第一指令集格式;
S102,若第一指令集格式为精简指令集计算机架构下的指令集格式,则对第一指令集进行指令集处理,以将第一指令集格式转换为一致性网络网格互联总线支持处理的第二指令集格式,其中,第二指令集格式为ARM架构下的指令集格式,指令集处理包括如下至少之一:非缓存一致性存储、非缓存一致性读数据、无效高速缓存地址转换条目、数据同步。
可选的,内核单元是一种执行指令的处理器,可以支持处理不同架构下的指令集格式。一致性网络网格互联总线是一种支持处理ARM架构下的指令集格式的单元,可以实现指令的执行和响应。第一指令集格式和第二指令集格式用于指示两个不同的指示指令的编码方式、操作码、操作数等的信息,可以用于识别指令的类型和功能。
可选的,精简指令集计算机RISC架构是一种采用较少的指令和寄存器,但每条指令的执行速度较快的计算机架构。
可选的,ARM架构是一种基于精简指令集计算机RISC架构的低功耗、高性能的处理器架构。
本申请实施例中,指令集处理是一种对指令集进行译码和转换的操作,可以将不同架构下的指令集转换为统一的指令集格式。指令集处理的方式或内容包括如下至少之一:非缓存一致性存储Cache-inhibited store、非缓存一致性读数据Cache-inhibitedload、无效高速缓存地址转换条目TLBIE、数据同步SYNC。其中,非缓存一致性存储Cache-inhibited store是一种将数据直接写入内存而不经过缓存的操作,可以避免缓存的更新和失效问题。非缓存一致性读数据Cache-inhibited load是一种从内存直接读取数据而不经过缓存的操作,可以避免缓存的命中和失效问题。无效高速缓存地址转换条目TLBIE是一种将虚拟地址和物理地址之间的映射关系从高速缓存中删除的操作,可以避免地址转换的错误和冲突问题。数据同步SYNC是一种保证数据在不同的处理器或内存之间一致的操作,可以避免数据的不一致和错误问题。
采用本申请实施例提供的方法,响应于对接收到内核单元下发的第一指令集,获取内核单元支持处理的第一指令集格式和一致性网络网格互联总线支持处理的第二指令集格式,如果第一指令集是一种从内核单元接收到的需要进行指令集处理的指令集,可以包含不同类型和功能的指令。即第一指令集格式为精简指令集计算机RISC架构下的指令集格式,则对第一指令集进行指令集处理,以将第一指令集格式转换为一致性网络网格互联总线支持处理的第二指令集格式,从而提高了方法的指令集处理效率和兼容性。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
在示例性实施例中,本申请实施例还提供了一种电子设备,包括:处理器,以及与上述处理器连接的存储器;
上述存储器存储计算机执行指令;
上述处理器执行上述存储器存储的计算机执行指令,以实现如任一项上述全一致性请求节点中的指令。
在示例性实施例中,本申请实施例还提供了一种计算机可读存储介质,上述计算机可读存储介质中存储有计算机执行指令,上述计算机执行指令被处理器执行时用于实现如任一项上述全一致性请求节点中的指令。
在示例性实施例中,本申请实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现任一项上述全一致性请求节点中的指令。
为了实现上述实施例,本申请实施例还提供了一种电子设备。参考图8,其示出了适于用来实现本申请实施例的电子设备700的结构示意图,该电子设备700可以为终端设备或服务器。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、消息收发设备,游戏控制台,医疗设备,健身设备,个人数字助理(Personal DigitalAssistant,简称PDA)、平板电脑(Portable Android Device,简称PAD)、便携式多媒体播放器(Portable Media Player,简称PMP)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图8示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,电子设备700可以包括处理装置(例如中央处理器、图形处理器等)701,其可以根据存储在只读存储器(Read Only Memory ,简称ROM)702中的程序或者从存储装置708加载到随机访问存储器(Random Access Memory ,简称RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有电子设备700操作所需的各种程序和数据。处理装置701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
通常,以下装置可以连接至I/O接口705:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置706;包括例如液晶显示器(Liquid CrystalDisplay ,简称LCD)、扬声器、振动器等的输出装置707;包括例如磁带、硬盘等的存储装置708;以及通信装置709。通信装置709可以允许电子设备700与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的电子设备700,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置709从网络上被下载和安装,或者从存储装置708被安装,或者从ROM 702被安装。在该计算机程序被处理装置701执行时,执行本申请实施例的方法中限定的上述功能。
需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network ,简称LAN)或广域网(Wide Area Network ,简称WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (11)
1.一种指令集处理系统,其特征在于,所述指令集处理系统包括:
内核单元,用于支持处理精简指令集计算机架构下的指令集格式;
一致性网络网格互联总线,用于支持处理ARM架构下的指令集格式;
指令集处理单元,设置于所述内核单元和所述一致性网络网格互联总线之间,用于对接收到所述内核单元下发的第一指令集提供指令集处理功能,以将第一指令集格式转换为所述一致性网络网格互联总线支持处理的指令集格式,其中,所述指令集处理功能包括如下至少之一:非缓存一致性存储、非缓存一致性读数据、无效高速缓存地址转换条目、数据同步;
依赖性处理单元,用于在所述第一指令集译码得到的待处理指令为多个的情况下,对多个所述待处理指令进行依赖性检查,并以乱序或顺序方式将多个所述待处理指令发送给所述指令集处理单元;
多个译码处理单元,用于分别对接收到的所述第一指令集进行译码,以识别出所述第一指令集中的所述待处理指令,其中,所述待处理指令包括以下中的至少一者:非缓存一致性存储指令、非缓存一致性读数据指令、无效高速缓存地址转换条目指令、数据同步指令;
多个所述译码处理单元,还用于分别将译码得到的所述待处理指令存储至对应的指令队列,并根据所述依赖性处理单元的依赖性检查结果发送对应的所述待处理指令给所述指令集处理单元。
2.根据权利要求1所述的指令集处理系统,其特征在于,所述内核单元包括:
二级缓存单元,用于缓存所述内核单元指示发出的所有指令集,并将对所述所有指令集进行任务分配得到的所述第一指令集发送给所述指令集处理单元。
3.根据权利要求1所述的指令集处理系统,其特征在于,所述指令集处理单元包括:
非缓存一致性存储单元,用于将所述非缓存一致性存储指令转换为基于CHI协议的写数据字段,以向所述一致性网络网格互联总线发送携带有所述写数据字段的指令写请求;
所述非缓存一致性存储单元,还用于根据所述一致性网络网格互联总线的返回响应,确定是否将对应的非缓存一致性数据写入所述一致性网络网格互联总线,或者重新尝试向所述一致性网络网格互联总线发送所述指令写请求,或者收集错误并结束。
4.根据权利要求3所述的指令集处理系统,其特征在于,
所述非缓存一致性存储单元,还用于根据后续执行译码、转换处理得到基于CHI协议的写数据字段中的数据地址,确定是否合并执行将多个所述基于CHI协议的写数据字段写入所述一致性网络网格互联总线的操作。
5.根据权利要求3所述的指令集处理系统,其特征在于,
所述非缓存一致性存储单元,还用于和所述内核单元中的二级缓存单元进行握手,以统一所述第一指令集的处理进度;
所述非缓存一致性存储单元,还用于在与所述二级缓存单元握手完毕,且接收到所述一致性网络网格互联总线的数据写入响应后结束操作。
6.根据权利要求2所述的指令集处理系统,其特征在于,所述指令集处理单元还包括:
非缓存一致性读取单元,用于在接收到非缓存一致性读数据指令后,若接收到所述内核单元中的二级缓存单元下发的取消读数据指令,则取消执行向所述一致性网络网格互联总线请求读数据的操作;若未接收到所述取消读数据指令,且所述非缓存一致性读数据指令未碰撞到非缓存一致性存储指令,则将所述非缓存一致性读数据指令转换为基于CHI协议的读数据字段,以向所述一致性网络网格互联总线发送携带有所述读数据字段的指令读请求;
所述非缓存一致性读取单元,还用于根据所述一致性网络网格互联总线的返回响应和所述二级缓存单元的同步信号,确定是否重新尝试向所述一致性网络网格互联总线发送所述指令读请求,或者收集错误并结束。
7.根据权利要求2所述的指令集处理系统,其特征在于,所述指令集处理单元还包括:
无效高速缓存地址转换条目单元,用于将所述无效高速缓存地址转换条目指令转换为基于CHI协议的非同步字段,以向所述一致性网络网格互联总线发送携带有所述非同步字段的虚拟内存处理请求;
所述无效高速缓存地址转换条目单元,还用于根据所述一致性网络网格互联总线的返回响应,确定是否重新尝试向所述一致性网络网格互联总线发送所述虚拟内存处理请求,或者发送对应的虚拟内存数据给所述一致性网络网格互联总线;
所述无效高速缓存地址转换条目单元,还用于根据所述一致性网络网格互联总线的返回响应,确定结束发送所述虚拟内存数据。
8.根据权利要求2所述的指令集处理系统,其特征在于,所述指令集处理单元还包括:
数据同步单元,用于将所述数据同步指令转换为基于CHI协议的同步字段,以向所述一致性网络网格互联总线发送携带有所述同步字段的虚拟内存处理请求;
所述数据同步单元,还用于根据所述一致性网络网格互联总线的返回响应,确定是否重新尝试向所述一致性网络网格互联总线发送所述携带有同步字段的虚拟内存处理请求,或者发送对应的虚拟内存数据给所述一致性网络网格互联总线;
所述数据同步单元,还用于根据所述一致性网络网格互联总线的返回响应,确定结束发送所述虚拟内存数据。
9.根据权利要求3至8中任意一项所述的指令集处理系统,其特征在于,所述指令集处理系统还包括:
一级仲裁单元,用于确定任意一个所述待处理指令对应的多个请求的发送顺序;
二级仲裁单元,用于确定所有的所述待处理指令对应的多个请求的发送顺序。
10.一种指令集处理方法,其特征在于,所述方法包括:
响应于接收到内核单元发送给一致性网络网格互联总线的第一指令集,获取所述第一指令集的第一指令集格式;
若所述第一指令集格式为精简指令集计算机架构下的指令集格式,则对所述第一指令集进行指令集处理,以将所述第一指令集格式转换为所述一致性网络网格互联总线支持处理的第二指令集格式,其中,所述第二指令集格式为ARM架构下的指令集格式,所述指令集处理包括如下至少之一:非缓存一致性存储、非缓存一致性读数据、无效高速缓存地址转换条目、数据同步;
若所述第一指令集译码得到的待处理指令为多个,则对多个所述待处理指令进行依赖性检查,并以乱序或顺序方式将多个所述待处理指令发送给指令集处理单元;
分别对接收到的所述第一指令集进行译码,以识别出所述第一指令集中的所述待处理指令,其中,所述待处理指令包括以下中的至少一者:非缓存一致性存储指令、非缓存一致性读数据指令、无效高速缓存地址转换条目指令、数据同步指令;
分别将译码得到的所述待处理指令存储至对应的指令队列,并根据依赖性处理单元的依赖性检查结果发送对应的所述待处理指令给所述指令集处理单元。
11.一种电子设备,其特征在于,包括:处理器,以及与所述处理器连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求10中的方法步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410544616.9A CN118426840A (zh) | 2024-01-23 | 2024-01-23 | 指令集处理系统、方法及电子设备 |
CN202410089039.9A CN117608667B (zh) | 2024-01-23 | 2024-01-23 | 指令集处理系统、方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410089039.9A CN117608667B (zh) | 2024-01-23 | 2024-01-23 | 指令集处理系统、方法及电子设备 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410544616.9A Division CN118426840A (zh) | 2024-01-23 | 2024-01-23 | 指令集处理系统、方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117608667A CN117608667A (zh) | 2024-02-27 |
CN117608667B true CN117608667B (zh) | 2024-05-24 |
Family
ID=89950246
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410089039.9A Active CN117608667B (zh) | 2024-01-23 | 2024-01-23 | 指令集处理系统、方法及电子设备 |
CN202410544616.9A Pending CN118426840A (zh) | 2024-01-23 | 2024-01-23 | 指令集处理系统、方法及电子设备 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410544616.9A Pending CN118426840A (zh) | 2024-01-23 | 2024-01-23 | 指令集处理系统、方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN117608667B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118550868A (zh) * | 2024-07-29 | 2024-08-27 | 山东云海国创云计算装备产业创新中心有限公司 | 调整策略的确定方法和装置、存储介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679480A (zh) * | 2013-11-27 | 2015-06-03 | 上海芯豪微电子有限公司 | 一种指令集转换系统和方法 |
CN106843808A (zh) * | 2017-01-06 | 2017-06-13 | 福建升腾资讯有限公司 | 一种兼容不同格式类型的指令解析方法 |
CN117355824A (zh) * | 2021-06-01 | 2024-01-05 | 国际商业机器公司 | 重置动态地址转换保护指令 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11593278B2 (en) * | 2020-09-28 | 2023-02-28 | Vmware, Inc. | Using machine executing on a NIC to access a third party storage not supported by a NIC or host |
-
2024
- 2024-01-23 CN CN202410089039.9A patent/CN117608667B/zh active Active
- 2024-01-23 CN CN202410544616.9A patent/CN118426840A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679480A (zh) * | 2013-11-27 | 2015-06-03 | 上海芯豪微电子有限公司 | 一种指令集转换系统和方法 |
CN106843808A (zh) * | 2017-01-06 | 2017-06-13 | 福建升腾资讯有限公司 | 一种兼容不同格式类型的指令解析方法 |
CN117355824A (zh) * | 2021-06-01 | 2024-01-05 | 国际商业机器公司 | 重置动态地址转换保护指令 |
Non-Patent Citations (1)
Title |
---|
一种应用定制指令集可重构结构及FFT算法映射优化;刘磊;杨子煜;沈剑良;李思昆;;国防科技大学学报;20121228(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117608667A (zh) | 2024-02-27 |
CN118426840A (zh) | 2024-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110647480B (zh) | 数据处理方法、远程直接访存网卡和设备 | |
CN117608667B (zh) | 指令集处理系统、方法及电子设备 | |
CN114089920B (zh) | 数据存储方法、装置、可读介质及电子设备 | |
CN100464319C (zh) | 实现处理器之间进行通讯的装置和方法 | |
JP2001117859A (ja) | バス制御装置 | |
US20160275026A1 (en) | Weakly ordered doorbell | |
CN117539664B (zh) | 基于dpu的远程过程调用方法、设备及存储介质 | |
CN111274171B (zh) | 一种数据传输装置及方法 | |
CN110825435A (zh) | 用于处理数据的方法和装置 | |
CN113672030A (zh) | 数据传输速率发生器和相关装置及方法 | |
CN113672555B (zh) | 处理器核、处理器、片上系统和调试系统 | |
CN114924792A (zh) | 指令译码单元、指令执行单元及相关装置和方法 | |
CN115185867A (zh) | 处理访问请求的方法 | |
CN115098030A (zh) | 虚拟磁盘写入或读出数据的方法、装置及计算机设备 | |
EP4050483A1 (en) | Data processing method, apparatus, electronic device and computer-readable storage medium | |
CN113885943A (zh) | 处理单元、片上系统、计算装置及方法 | |
CN117851285A (zh) | 全一致性请求节点、分布式虚拟内存操作处理系统、方法 | |
CN117170750B (zh) | 多源操作数指令的调度方法、装置、处理器、设备及介质 | |
CN116561036B (zh) | 数据访问控制方法、装置、设备及存储介质 | |
CN115617732B (zh) | Apb总线结构、片上系统、车辆及访问方法 | |
CN117539802B (zh) | 一种缓存操作方法、系统以及相关装置 | |
CN118170437A (zh) | 指令处理方法、装置、设备及存储介质 | |
CN117749739B (zh) | 数据发送方法、数据接收方法、装置、设备及存储介质 | |
CN116991593B (zh) | 操作指令处理方法、装置、设备及存储介质 | |
CN118760536A (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 | ||
GR01 | Patent grant |