CN104461460B - 同时配置多个内核寄存器的方法及装置 - Google Patents
同时配置多个内核寄存器的方法及装置 Download PDFInfo
- Publication number
- CN104461460B CN104461460B CN201410630531.9A CN201410630531A CN104461460B CN 104461460 B CN104461460 B CN 104461460B CN 201410630531 A CN201410630531 A CN 201410630531A CN 104461460 B CN104461460 B CN 104461460B
- Authority
- CN
- China
- Prior art keywords
- configuration
- base address
- register
- kernel
- parallel deployment
- 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
Landscapes
- Multi Processors (AREA)
Abstract
本发明提供一种同时配置多个内核寄存器的方法及装置,所述方法包括:在***多内核架构中增加一并行配置基地址;接收***配置请求指令;判断***配置请求指令中的基地址是并行配置基地址还是独立的配置基地址;若***配置请求指令中的基地址为独立的配置基地址,则查询配置基地址指向的***内核,并对***内核中对应偏移地址的寄存器进行配置;若***配置请求指令中的基地址为并行配置基地址,则对***内核中对应所述偏移地址的所有寄存器进行同时配置。本发明通过在***多内核架构中增加一并行配置基地址以及并行配置使能寄存器,发送一条指令即可以同时配置多个内核寄存器,提高了采用多内核架构的芯片的寄存器配置效率。
Description
技术领域
本发明涉及网络通信领域,尤其涉及集成电路的芯片设计中的一种同时配置多个内核寄存器的方法及装置。
背景技术
芯片中的内核是指一个数据或报文处理单元,把多个具有相同功能的内核集成在一起,并行的处理入口数据称之为多内核架构。采用多内核并行处理的架构对于网络交换芯片的设计尤为重要,其能够显著提升芯片的处理带宽,解决当前日益提高的带宽需求。但是采用多内核架构也使得芯片内部寄存器的数量成倍增长。
对多内核架构的传统配置方法为:通过寄存器的基地址和偏移地址逐个内核去配置。
如图1所示,主机通过控制模块发出寄存器配置命令,从机通过指令解析模块响应控制模块发出的命令,并作出相应配置动作。本实施方式中,假设芯片有n个内核,每个内核被分配一个基地址,所述内核分别为B1,B2,…,Bn,另外,每个内核中有m个寄存器,每个寄存器都将被分配一个偏移地址,分别为O1,O2,Om。上层控制模块发出的配置指令中包括指示将要寻址的内核的基地址以及指示寄存器的偏移地址,指令解析模块收到该条配置指令后将会解析出基地址,并根据此基地址往对应的内核发送配置请求,内核收到配置请求后根据偏移地址完成对应寄存器的配置,同时返回应答信号和状态标志信号(如错误标志信号、超时标志信号等)。其中,错误标志信号表示此次访问中出现错误,需要主机采取相应错误处理;超时标志信号表示配置指令发出后,在指定时间内未得到相应处理,于是由指令解析模块告知控制模块此次访问超时,需要主机采取相应处理。
本实施方式中,对内核芯片的寄存器进行配置过程如下:
S1、发送内核1基地址B1+寄存器1偏移地址O1,完成寄存器1的配置;
S2、发送内核1基地址B1+寄存器2偏移地址O2,完成寄存器2的配置;
S3、发送内核1基地址B1+寄存器m偏移地址Om,完成寄存器m的配置,至此内核1中所有寄存器配置结束;
S4、重复步骤S1- S3,将基地址换成B2,完成内核2中的寄存器配置;
S5、重复步骤S1- S3,将基地址换成Bn,完成内核n中的寄存器配置;
如此,若寄存器具有n个内核,每个内核中设置有m个芯片,那么,完成全部寄存器的配置将需要对其配置n*m次,使得寄存器配置效率过慢,配置过程变得很长。
发明内容
本发明的目的在于提供一种同时配置多个内核寄存器的方法及装置。
为实现上述目的之一,本发明一实施方式的同时配置多个内核寄存器的方法,所述方法包括:在***多内核架构中增加一并行配置基地址,所述并行配置基地址用于执行多内核并行配置;
接收***配置请求指令,所述***配置请求指令包括计划配置寄存器的基地址和偏移地址;
判断所述***配置请求指令中的基地址是并行配置基地址还是独立的配置基地址;
若所述***配置请求指令中的基地址为独立的配置基地址,则查询所述配置基地址指向的***内核,并对所述***内核中对应偏移地址的寄存器进行配置;
若所述***配置请求指令中的基地址为并行配置基地址,则对所述***内核中对应所述偏移地址的所有寄存器进行同时配置。
作为本发明的进一步改进,所述方法还包括:
在***多内核架构中增加一并行配置使能寄存器 ,所述并行配置使能寄存器 用于存储是否对所述内核使能并行配置的使能指令;
若所述配置请求指令中的基地址指向所述并行配置基地址,则查询所述并行配置使能寄存器 ,根据所述并行配置使能寄存器 存储的使能指令选择待配置所述***内核。
作为本发明的进一步改进,所述方法还包括:
对所述并行配置使能寄存器预配置;
所述并行配置寄存器的位宽等于***内核数量,其中每一比特对应一个***内核的基地址的并行配置使能状态;
若对应所述基地址的所述比特位置为1,则表示所述并行配置请求指令下发后,所述基地址下的寄存器允许配置;
若对应所述基地址的所述比特位置为0,则表示所述并行配置请求指令下发后,对所述基地址下的寄存器不允许配置。
作为本发明的进一步改进,所述方法还包括:
根据***配置请求指令完成对所述寄存器进行配置后,反馈所配置的寄存器的配置结果;
接收并保存反馈的所有配置结果,并根据保存的配置结果生成应答信号进行输出。
作为本发明的进一步改进,“接收并保存反馈的所有配置结果,根据保存的配置结果生成应答信号进行输出”,具体包括:
在***预设时间内,判断对应所述寄存器的所有配置结果是否全部反馈,
若所有配置结果未完全反馈,则输出的应答信号为配置超时信号,并在发送所述应答信号的同时结束当前***配置指令,标识本次配置失败;
若所有配置结果均完全反馈,则继续判断所有配置结果是否全部正确,
若是,则输出的应答信号为配置成功信号;
若否,则输出的应答信号为配置错误信号,并在发送所述应答信号的同时结束当前***配置指令,标识本次配置失败。
为实现上述目的之一,本发明一实施方式的同时配置多个内核寄存器的装置,所述装置包括:控制模块、指令解析模块;
所述指令解析模块中设置并行配置基地址,所述并行配置基地址用于执行多内核并行配置;
所述控制模块用于发送***配置请求指令,所述***配置请求指令包括计划配置寄存器的基地址和偏移地址;
所述指令解析模块用于接收***配置请求指令;
判断所述***配置请求指令中的基地址是并行配置基地址还是独立的配置基地址;
若所述***配置请求指令中的基地址为独立的配置基地址,则查询所述配置基地址指向的***内核,并对所述***内核中对应偏移地址的寄存器进行配置;
若所述***配置请求指令中的基地址为并行配置基地址,则对所述***内核中对应所述偏移地址的所有寄存器进行同时配置。
作为本发明的进一步改进,所述指令解析模块中还设置一并行配置使能寄存器 ,所述并行配置使能寄存器 用于存储是否对所述内核使能并行配置的使能指令;
所述指令解析模块还用于:
若所述配置请求指令中的基地址指向所述并行配置基地址,则查询所述并行配置使能寄存器 ,根据所述并行配置使能寄存器 存储的使能指令选择待配置所述***内核。
作为本发明的进一步改进,所述指令解析模块还用于:
对所述并行配置使能寄存器预配置;
所述并行配置寄存器的位宽等于***内核数量,其中每一比特对应一个***内核的基地址的并行配置使能状态;
若对应所述基地址的所述比特位置为1,则表示所述并行配置请求指令下发后,所述基地址下的寄存器允许配置;
若对应所述基地址的所述比特位置为0,则表示所述并行配置请求指令下发后,对所述基地址下的寄存器不允许配置。
作为本发明的进一步改进,所述指令解析模块还用于:
根据***配置请求指令完成对所述寄存器进行配置后,反馈所配置的寄存器的配置结果;
接收并保存反馈的所有配置结果,并根据保存的配置结果生成应答信号进行输出。
作为本发明的进一步改进,所述指令解析模块还用于:
在***预设时间内,判断对应所述寄存器的所有配置结果是否全部反馈,
若所有配置结果未完全反馈,则输出的应答信号为配置超时信号,并在发送所述应答信号的同时结束当前***配置指令,标识本次配置失败;
若所有配置结果均完全反馈,则继续判断所有配置结果是否全部正确,
若是,则输出的应答信号为配置成功信号;
若否,则输出的应答信号为配置错误信号,并在发送所述应答信号的同时结束当前***配置指令,标识本次配置失败。
与现有技术相比,本发明的有益效果是:本发明的同时配置多个内核寄存器的方法及装置,通过在***多内核架构中增加一并行配置基地址以及并行配置使能寄存器 ,发送一条指令即可以同时配置多个内核寄存器,提高了采用多内核架构的芯片的寄存器配置效率,而且,该技术与简单的广播方式不同,它合理地处理了反馈结果,会记录多个内核反馈结果的状态,并上报给上层控制逻辑。另外,该方法及装置还可完全兼容传统的配置方法及装置,实现简单,可被用户广泛接受。
附图说明
图1是背景技术中多内核架构的传统配置模块图;
图2是本发明一实施方式中同时配置多个内核寄存器的方法的流程图;
图3是本发明一实施方式中同时配置多个内核寄存器的装置的模块图。
具体实施方式
以下将结合附图所示的具体实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
本发明的同时配置多个内核寄存器的方法同样为通过寄存器的基地址和偏移地址对多个内核寄存器进行配置,其与现有技术的区别在于,本发明除了可以逐个对所述内核进行配置外,还可以一次对多个内核进行同时配置,以下将会详细介绍。
如图2所示,在本发明的一实施方式中,同时配置多个内核寄存器的方法包括:
在***多内核架构中增加一并行配置基地址,所述并行配置基地址用于执行多内核并行配置;
本实施方式中,若***内核的基地址指向所述并行配置基地址,则同时对所有内核中相同的寄存器同时进行配置。
在本发明一实施方式中,所述同时配置多个内核寄存器的方法包括:
接收***配置请求指令,所述***配置请求指令包括计划配置寄存器的基地址和偏移地址;
判断所述***配置请求指令中的基地址是并行配置基地址还是独立的配置基地址;
若所述***配置请求指令中的基地址为独立的配置基地址,则查询所述配置基地址指向的***内核,并对所述***内核中对应偏移地址的寄存器进行配置;
若所述***配置请求指令中的基地址为并行配置基地址,则对所述***内核中对应所述偏移地址的所有寄存器进行同时配置。
通常,对需要配置的***内核发送***配置请求指令,待相应的***内核接收到***配置请求指令后,反馈相应的应答信号,并根据所述应答信号判断配置是否完成。
本实施例中,***中设置n个内核,分别为内核1、内核2…,内核n,n为正整数;每个内核被分配一个唯一的基地址,分别为B1、B2…,Bn,另外,每个内核中设置有m个寄存器,分别为寄存器1、寄存器2…,寄存器m,每一个寄存器被分配一个唯一的偏移地址;分别为:O1、O2…,Om;进一步的,在***多内核架构中还增加一并行配置基地址BA,所述并行配置基地址BA区别与前述基地址B1、B2…,Bn,用于执行多内核并行配置,即当***配置请求指令指向并行配置基地址BA时,表示***配置请求指令同时指向B1、B2…,Bn。
例如:若发出的***配置请求指令为:基地址B1 + O1,即表示本次需要对内核1中的寄存器1进行配置,同理,若发出的***配置请求指令为:基地址Bn + Om,即表示本次需要对内核n中的寄存器m进行配置;该种配置请求指令兼容传统的配置请求指令,在此不做详细赘述。
进一步的,若发出的***配置请求指令为:基地址BA+O1,即表示本次需要对所有内核中的寄存器1进行配置。
进一步的,对***内核中的寄存器进行配置过程中,通常需要对内核进行选择,如上示例中,本次配置过程,仅需要对内核2至内核n中的寄存器1进行配置,那么同样需要对内核2至内核n中的寄存器1进行逐一配置。
本实施方式中,为了在配置过程中,可选择的同时对芯片中的多个内核进行配置。
进一步,所述同时配置多个内核寄存器的方法还包括:
在***多内核架构中增加一并行配置使能寄存器 ,所述并行配置使能寄存器用于存储是否对所述内核使能并行配置的使能指令;
本实施方式中,根据用户需求,对所述并行配置使能寄存器预配置。
所述并行配置寄存器的位宽等于***内核数量,以使所述并行配置寄存器中的每一比特位置对应标识一个***内核的基地址的并行配置使能状态,本实施方式中,用数字0和1表示***内核使能状态,
若对应所述基地址的所述比特位置为1,则表示所述并行配置请求指令下发后,所述基地址下的寄存器允许配置;
若对应所述基地址的所述比特位置为0,则表示所述并行配置请求指令下发后,对所述基地址下的寄存器不允许配置。
进一步的,所述同时配置多个内核寄存器的方法还包括:
若所述配置请求指令中的基地址指向所述并行配置基地址,则查询所述并行配置使能寄存器,根据所述并行配置使能寄存器存储的使能指令选择待配置所述***内核,若所述配置请求指令中的基地址指向普通的基地址,本示例中,普通的基地址为B1、B2…,Bn,那么,则可以省略查询所述并行配置使能寄存器 这一步骤,如此,并不会增加对单个内核中的一个寄存器进行配置的时间。
当然,在本发明的其他实施方式中,也可以不必判断所述配置请求指令中的基地址是否指向所述并行配置基地址,即在接收到配置请求指令后,均对并行配置使能寄存器进行查询,在此不做详细赘述。
在确定本次所述配置请求指令指向单个内核中的一个寄存器,还是指向多个内核中的同一个寄存器后,即对相应的寄存器进行配置。
进一步的,根据***配置请求指令完成对所述寄存器进行配置后,反馈所配置的寄存器的配置结果;以供用户参考是否可以发送数据或报文。
本实施方式中,所述同时配置多个内核寄存器的方法还包括:
根据***配置请求指令完成对所述寄存器进行配置后,反馈所配置的寄存器的配置结果;
接收并保存反馈的所有配置结果,并根据保存的配置结果生成应答信号进行输出。
本实施方式中,若同时对多个内核的同一寄存器进行配置,那么配置结束时,将会收到来自于多个内核中相同寄存器的不同反馈结果,且反馈的结果中可能包括正确的应答信号或是错误的应答信号等,同时,每个内核反馈结果的时刻也是不固定的,其反馈结果的时刻可能在同一时刻,也可能有先有后,如此,在接收到反馈信号后,生成应答信号包含的信息以及发出的指令必然有所不同。
本实施方式中,生成的应答信号可以为配置成功信号、配置超时信号、配置错误信号等。
本发明的优选实施方式中,当内核中的信号返回后,需要判断在***预设时间内,对应所述寄存器的所有配置结果是否全部反馈。
若对应所述寄存器的所有配置结果未全部反馈,则输出的应答信号为配置错误信号,并在发送所述应答信号的同时结束当前***配置指令,标识本次配置失败。若所有配置结果全部反馈,则需要进一步判断反馈的配置结果是否全部正确;
若是,则输出的应答信号为配置成功信号;
若否,则输出的应答信号为配置错误信号,并在发送所述应答信号的同时结束当前***配置指令,标识本次配置失败。
进一步的,在本发明的其他实施方式中,还可以将产生配置结果错误信号或产生配置延时信号的相应寄存器的详细信息进行输出,例如:产生错误或延时的寄存器的基地址和偏移地址,错误产生或延时产生的原因等,以供后续分析参考,在此不做详细赘述。
本示例中,在所述并行配置寄存器的所有比特位置全部为1的情况下,对内核芯片的寄存器进行并行配置过程如下:S1、发送并行配置地址BA+寄存器1地址O1,完成内核1-n中寄存器1的配置;
S2、发送并行配置地址BA+寄存器2地址O2,完成内核1-n中寄存器2的配置
S3、发送并行配置地址BA+寄存器m地址Om,完成内核1-n中寄存器m的配置,至此,所有内核中的寄存器配置结束。
如此,由于采用并行配置,若***中具有n个内核,每个内核中设置有m个寄存器,那么,完成全部寄存器的配置将需要对其配置n次,相当于传统方法中配置一个内核的时间,若需要对所述内核中的全部寄存器进行配置,本发明的同时配置多个内核寄存器的方法及装置相比于传统的配置方式,配置效率提高了n倍。而且,该技术与简单的广播方式不同,它合理地处理了反馈结果,会记录多个内核反馈结果的状态,并上报给上层控制逻辑,例如:CPU等。另外,该方法及装置还可完全兼容传统的配置方法及装置,实现简单,可被用户广泛接受。
结合图3所示,在本发明的第一实施方式中,同时配置多个内核寄存器的装置包括:控制模块100、指令解析模块200。
所述指令解析模块中设置并行配置基地址BA、以及并行配置使能寄存器 REN。
并行配置基地址BA用于执行多内核并行配置;
并行配置使能寄存器 REN用于存储是否对所述内核使能并行配置的使能指令。
控制模块100用于发送***配置请求指令,所述***配置请求指令包括计划配置寄存器的基地址和偏移地址;
指令解析模块200用于接收***配置请求指令,所述***配置请求指令包括计划配置寄存器的基地址和偏移地址;
判断所述***配置请求指令中的基地址是并行配置基地址BA还是独立的配置基地址;
若所述***配置请求指令中的基地址为独立的配置基地址,则查询所述配置基地址指向的***内核,并对所述***内核中对应偏移地址的寄存器进行配置;
若所述***配置请求指令中的基地址为并行配置基地址BA,则对所述***内核中对应所述偏移地址的所有寄存器进行同时配置。
本实施例中,***中设置n个内核,分别为内核1、内核2…,内核n,n为正整数;每个内核被分配一个唯一的基地址,分别为B1、B2…,Bn,另外,每个内核中设置有m个寄存器,分别为寄存器1、寄存器2…,寄存器m,每一个寄存器被分配一个唯一的偏移地址;分别为:O1、O2…,Om;进一步的,在***多内核架构中还增加一并行配置基地址BA,所述并行配置基地址BA区别与前述基地址B1、B2…,Bn,用于执行多内核并行配置,即当***配置请求指令指向并行配置基地址BA时,表示***配置请求指令同时指向B1、B2…,Bn。
例如:若发出的***配置请求指令为:基地址B1 + O1,即表示本次需要对内核1中的寄存器1进行配置,同理,若发出的***配置请求指令为:基地址Bn + Om,即表示本次需要对内核n中的寄存器m进行配置;该种配置请求指令兼容传统的配置请求指令,在此不做详细赘述。
进一步的,若控制模块100发出的***配置请求指令为:基地址BA + O1,即表示本次需要对所有内核中的寄存器1进行配置。
进一步的,指令解析模块200对***内核中的寄存器进行配置过程中,通常需要对内核进行选择,如上示例中,本次配置过程,仅需要对内核2至内核n中的寄存器1进行配置,那么同样需要对内核2至内核n中的寄存器1进行逐一配置。
本实施方式中,为了在配置过程中,可选择的同时对芯片中的多个内核进行配置。
本实施方式中,根据用户需求,对所述并行配置使能寄存器 REN预配置。
并行配置寄存器REN的位宽等于***内核数量,以使并行配置寄存器REN的每一比特位置对应标识一个***内核的基地址的并行配置使能状态,本实施方式中,用数字0和1表示***内核使能状态,
指令解析模块200若判定对应所述基地址的所述比特位置为1,则表示所述并行配置请求指令下发后,所述基地址下的寄存器允许配置;
若判定对应所述基地址的所述比特位置为0,则表示所述并行配置请求指令下发后,对所述基地址下的寄存器不允许配置。
进一步的,指令解析模块200若判定所述配置请求指令中的基地址指向所述并行配置基地址BA,则查询所述并行配置使能寄存器REN,根据所述并行配置使能寄存器 REN存储的使能指令选择待配置所述***内核,若所述配置请求指令中的基地址指向普通的基地址,本示例中,普通的基地址为B1、B2…,Bn,那么,则可以省略查询所述并行配置使能寄存器REN这一步骤,如此,并不会增加对单个内核中的一个寄存器进行配置的时间。
当然,在本发明的其他实施方式中,指令解析模块200也可以不必判断所述配置请求指令中的基地址是否指向所述并行配置基地址BA,即在接收到控制模块100发出的配置请求指令后,均对并行配置使能寄存器 REN进行查询,在此不做详细赘述。
指令解析模块200在确定本次所述配置请求指令指向单个内核中的一个寄存器,还是指向多个内核中的同一个寄存器后,即对相应的寄存器进行配置。
进一步的,指令解析模块200根据***配置请求指令完成对所述寄存器进行配置后,反馈所配置的寄存器的配置结果;以供用户参考是否可以发送数据或报文。
本实施方式中,指令解析模块200根据***配置请求指令完成对所述寄存器进行配置后,反馈所配置的寄存器的配置结果;
接收并保存反馈的所有配置结果,并根据保存的配置结果生成应答信号进行输出。
本实施方式中,指令解析模块200若同时对多个内核的同一寄存器进行配置,那么配置结束时,将会收到来自于多个内核中相同寄存器的不同反馈结果,且反馈的结果中可能包括正确的应答信号或是错误的应答信号等,同时,每个内核反馈结果的时刻也是不固定的,其反馈结果的时刻可能在同一时刻,也可能有先有后,如此,在接收到反馈信号后,生成应答信号包含的信息以及发出的指令必然有所不同。
本实施方式中,生成的应答信号可以为配置成功信号、配置超时信号、配置错误信号等。
本发明的优选实施方式中,当内核中的信号返回后,指令解析模块200需要判断在***预设时间内,对应所述寄存器的所有配置结果是否全部反馈。
指令解析模块200若判定对应所述寄存器的所有配置结果未全部反馈,则输出的应答信号为配置错误信号,并在发送所述应答信号的同时结束当前***配置指令,标识本次配置失败。指令解析模块200若判定所有配置结果全部反馈,则需要进一步判断反馈的配置结果是否全部正确;
若是,则输出的应答信号为配置成功信号;
若否,则输出的应答信号为配置错误信号,并在发送所述应答信号的同时结束当前***配置指令,标识本次配置失败。
进一步的,在本发明的其他实施方式中,指令解析模块200还可以将产生配置结果错误信号或产生配置延时信号的相应寄存器的详细信息进行输出,例如:产生错误或延时的寄存器的基地址和偏移地址,错误产生或延时产生的原因等,以供后续分析参考,在此不做详细赘述。
本示例中,在所述并行配置寄存器的所有比特位置全部为1的情况下,指令解析模块200对内核芯片的寄存器进行并行配置过程如下:
发送并行配置地址BA+寄存器1地址O1,完成内核1-n中寄存器1的配置;
重复上述步骤,发送并行配置地址BA+寄存器m地址Om,完成内核1-n中寄存器m的配置,至此,所有内核中的寄存器配置结束。
如此,由于采用并行配置,若***中具有n个内核,每个内核中设置有m个寄存器,那么,完成全部寄存器的配置将需要对其配置n次,相当于传统方法中配置一个内核的时间,若需要对所述内核中的全部寄存器进行配置,本发明的同时配置多个内核寄存器的方法及装置相比于传统的配置方式,配置效率提高了n倍。
与现有技术相比,本发明的同时配置多个内核寄存器的方法及装置,通过在***多内核架构中增加一并行配置基地址以及并行配置使能寄存器 ,发送一条指令即可以同时配置多个内核寄存器,提高了采用多内核架构的芯片的寄存器配置效率,而且,该技术与简单的广播方式不同,它合理地处理了反馈结果,会记录多个内核反馈结果的状态,并上报给上层控制逻辑,例如:CPU等。另外,该方法及装置还可完全兼容传统的配置方法及装置,实现简单,可被用户广泛接受。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以保存在保存介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,信息推送服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。
以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请可用于众多通用或专用的计算***环境或配置中。例如:个人计算机、信息推送服务器计算机、手持设备或便携式设备、平板型设备、多处理模块***、基于微处理模块的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括保存设备在内的本地和远程计算机保存介质中。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
Claims (6)
1.一种同时配置多个内核寄存器的方法,其特征在于,
所述方法包括:
在***多内核架构中增加一并行配置基地址和并行配置使能寄存器;以及对所述并行配置使能寄存器预配置;
所述并行配置基地址用于执行多内核并行配置;所述并行配置使能寄存器用于存储是否对***内核使能并行配置的使能指令;所述并行配置使能寄存器的位宽等于***内核数量,其中每一比特位置对应标识一个***内核的基地址的并行配置使能状态;若对应所述基地址的所述比特位置为1,则表示***配置请求指令下发后,所述基地址下的寄存器允许配置;若对应所述基地址的所述比特位置为0,则表示所述***配置请求指令下发后,对所述基地址下的寄存器不允许配置;
接收***配置请求指令,所述***配置请求指令包括计划配置寄存器的基地址和偏移地址;
判断所述***配置请求指令中的基地址是并行配置基地址还是独立的配置基地址;
若所述***配置请求指令中的基地址为独立的配置基地址,则查询所述配置基地址指向的***内核,并对所述***内核中对应偏移地址的寄存器进行配置;
若所述***配置请求指令中的基地址为并行配置基地址,则查询所述并行配置使能寄存器,根据所述并行配置使能寄存器存储的使能指令选择待配置的***内核;并对所述***多内核架构中所有待配置的***内核中对应所述偏移地址的所有寄存器进行同时配置。
2.根据权利要求1所述的同时配置多个内核寄存器的方法,其特征在于,所述方法还包括:
根据***配置请求指令完成对所述寄存器进行配置后,反馈所配置的寄存器的配置结果;
接收并保存反馈的所有配置结果,并根据保存的配置结果生成应答信号进行输出。
3.根据权利要求2所述的同时配置多个内核寄存器的方法,其特征在于,接收并保存反馈的所有配置结果,根据保存的配置结果生成应答信号进行输出,具体包括:
在***预设时间内,判断对应所述寄存器的所有配置结果是否全部反馈,
若所有配置结果未完全反馈,则输出的应答信号为配置超时信号,并在发送所述应答信号的同时结束当前***配置指令,标识本次配置失败;
若所有配置结果均完全反馈,则继续判断所有配置结果是否全部正确,
若是,则输出的应答信号为配置成功信号;
若否,则输出的应答信号为配置错误信号,并在发送所述应答信号的同时结束当前***配置指令,标识本次配置失败。
4.一种同时配置多个内核寄存器的装置,其特征在于,所述装置包括:控制模块、指令解析模块;
所述指令解析模块中设置并行配置基地址和并行配置使能寄存器;并用于对所述并行配置使能寄存器预配置;
所述并行配置基地址用于执行多内核并行配置;所述并行配置使能寄存器用于存储是否对***内核使能并行配置的使能指令;所述并行配置使能寄存器的位宽等于***内核数量,其中每一比特位置对应标识一个***内核的基地址的并行配置使能状态;若对应所述基地址的所述比特位置为1,则表示***配置请求指令下发后,所述基地址下的寄存器允许配置;若对应所述基地址的所述比特位置为0,则表示所述***配置请求指令下发后,对所述基地址下的寄存器不允许配置;
所述控制模块用于发送***配置请求指令,所述***配置请求指令包括计划配置寄存器的基地址和偏移地址;
所述指令解析模块还用于接收***配置请求指令;判断所述***配置请求指令中的基地址是并行配置基地址还是独立的配置基地址;
若所述***配置请求指令中的基地址为独立的配置基地址,则查询所述配置基地址指向的***内核,并对所述***内核中对应偏移地址的寄存器进行配置;
若所述***配置请求指令中的基地址为并行配置基地址,则查询所述并行配置使能寄存器,根据所述并行配置使能寄存器存储的使能指令选择待配置所述***内核;并对***多内核架构中所有待配置的***内核中对应所述偏移地址的所有寄存器进行同时配置。
5.根据权利要求4所述的同时配置多个内核寄存器的装置,其特征在于,所述指令解析模块还用于:
根据***配置请求指令完成对所述寄存器进行配置后,反馈所配置的寄存器的配置结果;
接收并保存反馈的所有配置结果,并根据保存的配置结果生成应答信号进行输出。
6.根据权利要求5所述的同时配置多个内核寄存器的装置,其特征在于,所述指令解析模块还用于:
在***预设时间内,判断对应所述寄存器的所有配置结果是否全部反馈,
若所有配置结果未完全反馈,则输出的应答信号为配置超时信号,并在发送所述应答信号的同时结束当前***配置指令,标识本次配置失败;
若所有配置结果均完全反馈,则继续判断所有配置结果是否全部正确,
若是,则输出的应答信号为配置成功信号;
若否,则输出的应答信号为配置错误信号,并在发送所述应答信号的同时结束当前***配置指令,标识本次配置失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410630531.9A CN104461460B (zh) | 2014-11-11 | 2014-11-11 | 同时配置多个内核寄存器的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410630531.9A CN104461460B (zh) | 2014-11-11 | 2014-11-11 | 同时配置多个内核寄存器的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104461460A CN104461460A (zh) | 2015-03-25 |
CN104461460B true CN104461460B (zh) | 2017-07-28 |
Family
ID=52907581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410630531.9A Active CN104461460B (zh) | 2014-11-11 | 2014-11-11 | 同时配置多个内核寄存器的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104461460B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110320992B (zh) * | 2019-06-28 | 2020-12-04 | 兆讯恒达科技股份有限公司 | 一种配置管理功耗的方法 |
CN111813464B (zh) * | 2020-08-31 | 2020-12-11 | 新华三半导体技术有限公司 | 一种芯片配置方法、监测模块及芯片 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102385504A (zh) * | 2010-08-27 | 2012-03-21 | 艾色拉公司 | 改进的处理器架构 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6629310B1 (en) * | 1999-12-22 | 2003-09-30 | Koninklijke Philips Electronics N.V. | System and method for accessing internal registers in integrated circuits |
US6240040B1 (en) * | 2000-03-15 | 2001-05-29 | Advanced Micro Devices, Inc. | Multiple bank simultaneous operation for a flash memory |
US7398347B1 (en) * | 2004-07-14 | 2008-07-08 | Altera Corporation | Methods and apparatus for dynamic instruction controlled reconfigurable register file |
CN101957808B (zh) * | 2010-06-04 | 2013-02-13 | 杭州海康威视数字技术股份有限公司 | 多cpu间的通信方法、***及cpu |
CN103793255B (zh) * | 2014-02-27 | 2017-01-25 | 重庆邮电大学 | 可配置的多主模式多os内核实时操作***架构的启动方法 |
-
2014
- 2014-11-11 CN CN201410630531.9A patent/CN104461460B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102385504A (zh) * | 2010-08-27 | 2012-03-21 | 艾色拉公司 | 改进的处理器架构 |
Also Published As
Publication number | Publication date |
---|---|
CN104461460A (zh) | 2015-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104503728B (zh) | 一种硬件加速器及芯片 | |
CN105677479B (zh) | 并行运行gpu运算程序的实现方法及装置 | |
US20230376347A1 (en) | Task allocation method, apparatus, storage medium, and electronic device | |
CN105553977B (zh) | 请求消息的处理、发送方法及装置 | |
CN104978261B (zh) | 应用程序的测试方法、装置及*** | |
CN110430100A (zh) | 网络连通性探测方法和装置 | |
CN105389120B (zh) | 支持通过活动消息的rma api | |
CN104852934A (zh) | 基于前端调度实现流量分配的方法、装置和*** | |
CN108667778A (zh) | 一种物联网设备绑定方法、终端和物联网设备 | |
CN102439983B (zh) | 一种数据快速分发方法和装置 | |
CN105264930B (zh) | 发送节点及其缓存状态上报方法 | |
CN109495870A (zh) | 蓝牙测试的方法和装置 | |
CN110020043B (zh) | 页面爬取方法、装置、存储介质及处理器 | |
CN109792393A (zh) | 虚拟化离线计费***中的软件升级 | |
CN108733496A (zh) | 事件处理方法和装置 | |
CN107294803A (zh) | 响应信息一致性测试方法及装置 | |
CN104461460B (zh) | 同时配置多个内核寄存器的方法及装置 | |
CN108881425A (zh) | 一种数据包处理方法及*** | |
CN109040255A (zh) | 物联网设备接入方法、装置、设备及存储介质 | |
CN107203408A (zh) | 重定向的方法、装置和*** | |
CN108337328A (zh) | 一种数据交换***、数据上传方法及数据下载方法 | |
CN109902027A (zh) | 一种便于实施的tpc-ds测试方法以及*** | |
US10116773B2 (en) | Packet processing method and related device that are applied to network device | |
CN103299298A (zh) | 处理业务的方法和*** | |
CN106294146B (zh) | 参数替换测试方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 215000 unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, Jiangsu Province Patentee after: Suzhou Shengke Communication Co.,Ltd. Address before: Xinghan Street Industrial Park of Suzhou city in Jiangsu province 215021 B No. 5 Building 4 floor 13/16 unit Patentee before: CENTEC NETWORKS (SU ZHOU) Co.,Ltd. |