JP2006268518A - Information processor - Google Patents

Information processor Download PDF

Info

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
Application number
JP2005086458A
Other languages
Japanese (ja)
Inventor
Takeshi Morisada
剛 森定
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2005086458A priority Critical patent/JP2006268518A/en
Publication of JP2006268518A publication Critical patent/JP2006268518A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Advance Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To enable embedding of a debug instruction in a plurality of instruction addresses by adding little HW. <P>SOLUTION: A DAA (branch destination address array) 13 is a memory for storing the branch destination address of a branch instruction stored in a BAA (branch instruction address array) 12 as a set to the instruction address of the branch instruction at a normal time and storing an instruction word desired to be used for debugging as a set to the instruction address stored in the BAA 12 at the time of debugging, receiving and the branch destination address or the instruction word for debugging through a signal line 114 and storing the branch destination address or the instruction word at the time of a store operation, and transmitting a past branch destination address or the instruction word for debugging from an entry shown by the lower-order bits of an instruction address transmitted from an IFAR (instruction prefetch address register) 11 through a signal line 106 to a predictive branch destination address register (PDAR) 17 through a signal line 110 at the time of a read operation. <P>COPYRIGHT: (C)2007,JPO&INPIT

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.

特開平11−191071号公報Japanese Patent Laid-Open No. 11-191071 特開平11−167502号公報Japanese Patent Laid-Open No. 11-167502

従来は、命令語を書き換えてデバッグを実施する場合、ソフト的にプログラムを変更して書き換えていた。そのため、簡単なデータ取り等を実施する場合にも、いちいちプログラムを変更しなくてはならなく、作業が複雑であった。   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 signal line 101, and uses the lower bit as a memory address via the signal line 106. The branch instruction address array (BAA) 12, the branch destination address array (DAA) 13 and the information array (IA) 14 are sent to the comparison circuit 15 as the instruction address comparison information via the signal line 105. When the branch information is stored, it is sent to the BAA 12.

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 signal line 105 in the entry indicated by the lower bit of the instruction address sent from the IFAR 11 via the signal line 106 during the instruction address storing operation. In operation, the upper bits of the instruction address stored in the entry indicated by the lower bits of the instruction address sent from the IFAR 11 via the signal line 106 are sent to the comparison circuit 105 via the signal line 108.

DAA13は通常時はBAA12に記憶された分岐命令の命令アドレスと対にして、その分岐先アドレスを記憶し、デバッグ時はデバッグで使用したい命令語をBAA12に記憶された命令アドレスと対にして記憶するメモリであり、記憶動作時は信号線106を介してIFAR11より送出された命令アドレスの下位ビットによって示されたエントリに書込分岐先アドレスレジスタ(WDAR)19に保持された、分岐先アドレスあるいはデバッグ用の命令語を信号線114を介して受けて記憶し、読出動作時は信号線106を介してIFAR11より送出された命令アドレスの下位ビットによって示されたエントリから、過去の分岐先アドレスまたはデバッグ用の命令語を信号線110を介して予測分岐先アドレスレジスタ(PDAR)17に送出する。   The DAA 13 normally stores the branch destination address paired with the instruction address of the branch instruction stored in the BAA 12, and stores the instruction word to be used for debugging paired with the instruction address stored in the BAA 12 during debugging. At the time of storage operation, the branch destination address or the branch destination address held in the write branch destination address register (WDAR) 19 in the entry indicated by the lower bit of the instruction address sent from the IFAR 11 via the signal line 106 An instruction word for debugging is received and stored via the signal line 114, and at the time of a read operation, from the entry indicated by the lower bits of the instruction address sent from the IFAR 11 via the signal line 106, a past branch destination address or Predictive branch destination address register (PDAR) for debugging instruction word via signal line 110 And it sends it to the 7.

情報アレイ(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 DAA 13 is a predicted branch destination address or a debug instruction word, and is sent from the write information register (IAR) 20 via the signal line 115 at the time of writing. The stored information is stored in the entry indicated by the lower bit of the instruction address indicated by IFAR11 via the signal line 106, and at the time of reading, the stored content is indicated by the lower bit of the instruction address indicated by IFAR11 via the signal line 106. The data is sent from the entry to the read information register (RIR) 18 via the read signal line 111.

比較回路15は命令読み出し時に読み出し命令アドレスと分岐ヒストリテーブルに記憶されたアドレスが一致するかどうかを比較する回路であり、信号線105を介してIFAR11より送出された命令アドレスの上位ビットと、信号線108を介してBAA12より送出された記憶された命令アドレスの上位ビットを比較し、一致しているかどうかの情報を信号線109を介して分岐ヒットレジスタ(BHR)16に送出する。   The comparison circuit 15 compares the read instruction address with the address stored in the branch history table at the time of instruction read. The comparison circuit 15 compares the upper bits of the instruction address sent from the IFAR 11 via the signal line 105 and the signal. The high-order bits of the stored instruction address sent from the BAA 12 via the line 108 are compared, and information on whether or not they match is sent to the branch hit register (BHR) 16 via the signal line 109.

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 comparison circuit 15 via the signal line 109 and the branch history. The comparison result with the command address is received and sent to the IFC 1 via the signal line 102.

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 DAA 13 via the signal line 110, and receives the signal line The data is sent to the IFC 1 and the instruction buffer (IB) 3 via 103.

RIR18はBHR16の保持されたデータが予測分岐先アドレスかデバッグ用命令語かを示すレジスタであり、信号線111を介してIA14より送出された予測分岐先アドレスかデバッグ用命令語かの情報を受け、信号線104を介して予測分岐先アドレスあるいはデバッグ用の命令語が記憶されているかどうかをIFC1およびIB3に送出する。   The RIR 18 is a register indicating whether the data held in the BHR 16 is a predicted branch destination address or a debug instruction word, and receives information on the predicted branch destination address or the debug instruction word sent from the IA 14 via the signal line 111. Whether the predicted branch destination address or the instruction word for debugging is stored is sent to IFC1 and IB3 via the signal line 104.

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 signal line 112, and receives the DAA 13 through the signal line 114. To send.

WIR20はIAに記憶された情報を書き換える際のデータを保持するレジスタであり、信号線115を介して、WDAR19に保持されたデータが分岐先アドレスか、あるいは、デバッグ命令語かの情報をIA14に送出する。   The WIR 20 is a register that holds data when the information stored in the IA is rewritten. Via the signal line 115, information on whether the data held in the WDAR 19 is a branch destination address or a debug instruction word is sent to the IA 14. Send it out.

以上詳細に実施例の構成を述べたが、図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 signal line 109. When the instruction address held in the IFAR 11 is a debug target, the instruction word to be executed during debugging stored in the DAA 13 is sent to the signal line 110, held in the PDAR 17, and sent from the IA 14 via the signal line 111. Information indicating that it is debug information is sent to the RIR 18. As a result, the debug instruction word stored in the branch history table (BHT) 2 is read out and transmitted.

本発明を実施するための最良の形態の全体を示すブロック図。The block diagram which shows the whole of the best form for implementing this invention. 分岐ヒストリテーブルの構成を示すブロック図。The block diagram which shows the structure of a branch history table. 命令バッファの構成を示すブロック図。The block diagram which shows the structure of an instruction buffer.

符号の説明Explanation of symbols

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.
JP2005086458A 2005-03-24 2005-03-24 Information processor Withdrawn JP2006268518A (en)

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)

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