JP2007280209A - Monitoring method of multi-core processor - Google Patents

Monitoring method of multi-core processor Download PDF

Info

Publication number
JP2007280209A
JP2007280209A JP2006107817A JP2006107817A JP2007280209A JP 2007280209 A JP2007280209 A JP 2007280209A JP 2006107817 A JP2006107817 A JP 2006107817A JP 2006107817 A JP2006107817 A JP 2006107817A JP 2007280209 A JP2007280209 A JP 2007280209A
Authority
JP
Japan
Prior art keywords
memory
core processor
core
memories
selector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006107817A
Other languages
Japanese (ja)
Inventor
Kunihiko Kimura
邦彦 木村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Kokusai Electric Inc
Original Assignee
Hitachi Kokusai Electric Inc
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 Hitachi Kokusai Electric Inc filed Critical Hitachi Kokusai Electric Inc
Priority to JP2006107817A priority Critical patent/JP2007280209A/en
Publication of JP2007280209A publication Critical patent/JP2007280209A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problems of operating a multi-core processor in a multi-task in an optimal state, operating a signal processing system to response to a real-time request, and monitoring operation of a core processor without losing its real-time performance. <P>SOLUTION: This multi-core processor is constituted so that a plurality of core processor attached with a memory are respectively connected to a plurality of different memories via a selector by an inside bus, and the selector selects one or a plurality of memories of an access destination from the plurality of memories by address designation or the register setting from the core processors, and can make write access between the core processor and the memory; and is realized by outputting the content of the memory to an external part of the multi-core processor. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、マルチコアプロセッサの監視方法に関し、特に各コアプロセッサのメモリアクセスを用いた監視方法に関する。   The present invention relates to a monitoring method for a multi-core processor, and more particularly to a monitoring method using memory access of each core processor.

従来、シングルコアプロセッサにマルチタスクOS(Multitasking Operating System)を搭載する事によってマルチタスク動作を実現し、シングルコアプロセッサの周波数を上げる事によって処理能力を高め、リアルタイム性能を向上してきた。シングルコアプロセッサの場合、プロセッサの監視方法としては、バスを外部ピンに出力して、他の測定器等で本信号を取り込み監視または解析する方法があるが、これは高速なバス動作に耐えられないという問題がある。また、周波数を上げてプロセッサの能力を高める方法は熱、消費電力の面で限界に近づきつつある。
また、従来からワンチップでない複数のプロセッサからなるシステムはあるが、この場合のプロセッサの監視は、複数のプロセッサが共有メモリまたは通信デバイスを介してソケット通信等を行い、ヘルスチェック等のメッセージでお互いのタスクを監視していた。この方法は、簡易的な監視であるので、時間応答性能の厳しい信号処理システムなどの詳細な動作を監視または解析することはできないという問題がある。
Conventionally, a multitasking operation is realized by mounting a multitasking OS (Multitasking Operating System) on a single core processor, and the processing capability is improved by increasing the frequency of the single core processor, thereby improving the real-time performance. In the case of a single-core processor, there is a method of monitoring the processor by outputting the bus to an external pin and capturing or monitoring this signal with another measuring instrument, etc., but this can withstand high-speed bus operation. There is no problem. Also, the method of increasing the processor capacity by increasing the frequency is approaching the limit in terms of heat and power consumption.
In addition, there is a system consisting of a plurality of processors that are not one-chip in the past. In this case, the processors are monitored by socket communication via a shared memory or a communication device, and messages are sent to each other by messages such as health checks. Was monitoring the task. Since this method is simple monitoring, there is a problem that detailed operations such as a signal processing system having a severe time response performance cannot be monitored or analyzed.

これに対し、マルチコアプロセッサ構成をとれば周波数を上げずに処理能力を高めることが出来、熱、消費電力の面でシングルコアプロセッサより有利であるが、メモリの排他、入出力リソースの排他、データの同一性保持が複雑になるというデメリットがある。   In contrast, a multi-core processor configuration can increase processing capacity without increasing the frequency, and is more advantageous than a single-core processor in terms of heat and power consumption, but memory exclusion, input / output resource exclusion, data There is a demerit that maintaining identity is complicated.

解決しようとする課題は、マルチコアプロセッサを最適な状態でマルチタスク動作させ、信号処理システムなどのリアルタイム要求に答える様に動作させると共に、さらにそのリアルタイム性をくずさずにコアプロセッサの動作を監視することである。   The problem to be solved is to operate the multi-core processor in an optimal state, perform multi-task operation to respond to real-time requirements such as signal processing systems, and monitor the operation of the core processor without losing its real-time characteristics. It is.

本発明は、上記課題を鑑みて為されたものであり、複数のコアプロセッサを1個のパッケージに集積したマルチコアプロセッサにおいて、複数の各コアプロセッサにはそれぞれにメモリが付属され、メモリが付属された複数のコアプロセッサは、それぞれがマルチコアプロセッサの内部バスにより接続されると共にセレクタを介して異なる複数のメモリに接続され、セレクタがコアプロセッサからのアドレス指定またはレジスタ設定により複数のメモリからアクセス先のメモリを1つまたは複数選択し、コアプロセッサとメモリ間でライトアクセス可能なように構成され、メモリの内容をマルチコアプロセッサ外部に出力することによりコアプロセッサのメモリアクセス動作を監視することを特徴とする。   The present invention has been made in view of the above problems, and in a multi-core processor in which a plurality of core processors are integrated in one package, each of the plurality of core processors is attached with a memory, and the memory is attached. The plurality of core processors are connected to each other by a multi-core processor internal bus and to a plurality of different memories via a selector, and the selector is accessed from the plurality of memories by addressing or register setting from the core processor. The memory access operation of the core processor is monitored by selecting one or a plurality of memories, configured to be write-accessible between the core processor and the memory, and outputting the contents of the memory to the outside of the multi-core processor. .

本発明によれば、時間応答性能の厳しい信号処理システム等に対し、コアプロセッサに負荷をかけずにマルチコアプロセッサのメモリアクセスの結果を外部に出力する機能を実現できる。
例えば、複数のコアプロセッサとセレクタを介して接続された複数のメモリの内、1つのメモリにスタックを配置し、異なるメモリを介して内容を外部に出力することにより、関数呼出のトレースをする機能を実現できる。
また、複数のコアプロセッサとセレクタを介して接続された複数のメモリの内、1つのメモリにTCB(タスクコンテキストブロック)を配置し、異なるメモリを介して内容を外部に出力することにより、タスク状態を監視する機能を実現できる。
ADVANTAGE OF THE INVENTION According to this invention, the function which outputs the result of the memory access of a multi-core processor outside can be implement | achieved without applying a load to a core processor with respect to a signal processing system etc. with severe time response performance.
For example, a function that traces function calls by placing a stack in one memory among a plurality of memories connected to a plurality of core processors via a selector and outputting the contents to the outside via a different memory Can be realized.
In addition, a task state block is placed in one memory among a plurality of memories connected to a plurality of core processors via a selector, and the contents are output to the outside via a different memory. Can be monitored.

複数のコアプロセッサが内部バスにより接続されると共にセレクタを介して異なる複数のメモリに接続され、セレクタがコアプロセッサからのアドレス指定またはレジスタ設定により複数のメモリからアクセス先のメモリを1つまたは複数選択し、コアプロセッサとメモリ間でライトアクセス可能なように構成され、メモリの内容をマルチコアプロセッサ外部に出力することによりコアプロセッサのメモリアクセス動作を監視することで実現した。   Multiple core processors are connected via an internal bus and connected to multiple different memories via a selector, and the selector selects one or more access destination memories from multiple memories by addressing or register setting from the core processor The memory access operation of the core processor is implemented by monitoring the memory access operation of the core processor by outputting the contents of the memory to the outside of the multi-core processor.

以下に本発明の実施の形態について図を用いて一実施例を説明する。
図1は、本発明の実施形態における構成を示すブロック図の一実施例であり、図2は、本発明の実施形態におけるマルチタスク構成の一実施例である。
図1中のコアプロセッサ0(1)、コアプロセッサ1(2)、コアプロセッサ2(3)のそれぞれは、コア0、コア1、コア2と、各コアにL1メモリがそれぞれ付属する複数のコアプロセッサで、内部バスによりセレクタ(11)を介して複数のL2メモリ0(4)、L2メモリ1(5)、L2メモリ2(6)、L2メモリ3(7)に接続されている。内部バスと外部バス間には、Direct Memory AccessであるDMA(12)が接続され、更に、外部バスには、HOSTプロセッサ(8)、SDRAM(9)、通信デバイス(10)が接続されている。
また、図2は、マルチタスク構成例で、コアプロセッサ0(1)、コアプロセッサ1(2)、コアプロセッサ2(3)の各コアプロセッサはシングルタスクのOSで動作し、各コアプロセッサには、1つのTaskと、複数のSWI(ソフトウエア割込み)と、複数のHWI(ハードウエア割込み)とを備え、共通部(21)として、Library、IPL(Initial Program Loader)、OS、Driverを有している。
An embodiment of the present invention will be described below with reference to the drawings.
FIG. 1 is an example of a block diagram showing a configuration according to an embodiment of the present invention, and FIG. 2 is an example of a multitask configuration according to an embodiment of the present invention.
Each of the core processor 0 (1), the core processor 1 (2), and the core processor 2 (3) in FIG. 1 includes a core 0, a core 1, and a core 2, and a plurality of cores each having an L1 memory attached to each core. A processor is connected to a plurality of L2 memories 0 (4), L2 memories 1 (5), L2 memories 2 (6), and L2 memories 3 (7) via a selector (11) by an internal bus. A direct memory access DMA (12) is connected between the internal bus and the external bus, and a HOST processor (8), SDRAM (9), and communication device (10) are connected to the external bus. .
FIG. 2 shows an example of a multi-task configuration. Each core processor of the core processor 0 (1), the core processor 1 (2), and the core processor 2 (3) operates on a single task OS. It has one Task, multiple SWI (software interrupts), and multiple HWIs (hardware interrupts), and has a common part (21), Library, IPL (Initial Program Loader), OS, Driver ing.

本実施例に示すマルチコアプロセッサでは、図1中のようにコアプロセッサ0(1)、コアプロセッサ1(2)、コアプロセッサ2(3)は、各コアにL1メモリがそれぞれ付属する複数のコアプロセッサで、内部バスによりセレクタ(11)を介して複数のL2メモリ0(4)、L2メモリ1(5)、L2メモリ2(6)、L2メモリ3(7)に接続されている。ここで、各コアプロセッサと各L2メモリはセレクタ(11)を介することでバスを空間的に多重して接続されることとなり、例えば、コアプロセッサ0(1)がL2メモリ0(4)にアクセス中に、コアプロセッサ1(2)がL2メモリ1(5)に、コアプロセッサ2(3)がL2メモリ2(6)に同時にアクセス可能なような接続となる。
また、各コアプロセッサには、図2に示すようにTaskを1つだけ割り当てる。これにより、同一コア内ではタスクコンテキストの切替処理によるオーバーヘッドが発生しない。
また、共通部(21)は、L2メモリに格納され、L1メモリの一部に配置するキャッシュメモリを介在してコアプロセッサからアクセスされる。共通部をL2メモリに配置することにより、容量の少ないL1メモリを補うことが可能となる。
In the multi-core processor shown in this embodiment, as shown in FIG. 1, the core processor 0 (1), the core processor 1 (2), and the core processor 2 (3) are a plurality of core processors each having an L1 memory attached to each core. Thus, the L2 memory 0 (4), the L2 memory 1 (5), the L2 memory 2 (6), and the L2 memory 3 (7) are connected via the selector (11) by the internal bus. Here, each core processor and each L2 memory are connected via a selector (11) with spatially multiplexed buses. For example, the core processor 0 (1) accesses the L2 memory 0 (4). The connection is such that the core processor 1 (2) can access the L2 memory 1 (5) and the core processor 2 (3) can access the L2 memory 2 (6) simultaneously.
Further, only one Task is allocated to each core processor as shown in FIG. As a result, overhead due to task context switching processing does not occur in the same core.
The common unit (21) is stored in the L2 memory and accessed from the core processor via a cache memory arranged in a part of the L1 memory. By arranging the common part in the L2 memory, it is possible to supplement the L1 memory having a small capacity.

上記構成に置いて、セレクタ(11)はコアプロセッサからのアドレス指定またはレジスタ設定によりアクセス先をL2メモリ0(4)、L2メモリ1(5)、L2メモリ2(6)から選択する。尚、セレクタ(11)は、コアプロセッサからのアドレス指定またはレジスタ設定により、L2メモリ0(4)とL2メモリ3(7)、L2メモリ1(5)とL2メモリ3(7)、L2メモリ2(6)とL2メモリ3(7)のような組み合わせで複数のメモリに同時にライトアクセス可能な様に接続されている。また、セレクタ(11)はコアプロセッサからのアドレス指定またはレジスタ設定により、L2メモリ3(7)のみにリードアクセスが可能なように接続されている。   In the above configuration, the selector (11) selects the access destination from the L2 memory 0 (4), L2 memory 1 (5), and L2 memory 2 (6) by address designation or register setting from the core processor. It should be noted that the selector (11) is provided with the L2 memory 0 (4) and the L2 memory 3 (7), the L2 memory 1 (5) and the L2 memory 3 (7), and the L2 memory 2 according to address designation or register setting from the core processor. A combination of (6) and L2 memory 3 (7) is connected so that a plurality of memories can be simultaneously write-accessed. The selector (11) is connected so that only the L2 memory 3 (7) can be read-accessed by address designation or register setting from the core processor.

セレクタ(11)は、例えばアドレスの上位ビットが000のときはL2メモリ0(4)、001のときはL2メモリ1(5)、010のときはL2メモリ2(6)へのアクセスを選択し、100のときはL2メモリ0(4)とL2メモリ3(7)、101のときはL2メモリ1(5)とL2メモリ3(7)、110のときはL2メモリ2(6)とL2メモリ3(7)へのライトアクセスを選択し、111のときはL2メモリ3(7)へのリードアクセスを選択する。尚、セレクタ(11)はコアプロセッサから設定可能なレジスタを有し、前述のアドレスの上位ビットを用いた選択と同等な選択がレジスタによる設定で可能であってもよい。   For example, the selector (11) selects access to the L2 memory 0 (4) when the upper bit of the address is 000, L2 memory 1 (5) when the address is 001, and L2 memory 2 (6) when the address is 010. 100, L2 memory 0 (4) and L2 memory 3 (7), 101 is L2 memory 1 (5) and L2 memory 3 (7), 110 is L2 memory 2 (6) and L2 memory 3 (7) is selected for write access. If 111, read access to the L2 memory 3 (7) is selected. The selector (11) may have a register that can be set from the core processor, and selection equivalent to the selection using the upper bits of the address described above may be possible by setting by the register.

このような構成をとり、L2メモリ3(7)を監視用のメモリとみなし、L2メモリ0(4)又はL2メモリ1(5)又はL2メモリ2(6)へのアクセスと同等のアクセスをL2メモリ3(7)に対して行う。このL2メモリ3(7)の内容を、DMA(12)を用いて通信デバイス(10)又はHOSTプロセッサ(8)からアクセス可能なSDRAM(9)に転送することによって外部に出力でき、これを用いてコアプロセッサのメモリアクセス動作を監視できる。   With such a configuration, the L2 memory 3 (7) is regarded as a monitoring memory, and an access equivalent to an access to the L2 memory 0 (4), the L2 memory 1 (5), or the L2 memory 2 (6) is performed in the L2 memory. This is performed for the memory 3 (7). The contents of the L2 memory 3 (7) can be output to the outside by transferring to the SDRAM (9) accessible from the communication device (10) or the HOST processor (8) using the DMA (12). The memory access operation of the core processor can be monitored.

尚、上記にて本発明の実施の形態について一実施例を説明したが、実施に関わる構成は上記実施例に限定されるものではなく、又本発明の構成の組み合わせも全てが必須であるとは限らない。   In addition, although one Example was described about embodiment of this invention above, the structure regarding implementation is not limited to the said Example, Moreover, all the combinations of the structure of this invention are essential. Is not limited.

本発明の実施形態における構成を示すブロック図の一実施例An example of a block diagram showing a configuration in an embodiment of the present invention 本発明の実施形態におけるマルチタスク構成の一実施例An example of a multitask configuration in an embodiment of the present invention

符号の説明Explanation of symbols

1…コアプロセッサ0、2…コアプロセッサ1、3…コアプロセッサ2、4…L2メモリ0、5…L2メモリ1、6…L2メモリ2、7…L2メモリ3、8…HOSTプロセッサ、9…SDRAM、10…通信デバイス、11…セレクタ、12…DMA、21…共通部
DESCRIPTION OF SYMBOLS 1 ... Core processor 0, 2 ... Core processor 1, 3 ... Core processor 2, 4 ... L2 memory 0, 5 ... L2 memory 1, 6 ... L2 memory 2, 7 ... L2 memory 3, 8 ... HOST processor, 9 ... SDRAM DESCRIPTION OF SYMBOLS 10 ... Communication device, 11 ... Selector, 12 ... DMA, 21 ... Common part

Claims (1)

複数のコアプロセッサを1個のパッケージに集積したマルチコアプロセッサにおいて、複数の各コアプロセッサにはそれぞれにメモリが付属され、前記メモリが付属された複数のコアプロセッサは、それぞれがマルチコアプロセッサの内部バスにより接続されると共にセレクタを介して異なる複数のメモリに接続され、セレクタがコアプロセッサからのアドレス指定またはレジスタ設定により前記複数のメモリからアクセス先のメモリを1つまたは複数選択し、コアプロセッサと前記メモリ間でライトアクセス可能なように構成され、前記メモリの内容をマルチコアプロセッサ外部に出力することによりコアプロセッサのメモリアクセス動作を監視することを特徴とするマルチコアプロセッサの監視方法。 In a multi-core processor in which a plurality of core processors are integrated in one package, a memory is attached to each of the plurality of core processors, and each of the plurality of core processors to which the memory is attached is connected to an internal bus of the multi-core processor. Connected to a plurality of different memories via a selector, and the selector selects one or a plurality of access destination memories from the plurality of memories by addressing or register setting from the core processor, and the core processor and the memory A method of monitoring a multi-core processor, wherein the memory access operation of the core processor is monitored by outputting the contents of the memory to the outside of the multi-core processor.
JP2006107817A 2006-04-10 2006-04-10 Monitoring method of multi-core processor Pending JP2007280209A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006107817A JP2007280209A (en) 2006-04-10 2006-04-10 Monitoring method of multi-core processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006107817A JP2007280209A (en) 2006-04-10 2006-04-10 Monitoring method of multi-core processor

Publications (1)

Publication Number Publication Date
JP2007280209A true JP2007280209A (en) 2007-10-25

Family

ID=38681577

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006107817A Pending JP2007280209A (en) 2006-04-10 2006-04-10 Monitoring method of multi-core processor

Country Status (1)

Country Link
JP (1) JP2007280209A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009048373A (en) * 2007-08-17 2009-03-05 Fujitsu Ltd Processor for outputting performance index information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009048373A (en) * 2007-08-17 2009-03-05 Fujitsu Ltd Processor for outputting performance index information

Similar Documents

Publication Publication Date Title
CN107729159B (en) Address mapping method and device for shared memory
KR100799687B1 (en) System embedding plural controller sharing nonvolatile memory
KR100879825B1 (en) Instruction set architecture-based inter-sequencer communications with a heterogeneous resource
US6631462B1 (en) Memory shared between processing threads
KR100287355B1 (en) Smart video memory for processing graphics / images and its processing method
US8825922B2 (en) Arrangement for processing trace data information, integrated circuits and a method for processing trace data information
KR20120061938A (en) Providing state storage in a processor for system management mode
US10983833B2 (en) Virtualized and synchronous access to hardware accelerators
US20180336034A1 (en) Near memory computing architecture
CN117377943A (en) Memory-calculation integrated parallel processing system and method
JP5466768B2 (en) Apparatus and computer for controlling memory access
JP2009296195A (en) Encryption device using fpga with multiple cpu cores
US20130117533A1 (en) Coprocessor having task sequence control
GB2436250A (en) Simultaneous multi-thread processing using a thread bit
JP5254710B2 (en) Data transfer device, data transfer method and processor
JP2007280209A (en) Monitoring method of multi-core processor
US7254667B2 (en) Data transfer between an external data source and a memory associated with a data processor
JP2007141155A (en) Multi-core control method in multi-core processor
US9081673B2 (en) Microprocessor and memory access method
US7689864B2 (en) Processor comprising an integrated debugging interface controlled by the processing unit of the processor
US20060224806A1 (en) Multi CPU system
JP2020140380A (en) Semiconductor device and debugging system
JP2005107873A (en) Semiconductor integrated circuit
CN217588059U (en) Processor system
WO2011030498A1 (en) Data processing device and data processing method