WO2021031082A1 - Performance monitoring device and method, system on chip, movable platform, and camera - Google Patents

Performance monitoring device and method, system on chip, movable platform, and camera Download PDF

Info

Publication number
WO2021031082A1
WO2021031082A1 PCT/CN2019/101418 CN2019101418W WO2021031082A1 WO 2021031082 A1 WO2021031082 A1 WO 2021031082A1 CN 2019101418 W CN2019101418 W CN 2019101418W WO 2021031082 A1 WO2021031082 A1 WO 2021031082A1
Authority
WO
WIPO (PCT)
Prior art keywords
module
monitoring
memory
performance
control module
Prior art date
Application number
PCT/CN2019/101418
Other languages
French (fr)
Chinese (zh)
Inventor
徐喜林
易斌
柯研家
Original Assignee
深圳市大疆创新科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 深圳市大疆创新科技有限公司 filed Critical 深圳市大疆创新科技有限公司
Priority to PCT/CN2019/101418 priority Critical patent/WO2021031082A1/en
Priority to CN201980031342.0A priority patent/CN112154419A/en
Publication of WO2021031082A1 publication Critical patent/WO2021031082A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring

Definitions

  • This application relates to the field of SoC applications, and in particular to a performance monitoring device, method, system on chip, movable platform and camera.
  • SoC System on Chip, System on Chip
  • the processing module is a pre-designed or even verified integrated circuit, device or component with a certain function, such as GPU (Graphics Processing Unit, graphics processor) ISP (Image Signal Processing, image signal processor), etc.
  • GPU Graphics Processing Unit, graphics processor
  • ISP Image Signal Processing, image signal processor
  • embodiments of the present invention provide a performance monitoring device, method, system on chip, movable platform, and camera.
  • the first aspect of the embodiments of the present application provides a performance monitoring device for monitoring the performance of multiple processing modules in a SoC chip.
  • the performance monitoring device includes multiple monitoring modules, buses, and memories.
  • a monitoring module and a plurality of the processing modules are connected in a one-to-one correspondence; each of the monitoring modules is connected to the memory through the bus;
  • the monitoring module is configured to obtain the performance parameters of the processing module in real time, and send the performance parameters to the memory through the bus;
  • the memory is used to receive and store the performance parameters of the processing module.
  • a system on a chip including a plurality of processing devices and a performance monitoring device, the performance monitoring device including: a plurality of monitoring modules, a bus, and a memory;
  • a plurality of the monitoring modules and a plurality of the processing modules are connected in a one-to-one correspondence; each of the monitoring modules and each of the processing modules are connected to the memory through the bus;
  • the monitoring module is configured to obtain the performance parameters of the processing module in real time, and send the performance parameters to the memory through the bus;
  • the memory is used to receive and store the performance parameters of the processing module
  • the processing module is used to perform functions designated by itself, and to write data to or read data from the memory.
  • a movable platform including:
  • a power system installed in the body and used to provide power to the movable platform;
  • a camera including:
  • the lens assembly is arranged inside the housing;
  • the sensor assembly is arranged inside the housing and is used to sense light passing through the lens assembly and generate an electrical signal;
  • the system-on-chip according to any one of the second aspect is used to process the electrical signal.
  • a monitoring method for monitoring the performance of multiple processing modules in a SoC chip, which is applied to the performance monitoring device of any one of the first aspect, the method includes:
  • the performance parameter is stored in the memory through the bus.
  • This application realizes real-time monitoring of the processing module by setting a monitoring module corresponding to the processing module one-to-one, and the monitoring module stores the performance data in the memory, so as to accurately locate the data according to the stored performance data The processing module that caused the system failure.
  • Fig. 1 is a structural diagram of an embodiment of a system on chip according to an exemplary embodiment of the present application.
  • Fig. 2 is a structural diagram of an embodiment of a second system-on-chip according to an exemplary embodiment of this application.
  • Fig. 3 is a structural diagram of an embodiment of a third system on chip according to an exemplary embodiment of this application.
  • Fig. 4 is a structural diagram of an embodiment of a fourth system on chip according to an exemplary embodiment of the present application.
  • Fig. 5 is a structural diagram of an embodiment of a fifth system on a chip according to an exemplary embodiment of the present application.
  • Fig. 6A is a structural diagram of an embodiment of a sixth system on a chip according to an exemplary embodiment of this application.
  • Fig. 6B is a structural diagram of an embodiment of a seventh system on a chip according to an exemplary embodiment of this application.
  • Fig. 7A is a structural diagram of an embodiment of an eighth system on chip according to an exemplary embodiment of this application.
  • Fig. 7B is a structural diagram of an embodiment of a ninth system on chip according to an exemplary embodiment of this application.
  • Fig. 8 is a flowchart of a performance monitoring method according to an exemplary embodiment of the application.
  • Fig. 9 is a structural diagram of an embodiment of a movable platform according to an exemplary embodiment of this application.
  • Fig. 10 is a structural diagram of an embodiment of a camera according to an exemplary embodiment of this application.
  • first, second, third, etc. may be used in this application to describe various information, the information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other.
  • first information may also be referred to as second information, and similarly, the second information may also be referred to as first information.
  • the word “if” as used herein can be interpreted as “when” or “when” or “in response to determination”.
  • the terms “include”, “include”, or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements that are not explicitly listed. Elements, or also include elements inherent to such processes, methods, articles, or equipment. If there are no more restrictions, the element defined by the sentence “including a" does not exclude the existence of other identical elements in the process, method, article or equipment that includes the element.
  • SoC System on Chip, System on Chip
  • the processing module is a pre-designed or even verified integrated circuit, device or component with a certain function, such as GPU (Graphics Processing Unit, graphics processor) ISP (Image Signal Processing, image signal processor), etc.
  • GPU Graphics Processing Unit, graphics processor
  • ISP Image Signal Processing, image signal processor
  • an embodiment of the present application provides a system on chip 01.
  • the system on chip 01 includes a plurality of processing modules 20 and a performance monitoring device 30.
  • the performance monitoring device 30 is used to monitor the performance of the multiple processing modules 20. performance.
  • FIG. 1 is a structural diagram of an embodiment of a system on chip 0110 according to an exemplary embodiment of this application.
  • the system on chip 01 includes a plurality of processing modules 20 and a performance monitoring device 30, and the performance monitoring device 30 includes: a plurality of monitoring modules 310, a bus 320 and a memory 330. It should be noted that the embodiment of the present application does not impose any restriction on the specific number of the processing module 20 and the monitoring module 310, and specific settings can be made according to actual conditions.
  • a plurality of the monitoring modules 310 and a plurality of the processing modules 20 are connected in a one-to-one correspondence; each of the monitoring modules 310 and each of the processing modules 20 are respectively connected to the memory 330 through the bus 320.
  • the embodiments of the present application do not impose any restrictions on the bus 320 protocol used, and can be specifically set based on actual conditions.
  • the AXI (Advanced Extensible Interface) bus 320 protocol can be used, which is a multi-channel
  • the transmission bus 320 sends the address, read data, write data, and handshake signals in different channels. The order between different accesses can be disrupted.
  • the BUSID is used to indicate the ownership of each access.
  • the processing module 20 does not get the return data. In this case, multiple read and write operations can be issued, and the order of data read back can be disrupted, and non-aligned data access is also supported.
  • the monitoring module 310 is configured to obtain the performance parameters of the processing module 20 in real time, and send the performance parameters to the memory 330 through the bus 320; wherein, the monitoring module 310 can be implemented by a circuit or It is a device or component with the function of obtaining performance data.
  • the memory 330 is used to receive and store the performance parameters of the processing module 20. It can be understood that the embodiment of the present application does not impose any restrictions on the specific type of the memory 330, and can be specifically set according to actual conditions, for example,
  • the memory 330 may be DDR (Double Data Rate SDRAM, double-rate synchronous dynamic random access memory 330), or DRAM (Dynamic Random Access Memory, dynamic random access memory 330), etc.
  • the processing module 20 is used to perform functions designated by itself, and to write data to or read data from the memory 330. It can be understood that the specific functions of the processing module 20 are There are no restrictions, and specific settings can be made according to actual conditions.
  • the processing module 20 may be an image signal processor, a decoder, an encoder, or a graphics processor.
  • the embodiment of the present application implements real-time monitoring of the processing module 20 by setting the monitoring module 310 corresponding to the processing module 20 one-to-one, and the monitoring module 310 stores the performance data in the memory 330 , So that the system-on-chip 01 can accurately locate the processing module 20 that caused the system failure and the time point of the failure according to the stored performance data.
  • FIG. 2 is a structural diagram of an embodiment of a second system on chip 01 according to an exemplary embodiment of this application.
  • the system on chip 01 includes a plurality of processing devices 20 and a performance monitoring device 30, and the performance monitoring device 30 includes: a plurality of monitoring modules 310, a control module 340, a bus 320 and a memory 330.
  • each of the monitoring modules 310 is connected to the control module 340, and the control module 340 is connected to the memory 330 through the bus 320.
  • the monitoring module 310 is specifically configured to obtain the performance parameters of the processing module 20 and send them to the control module 340.
  • the control module 340 is configured to receive the performance data of the processing module 20 sent by the monitoring module 310 and send it to the memory 330; wherein, the control module 340 may be implemented by a circuit, or it may be capable of controlling the A device or component that monitors the function of the module 310.
  • the monitoring module 310 obtains relevant signals of the processing module 20 to perform logical operations, obtains the performance data to be processed and sent to the control module 340, and the control module 340 monitors the
  • the to-be-processed performance data obtained by the module 310 is stored in the memory 330, and the performance data corresponding to the processing module 20 is obtained by obtaining the to-be-processed performance data stored in the memory 330 and performing mathematical operations; wherein, the performance data It may include any one or more of bandwidth, delay, or outstanding command.
  • the SoC in the related art realizes the query statistics of the performance data of the processing module 20 through software
  • its related program code is integrated on the memory 330 side, resulting in the need to perform query statistics on the performance data of the processing module 20
  • the identification of the processing module 20 is matched. If the matching is successful, the query of the performance data of the processing module 20 is performed. Since the matching process cannot be performed at the same time, it is impossible to simultaneously count the performance data of all the processing modules 20.
  • the monitoring module 310 and the processing module 20 are connected in a one-to-one correspondence, and the monitoring module 310 can be integrated with the processing module 20, so that the control module 340 can also send monitoring instructions to the monitoring module 310 at the same time to notify
  • the monitoring module 310 samples the performance data of the processing module 20 at the same time, so that the performance data of multiple processing modules 20 at the same time can be obtained, so as to perform statistical analysis on the performance data of each processing module 20.
  • the use experience is optimized, and since the performance data of the processing module 20 can be acquired at the same time in the embodiment of the present application, it is beneficial to shorten the performance data acquisition statistical period.
  • FIG. 3 is a structural diagram of an embodiment of a third system on chip 01 according to an exemplary embodiment of this application.
  • the system on chip 01 includes a plurality of processing devices 20 and a performance monitoring device 30, and the performance monitoring device 30 includes: a plurality of monitoring modules 310, a control module 340, a bus 320 and a memory 330.
  • control module 340 and the monitoring module 310 are connected by two unidirectional serial lines, each time transmitting one bit of data, the serial connection requires less physical media, which is beneficial to reduce deployment costs .
  • the control module 340 sends a monitoring instruction to the monitoring module 310 through one of the one-way serial lines to notify the monitoring module 310 to sample the performance data of the processing module 20.
  • the monitoring module 310 sends the performance data to the control module 340 through another one-way serial line.
  • the monitoring instruction includes an enable signal and a start signal
  • the control module 340 sending the monitoring instruction to the monitoring module 310 can be implemented in the following manner: the monitoring module 310 is not enabled Under the circumstance, the function of monitoring the processing module 20 to obtain performance data is in the off state, and the control module 340 sends an enable signal (for example, high voltage) to the monitoring module 310 through one of the one-way serial lines. Active or low level) to allow the function of the monitoring module 310 to be used normally, and then the control module 340 sends a start signal to the monitoring module 310 to notify the monitoring module 310 to execute the acquisition of the processing module 20 Function of performance data.
  • an enable signal for example, high voltage
  • registers can be added to the two unidirectional serial lines between the control module 340 and the monitoring module 310, and the normal transmission of data can be ensured through the transfer of the registers.
  • FIG. 4 is a structural diagram of an embodiment of a fourth system on chip 01 according to an exemplary embodiment of this application.
  • the system on chip 01 includes a plurality of processing devices 20 and a performance monitoring device 30.
  • the performance monitoring device 30 includes: a plurality of monitoring modules 310, a control module 340, a bus 320, and a memory 330;
  • the control module 340 includes a DMA (Direct Memory Access, direct memory access) unit 3401.
  • the DMA unit 3401 allows communication between hardware devices of different speeds without relying on a large amount of interrupt load of the CPU, thereby Reduce the burden on the CPU.
  • the DMA unit 3401 is used to write the performance data of the processing module 20 into an address designated by the memory 330; wherein, the designated address may be a continuous address or a discrete address (for example, based on a linked list configuration). Address), the embodiment of the present application supports discrete address writing, effectively utilizes the fragmented space in the memory to realize data storage, and improves the utilization of memory resources.
  • FIG. 5 is a structural diagram of an embodiment of a fifth system on chip 01 according to an exemplary embodiment of this application.
  • the system on chip 01 includes a plurality of processing devices 20 and a performance monitoring device 30, and the performance monitoring device 30 includes: a plurality of monitoring modules 310, a control module 340, a bus 320, and a display module 350 And storage 330.
  • the display module 350 is configured to connect with the memory 330, read the performance data from the memory 330 and display it.
  • the display module 350 may read real-time performance data of multiple processing modules 20 from the memory 330, and the display module may include a GUI (Graphical User Interface) interface, And draw the real-time performance data of multiple processing modules 20 into a continuous graph and visually display it on the GUI interface, so that the user can compare the real-time performance of a single processing module 20 based on the displayed performance data of each processing module 20
  • the performance data is analyzed, or the performance data of multiple processing modules 20 at the same time is comprehensively analyzed, so as to facilitate the rapid location of the processing module 20 that caused the system failure and the accurate failure time point.
  • control module 340 is further configured to obtain preset configuration data for initial configuration, so that the control module 340 can control the monitoring module 310 to obtain the configuration data in a monitoring manner corresponding to the configuration data.
  • Performance parameters of the processing module 20 wherein the control control module 340 can obtain the configuration data from the memory 330 or a preset configuration module 40.
  • the configuration module 40 is directly connected to the memory 330 or directly connected to the control module 340.
  • the configuration data may include any one or more of the following: the identification of the processing module to be monitored 20, sampling period, sampling times, sampling start time, sampling end time, and storage address mode;
  • the address mode includes continuous address mode and discrete address mode; it can be seen that the embodiment of this application can select one or more of the above configuration data for setting based on the actual situation, which is beneficial to optimize the use experience.
  • the user can use the processing module to be monitored Configure correspondingly to realize the free choice of the processing module 20 that needs to be monitored; it is also possible to improve the sampling accuracy by setting the sampling times, and determine the performance data that needs to be obtained; it is also possible to determine the processing by setting the storage address mode The storage address of the performance data of the module 20.
  • the configuration module 40 can be implemented by a circuit, or a device or component with configuration functions.
  • the embodiment of the present application does not impose any limitation on the specific existence of the configuration module 40, and can be specifically implemented according to actual conditions.
  • the configuration module 40 may be a functional component included in the system on chip 01, or may be an external functional component independent of the system on chip 01, such as a CPU.
  • FIG. 6A is a structural diagram of an embodiment of a sixth system on chip 01 according to an exemplary embodiment of the present application.
  • the system on chip 01 includes the configuration module 40 as an example.
  • FIG. 6B is a structural diagram of an embodiment of the seventh system-on-chip 01 according to an exemplary embodiment of the present application.
  • the configuration module 40 is an external functional module for illustration: the configuration The module 40 is connected to the memory 330, and the configuration module 40 is used to write the configuration data into the memory 330, so that the control module 340 reads the configuration data from the memory 330.
  • the control module 340 reads the configuration data from the memory 330, and then The control module 340 can control the monitoring module 310 to cyclically sample the performance parameters of the processing module 20 to be monitored by the number of sampling times within the sampling period.
  • FIG. 7A is a structural diagram of an embodiment of an eighth system on chip 01 according to an exemplary embodiment of the present application.
  • the system on chip 01 includes the configuration module 40 as an example 7B is a structural diagram of an embodiment of a ninth system-on-a-chip 01 according to an exemplary embodiment of this application.
  • the configuration module 40 is an external functional module for illustration: the configuration The module 40 is connected to the control module 340; the configuration module 40 sends the configuration information to the control module 340.
  • the control module 340 reads the configuration data from the memory 330, Then, the control module 340 can control the monitoring module 310 to sample the performance parameters of the processing module 20 to be monitored during the sampling start time and the sampling end time.
  • an embodiment of the present application also provides a performance monitoring device 30, which is characterized in that it is used to monitor the performance of multiple processing modules 20 in a SoC chip.
  • the performance monitoring device 30 includes multiple monitoring modules 310 and a bus 320.
  • the memory 330, a plurality of the monitoring modules 310 and a plurality of the processing modules 20 are connected in a one-to-one correspondence; each of the monitoring modules 310 is connected to the memory 330 through the bus 320.
  • the monitoring module 310 is configured to obtain the performance parameters of the processing module 20 in real time, and send the performance parameters to the memory 330 through the bus 320.
  • the memory 330 is used to receive and store the performance parameters of the processing module 20.
  • each of the processing modules 20 is connected to the memory 330 through the bus 320.
  • the processing module 20 is used to perform functions designated by itself, and to write data to or read data from the memory 330.
  • processing module 20 includes any one or more of the following:
  • Image signal processor decoder, encoder, and graphics processor.
  • the performance data includes any one or more of the following: bandwidth, delay, and the number of ongoing commands.
  • the device further includes a control module 340; the control module 340 is connected to the memory 330 through the bus 320; each monitoring module 310 is connected to the memory 330 through the control module 340.
  • the monitoring module 310 is specifically configured to obtain the performance parameters of the processing module 20 and send them to the control module 340.
  • the control module 340 is configured to receive the performance data of the processing module 20 sent by the monitoring module 310 and send it to the memory 330.
  • control module 340 and the monitoring module 310 are connected through two unidirectional serial lines.
  • the control module 340 sends a monitoring instruction to the monitoring module 310 through one of the one-way serial lines to notify the monitoring module 310 to sample the performance data of the processing module 20.
  • the monitoring module 310 sends the performance data to the control module 340 through another one-way serial line.
  • control module 340 is also configured to simultaneously send a monitoring instruction to the monitoring module 310 to notify the monitoring module 310 to sample the performance data of the processing module 20 at the same time.
  • control module 340 includes a DMA unit 3401;
  • the DMA unit 3401 is configured to write the performance data of the processing module 20 into the address designated by the memory 330.
  • the designated address includes a continuous address and a discrete address.
  • control module 340 is further configured to obtain preset configuration data for initial configuration, so that the control module 340 can control the monitoring module 310 to obtain the configuration data in a monitoring manner corresponding to the configuration data. Processing module 20 performance parameters.
  • control module 340 obtains the configuration data from the memory 330 or the external configuration module 40.
  • the external configuration module 40 is connected to the memory 330.
  • the external configuration module 40 is configured to write the configuration data into the memory 330 so that the control module 340 reads the configuration data from the memory 330.
  • the external configuration module 40 is connected to the control module 340; the external configuration module 40 sends the configuration information to the processing module 20.
  • the configuration information includes any one or more of the following: identification of the processing module 20 to be monitored, sampling period, sampling times, sampling start time, sampling end time, and storage address mode; the storage address mode includes continuous Address mode and discrete address mode.
  • a display module 350 is further included.
  • the display module 350 is configured to connect with the memory 330, read the performance data from the memory 330 and display it.
  • an embodiment of the present application also provides a performance monitoring method for monitoring the performance of multiple processing modules in a SoC chip, which is applied to the above performance monitoring device, and the method includes:
  • Step S101 Acquire the performance parameters of the processing module in real time.
  • Step S102 Store the performance parameter in a memory through the bus.
  • the processing module includes any one or more of the following:
  • Image signal processor decoder, encoder, and graphics processor.
  • the performance data includes any one or more of the following: bandwidth, delay, and the number of ongoing commands.
  • the storing the performance parameter to the memory via the bus includes:
  • the performance data is sent to the control module, so that the control module stores the performance parameters in the memory through the bus.
  • the method further includes:
  • the monitoring instructions respectively corresponding to the multiple processing modules are simultaneously sent by the control module.
  • control module includes a DMA unit, and the control module writes the performance data of the processing module into an address designated by the memory through the DMA unit.
  • the designated address includes a continuous address and a discrete address.
  • it also includes:
  • the control module is initialized and configured based on the preset configuration data, so as to obtain the performance parameters of the processing module in a monitoring manner corresponding to the configuration data.
  • the configuration data is obtained from the memory or an external configuration module.
  • it also includes:
  • the configuration data is written into the memory, so that the control module reads the configuration data from the memory.
  • it also includes:
  • the configuration information is sent to the processing module.
  • the configuration information includes any one or more of the following: identification of the processing module to be monitored, sampling period, sampling times, sampling start time, sampling end time, and storage address mode; the storage address mode includes continuous addresses Mode and discrete address mode.
  • it also includes:
  • An embodiment of the present application also provides a movable platform 001, including:
  • the power system 03 is installed in the body 02 to provide power for the movable platform 001.
  • FIG. 9 is only an example of a movable platform, and does not constitute a limitation on the movable platform. It may include more or less components than shown in the figure, or a combination of certain components, or different components.
  • the mobile platform may also include input and output devices, network access devices, and so on.
  • an embodiment of the present application also provides a camera 002, including:
  • the lens assembly 05 is arranged inside the housing 04.
  • the sensor assembly 06 is arranged inside the housing 04 and is used to sense light passing through the lens assembly and generate electrical signals.
  • FIG. 10 is only an example of a camera, and does not constitute a limitation on the camera. It may include more or less components than those shown in the figure, or combine certain components, or different components, such as the camera Can include network access equipment, etc.

Abstract

Disclosed are a performance monitoring device and method, a system on chip (SoC), a movable platform, and a camera. The device is used for monitoring the performance of a plurality of processing modules in the SoC chip; the performance monitoring device comprises a plurality of monitoring modules, a bus, and a memory; the plurality of the monitoring modules and the plurality of the processing modules are connected in a one-to-one correspondence; each of the monitoring modules is connected to the memory by means of the bus; each monitoring module is configured to obtain performance parameters of each processing module in real time, and send the performance parameters to the memory by means of the bus; and the memory is configured to receive and store performance parameters of the processing modules. The present application realizes real-time acquisition of performance data of the processing modules.

Description

性能监测装置、方法、片上系统、可移动平台及相机Performance monitoring device, method, system on chip, movable platform and camera 技术领域Technical field
本申请涉及SoC应用领域,尤其涉及一种性能监测装置、方法、片上系统、可移动平台以及相机。This application relates to the field of SoC applications, and in particular to a performance monitoring device, method, system on chip, movable platform and camera.
背景技术Background technique
SoC(System on Chip,片上系统)是信息系统核心的芯片集成,是将系统关键部件集成在一块芯片上。SOC内集成有较多的处理模块,所述处理模块为一种预先设计好的甚至已经过验证的具有某种确定功能的集成电路、器件或部件,比如GPU(Graphics Processing Unit,图形处理器)、ISP(Image Signal Processing,图像信号处理器)等等,不同的处理模块的性能需求有所不同,在多个处理模块并发工作时,带宽抢占不合理可能导致系统运行出现故障,因此,需要对SoC上的各个处理模块的实时性能进行监控,以找出不合理抢占带宽的处理模块,并对其进行带宽限制,保证带宽的合理分配。SoC (System on Chip, System on Chip) is the chip integration at the core of the information system, which integrates the key components of the system on a chip. There are many processing modules integrated in the SOC. The processing module is a pre-designed or even verified integrated circuit, device or component with a certain function, such as GPU (Graphics Processing Unit, graphics processor) ISP (Image Signal Processing, image signal processor), etc. Different processing modules have different performance requirements. When multiple processing modules work concurrently, unreasonable bandwidth preemption may cause system failures. Therefore, you need to The real-time performance of each processing module on the SoC is monitored to find out the processing modules that unreasonably occupy the bandwidth, and limit the bandwidth to ensure reasonable bandwidth allocation.
发明内容Summary of the invention
有鉴于此,本发明实施例提供了一种性能监测装置、方法、片上系统、可移动平台以及相机。In view of this, embodiments of the present invention provide a performance monitoring device, method, system on chip, movable platform, and camera.
首先,本申请实施例的第一方面提供了一种性能监测装置,用于监测SoC芯片中多个处理模块的性能,所述性能监测装置包括多个监视模块、总线和存储器,多个所述监视模块和多个所述处理模块一一对应连接;每一所述监视模块通过所述总线与所述存储器连接;First, the first aspect of the embodiments of the present application provides a performance monitoring device for monitoring the performance of multiple processing modules in a SoC chip. The performance monitoring device includes multiple monitoring modules, buses, and memories. A monitoring module and a plurality of the processing modules are connected in a one-to-one correspondence; each of the monitoring modules is connected to the memory through the bus;
所述监视模块用于实时获取所述处理模块的性能参数,并通过所述总线将所述性能参数发送至所述存储器;The monitoring module is configured to obtain the performance parameters of the processing module in real time, and send the performance parameters to the memory through the bus;
所述存储器用于接收并存储所述处理模块的性能参数。The memory is used to receive and store the performance parameters of the processing module.
根据本申请实施例的第二方面,提供一种片上系统,包括多个处理器件以及性能监测装置,所述性能监测装置包括:多个监视模块、总线和存储器;According to a second aspect of the embodiments of the present application, there is provided a system on a chip, including a plurality of processing devices and a performance monitoring device, the performance monitoring device including: a plurality of monitoring modules, a bus, and a memory;
多个所述监视模块和多个所述处理模块一一对应连接;每一所述监视模块以及每一所述处理模块通过所述总线与所述存储器连接;A plurality of the monitoring modules and a plurality of the processing modules are connected in a one-to-one correspondence; each of the monitoring modules and each of the processing modules are connected to the memory through the bus;
所述监视模块用于实时获取所述处理模块的性能参数,并通过所述总线将所述性能参数发送至所述存储器;The monitoring module is configured to obtain the performance parameters of the processing module in real time, and send the performance parameters to the memory through the bus;
所述存储器用于接收并存储所述处理模块的性能参数;The memory is used to receive and store the performance parameters of the processing module;
所述处理模块用于执行自身指定的功能,以及对所述存储器写入数据或从所述存储器读取数据。The processing module is used to perform functions designated by itself, and to write data to or read data from the memory.
根据本申请实施例的第三方面,提供一种可移动平台,包括:According to a third aspect of the embodiments of the present application, a movable platform is provided, including:
机体;Body
动力系统,安装在所述机体内,用于为所述可移动平台提供动力;以及,A power system installed in the body and used to provide power to the movable platform; and,
如第二方面任意一项所述的片上系统。A system on chip as described in any one of the second aspect.
根据本申请实施例的第四方面,提供一种相机,包括:According to a fourth aspect of the embodiments of the present application, a camera is provided, including:
外壳;shell;
镜头组件,设于所述外壳内部;The lens assembly is arranged inside the housing;
传感器组件,设于所述外壳内部,用于感知通过所述镜头组件的光并生成电信号;以及,The sensor assembly is arranged inside the housing and is used to sense light passing through the lens assembly and generate an electrical signal; and,
如第二方面任意一项所述的片上系统,用于对所述电信号进行处理。The system-on-chip according to any one of the second aspect is used to process the electrical signal.
根据本申请实施例的第五方面,提供一种监控方法,用于监测SoC芯片中多个处理模块的性能,应用于第一方面任意一项所述的性能监测装置上,所述方法包括:According to a fifth aspect of the embodiments of the present application, a monitoring method is provided for monitoring the performance of multiple processing modules in a SoC chip, which is applied to the performance monitoring device of any one of the first aspect, the method includes:
实时获取所述处理模块的性能参数;Acquiring the performance parameters of the processing module in real time;
通过所述总线将所述性能参数存储至存储器。The performance parameter is stored in the memory through the bus.
本申请通过设置与处理模块一一对应的监视模块,实现对所述处理 模块的实时监控,并且所述监视模块将所述性能数据存储至所述存储器中,以便根据存储的性能数据准确定位到导致系统故障的处理模块。This application realizes real-time monitoring of the processing module by setting a monitoring module corresponding to the processing module one-to-one, and the monitoring module stores the performance data in the memory, so as to accurately locate the data according to the stored performance data The processing module that caused the system failure.
附图说明Description of the drawings
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly describe the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings needed in the description of the embodiments. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative labor.
图1为本申请根据一示例性实施例示出的一种片上系统的实施例结构图。Fig. 1 is a structural diagram of an embodiment of a system on chip according to an exemplary embodiment of the present application.
图2为本申请根据一示例性实施例示出的第二种片上系统的实施例结构图。Fig. 2 is a structural diagram of an embodiment of a second system-on-chip according to an exemplary embodiment of this application.
图3为本申请根据一示例性实施例示出的第三种片上系统的实施例结构图。Fig. 3 is a structural diagram of an embodiment of a third system on chip according to an exemplary embodiment of this application.
图4为本申请根据一示例性实施例示出的第四种片上系统的实施例结构图。Fig. 4 is a structural diagram of an embodiment of a fourth system on chip according to an exemplary embodiment of the present application.
图5为本申请根据一示例性实施例示出的第五种片上系统的实施例结构图。Fig. 5 is a structural diagram of an embodiment of a fifth system on a chip according to an exemplary embodiment of the present application.
图6A为本申请根据一示例性实施例示出的第六种片上系统的实施例结构图。Fig. 6A is a structural diagram of an embodiment of a sixth system on a chip according to an exemplary embodiment of this application.
图6B为本申请根据一示例性实施例示出的第七种片上系统的实施例结构图。Fig. 6B is a structural diagram of an embodiment of a seventh system on a chip according to an exemplary embodiment of this application.
图7A为本申请根据一示例性实施例示出的第八种片上系统的实施例结构图。Fig. 7A is a structural diagram of an embodiment of an eighth system on chip according to an exemplary embodiment of this application.
图7B为本申请根据一示例性实施例示出的第九种片上系统的实施例结构图。Fig. 7B is a structural diagram of an embodiment of a ninth system on chip according to an exemplary embodiment of this application.
图8为本申请根据一示例性实施例示出的一种性能监控方法的流程 图。Fig. 8 is a flowchart of a performance monitoring method according to an exemplary embodiment of the application.
图9为本申请根据一示例性实施例示出的可移动平台的实施例结构图。Fig. 9 is a structural diagram of an embodiment of a movable platform according to an exemplary embodiment of this application.
图10为本申请根据一示例性实施例示出的相机的实施例结构图。Fig. 10 is a structural diagram of an embodiment of a camera according to an exemplary embodiment of this application.
具体实施方式detailed description
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative work shall fall within the protection scope of this application.
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。The terms used in this application are only for the purpose of describing specific embodiments and are not intended to limit the application. The singular forms of "a", "said" and "the" used in this application and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings. It should also be understood that the term "and/or" used herein refers to and includes any or all possible combinations of one or more associated listed items.
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的 过程、方法、物品或者设备中还存在另外的相同要素。It should be understood that although the terms first, second, third, etc. may be used in this application to describe various information, the information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of this application, the first information may also be referred to as second information, and similarly, the second information may also be referred to as first information. Depending on the context, the word "if" as used herein can be interpreted as "when" or "when" or "in response to determination". The terms "include", "include", or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements that are not explicitly listed. Elements, or also include elements inherent to such processes, methods, articles, or equipment. If there are no more restrictions, the element defined by the sentence "including a..." does not exclude the existence of other identical elements in the process, method, article or equipment that includes the element.
SoC(System on Chip,片上系统)是信息系统核心的芯片集成,是将系统关键部件集成在一块芯片上。SOC内集成有较多的处理模块,所述处理模块为一种预先设计好的甚至已经过验证的具有某种确定功能的集成电路、器件或部件,比如GPU(Graphics Processing Unit,图形处理器)、ISP(Image Signal Processing,图像信号处理器)等等,不同的处理模块的性能需求有所不同,在多个处理模块并发工作时,带宽抢占不合理可能导致系统运行出现故障,因此,需要对SoC上的各个处理模块的实时性能进行监控,以找出不合理抢占带宽的处理模块,并对其进行带宽限制,保证带宽的合理分配。SoC (System on Chip, System on Chip) is the chip integration at the core of the information system, which integrates the key components of the system on a chip. There are many processing modules integrated in the SOC. The processing module is a pre-designed or even verified integrated circuit, device or component with a certain function, such as GPU (Graphics Processing Unit, graphics processor) ISP (Image Signal Processing, image signal processor), etc. Different processing modules have different performance requirements. When multiple processing modules work concurrently, unreasonable bandwidth preemption may cause system failures. Therefore, you need to The real-time performance of each processing module on the SoC is monitored to find out the processing modules that unreasonably occupy the bandwidth, and limit the bandwidth to ensure reasonable bandwidth allocation.
在实现本发明的过程中,发明人发现相关技术中通常通过软件方式实现对处理模块的性能数据的查询统计:处理模块在出现故障时会发送中断信号,然后所述SoC基于所述中断信号,通过软件方式从性能寄存器中读取性能数据,但从产生中断信号到通过软件方式读取性能数据需要耗费一定的时间,无法实现对处理模块的实时性能进行监控,而且由于性能寄存器以数据覆盖原则运行,可能导致想要获取的性能数据早已丢失,无法实时准确定位到不合理抢占带宽的处理模块以及发生故障的时刻点。In the process of implementing the present invention, the inventor found that in the related technology, the query and statistics of the performance data of the processing module are usually realized by software: the processing module will send an interrupt signal when a failure occurs, and then the SoC is based on the interrupt signal, The performance data is read from the performance register through software, but it takes a certain amount of time from generating an interrupt signal to reading the performance data through software. It is impossible to monitor the real-time performance of the processing module, and because the performance register is covered by data Running, may cause the performance data you want to obtain has been lost, and it is impossible to accurately locate the processing module that unreasonably grabs the bandwidth and the point of failure in real time.
基于上述问题,本申请实施例提供了一种片上系统01,所述片上系统01包括多个处理模块20以及性能监测装置30,所述性能监测装置30用于监测所述多个处理模块20的性能。Based on the above problems, an embodiment of the present application provides a system on chip 01. The system on chip 01 includes a plurality of processing modules 20 and a performance monitoring device 30. The performance monitoring device 30 is used to monitor the performance of the multiple processing modules 20. performance.
请参阅图1,为本申请根据一示例性实施例示出的一种片上系统0110的实施例结构图。Please refer to FIG. 1, which is a structural diagram of an embodiment of a system on chip 0110 according to an exemplary embodiment of this application.
图1所示的实施例中,所述片上系统01包括多个处理模块20以及性能监测装置30,所述性能监测装置30包括:多个监视模块310、总线320和存储器330。需要说明的是,本申请实施例对于所述处理模块20以及所述监视模块310的具体数量不做任何限制,可依据实际情况进行具体设置。In the embodiment shown in FIG. 1, the system on chip 01 includes a plurality of processing modules 20 and a performance monitoring device 30, and the performance monitoring device 30 includes: a plurality of monitoring modules 310, a bus 320 and a memory 330. It should be noted that the embodiment of the present application does not impose any restriction on the specific number of the processing module 20 and the monitoring module 310, and specific settings can be made according to actual conditions.
其中,多个所述监视模块310和多个所述处理模块20一一对应连接; 每一所述监视模块310以及每一所述处理模块20分别通过所述总线320与所述存储器330连接。Wherein, a plurality of the monitoring modules 310 and a plurality of the processing modules 20 are connected in a one-to-one correspondence; each of the monitoring modules 310 and each of the processing modules 20 are respectively connected to the memory 330 through the bus 320.
可以理解的是,本申请实施例对于采用的总线320协议也不做任何限制,可依据实际情况进行具体设置,比如可以采用AXI(Advanced extensible Interface)总线320协议,AXI总线320是一种多通道传输总线320,将地址、读数据、写数据、握手信号在不同的通道中发送,不同的访问之间顺序可以打乱,用BUSID来表示各个访问的归属,处理模块20在没有得到返回数据的情况下可发出多个读写操作,并且读回的数据顺序可以被打乱,同时还支持非对齐数据访问。It is understandable that the embodiments of the present application do not impose any restrictions on the bus 320 protocol used, and can be specifically set based on actual conditions. For example, the AXI (Advanced Extensible Interface) bus 320 protocol can be used, which is a multi-channel The transmission bus 320 sends the address, read data, write data, and handshake signals in different channels. The order between different accesses can be disrupted. The BUSID is used to indicate the ownership of each access. The processing module 20 does not get the return data. In this case, multiple read and write operations can be issued, and the order of data read back can be disrupted, and non-aligned data access is also supported.
所述监视模块310用于实时获取所述处理模块20的性能参数,并通过所述总线320将所述性能参数发送至所述存储器330;其中,所述监视模块310可以由电路实现,也可以是具有获取性能数据功能的器件或部件。The monitoring module 310 is configured to obtain the performance parameters of the processing module 20 in real time, and send the performance parameters to the memory 330 through the bus 320; wherein, the monitoring module 310 can be implemented by a circuit or It is a device or component with the function of obtaining performance data.
所述存储器330用于接收并存储所述处理模块20的性能参数,可以理解的是,本申请实施例对于所述存储器330的具体类型不做任何限制,可依据实际情况进行具体设置,例如所述存储器330可以是DDR(Double Data Rate SDRAM,双倍速率同步动态随机存储器330),或者DRAM(Dynamic Random Access Memory,动态随机存取存储器330)等。The memory 330 is used to receive and store the performance parameters of the processing module 20. It can be understood that the embodiment of the present application does not impose any restrictions on the specific type of the memory 330, and can be specifically set according to actual conditions, for example, The memory 330 may be DDR (Double Data Rate SDRAM, double-rate synchronous dynamic random access memory 330), or DRAM (Dynamic Random Access Memory, dynamic random access memory 330), etc.
所述处理模块20用于执行自身指定的功能,以及对所述存储器330写入数据或从所述存储器330读取数据,可以理解的是,本申请实施例对于所述处理模块20的具体功能不做任何限制,可依据实际情况进行具体设置,例如所述处理模块20可以是图像信号处理器、解码器、编码器或者图形处理器等。The processing module 20 is used to perform functions designated by itself, and to write data to or read data from the memory 330. It can be understood that the specific functions of the processing module 20 are There are no restrictions, and specific settings can be made according to actual conditions. For example, the processing module 20 may be an image signal processor, a decoder, an encoder, or a graphics processor.
可以看出,本申请实施例通过设置与处理模块20一一对应的监视模块310,实现对所述处理模块20的实时监控,并且所述监视模块310将所述性能数据存储至所述存储器330中,以便所述片上系统01能够根据存储的性能数据准确定位到导致系统故障的处理模块20以及故障发生的时刻点。It can be seen that the embodiment of the present application implements real-time monitoring of the processing module 20 by setting the monitoring module 310 corresponding to the processing module 20 one-to-one, and the monitoring module 310 stores the performance data in the memory 330 , So that the system-on-chip 01 can accurately locate the processing module 20 that caused the system failure and the time point of the failure according to the stored performance data.
请参阅图2,为本申请根据一示例性实施例示出的第二种片上系统01的实施例结构图。Please refer to FIG. 2, which is a structural diagram of an embodiment of a second system on chip 01 according to an exemplary embodiment of this application.
图2所示的实施例中,所述片上系统01包括多个处理器件20以及性能监测装置30,所述性能监测装置30包括:多个监视模块310、控制模块340、总线320和存储器330。In the embodiment shown in FIG. 2, the system on chip 01 includes a plurality of processing devices 20 and a performance monitoring device 30, and the performance monitoring device 30 includes: a plurality of monitoring modules 310, a control module 340, a bus 320 and a memory 330.
其中,每一所述监视模块310与所述控制模块340连接,所述控制模块340通过所述总线320与所述存储器330连接。Wherein, each of the monitoring modules 310 is connected to the control module 340, and the control module 340 is connected to the memory 330 through the bus 320.
所述监视模块310,具体用于获取所述处理模块20的性能参数,并发送至所述控制模块340。The monitoring module 310 is specifically configured to obtain the performance parameters of the processing module 20 and send them to the control module 340.
所述控制模块340用于接收所述监视模块310发送的所述处理模块20的性能数据并发送至所述存储器330;其中,所述控制模块340可以由电路实现,也可以是具有控制所述监视模块310功能的器件或部件。The control module 340 is configured to receive the performance data of the processing module 20 sent by the monitoring module 310 and send it to the memory 330; wherein, the control module 340 may be implemented by a circuit, or it may be capable of controlling the A device or component that monitors the function of the module 310.
在一种可能的实现方式中,所述监视模块310获取所述处理模块20的相关信号进行逻辑运算,获取发送至所述控制模块340的待处理性能数据,所述控制模块340将所述监视模块310获取的待处理性能数据存储到所述存储器330中,通过获取所述存储器330中存储的待处理性能数据进行数学运算,得到所述处理模块20对应的性能数据;其中,所述性能数据可以包括带宽、时延或者正在进行的命令的个数(outstanding)中的任意一种或多种数据。In a possible implementation manner, the monitoring module 310 obtains relevant signals of the processing module 20 to perform logical operations, obtains the performance data to be processed and sent to the control module 340, and the control module 340 monitors the The to-be-processed performance data obtained by the module 310 is stored in the memory 330, and the performance data corresponding to the processing module 20 is obtained by obtaining the to-be-processed performance data stored in the memory 330 and performing mathematical operations; wherein, the performance data It may include any one or more of bandwidth, delay, or outstanding command.
另外,考虑到相关技术中SoC通过软件方式实现对处理模块20的性能数据的查询统计,其相关的程序代码集成于存储器330侧,导致在对处理模块20的性能数据进行查询统计时,需要进行处理模块20的标识的匹配,若匹配成功才进行该处理模块20的性能数据的查询,由于匹配的过程无法同时进行,从而无法实现同时统计所有处理模块20的性能数据,而本申请由于所述监视模块310和所述处理模块20一一对应连接,所述监视模块310与所述处理模块20可以进行集成,使得所述控制模块340还可以同时向所述监视模块310发送监视指令,以通知所述监视模块310在同一时刻对所述处理模块20的性能数据进行采样,从而可以获取多个所述处理模块20 在同一时刻的性能数据,以便对各个处理模块20的性能数据进行统计分析,优化使用体验,并且由于本申请实施例中可以同时获取所述处理模块20的性能数据,有利于缩短性能数据获取统计周期。In addition, considering that the SoC in the related art realizes the query statistics of the performance data of the processing module 20 through software, its related program code is integrated on the memory 330 side, resulting in the need to perform query statistics on the performance data of the processing module 20 The identification of the processing module 20 is matched. If the matching is successful, the query of the performance data of the processing module 20 is performed. Since the matching process cannot be performed at the same time, it is impossible to simultaneously count the performance data of all the processing modules 20. The monitoring module 310 and the processing module 20 are connected in a one-to-one correspondence, and the monitoring module 310 can be integrated with the processing module 20, so that the control module 340 can also send monitoring instructions to the monitoring module 310 at the same time to notify The monitoring module 310 samples the performance data of the processing module 20 at the same time, so that the performance data of multiple processing modules 20 at the same time can be obtained, so as to perform statistical analysis on the performance data of each processing module 20. The use experience is optimized, and since the performance data of the processing module 20 can be acquired at the same time in the embodiment of the present application, it is beneficial to shorten the performance data acquisition statistical period.
请参阅图3,为本申请根据一示例性实施例示出的第三种片上系统01的实施例结构图。Please refer to FIG. 3, which is a structural diagram of an embodiment of a third system on chip 01 according to an exemplary embodiment of this application.
图3所示的实施例中,所述片上系统01包括多个处理器件20以及性能监测装置30,所述性能监测装置30包括:多个监视模块310、控制模块340、总线320和存储器330。In the embodiment shown in FIG. 3, the system on chip 01 includes a plurality of processing devices 20 and a performance monitoring device 30, and the performance monitoring device 30 includes: a plurality of monitoring modules 310, a control module 340, a bus 320 and a memory 330.
其中,所述控制模块340和所述监视模块310之间通过两条单向串行线路连接,每次传输一个位元数据,其串行连接所需的物理介质较少,有利于降低部署成本。Wherein, the control module 340 and the monitoring module 310 are connected by two unidirectional serial lines, each time transmitting one bit of data, the serial connection requires less physical media, which is beneficial to reduce deployment costs .
所述控制模块340通过其中一条单向串行线路向所述监视模块310发送监控指令,以通知所述监视模块310对所述处理模块20的性能数据进行采样。The control module 340 sends a monitoring instruction to the monitoring module 310 through one of the one-way serial lines to notify the monitoring module 310 to sample the performance data of the processing module 20.
所述监视模块310通过另一条单向串行线路向所述控制模块340发送所述性能数据。The monitoring module 310 sends the performance data to the control module 340 through another one-way serial line.
在一种可能的实现方式中,所述监视指令包括使能信号以及启动信号,所述控制模块340向所述监视模块310发送监视指令可以通过以下方式实现:所述监视模块310在未使能的情况下,其监视所述处理模块20以获取性能数据的功能是处于关闭状态的,所述控制模块340通过其中一条单向串行线路向所述监视模块310发送使能信号(例如高电平有效或者低电平有效)以允许所述监视模块310的功能正常使用,然后所述控制模块340向所述监视模块310发送启动信号以通知所述监视模块310执行获取所述处理模块20的性能数据的功能。In a possible implementation manner, the monitoring instruction includes an enable signal and a start signal, and the control module 340 sending the monitoring instruction to the monitoring module 310 can be implemented in the following manner: the monitoring module 310 is not enabled Under the circumstance, the function of monitoring the processing module 20 to obtain performance data is in the off state, and the control module 340 sends an enable signal (for example, high voltage) to the monitoring module 310 through one of the one-way serial lines. Active or low level) to allow the function of the monitoring module 310 to be used normally, and then the control module 340 sends a start signal to the monitoring module 310 to notify the monitoring module 310 to execute the acquisition of the processing module 20 Function of performance data.
另外,可以在所述控制模块340与所述监视模块310之间的两条单向串行线路上增加寄存器,通过寄存器的中转,可以保证数据的正常传输。In addition, registers can be added to the two unidirectional serial lines between the control module 340 and the monitoring module 310, and the normal transmission of data can be ensured through the transfer of the registers.
请参阅图4,为本申请根据一示例性实施例示出的第四种片上系统 01的实施例结构图。Please refer to FIG. 4, which is a structural diagram of an embodiment of a fourth system on chip 01 according to an exemplary embodiment of this application.
图4所示的实施例中,所述片上系统01包括多个处理器件20以及性能监测装置30,所述性能监测装置30包括:多个监视模块310、控制模块340、总线320和存储器330;其中,所述控制模块340包括DMA(Direct Memory Access,直接内存存取)单元3401,所述DMA单元3401允许不同速度的硬件装置之间的沟通,而不需要依赖于CPU的大量中断负载,从而减少了CPU的负担。In the embodiment shown in FIG. 4, the system on chip 01 includes a plurality of processing devices 20 and a performance monitoring device 30. The performance monitoring device 30 includes: a plurality of monitoring modules 310, a control module 340, a bus 320, and a memory 330; The control module 340 includes a DMA (Direct Memory Access, direct memory access) unit 3401. The DMA unit 3401 allows communication between hardware devices of different speeds without relying on a large amount of interrupt load of the CPU, thereby Reduce the burden on the CPU.
所述DMA单元3401用于将所述处理模块20的性能数据写入所述存储器330指定的地址中;其中,所述指定的地址可以是连续地址,也可以是离散地址(例如基于链表配置的地址),本申请实施例支持离散地址写入,有效利用所述存储器中的碎片化空间实现数据存储,提高内存资源的利用率。The DMA unit 3401 is used to write the performance data of the processing module 20 into an address designated by the memory 330; wherein, the designated address may be a continuous address or a discrete address (for example, based on a linked list configuration). Address), the embodiment of the present application supports discrete address writing, effectively utilizes the fragmented space in the memory to realize data storage, and improves the utilization of memory resources.
请参阅图5,为本申请根据一示例性实施例示出的第五种片上系统01的实施例结构图。Please refer to FIG. 5, which is a structural diagram of an embodiment of a fifth system on chip 01 according to an exemplary embodiment of this application.
图5所示的实施例中,所述片上系统01包括多个处理器件20以及性能监测装置30,所述性能监测装置30包括:多个监视模块310、控制模块340、总线320、显示模块350和存储器330。In the embodiment shown in FIG. 5, the system on chip 01 includes a plurality of processing devices 20 and a performance monitoring device 30, and the performance monitoring device 30 includes: a plurality of monitoring modules 310, a control module 340, a bus 320, and a display module 350 And storage 330.
所述显示模块350,用于与所述存储器330连接,从所述存储器330中读取所述性能数据并显示。The display module 350 is configured to connect with the memory 330, read the performance data from the memory 330 and display it.
在一种可能的实现方式中,所述显示模块350可以从存储器330中读取多个处理模块20的实时性能数据,所述显示模块可以包括一GUI(Graphical User Interface,图形用户界面)界面,并将多个处理模块20的实时性能数据绘制成连续的曲线图并在所述GUI界面上进行直观地展示,从而用户可以基于展示的各个处理模块20的性能数据,对单个处理模块20的实时性能数据进行分析,或者对多个处理模块20在同一时刻的性能数据进行综合分析,以利于快速定位导致系统故障的处理模块20以及准确的故障时刻点。In a possible implementation manner, the display module 350 may read real-time performance data of multiple processing modules 20 from the memory 330, and the display module may include a GUI (Graphical User Interface) interface, And draw the real-time performance data of multiple processing modules 20 into a continuous graph and visually display it on the GUI interface, so that the user can compare the real-time performance of a single processing module 20 based on the displayed performance data of each processing module 20 The performance data is analyzed, or the performance data of multiple processing modules 20 at the same time is comprehensively analyzed, so as to facilitate the rapid location of the processing module 20 that caused the system failure and the accurate failure time point.
在一实施例中,所述控制模块340,还用于获取预设的配置数据进 行初始化配置,以使得所述控制模块340能够控制所述监视模块310按照与所述配置数据对应的监控方式获取所述处理模块20的性能参数;其中,所述控制控制模块340可以从所述存储器330或者预设的配置模块40中获取所述配置数据。其中,所述配置模块40与所述存储器330直接连接或者与所述控制模块340直接连接。In an embodiment, the control module 340 is further configured to obtain preset configuration data for initial configuration, so that the control module 340 can control the monitoring module 310 to obtain the configuration data in a monitoring manner corresponding to the configuration data. Performance parameters of the processing module 20; wherein the control control module 340 can obtain the configuration data from the memory 330 or a preset configuration module 40. Wherein, the configuration module 40 is directly connected to the memory 330 or directly connected to the control module 340.
在一种实现方式中,所述配置数据可以包括以下任意一种或多种:待监视处理模块20的标识、采样周期、采样次数、采样开始时间、采样结束时间以及存储地址模式;所述存储地址模式包括连续地址模式以及离散地址模式;可以看出,本申请实施例可以基于实际情况选择以上的一种或多种配置数据进行设置,有利于优化使用体验,例如用户可以通过对待监视处理模块20进行相应配置,实现对需要监视的处理模块20的自由选择;也可以通过对采样次数的设置,提高采样精度,确定需要获取的性能数据;还可以通过存储地址模式的设置,确定所述处理模块20的性能数据的存储地址。In an implementation manner, the configuration data may include any one or more of the following: the identification of the processing module to be monitored 20, sampling period, sampling times, sampling start time, sampling end time, and storage address mode; The address mode includes continuous address mode and discrete address mode; it can be seen that the embodiment of this application can select one or more of the above configuration data for setting based on the actual situation, which is beneficial to optimize the use experience. For example, the user can use the processing module to be monitored Configure correspondingly to realize the free choice of the processing module 20 that needs to be monitored; it is also possible to improve the sampling accuracy by setting the sampling times, and determine the performance data that needs to be obtained; it is also possible to determine the processing by setting the storage address mode The storage address of the performance data of the module 20.
需要说明的是,所述配置模块40可以由电路实现,或者是具有配置功能的器件或部件,本申请实施例对于所述配置模块40的具体存在方式不做任何限制,可根据实际情况进行具体设置,例如所述配置模块40可以是所述片上系统01内部所包括的功能部件,也可以是独立于所述片上系统01的外部的功能部件,例如CPU。It should be noted that the configuration module 40 can be implemented by a circuit, or a device or component with configuration functions. The embodiment of the present application does not impose any limitation on the specific existence of the configuration module 40, and can be specifically implemented according to actual conditions. Setting, for example, the configuration module 40 may be a functional component included in the system on chip 01, or may be an external functional component independent of the system on chip 01, such as a CPU.
请参阅图6A以及图6B,图6A为本申请根据一示例性实施例示出的第六种片上系统01的实施例结构图,图6A中以所述片上系统01包括所述配置模块40为例进行说明;图6B为本申请根据一示例性实施例示出的第七种片上系统01的实施例结构图,图6B中以所述配置模块40为外部的功能模块为例进行说明:所述配置模块40与所述存储器330连接,所述配置模块40用于将所述配置数据写入所述存储器330,以使得所述控制模块340从所述存储器330中读取所述配置数据。Please refer to FIGS. 6A and 6B. FIG. 6A is a structural diagram of an embodiment of a sixth system on chip 01 according to an exemplary embodiment of the present application. In FIG. 6A, the system on chip 01 includes the configuration module 40 as an example. For explanation; FIG. 6B is a structural diagram of an embodiment of the seventh system-on-chip 01 according to an exemplary embodiment of the present application. In FIG. 6B, the configuration module 40 is an external functional module for illustration: the configuration The module 40 is connected to the memory 330, and the configuration module 40 is used to write the configuration data into the memory 330, so that the control module 340 reads the configuration data from the memory 330.
在一种可能的实现方式中,若所述配置数据包括待监视处理模块20 的标识、采样周期以及采样次数,则所述控制模块340从所述存储器330中读取所述配置数据,然后所述控制模块340能够控制所述监视模块310,在所述采样周期内以所述采样次数对所述待监视处理模块20的性能参数进行循环采样。In a possible implementation, if the configuration data includes the identification, sampling period, and sampling times of the processing module 20 to be monitored, the control module 340 reads the configuration data from the memory 330, and then The control module 340 can control the monitoring module 310 to cyclically sample the performance parameters of the processing module 20 to be monitored by the number of sampling times within the sampling period.
请参阅图7A以及图7B,图7A为本申请根据一示例性实施例示出的第八种片上系统01的实施例结构图,图7A中以所述片上系统01包括所述配置模块40为例进行说明;图7B为本申请根据一示例性实施例示出的第九种片上系统01的实施例结构图,图7B中以所述配置模块40为外部的功能模块为例进行说明:所述配置模块40与所述控制模块340连接;所述配置模块40将所述配置信息发送至所述控制模块340。Please refer to FIG. 7A and FIG. 7B. FIG. 7A is a structural diagram of an embodiment of an eighth system on chip 01 according to an exemplary embodiment of the present application. In FIG. 7A, the system on chip 01 includes the configuration module 40 as an example 7B is a structural diagram of an embodiment of a ninth system-on-a-chip 01 according to an exemplary embodiment of this application. In FIG. 7B, the configuration module 40 is an external functional module for illustration: the configuration The module 40 is connected to the control module 340; the configuration module 40 sends the configuration information to the control module 340.
在一种可能的实现方式中,若所述配置数据包括待监视处理模块20的标识、采样开始时间以及采样结束时间,则所述控制模块340从所述存储器330中读取所述配置数据,然后所述控制模块340能够控制所述监视模块310,在所述采样开始时间以及采样结束时间期间对所述待监视处理模块20的性能参数进行采样。In a possible implementation manner, if the configuration data includes the identification of the processing module 20 to be monitored, the sampling start time, and the sampling end time, the control module 340 reads the configuration data from the memory 330, Then, the control module 340 can control the monitoring module 310 to sample the performance parameters of the processing module 20 to be monitored during the sampling start time and the sampling end time.
相应的,本申请实施例还提供了一种性能监测装置30,其特征在于,用于监测SoC芯片中多个处理模块20的性能,所述性能监测装置30包括多个监视模块310、总线320和存储器330,多个所述监视模块310和多个所述处理模块20一一对应连接;每一所述监视模块310通过所述总线320与所述存储器330连接。Correspondingly, an embodiment of the present application also provides a performance monitoring device 30, which is characterized in that it is used to monitor the performance of multiple processing modules 20 in a SoC chip. The performance monitoring device 30 includes multiple monitoring modules 310 and a bus 320. And the memory 330, a plurality of the monitoring modules 310 and a plurality of the processing modules 20 are connected in a one-to-one correspondence; each of the monitoring modules 310 is connected to the memory 330 through the bus 320.
所述监视模块310用于实时获取所述处理模块20的性能参数,并通过所述总线320将所述性能参数发送至所述存储器330。The monitoring module 310 is configured to obtain the performance parameters of the processing module 20 in real time, and send the performance parameters to the memory 330 through the bus 320.
所述存储器330用于接收并存储所述处理模块20的性能参数。The memory 330 is used to receive and store the performance parameters of the processing module 20.
可选地,每一所述处理模块20通过所述总线320与所述存储器330连接。Optionally, each of the processing modules 20 is connected to the memory 330 through the bus 320.
所述处理模块20用于执行自身指定的功能,以及对所述存储器330写入数据或从所述存储器330读取数据。The processing module 20 is used to perform functions designated by itself, and to write data to or read data from the memory 330.
可选地,所述处理模块20包括以下任意一种或多种:Optionally, the processing module 20 includes any one or more of the following:
图像信号处理器、解码器、编码器以及图形处理器。Image signal processor, decoder, encoder, and graphics processor.
可选地,所述性能数据包括以下任意一种或者多种:带宽、时延以及正在进行的命令的个数。Optionally, the performance data includes any one or more of the following: bandwidth, delay, and the number of ongoing commands.
可选地,所述装置还包括控制模块340;所述控制模块340通过所述总线320与所述存储器330连接;每一所述监视模块310通过所述控制模块340与所述存储器330连接。Optionally, the device further includes a control module 340; the control module 340 is connected to the memory 330 through the bus 320; each monitoring module 310 is connected to the memory 330 through the control module 340.
所述监视模块310,具体用于获取所述处理模块20的性能参数,并发送至所述控制模块340。The monitoring module 310 is specifically configured to obtain the performance parameters of the processing module 20 and send them to the control module 340.
所述控制模块340用于接收所述监视模块310发送的所述处理模块20的性能数据并发送至所述存储器330。The control module 340 is configured to receive the performance data of the processing module 20 sent by the monitoring module 310 and send it to the memory 330.
可选地,所述控制模块340和所述监视模块310之间通过两条单向串行线路连接。Optionally, the control module 340 and the monitoring module 310 are connected through two unidirectional serial lines.
所述控制模块340通过其中一条单向串行线路向所述监视模块310发送监控指令,以通知所述监视模块310对所述处理模块20的性能数据进行采样。The control module 340 sends a monitoring instruction to the monitoring module 310 through one of the one-way serial lines to notify the monitoring module 310 to sample the performance data of the processing module 20.
所述监视模块310通过另一条单向串行线路向所述控制模块340发送所述性能数据。The monitoring module 310 sends the performance data to the control module 340 through another one-way serial line.
可选地,所述控制模块340还用于同时向所述监视模块310发送监视指令,以通知所述监视模块310在同一时刻对所述处理模块20的性能数据进行采样。Optionally, the control module 340 is also configured to simultaneously send a monitoring instruction to the monitoring module 310 to notify the monitoring module 310 to sample the performance data of the processing module 20 at the same time.
可选地,所述控制模块340包括DMA单元3401;Optionally, the control module 340 includes a DMA unit 3401;
所述DMA单元3401用于将所述处理模块20的性能数据写入所述存储器330指定的地址中。The DMA unit 3401 is configured to write the performance data of the processing module 20 into the address designated by the memory 330.
可选地,所述指定的地址包括连续地址以及离散地址。Optionally, the designated address includes a continuous address and a discrete address.
可选地,所述控制模块340,还用于获取预设的配置数据进行初始化配置,以使得所述控制模块340能够控制所述监视模块310按照与所述 配置数据对应的监控方式获取所述处理模块20的性能参数。Optionally, the control module 340 is further configured to obtain preset configuration data for initial configuration, so that the control module 340 can control the monitoring module 310 to obtain the configuration data in a monitoring manner corresponding to the configuration data. Processing module 20 performance parameters.
可选地,所述控制模块340从所述存储器330或者外部配置模块40获取所述配置数据。Optionally, the control module 340 obtains the configuration data from the memory 330 or the external configuration module 40.
可选地,所述外部配置模块40与所述存储器330连接。Optionally, the external configuration module 40 is connected to the memory 330.
所述外部配置模块40用于将所述配置数据写入所述存储器330,以使得所述控制模块340从所述存储器330中读取所述配置数据。The external configuration module 40 is configured to write the configuration data into the memory 330 so that the control module 340 reads the configuration data from the memory 330.
可选地,所述外部配置模块40与所述控制模块340连接;所述外部配置模块40将所述配置信息发送至所述处理模块20。Optionally, the external configuration module 40 is connected to the control module 340; the external configuration module 40 sends the configuration information to the processing module 20.
可选地,所述配置信息包括以下任意一种或多种:待监视处理模块20的标识、采样周期、采样次数、采样开始时间、采样结束时间以及存储地址模式;所述存储地址模式包括连续地址模式以及离散地址模式。Optionally, the configuration information includes any one or more of the following: identification of the processing module 20 to be monitored, sampling period, sampling times, sampling start time, sampling end time, and storage address mode; the storage address mode includes continuous Address mode and discrete address mode.
可选地,还包括显示模块350。Optionally, a display module 350 is further included.
所述显示模块350,用于与所述存储器330连接,从所述存储器330中读取所述性能数据并显示。The display module 350 is configured to connect with the memory 330, read the performance data from the memory 330 and display it.
上述装置中各个模块(或单元)的功能和作用的实现过程具体详见上述片上系统01中对应模块(或单元)的实现过程,在此不再赘述。For the implementation process of the functions and roles of each module (or unit) in the above-mentioned device, please refer to the implementation process of the corresponding module (or unit) in the above-mentioned system-on-chip 01 for details, which will not be repeated here.
相应的,请参阅图8,本申请实施例还提供了一种性能监控方法,用于监测SoC芯片中多个处理模块的性能,应用于上述的性能监测装置上,所述方法包括:Correspondingly, referring to FIG. 8, an embodiment of the present application also provides a performance monitoring method for monitoring the performance of multiple processing modules in a SoC chip, which is applied to the above performance monitoring device, and the method includes:
步骤S101,实时获取所述处理模块的性能参数。Step S101: Acquire the performance parameters of the processing module in real time.
步骤S102,通过所述总线将所述性能参数存储至存储器。Step S102: Store the performance parameter in a memory through the bus.
可选地,所述处理模块包括以下任意一种或多种:Optionally, the processing module includes any one or more of the following:
图像信号处理器、解码器、编码器以及图形处理器。Image signal processor, decoder, encoder, and graphics processor.
可选地,所述性能数据包括以下任意一种或者多种:带宽、时延以及正在进行的命令的个数。Optionally, the performance data includes any one or more of the following: bandwidth, delay, and the number of ongoing commands.
可选地,所述通过所述总线将所述性能参数存储至存储器,包括:Optionally, the storing the performance parameter to the memory via the bus includes:
将所述性能数据发送至控制模块,以使所述控制模块通过所述总线将 所述性能参数存储至所述存储器。The performance data is sent to the control module, so that the control module stores the performance parameters in the memory through the bus.
可选地,所述方法还包括:Optionally, the method further includes:
接收所述控制模块通过其中一条单向串行线路发送的监控指令,以根据所述监控指令对所述处理模块的性能数据进行采样;Receiving a monitoring instruction sent by the control module through one of the one-way serial lines, so as to sample the performance data of the processing module according to the monitoring instruction;
通过另一条单向串行线路向所述控制模块发送所述性能数据。Send the performance data to the control module through another one-way serial line.
可选地,若对多个处理模块进行监控,所述多个处理模块分别对应的所述监控指令由所述控制模块同时发送。Optionally, if multiple processing modules are monitored, the monitoring instructions respectively corresponding to the multiple processing modules are simultaneously sent by the control module.
可选地,所述控制模块包括DMA单元,所述控制模块通过所述DMA单元将所述处理模块的性能数据写入所述存储器指定的地址中。Optionally, the control module includes a DMA unit, and the control module writes the performance data of the processing module into an address designated by the memory through the DMA unit.
可选地,所述指定的地址包括连续地址以及离散地址。Optionally, the designated address includes a continuous address and a discrete address.
可选地,还包括:Optionally, it also includes:
基于预设的配置数据对所述控制模块进行初始化配置,以按照与所述配置数据对应的监控方式获取所述处理模块的性能参数。The control module is initialized and configured based on the preset configuration data, so as to obtain the performance parameters of the processing module in a monitoring manner corresponding to the configuration data.
可选地,所述配置数据从所述存储器或者外部配置模块获取。Optionally, the configuration data is obtained from the memory or an external configuration module.
可选地,还包括:Optionally, it also includes:
将所述配置数据写入所述存储器,以使得所述控制模块从所述存储器中读取所述配置数据。The configuration data is written into the memory, so that the control module reads the configuration data from the memory.
可选地,还包括:Optionally, it also includes:
将所述配置信息发送至所述处理模块。The configuration information is sent to the processing module.
可选地,所述配置信息包括以下任意一种或多种:待监视处理模块的标识、采样周期、采样次数、采样开始时间、采样结束时间以及存储地址模式;所述存储地址模式包括连续地址模式以及离散地址模式。Optionally, the configuration information includes any one or more of the following: identification of the processing module to be monitored, sampling period, sampling times, sampling start time, sampling end time, and storage address mode; the storage address mode includes continuous addresses Mode and discrete address mode.
可选地,还包括:Optionally, it also includes:
从所述存储器中读取所述性能数据并显示。Read the performance data from the memory and display it.
上述方法中各个步骤的实现过程具体详见上述片上系统中对应模块(或单元)的实现过程,在此不再赘述。For the implementation process of each step in the above method, refer to the implementation process of the corresponding module (or unit) in the above-mentioned system-on-chip for details, which will not be repeated here.
相应的,请参阅图9,本申请实施例还提供了一种可移动平台001, 包括:Correspondingly, please refer to FIG. 9. An embodiment of the present application also provides a movable platform 001, including:
机体02。 Body 02.
动力系统03,安装在所述机体02内,用于为所述可移动平台001提供动力。The power system 03 is installed in the body 02 to provide power for the movable platform 001.
以及上述的片上系统01。And the above-mentioned system on chip 01.
本领域技术人员可以理解,图9仅仅是可移动平台的示例,并不构成对可移动平台的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如可移动平台还可以包括输入输出设备、网络接入设备等。Those skilled in the art can understand that FIG. 9 is only an example of a movable platform, and does not constitute a limitation on the movable platform. It may include more or less components than shown in the figure, or a combination of certain components, or different components. For example, the mobile platform may also include input and output devices, network access devices, and so on.
相应的,请参阅图10,本申请实施例还提供了一种相机002,包括:Correspondingly, referring to FIG. 10, an embodiment of the present application also provides a camera 002, including:
外壳04。 Shell 04.
镜头组件05,设于所述外壳04内部。The lens assembly 05 is arranged inside the housing 04.
传感器组件06,设于所述外壳04内部,用于感知通过所述镜头组件的光并生成电信号。The sensor assembly 06 is arranged inside the housing 04 and is used to sense light passing through the lens assembly and generate electrical signals.
以及上述片上系统01,用于对所述电信号进行处理。And the aforementioned system on chip 01 is used to process the electrical signal.
本领域技术人员可以理解,图10仅仅是相机的示例,并不构成对相机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如相机还可以包括网络接入设备等。Those skilled in the art can understand that FIG. 10 is only an example of a camera, and does not constitute a limitation on the camera. It may include more or less components than those shown in the figure, or combine certain components, or different components, such as the camera Can include network access equipment, etc.
需要说明的是,上述所有模块或单元可以由电路实现,或者是具有配置相应功能的器件或部件。It should be noted that all the above-mentioned modules or units can be implemented by circuits, or devices or components with corresponding functions.
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。After considering the specification and practicing the invention disclosed herein, those skilled in the art will easily think of other embodiments of the present application. This application is intended to cover any variations, uses, or adaptive changes of this application. These variations, uses, or adaptive changes follow the general principles of this application and include common knowledge or customary technical means in the technical field not disclosed in this application. . The description and embodiments are only regarded as exemplary, and the true scope and spirit of the application are pointed out by the following claims.
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的 精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。It should be understood that the present application is not limited to the precise structure that has been described above and shown in the drawings, and various modifications and changes can be made without departing from its scope. The scope of the application is only limited by the appended claims.
以上仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。The above are only the preferred embodiments of this application and are not intended to limit this application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of this application shall be included in the protection of this application. Within range.

Claims (45)

  1. 一种性能监测装置,其特征在于,用于监测SoC芯片中多个处理模块的性能,所述性能监测装置包括多个监视模块、总线和存储器,多个所述监视模块和多个所述处理模块一一对应连接;每一所述监视模块通过所述总线与所述存储器连接;A performance monitoring device, characterized in that it is used to monitor the performance of multiple processing modules in a SoC chip. The performance monitoring device includes multiple monitoring modules, a bus, and a memory, multiple monitoring modules and multiple processing modules. Modules are connected in a one-to-one correspondence; each of the monitoring modules is connected to the memory through the bus;
    所述监视模块用于实时获取所述处理模块的性能参数,并通过所述总线将所述性能参数发送至所述存储器;The monitoring module is configured to obtain the performance parameters of the processing module in real time, and send the performance parameters to the memory through the bus;
    所述存储器用于接收并存储所述处理模块的性能参数。The memory is used to receive and store the performance parameters of the processing module.
  2. 根据权利要求1所述的装置,其特征在于,每一所述处理模块通过所述总线与所述存储器连接;The device according to claim 1, wherein each of the processing modules is connected to the memory through the bus;
    所述处理模块用于执行自身指定的功能,以及对所述存储器写入数据或从所述存储器读取数据。The processing module is used to perform functions designated by itself, and to write data to or read data from the memory.
  3. 根据权利要求1所述的装置,其特征在于,所述处理模块包括以下任意一种或多种:The device according to claim 1, wherein the processing module comprises any one or more of the following:
    图像信号处理器、解码器、编码器以及图形处理器。Image signal processor, decoder, encoder, and graphics processor.
  4. 根据权利要求1所述的装置,其特征在于,所述性能数据包括以下任意一种或者多种:带宽、时延以及正在进行的命令的个数。The apparatus according to claim 1, wherein the performance data includes any one or more of the following: bandwidth, delay, and the number of ongoing commands.
  5. 根据权利要求1所述的装置,其特征在于,所述装置还包括控制模块;所述控制模块通过所述总线与所述存储器连接;每一所述监视模块通过所述控制模块与所述存储器连接;The device according to claim 1, wherein the device further comprises a control module; the control module is connected to the memory through the bus; each of the monitoring modules is connected to the memory through the control module connection;
    所述监视模块,具体用于获取所述处理模块的性能参数,并发送至所述控制模块;The monitoring module is specifically configured to obtain the performance parameters of the processing module and send them to the control module;
    所述控制模块用于接收所述监视模块发送的所述处理模块的性能数据并发送至所述存储器。The control module is configured to receive the performance data of the processing module sent by the monitoring module and send it to the memory.
  6. 根据权利要求5所述的装置,其特征在于,所述控制模块和所述监视模块之间通过两条单向串行线路连接;The device according to claim 5, wherein the control module and the monitoring module are connected by two unidirectional serial lines;
    所述控制模块通过其中一条单向串行线路向所述监视模块发送监控指 令,以通知所述监视模块对所述处理模块的性能数据进行采样;The control module sends a monitoring instruction to the monitoring module through one of the one-way serial lines to notify the monitoring module to sample the performance data of the processing module;
    所述监视模块通过另一条单向串行线路向所述控制模块发送所述性能数据。The monitoring module sends the performance data to the control module through another one-way serial line.
  7. 根据权利要求5所述的装置,其特征在于,所述控制模块还用于同时向所述监视模块发送监视指令,以通知所述监视模块在同一时刻对所述处理模块的性能数据进行采样。The device according to claim 5, wherein the control module is further configured to send monitoring instructions to the monitoring module at the same time to notify the monitoring module to sample the performance data of the processing module at the same time.
  8. 根据权利要求5所述的装置,其特征在于,所述控制模块包括DMA单元;The device according to claim 5, wherein the control module comprises a DMA unit;
    所述DMA单元用于将所述处理模块的性能数据写入所述存储器指定的地址中。The DMA unit is used to write the performance data of the processing module into an address designated by the memory.
  9. 根据权利要求8所述的装置,其特征在于,所述指定的地址包括连续地址以及离散地址。The device according to claim 8, wherein the designated address includes a continuous address and a discrete address.
  10. 根据权利要求5所述的装置,其特征在于,所述控制模块,还用于获取预设的配置数据进行初始化配置,以使得所述控制模块能够控制所述监视模块按照与所述配置数据对应的监控方式获取所述处理模块的性能参数。The device according to claim 5, wherein the control module is further configured to obtain preset configuration data for initial configuration, so that the control module can control the monitoring module according to the configuration data corresponding to the Obtain the performance parameters of the processing module in a monitoring manner.
  11. 根据权利要求10所述的装置,其特征在于,所述控制模块从所述存储器或者外部配置模块获取所述配置数据。The device according to claim 10, wherein the control module obtains the configuration data from the memory or an external configuration module.
  12. 根据权利要求11所述的装置,其特征在于,所述外部配置模块与所述存储器连接;The device according to claim 11, wherein the external configuration module is connected to the memory;
    所述外部配置模块用于将所述配置数据写入所述存储器,以使得所述控制模块从所述存储器中读取所述配置数据。The external configuration module is used to write the configuration data into the memory, so that the control module reads the configuration data from the memory.
  13. 根据权利要求11所述的装置,其特征在于,所述外部配置模块与所述控制模块连接;所述外部配置模块将所述配置信息发送至所述处理模块。The device according to claim 11, wherein the external configuration module is connected to the control module; the external configuration module sends the configuration information to the processing module.
  14. 根据权利要求10所述的装置,其特征在于,The device according to claim 10, wherein:
    所述配置信息包括以下任意一种或多种:待监视处理模块的标识、采样周期、采样次数、采样开始时间、采样结束时间以及存储地址模式;所述存储地址模式包括连续地址模式以及离散地址模式。The configuration information includes any one or more of the following: the identification of the processing module to be monitored, sampling period, sampling times, sampling start time, sampling end time, and storage address mode; the storage address mode includes continuous address mode and discrete address mode.
  15. 根据权利要求1所述的性能监测装置,其特征在于,还包括显示模块;The performance monitoring device of claim 1, further comprising a display module;
    所述显示模块,用于与所述存储器连接,从所述存储器中读取所述性能数据并显示。The display module is used to connect to the memory, read the performance data from the memory and display it.
  16. 一种片上系统,其特征在于,包括多个处理器件以及性能监测装置,所述性能监测装置包括:多个监视模块、总线和存储器;A system on a chip, which is characterized by comprising a plurality of processing devices and a performance monitoring device, the performance monitoring device comprising: a plurality of monitoring modules, a bus, and a memory;
    多个所述监视模块和多个所述处理模块一一对应连接;每一所述监视模块以及每一所述处理模块分别通过所述总线与所述存储器连接;A plurality of the monitoring modules and a plurality of the processing modules are connected in a one-to-one correspondence; each of the monitoring modules and each of the processing modules are respectively connected to the memory through the bus;
    所述监视模块用于实时获取所述处理模块的性能参数,并通过所述总线将所述性能参数发送至所述存储器;The monitoring module is configured to obtain the performance parameters of the processing module in real time, and send the performance parameters to the memory through the bus;
    所述存储器用于接收并存储所述处理模块的性能参数;The memory is used to receive and store the performance parameters of the processing module;
    所述处理模块用于执行自身指定的功能,以及对所述存储器写入数据或从所述存储器读取数据。The processing module is used to perform functions designated by itself, and to write data to or read data from the memory.
  17. 根据权利要求16所述的片上系统,其特征在于,所述处理模块包括以下任意一种或多种:The system on chip according to claim 16, wherein the processing module comprises any one or more of the following:
    图像信号处理器、解码器、编码器以及图形处理器。Image signal processor, decoder, encoder, and graphics processor.
  18. 根据权利要求16所述的片上系统,其特征在于,所述性能数据包括以下任意一种或者多种:带宽、时延以及正在进行的命令的个数。The system on chip according to claim 16, wherein the performance data includes any one or more of the following: bandwidth, delay, and the number of ongoing commands.
  19. 根据权利要求16所述的片上系统,其特征在于,所述性能监测装置还包括控制模块;所述控制模块通过所述总线与所述存储器连接;每一所述监视模块通过所述控制模块与所述存储器连接;The system on chip according to claim 16, wherein the performance monitoring device further comprises a control module; the control module is connected to the memory through the bus; each monitoring module is connected to the memory through the control module The memory connection;
    所述监视模块,具体用于获取所述处理模块的性能参数,并发送至所述控制模块;The monitoring module is specifically configured to obtain the performance parameters of the processing module and send them to the control module;
    所述控制模块用于接收所述监视模块发送的所述处理模块的性能数据并发送至所述存储器。The control module is configured to receive the performance data of the processing module sent by the monitoring module and send it to the memory.
  20. 根据权利要求19所述的片上系统,其特征在于,所述控制模块和所述监视模块之间通过两条单向串行线路连接;The system on chip according to claim 19, wherein the control module and the monitoring module are connected by two unidirectional serial lines;
    所述控制模块通过其中一条单向串行线路向所述监视模块发送监控指令,以通知所述监视模块对所述处理模块的性能数据进行采样;The control module sends a monitoring instruction to the monitoring module through one of the one-way serial lines to notify the monitoring module to sample the performance data of the processing module;
    所述监视模块通过另一条单向串行线路向所述控制模块发送所述性能数据。The monitoring module sends the performance data to the control module through another one-way serial line.
  21. 根据权利要求19所述的片上系统,其特征在于,所述控制模块还用于同时向所述监视模块发送监视指令,以通知所述监视模块在同一时刻对所述处理模块的性能数据进行采样。The system on chip according to claim 19, wherein the control module is further configured to simultaneously send a monitoring instruction to the monitoring module to notify the monitoring module to sample the performance data of the processing module at the same time .
  22. 根据权利要求19所述的片上系统,其特征在于,所述控制模块包括DMA单元;The system on chip according to claim 19, wherein the control module comprises a DMA unit;
    所述DMA单元用于将所述处理模块的性能数据写入所述存储器指定的地址中。The DMA unit is used to write the performance data of the processing module into an address designated by the memory.
  23. 根据权利要求22所述的片上系统,其特征在于,所述指定的地址包括连续地址以及离散地址。The system on chip of claim 22, wherein the designated address includes a continuous address and a discrete address.
  24. 根据权利要求19所述的片上系统,其特征在于,所述控制模块,还用于获取预设的配置数据进行初始化配置,以使得所述控制模块能够控制所述监视模块按照与所述配置数据对应的监控方式获取所述处理模块的性能参数。The system-on-chip according to claim 19, wherein the control module is further configured to obtain preset configuration data for initial configuration, so that the control module can control the monitoring module in accordance with the configuration data The corresponding monitoring method obtains the performance parameters of the processing module.
  25. 根据权利要求24所述的片上系统,其特征在于,所述片上系统还包括配置模块;The system on chip according to claim 24, wherein the system on chip further comprises a configuration module;
    所述控制模块从所述存储器或者所述配置模块获取所述配置数据。The control module obtains the configuration data from the memory or the configuration module.
  26. 根据权利要求25所述的片上系统,其特征在于,所述配置模块与所述存储器连接;The system on chip according to claim 25, wherein the configuration module is connected to the memory;
    所述配置模块用于将所述配置数据写入所述存储器,以使得所述控制模块从所述存储器中读取所述配置数据。The configuration module is used to write the configuration data into the memory, so that the control module reads the configuration data from the memory.
  27. 根据权利要求25所述的片上系统,其特征在于,所述配置模块与所述控制模块连接;所述配置模块将所述配置信息发送至所述处理模块。The system-on-chip according to claim 25, wherein the configuration module is connected to the control module; and the configuration module sends the configuration information to the processing module.
  28. 根据权利要求24所述的片上系统,其特征在于,所述配置信息包括 以下任意一种或多种:待监视处理模块的标识、采样周期、采样次数、采样开始时间、采样结束时间以及存储地址模式;所述存储地址模式包括连续地址模式以及离散地址模式。The system on chip according to claim 24, wherein the configuration information includes any one or more of the following: identification of the processing module to be monitored, sampling period, sampling times, sampling start time, sampling end time, and storage address Mode; The storage address mode includes a continuous address mode and a discrete address mode.
  29. 根据权利要求16所述的片上系统,其特征在于,所述性能监测装置还包括显示模块;The system on chip according to claim 16, wherein the performance monitoring device further comprises a display module;
    所述显示模块,用于与所述存储器连接,从所述存储器中读取所述性能数据并显示。The display module is used to connect to the memory, read the performance data from the memory and display it.
  30. 一种可移动平台,其特征在于,包括:A movable platform, characterized in that it comprises:
    机体;Body
    动力系统,安装在所述机体内,用于为所述可移动平台提供动力;以及,A power system installed in the body and used to provide power to the movable platform; and,
    如权利要求16至29任意一项所述的片上系统。The system on chip according to any one of claims 16 to 29.
  31. 一种相机,其特征在于,包括:A camera, characterized in that it comprises:
    外壳;shell;
    镜头组件,设于所述外壳内部;The lens assembly is arranged inside the housing;
    传感器组件,设于所述外壳内部,用于感知通过所述镜头组件的光并生成电信号;以及,The sensor assembly is arranged inside the housing and is used to sense light passing through the lens assembly and generate an electrical signal; and,
    如权利要求16至29任意一项所述的片上系统,用于对所述电信号进行处理。The system on chip according to any one of claims 16 to 29, which is used to process the electrical signal.
  32. 一种性能监控方法,其特征在于,用于监测SoC芯片中多个处理模块的性能,应用于如权利要求1至15任意一项所述的性能监测装置上,所述方法包括:A performance monitoring method, characterized in that it is used to monitor the performance of multiple processing modules in a SoC chip, and is applied to the performance monitoring device according to any one of claims 1 to 15. The method comprises:
    实时获取所述处理模块的性能参数;Acquiring the performance parameters of the processing module in real time;
    通过所述总线将所述性能参数存储至存储器。The performance parameter is stored in the memory through the bus.
  33. 根据权利要求32所述的方法,其特征在于,所述处理模块包括以下任意一种或多种:The method according to claim 32, wherein the processing module comprises any one or more of the following:
    图像信号处理器、解码器、编码器以及图形处理器。Image signal processor, decoder, encoder, and graphics processor.
  34. 根据权利要求32所述的方法,其特征在于,所述性能数据包括以下 任意一种或者多种:带宽、时延以及正在进行的命令的个数。The method according to claim 32, wherein the performance data includes any one or more of the following: bandwidth, delay, and the number of ongoing commands.
  35. 根据权利要求32所述的方法,其特征在于,所述通过所述总线将所述性能参数存储至存储器,包括:The method according to claim 32, wherein the storing the performance parameter to the memory via the bus comprises:
    将所述性能数据发送至控制模块,以使所述控制模块通过所述总线将所述性能参数存储至所述存储器。The performance data is sent to the control module, so that the control module stores the performance parameter in the memory through the bus.
  36. 根据权利要求35所述的方法,其特征在于,所述方法还包括:The method of claim 35, wherein the method further comprises:
    接收所述控制模块通过其中一条单向串行线路发送的监控指令,以根据所述监控指令对所述处理模块的性能数据进行采样;Receiving a monitoring instruction sent by the control module through one of the one-way serial lines, so as to sample the performance data of the processing module according to the monitoring instruction;
    通过另一条单向串行线路向所述控制模块发送所述性能数据。Send the performance data to the control module through another one-way serial line.
  37. 根据权利要求35所述的方法,其特征在于,若对多个处理模块进行监控,所述多个处理模块分别对应的所述监控指令由所述控制模块同时发送。35. The method according to claim 35, wherein if multiple processing modules are monitored, the monitoring instructions corresponding to the multiple processing modules are simultaneously sent by the control module.
  38. 根据权利要求35所述的方法,其特征在于,所述控制模块包括DMA单元,所述控制模块通过所述DMA单元将所述处理模块的性能数据写入所述存储器指定的地址中。The method according to claim 35, wherein the control module comprises a DMA unit, and the control module writes the performance data of the processing module into an address designated by the memory through the DMA unit.
  39. 根据权利要求38所述的方法,其特征在于,所述指定的地址包括连续地址以及离散地址。The method according to claim 38, wherein the designated address includes a continuous address and a discrete address.
  40. 根据权利要求35所述的方法,其特征在于,还包括:The method according to claim 35, further comprising:
    基于预设的配置数据对所述控制模块进行初始化配置,以按照与所述配置数据对应的监控方式获取所述处理模块的性能参数。The control module is initialized and configured based on the preset configuration data, so as to obtain the performance parameters of the processing module in a monitoring manner corresponding to the configuration data.
  41. 根据权利要求40所述的方法,其特征在于,所述配置数据从所述存储器或者外部配置模块获取。The method of claim 40, wherein the configuration data is obtained from the memory or an external configuration module.
  42. 根据权利要求41所述的方法,其特征在于,还包括:The method according to claim 41, further comprising:
    将所述配置数据写入所述存储器,以使得所述控制模块从所述存储器中读取所述配置数据。The configuration data is written into the memory, so that the control module reads the configuration data from the memory.
  43. 根据权利要求41所述的方法,其特征在于,还包括:The method according to claim 41, further comprising:
    将所述配置信息发送至所述处理模块。The configuration information is sent to the processing module.
  44. 根据权利要求40所述的方法,其特征在于,The method of claim 40, wherein:
    所述配置信息包括以下任意一种或多种:待监视处理模块的标识、采样周期、采样次数、采样开始时间、采样结束时间以及存储地址模式;所述存储地址模式包括连续地址模式以及离散地址模式。The configuration information includes any one or more of the following: the identification of the processing module to be monitored, sampling period, sampling times, sampling start time, sampling end time, and storage address mode; the storage address mode includes continuous address mode and discrete address mode.
  45. 根据权利要求32所述的方法,其特征在于,还包括:The method according to claim 32, further comprising:
    从所述存储器中读取所述性能数据并显示。Read the performance data from the memory and display it.
PCT/CN2019/101418 2019-08-19 2019-08-19 Performance monitoring device and method, system on chip, movable platform, and camera WO2021031082A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2019/101418 WO2021031082A1 (en) 2019-08-19 2019-08-19 Performance monitoring device and method, system on chip, movable platform, and camera
CN201980031342.0A CN112154419A (en) 2019-08-19 2019-08-19 Performance monitoring device and method, system on chip, movable platform and camera

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/101418 WO2021031082A1 (en) 2019-08-19 2019-08-19 Performance monitoring device and method, system on chip, movable platform, and camera

Publications (1)

Publication Number Publication Date
WO2021031082A1 true WO2021031082A1 (en) 2021-02-25

Family

ID=73891953

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/101418 WO2021031082A1 (en) 2019-08-19 2019-08-19 Performance monitoring device and method, system on chip, movable platform, and camera

Country Status (2)

Country Link
CN (1) CN112154419A (en)
WO (1) WO2021031082A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113885366B (en) * 2021-11-01 2024-02-09 芯跳科技(广州)有限公司 Big data processing monitoring system and method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120260258A1 (en) * 2011-04-05 2012-10-11 Edoardo Regini Method and system for dynamically controlling power to multiple cores in a multicore processor of a portable computing device
CN103125132A (en) * 2010-09-28 2013-05-29 高通股份有限公司 Systems and methods for measuring the effectiveness of a workload predictor on a mobile device
CN106557400A (en) * 2015-09-24 2017-04-05 联发科技股份有限公司 The method of dynamic data collection and corresponding equipment in equipment
US20190155540A1 (en) * 2016-09-27 2019-05-23 Intel Corporation Systems and methods for differentiating function performance by input parameters

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360329B (en) * 2011-09-29 2014-11-05 西北工业大学 Bus monitoring and debugging control device and methods for monitoring and debugging bus
CN107133148B (en) * 2017-05-10 2023-05-30 鸿秦(北京)科技有限公司 SoC bus monitoring device and working method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103125132A (en) * 2010-09-28 2013-05-29 高通股份有限公司 Systems and methods for measuring the effectiveness of a workload predictor on a mobile device
US20120260258A1 (en) * 2011-04-05 2012-10-11 Edoardo Regini Method and system for dynamically controlling power to multiple cores in a multicore processor of a portable computing device
CN106557400A (en) * 2015-09-24 2017-04-05 联发科技股份有限公司 The method of dynamic data collection and corresponding equipment in equipment
US20190155540A1 (en) * 2016-09-27 2019-05-23 Intel Corporation Systems and methods for differentiating function performance by input parameters

Also Published As

Publication number Publication date
CN112154419A (en) 2020-12-29

Similar Documents

Publication Publication Date Title
US10055807B2 (en) Hardware architecture for acceleration of computer vision and imaging processing
US10936533B2 (en) GPU remote communication with triggered operations
US10606778B2 (en) Bus system
US20140223111A1 (en) Managing out-of-order memory command execution from multiple queues while maintaining data coherency
US20190114268A1 (en) System level integrated circuit chip
US8825922B2 (en) Arrangement for processing trace data information, integrated circuits and a method for processing trace data information
US9952643B2 (en) Device power management state transition latency advertisement for faster boot time
US10216669B2 (en) Bus bridge for translating requests between a module bus and an axi bus
US7783817B2 (en) Method and apparatus for conditional broadcast of barrier operations
US10268416B2 (en) Method and systems of controlling memory-to-memory copy operations
KR101380364B1 (en) Sharing bandwidth of a single port sram between at least one dma peripheral and a cpu operating with a quadrature clock
WO2015169054A1 (en) Method and device for realizing data consistency, and computer storage medium
JP2009217813A (en) Data transfer between devices in integrated circuit
KR20180083688A (en) Application Processor and Integrated Circuit Including Interrupt Controller
WO2021031082A1 (en) Performance monitoring device and method, system on chip, movable platform, and camera
US10095643B2 (en) Direct memory access control device for at least one computing unit having a working memory
WO2017011021A1 (en) Systems and methods facilitating reduced latency via stashing in systems on chips
US8301816B2 (en) Memory access controller, system, and method
JP2006119724A (en) Cpu system, bus bridge, its control method, and computer system
CN116974963B (en) Device for accessing memory, method, chip and storage medium thereof
US10803008B2 (en) Flexible coupling of processor modules
JP7363344B2 (en) Memory control device and control method
US10180847B2 (en) Circuitry for configuring entities
CN117061621A (en) Bus communication signal processing method, system, device, equipment and medium
JP2009134635A (en) Multiprocessor system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19942205

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19942205

Country of ref document: EP

Kind code of ref document: A1