一种异构多核体系中外设的访问方法

文档序号:6613671阅读:370来源:国知局
专利名称:一种异构多核体系中外设的访问方法
技术领域
本发明涉及计算机操作系统领域,尤其涉及一种面向异构多核体系的外设 空间i方问方法。
背景技术
随着芯片设计水平的提高以及应用需求的提升,多核CPU越来越多的被运 用到产品中。目前采用多核CPU的异构体系大多选用CPU中的一个核作为主 核,承担主要的资源管理和复杂逻辑运算;其余的核作为从核承担逻辑简单但 数据量大的工作。
在操作系统中,CPU负责维护系统的虚拟空间地址映射关系。除了常用的 内存以外,其他一些设备的地址空间也常常被映射到CPU的虚拟地址空间内 (如复杂可编程逻辑设备cpld等)。应用程序通过CPU访问某一地址的时候均 是采用虚拟地址,其并不知道该虚拟地址对应的空间在内存中还是其他外设。
在异构多核体系中,每个核运行的不同的操作系统并发执行。如果多个核 同时访问同一地址空间,必须使用锁等机制来保证资源的互斥。而CPU对外设 资源的访问速度是相对比较慢的。

发明内容
有鉴于此,本发明的目的之一是提供一种异构多核体系中外设空间的访问 方法,使用该方法能够解决多核竟争外设资源、对外设访问速度慢的技术问题。 为达到上述目的,本发明的技术方案是这样实现的 一种异构多核体系中外设的访问方法,至少包括如下步骤,
A、 从核操作系统向主核操作系统发送外设访问代理请求;
B、 主核操作系统执行实际的外设访问,并将代理结果及数据反馈给从核操作系统。
进一步地,步骤A中,若所述外设访问代理请求是写请求,则还包括将待 写入数据写入映射地址空间的步骤。
进一步地,步骤A中,所述外设访问代理请求包含有访问地址信息。
进一步地,步骤B中,还包括判断所述外设访问代理请求中包含的访问地 址是不是映射地址空间的地址的步骤,若不是所述映射地址空间的地址,则执 行相应错误处理步骤。
基于上述方案,步骤B中,还包括判断所述外设访问代理请求是读请求还 是写请求的步骤,如果是读请求则执行读取步骤,若是写请求则执行写入步骤。
基于上述方案,所述读取步骤包括
B1 、主核操作系统从外设地址空间读取数据;
B2、主核操作系统将所述读取的外设数据写入映射地址空间中,并向从核 操作系统发送反馈消息;
B3、从核操作系统从所述映射地址空间中读取所述外设数据。
进一步地,步骤Bl中还包括判断外设数据读取是否成功的步骤,若成功 则执行步骤B2,若失败则向从核操作系统发送读取失败的反馈消息。
基业上述方案,所述写入步骤包括
C1 、主核操作系统从映射地址空间中读取待写入数据将其写入外设地址空
间;
C2、主核操作系统向从核操作系统发送代理结果反馈消息。
进一步地,步骤C2中还包括判断写入是否成功的步骤,若成功则向从核
操作系统发送写入成功的反馈消息,若失败则向从核操作系统发送写入失败的
反馈消息。
本发明引入了主核操作系统代理从核操作系统访问外设空间的机制,使 异构体系中的从核操作系统访问外设空间时无需考虑对外设资源的互斥问 题,增加了从核操作系统访问外设空间的手段。从核操作系统向主核操作发 出请求后可以进行进程调度,主核操作系统完成对外设的访问和内存映射以后通知从核操作系统后,从核操作系统继续完成后面的工作。避免了从核直 接操作外设速度慢的缺点。所有对外设空间的访问最终都是由主核操作系统 直接完成的,减少了对外设加锁等操作,提高了效率。同时也便于在主核操 作系统上实现对外设地址空间访问的緩存等一 系列管理机制。


图1为本发明的所述方法步骤流程图。
具体实施例方式
下面根据附图和实施例对本发明作进一 步详细说明
本发明的核心思想是。操作系统采用主从式管理结构,只有运行于主核上 的操作系统有直接对外设地址空间访问的权限。主核操作系统一方面需处理本 身代码中对外设地址空间访问的需求,另 一方面还需提供对从核操作系统访问
外设空间请求的代理功能;运行于从核上的操作系统无直接访问外设空间的权 限,它通过向主核操作系统发出代理请求来等待主核将外设空间的访问结果映 射在共享内存中,从而从所述映射的内存空间中间接地获得结果。此外,多操
作系统间的通信是采用硬件提供的核间通信手段作为载体进行通信,共同采用 协商好地协议格式对通信内容进行解释。
操作系统采用主从式管理结构。运行在主核的操作系统一方面可以管理本 身代码中对外设地址空间的访问;另一方面主核与从核在初始化时已协商好一 块共享的内存空间来作为主核存放代理访问外设数据的地方。
从核操作系统中的程序任务如果要访问外设,根据图1的流程进行处理
步骤1:从核操作系统按和主核操作系统商定的协议组织外设访问代理请 求消息,向主核操作系统发送外设访问代理请求消息。
从核操作系统在发送完所述外设访问代理请求消息后将访问外设的程序任 务设置为阻塞状态,等待主核操作系统的反馈消息。从核操作系统在所述访问 外设的程序任务阻塞期间还可调度其他任务执行,直到收到主核的代理请求反 馈消息。若所述的外设访问代理请求消息为向外设写入数据的写请求,则在该步骤
后再向从核操作系统发送外设访问代理请求,请求中应包含待写入外设数据在 映射地址空间中的起始及结束地址以及外设标识信息等。
若所述的外设访问代理请求消息为从外设读入数据的读请求,则在向主核 发送的外设访问代理请求消息中应包括主从核协商好的待读入数据在映射地址 空间中的存放地址信息及外设标识信息。
步骤2:主核操作系统接收所述从核操作系统发送的外设访问代理请求消 息,判断代理请求所要访问的地址是否是映射地址空间。如果是,转步骤4; 否则执行步骤3。
所述映射地址空间为主从核在初始化时协商好的用于主核操作系统存放代 理从核访问外设数据的内存空间,是主从核操作系统的关于读取或写入数据的 数据交换空间。根据主从核之间约定的协议,从核操作系统发送的外设访问代 理请求消息所要访问的内存地址必须在所述映射地址空间内。否则将作为错误 消息处理。
步骤3:主核操作系统向从核操作系统发送代理失败的反馈消息,结束本 次代理流程。
步骤4:主核操作系统判断所述代理请求是读请求还是写请求,若是读请
求执行步骤5;若是写请求则执行步骤10。
步骤5:主核操作系统访问外设地址空间,从外设地址空间读取数据。 步骤6:外设地址空间访问成功否?若访问成功则执行步骤7;若失败则执
行步骤9。
步骤7:主核操作系统将读取的外设数据存放在映射地址空间中,然后向 从核操作系统发送读取成功的反馈消息。
步骤8:从核操作系统接收读取成功的反馈消息,读取映射地址空间中的 外设数据,结束本次代理流程。
步骤9:主核操作系统向从核操作系统发送读取失败的反馈消息,结束本次代理流程。
步骤10:主核操作系统从映射地址空间中读取要传送给外设的数据,将其
写入外设地址空间。
步骤ll:主核操作系统判断写入是否成功,若成功则执行步骤12,若失败 执行步骤13。
步骤12:向从核操作系统发送写入成功的反馈消息,结束本次代理流程。 步骤13:向从核操作系统发送写失败的反馈消息,结束本次代理流程。
行通信。主从核上的操作系统共同采用协商好地协议格式对通信内容进行解释。 从核操作系统向主核操作系统发送的代理请求消息中至少包含
1、 代理的类型(读操作还是写操作);
2、 请求的映射地址空间的地址。
主核向从核发送的反馈消息中至少包含代理的结果信息,如成果还是失败, 如果出现错误的情况下错误的提示信息等。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下, 本领域技术人员当可才艮据本发明作出各种相应的改变和变形,但这些相应的改 变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1、一种异构多核体系中外设的访问方法,其特征在于,至少包括如下步骤,A、从核操作系统向主核操作系统发送外设访问代理请求;B、主核操作系统执行实际的外设访问,并将代理结果及数据反馈给从核操作系统。
2、 根据权利要求1所述的方法,其特征在于,步骤A中,若所述外设访 问代理请求是写请求,则还包括将待写入数据写入映射地址空间的步骤。
3、 根据权利要求2所述的方法,其特征在于,步骤A中,所述外设访问 代理请求包含有访问地址信息。
4、 根据权利要求3所述的方法,其特征在于,步骤B中,还包括判断所 述外设访问代理请求中包含的访问地址是不是映射地址空间的地址的步骤,若 不是所述映射地址空间的地址,则执行相应错误处理步骤。
5、 根据权利要求3或4所述的方法,其特征在于,步骤B中,还包括判 断所述外设访问代理请求是读请求还是写请求的步骤,如果是读请求则执行读 取步骤,若是写请求则执行写入步骤。
6、 根据权利要求5所述的方法,其特征在于,所述读取步骤包括 Bl、主核操作系统从外设地址空间读取数据;B2、主核操作系统将所述读取的外设数据写入映射地址空间中,并向从核 操作系统发送反馈消息;B3、从核操作系统从所述映射地址空间中读取所述外设数据。
7、 根据权利要求6所述的方法,其特征在于,步骤B1中还包括判断外设 数据读取是否成功的步骤,若成功则执行步骤B2,若失败则向从核操作系统发 送读取失败的反馈消息。
8、 根据权利要求5所述的方法,其特征在于,所述写入步骤包括Cl 、主核操作系统从映射地址空间中读取待写入数据将其写入外设地址空C2、主核操作系统向从核操作系统发送代理结果反馈消息。
9、根据权利要求8所述的方法,其特征在于,步骤C2中还包括判断写入是否成功的步骤,若成功则向从核操作系统发送写入成功的反馈消息,若失败 则向从核操作系统发送写入失败的反馈消息。
全文摘要
本发明涉及异构多核体系中外设的访问方法,本发明中从核操作系统向外设发送代理请求,由主核操作系统代理执行实际的外设访问,主从核之间协商一块共享内存映射地址空间作为数据交换空间,主核操作系统将外设访问的结果反馈给从核操作系统,从核操作系统从映射地址空间中获取外设的数据。通过本发明技术方案增加了从核操作系统访问外设空间的手段,避免了从核直接操作外设速度慢的缺点,提高了访问效率。
文档编号G06F9/46GK101430651SQ200710176830
公开日2009年5月13日 申请日期2007年11月5日 优先权日2007年11月5日
发明者凡 杨, 阳 赵 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1