JP2007280209A - Monitoring method of multi-core processor - Google Patents
Monitoring method of multi-core processor Download PDFInfo
- 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
Links
Images
Abstract
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
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
セレクタ(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.
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 ...
Claims (1)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009048373A (en) * | 2007-08-17 | 2009-03-05 | Fujitsu Ltd | Processor for outputting performance index information |
-
2006
- 2006-04-10 JP JP2006107817A patent/JP2007280209A/en active Pending
Cited By (1)
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 |