CN102693210B - 一种处理器间传递参数的方法及装置 - Google Patents
一种处理器间传递参数的方法及装置 Download PDFInfo
- Publication number
- CN102693210B CN102693210B CN201110068123.5A CN201110068123A CN102693210B CN 102693210 B CN102693210 B CN 102693210B CN 201110068123 A CN201110068123 A CN 201110068123A CN 102693210 B CN102693210 B CN 102693210B
- Authority
- CN
- China
- Prior art keywords
- processor
- parameter
- configuration parameter
- static configuration
- target program
- 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
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000012546 transfer Methods 0.000 title claims abstract description 30
- 230000003068 static effect Effects 0.000 claims abstract description 110
- 230000008569 process Effects 0.000 claims description 15
- 241000208340 Araliaceae Species 0.000 claims description 6
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims description 6
- 235000003140 Panax quinquefolius Nutrition 0.000 claims description 6
- 235000008434 ginseng Nutrition 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 5
- 230000007480 spreading Effects 0.000 claims description 4
- 238000009795 derivation Methods 0.000 claims description 3
- 238000004321 preservation Methods 0.000 claims description 3
- 238000004148 unit process Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 11
- 230000009977 dual effect Effects 0.000 abstract description 9
- 238000005516 engineering process Methods 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000001149 cognitive effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000001228 spectrum Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000008846 dynamic interplay Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 241000256844 Apis mellifera Species 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006317 isomerization reaction Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
- G06F9/3881—Arrangements for communication of instructions and data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开了一种处理器间传递参数的方法,所述方法包括:在从处理器的源程序中,将需传递的静态配置参数进行直接引用;将所述从处理器的源程序转换为从处理器的目标程序时,获得所述静态配置参数的相对地址;根据所获得的静态配置参数的相对地址,主处理器在所述从处理器的目标程序中直接配置所述静态配置参数的参数值。本发明还公开了一种处理器间传递参数的系统,不需要通过双口RAM或寄存器等外部硬件,降低了参数传递对外部硬件的需求,从而降低芯片的面积和静态功耗;并且,降低了从处理器访问双口RAM和寄存器时的Cycle时延,从而有效降低芯片的动态功耗,提高了从处理器的处理能力,增大了从处理器的有效性能。
Description
技术领域
本发明涉及通信基带技术,尤其涉及一种处理器间传递参数的方法及装置。
背景技术
随着4G时代的到来,2G、3G以及WiFi等无线通信网络并不会立即消失和退出市场,它们会共同并存相当长的一段时间。无线通信技术的蓬勃发展引发了网络异构化的趋势,各种层出不穷的无线技术共同为用户提供了泛在、异构的网络环境,包括如紫蜂(Zigbee)、蓝牙(Bluetooth)等无线个域网,如无线宽带(WiFi)等无线局域网,如802·16无线城域网(WiMAX)等无线城域网,如2G、3G等无线移动广域网,以及卫星网络、点对点(Ad Hoc)网络、无线传感器网络等。为满足用户漫游和充分利用各种异构网络资源的要求,终端技术必将朝着多模化、智能化的趋势发展,未来终端向支持认知无线电(Cognitive Radio)、支持可重配置的动态频谱接入(Dynamic Spectrum Access)的方向渐进演化亦是大势所趋。
软件无线电(SDR,Software Defined Radio)技术则是以低成本方式实现支持Cognitive Radio和Dynamic Spectrum Access的最佳途径。
在采用矢量处理器(Vector Processor)作为SDR实现基带物理层信号处理的基础硬件时,通常还需要一个标量主控处理器作为运行高层协议和控制流程的硬件。由于主从处理器在实现多模时,需要传递大量的参数,如图1所示,现有的方法是全部使用处理器外围的端口寄存器或双口随机存取存储器(RAM,Random Access Memory)构成的邮箱(Mailbox)机制来传递参数,这样,将会消耗大量的端口寄存器,导致处理器芯片面积和功耗的上升。此外,在矢量处理器获取参数时,访问外围端口还需要一些周期(cycle)时延,导致参数传递效率降低。
发明内容
有鉴于此,本发明的主要目的在于提供一种处理器间传递参数的方法及装置,以解决处理器间传递参数功耗高、效率低的问题。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种处理器间传递参数的方法,所述方法包括:
在从处理器的源程序中,将需传递的静态配置参数进行直接引用;
将所述从处理器的源程序转换为从处理器的目标程序时,获得所述静态配置参数的相对地址;
根据所获得的静态配置参数的相对地址,主处理器在所述从处理器的目标程序中直接配置所述静态配置参数的参数值。
在上述方案中,所述将需传递的静态配置参数进行直接引用,为:
将所述需传递的静态配置参数采用编译程序能够识别的立即数模式进行直接引用。
在上述方案中,所述获得所述静态配置参数的相对地址,包括:
通过编译程序将所述从处理器的源程序转换为从处理器的目标程序,编译程序从所述从处理器的源程序中扫描出各静态配置参数,提取各静态配置参数的相对地址,生成包含有所提取各静态配置参数相对地址的配置参数地址表。
在上述方案中,在所述获得所述静态配置参数的相对地址之后,所述方法还包括:保存所述生成的配置参数地址表、以及所述从处理器的目标程序;
所述根据所获得的静态配置参数的相对地址,主处理器在所述从处理器的目标程序中直接配置所述静态配置参数的参数值,包括:所述主处理器从已保存的所述配置参数地址表中查询当前需传递静态配置参数的相对地址,并根据所查询到的当前需传递静态配置参数的相对地址,将当前需传递静态配置参数的参数值直接配置到所保存从处理器目标程序中相应位置处的指令中。
在上述方案中,所述方法还包括:需要导出参数时,所述从处理器采用DMA方式将需传出的参数导出到所述主处理器中。
在上述方案中,所述从处理器采用DMA方式将需传出的参数导出到所述主处理器中,包括:
从处理器通过DMA控制器将需传出的参数导出到DMA存储器中,主处理器从所述DMA存储器读取到所述需传出的参数,完成所述需传出参数的导出。
本发明还提供了一种处理器间传递参数的系统,所述系统包括:源程序处理单元、目标程序处理单元和配置单元,其中,
源程序处理单元,用于在从处理器的源程序中,将需传递的静态配置参数进行直接引用;
目标程序处理单元,用于在将所述源程序处理单元处理后的、所述从处理器的源程序转换为从处理器的目标程序时,获得所述静态配置参数的相对地址;
配置单元,用于根据所述目标程序处理单元所获得的静态配置参数的相对地址,在所述目标程序处理单元所得到从处理器的目标程序中直接配置所述静态配置参数的参数值。
在上述方案中,所述目标程序处理单元,还用于通过编译程序将所述源程序处理单元处理后的、从处理器的源程序转换为从处理器的目标程序时,从所述从处理器的源程序中扫描出各静态配置参数,提取各静态配置参数的相对地址,生成包含有所提取各静态配置参数相对地址的配置参数地址表。
在上述方案中,所述系统还包括:存储单元,用于保存所述目标程序处理单元所生成的配置参数地址表、以及所述目标程序处理单元所得到的从处理器的目标程序;
所述配置单元,还用于从所述存储单元中查询当前需传递静态配置参数的相对地址,并根据所查询到的当前需传递静态配置参数的相对地址,将当前需传递静态配置参数的参数值直接配置到所述存储单元保存的、从处理器的目标程序中相应位置处的指令中。
在上述方案中,所述系统还包括:导出单元,用于采用DMA方式将所述从处理器中需传出的参数导出到主处理器中。
在上述方案中,所述导出单元,包括:DMA存储器、DMA控制器和读取模块,其中,
DMA控制器,用于将从处理器中需传出的参数保存到所述DMA存储器中;
DMA存储器,用于保存所述从处理器中需传出的参数;
读取模块,用于将所述需传出的参数从所述DMA存储器中读取到主处理器中。
本发明所提供处理器间传递参数的方法及系统,在从处理器的源程序中将需传递的静态配置参数直接引用,从而在得到从处理器的目标程序时,获得静态配置参数的相对地址,主处理器在向从处理器装载程序之前,便可以根据静态配置参数的相对地址,直接将静态配置参数的参数值配置到从处理器的目标程序中,如此,使得从处理器可以直接从指令译码的结果获得静态配置参数的参数值,不需要通过双口RAM或寄存器等外部硬件,就能够实现主从处理器间静态配置参数的传递,减少处理器间的参数传递所需要的双口RAM和寄存器数量,降低了参数传递对外部硬件的需求,从而降低芯片的面积和静态功耗;并且,降低了从处理器访问双口RAM和寄存器时的Cycle时延,从而有效降低芯片的动态功耗,而主频不变的情况下,获取参数的Cycle减少将使得从处理器能够在相同的时间内能完成更多的信号处理工作,提高了从处理器的处理能力,增大了从处理器的有效性能。
附图说明
图1为现有技术中处理器间传递参数的示意图;
图2为本发明的处理器间传递参数的方法的实现流程图;
图3为本发明实施例一中主处理器与从处理器之间传递参数过程的实现流程图;
图4为本发明实施例一中主处理器与从处理器之间传递参数过程的示意图。
具体实施方式
实际应用中,处理器之间需要传递的参数可以包括:静态配置参数和动态交互参数,本发明主要针对处理器间静态配置参数的传递,其中,静态配置参数具有如下特征:在从处理器启动前,由主处理器配置;在从处理器执行包含静态配置参数的指令前,静态配置参数的参数值可以由主处理器确定、并配置给从处理器;在从处理器运行期间,静态配置参数的参数值不需要改变。例如,静态配置参数可以包括从处理器寄存器默认值信息、存储区域资源分配信息等参数。
本发明的基本思想是:针对静态的参数传递,可以由主处理器直接将静态配置参数的参数值配置到从处理器的运行程序中,不需要通过双口RAM或寄存器等外部硬件,从而解决处理器间传递参数功耗高、效率低的问题。
本发明适用于从处理器在主处理器的控制下、装入运行程序的情况,从处理器工作在一种运行至停止(Run to Stop)的模式下。
本发明的处理器间传递参数的方法,参照图2所示,主要可以包括:
步骤201:在从处理器的源程序中,将需传递的静态配置参数进行直接引用;
这里,可以采用编译器能够识别的立即数模式,在从处理器的源程序中对所述需传递的静态配置参数进行直接引用。
步骤202:将所述从处理器的源程序转换为从处理器的目标程序时,获得所述静态配置参数的相对地址;
步骤203:根据所获得的静态配置参数的相对地址,主处理器在所述从处理器的目标程序中直接配置所述静态配置参数的参数值。
具体地,可以通过编译程序将所述从处理器的源程序转换为从处理器的目标程序时,从所述从处理器的源程序中扫描出各静态配置参数,提取各静态配置参数的相对地址,生成包含有所提取各静态配置参数相对地址的配置参数地址表。
之后,保存所述生成的配置参数地址表、以及所述从处理器的目标程序;并在所述主处理器向从处理器装载所述目标程序之前,主处理器可以从已保存的所述配置参数地址表中查询当前需传递静态配置参数的相对地址,并根据所查询到的当前需传递静态配置参数的相对地址,将当前需传递静态配置参数的参数值直接配置到所保存从处理器目标程序中相应位置处的指令中,如此,从处理器在执行目标程序中相应指令时,可以通过指令译码就能够得到静态配置参数的参数值。
其中,上述编译程序可以通过一个能够运行编译程序的PC机来实现。
实际应用中,可以将所述生成的配置参数地址表、以及所述从处理器的目标程序保存到存储器中,例如外部双倍速率同步(DDR,Double Data Rate)内存中,主处理器在向从处理器装载目标程序之前,可以从该存储器中查询静态配置参数的相对地址,并将静态配置参数的参数值配置到存储器所保存的目标程序中。。
另外,需要导出参数时,所述从处理器采用直接存储器访问(DMA,Direct MemoryAccess)方式将需传出的参数导出到所述主处理器中。
具体地,从处理器通过DMA控制器将需传出的参数导出到DMA存储器中,主处理器从所述DMA存储器读取到所述需传出的参数,完成所述需传出参数的导出。
相应的,本发明还提供了一种处理器间传递参数的系统,所述系统包括:源程序处理单元、目标程序处理单元和配置单元,其中,源程序处理单元,用于在从处理器的源程序中,将需传递的静态配置参数进行直接引用;目标程序处理单元,用于在将所述源程序处理单元处理后的、所述从处理器的源程序转换为从处理器的目标程序时,获得所述静态配置参数的相对地址;配置单元,用于根据所述目标程序处理器单元所获得的静态配置参数的相对地址,在所述目标程序处理单元所得到从处理器的目标程序中直接配置所述静态配置参数的参数值。
具体地,所述目标程序处理单元,用于通过编译程序将所述源程序处理单元处理后的从处理器的源程序转换为从处理器的目标程序时,从所述从处理器的源程序中扫描出各静态配置参数,提取各静态配置参数的相对地址,生成包含有所提取各静态配置参数相对地址的配置参数地址表。
这里,所述系统还可以包括:存储单元,用于保存所述目标程序处理单元所生成的配置参数地址表、以及所述目标程序处理单元所得到的从处理器的目标程序。
具体地,所述配置单元,用于从所述存储单元中查询当前需传递静态配置参数的相对地址,并根据所查询到的当前需传递静态配置参数的相对地址,将当前需传递静态配置参数的参数值直接配置到所述存储单元保存的、从处理器的目标程序中相应位置处的指令中。
实际应用中,所述存储单元具体可以具备存储功能的存储器,例如外部双倍速率同步(DDR,Double Data Rate)内存、同步动态随机存储器(SDRAM,Synchronous DynamicRandom Access Memory)、闪存(Flash Memory)等。
此外,所述系统还可以包括:导出单元,用于采用DMA方式将所述从处理器中需传出的参数导出到主处理器中。
具体地,所述导出单元可以包括:DMA存储器、DMA控制器和读取模块,其中,DMA控制器,用于将从处理器中需传出的参数保存到所述DMA存储器中;DMA存储器,用于保存所述从处理器中需传出的参数;读取模块,用于将所述需传出的参数从所述DMA存储器中读取到主处理器中。
实际应用中,可以在上述的存储单元中划分出一个DMA存储空间,来作为所述DMA存储器。
具体地,上述系统中,源程序处理单元可以设置在从处理器中,目标程序处理单元可以由能够运行编译程序的设备来实现,如装载有编译程序的PC机,配置单元可以设置在主处理器中,存储单元由一个存储器来实现,DMA存储器可以由该存储器中划分出的DMA存储空间来实现,读取模块可以设置在主处理器中,DMA控制器分别与主处理器、以及从处理器连接,来实现主处理器与从处理器将静态配置参数的传递。
实施例一
实际应用中,从处理器与主处理器之间传递参数的具体流程,如图3所示,主要可以包括以下步骤:
步骤301:在从处理器的源程序中,将所有需要传递到从处理器的静态配置参数采用编译器能够识别的立即数模式进行直接引用;
这里,编译器能够识别的立即数模式具体可以是宏定义的立即数模式、或者编译器能识别的特定标识模式等。例如,在从处理器的源程序上,可以通过在各静态配置参数的参数变量名前加上“SP_”的前缀、或其他的参数变量名前缀,来对静态配置参数进行直接引用。
其中,所述需要进行直接引用的静态配置参数可以通过预先约定的方式来确定。
步骤302:编译程序将从处理器的源程序转换为能够在从处理器上运行的二进制指令程序,即从处理器的目标程序,在这个过程中,编译程序将源程序中的所有静态配置参数扫描出来,提取各静态配置参数的相对地址,得到配置参数地址表;
其中,配置参数地址表包含有所提取的各静态配置参数的相对地址。
步骤303:将从处理器的目标程序、和所述配置参数地址表一起写入到外部DDR内存中;
具体地,如图4所示,可以在外部DDR内存中设置“从处理器程序区”和“配置参数地址表区”,将由从处理器的目标程序写入到外部DDR内存中的“从处理器程序区”,将所述配置参数地址表写入到外部DDR内存中的“配置参数地址表区”。
这里,也可以通过其他具备存储功能的存储器来代替所述外部DDR内存,保存所述从处理器的目标程序和配置参数地址表,例如,同步动态随机存储器(SDRAM,SynchronousDynamic Random Access Memory)、闪存(Flash Memory)等。
步骤304:在主处理器向从处理器装载所述目标程序前,主处理器从所述外部DDR内存中获取需传递静态配置参数的相对地址,并根据所获取静态配置参数的相对地址,将所述静态配置参数的参数值直接配置到所述目标程序相应位置处的指令中,最后向从处理器装载所述目标程序;
具体地,如图4所示,主处理器首先从外部DDR内存中的“配置参数地址表区”查询到需传递静态配置参数的相对地址,再根据静态配置参数的相对地址,修改外部DDR内存的“从处理器程序区”中目标程序相应位置处二进制指令的立即数参数部分,从而将所述静态配置参数的参数值直接配置到所述目标程序相应位置处的指令中。
例如,对于参数pa,从处理器与主处理器之间传递其参数值的过程如下:在从处理器的源程序中将该参数进行直接应用,例如,可以在源程序中写入指令:inc SP_pa,直接应用参数pa;编译程序将源程序转换为目标程序的过程中,编译程序在源程序中扫描到包含“SP”前缀的指令inc SP_pa,扫描出源程序中参数pa,提取参数pa的相对地址0x00535并记录,同时在得到目标程序后,记录下参数pa所对应指令的内容0x01020666;向从处理器装载所述目标程序前,需要将参数pa的取值配置为777,主处理器从查询到参数pa的相对地址0x00535,将参数pa所对应指令的内容0x01020666替换为0x01020777,并写回到目标程序中相对地址为0x00535的存储空间中,从而将参数pa的取值由666修改为777。
步骤305:启动从处理器,从处理器中的目标程序在从处理器上正常运行,进行信号处理;
步骤306:在从处理器运行过程中或运行结束后,需要传出参数时,所述从处理器通过DMA方式向主处理器导出所述需传出的参数。
实际应用中,从处理器运行过程中需要向主处理器上报自身的状态信息时,或者从处理器运行结束,需要返回计算结果时,都需要传出参数,一般,所传出的参数是静态配置参数。例如,可以是当前所驻留移动服务小区的信息、或者无线信道状态信息等。
具体地,从处理器采用DMA方式向主处理器传递所述从处理器内部数据区域的数据。如图4所示,从处理器中包含有两个区域:“内部程序RAM”和“内部数据RAM”,其中,“内部程序RAM”保存从处理器运行所需要的程序,主处理器可以将从处理器的目标程序装载到所述“内部程序RAM”中;“内部数据RAM”保存有从处理器在运行时所需要的参数、以及运行过程中生成的数据等,需传出的参数保存在“内部数据RAM”区域中,导出参数时,从处理器采用DMA方式从“内部数据RAM”区域中导出参数。
这里,采用DMA方式传出参数的过程可以为:如图4所示,可以在传递参数的装置中增加DMA控制器,并在外部DDR内存中设置DMA储存空间;从处理器配置DMA控制器的源地址和目标地址,配置DMA传输的长度,启动DMA搬运过程,DMA控制器将要传出的参数从所述从处理器中的“内部数据RAM”搬运到外部DDR内存的DMA存储空间中;之后,主处理器再从外部DDR内存的DMA存储空间中读取所述参数即可。其中,DMA控制器的目的地址可以为外部DDR内存中DMA储存空间的地址、源地址为从处理器的“内部数据RAM”的地址,传输的长度可以根据要传出的参数来确定。
此外,本实施例中,如图4所示,主处理器与从处理器间可以通过双口RAM或寄存器来传递动态交互参数,其中,主处理器、从处理器、双口RAM或寄存器、DMA控制器、以及外部DDR内存之间通过总线连接。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (9)
1.一种处理器间传递参数的方法,其特征在于,所述方法包括:
在从处理器的源程序中,将需传递的静态配置参数进行直接引用;
将所述从处理器的源程序转换为从处理器的目标程序时,获得所述静态配置参数的相对地址;
所述获得所述静态配置参数的相对地址,包括:通过编译程序将所述从处理器的源程序转换为从处理器的目标程序,编译程序从所述从处理器的源程序中扫描出各静态配置参数,提取各静态配置参数的相对地址,生成包含有所提取各静态配置参数相对地址的配置参数地址表;
根据所获得的静态配置参数的相对地址,主处理器在所述从处理器的目标程序中直接配置所述静态配置参数的参数值。
2.根据权利要求1所述处理器间传递参数的方法,其特征在于,所述将需传递的静态配置参数进行直接引用,为:
将所述需传递的静态配置参数采用编译程序能够识别的立即数模式进行直接引用。
3.根据权利要求1所述处理器间传递参数的方法,其特征在于,在所述获得所述静态配置参数的相对地址之后,所述方法还包括:保存所述生成的配置参数地址表、以及所述从处理器的目标程序;
所述根据所获得的静态配置参数的相对地址,主处理器在所述从处理器的目标程序中直接配置所述静态配置参数的参数值,包括:所述主处理器从已保存的所述配置参数地址表中查询当前需传递静态配置参数的相对地址,并根据所查询到的当前需传递静态配置参数的相对地址,将当前需传递静态配置参数的参数值直接配置到所保存从处理器目标程序中相应位置处的指令中。
4.根据权利要求1至3任一项所述处理器间传递参数的方法,其特征在于,所述方法还包括:
需要导出参数时,所述从处理器采用DMA方式将需传出的参数导出到所述主处理器中。
5.根据权利要求1至3任一项所述处理器间传递参数的方法,其特征在于,所述从处理器采用DMA方式将需传出的参数导出到所述主处理器中,包括:
从处理器通过DMA控制器将需传出的参数导出到DMA存储器中,主处理器从所述DMA存储器读取到所述需传出的参数,完成所述需传出参数的导出。
6.一种处理器间传递参数的系统,其特征在于,所述系统包括:源程序处理单元、目标程序处理单元和配置单元,其中,
源程序处理单元,用于在从处理器的源程序中,将需传递的静态配置参数进行直接引用;
目标程序处理单元,用于在将所述源程序处理单元处理后的、所述从处理器的源程序转换为从处理器的目标程序时,获得所述静态配置参数的相对地址;
所述目标程序处理单元,具体用于获得所述静态配置参数的相对地址,包括:通过编译程序将所述从处理器的源程序转换为从处理器的目标程序,编译程序从所述从处理器的源程序中扫描出各静态配置参数,提取各静态配置参数的相对地址,生成包含有所提取各静态配置参数相对地址的配置参数地址表;
配置单元,用于根据所述目标程序处理单元所获得的静态配置参数的相对地址,在所述目标程序处理单元所得到从处理器的目标程序中直接配置所述静态配置参数的参数值。
7.根据权利要求6所述处理器间传递参数的系统,其特征在于,所述系统还包括:存储单元,用于保存所述目标程序处理单元所生成的配置参数地址表、以及所述目标程序处理单元所得到的从处理器的目标程序;
所述配置单元,还用于从所述存储单元中查询当前需传递静态配置参数的相对地址,并根据所查询到的当前需传递静态配置参数的相对地址,将当前需传递静态配置参数的参数值直接配置到所述存储单元保存的、从处理器的目标程序中相应位置处的指令中。
8.根据权利要求6至7任一项所述处理器间传递参数的系统,其特征在于,所述系统还包括:导出单元,用于采用DMA方式将所述从处理器中需传出的参数导出到主处理器中。
9.根据权利要求8所述处理器间传递参数的系统,其特征在于,所述导出单元,包括:DMA存储器、DMA控制器和读取模块,其中,
DMA控制器,用于将从处理器中需传出的参数保存到所述DMA存储器中;
DMA存储器,用于保存所述从处理器中需传出的参数;
读取模块,用于将所述需传出的参数从所述DMA存储器中读取到主处理器中。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110068123.5A CN102693210B (zh) | 2011-03-21 | 2011-03-21 | 一种处理器间传递参数的方法及装置 |
PCT/CN2011/074947 WO2012126203A1 (zh) | 2011-03-21 | 2011-05-31 | 一种处理器间传递参数的方法及装置 |
US14/006,030 US9032115B2 (en) | 2011-03-21 | 2011-05-31 | Method and device for passing parameters between processors |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110068123.5A CN102693210B (zh) | 2011-03-21 | 2011-03-21 | 一种处理器间传递参数的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102693210A CN102693210A (zh) | 2012-09-26 |
CN102693210B true CN102693210B (zh) | 2017-03-01 |
Family
ID=46858668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110068123.5A Active CN102693210B (zh) | 2011-03-21 | 2011-03-21 | 一种处理器间传递参数的方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9032115B2 (zh) |
CN (1) | CN102693210B (zh) |
WO (1) | WO2012126203A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2501757A (en) * | 2012-05-04 | 2013-11-06 | Ibm | Instrumentation of software applications for configuration thereof |
CN103345392B (zh) * | 2013-06-26 | 2017-02-22 | 华为技术有限公司 | 处理信息的方法及其装置 |
US9622182B2 (en) | 2015-04-17 | 2017-04-11 | Suunto Oy | Embedded computing device |
CN106648826B (zh) * | 2016-09-09 | 2018-06-19 | 北京百度网讯科技有限公司 | 用于热迁移虚拟机的方法和装置 |
CN110134638B (zh) * | 2019-05-09 | 2023-05-23 | 中国航空工业集团公司西安航空计算技术研究所 | 一种双处理器数据交换方法 |
US11138140B2 (en) * | 2020-01-31 | 2021-10-05 | Hewlett Packard Enterprise Development Lp | Configuring first subsystem with a master processor and a second subsystem with a slave processor |
EP4195045A4 (en) * | 2020-08-14 | 2023-09-27 | Huawei Technologies Co., Ltd. | METHOD FOR DATA INTERACTION BETWEEN MAIN CPU AND NPU, AND COMPUTER DEVICE |
CN115829826A (zh) * | 2022-11-10 | 2023-03-21 | 深圳云天励飞技术股份有限公司 | 模型存储优化方法及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1047931A (zh) * | 1989-05-17 | 1990-12-19 | 国际商业机器公司 | 不采用一个或二个操作系统的服务而在不同处理器中运行的应用程序之间直接传送信息的方法及装置 |
US6279151B1 (en) * | 1998-01-20 | 2001-08-21 | International Business Machines Corporation | Method and apparatus for remote source code inclusion |
CN1407455A (zh) * | 2001-09-03 | 2003-04-02 | 松下电器产业株式会社 | 多处理器系统及程序最佳化方法 |
CN1645351A (zh) * | 2004-01-21 | 2005-07-27 | 汤姆森许可贸易公司 | 多处理器系统中传送数据的方法、多处理器系统及处理器 |
CN101187881A (zh) * | 2007-12-03 | 2008-05-28 | 浙江大学 | 一种用于处理器仿真模型中的系统调用转换直通通道方法 |
CN101283338A (zh) * | 2005-10-06 | 2008-10-08 | 罗伯特·博世有限公司 | 微控制器和FlexRay通信组件之间的用户接口、FlexRay用户以及用于通过这种接口传输消息的方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6560774B1 (en) * | 1999-09-01 | 2003-05-06 | Microsoft Corporation | Verifier to check intermediate language |
US7254597B2 (en) * | 2002-01-11 | 2007-08-07 | Sun Microsystems, Inc. | Lock-free implementation of dynamic-sized shared data structure |
CN101668283A (zh) | 2008-09-01 | 2010-03-10 | 沃勤网络科技(上海)有限公司 | 一种手机嵌入式系统中动态加载的方法 |
US8881145B2 (en) * | 2011-12-15 | 2014-11-04 | Industrial Technology Research Institute | System and method for generating application-level dependencies in one or more virtual machines |
-
2011
- 2011-03-21 CN CN201110068123.5A patent/CN102693210B/zh active Active
- 2011-05-31 US US14/006,030 patent/US9032115B2/en active Active
- 2011-05-31 WO PCT/CN2011/074947 patent/WO2012126203A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1047931A (zh) * | 1989-05-17 | 1990-12-19 | 国际商业机器公司 | 不采用一个或二个操作系统的服务而在不同处理器中运行的应用程序之间直接传送信息的方法及装置 |
US6279151B1 (en) * | 1998-01-20 | 2001-08-21 | International Business Machines Corporation | Method and apparatus for remote source code inclusion |
CN1407455A (zh) * | 2001-09-03 | 2003-04-02 | 松下电器产业株式会社 | 多处理器系统及程序最佳化方法 |
CN1645351A (zh) * | 2004-01-21 | 2005-07-27 | 汤姆森许可贸易公司 | 多处理器系统中传送数据的方法、多处理器系统及处理器 |
CN101283338A (zh) * | 2005-10-06 | 2008-10-08 | 罗伯特·博世有限公司 | 微控制器和FlexRay通信组件之间的用户接口、FlexRay用户以及用于通过这种接口传输消息的方法 |
CN101187881A (zh) * | 2007-12-03 | 2008-05-28 | 浙江大学 | 一种用于处理器仿真模型中的系统调用转换直通通道方法 |
Non-Patent Citations (1)
Title |
---|
C语言函数调用三种方式:传值调用,引用调用和传值;liliu4239;《http://www.phpfans.net/article/htmls/201012/MzI0OTM5.html》;20101221;第四部分 * |
Also Published As
Publication number | Publication date |
---|---|
WO2012126203A1 (zh) | 2012-09-27 |
US9032115B2 (en) | 2015-05-12 |
CN102693210A (zh) | 2012-09-26 |
US20140095829A1 (en) | 2014-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102693210B (zh) | 一种处理器间传递参数的方法及装置 | |
CN108494414B (zh) | 超低功耗多模物联网无线模块 | |
CN101471704B (zh) | 一种双模设备及网络管理方法 | |
KR20200038289A (ko) | 네트워크 부하에 따라 스펙트럼 내에서 전송 기술 전환 | |
CN104968000A (zh) | 一种降低同一设备中ZigBee与WiFi相互干扰的方法 | |
JP7199422B2 (ja) | ワイヤレスネットワークでwur端末を起動するための方法および装置 | |
CN103944596B (zh) | 基于软件定义的支持多协议传输的通信设备 | |
CN104242981A (zh) | 一种基于软件无线电的嵌入式通讯装置 | |
CN103415062A (zh) | 一种网络连接装置、无线路由器和网络连接方法 | |
CN110267296A (zh) | 一种状态检测方法及设备 | |
WO2021134616A1 (zh) | 一种资源配置方法和装置 | |
CN107949071A (zh) | 终端无线数据传输方法、装置、终端及存储介质 | |
CN112654085A (zh) | 一种载波配置方法和相关装置 | |
US20210168828A1 (en) | Apparatus, system and method of scheduling communication via a plurality of bluetooth radios | |
US10942861B2 (en) | Configurable logic block networks and managing coherent memory in the same | |
US20200137763A1 (en) | A method, terminal device and network device for scheduling resources | |
CN110832894A (zh) | 载波功率控制方法、装置、存储介质和计算机程序产品 | |
CN103002434B (zh) | 获取sim卡数据的方法、装置及终端 | |
AU2018396636B2 (en) | Wireless communication method, terminal device and network device | |
CN107949070A (zh) | 终端无线数据传输方法、装置、终端及存储介质 | |
WO2020094133A1 (zh) | 数据传输的方法和通信装置 | |
JP7049810B2 (ja) | コンピューティング装置、並びにストレージ装置、モデム、スイッチ、及び応用プロセッサを含むコンピューティング装置の動作方法 | |
CN116868539A (zh) | 一种传输下行控制信息的方法、装置及存储介质 | |
CN202475494U (zh) | 物联网信息组合器 | |
CN115767628A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221116 Address after: 518055 Zhongxing Industrial Park, Liuxian Avenue, Xili street, Nanshan District, Shenzhen City, Guangdong Province Patentee after: SANECHIPS TECHNOLOGY Co.,Ltd. Address before: 518057 Ministry of justice, Zhongxing building, South Science and technology road, Nanshan District hi tech Industrial Park, Shenzhen, Guangdong Patentee before: ZTE Corp. |
|
TR01 | Transfer of patent right |