JP2013174942A - Cpu including multiple conditional flags - Google Patents

Cpu including multiple conditional flags Download PDF

Info

Publication number
JP2013174942A
JP2013174942A JP2012037531A JP2012037531A JP2013174942A JP 2013174942 A JP2013174942 A JP 2013174942A JP 2012037531 A JP2012037531 A JP 2012037531A JP 2012037531 A JP2012037531 A JP 2012037531A JP 2013174942 A JP2013174942 A JP 2013174942A
Authority
JP
Japan
Prior art keywords
flag
instruction
register
cpu
control 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.)
Granted
Application number
JP2012037531A
Other languages
Japanese (ja)
Other versions
JP5866697B2 (en
Inventor
Tatsuya Koizumi
達也 小泉
Shinichi Inokawa
晋一 井ノ川
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.)
LE TEKKU KK
LETech Co Ltd
Original Assignee
LE TEKKU KK
LETech Co 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 LE TEKKU KK, LETech Co Ltd filed Critical LE TEKKU KK
Priority to JP2012037531A priority Critical patent/JP5866697B2/en
Publication of JP2013174942A publication Critical patent/JP2013174942A/en
Application granted granted Critical
Publication of JP5866697B2 publication Critical patent/JP5866697B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a CPU architecture and an instruction set that allow both program efficiency and memory space reduction to be achieved.SOLUTION: In a processor of the present invention, a single CPU comprises two conditional flags being a first flag whose flag value changes when the CPU executes an arithmetic operation, and a second flag whose flag value changes when data loading is performed. Accordingly, processing is branched on the flag change after the data loading by creating a machine language instruction which uses the second flag whose flag is updated at the loading time, and processing is performed with the flag value before the data loading after the loading by creating a machine language instruction which uses the first flag whose flag is not automatically updated at the loading time. Thus, zero determination and flag save become unnecessary, and a program can be developed which is simple in regard to both the case in which an update of the flag value at the loading time is unwanted and the case in which an automatic update is preferred.

Description

本発明は、CPUに用いられるCPUコアに係り、IPコアとして活用されるCPUにおける複数のコンディションフラグに関する技術に係るものである。   The present invention relates to a CPU core used for a CPU, and relates to a technique related to a plurality of condition flags in a CPU utilized as an IP core.

CPUのレジスタは、アキュームレータや汎用レジスタ、インデックスレジスタなどの他に、フラグレジスタも含んだ構成となっているのが一般的である。アキュームレータが算術演算及び論理演算の結果をストアするレジスタであるのに対し、フラグレジスタは演算の結果生じた各種の条件をあらわすステータスをストアするという役割がある。   In general, the CPU register includes a flag register in addition to an accumulator, a general-purpose register, an index register, and the like. The accumulator is a register for storing the results of arithmetic operations and logical operations, whereas the flag register has a role of storing statuses representing various conditions generated as a result of the operations.

マイクロプロセッサの種類に応じて、アキュームレータとフラグレジスタの関係は若干異なっている。すなわち、モトローラ68系CPUは、アキュームレータなどのレジスタにデータをロードすることにあわせてフラグレジスタ内の特定ビット(ゼロフラグ)の値が変化するのに対し、インテル80系CPUは、レジスタにデータをロードした時点ではゼロフラグ等の値は変化せず、演算を施し、その演算結果に基づいてゼロフラグ等の値が変化する仕様になっている。   Depending on the type of microprocessor, the relationship between the accumulator and the flag register is slightly different. That is, the value of a specific bit (zero flag) in the flag register changes as the Motorola 68 series CPU loads data into a register such as an accumulator, while the Intel 80 series CPU loads data into the register. At this time, the value of the zero flag or the like is not changed, the calculation is performed, and the value of the zero flag or the like is changed based on the calculation result.

用途に応じたプログラムを作成するにはゼロフラグの値を用いて処理を分岐させることが必要になるが、80系CPUのプログラマーは、データを一旦ロードし、AND論理演算などでロードされたデータがゼロであるかを判定したステップを追加しなければゼロフラグが変化しないために不便を感じていた。他方で、68系CPUは、上述したように、データがロードされるとゼロフラグの値が保持されないので、ゼロフラグの値を使用して分岐処理を行なわせるときには、そのゼロフラグ値をスタック、別のレジスタ、又はワークエリアに退避する処理をしてからデータをロードしなければならなかった。   To create a program according to the application, it is necessary to branch the process using the value of the zero flag. However, 80 series CPU programmers load data once, and the data loaded by AND logic operation etc. We felt inconvenience because the zero flag would not change unless we added a step to determine if it was zero. On the other hand, as described above, when the data is loaded, the 68 system CPU does not hold the value of the zero flag. Therefore, when the branch processing is performed using the value of the zero flag, the zero flag value is stacked and stored in another register. Or, the data had to be loaded after being saved in the work area.

このようなゼロフラグ変化の問題は、80系及び68系の各プログラマーが作成するプログラムの工数が増加することの不便さにとどまらない。すなわち、80系におけるフラグ変化のためのプログラムステップ数の増加、68系におけるフラグ退避のためのワーキングエリアの確保は、メモリ空間を多く消費してしまうことにもつながるからである。80系や68系のCPUは、現在では、汎用のコンピュータ製品というようよりも、各種機器の組み込み用途として主に使用されており、例えば、パチンコなどの遊技機における当り確率を制御する特定コア用プロセッサのために使用されることが多い。遊技機の場合、関連する遊技関連規則の制約からメモリ空間が大幅に制限されているため、ゼロフラグ値の変化に対処するためのメモリ空間の増加は無視できない問題である。   The problem of such a zero flag change is not limited to the inconvenience of increasing the number of man-hours for programs created by 80-series and 68-series programmers. In other words, the increase in the number of program steps for flag change in the 80 system and the securing of a working area for saving the flag in the 68 system also lead to consumption of a large amount of memory space. Currently, the 80-series and 68-series CPUs are mainly used as embedded devices for various devices rather than general-purpose computer products. For example, for specific cores that control the probability of hitting in gaming machines such as pachinko machines. Often used for processors. In the case of gaming machines, the memory space is greatly limited due to the restrictions of the related game-related rules. Therefore, an increase in the memory space for coping with the change of the zero flag value is a problem that cannot be ignored.

そこで、本発明は、かかる従来技術の問題点に鑑みてなされたものであり、プログラム効率とメモリ空間の削減の両立をおこなえるCPUアーキテクチャと命令セットを提供することを目的とする。   Therefore, the present invention has been made in view of the problems of the prior art, and an object thereof is to provide a CPU architecture and an instruction set that can achieve both program efficiency and memory space reduction.

前記目的を達成するために、本発明によるCPUは、所与の機械語命令を実行するCPUコアを具備し、前記CPUコアは、前記機械語命令に従い決定される命令動作シーケンスに基づき、(i)算術論理演算が実行されたとき、演算結果をフラグレジスタ内の第1のコンディションフラグに対応するビット(Z)に反映し、(ii)前記CPUコア内のレジスタにデータがロードされたとき、ロード結果を前記フラグレジスタ内の第2のコンディションフラグに対応するビット(TZ)に反映する、ことを特徴とする。   To achieve the above object, a CPU according to the present invention includes a CPU core that executes a given machine language instruction, and the CPU core is based on an instruction operation sequence determined according to the machine language instruction (i ) When an arithmetic logic operation is executed, the operation result is reflected in the bit (Z) corresponding to the first condition flag in the flag register, and (ii) when data is loaded into the register in the CPU core, The load result is reflected in the bit (TZ) corresponding to the second condition flag in the flag register.

より詳細に言うと、本発明によるCPUは、所与の機械語命令を実行するCPUコアを具備し、前記CPUコアは、前記CPUコア内部の状態遷移を管理し、各状態に応じた動作指示を作成する状態制御ユニットと、外部より入力された機械語命令を解析して命令デコードを作成し、当該命令デコードを前記状態制御ユニットに渡すこと、及び、前記状態制御ユニットにより決定される内部状態遷移による動作指示に従い命令動作のシーケンスを決定する中央制御ユニットと、前記中央制御ユニットからの命令動作シーケンスに基づき、複数の内部レジスタ又は外部入力をソースとして算術論理演算を実行する演算論理ユニット(ALU)と、前記内部レジスタの状態又は所定の命令でセット若しくはリセットが行われる複数フラグを有する1以上のフラグレジスタと、を含み、
前記演算論理ユニットの演算結果が、前記フラグレジスタ内の第1のコンディションフラグに対応するビット(Z)に反映され、前記内部レジスタへのデータロードの結果が、前記フラグレジスタ内の第2のコンディションフラグに対応するビット(TZ)に反映される、ことを特徴とする。
More specifically, the CPU according to the present invention includes a CPU core that executes a given machine language instruction, and the CPU core manages state transitions in the CPU core and operates according to each state. A state control unit for generating a command, analyzing a machine language instruction input from the outside to generate an instruction decode, passing the instruction decode to the state control unit, and an internal state determined by the state control unit A central control unit that determines a sequence of instruction operations according to an operation instruction by transition, and an arithmetic logic unit (ALU) that executes arithmetic logic operations using a plurality of internal registers or external inputs as sources based on the instruction operation sequence from the central control unit ) And a plurality of flags that are set or reset by the state of the internal register or a predetermined instruction Anda more flags register,
The operation result of the arithmetic logic unit is reflected in the bit (Z) corresponding to the first condition flag in the flag register, and the result of the data load to the internal register is the second condition in the flag register. It is reflected in the bit (TZ) corresponding to the flag.

また、本発明によるCPUコアは、前記演算論理ユニットの演算結果が、前記第1のコンディションフラグに対応するビット(Z)と、前記第2のコンディションフラグに対応するビット(TZ)との両方に反映されることを特徴とする。   In the CPU core according to the present invention, the calculation result of the arithmetic logic unit includes both a bit (Z) corresponding to the first condition flag and a bit (TZ) corresponding to the second condition flag. It is characterized by being reflected.

本発明のCPUは、演算実行時にフラグ値が変化する第1のコンディションフラグと、データロードがなされるとフラグ値が変化する第2のコンディションフラグというように2つのコンディションフラグを一つのCPUコア内に備えるようにしたので、これら第1のコンディションフラグと第2のコンディションフラグを状況に応じて使い分けることが可能になる。例えば、データロード後のフラグ変化で処理を分岐させたければロード時にフラグが更新される“第2のコンディションフラグ”を用いた命令でプログラムを作成する一方で、データロード後にロード前のフラグ値を用いた処理を行なうのであれば、ロード時にフラグが自動的に更新されない“第1のコンディションフラグ”を用いた命令でプログラムを作成する。2つのフラグを巧みに活用することでゼロ判定やフラグ退避のプログラムステップが不要となり、フラグ値がデータロード時に更新されては困る場合及び自動的に更新されて良い場合の両方に対して簡潔なプログラムを組み立てることができる。   The CPU according to the present invention includes two condition flags in one CPU core, such as a first condition flag whose flag value changes when an operation is executed and a second condition flag whose flag value changes when data is loaded. Thus, the first condition flag and the second condition flag can be used properly according to the situation. For example, if you want to branch processing by changing the flag after data loading, create a program with an instruction using the “second condition flag” that updates the flag at the time of loading, while changing the flag value before loading after data loading. If the process used is performed, a program is created with an instruction using a “first condition flag” whose flag is not automatically updated at the time of loading. Skillful use of the two flags eliminates the need for zero determination and flag saving program steps, and is concise for both cases where flag values need to be updated during data loading and when they can be automatically updated. You can assemble a program.

また、使用する空間領域の面からみると、プログラムエリアとしてのメモリ削減ができるとともに、フラグ状態の保持、退避、復旧のためのプログラムステップとワークエリアが不要になるため、メモリ効率が格段に向上したプログラムを作成することができるようになる。
さらにまた、第1のコンディションフラグのみを参照するZ80の命令をそのまま残し、第2のコンディションフラグを参照する命令の追加という命令構成のCPUコアにすることで、既存のプログラムを変更せずに拡張をすることができるという利点があり、その結果、複数のプログラム間の互換性がよいという効果もある。
From the viewpoint of the space area to be used, the memory efficiency as a program area can be reduced, and the program step and work area for holding, saving, and restoring the flag state are not required, so the memory efficiency is greatly improved. Will be able to create a program.
Furthermore, the existing program can be expanded without modification by leaving the Z80 instruction that refers only to the first condition flag as it is, and the CPU core having an instruction configuration that adds an instruction that refers to the second condition flag. As a result, there is also an effect that compatibility between a plurality of programs is good.

本発明の一実施形態に係わる、CPUとメモリの構成を表したブロック図である。It is a block diagram showing the structure of CPU and memory concerning one Embodiment of this invention. 本発明の一実施形態に係わる、CPU内部の構成図である。It is a block diagram inside a CPU according to an embodiment of the present invention. 本発明の一実施形態に係わる、フラグレジスタの内訳を示す図である。It is a figure which shows the breakdown of a flag register concerning one Embodiment of this invention. 本発明の一実施形態に係わる、CPU内のデータの流れを詳細に説明した図である。It is a figure explaining the flow of the data in CPU concerning one Embodiment of this invention in detail. 本発明の一実施形態に係わる、状態制御ユニット内で管理されている状態の遷移を図示したものである。FIG. 6 illustrates state transitions managed in a state control unit according to an embodiment of the present invention. FIG.

図面を参照しながら、本発明のCPUの一実施形態について以下に説明する。
図1は、CPU1とメモリ4の構成をあらわしたブロック図である。CPU1はCPUコア部2とバスコントローラ3を含む。コア部2は、バスコントロール信号でバスコントローラ3を制御し、メモリユニット4との間でリード/ライト信号や入出力データのやり取りをする。また、CPUコア部2に対して割込み信号(INT)/待ち信号(WAIT)、CPUコア部2及びバスコントローラ3に対してリセット信号が入力可能な状態になっている。
An embodiment of a CPU of the present invention will be described below with reference to the drawings.
FIG. 1 is a block diagram showing the configuration of the CPU 1 and the memory 4. The CPU 1 includes a CPU core unit 2 and a bus controller 3. The core unit 2 controls the bus controller 3 with a bus control signal, and exchanges read / write signals and input / output data with the memory unit 4. In addition, an interrupt signal (INT) / wait signal (WAIT) can be input to the CPU core unit 2, and a reset signal can be input to the CPU core unit 2 and the bus controller 3.

図2は、図1で示したCPUコア部2の内部構成を示したブロック図である。CPUコア部2における外部入力ユニット10は、外部信号(例えば、リセット、INT、WAIT、BUSREQ等)を入力し、状態制御ユニット11に受け渡す。このとき、リセット信号は中央制御ユニット12等を含む各ユニットのための初期化信号として渡される。
状態制御ユニット11は、図5に示す内部状態遷移を管理して、CPUコア2の動作状態を決定すると共に中央制御ユニット12へ実際の動作指示を行う。各命令に関する内部状態遷移は命令フェッチ状態(1)から始まり、中央制御ユニット12で行われる命令デコードの結果に応じて次の内部状態遷移が決定され(例えば、演算処理、メモリロード、メモリ記憶等)、したがって各命令毎に異なる内部状態遷移をもつことになる。なお、各命令の状態遷移の情報は、状態制御ユニット11内に格納されている。
FIG. 2 is a block diagram showing an internal configuration of the CPU core unit 2 shown in FIG. The external input unit 10 in the CPU core unit 2 inputs an external signal (for example, reset, INT, WAIT, BUSREQ, etc.) and passes it to the state control unit 11. At this time, the reset signal is passed as an initialization signal for each unit including the central control unit 12 and the like.
The state control unit 11 manages the internal state transition shown in FIG. 5, determines the operation state of the CPU core 2, and issues an actual operation instruction to the central control unit 12. The internal state transition for each instruction starts from the instruction fetch state (1), and the next internal state transition is determined according to the result of instruction decoding performed by the central control unit 12 (for example, arithmetic processing, memory load, memory storage, etc.) Therefore, each instruction has a different internal state transition. Information on the state transition of each instruction is stored in the state control unit 11.

中央制御ユニット12は、バスコントローラ3経由でメモリユニット4より入力された入力データDIを読み込んで命令デコーダ13に渡し、命令デコーダ13により命令解析を行う。命令デコーダ13で命令解析が終了して、中央制御ユニット12が命令デコードの結果を状態制御ユニット11に渡すと、状態制御ユニット11内で決定される内部状態遷移による次の動作指示に従い、命令動作をデータパスユニット14で順次実行させる。 なお、命令デコードの結果と状態制御ユニット11から指示される状態により各命令がどのような動作を行うかのシーケンス情報は中央制御ユニット12内に格納されている。   The central control unit 12 reads the input data DI input from the memory unit 4 via the bus controller 3, passes it to the instruction decoder 13, and performs instruction analysis by the instruction decoder 13. When instruction analysis is completed in the instruction decoder 13 and the central control unit 12 passes the result of instruction decoding to the state control unit 11, the instruction operation is performed in accordance with the next operation instruction by the internal state transition determined in the state control unit 11. Are sequentially executed by the data path unit 14. Note that sequence information indicating what operation each instruction performs according to the instruction decoding result and the state instructed by the state control unit 11 is stored in the central control unit 12.

データパスユニット14は、レジスタバンク15を含む。レジスタバンク15は、本実施の形態の場合、アキュームレジスタ(A)、フラグレジスタ(F)及び6個のレジスタ(B,C,D,E,H,L)、並びにインデックスレジスタ(IX,IY)、スタックポインター(SP)、プログラムカウンター(PC)を含んで構成されている。なお、レジスタバンク15内のレジスタは複数セットで構成することも可能である。   The data path unit 14 includes a register bank 15. In this embodiment, the register bank 15 includes an accumulator register (A), a flag register (F), six registers (B, C, D, E, H, L), and an index register (IX, IY). , A stack pointer (SP) and a program counter (PC). It should be noted that the registers in the register bank 15 can be composed of a plurality of sets.

図3は、フラグレジスタ(F)の内訳例を示している。レジスタバンク15内のFレジスタ17が図3で示すフラグレジスタ(F)に対応する。フラグレジスタ(F)には、CPUのオペレーションにより、演算ユニットALU16の演算結果や特定の命令においてセット/リセットされる複数のフラグを有する。   FIG. 3 shows a breakdown example of the flag register (F). The F register 17 in the register bank 15 corresponds to the flag register (F) shown in FIG. The flag register (F) has a plurality of flags that are set / reset in the arithmetic result of the arithmetic unit ALU 16 or a specific instruction by the operation of the CPU.

本実施形態では、7種類のフラグ(7ビット)を示す。ビットD6が演算実行時にフラグ値が変化する第1のコンディションフラグに対応する。つまり、CPUコアが演算命令を実行した結果がゼロになったときに第1のコンディションフラグはセットされる。
一方、ビットD5がデータロード時にフラグ値が変化する第2のコンディションフラグに対応する。第2のコンディションフラグの動作は、加算命令、減算命令、論理演算命令、インクリメント/ディクリメント命令等による演算結果と、ロード命令においてロードデータの判定を行いセットされる。
In this embodiment, seven types of flags (7 bits) are shown. Bit D 6 corresponds to the first condition flag flag value changes during execution. That is, the first condition flag is set when the result of the CPU core executing the arithmetic instruction becomes zero.
On the other hand, the bit D 5 corresponds to the second condition flag flag value is changed during data loading. The operation of the second condition flag is set by determining the load data in the operation result by the addition instruction, the subtraction instruction, the logical operation instruction, the increment / decrement instruction and the load instruction.

なお、本実施形態において、第1のコンディションフラグをビットD6に、第2のコンディションフラグをビットD5に割当てて説明するが、もちろん、他のビットに割当て可能であることは言うまでもない。また、その他のビットは、例えば、D0は桁上がりや桁下がりが生じたときにセットされるキャリーフラグ、D7は演算結果が負の場合にセットされるサインフラグなどであるが、本発明とは直接関係しないので、ここでは説明を省略する。 In the present embodiment, the first condition flag is assigned to bit D 6 and the second condition flag is assigned to bit D 5 , but it goes without saying that it can be assigned to other bits. The other bits are, for example, D 0 is a carry flag that is set when a carry or a carry occurs, and D 7 is a sign flag that is set when the result of an operation is negative. Is not directly related to the above description, and the description thereof is omitted here.

また、レジスタバンク15内には、ディスティネーションセレクタ(DSTsel)17と、演算論理ユニット(ALU)16、及びアドレスセレクタ(ADDRESSsel)18を備える。
ディスティネーションセレクタ(DSTsel)17は、演算論理ユニット(ALU)16からの入力を、レジスタ(B,C,D,E,H,L)へ出力するか、或いは、外部バスコントローラ(不図示)を介してメモリユニット4等へ渡す出力信号DOへ出力するかの選択を行なう。
The register bank 15 includes a destination selector (DSTsel) 17, an arithmetic logic unit (ALU) 16, and an address selector (ADDRESSsel) 18.
A destination selector (DSTsel) 17 outputs an input from the arithmetic logic unit (ALU) 16 to a register (B, C, D, E, H, L) or an external bus controller (not shown). The output signal DO to be passed to the memory unit 4 or the like is selected.

ソースAセレクタ(SRCAsel)20は、複数ある内部レジスタの中から1つのレジスタを選択して、演算論理ユニット(ALU)16への入力Aと決定する。
ソースBセレクタ(SRCBsel)19は、複数ある内部レジスタ及び外部バスコントローラ(不図示)を介して入力された外部入力DIの中から1つを選択して、演算論理ユニット(ALU)16への入力Bと決定する。
The source A selector (SRCAsel) 20 selects one register from a plurality of internal registers and determines it as an input A to the arithmetic logic unit (ALU) 16.
A source B selector (SRCBsel) 19 selects one of a plurality of internal registers and an external input DI input via an external bus controller (not shown) and inputs the selected input to the arithmetic logic unit (ALU) 16. B is determined.

演算論理ユニット(ALU)16は、ソースAセレクタ(SRCAsel)20が選択したソースA(SRCA)、及び、ソースBセレクタ(SRCBsel)19が選択したソースB(SRCB)を用いて、中央制御ユニット12からの命令動作に従い、ソースA(SRCA)とソースB(SRCB)の各種演算を行う。その演算結果は、ディスティネーションセレクタ17に出力される。   The arithmetic logic unit (ALU) 16 uses the source A (SRCA) selected by the source A selector (SRCAsel) 20 and the source B (SRCB) selected by the source B selector (SRCBsel) 19 to use the central control unit 12. Various operations of source A (SRCA) and source B (SRCB) are performed in accordance with the command operation from. The calculation result is output to the destination selector 17.

アドレスセレクタ(ADDRESSsel)18は、アクセスするメモリアドレスを選択するセレクタで、命令フェッチの場合はプログラムカウンタ(PC)、間接アドレスの場合はBC,DE,HL(ペアで16ビット)、IX、IYレジスタ、スタックアクセスの場合はSP、直接メモリアドレスを指定する場合はロード、ストア命令で読み込まれたオペランドを格納するアドレスレジスタ(不図示)を選択する。   An address selector (ADDRESSsel) 18 is a selector for selecting a memory address to be accessed. In the case of instruction fetch, a program counter (PC), in the case of an indirect address, BC, DE, HL (16 bits in pairs), IX, IY registers In the case of stack access, an SP is selected. In the case of directly specifying a memory address, an address register (not shown) for storing an operand read by a load / store instruction is selected.

次に、上述したデータパスユニット14で行なわれる命令実行の具体例を示す。
例えば“ADD A、B”命令の機械語命令は命令1バイトで構成され、命令内容は、AレジスタとBレジスタの内容を加算してAレジスタに格納することである。この命令が実行されるとき、CPUは下記の動作を行う。
まず、CPUコア2の状態が命令フェッチとなると、状態制御ユニット11が命令フェッチの指示を中央制御ユニット12へ出す。この指示を受けて、中央制御ユニット12はデータパスユニット14を操作し、プログラムカウンタ(PC)が示すアドレスをアドレスセレクタ(ADDRESSsel)18に設定し、これにより1バイト命令をメモリ4から読み出し、DI入力を介して入力する。入力された1バイト命令はデコーダー13へ渡され、命令解析が行われる。このときプログラムカウンタ(PC)では、次の命令フェッチアドレスを指示するための処理も同時に行われている。
Next, a specific example of instruction execution performed in the data path unit 14 described above will be shown.
For example, the machine language instruction of the “ADD A, B” instruction is composed of one instruction byte, and the instruction content is to add the contents of the A register and the B register and store them in the A register. When this instruction is executed, the CPU performs the following operations.
First, when the state of the CPU core 2 is instruction fetch, the state control unit 11 issues an instruction fetch instruction to the central control unit 12. In response to this instruction, the central control unit 12 operates the data path unit 14 to set the address indicated by the program counter (PC) in the address selector (ADDRESSsel) 18, thereby reading a 1-byte instruction from the memory 4, DI Enter via input. The input 1-byte instruction is passed to the decoder 13 for instruction analysis. At this time, in the program counter (PC), processing for instructing the next instruction fetch address is simultaneously performed.

中央制御ユニット12のデコーダー13により、“ADD A,B”命令と解析された結果が状態制御ユニット11へ渡されると、状態制御ユニット11はCPUコア2の動作状態が「演算」であると識別し、中央制御ユニット12にBレジスタの内容をAレジスタに加算するよう指示を出す。中央制御ユニット12はデータパスユニット14を操作して、Bレジスタの内容をAレジスタに加算する。   When the decoder 13 of the central control unit 12 passes the result analyzed as “ADD A, B” instruction to the state control unit 11, the state control unit 11 identifies that the operation state of the CPU core 2 is “calculation”. The central control unit 12 is instructed to add the contents of the B register to the A register. The central control unit 12 operates the data path unit 14 to add the contents of the B register to the A register.

データパスユニット14と中央制御ユニット12における一連の処理の完了が状態制御ユニット11に通知されると、状態制御ユニット11は、CPUコア2の状態を「演算」中から次の命令をフェッチするサイクルへ遷移し、命令フェッチ及びその実行というサイクルが順次繰り返される。「実行」の間、中央制御ユニット12からの指示を受けたデータパスユニット14内では、ソースAセレクタ(SRCAsel)20がAレジスタを選択し、ソースBセレクタ(SRCBsel)19がBレジスタを選択し、演算論理ユニット(ALU)16により加算演算が実行され、ディスティネーションセレクタ(DSTsel)17により選択されたAレジスタへ演算結果を格納する。   When the completion of a series of processing in the data path unit 14 and the central control unit 12 is notified to the state control unit 11, the state control unit 11 fetches the next instruction from “calculating” the state of the CPU core 2. And the cycle of instruction fetch and execution is sequentially repeated. During “execution”, the source A selector (SRCAsel) 20 selects the A register and the source B selector (SRCBsel) 19 selects the B register in the data path unit 14 that has received an instruction from the central control unit 12. The addition operation is executed by the arithmetic logic unit (ALU) 16 and the operation result is stored in the A register selected by the destination selector (DSTsel) 17.

図4はデータパスユニット14におけるデータの流れを詳細に説明した図である。
ソースAセレクタ(SRCAsel)20はセレクタ回路であり、レジスタバンク15内に複数あるレジスタに格納されたレジスタ内容のうち、算術/論理演算回路43の入力Aへセットされるデータ(SourceA)41が、中央制御ユニット12からのソースA選択信号により選択される。
ソースBセレクタ(SRCBsel)19もセレクタ回路であり、レジスタバンク15内の複数あるレジスタに格納されたレジスタ内容、及び、外部バスコントローラを介してメモリユニット2等から入力される外部入力DIのうち、算術/論理演算回路43の入力Bへセットされるデータ(SourceB)42が、中央制御ユニット12からのソースB選択信号により選択される。また、ソースBセレクタ(SRCBsel)19は、上記入力Bと並列して演算結果セレクタへ入力されるデータも選択する。
FIG. 4 is a diagram for explaining the data flow in the data path unit 14 in detail.
The source A selector (SRCAsel) 20 is a selector circuit, and among the register contents stored in a plurality of registers in the register bank 15, data (SourceA) 41 set to the input A of the arithmetic / logic operation circuit 43 is It is selected by a source A selection signal from the central control unit 12.
A source B selector (SRCBsel) 19 is also a selector circuit, and among the register contents stored in a plurality of registers in the register bank 15 and the external input DI input from the memory unit 2 or the like via the external bus controller, Data (Source B) 42 set to the input B of the arithmetic / logic operation circuit 43 is selected by the source B selection signal from the central control unit 12. The source B selector (SRCBsel) 19 also selects data input to the operation result selector in parallel with the input B.

算術/論理演算回路43は演算論理ユニット(ALU)16内にあり、様々な演算(加算、減算、論理和、論理積等)を行う。これらの演算は算術/論理演算回路43内では並行して処理され、演算結果は演算結果セレクタ44を介して、ディスティネーションセレクタ(DSTsel)45により選択されたレジスタまたは外部出力DOに出力される。   The arithmetic / logical operation circuit 43 is in the arithmetic logic unit (ALU) 16 and performs various operations (addition, subtraction, logical sum, logical product, etc.). These operations are processed in parallel in the arithmetic / logic operation circuit 43, and the operation result is output to the register selected by the destination selector (DSTsel) 45 or the external output DO via the operation result selector 44.

演算結果セレクタ44は、算術/論理演算回路43から出力される複数の演算結果の中から演算結果を選択したり、或いはソースBセレクタ19からの外部入力DIも入力として選択できる回路構成となっている。演算結果セレクタ44のセレクタ出力は、図示するとおり、Z判定回路46、TZ判定回路47、ディスティネーションセレクタ(DSTsel)45に並列に出力される。   The operation result selector 44 has a circuit configuration in which an operation result can be selected from a plurality of operation results output from the arithmetic / logic operation circuit 43, or an external input DI from the source B selector 19 can be selected as an input. Yes. The selector output of the calculation result selector 44 is output in parallel to a Z determination circuit 46, a TZ determination circuit 47, and a destination selector (DSTsel) 45 as shown in the figure.

ここで、Z判定回路46は、上述した第1のコンディションフラグのためのゼロ判定回路であり、Z更新信号により、入力されたデータが全てゼロか否ゼロかの判定を行う。ゼロ判定であればフラグレジスタ17のZflagに反映する(例えば、ビットD6に1をセットする)。 Here, the Z determination circuit 46 is a zero determination circuit for the above-described first condition flag, and determines whether all input data is zero or zero by a Z update signal. If zero determination reflects the Zflag flag register 17 (e.g., 1 is set to bit D 6).

また、TZ判定回路47は、Z判定回路46とは別に設けた第2のコンディションフラグのためのゼロ判定回路である。ゼロ判定回路と同様に、TZ更新信号により、入力されたデータが全てゼロか否ゼロかの判定を行う。TZ判定回路47の場合、ゼロ判定のときのみならず、データがレジスタバンク内のレジスタにロードされるときも、フラグレジスタのTZflagに反映する(例えば、ビットD5に1をセットする)。その結果、演算実行時の更新があった場合にZflag及びTZflagは同じフラグ値となり、ロード時の更新があった場合には異なる値となる。 The TZ determination circuit 47 is a zero determination circuit for a second condition flag provided separately from the Z determination circuit 46. Similar to the zero determination circuit, it is determined whether the input data is all zero or zero by the TZ update signal. For TZ determination circuit 47, not only at zero determination, (set for example, a 1 bit D 5) is also reflected in TZflag flag register when data is loaded into a register in the register bank. As a result, Zflag and TZflag have the same flag value when there is an update at the time of calculation execution, and different values when there is an update at the time of load.

ディスティネーションセレクタ(DSTsel)45は、ディスティネーション選択信号により選択された出力を、レジスタバンク15内のレジスタ或いは外部出力DOの何れに格納するかの選択を行う。   The destination selector (DSTsel) 45 selects whether the output selected by the destination selection signal is stored in the register in the register bank 15 or the external output DO.

本実施例の場合、第1のコンディションフラグであるZflagは演算時に更新され、第2のコンディションフラグであるTZflagは演算時及びレジスタへのデータロード時に更新されることを、以下の命令を用いて更に説明する。   In the case of the present embodiment, the first condition flag Zflag is updated at the time of calculation, and the second condition flag TZflag is updated at the time of calculation and when data is loaded into the register, using the following instruction: Further explanation will be given.

(例1:“ADD A,B”命令)
“ADD A,B”命令は、レジスタバンク15内のAレジスタとBレジスタの加算結果をAレジスタに格納する演算を実行することである。この命令の場合、中央制御ユニット12の指示によりソースA41としてAレジスタが選択され、ソースB42としてBレジスタが選択されて演算が行われる。次に、演算結果セレクタ44により加算の結果が選択され、Z判定回路46によりZ判定結果がZflagにセットされる。ディスティネーションセレクタ45は、Aレジスタを選択して結果をAレジスタに格納する。したがって、演算結果が、第1のコンディションフラグであるZフラグに反映される。
(Example 1: "ADD A, B" instruction)
The “ADD A, B” instruction is to execute an operation for storing the addition result of the A register and the B register in the register bank 15 in the A register. In the case of this instruction, the A register is selected as the source A41 and the B register is selected as the source B42 according to the instruction of the central control unit 12, and the operation is performed. Next, the result of addition is selected by the calculation result selector 44, and the Z determination result is set to Zflag by the Z determination circuit 46. The destination selector 45 selects the A register and stores the result in the A register. Therefore, the calculation result is reflected in the Z flag that is the first condition flag.

(例2:“LD A,(100h)”命令)
LD A,(100h)”命令は、Aレジスタに100h番地のデータをロードする演算を実行することである。この命令の場合、ソースBセレクタ19は外部入力DIを選択、演算結果セレクタ44はソースBを選択、ディスティネーションセレクタ45はAレジスタを選択し、Z判定は前回のZflagを更新、TZ判定は演算結果セレクタ44の結果を更新とすると、100h番地のデータがAレジスタにロードされる。Zフラグは変化しないが、TZ判定回路47が、ロードされた100h番地のデータがゼロか否ゼロかの判定を行う。したがって、データをロードしたという結果が、第2のコンディションフラグであるTZフラグに反映される。
(Example 2: “LD A, (100h)” instruction)
The “LD A, (100h)” instruction is to execute an operation for loading the data at the address 100h into the A register. In this instruction, the source B selector 19 selects the external input DI, and the operation result selector 44 is the source. If B is selected, the destination selector 45 selects the A register, Z determination updates the previous Zflag, and TZ determination updates the result of the operation result selector 44, the data at address 100h is loaded into the A register. Although the Z flag does not change, the TZ determination circuit 47 determines whether the loaded data at the address 100h is zero or not, so that the result of loading the data is the TZ flag which is the second condition flag. It is reflected in.

このようなZflagが演算時に更新され、TZflagが演算時とレジスタへのデータロード時に更新する処理構成は、インテル80系動作、モトローラ68系動作にそれぞれ一致し、各CPUの動作の互換性を反映している。ただし、Zflagは演算論理ユニットの演算結果を反映し(インテル80系動作)、TZflagは演算論理ユニットの演算結果とレジスタへのロードデータの値の判定を反映する(モトローラ68系動作)ことに必ずしも限定されるわけではない。例えば、TZflagはレジスタへのロードデータの判定のみを反映するとしても良い。   The processing configuration in which such Zflag is updated at the time of calculation and TZflag is updated at the time of calculation and when data is loaded into the register is consistent with the Intel 80 system operation and the Motorola 68 system operation, and reflects the compatibility of the operation of each CPU. doing. However, Zflag reflects the operation result of the arithmetic logic unit (Intel 80 system operation), and TZflag does not necessarily reflect the operation result of the arithmetic logic unit and the determination of the load data value to the register (Motorola 68 system operation). It is not limited. For example, TZflag may reflect only the determination of load data to the register.

ところで、上述したソースAセレクタ20、ソースBセレクタ19、演算結果セレクタ44、Z判定回路46、TZ判定回路47、ディスティネーションセレクタ(DSTsel)45は、各々、中央制御ユニット12から出力されるソースA選択信号、ソースB選択信号、演算結果選択信号、Z更新信号、TZ更新信号、ディスティネーション選択信号を受けて作動するようになっている。これらの選択又は更新信号は、中央制御ユニット内のデコーダー13による命令デコードの結果により出力される。これにより命令コード毎にZflagとTZflagの変化を定義できるため、様々組み合わせの命令セットを作成することが可能になる。また、参照するジャンプ命令、サブルーチンコール、リターン命令等についても、Zflagを参照する命令とTZflagを参照する命令をそれぞれ用意しておけば、様々な条件でのプログラム制御が可能となる。   By the way, the source A selector 20, the source B selector 19, the operation result selector 44, the Z determination circuit 46, the TZ determination circuit 47, and the destination selector (DSTsel) 45 described above are respectively source A output from the central control unit 12. It operates upon receiving a selection signal, a source B selection signal, an operation result selection signal, a Z update signal, a TZ update signal, and a destination selection signal. These selection or update signals are output as a result of instruction decoding by the decoder 13 in the central control unit. Thereby, since the change of Zflag and TZflag can be defined for every instruction code, it becomes possible to create various combinations of instruction sets. As for the jump instruction, subroutine call, return instruction, and the like to be referred to, if an instruction for referring to Zflag and an instruction for referring to TZflag are prepared, program control under various conditions becomes possible.

また、本実施形態では、演算結果がゼロか否ゼロかを判定するゼロフラグについて説明したが、他のフラグについても同様の判定回路や保持回路を持つよう構成することにより、同様の回路構成を実現できる。   In this embodiment, the zero flag for determining whether the calculation result is zero or not has been described. However, the same circuit configuration is realized by configuring the other flags to have the same determination circuit and holding circuit. it can.

すでに、状態制御ユニット11が図5に示す内部状態遷移を管理すること、また、中央制御ユニット11内のデコーダー13による命令デコードの結果に応じて次の内部状態遷移が決定されることを述べたが、各内部状態について以下に簡単に説明しておく。
CPUコア2の状態は下記に示す状態に定義でき、その状態がCPUの制御信号や命令により各実行サイクルへ遷移していくものである。
1.リセット状態
全ての内部状態がクリアされ、CPUコア2が初期化された状態。
2.命令フェッチ
メモリから命令を読み込み、その命令を解析する。
3.メモリ・ロード
指定されたアドレスのメモリからデータを内部レジスタに読み込む。
4.メモリ・ストア
内部レジスタのデータを指定したアドレスのメモリへ書き込む。
5.演算
内部のレジスタに算術演算を行う。
6.HALT
CPUコア2を実行停止とする。リセット、割り込み等の外部制御信号により解除される。
It has already been described that the state control unit 11 manages the internal state transition shown in FIG. 5 and that the next internal state transition is determined according to the result of instruction decoding by the decoder 13 in the central control unit 11. However, each internal state will be briefly described below.
The state of the CPU core 2 can be defined as shown below, and the state transitions to each execution cycle by a control signal or instruction of the CPU.
1. Reset state A state in which all internal states are cleared and the CPU core 2 is initialized.
2. Instruction fetch Reads an instruction from memory and analyzes the instruction.
3. Memory load Reads data from the memory at the specified address into the internal register.
4). Memory store Writes internal register data to the memory at the specified address.
5. Arithmetic operations are performed on internal registers.
6). HALT
CPU core 2 is stopped. It is released by an external control signal such as reset or interrupt.

リセット信号により動作開始したCPUコア2は、命令フェッチサイクルによりメモリから命令を読み出してその命令をデコード(解析)する。デコードした命令がロード命令であれば、CPUコア2は、メモリからデータをロードするメモリ・ロードサイクルに従いメモリのロードを行い、そして次の命令フェッチを行う。次にフェッチした命令が演算であればその演算を行うし、演算後メモリへストアする命令であればメモリ・ストアというサイクルを実行する。このようにCPUコア2は、状態遷移ユニット内の状態により、中央制御ユニット12内の命令デコーダー13により選択されたセレクタ選択信号を組み合わせて、命令を随時実行していく。
なお、本実施形態ではCPUコア2の状態を上記6つの状態として説明したが、この状態区分はこれに限定されるものではなく、CPUの設計に応じて様々なものがあり得ることに留意されたい。
The CPU core 2 that has started operating in response to the reset signal reads an instruction from the memory in an instruction fetch cycle and decodes (analyzes) the instruction. If the decoded instruction is a load instruction, the CPU core 2 loads the memory in accordance with a memory load cycle for loading data from the memory, and performs the next instruction fetch. Next, if the fetched instruction is an operation, the operation is performed, and if the instruction is to be stored in the memory after the operation, a cycle called memory store is executed. As described above, the CPU core 2 executes instructions as needed by combining the selector selection signals selected by the instruction decoder 13 in the central control unit 12 according to the state in the state transition unit.
In the present embodiment, the state of the CPU core 2 has been described as the above six states. However, it should be noted that this state division is not limited to this, and there may be various states depending on the design of the CPU. I want.

本実施形態によれば、CPUコア2がZflagとTZflagという2つのフラグを具備することにより、データロードしてもフラグ値が変化しないZflagと、データロードされるとフラグ値が変化するTZflagそれぞれに対し、1つの命令でロードデータの値を反映することができる。そのため、条件分岐命令がZflagを参照して行なうものと、TZflagを参照するものそれぞれを用意しておき、プログラム作成の容易さやプログラマーの使い勝手に応じてどちらのフラグを参照するかを適宜選択すれば良い。   According to the present embodiment, the CPU core 2 includes two flags, Zflag and TZflag, so that the flag value does not change even when the data is loaded, and the flag flag changes when the data is loaded. On the other hand, the value of the load data can be reflected by one instruction. Therefore, if the conditional branch instruction refers to Zflag and the one that refers to TZflag, prepare each and select which flag to refer to according to the ease of program creation and the ease of use of the programmer. good.

この点につき、TZflagを持たずにZflagを1つにし、ロード命令についてZflagの変化する命令と、Zflagの変化しない命令とを用意すれば同様な処理結果を達成することもあり得る。しかしながら、例えばジャンプ、サブルーチンコール等の条件分岐命令の数に較べて、メモリからのロード、レジスタ間のロードといったロード命令数は数倍多いことから、Zflagを1つしかもたない方法にするとロード命令数が格段に増大してしまうことになる。8ビットCPUの場合、機械語の命令構成は、基本8ビットで構成する1バイトであるが、1バイトで実装できない場合は2バイト以上の構成となる。現状では1バイトでは256個の命令しか定義できないため、2バイト以上の構成の組み合わせで命令セットが定義されている。また、命令は1バイトであっても、指定するアドレス情報が1バイト又は2バイト必要なために2バイト命令や3バイト命令も存在する。
本発明が目的とするプログラム効率とメモリ空間の削減の両立をおこなえるCPUアーキテクチャと命令セットを提供するためには、命令構成の少ない命令によってプログラム数を短縮することが望ましく、いかに少ない命令構成の命令でプログラムできるかが重要な要素となる。このことを考慮すると、本発明のコンディションフラグ構成は、機械語命令数を大幅に削減できるものといえる。
With respect to this point, it is possible to achieve the same processing result by setting Zflag to one without TZflag and preparing an instruction that changes Zflag and an instruction that does not change Zflag for the load instruction. However, since the number of load instructions such as load from memory and load between registers is several times larger than the number of conditional branch instructions such as jumps and subroutine calls, the load instruction can be obtained by using a method having only one Zflag. The number will increase dramatically. In the case of an 8-bit CPU, the machine language instruction configuration is basically 1 byte consisting of 8 bits, but if it cannot be implemented with 1 byte, it will be a configuration of 2 bytes or more. At present, only 256 instructions can be defined in one byte, so an instruction set is defined by a combination of two or more bytes. Even if the instruction is 1 byte, there are 2 byte instructions and 3 byte instructions because the address information to be specified requires 1 byte or 2 bytes.
In order to provide a CPU architecture and an instruction set that can achieve both the program efficiency and the reduction in memory space, which are the object of the present invention, it is desirable to reduce the number of programs by using instructions with a small instruction configuration. The key factor is whether or not it can be programmed. Considering this, it can be said that the condition flag configuration of the present invention can greatly reduce the number of machine language instructions.

本願発明は、特に、パチンコなどの遊技機におけるCPUに適用されることが有益である。   The present invention is particularly beneficial when applied to a CPU in a gaming machine such as a pachinko machine.

1 CPU
2 CPUコア
3 バスコントローラ
4 メモリユニット
11 状態制御ユニット
12 中央制御ユニット
13 デコーダー
14 データパスユニット
15 レジスタバンク
16 ALU
17 フラグレジスタ
1 CPU
2 CPU core 3 Bus controller 4 Memory unit 11 State control unit 12 Central control unit 13 Decoder 14 Data path unit 15 Register bank 16 ALU
17 Flag register

Claims (3)

所与の機械語命令を実行するCPUコアを具備したCPUであって、
前記CPUコアは、前記機械語命令に従い決定される命令動作シーケンスに基づき、(i)算術論理演算が実行されたとき、演算結果をフラグレジスタ内の第1のコンディションフラグに対応するビット(Z)に反映し、(ii)前記CPUコア内のレジスタにデータがロードされたとき、ロード結果を前記フラグレジスタ内の第2のコンディションフラグに対応するビット(TZ)に反映する、ことを特徴とするCPU。
A CPU having a CPU core for executing a given machine language instruction,
The CPU core is based on an instruction operation sequence determined in accordance with the machine language instruction. (I) When an arithmetic logic operation is executed, a bit (Z) corresponding to the first condition flag in the flag register when an arithmetic logic operation is executed. (Ii) When data is loaded into a register in the CPU core, the load result is reflected in the bit (TZ) corresponding to the second condition flag in the flag register. CPU.
前記演算結果が、前記第1のコンディションフラグに対応するビット(Z)と、前記第2のコンディションフラグに対応するビット(TZ)との両方に反映される、請求項1に記載のCPU。   2. The CPU according to claim 1, wherein the calculation result is reflected in both a bit (Z) corresponding to the first condition flag and a bit (TZ) corresponding to the second condition flag. 前記CPUコアは、
前記CPUコア内部の状態遷移を管理し、各状態に応じた動作指示を作成する状態制御ユニットと、
外部より入力された機械語命令を解析して命令デコードを作成し、当該命令デコードを前記状態制御ユニットに渡すこと、及び、前記状態制御ユニットにより決定される内部状態遷移による動作指示に従い命令動作のシーケンスを決定する中央制御ユニットと、
前記中央制御ユニットからの命令動作シーケンスに基づき、複数の内部レジスタ又は外部入力をソースとして算術論理演算を実行する演算論理ユニット(ALU)と、
前記内部レジスタの状態又は所定の命令でセット若しくはリセットが行われる複数フラグを有する1以上のフラグレジスタと、
を含み、
前記演算論理ユニットの演算結果が、前記フラグレジスタ内の第1のコンディションフラグに対応するビット(Z)に反映され、
前記内部レジスタへのデータロードの結果が、前記フラグレジスタ内の第2のコンディションフラグに対応するビット(TZ)に反映される、
ことを特徴とする、請求項1又は2に記載のCPU。
The CPU core is
A state control unit that manages state transitions in the CPU core and creates operation instructions according to each state;
Analyzing a machine language instruction input from the outside to create an instruction decode, passing the instruction decode to the state control unit, and performing an instruction operation according to an operation instruction by an internal state transition determined by the state control unit A central control unit for determining the sequence;
An arithmetic logic unit (ALU) that performs arithmetic logic operations using a plurality of internal registers or external inputs as sources based on a command operation sequence from the central control unit;
One or more flag registers having a plurality of flags that are set or reset by a state of the internal register or a predetermined instruction;
Including
The operation result of the operation logic unit is reflected in the bit (Z) corresponding to the first condition flag in the flag register,
The result of data loading to the internal register is reflected in the bit (TZ) corresponding to the second condition flag in the flag register.
The CPU according to claim 1, wherein the CPU is characterized.
JP2012037531A 2012-02-23 2012-02-23 CPU having a plurality of condition flags Active JP5866697B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012037531A JP5866697B2 (en) 2012-02-23 2012-02-23 CPU having a plurality of condition flags

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012037531A JP5866697B2 (en) 2012-02-23 2012-02-23 CPU having a plurality of condition flags

Publications (2)

Publication Number Publication Date
JP2013174942A true JP2013174942A (en) 2013-09-05
JP5866697B2 JP5866697B2 (en) 2016-02-17

Family

ID=49267811

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012037531A Active JP5866697B2 (en) 2012-02-23 2012-02-23 CPU having a plurality of condition flags

Country Status (1)

Country Link
JP (1) JP5866697B2 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH023822A (en) * 1988-06-21 1990-01-09 Matsushita Electric Ind Co Ltd Data processor
JPH02148222A (en) * 1988-11-30 1990-06-07 Matsushita Electric Ind Co Ltd Data processor
JPH02224025A (en) * 1988-10-18 1990-09-06 Apollo Computer Inc Programmable computer and compiling thereof
JPH07509083A (en) * 1992-07-13 1995-10-05 テキサス インスツルメンツ インコーポレイテッド digital signal processor
JPH096614A (en) * 1995-06-21 1997-01-10 Sanyo Electric Co Ltd Data processor
US5802360A (en) * 1996-05-01 1998-09-01 Lucent Technologies Inc. Digital microprocessor device having dnamically selectable instruction execution intervals
US20030061464A1 (en) * 2001-06-01 2003-03-27 Catherwood Michael I. Digital signal controller instruction set and architecture

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH023822A (en) * 1988-06-21 1990-01-09 Matsushita Electric Ind Co Ltd Data processor
JPH02224025A (en) * 1988-10-18 1990-09-06 Apollo Computer Inc Programmable computer and compiling thereof
JPH02148222A (en) * 1988-11-30 1990-06-07 Matsushita Electric Ind Co Ltd Data processor
JPH07509083A (en) * 1992-07-13 1995-10-05 テキサス インスツルメンツ インコーポレイテッド digital signal processor
JPH096614A (en) * 1995-06-21 1997-01-10 Sanyo Electric Co Ltd Data processor
US5802360A (en) * 1996-05-01 1998-09-01 Lucent Technologies Inc. Digital microprocessor device having dnamically selectable instruction execution intervals
US20030061464A1 (en) * 2001-06-01 2003-03-27 Catherwood Michael I. Digital signal controller instruction set and architecture

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6015049856; 川俣晶: 'プロセサの仕組みってこうだったのか! C言語で作るCPUエミュレータ' NIKKEI SOFTWARE 第12巻,第2号, 20090124, Pages:52-73, 日経BP社 Nikkei Business Publications,Inc. *

Also Published As

Publication number Publication date
JP5866697B2 (en) 2016-02-17

Similar Documents

Publication Publication Date Title
JP2550213B2 (en) Parallel processing device and parallel processing method
KR102413832B1 (en) vector multiply add instruction
EP2015174B1 (en) Microprogrammed processor having multiple processor cores using time-shared access to a microprogram control store
KR102379894B1 (en) Apparatus and method for managing address conflicts when performing vector operations
US20230084523A1 (en) Data Processing Method and Device, and Storage Medium
US20120260061A1 (en) Data processing apparatus and method for performing vector operations
KR20150019349A (en) Multiple threads execution processor and its operating method
JP2019511056A (en) Complex multiplication instruction
US6061367A (en) Processor with pipelining structure and method for high-speed calculation with pipelining processors
US7552313B2 (en) VLIW digital signal processor for achieving improved binary translation
JP2002532775A (en) Interpreter program execution method
JP7410186B2 (en) Explicit individual mask register mask operation method in GPU
US9361109B2 (en) System and method to evaluate a data value as an instruction
US6505291B1 (en) Processor having a datapath and control logic constituted with basis execution blocks
US20060200648A1 (en) High-level language processor apparatus and method
JP4800582B2 (en) Arithmetic processing unit
JP5866697B2 (en) CPU having a plurality of condition flags
US8285975B2 (en) Register file with separate registers for compiler code and low level code
US5812845A (en) Method for generating an object code for a pipeline computer process to reduce swapping instruction set
JP4159586B2 (en) Information processing apparatus and information processing speed-up method
US8275978B1 (en) Execution of conditional branch instruction specifying branch point operand to be stored in jump stack with branch destination for jumping to upon matching program counter value
JP2000029696A (en) Processor, and pipeline process control method
JP2004021890A (en) Data processor
JP3511691B2 (en) Arithmetic processing unit
KR100244210B1 (en) Method for design of microprocessor with multi-stage pipeline type

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151116

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151216

R150 Certificate of patent or registration of utility model

Ref document number: 5866697

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250