本发明专利技术涉及异构多核体系中外设的访问方法,本发明专利技术中从核操作系统向外设发送代理请求,由主核操作系统代理执行实际的外设访问,主从核之间协商一块共享内存映射地址空间作为数据交换空间,主核操作系统将外设访问的结果反馈给从核操作系统,从核操作系统从映射地址空间中获取外设的数据。通过本发明专利技术技术方案增加了从核操作系统访问外设空间的手段,避免了从核直接操作外设速度慢的缺点,提高了访问效率。
【技术实现步骤摘要】
本专利技术涉及计算机操作系统领域,尤其涉及一种面向异构多核体系的外设空间访问方法。
技术介绍
随着芯片设计水平的提高以及应用需求的提升,多核CPU越来越多的被运用到产品中。目前采用多核CPU的异构体系大多选用CPU中的一个核作为主核,承担主要的资源管理和复杂逻辑运算;其余的核作为从核承担逻辑简单但数据量大的工作。在操作系统中,CPU负责维护系统的虚拟空间地址映射关系。除了常用的内存以外,其他一些设备的地址空间也常常被映射到CPU的虚拟地址空间内(如复杂可编程逻辑设备cpld等)。应用程序通过CPU访问某一地址的时候均是采用虚拟地址,其并不知道该虚拟地址对应的空间在内存中还是其他外设。在异构多核体系中,每个核运行的不同的操作系统并发执行。如果多个核同时访问同一地址空间,必须使用锁等机制来保证资源的互斥。而CPU对外设资源的访问速度是相对比较慢的。
技术实现思路
有鉴于此,本专利技术的目的之一是提供一种异构多核体系中外设空间的访问方法,使用该方法能够解决多核竞争外设资源、对外设访问速度慢的技术问题。为达到上述目的,本专利技术的技术方案是这样实现的:一种异构多核体系中外设的访问方法,至少包括如下步骤,A、从核操作系统向主核操作系统发送外设访问代理请求;B、主核操作系统执行实际的外设访问,并将代理结果及数据反馈给从核-->操作系统。进一步地,步骤A中,若所述外设访问代理请求是写请求,则还包括将待写入数据写入映射地址空间的步骤。进一步地,步骤A中,所述外设访问代理请求包含有访问地址信息。进一步地,步骤B中,还包括判断所述外设访问代理请求中包含的访问地址是不是映射地址空间的地址的步骤,若不是所述映射地址空间的地址,则执行相应错误处理步骤。基于上述方案,步骤B中,还包括判断所述外设访问代理请求是读请求还是写请求的步骤,如果是读请求则执行读取步骤,若是写请求则执行写入步骤。基于上述方案,所述读取步骤包括:B1、主核操作系统从外设地址空间读取数据;B2、主核操作系统将所述读取的外设数据写入映射地址空间中,并向从核操作系统发送反馈消息;B3、从核操作系统从所述映射地址空间中读取所述外设数据。进一步地,步骤B1中还包括判断外设数据读取是否成功的步骤,若成功则执行步骤B2,若失败则向从核操作系统发送读取失败的反馈消息。基业上述方案,所述写入步骤包括:C1、主核操作系统从映射地址空间中读取待写入数据将其写入外设地址空间;C2、主核操作系统向从核操作系统发送代理结果反馈消息。进一步地,步骤C2中还包括判断写入是否成功的步骤,若成功则向从核操作系统发送写入成功的反馈消息,若失败则向从核操作系统发送写入失败的反馈消息。本专利技术引入了主核操作系统代理从核操作系统访问外设空间的机制,使异构体系中的从核操作系统访问外设空间时无需考虑对外设资源的互斥问题,增加了从核操作系统访问外设空间的手段。从核操作系统向主核操作发出请求后可以进行进程调度,主核操作系统完成对外设的访问和内存映射以-->后通知从核操作系统后,从核操作系统继续完成后面的工作。避免了从核直接操作外设速度慢的缺点。所有对外设空间的访问最终都是由主核操作系统直接完成的,减少了对外设加锁等操作,提高了效率。同时也便于在主核操作系统上实现对外设地址空间访问的缓存等一系列管理机制。附图说明图1为本专利技术的所述方法步骤流程图。具体实施方式下面根据附图和实施例对本专利技术作进一步详细说明:本专利技术的核心思想是。操作系统采用主从式管理结构,只有运行于主核上的操作系统有直接对外设地址空间访问的权限。主核操作系统一方面需处理本身代码中对外设地址空间访问的需求,另一方面还需提供对从核操作系统访问外设空间请求的代理功能;运行于从核上的操作系统无直接访问外设空间的权限,它通过向主核操作系统发出代理请求来等待主核将外设空间的访问结果映射在共享内存中,从而从所述映射的内存空间中间接地获得结果。此外,多操作系统间的通信是采用硬件提供的核间通信手段作为载体进行通信,共同采用协商好地协议格式对通信内容进行解释。操作系统采用主从式管理结构。运行在主核的操作系统一方面可以管理本身代码中对外设地址空间的访问;另一方面主核与从核在初始化时已协商好一块共享的内存空间来作为主核存放代理访问外设数据的地方。从核操作系统中的程序任务如果要访问外设,根据图1的流程进行处理:步骤1:从核操作系统按和主核操作系统商定的协议组织外设访问代理请求消息,向主核操作系统发送外设访问代理请求消息。从核操作系统在发送完所述外设访问代理请求消息后将访问外设的程序任务设置为阻塞状态,等待主核操作系统的反馈消息。从核操作系统在所述访问外设的程序任务阻塞期间还可调度其他任务执行,直到收到主核的代理请求反馈消息。-->若所述的外设访问代理请求消息为向外设写入数据的写请求,则在该步骤中还包括将待写入外设的数据首先存入主从核共享的内存映射地址空间中,然后再向从核操作系统发送外设访问代理请求,请求中应包含待写入外设数据在映射地址空间中的起始及结束地址以及外设标识信息等。若所述的外设访问代理请求消息为从外设读入数据的读请求,则在向主核发送的外设访问代理请求消息中应包括主从核协商好的待读入数据在映射地址空间中的存放地址信息及外设标识信息。步骤2:主核操作系统接收所述从核操作系统发送的外设访问代理请求消息,判断代理请求所要访问的地址是否是映射地址空间。如果是,转步骤4;否则执行步骤3。所述映射地址空间为主从核在初始化时协商好的用于主核操作系统存放代理从核访问外设数据的内存空间,是主从核操作系统的关于读取或写入数据的数据交换空间。根据主从核之间约定的协议,从核操作系统发送的外设访问代理请求消息所要访问的内存地址必须在所述映射地址空间内。否则将作为错误消息处理。步骤3:主核操作系统向从核操作系统发送代理失败的反馈消息,结束本次代理流程。步骤4:主核操作系统判断所述代理请求是读请求还是写请求,若是读请求执行步骤5;若是写请求则执行步骤10。步骤5:主核操作系统访问外设地址空间,从外设地址空间读取数据。步骤6:外设地址空间访问成功否?若访问成功则执行步骤7;若失败则执行步骤9。步骤7:主核操作系统将读取的外设数据存放在映射地址空间中,然后向从核操作系统发送读取成功的反馈消息。步骤8:从核操作系统接收读取成功的反馈消息,读取映射地址空间中的外设数据,结束本次代理流程。步骤9:主核操作系统向从核操作系统发送读取失败的反馈消息,结束本-->次代理流程。步骤10:主核操作系统从映射地址空间中读取要传送给外设的数据,将其写入外设地址空间。步骤11:主核操作系统判断写入是否成功,若成功则执行步骤12,若失败执行步骤13。步骤12:向从核操作系统发送写入成功的反馈消息,结束本次代理流程。步骤13:向从核操作系统发送写失败的反馈消息,结束本次代理流程。运行在不同核上的操作系统之间采用硬件提供的核间通信手段作为载体进行通信。主从核上的操作系统共同采用协商好地协议格式对通信内容进行解释。从核操作系统向主核操作系统发送的代理请求消息中至少包含:1、代理的类型(读操作还是写操作);2、请求的映射地址空间的地址。主核向从核发送的反馈消息中至少包含代理的结果信息,如成果还是失败,如果出现错误的情况下错误的提示信息本文档来自技高网...
【技术保护点】
一种异构多核体系中外设的访问方法,其特征在于,至少包括如下步骤, A、从核操作系统向主核操作系统发送外设访问代理请求; B、主核操作系统执行实际的外设访问,并将代理结果及数据反馈给从核操作系统。
【技术特征摘要】
1、一种异构多核体系中外设的访问方法,其特征在于,至少包括如下步骤,A、从核操作系统向主核操作系统发送外设访问代理请求;B、主核操作系统执行实际的外设访问,并将代理结果及数据反馈给从核操作系统。2、根据权利要求1所述的方法,其特征在于,步骤A中,若所述外设访问代理请求是写请求,则还包括将待写入数据写入映射地址空间的步骤。3、根据权利要求2所述的方法,其特征在于,步骤A中,所述外设访问代理请求包含有访问地址信息。4、根据权利要求3所述的方法,其特征在于,步骤B中,还包括判断所述外设访问代理请求中包含的访问地址是不是映射地址空间的地址的步骤,若不是所述映射地址空间的地址,则执行相应错误处理步骤。5、根据权利要求3或4所述的方法,其特征在于,步骤B中,还包括判断所述外设访问代理请求是读请求还是写请求的步骤,如果是读请求则执行读取步骤,若是写请求则执行写入步骤...
【专利技术属性】
技术研发人员:杨凡,赵阳,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:94[中国|深圳]