一种基于握手协议的多核间缓存刷新方法

    公开(公告)号:CN114218264A

    公开(公告)日:2022-03-22

    申请号:CN202110347429.8

    申请日:2021-03-31

    Abstract: 本发明公开一种基于握手协议的多核间缓存刷新方法,包括以下步骤:发起核通过核间中断向其他核发起缓存刷新请求;发起核死等轮询其他核是否完成缓存刷新操作并计时;其他核接受到来自发起核的缓存刷新请求后,中断进入缓存刷新函数入口,完成缓存刷新;其他核向发起核告知缓存刷新任务完成,并死等轮询发起核的下一步命令;其他核收到发起核的任务退出命令,向发起核发送任务结束答复,并结束此次刷新任务。本发明方法可以保证操作系统完成该方法后的某个时间段内,所有处理器多核缓存的状态是干净的,避免多核间的由于资源竞争导致死锁问题。

    众核异构架构下的多类型目标代码的透明加载方法

    公开(公告)号:CN112631662A

    公开(公告)日:2021-04-09

    申请号:CN201910904063.2

    申请日:2019-09-24

    Abstract: 本发明公开一种众核异构架构下的多类型目标代码的透明加载方法,用户执行execve系统调用进入内核打开目标代码文件,读入目标文件头部,寻找标代码格式的处理函数;检查目标代码ELF头部信息正确性和Machine字段信息;解析环境变量;填写程序参数、环境变量必要信息到用户栈;加载目标代码的程序头表;根据数据段表信息,将程序段、数据段拷贝到物理空间中;初始化,对该数据结构中的元素进行赋值;根据配置信息,配置运算核中的配置寄存器;启动运算核心;检查程序类型;加载操作系统中驻留服务程序,修改程序的执行入口为服务程序的入口;进入新的程序入口执行。本发明实现了一套“异构”程序的加载流程,统一了“异构”程序执行流程,提升了用户的好用性。

    异构CPU的计算核虚拟化方法

    公开(公告)号:CN112579245A

    公开(公告)日:2021-03-30

    申请号:CN201910924866.4

    申请日:2019-09-27

    Abstract: 本发明公开了一种异构CPU的计算核虚拟化方法,包括以下步骤:宿主机核心启动后,宿主机核心会完成计算核资源的扫描并建立可用计算核资源位图,此计算核资源为计算核的数目以及计算核可访问内存空间;虚拟机管理模块依照虚拟机硬件配置,申请资源,并创建虚拟机CPU线程,具体步骤如下:虚拟机内计算核的初始化,以及虚拟机穿透访问计算核资源配置;虚拟机CPU线程开始运行虚拟机核心,虚拟机核心向虚拟机管理驱动模块申请对计算核进行初始化;驱动模块调用宿主机核心计算核初始化接口,完成计算核的初始化,同时将该计算核资源对应的IO地址设置为穿透读写。本发明实现了虚拟机对计算核资源的管理和使用,不同计算核间相互不冲突,减少了管理的复杂性,保证了计算核资源管理和使用的正确性和高效性。

    定制化PCIE总线IO虚拟化支撑方法

    公开(公告)号:CN112559120A

    公开(公告)日:2021-03-26

    申请号:CN201910918611.7

    申请日:2019-09-26

    Abstract: 本发明公开一种定制化PCIE总线IO虚拟化支撑方法,虚拟机内核发起PCIE总线扫描动作,发起PCIE IO地址空间的读写操作;处理器会自动进入TLB Miss异常处理入口;在处理器TLB Miss异常处理流程中执行TLB Miss异常处理代码,上层虚拟机管理软件得到传递的信息,根据指令编码信息判定是进行PCIE IO地址空间读操作还是写操作;上层虚拟机管理软件读PCIE IO地址空间模拟执行后,将读结果设置到虚拟机寄存器现场堆栈中寄存器中,返回虚拟机的虚拟处理器运行现场;上层虚拟机管理软件写PCIE IO地址空间模拟执行后,将其设置到正确状态,准备返回虚拟处理器运行现场。本发明实现了在不支持硬件虚拟化扩展的处理器上的PCIE总线IO虚拟化,支持纯模拟PCIE设备虚拟化和虚拟机直接绑定PCIE设备。

    通用寄存器保留恢复的实现方法

    公开(公告)号:CN112540871A

    公开(公告)日:2021-03-23

    申请号:CN201910891118.0

    申请日:2019-09-20

    Abstract: 本发明公开一种通用寄存器保留恢复的实现方法,进程保留方法:用户进程调用系统调用ioctl函数;在ioctl函数中设置进程flag保留/恢复标志位;内核态切换到用户态,根据linux信号处理机制进入到对保留/恢复标志位判断;如果存在保留/恢复标志位,进入do_work_pending处理函数;do_work_pending处理函数将内核栈上的通用寄存器$0~$29全部保存到文件或指定内存中;进程恢复方法:其前三步骤与进程保留方法步骤相同,内核态切换到用户态,根据linux信号处理机制会进入到对保留/恢复标志位判断;如果存在保留/恢复标志位,进入do_work_pending处理函数;do_work_pending处理函数中将文件或指定内存中保存的通用寄存器$0~$29恢复到内核栈上,do_work_pending处理函数退出后,用户进程返回用户态。本发明解决了通用寄存器保留不完整的问题。

    主从一体的内核级调试支撑及异常快速定位方法

    公开(公告)号:CN112540864A

    公开(公告)日:2021-03-23

    申请号:CN201910898085.2

    申请日:2019-09-23

    Abstract: 本发明公开一种主从一体的内核级调试支撑及异常快速定位方法,计算核运行过程中发生了异常或故障;计算核将异常或故障产生中断发向管理核;管理核收到中断后进入到中断处理程序,操作系统内核收到中断,会快速响应进入错误定位模块,错误定位模块根据中断的类型和对应的状态寄存器进行树形分类;如果是程序异常状态,程序异常处理模块会产生对应的信号和错误记录;如果硬件异常,硬件异常处理模块中断计算核程序并在操作系统内核中进行警告,并通知高层用户管理员;如果硬件发生故障,硬件故障处理模块会强制系统停机且通知系统管理员。本发明有效提高了计算核错误异常的定位、处理能力以及效率,提升了国产异构众核的系统运行的好用性和可用性。

    段页结合的内存管理方法
    27.
    发明公开

    公开(公告)号:CN112395078A

    公开(公告)日:2021-02-23

    申请号:CN201910763767.2

    申请日:2019-08-19

    Abstract: 本发明公开一种段页结合的内存管理方法,包括以下步骤:S1、获取整个服务器上可供使用的物理内存;S2、从可供使用的物理内存中预留一段或多段连续物理内存,并将预留的连续物理内存加入段式物理内存资源池;S3、将可供使用的物理内存中未被加入段式物理内存资源池的剩余物理内存加入页式物理内存资源池;S4、当计算部件需要物理内存时,通过段式内存申请接口向段式物理内存资源池申请物理内存;S5、当普通用户程序需要物理内存时,操作系统内核将申请的物理内存空间大小与处理器支持的大页页面大小进行比较。本发明通过灵活的内存管理策略,解决了特殊计算部件对大块连续物理内存的需求,同时兼顾普通用户程序内存使用的需求,灵活适应不同的内存需求场景。

    一种基于核间异步消息队列与共享内存的域间通信方法

    公开(公告)号:CN105487933A

    公开(公告)日:2016-04-13

    申请号:CN201510830247.0

    申请日:2015-11-24

    CPC classification number: G06F9/544 G06F2209/547

    Abstract: 本发明提供了一种基于核间异步消息队列与共享内存的域间通信方法,包括:创建一对Netlink套接字,分别位于用户空间和内核空间,用于实现用户与内核之间的通信;发送方进程通过Netlink套接字将消息传递给内核空间,操作系统内核对消息进行预处理后,调用超级调用陷入安全通信层;其中,所述安全通信层对信息处理域的操作系统内核及用户进程都是不可见的;安全通信层申请共享内存,封装待发送的消息并将其写入共享内存,并向接收方的CPU核发送MailBox核间中断,通知接收方对方消息已经到来;接收方在核间中断的触发下产生特权自陷;消息发送完成,释放共享内存。

    一种基于异构处理器的Fork内存支撑方法

    公开(公告)号:CN114218125B

    公开(公告)日:2025-05-20

    申请号:CN202110381659.6

    申请日:2021-04-09

    Abstract: 本发明公开一种基于异构处理器的Fork内存支撑方法,当父进程写被Fork页面、进入内核的缺页处理时,不走核心标准的缺页处理,对页面的缺页处理旁路,具体如下:S11、检查产生缺页的原因是否为写权限导致的;S12、获取页表项对应的物理页面管理结构struct page,并取出其中的Fork_page_info信息;S13、对Fork_page_info信息中的子进程相关数组struct child_pte cp进行遍历;S16、修改Fork页面对应的物理页面管理结构struct page相关计数器;S17、完成缺页处理,返回用户。本发明解决了Fork时内存被替换的问题。

    基于定制TLB代换的虚拟机迁移时脏页记录方法

    公开(公告)号:CN112559393B

    公开(公告)日:2022-10-04

    申请号:CN201910910090.0

    申请日:2019-09-25

    Abstract: 本发明公开一种基于定制TLB代换的虚拟机迁移时脏页记录方法,包括以下步骤:将虚拟机的迁移标志设置为开启,在虚拟机管理层申请“脏页缓冲区”;判断造成缺页的读写标志,如果是读标志,则需要设置TLB的只读标志位;如果是写标志,计算虚拟地址对应的宿主机页面号,并记录脏页;在数据流异常处理流程中,重填TLB,判断此时TLB是否真正具有只读标志,如果没有则需要记录脏页;否则,进入正常的数据流异常处理流程中。本发明通过虚拟地址到宿主机页面的映射关系,在特权指令模式下实现脏页记录过程,无需维护额外的影子页表,节约大量的内存资源;无需频繁虚拟机退出操作,节约大量的CPU资源,并且大幅度提高了TLB的命中率,进而提高CPU执行效率。

Patent Agency Ranking