JP3834327B2 - Graphic processing apparatus, method of using the same, and microprocessor - Google Patents

Graphic processing apparatus, method of using the same, and microprocessor Download PDF

Info

Publication number
JP3834327B2
JP3834327B2 JP2005070871A JP2005070871A JP3834327B2 JP 3834327 B2 JP3834327 B2 JP 3834327B2 JP 2005070871 A JP2005070871 A JP 2005070871A JP 2005070871 A JP2005070871 A JP 2005070871A JP 3834327 B2 JP3834327 B2 JP 3834327B2
Authority
JP
Japan
Prior art keywords
memory
port
instruction
data
unit
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 - Lifetime
Application number
JP2005070871A
Other languages
Japanese (ja)
Other versions
JP2005243042A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005070871A priority Critical patent/JP3834327B2/en
Publication of JP2005243042A publication Critical patent/JP2005243042A/en
Application granted granted Critical
Publication of JP3834327B2 publication Critical patent/JP3834327B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Image Input (AREA)

Description

産業上の利用分野Industrial application fields

本発明は、図形処理方式に係り、特にバス分離されたメモリ間の図形データの転送に好適な処理方式に関する。   The present invention relates to a graphic processing method, and more particularly, to a processing method suitable for transferring graphic data between bus-separated memories.

従来、アドレス、データ、制御信号の各バスを2組有するマイクロプロセッサの方式としては、ハーバードアーキテクチャが知られており、この方式は命令バスとデータバスとを分離することにより命令フェッチとデータアクセスとの競合を避けるようにしたものである。   Conventionally, a Harvard architecture is known as a microprocessor system having two sets of buses for address, data, and control signals. This system separates an instruction bus and a data bus to separate instruction fetch and data access. To avoid conflicts.

また、図形処理用のLSIとしては、東芝レビュー43巻12号(1988年)第932頁
から第935頁において論じられているビットマップコントロールプロセッサBM
CPがある。このBMCPは、CPUおよびシステムメモリが接続されるシステムバスに8ビットのデータバスを有し、これとは別に64本のローカルメモリデータバスと24本のアドレスバスを有し、このアドレスバスおよびローカルメモリデータバスにより8面のプレーン方式のローカルメモリ(画像メモリ)をアクセスする。また、アドレスをラッチすることによりBMCPがシステムメモリをアクセスすることも可能である。
Further, as an LSI for graphic processing, a bitmap control processor BM discussed in Toshiba Review Vol. 43 No. 12 (1988), pages 932 to 935 is used.
There is a CP. This BMCP has an 8-bit data bus in the system bus to which the CPU and the system memory are connected. In addition to this, the BMCP has 64 local memory data buses and 24 address buses. The 8-plane local memory (image memory) is accessed by the memory data bus. It is also possible for the BMCP to access the system memory by latching the address.

上記従来技術のうち、ハーバードアーキテクチャは命令バスとデータバスが専用化されており、図形処理の中で最も頻繁に行われるシステムメモリとフレームメモリとの間の図形転送のように、2組のバスを共にデータアクセスに使用する点については配慮がされていない。   Among the above prior arts, the Harvard architecture has a dedicated instruction bus and data bus, and two sets of buses, such as graphic transfer between system memory and frame memory, which is most frequently performed in graphic processing. There is no consideration for using both for data access.

一方、前記BMCPは2組のバスをデータアクセスに使用できるが、アドレスバスが1つであり、2つのメモリを同時にアクセスできるかどうかは不明である。   On the other hand, the BMCP can use two sets of buses for data access, but there is only one address bus, and it is unclear whether two memories can be accessed simultaneously.

また、あるメモリ番地のデータを読みだして処理を施した後、元の番地に書き戻すという図形処理でよく用いられるいわゆるリードモディファイライト処理の実行において、従来の汎用マイクロプロセッサでは、以下のような問題があった。   Further, in the execution of so-called read modify write processing often used in graphic processing of reading out data at a certain memory address and performing processing and then writing back to the original address, a conventional general-purpose microprocessor is as follows. There was a problem.

すなわち、まず、CISC(Complexed Instruction Set Computer)型の汎用プロセッサでは、演算命令のソースオペランドとデステイネーションオペランドにメモリアドレスを指定でき、1命令でリードモディファイライト処理を記述することが可能であるが、命令長が長くなるという問題があり、また、リードサイクルとライトサイクルの間にウエイトサイクルを入れずに実行できるか否かは明らかでない。グラフィックス処理専用のプロセッサには、リードモディファイライト処理を連続2メモリサイクルで実行するものがあるが、モディファイの機能は限られたものである。RISC(Reduced Instruction Set Computer)型のプロセッサでは、固定長命令が基本であり、オペランドの対象をメモリにできるのはロード命令とストア命令である。したがって、リードモディファイライト処理を実行するには、ロード命令、演算命令、ストア命令の3つの命令が必要であり、ロードとストアとを連続2メモリサイクルで実行することができなかった。   That is, first, in a general-purpose processor of CISC (Complexed Instruction Set Computer) type, a memory address can be specified for a source operand and a destination operand of an arithmetic instruction, and a read-modify-write process can be described with one instruction. However, there is a problem that the instruction length becomes long, and it is not clear whether it can be executed without inserting a wait cycle between the read cycle and the write cycle. Some processors dedicated to graphics processing execute read-modify-write processing in two continuous memory cycles, but the function of modification is limited. In a RISC (Reduced Instruction Set Computer) type processor, a fixed-length instruction is basically used, and a load instruction and a store instruction can be the target of an operand. Therefore, in order to execute the read-modify-write process, three instructions, that is, a load instruction, an operation instruction, and a store instruction, are necessary, and load and store cannot be executed in two continuous memory cycles.

本発明の目的は、図形処理装置あるいは情報処理装置において、分離したバス上のメモリアクセスを同時に行ない、2つのメモリ間の図形あるいはデータ転送を高速化することにある。   An object of the present invention is to simultaneously perform memory accesses on separate buses in a graphics processing device or information processing device, thereby speeding up graphics or data transfer between two memories.

また、本発明の他の目的は、RISC型プロセッサにおいて、図形処理で多用されるリードモディファイライトの処理を、リードサイクルとライトサイクルとの間に空きサイクルを入れずに実行可能とすることにある。   Another object of the present invention is to enable a read-modify-write process frequently used in graphic processing to be executed in a RISC type processor without inserting an empty cycle between a read cycle and a write cycle. .

上記目的を達成するために、本発明による図形処理装置は、アドレス、データ、制御の各バスからなるシステムバスにそれぞれ接続されたCPUおよびシステムメモリと、アドレス、データ、制御の各バスからなるローカルバスにそれぞれ接続されたローカルメモリおよびフレームメモリと、上記システムバスに接続される第1のポートおよび上記ローカルバスに接続される第2のポートを有する図形処理用プロセッサとを具備し、該図形処理用プロセッサは、上記第1および第2のポートを介して上記第1のメモリおよび第2のメモリに同時にアクセス可能としたものである。   In order to achieve the above object, a graphics processing apparatus according to the present invention comprises a CPU and a system memory respectively connected to a system bus comprising address, data and control buses, and a local comprising an address, data and control buses. A graphic memory having a local memory and a frame memory respectively connected to the bus; a graphic processor having a first port connected to the system bus and a second port connected to the local bus; The processor for the processor allows simultaneous access to the first memory and the second memory via the first and second ports.

この図形処理装置の使用方法としては、上記システムメモリまたはローカルメモリ上に図形転送プログラムを格納しておくとともに、上記システムメモリ上に各種図形データを格納しておき、上記システムメモリ上の図形データを上記フレームメモリへ転送する際には、上記CPUにより当該図形転送プログラムの先頭アドレスおよびパラメータの先頭アドレスを上記システムメモリまたは上記ローカルメモリに書き込み、上記図形処理用プロセッサに、上記図形転送プログラムおよびパラメータに従い、上記第1及び第2のポートを介して上記システムメモリ上の図形データを上記フレームメモリ上へ転送させることが考えられる。この図形データの転送の際に上記図形処理用プロセッサは、システムメモリの転送元領域の図形データに対応するフレームメモリの転送先領域のデータを読みだして両データに論理演算を施し、当該論理演算結果を上記フレームメモリの転送先領域に書き込むことができる。   As a method of using this graphic processing apparatus, a graphic transfer program is stored in the system memory or the local memory, various graphic data are stored in the system memory, and the graphic data in the system memory is stored. When transferring to the frame memory, the CPU writes the start address of the graphics transfer program and the start address of the parameter to the system memory or the local memory, and sends the graphics processor to the graphics processor according to the graphics transfer program and parameters. It is conceivable to transfer graphic data on the system memory to the frame memory via the first and second ports. When transferring the graphic data, the graphic processor reads the data in the transfer destination area of the frame memory corresponding to the graphic data in the transfer source area of the system memory, performs a logical operation on both data, and executes the logical operation. The result can be written in the transfer destination area of the frame memory.

上記図形処理装置の他の使用方法としては、上記システムメモリまたはローカルメモリ上に各種図形描画プログラムを格納しておき、上記フレームメモリへの図形描画時には、上記CPUにより当該図形描画プログラムの先頭アドレスとパラメータの先頭アドレスとからなるワークリストを上記システムメモリまたは上記ローカルメモリ上に作成し、上記CPUの指令により上記図形処理用プロセッサに上記ワークリストの内容を読み込ませ、上記図形処理用プロセッサに上記ワークリストにより指示された図形描画プログラムおよびパラメータに従って上記フレームメモリ上に図形描画を行わせる方法が考えられる。   As another method of using the graphic processing apparatus, various graphic drawing programs are stored in the system memory or local memory, and when drawing a graphic in the frame memory, the CPU uses the start address of the graphic drawing program. A work list including the start address of the parameter is created in the system memory or the local memory, and the graphic processor is read by the graphic processor in response to an instruction from the CPU, and the graphic processor is used to read the work list. A method of drawing graphics on the frame memory according to the graphics drawing program and parameters specified by the list can be considered.

本発明による図形処理装置は、他の見地によれば、アドレス、データ、制御の各バスからなるシステムバスにそれぞれ接続されたCPUおよび第1のメモリと、アドレス、データ、制御の各バスからなるローカルバスに接続された第2のメモリと、上記システムバスに接続される第1のポート、上記ローカルバスに接続される第2のポートおよび複数の内部レジスタを有する図形処理用プロセッサとを具備し、該図形処理用プロセッサは、上記第1のポートを介して上記第1および第2のメモリの一方から一の内部レジスタに図形データをロードする処理と、他の内部レジスタから上記第1および第2のメモリの他方へデータをストアする処理とを並行して実行可能である。   According to another aspect, the graphics processing apparatus according to the present invention includes a CPU and a first memory respectively connected to a system bus including address, data, and control buses, and an address, data, and control buses. A second memory connected to the local bus; a first port connected to the system bus; a second port connected to the local bus; and a graphics processor having a plurality of internal registers. The graphic processor is configured to load graphic data from one of the first and second memories to one internal register via the first port, and from the other internal register to the first and second The process of storing data in the other of the two memories can be executed in parallel.

また、本発明による情報処理装置は、アドレス、データ、制御の各バスからなるシステムバスにそれぞれ接続されたCPUおよび第1のメモリと、アドレス、データ、制御の各バスからなるローカルバスに接続された第2のメモリと、上記システムバスに接続される第1のポート、上記ローカルバスに接続される第2のポート、および複数の内部レジスタを有する特定処理専用プロセッサとを具備し、該特定処理専用プロセッサは、上記第1のポートを介して上記第1および第2のメモリの一方から一の内部レジスタにデータをロードする処理と、他の内部レジスタから上記第1および第2のメモリの他方へデータをストアする処理とを並行して実行可能であることを特徴とするものである。   The information processing apparatus according to the present invention is connected to a CPU and a first memory respectively connected to a system bus including address, data, and control buses, and to a local bus including address, data, and control buses. A second memory, a first port connected to the system bus, a second port connected to the local bus, and a processor dedicated to specific processing having a plurality of internal registers. The dedicated processor includes a process of loading data from one of the first and second memories to one internal register via the first port, and the other of the first and second memories from the other internal register. It is characterized in that the process of storing data can be executed in parallel.

本発明によるマイクロプロセッサは、命令の解読、実行を行うプロセッサ部と、アドレス、データ、制御信号をメモリとの間で授受する2つのポートと、上記プロセッサ部からの書き込みおよび2つのポートへの読み出しが可能なアドレスバッファと、2つのポートからの読み出し、書き込みおよび上記プロセッサ部による命令読み出しが可能なデータバッファと、上記プロセッサ部からのメモリアクセス要求およびポート指定信号により、指定されたポートを介して上記アドレスバッファからメモリへのアドレス転送、およびデータバッファとメモリとの間のデータ転送を制御する手段とを備え、命令フェッチおよびデータアクセスを2つのメモリに対して行えることを特徴とするものである。上記プロセッサ部からも上記データバッファを読み出し書き込み可能としてもよい。   The microprocessor according to the present invention includes a processor unit for decoding and executing instructions, two ports for transmitting and receiving addresses, data, and control signals to and from the memory, writing from the processor unit, and reading to the two ports. Through an address buffer, a data buffer that can be read from and written to two ports, and an instruction read by the processor unit, and a port specified by a memory access request and a port designation signal from the processor unit And a means for controlling address transfer from the address buffer to the memory and data transfer between the data buffer and the memory, wherein instruction fetch and data access can be performed for two memories. . The data buffer may be readable and writable from the processor unit.

上記プロセッサ部は、例えば、ビットマップメモリのX方向のワード数(メモ
リ幅)を記憶するレジスタと、ビットマップメモリ上に定義した3つの矩形領域(転送元領域、パターン領域、転送先領域)のワードアドレスを記憶するレジスタ(転送元アドレスレジスタ、パターンアドレスレジスタ、転送先アドレスレジスタ)と、転送元領域と転送先領域のビット位置の差を記憶する転送元シフト数レジ
スタと、パターン領域と転送先領域のビット位置の差を記憶するパターンシフト数レジスタと、転送元データを転送元シフト数レジスタに基いてシフトし、またはパターンデータをパターンシフト数レジスタに基いてシフトする手段と、該シフト後の転送元データ、パターンデータと転送先データとの論理演算を行う手段と、転送先領域の左端、右端で、書き込み禁止領域を指定するマスク手段と、該マスク手段に基いて、演算結果と転送先データとを合成する手段を備え、3オペランドの矩形領域転送をポート間で任意に行うことを特徴とするものである。
The processor unit includes, for example, a register that stores the number of words (memory width) in the X direction of the bitmap memory, and three rectangular areas (transfer source area, pattern area, and transfer destination area) defined on the bitmap memory. Registers that store word addresses (transfer source address register, pattern address register, transfer destination address register), transfer source shift number register that stores the difference in bit position between the transfer source area and transfer destination area, pattern area, and transfer destination A pattern shift number register for storing the bit position difference of the area; means for shifting the transfer source data based on the transfer source shift number register; or shifting the pattern data based on the pattern shift number register; Means to perform logical operation of transfer source data, pattern data and transfer destination data, and left end and right of transfer destination area And a masking means for designating a write-inhibited area, and a means for synthesizing the operation result and the transfer destination data based on the masking means, wherein rectangular area transfer of three operands is arbitrarily performed between ports. To do.

上記ポート指定信号を生成する手段として、メモリアドレスに基づいて当該信号を生成するポート指定手段を設けてもよい。   As the means for generating the port designation signal, a port designation means for generating the signal based on the memory address may be provided.

本発明によるマイクロプロセッサは、他の見地によれば、命令の解読、実行を行うプロセッサ部と、アドレス、データ、制御信号をメモリとの間で授受する2つのポートと、各ポートに専用のアドレスバッファ、データバッファと、各ポートの動作状況を管理する手段と、メモリより読みだしたデータを上記プロセッサ部内のレジスタに書き込む手段とを備え、上記2つのポートを介して2つのメモリに同時にアクセスを行なえることを特徴とするものである。   According to another aspect, the microprocessor according to the present invention includes a processor unit that decodes and executes instructions, two ports that exchange addresses, data, and control signals with a memory, and a dedicated address for each port. A buffer, a data buffer, means for managing the operation status of each port, and means for writing the data read from the memory into a register in the processor unit, and simultaneously accessing the two memories via the two ports It is characterized by being able to do it.

本発明による他のマイクロプロセッサは、固定長命令を実行するマイクロプロセッサにおいて、プログラムから読みだされた主命令を保持する第1の命令保持手段と、上記主命令に付随する従命令を保持する第2の命令保持手段と、上記主命令および従命令を解読する解読手段と、上記主命令の解読の結果、当該主命令が従命令を使用する命令である場合に、上記従命令保持手段に保持された従命令を解読して実行することを特徴とするものである。   Another microprocessor according to the present invention is a microprocessor for executing a fixed-length instruction, wherein a first instruction holding means for holding a main instruction read from a program and a first instruction for holding a slave instruction associated with the main instruction. 2 instruction holding means, a decoding means for decoding the main instruction and the sub instruction, and if the main instruction is an instruction using a sub instruction as a result of decoding the main instruction, the sub instruction holding means holds The subordinate instruction is decoded and executed.

このマイクロプロセッサにおいて、リードモディファイライト命令を上記主命令および従命令で表わし、主命令により、従命令を保持するレジスタの指定およびメモリアドレスを保持するレジスタの指定を行い、従命令により、メモリから読みだされたデータを格納するレジスタの指定および演算内容の指定を行い、主命令に従ってメモリからデータが読み出されると直ちに上記従命令を実行し、該実行結果をメモリに書き込むことにより、連続する2回のメモリサイクルでリードモディファイライト処理を行なえるようにすることができる。   In this microprocessor, the read-modify-write instruction is represented by the above main instruction and subordinate instruction, the main instruction designates the register that holds the subordinate instruction and the register that holds the memory address, and the subordinate instruction reads from the memory. The register for storing the data and the contents of the operation are specified, and when the data is read from the memory in accordance with the main instruction, the slave instruction is executed immediately, and the execution result is written to the memory, so that two consecutive times The read-modify-write process can be performed in the memory cycle.

本発明によれば、2ポートマイクロプロセッサの2組のバスを任意に命令フェッチおよびデータアクセスに使用でき、かつ、同時にメモリのアクセスができるので、メモリアクセス効率が向上し、特に図形処理装置に適用した場合にはシステムメモリとフレームメモリとの間の図形転送が高速化される。また、図形処理で頻度の高いリードモディファイライト処理もリードサイクルとライトサイクルとの間に空きサイクルなしに実行できるので   According to the present invention, two sets of buses of a two-port microprocessor can be arbitrarily used for instruction fetch and data access, and memory access can be performed at the same time, so that memory access efficiency is improved. In this case, the graphics transfer between the system memory and the frame memory is accelerated. Also, read-modify-write processing, which is frequently used in graphic processing, can be executed without a blank cycle between read and write cycles.

作用Action

上記2ポートを有するマイクロプロセッサは、命令の読み出し、解読、実行、データの格納を好ましくはパイプライン処理し、メモリアクセス命令の場合は、メモリアクセス処理専用のユニットに処理を委託した後、次の命令実行を行なう。メモリアクセスを処理するユニットは、2つのポートの動作状態を管理しておくことによって、ポートに既に処理の委託がなされている場合は、ポートが使用可能になるまで、命令を実行するユニットに次の命令実行を待たせる。したがって、1つのポートが動作中でも、他のポートを使用するメモリアクセスは受付けられる。   The microprocessor having the above two ports preferably executes pipeline processing for reading, decoding, executing, and storing data. In the case of a memory access instruction, after entrusting the processing to a unit dedicated to memory access processing, Perform instruction execution. The unit that processes the memory access manages the operation state of the two ports, so that if the port has already been commissioned, the unit that executes instructions until the port becomes available Wait for the execution of the command. Therefore, even if one port is operating, memory access using the other port is accepted.

2ポートマイクロプロセッサは2組のバスを任意に命令フェッチおよびデータアクセスに使用でき、かつ、同時にメモリのアクセスができるので、メモリアクセス効率が向上し、特に図形処理装置に適用した場合にシステムメモリとフレームメモリとの間の図形転送が高速化される。   The 2-port microprocessor can arbitrarily use two sets of buses for instruction fetch and data access, and can access the memory at the same time, so that the memory access efficiency is improved. Graphic transfer to and from the frame memory is speeded up.

また、リードライトの命令はメモリ中のプログラムに置き、演算処理命令は、通常の命令バッファとは別の従命令バッファに入れておき、リードデータが用意されたタイミングで上記バッファから演算命令を取りだし実行することにより、読みだしデータの演算をライトサイクルに間にあわせ、連続2メモリサイクルのリードモディファイライト処理が可能になる。   Also, read / write instructions are placed in a program in the memory, and arithmetic processing instructions are placed in a subordinate instruction buffer different from the normal instruction buffer, and the arithmetic instructions are taken out from the buffer when read data is prepared. By executing it, read-modify-write processing of two consecutive memory cycles can be performed in time for the operation of the read data in time for the write cycle.

CPUから2ポートマイクロプロセッサへの図形描画、論理演算付き矩形領域転送等のパラメータは、直接CPUが2ポートマイクとプロセッサに与えるのではなく、CPUがメモリ上に連続して書き込むとともに、その先頭アドレスをメモリ上のワークリスト内に含ませておくことにより、以後の図形描画、転送等の図形処理はすべて2ポートマイクロプロセッサに委任することができる。すなわち、2ポートマイクロプロセッサは、CPUから図形処理の起動を受けると、ワークリストに指定された処理を、順次、当該処理プログラムおよびパラメータを参照して実行する。CPUは、複数の図形処理をワークリストとして予め作成しておくことにより、各図形処理ごとに2ポートマイクロプロセッサにパラメータを与える必要がないので、その負担が軽減される。   Parameters such as graphic drawing from the CPU to the 2-port microprocessor and rectangular area transfer with logic operation are not directly given to the 2-port microphone and processor by the CPU, but are written continuously into the memory by the CPU and the start address thereof. Is included in the work list on the memory, all graphic processing such as graphic drawing and transfer thereafter can be delegated to the 2-port microprocessor. That is, when the 2-port microprocessor receives the activation of graphic processing from the CPU, the 2-port microprocessor sequentially executes the processing specified in the work list with reference to the processing program and parameters. By creating a plurality of graphic processes as a work list in advance, the CPU does not need to give a parameter to the 2-port microprocessor for each graphic process, so the burden is reduced.

以下、本発明の実施例について、添付図面を参照して詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

第1図に、本発明の一実施例の図形表示装置のブロック図を示す。   FIG. 1 is a block diagram of a graphic display device according to an embodiment of the present invention.

図中、8は、装置全体の制御を行なう中央処理装置(CPU)である。   In the figure, 8 is a central processing unit (CPU) that controls the entire apparatus.

1は、図形描画およびCRT6への図形表示を指示するマイクロプロセッサであり、マイクロ命令を実行するプロセッサ部101と2組のポート102、103を内部
に有する。
Reference numeral 1 denotes a microprocessor for instructing graphic drawing and graphic display on the CRT 6, and has a processor unit 101 for executing microinstructions and two sets of ports 102 and 103 therein.

3は、図形描画を行なうためのマイクロ命令およびデータを記憶するローカルメモリである。   Reference numeral 3 denotes a local memory for storing microinstructions and data for drawing graphics.

4は、図形データを記憶するフレームメモリである。   Reference numeral 4 denotes a frame memory for storing graphic data.

5は、マイクロプロセッサ1がフレームメモリ4へ図形表示アクセスを行なうことにより読み出された複数画素分の表示データを、CRT6に1画素ずつ出力するシフト回路である。   Reference numeral 5 denotes a shift circuit for outputting display data for a plurality of pixels read out by the microprocessor 1 to the frame memory 4 for graphic display one by one to the CRT 6.

7は、2ポートマイクロプロセッサ1、ローカルメモリ3、フレームメモリ4、シフト回路5が動作するためのクロックを供給する回路である。   A circuit 7 supplies a clock for operating the 2-port microprocessor 1, the local memory 3, the frame memory 4, and the shift circuit 5.

10は、CPU8が実行するマイクロ命令およびデータの記憶と、マイクロプロセッサ1が処理する図形描画コマンドおよびデータの記憶を行なうシステムメモリである。   Reference numeral 10 denotes a system memory for storing microinstructions and data executed by the CPU 8 and storing graphic drawing commands and data processed by the microprocessor 1.

11は、マイクロプロセッサ1がシステムメモリ10にアクセスを行うに先立って出力するシステムバス9の使用要求信号を受けて、CPU8にバスを要求し、バス使用許可が与えられた場合、これをマイクロプロセッサ1に通知するバス調停回路である。   11 receives a use request signal for the system bus 9 output before the microprocessor 1 accesses the system memory 10, requests the CPU 8 for a bus, and if the bus use permission is given, 1 is a bus arbitration circuit that notifies 1.

12は、CPU8がプロセッサ部101内のレジスタをアクセスする場合およびロ
ーカルバス2に接続されるローカルメモリ3またはフレームメモリ4をアクセスする場合に、CPU8が出力するアドレスをデコードしてマイクロプロセッサ1に割込み要求および割込み処理内容を出力するデコーダである。
12, when the CPU 8 accesses a register in the processor unit 101 and accesses the local memory 3 or the frame memory 4 connected to the local bus 2, the CPU 8 decodes an address output from the CPU 8 and interrupts the microprocessor 1. It is a decoder that outputs request and interrupt processing contents.

13は、マイクロプロセッサ1のシステムバス9への入出力タイミングの調整、およびCPU8、システムメモリ10、バス調停回路11が動作するためのクロックを出力する回路である。   Reference numeral 13 denotes a circuit that adjusts the input / output timing of the microprocessor 1 to the system bus 9 and outputs a clock for operating the CPU 8, the system memory 10, and the bus arbitration circuit 11.

次に、第1図におけるシステムメモリ、ローカルメモリおよびフレームメモリの番地割り付け方法について第2図を用いて説明する。   Next, the address allocation method for the system memory, local memory and frame memory in FIG. 1 will be described with reference to FIG.

2ポートマイクロプロセッサは、自身がアドレス指定可能なメモリ空間を2分割して、第1のシステムメモリ空間20とローカルメモリ空間フレームメモリ空間40に割り付ける。   The 2-port microprocessor divides the memory space addressable by itself into two and allocates it to the first system memory space 20 and the local memory space frame memory space 40.

第2のシステムメモリ空間30は、CPUのみがアクセス可能である。   The second system memory space 30 is accessible only by the CPU.

301は、2ポートマイクロプロセッサが内蔵するレジスタであり、CPUのメ
モリ空間に番地割り付けして、CPUからアクセスすることができる。このレジスタ301の中で、R0レジスタとR1レジスタは専用目的に使用するものであり
、第3図を用いてこれらを説明する。
301 is a register built in the 2-port microprocessor, and can be accessed from the CPU by assigning an address to the memory space of the CPU. Among the registers 301, the R0 register and the R1 register are used for dedicated purposes, and will be described with reference to FIG.

第3図において、R0レジスタはコントロールレジスタと呼び、2ポートマイクロプロセッサの動作制御に関する情報を記憶する。すなわち、R0レジスタの最上位ビットは動作制御ビットと呼び、"0"が記憶されていれば停止状態、"1"が記憶されていれば動作状態すなわち、マイクロ命令の実行状態にある。0ビットから23ビットまではワークリストアドレスを記憶するフィールドであり、ワークリストとは、2ポートマイクロプロセッサが実行する描画プログラムと図形パラメータとのメモリアドレスを記述したものである。2ポートマイクロプロセッサがワークリストを読み出したい場合に、R0レジスタをアドレスレジスタとして使用する。ただし、アドレスとして有効なのは0ビットから23ビットまでである。R0レジスタは、CPUのアクセス、または2ポートマイクロプロセッサの命令実行によって読み出し、書き込みが可能である。   In FIG. 3, the R0 register is called a control register and stores information related to operation control of the 2-port microprocessor. That is, the most significant bit of the R0 register is called an operation control bit. When “0” is stored, it is in a stopped state, and when “1” is stored, it is in an operating state, that is, a microinstruction execution state. The field from 0 to 23 bits is a field for storing a work list address. The work list describes a memory address of a drawing program and graphic parameters executed by the 2-port microprocessor. When the 2-port microprocessor wants to read the work list, the R0 register is used as an address register. However, the valid addresses are 0 to 23 bits. The R0 register can be read and written by CPU access or 2-port microprocessor instruction execution.

R1レジスタはプログラムカウンタと呼び、2ポートマイクロプロセッサが読み出すマイクロ命令のメモリアドレスを記憶し、命令読み出しがなされると自動的に値を増加させるカウンタである。R1レジスタでは、0ビットから23ビットまでが有効であり、2ポートマイクロプロセッサの全メモリ空間をプログラム領域に使用できる。   The R1 register is called a program counter, which stores a memory address of a microinstruction read by the 2-port microprocessor and automatically increments the value when the instruction is read out. In the R1 register, 0 to 23 bits are effective, and the entire memory space of the 2-port microprocessor can be used for the program area.

次に、第1図の実施例装置の図形描画方式について説明する。   Next, the graphic drawing method of the embodiment apparatus shown in FIG. 1 will be described.

本実施例装置は、CPUがメモリ上にワークリストと図形パラメータとを生成し、2ポートマイクロプロセッサがこのワークリスト等を参照して図形描画等を行うものである。   In this embodiment, a CPU generates a work list and graphic parameters on a memory, and a 2-port microprocessor refers to the work list and the like to perform graphic drawing.

第4図は、2ポートマイクロプロセッサが図形描画を行うに必要なコマンドとプログラムのメモリマップを表わしたものである。   FIG. 4 shows a memory map of commands and programs necessary for the 2-port microprocessor to perform graphic drawing.

ワークリスト10-1は、2ポートマイクロプロセッサがCPUから与えられるコマンド列であり、描画したい図形のパラメータが格納されたメモリの先頭アドレスとその描画プログラムが格納されたメモリの先頭アドレスとを、描画する図形の分だけ連続して有するものである。   The work list 10-1 is a command sequence given from the CPU to the 2-port microprocessor, and draws the start address of the memory storing the parameters of the graphic to be drawn and the start address of the memory storing the drawing program. As long as the figure to be displayed is continuously provided.

10-1-1は図形"c"のパラメータが格納されたメモリの先頭アドレスを表わし、10-1-2は、図形"c"の描画プログラムが格納されたメモリの先頭アドレスを表わす。10-1-2に続く部分は別の図形のパラメータおよびプログラムの先頭アドレスが記憶されている。10-1-3は最後の図形"h"のパラメータ先頭アドレスを、10-1-4はその描画プログラム先頭アドレスを表わす。10-1-5はワークリストの最後を表わしており、リストエンドと呼ぶ。リストエンドの値は、任意に決定することができる。   10-1-1 represents the start address of the memory storing the parameter of the figure “c”, and 10-1-2 represents the start address of the memory storing the drawing program of the figure “c”. The part following 10-1-2 stores the parameters of another figure and the start address of the program. 10-1-3 represents the parameter start address of the last figure “h”, and 10-1-4 represents the drawing program start address. 10-1-5 represents the end of the work list and is called the list end. The list end value can be arbitrarily determined.

10-2は図形"c"のパラメータであり、パラメータの数と順番は、図形"c"の描画プログラムに対応している。   10-2 is a parameter of the figure “c”, and the number and order of the parameters correspond to the drawing program of the figure “c”.

同様に10-3は、図形"h"のパラメータである。   Similarly, 10-3 is a parameter of the figure “h”.

以上、ワークリスト10-1、図形パラメータ10-2,10-3はシステムメモリ10上に
定義したが、これをローカルメモリ3上に定義することもできる。
Although the work list 10-1 and the graphic parameters 10-2 and 10-3 are defined on the system memory 10 as described above, they can also be defined on the local memory 3.

3-1はワークリスト参照プログラムであり、ワークリストから図形パラメータ先頭アドレスを読みだして、図形描画プログラムへ実行を移すプログラムである。3-2-1,3-2-2,3-2-3は、図形描画プログラムである。   Reference numeral 3-1 denotes a work list reference program which reads a graphic parameter head address from the work list and transfers execution to the graphic drawing program. Reference numerals 3-2-1, 3-2-2, and 3-2-3 are graphic drawing programs.

以上、プログラム3-1,3-2-1,3-2-2,3-2-3はローカルメモリ3上に定義し
たが、これをシステムメモリ10上に定義することもできる。
As described above, the programs 3-1, 3-2-1, 3-2-2, 3-2-3 are defined on the local memory 3, but can also be defined on the system memory 10.

2ポートマイクロプロセッサ1は、R0レジスタ1101-1内にワークリストのアドレスを記憶し、ワークリスト参照時にアドレスレジスタとして使用する。R1レジスタ1101-2は、プログラムアドレスを記憶する。R2レジスタ1101-3は、図形パラメータの読み出し時にアドレスレジスタとして使用する。   The 2-port microprocessor 1 stores the address of the work list in the R0 register 1101-1 and uses it as an address register when referring to the work list. The R1 register 1101-2 stores a program address. The R2 register 1101-3 is used as an address register when reading graphic parameters.

次に、2ポートマイクロプロセッサの図形描画方法を第5図を用いて説明する。   Next, the graphic drawing method of the 2-port microprocessor will be described with reference to FIG.

50は、CPUが2ポートマイクロプロセッサに図形描画処理を開始させる手順を示したフローチャートである。   50 is a flowchart showing a procedure by which the CPU causes the 2-port microprocessor to start the graphic drawing process.

まず、CPUがメモリ上にワークリストと図形パラメータとを生成する(50-1)。次に、CPUは、2ポートマイクロプロセッサのR1レジスタ(プログラムカ
ウンタ)に、ワークリスト参照プログラムの先頭アドレスを書き込む(50-2)。続
いて、CPUは2ポートマイクロプロセッサのR0レジスタ(コントロールレジ
スタ)中の動作制御ビットを"1"に、また同じくR0レジスタ中のワークリスト
アドレスフィールドにワークリストの先頭アドレスを書き込む(50-3)。CPUの処理は以上で終了する。以後の図形描画処理は2ポートマイクロプロセッサに任されるので、その間、CPUは他の処理を実行することができる。
First, the CPU generates a work list and graphic parameters on the memory (50-1). Next, the CPU writes the start address of the work list reference program in the R1 register (program counter) of the 2-port microprocessor (50-2). Subsequently, the CPU writes the operation control bit in the R0 register (control register) of the 2-port microprocessor to "1", and similarly writes the start address of the work list to the work list address field in the R0 register (50-3). . The process of the CPU ends here. Since the subsequent graphic drawing process is left to the 2-port microprocessor, the CPU can execute other processes during that time.

2ポートマイクロプロセッサは、R0レジスタ中の動作制御ビットが"1"になることで動作を開始する。   The 2-port microprocessor starts its operation when the operation control bit in the R0 register becomes “1”.

第5図中、60は、2ポートマイクロプロセッサの処理を示したものである。2ポートマイクロプロセッサは、前記ステップ50-2でR1レジスタを設定されたことによりワークリスト参照プログラムを実行する。まず、R0レジスタのワークリストアドレスフィールドをメモリアドレスとしてデータを読み出し、R2レジスタに書き込む(60-1)。同時にR0レジスタのワークリストアドレスの値に"1"を加える。次に、R2レジスタの内容とワークリストの最後を意味するリストエンド値とを比較する(60-2)。等しければ、R0レジスタの動作制御ビットを"0"に書き換え(60-3-b)、2ポートマイクロプロセッサは動作停止状態となる(60-6)。R2レジスタの内容とリストエンド値とが等しくなければ、R0レジスタのワークリストアドレスフィールドをメモリアドレスとしてデータを読み出し、R1レジスタに書き込む(60-3-a)。同時に、R0レジスタのワークリストアドレスの値に"1"を加える。このステップ60-3-aで書き換えられたR1レジスタの値に従って、2ポートマイクロプロセッサの処理はステップ60-4-a,60-4-b,60-4-cに示す図形描画プログラムのいずれかへ移る。この各プログラムでは、R2レジスタをアドレスレジスタとして使用することによりパラメータをメモリから読み出すことができる。描画プログラムが終了すると、R1レジスタをワークリスト参照プログラムの先頭アドレスに書き換えることにより(60-5)、再びステップ60-1の処理に移る。2ポートマイクロプロセッサは、ワークリスト中からリストエンドを検出するまで上記の処理を実行する。   In FIG. 5, reference numeral 60 denotes processing of the 2-port microprocessor. The 2-port microprocessor executes the work list reference program when the R1 register is set in step 50-2. First, data is read using the work list address field of the R0 register as a memory address and written to the R2 register (60-1). At the same time, “1” is added to the value of the work list address of the R0 register. Next, the contents of the R2 register are compared with the list end value indicating the end of the work list (60-2). If they are equal, the operation control bit of the R0 register is rewritten to “0” (60-3-b), and the 2-port microprocessor is stopped (60-6). If the contents of the R2 register and the list end value are not equal, the data is read using the work list address field of the R0 register as a memory address and written to the R1 register (60-3-a). At the same time, “1” is added to the value of the work list address of the R0 register. Depending on the value of the R1 register rewritten in step 60-3-a, the processing of the 2-port microprocessor is one of the graphic drawing programs shown in steps 60-4-a, 60-4-b, and 60-4-c. Move on. In each program, the parameters can be read from the memory by using the R2 register as an address register. When the drawing program is completed, the R1 register is rewritten to the start address of the work list reference program (60-5), and the process again proceeds to step 60-1. The 2-port microprocessor executes the above processing until it detects a list end from the work list.

次に、第6図を用いて2ポートマイクロプロセッサの内部構成を説明する。   Next, the internal configuration of the 2-port microprocessor will be described with reference to FIG.

1101は命令フェッチユニットであり、マイクロ命令のフェッチを行う。キャッシュメモリを内蔵し、キャッシュメモリに該当する命令が存在しない場合には外部メモリから命令を取り込む。   An instruction fetch unit 1101 fetches microinstructions. If a cache memory is built in and there is no corresponding instruction in the cache memory, the instruction is fetched from the external memory.

1102はデコーダであり、命令フェッチユニットから与えられた命令コードを解読し、演算制御を行う。   A decoder 1102 decodes the instruction code given from the instruction fetch unit and performs arithmetic control.

1103は演算ユニットであり、レジスタと演算器とを有し、演算の実行を行う。   Reference numeral 1103 denotes an arithmetic unit, which has a register and an arithmetic unit, and executes arithmetic operations.

1104はメモリアクセス管理ユニットであり、2ポートマイクロプロセッサ内で発生するメモリアクセス要求と、CPU8の割り込みを処理する。   A memory access management unit 1104 processes a memory access request generated in the 2-port microprocessor and an interrupt of the CPU 8.

102はポート1であり、CPU8からのアクセス応答およびシステムメモリ10
へのアクセスを行う。
Reference numeral 102 denotes a port 1, an access response from the CPU 8, and a system memory 10
Access to.

103はポート2であり、ローカルメモリ3、フレームメモリ4へのアクセスを
行う。
Reference numeral 103 denotes a port 2, which accesses the local memory 3 and the frame memory 4.

1105はバススイッチであり、演算ユニット1103とポート1(102)およびポート
2(103)との間のバス接続を行う。
Reference numeral 1105 denotes a bus switch, which performs a bus connection between the arithmetic unit 1103 and the port 1 (102) and the port 2 (103).

以下、各ユニットの詳細な説明を行う。   Hereinafter, each unit will be described in detail.

命令フェッチユニット1101は、キャッシュコントロール部1101-1、命令フェッチ制御部1101-2、命令バッファ1101-3から成る。動作制御の中心となるのは命令フェッチ制御部1101-2であり、演算ユニット1103内のR0レジスタ1103-1の動作制御ビットの状態によって、命令フェッチの実行の可否を決定する。すなわち、動作制御ビットが"0"であれば命令フェッチを実行せず、"1"であれば命令フェッチを実行する。   The instruction fetch unit 1101 includes a cache control unit 1101-1, an instruction fetch control unit 1101-2, and an instruction buffer 1101-3. The central part of the operation control is the instruction fetch control unit 1101-2, which determines whether or not the instruction fetch can be executed according to the state of the operation control bit of the R0 register 1103-1 in the arithmetic unit 1103. That is, if the operation control bit is “0”, the instruction fetch is not executed, and if it is “1”, the instruction fetch is executed.

命令フェッチ制御部1101-2は、キャッシュコントロール部1101-1にフェッチ要求を出す。キャッシュコントロール部1101-1は、演算ユニット1103内のR1レジスタ1103-2をプログラムアドレスとして、キャッシュコントロール部1101-1内のキャッシュメモリを検索する。キャッシュメモリ中に命令が存在すれば、キャッシュコントロール部1101-1は、命令フェッチ制御部1101-2に命令コードと共に応答信号を返す。命令フェッチ制御部1101-2は、命令バッファ1101-3に命令を格納すると共に演算ユニット1103内のR1レジスタ1103-2のプログラムアドレスをインクリメントさせる。キャッシュメモリ中に命令が存在しない場合は、キャッシュコントロール部1101-1はメモリアクセス管理ユニット1104に命令フェッチ要求を出す。   The instruction fetch control unit 1101-2 issues a fetch request to the cache control unit 1101-1. The cache control unit 1101-1 searches the cache memory in the cache control unit 1101-1 using the R1 register 1103-2 in the arithmetic unit 1103 as a program address. If there is an instruction in the cache memory, the cache control unit 1101-1 returns a response signal together with the instruction code to the instruction fetch control unit 1101-2. The instruction fetch control unit 1101-2 stores the instruction in the instruction buffer 1101-3 and increments the program address of the R1 register 1103-2 in the arithmetic unit 1103. If there is no instruction in the cache memory, the cache control unit 1101-1 issues an instruction fetch request to the memory access management unit 1104.

デコーダ1102は、命令フェッチユニットから与えられる命令を解読し、演算ユニット1103内のレジスタの読み出し制御、書き込み制御と、演算器の制御を行う他、ロードまたはストア(以下、総称してロード/ストア)命令の場合には、メモ
リアクセス管理ユニット1104に、ロード/ストア信号、ポート番号、およびロー
ドの場合にはロードしたデータを書き込むレジスタの番号(ロードレジスタ番号)(以上図面符号A)を与える。ポート番号とは、アクセスするメモリがポート1(102)上にあるか、ポート2(103)上にあるかを指定する信号である。ポートの指定方法について図を用いて説明する。
The decoder 1102 decodes an instruction given from the instruction fetch unit, performs read control, write control of the register in the arithmetic unit 1103, and control of the arithmetic unit, and also loads or stores (hereinafter collectively referred to as load / store). In the case of an instruction, the memory access management unit 1104 is given a load / store signal, a port number, and in the case of a load, a register number (load register number) to which the loaded data is written (reference numeral A in the drawing). The port number is a signal designating whether the memory to be accessed is on port 1 (102) or port 2 (103). The port designation method will be described with reference to the drawings.

第7図に、デコーダ1102内のポート番号指定回路を示す。1102-1がポート番号指定回路であり、ロード/ストア命令を解読すると、演算ユニット内のn個のレ
ジスタの中からアドレスレジスタ番号で指定されるレジスタの値を選択回路1102-1-aで選び、比較器1102-1-dに入力する。比較器1102-1-dの他の入力には比較データ1102-1-cが入力され、条件ビット1102-1-bに従って両入力値が比較され、その結果がポート番号として出力される。比較データは、第2図に示した2ポートマイクロプロセッサのシステム空間20とローカルメモリ空間40との境界のアドレスに対応し、条件ビットはその境界のいずれの側をシステムメモリに割当てるかを決定するものである。
FIG. 7 shows a port number designating circuit in the decoder 1102. 1102-1 is a port number designating circuit. When the load / store instruction is decoded, the register value designated by the address register number is selected from the n registers in the arithmetic unit by the selection circuit 1102-1-a. , Input to the comparator 1102-1-d. Comparison data 1102-1-c is input to the other input of the comparator 1102-1-d, both input values are compared according to the condition bits 1102-1-b, and the result is output as a port number. The comparison data corresponds to the address of the boundary between the system space 20 and the local memory space 40 of the 2-port microprocessor shown in FIG. 2, and the condition bit determines which side of the boundary is allocated to the system memory. Is.

条件ビット1102-1-bとポート番号指定方法との対応表を第8図に示す。条件ビットが"0"の場合は、アドレスレジスタのデータが比較データより大きいか等しい場合にポート1を指定し、それ以外はポート2を指定する。逆に条件ビットが"1"の場合は、アドレスレジスタのデータが比較データより大きいか等しい場合にポート2を指定し、それ以外はポート1を指定する。比較データと条件ビットとは任意に設定でき、これにより2ポートマイクロプロセッサのアクセスできるメモリ空間のメモリマップを任意に定めることができる。   FIG. 8 shows a correspondence table between the condition bits 1102-1-b and the port number designation method. When the condition bit is “0”, port 1 is designated when the data in the address register is greater than or equal to the comparison data, and port 2 is designated otherwise. Conversely, when the condition bit is “1”, port 2 is designated when the data in the address register is greater than or equal to the comparison data, and port 1 is designated otherwise. The comparison data and the condition bit can be arbitrarily set, and thereby a memory map of a memory space accessible by the 2-port microprocessor can be arbitrarily determined.

第6図に戻ってデコーダ1102の説明を続ける。   Returning to FIG. 6, the description of the decoder 1102 will be continued.

デコーダ1102がメモリアクセス管理ユニット1104にロード/ストアを要求する
と、もしそのポートが使用中あるいは予約済みの場合はウエイト信号(D)が返さ
れ、命令フェッチユニット1101およびデコーダ1102はウエイト状態になる。ロード/ストア要求が受け付けられると、デコーダ1102は続く命令の解読を行う。
When the decoder 1102 requests the memory access management unit 1104 to load / store, if the port is in use or reserved, a wait signal (D) is returned, and the instruction fetch unit 1101 and the decoder 1102 enter a wait state. When the load / store request is accepted, the decoder 1102 decodes the subsequent instruction.

ロード命令の場合には、メモリからデータが読み込まれると、メモリアクセス管理ユニット1104からデコーダ1102にウエイト信号(D)、強制レジスタ書き込み
信号およびそのレジスタ番号が与えられ、デコーダ1102はデコード中の命令実行を保留し、メモリから読み出されたデータのレジスタ書き込みを優先して行う。この回路を第9図に示す。
In the case of a load instruction, when data is read from the memory, the memory access management unit 1104 gives a wait signal (D), a forced register write signal and its register number to the decoder 1102, and the decoder 1102 executes the instruction being decoded. Is reserved, and the register read of the data read from the memory is prioritized. This circuit is shown in FIG.

第9図の回路において、命令によるレジスタの読み出し、書き込みは、命令解読回路1102-2が制御回路1102-3,1102-4,1102-5,1102-6,1102-7にレジスタ番号を与えて実行させる。メモリアクセス管理ユニット1104から強制的なレジスタアクセス信号とウエイト信号を受けると、命令解読回路1102-2は命令実行を停止し、レジスタ読み出し制御回路4(1102-6)またはレジスタ書き込み制御回路1102-7が強制アクセスレジスタ番号で指定されるレジスタに読み出し、書き込みを実行する。   In the circuit of FIG. 9, the instruction decoding circuit 1102-2 gives register numbers to the control circuits 1102-3, 1102-4, 1102-5, 1102-6, and 1102-7 in order to read and write registers by instructions. Let it run. Upon receiving a forced register access signal and wait signal from the memory access management unit 1104, the instruction decode circuit 1102-2 stops executing the instruction, and the register read control circuit 4 (1102-6) or register write control circuit 1102-7 Reads and writes to the register specified by the forced access register number.

なお、ロード命令がメモリアクセス管理ユニットに受け付けられた後、メモリからレジスタにデータが書き込まれるまでに、後続の命令実行によってそのレジスタが読み出しレジスタとして使用される可能性がある。この場合には、メモリからデータがレジスタにロードされるまで、その命令の実行を待たせる必要がある。そこで、デコーダ1102は、読み出しレジスタの番号を命令実行より早くメモリアクセス管理ユニット1104に与え、ロードレジスタ番号との比較を行わせる。もし一致した場合にはウエイト信号(D)が返され、その命令実行にウエイトをか
ける。
After the load instruction is received by the memory access management unit, there is a possibility that the register is used as a read register by subsequent instruction execution until data is written from the memory to the register. In this case, it is necessary to wait for execution of the instruction until data is loaded from the memory into the register. Therefore, the decoder 1102 gives the read register number to the memory access management unit 1104 earlier than the instruction execution, and makes a comparison with the load register number. If they match, a wait signal (D) is returned, and the execution of the instruction is waited.

次に、第6図に戻り、演算ユニット1103の説明を行う。   Next, returning to FIG. 6, the arithmetic unit 1103 will be described.

前述したように、n個のレジスタのうちR0レジスタ1103-1とR1レジスタ1103-2とは専用レジスタであり、R2レジスタからRn-1レジスタは汎用レジスタ1103-3である。バレルシフタ1103-4は、32ビットのデータを連結して64ビットに
し、6ビットのシフト数で指定された分だけシフトして生成した32ビットデータを出力する。3オペランドLU1103-5は、3つの入力データ間で256種の論理演
算を行う。ALU1103-6は、2つの入力データ間で算術論理演算を行う。内部バスは、読み出し用が4本(R3B,R2B,R1B,R0B)と、書き込み用が1本(WB)であり、このうちR1Bはバレルシフタ1103-4のシフト数および3オペランドLU1103-5の演算モードを与えるのに使用する。ストア命令実行時には、R2Bはアドレス転送に、R3Bはデータ転送に使用する。ロード命令実行時には、R2Bは同じくアドレス転送に、WBをデータ転送に使用する。
As described above, among the n registers, the R0 register 1103-1 and the R1 register 1103-2 are dedicated registers, and the R2 to Rn-1 registers are general-purpose registers 1103-3. The barrel shifter 1103-4 concatenates 32-bit data into 64-bit data, and outputs 32-bit data generated by shifting the data by an amount specified by a 6-bit shift number. The 3-operand LU 1103-5 performs 256 kinds of logical operations between the three input data. The ALU 1103-6 performs arithmetic logic operations between two input data. There are four internal buses for reading (R3B, R2B, R1B, R0B) and one for writing (WB), among which R1B is the number of shifts of the barrel shifter 1103-4 and the operation of three operands LU1103-5 Used to give mode. When executing a store instruction, R2B is used for address transfer and R3B is used for data transfer. When executing the load instruction, R2B also uses WB for address transfer and WB for data transfer.

次に、メモリアクセス管理ユニット1104について第10図を用いて説明する。   Next, the memory access management unit 1104 will be described with reference to FIG.

まず、ロード/ストア管理回路1104-2を説明する。1104-2-aは、ポート1で実
行中の状態を示す3ビットの状態レジスタ1であり、F1は命令フェッチ、L1はロード、S1はストアを意味する。"1"が設定されていればその動作中であることを意味する。1104-2-bは、ロード命令実行によりデータを書き込むレジスタの番号を記憶するレジスタである。
First, the load / store management circuit 1104-2 will be described. 1104-2-a is a 3-bit status register 1 indicating the status being executed at port 1, F1 means instruction fetch, L1 is load, and S1 is store. If “1” is set, it means that the operation is in progress. 1104-2-b is a register for storing a register number to which data is written by executing a load instruction.

ポート2についても同様に状態レジスタ2(1104-2-c)とロードレジスタ番号レジスタ2(1104-2-d)とを有している。ただし、状態レジスタ2(1104-2-c)は4ビットのレジスタであり、F2,L2,S2の各ビットに加えてさらにインタフェース実行中を意味するビットIを持つ。   Similarly, the port 2 has a status register 2 (1104-2-c) and a load register number register 2 (1104-2-d). However, the status register 2 (1104-2-c) is a 4-bit register, and further has a bit I indicating that the interface is being executed in addition to the bits F2, L2, and S2.

デコーダ1102からロード/ストア要求とポート番号とが与えられると、指定されたポートの状態レジスタ1104-2-a、1104-2-cを調べ、ポートが動作中であれば直ちにポート使用中を意味する信号をオア回路1104-5に与える。その結果ウエイト信号が出力され、実行しようとしているロード/ストア命令の実行にウエイト
をかける。状態レジスタ1104-2-a、1104-2-cが全ビット"0"の場合には、ロードあるいはストアのビットを"1"にセットする。またロード要求の場合には、デコーダが出力するロードレジスタ番号を指定されたポートのロードレジスタ番号レジスタ1104-2-b、1104-2-dに書き込む。
When a load / store request and port number are given from the decoder 1102, the status registers 1104-2-a and 1104-2-c of the specified port are checked, and if the port is in operation, it means that the port is in use immediately To the OR circuit 1104-5. As a result, a wait signal is output and waits for execution of the load / store instruction to be executed. When the status registers 1104-2-a and 1104-2-c are all “0”, the load or store bit is set to “1”. In the case of a load request, the load register number output from the decoder is written to the load register number registers 1104-2-b and 1104-2-d of the designated port.

ロード/ストア管理回路1104-2は、指定されたポートにロードまたはストアの指示を与える。また、ポート内のアドレスバッファにアドレスを書き込む制御信号を出力する。ストアの場合には、ポート内のデータバッファにデータを書き込む制御信号も出力する。   The load / store management circuit 1104-2 gives a load or store instruction to a designated port. Also, a control signal for writing an address to an address buffer in the port is output. In the case of store, a control signal for writing data to the data buffer in the port is also output.

メモリアクセスはロード/ストア命令だけでなく、命令フェッチユニットで命令キャッシュのミスヒットが起きた場合にも生じる。命令フェッチユニットは命令フェッチ要求とポート番号とを出力する。ロード/ストア管理回路1104-2は、指定されたポートの状態レジスタ1104-2-a、1104-2-cを調べる。ポートが未使用であれば、命令フェッチユニットにプログラムアドレスの読み出し信号を与え、ポート内のアドレスバッファに書き込みを行う。   Memory access occurs not only in load / store instructions, but also when an instruction cache miss occurs in the instruction fetch unit. The instruction fetch unit outputs an instruction fetch request and a port number. The load / store management circuit 1104-2 checks the status registers 1104-2-a and 1104-2-c of the designated port. If the port is not used, a read signal of the program address is given to the instruction fetch unit, and the address buffer in the port is written.

該当するポートからアクノリッジが返ると、ストア命令の場合にはそのポートの状態レジスタ1104-2-a、1104-2-cのストアビットS1またはS2を"0"にクリアする。ロード命令の場合には、レジスタ強制アクセス回路1104-3に処理を指示して、そのポートの状態レジスタ1104-2-a、1104-2-cのロードビットL1またはL2を"0"にクリアする
また、ロード/ストア管理回路1104-2は、CPUによるローカルバスアクセス時にも動作する。ポート1からバスインタフェース要求を受けると、ポート2が未使用になり次第、状態レジスタ2(1104-2-c)のビットIをセットし、ポート1にバスインタフェースレディを返す。CPUのローカルバス使用が終了し、バスインタフェース要求が取り下げられると状態レジスタ1104-2-cのインタフェースビットIをクリアする。
When an acknowledge is returned from the corresponding port, in the case of a store instruction, the store bit S1 or S2 of the status register 1104-2-a or 1104-2-c of that port is cleared to “0”. In the case of a load instruction, the register forced access circuit 1104-3 is instructed to process, and the load bit L1 or L2 of the status register 1104-2-a or 1104-2-c of that port is cleared to “0”. The load / store management circuit 1104-2 also operates when the local bus is accessed by the CPU. When a bus interface request is received from port 1, as soon as port 2 becomes unused, bit I of status register 2 (1104-2-c) is set, and bus interface ready is returned to port 1. When the use of the CPU local bus is completed and the bus interface request is canceled, the interface bit I of the status register 1104-2-c is cleared.

1104-3はレジスタ強制アクセス回路であり、ロード命令の実行によってメモリからポート内のデータバッファにデータが書き込まれた後、前記ロード/ストア管理回路1104-2からロードレジスタ要求およびロードレジスタ番号を受けて、デコーダ1102に強制レジスタ書き込みを実行させる。このときポート内にあるデータバッファの読み出し制御も行う。   A register forced access circuit 1104-3 receives a load register request and a load register number from the load / store management circuit 1104-2 after data is written from the memory to the data buffer in the port by execution of the load instruction. This causes the decoder 1102 to execute forced register write. At this time, read control of the data buffer in the port is also performed.

レジスタ強制アクセス回路1104-3は、CPUが2ポートマイクロプロセッサ内のレジスタをアクセスする場合にも動作する。CPUのレジスタ書き込み信号または読み出し信号とレジスタ番号とを受け取ると、デコーダ1102に強制レジスタ書き込みまたは読み出しを実行させる。このとき、ポート1内にあるCPUの読み出しデータまたは書き込みデータを一時蓄えるデータバッファ1202-1の書き込み、読み出し制御も行う。   The register forced access circuit 1104-3 also operates when the CPU accesses a register in the 2-port microprocessor. When the CPU register write signal or read signal and the register number are received, the decoder 1102 is caused to execute forced register write or read. At this time, writing / reading control of the data buffer 1202-1 for temporarily storing read data or write data of the CPU in the port 1 is also performed.

1104-4はバススイッチ制御回路であり、ロード/ストア実行時に演算ユニット
と各ポートとの間のデータ転送のためのバス接続制御を行う。
Reference numeral 1104-4 denotes a bus switch control circuit, which performs bus connection control for data transfer between the arithmetic unit and each port during load / store execution.

1104-1はレジスタ読み出し禁止回路であり、デコーダ1102から読み出しが行われるレジスタ番号を実行より早いタイミングで受け、ロード/ストア管理回路1104-2で保持しているロードレジスタ番号と比較する。演算ユニット1103には4つの読み出しバスがあるため、最大で4つの読み出しレジスタ番号とロードレジスタ番号とを比較する。一致する番号があれば、これから実行しようとする命令実行にウエイトをかける。   Reference numeral 1104-1 denotes a register read prohibiting circuit which receives a register number to be read from the decoder 1102 at a timing earlier than execution and compares it with the load register number held in the load / store management circuit 1104-2. Since the arithmetic unit 1103 has four read buses, a maximum of four read register numbers are compared with load register numbers. If there is a matching number, the instruction execution to be executed is weighted.

次に、第6図に戻り、ポート1(102)の説明を行う。   Next, returning to FIG. 6, the port 1 (102) will be described.

ポート1(102)は、メモリアクセスユニット1201、CPU応答ユニット1202、
アドレスラッチ1203、データラッチ1204、端子1205から成る。
Port 1 (102) has a memory access unit 1201, a CPU response unit 1202,
It consists of an address latch 1203, a data latch 1204, and a terminal 1205.

メモリアクセスユニット1201は、前記メモリアクセス管理ユニット1104のロード/ストア指示(G-1)を受けて、システムメモリ10へのアクセスを実行する。演算ユニット1103から与えられるアドレスおよびストアデータを保持するために、アドレスバッファ1(1201-1)とWデータバッファ1(1201-2)とを有する。また、システムメモリ10から読み出したデータを保持するためにRデータバッファ1(1201-3)を有する。   In response to the load / store instruction (G-1) from the memory access management unit 1104, the memory access unit 1201 executes access to the system memory 10. An address buffer 1 (1201-1) and a W data buffer 1 (1201-2) are provided to hold the address and store data given from the arithmetic unit 1103. In addition, an R data buffer 1 (1201-3) is provided to hold data read from the system memory 10.

メモリアクセスユニット1201は、メモリアクセスに先立って、まずシステムバス9の使用権を獲得する。バス使用権を得て、アクセスを開始した後、システム
メモリ10から応答が来ると、メモリアクセス管理ユニット1104にアクノリッジ(G-2)を返す。ロードの場合には、メモリアクセス管理ユニット1104からRデータ
バッファ1(1201-3)の読み出し(G-3)が行われる。
The memory access unit 1201 first obtains the right to use the system bus 9 prior to memory access. When a response is received from the system memory 10 after acquiring the bus use right and starting access, an acknowledge (G-2) is returned to the memory access management unit 1104. In the case of loading, reading (G-3) of the R data buffer 1 (1201-3) is performed from the memory access management unit 1104.

CPU応答ユニット1202は、CPU8が2ポートマイクロプロセッサ内のレジスタ1103-1〜1103-3をアクセスする場合、およびローカルメモリ3またはフレームメモリ4をアクセスする場合に動作する。   The CPU response unit 1202 operates when the CPU 8 accesses the registers 1103-1 to 1103-3 in the 2-port microprocessor and accesses the local memory 3 or the frame memory 4.

レジスタアクセスの場合は、メモリアクセス管理ユニット1104にレジスタアクセス信号およびレジスタ番号(H-1)を出力する。レジスタ書き込みの場合は、メ
モリアクセス管理ユニット1104が命令フェッチユニット1101およびデコーダ1102にウエイトをかけ、CPUデータバッファ1202-1のデータをバスMRBに読み出し(H-2)、指定されたレジスタに強制書き込みを行う。レジスタ読み出しの場合
は、メモリアクセス管理ユニット1104がやはり命令フェッチユニット1101およびデコーダ1102にウエイトをかけ、レジスタを強制的に読み出し、CPUデータバッファ1202-1に書き込む(H-3)。CPU応答ユニット1202は、データをラッチ1204に書き込み、アクノリッジをCPUに返して、データ読み出しを行わせる。
In the case of register access, a register access signal and a register number (H-1) are output to the memory access management unit 1104. In the case of register write, the memory access management unit 1104 waits for the instruction fetch unit 1101 and the decoder 1102, reads the data in the CPU data buffer 1202-1 to the bus MRB (H-2), and forcibly writes to the designated register. I do. In the case of register reading, the memory access management unit 1104 also waits for the instruction fetch unit 1101 and the decoder 1102, forcibly reads the register, and writes it to the CPU data buffer 1202-1 (H-3). The CPU response unit 1202 writes data to the latch 1204 and returns an acknowledge to the CPU to read data.

CPUがローカルメモリ3、フレームメモリ4をアクセスする場合は、CPU応答ユニットがメモリアクセス管理ユニット1104にバスインタフェース要求(I-1)を出力する。次のメモリサイクルでローカルバス2が空くことがわかると、メモリアクセス管理ユニット1104は、バスインタフェースレディ(I-2)を返す。CP
U応答ユニット1202は、ポート2(103)のメモリアクセスユニット1301にロード
またはストア信号を出力し、アドレスをポート1(102)内のラッチ1203からポー
ト2(103)内のラッチ1302に転送する。ストアの場合は、データをポート1(102)内のラッチ1204からポート2(103)内のラッチ1303に転送する。ローカルメモリ3、フレームメモリ4のアクセスは、メモリアクセスユニット2(1301)が実行する
。CPU応答ユニット1202は、ストアの場合はメモリアクセスが開始されると、CPU8にアクノリッジを返し、CPU8のバスサイクルを終了させる。ロードの場合はメモリアクセス終了後、ラッチ1303に読み込まれたデータをポート1(102)内のラッチ1204に転送し、CPU8にアクノリッジを返してシステムバス9から
データの読み出しを行わせる。
When the CPU accesses the local memory 3 and the frame memory 4, the CPU response unit outputs a bus interface request (I-1) to the memory access management unit 1104. When it is found that the local bus 2 is free in the next memory cycle, the memory access management unit 1104 returns a bus interface ready (I-2). CP
The U response unit 1202 outputs a load or store signal to the memory access unit 1301 of the port 2 (103), and transfers the address from the latch 1203 in the port 1 (102) to the latch 1302 in the port 2 (103). In the case of store, data is transferred from the latch 1204 in the port 1 (102) to the latch 1303 in the port 2 (103). Access to the local memory 3 and the frame memory 4 is executed by the memory access unit 2 (1301). In the case of storing, the CPU response unit 1202 returns an acknowledge to the CPU 8 when the memory access is started and ends the CPU 8 bus cycle. In the case of loading, after the memory access is completed, the data read into the latch 1303 is transferred to the latch 1204 in the port 1 (102), and an acknowledge is returned to the CPU 8 to read the data from the system bus 9.

次に、ポート2(103)の説明を行う。   Next, the port 2 (103) will be described.

ポート2(103)は、メモリアクセスユニット2(1301)、アドレスラッチ1302、
データラッチ1303、端子1304から成る。
Port 2 (103) includes memory access unit 2 (1301), address latch 1302,
It consists of a data latch 1303 and a terminal 1304.

メモリアクセスユニット2(1301)は、前記メモリアクセス管理ユニット1104または前記CPU応答ユニット1202の指示を受けて、ローカルメモリ3、フレームメモリ4へのアクセスを実行する。演算ユニット1103から与えられるアドレスお
よびストアデータを保持するために、アドレスバッファ2(1301-1)およびWデータバッファ2(1301-2)を有する。また、ローカルメモリ3、フレームメモリ4から読み出したデータを保持するためにRデータバッファ2(1301-3)を有する。ローカルバス2は同期式のバスであり、内部クロックの6倍を1回のメモリサイクルとして使用する。
The memory access unit 2 (1301) executes access to the local memory 3 and the frame memory 4 in response to an instruction from the memory access management unit 1104 or the CPU response unit 1202. In order to hold an address and store data given from the arithmetic unit 1103, an address buffer 2 (1301-1) and a W data buffer 2 (1301-2) are provided. In addition, an R data buffer 2 (1301-3) is provided to hold data read from the local memory 3 and the frame memory 4. The local bus 2 is a synchronous bus and uses six times the internal clock as one memory cycle.

次に、第11図を用いて、2ポートマイクロプロセッサの2つのメモリへの同時アクセスについて説明する。   Next, simultaneous access to two memories of a 2-port microprocessor will be described with reference to FIG.

内部クロックkで命令キャッシュからフェッチされた命令nをデコードした結果、その命令がロード命令でありポート1が指定されたとする。メモリアクセス管理ユニットは、ポート1の動作状況を調べ、空きと判断した場合、メモリアクセスユニット1にロード1(第11図中、符号1)を出力する。また、演算ユニットは、アドレスレジスタに指定されたレジスタの内容をバスに読み出し、メモリアクセス管理ユニットはバススイッチを接続して、アドレスバッファ1にバス上
のアドレスを書き込む(2)。
As a result of decoding the instruction n fetched from the instruction cache with the internal clock k, it is assumed that the instruction is a load instruction and port 1 is designated. The memory access management unit checks the operation status of the port 1, and when it is determined that it is empty, outputs a load 1 (reference numeral 1 in FIG. 11) to the memory access unit 1. The arithmetic unit reads the contents of the register designated as the address register to the bus, and the memory access management unit connects the bus switch to write the address on the bus to the address buffer 1 (2).

メモリアクセスユニット1はシステムバス獲得を要求し、バス権が与えられると矢印3に示すように、アドレスバッファ1からメモリアドレスをシステムバスに出力し、システムメモリに対して読み出しアクセスを実行する。システムメモリから応答が返ると、メモリアクセス管理ユニットにアクノリッジ1(4)を返す。また、システムバスからは、矢印5が示すように、Rデータバッファ1にデータを読み込む。アクノリッジ1(4)を受けたメモリアクセス管理ユニットは演算ユニット内のレジスタに強制書き込みを行い、ロード1を取り下げる(6)。   The memory access unit 1 requests acquisition of the system bus. When the bus right is granted, the memory access unit 1 outputs the memory address from the address buffer 1 to the system bus and executes read access to the system memory as indicated by the arrow 3. When a response is returned from the system memory, an acknowledge 1 (4) is returned to the memory access management unit. Further, data is read from the system bus into the R data buffer 1 as indicated by an arrow 5. Upon receipt of Acknowledge 1 (4), the memory access management unit forcibly writes to the register in the arithmetic unit and withdraws Load 1 (6).

一方、内部クロックk+1でフェッチされた命令n+1は、ポート2へのロード命令であるとする。メモリアクセス管理ユニットは、ポート2の動作状況を調べ、メモリアクセスユニット2にロード2(11)を出力する。また演算ユニットはアドレスレジスタに指定されたレジスタの内容をバスに読み出し、メモリアクセス管理ユニットがこれをメモリアクセスユニット2のアドレスバッファに書き込む(12)。メモリアクセスユニット2は、クロックk+7で開始するメモリサイクルでメモリアドレスを出力し(13)、クロックk+11でデータをRデータバッファ2に読み込む(15)。メモリアクセス管理ユニットは、クロックk+10のアクノリッジ2(14)に応じてRデータバッファ2を読み出し、演算ユニット内のレジスタに強制書き込みを行う。   On the other hand, it is assumed that the instruction n + 1 fetched with the internal clock k + 1 is a load instruction to the port 2. The memory access management unit checks the operation status of the port 2 and outputs load 2 (11) to the memory access unit 2. The arithmetic unit reads the contents of the register designated as the address register to the bus, and the memory access management unit writes it in the address buffer of the memory access unit 2 (12). The memory access unit 2 outputs a memory address in a memory cycle starting at clock k + 7 (13), and reads data into the R data buffer 2 at clock k + 11 (15). The memory access management unit reads the R data buffer 2 according to the acknowledge 2 (14) of the clock k + 10, and forcibly writes to the register in the arithmetic unit.

このように、2ポートマイクロプロセッサは、メモリアクセス管理ユニットが2つのポートの動作状態を管理し、メモリから読み出したデータのレジスタ強制書き込みを行う機能を有することによって、2つのポートを同時に使用したメモリアクセスを行うことができる。   As described above, the 2-port microprocessor has a function in which the memory access management unit manages the operation state of the two ports and performs register forced writing of data read from the memory, thereby simultaneously using the two ports. Can be accessed.

次に、CPUの2ポートマイクロプロセッサ内のレジスタアクセスについて説明する。   Next, register access in the 2-port microprocessor of the CPU will be described.

第12図は、CPUが2ポートマイクロプロセッサ内のR0レジスタの内容を読み出して、モディファイし、再びR0レジスタに書き込むタイムチャートを示している。外部デコーダ12によってCPUからのレジスタ読み出し要求を受けると、CPU応答ユニットはメモリアクセス管理ユニットに、CPUレジスタ読み出し信号(第12図中1)およびレジスタ番号を出力する。メモリアクセス管理ユニットは、これに応じて直ちに命令フェッチユニットおよびデコーダにウエイトをかけ(図では命令j+1にウエイトがかかっている)、演算ユニット内のR0レジスタを強制的に読み出し、CPUデータバッファに書き込む(2)。CPU応答ユニットは、CPUデータバッファのデータをシステムバスに出力し、CPUに応答を返す。CPUは読み出したデータをモディファイし、引き続いて書き込みサイクルを開始する。   FIG. 12 shows a time chart in which the CPU reads the contents of the R0 register in the 2-port microprocessor, modifies it, and writes it again into the R0 register. When the external decoder 12 receives a register read request from the CPU, the CPU response unit outputs a CPU register read signal (1 in FIG. 12) and a register number to the memory access management unit. In response to this, the memory access management unit immediately waits for the instruction fetch unit and the decoder (in the figure, the instruction j + 1 is weighted), forcibly reads the R0 register in the arithmetic unit, and executes the CPU data buffer. Write to (2). The CPU response unit outputs the data in the CPU data buffer to the system bus and returns a response to the CPU. The CPU modifies the read data, and subsequently starts a write cycle.

CPUのレジスタ書き込み要求を受けたCPU応答ユニットは、システムバス上のデータをCPUデータバッファに読み込み(11)、メモリアクセス管理ユニットにCPUレジスタ書き込み信号およびレジスタ番号を出力する(12)。メモリアクセス管理ユニットは、直ちに命令フェッチユニットとデコーダにウエイトをかけ(図では命令k+1にウエイトがかかっている)、演算ユニット内のR0レジスタ
に強制書き込みを行う(13)。
Upon receiving the CPU register write request, the CPU response unit reads data on the system bus into the CPU data buffer (11), and outputs a CPU register write signal and a register number to the memory access management unit (12). The memory access management unit immediately waits for the instruction fetch unit and the decoder (in the figure, the instruction k + 1 is waited), and forcibly writes to the R0 register in the arithmetic unit (13).

図中に示したマイクロ命令の実行ステージからわかるように、強制読み出し(
2)はCPUレジスタ読み出し信号(1)が与えられた次のサイクルで実行し、強
制書き込み(13)はCPUレジスタ書き込み信号(12)が与えられた2つ後のサイクルで実行する。
As can be seen from the microinstruction execution stage shown in the figure, forced read (
2) is executed in the next cycle to which the CPU register read signal (1) is given, and the forced write (13) is executed in the second cycle after the CPU register write signal (12) is given.

次に、CPUによるローカルメモリ、フレームメモリへのアクセスについて説明する。   Next, access to the local memory and frame memory by the CPU will be described.

第13図は、CPUがローカルメモリをリードアクセスする場合のタイムチャートを示している。外部デコーダによってCPUのローカルメモリアクセス要求を受けると、CPU応答ユニットはメモリアクセス管理ユニットに、バスインタフェース要求(1)を出力する。   FIG. 13 shows a time chart when the CPU performs read access to the local memory. When a CPU local memory access request is received by the external decoder, the CPU response unit outputs a bus interface request (1) to the memory access management unit.

メモリアクセス管理ユニットは、ポート2の動作状況を調べる。クロックk+4でメモリアクセスユニット2からアクノリッジ2(2)が返り、メモリアクセス管理ユニット内にあるポート2の状態レジスタがクリアされると、バスインタフェース要求を受付け、状態レジスタのビットIをセットし、CPU応答ユニットにバスインタフェースレディを返す(3)。CPU応答ユニットは、バスインタフェース要求を取り下げ(4)、ポート1内のアドレスラッチに読み込まれたメモリアドレスをポート2内のアドレスラッチへ転送し(5)、メモリアクセスユニット2にロード要求を出す。メモリアクセスユニット2は、ローカルメモリからデータを読み出し、CPU応答ユニットにアクノリッジを返す(6)。CPU応答ユニットは、ポート2内のデータラッチに読み込まれたデータをポート1内のデータラッチに転送し、システムバスに出力する(7)。CPUはポート1からの応答を受けて、システムバス上のデータを読み込む。   The memory access management unit checks the operation status of the port 2. When the acknowledge 2 (2) is returned from the memory access unit 2 at the clock k + 4 and the status register of the port 2 in the memory access management unit is cleared, the bus interface request is accepted, the bit I of the status register is set, and the CPU Return the bus interface ready to the response unit (3). The CPU response unit cancels the bus interface request (4), transfers the memory address read into the address latch in port 1 to the address latch in port 2 (5), and issues a load request to the memory access unit 2. The memory access unit 2 reads data from the local memory and returns an acknowledge to the CPU response unit (6). The CPU response unit transfers the data read into the data latch in port 2 to the data latch in port 1 and outputs it to the system bus (7). In response to the response from port 1, the CPU reads data on the system bus.

次に、2ポートマイクロプロセッサのリードモディファイライト命令について説明する。   Next, the read modify write instruction of the 2-port microprocessor will be described.

この命令は、メモリから読み出したデータに演算を行ない、結果を元のメモリアドレスに書き戻す処理を連続2メモリサイクルで実行するための命令である。まず、使用する図の概略説明を行う。第14図は、リードモディファイライト命令のリードサイクル時の各ユニット間の信号伝達を表わしている。第15図は、続くモディファイライトサイクル時の各ユニット間の信号伝達を表わしている。第16図は、第14図、第15図の動作のタイムチャートである。また、第17図はモディファイバッファを用いる本発明のマイクロプロセッサの概念図である。   This instruction is an instruction for performing an operation on the data read from the memory and writing the result back to the original memory address in two consecutive memory cycles. First, a schematic description of the drawings to be used will be given. FIG. 14 shows signal transmission between the units during the read cycle of the read-modify-write instruction. FIG. 15 shows signal transmission between the units during the following modify write cycle. FIG. 16 is a time chart of the operations of FIGS. 14 and 15. FIG. 17 is a conceptual diagram of the microprocessor of the present invention using a modify buffer.

まず、第14図、第16図を用いて、リードサイクルの説明を行なう。   First, the read cycle will be described with reference to FIG. 14 and FIG.

命令デコーダは、内部クロックkでフェッチされたリードモディファイライト命令(第14図、第16図中1)を解読すると、直ちにウエイト信号(2)を命令フェッチユニットに返す。この信号は、モディファイを実行するまで命令フェッチユニットに出力し続ける。命令デコーダは、Riレジスタの内容をメモリアドレスとしてR2Bに出力させ、メモリアクセス管理ユニットにロード要求、ストア要求およびポート番号を与える(3)。また、Rsレジスタの内容をR3Bに出力させ、命令デコーダ内部のモディファイバッファ1102-9に取り込む(4)。一方、ロード/ストア要求を受けたメモリアクセス管理ユニットは、指定されたポートの状
態レジスタのロードビットとストアビットとを共に"1"にセットし、ロード信号(7)を出力するとともに、バススイッチを接続制御して(5)、アドレスバッファにメモリアドレスを書き込む(6)。指定されたポートは、アドレスバッファのメモリアドレスをラッチし(8)、メモリに出力して(9)、リードサイクルを開始する。メモリからデータが読み出されると、ポートはこれをラッチし(10)、Rデータバッファに読み込み(11)、メモリアクセス管理ユニットにアクノリッジ(12)を返す。メモリアクセス管理ユニットは、命令デコーダに強制書き込み信号を与え(13)、バススイッチを接続制御して、Rデータバッファから読み出したデータをRqレジスタに書き込ませる(14)。
When the instruction decoder decodes the read-modify-write instruction (1 in FIGS. 14 and 16) fetched with the internal clock k, it immediately returns a wait signal (2) to the instruction fetch unit. This signal continues to be output to the instruction fetch unit until modification is executed. The instruction decoder causes the contents of the Ri register to be output as a memory address to R2B, and gives a load request, a store request, and a port number to the memory access management unit (3). Further, the contents of the Rs register are output to R3B and taken into the modify buffer 1102-9 inside the instruction decoder (4). On the other hand, the memory access management unit that has received the load / store request sets both the load bit and the store bit of the status register of the designated port to “1”, outputs the load signal (7), and the bus switch. (5) and write the memory address to the address buffer (6). The designated port latches the memory address of the address buffer (8), outputs it to the memory (9), and starts a read cycle. When data is read from the memory, the port latches it (10), reads it into the R data buffer (11), and returns an acknowledge (12) to the memory access management unit. The memory access management unit gives a forced write signal to the instruction decoder (13), controls connection of the bus switch, and writes the data read from the R data buffer to the Rq register (14).

続いての処理は、第15図と第16図を用いて説明する。   Subsequent processing will be described with reference to FIGS. 15 and 16.

メモリアクセス管理ユニットは、状態レジスタのロードビットを"0"にリセットし、ポートにストア信号を与える(第15図、第16図中15)。ポートは、アドレスバッファのメモリアドレスをラッチし(16)、メモリに出力して(17)、ライトサイクルを開始する。   The memory access management unit resets the load bit of the status register to “0” and gives a store signal to the port (15 in FIGS. 15 and 16). The port latches the memory address of the address buffer (16), outputs it to the memory (17), and starts a write cycle.

命令デコーダは、命令フェッチユニットへのウエイト信号を取り下げ(18)、演算ユニットにモディファイバッファの命令を実行させる(19)。この例は、RqレジスタとRrレジスタの両内容についてALUで演算し、結果をRqレジスタに格納する命令である。   The instruction decoder cancels the wait signal to the instruction fetch unit (18), and causes the arithmetic unit to execute the instruction in the modify buffer (19). In this example, the contents of both the Rq register and the Rr register are operated by the ALU, and the result is stored in the Rq register.

メモリアクセス管理ユニットは、ALUが演算結果を出力するタイミングでバススイッチを接続制御し(20)、WB上のデータをポート内のWデータバッファに書き込む(21)。   The memory access management unit controls connection of the bus switch at the timing when the ALU outputs the operation result (20), and writes the data on the WB to the W data buffer in the port (21).

ポートは、Wデータバッファのデータをラッチし(22)、メモリに出力する(23)。また、メモリアクセス管理ユニットにアクノリッジ(24)を返し、状態レジスタのストアビットを"0"にクリアさせる。   The port latches the data in the W data buffer (22) and outputs it to the memory (23). Also, an acknowledge (24) is returned to the memory access management unit, and the store bit of the status register is cleared to “0”.

第17図の概念図に示すように、プログラムの命令を保持する通常の命令バッファとは別個に予めいずれかのレジスタに設定した従命令を保持するモディファイバッファを設け、命令バッファの命令デコード結果に応じて、従命令の実行を要する場合には直ちにモディファイバッファの命令をデコードすることにより、第16図のタイムチャートから分かるように、リードサイクルで読み込んだデータのモディファイ結果を次のライトサイクルに間にあわせることができる。また、モディファイバッファに取り込む命令は、R2〜Rn-1の任意のレジスタから読み出すことが可能である。なお、第17図では概念を明確にするためにモディファイバッファをデコーダとは別個のブロックで示してある。   As shown in the conceptual diagram of FIG. 17, a modification buffer that holds subordinate instructions set in any register in advance is provided separately from the normal instruction buffer that holds program instructions. Accordingly, when it is necessary to execute the sub instruction, the instruction in the modify buffer is immediately decoded, and as can be seen from the time chart of FIG. Can be adapted. Further, an instruction fetched into the modify buffer can be read from any register R2 to Rn-1. In FIG. 17, in order to clarify the concept, the modify buffer is shown as a separate block from the decoder.

次に、第18図を用いてシステムメモリからフレームメモリへの矩形転送方式を説明する。   Next, a rectangular transfer method from the system memory to the frame memory will be described with reference to FIG.

10-1は、システムメモリ10をX−Y座標空間で表したものである。転送元メモリ幅MWSとは、矩形領域の転送元であるシステムメモリのX−Y座標空間10-1の幅である。ORGSとは、転送元のX−Y座標空間10-1の原点であり、その値はシステムメモリ10上のビットアドレスである。10-2は転送元矩形領域であり、Xss、Yssはそれぞれ転送開始位置のX座標及びY座標であり、Xse、Yseはそれぞれ転送終了位置のX座標及びY座標である。   10-1 represents the system memory 10 in the XY coordinate space. The transfer source memory width MWS is the width of the XY coordinate space 10-1 of the system memory that is the transfer source of the rectangular area. ORGS is the origin of the XY coordinate space 10-1 of the transfer source, and its value is a bit address on the system memory 10. Reference numeral 10-2 denotes a transfer source rectangular area, Xss and Yss are the X coordinate and Y coordinate of the transfer start position, and Xse and Yse are the X coordinate and Y coordinate of the transfer end position, respectively.

4-1は、フレームメモリ4をX−Y座標空間で表したものである。転送先メモ
リ幅MWDとは、矩形領域の転送先であるフレームメモリのX−Y座標空間4-1
の幅である。ORGDとは、転送先のX−Y座標空間4-1の原点であり、その値
はフレームメモリ4上のビットアドレスである。4-2は転送先矩形領域であり、Xds、Ydsはそれぞれ転送開始位置のX座標及びY座標である。
Reference numeral 4-1 represents the frame memory 4 in the XY coordinate space. The transfer destination memory width MWD is the XY coordinate space 4-1 of the frame memory that is the transfer destination of the rectangular area.
Width. The ORGD is the origin of the transfer destination XY coordinate space 4-1, and the value is a bit address on the frame memory 4. Reference numeral 4-2 denotes a transfer destination rectangular area, and Xds and Yds are the X coordinate and Y coordinate of the transfer start position, respectively.

まず、CPU8は図中符号50に示すように、システムメモリ10上に、図形転送プログラムの先頭アドレスおよび図形パラメータの先頭アドレスからなるワークリストを生成する。また、ワークリスト中のパラメータ先頭アドレスが指すアドレス以降の連続したアドレスに図形転送に必要なパラメータを生成する。   First, as indicated by reference numeral 50 in the figure, the CPU 8 generates a work list on the system memory 10 that includes the top address of the graphic transfer program and the top address of the graphic parameter. Also, parameters necessary for graphic transfer are generated at successive addresses after the address indicated by the parameter start address in the work list.

次に、CPU8が起動をかけると(60)、2ポートマイクロプロセッサ1は、実行すべきプログラムの先頭アドレスをワークリストから読み込んで、ローカルメモリ3から図形転送プログラムをフェッチする(70)。矩形領域の転送元アドレスは、システムメモリ10から読み込んだ座標値、ORGSおよび転送元メモリ幅(80)から計算する。同様に、矩形領域の転送先アドレスは、フレームメモリ4から
読み込んだ座標値、ORGDおよび転送先メモリ幅(80)から計算する。
Next, when the CPU 8 starts up (60), the 2-port microprocessor 1 reads the head address of the program to be executed from the work list and fetches the graphic transfer program from the local memory 3 (70). The transfer source address of the rectangular area is calculated from the coordinate value read from the system memory 10, the ORGS, and the transfer source memory width (80). Similarly, the transfer destination address of the rectangular area is calculated from the coordinate value read from the frame memory 4, the ORGD, and the transfer destination memory width (80).

転送元の矩形領域のデータと転送先矩形領域のデータとの間で論理演算を伴うデータ転送を行うには、第14図〜第16図で説明したリードモディファイライト命令を利用して、システムメモリ10から読み込んだ転送元データ(90-1)を転送先であるフレームメモリ上のデータ(90-2)との間でデータ演算を実行し、結果を転送先アドレスに書き込む(90-3)。以上のアドレス計算とデータ演算とを転送する矩形領域について実行することにより、システムメモリ10からフレームメモリ4への矩形領域の転送を高速に行わせることができる。   In order to perform data transfer involving logical operation between the data in the transfer source rectangular area and the data in the transfer destination rectangular area, the system memory is used by using the read modify write instruction described in FIGS. Data calculation is performed between the transfer source data (90-1) read from 10 and the data (90-2) in the frame memory as the transfer destination, and the result is written to the transfer destination address (90-3). By executing the address calculation and the data calculation for the rectangular area, the rectangular area can be transferred from the system memory 10 to the frame memory 4 at high speed.

なお、演算ユニットの構成については第6図によりその概略を説明したが、参考のためにこの矩形領域のデータ転送に使用される演算ユニット部の具体的構成を第19図に示す。演算ユニットの具体的構成要素は、ビットマップメモリのX方向のワード数(メモリ幅)を記憶するレジスタと、ビットマップメモリ上に定義した3つの矩形領域(転送元領域、パターン領域、転送先領域)のワードアドレスを記憶するレジスタ(転送元アドレスレジスタ、パターンアドレスレジスタ、転
送先アドレスレジスタ)と、転送元領域と転送先領域のビット位置の差を記憶す
る転送元シフト数レジスタと、パターン領域と転送先領域のビット位置の差を記憶するパターンシフト数レジスタと、転送元データを転送元シフト数レジスタに基いてシフトし、またはパターンデータをパターンシフト数レジスタに基いてシフトするバレルシフタと、シフト後の転送元データ、パターンデータおよび転送先データ間で論理演算を行う3オペランドLUと、転送先領域の左端、右端で、書き込み禁止領域を指定するマスク手段と、このマスク手段に基いて、演算結果と転送先データとを合成する合成回路等からなる。
Although the outline of the configuration of the arithmetic unit has been described with reference to FIG. 6, FIG. 19 shows a specific configuration of the arithmetic unit used for data transfer of this rectangular area for reference. The specific components of the arithmetic unit are a register that stores the number of words (memory width) in the X direction of the bitmap memory, and three rectangular areas defined on the bitmap memory (transfer source area, pattern area, and transfer destination area) ) Word address registers (transfer source address register, pattern address register, transfer destination address register), transfer source shift number register for storing the bit position difference between the transfer source area and the transfer destination area, and the pattern area Pattern shift number register that stores the bit position difference of the transfer destination area, barrel shifter that shifts the transfer source data based on the transfer source shift number register, or shifts the pattern data based on the pattern shift number register, and after the shift 3-operand L that performs a logical operation between the transfer source data, pattern data, and transfer destination data When the left end of the transfer destination area, at the right, and mask means for designating a write prohibit area, based on the mask means, made of a synthetic circuit for synthesizing the arithmetic operation result and the destination data.

以上、発明の好適な実施例についてのみ説明したが、発明の要旨を逸脱することなく種々の変更を加えることは可能である。例えば、モディファイバッファを用いるマイクロプロセッサの構成は、必ずしも2ポートを必要とするものではなく、従来の1ポートのプロセッサにも適用することができる。また、図形処理装置についてのみ説明したが、分離されたバス間のデータ転送を伴う用途、例えば、プリンタ制御、通信制御等の特定処理専用のプロセッサとして利用することができる。   Although only the preferred embodiments of the invention have been described above, various modifications can be made without departing from the spirit of the invention. For example, the configuration of a microprocessor using a modify buffer does not necessarily require two ports, and can be applied to a conventional one-port processor. Although only the graphic processing device has been described, it can be used as a processor dedicated to a specific process such as an application involving data transfer between separated buses, such as printer control and communication control.

本発明の2ポートマイクロプロセッサを使用した図形処理装置のブロック図である。1 is a block diagram of a graphics processing apparatus using a 2-port microprocessor of the present invention. 第1図の装置のメモリマップである。It is a memory map of the apparatus of FIG. 第1図のプロセッサ1の内部レジスタの説明図である。It is explanatory drawing of the internal register of the processor 1 of FIG. 第1図のプロセッサ1のコマンドとプログラムのメモリマップである。It is a memory map of the command and program of the processor 1 of FIG. 第1図のプロセッサ1の動作フロー図である。It is an operation | movement flowchart of the processor 1 of FIG. 第1図のプロセッサ1の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the processor 1 of FIG. 第6図内のデコーダ1102内のポート番号指定回路のブロック図である。FIG. 10 is a block diagram of a port number designation circuit in the decoder 1102 in FIG. 第7図の回路の動作説明図である。FIG. 9 is an operation explanatory diagram of the circuit of FIG. 7. 第6図内のデコーダ1102内のレジスタ強制アクセス実行回路のブロック図である。FIG. 10 is a block diagram of a register forced access execution circuit in the decoder 1102 in FIG. 第6図内のメモリアクセス管理ユニット1104の内部構成を示すブロック図である。FIG. 7 is a block diagram showing an internal configuration of a memory access management unit 1104 in FIG. 第6図のプロセッサのメモリアクセスタイムチャートである。7 is a memory access time chart of the processor of FIG. 第6図のプロセッサのメモリアクセスタイムチャートである。7 is a memory access time chart of the processor of FIG. 第6図のプロセッサのメモリアクセスタイムチャートである。7 is a memory access time chart of the processor of FIG. リードモディファイライトの動作説明図である。It is operation | movement explanatory drawing of a read modify write. リードモディファイライトの動作説明図である。It is operation | movement explanatory drawing of a read modify write. リードモディファイライトの動作説明図である。It is operation | movement explanatory drawing of a read modify write. モディファイバッファを使用する本発明の概念図である。FIG. 3 is a conceptual diagram of the present invention using a modify buffer. システムメモリからフレームメモリへの図形転送の説明図である。It is explanatory drawing of the figure transfer from a system memory to a frame memory. 2ポートマイクロプロセッサ内の演算ユニットの詳細を示すブロック図である。It is a block diagram which shows the detail of the arithmetic unit in a 2 port microprocessor.

符号の説明Explanation of symbols

1…2ポートマイクロプロセッサ、2…ローカルバス、3…ローカルメモリ、4…フレームメモリ、6…CRT、8…CPU、9…システムバス、101…プロセッサ、102…ポート1、103…ポート2、1101…命令フェッチユニット、1102…デコーダ、1103…演算ユニット、1104…メモリ管理ユニット。
1 ... 2 port microprocessor, 2 ... local bus, 3 ... local memory, 4 ... frame memory, 6 ... CRT, 8 ... CPU, 9 ... system bus, 101 ... processor, 102 ... port 1, 103 ... port 2, 1101 ... instruction fetch unit, 1102 ... decoder, 1103 ... arithmetic unit, 1104 ... memory management unit.

Claims (3)

命令のフェッチを行う命令フェッチユニット、フェッチした命令の解読を行うデコーダおよび解読した命令の実行を行う演算ユニットを備えるプロセッサ部と、
アドレス、データおよび制御信号をシステムメモリとの間で授受する第1のポートと、
アドレス、データおよび制御信号をフレームメモリとの間で授受する第2のポートと、
前記プロセッサ部からの書き込みおよび前記第1のポートへの読み出しが可能な第1のアドレスバッファと、前記第1のポートからの読み出し、書き込み、および、前記プロセッサ部による命令読み出しが可能な第1のデータバッファと、を備える第1のメモリアクセスユニットと、
前記プロセッサ部からの書き込みおよび前記第2のポートへの読み出しが可能な第2のアドレスバッファと、前記第2のポートからの読み出し、書き込み、および、前記プロセッサ部による命令読み出しが可能な第2のデータバッファと、を備える第2のメモリアクセスユニットと、
前記プロセッサ部からのメモリアクセス要求およびポート指定信号に従い、前記第1のポートが指定された場合は、前記第1のアドレスバッファから前記システムメモリへのアドレス転送と前記第1のデータバッファおよび前記システムメモリ間のデータ転送とを制御し、一方、前記第2のポートが指定された場合は、前記第2のアドレスバッファから前記フレームメモリへのアドレス転送と前記第2のデータバッファおよび前記フレームメモリ間のデータ転送とを制御するメモリアクセス管理ユニットと、を有し、
前記命令フェッチユニットは、前記メモリアクセス管理ユニット経由で、前記システムメモリに格納されている命令および前記フレームメモリに格納されている命令に対して命令フェッチを行うことができ、
前記第1のメモリアクセスユニットは、前記システムメモリに対してデータアクセスを行うことができ、そして、
前記第2のメモリアクセスユニットは、前記フレームメモリに対してデータアクセスを行うことができること
を特徴とするマイクロプロセッサ。
An instruction fetch unit that fetches an instruction, a decoder that decodes the fetched instruction, and a processor unit that includes an arithmetic unit that executes the decoded instruction;
A first port for transmitting and receiving addresses, data and control signals to and from the system memory;
A second port for exchanging addresses, data and control signals with the frame memory;
A first address buffer capable of writing from the processor unit and reading to the first port; a first address buffer capable of reading from, writing to, and reading instructions from the first port; A first memory access unit comprising a data buffer;
A second address buffer capable of writing from and reading to the second port; a second address buffer capable of reading from and writing to the second port; and instruction reading by the processor unit A second memory access unit comprising: a data buffer;
When the first port is designated in accordance with a memory access request and a port designation signal from the processor unit, address transfer from the first address buffer to the system memory, the first data buffer, and the system Data transfer between memories is controlled. On the other hand, when the second port is designated, address transfer from the second address buffer to the frame memory and between the second data buffer and the frame memory are controlled. A memory access management unit for controlling the data transfer of
The instruction fetch unit can perform an instruction fetch with respect to an instruction stored in the system memory and an instruction stored in the frame memory via the memory access management unit .
The first memory access unit can perform data access to the system memory; and
The microprocessor according to claim 2, wherein the second memory access unit can perform data access to the frame memory .
請求項に記載のマイクロプロセッサであって、
前記第1および第2のデータバッファは、前記プロセッサから書き込み可能であること
を特徴とするマイクロプロセッサ。
A microprocessor according to claim 1 , comprising:
The microprocessor according to claim 1, wherein the first and second data buffers are writable by the processor.
請求項1または2に記載のマイクロプロセッサであって、
前記命令フェッチユニットは、
フェッチした命令を保持する命令バッファと、
予め用意されたモディファイ命令を保持するモディファイバッファと、を有し、
前記デコーダは、
前記命令バッファに保持された命令の解読結果がリードモディファイライト命令である場合、前記アクセス管理ユニットに、ロード要求、ストア要求およびポート指定信号を与えると共に、前記モディファイバッファに保持されているモディファイ命令を解読して前記演算ユニットに実行させ、
前記アクセス管理ユニットは、
前記プロセッサ部からのロード要求、ストア要求およびポート指定信号に従い、リードサイクルを開始して、指定されたポートに対応するメモリに格納されたデータを前記指定されたポートに対応するデータバッファに転送し、前記リードサイクルの次のライトサイクルで、前記指定されたポートに対応するデータバッファに格納された前記演算ユニットの演算結果を前記指定されたポートに対応するメモリに転送し、
前記演算ユニットは、
前記デコーダからのモディファイ命令に従い、前記リードサイクルで前記指定されたポートに対応するデータバッファに格納されたデータに対し演算処理を行い、前記ライトサイクルで演算結果を前記指定されたポートに対応するデータバッファに格納すること
を特徴とするマイクロプロセッサ。
A microprocessor according to claim 1 or 2,
The instruction fetch unit is
An instruction buffer to hold fetched instructions;
A modification buffer for holding a modification instruction prepared in advance;
The decoder
When the result of decoding the instruction held in the instruction buffer is a read-modify-write instruction, a load request, a store request, and a port designation signal are given to the access management unit, and the modify instruction held in the modify buffer is Decrypt and have the arithmetic unit execute it,
The access management unit is:
In accordance with the load request, store request, and port designation signal from the processor unit, a read cycle is started, and the data stored in the memory corresponding to the designated port is transferred to the data buffer corresponding to the designated port. , In the next write cycle of the read cycle, the operation result of the operation unit stored in the data buffer corresponding to the designated port is transferred to the memory corresponding to the designated port,
The arithmetic unit is
Data is stored in the data buffer corresponding to the designated port in the read cycle in accordance with a modify instruction from the decoder, and the result of the computation in the write cycle is the data corresponding to the designated port. A microprocessor characterized by being stored in a buffer.
JP2005070871A 2005-03-14 2005-03-14 Graphic processing apparatus, method of using the same, and microprocessor Expired - Lifetime JP3834327B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005070871A JP3834327B2 (en) 2005-03-14 2005-03-14 Graphic processing apparatus, method of using the same, and microprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005070871A JP3834327B2 (en) 2005-03-14 2005-03-14 Graphic processing apparatus, method of using the same, and microprocessor

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003206882A Division JP3723807B2 (en) 2003-08-08 2003-08-08 Graphic processing apparatus, method of using the same, and microprocessor

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006119325A Division JP2006260590A (en) 2006-04-24 2006-04-24 Figure processing device, method for using thereof, and microprocessor

Publications (2)

Publication Number Publication Date
JP2005243042A JP2005243042A (en) 2005-09-08
JP3834327B2 true JP3834327B2 (en) 2006-10-18

Family

ID=35024641

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005070871A Expired - Lifetime JP3834327B2 (en) 2005-03-14 2005-03-14 Graphic processing apparatus, method of using the same, and microprocessor

Country Status (1)

Country Link
JP (1) JP3834327B2 (en)

Also Published As

Publication number Publication date
JP2005243042A (en) 2005-09-08

Similar Documents

Publication Publication Date Title
US7627723B1 (en) Atomic memory operators in a parallel processor
JPH03129433A (en) Device and method for parallel processing
JP4599172B2 (en) Managing memory by using a free buffer pool
EP0395958B1 (en) Graphics processing apparatus and method
TW200307214A (en) Context pipelines
US5696939A (en) Apparatus and method using a semaphore buffer for semaphore instructions
US20060225060A1 (en) Code swapping in embedded DSP systems
JPH0477347B2 (en)
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
CA1285654C (en) Instruction control mechanism for a computing system
US6785743B1 (en) Template data transfer coprocessor
US20030046358A1 (en) Multiple image dynamic bind and load procedure for a multi-processor
JP3814283B2 (en) Microprocessor
JP3834327B2 (en) Graphic processing apparatus, method of using the same, and microprocessor
JP3723807B2 (en) Graphic processing apparatus, method of using the same, and microprocessor
JP2006260590A (en) Figure processing device, method for using thereof, and microprocessor
JP3900499B2 (en) Method and apparatus for using FPGA technology with a microprocessor for reconfigurable, instruction level hardware acceleration
JP3474143B2 (en) 2-port microprocessor
US6727903B1 (en) Microprocessor, and graphics processing apparatus and method using the same
JP4384828B2 (en) Coprocessor device and method for facilitating data transfer
JP3841820B2 (en) Microcomputer
JP4916151B2 (en) Parallel computing device
JP2668987B2 (en) Data processing device
JP2933569B2 (en) Central processing unit
JP3147884B2 (en) Storage device and information processing device

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051004

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060424

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060511

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: 20060718

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060721

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090728

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090728

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090728

Year of fee payment: 3

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090728

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090728

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090728

Year of fee payment: 3