JP5614341B2 - Data processing apparatus, system, and method of operating data processing apparatus - Google Patents

Data processing apparatus, system, and method of operating data processing apparatus Download PDF

Info

Publication number
JP5614341B2
JP5614341B2 JP2011057623A JP2011057623A JP5614341B2 JP 5614341 B2 JP5614341 B2 JP 5614341B2 JP 2011057623 A JP2011057623 A JP 2011057623A JP 2011057623 A JP2011057623 A JP 2011057623A JP 5614341 B2 JP5614341 B2 JP 5614341B2
Authority
JP
Japan
Prior art keywords
memory
processor
data processing
data
request
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.)
Expired - Fee Related
Application number
JP2011057623A
Other languages
Japanese (ja)
Other versions
JP2012194737A (en
Inventor
充 伴野
充 伴野
真寿 毛利
真寿 毛利
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011057623A priority Critical patent/JP5614341B2/en
Publication of JP2012194737A publication Critical patent/JP2012194737A/en
Application granted granted Critical
Publication of JP5614341B2 publication Critical patent/JP5614341B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

本発明は、データ処理装置およびデータ処理装置が搭載されるシステムに関する。   The present invention relates to a data processing device and a system in which the data processing device is mounted.

一般に、データ処理装置は、プロセッサと、プロセッサにアクセスされるメモリとを有している。この種のデータ処理装置では、消費電力を削減するために、プロセッサがメモリ内の同一アドレスに対する読み出し命令を発行するときに、2回目以降の読み出し命令に対応するメモリのアクセスは禁止される(例えば、特許文献1参照。)。プログラムを実行する汎用プロセッサとデータ処理を実行する専用プロセッサとを含むデータ処理装置では、消費電力を削減するために、専用プロセッサからのウエイト要求に応答して汎用プロセッサはストールされる(例えば、特許文献2、3参照。)。   Generally, a data processing apparatus has a processor and a memory accessed by the processor. In this type of data processing device, in order to reduce power consumption, when the processor issues a read command for the same address in the memory, access to the memory corresponding to the second and subsequent read commands is prohibited (for example, , See Patent Document 1). In a data processing apparatus including a general-purpose processor that executes a program and a dedicated processor that executes data processing, the general-purpose processor is stalled in response to a wait request from the dedicated processor in order to reduce power consumption (for example, patents). References 2 and 3.)

特開2007−299044号公報JP 2007-299044 A 特開2004−199630号公報Japanese Patent Laid-Open No. 2004-199630 特表2001−501330号公報Special table 2001-501330 gazette

ある種の汎用プロセッサは、専用プロセッサからの要求によりストールしている間にも、メモリに格納されている命令やデータをフェッチする。ストール中にフェッチされた命令やデータは、使用されることなく破棄される。メモリの消費電力は、データ処理装置において大きなウエイトを占める。このため、不要なフェッチ動作により、データ処理装置の電力効率は低下する。   Some general-purpose processors fetch instructions and data stored in memory even while stalled due to a request from a dedicated processor. Instructions and data fetched during the stall are discarded without being used. Memory power consumption occupies a large weight in a data processing apparatus. For this reason, the power efficiency of the data processing apparatus decreases due to unnecessary fetch operations.

本発明の一形態では、データ処理装置は、メモリへのアクセス要求と、データ処理を指示するためにメモリから読み出されるデータを使用して生成される処理要求とを出力する第1プロセッサと、処理要求を受けてデータ処理を実行し、処理要求を受け付けられない状態が発生したときに処理要求の受け付けの禁止を示す状態信号を第1プロセッサに出力する第2プロセッサと、第1プロセッサとメモリとの間に配置され、処理要求の出力と状態信号の出力とを検出したときに、アクセス要求のメモリへの供給を禁止する禁止制御を実行するメモリ制御部とを有している。   In one aspect of the present invention, a data processing device includes a first processor that outputs a request for access to a memory and a processing request generated using data read from the memory to instruct data processing; A second processor that executes data processing in response to the request and outputs a status signal indicating prohibition of accepting the processing request to the first processor when a state in which the processing request cannot be accepted occurs; a first processor; a memory; And a memory control unit that executes prohibition control for prohibiting the supply of the access request to the memory when the output of the processing request and the output of the status signal are detected.

第1プロセッサからメモリへの不要なアクセスを抑止することで、メモリの消費電力を削減でき、データ処理装置の消費電力を削減できる。   By suppressing unnecessary access from the first processor to the memory, the power consumption of the memory can be reduced, and the power consumption of the data processing apparatus can be reduced.

一実施形態におけるデータ処理装置の例を示している。1 illustrates an example of a data processing apparatus according to an embodiment. 別の実施形態におけるデータ処理装置の例を示している。The example of the data processor in another embodiment is shown. 図2に示したデータ処理装置の動作の例を示している。3 shows an example of the operation of the data processing apparatus shown in FIG. 別の実施形態におけるデータ処理装置の例を示している。The example of the data processor in another embodiment is shown. 図4に示した命令メモリのアドレス空間の例を示している。5 shows an example of the address space of the instruction memory shown in FIG. 図4に示したデータ処理装置の動作の例を示している。5 shows an example of the operation of the data processing apparatus shown in FIG. 別の実施形態におけるデータ処理装置の例を示している。The example of the data processor in another embodiment is shown. 図7に示したマスク制御回路の例を示している。8 shows an example of the mask control circuit shown in FIG. 別の実施形態におけるデータ処理装置の例を示している。The example of the data processor in another embodiment is shown. 図9に示した命令メモリのアドレス空間の例を示している。10 shows an example of the address space of the instruction memory shown in FIG. 別の実施形態におけるデータ処理装置の例を示している。The example of the data processor in another embodiment is shown. 上述したデータ処理装置が搭載されるシステムの例を示している。The example of the system by which the data processing apparatus mentioned above is mounted is shown.

以下、実施形態を図面を用いて説明する。   Hereinafter, embodiments will be described with reference to the drawings.

図1は、一実施形態におけるデータ処理装置DPDの例を示している。データ処理装置DPDは、プロセッサ1、プロセッサ2、メモリ3およびメモリ制御部4を有している。なお、メモリ3は、データ処理装置DPDの外部に配置されてもよい。データ処理装置DPDは、1つの半導体チップとして形成されてもよく、複数の半導体チップを用いて形成されてもよい。   FIG. 1 shows an example of a data processing device DPD in one embodiment. The data processing device DPD includes a processor 1, a processor 2, a memory 3, and a memory control unit 4. The memory 3 may be arranged outside the data processing device DPD. The data processing device DPD may be formed as one semiconductor chip or may be formed using a plurality of semiconductor chips.

プロセッサ1は、データ処理を処理するためのデータDTをメモリ3から読み出すためにアクセス要求ENをメモリ3に出力し、データ処理を指示する処理要求REQをプロセッサ2に出力する。例えば、プロセッサ1は、メモリ3から読み出されるデータDTを使用して処理要求REQを生成する。データDTがプロセッサ1によってデコードされる命令のとき、命令の中に処理要求REQの情報が含まれる。メモリ3が複数のアドレスにより識別される複数の記憶領域を有するとき、プロセッサ1は、アクセス要求ENとともにアドレスADをメモリ3に出力する。特に限定されないが、処理要求REQおよびアクセス要求ENは、論理1のときに有効になり、論理0のときに無効になる。   The processor 1 outputs an access request EN to the memory 3 in order to read data DT for processing data processing from the memory 3, and outputs a processing request REQ instructing data processing to the processor 2. For example, the processor 1 uses the data DT read from the memory 3 to generate a processing request REQ. When the data DT is an instruction to be decoded by the processor 1, information on the processing request REQ is included in the instruction. When the memory 3 has a plurality of storage areas identified by a plurality of addresses, the processor 1 outputs the address AD together with the access request EN to the memory 3. Although not particularly limited, the processing request REQ and the access request EN are valid when the logic is 1, and are invalid when the logic is 0.

プロセッサ2は、処理要求REQを受けてデータ処理を実行する。プロセッサ2は、処理要求REQを受け付けられない状態が発生したときに処理要求REQの受け付けの禁止を示す状態信号STを第1プロセッサ1に出力する。処理要求REQを受け付けられない状態は、処理要求REQに応答して実行されるデータ処理の時間が、処理要求REQの供給間隔より長い状態である。例えば、プロセッサ2が複数の処理要求REQを保持するバッファを有するとき、状態信号STは、バッファが一杯になったとき(フル状態)に出力される。バッファのフル状態は、処理要求REQの供給間隔がプロセッサ2のデータ処理時間を超える状態が続くときに発生しやすい。特に限定されないが、状態信号STは、論理1のときバッファのフル状態を示し、論理0のときにバッファの空き状態を示す。   The processor 2 receives the processing request REQ and executes data processing. The processor 2 outputs a state signal ST indicating prohibition of accepting the processing request REQ to the first processor 1 when a state where the processing request REQ cannot be accepted occurs. The state in which the processing request REQ is not accepted is a state in which the time of data processing executed in response to the processing request REQ is longer than the supply interval of the processing request REQ. For example, when the processor 2 has a buffer for holding a plurality of processing requests REQ, the state signal ST is output when the buffer is full (full state). The buffer full state is likely to occur when the supply interval of the processing request REQ continues to exceed the data processing time of the processor 2. Although not particularly limited, the status signal ST indicates that the buffer is full when it is logic 1, and indicates that the buffer is empty when it is logic 0.

メモリ3は、アクセス要求ENが論理1にアサートされているときに動作する。例えば、読み出し動作では、メモリ3は、アドレスADにより選択されるメモリセルからデータDTを読み出し、読み出したデータDTをプロセッサ1に出力する。アクセス要求ENは、チップセレクト信号およびアウトプットイネーブル信号を含んでいてもよい。メモリ3がROM(Read Only Memory)のとき、データDTは、メモリ3からプロセッサ1に読み出され、プロセッサ1からメモリ3には書き込まれない。   The memory 3 operates when the access request EN is asserted to logic 1. For example, in the read operation, the memory 3 reads the data DT from the memory cell selected by the address AD, and outputs the read data DT to the processor 1. The access request EN may include a chip select signal and an output enable signal. When the memory 3 is a ROM (Read Only Memory), the data DT is read from the memory 3 to the processor 1 and is not written from the processor 1 to the memory 3.

メモリ制御部4は、プロセッサ1とメモリ3との間に配置され、処理要求REQの出力と状態信号STの出力とが重複することを検出したときに、アクセス要求ENのメモリ3への供給を禁止する禁止制御を実行する。例えば、禁止制御は、メモリ制御部4に形成されるアクセス禁止回路4aにより実行される。データDTおよびアドレスADは、メモリ制御部4を介して伝達されているが、プロセッサ1とメモリ3の間で直接伝達されてもよい。   The memory control unit 4 is arranged between the processor 1 and the memory 3 and supplies the access request EN to the memory 3 when it detects that the output of the processing request REQ and the output of the status signal ST overlap. Prohibit prohibition control. For example, the prohibition control is executed by an access prohibition circuit 4 a formed in the memory control unit 4. The data DT and the address AD are transmitted via the memory control unit 4, but may be directly transmitted between the processor 1 and the memory 3.

アクセス禁止回路4aは、状態信号STが論理0のとき、すなわち、プロセッサ2が正常なデータ処理を実行可能なとき、プロセッサ1からのアクセス要求ENをメモリ3に伝達する。一方、アクセス禁止回路4aは、状態信号STが論理1で処理要求REQが論理1のとき、プロセッサ1からのアクセス要求ENのメモリ3への伝達を禁止する。   The access prohibition circuit 4a transmits the access request EN from the processor 1 to the memory 3 when the status signal ST is logic 0, that is, when the processor 2 can execute normal data processing. On the other hand, when the status signal ST is logic 1 and the processing request REQ is logic 1, the access prohibition circuit 4a prohibits the transmission of the access request EN from the processor 1 to the memory 3.

論理1の状態信号STが出力されているとき、プロセッサ2は処理要求REQを受け付けられない状態である。処理要求REQは、メモリ3から読み出されるデータDTに基づいて生成される。状態信号STが出力されている状態で、プロセッサ1がメモリ3にアクセスしてデータDTを読み出すと、読み出したデータDTは使用されないため、メモリ3は無駄な電力を消費する。しかし、この実施形態では、論理1の処理要求REQおよび状態信号STが出力されているとき、禁止制御によりメモリ3へのアクセスが禁止されるため、メモリ3が無駄な電力を消費することを防止できる。   When the logic 1 state signal ST is output, the processor 2 is in a state where it cannot accept the processing request REQ. The processing request REQ is generated based on the data DT read from the memory 3. When the processor 1 accesses the memory 3 and reads the data DT while the status signal ST is being output, the read data DT is not used, so the memory 3 consumes useless power. However, in this embodiment, when the logic 1 processing request REQ and the status signal ST are output, access to the memory 3 is prohibited by prohibition control, so that the memory 3 is prevented from consuming unnecessary power. it can.

以上、この実施形態では、プロセッサ2において処理要求REQを受け付けられない状態が発生したときに、プロセッサ1からメモリ3への不要なアクセスを抑止することで、メモリ3の消費電力を削減でき、データ処理装置DPDの消費電力を削減できる。   As described above, in this embodiment, when a state where the processor 2 cannot accept the processing request REQ occurs, the power consumption of the memory 3 can be reduced by suppressing unnecessary access from the processor 1 to the memory 3. The power consumption of the processing device DPD can be reduced.

図2は、別の実施形態におけるデータ処理装置DPDの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態のデータ処理装置DPDは、プロセッサ10、コプロセッサ12、命令メモリ14およびメモリ制御部16を有している。なお、命令メモリ14は、データ処理装置DPDの外部に形成されてもよい。   FIG. 2 shows an example of a data processing device DPD in another embodiment. The same elements as those described in the above-described embodiment are denoted by the same reference numerals, and detailed description thereof will be omitted. The data processing device DPD of this embodiment includes a processor 10, a coprocessor 12, an instruction memory 14, and a memory control unit 16. Note that the instruction memory 14 may be formed outside the data processing device DPD.

例えば、プロセッサ10は、命令メモリ14から読み出されるデータDT(命令)をフェッチすることでプログラムを実行する汎用のプロセッサであり、命令メモリ14に出力するアドレスADを生成するプログラムカウンタPCを有している。プロセッサ10は、命令メモリ14から読み出される命令がプロセッサ10に対する命令のとき、自身でデータ処理を実行し、命令メモリ14から読み出される命令がコプロセッサ12に対する命令のとき、命令に基づいてキューデータQDTを生成する。すなわち、プロセッサ10は、命令メモリ14から読み出されるデータDTを使用してコプロセッサ12に出力するキューデータQDTを生成し、キュープッシュリクエストQPREQとともにコプロセッサ12に出力する。 For example, the processor 10 is a general-purpose processor that executes a program by fetching data DT (instruction) read from the instruction memory 14, and includes a program counter PC that generates an address AD to be output to the instruction memory 14. Yes. The processor 10, when the instruction read from the instruction memory 14 of the instruction to the processor 10, when to perform data processing by itself, the instruction is read from the instruction memory 14 of the instruction to the coprocessor 12, the queue data QDT based on instructions Is generated. That is, the processor 10 uses the data DT read from the instruction memory 14 to generate queue data QDT to be output to the coprocessor 12, and outputs it to the coprocessor 12 together with the queue push request QPREQ.

キューデータQDTは、コプロセッサ12にデータ処理を実行させるための命令である。例えば、キューデータQDTは、コプロセッサ12が処理するデータの格納アドレスやデータのサイズ等の情報を含んでいる。コプロセッサ12が処理するデータは、データ処理装置DPDの内部または外部に配置されるDRAM(Dynamic Random Access Memory)等のデータメモリに格納される。データメモリは、プロセッサ10およびコプロセッサ12によりアクセス可能である。キュープッシュリクエストQPREQは、キューデータQDTの取り込みタイミングをコプロセッサ12に通知するためのトリガ信号であり、論理1のときに有効になり、論理0のときに無効になる。キュープッシュリクエストQPREQは、コプロセッサ12にデータ処理を指示するために命令メモリ14から読み出されるデータDTを使用して生成される処理要求の一例である。   The queue data QDT is an instruction for causing the coprocessor 12 to execute data processing. For example, the queue data QDT includes information such as a storage address and data size of data processed by the coprocessor 12. Data processed by the coprocessor 12 is stored in a data memory such as a DRAM (Dynamic Random Access Memory) disposed inside or outside the data processing device DPD. Data memory is accessible by the processor 10 and the coprocessor 12. The queue push request QPREQ is a trigger signal for notifying the coprocessor 12 of the capture timing of the queue data QDT. The queue push request QPREQ is valid when the logic is 1, and is invalid when the logic is 0. The queue push request QPREQ is an example of a processing request generated using data DT read from the instruction memory 14 in order to instruct the coprocessor 12 to perform data processing.

プロセッサ10は、コプロセッサ12からフル信号QFULを受けているときに、通常動作状態からストール状態に遷移し、キューデータQDTおよびキュープッシュリクエストQPREQの出力を停止する。例えば、フル信号QFULは、論理1のときに有効になり、論理0のときに無効になる。プロセッサ10は、メモリ制御部16からビジー信号BUSYを受けているとき、命令メモリ14のアクセスが禁止されていることを認識し、命令メモリ14とプロセッサ1との間に配線されるデータ線DT上のデータが無効であると判断する。例えば、プロセッサ10は、汎用のプロセッサであり、ストール中に、命令メモリ14に対するアクセス要求ENを出力する機能を有している。 When receiving the full signal QFUL from the coprocessor 12, the processor 10 transitions from the normal operation state to the stall state, and stops the output of the queue data QDT and the queue push request QPREQ. For example, the full signal QFUL is valid when the logic is 1, and is invalid when the logic is 0. When the processor 10 receives the busy signal BUSY from the memory control unit 16, the processor 10 recognizes that access to the instruction memory 14 is prohibited, and on the data line DT wired between the instruction memory 14 and the processor 1. Is determined to be invalid. For example, the processor 10 is a general-purpose processor and has a function of outputting an access request EN for the instruction memory 14 during a stall.

コプロセッサ12は、ベースバンドプロセッサ、DSP(Digital Signal Processor)、ベクトルプロセッサ等の専用のプロセッサであり、キューデータQDTに基づいてデータ処理を実行する。コプロセッサ12は、プロセッサ10からのキューデータQDTを順に保持する命令バッファ12a(例えば、FIFO(First-In, First-Out)メモリ)を有している。例えば、コプロセッサ12は、キュープッシュリクエストQPREQを受けた次のクロックサイクルでキューデータQDTを命令バッファ12aに取り込む。なお、コプロセッサ12は、キュープッシュリクエストQPREQを受けたクロックサイクルでキューデータQDTを命令バッファ12aに取り込んでもよい。   The coprocessor 12 is a dedicated processor such as a baseband processor, a DSP (Digital Signal Processor), or a vector processor, and executes data processing based on the queue data QDT. The coprocessor 12 includes an instruction buffer 12a (for example, a FIFO (First-In, First-Out) memory) that sequentially holds the queue data QDT from the processor 10. For example, the coprocessor 12 fetches the queue data QDT into the instruction buffer 12a in the next clock cycle that receives the queue push request QPREQ. The coprocessor 12 may fetch the queue data QDT into the instruction buffer 12a in the clock cycle that receives the queue push request QPREQ.

コプロセッサ12は、命令バッファ12aに格納された順にキューデータQDTを読み出してデコードし、データメモリ等に格納されているデータのデータ処理を実行する。コプロセッサ12は、命令バッファ12aの全ての領域にキューデータQDTが格納されているとき、フル信号QFULを出力する。フル信号QFULは、キュープッシュリクエストQPREQを受け付けられない状態が発生したときに、キュープッシュリクエストQPREQの受け付けの禁止を示す状態信号の一例である。なお、図2では、命令バッファ12aは4つの格納領域を有しているが、命令バッファ12aに格納されるキューデータQDTの最大数は4つに限定されない。   The coprocessor 12 reads and decodes the queue data QDT in the order stored in the instruction buffer 12a, and executes data processing of data stored in the data memory or the like. The coprocessor 12 outputs the full signal QFUL when the queue data QDT is stored in all areas of the instruction buffer 12a. The full signal QFUL is an example of a state signal indicating that the queue push request QPREQ is not accepted when a state where the queue push request QPREQ cannot be accepted occurs. In FIG. 2, the instruction buffer 12a has four storage areas, but the maximum number of queue data QDT stored in the instruction buffer 12a is not limited to four.

命令メモリ14は、図1に示したメモリ3と同様に、プロセッサ10により実行される命令が格納されており、アクセス要求ENに応答して動作する。命令メモリ14は、フラッシュメモリやマスクROM等のROMでもよく、SRAM(Static Random Access Memory)やDRAM等でもよい。   The instruction memory 14 stores instructions to be executed by the processor 10 and operates in response to the access request EN, similarly to the memory 3 shown in FIG. The instruction memory 14 may be a flash memory, a ROM such as a mask ROM, an SRAM (Static Random Access Memory), a DRAM, or the like.

メモリ制御部16は、プロセッサ10と命令メモリ14との間に配置され、アンド回路AND1、AND2およびインバータIV1を有している。アンド回路AND1は、入力でキュープッシュリクエストQPREQとフル信号QFULを受け、出力をインバータIV1の入力に接続している。アンド回路AND2は、入力でインバータIV1の出力信号とアクセス要求ENを受け、演算結果を命令メモリ14へのアクセス要求ENとして出力する。   The memory control unit 16 is disposed between the processor 10 and the instruction memory 14, and includes AND circuits AND1, AND2 and an inverter IV1. The AND circuit AND1 receives the queue push request QPREQ and the full signal QFUL at the inputs, and connects the output to the input of the inverter IV1. The AND circuit AND2 receives the output signal of the inverter IV1 and the access request EN at the input, and outputs the operation result as an access request EN to the instruction memory 14.

フル信号QFULが論理0にネゲートされているとき、すなわち、コプロセッサ12が正常なデータ処理を実行可能なとき、アンド回路AND2は、インバータIV1から論理1を受け、アクセス要求ENを命令メモリ14に伝達するバッファとして動作する。一方、キュープッシュリクエストQPREQが論理1にアサートされ、かつフル信号QFULが論理1にアサートされると、アンド回路AND2は、インバータIV1から論理0を受け、アクセス要求ENの命令メモリ14への伝達を禁止する。すなわち、メモリ制御部16は、キュープッシュリクエストQPREQの出力とフル信号QFULの出力とが重複することを検出したときに、アクセス要求ENの命令メモリ14への供給を禁止する禁止制御を実行する。アンド回路AND1、AND2およびインバータIV1は、禁止制御を実行するアクセス禁止回路の一例である。   When the full signal QFUL is negated to logic 0, that is, when the coprocessor 12 can execute normal data processing, the AND circuit AND2 receives the logic 1 from the inverter IV1 and sends the access request EN to the instruction memory 14. Acts as a buffer to communicate. On the other hand, when the queue push request QPREQ is asserted to the logic 1 and the full signal QFUL is asserted to the logic 1, the AND circuit AND2 receives the logic 0 from the inverter IV1 and transmits the access request EN to the instruction memory 14. Ban. That is, when the memory control unit 16 detects that the output of the queue push request QPREQ and the output of the full signal QFUL overlap, the memory control unit 16 executes prohibition control for prohibiting the supply of the access request EN to the instruction memory 14. The AND circuits AND1 and AND2 and the inverter IV1 are examples of access prohibition circuits that execute prohibition control.

また、メモリ制御部16は、アンド回路AND1の出力をビジー信号BUSYとしてプロセッサ10に出力する。ビジー信号BUSYは、論理1のときに有効になり、論理0のときに無効になる。論理1のビジー信号BUSYは、禁止制御の実行中を示す。図2では、データDTおよびアドレスADは、メモリ制御部16を介して伝達されているが、プロセッサ10と命令メモリ14の間で直接伝達されてもよい。   Further, the memory control unit 16 outputs the output of the AND circuit AND1 to the processor 10 as the busy signal BUSY. The busy signal BUSY is valid when the logic is 1, and is invalid when the logic is 0. A logic 1 busy signal BUSY indicates that prohibition control is being executed. In FIG. 2, the data DT and the address AD are transmitted via the memory control unit 16, but may be directly transmitted between the processor 10 and the instruction memory 14.

図3は、図2に示したデータ処理装置DPDの動作の例を示している。図3において、矩形枠は、対応する回路ブロック(命令メモリ14、メモリ制御部16、プロセッサ10、コプロセッサ12の各々)が処理を実行していることを示す。メモリ制御部16の動作において、斜線の矩形枠は、命令メモリ14のアクセスを禁止する禁止制御の期間を示している。網掛けの矩形枠は、プロセッサ10がストールしている期間を示している。   FIG. 3 shows an example of the operation of the data processing device DPD shown in FIG. In FIG. 3, a rectangular frame indicates that the corresponding circuit block (each of the instruction memory 14, the memory control unit 16, the processor 10, and the coprocessor 12) is executing processing. In the operation of the memory control unit 16, a hatched rectangular frame indicates a prohibition control period in which access to the instruction memory 14 is prohibited. A shaded rectangular frame indicates a period during which the processor 10 is stalled.

まず、プロセッサ10は、命令メモリ14に読み出し動作を実行させるために、命令メモリ14にアクセス要求EN(読み出し要求)およびアドレスADを出力する(図3(a))。命令メモリ14は、アクセス要求ENに応答して読み出し動作を実行し、読み出したデータDTをプロセッサ10に出力する(図3(b))。なお、図2に示したメモリ制御部16のアンド回路AND2は、インバータIV1から論理1を受けてバッファとして動作し、プロセッサ10からのアクセス要求ENを命令メモリ14に転送する。例えば、コプロセッサ12は、命令バッファ12aにキューデータQDTを保持していないときに、アイドル状態になる(図3(c))。   First, the processor 10 outputs an access request EN (read request) and an address AD to the instruction memory 14 in order to cause the instruction memory 14 to execute a read operation (FIG. 3A). The instruction memory 14 executes a read operation in response to the access request EN, and outputs the read data DT to the processor 10 (FIG. 3B). The AND circuit AND2 of the memory control unit 16 shown in FIG. 2 operates as a buffer in response to the logic 1 from the inverter IV1, and transfers the access request EN from the processor 10 to the instruction memory 14. For example, the coprocessor 12 enters an idle state when the queue data QDT is not held in the instruction buffer 12a (FIG. 3C).

プロセッサ10は、命令メモリ14から受けたデータDT(命令)を解析し、コプロセッサ12用の命令がデータDTに含まれているときに、コプロセッサ12にデータ処理を実行させる命令を含むキューデータQDTを生成する。そして、プロセッサ10は、コプロセッサ12にキューデータQDTおよびキュープッシュリクエストQPREQを出力する(図3(d))。コプロセッサ12は、キュープッシュリクエストQPREQに応答して、命令バッファ12aにキューデータQDTを格納する。   The processor 10 analyzes the data DT (instruction) received from the instruction memory 14 and, when the instruction for the coprocessor 12 is included in the data DT, queue data including an instruction that causes the coprocessor 12 to execute data processing. Generate QDT. Then, the processor 10 outputs the queue data QDT and the queue push request QPREQ to the coprocessor 12 (FIG. 3 (d)). In response to the queue push request QPREQ, the coprocessor 12 stores the queue data QDT in the instruction buffer 12a.

この後、上述と同様に、プロセッサ10による命令メモリ14のアクセスが実行され、命令メモリ14から読み出されるデータDTに基づいて生成されるキューデータQDTは、キュープッシュリクエストQPREQとともにコプロセッサ12に出力される(図3(e、f))。コプロセッサ12は、命令バッファ12aに格納された順に、キューデータQDTに対応するデータ処理を実行する。データ処理が完了したキューデータQDTは、例えば、最新のキューデータQDTを示すポインタを移動することで削除される。   Thereafter, as described above, access to the instruction memory 14 by the processor 10 is executed, and the queue data QDT generated based on the data DT read from the instruction memory 14 is output to the coprocessor 12 together with the queue push request QPREQ. (FIG. 3 (e, f)). The coprocessor 12 executes data processing corresponding to the queue data QDT in the order stored in the instruction buffer 12a. The queue data QDT for which data processing has been completed is deleted, for example, by moving the pointer indicating the latest queue data QDT.

プロセッサ10から供給される新たなキューデータQDTにより命令バッファ12aが一杯になったとき、コプロセッサ12は、フル信号QFULを論理1にアサートする(図3(g))。プロセッサ10は、コプロセッサ12から論理1のフル信号QFULを受けている間、通常動作状態からストール状態に遷移する(図3(h))。メモリ制御部16は、論理1のキュープッシュリクエストQPREQと論理1のフル信号QFULを受け、プロセッサ10から出力されるアクセス要求ENが命令メモリ14に供給されることを禁止する。すなわち、メモリ制御部16は、禁止制御を実行する(図3(i、j))。メモリ制御部16は、禁止制御の期間中、プロセッサ10にビジー信号BUSYを出力する(図3(k))。なお、メモリ制御部16は、キュープッシュリクエストQPREQの出力と、キュープッシュリクエストQPREQに対応するフル信号QFULの出力とを重複して検出するために、キュープッシュリクエストQPREQの論理を1クロックサイクルの間、保持してもよい。   When the instruction buffer 12a is filled with new queue data QDT supplied from the processor 10, the coprocessor 12 asserts the full signal QFUL to logic 1 (FIG. 3 (g)). While receiving the logic 1 full signal QFUL from the coprocessor 12, the processor 10 transitions from the normal operation state to the stall state (FIG. 3 (h)). The memory control unit 16 receives the logic 1 queue push request QPREQ and the logic 1 full signal QFUL, and prohibits the access request EN output from the processor 10 from being supplied to the instruction memory 14. That is, the memory control unit 16 executes prohibition control (FIG. 3 (i, j)). The memory control unit 16 outputs a busy signal BUSY to the processor 10 during the prohibition control period (FIG. 3 (k)). Note that the memory control unit 16 detects the logic of the queue push request QPREQ for one clock cycle in order to detect the output of the queue push request QPREQ and the output of the full signal QFUL corresponding to the queue push request QPREQ. , You may hold.

プロセッサ10は、ビジー信号BUSYに基づいて、禁止制御の期間中に出力したアクセス要求ENが無効であることを認識する。これにより、プロセッサ10は、命令メモリ14からのデータDTではないデータ線DT上の論理を、命令メモリ14からデータDTとして受けることを防止でき、プロセッサ10の誤動作を防止できる。なお、プロセッサ10は、ビジー信号BUSYの出力中に、アクセス要求ENの発行を停止してもよい。これにより、プロセッサ10の無駄な動作が抑制され、消費電力を削減できる。   Based on the busy signal BUSY, the processor 10 recognizes that the access request EN output during the prohibition control period is invalid. As a result, the processor 10 can prevent the logic on the data line DT that is not the data DT from the instruction memory 14 from being received as the data DT from the instruction memory 14, and can prevent the processor 10 from malfunctioning. Note that the processor 10 may stop issuing the access request EN while the busy signal BUSY is being output. Thereby, useless operation | movement of the processor 10 is suppressed and power consumption can be reduced.

コプロセッサ12は、データ処理が進行し、命令バッファ12aに空きが発生したときに、フル信号QFULを論理0にネゲートする(図3(l))。プロセッサ10は、論理0のフル信号QFULを受けて、ストール状態から通常動作状態に戻る(図3(m))。メモリ制御部16は、論理0のフル信号QFULを受けて、禁止制御を解除する(図3(n))。そして、プロセッサ10による命令メモリ14のアクセスが再び開始され、命令メモリ14から読み出されるデータDTに基づいて生成されるキューデータQDTは、キュープッシュリクエストQPREQとともにコプロセッサ12に出力される(図3(o、p))。   The coprocessor 12 negates the full signal QFUL to logic 0 when data processing proceeds and a space is generated in the instruction buffer 12a (FIG. 3 (l)). Upon receiving the logic 0 full signal QFUL, the processor 10 returns from the stall state to the normal operation state (FIG. 3 (m)). The memory control unit 16 receives the logic 0 full signal QFUL and cancels the inhibition control (FIG. 3 (n)). Then, access to the instruction memory 14 by the processor 10 is started again, and the queue data QDT generated based on the data DT read from the instruction memory 14 is output to the coprocessor 12 together with the queue push request QPREQ (FIG. 3 ( o, p)).

以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。特に、ストール中にアクセス要求ENを出力する汎用のプロセッサ10を使用するときにも、プロセッサ10から命令メモリ14への不要なアクセスを抑止でき、命令メモリ14およびデータ処理装置DPDの消費電力を削減できる。さらに、メモリ制御部16は、命令メモリ14のアクセスが禁止されている禁止制御の期間に、プロセッサ10にビジー信号BUSYを出力する。これにより、プロセッサ10は、データ線DT上のデータDTが命令メモリ14から読み出されていない誤ったデータであることを認識でき、誤動作を防止できる。さらに、ビジー信号BUSYの出力中に、アクセス要求ENの発行を停止することで、プロセッサ10の無駄な動作を抑制でき、消費電力を削減できる。   As described above, also in this embodiment, the same effect as that of the above-described embodiment can be obtained. In particular, even when using a general-purpose processor 10 that outputs an access request EN during a stall, unnecessary access from the processor 10 to the instruction memory 14 can be suppressed, and the power consumption of the instruction memory 14 and the data processing device DPD is reduced. it can. Further, the memory control unit 16 outputs a busy signal BUSY to the processor 10 during a prohibition control period in which access to the instruction memory 14 is prohibited. As a result, the processor 10 can recognize that the data DT on the data line DT is erroneous data that has not been read from the instruction memory 14, and can prevent malfunction. Furthermore, by stopping the issuance of the access request EN while the busy signal BUSY is being output, useless operations of the processor 10 can be suppressed and power consumption can be reduced.

図4は、別の実施形態におけるデータ処理装置DPDの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態のデータ処理装置DPDは、図2に示したプロセッサ10およびメモリ制御部16の代わりに、プロセッサ10Aおよびメモリ制御部16Aを有している。プロセッサ10Aおよびメモリ制御部16Aを除く構成は、図2と同様である。   FIG. 4 shows an example of a data processing device DPD in another embodiment. The same elements as those described in the above-described embodiment are denoted by the same reference numerals, and detailed description thereof will be omitted. The data processing device DPD of this embodiment has a processor 10A and a memory control unit 16A instead of the processor 10 and the memory control unit 16 shown in FIG. The configuration excluding the processor 10A and the memory control unit 16A is the same as that shown in FIG.

プロセッサ10Aは、割り込み要求IREQを受け、割り込み処理を実行する機能を図2に示したプロセッサ10に追加している。例えば、割り込み要求IREQは、コプロセッサ12のデータ処理に関連しない処理をプロセッサ10に実行させるときに、割り込み端子を介してプロセッサ10に供給される。メモリ制御部16Aは、マスク制御回路MSKCNT1およびアンド回路AND3を図2に示したメモリ制御部16に追加している。   The processor 10A receives the interrupt request IREQ and adds a function for executing interrupt processing to the processor 10 shown in FIG. For example, the interrupt request IREQ is supplied to the processor 10 via the interrupt terminal when causing the processor 10 to execute processing not related to the data processing of the coprocessor 12. The memory control unit 16A adds a mask control circuit MSKCNT1 and an AND circuit AND3 to the memory control unit 16 shown in FIG.

例えば、マスク制御回路MSKCNT1は、プロセッサ10Aから出力されるアドレスADの最上位ビットMSBと最上位ビットMSBから2番目のビットMSB−1を受けるオア回路OR1を有している。ここで、ビットMSB、MSB−1は、命令メモリ14に割り当てられるアドレスADの最上位の2ビットである。マスク制御回路MSKCNT1は、ビットMSB、MSB−1のいずれかが論理1のときにマスク信号/MSKを論理1にネゲートし、ビットMSB、MSB−1の両方が論理0のときにマスク信号/MSKを論理0にアサートする。   For example, the mask control circuit MSKCNT1 has an OR circuit OR1 that receives the most significant bit MSB of the address AD output from the processor 10A and the second bit MSB-1 from the most significant bit MSB. Here, the bits MSB and MSB-1 are the most significant 2 bits of the address AD assigned to the instruction memory 14. Mask control circuit MSKCNT1 negates mask signal / MSK to logic 1 when either bit MSB or MSB-1 is logic 1, and mask signal / MSK when both bits MSB and MSB-1 are logic 0. Is asserted to logic zero.

すなわち、命令メモリ14のメモリ領域の上位の4分の3がアクセスされるときにマスク信号/MSKはネゲートされ、命令メモリ14のメモリ領域の下位の4分の1がアクセスされるとき、マスク信号/MSKはアサートされる。なお、オア回路OR1で受けるアドレスADの上位ビットの数を増やして、マスク信号/MSKがアサートされるメモリ領域を小さくしてもよい。   That is, the mask signal / MSK is negated when the upper third quarter of the memory area of the instruction memory 14 is accessed, and the mask signal when the lower quarter of the memory area of the instruction memory 14 is accessed. / MSK is asserted. Note that the memory area where the mask signal / MSK is asserted may be reduced by increasing the number of upper bits of the address AD received by the OR circuit OR1.

アンド回路AND3は、論理0のマスク信号/MSKを受けているときにアンド回路AND1の状態に拘わらずインバータIV1の出力を論理1に設定することで、上述した禁止制御をマスクする。アンド回路AND3は、論理1のマスク信号/MSKを受けているときにアンド回路AND1からの論理1がインバータIV1に伝達されることを許可することで、禁止制御を許可する。アンド回路AND3は、アクセス要求ENを命令メモリ14に供給するために、マスク信号/MSKがアサートされているときに禁止制御をマスクするマスク回路の一例である。   The AND circuit AND3 masks the inhibition control described above by setting the output of the inverter IV1 to logic 1 regardless of the state of the AND circuit AND1 when receiving the mask signal / MSK of logic 0. The AND circuit AND3 permits the inhibition control by permitting the logic 1 from the AND circuit AND1 to be transmitted to the inverter IV1 when receiving the logic 1 mask signal / MSK. The AND circuit AND3 is an example of a mask circuit that masks prohibition control when the mask signal / MSK is asserted in order to supply the access request EN to the instruction memory 14.

図5は、図4に示した命令メモリ14のアドレス空間の例を示している。例えば、命令メモリ14は、データ処理装置DPDで使用されるアドレス空間AS内に割り当てられた512kB(kilobyte)の記憶領域を有しており、19ビットのアドレス信号AD18−AD0を使用してアクセスされる。図5に示したアドレスADは、16進数であり、”x”は、任意の値を示している。   FIG. 5 shows an example of the address space of the instruction memory 14 shown in FIG. For example, the instruction memory 14 has a 512 kB (kilobyte) storage area allocated in the address space AS used in the data processing device DPD, and is accessed using 19-bit address signals AD18-AD0. The The address AD shown in FIG. 5 is a hexadecimal number, and “x” indicates an arbitrary value.

この実施形態では、ビットMSB、MSB−1に対応するビットAD18、AD17がともに論理0である128kBの記憶領域は、割り込み処理で使用される命令が格納される割り込み命令領域に割り当てられている。割り込み命令領域は、割り込みベクタが格納されるベクタ領域と、割り込み処理プログラムである割り込みハンドラとが格納されるハンドラ領域を含んでいる。割り込みベクタは、割り込みハンドラが格納されている先頭アドレスを示す。ビットAD18、AD17のいずれかが論理1である384kBの記憶領域は、通常動作で使用される命令が格納される通常命令領域に割り当てられている。   In this embodiment, the 128 kB storage area in which the bits AD18 and AD17 corresponding to the bits MSB and MSB-1 are both logic 0 is assigned to an interrupt instruction area in which an instruction used in interrupt processing is stored. The interrupt instruction area includes a vector area in which an interrupt vector is stored and a handler area in which an interrupt handler that is an interrupt processing program is stored. The interrupt vector indicates the start address where the interrupt handler is stored. A storage area of 384 kB in which either bit AD18 or AD17 is logic 1 is allocated to a normal instruction area in which instructions used in normal operation are stored.

この実施形態では、図6に示すように、メモリ制御部16Aは、キュープッシュリクエストQPREQとフル信号QFULとが重複して出力される禁止制御の期間中にも、割り込み命令領域がアクセスされるときに禁止制御がマスクされる。   In this embodiment, as shown in FIG. 6, the memory control unit 16 </ b> A receives the interrupt instruction area even during the prohibition control period in which the queue push request QPREQ and the full signal QFUL are output in duplicate. The prohibition control is masked.

図6は、図4に示したデータ処理装置DPDの動作の例を示している。図3と同じ動作については、詳細な説明は省略する。図3と同様に、斜線の矩形枠は禁止制御の期間を示し、網掛けの矩形枠はプロセッサ10のストール期間を示している。黒い矩形枠は、割り込み処理を実行している期間を示している。割り込み処理を実行している期間を除く動作は、図3と同様である。   FIG. 6 shows an example of the operation of the data processing device DPD shown in FIG. Detailed descriptions of the same operations as those in FIG. 3 are omitted. As in FIG. 3, the hatched rectangular frame indicates the prohibition control period, and the shaded rectangular frame indicates the stall period of the processor 10. A black rectangular frame indicates a period during which interrupt processing is executed. The operation excluding the period during which the interrupt process is executed is the same as that in FIG.

プロセッサ10は、禁止制御の期間中に割り込み要求IREQを受けると、図5に示したベクタ領域にアクセスするために、アドレス信号ADとともにアクセス要求ENを出力する(図6(a))。アドレス信号ADは、ベクタ領域を示すため、メモリ制御部16Aは、マスク信号/MSKをアサートし、インバータIV1の出力を論理1に設定する。これにより、アンド回路AND1が論理1を出力する禁止制御期間においても、プロセッサ10からのアクセス要求ENは命令メモリ14に供給される(図6(b))。この後、プロセッサ10は、命令メモリ14のハンドラ領域にアクセスし、割り込み処理を実行する(図6(c))。   When receiving the interrupt request IREQ during the prohibition control period, the processor 10 outputs an access request EN together with the address signal AD in order to access the vector area shown in FIG. 5 (FIG. 6A). Since address signal AD indicates a vector area, memory control unit 16A asserts mask signal / MSK and sets the output of inverter IV1 to logic 1. As a result, even during the prohibition control period in which the AND circuit AND1 outputs logic 1, the access request EN from the processor 10 is supplied to the instruction memory 14 (FIG. 6B). Thereafter, the processor 10 accesses the handler area of the instruction memory 14 and executes interrupt processing (FIG. 6C).

図6に示す例では、黒い矩形枠で示す割り込み処理の終了後、コプロセッサ12は、命令バッファ12aが空いたことに応答してフル信号QFULを論理0に設定する(図6(d))。この後、図3と同様に、プロセッサ10による命令メモリ14のアクセスが再び開始され、読み出しデータDTに基づいて生成されるキューデータQDTは、キュープッシュリクエストQPREQとともにコプロセッサ12に出力される(図6(e、f))。   In the example shown in FIG. 6, after completion of the interrupt process indicated by the black rectangular frame, the coprocessor 12 sets the full signal QFUL to logic 0 in response to the instruction buffer 12a being free (FIG. 6 (d)). . Thereafter, similarly to FIG. 3, the processor 10 starts to access the instruction memory 14 again, and the queue data QDT generated based on the read data DT is output to the coprocessor 12 together with the queue push request QPREQ (FIG. 3). 6 (e, f)).

なお、コプロセッサ12は、割り込み処理の実行中に命令バッファ12aに空きが発生したときに、フル信号QFULを論理0にネゲートしてもよい。このとき、プロセッサ10は、割り込み処理中にフル信号QFULを受けてストール状態から通常動作状態に戻り、割り込み処理の終了後に通常動作による命令メモリ14のアクセスを開始する。   The coprocessor 12 may negate the full signal QFUL to logic 0 when the instruction buffer 12a becomes empty during execution of interrupt processing. At this time, the processor 10 receives the full signal QFUL during the interrupt process, returns from the stalled state to the normal operation state, and starts accessing the instruction memory 14 by the normal operation after the end of the interrupt process.

以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、メモリ制御部16Aにより、命令メモリ14の所定の領域がアクセスされるときに禁止制御をマスクすることで、プロセッサ10は、禁止制御の期間中に命令メモリ14にアクセスできる。これにより、例えば、コプロセッサ12のデータ処理に関連しない処理を実行するときに、禁止制御の期間中であっても命令メモリ14にアクセスでき、データ処理装置DPDの性能が低下することを防止できる。ここで、コプロセッサ12のデータ処理に関連しない処理は、例えば、割り込み処理である。   As described above, also in this embodiment, the same effect as that of the above-described embodiment can be obtained. Further, by masking prohibition control when a predetermined area of the instruction memory 14 is accessed by the memory control unit 16A, the processor 10 can access the instruction memory 14 during the prohibition control period. Thereby, for example, when executing processing not related to the data processing of the coprocessor 12, it is possible to access the instruction memory 14 even during the prohibition control period, and to prevent the performance of the data processing device DPD from deteriorating. . Here, the processing not related to the data processing of the coprocessor 12 is, for example, interrupt processing.

図7は、別の実施形態におけるデータ処理装置DPDの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態のデータ処理装置DPDは、図2に示したプロセッサ10およびメモリ制御部16の代わりに、プロセッサ10Bおよびメモリ制御部16Bを有している。プロセッサ10Bおよびメモリ制御部16Bを除く構成は、図2と同様である。   FIG. 7 shows an example of a data processing device DPD in another embodiment. The same elements as those described in the above-described embodiment are denoted by the same reference numerals, and detailed description thereof will be omitted. The data processing device DPD of this embodiment has a processor 10B and a memory control unit 16B instead of the processor 10 and the memory control unit 16 shown in FIG. The configuration excluding the processor 10B and the memory control unit 16B is the same as that shown in FIG.

プロセッサ10Bは、割り込み要求IREQを受け、割り込み処理を実行する機能とレジスタREGとを、図2に示したプロセッサ10に追加している。割り込み処理を実行する機能は、図4に示したプロセッサ10Aと同様である。レジスタREGは、例えば、I/O空間に割り当てられている。レジスタREGは、上述した禁止制御をマスクして、禁止制御中にもアクセス可能な命令メモリ14の記憶領域を指定するための制御ビットMC(MC2、MC1、MC0)を書き換え可能に保持する。換言すれば、レジスタREGの制御ビットMCは、命令メモリ14内の所定の記憶領域を示す情報を書き換え可能に保持する。   The processor 10B receives an interrupt request IREQ and adds a function for executing interrupt processing and a register REG to the processor 10 shown in FIG. The function of executing the interrupt process is the same as that of the processor 10A shown in FIG. The register REG is assigned to, for example, an I / O space. The register REG masks the prohibition control described above and holds the control bits MC (MC2, MC1, MC0) for designating a storage area of the instruction memory 14 that can be accessed even during the prohibition control. In other words, the control bit MC of the register REG holds information indicating a predetermined storage area in the instruction memory 14 in a rewritable manner.

メモリ制御部16Bは、マスク制御回路MSKCNT2、オア回路OR2およびアンド回路AND3を図2に示したメモリ制御部16に追加している。マスク制御回路MSKCNT2は、プロセッサ10Bから出力されるアドレスADのうち上位の8ビットAD18−AD11の値と、制御ビットMC2−MC0の値とを受け、8ビットのマスクアドレスビットMAD(MAD18−MAD11)を出力する。オア回路OR2は、マスクアドレスビットMAD18−MAD11のいずれかが論理1のときにマスク信号/MSKを論理1にネゲートし、全てのマスクアドレスビットMAD18−MAD11が論理0のときにマスク信号/MSKを論理0にアサートする。アンド回路AND1、AND2、AND3およびインバータIV1の動作は、図4と同じである。   The memory control unit 16B adds a mask control circuit MSKCNT2, an OR circuit OR2, and an AND circuit AND3 to the memory control unit 16 shown in FIG. The mask control circuit MSKCNT2 receives the value of the upper 8 bits AD18 to AD11 and the value of the control bits MC2 to MC0 in the address AD output from the processor 10B, and receives 8 bits of mask address bits MAD (MAD18 to MAD11). Is output. The OR circuit OR2 negates the mask signal / MSK to logic 1 when any of the mask address bits MAD18 to MAD11 is logic 1, and outputs the mask signal / MSK when all the mask address bits MAD18 to MAD11 are logic 0. Assert to logic zero. The operations of the AND circuits AND1, AND2, AND3 and the inverter IV1 are the same as those in FIG.

命令メモリ14は、図5と同様に、データ処理装置DPDで使用されるアドレス空間AS内に割り当てられた512kB(kilobyte)の記憶領域を有しており、19ビットのアドレス信号AD18−AD0を使用してアクセスされる。   The instruction memory 14 has a storage area of 512 kB (kilobyte) allocated in the address space AS used by the data processing device DPD, and uses 19-bit address signals AD18-AD0, as in FIG. And accessed.

図8は、図7に示したマスク制御回路MSKCNT2の例を示している。マスク制御回路MSKCNT2は、マスクデコーダMSKDECおよびマスクイネーブル回路MSKENを有している。マスクデコーダMSKDECは、制御ビットMC2−MC0の値に応じて8ビットのマスクビットMB(MB18−MB11)の論理を設定する。   FIG. 8 shows an example of the mask control circuit MSKCNT2 shown in FIG. The mask control circuit MSKCNT2 has a mask decoder MSKDEC and a mask enable circuit MSKEN. Mask decoder MSKDEC sets the logic of 8-bit mask bits MB (MB18-MB11) according to the values of control bits MC2-MC0.

マスクデコーダMSKDECは、制御ビットMC2−MC0が示す値(0から7)に1を加えた数だけ、マスクビットMB18−MB11を上位側から論理1に設定する。例えば、制御ビットMC2−MC0が”001”(10進数の1)のとき、2ビットのマスクビットMB18、MB17は論理1に設定され、他のマスクビットMB16−MB11は論理1に設定される。制御ビットMC2−MC0が”100”(10進数の4)のとき、5ビットのマスクビットMB18−MB14は論理1に設定され、他のマスクビットMB13−MB11は論理0に設定される。   The mask decoder MSKDEC sets the mask bits MB18 to MB11 to logic 1 from the upper side by the number obtained by adding 1 to the value (0 to 7) indicated by the control bits MC2 to MC0. For example, when the control bits MC2-MC0 are “001” (decimal number 1), the 2-bit mask bits MB18 and MB17 are set to logic 1, and the other mask bits MB16 to MB11 are set to logic 1. When the control bits MC2-MC0 are "100" (decimal number 4), the 5-bit mask bits MB18-MB14 are set to logic 1, and the other mask bits MB13-MB11 are set to logic 0.

マスクイネーブル回路MSKENは、アドレスAD18−AD11に対応する9個のアンド回路を有している。各アンド回路は、互いに同じ番号のアドレスADおよびマスクビットMBを受け、マスクアドレスビットMADを出力する。各アンド回路は、マスクビットMBが論理1のとき、アドレス信号ADと同じ論理を有するマスクアドレスビットMADを出力し、マスクビットMBが論理0のとき、マスクアドレスビットMADを論理0に設定する。   The mask enable circuit MSKEN has nine AND circuits corresponding to the addresses AD18 to AD11. Each AND circuit receives an address AD and a mask bit MB having the same number, and outputs a mask address bit MAD. Each AND circuit outputs a mask address bit MAD having the same logic as the address signal AD when the mask bit MB is logic 1, and sets the mask address bit MAD to logic 0 when the mask bit MB is logic 0.

例えば、制御ビットMC2−MC0が”001”のとき、マスクビットMB16−MB11は論理0に設定されるため、マスクアドレスビットMAD16−MAD11は論理0に固定される。マスクビットMB18、MB17は論理1に設定されるため、マスクアドレスビットMAD18、MAD17は、アドレスAD18、AD17と同じ論理に設定される。したがって、アドレスAD18、AD17のいずれかが論理1のときにマスクアドレスビットMAD18、MAD17のいずれかは論理1に設定され、マスク信号/MSKは論理1にネゲートされる。アドレスAD18、AD17の両方が論理0のときに全てのマスクアドレスビットMAD18−MAD11は論理0に設定され、マスク信号/MSKは論理0にアサートされる。これにより、図5と同様に、命令メモリ14において128kBの記憶領域を、禁止制御中にアクセス可能な領域に設定できる。   For example, when the control bits MC2 to MC0 are “001”, the mask bits MB16 to MB11 are set to logic 0, so that the mask address bits MAD16 to MAD11 are fixed to logic 0. Since the mask bits MB18 and MB17 are set to logic 1, the mask address bits MAD18 and MAD17 are set to the same logic as the addresses AD18 and AD17. Therefore, when either address AD18 or AD17 is logic 1, either mask address bit MAD18 or MAD17 is set to logic 1, and mask signal / MSK is negated to logic 1. When both addresses AD18 and AD17 are logic 0, all mask address bits MAD18-MAD11 are set to logic 0, and the mask signal / MSK is asserted to logic 0. As a result, as in FIG. 5, the 128 kB storage area in the instruction memory 14 can be set as an accessible area during prohibition control.

制御ビットMC2−0の値は、命令メモリ14において禁止制御中にアクセス可能な領域の大きさを示している。例えば、制御ビットMC2−0が10進数で”0”のとき、256kBが禁止制御中にアクセス可能な領域として設定され、制御ビットMC2−0が10進数で”2”のとき、64kBが禁止制御中にアクセス可能な領域として設定される。制御ビットMC2−0が10進数で”3”のとき、32kBが禁止制御中にアクセス可能な領域として設定され、制御ビットMC2−0が10進数で”4”のとき、16kBが禁止制御中にアクセス可能な領域として設定される。   The value of the control bit MC2-0 indicates the size of an area that can be accessed in the instruction memory 14 during prohibition control. For example, when the control bit MC2-0 is a decimal number “0”, 256 kB is set as an accessible area during prohibition control, and when the control bit MC2-0 is a decimal number “2”, 64 kB is prohibited control. It is set as an accessible area inside. When the control bit MC2-0 is “3” in decimal, 32 kB is set as an accessible area during prohibition control, and when the control bit MC2-0 is “4” in decimal, 16 kB is in prohibition control. Set as an accessible area.

同様に、制御ビットMC2−0が10進数で”5”のとき、8kBが禁止制御中にアクセス可能な領域として設定され、制御ビットMC2−0が10進数で”6”のとき、4kBが禁止制御中にアクセス可能な領域として設定され、制御ビットMC2−0が10進数で”7”のとき、2kBが禁止制御中にアクセス可能な領域として設定される。このように、図5に示した割り込み命令領域の大きさを、レジスタREGの制御ビットMC2−MC0に設定される値に応じて変更できる。   Similarly, when the control bit MC2-0 is decimal number “5”, 8 kB is set as an accessible area during the prohibition control, and when the control bit MC2-0 is decimal number “6”, 4 kB is prohibited. When the control bit MC2-0 is a decimal number “7”, 2 kB is set as an accessible area during prohibition control. Thus, the size of the interrupt instruction area shown in FIG. 5 can be changed according to the value set in the control bits MC2 to MC0 of the register REG.

以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、禁止制御中にアクセス可能な命令メモリ14の記憶領域をレジスタREGの値に応じて任意に設定できる。これにより、様々な仕様のデータ処理装置DPDの各々について、例えば、割り込み命令領域の大きさを最適に設定できる。   As described above, also in this embodiment, the same effect as that of the above-described embodiment can be obtained. Furthermore, the storage area of the instruction memory 14 that can be accessed during prohibition control can be arbitrarily set according to the value of the register REG. Thereby, for example, the size of the interrupt instruction area can be optimally set for each of the data processing devices DPD having various specifications.

図9は、別の実施形態におけるデータ処理装置DPDの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態のデータ処理装置DPDは、図2示したプロセッサ10およびメモリ制御部16の代わりに、プロセッサ10Cおよびメモリ制御部16Cを有している。プロセッサ10Cおよびメモリ制御部16Cを除く構成は、図2と同様である。   FIG. 9 shows an example of a data processing device DPD in another embodiment. The same elements as those described in the above-described embodiment are denoted by the same reference numerals, and detailed description thereof will be omitted. The data processing device DPD of this embodiment has a processor 10C and a memory control unit 16C instead of the processor 10 and the memory control unit 16 shown in FIG. The configuration excluding the processor 10C and the memory control unit 16C is the same as that shown in FIG.

プロセッサ10Cは、割り込み要求IREQを受け、割り込み処理を実行する機能とレジスタREGとを、図2に示したプロセッサ10に追加して形成されている。割り込み処理を実行する機能は、図4に示したプロセッサ10Aと同様である。レジスタREGは、例えば、I/O空間に割り当てられており、書き換え可能な制御ビットCONを有している。制御ビットCONは、禁止制御をマスクし、禁止制御中にも命令メモリ14を強制的にアクセス可能にするときに論理0に設定され、禁止制御をマスクしないときに論理1に設定される。   The processor 10C is formed by adding a function for receiving an interrupt request IREQ and executing interrupt processing and a register REG to the processor 10 shown in FIG. The function of executing the interrupt process is the same as that of the processor 10A shown in FIG. The register REG is assigned to, for example, an I / O space and has a rewritable control bit CON. The control bit CON masks prohibition control and is set to logic 0 when the instruction memory 14 is forcibly accessible even during prohibition control, and is set to logic 1 when the prohibition control is not masked.

メモリ制御部16Cは、図4に示したマスク制御回路MSKCNT1の代わりにマスク制御回路MSKCNT3を有している。また、メモリ制御部16Cは、インバータIV2、オア回路OR3およびアンド回路AND4を図4に示したメモリ制御部16Aに追加して形成されている。   The memory control unit 16C has a mask control circuit MSKCNT3 instead of the mask control circuit MSKCNT1 shown in FIG. The memory control unit 16C is formed by adding an inverter IV2, an OR circuit OR3, and an AND circuit AND4 to the memory control unit 16A shown in FIG.

例えば、マスク制御回路MSKCNT3は、プロセッサ10Aから出力されるアドレスADの最上位から7ビット(MSB、MSB−1、MSB−2、...、MSB−6)を受けるオア回路OR4を有している。マスク制御回路MSKCNT3は、オア回路OR4で受けるビット値のいずれかが論理1のときにマスク信号/MSKを論理1にネゲートし、オア回路OR4で受ける全てのビット値が論理0のときにマスク信号/MSKを論理0にネゲートする。これにより、図10に示すように、禁止制御中にアクセス可能な4kBの領域(例えば、割り込み命令領域)を命令メモリ14に割り当てることができる。   For example, the mask control circuit MSKCNT3 has an OR circuit OR4 that receives 7 bits (MSB, MSB-1, MSB-2,..., MSB-6) from the most significant address AD output from the processor 10A. Yes. Mask control circuit MSKCNT3 negates mask signal / MSK to logic 1 when any of the bit values received by OR circuit OR4 is logic 1, and mask signal when all the bit values received by OR circuit OR4 are logic 0 / MSK is negated to logic zero. As a result, as shown in FIG. 10, a 4 kB area (for example, an interrupt instruction area) accessible during prohibition control can be allocated to the instruction memory 14.

インバータIV2は、制御ビットCONの論理を反転してオア回路OR3に出力する。オア回路OR3は、インバータIV1、IV2の出力のいずれかが論理1のときに論理1をアンド回路AND2に出力し、インバータIV1、IV2の出力の両方が論理0のときに、論理0をアンド回路AND2に出力する。換言すれば、オア回路OR3は、マスク信号/MSK、制御ビットCON、フル信号QFULのいずれかが論理0のときに、プロセッサ10Cからのアクセス要求ENを命令メモリ14に供給を許可するために論理1を出力する。また、オア回路3は、マスク信号/MSK、制御ビットCON、フル信号QFULが全て論理1のときに、プロセッサ10Cからのアクセス要求ENの命令メモリ14への供給を禁止するために論理1を出力する。換言すれば、オア回路OR3は、フル信号QFULが論理1にアサートされていても、マスク信号/MSKまたは制御ビットCONのいずれかが論理0のときに、禁止制御をマスクし、プロセッサ10Cからのアクセス要求ENを命令メモリ14に供給するために論理1を出力する。   The inverter IV2 inverts the logic of the control bit CON and outputs it to the OR circuit OR3. The OR circuit OR3 outputs a logic 1 to the AND circuit AND2 when either of the outputs of the inverters IV1 and IV2 is a logic 1, and outputs a logic 0 when both of the outputs of the inverters IV1 and IV2 are a logic 0. Output to AND2. In other words, the OR circuit OR3 performs logic to permit the access request EN from the processor 10C to be supplied to the instruction memory 14 when any one of the mask signal / MSK, the control bit CON, and the full signal QFUL is logic 0. 1 is output. The OR circuit 3 outputs a logic 1 to inhibit the access request EN from the processor 10C from being supplied to the instruction memory 14 when the mask signal / MSK, the control bit CON, and the full signal QFUL are all logic 1. To do. In other words, the OR circuit OR3 masks the inhibition control when either the mask signal / MSK or the control bit CON is logic 0 even if the full signal QFUL is asserted to logic 1, and A logic 1 is output to supply the access request EN to the instruction memory 14.

アンド回路AND4は、制御ビットCONが論理0に設定されているときに、フル信号QFULの論理1への変化に応答してビジー信号BUSYが論理1に設定されることをマスクする。これにより、制御ビットCONにより、命令メモリ14を強制的にアクセス可能にするときに、プロセッサ10Cにビジー信号BUSYが出力されることを防止できる。   The AND circuit AND4 masks that the busy signal BUSY is set to logic 1 in response to the change of the full signal QFUL to logic 1 when the control bit CON is set to logic 0. Thereby, when the instruction memory 14 is forcibly made accessible by the control bit CON, it is possible to prevent the busy signal BUSY from being output to the processor 10C.

図10は、図9に示した命令メモリ14のアドレス空間の例を示している。図5と同じ要素については、詳細な説明は省略する。命令メモリ14は、図5と同様に、512kBの記憶領域を有しており、19ビットのアドレス信号AD18−AD0を使用してアクセスされる。図9に示した7個のビット値MSB、MSB−1、MSB−2、...、MSB−6は、アドレスAD18−AD12である。この例では、割り込み命令領域は、制御ビットCONを論理1から論理0に設定する命令および割り込みベクタが格納されるベクタ領域のみに使用され、4kBに割り当てられている。通常命令領域は、残りの508kBに割り当てられている。また、通常命令領域の一部は、割り込みハンドラが格納されるハンドラ領域として使用される。   FIG. 10 shows an example of the address space of the instruction memory 14 shown in FIG. Detailed description of the same elements as those in FIG. 5 is omitted. As in FIG. 5, the instruction memory 14 has a 512 kB storage area and is accessed using 19-bit address signals AD18-AD0. The seven bit values MSB, MSB-1, MSB-2,..., MSB-6 shown in FIG. 9 are addresses AD18-AD12. In this example, the interrupt instruction area is used only for a vector area in which an instruction for setting the control bit CON from logic 1 to logic 0 and an interrupt vector are stored, and is allocated to 4 kB. The normal instruction area is allocated to the remaining 508 kB. A part of the normal instruction area is used as a handler area in which an interrupt handler is stored.

この実施形態では、キュープッシュリクエストQPREQとフル信号QFULとが重複して出力される禁止制御の期間に割り込み要求IREQが発生するとき、図6と同様に、マスク信号/MSKがアサートされ、割り込み命令領域がアクセス可能になる。プロセッサ10Cは、制御ビットCONを論理1から論理0に設定する命令およびハンドラ領域を示す割り込みベクタを命令メモリ14から読み出す。制御ビットCONが論理0に設定されることで、禁止制御の期間中に通常命令領域のアクセスが可能になり、プロセッサ10Cは、通常命令領域に格納されている割り込みハンドラを実行できる。割り込みハンドラは、割り込み処理を終了するときに、制御ビットCONを論理0から論理1に設定する。これにより、割り込み処理の終了後、通常命令領域は、禁止制御の期間中にアクセスが禁止される。この結果、命令メモリ14の不要なアクセスを抑止でき、消費電力を削減できる。   In this embodiment, when the interrupt request IREQ is generated during the prohibition control period in which the queue push request QPREQ and the full signal QFUL are output in duplicate, the mask signal / MSK is asserted as in FIG. The area becomes accessible. The processor 10C reads from the instruction memory 14 an interrupt vector indicating an instruction for setting the control bit CON from logic 1 to logic 0 and a handler area. When the control bit CON is set to logic 0, the normal instruction area can be accessed during the prohibition control period, and the processor 10C can execute the interrupt handler stored in the normal instruction area. The interrupt handler sets the control bit CON from logic 0 to logic 1 when ending the interrupt processing. As a result, the access to the normal instruction area is prohibited during the prohibition control period after the interruption process is completed. As a result, unnecessary access to the instruction memory 14 can be suppressed and power consumption can be reduced.

以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、データ処理装置DPDに、制御ビットCONにより禁止制御を強制的にマスクして、命令メモリ14にアクセスする機能を追加することで、割り込みハンドラを命令メモリ14の任意の領域に格納できる。この結果、命令メモリ14に格納されるプログラムの割り当ての自由度が向上する。   As described above, also in this embodiment, the same effect as that of the above-described embodiment can be obtained. Furthermore, the interrupt handler can be stored in an arbitrary area of the instruction memory 14 by adding a function of forcibly masking the prohibition control by the control bit CON and accessing the instruction memory 14 in the data processing device DPD. As a result, the degree of freedom in assigning programs stored in the instruction memory 14 is improved.

図11は、別の実施形態におけるデータ処理装置DPDの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態のデータ処理装置DPDは、図2示したプロセッサ10およびメモリ制御部16の代わりに、プロセッサ10Dおよびメモリ制御部16Dを有している。プロセッサ10Dおよびメモリ制御部16Dを除く構成は、図2と同様である。   FIG. 11 shows an example of a data processing device DPD in another embodiment. The same elements as those described in the above-described embodiment are denoted by the same reference numerals, and detailed description thereof will be omitted. The data processing device DPD of this embodiment has a processor 10D and a memory control unit 16D instead of the processor 10 and the memory control unit 16 shown in FIG. The configuration excluding the processor 10D and the memory control unit 16D is the same as that in FIG.

プロセッサ10Dは、図7および図9に示したレジスタREGの機能を融合したレジスタREGを図2に示したプロセッサ10に追加している。割り込み処理を実行する機能は、図4に示したプロセッサ10Aと同様である。すなわち、レジスタREGは、例えば、I/O空間に割り当てられており、書き換え可能に保持される制御ビットMC2、MC1、MC0、CONを有している。   The processor 10D adds a register REG, which is a combination of the functions of the register REG shown in FIGS. 7 and 9, to the processor 10 shown in FIG. The function of executing the interrupt process is the same as that of the processor 10A shown in FIG. That is, the register REG has, for example, control bits MC2, MC1, MC0, and CON that are allocated to the I / O space and are held so as to be rewritable.

メモリ制御部16Dは、図9に示したマスク制御回路MSKCNT3の代わりに図7に示したマスク制御回路MSKCNT2を有している。メモリ制御部16Dのその他の構成は、図9に示したメモリ制御部16Cと同じである。以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。   The memory control unit 16D has a mask control circuit MSKCNT2 shown in FIG. 7 instead of the mask control circuit MSKCNT3 shown in FIG. Other configurations of the memory control unit 16D are the same as those of the memory control unit 16C illustrated in FIG. As described above, also in this embodiment, the same effect as that of the above-described embodiment can be obtained.

図12は、上述したデータ処理装置DPDが搭載されるシステムSYSの例を示している。システムSYSは、例えば、携帯電話等の組み込み型の通信機器であり、アンテナANT、高周波回路RF、アナログデジタル変換器A/D、データ処理装置DPD、プロセッサPROCおよび入出力部I/Oを有している。   FIG. 12 shows an example of a system SYS on which the above-described data processing device DPD is mounted. The system SYS is, for example, a built-in communication device such as a mobile phone, and includes an antenna ANT, a high-frequency circuit RF, an analog-digital converter A / D, a data processing device DPD, a processor PROC, and an input / output unit I / O. ing.

高周波回路RFは、アンテナANTを介して受信する高周波信号から必要な周波数成分を取り出し、ベースバンド信号としてアナログデジタル変換器A/Dに出力する。アナログデジタル変換器A/Dは、アナログのベースバンド信号をデジタル信号に変換する。高周波回路RFおよびアナログデジタル変換器A/Dは、コプロセッサが実行するデータ処理用のデータをデータ処理装置DPDに出力する第1データ処理部の一例である。   The high-frequency circuit RF extracts a necessary frequency component from the high-frequency signal received via the antenna ANT and outputs it as a baseband signal to the analog / digital converter A / D. The analog-digital converter A / D converts an analog baseband signal into a digital signal. The high-frequency circuit RF and the analog-digital converter A / D are an example of a first data processing unit that outputs data for data processing executed by the coprocessor to the data processing device DPD.

データ処理装置DPDは、例えば、ベースバンド処理用の回路として動作し、DSP(Digital Signal Processor)の一部として、DSPチップ内に形成されている。データ処理装置DPDは、上述した構成に加えて、処理するデータや、中間データが格納されるDRAMを有している。なお、DRAMは、データ処理装置DPDの外部に配置されてもよい。データ処理装置DPDは、アナログデジタル変換器A/Dから供給されるベースバンド信号を復調し、アンテナANTで受けた信号に含まれているデータを取得する。   The data processing device DPD operates as a circuit for baseband processing, for example, and is formed in the DSP chip as a part of a DSP (Digital Signal Processor). In addition to the above-described configuration, the data processing device DPD has a DRAM in which data to be processed and intermediate data are stored. The DRAM may be arranged outside the data processing device DPD. The data processing device DPD demodulates the baseband signal supplied from the analog / digital converter A / D, and acquires data contained in the signal received by the antenna ANT.

プロセッサPROCは、データ処理装置DPDにより取得されたデータに対応する処理を実行するアプリケーション用のプロセッサである。例えば、プロセッサPROCは、音声データを再生するためのデコード処理や、画像データを再生するためのデコード処理を実行する。なお、音声データのデコード処理と、画像データのデコード処理とをそれぞれ実行する複数のプロセッサPROGが形成されてもよい。プロセッサPROCは、コプロセッサが実行するデータ処理により生成されるデータを処理する第2データ処理部の一例である。なお、音声データのデコード処理と、画像データのデコード処理とをそれぞれ実行する複数のプロセッサPROGが形成されてもよい。   The processor PROC is a processor for an application that executes processing corresponding to the data acquired by the data processing device DPD. For example, the processor PROC executes a decoding process for reproducing audio data and a decoding process for reproducing image data. Note that a plurality of processors PROG that respectively perform audio data decoding processing and image data decoding processing may be formed. The processor PROC is an example of a second data processing unit that processes data generated by data processing executed by the coprocessor. Note that a plurality of processors PROG that respectively perform audio data decoding processing and image data decoding processing may be formed.

入出力部I/Oは、プロセッサPROCによりデコードされる画像データを表示するディスプレイ、プロセッサPROGによりデコードされる音声データを出力するスピーカー、入力キー、カメラ等のユーザインタフェース部である。上述した実施形態のデータ処理装置DPDをシステムSYSに搭載することで、システムSYSの消費電力を削減できる。特に、携帯電話等の組み込み型の通信機器は、バッテリーで駆動される。このため、消費電力の削減により、通信機器の動作時間および待機時間を延ばすことができ、通信機器の性能を向上できる。   The input / output unit I / O is a user interface unit such as a display that displays image data decoded by the processor PROC, a speaker that outputs audio data decoded by the processor PROG, an input key, and a camera. By mounting the data processing device DPD of the above-described embodiment in the system SYS, the power consumption of the system SYS can be reduced. In particular, a built-in communication device such as a mobile phone is driven by a battery. For this reason, by reducing power consumption, the operation time and standby time of the communication device can be extended, and the performance of the communication device can be improved.

以上の実施形態において説明した発明を整理して、付記として開示する。
(付記1)
メモリへのアクセス要求と、データ処理を指示するために前記メモリから読み出されるデータを使用して生成される処理要求とを出力する第1プロセッサと、
前記処理要求を受けてデータ処理を実行し、前記処理要求を受け付けられない状態が発生したときに前記処理要求の受け付けの禁止を示す状態信号を前記第1プロセッサに出力する第2プロセッサと、
前記第1プロセッサと前記メモリとの間に配置され、前記処理要求の出力と前記状態信号の出力とを検出したときに、前記アクセス要求の前記メモリへの供給を禁止する禁止制御を実行するメモリ制御部と
を備えていることを特徴とするデータ処理装置。
(付記2)
前記メモリ制御部は、
前記アクセス要求に含まれるアドレスが前記メモリの所定の領域を示すときに、マスク信号をアサートするマスク制御回路と、
マスク信号がアサートされているときに、前記禁止制御をマスクし、前記アクセス要求を前記メモリに供給するマスク回路と
を備えていることを特徴とする付記1に記載のデータ処理装置。
(付記3)
前記第1プロセッサは、前記所定の領域を示す情報を書き換え可能に保持する第1レジスタを備え、
前記マスク制御部は、前記第1プロセッサから出力される前記アドレスが前記第1レジスタに保持された情報により示される領域に含まれるときに前記マスク信号をアサートすること
を特徴とする付記2に記載のデータ処理装置。
(付記4)
前記第1プロセッサは、割り込み要求を受けて割り込み処理を実行する機能を有し、
前記割り込み処理に使用する割り込みベクタおよび割り込みハンドラは、前記メモリの前記所定の領域に格納されていること
を特徴とする付記2または付記3に記載のデータ処理装置。
(付記5)
前記第1プロセッサは、前記禁止制御をマスクするときに第1論理に設定される第2レジスタを備え、
前記マスク回路は、前記第2レジスタが前記第1論理に設定されているときに、前記禁止制御をマスクして、前記アクセス要求の前記メモリへの供給を許可すること
を特徴とする付記2または付記3に記載のデータ処理装置。
(付記6)
前記第1プロセッサは、割り込み要求を受けて割り込み処理を実行する機能を有し、
割り込み処理の開始時に前記第2レジスタを前記第1論理に設定する命令および割り込みベクタは、前記メモリの前記所定の領域に格納され、
前記第2レジスタが前記第1論理に設定された後に実行される割り込みハンドラは、前記メモリの前記所定の領域を除く領域に格納され、
前記割り込みハンドラは、割り込み処理の最後に前記第2レジスタを第2論理に設定すること
を特徴とする付記5に記載のデータ処理装置。
(付記7)
前記メモリ制御部は、前記禁止制御を実行するときに、前記メモリのアクセスの禁止を示すビジー信号を前記第1プロセッサに出力すること
を特徴とする付記1ないし付記6のいずれか1項に記載のデータ処理装置。
(付記8)
前記第2プロセッサは、前記処理要求を順に保持するバッファを含み、前記バッファに保持している前記処理要求を実行し、実行した処理要求をバッファから削除し、前記バッファが一杯になったときに、前記状態信号を出力すること
を特徴とする付記1ないし付記7のいずれか1項に記載のデータ処理装置。
(付記9)
付記1ないし付記8のいずれか1項に記載のデータ処理装置と、
前記第2プロセッサが実行するデータ処理用のデータを前記データ処理装置に出力する第1データ処理部と、
前記第2プロセッサが実行するデータ処理により生成されるデータを処理する第2データ処理部と
を備えていることを特徴とするシステム。
(付記10)
メモリへのアクセス要求と、データ処理を指示するために前記メモリから読み出されるデータを使用して生成される処理要求とを出力する第1プロセッサと、
前記処理要求を受けてデータ処理を実行し、前記処理要求を受け付けられない状態が発生したときに前記処理要求の受け付けの禁止を示す状態信号を前記第1プロセッサに出力する第2プロセッサと
を備えたデータ処理装置の動作方法であって、
前記処理要求の出力と前記状態信号の出力とを検出したときに、前記アクセス要求の前記メモリへの供給を禁止する禁止制御を実行すること
を特徴とするデータ処理装置の動作方法。
(付記11)
前記アクセス要求に含まれるアドレスが前記メモリの所定の領域を示すときに、前記禁止制御をマスクし、前記アクセス要求を前記メモリに供給すること
を特徴とする付記10に記載のデータ処理装置の動作方法。
(付記12)
前記第1プロセッサから出力される前記アドレスが前記第1プロセッサの第1レジスタに保持された情報により示される領域に含まれるときに前記禁止制御をマスクし、前記アクセス要求を前記メモリに供給すること
を特徴とする付記11に記載のデータ処理装置の動作方法。
(付記13)
前記第1プロセッサは、割り込み要求を受けたときに、前記メモリの前記所定の領域に格納されている割り込みベクタおよび割り込みハンドラを使用して割り込み処理を実行すること
を特徴とする付記11または付記12に記載のデータ処理装置の動作方法。
(付記14)
前記第1プロセッサの第2レジスタが第1論理に設定されているときに、前記禁止制御をマスクして、前記アクセス要求の前記メモリへの供給を許可すること
を特徴とする付記11または付記12に記載のデータ処理装置の動作方法。
(付記15)
前記第1プロセッサは、割り込み要求を受けたときに、
前記メモリの前記所定の領域に格納されている前記第2レジスタを前記第1論理に設定する命令を実行し、
前記メモリの前記所定の領域に格納されている割り込みベクタを用いて、前記メモリの前記所定の領域を除く領域に格納されている割り込みハンドラを実行し、
割り込み処理の最後に前記第2レジスタを第2論理に設定すること
を特徴とする付記14に記載のデータ処理装置の動作方法。
(付記16)
前記禁止制御を実行するときに、前記メモリのアクセスの禁止を示すビジー信号を前記第1プロセッサに出力すること
を特徴とする付記10ないし付記15のいずれか1項に記載のデータ処理装置の動作方法。
(付記17)
前記第2プロセッサは、前記処理要求を順に保持し、前記バッファに保持している前記処理要求を実行し、実行した処理要求をバッファから削除し、前記バッファが一杯になったときに、前記状態信号を出力すること
を特徴とする付記1ないし付記6のいずれか1項に記載のデータ処理装置の動作方法。
The invention described in the above embodiments is organized and disclosed as an appendix.
(Appendix 1)
A first processor that outputs a memory access request and a processing request generated using data read from the memory to direct data processing;
A second processor that executes data processing in response to the processing request and outputs a status signal indicating prohibition of acceptance of the processing request to the first processor when a state in which the processing request cannot be accepted occurs;
A memory that is arranged between the first processor and the memory and that executes prohibition control for prohibiting the access request from being supplied to the memory when the output of the processing request and the output of the status signal are detected. A data processing apparatus comprising: a control unit.
(Appendix 2)
The memory control unit
A mask control circuit that asserts a mask signal when an address included in the access request indicates a predetermined area of the memory;
The data processing apparatus according to claim 1, further comprising: a mask circuit that masks the prohibition control and supplies the access request to the memory when a mask signal is asserted.
(Appendix 3)
The first processor includes a first register that holds information indicating the predetermined area in a rewritable manner,
The mask control unit asserts the mask signal when the address output from the first processor is included in an area indicated by information held in the first register. Data processing equipment.
(Appendix 4)
The first processor has a function of executing an interrupt process in response to an interrupt request;
4. The data processing device according to appendix 2 or appendix 3, wherein an interrupt vector and an interrupt handler used for the interrupt processing are stored in the predetermined area of the memory.
(Appendix 5)
The first processor includes a second register that is set to a first logic when masking the inhibition control;
The mask circuit is configured to mask the prohibition control and permit the supply of the access request to the memory when the second register is set to the first logic. The data processing device according to attachment 3.
(Appendix 6)
The first processor has a function of executing an interrupt process in response to an interrupt request;
An instruction and an interrupt vector for setting the second register to the first logic at the start of interrupt processing are stored in the predetermined area of the memory,
An interrupt handler that is executed after the second register is set to the first logic is stored in an area excluding the predetermined area of the memory,
The data processing apparatus according to appendix 5, wherein the interrupt handler sets the second register to the second logic at the end of interrupt processing.
(Appendix 7)
The appendix 1 to appendix 6, wherein the memory control unit outputs a busy signal indicating prohibition of access to the memory to the first processor when executing the prohibition control. Data processing equipment.
(Appendix 8)
The second processor includes a buffer that sequentially holds the processing requests, executes the processing requests held in the buffer, deletes the executed processing requests from the buffer, and the buffer becomes full The data processing device according to any one of appendix 1 to appendix 7, wherein the status signal is output.
(Appendix 9)
The data processing device according to any one of appendix 1 to appendix 8, and
A first data processing unit for outputting data for data processing executed by the second processor to the data processing device;
And a second data processing unit for processing data generated by data processing executed by the second processor.
(Appendix 10)
A first processor that outputs a memory access request and a processing request generated using data read from the memory to direct data processing;
A second processor that executes data processing in response to the processing request and outputs a status signal indicating prohibition of acceptance of the processing request to the first processor when a state in which the processing request cannot be accepted occurs. A method of operating the data processing apparatus,
An operation method for a data processing apparatus, comprising: performing prohibition control for prohibiting supply of the access request to the memory when detecting the output of the processing request and the output of the status signal.
(Appendix 11)
11. The operation of the data processing device according to claim 10, wherein when the address included in the access request indicates a predetermined area of the memory, the prohibition control is masked and the access request is supplied to the memory. Method.
(Appendix 12)
Masking the prohibition control when the address output from the first processor is included in the area indicated by the information held in the first register of the first processor, and supplying the access request to the memory The operation method of the data processing device according to appendix 11, characterized by:
(Appendix 13)
When the first processor receives an interrupt request, the first processor executes interrupt processing using an interrupt vector and an interrupt handler stored in the predetermined area of the memory. A method for operating the data processing apparatus according to claim 1.
(Appendix 14)
APPENDIX 11 or APPENDIX 12 wherein the prohibition control is masked and supply of the access request to the memory is permitted when the second register of the first processor is set to the first logic. A method for operating the data processing apparatus according to claim 1.
(Appendix 15)
When the first processor receives an interrupt request,
Executing an instruction to set the second register stored in the predetermined area of the memory to the first logic;
Using an interrupt vector stored in the predetermined area of the memory, and executing an interrupt handler stored in an area excluding the predetermined area of the memory;
15. The operation method of the data processing apparatus according to appendix 14, wherein the second register is set to the second logic at the end of the interrupt process.
(Appendix 16)
The operation of the data processing device according to any one of appendix 10 to appendix 15, wherein when the prohibition control is executed, a busy signal indicating prohibition of access to the memory is output to the first processor. Method.
(Appendix 17)
The second processor sequentially holds the processing requests, executes the processing requests held in the buffer, deletes the executed processing requests from the buffer, and when the buffer becomes full, the state The method of operating a data processing apparatus according to any one of appendix 1 to appendix 6, wherein a signal is output.

以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。   From the above detailed description, features and advantages of the embodiments will become apparent. This is intended to cover the features and advantages of the embodiments described above without departing from the spirit and scope of the claims. Further, any person having ordinary knowledge in the technical field should be able to easily come up with any improvements and modifications, and there is no intention to limit the scope of the embodiments having the invention to those described above. It is also possible to rely on suitable improvements and equivalents within the scope disclosed in.

1‥プロセッサ;2‥プロセッサ;3‥メモリ;4‥メモリ制御部;10、10A、10B、10C、10D‥プロセッサ;12‥コプロセッサ;14‥命令メモリ;16、16A、16B、16C、16D‥メモリ制御部;AD‥アドレス;BUSY‥ビジー信号;CON‥制御ビット;DPD‥データ処理装置;DT‥データ;EN‥アクセス要求;MC2、MC1、MC0‥制御ビット;/MSK‥マスク信号;MSKCNT1、MSKCNT2、MSKCNT3‥マスク制御回路;QDT‥キューデータ;QFUL‥フル信号;QPREQ‥キュープッシュリクエスト;REQ‥処理要求;ST‥状態信号   DESCRIPTION OF SYMBOLS 1 ... Processor; 2 ... Processor; 3 ... Memory; 4 ... Memory control part: 10, 10A, 10B, 10C, 10D ... Processor; 12 ... Coprocessor; 14 ... Instruction memory; 16, 16A, 16B, 16C, 16D ... Memory control unit; AD ... address; BUSY ... busy signal; CON ... control bit; DPD ... data processing device; DT ... data; EN ... access request; MC2, MC1, MC0 ... control bit; MSKCNT2, MSKCNT3 Mask control circuit; QDT queue data; QFUL full signal; QPREQ queue push request; REQ processing request; ST state signal

Claims (6)

メモリへのアクセス要求と、データ処理を指示するために前記メモリから読み出されるデータを使用して生成される処理要求とを出力する第1プロセッサと、
前記処理要求を受けてデータ処理を実行し、前記処理要求を受け付けられない状態が発生したときに前記処理要求の受け付けの禁止を示す状態信号を前記第1プロセッサに出力する第2プロセッサと、
前記第1プロセッサと前記メモリとの間に配置され、前記処理要求の出力と前記状態信号の出力とを検出したときに、前記アクセス要求の前記メモリへの供給を禁止する禁止制御を実行するメモリ制御部と
を備えていることを特徴とするデータ処理装置。
A first processor that outputs a memory access request and a processing request generated using data read from the memory to direct data processing;
A second processor that executes data processing in response to the processing request and outputs a status signal indicating prohibition of acceptance of the processing request to the first processor when a state in which the processing request cannot be accepted occurs;
A memory that is arranged between the first processor and the memory and that executes prohibition control for prohibiting the access request from being supplied to the memory when the output of the processing request and the output of the status signal are detected. A data processing apparatus comprising: a control unit.
前記メモリ制御部は、
前記アクセス要求に含まれるアドレスが前記メモリの所定の領域を示すときに、マスク信号をアサートするマスク制御回路と、
マスク信号がアサートされているときに、前記禁止制御をマスクし、前記アクセス要求を前記メモリに供給するマスク回路と
を備えていることを特徴とする請求項1に記載のデータ処理装置。
The memory control unit
A mask control circuit that asserts a mask signal when an address included in the access request indicates a predetermined area of the memory;
The data processing apparatus according to claim 1, further comprising: a mask circuit that masks the prohibition control and supplies the access request to the memory when a mask signal is asserted.
前記第1プロセッサは、前記所定の領域を示す情報を書き換え可能に保持する第1レジスタを備え、
前記マスク制御回路は、前記第1プロセッサから出力される前記アドレスが前記第1レジスタに保持された情報により示される領域に含まれるときに前記マスク信号をアサートすること
を特徴とする請求項2に記載のデータ処理装置。
The first processor includes a first register that holds information indicating the predetermined area in a rewritable manner,
3. The mask control circuit asserts the mask signal when the address output from the first processor is included in an area indicated by information held in the first register. The data processing apparatus described.
前記メモリ制御部は、前記禁止制御を実行するときに、前記メモリのアクセスの禁止を示すビジー信号を前記第1プロセッサに出力すること
を特徴とする請求項1ないし請求項3のいずれか1項に記載のデータ処理装置。
The said memory control part outputs the busy signal which shows prohibition of the access of the said memory to the said 1st processor, when performing the said prohibition control. The said any one of Claim 1 thru | or 3 characterized by the above-mentioned. The data processing apparatus described in 1.
請求項1ないし請求項4のいずれか1項に記載のデータ処理装置と、
前記第2プロセッサが実行するデータ処理用のデータを前記データ処理装置に出力する第1データ処理部と、
前記第2プロセッサが実行するデータ処理により生成されるデータを処理する第2データ処理部と
を備えていることを特徴とするシステム。
A data processing device according to any one of claims 1 to 4,
A first data processing unit for outputting data for data processing executed by the second processor to the data processing device;
And a second data processing unit for processing data generated by data processing executed by the second processor.
メモリへのアクセス要求と、データ処理を指示するために前記メモリから読み出されるデータを使用して生成される処理要求とを出力する第1プロセッサと、
前記処理要求を受けてデータ処理を実行し、前記処理要求を受け付けられない状態が発生したときに前記処理要求の受け付けの禁止を示す状態信号を前記第1プロセッサに出力する第2プロセッサと
を備えたデータ処理装置の動作方法であって、
前記第1プロセッサと前記メモリとの間に配置されたメモリ制御部が、前記処理要求の出力と前記状態信号の出力とを検出したときに、前記アクセス要求の前記メモリへの供給を禁止する禁止制御を実行すること
を特徴とするデータ処理装置の動作方法。
A first processor that outputs a memory access request and a processing request generated using data read from the memory to direct data processing;
A second processor that executes data processing in response to the processing request and outputs a status signal indicating prohibition of acceptance of the processing request to the first processor when a state in which the processing request cannot be accepted occurs. A method of operating the data processing apparatus,
Prohibition of prohibiting supply of the access request to the memory when a memory control unit arranged between the first processor and the memory detects the output of the processing request and the output of the status signal A method of operating a data processing apparatus, characterized by executing control.
JP2011057623A 2011-03-16 2011-03-16 Data processing apparatus, system, and method of operating data processing apparatus Expired - Fee Related JP5614341B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011057623A JP5614341B2 (en) 2011-03-16 2011-03-16 Data processing apparatus, system, and method of operating data processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011057623A JP5614341B2 (en) 2011-03-16 2011-03-16 Data processing apparatus, system, and method of operating data processing apparatus

Publications (2)

Publication Number Publication Date
JP2012194737A JP2012194737A (en) 2012-10-11
JP5614341B2 true JP5614341B2 (en) 2014-10-29

Family

ID=47086571

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011057623A Expired - Fee Related JP5614341B2 (en) 2011-03-16 2011-03-16 Data processing apparatus, system, and method of operating data processing apparatus

Country Status (1)

Country Link
JP (1) JP5614341B2 (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6435647A (en) * 1987-07-31 1989-02-06 Hitachi Ltd Data processing system
JPH0727488B2 (en) * 1989-06-19 1995-03-29 株式会社日立製作所 Memory access control method
JP2824110B2 (en) * 1990-03-02 1998-11-11 日本電信電話株式会社 Bus communication control method for information systems
JPH0448368A (en) * 1990-06-18 1992-02-18 Fujitsu Ltd Inter-processor communication system
JPH0764849A (en) * 1993-08-30 1995-03-10 Nippon Denki Musen Denshi Kk Shared memory controller for processor
JP4504134B2 (en) * 2004-08-16 2010-07-14 富士通株式会社 System control apparatus, speculative fetch method, and information processing apparatus
JP2007334564A (en) * 2006-06-14 2007-12-27 Matsushita Electric Ind Co Ltd Unified memory system

Also Published As

Publication number Publication date
JP2012194737A (en) 2012-10-11

Similar Documents

Publication Publication Date Title
EP1182559B1 (en) Improved microprocessor
JP4148223B2 (en) Processor and information processing method
US10241797B2 (en) Replay reduction by wakeup suppression using early miss indication
JP5329563B2 (en) Shared interrupt controller for multithreaded processors
US20060200826A1 (en) Processor and information processing method
JP3226055B2 (en) Information processing device
US6772326B2 (en) Interruptible and re-entrant cache clean range instruction
JP4609113B2 (en) Processor
JP2007206784A (en) Multiprocessor system and program for making computer implement control method for multiprocessor system
JP5614341B2 (en) Data processing apparatus, system, and method of operating data processing apparatus
JP2006243811A (en) Dma transfer system and dma transfer method
US10296338B2 (en) System, apparatus and method for low overhead control transfer to alternate address space in a processor
KR100532417B1 (en) The low power consumption cache memory device of a digital signal processor and the control method of the cache memory device
EP1387258A2 (en) Processor-processor synchronization
JP2010003151A (en) Data processing apparatus
JPH08249175A (en) Method and apparatus for selective support of nonarchitectural instruction at inside of superscalar processor device
CN112988375A (en) Process management method and device and electronic equipment
JP2007219800A (en) Parallel processor and exclusive control method
US7290153B2 (en) System, method, and apparatus for reducing power consumption in a microprocessor
JP2004094807A (en) Instruction cache, microprocessor, and design method for same
JP4389797B2 (en) Processor and information processing method
US20160291981A1 (en) Removing invalid literal load values, and related circuits, methods, and computer-readable media
JP2011150457A (en) Information processing apparatus and memory access control method
JP5593195B2 (en) Data processing device
JP2007026091A (en) Interrupt control circuit and its control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140714

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140812

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140825

R150 Certificate of patent or registration of utility model

Ref document number: 5614341

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees