CN101430651B - 一种异构多核体系中外设的访问方法 - Google Patents
一种异构多核体系中外设的访问方法 Download PDFInfo
- Publication number
- CN101430651B CN101430651B CN200710176830XA CN200710176830A CN101430651B CN 101430651 B CN101430651 B CN 101430651B CN 200710176830X A CN200710176830X A CN 200710176830XA CN 200710176830 A CN200710176830 A CN 200710176830A CN 101430651 B CN101430651 B CN 101430651B
- Authority
- CN
- China
- Prior art keywords
- operating system
- peripheral
- data
- address space
- peripheral hardware
- 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.)
- Expired - Fee Related
Links
- 230000002093 peripheral effect Effects 0.000 title claims abstract description 104
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000013507 mapping Methods 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims description 3
- 230000007547 defect Effects 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 3
- 230000007717 exclusion Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
本发明涉及异构多核体系中外设的访问方法,本发明中从核操作系统向外设发送代理请求,由主核操作系统代理执行实际的外设访问,主从核之间协商一块共享内存映射地址空间作为数据交换空间,主核操作系统将外设访问的结果反馈给从核操作系统,从核操作系统从映射地址空间中获取外设的数据。通过本发明技术方案增加了从核操作系统访问外设空间的手段,避免了从核直接操作外设速度慢的缺点,提高了访问效率。
Description
技术领域
本发明涉及计算机操作系统领域,尤其涉及一种面向异构多核体系的外设空间访问方法。
背景技术
随着芯片设计水平的提高以及应用需求的提升,多核CPU越来越多的被运用到产品中。目前采用多核CPU的异构体系大多选用CPU中的一个核作为主核,承担主要的资源管理和复杂逻辑运算;其余的核作为从核承担逻辑简单但数据量大的工作。
在操作系统中,CPU负责维护系统的虚拟空间地址映射关系。除了常用的内存以外,其他一些设备的地址空间也常常被映射到CPU的虚拟地址空间内(如复杂可编程逻辑设备cpld等)。应用程序通过CPU访问某一地址的时候均是采用虚拟地址,其并不知道该虚拟地址对应的空间在内存中还是其他外设。
在异构多核体系中,每个核运行的不同的操作系统并发执行。如果多个核同时访问同一地址空间,必须使用锁等机制来保证资源的互斥。而CPU对外设资源的访问速度是相对比较慢的。
发明内容
有鉴于此,本发明的目的之一是提供一种异构多核体系中外设空间的访问方法,使用该方法能够解决多核竞争外设资源、对外设访问速度慢的技术问题。
为达到上述目的,本发明的技术方案是这样实现的:
一种异构多核体系中外设的访问方法,至少包括如下步骤,
从核操作系统向主核操作系统发送外设访问代理请求;
所述外设访问代理请求包含向外设写入数据的写请求和从外设读入数据的读请求;
若主核操作系统接收到的所述外设访问代理请求为读请求时,主核操作系统从外设地址空间读取外设数据,将读取的外设数据写入映射地址空间中,然后向从核操作系统发送反馈消息;从核操作系统接收到反馈消息后,从所述映射地址空间中读取所述外设数据;
若主核操作系统接收到的所述外设访问代理请求为写请求时,主核操作系统首先从映射地址空间中读取由从核操作系统事先写入的待写入数据,然后将所述待写入数据写入外设地址空间,并向从核操作系统发送反馈消息。
进一步地,所述外设访问代理请求包含有映射地址空间的访问地址及外设标识信息,所述访问地址在所述外设访问代理请求为读请求时用于指示从外设读取的数据在映射地址空间中的存放位置;所述访问地址在所述外设访问代理请求为写请求时用于指示待写入外设的数据在映射地址空间中的起始及结束地址。
进一步地,还包括判断所述外设访问代理请求中包含的访问地址是不是映射地址空间的地址的步骤,若不是所述映射地址空间的地址,则执行相应错误处理步骤。
进一步地,在所述外设访问代理请求为读请求时,若主核操作系统从外设读取数据失败,则向从核操作系统发送读取失败的反馈消息。
进一步地,在所述外设访问代理请求为写请求时,还包括主核操作系统判断写入外设的数据是否写入成功的步骤,若成功则向从核操作系统发送写入成功的反馈消息,若失败则向从核操作系统发送写入失败的反馈消息。
本发明引入了主核操作系统代理从核操作系统访问外设空间的机制,使异构体系中的从核操作系统访问外设空间时无需考虑对外设资源的互斥问题,增加了从核操作系统访问外设空间的手段。从核操作系统向主核操作发出请求后可以进行进程调度,主核操作系统完成对外设的访问和内存映射以后通知从核操作系统后,从核操作系统继续完成后面的工作。避免了从核直接操作外设速度慢的缺点。所有对外设空间的访问最终都是由主核操作系统直接完成的,减少了对外设加锁等操作,提高了效率。同时也便于在主核操作系统上实现对外设地址空间访问的缓存等一系列管理机制。
附图说明
图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、请求的映射地址空间的地址。
主核向从核发送的反馈消息中至少包含代理的结果信息,如成果还是失败,如果出现错误的情况下错误的提示信息等。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (5)
1.一种异构多核体系中外设的访问方法,其特征在于,至少包括如下步骤,
从核操作系统向主核操作系统发送外设访问代理请求;所述外设访问代理请求包含向外设写入数据的写请求和从外设读入数据的读请求;
若主核操作系统接收到的所述外设访问代理请求为读请求时,主核操作系统从外设地址空间读取外设数据,将读取的外设数据写入映射地址空间中,然后向从核操作系统发送反馈消息,从核操作系统接收到反馈消息后,从所述映射地址空间中读取所述外设数据;
若主核操作系统接收到的所述外设访问代理请求为写请求时,主核操作系统首先从映射地址空间中读取由从核操作系统事先写入的待写入数据,然后将所述待写入数据写入外设地址空间,并向从核操作系统发送反馈消息。
2.根据权利要求1所述的方法,其特征在于,所述外设访问代理请求包含有映射地址空间的访问地址及外设标识信息,所述访问地址在所述外设访问代理请求为读请求时用于指示从外设读取的数据在映射地址空间中的存放位置;所述访问地址在所述外设访问代理请求为写请求时用于指示待写入外设的数据在映射地址空间中的起始及结束地址。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:判断所述外设访问代理请求中包含的访问地址是不是映射地址空间的地址的步骤,若不是所述映射地址空间的地址,则执行相应错误处理步骤。
4.根据权利要求1所述的方法,其特征在于,在所述外设访问代理请求为读请求时,若主核操作系统从外设读取数据失败,则向从核操作系统发送读取失败的反馈消息。
5.根据权利要求1所述的方法,其特征在于,在所述外设访问代理请求为写请求时,还包括主核操作系统判断写入外设的数据是否写入成功的步骤,若成功则向从核操作系统发送写入成功的反馈消息,若失败则向从核操作系统发送写入失败的反馈消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710176830XA CN101430651B (zh) | 2007-11-05 | 2007-11-05 | 一种异构多核体系中外设的访问方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710176830XA CN101430651B (zh) | 2007-11-05 | 2007-11-05 | 一种异构多核体系中外设的访问方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101430651A CN101430651A (zh) | 2009-05-13 |
CN101430651B true CN101430651B (zh) | 2012-01-11 |
Family
ID=40646059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710176830XA Expired - Fee Related CN101430651B (zh) | 2007-11-05 | 2007-11-05 | 一种异构多核体系中外设的访问方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101430651B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697149B (zh) * | 2009-10-27 | 2012-08-08 | 华为终端有限公司 | 多处理器设备、多处理器设备对外通信的方法和系统 |
US9471532B2 (en) * | 2011-02-11 | 2016-10-18 | Microsoft Technology Licensing, Llc | Remote core operations in a multi-core computer |
CN102135904A (zh) * | 2011-03-11 | 2011-07-27 | 华为技术有限公司 | 一种面向多核目标系统的映射方法及装置 |
CN104424142B (zh) * | 2013-08-26 | 2019-09-10 | 南京中兴新软件有限责任公司 | 一种多核处理器系统中访问共享资源的方法与装置 |
CN105630690B (zh) * | 2014-10-31 | 2018-10-12 | 华为技术有限公司 | 异构硬件中大数据处理的方法及装置 |
CN104461716B (zh) * | 2014-12-29 | 2018-06-15 | 迈普通信技术股份有限公司 | 一种多核异构系统的访问方法及多核异构系统 |
CN104683860B (zh) * | 2015-02-02 | 2018-11-30 | 北京神州天脉网络计算机有限公司 | 一种音视频多路并发解码加速卡及其解码加速方法 |
CN105630710A (zh) * | 2015-04-24 | 2016-06-01 | 宇龙计算机通信科技(深圳)有限公司 | 外设设备的访问控制方法、系统和服务器 |
CN106919452B (zh) * | 2015-12-28 | 2020-11-27 | 中兴通讯股份有限公司 | 多核异构系统及其硬件资源的管理方法 |
CN110069422B (zh) * | 2018-01-23 | 2021-06-18 | 普天信息技术有限公司 | 基于mips多核处理器的内存缓冲区回收方法 |
CN111338998B (zh) * | 2020-02-20 | 2021-07-02 | 深圳震有科技股份有限公司 | 基于amp系统的flash访问处理方法及装置 |
CN111427821B (zh) * | 2020-03-19 | 2021-10-01 | 深圳震有科技股份有限公司 | 双核amp系统共用spi接口的方法、系统及存储介质 |
CN112527722A (zh) * | 2020-12-09 | 2021-03-19 | 深圳市显控科技股份有限公司 | 异构多核嵌入式系统及该系统的数据交互方法 |
CN112764917B (zh) * | 2020-12-29 | 2023-06-20 | 福建万润新能源科技有限公司 | 多单元系统间无主从并机运行与任务协同方法 |
CN112765091B (zh) * | 2021-02-04 | 2024-05-03 | 南方电网科学研究院有限责任公司 | 一种SoC核间通信方法和装置 |
CN114817120A (zh) * | 2022-06-29 | 2022-07-29 | 湖北芯擎科技有限公司 | 一种跨域数据共享方法、系统级芯片、电子设备及介质 |
-
2007
- 2007-11-05 CN CN200710176830XA patent/CN101430651B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101430651A (zh) | 2009-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101430651B (zh) | 一种异构多核体系中外设的访问方法 | |
US8478982B2 (en) | Media access control security management in physical layer | |
CA1226370A (en) | Multicomputer network | |
CN101183338B (zh) | 本地片载系统和在本地片载系统中维持存储一致性的方法 | |
US7421543B2 (en) | Network device, fiber channel switch, method for shared memory access control, and computer product | |
CN100462947C (zh) | 用于实现卸载发起方功能的方法和系统 | |
CN103827842B (zh) | 向控制器存储器空间写入消息 | |
US8301717B2 (en) | Extended virtual memory system and method in a computer cluster | |
CN104346317B (zh) | 共享资源访问方法和装置 | |
US20110167189A1 (en) | Storage apparatus and its data transfer method | |
CN104346304A (zh) | 使用存储器控制器来请求资源的方法和系统 | |
US20030105914A1 (en) | Remote memory address translation | |
US9015380B2 (en) | Exchanging message data in a distributed computer system | |
US6321308B1 (en) | Method and apparatus for managing access requests from a plurality of devices using dual level queue locking scheme and a doubly-linked circular queue | |
CN104731635A (zh) | 一种虚拟机访问控制方法,及虚拟机访问控制系统 | |
US6076126A (en) | Software locking mechanism for locking shared resources in a data processing system | |
KR100347076B1 (ko) | 2차 버스로부터의 메시징 유닛 액세스 | |
CN110532106A (zh) | 进程间的通讯方法、装置、设备和存储介质 | |
CN100580649C (zh) | 盘控制装置以及数据传输控制方法 | |
GB2189061A (en) | Management of system configuration data | |
CN107623699A (zh) | 一种基于云环境的加密系统 | |
JP4188446B2 (ja) | データ交換装置およびその方法 | |
CN116346744A (zh) | 一种具多个非透明桥端口的PCIe交换机及其通信方法 | |
US7565504B2 (en) | Memory window access mechanism | |
CN101523352A (zh) | 用于并发控制的持久锁/资源 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120111 |
|
CF01 | Termination of patent right due to non-payment of annual fee |