JP2003186854A - Simd processor and verification apparatus thereof - Google Patents

Simd processor and verification apparatus thereof

Info

Publication number
JP2003186854A
JP2003186854A JP2001387369A JP2001387369A JP2003186854A JP 2003186854 A JP2003186854 A JP 2003186854A JP 2001387369 A JP2001387369 A JP 2001387369A JP 2001387369 A JP2001387369 A JP 2001387369A JP 2003186854 A JP2003186854 A JP 2003186854A
Authority
JP
Japan
Prior art keywords
processor
register
data
contents
input
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
JP2001387369A
Other languages
Japanese (ja)
Inventor
Kazuhiko Hara
和彦 原
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2001387369A priority Critical patent/JP2003186854A/en
Publication of JP2003186854A publication Critical patent/JP2003186854A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an SIMD (single instruction multiple datastream) processor capable of externally knowing the contents of an internal register in the processor without having effect on original program processing. <P>SOLUTION: The SIMD processor is provided with a global processor 2 for decoding a program and controlling the whole processor, and a processor element block 3 comprising a plurality of processor elements for processing multiple data. An input-output part accessible from the outside is arranged in the incorporated mirror register of an arbitrary processor element, by incorporating a mirror register file 37 for always copying and storing contents of registers 31 for use in normal imperative operation processing into each processor element, and inputting an address designating a processor element. <P>COPYRIGHT: (C)2003,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、マイクロプロセッサ、
特に、SIMD(Single−Instructio
n Stream Multiple Data−St
ream)型プロセッサ及びその検証装置に関するもの
である。
BACKGROUND OF THE INVENTION The present invention relates to a microprocessor,
In particular, SIMD (Single-Instruction)
n Stream Multiple Data-St
The present invention relates to a ream) type processor and its verification device.

【0002】[0002]

【従来の技術】近年、画像が電気的なデータとして取り
扱われるようになり、このような画像データに対する信
号処理においては、1つの画像を構成するすべての画素
に対して同様の演算処理を施すことが多い。SIMD型
マイクロプロセッサでは、1つの命令で複数のデータに
対して同時に同じ演算処理が実行可能である。この構造
により、演算は同一であるがデータ量が非常に多い上記
の画像処理等の用途にSIMD型プロセッサが使用され
ている。
2. Description of the Related Art In recent years, images have come to be treated as electrical data, and in the signal processing for such image data, the same arithmetic processing is applied to all pixels forming one image. There are many. In the SIMD type microprocessor, the same arithmetic processing can be simultaneously performed on a plurality of data with one instruction. Due to this structure, the SIMD type processor is used for the above-mentioned image processing and the like, which has the same calculation but has a very large amount of data.

【0003】上記したSIMD型マイクロプロセッサに
おける演算処理は複数の演算器を並べることで実現でき
るが、演算の対象となるデータは演算速度に見合う速度
でメモリ等にアクセスする必要があり、この速度に間に
合わない場合はデータのアクセス速度でプロセッサの性
能が決定してしまう。
The arithmetic processing in the SIMD type microprocessor described above can be realized by arranging a plurality of arithmetic units, but the data to be arithmetically operated needs to access the memory or the like at a speed commensurate with the arithmetic speed. If it is not in time, the performance of the processor is determined by the data access speed.

【0004】通常タイプ(SISD(Single−I
nstruction Stream Single
Data−Stream))のプロセッサでは、演算デ
ータはプロセッサのプログラムによりメモリから逐次ア
クセスするが、この場合にデータのアクセス速度はメモ
リのビット幅と転送時間で決定する。
Normal type (SISD (Single-I
nStructure Stream Single
In the processor of Data-Stream)), the operation data is sequentially accessed from the memory by the program of the processor. In this case, the data access speed is determined by the bit width of the memory and the transfer time.

【0005】SIMDタイプにおいてもこの方法を用い
ると、演算の並列処理に対してデータのアクセスは逐次
処理となり、SISDタイプ程度に処理能力は低下して
しまう。このためSIMDタイプのプロセッサでは演算
対象データのアクセスはプロセッサの命令ではおこなわ
ず、外部のメモリデータ転送装置からプロセッサ内部の
入出力用のレジスタに直接アクセスする。一般的にはこ
の入出力用のレジスタは入力専用と出力専用に分かれて
いる。プロセッサと外部メモリデータ転送装置での処理
フローは以下のように行われる。
If this method is used even in the SIMD type, the data access becomes sequential processing in parallel with the parallel processing of the operations, and the processing capacity is lowered to the level of the SISD type. Therefore, in the SIMD type processor, the operation target data is not accessed by the instruction of the processor, but the input / output registers inside the processor are directly accessed from the external memory data transfer device. Generally, this input / output register is divided into input only and output only. The processing flow in the processor and the external memory data transfer device is performed as follows.

【0006】外部メモリデータ転送装置が演算対象デ
ータを入力用レジスタに転送。 プロセッサは外部から演算データを転送済みである入
力用のレジスタから演算対象データを演算用のレジスタ
に転送し演算を開始。 プロセッサが所定の演算を実行する。この間に外部メ
モリデータ転送装置が次の演算対象データを入力用レジ
スタに転送。また、演算処理済みデータ(結果データ)
が出力用レジスタにある場合は外部メモリデータ転送装
置が結果データを出力用レジスタからメモリへ転送。 プロセッサは演算を終了し結果データを出力用レジス
タに転送。
The external memory data transfer device transfers the operation target data to the input register. The processor transfers the calculation target data from the input register that has already transferred the calculation data from the outside to the calculation register and starts the calculation. The processor executes a predetermined operation. During this time, the external memory data transfer device transfers the next calculation target data to the input register. In addition, data that has been processed (result data)
If is in the output register, the external memory data transfer device transfers the result data from the output register to the memory. The processor finishes the operation and transfers the result data to the output register.

【0007】上記のように、プロセッサの演算実行時に
同時に外部のメモリデータ転送装置が演算対象データを
転送することで高速化を実現している。
As described above, the external memory data transfer device transfers the operation target data at the same time when the processor executes the operation, thereby achieving high speed operation.

【0008】従来、この入出力用レジスタへのアクセス
はシフトレジスタ方式もしくはシリアルメモリ方式によ
りおこなわれていた。この方式では転送の回数によりど
のレジスタにアクセスするかが決定され、例えば、25
6プロセッサエレメント(PE:Processor
Element)を持つ、SIMD型プロセッサでは、
1回目のデータ転送は0番目のPEのレジスタ、2回目
のデータは1番目のPEのレジスタ、256回目は25
5番目のPEのレジスタといった具合に転送がおこなわ
れた。
Conventionally, access to the input / output register has been performed by a shift register system or a serial memory system. In this method, which register is to be accessed is determined by the number of transfers, and for example, 25
6 processor elements (PE: Processor)
SIMD type processor with Element)
The first data transfer is the 0th PE register, the 2nd data is the 1st PE register, and the 256th time is 25
The transfer was performed such as the register of the fifth PE.

【0009】ところで、上記したSIMD型プロセッサ
用のプログラム開発に要する時間を低減するデバッグ方
法が特開平10−254841号公報に開示されてい
る。この公報には、逐次的に1PEずつの検証を行い、
全PEの検証とする手順を中心として記載されている。
この公報は、PEの内部レジスタ観察については触れら
れず、レジスタ内容が出力されるのは実施例にある一般
的なSAM(Serial Access Memor
y)への出力のみである。
By the way, a debugging method for reducing the time required for developing a program for the SIMD type processor is disclosed in Japanese Patent Laid-Open No. 10-254841. In this publication, verification for each 1PE is performed sequentially,
It is described centering on the procedure for verification of all PEs.
This publication does not mention observation of the internal register of the PE, and the contents of the register are output in a general SAM (Serial Access Memory) according to the embodiment.
output only to y).

【0010】また、特開平10−269189号公報に
は、上記特開平10−254841号公報を進化させた
方法が記載されている。この公報は、逐次的に1PEず
つの検証を行い、全PEの検証とする手順を中心に記載
されていることは同じだが、検証対象のPEを任意に選
択する装置を備えることが特徴である。選択回路の選択
変更方法は、プロセッサ内部の制御装置により行われ
る。この公報にも、PEの内部レジスタ観察については
触れられず、レジスタ内容が出力されるのは実施例にあ
る一般的なSAMへの出力のみである。
Further, Japanese Unexamined Patent Publication No. 10-269189 describes a method which is an evolution of the above-mentioned Japanese Unexamined Patent Publication No. 10-254841. This publication is the same in that the description is centered on the procedure of sequentially verifying one PE at a time and verifying all PEs, but it is characterized by including an apparatus for arbitrarily selecting a PE to be verified. . The selection change method of the selection circuit is performed by the control device inside the processor. This publication also does not mention observation of the internal register of the PE, and the contents of the register are output only to the general SAM in the embodiment.

【0011】さらに、特開平11−7432号公報に
は、デバッグ方法の提案ではないが、各PEに対してラ
ンダムにアクセスできる機構を持つSIMD型プロセッ
サが開示されている。このプロセッサは、通常のSIM
D型プロセッサの各PEへデータを配信するバスを2重
に持つという構造であり、そのうちの一つのバスを外部
インターフェースに接続する。外部インターフェースの
制御までを、プロセッサ側で行うことが特徴である。そ
して、レジスタ内容が出力されるのは、上記の外部イン
ターフェースの出力である。
Further, Japanese Patent Laid-Open No. 11-7432 discloses a SIMD type processor having a mechanism capable of randomly accessing each PE although it is not a proposal of a debugging method. This processor is a normal SIM
The structure is such that it has two buses for delivering data to each PE of the D-type processor, and one of the buses is connected to an external interface. The feature is that even the control of the external interface is performed on the processor side. The output of the register contents is the output of the external interface.

【0012】また、本願出願人は、各PEを指定するア
ドレスを入力することで、任意のPEの内蔵するレジス
タに外部からアクセス可能なポートを持つSIMD型プ
ロセッサを提案している(特開2001−84229号
参照)。
Further, the applicant of the present application has proposed a SIMD type processor having a port capable of externally accessing a register incorporated in any PE by inputting an address designating each PE (Japanese Patent Laid-Open No. 2001-2001). -84229).

【0013】図1に、上記したSIMD型プロセッサの
全体構成を示す。図1に示すように、SIMD型プロセ
ッサは、例えば256個のPEからなるプロセッサエレ
メントブロック3、外部のメモリなどに接続される外部
インターフェース4から構成される。外部インターフェ
ース4を介して演算データがプロセッサ内部の入出力レ
ジスタに入出力される。
FIG. 1 shows the overall configuration of the SIMD type processor described above. As shown in FIG. 1, the SIMD type processor includes a processor element block 3 composed of, for example, 256 PEs, and an external interface 4 connected to an external memory or the like. The operation data is input / output to / from the input / output register inside the processor via the external interface 4.

【0014】グローバルプロセッサ2は、いわゆるSI
SD(Single−Instruction Str
eam Single Data−Stream)タイ
プのプロセッサであり、プログラムRAMとデータRA
Mを内蔵し、プログラムを解読し、各種制御信号を生成
する。この制御信号は内蔵する各種ブロックの制御以外
にもプロセッサエレメントブロック3を構成するレジス
タファイル31、演算アレイ36に供給される。また、
GP(グローバルプロセッサ)命令実行時は内蔵する汎
用レジスタ、ALU(算術論理演算器)等を使用して各
種演算処理、プログラム制御処理を行う。
The global processor 2 is a so-called SI.
SD (Single-Instruction Str)
It is a processor of an easy single data-stream type and has a program RAM and data RA.
It incorporates M, decodes the program, and generates various control signals. This control signal is supplied to the register file 31 and the arithmetic array 36 which constitute the processor element block 3 in addition to the control of various built-in blocks. Also,
When a GP (global processor) instruction is executed, various arithmetic processing and program control processing are performed using a built-in general-purpose register, ALU (arithmetic logic operation unit) and the like.

【0015】レジスタファイル31は、PE(プロセッ
サエレメント)命令で処理されるデータを保持してい
る。PE命令はSIMD(Single−Instru
ction Stream Multiple Dat
a−Stream)タイプの命令であり、レジスタファ
イル31に保持されている複数のデータを同時に同じ処
理を行う。このレジスタファイル31からのデータの読
み出し/書き込みの制御はグローバルプロセッサ2から
の制御によって行われる。読み出されたデータは演算ア
レイ36に送られ、演算アレイ36での演算処理後にレ
ジスタファイル31に書き込まれる。
The register file 31 holds data processed by a PE (processor element) instruction. The PE instruction is SIMD (Single-Instrument).
action Stream Multiple Dat
a-Stream) type instruction, which simultaneously performs the same processing on a plurality of data held in the register file 31. Control of reading / writing of data from the register file 31 is performed by control of the global processor 2. The read data is sent to the arithmetic array 36, and is written in the register file 31 after the arithmetic processing in the arithmetic array 36.

【0016】また、レジスタファイル31はプロセッサ
外部からのアクセスが可能であり、グローバルプロセッ
サ2の制御とは別に外部から特定のレジスタを読み出し
/書き込みが行われる。
Further, the register file 31 can be accessed from the outside of the processor, and a specific register is read / written from the outside in addition to the control of the global processor 2.

【0017】演算アレイ36は、PE命令の演算処理を
行う。処理の制御はすべてグローバルプロセッサ2から
行われる。
The arithmetic array 36 performs arithmetic processing of PE instructions. All processing control is performed from the global processor 2.

【0018】図2は上記したSIMD型プロセッサの構
成の詳細な構成を示すブロック図である。この図2に従
い特開2001−84229号公報に記載のSIMD型
プロセッサの構成につき説明する。
FIG. 2 is a block diagram showing the detailed structure of the SIMD type processor described above. The configuration of the SIMD type processor described in Japanese Patent Laid-Open No. 2001-84229 will be described with reference to FIG.

【0019】このグロバールプロセッサ2には、このプ
ロセッサのプログラム格納用のプログラムRAMと演算
データ格納用のデータRAMが内蔵されている。さら
に、プログラムのアドレスを保持するプログラムカウン
タ(PC)、演算処理のデータ格納のための汎用レジス
タであるG0〜G3レジスタ、レジスタ退避、復帰時に
退避先データRAMのアドレスを保持しているスタック
ポインタ(SP)、サブルーチンコール時にコール元の
アドレスを保持するリンクレジスタ(LS)、同じくI
RQ時とNMI時の分岐元アドレスを保持するLI、L
Nレジスタ、プロセッサの状態を保持しているプロセッ
サステータスレジスタ(P)が内蔵されている。
The global processor 2 has a built-in program RAM for storing a program of the processor and a data RAM for storing operation data. Further, a program counter (PC) that holds the address of the program, G0 to G3 registers that are general-purpose registers for storing data for arithmetic processing, a stack pointer (holds the address of the save destination data RAM at the time of register saving and restoration ( SP), a link register (LS) that holds the caller's address when calling a subroutine, and I
LI and L holding branch source addresses at RQ and NMI
An N register and a processor status register (P) holding the state of the processor are built in.

【0020】これらのレジスタと図示していない命令デ
コーダ、算術論理回路(ALU)、メモリ制御回路、割
り込み制御回路、外部I/O制御回路、GP演算制御回
路を使用してGP命令の実行が行われる。
A GP instruction is executed by using these registers and an instruction decoder, an arithmetic logic circuit (ALU), a memory control circuit, an interrupt control circuit, an external I / O control circuit, and a GP arithmetic control circuit which are not shown. Be seen.

【0021】また、PE命令実行時は命令デコーダ、図
示していないレジスタファイル制御回路、PE演算制御
回路を使用して、レジスタファイルの制御と演算アレイ
の制御を行う。
When the PE instruction is executed, an instruction decoder, a register file control circuit (not shown), and a PE operation control circuit are used to control the register file and the operation array.

【0022】レジスタファイル31には1つのPE3a
単位に8ビットのレジスタが32本内蔵されており、2
56PE分の組みがアレイ構成になっている。レジスタ
はPEごとにR0、R1、R2、...R31と呼ばれ
ている。それぞれのレジスタは演算アレイ36に対して
1つの読み出しポートと1つの書き込みポートを備えて
おり、8ビットのリード/ライト兼用のバス38で演算
アレイ36からアクセスされる。32本のレジスタの
内、24本はプロセッサ外部からアクセス可能であり、
外部からクロック(CLK)とアドレス(Addres
s)、リード/ライト制御(RWB)を入力することで
任意のレジスタを読み書きできるように構成される。
The register file 31 has one PE 3a.
32 8-bit registers are built in as a unit.
A set of 56 PEs has an array configuration. The registers are R0, R1, R2 ,. . . It is called R31. Each register has one read port and one write port for the arithmetic array 36, and is accessed from the arithmetic array 36 by the 8-bit read / write bus 38. Of the 32 registers, 24 are accessible from outside the processor,
External clock (CLK) and address (Address)
s), the read / write control (RWB) can be input to read / write any register.

【0023】レジスタの外部からのアクセスは1つの外
部ポートで各PEの1つのレジスタがアクセス可能であ
り、外部から入力されたアドレスでPEの番号(0〜2
55)を指定する。したがって、レジスタアクセスの外
部ポートは全部で24組搭載されている。また、外部か
らのアクセスは偶数のPEと奇数のPEの1組で16ビ
ットデータとなっており、1回のアクセスで2つのレジ
スタが同時にアクセス可能に構成している。
For the access from the outside of the register, one register of each PE can be accessed through one external port, and the PE number (0 to 2) can be accessed by the address input from the outside.
55) is designated. Therefore, a total of 24 sets of external ports for register access are mounted. Further, access from the outside is 16-bit data with a set of even PE and odd PE, and two registers can be simultaneously accessed by one access.

【0024】演算アレイ36は16ビットALU34と
16ビットAレジスタ35a、Fレジスタ35bを内蔵
している。PE命令による演算は基本的にレジスタファ
イル31から読み出されたデータをALU34の片側の
入力としてもう片側にはAレジスタ35aの内容を入力
として結果をAレジスタ35aに格納する。したがっ
て、Aレジスタ35aとR0〜R31レジスタとの演算
が行われることとなる。
The arithmetic array 36 contains a 16-bit ALU 34, a 16-bit A register 35a, and an F register 35b. The operation by the PE instruction basically stores the result in the A register 35a with the data read from the register file 31 as the input on one side of the ALU 34 and the content of the A register 35a on the other side. Therefore, the A register 35a and the R0 to R31 registers are operated.

【0025】レジスタファイル31と演算部との接続に
7to1のマルチプレクサ32を置いており、PE方向
で左に1、2、3つ離れたデータと右に1、2、3つ離
れたデータ、中央のデータを演算対象として選択してい
る。また、レジスタファイル31の8ビットのデータは
シフト&拡張回路33により、任意ビットの左シフトし
てALUに入力する。さらに、図示していない8ビット
の条件レジスタ(T)により、PEごとに演算実行の無
効/有効の制御をしており、特定のPE3aだけを演算
対象として選択できるように構成している。
A 7-to-1 multiplexer 32 is placed in the connection between the register file 31 and the arithmetic unit, and data 1, 2, and 3 apart to the left and data 1, 2, and 3 apart to the right and the center in the PE direction. Is selected as the calculation target. The 8-bit data in the register file 31 is shifted to the left by an arbitrary bit by the shift & expansion circuit 33 and input to the ALU. Further, an 8-bit condition register (T) (not shown) controls the execution / invalidation of each PE, so that only a specific PE 3a can be selected as an operation target.

【0026】[0026]

【発明が解決しようとする課題】任意のPEのレジスタ
に対して自由にアクセスできる特開2001−8422
9号公報に記載の発明によって最小限の時間で入出力用
レジスタの内容を読み出し/書き込みできるようになっ
た。
[Problems to be solved by the invention] JP-A 2001-8422
The invention described in Japanese Patent No. 9 makes it possible to read / write the contents of the input / output register in a minimum time.

【0027】しかし、一方で上記のSIMD型プロセッ
サではPEのレジスタに自由にアクセスするポートを多
く備えることになる。これはプログラム開発時などでデ
ータの動きをリアルタイムで監察する際には、不都合と
なる。
On the other hand, however, the SIMD type processor described above has many ports for freely accessing the registers of the PE. This is inconvenient when monitoring data movements in real time, such as during program development.

【0028】通常SISD型のプロセッサにおいて、デ
ータの動きをリアルタイムで監察するのは、データバス
など外部に出ている信号端子をモニタリングする。SI
MD型プロセッサにおいても同様にデータバスなど、入
出力する端子を観察する。
Usually, in a SISD type processor, the data movement is monitored in real time by monitoring a signal terminal such as a data bus which is output to the outside. SI
Similarly, in the MD type processor, the input / output terminals such as the data bus are observed.

【0029】従来のSIMD型プロセッサに対し、PE
のレジスタに自由なアクセスを実現する特開2001−
84229号公報に記載のSIMD型プロセッサは、複
数のレジスタにアクセスするポートを実現するうえ、1
つのレジスタにアクセスするポートに1組は、データバ
スだけでなくPEを指定するアドレスの入力をも備える
ため、データバスに加え、アドレスバスも監視の対象に
含まれる。したがって監視する装置も大規模なものにな
らざるを得ない。
In comparison with the conventional SIMD type processor, PE
To realize free access to a register of the same
The SIMD type processor disclosed in Japanese Patent No. 84229 realizes a port for accessing a plurality of registers, and
Since one set of ports accessing one register has not only the data bus but also the input of the address designating the PE, the address bus is included in the monitoring target in addition to the data bus. Therefore, the monitoring device must be large-scale.

【0030】また、特開2001−84229号公報に
記載のSIMD型プロセッサに限らず従来のSIMD型
プロセッサには、上記ののステップで演算途中でのレ
ジスタの内容を知る手段がない。通常SISD型プロセ
ッサは、プロセッサに入出力されるデータを監視するこ
とで、内部のレジスタの内容を類推する手段をとる。S
IMD型プロセッサにおいても同様のことは不可能では
ないが、PE数とそれぞれのレジスタ数に比例して追跡
すべきデータ量が多くなること、データの入出力に時間
のかかるSIMD型プロセッサでは、一度読み込んだデ
ータはできる限り内部で並列に演算するよう使用される
傾向があることなどから、現実には困難なものとなって
いる。
Further, not only the SIMD type processor described in Japanese Patent Laid-Open No. 2001-84229 but also the conventional SIMD type processor has no means for knowing the contents of the register during the calculation in the above steps. Normally, the SISD type processor takes a means to infer the contents of the internal register by monitoring the data input / output to / from the processor. S
The same is not impossible with the IMD type processor, but the amount of data to be traced increases in proportion to the number of PEs and the number of registers, and once in the SIMD type processor that takes time to input and output data, Since the read data tends to be used internally in parallel as much as possible, it is difficult in reality.

【0031】この発明は、上述した従来の問題点に鑑み
なされたものにして、本来のプログラム処理に影響を与
えることなく、プロセッサの内部レジスタの内容を外部
で知ることができるSIMD型プロセッサを提供するこ
とを目的とする。
The present invention has been made in view of the above-mentioned conventional problems, and provides a SIMD type processor capable of externally knowing the contents of internal registers of the processor without affecting the original program processing. The purpose is to do.

【0032】[0032]

【課題を解決するための手段】この発明のSIMD型プ
ロセッサは、プログラムを解読しプロセッサ全体を制御
するグローバルプロセッサと、複数データを処理するた
めの複数のプロセッサエレメントとを備えたSIMD型
プロセッサにおいて、各プロセッサエレメントに通常の
命令演算処理で使うレジスタの内容を常に複写し格納し
ている複写レジスタ(以下、ミラーレジスタという。)
を内蔵し、プロセッサエレメントを指定するアドレスを
入力することで、任意のプロセッサエレメントの内蔵す
る上記ミラーレジスタに外部からアクセス可能な入出力
部を設けたことを特徴とする。
A SIMD type processor of the present invention is a SIMD type processor having a global processor for decoding a program and controlling the entire processor, and a plurality of processor elements for processing a plurality of data. A copy register (hereinafter referred to as a mirror register) in which each processor element always copies and stores the contents of a register used in a normal instruction calculation process.
And an input / output unit accessible from the outside to the mirror register incorporated in any processor element by inputting an address designating the processor element.

【0033】上記の構成によれば、外部からこのミラー
レジスタの内容を読むことで、本来のプログラム処理に
影響を与えることなく、プロセッサの内部レジスタの内
容を外部で知ることができる。そして、プロセッサの内
部レジスタの値を直接知ることができれば、データの入
出力ポートのところだけ監視し、演算処理中の内部レジ
スタの値は類推するしかない場合に比較し、高精度な監
視ができる。
According to the above configuration, by reading the contents of the mirror register from the outside, the contents of the internal register of the processor can be known outside without affecting the original program processing. Then, if the value of the internal register of the processor can be directly known, only the data input / output port is monitored, and the value of the internal register during arithmetic processing can be monitored with high precision as compared with the case where there is no analogy. .

【0034】また、この発明のSIMD型プロセッサ
は、各プロセッサエレメントの内蔵する上記ミラーレジ
スタが、どの通常のレジスタの内容を常に複写するかを
選択する入力信号を備えるように構成するとよい。
In the SIMD type processor of the present invention, it is preferable that the mirror register incorporated in each processor element is provided with an input signal for selecting which normal register contents are always copied.

【0035】上記の構成によれば、監視する対象のレジ
スタを自由に選択でき、選択をプロセッサ外部端子から
行うことで、選択を外部の都合で随時切り替えられる。
According to the above configuration, the register to be monitored can be freely selected, and the selection can be switched at any time for the convenience of the outside by performing the selection from the processor external terminal.

【0036】また、この発明のSIMD型プロセッサ
は、各プロセッサエレメントの内蔵する上記ミラーレジ
スタが、どの通常のレジスタの内容を常に複写するかを
設定するレジスタを備えるように構成するとよい。
Further, the SIMD processor of the present invention may be configured so that the mirror register incorporated in each processor element has a register for setting which normal register contents are always copied.

【0037】上記の構成によれば、ミラーレジスタがど
のレジスタの複写を持つかを選択でき、選択をプロセッ
サに内蔵するレジスタから行うことで、プロセッサの都
合で選択を切り替えができ、プロセッサ側のプログラム
により制御可能となる。そして、プロセッサ側のプログ
ラムにより制御可能であれば、ソフト的な部分の対応と
なるため、余分なハードウエアを要求しない。
According to the above configuration, it is possible to select which register the mirror register has a copy of, and the selection can be switched for the convenience of the processor by making the selection from the register incorporated in the processor. Can be controlled by. If it can be controlled by a program on the processor side, it corresponds to a software-like part, so that no extra hardware is required.

【0038】この発明の検証装置は、上記のいずれかに
記載のSIMD型マイクロプロセッサとトレースメモリ
を持ち、上記のいずれかに記載のSIMD型マイクロプ
ロセッサにおける任意のプロセッサエレメントの内蔵す
るミラーレジスタに外部からアクセス可能な入出力部に
接続され、この入出力部から読み出された内容を前述の
トレースメモリに格納する装置とを備えたことを特徴と
する。
The verification device of the present invention has the SIMD type microprocessor and the trace memory described in any of the above, and is external to the mirror register incorporated in any processor element in the SIMD type microprocessor described in any of the above. And a device for storing the contents read from the input / output unit in the trace memory described above.

【0039】また、上記の構成によれば、ミラーレジス
タから読み出したデータをメモリに格納することで、定
期的なレジスタ内容の変化を確認できる。いわゆるトレ
ースが可能となる。
Further, according to the above configuration, by storing the data read from the mirror register in the memory, it is possible to confirm a periodic change in the register contents. So-called tracing is possible.

【0040】また、この発明の検証装置は、上記のいず
れかに記載のIMD型マイクロプロセッサを持ち、上記
のいずれかに記載のSIMD型マイクロプロセッサにお
ける任意のプロセッサエレメントの内蔵するミラーレジ
スタに外部からアクセス可能な入出力部に接続され、こ
の入出力部から読み出された内容を監視し、読み出され
た内容によってプロセッサのプログラム処理をブレイク
する装置とを備えたことを特徴とする。
Further, the verification device of the present invention has the IMD type microprocessor described in any of the above, and externally enters the mirror register built in any processor element in the SIMD type microprocessor described in any of the above. A device connected to an accessible input / output unit for monitoring the content read from the input / output unit and breaking the program processing of the processor according to the read content.

【0041】また、上記の構成によれば、レジスタ監視
ブロックによって読み出したデータの内容を即座に外部
に伝達することでデバッグを容易にできる。特定のデー
タが読みだされた時に即座にプロセッサの動作を止め
(ブレイク)、プロセッサの状況を確認したりすること
も可能となる。
Further, according to the above configuration, the contents of the data read by the register monitoring block are immediately transmitted to the outside, so that the debugging can be facilitated. It is also possible to immediately stop the operation of the processor (break) when the specific data is read and check the status of the processor.

【0042】[0042]

【発明の実施の形態】以下、この発明の実施形態につき
図面を参照して説明する。尚、図1及び図2で示された
SIMD型プロセッサと多くが共通であるため、同一部
分には同一符号を付し、説明の重複を避けるために、異
なる部分を中心として説明を行う。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings. Since most of the SIMD type processors shown in FIGS. 1 and 2 are common, the same parts are denoted by the same reference numerals, and different parts will be mainly described in order to avoid duplication of description.

【0043】図3は、この発明にかかるSIMD型プロ
セッサの全体構成を示すブロック図である。図3に示す
ように、SIMD型プロセッサは、例えば256個のP
Eからなるプロセッサエレメントブロック3、外部のメ
モリなどに接続される外部インターフェース4から構成
される。外部インターフェース4を介して演算データが
プロセッサ内部の入出力レジスタに入出力される。
FIG. 3 is a block diagram showing the overall configuration of the SIMD type processor according to the present invention. As shown in FIG. 3, the SIMD type processor has 256 P
It is composed of a processor element block 3 made of E and an external interface 4 connected to an external memory or the like. The operation data is input / output to / from the input / output register inside the processor via the external interface 4.

【0044】プロセッサエレメントブロック3は、レジ
スタファイル31、演算アレイ36及びこの発明の特徴
とするPEに通常の命令演算処理で使うレジスタの内容
を常に複写し格納しているレジスタ(ミラーレジスタ)
ファイル37と、を備える。
The processor element block 3 is a register (mirror register) in which the register file 31, the arithmetic array 36, and the PE, which is a feature of the present invention, are always copied and stored in the contents of the registers used in the normal instruction arithmetic processing.
And a file 37.

【0045】前述したように、グローバルプロセッサ2
は、いわゆるSISD(Single−Instruc
tion Stream Single Data−S
tream)タイプのプロセッサであり、プログラムR
AMとデータRAMを内蔵し、プログラムを解読し、各
種制御信号を生成する。この制御信号は内蔵する各種ブ
ロックの制御以外にもプロセッサエレメントブロック3
を構成するレジスタファイル31、ミラーレジスタファ
イル37、演算アレイ36に供給される。
As described above, the global processor 2
Is a so-called SISD (Single-Instruct).
action Stream Single Data-S
stream) type processor, and the program R
Built-in AM and data RAM, it decodes programs and generates various control signals. This control signal is used in addition to the control of various built-in blocks
Are supplied to the register file 31, the mirror register file 37, and the operation array 36 that configure the above.

【0046】レジスタファイル31は、PE(プロセッ
サエレメント)命令で処理されるデータを保持してい
る。PE命令はSIMD(Single−Instru
ction Stream Multiple Dat
a−Stream)タイプの命令であり、レジスタファ
イル31に保持されている複数のデータを同時に同じ処
理を行う。このレジスタファイル31からのデータの読
み出し/書き込みの制御はグローバルプロセッサ2から
の制御によって行われる。読み出されたデータは演算ア
レイ36に送られ、演算アレイ36での演算処理後にレ
ジスタファイル31に書き込まれる。
The register file 31 holds data processed by a PE (processor element) instruction. The PE instruction is SIMD (Single-Instrument).
action Stream Multiple Dat
a-Stream) type instruction, which simultaneously performs the same processing on a plurality of data held in the register file 31. Control of reading / writing of data from the register file 31 is performed by control of the global processor 2. The read data is sent to the arithmetic array 36, and is written in the register file 31 after the arithmetic processing in the arithmetic array 36.

【0047】ミラーレジスタファイル37は、PE命令
で処理されるデータがレジスタファイル31に格納され
ると、その内容を常に複写し格納する。
When the data processed by the PE instruction is stored in the register file 31, the mirror register file 37 always copies and stores the contents.

【0048】また、レジスタファイル31はプロセッサ
外部からのアクセスが可能であり、グローバルプロセッ
サ2の制御とは別に外部から特定のレジスタを読み出し
/書き込みが行われる。
The register file 31 can be accessed from the outside of the processor, and a specific register can be read / written from outside in addition to the control of the global processor 2.

【0049】演算アレイ36は、PE命令の演算処理を
行う。処理の制御はすべてグローバルプロセッサ2から
行われる。
The arithmetic array 36 performs arithmetic processing of PE instructions. All processing control is performed from the global processor 2.

【0050】図4は、この発明の実施形態の詳細な構成
を示すブロック図であり、上記図2で示されたSIMD
型プロセッサと多くが共通であるため、説明は異なる部
分について行うこととする。
FIG. 4 is a block diagram showing the detailed structure of the embodiment of the present invention, and the SIMD shown in FIG.
Since many of them are the same as the type processor, the description will be given for different parts.

【0051】図4に示すように、この実施形態において
は、レジスタファイル31の部分に8ビットのレジスタ
37bが、各PE3aに1つずつ追加されている。これ
らレジスタ37bはミラーレジスタと呼ばれ、各PE3
aにおいては、演算アレイ36に対して1つの書き込み
ポートを備えており、8ビットのリード/ライト兼用の
バス38で演算アレイ36からアクセスされる。ミラー
レジスタ37bは、外部インターフェース4に接続さ
れ、プロセッサ外部からアクセス可能であり、外部から
クロックとアドレスを入力することで任意のレジスタ3
7bを読み出しできる。ミラーレジスタ37bはレジス
タR0〜R31と異なり、書き込みはできない。ミラー
レジスタ37bの外部からのアクセスは1つの外部ポー
トで各PE3aの1つのミラーレジスタ37bがアクセ
ス可能であり、外部から入力されたアドレスでPEの番
号(0〜255)を指定する。また、外部からのアクセ
スは偶数のPEと奇数のPEの1組で16ビットデータ
となっており、1回のアクセスで2つのレジスタが同時
にアクセスしている。
As shown in FIG. 4, in this embodiment, one 8-bit register 37b is added to each PE 3a in the register file 31 portion. These registers 37b are called mirror registers, and each PE3
In a, the operation array 36 is provided with one write port, and is accessed from the operation array 36 by the 8-bit read / write dual-purpose bus 38. The mirror register 37b is connected to the external interface 4 and is accessible from outside the processor. By inputting a clock and an address from the outside, the mirror register 37b is arbitrarily registered.
7b can be read. Unlike the registers R0 to R31, the mirror register 37b cannot be written. The mirror register 37b can be accessed from the outside by one external port and one mirror register 37b of each PE 3a can be accessed, and the PE number (0 to 255) is designated by the address input from the outside. In addition, access from the outside is 16-bit data for one set of even PE and odd PE, and two registers are simultaneously accessing by one access.

【0052】上記したミラーレジスタ37bは、レジス
タR0〜R31のうちのひとつに格納されているデータ
と同じ内容を持つように制御される。制御は、対象とな
るレジスタ31bにリード/ライト兼用のバス38で演
算アレイ36からライトが行われるとき、同時にミラー
レジスタ37bもリード/ライト兼用のバス38から同
じデータをライトされるという方法による。これらの制
御は他のレジスタと同じくレジスタファイル制御回路に
て行う。
The mirror register 37b is controlled so as to have the same contents as the data stored in one of the registers R0 to R31. The control is performed by a method in which, when data is written from the arithmetic array 36 to the target register 31b via the read / write bus 38, the mirror register 37b is simultaneously written with the same data from the read / write bus 38. These controls are performed by the register file control circuit like other registers.

【0053】図2に比べてレジスタが追加されたが、プ
ログラミングモデルとしてのレジスタではないため、命
令レベルではミラーレジスタ37bがない場合、すなわ
ち図2のプロセッサと全く同じ命令セットとなる。
Although a register is added as compared with FIG. 2, it is not a register as a programming model, so that at the instruction level there is no mirror register 37b, that is, the instruction set is exactly the same as that of the processor of FIG.

【0054】上記したように、ミラーレジスタ37b
は、外部インターフェース4に接続され、プロセッサ外
部からアクセス可能であり、外部からクロックとアドレ
スを入力することで任意のレジスタ37bを読み出しで
きる。この構成につき図5を参照して説明する。ここで
は外部ポートは8ビットのアドレス、転送のタイミング
を示すクロック、転送データである8ビットデータで構
成されている。これらの信号はプロセッサの外部インタ
ーフェース4に接続されここでタイミングおよびバッフ
ァリングされ、プロセッサ内部の信号としてアドレス、
クロック、データに変換される。
As described above, the mirror register 37b
Is connected to the external interface 4 and is accessible from the outside of the processor, and any register 37b can be read by inputting a clock and an address from the outside. This structure will be described with reference to FIG. Here, the external port is composed of an 8-bit address, a clock indicating a transfer timing, and 8-bit data which is transfer data. These signals are connected to the external interface 4 of the processor, where they are timed and buffered and address as internal signals of the processor,
Converted to clock and data.

【0055】これらの信号はレジスタファイルのミラー
レジスタ37bに供給されるが、各PE3a…ごとにア
ドレスをデコードして各PE3a…を示すアドレスと一
致したPE3aだけがリードの動作を行う。そのため、
各PE3aごとにアドレスのデコードとリードの制御回
路39を持ち、入出力レジスタはその制御信号(R1)
により外部インターフェース4と接続されたデータバス
(D1)とデータの転送を行う。ミラーレジスタは演算
アレイともデータの転送を行うため、もう一方の入力ポ
ートを持ち、命令によりグローバルプロセッサ2で作成
されたライト(W2)制御信号により演算アレイ36と
接続されたデータ(D2)からデータの転送を行う。
Although these signals are supplied to the mirror register 37b of the register file, only the PE3a that decodes the address for each PE3a ... And matches the address indicating each PE3a ... Performs the read operation. for that reason,
Each PE 3a has an address decode and read control circuit 39, and the input / output register has its control signal (R1).
The data is transferred to and from the data bus (D1) connected to the external interface 4. Since the mirror register transfers data with the operation array, it has the other input port, and the data (D2) connected to the operation array 36 is transferred from the data (D2) connected to the operation array 36 by the write (W2) control signal created in the global processor 2 by the instruction. Transfer.

【0056】尚、図5では2個のPE分の構成だけを図
示しているが、図4の256PEの構成と合わせるため
にはアドレスデコード&リードコントロール回路39と
ミラーレジスタ37bは256組み必要となる。また、
256を選択するためにアドレスのビット幅は8ビット
となっている。したがって、PE数の増減によりアドレ
スのビット幅も変化することとなる。また、データのビ
ット幅もここでは8ビットとしているが1度に転送する
データ量により変化する。
Although FIG. 5 shows only the structure of two PEs, 256 sets of the address decode & read control circuit 39 and the mirror register 37b are required to match the structure of the 256PE of FIG. Become. Also,
In order to select 256, the bit width of the address is 8 bits. Therefore, the bit width of the address also changes as the number of PEs increases or decreases. Although the bit width of the data is 8 bits here, it also changes depending on the amount of data transferred at one time.

【0057】図4において、特開2001−84229
号公報に記載な構成である図2に対してこの発明を説明
してきたが、この発明では図2示した構成以外のSIM
D型プロセッサに対しても有効である。PEのレジスタ
データのリード/ライトを、シリアルで外部から行うS
IMD型プロセッサに対して、本発明を適用した場合の
構成例を図6に示す。図6の例では、外部インターフェ
ースは入力用と出力用に分けられており、それぞれがP
Eのレジスタにアクセスするきは、PEの並びにしたが
って順番にレジスタ31bへアクセスし、リードまたは
ライトを行う。このインターフェースは、順序どおりの
PEにアクセスするため、図4の例のようにアドレスを
必要としない。このような構成のSIMD型プロセッサ
に対しても、各PEに8ビットのミラーレジスタ37b
を備え、8ビットのリード/ライト兼用のバス38で演
算アレイ36からアクセスされる。外部インターフェー
スに接続され、プロセッサ外部からアクセス可能であ
り、外部からクロックとアドレスを入力することで任意
のレジスタを読み出しができる。
In FIG. 4, Japanese Patent Laid-Open No. 2001-84229.
Although the present invention has been described with reference to FIG. 2 which is the configuration described in Japanese Patent Publication No. JP-A-2003-264, in the present invention, SIMs other than the configuration shown in FIG.
It is also effective for D-type processors. Read / write PE register data serially from outside S
FIG. 6 shows a configuration example when the present invention is applied to an IMD type processor. In the example of FIG. 6, the external interface is divided into an input interface and an output interface.
When accessing the register of E, the register 31b is sequentially accessed according to the order of PE, and read or write is performed. This interface accesses the PEs in order and therefore does not require an address as in the example of FIG. Even for a SIMD type processor having such a configuration, each PE has an 8-bit mirror register 37b.
And is accessed from the arithmetic array 36 by an 8-bit read / write bus 38. It is connected to the external interface and is accessible from outside the processor, and any register can be read by inputting the clock and address from the outside.

【0058】図5で示した実施形態では、外部ポートは
外部端子として説明しているが、図7の実施形態のよう
に、レジスタ監視ブロック301が同一チップ上に搭載
され、特に外部端子として外部ポートを出力しない場合
でも、図3のPE単位でのアドレスデコードとリードコ
ントロールにより同一チップに搭載されたレジスタ監視
ブロック301等で各PEのミラーレジスタファイル3
7をアクセスすることが可能である。また、レジスタフ
ァイル31はメモリ転送ブロック302と接続され、メ
モリ転送ブロック302を介してメモリ5とレジスタフ
ァイル31間でデータの受け渡しが行われる。
Although the external port is described as an external terminal in the embodiment shown in FIG. 5, the register monitoring block 301 is mounted on the same chip as in the embodiment of FIG. Even if the port is not output, the mirror register file 3 of each PE is processed by the register monitoring block 301 mounted on the same chip by address decoding and read control in PE units of FIG.
7 can be accessed. The register file 31 is connected to the memory transfer block 302, and data is transferred between the memory 5 and the register file 31 via the memory transfer block 302.

【0059】次に、この発明の他の実施形態につき図8
を参照して説明する。この実施形態では、図8に示すよ
うに、グローバルプロセッサ2に内蔵するレジスタファ
イル制御回路311が、PE3aのレジスタR0〜R3
1にライト信号を送出する。32本の入力信号から1本
の信号を選択するマルチプレクサ32to1MUX31
0は、レジスタR0〜R31に対して送出されるライト
信号32本を入力し、一方どの入力信号を選択するか
を、外部端子で5bitのミラー選択信号の内容で決定
する。これにより選択された信号が、ミラーレジスタ3
7bへライト信号として送出される。外部端子のミラー
選択信号によって選択されたミラーレジスタ・ライト信
号は、レジスタR0〜R31の所望のレジスタのライト
信号と同じ内容となるため、各PE3aにおいては選択
されたレジスタ31bへのライトと同時にミラーレジス
タ37bにも同じ内容がライトされることになる。外部
から入力するミラー選択信号によって、監視するレジス
タをプロセッサ外部から自由に選択できる。
Next, another embodiment of the present invention will be described with reference to FIG.
Will be described with reference to. In this embodiment, as shown in FIG. 8, the register file control circuit 311 built in the global processor 2 has the registers R0 to R3 of the PE 3a.
A write signal is sent to 1. Multiplexer 32to1MUX31 that selects one signal from 32 input signals
0 inputs 32 write signals sent to the registers R0 to R31, and determines which input signal is selected by the content of the 5-bit mirror selection signal at the external terminal. The signal selected by this is the mirror register 3
It is sent to 7b as a write signal. Since the mirror register write signal selected by the mirror select signal of the external terminal has the same content as the write signal of the desired register of the registers R0 to R31, each PE 3a performs mirror write at the same time as writing to the selected register 31b. The same content is written in the register 37b. A register to be monitored can be freely selected from outside the processor by a mirror selection signal input from the outside.

【0060】次に、この発明の異なる実施形態につき図
9を参照して説明する。この実施形態では、図9に示す
ように、グローバルプロセッサ2に内蔵するレジスタフ
ァイル制御回路311が、PE3aのレジスタR0〜R
31にライト信号を送出する。32本の入力信号から1
本の信号を選択するマルチプレクサ32to1MUX3
10aは、レジスタR0〜R31に対して送出されるラ
イト信号32本を入力し、一方どの入力信号を選択する
かを、5bitのミラー選択レジスタ312の内容であ
るミラー選択信号の内容で決定する。これにより選択さ
れた信号が、ミラーレジスタへライト信号として送出さ
れる。ミラー選択レジスタ312の内容によって選択さ
れたミラーレジスタ・ライト信号は、レジスタR0〜R
31の所望のレジスタのライト信号と同じ内容となるた
め、各PE3a…においては選択されたレジスタ31b
へのライトと同時にミラーレジスタ37bにも同じ内容
がライトされることになる。ミラー選択レジスタ312
の内容を所望のレジスタ番号にすることによって、監視
するレジスタを自由に選択できる。
Next, a different embodiment of the present invention will be described with reference to FIG. In this embodiment, as shown in FIG. 9, the register file control circuit 311 built in the global processor 2 uses the registers R0 to R of the PE 3a.
A write signal is sent to 31. 1 out of 32 input signals
Multiplexer 32to1MUX3 for selecting book signals
The 10a inputs 32 write signals to be sent to the registers R0 to R31, and determines which input signal to select based on the content of the mirror selection signal which is the content of the 5-bit mirror selection register 312. The signal selected by this is sent to the mirror register as a write signal. The mirror register write signal selected by the contents of the mirror selection register 312 is registered in the registers R0 to R.
Since the contents are the same as the write signal of the desired register 31 of 31, the selected register 31b in each PE 3a ...
At the same time as writing to, the same contents are written to the mirror register 37b. Mirror selection register 312
Registers to be monitored can be freely selected by setting the contents of the register to a desired register number.

【0061】次に、この発明の更に異なる実施形態につ
き図10を参照して説明する。この実施形態では、図1
0に示すように、ミラーレジスタファイル37にアクセ
スするポートに接続されたレジスタ監視ブロック301
とトレースメモリ6があり、レジスタ監視ブロック30
1はミラーレジスタ37bから読み出した内容を、トレ
ースメモリ6に格納することができる。
Next, a further different embodiment of the present invention will be described with reference to FIG. In this embodiment, FIG.
As shown in 0, the register monitoring block 301 connected to the port that accesses the mirror register file 37.
There is a trace memory 6 and a register monitoring block 30.
1 can store the content read from the mirror register 37b in the trace memory 6.

【0062】次に、この発明の更に他の実施形態につき
図11を参照して説明する。この実施形態では、図11
に示すように、ミラーレジスタファイル37にアクセス
するポートに接続されたレジスタ監視ブロック301
が、ミラーレジスタ37bの内容を監視し、得られた情
報を外部のデバッグシステム7に伝達する。外部のデバ
ッグシステム7は、レジスタ監視ブロック301からの
情報により、プロセッサにNMI(マスク不可能な割込
み要求)を出し、プロセッサのプログラム処理をブレイ
クし、プロセッサ内部のレジスタの状況を把握する。
Next, still another embodiment of the present invention will be described with reference to FIG. In this embodiment, FIG.
, The register monitoring block 301 connected to the port that accesses the mirror register file 37.
Monitors the contents of the mirror register 37b and transmits the obtained information to the external debug system 7. The external debug system 7 issues NMI (non-maskable interrupt request) to the processor based on the information from the register monitoring block 301, breaks the program processing of the processor, and grasps the status of the register inside the processor.

【0063】[0063]

【発明の効果】以上説明したように、請求項1の構成に
おいては、PEのレジスタの内容を常に複写し格納して
いる複写レジスタ(ミラーレジスタ)を持ち、外部から
このミラーレジスタの内容を読むことができるポートを
持つことで、本来のプログラム処理に影響を与えること
なく、プロセッサの内部レジスタの内容を外部で知るこ
とができる。そして、プロセッサの内部レジスタの値を
直接知ることができれば、データの入出力ポートのとこ
ろだけ監視し、演算処理中の内部レジスタの値は類推す
るしかない場合に比較し、高精度な監視ができる。
As described above, according to the first aspect of the present invention, the PE has a copy register (mirror register) for always copying and storing the contents of the PE register, and the contents of the mirror register are read from the outside. By having a port that can be used, the contents of the internal registers of the processor can be known externally without affecting the original program processing. Then, if the value of the internal register of the processor can be directly known, only the data input / output port is monitored, and the value of the internal register during arithmetic processing can be monitored with high precision as compared with the case where there is no analogy. .

【0064】また、請求項2の構成においては、ミラー
レジスタがどのレジスタの複写を持つかを選択できるこ
とは、すなわちプロセッサ外部において、どのレジスタ
の内容を監視できるかということになる。したがって、
対象のレジスタを選択できることは、監視する対象のレ
ジスタを自由に選択できるという利点がある。選択をプ
ロセッサ外部端子から行うことで、選択を外部の都合で
随時切り替えられる。また、プロセッサ側に専用の命
令、あるいは手続きを要求することがないため、本来の
プロセッサの動作に影響を与えることはない。
Further, in the structure of the second aspect, it is possible to select which register the mirror register has a copy of, that is, which register contents can be monitored outside the processor. Therefore,
The ability to select the target register has the advantage that the target register to be monitored can be freely selected. By selecting from the processor external terminal, the selection can be switched at any time due to external reasons. In addition, since the processor does not request a dedicated instruction or procedure, it does not affect the original operation of the processor.

【0065】更に、請求項3の構成においては、ミラー
レジスタがどのレジスタの複写を持つかを選択できるこ
とは、すなわちプロセッサ外部において、どのレジスタ
の内容を監視できるかということになる。したがって、
対象のレジスタを選択できることは、監視する対象のレ
ジスタを自由に選択できるという利点がある。選択をプ
ロセッサに内蔵するレジスタから行うことで、プロセッ
サの都合で選択を切り替えができ、プロセッサ側のプロ
グラムにより制御可能となる利点がある。プロセッサ側
のプログラムにより制御可能であれば、ソフト的な部分
の対応となるため、余分なハードウエアを要求しない。
Further, in the structure of the third aspect, which register the mirror register has a copy of can be selected, that is, which register contents can be monitored outside the processor. Therefore,
The ability to select the target register has the advantage that the target register to be monitored can be freely selected. By performing the selection from the register incorporated in the processor, the selection can be switched for the convenience of the processor, and there is an advantage that it can be controlled by a program on the processor side. If it can be controlled by a program on the processor side, it corresponds to a software part, so that no extra hardware is required.

【0066】また、請求項4の構成においては、ミラー
レジスタから読み出したデータをメモリに格納すること
で、定期的なレジスタ内容の変化を確認できる。いわゆ
るトレースが可能となる。
Further, in the structure of the fourth aspect, by storing the data read from the mirror register in the memory, it is possible to confirm the periodic change of the register contents. So-called tracing is possible.

【0067】また、請求項5の構成においては、レジス
タ監視ブロックによって読み出したデータの内容を即座
に外部に伝達することでデバッグを容易にできる。特定
のデータが読みだされた時に即座にプロセッサの動作を
止め(ブレイク)、プロセッサの状況を確認したりする
ことも可能となる。
Further, in the structure according to the fifth aspect, the contents of the data read by the register monitoring block are immediately transmitted to the outside, so that the debugging can be facilitated. It is also possible to immediately stop the operation of the processor (break) when the specific data is read and check the status of the processor.

【図面の簡単な説明】[Brief description of drawings]

【図1】SIMD型プロセッサの全体構成を示すブロッ
ク図である。
FIG. 1 is a block diagram showing an overall configuration of a SIMD type processor.

【図2】特開2001−84229号公報に記載された
SIMD型プロセッサの構成の詳細な構成を示すブロッ
ク図である。
FIG. 2 is a block diagram showing a detailed configuration of a SIMD type processor described in Japanese Patent Laid-Open No. 2001-84229.

【図3】この発明にかかるSIMD型プロセッサの全体
構成を示すブロック図である。
FIG. 3 is a block diagram showing an overall configuration of a SIMD type processor according to the present invention.

【図4】この発明の実施形態の詳細な構成を示すブロッ
ク図である。
FIG. 4 is a block diagram showing a detailed configuration of an embodiment of the present invention.

【図5】この発明の実施形態の構成を示すブロック図で
ある。
FIG. 5 is a block diagram showing a configuration of an embodiment of the present invention.

【図6】この発明の実施形態の他の詳細な構成を示すブ
ロック図である。
FIG. 6 is a block diagram showing another detailed configuration of the embodiment of the present invention.

【図7】レジスタ監視ブロックが同一チップ上に搭載さ
れ、特に外部端子として外部ポートを出力しない場合の
構成を示すブロック図である。
FIG. 7 is a block diagram showing a configuration in which a register monitoring block is mounted on the same chip, and particularly when an external port is not output as an external terminal.

【図8】この発明の他の実施形態の構成を示すブロック
図である。
FIG. 8 is a block diagram showing the configuration of another embodiment of the present invention.

【図9】この発明の異なる実施形態の構成を示すブロッ
ク図である。
FIG. 9 is a block diagram showing a configuration of a different embodiment of the present invention.

【図10】この発明の更に異なる実施形態の構成を示す
ブロック図である。
FIG. 10 is a block diagram showing a configuration of still another embodiment of the present invention.

【図11】この発明の更に他の実施形態の構成を示すブ
ロック図である。
FIG. 11 is a block diagram showing a configuration of still another embodiment of the present invention.

【符号の説明】 2 グローバルプロセッサ 3 プロセッサエレメントブロック 3a プロセッサエレメント 4 外部インターフェース 31 レジスタファイル 36 演算アレイ 37 ミラーレジスタファイル[Explanation of symbols] 2 Global processor 3 processor element block 3a Processor element 4 External interface 31 register file 36 Arithmetic array 37 Mirror register file

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 プログラムを解読しプロセッサ全体を制
御するグローバルプロセッサと、複数データを処理する
ための複数のプロセッサエレメントとを備えたSIMD
型プロセッサにおいて、各プロセッサエレメントに通常
の命令演算処理で使うレジスタの内容を常に複写し格納
している複写レジスタを内蔵し、プロセッサエレメント
を指定するアドレスを入力することで、任意のプロセッ
サエレメントの内蔵する上記複写レジスタに外部からア
クセス可能な入出力部を設けたことを特徴とするSIM
D型マイクロプロセッサ。
1. A SIMD comprising a global processor for decoding a program and controlling the entire processor, and a plurality of processor elements for processing a plurality of data.
Type processor, each processor element has a built-in copy register that always copies and stores the contents of the register used in normal instruction operation processing, and by inputting an address that specifies the processor element, any processor element can be built The SIM having the above-mentioned copy register provided with an input / output unit accessible from the outside.
D-type microprocessor.
【請求項2】 各プロセッサエレメントの内蔵する上記
複写レジスタが、どの通常のレジスタの内容を常に複写
するかを選択する入力信号を備えたことを特徴とする請
求項1に記載のSIMD型マイクロプロセッサ。
2. The SIMD type microprocessor according to claim 1, wherein said copy register incorporated in each processor element is provided with an input signal for selecting which normal register contents are always copied. .
【請求項3】 各プロセッサエレメントの内蔵する上記
複写レジスタが、どの通常のレジスタの内容を常に複写
するかを設定するレジスタを備えたことを特徴とする請
求項1に記載のSIMD型マイクロプロセッサ。
3. The SIMD type microprocessor according to claim 1, wherein the copy register incorporated in each processor element includes a register for setting which normal register contents are always copied.
【請求項4】 請求項1ないし3のいずれかに記載のS
IMD型マイクロプロセッサとトレースメモリを持ち、
請求項1ないし3のいずれかに記載のSIMD型マイク
ロプロセッサにおける任意のプロセッサエレメントの内
蔵する複写レジスタに外部からアクセス可能な入出力部
に接続され、この入出力部から読み出された内容を前述
のトレースメモリに格納する装置とを備えたことを特徴
とするSIMD型マイクロプロセッサの検証装置。
4. S according to any one of claims 1 to 3.
It has an IMD type microprocessor and trace memory,
The copy register incorporated in any processor element of the SIMD type microprocessor according to any one of claims 1 to 3 is connected to an externally accessible input / output unit, and the contents read from the input / output unit are described above. And a device for storing the trace memory in a trace memory of the SIMD type microprocessor.
【請求項5】 請求項1ないし3のいずれかに記載のS
IMD型マイクロプロセッサを持ち、請求項1ないし3
のいずれかに記載のSIMD型マイクロプロセッサにお
ける任意のプロセッサエレメントの内蔵する複写レジス
タに外部からアクセス可能な入出力部に接続され、この
入出力部から読み出された内容を監視し、読み出された
内容によってプロセッサのプログラム処理をブレイクす
る装置とを備えたことを特徴とするSIMD型マイクロ
プロセッサの検証装置。
5. S according to any one of claims 1 to 3.
An IMD type microprocessor is provided, and the IMD type microprocessor is provided.
Any of the processor elements in the SIMD type microprocessor described in any one of (1) to (5) is connected to an input / output unit that is externally accessible, and the contents read from this input / output unit are monitored and read. And a device for breaking the program processing of the processor according to the contents described above.
JP2001387369A 2001-12-20 2001-12-20 Simd processor and verification apparatus thereof Pending JP2003186854A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001387369A JP2003186854A (en) 2001-12-20 2001-12-20 Simd processor and verification apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001387369A JP2003186854A (en) 2001-12-20 2001-12-20 Simd processor and verification apparatus thereof

Publications (1)

Publication Number Publication Date
JP2003186854A true JP2003186854A (en) 2003-07-04

Family

ID=27596226

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001387369A Pending JP2003186854A (en) 2001-12-20 2001-12-20 Simd processor and verification apparatus thereof

Country Status (1)

Country Link
JP (1) JP2003186854A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007200090A (en) * 2006-01-27 2007-08-09 Renesas Technology Corp Semiconductor processor
JP2007206849A (en) * 2006-01-31 2007-08-16 Renesas Technology Corp Parallel arithmetic processor
JP2011141823A (en) * 2010-01-08 2011-07-21 Renesas Electronics Corp Data processing device and parallel arithmetic device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007200090A (en) * 2006-01-27 2007-08-09 Renesas Technology Corp Semiconductor processor
JP2007206849A (en) * 2006-01-31 2007-08-16 Renesas Technology Corp Parallel arithmetic processor
US7505352B2 (en) 2006-01-31 2009-03-17 Renesas Technology Corp. Parallel operational processing device
JP2011141823A (en) * 2010-01-08 2011-07-21 Renesas Electronics Corp Data processing device and parallel arithmetic device

Similar Documents

Publication Publication Date Title
JP4098241B2 (en) Method and apparatus for connecting a processor to a coprocessor
KR19980069757A (en) Microprocessor and Multiprocessor Systems
JP3971535B2 (en) SIMD type processor
EP0355462A2 (en) Dedicated service processor with inter-channel communication features
KR970003321B1 (en) System using microprocessor address lines coprocessor selection within a multi-coprocessor apparatus
JP2009223758A (en) Image processing apparatus
JP2581323B2 (en) How to update reference bits and change bits
US6611796B1 (en) Method and apparatus for combining memory blocks for in circuit emulation
US4967339A (en) Operation control apparatus for a processor having a plurality of arithmetic devices
JP3705811B2 (en) Microcontroller with reconfigurable program status word
JP2003186854A (en) Simd processor and verification apparatus thereof
JP3721129B2 (en) Method and apparatus for improving computer load and store operations
US5204957A (en) Integrated circuit timer with multiple channels and dedicated service processor
JP2006350907A (en) Simd type microprocessor, data transfer unit, and data conversion unit
US7689864B2 (en) Processor comprising an integrated debugging interface controlled by the processing unit of the processor
JP2001134538A (en) Signal processor
JP3206960B2 (en) Extended central processing unit
JPH05165641A (en) Single chip microcomputer
US20030172238A1 (en) Atomically testing and setting or clearing one or more bits stored in a memory location
JP4560398B2 (en) Data processing circuit
JPH02281341A (en) Write data confirming method for debugging
JP2755646B2 (en) Data driven data processor
JP2004206241A (en) Data transfer control method and its circuit
JPH0336654A (en) Dma transfer system and single chip processor unit
JPH0474254A (en) Microprocessor diagnostic system