JPH01156824A - microprocessor - Google Patents

microprocessor

Info

Publication number
JPH01156824A
JPH01156824A JP62314063A JP31406387A JPH01156824A JP H01156824 A JPH01156824 A JP H01156824A JP 62314063 A JP62314063 A JP 62314063A JP 31406387 A JP31406387 A JP 31406387A JP H01156824 A JPH01156824 A JP H01156824A
Authority
JP
Japan
Prior art keywords
register
instruction
data
bit field
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP62314063A
Other languages
Japanese (ja)
Inventor
Takeshi Sakamura
健 坂村
Ikuya Kawasaki
川崎 郁也
Atsushi Hasegawa
淳 長谷川
Kazuhiko Iwasaki
一彦 岩崎
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 Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer Engineering 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, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Ltd
Priority to JP62314063A priority Critical patent/JPH01156824A/en
Publication of JPH01156824A publication Critical patent/JPH01156824A/en
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】 (産業上の利用分野〕 この発明は、データ処理技術さらにはプログラム制御方
式のシステムにおける命令体系に適用して特に有効な技
術に関し、例えばビットフィールドと呼ばれるデータの
取り扱いに関する命令を有するマイクロプロセッサに利
用して有効な技術に関する。
DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to a data processing technology and a technology that is particularly effective when applied to an instruction system in a program control system. The present invention relates to techniques that are effective for use in microprocessors that have instructions.

〔従来の技術〕[Conventional technology]

従来、マイクロプロセッサには、加算、減算、乗算、除
算、比較などの算術演算命令の他、論理積(AND)%
論理和(OR)、排他的論理和(XOR)など種々の論
理演算命令が備えられている。例えば(株)日立製作所
、1982年9月発行、 「日立マイクロコンビ、−タ
、SEMICON−DUCTERDA’I’A  Bo
oK、8/16ビツトマイクロコンビ、−タJ p91
4〜I)919.p945〜p952等に記載されてい
る。
Conventionally, microprocessors have arithmetic operations such as addition, subtraction, multiplication, division, and comparison, as well as logical product (AND) instructions.
Various logical operation instructions such as logical OR (OR) and exclusive OR (XOR) are provided. For example, published by Hitachi, Ltd., September 1982, "Hitachi Microcombi, SEMICON-DUCTERDA'I'A Bo"
OK, 8/16 bit micro combination, -ta J p91
4-I)919. It is described in pages 945 to 952, etc.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

従来のマイクロプロセッサにおける命令体系では、演算
の種類は命令(オペレーションコード)で指定するよう
にされていた。つまり、谷演算ごとに命令が用意されて
おシ、演算の種類はプログラム上において固定されてし
まい、データのように変更することはできなかった。従
って、プログラムが几OM(リード・オンリ・メモリ)
FP3に格納された場合、演算を変更することは不可能
であった0 例えば、=ンピュータ・グラフィックのような分野にお
いては、ビットフィールド内のデータに対し論理演算を
施して、いわゆる塗りつぶしやすかしなどの描画処理を
行なわせる場合、画面を見ながら演算の種類をダイナミ
ックに決定することができればプログラムの開発が容易
となる。
In the instruction system of conventional microprocessors, the type of operation is specified by an instruction (operation code). In other words, an instruction was prepared for each valley operation, and the type of operation was fixed in the program and could not be changed like data. Therefore, the program is OM (read-only memory).
When stored in FP3, it was impossible to change the operation. For example, in fields such as computer graphics, logical operations are applied to data in bit fields to create so-called fill-in or watermarks. When performing drawing processing such as, it will be easier to develop the program if the type of calculation can be dynamically determined while looking at the screen.

しかるに、演算の種類によって命令が決っている従来の
マイクロプロセッサでは、演算処理の内容を変えるには
プログラムの中の演算命令を書き換えなくてはならず、
プログラムに柔軟性がないという不都合があった。
However, in conventional microprocessors, where the instructions are determined by the type of operation, in order to change the content of the operation process, the operation instructions in the program must be rewritten.
The problem was that the program lacked flexibility.

また、ある命令の実行によって得られた結果に基づいて
次の命令又は演算の種類を決定するためには、プログラ
ム上、次に実行する可能性のある命令又は演算を羅列し
ておかなけれはならない。
In addition, in order to determine the type of the next instruction or operation based on the result obtained by executing a certain instruction, it is necessary to list the instructions or operations that may be executed next in the program. .

すなわち、上記ある命令の実行によりて得られた結果に
基づいて上記羅列された命令等の1つを選択する様なプ
ログラムを作成しなけれはならない。
That is, it is necessary to create a program that selects one of the instructions listed above based on the result obtained by executing the certain instruction.

従ってプログラムの柔軟性がないだけでなく、命令を選
択する等の処jl!!を必要とするから、一連の命令を
実行する際の高速動作が制限されてしまう。
Therefore, not only is there no flexibility in the program, but there is also the process of selecting instructions, etc. ! This limits high-speed operation when executing a series of instructions.

この発明の目的は、マイクルコンピュータ・システムに
おけるプログ2ムに柔軟性を持たせ、例えばグラフィッ
ク処理用のプログラムの開発が容易に行なえるような演
算命令に関する命令形式を提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide an instruction format for arithmetic instructions that allows programs in a microcomputer system to be flexible and allows for easy development of programs for, for example, graphic processing.

この発明の前記ならびにそのほかの目的と新規な特徴に
ついては、本明細書の記述および添附図面から明らかに
なるであろう。
The above and other objects and novel features of the present invention will become apparent from the description of this specification and the accompanying drawings.

〔問題を解決するための手段〕[Means to solve the problem]

本願において開示される発明のうち代表的なものの概要
を説明すれば、下記のとおシである。
A typical overview of the inventions disclosed in this application is as follows.

すなわち、演算の種類をオペランドの一つとして与える
、つまり演算(広義)という共通のオペレージ冒ンコー
ドの入ったオペレージ冒ン指定部の外又は中に、演算の
糖類を指定するオペランド情報を付加した命令によって
所望の演算を実行させるようにするものである。
In other words, an instruction that gives the type of operation as one of the operands, that is, an instruction that adds operand information that specifies the sugar of the operation outside or inside the operation specification part that contains the common operation code called operation (broad sense). This allows the desired operation to be executed.

〔作用〕[Effect]

上記した手段によれば、ある命令の実行結果に基づいて
、演算の種類を指定するオペランドの内容を設定してお
き、次の命令で上記オペランドの内容に従って演算でき
るから、プログラムの中で演算の種類をダイナミックに
変えることができる。
According to the above means, the contents of an operand that specifies the type of operation are set based on the execution result of a certain instruction, and the next instruction can perform an operation according to the contents of the operand. The type can be changed dynamically.

従ってプログラムに柔軟性を持たせ、・例えばグラフィ
ック処理用のプログラムの開発が容易に行なえるように
するという上記目的を達成することができる。
Therefore, it is possible to achieve the above-mentioned purpose of making the program flexible and making it easier to develop a program for, for example, graphic processing.

以下、本発明を一例として、ビットフィールドと呼ばれ
るメモリ内の任意のビットから任意のビットまでのデー
タの取り扱いに関する命令(以下ビットフィールド命令
と称する)に適用した場合の一実施例を説明する。
Hereinafter, an embodiment will be described in which the present invention is applied to an instruction related to handling data from arbitrary bits to arbitrary bits in a memory called a bit field (hereinafter referred to as a bit field instruction).

〔実施例〕〔Example〕

ビットフィールド命令は、第1図及び第2図に示すよう
にベースアドレスBAとこのベースアドレスからのオフ
セットOffおよびフィールド長さ(ビット数)を示す
フィールド幅WDの3つの値をオペランドとして与える
ことによりメモリ内の所望のフィールドを指定し、その
フィールドのデータに対してアンド(AND)やオア(
OkL)などの論理演算処理を行なうものである。なお
、このようなビットフィールド命令は、例えばモトロー
ラ社製M068020のようなマイクロプロセッサで既
に用意されている。このビットフィールド命令は、オペ
レージ冒ンコードの後のオペランドによってベースアド
レスBAやオフセットoffおよびフィールド幅WDが
与えられていた。
As shown in Figures 1 and 2, the bit field instruction is executed by giving three values as operands: a base address BA, an offset Off from this base address, and a field width WD indicating the field length (number of bits). Specify the desired field in memory and perform AND or OR on the data in that field.
It performs logical operation processing such as OkL). Note that such bit field instructions are already available in microprocessors such as Motorola's M068020. This bit field instruction is given a base address BA, an offset off, and a field width WD by the operand after the operation code.

この実施例では演算の穐類もオペランドで指定するもの
である。オペランドによる演算の指定の具体的な方法と
して、例えば第9図(5)の実施例では、レジスタ番号
を有するレジスタ直後アドレッシング方式を用いた。す
なわち、予め所定のレジスタR8内に演算の種類を示す
コードを入れておき、オペランドにはそのコードの入っ
たレジスタ番号とアドレッシングモードを入れておくも
のである。第9図但)の実施例では、オペレージ冒ンコ
ード内に、レジスタkL5の内容に基づいて演算の種類
を定める旨の情報が付加されている。第9図、(5)又
は、第9図(ロ)に示す命令を実行する場合には、演算
の種類を示すコードは、予めMOVE命令等によりメモ
リ内からデータとして読み出して所定のレジスタR5に
入れておく。
In this embodiment, the operation type is also specified by the operand. As a specific method for specifying an operation using operands, for example, in the embodiment shown in FIG. 9(5), a register immediate addressing method having a register number is used. That is, a code indicating the type of operation is stored in advance in a predetermined register R8, and the register number containing the code and the addressing mode are stored in the operands. In the embodiment shown in FIG. 9), information to determine the type of operation based on the contents of register kL5 is added to the operation code. When executing the instructions shown in FIG. 9, (5) or FIG. 9 (b), the code indicating the type of operation is read out as data from the memory using a MOVE instruction, etc., and stored in a predetermined register R5. I'll put it in.

また、同41にペースアドレスBA、オ7セ、トQff
及びフィールド幅WDもそれぞれ所定のレジスタ内に入
っている値を使って命令を実行するようにされている。
Also, in the same 41, pace address BA, 7th, 7th Qff
and field width WD are also configured to execute instructions using values stored in respective predetermined registers.

第9図(5)又は第9図(B)に示す命令は、例えば、
ビットフィールド命令でアク、するビットフィールド(
ソース側)のデータと他のビットフィールド(テスティ
ネーシ冒ン側)のデータとの論理をとってそれをデステ
ィネーシ曹ン側のビットフィールドへ入れるというビッ
トフィールド間演算命令である。この命令を実行するた
めには、ソース側のビットフィールドを特定するペース
アドレスRAS、オフセットQffs及びフィールド幅
WDsiそれぞれ入れるレジスタと、デスティネーシ璽
ン側ピットフィールドを特定するベースアドレスBAd
、オフセットQffd及びフィールド幅WDdlそれぞ
れ入れるレジスタと、演算の種類を特定するコードを入
れるレジスタとが必要である。ただし、上記のような2
つのビットフィールドの論理をとる命令ではフィールド
幅WDは必然的に同一であるので、レジスタは共用させ
ることができる。
The command shown in FIG. 9(5) or FIG. 9(B) is, for example,
Bit fields to be accessed and accessed by bit field instructions (
This is an inter-bit field operation instruction that performs a logic between data on the source side) and data on another bit field (on the testing side) and puts it into a bit field on the destination side. To execute this instruction, registers are required to store the pace address RAS, offset Qffs, and field width WDsi that specify the bit field on the source side, and the base address BAd that specifies the pit field on the destination side.
, offset Qffd, and field width WDdl, and a register to store a code specifying the type of operation are required. However, the above two
Since the field widths WD are necessarily the same in instructions that take two bit field logics, the registers can be shared.

第1表には、上記ビットフィールド間演算命令において
便用されるレジスタとその中に格納されるデータとの関
係の一例が示されている。
Table 1 shows an example of the relationship between the registers conveniently used in the inter-bit field operation instructions and the data stored therein.

同図における符号BAはベースアドレス、Qffはオフ
セットを示す。
In the figure, BA indicates a base address, and Qff indicates an offset.

また、第2表には、上記レジスタR5によって指定され
る演算の種類の一覧表が示されている。
Further, Table 2 shows a list of the types of operations specified by the register R5.

第2表 同表において、’l’rueで示される演算はデステイ
ネーシ四ン側ビットフィールドの全ビットを′″1″に
する操作を、Falseで示される演算はデスティネー
シ璽ン側ビットフィールドの全ビットを0′″にする操
作を意味する。また、N0l−1)estで示される演
算はデスティネーシ嘗ン側ビットフィールド内の全ビッ
トのデータを反転して元のビットフィールドに入れる操
作を、Destで示される演算はデスティネーション側
ビットフィールド内のデータをその1ま元のビットフィ
ールドに戻す操作を、NOlで示される演算はソース側
ビットフィールド内の全ビットのデータを反転してデス
ティネーシ冒ン側ビットフィールドに入れる操作を、そ
して、5rcで示される演算はソース側ビットフィール
ド内のデータをデスティネーシ璽ン側ビットフィールド
に入れる操作を意味する。
In Table 2, the operation indicated by 'l'rue sets all bits of the bit field on the four side of the destination to ``1'', and the operation indicated by False sets all the bits of the bit field on the four side of the destination string to ``1''. It means an operation to set a bit to 0''. Also, the operation indicated by N0l-1)est inverts the data of all the bits in the destination bit field and puts it into the original bit field. The operation indicated by Dest returns the data in the destination bit field to the original bit field, and the operation indicated by NOl inverts the data of all bits in the source bit field and affects the destination. The operation indicated by 5rc means the operation of putting data in the source bit field into the destination bit field.

さらに、ANDで示される演算は、ソース側とデスティ
ネーシ璽ン側のビットフィールド内のデータの論理積を
とってデスティネーシ璽ン側のビットフィールドに入れ
る操作を、Qrで示される演算は、ソース側とデスティ
ネーシ1ン側のビットフィールド内のデータの論理和を
とりてデスティネーシ冒ン側のビットフィールドに入れ
る操作を、Xorで示される演算は、ソース側とデステ
ィネーシ璽ン側のビットフィールド内のデータの排他的
論理和をとってテスティ不−シ璽ン側のビットフィール
ドに入れる操作を、No tAndで示される演算は、
テスティネーシ璽ン側のビットフィールド内のデータの
反転値とソース側と、トフィールド内データとの論理積
をとってデスティネーシ■ン側のビットフィールドに入
れる操作を、pJo tQrで示される演算は、テステ
ィネーシ。
Furthermore, the operation indicated by AND is an operation that takes the logical product of the data in the bit fields on the source side and the destination side and puts it into the bit field on the destination side. The operation indicated by XOR is an operation that takes the logical sum of the data in the bit fields on the source side and the destination side and puts it into the bit field on the destination side. The operation indicated by NotAnd is an operation that takes the exclusive OR of the data in
The operation indicated by pJo tQr is an operation that takes the logical product of the inverted value of the data in the bit field on the test side, the source side, and the data in the to field and stores it in the bit field on the destination side. Testinesi.

ン側のビットフィールド内のデータの反転値とソース側
ビットフィールド内データとの論理和をとってデスティ
ネーシ璽ン側のビットフィールドに入れる操作を、An
dNotで示される演算は、デスティネーシ冒ン側のビ
ットフィールド内のデータとソース側ビットフィールド
内データの反転値との論理積をとってデスティネーシ曹
ン側のビットフィールドに入れる操作i、QrNotで
示される演算線、デスティネーシ嘗ン側のビットフィー
ルド内のデータとソース側・ビットフィールド内データ
の反転値との論理和をとってデスティネーシ璽ン側のビ
ットフィールドに入れる操作を、NotAndNotで
示される演算は、デスティネーション側のビットフィー
ルド内のデータの反転値とソース側ビットフィールド内
のデータ反転値との論理積をとりてデスティネーシ璽ン
側のビットフィールドに入れる操作を、NotOrNo
tで示される演算は、デスティネーシ曹ン側のビットフ
ィールド内のデータの反転値とソース側ピットフィール
ド内データの反転値との論理和をとってデスティネーシ
璽ン側のビットフィールドに入れる操作を、N01XO
fで示される演算は、デスティネーシ冒ン側のビットフ
ィールド内のデータの反転値とソース側ビットフィール
ド内データとの排他的論理和をとってデスティネーシ冒
ン側のビットフィールドに入れる操作をそれぞれ意味す
る。
The operation of logically ORing the inverted value of the data in the destination side bit field with the data in the source side bit field and putting it into the destination side bit field is called An.
The operation indicated by dNot is an operation i, QrNot, which takes the AND of the data in the bit field on the destination side and the inverted value of the data in the source side bit field and puts it into the bit field on the destination side. NotAndNot indicates the operation of logically ORing the data in the bit field on the destination side and the inverted value of the data in the source bit field on the indicated operation line and putting it into the bit field on the destination side. The operation performed is called NotOrNo, which takes the logical product of the inverted value of the data in the destination bit field and the inverted data value in the source bit field and stores it in the destination bit field.
The operation indicated by t is an operation that takes the logical sum of the inverted value of the data in the bit field on the destination side and the inverted value of the data in the pit field on the source side and stores it in the bit field on the destination side. , N01XO
The operation indicated by f performs an exclusive OR operation between the inverted value of the data in the bit field on the destination side and the data in the source side bit field, and stores the result in the bit field on the destination side. means.

上記各種演算は例えばレジスタR5の下位4ビツトによ
って識別させることができる。
The above various operations can be identified, for example, by the lower four bits of register R5.

上記のようなビットフィールド間演算命令を使用すると
、演算の種゛類がオペランドの一つとして与えられるた
め、メモリ内のデータを変更するかメモリからロードす
るデータを変えるだけでプログラム実行中に演算の種類
をダイナミックに変更することができる。ただし、この
実施例のビットフィールド間演算命令を実行する前に、
予めオペランドとして与えられるベースアドレスやオフ
セットおよび演算の種類を示すコードを所定のレジスタ
(R0〜Rs)に入れておいてやる必要がある。
When using the inter-bit field operation instructions mentioned above, the type of operation is given as one of the operands, so you can perform the operation during program execution by simply changing the data in memory or changing the data loaded from memory. The type of can be changed dynamically. However, before executing the inter-bit field operation instruction in this embodiment,
It is necessary to store in advance a base address and offset given as operands, and a code indicating the type of operation in predetermined registers (R0 to Rs).

第3表に、上記ビットフィールド間演算命令(BVMA
Pと略す)を使用したグラフィック表示用のプログラム
の一例が示されている。
Table 3 shows the above bit field operation instructions (BVMA).
An example of a program for displaying graphics using the program (abbreviated as P) is shown.

第3表 LOOP   MOVE  (RIO)+、ROM0V
E  (R11)+、R11 M0VE  (R12)+、R2 MOVE  (R13)+、R3 MOVE  (R14)+、R4 MOVE  (R15)十、I(5 B、VMAP SUB  LINE、−1 BNE   LOOP 上記プログラムは、ラインごとにポストインクリメント
よってレジスタRO〜R5の内容を変えなからHVMA
Pで示されるビットフィールド間演算命令を繰返し実行
することを処理の内容としている。 例えばMOVE(
R1O)+、ROは、レジスタROの内容を更新してレ
ジスタROに格納する命令である。また80B LIN
E、−1は、総ライン数から1を引く命令である。
Table 3 LOOP MOVE (RIO)+, ROM0V
E (R11) +, R11 M0VE (R12) +, R2 MOVE (R13) +, R3 MOVE (R14) +, R4 MOVE (R15) 10, I (5 B, VMAP SUB LINE, -1 BNE LOOP The above program is , HVMA does not change the contents of registers RO to R5 by post-increment for each line.
The content of the processing is to repeatedly execute an inter-bit field calculation instruction indicated by P. For example, MOVE(
R1O)+, RO is an instruction to update the contents of register RO and store it in register RO. Also 80B LIN
E, -1 is an instruction to subtract 1 from the total number of lines.

従りて、上記プログラムにおいてレジスタR5に格納さ
れる演算種類を例えば−回ごとに変えながら繰返し実行
してやれば、表示画面上において一行ごとに演算内容の
異なるビットフィールド処理を行なった結果が画像とし
て表示されるようになる。
Therefore, if the above program is repeatedly executed while changing the type of operation stored in register R5 every - time, the result of bit field processing with different operation contents for each line will be displayed as an image on the display screen. will be done.

上記プログラムでは、ラインごとにレジスタ几5の内容
を変えることにより演算の種類を変更しているが、本発
明はこの実施例に限足されるものではない。例えば上記
プログラムの前に実行されるプログラムによって得られ
た結果をレジスタR5に格納しておき、レジスタR5の
内容を更新せずに上記プログラム実行中行することもで
きる。これにより、プログラム実行中に演算のaI類を
ダイナミックに変更することができる。
In the above program, the type of operation is changed by changing the contents of the register 5 for each line, but the present invention is not limited to this embodiment. For example, the result obtained by a program executed before the above program can be stored in register R5, and the result can be executed during execution of the above program without updating the contents of register R5. This makes it possible to dynamically change the aI types of operations during program execution.

第7図にはビットフィールド間演算命令BVMAPのフ
ローチャートが示されている。ステップS1において、
レジスタRO、R1及びR2の内容を用いてソース側ビ
ットフィールドがフェッチされる。ステップS2におい
てレジスタR2,R3及びR4の内容を用いてデスティ
ネーシ璽ン側ビットフィールドがフェッチされる。ステ
ップS3において、レジスタ凡5の内容を用いて演算が
実行される。ステップS4において終了条件を判定し、
終了条件が一致すれば命令を終了し、不一致ならば上記
ステップ1に戻る。1度に7エツチできるデータのピッ
ト数はマイクロプロセッサのデータバス長によって定ま
る。従って、ビットフィールドの全てt−7エツチし、
これに基づいて演算を行うためには上記ステップ81〜
S3を複数回繰シ返すことが必要な場合がある。
FIG. 7 shows a flowchart of the inter-bit field operation instruction BVMAP. In step S1,
The contents of registers RO, R1 and R2 are used to fetch the source side bit field. In step S2, the destination bit field is fetched using the contents of registers R2, R3, and R4. In step S3, an operation is performed using the contents of register 5. In step S4, the termination condition is determined,
If the termination conditions match, the instruction is terminated, and if they do not match, the process returns to step 1 above. The number of data pits that can be etched seven at a time is determined by the length of the data bus of the microprocessor. Therefore, all t-7 etch of the bit field,
In order to perform calculations based on this, steps 81-
It may be necessary to repeat S3 multiple times.

なお、上記実施例では、ビットフィールド命令として2
つのビットフィールドのデータ同士の操作に°関する命
令を例に挙げて説明したが、グラフィック処理に適した
ビットフィールド命令としては、その他に例えばベース
アドレスとオフセット及びフィールド幅で指ボされたビ
ットフィールドに対して任意のレジスタのビットパター
ンヲ繰返し格納させるような命令が考えられる。この命
令を使用すると画面上の任意の領域を任意のパターン(
模様を構成する基本図形)で埋めて行くような一釉のm
Dつぶし処理が容易に行なえるようになる。
Note that in the above embodiment, 2 bit field instructions are used.
The explanation has been given as an example of instructions related to operations between data in two bit fields, but there are other bit field instructions suitable for graphic processing, such as operations on bit fields defined by base address, offset, and field width. On the other hand, an instruction that repeatedly stores a bit pattern in an arbitrary register can be considered. This command allows you to draw any area on the screen with any pattern (
A single glaze that fills in the basic shapes that make up the pattern
The D crushing process can be easily performed.

・ 第3図には、上記実施例のビットフィールド命令を
有する命令体系によって動作するマイクロプロセッサの
ハードウェア構成の一例が示されている。
- FIG. 3 shows an example of the hardware configuration of a microprocessor that operates according to the instruction system having the bit field instructions of the above embodiment.

この実施例のマイクロプロセッサは、マイク四プログラ
ム制御方式の制御部を備えている。すなわち、マイクロ
プロセッサを構成するLSIチップ1内には、マイクロ
プログラムが格納されたマイクロROM(リード・オン
リ・メモリ)2が設けられている。マイクロROM2は
、マイクロアドレス発生回路5によってアクセスされ、
マイクロプログラムを構成するマイクロ命令を順次出力
する。
The microprocessor of this embodiment is equipped with a control section using a four-microphone program control system. That is, an LSI chip 1 constituting a microprocessor is provided with a micro ROM (read only memory) 2 in which a micro program is stored. The micro ROM 2 is accessed by the micro address generation circuit 5,
Sequentially outputs the microinstructions that make up the microprogram.

マイクロアドレス発生回路5は、命令レジスタ3にフェ
ッチされたマイクロ命令のコードを、命令デコーダ4で
デコードした信号が供給される。
The microaddress generation circuit 5 is supplied with a signal obtained by decoding the code of the microinstruction fetched into the instruction register 3 by the instruction decoder 4.

マイクロアドレス発生回路5はこの信号に基づいて対応
するマイクロアドレスを形成し、マイクロROM2に供
給する。これによって、そのマイクロ命令を実行する一
連のマイクロ命令群の最初の命令が読み出される。この
マイクロ命令コードによって、各種レジスタやデータバ
ッファ、演算論理ユニット等からなる実行ユニット6等
に対する制御信号が形成される。この実行ユニット6内
に上記実施例で使用された汎用レジスタRO〜R15が
含まれている。
The microaddress generation circuit 5 forms a corresponding microaddress based on this signal and supplies it to the microROM 2. As a result, the first instruction in a series of microinstructions that execute that microinstruction is read. This microinstruction code forms control signals for the execution unit 6, etc., which includes various registers, data buffers, arithmetic and logic units, and the like. This execution unit 6 includes general-purpose registers RO to R15 used in the above embodiment.

マクロ命令に対応する一連のマイクロ命令群のうち2番
目以降のマイクロ命令の読出しは、直前に読み出された
マイクロ命令のネクストアドレスフィールドのコードが
マイクロROM2に供給されることより、直前のマイク
ロ命令内のネクストアドレスとマイクロアドレス発生回
路5からのアドレスとに基づいて行われる。このように
して、一連のマイクロ命令が読み出されて形成された制
御信号によって実行ユニット6が制御され、マクロ命令
が実行される。
When reading the second and subsequent microinstructions in a series of microinstructions corresponding to a macroinstruction, the code of the next address field of the microinstruction read immediately before is supplied to the microROM 2. This is performed based on the next address within and the address from the microaddress generation circuit 5. In this way, the execution unit 6 is controlled by the control signal formed by reading out the series of microinstructions, and the macroinstructions are executed.

この実施例では、特に制限されないが、バッファ記憶方
式が採用されており、マイクロプロセッサLSI内にキ
ャッシュメモリ7が設けられ、外部メモリ8内でのデー
タのうちアクセス頻度の高いプログラムデータがキャッ
シュメモリ7内に登録される。これによって、プログラ
ムの取込みが高速化される。
In this embodiment, although not particularly limited, a buffer storage method is adopted, and a cache memory 7 is provided in the microprocessor LSI, and frequently accessed program data among the data in the external memory 8 is stored in the cache memory 7. registered within. This speeds up program import.

なお、上記実施例では、−例としてグラフィック処理に
通したビットフィールド命令に適用したものについて説
明したが、それ以外の演算命令に適用することができる
In the above embodiment, the explanation has been given of the application to a bit field instruction passed through graphic processing as an example, but the invention can be applied to other arithmetic instructions.

また、上記実施例では、オペランドで指定する演算のa
!類がアンド(AN D )やオア(OR)などの論理
演算に限定されているが、其術演舅を行なう命令につい
ても同様にオペレーションコードを同一にし、かつ演算
のa[g14をオペランドで指定するようにしてもよい
In addition, in the above embodiment, a of the operation specified by the operand is
! Although the class is limited to logical operations such as AND (AND) and OR (OR), the operation code is the same for the instructions that perform the operation, and the operation a[g14 is specified by the operand. You may also do so.

第4図は、第3図に示す実行ユニット6の内部ブロック
図を示している。
FIG. 4 shows an internal block diagram of the execution unit 6 shown in FIG.

第4図の実行ユニットにおいて、回路符号CBSで示さ
れているのは、オフセット値やフィールド幅等の拡張デ
ータt2ツテする友めのレジスタ、DUfLはメモリヘ
スドアするデータを2ツテするためのデータ・アウトプ
ット・レジスタ、DIRはメモリから読み出されたデー
タを2ツチするデータ・インプット・レジスタ、ALN
は入出力されるデータを整列させるアライナで、このア
ライナALNはデータI10インタフェース(図示省略
)を介して外部のデータバスに接続される。
In the execution unit shown in Fig. 4, the circuit symbol CBS is a friend register for loading extension data such as offset values and field widths, and DUfL is a data output register for loading data to be stored in memory. The input register, DIR, is the data input register, ALN, which doubles the data read from memory.
is an aligner that aligns input and output data, and this aligner ALN is connected to an external data bus via a data I10 interface (not shown).

また、回路符号B8Fで示されるのは、32ビツトずつ
同時に入力された64ビツトデータから任意の32ビツ
トを抽出するためのバレルシ7りで、このバレルシフタ
BSFは、0のような定数を直接入力できるように構成
されている。BCNTはバレルシフタBSFに対して抽
出する位置を指定するバレルシフタ・カウンタ、B8F
OHバレルシフタBSFの出力をラッチするレジスタで
ある。また、FBはデータを入力させることにょシ上位
27ビツトをマスクして出方する等の働きをするファン
クシ冒ン・プロッ/、FBOa7アンクシ璽ン・ブロッ
クFBの出力をラッチするレジスタである。
Also, the circuit symbol B8F is a barrel shifter for extracting arbitrary 32 bits from 64-bit data input 32 bits at a time, and this barrel shifter BSF can directly input a constant such as 0. It is configured as follows. BCNT is a barrel shifter counter that specifies the extraction position for barrel shifter BSF, B8F
This is a register that latches the output of the OH barrel shifter BSF. Further, FB is a register that latches the output of the function block FB, which functions to mask and output the upper 27 bits when inputting data.

さらに、回路符号AUで示されるのは実効アドレスを計
算するためのアドレス演算ユニットで、このアドレス演
算ユニツ)AUは、0のような定数を直接入力できるよ
うに構成されている。AUOはこのアドレス演算ユニツ
)AUの出力をラッチするレジスタ、8F’Tはアドレ
ス演算ユニットAUで演算される前のデータのシフトを
行なうシフタ、AOTは演算結果の入っている上記レジ
スタAUOO値を後述のテンポ2リレジスタDTEO〜
DTE3へ移す際に一時的に保持するラッチ回路、AU
Rは同じくレジスタAUOのアドレス値を外部へ出力す
る際に一時的に保持するアドレス・アウトプット・レジ
スタで、このレジスタAO′kLはアドレスI10イン
タフェース(図示省略)を介して外部のアドレスバスに
接続される。
Furthermore, the circuit symbol AU is an address calculation unit for calculating an effective address, and this address calculation unit (AU) is configured so that a constant such as 0 can be directly input. AUO is a register that latches the output of the address operation unit (AU), 8F'T is a shifter that shifts data before being operated on by the address operation unit AU, and AOT is the register AUOO value containing the operation result, which will be described later. Tempo 2 reregister DTEO~
Latch circuit, AU, which is temporarily held when transferring to DTE3
Similarly, R is an address output register that temporarily holds the address value of register AUO when outputting it to the outside, and this register AO'kL is connected to an external address bus via an address I10 interface (not shown). be done.

一方、回路符号ALUで示されているのは、加算、減算
等基本的な算術演算や論理演算を行なう演算論理ユニッ
)、ALtJOは演算論理ユニットALUでの演算結果
を2ツテするレジスタ、また、DTEO〜DTE3で示
されるのは、テンポラリ値を2ツチする外部から見えな
い(ユーザーに開放されていない)レジスタ群、R,、
R1,・・・・・・R1,はユーザに開放されている汎
用レジスタ群であり、上記各種レジスタやラッチ回路、
演算器等は、4fi%OパxECB 、HA、BB、B
Cf介して相互に接続され、マイクロROMからなる制
御部より供給される制御イサ号によって、シーケンシャ
ルに動作され、対応するマクロ命令が実行される。
On the other hand, the circuit symbol ALU is an arithmetic and logic unit that performs basic arithmetic and logical operations such as addition and subtraction, and ALtJO is a register that doubles the operation results of the arithmetic and logic unit ALU. DTEO to DTE3 are a group of registers R, which are not visible from the outside (not open to the user) and hold temporary values.
R1,...R1, is a group of general-purpose registers open to the user, including the various registers and latch circuits mentioned above,
Arithmetic units, etc. are 4fi%OpaxECB, HA, BB, B
They are connected to each other via Cf and are operated sequentially by control signals supplied from a control section consisting of a micro ROM, and the corresponding macro instructions are executed.

本発明によれば上記演算論理ユニットALU等は汎用レ
ジスタの内容、例えはレジスタ比5の内容によりて制御
可能とされる。
According to the present invention, the arithmetic logic unit ALU, etc. can be controlled by the contents of a general-purpose register, for example, the contents of a register ratio of 5.

第5図は、第4図に示す演算論理ユニッ)ALU等及び
これらを制御するためのレジスタR5との関係を示して
いる。
FIG. 5 shows the relationship between the arithmetic and logic units (ALU, etc.) shown in FIG. 4 and the register R5 for controlling them.

汎用レジスタ比5の内容は、特に限定されないが一担他
のレジスタINPRにストアされ、このレジスタINP
Rから制御信号11〜15が出力される。レジスタI 
N F几は第4図において省略されているが、上記テン
ポラリレジスタi) ’1’ E O等と同種のレジス
タとされ、実行ユニット内に設けられる。制御信号工1
は、BBババス上データ又はオールゼロ(0)のデータ
の一方を選択するための信号である。制御信号工2は、
インバータ回路INVの動作を制御する信号であシ、入
力信号を反転して出力するか、反転せずに出力するかの
選択をする信号である。制御信号工3は演算崗理ユニッ
)ALUの演算機能の選択をする信号である。
The contents of general-purpose register ratio 5 are not particularly limited, but are stored in another register INPR, and this register INP
Control signals 11 to 15 are output from R. Register I
Although the NF register is omitted in FIG. 4, it is the same type of register as the above-mentioned temporary register i) '1' EO, etc., and is provided in the execution unit. Control signal engineer 1
is a signal for selecting either data on the BB bus or all zero (0) data. The control signal engineer 2 is
This is a signal that controls the operation of the inverter circuit INV, and is a signal that selects whether to invert the input signal and output it, or output it without inverting it. The control signal 3 is a signal for selecting the arithmetic function of the arithmetic logic unit (ALU).

演算論理:”−=y トALUは、!li&(AND)
、論理和(0几)又は排他的論理和(xon)等の演算
機MQを有しておシ、いずれかの機能が制御信号I3に
よって選択されることになる。制御信号15はレジスタ
ALUOに2ツチされたデータをBC,<スに送出する
か又は演1m埋二二、)ALUの入力側に帰還するかの
選択を行う信号である。
Arithmetic logic: “-=y ALU is !li&(AND)
, logical sum (0) or exclusive logical sum (xon), one of the functions is selected by the control signal I3. The control signal 15 is a signal for selecting whether to send the data stored in the register ALUO to the BC, or to feed it back to the input side of the ALU.

制御信号工4は、上記入力側に帰還されたデータ又はオ
ールセロ(0)の−万を選択する穴めの信号である。制
御信号11によって選択されたデータはインバータ回路
INVを介して演算論理ユニットALUの一方の入力デ
ータとされ、制御信号■4によって選択されたデータは
演算−塩ユニットALUの他方の入力データとされる。
The control signal 4 is a hole signal for selecting the data fed back to the input side or -10,000 of all cello (0). The data selected by the control signal 11 is inputted to one side of the arithmetic logic unit ALU via the inverter circuit INV, and the data selected by the control signal 4 is inputted to the other side of the arithmetic and logic unit ALU. .

この演算*理ユニツ)ALUの動作は2段階に分けられ
る。例第   4   表 第   5   表 えば、前記第2表に記載した各演算を行う場合において
、第1段階の動作状態が第6図(5)に示され、第2段
階の動作状態が第6図郵)に示されている。
The operation of the ALU can be divided into two stages. Example 4 Table 5 For example, when performing each calculation listed in Table 2 above, the operating state of the first stage is shown in Figure 6 (5), and the operating state of the second stage is shown in Figure 6. Postal).

上記第4表は、上記第6図(5)に示す動作状態をさら
に詳細に説明するための表であり、第5表は上記第6図
の)に示す動作状態をさらに詳癲に説明するための表で
ある。例えば第2表に示す第1番目の演算l→dest
を実行する場合には、まず、第6図(5)において、第
4表の第1番目に記載された制御が行なわれる。すなわ
ち、制御信号11によってオールゼロ(0)が選択され
、これがインバータ回路INDで反転されずに演Xa理
ユニツ)ALUの一方の入力データとされる。また演算
論理ユニツ)ALUの他方の入力データはオールゼロ(
0)とされる。この演算論理ユニッ)ALUの演算機能
は、制御信号工3によって論理和(0凡)とされるから
、その演算結果はオールゼロ(0)とされる。次に第6
図(ロ)において、第5表の第1査目に記載された制御
が行なわれる。すなわち制御信号、I 1によってオー
ルゼロ(0)が選択され、これがインバータ回路INV
で反転され、オールワン・(1)にされて演算論理ユニ
、)ALUの一方の入力データとされる。また演算論理
ユニツ)ALUの他方の入力データは上記演算結果(オ
ールゼロ)とされる。演算論理ユニツ)ALUの演算機
能は、制御(*−1’+I3によって論理和(OR)と
されるから、その演算結果はオールワン(1)とされる
。このデータをデスティネーシ曹ン側ビットフィールド
にストアすることによって、上記演算1→aestの兼
行が終了する。
Table 4 above is a table for explaining in further detail the operating state shown in Fig. 6 (5) above, and Table 5 is a table for explaining in further detail the operating state shown in (5) in Fig. 6 above. This is a table for For example, the first operation l→dest shown in Table 2
When executing , first, in FIG. 6(5), the control listed in the first position of Table 4 is performed. That is, all zeros (0) are selected by the control signal 11, and this is not inverted by the inverter circuit IND, but is used as one input data of the ALU. In addition, the input data of the other side of the ALU (arithmetic logic unit) is all zero (
0). Since the arithmetic function of this arithmetic logic unit (ALU) is logically summed (about 0) by the control signal engineer 3, the result of the arithmetic operation is all zeros (0). Next, the sixth
In Figure (B), the control described in the first column of Table 5 is performed. That is, all zeros (0) are selected by the control signal I1, and this is the inverter circuit INV.
The data is inverted and made all one (1), which is used as input data for one of the arithmetic and logic units ()ALU. The other input data of the ALU (arithmetic logic unit) is the result of the above operation (all zeros). Since the arithmetic function of the ALU (arithmetic logic unit) is logically summed (OR) by the control (*-1'+I3), the result of the operation is all one (1).This data is sent to the destination bit By storing in the field, the above-mentioned operation 1→aest is completed.

また、第10番目の演算dest、 AND、s r 
c−+aestを実行する場合には、まず、第6図(5
)において、第4表の第10番目に記載された制御が行
なわれる。すなわち、制御信号工1によって、BB上の
データ(この場合ソース側ビットフィールドの値)sr
cが選択され、これがインバータ回路INDで反転され
ずに演算論理ユニ、 )ALUの一方の入力データとさ
れる。また演其陶埋ユニットALUの他方の入力データ
はオールゼロ(0)とされる。
Also, the 10th operation dest, AND, s r
When executing c-+aest, first
), the control listed at No. 10 in Table 4 is performed. That is, the data on BB (in this case, the value of the source bit field) sr
c is selected and is not inverted by the inverter circuit IND, but is used as input data for one of the arithmetic and logic unit ( ) ALU. In addition, the input data of the other input to the performance unit ALU is set to all zeros (0).

この演算論理二ニツ)ALUの演算機能は、制御信号工
3によって論理和(0几)とされるから、その演算結果
はソース側ビットフィールドの値(src)とされる。
Since the arithmetic function of the ALU is logically summed (0) by the control signal engineer 3, the result of the arithmetic operation is taken as the value (src) of the source side bit field.

次に第6図(B)において、第5表の第10番目に記載
された制御が行なわれる。
Next, in FIG. 6(B), the control listed in the 10th position of Table 5 is performed.

すなわち制御信号工1によりてBBBUS上のデータ(
この場合デスティネーシ四ン側ビットフィールドの値)
destが選択され、これがインバータ回路INVで反
転され(dest)演算@理ユニットALUの一方の入
力データとされる。また演算論理ユニッ)ALUの他方
の入力データは上記演算結果(src)とされる。演算
論理ユニ、トALUの演算機能は、制御信号■3によっ
て論理積(AND)とされるから、その演算結果はde
at、AND、arc  とされる。コノデータヲデス
ティネーシ冒ン側ビットフィールドにストアするコトに
よって、上記演算dest、AND、src→aest
の実行が終了する。
In other words, data on BBBUS (
In this case, the value of the destination bit field)
dest is selected, inverted by the inverter circuit INV (dest), and used as one input data of the arithmetic unit ALU. The other input data of the arithmetic logic unit (ALU) is the above-described calculation result (src). The arithmetic function of the arithmetic logic unit and ALU is ANDed by the control signal 3, so the result of the arithmetic operation is de
At, AND, arc. By storing the data in the destination bit field, the above operations dest, AND, src→aest
execution ends.

上記実施例では、レジスタ几5の内容によって、演算論
理ユニツ)ALU等が直接制御されているが、本発明の
適用に際して上記実施例に限定されるものではない。す
なわち汎用レジスタR5の内容によって演X論理ユニy
)ALU等が間接的に制御されるものでおってもよい。
In the above embodiment, the arithmetic and logic unit (ALU) etc. are directly controlled by the contents of the register 5, but the application of the present invention is not limited to the above embodiment. In other words, depending on the contents of general-purpose register R5,
) ALU etc. may be controlled indirectly.

例えば、レジスタR5の内容を第3図に示す命令デコー
ダ4等に供給することにより、マイクロ几OM2から上
記制御信号工1〜■5等を得ることもできる。ブた上記
実施例では、制御信号工1はBBババス上データを選択
するか否かの選択信号とされているが、とれに限定され
ない。例えば、BBババス上データを供給するための供
給源等を、この制御信号工1で制御することもできる。
For example, by supplying the contents of the register R5 to the instruction decoder 4 shown in FIG. 3, the control signals 1 to 5 can be obtained from the microcontroller OM2. In the above embodiment, the control signal 1 is used as a selection signal for selecting data on the BB bus, but is not limited thereto. For example, a supply source for supplying data on the BB bus can also be controlled by this control signal equipment 1.

なお、BBパス上への、ソース側ビットフィールドの値
src又はデスティネーシ曹ン側ビットフィールドの値
d e s tの送出は、バレルシフタBSFの出力ラ
ッチレジスタB8FOからなされる。
Note that the value src of the source side bit field or the value d e st of the destination side bit field is sent onto the BB path from the output latch register B8FO of the barrel shifter BSF.

第8図は、第7図に示すフローチャートにおけるステッ
プS1をさらに詳細に説明するための実行手順が示され
ている。ステップ81は、ステップ801から812に
よって構成される。なお、第4図に示す汎用レジスタ群
几0〜R1,の中で、符号几a、几by R” e R
Yが付記されているレジスタはそれぞれソース・ベース
アドレス、テスティネーシ璽ン・アドレス、オフセラト
イ直・アドレス及びビットフィールド幅を入れるために
使用されているレジスタであることを示している。こR
a 、Rb 、RX 、Ryas汎用レジスし几。〜R
Isの任意のレジスタ番号をそれぞれの使用目的のため
に指定して使用することができる。
FIG. 8 shows an execution procedure for explaining step S1 in the flowchart shown in FIG. 7 in more detail. Step 81 is composed of steps 801 to 812. Note that among the general-purpose register groups 0 to R1 shown in FIG.
The registers marked with Y indicate the registers used for storing the source/base address, testing address, offset direct address, and bit field width, respectively. This R
a, Rb, RX, Ryas general register. ~R
Any register number of Is can be designated and used for each purpose.

第1のステップ801では、レジスタRx内の値すなわ
ちオフセット値の入っている位置を示すアドレスがバス
BAまたはBBを介して、また定数入力機能によって0
がアドレス演算ユニットAUにそれぞれ入力され、その
加算結果がレジスタAUOに格納される〇 第2のステップ802では、ステップ801でレジスタ
AUOに格納されたアドレス値(オフセット値アドレス
)がレジスタAOR,へ転送されるとともに、I10イ
ンタフェースに対して外部データバス上のデータをフェ
ッチするようにリクエスト指令が与えられる。これによ
って、レジスタRx内のアドレス値がI10インタフェ
ースを介して外部アドレスバス上に出力され、外部のメ
モリがアクセスされてその内容がデータバス上に出力さ
れる。そして、メモリから読み出されたデータすなわち
オフセット値QffがI10インタフェースによシフエ
ッチされる。
In a first step 801, the value in the register Rx, that is, the address indicating the location where the offset value is stored, is input to 0 via the bus BA or BB and by the constant input function.
are respectively input to the address calculation unit AU, and the addition result is stored in the register AUO. In the second step 802, the address value (offset value address) stored in the register AUO in step 801 is transferred to the register AOR. At the same time, a request command is given to the I10 interface to fetch data on the external data bus. As a result, the address value in register Rx is output onto the external address bus via the I10 interface, the external memory is accessed, and its contents are output onto the data bus. Then, the data read from the memory, ie, the offset value Qff, is shifted and etched by the I10 interface.

第3のステップ803では、110インタフエースよシ
出力される信号に基づいてフェッチしたデータが確定し
ているか確認される。これによって、データはデータ・
インプット・レジスタDIRK取!0込まれる。これと
ともに、ステップ803では、レジスタRaの値すなわ
ちソース・ペースアドレスBADがバスBAまたはBB
を介して、また定数入力機能によりて0が、アドレス演
算ユニッ)Allにそれぞれ入力され、その加算結果が
レジスタAUOに格納される。
In the third step 803, it is confirmed whether the fetched data is determined based on the signal output from the 110 interface. This allows the data to
Input register DIRK taken! 0 is included. At the same time, in step 803, the value of the register Ra, that is, the source pace address BAD is set to the bus BA or BB.
0 is input to the address calculation unit (All) via the constant input function and the addition result is stored in the register AUO.

それから、第4のステップ804で、上記レジスタAU
OO値(ソース・ペースアドレス)がレジスタAORへ
転送され、更にバスBCを介してテンポラリレジスタD
TEOに転送される。
Then, in a fourth step 804, the register AU
The OO value (source pace address) is transferred to register AOR, and then transferred to temporary register D via bus BC.
Transferred to TEO.

なお、他の処理との関係でアドレス演算ユニツ)AUの
演算結果がレジスタAUOからAORへ転送されるとき
、自動的にレジスタAOTにも転送されるようにされて
いる。ここでは、レジスタAOTへの転送は特別の意味
も持っていない。これと並行して、アドレス演算ユニツ
)AUには、定数入力機能によル0が入力されるととも
に、バスBBを介してデータ・インプット・レジスタD
IRの内′4(オフセット値)が符号拡張されて入力さ
れ、演算結果がレジスタAUOに格納される。
Note that in relation to other processing, when the operation result of the address operation unit (AU) is transferred from register AUO to AOR, it is also automatically transferred to register AOT. Here, the transfer to register AOT has no special meaning. In parallel, 0 is input to the address operation unit (AU) by the constant input function, and the data input register D is input via the bus BB.
'4 (offset value) of IR is sign-extended and input, and the operation result is stored in register AUO.

さらに、レジスタR7からファンクシ冒ンブロックFB
に対して保持値すなわちビットフィールド幅WBがバス
BAを介して供給され、7アンクシ、ンブロックFBで
下位5ビツトを除く上位27ビツトがマスクされ、結果
がレジスタFBOに格納される。ビットフィールド幅の
下位5ビツトのみ抽出することは、数学的に表現すると
ビットフィールド幅を数「32」で割った余まりを求め
ることと同義である。以下、このビットフィールド幅の
下位5ビツトを端数WD・と記す。ここで端数WD・を
求めるのは、後のステップ809でのバウンダリ渡りの
判定に使用するためである。
Furthermore, from register R7, the function block FB
The held value, that is, the bit field width WB, is supplied via the bus BA, the upper 27 bits excluding the lower 5 bits are masked in the 7-anchor block FB, and the result is stored in the register FBO. Extracting only the lower five bits of the bit field width is equivalent to finding the remainder when the bit field width is divided by the number "32" when expressed mathematically. Hereinafter, the lower five bits of this bit field width will be referred to as a fraction WD. The reason why the fraction WD· is obtained here is to use it for determining boundary crossing in step 809 later.

次に、ステップ806でレジスタ人UOO値すなわちオ
フセット値OffをバスBCを介してテンポラリレジス
タDTElへ転送する。これととモニ、アドレス演算ユ
ニットAUに対してレジスタAUOの値(オフセット値
)とテンポラリレジスタDTEoの値すなわちソース・
ペースアドレスBADをシフタS F ’f’で上位側
へ3ビツトシフトした値とが供給され、その加算結果が
レジスタALIOに格納される。ソース・ペースアドレ
スBADを上位側へ3ビツトシフトするのは、メモリ空
間をバイト単位で区切って指示できるようにされたペー
スアドレスBADを、ビット単位でメモリ空間内での位
置を指示できるように拡張するためである。従って、こ
のときレジスタAUOに入っているのは、求めるビット
フィールドのアドレス0番地からのビット数で表した距
離である。この距離をLと記す。
Next, in step 806, the register UOO value, ie, the offset value Off, is transferred to the temporary register DTEl via the bus BC. In addition to this, for address calculation unit AU, the value of register AUO (offset value) and the value of temporary register DTEo, that is, the source
A value obtained by shifting the pace address BAD by 3 bits to the higher order side by a shifter SF 'f' is supplied, and the result of the addition is stored in the register ALIO. Shifting the source pace address BAD by 3 bits to the upper side expands the pace address BAD, which was designed to be able to specify the memory space by dividing it into bytes, so that it can specify the location in the memory space in bits. It's for a reason. Therefore, what is stored in register AUO at this time is the distance expressed in the number of bits from address 0 of the desired bit field. This distance is denoted as L.

第6のステップ806では、上記レジスタAUOO値す
なわちペースアドレスを上位側へ3ビツトシフトした値
にオフセット値Qffを加えたものを、レジスタAOT
に転送する。一方、アドレス演算ユニットAUには、バ
スBAを介してテンポラリレジスタDTEOからソース
・ペースアドレスBADが入力され、またバスBBを介
してテンポラリレジスタDTE1から転送されたオフセ
ット値OffをシフタS F Tで下位側へ3ビツトシ
フトした値が入力されて加算され、その加算結果の下位
2ビツトをマスクした値がレジスタALIOに格納され
る。これとともに、レジスタFBO内の値WD*すなわ
ちビットフィールド幅の下位5ビツトがバスBCを介し
てテンポラリレジスタDTE3に転送される。
In the sixth step 806, the value obtained by shifting the register AUOO value, that is, the pace address by 3 bits to the upper side, and the offset value Qff is added to the register AOT.
Transfer to. On the other hand, the source pace address BAD is input from the temporary register DTEO to the address calculation unit AU via the bus BA, and the offset value Off transferred from the temporary register DTE1 via the bus BB is input to the address calculation unit AU by the shifter S F T. A value shifted 3 bits to the side is input and added, and a value obtained by masking the lower 2 bits of the addition result is stored in register ALIO. At the same time, the value WD* in register FBO, that is, the lower five bits of the bit field width, is transferred to temporary register DTE3 via bus BC.

上記の場合、アドレス演算二ニア ) A Uによって
、ペースアドレスに、オフセット値を下位側へ3ビツト
だけシフトした値を加算しているのは、対象となるビッ
トフィールドの先頭に最も近いバイト単位の実行アドレ
スを求めるためである。また、アドレス演算ユニ、トA
Uでの加算結果の下位2ビツトをマスクしているのは、
対象となるビットフィールド全体もしくはその先頭部分
を含む32ビツトのワードのアドレスを得るためである
In the above case, the value obtained by shifting the offset value by 3 bits to the lower order side is added to the pace address by the address operation (Ninear) AU. This is to obtain the execution address. In addition, the address calculation unit,
The lower two bits of the addition result in U are masked by
This is to obtain the address of a 32-bit word that includes the entire target bit field or its leading part.

第7のステップ807では、上記のようにして得られ九
しジスタADO内のワードアドレスがアドレス・アウト
プット・レジスタAORに転送されてI10インタフェ
ースを介して外部へ出力されるとともに、工10インタ
フェースに対しては外部データバス上のデータの7エツ
チft要求する指令がなされる。これによって、求める
ビットフィールドの先頭部分を含むワードのメモリから
の7エツチが開始される。これと並行して、レジスタA
UOに保持されているアドレスがバスBCを介してテン
ポラリレジスタDTE2に転送される。
In the seventh step 807, the word address in the register ADO obtained as described above is transferred to the address output register AOR and output to the outside via the I10 interface, and is also output to the I10 interface. A command is issued to request 7 ft of data on the external data bus. This initiates a 7-etch from memory of the word containing the beginning of the desired bit field. In parallel with this, register A
The address held in UO is transferred to temporary register DTE2 via bus BC.

lft−177ンクシ璽ンブロツクl″Bには、ステッ
プS05で得られたビットフィールドのアドレス0から
のビット位置を示す値りが、レジスタAOTからバスB
Aを介して供給され、その結果がレジスタFBOに格納
される。これによって、ステップ806で得られた求め
るビットフィールドの先頭部分を含むワードアドレス(
オフセットが31以下のときはペースアドレスと一致す
る)からのビットフィールドの先頭位置Qff中(これ
も一つのオフセット値でアシ、以下2次オフセットと称
する)がレジスタFBOに保持されることになる。
The value indicating the bit position from address 0 of the bit field obtained in step S05 is stored in lft-177 link block l''B from register AOT to bus B.
A and the result is stored in register FBO. As a result, the word address (
If the offset is 31 or less, it matches the pace address) and the start position Qff of the bit field (this is also one offset value, hereinafter referred to as a secondary offset) is held in the register FBO.

続いて、ステップ808では、上記レジスタにBO内の
値Qff*(2次オフセット)がバスBCを介してテン
ポ2リレジスタD ’l’ E 2に転送すれる。これ
とともに、演J!論理ユニットALUに対して、バスB
AおよびBBt−介して、テンポラリレジスタDTEa
内の値WD串(ビットフィールド幅の下位5ビツト)と
レジスタF B O内の値Qff中が供給されて加算さ
れ、その結果がレジスタALUOK格納される。これと
ともに、レジスタCBSに対し、制御部の側から定数1
33」が設定される。「33」なる数は1ワードのビッ
ト数「32」に「1」を加えた数である。また、I10
インタフェースからの信号に基づいてフェツチしたデー
タすなわち求めるとットフイールドの内容が確足してい
るか確認する。データが確認している場合、そのデータ
はデータ・インプットレジスタDIRに取り込まれてい
ることになる。
Subsequently, in step 808, the value Qff* (secondary offset) in the register BO is transferred to the tempo 2 re-register D'l'E2 via the bus BC. Along with this, En J! For logical unit ALU, bus B
A and BBt - through temporary register DTEa
The value WD (lower 5 bits of the bit field width) and the value Qff in the register FBO are supplied and added, and the result is stored in the register ALUOK. Along with this, the constant 1 is sent from the control unit side to the register CBS.
33" is set. The number "33" is the number of bits in one word, "32", plus "1". Also, I10
Based on the signal from the interface, it is confirmed whether the fetched data, that is, the content of the requested field is sufficient. If the data is confirmed, it means that the data has been taken into the data input register DIR.

次のステップ809でh、I10インタフェースによシ
フエッチされた値がデータ・インプット・レジスタDI
RからバスBCを介してテンポ2リレジスタDTE2に
転送される。これと並行して、演算論理ユニットALU
ではレジスタALUOの値(Off拳+WD*)からレ
ジスタCBSの値「33」の減算が行なわれ、その結果
がレジスタAL[JOに格納される。ここで、この減算
結果が「正」ならばビットフィールドが2つのワードに
またがっていることを意味し、「負」ならば1ワード内
に納まっていることを意味する。
In the next step 809, h, the value shifted and etched by the I10 interface is stored in the data input register DI.
The data is transferred from R to the tempo 2 reregister DTE2 via bus BC. In parallel with this, the arithmetic logic unit ALU
Then, the value "33" of the register CBS is subtracted from the value of the register ALUO (Off fist+WD*), and the result is stored in the register AL[JO. Here, if the result of this subtraction is "positive", it means that the bit field spans two words, and if it is "negative", it means that it is contained within one word.

また、ステップ809では、次のステップにおいてバレ
ルシフタ138Fで行なわれるビットシフト処理のシフ
ト方向とシフト量の指示を行なう。
Further, in step 809, instructions are given for the shift direction and shift amount of the bit shift processing to be performed by the barrel shifter 138F in the next step.

具体的にはバレルシ7り・カウンタB CN ’i’に
対して右方向シフトの指示が与えられるとともに、バス
BAを介してレジスタF B O内(D i Of f
 傘が、シフト量としてバレルシ7り・カウンタBCN
Tに供給される。
Specifically, a rightward shift instruction is given to the barrel shift counter BCN 'i', and the data in the register FBO (D i Of f
Umbrella is shifted by barrel shift 7/counter BCN
supplied to T.

そして、ステップ810において、バレルシ7りBSF
に対してテンポラリレジスタDTE2O値すなわちメモ
リから7エツチされたビットフィールドの内容がバスB
Bを介して供給されるとともに、足載人力機能によって
0が入力されてバレルシフト・カウンタBCNTの指示
に従ったシフトが実行され、その結果がレジスタ88F
Oに格納される。これによって、32ビツトのレジスタ
BSFO内には、第8図に示すように7エツチされ九ビ
ットフィールドの内容が左端に寄った状態つまシレジス
タの上位ビット側から順に詰まった状態で格納される。
Then, in step 810, the barrel system BSF
The contents of the temporary register DTE2O value, that is, the bit field 7 etched from memory, are transferred to bus B.
88F, and 0 is input by the foot-mounted human power function to execute a shift according to the instructions of the barrel shift counter BCNT, and the result is sent to the register 88F.
Stored in O. As a result, the contents of the 7-etched 9-bit field are stored in the 32-bit register BSFO as shown in FIG. 8, with the contents of the 9-bit field shifted toward the left end, and filled in sequentially from the upper bit side of the register.

これと並列して、 ステップ810では、次のステップ
においてバレルシ7り88Fで行なわれるシフト動作の
方向指示と、シフト量の指定が行なわれる。すなわち、
バレルシフタ・カウンタBCNTに対し、右方向シフト
の指示が与えられ、かつイ(δBAt−介してテンポラ
リレジスタDTEa内のビットフィールドl1WD中が
シフト量として供給される。
In parallel with this, in step 810, the direction of the shift operation to be performed by barrel shifter 88F in the next step and the shift amount are specified. That is,
A rightward shift instruction is given to the barrel shifter counter BCNT, and the bit field l1WD in the temporary register DTEa is supplied as the shift amount via δBAt-.

そして、ステップ811では、バレルシフタBSFに対
して、レジスタ88 F Oの値と「0」が入力され、
指定された方向とシフト量に従ったシフト動作が実行さ
れ、結果がレジスタBF30に格納される。レジスタB
 S F O内に入っていたビットフィールドの内容が
フィールド@WD串]分だけ右シフトされると、32ビ
ツトのレジスタBS)0内には第11図に示すように7
エツテされたビットフィールドの内容が右端に寄った状
態すなわちレジスタの下位側から順に詰まった所望の状
態で格納されるようになる。
Then, in step 811, the value of the register 88FO and "0" are input to the barrel shifter BSF,
A shift operation according to the specified direction and shift amount is executed, and the result is stored in register BF30. Register B
When the contents of the bit field contained in SFO are shifted to the right by the field @WD], 7 is stored in the 32-bit register BS)0 as shown in Figure 11.
The contents of the edited bit field are stored closer to the right end, that is, in a desired state in which the contents of the register are filled sequentially from the lower side.

このようにして、得られたビットフィールドの内容が、
次のステップS12において、レジスタBSFOからバ
スB(4−介して汎用レジスタの一つ凡すに格納される
In this way, the contents of the bit field obtained are
In the next step S12, the data is stored from register BSFO to one of the general-purpose registers via bus B (4-).

さらに、ステップ809において、Qff申とWD申と
の和と足載「33」との減算結果が「正」となりて、ビ
ットフィールドがバウンダリ渡シヲしていると判定され
た場合には、ステップ812から再びステップ80Bに
戻って上記手順を繰り返すことにより、複数のワードに
またがっているビットフィールドのすべての内容が読み
出される。
Further, in step 809, if the result of subtracting the sum of Qff value and WD value and foot value "33" is "positive" and it is determined that the bit field has passed the boundary, step 812 By returning to step 80B and repeating the above procedure, all contents of the bit field spanning multiple words are read.

第′10図に、上記マイクロフローにおけるオフセット
値Offおよびビットフィールド幅WDと2次才7セツ
)Qff牟および端数WD*との関係を図示しておく。
FIG. 10 illustrates the relationship between the offset value Off and the bit field width WD in the microflow described above, and the secondary value Qff and the fraction WD*.

なお、第8図のマイクロ70−に従った制限なしビット
フィールド命令の実行手順では、バウンダリ渡フの判定
を、2次オフセットQff串とビットフィールドの端数
WD串との和のから数「33」を引いた結果が「正」か
「負」かで行なりている。
In addition, in the execution procedure of the unrestricted bit field instruction according to the micro 70- in FIG. This is done based on whether the result of subtracting is ``positive'' or ``negative.''

本来、バウンダリ渡りの判定は1次オフセットOffと
ビットフィールド@WDとから判定すべきであシ、その
ようなマイクロクローを記述することも可能である。た
だし、1次オフセットOffにビットフィールド4WD
を加えてそれをベースアドレスBADかも32ビツトず
つ区切っていくことでバウンダリ渡ルが生じているか否
か判定し九場合と、実施例のように2次オフセットQf
f傘にビットフィールドの端数WD拳を加え、それが数
「32」を超えたか否かでバウンダリ渡シの判定を行な
った場合とで全く同じ結果が得られることは、第7図か
らも明らかである。
Originally, boundary crossing should be determined from the primary offset Off and the bit field @WD, and it is also possible to write such a microclaw. However, the bit field 4WD is set to the primary offset Off.
By adding the base address BAD and dividing it into 32-bit increments, it is determined whether or not boundary passing occurs.
It is clear from Figure 7 that exactly the same result can be obtained by adding the bit field fraction WD fist to the f umbrella and determining whether or not the boundary has passed based on whether it exceeds the number ``32''. It is.

以上本発明者によってなされた発明を実施例に基づき具
体的に説明したが、本発明は上記実施例に限定されるも
のではなく、その要旨を逸脱しない範囲で種々変更可能
であることはいうまでもない。例えは上記実施例ではビ
ットフィールドのベースアドレスやオフセット、フィー
ルド幅及び演算の種類をオペランドで与えるようにして
いるが、オペランドの代わりに実効アドレス部で与える
ようにしてもよい。
Although the invention made by the present inventor has been specifically explained above based on Examples, it goes without saying that the present invention is not limited to the above Examples and can be modified in various ways without departing from the gist thereof. Nor. For example, in the above embodiment, the base address, offset, field width, and type of operation of the bit field are given as operands, but they may be given as effective address parts instead of operands.

また、オペランドで演算の種類を指足するようにした本
発明に係る演算命令は、従来の固定された演算の代わシ
に設けてもよいが、併用して設けるようにしてもよい。
Furthermore, the arithmetic instruction according to the present invention, in which the type of operation is determined by the operand, may be provided in place of the conventional fixed arithmetic operation, or may be provided in combination.

以上の説明では主として本発明者によってなされた発明
をその背景となった利用分野であるマイクロプロセッサ
の命令形式に適用した場合について説明したが、この発
明はそれに限定されるものでなく、計算機やミニコン等
プログラム制御方式のデータ処理システム一般の命令形
式に利用することができる。
In the above explanation, the invention made by the present inventor was mainly applied to the instruction format of a microprocessor, which is the field of application that formed the background of the invention. It can be used as a general instruction format for program control type data processing systems.

〔発明の効果〕〔Effect of the invention〕

本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれは下記のとおりである
A brief explanation of the effects obtained by typical inventions disclosed in this application is as follows.

すなわち、プログラムに柔軟性を持たせ、例えばグラフ
ィック処理用のプログラムの開発が容易に行なえるよう
になる。
That is, the program can be made flexible and, for example, a program for graphic processing can be easily developed.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図及び第2図は本発明の通用の対象となりたビット
フィールド間演算命令におけるビットフィールドの構成
例を示す説明図、 第3図は本発明に係るビットフィールド命令を実行する
マイクロプロセッサの構成例を示すブロック図、 第4図は、第3図に示す実行ユニットの内部構成を示す
ブロック図、 第5図、第6回置及び第6図(B)は第4図に示す演算
論理ユニットAUU。 第7図は本発明が適用されたビットフィールド間演算命
令の実行シーケンスを示す70−チャート、 第8図は第7図におけるステップS1をさらに詳細に説
明するための実行シーケンス、第9図(5)、(B)は
この発明が適用される命令のフォーマットの実施例、 第10図及び第11図は、第8図に示す実行シーケンス
中の動作の説明図である。 DOR・・・データ・アウトプット・レジスタ、DIR
・・・データ・インプット・レジスタ、ALN・・・ア
ライナ、BaF・・・バレルシフタ、BCNT・・・バ
レルシフタ・カウンタ、FB・・・ファンクシ璽ンブロ
ック、AU・・・アドレス演算ユニット、SFT・・・
シフタ、AUO・・・ラッチ回路、AO凡・・・アドレ
ス・アウトプット・レジスタ、ALU・・・演算論理名
 31V1 男5r¥J ヵ61冒(A)7う6γ 第 71ヨ 司1続有11正書(方式)
1 and 2 are explanatory diagrams showing an example of the structure of a bit field in an inter-bit field operation instruction to which the present invention is applicable, and FIG. 3 is a structure of a microprocessor that executes a bit field instruction according to the present invention. A block diagram showing an example; FIG. 4 is a block diagram showing the internal configuration of the execution unit shown in FIG. 3; FIGS. AUU. 7 is a 70-chart showing an execution sequence of an inter-bit field operation instruction to which the present invention is applied; FIG. 8 is an execution sequence for explaining step S1 in FIG. 7 in more detail; and FIG. ), (B) are examples of instruction formats to which the present invention is applied, and FIGS. 10 and 11 are explanatory diagrams of operations during the execution sequence shown in FIG. 8. DOR...Data output register, DIR
...Data input register, ALN...Aligner, BaF...Barrel shifter, BCNT...Barrel shifter counter, FB...Function block, AU...Address calculation unit, SFT...
Shifter, AUO...Latch circuit, AO function...Address output register, ALU...Arithmetic logic name 31V1 Male 5r\J KA61F (A) 7U6γ No. 71 Yoji 1 concatenation 11 Orthographic (method)

Claims (1)

【特許請求の範囲】 1、命令解読手段と、 命令実行手段と、 情報保持手段とを含み、 第1の命令の実行によって得られた情報を上記情報保持
手段に格納する第1のステップと、第2の命令の実行の
際上記情報に基づいて上記命令実行手段が制御される第
2のステップを含むことを特徴とするマイクロプロセッ
サ。 2、上記命令実行手段は論理演算ユニットを含み、上記
情報に基づいて、上記論理演算ユニットの演算機能が制
御されることを特徴とする特許請求の範囲第1項記載の
マイクロプロセッサ。 3、上記情報保持手段は汎用レジスタであることを特徴
とする特許請求の範囲第2項記載のマイクロプロセッサ
。 4、命令解読手段と、 命令実行手段とを含み、 上記命令解読手段によって解読される命令のオペコード
内には、書替え可能な情報保持手段に記憶された情報に
基づいて上記命令実行手段の少なくとも一部の制御を実
行させる情報を含むことを特徴とするマイクロプロセッ
サ。 5、上記情報が記憶される上記情報保持手段内の番地を
指定するための番地情報は、上記オペコード内に含まれ
ていることを特徴とする特許請求の範囲第4項記載のマ
イクロプロセッサ。 6、上記情報が記憶される上記情報保持手段内の番地を
指定するための番地情報は、オペランド領域に含まれて
いることを特徴とする特許請求の範囲第4項記載のマイ
クロプロセッサ。 7、上記書替え可能な情報保持手段とは、マイクロプロ
セッサ内のレジスタであることを特徴とする特許請求の
範囲第4項記載のマイクロプロセッサ。 8、上記命令実行手段は論理演算ユニットを含み、上記
レジスタの内容に基づいて上記論理演算ユニットの演算
機能が制御されることを特徴とする特許請求の範囲第7
項記載のマイクロプロセッサ。 9、上記レジスタの内容に基づいて上記論理演算ユニッ
トの演算の種類が選択されることを特徴とする特許請求
の範囲第8項記載のマイクロプロセッサ。 10、上記命令解読手段によって解読される命令は、メ
モリ内の任意のビットから任意のビットまでの領域のデ
ータの取り扱いに関する命令であることを特徴とする特
許請求の範囲第9項記載のマイクロプロセッサ。
[Claims] 1. A first step comprising: an instruction decoding means, an instruction execution means, and an information holding means, and storing information obtained by executing the first instruction in the information holding means; A microprocessor comprising a second step in which the instruction execution means is controlled based on the information when executing the second instruction. 2. The microprocessor according to claim 1, wherein the instruction execution means includes a logic operation unit, and the operation function of the logic operation unit is controlled based on the information. 3. The microprocessor according to claim 2, wherein the information holding means is a general-purpose register. 4. It includes an instruction decoding means and an instruction execution means, and the operation code of the instruction decoded by the instruction decoding means includes at least one of the instruction execution means based on the information stored in the rewritable information holding means. A microprocessor characterized in that it includes information for controlling a part. 5. The microprocessor according to claim 4, wherein address information for specifying an address in the information holding means at which the information is stored is included in the operation code. 6. The microprocessor according to claim 4, wherein address information for specifying an address in the information holding means at which the information is stored is included in an operand area. 7. The microprocessor according to claim 4, wherein the rewritable information holding means is a register within the microprocessor. 8. Claim 7, wherein the instruction execution means includes a logic operation unit, and the operation function of the logic operation unit is controlled based on the contents of the register.
Microprocessor as described in Section. 9. The microprocessor according to claim 8, wherein the type of operation of the logical operation unit is selected based on the contents of the register. 10. The microprocessor according to claim 9, wherein the instruction decoded by the instruction decoding means is an instruction related to handling data in an area from an arbitrary bit to an arbitrary bit in the memory. .
JP62314063A 1987-12-14 1987-12-14 microprocessor Pending JPH01156824A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62314063A JPH01156824A (en) 1987-12-14 1987-12-14 microprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62314063A JPH01156824A (en) 1987-12-14 1987-12-14 microprocessor

Publications (1)

Publication Number Publication Date
JPH01156824A true JPH01156824A (en) 1989-06-20

Family

ID=18048780

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62314063A Pending JPH01156824A (en) 1987-12-14 1987-12-14 microprocessor

Country Status (1)

Country Link
JP (1) JPH01156824A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07105385A (en) * 1993-09-20 1995-04-21 Internatl Business Mach Corp <Ibm> System and method for performing program-cord conversion for effective picture-element processing
WO2001016710A1 (en) * 1999-08-30 2001-03-08 Ip Flex Inc. Data processor

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5247646A (en) * 1975-10-15 1977-04-15 Toshiba Corp Command control method
JPS60181837A (en) * 1984-02-29 1985-09-17 Fujitsu Ltd Processing system for execution instruction

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5247646A (en) * 1975-10-15 1977-04-15 Toshiba Corp Command control method
JPS60181837A (en) * 1984-02-29 1985-09-17 Fujitsu Ltd Processing system for execution instruction

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07105385A (en) * 1993-09-20 1995-04-21 Internatl Business Mach Corp <Ibm> System and method for performing program-cord conversion for effective picture-element processing
JP3058017B2 (en) * 1993-09-20 2000-07-04 インターナショナル・ビジネス・マシーンズ・コーポレイション Apparatus and method for converting graphics pixel data
WO2001016710A1 (en) * 1999-08-30 2001-03-08 Ip Flex Inc. Data processor
WO2001016717A1 (en) * 1999-08-30 2001-03-08 Ip Flex Inc. Control unit and recorded medium
US6826674B1 (en) 1999-08-30 2004-11-30 Ip Flex, Inc. Program product and data processor
US6904514B1 (en) 1999-08-30 2005-06-07 Ipflex Inc. Data processor
AU782238B2 (en) * 1999-08-30 2005-07-14 Ip Flex Inc. Control program product and data processing system
CN1301459C (en) * 1999-08-30 2007-02-21 Ip菲力股份有限公司 Data processing system and its control method

Similar Documents

Publication Publication Date Title
JPH0135366B2 (en)
JPH03218523A (en) Data processor
JPH10187661A (en) How to write a scalar value into a vector in a computer
JPH10232779A (en) Method and device for parallel instruction processing
JPS6014338A (en) Branch mechanism for computer system
JPH04260927A (en) Data processor
JPS58182754A (en) arithmetic processing unit
JP2690406B2 (en) Processor and data processing system
JPH034936B2 (en)
JPH04260929A (en) Data processor
US4924377A (en) Pipelined instruction processor capable of reading dependent operands in parallel
JPH01156824A (en) microprocessor
KR950012089B1 (en) Microprocessor
JP2520882B2 (en) Data processing device and data processing method
US7631166B1 (en) Processing instruction without operand by inferring related operation and operand address from previous instruction for extended precision computation
EP0334131B1 (en) Data processor performing operation on data having length shorter than one-word length
US6732251B2 (en) Register file circuitry
JPH04260926A (en) Bit retrieving circuit and data processor provided with the same
JPH0222413B2 (en)
JPS63136168A (en) Vector computer
JPH04260928A (en) Data processor
JP2824484B2 (en) Pipeline processing computer
JP3539914B2 (en) Microcomputer
JPH0833821B2 (en) Data processing device
JP2878250B2 (en) Data processing device