JP2006268518A - Information processor - Google Patents
Information processor Download PDFInfo
- Publication number
- JP2006268518A JP2006268518A JP2005086458A JP2005086458A JP2006268518A JP 2006268518 A JP2006268518 A JP 2006268518A JP 2005086458 A JP2005086458 A JP 2005086458A JP 2005086458 A JP2005086458 A JP 2005086458A JP 2006268518 A JP2006268518 A JP 2006268518A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- address
- signal line
- branch
- debugging
- 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.)
- Withdrawn
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Advance Control (AREA)
Abstract
Description
本発明は、情報処理装置に関し、特に、分岐ヒストリテーブルを用いてデバッグを行う情報処理装置に関する。 The present invention relates to an information processing apparatus, and more particularly to an information processing apparatus that performs debugging using a branch history table.
従来の技術として、分岐ヒストリテーブルを用いたデバッグ回路には特許文献1、および、特許文献2がある。これらは、それぞれ、仮想分岐を用いて、異なる命令を実行したり、マイクロ命令アドレスを変更して、異なる処理を行っているが、これらの処理には、分岐先のメモリ空間が必要となったり、処理用のマイクロ命令を保持する為のメモリが必要となる。 As conventional technologies, there are Patent Document 1 and Patent Document 2 as debug circuits using a branch history table. Each of these uses a virtual branch to execute a different instruction or change a microinstruction address to perform a different process, but these processes may require a branch destination memory space. A memory for holding the microinstruction for processing is required.
従来は、命令語を書き換えてデバッグを実施する場合、ソフト的にプログラムを変更して書き換えていた。そのため、簡単なデータ取り等を実施する場合にも、いちいちプログラムを変更しなくてはならなく、作業が複雑であった。 Conventionally, when debugging is performed by rewriting an instruction word, the program is changed by software and rewritten. Therefore, even when performing simple data collection, etc., the program has to be changed every time, and the work is complicated.
また、HW上で特定の命令アドレスに対して、デバッグ用の命令を実行させる方法もあるが、その場合、同時にデバッグ用の命令語を埋め込める数が少なかったり、また、多くのデバッグ用の命令語を埋め込ませるために専用のメモリが必要となった。 There is also a method of executing a debugging instruction for a specific instruction address on the HW. In that case, the number of debugging instruction words that can be embedded at the same time is small, or many debugging instructions are used. Dedicated memory is required to embed words.
本発明の情報処理装置は、デバッグ用命令を格納する分岐ヒストリテーブルを備える。 The information processing apparatus of the present invention includes a branch history table that stores debugging instructions.
本発明においては、以下に記載するような効果を奏する。 The present invention has the following effects.
第1の効果は分岐ヒストリテーブルを利用しているので、少ないハードウェアの追加で構成できることである。 The first effect is that since the branch history table is used, it can be configured with a small amount of hardware.
第2の効果は分岐ヒストリテーブルを利用しているので、複数の命令アドレスに対して同時にデバッグを行うことができることである。 The second effect is that since a branch history table is used, debugging can be performed simultaneously on a plurality of instruction addresses.
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。 Next, the best mode for carrying out the present invention will be described in detail with reference to the drawings.
図2を参照すると、本発明の一実施例としての(1)分岐ヒストリテーブルの構成図が示されている。 Referring to FIG. 2, there is shown a configuration diagram of (1) a branch history table as one embodiment of the present invention.
図2において、命令先取りアドレスレジスタ(IFAR)11は命令先取り制御回路(IFC)1より信号線101を介して送出される命令アドレスを受け、信号線106を介してその下位ビットをメモリのアドレスとして分岐命令アドレスアレイ(BAA)12、分岐先アドレスアレイ(DAA)13および情報アレイ(IA)14に、また、信号線105を介してその上位ビットを命令アドレスの比較情報として比較回路15に、また、分岐情報の記憶時にはBAA12に送出する。
In FIG. 2, an instruction prefetch address register (IFAR) 11 receives an instruction address sent from the instruction prefetch control circuit (IFC) 1 via the
BAA12は命令アドレス記憶動作時は信号線105を介してIFAR11より送出された分岐命令の上位アドレスを信号線106を介してIFAR11より送出された命令アドレスの下位ビットによって示されるエントリに記憶し、読出動作時には信号線106を介してIFAR11より送出された命令アドレスの下位ビットによって示されるエントリに記憶した命令アドレスの上位ビットを信号線108を介して比較回路105に送出する。
The BAA 12 stores the upper address of the branch instruction sent from the IFAR 11 via the
DAA13は通常時はBAA12に記憶された分岐命令の命令アドレスと対にして、その分岐先アドレスを記憶し、デバッグ時はデバッグで使用したい命令語をBAA12に記憶された命令アドレスと対にして記憶するメモリであり、記憶動作時は信号線106を介してIFAR11より送出された命令アドレスの下位ビットによって示されたエントリに書込分岐先アドレスレジスタ(WDAR)19に保持された、分岐先アドレスあるいはデバッグ用の命令語を信号線114を介して受けて記憶し、読出動作時は信号線106を介してIFAR11より送出された命令アドレスの下位ビットによって示されたエントリから、過去の分岐先アドレスまたはデバッグ用の命令語を信号線110を介して予測分岐先アドレスレジスタ(PDAR)17に送出する。
The
情報アレイ(IA)14はDAA13に記憶された情報が予測分岐先アドレスか、デバッグ用の命令語かを示すメモリであり、書き込み時には信号線115を介して書き込み情報レジスタ(IAR)20より送出された情報を信号線106を介してIFAR11より示される命令アドレスの下位ビットによって示されるエントリに記憶し、読み出し時には記憶した内容を信号線106を介してIFAR11より示される命令アドレスの下位ビットによって示されるエントリから読み出し信号線111を介して読み出し情報レジスタ(RIR)18に送出する。
The information array (IA) 14 is a memory indicating whether the information stored in the
比較回路15は命令読み出し時に読み出し命令アドレスと分岐ヒストリテーブルに記憶されたアドレスが一致するかどうかを比較する回路であり、信号線105を介してIFAR11より送出された命令アドレスの上位ビットと、信号線108を介してBAA12より送出された記憶された命令アドレスの上位ビットを比較し、一致しているかどうかの情報を信号線109を介して分岐ヒットレジスタ(BHR)16に送出する。
The
BHR16は命令取り出し時に、分岐ヒストリテーブル内に命令取り出しアドレスと一致するアドレスが見つかったかどうかを示すレジスタであり、信号線109を介して比較回路15から送出された命令取り出しアドレスと分岐ヒストリに記憶された命令アドレスとの比較結果を受け、信号線102を介してIFC1に送出する。
The BHR 16 is a register indicating whether or not an address matching the instruction fetch address is found in the branch history table at the time of fetching an instruction, and is stored in the instruction fetch address sent from the
PDAR17はBHR16と対にして、その予測分岐先アドレスあるいはデバッグ用命令語を受けるレジスタであり、信号線110を介して、DAA13より送出された予測分岐先アドレスあるいはデバッグ用命令語を受け、信号線103を介して、IFC1および命令バッファ(IB)3に送出する。
The PDAR 17 is a register that receives the predicted branch destination address or debug instruction word paired with the BHR 16, receives the predicted branch destination address or debug instruction word sent from the
RIR18はBHR16の保持されたデータが予測分岐先アドレスかデバッグ用命令語かを示すレジスタであり、信号線111を介してIA14より送出された予測分岐先アドレスかデバッグ用命令語かの情報を受け、信号線104を介して予測分岐先アドレスあるいはデバッグ用の命令語が記憶されているかどうかをIFC1およびIB3に送出する。
The
WDAR19はDAAに記憶された情報を書き換える際のデータを保持するレジスタであり、信号線112を介してIFC1より送出された、分岐先アドレスあるいはデバッグ用命令語を受け、信号線114を介してDAA13に送出する。
The WDAR 19 is a register for holding data when rewriting information stored in the DAA. The WDAR 19 receives a branch destination address or a debug instruction word sent from the IFC 1 through the
WIR20はIAに記憶された情報を書き換える際のデータを保持するレジスタであり、信号線115を介して、WDAR19に保持されたデータが分岐先アドレスか、あるいは、デバッグ命令語かの情報をIA14に送出する。
The
以上詳細に実施例の構成を述べたが、図1は、全体の構成を示すブロック図である。図3は、IB3の構成の一例を示すブロック図である。 The configuration of the embodiment has been described in detail above. FIG. 1 is a block diagram showing the overall configuration. FIG. 3 is a block diagram showing an example of the configuration of IB3.
次に、本発明を実施するための最良の形態の動作について図面を参照して説明する。 Next, the operation of the best mode for carrying out the present invention will be described with reference to the drawings.
次に図2の分岐ヒストリテーブルのデバッグ時の動作を簡単に説明する。 Next, the operation during debugging of the branch history table of FIG. 2 will be briefly described.
図において、デバッグ動作時はデバッグ対象アドレスとデバッグ時に実行したい命令語がBAA12およびDAA13に、BAA12、DAA13に記憶されたデータがデバッグ情報であることを示す内容がIA14の同一エントリに記憶される。命令取り出し時にはIFAR11に命令アドレスがセットされ、その内容とBAA12に記憶された命令アドレスが比較され、その結果が信号線109を介してBHR16に送出される。そのIFAR11に保持された命令アドレスがデバッグ対象であった場合、信号線110にはDAA13が記憶したデバッグ時に実行したい命令語が送出され、PDAR17に保持され、信号線111を介してIA14から送出されたデバッグ情報であることを示す情報がRIR18に送出される。これによって、分岐ヒストリテーブル(BHT)2に記憶されたデバッグ命令語が読み出されて送出される。
In the figure, at the time of debugging operation, the debug target address and the instruction word to be executed at the time of debugging are stored in BAA12 and DAA13, and the content indicating that the data stored in BAA12 and DAA13 is debug information is stored in the same entry of IA14. At the time of instruction fetch, the instruction address is set in IFAR 11, the contents thereof are compared with the instruction address stored in BAA 12, and the result is sent to BHR 16 via
1 命令先取り制御回路(IFC)
2 分岐ヒストリテーブル(BHT)
3 命令バッファ(IB)
11 IFAR
12 BAA
13 DAA
14 IA
15 比較回路
16 BHR
17 PDAR
18 読み出し情報レジスタ(RIR)
19 WDAR
20 書き込み情報レジスタ(IAR)
1 Instruction prefetch control circuit (IFC)
2 Branch history table (BHT)
3 Instruction buffer (IB)
11 IFAR
12 BAA
13 DAA
14 IA
15 Comparison circuit 16 BHR
17 PDAR
18 Read information register (RIR)
19 WDAR
20 Write information register (IAR)
Claims (1)
An information processing apparatus comprising a branch history table for storing debugging instructions.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005086458A JP2006268518A (en) | 2005-03-24 | 2005-03-24 | Information processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005086458A JP2006268518A (en) | 2005-03-24 | 2005-03-24 | Information processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006268518A true JP2006268518A (en) | 2006-10-05 |
Family
ID=37204408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005086458A Withdrawn JP2006268518A (en) | 2005-03-24 | 2005-03-24 | Information processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006268518A (en) |
-
2005
- 2005-03-24 JP JP2005086458A patent/JP2006268518A/en not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5030796B2 (en) | System and method for restricting access to cache during data transfer | |
US9753730B2 (en) | Decoding instructions from multiple instructions sets | |
CN110832455B (en) | Bit values inside test vector elements | |
JP4202244B2 (en) | VLIW DSP and method of operating the same | |
US20190369999A1 (en) | Storing incidental branch predictions to reduce latency of misprediction recovery | |
JP3773470B2 (en) | Handling of coprocessor instructions in a data processor | |
JP6073392B2 (en) | System and method for evaluating data values as instructions | |
JPH0682320B2 (en) | Data processing device | |
US10409602B2 (en) | Vector operand bitsize control | |
JP2006268518A (en) | Information processor | |
US20050262403A1 (en) | Apparatus and method for single operation read-modify-write in a bit-accessible memory unit memory | |
JP2007286921A (en) | Information processor and security release program unauthorized execution prohibition method using it | |
JP5292831B2 (en) | Programmable controller | |
JP2008107913A (en) | Program, software conversion device and computer | |
JP2002229776A (en) | Data processor for executing multiple sets of instructions | |
US9886276B2 (en) | System register access | |
JP2005535045A (en) | Processor and method for processing VLIW instructions | |
JP5679263B2 (en) | Information processing apparatus and microinstruction processing method | |
US7606997B1 (en) | Method and system for using one or more address bits and an instruction to increase an instruction set | |
JP2006526194A (en) | Multiple register load using very long instruction words | |
CN111552514A (en) | Processor and instruction execution method | |
EP2525286A1 (en) | Co-processor interface | |
JP2006293490A (en) | Cpu | |
JPH05334186A (en) | Data processor | |
JPH11306019A (en) | Information processing device and processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080603 |