JP2019141675A - プロセッサ - Google Patents

プロセッサ Download PDF

Info

Publication number
JP2019141675A
JP2019141675A JP2019082048A JP2019082048A JP2019141675A JP 2019141675 A JP2019141675 A JP 2019141675A JP 2019082048 A JP2019082048 A JP 2019082048A JP 2019082048 A JP2019082048 A JP 2019082048A JP 2019141675 A JP2019141675 A JP 2019141675A
Authority
JP
Japan
Prior art keywords
register
instruction
area
program
use area
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
JP2019082048A
Other languages
English (en)
Other versions
JP7280600B2 (ja
Inventor
井之川 晋一
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.)
LETech Co Ltd
Original Assignee
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 LETech Co Ltd filed Critical LETech Co Ltd
Priority to JP2019082048A priority Critical patent/JP7280600B2/ja
Publication of JP2019141675A publication Critical patent/JP2019141675A/ja
Application granted granted Critical
Publication of JP7280600B2 publication Critical patent/JP7280600B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Pinball Game Machines (AREA)

Abstract

【課題】レジスタバンクの切り替えをより簡単に実現することができる遊技機を提供する。【解決手段】遊技機用プロセッサであって、第1のレジスタバンク133と、第2のレジスタバンク134と、を備え、第1のレジスタバンク133及び第2のレジスタバンク134それぞれが、スタックポインタレジスタを有する、遊技機用プロセッサであって、遊技機用プロセッサは、さらに、ユーザが使用可能な領域である記憶装置の使用領域内及びユーザが使用不可な領域である記憶装置の使用領域外を有し、使用領域内及び使用領域外それぞれにおいてプログラムを記憶した記憶装置を備え、第1のレジスタバンク133のスタックポインタレジスタは、使用領域内のプログラムで用いられ、第2のレジスタバンク134のスタックポインタレジスタは、使用領域外のプログラムで用いられる。【選択図】図1

Description

本発明は、プロセッサに関する。
複数のレジスタバンクを有するプロセッサが知られている。従来のプロセッサのレジスタバンクそれぞれは、スタックポインタ(SP)レジスタを有しておらず、複数のレジスタバンク全体で1つのSPレジスタが用いられている。
従来の2つのレジスタバンクを持つプロセッサにおいて、CALL命令などの処理を実行するときに、CALLされた処理で第1のレジスタバンクから第2のレジスタバンクを選択してサブルーチンを実行し、CALLされた処理から元の呼び出し元の処理に戻るRETURN命令を実行する直前で、第2のレジスタバンクから第1のレジスタバンクを選択して利用する。その際、CALLされた処理を開始するとき、SPレジスタの値を他の記憶領域に退避し、RETURN命令を実行するときに、CALL命令を開始したときに退避した値をSPレジスタに復帰させる必要がある。
SPレジスタの値の退避及び復帰に関する処理は、プロセッサを利用するユーザであるプログラムの作成者が準備する必要がある。
レジスタバンクの切り替えをより簡単に実現する。
複数のレジスタバンクそれぞれがSPレジスタを有するプロセッサを提供する。
本発明によるプロセッサの実施例は、第1のレジスタバンクと、第2のレジスタバンクとを備え、前記第1のレジスタバンク及び前記第2のレジスタバンクそれぞれが、スタックポインタレジスタを有することができる。
図1は、本発明の実施例による装置を示す。 図2は、遊技機で用いられる記憶装置のメモリマップの例を示す。 図3は、従来のプロセッサコアによる処理フローを示す。 図4は、本発明による実施例のレジスタバンクを示す。 図5は、本発明のプロセッサコアによる処理フローを示す。 図6は、フラグIFF及びNMIENを用いたプロセッサコアの例を示す。
プロセッサコアの概要
図1は、本発明の実施例によるマイコンにおけるプロセッサコアの概要を示す。プロセッサコア100は、外部入力ユニット105、状態制御ユニット110、中央制御ユニット115、レジスタユニット120、算術論理演算装置(ALU)140、リードデータ(DI)145、ライトデータ(DO)150、データバス155を有する。外部入力ユニット105は、外部信号を受信し、状態制御ユニット110及び中央制御ユニット115に提供する。状態制御ユニット110は、中央制御ユニット115との情報入出力を制御する。中央制御ユニット115は、リードデータ(DI)145より入力されたオペコード(命令)を命令デコーダ117によってデコードした結果によりALU140を制御する。中央制御ユニット115は、さらに、デコードした結果によりレジスタユニット120の各レジスタから必要な情報を取得や更新の制御を行う。
レジスタユニット120は、プログラムカウンタ(PC)レジスタ122、インタラプト(I)レジスタ124、リフレッシュ(R)レジスタ126、現在使用中のレジスタ群(レジスタバンク)を示すRBレジスタ128、宛先セレクタポート130、宛先バンクセレクタ132、第1のレジスタバンク133、第2のレジスタバンク134、送信元バンクレジスタ135、送信元セレクタポートA136、送信元セレクタポートB137及びアドレスポート138を有する。
遊技機におけるプロセッサコアについて
遊技機メーカであるユーザは、遊技機制御用プログラムを作成し、プロセッサコアを実装したマイクロコンピュータに記憶させる。これにより、遊技機は、プログラムに基づいて動作する。一方で、パチンコやパチスロなどの遊技機のマイクロコンピュータにおいて、遊技機における不正などを防止するために遊技機の検査が検査用プログラムを用いて実施される。
記憶装置は、ユーザが遊技機制御プログラムに使用可能なROMとワークエリアとして使用されるRAMが含まれる使用可能領域(使用領域内)と、ユーザの検査用プログラム格納されるROMと検査用プログラムがワークエリアとして使用するRAMが含まれ遊技機制御プログラムの使用が不可な使用領域外とに区別される。遊技機制御用プログラムは、使用領域外のRAMを更新することがでない。検査用プログラムは、使用領域内のRAMを更新することができない。(規則で定まっている)
上記遊技機制御プログラム、検査用プログラムのワークエリアにはプログラム実行時の演算のためのワークエリアの他にレジスタやサブルーチンCALL時の復帰アドレスを格納するスタックエリアも含まれる。
記憶装置は、図1において、図示されていないが、データバス155を含むバスを介してプロセッサコア100に接続される。図2は、遊技機で用いられる記憶装置のメモリマップの例を示す。アドレス0000hからXXXX1hまでのY1バイトは、ユーザプログラムエリア205であり、アドレスXXXX2hからXXXX3hまでのY2バイトは、ユーザデータエリア210である(下付文字が付されたXは、1桁以上の整数及び/又は文字を意味し、例えば、1桁分の値は0−9及びA〜Fとすることができる。下付文字が付されたYは、1桁以上の整数を意味し、例えば、Yは、0以上の整数とすることができる。以下、同様とする)。ユーザプログラムエリア205には、遊技機制御用プログラムが記憶され、ユーザデータエリア210には、遊技機制御用プログラムが参照するデータが記憶されている。ユーザプログラムエリア205及びユーザデータエリア210のメモリは、リードオンリーメモリである。
アドレスXXXX7hからXXXX8hまでのY4バイトは、第1のユーザRAMのエリア225であり、アドレスXXXX9hからXXXX10hまでのY5バイトは、第2のユーザRAMのエリア230である。第1のユーザRAMのエリア225及び第2のユーザRAMのエリア230は、遊技機制御用プログラムが実行されているときに用いられるワークエリアである。第1のユーザRAMのエリア225及び第2のユーザRAMのエリア230のメモリは、ランダムアクセスメモリである。
遊技機制御プログラムが実行されると、制御プログラムとともに、割込みプログラムも実行される。したがって、第1のユーザRAMのエリア225及び第2のユーザRAMのエリア230は、ワークエリアとして制御プログラムや、割込みプログラムに用いられるとともに、レジスタの情報の退避や、サブルーチン、割込み処理の復帰アドレスを一時的に記憶するスタックエリアとしても用いられる。ユーザプログラムエリア205、ユーザデータエリア210、第1のユーザRAMのエリア225及び第2のユーザRAMのエリア230は、遊技機制御プログラムによって用いられる使用領域内に対応する。
アドレスXXXX5hからXXXX6hまでのY9バイトは、外部プログラムエリア220である。外部プログラムエリア220には、遊技機における動作を検査する検査用プログラムが記憶されている。外部プログラムエリア220のメモリは、リードオンリーメモリである。
アドレスXXXX11hからXXXX12hまでのY6バイトは、外部ユーザRAMのエリア235である。外部ユーザRAMのエリア235は、検査用プログラムが実行されているときに用いられるワークエリアであり、レジスタの情報の退避や、サブルーチン、割込み処理の復帰アドレスを一時的に記憶するスタックエリアとしても用いられる。外部ユーザRAMのエリア235のメモリは、ランダムアクセスメモリである。
外部プログラムエリア220及び外部ユーザRAMのエリア235は、遊技機制御プログラムによって用いられず、検査用プログラムに用いられる使用領域外に対応する。
上記のとおり、使用領域内のメモリエリアと使用領域外のメモリエリアとを準備することによって、それぞれのエリアで使用領域を独立させることができる。すなわち、使用領域内において遊技機制御プログラムが実行され、使用領域外において検査用プログラムが実行され、遊技機制御プログラムと検査用プログラムは互いに干渉させない必要がある。これに関し、遊技機制御プログラムから検査用プログラムにプログラムの実行が移動したとき、スタックポインタの値を使用領域内に対応する値から使用領域外に対応する値に切り替える必要がある。切り替えを行わない場合、使用領域外で用いられるサブルーチンコールやレジスタの退避等のスタックを更新する操作によって、使用領域内に配置されているスタック領域や他のRAM領域が更新されてしまうからである。サブルーチンや割込み動作が規則正しく動作していれば、スタック以外の領域は更新されないが、プログラムミスや暴走によりスタックの領域以外のRAM領域が更新される可能性がある。
従来技術
図1に示したプロセッサコアは、本発明のものであり、従来のプロセッサコアは、レジスタユニット120のプログラムカウンタ(PC)レジスタ122、インタラプト(I)レジスタ124、リフレッシュ(R)レジスタ126及びRBレジスタ128と並んでスタックポインタレジスタを有する。以下、図3を用いて従来のプロセッサコアによる処理を説明する。
図3は、従来のプロセッサコアによる処理フローを示す。処理は、記憶装置の使用領域内を用いて実行される処理302と記憶装置の使用領域外を用いて実行される処理352とを含む。
まず、プロセッサコアによって実行される使用領域内を用いた処理302から開始する。始めに、アキュムレータレジスタA及びフラグレジスタFが退避(セーブ)される(ステップ304)。命令としては、PUSH AFが実行される。(この命令を実行する意味は後のLD (aaa)、SPを実行するとフラグレジスタFの内容が変化するため、フラグレジスタFの内容を退避する必要がある)割込みを禁止する(ステップ306)。命令としては、DIが実行される。DI命令により、マスカブル割込み処理が禁止される。使用領域内を用いた処理352を呼び出す(ステップ308)。命令としては、CALL xyz(xyzは記憶装置の領域外を用いて実行される処理、例えば、検査用プログラムによる処理)が実行される。これにより、使用領域外を用いて実行されるサブルーチンが呼び出され、サブルーチンに実行が移る。
処理の呼び出しに応じて、プロセッサコアによって実行される使用領域外を用いた処理352を開始する。スタックポインタが退避される(ステップ354)。命令としては、LD (aaa)、SPが実行される(aaaは領域外の退避先のアドレスを示す)。使用領域外のアドレスを指定するスタックポインタを設定する(ステップ356)。命令としては、LD SP、mnが実行される(mnは、使用領域外のアドレスを示す)。全てのレジスタ(BC、DE、HL、IX、IYレジスタ)を退避する(ステップ358)。命令としては、PUSH ALLが実行される。検査用プログラムなどによる処理が実行される(ステップ360)。ステップ360において、プロセッサコアは、記憶装置の使用領域外を用いて処理を実行する。その後、退避したレジスタの情報に基づいて全てのレジスタを復帰させる(ステップ362)。命令としては、POP ALLが実行される。退避したスタックポインタの情報に基づいてスタックポインタを復帰させる(ステップ364)。LD SP、(aaa)が実行される。ステップ308に処理を返す(ステップ366)。これにより、使用領域内を用いるプログラムの処理に復帰する。命令としては、RETが実行される。
命令が返されると、割込みの許可を行う(ステップ310)。命令としては、EIが実行される。EI命令により、ステップ306において禁止されていたマスカブル割込み処理が許可される。退避したAレジスタ及びFレジスタの情報に基づいて、それらレジスタを復帰させる(ステップ312)。命令としては、POP AFが実行される。処理が終了する(ステップ314)。
上記処理ではDI命令を実行してもNMI処理は禁止できないため、NMIによる割込み処理は実行されてしまう。このため、スタックポインタの領域外への変更を行わないと割込み時のスタックは領域内のRAMを使用することとなる。また、RAMエリアは限りがあるため、領域内の呼出し側の処理がサブルーチンのネストをしてスタック領域が少なくなった時点でCALL命令を実行すると呼びだされた領域外処理でさらにサブルーチンCALLなどによりスタックのネストが深くなると、スタックの領域がオーバーしたり、プログラムの暴走により、領域内のスタックやワークエリアが更新されてしまう恐れがある。さらに、スタックに全てのレジスタをセーブするとスタックエリアを使うためスタック領域を多量に確保しておく必要があり、遊技機制御に使うワークエリアが少なくなる。
したがって、上記の処理フローによって、記憶装置の使用領域内及び使用領域外のワークエリアとスタックエリアを分離することにより、割込み処理による、各領域への影響を少なくしていた。
レジスタバンク
図4は、本発明による実施例のレジスタバンクを示す。図4には、図1に示した第1のレジスタバンク133及び第2のレジスタバンク134が示されている。第1のレジスタバンク133は、表レジスタ群400と裏レジスタ群420を有する。表レジスタ群400は、Qレジスタ401、Uレジスタ402、Aレジスタ403、Fレジスタ404、Bレジスタ405、Cレジスタ406、Dレジスタ407、Eレジスタ408、Hレジスタ409、Lレジスタ410、IXレジスタ411、IYレジスタ412及びSPレジスタ413を有する。
裏レジスタ群420は、Q’レジスタ421、U’レジスタ422、A’レジスタ423、F’レジスタ424、B’レジスタ425、C’レジスタ426、D’レジスタ427、E’レジスタ428、H’レジスタ429、L’レジスタ430、IX’レジスタ431及びIY’レジスタ432を有する。
第2のレジスタバンク134は、第1のレジスタバンク133と同様に、表レジスタ群440及び裏レジスタ群460を有する。表レジスタ群440及び裏レジスタ群460は、第1のレジスタバンク133の表レジスタ群400及び裏レジスタ群420と同様の構成である。従来のプロセッサコアは、各レジスタバンクにスタックポインタレジスタを有しておらず、プロセッサコアに1つのスタックポインタレジスタを配置していた。本発明は、図4からも理解されるように、各レジスタバンクにおいてスタックポインタ413、453を備えている。
上記実施例において、2つのレジスタバンクを有する実施例を説明したが、他の実施例において、レジスタバンクは、3以上であってもよい。
本発明のプロセッサコアにより処理フロー
図5は、本発明のプロセッサコアによる処理フローを示す。処理は、記憶装置の使用領域内を用いて実行される処理502と記憶装置の使用領域外を用いて実行される処理552とを含む。
まず、プロセッサコアによって実行される使用領域内を用いた処理502から開始する。始めに、プロセッサコア100は、使用するレジスタバンクを第1のレジスタバンク133から第2のレジスタバンク134に切り替える(ステップ504)。具体的には、プロセッサコア100は、使用するレジスタバンクを示す情報を保持するRBレジスタ128の情報が第1のレジスタバンクから第2のレジスタバンクを示すように変更する。これにより、宛先バンクセレクタ132は、RBレジスタ128の情報に基づいて、書き込み先のレジスタバンクが第1のレジスタバンク133であるか第2のレジスタバンク134であるかを決定する。送信元バンクレジスタ135は、宛先バンクセレクタ132と同様に、読み込み先のレジスタ群を決定する。
割込みを禁止する(ステップ506)。DI命令により、マスカブル割込み処理が禁止される。使用領域内を用いた処理552を呼び出す(ステップ508)。記憶装置の領域外を用いて実行される処理、例えば、検査用プログラムによる処理が実行される。これにより、使用領域外を用いて実行されるサブルーチンが呼び出され、サブルーチンに実行が移る。
処理の呼び出しに応じて、プロセッサコアによって実行される使用領域外を用いた処理552を開始する。使用領域外のアドレスを指定するスタックポインタを設定する(ステップ556)。命令としては、LD SP、mnが実行される(mnは、使用領域外のアドレスを示す)。検査用プログラムなどによる処理が実行される(ステップ560)。ステップ560において、プロセッサコアは、記憶装置の使用領域外を用いて処理を実行する。ステップ508に処理を返す(ステップ566)。これにより、使用領域内を用いるプログラムの処理に復帰する。命令としては、RETが実行される。
命令が返されると、割込みの許可を行う(ステップ510)。EI命令により、ステップ306において禁止されていたマスカブル割込み処理が許可される。プロセッサコア100は、使用するレジスタバンクを第2のレジスタバンク134から第1のレジスタバンク133に切り替える(ステップ512)。具体的には、プロセッサコア100は、ステップ504と同様に、使用するレジスタバンクを示す情報を保持するRBレジスタ128の情報が第1のレジスタバンクから第2のレジスタバンクを示すように変更する。処理が終了する(ステップ514)。
各レジスタバンクにスタックポインタを設けることによって、それぞれのレジスタを選択的に退避及び復帰させる必要がなくなる。さらに、レジスタバンクの切り替えによって、レジスタを、使用領域内を用いた処理及び使用領域外を用いた処理のそれぞれのために切り替えることができる。これにより、本発明は、プログラムの作成量を削減することができる。
割込み処理の制御
使用領域外のプログラムが実行されている場合、割込み処理の禁止を行う必要がある。使用領域外のプログラムが実行されているときに、使用領域内で記憶されている割込み処理のプログラムが実行されると、割込み処理のプログラムは、使用領域内のワークメモリにアクセスし、メモリを更新してしまうからである。例えば、プロセッサ装置としてよく用いられるZ80プロセッサのノンマスカブル割込み処理(NMI割込み処理)が実行されると、0066h(図2において、アドレス「0066h」は、ユーザプログラムエリア205であると仮定する)のメモリ領域が参照されてしまうことから、使用領域外のプログラムの実行中に、NMI割込み処理が実行されると、使用領域内であるユーザプログラムエリア205が参照されてしまう。
割込み処理は、図3及び5で示したとおり、従来技術及び本発明の実施例において、DI命令によって、マスク可能な割込み処理(INT割込み処理)の実行を禁止することができる。しかしながら、DI命令では、INT割込み処理の実行を禁止することはできるが、ノンマスカブル割込み処理(NMI割込み処理)の実行を禁止することはできない。
割込み処理の制御の例としては、レジスタや記憶装置にノンマスカブル割込み許可フラグを設けてもよい。プロセッサコア100は、許可フラグを確認し、ノンマスカブル割込み処理の実行を許可しているか否かを判定する。これにより、プロセッサコア100は、ノンマスカブル割込み処理の実行の許可及び禁止を制御することができる。
割込み処理の制御の他の例としては、プロセッサコアの外部回路がNMIの受付信号を制御することによって、NMI割込み処理の実行を禁止することができる。
プロセッサ装置としてよく用いられるZ80プロセッサの割込み処理には割込みマスク可能な割込み処理(INT割込み処理)とノンマスカブル割込み処理(NMI割込み処理)が実行可能である。INT割込み処理の実行の許可及び禁止を制御するために、割込み制御フラグIFF1とIFF2が用いられている。IFF1はプロセッサのINT割込み処理の禁止及び許可を制御するために用いられる。
IFF2は、割込み処理の禁止命令(DI命令)及び許可命令(EI命令)が実行されると、IFF1と同じ値が設定される。具体的には、DI命令により、IFF1=IFF2=0となり割込み処理の実行が禁止され、EI命令により、IFF1=IFF2=1となり割込み処理の実行が許可される。また、プロセッサのリセット及び割込み(INT割込み)処理が発生すると、IFF1=IFF2=0となり、割込み処理の実行が禁止される。
プロセッサのNMI割込み処理が発生したとき、IFF1=0となり割込み処理の実行が禁止され、IFF2の状態は変化させない。これにより、IFF2の値は、NMI割込み処理前のIFF1の値を保持する。NMI割込み処理が終了するとき、RETN命令の実行によりIFF2の値をIFF1へコピーする操作が行われる。これにより、NMI割込み処理が発生したときのプロセッサの割込み処理の状態が、INT割込み処理が禁止(IFF1=0)であるか、割込み処理が許可(IFF1=1)であることを示す値としてIFF2に保持される。NMI割込み処理から復帰するとき、RETN命令の実行により、IFF1にIFF2の値がコピーされ、NMI割込み処理の発生前の割込み状態へもどすことができる。
本発明による実施例は、INT割込み処理の禁止及び許可の制御に加え、NMI割込み処理の禁止及び許可を制御するためのノンマスカブル割込み許可フラグ(NMIENフラグ)を有する。
図6は、フラグIFF及びNMIENを用いたプロセッサコアの例を示す。図6は図1のプロセッサコアに示したものの割込み制御とレジスタバンク切替えの詳細である。
中央制御ユニット115は命令フェッチを行うと命令デコーダ117により命令を解析し、割込み制御に関する命令をデコードすると結果を外部入力ユニット105(605)内の割込み制御回路640に通知し、バンク切替えに関する命令をデコードするとレジスタユニット120内のRB制御回路655に結果を通知する。
割込み制御回路640は命令デコーダ117からの各命令のデコード結果(641〜647)を受けIFF1回路620及びIFF2回路625及び割込み制御回路635のセット/リセットを行う。制御回路635は、ノンマスカブル割込み許可フラグ(NMIENフラグ)を有する。また、割込み制御回路640は、外部から割込み信号(INT信号及びNMI信号)を受信し、当該割込み信号に基づく割込み指示641を中央制御ユニット115に送信する。
外部入力ユニット105(605)は、さらに、INT用入力制御回路610、NMI用入力制御回路630備える。INT用入力制御回路610は通過情報制御信号としてIFF1回路620に接続されIFF1回路620の状態によってINT信号の入力に対し通過可否の制御を行う。またNMI用入力制御回路630は通過制御信号として割込み制御回路635に接続され、割込み制御回路635の状態によってNMI信号の入力に対して通過可否の制御を行う。
INT制御回路、NMI制御回路は、例えば、トライステートバッファ等の回路で通過信号に対する制御信号(0/1)により通過信号を通過させる(制御信号=1)か、通過させない(制御信号=0)かの制御を行う。
IFF1回路620、IFF2回路625及び割込み制御回路635は、例えば、フリップフロップ回路とすることができるが、これは例示であり、少なくとも1ビットの情報を保持できる回路であればよい。
外部入力ユニット605は、中央制御ユニット115からEI命令を受信し、IFF1=IFF2=1とすることにより、プロセッサコアをINT割込み処理の許可状態にする。また、外部入力ユニット605は、中央制御ユニット115からDI命令を受信し、IFF1=IFF2=0とすることにより、プロセッサコアをINT割込み処理の不許可状態にする。外部入力ユニット605は、INT信号を受信すると、IFF1回路620の値が「1」であることに応じて、中央制御ユニット115に割込み指示641を行う。INT用入力制御回路610は、INT信号及びIFF1フラグの値が共に「1」の場合に、INT割込みを受け付けるように制御する。中央制御ユニット115は、割込み指示641に応じて、INT割込み処理を行う。INT割込み処理が終了すると、中央制御ユニット115は、RETI命令644を外部入力ユニット605に送信し、外部入力ユニット605はINT割込み処理を終了する。外部入力ユニット605は、INT信号を受信しても、IFF1回路620の値が「0」であることに応じて、中央制御ユニット115にINT割込み処理の指示641を行わない。
外部入力ユニット605は、NMI信号を受信すると、割込み制御回路635の値が「1」であることに応じて、中央制御ユニット115に割込み指示641を行う。NMI用入力制御回路630は、NMI信号及びNMIENフラグの値が共に「1」の場合に、NMI割込みを受け付けるように制御する。中央制御ユニット115は、割込み指示641に応じて、NMI割込み処理を行う。NMI割込み処理が終了すると、中央制御ユニット115は、RETN命令645を外部入力ユニット605に送信し、外部入力ユニット605はNMI割込み処理を終了する。外部入力ユニット605は、NMI信号を受信しても、割込み制御回路635の値が「0」であることに応じて、中央制御ユニット115にNMI割込み処理の指示641を行わない。
レジスタバンクの切り替え及び割込み制御回路に関する命令
中央制御ユニット115によるレジスタバンクの切り替えに関する実施例をより具体的に説明する。中央制御ユニット115が、CALLEX命令646をフェッチすると、命令の実行を使用領域内から使用領域外に移し、RETEX命令647をフェッチすると、命令の実行を使用領域外から使用領域内に移す。
図6を再度参照すると、中央制御ユニット115が命令コードをフェッチすると命令デコーダが解析しデコード結果(642〜647)を、外部入力ユニット605及びレジスタユニット120に送信する。外部入力ユニット605は、CALLEX命令のデコード結果646を受信したことに応じて、割込み制御回路635の値を「0」に設定する。さらに、レジスタユニット120がCALLEX命令のデコード結果646を受信したことに応じて、RB制御回路655は、RBレジスタの値を「1」に設定する。宛先バンクセレクタ132及び送信元バンクレジスタ135は、RBレジスタの値が「1」であることに応じて、利用するレジスタバンクが第2のレジスタバンク134であることを特定する。これにより、記憶装置において、使用領域外が用いられるとき、第2のレジスタバンク134における各レジスタにおいて、情報の取得及び設定が行われる。
外部入力ユニット605は、RETEX命令のデコード結果647を受信したことに応じて、割込み制御回路635の値を「1」に設定する。レジスタユニット120がRETEX命令647を受信したことに応じて、RB制御回路655は、RBレジスタの値を「0」に設定する。宛先バンクセレクタ132及び送信元バンクレジスタ135は、RBレジスタの値が「0」であることに応じて、利用するレジスタバンクが第1のレジスタバンク133であることを特定する。これにより、記憶装置において、使用領域内が用いられるとき、第1のレジスタバンク133における各レジスタにおいて、情報の取得及び設定が行われる。
各フラグなどが変更されるタイミング
下記表を用いて、プロセッサコアの動作によるフラグなどの変化を示す。下記表のフラグ等の値の意味について、以下にまとめる。
RBレジスタの値が「0」のとき、第1のレジスタバンク133(使用領域内用)が参照され、RBレジスタの値が「1」のとき、第2のレジスタバンク134(使用領域外用)が参照される。
IFF1が「1」のとき、INT割込みの受付が許可され、IFF1が「0」のとき、INT割込みの受付が禁止される。
IFF2は、NMI割込みなどを受け付けると、割込みを受け付ける前のIFF1の値を保持する。
NMIENが「1」のとき、NMI割込みの受付が許可され、NMIENが「0」のとき、NMI割込みの受付が禁止される。
#1:プロセッサに電源が投入などされて、リセットが行われると、RBレジスタの値は「0」、IFF2フラグには「0」、IFF1フラグには「0」、NMIENには「1」が設定される。
#2:DI命令が実行され、INT割込みが禁止されると、RBレジスタの値は変化せず、IFF2フラグには「0」及びIFF1フラグには「0」が設定され、NMIENは変化しない。
#3:EI命令が実行され、INT割込みが許可されると、RBレジスタの値は変化せず、IFF2フラグには「1」及びIFF1フラグには「1」が設定され、NMIENは変化しない。
#4:INT割込みを受け付け、INT割込み処理が実行されると、RBレジスタの値は変化せず、IFF2フラグには「0」及びIFF1フラグには「0」が設定され、NMIENは変化しない。
#5:NMI割込みを受け付け、NMI割込み処理が実行されると、RBレジスタの値は変化せず、IFF2フラグにはNMI割込みを受け付け時のIFF1フラグがコピーされてIFF1の前の値が保持され、IFF1フラグには「0」が設定され、NMIENには「0」が設定される。
#6:RETI命令により、INT割込み処理が終了しリターンが実行されると、RBレジスタの値は変化せず、IFF2フラグは変化せず前の値が保持され、IFF1フラグにはIFF2フラグの値が設定され、NMIENは変化しない。
#7:RETN命令により、NMI割込み処理が終了しリターンが実行されると、RBレジスタの値は変化せず、IFF2フラグは変化せず前の値が保持され、IFF1フラグにはIFF2フラグの値が設定され、NMIENには「1」が設定される。
#8:RBレジスタの値が「0」のときにCALLEX命令が実行され、記憶装置の使用領域が使用領域内から使用領域外に変更されると、RBレジスタには「1」が設定され、IFF2フラグは変化せず前の値が保持され、IFF1フラグには「1」が設定され、NMIENには「0」が設定される。
#9:RBレジスタの値が「1」のときにCALLEX命令が実行され、記憶装置の使用領域外が用いられると(CALLEX命令実行後に、RETEX命令が実行されず、さらに他のCALLEX命令が実行された場合)、RBレジスタには「1」が設定され、IFF2フラグ及びIFF1フラグは変化せず前の値が保持され、NMIENには「0」が設定される。
#10:RBレジスタの値が「1」のときにRETEX命令が実行され、記憶装置の使用領域が使用領域外から使用領域内に変更されると、RBレジスタには「0」が設定され、IFF2フラグは変化せず前の値が保持され、IFF1フラグにはIFF2フラグの値が設定され、NMIENには「1」が設定される。
#11:RBレジスタの値が「0」のときにRETEX命令が実行され、記憶装置の使用領域内が用いられると(領域内実行中にRETEX命令が実行された場合)、RBレジスタには「0」が設定され、IFF2フラグは変化せず前の値が保持され、IFF1フラグにはIFF2フラグの値が設定され、NMIENには「1」が設定される。
各命令の具体的な例
記憶装置の使用領域外に記憶されたプログラムを実行するための命令の例として、CALLEX命令を用いてもよい。CALLEX命令は、機械語の命令として「CALLEX mn」及び「CALLEX Yn」の形態で用いられてもよい(ここで、Yは、CALLEXの呼び出し先のアドレスのうちの上位アドレスを示す文字列とする)。使用領域外のサブルーチンからのリターン命令、すなわち、「CALLEX」命令のリターン命令は、機械語命令として「RETEX」の形態で用いられてもよい。
機械語命令とはアセンブラ言語プログラムを記述するためのニーモニックでありアセンブラプログラムで命令コード(実際にプロセッサが読込み実行する機械語コード)に変換され実行される。上記「CALLEX mn」は「命令コード1、n、m」に変換され、「CALLEX Yn」は「命令コード2、n」に変換され、「RETEX」は「命令コード3」に変換される。ここで、命令コードは1からNバイトの機械語コードで2進整数(00h−FFh)、m、nは、それぞれ、1バイトの2進整数(00h−FFh)を示す変数である。これにより、「CALLEX mn」は、呼び出し先のアドレスを2バイトの情報を用いて指定することができる。「CALLEX Yn」は、「Y」を上位1バイトの情報として固定値として指定し、「n」については、ユーザが下位1バイトの情報を指定することができる。図2から理解されるとおり、外部プログラムエリア220は、アドレス「XXXX5h」から始まるので、「CALLEX Yn」(例えば、XXXX5=abcdである場合、Y=abとなる)は有用である。したがって、「CALLEX Yn」における「Y」は、記憶装置におけるメモリマップに応じて異なる値が用いられてもよい。
以下、フローチャートを用いて、各命令の動作を説明する。フローチャートにおいて、各機械語命令の内部動作が示され、内部クロックに同期して各ステップが実行される。動作の説明では命令フェッチの動作は省略して説明してあるが、各命令は、メモリよりフェッチ後に実行されることは理解されるであろう。以下では、スタックポインタが16ビットであり、スタックポインタの値のアドレスが示す先が8ビットであるプロセッサを例にして説明する。
1.CALLEX mn命令
プロセッサは、命令をフェッチすると、プログラムカウンタ(PC)は次の実行アドレス(メインルーチンでCALLEX命令がコールされたとき、メインルーチンで実行されていたプログラムの次の処理がPCに格納されている)を示しているので、RBレジスタが示すレジスタバンクの現在のスタックポインタ(SP)から1減じたスタックポインタ(1つ前のスタックポインタ)の値のアドレスの示すスタックにプログラムカウンタの上位バイト(PCH、2バイト中の上位1バイト)を格納する(ステップ702)。プロセッサは、続けて、現在のスタックポインタ(SP)から1減じたスタックポインタ(1つ前のスタックポインタ、ステップ700のスタックポインタからみると、2減じた(2つ前の)スタックポインタ)の値のアドレスの示すスタックにプログラムカウンタの下位バイト(PCL、2バイト中の下位1バイト)を格納する(ステップ704)。プロセッサは、プログラムカウンタ(PC)にmnを格納する。
プロセッサは、RBレジスタの値を判定する(ステップ708)。プロセッサは、RBレジスタの値が「0」である(CALLEX命令実行時の記憶装置の領域が使用領域内である)場合、割込みフラグ1(IFF1)に「0」を設定し、INT割込みを禁止する(ステップ710)。プロセッサは、RBレジスタの値が「1」である(CALLEX命令実行時の記憶装置の領域が使用領域外である)場合、ステップ710を実行しない。プロセッサは、RBレジスタの値に「1」を設定し、記憶装置の使用領域として使用領域外を設定する(ステップ712)。プロセッサは、ノンマスカブル割込み許可フラグ(NMIEN)に「0」を設定し、NMI割込みを禁止する(ステップ714)。プロセッサは、次の命令としてプログラムカウンタ(PC)の命令をフェッチすることによりCALL先のプログラム(使用領域外に記憶されているプログラム)へ実行を移す(ステップ716)。CALLEX mn命令では、サブルーチン呼出しアドレスをmnの2バイトで示す値で指定でき、命令は命令コード+2バイトの命令とすることができる。
2.CALLEX Yn命令
プロセッサは、命令をフェッチすると、プログラムカウンタ(PC)は次の実行アドレスを示しているので、RBレジスタが示すレジスタバンクの現在のスタックポインタ(SP)から1減じたスタックポインタ(1つ前のスタックポインタ)の値のアドレスの示すスタックにプログラムカウンタの上位バイト(PCH、2バイト中の上位1バイト)を格納する(ステップ732)。プロセッサは、続けて、現在のスタックポインタ(SP)から1減じたスタックポインタ(1つ前のスタックポインタ、ステップ730のスタックポインタからみると、2減じた(2つ前の)スタックポインタ)の値のアドレスの示すスタックにプログラムカウンタの下位バイト(PCL、2バイト中の下位1バイト)を格納する(ステップ734)。プロセッサは、プログラムカウンタの上位バイト(PCH)に20hを格納し、プログラムカウンタの下位バイト(PCL)にnを格納する(ステップ736)。
プロセッサは、RBレジスタの値を判定する(ステップ738)。プロセッサは、RBレジスタの値が「0」である(CALLEX命令実行時の記憶装置の領域が使用領域内である)場合、割込みフラグ1(IFF1)に「0」を設定し、INT割込みを禁止する(ステップ740)。プロセッサは、RBレジスタの値が「1」である(CALLEX命令実行時の記憶装置の領域が使用領域外である)場合、ステップ740を実行しない。プロセッサは、RBレジスタの値に「1」を設定し、記憶装置の使用領域として使用領域外を設定する(ステップ742)。プロセッサは、ノンマスカブル割込み許可フラグ(NMIEN)に「0」を設定し、NMI割込みを禁止する(ステップ744)。プロセッサは、次の命令としてプログラムカウンタ(PC)の命令をフェッチすることによりCALL先のプログラム(使用領域外に記憶されているプログラム)へ実行を移す(ステップ746)。CALLEX Yn命令では、サブルーチン呼出しアドレスをXXXX5h(Y00h)からYxxh(xxは、nで示される値であり、00hからFFhの値となる)、すなわち、Y00hから始まる256番地のうちの一つを指定できる。CALLEX Yn命令は、「CALLEX mn命令」で必要であった上位バイト「m」を省略できることから、命令コードを最少の1バイトとすると、命令は、2バイト命令とすることができる。
3.RETEX命令
CALLEX命令が実行された後、RETEX命令が実行されることにより、CALLEX命令が呼び出されていたときに実行されていた処理に復帰することができる。プロセッサは、RBレジスタの値に「1」を設定し、記憶装置の使用領域として使用領域内を設定する(ステップ762)。プロセッサは、現在のスタックポインタの値(ステップ704又は734で設定されたスタックポインタの値に相当)のアドレスが示すスタックをプログラムカウンタの下位バイト(PCL、2バイト中の下位1バイト)にロードする(ステップ764)。プロセッサは、現在のスタックポインタを1加算したスタックポインタ(1つ後のスタックポインタ)の値(ステップ702又は732で設定されたスタックポインタの値に相当)が示すアドレスのスタックをプログラムカウンタ(PCH)にロードする(ステップ766)。プロセッサは、続けて、現在のスタックポインタ(SP)から1加算したスタックポインタ(1つ後のスタックポインタ、ステップ760のスタックポインタからみると、2加算した(2つ後の)スタックポインタ)の値を現在スタックポインタに格納する(ステップ768)。
プロセッサは、割込みフラグ2(IFF2)を割込みフラグ1(IFF1)にコピーし、INT割込みを許可又は禁止が設定される(ステップ770)。プロセッサは、さらに、ノンマスカブル割込み許可フラグ(NMIEN)に「1」を設定し、NMI割込みを許可する。プロセッサは、次の命令としてプログラムカウンタ(PC)の命令をフェッチすることによりCALLされたプログラムへ復帰する。
その他
上記の各実施例において、示したプロセッサコアは、プロセッサに実装することができる。プロセッサは、遊技機用プロセッサであってもよい。遊技機用プロセッサは、遊戯用制御基板にプロセッサとして実装されてもよい。遊戯用制御基板は、遊技機に実装される。
上記の実施例において、ハードウエアで実現するよう説明されたいくつかの要素の一部又は全ては、ソフトウエアで実現することができ、そして、ソフトウエアで実現するよう説明されたいくつかの要素の一部又は全ては、ハードウエアで実現することができることは理解されるであろう。
以上に説明した処理又は処理順序において、ある処理において、その処理ではまだ利用することができないはずのデータを利用しているなどの処理又は処理順序上の矛盾が生じない限りにおいて、処理又は処理順序を自由に変更することができる。
以上に説明してきた各実施例に関し、各実施例の一部又は全部を組み合わせて一つの実施例として実現されてもよい。
以上に説明してきた各実施例は、本発明を説明するための例示であり、本発明はこれらの実施例に限定されるものではない。本発明は、その要旨を逸脱しない限り、種々の形態で実施することができる。
上記の各実施例において、本発明の実施例を用いたプロセッサで用いることができる命令を説明したが、以下にプロセッサで用いることができる命令をさらに示す。
100 :プロセッサコア
105 :外部入力ユニット
110 :状態制御ユニット
115 :中央制御ユニット
117 :命令デコーダ
120 :レジスタユニット
122 :プログラムカウンタ(PC)レジスタ
124 :インタラプト(I)レジスタ
126 :リフレッシュ(R)レジスタ
128 :RBレジスタ
130 :宛先セレクタポート
132 :宛先バンクセレクタ
133 :第1のレジスタバンク
134 :第2のレジスタバンク
135 :送信元バンクレジスタ
138 :アドレスポート
145 :リード信号
150 :ライト信号線
155 :データバス
205 :ユーザプログラムエリア
210 :ユーザデータエリア
220 :外部プログラムエリア
225 :第1のユーザRAMのエリア
230 :第2のユーザRAMのエリア
235 :外部ユーザRAMのエリア
400 :表レジスタ群
401 :Qレジスタ
402 :Uレジスタ
403 :Aレジスタ
404 :Fレジスタ
405 :Bレジスタ
406 :Cレジスタ
407 :Dレジスタ
408 :Eレジスタ
409 :Hレジスタ
410 :Lレジスタ
411 :IXレジスタ
412 :IYレジスタ
413 :スタックポインタレジスタ
420 :裏レジスタ群
421 :Q’レジスタ
422 :U’レジスタ
423 :A’レジスタ
424 :F’レジスタ
425 :B’レジスタ
426 :C’レジスタ
427 :D’レジスタ
428 :E’レジスタ
429 :H’レジスタ
430 :L’レジスタ
431 :IX’レジスタ
432 :IY’レジスタ
440 :表レジスタ群
441 :Qレジスタ
442 :Uレジスタ
443 :Aレジスタ
444 :Fレジスタ
445 :Bレジスタ
446 :Cレジスタ
447 :Dレジスタ
448 :Eレジスタ
449 :Hレジスタ
450 :Lレジスタ
451 :IXレジスタ
452 :IYレジスタ
453 :スタックポインタレジスタ
460 :裏レジスタ群
461 :Q’レジスタ
462 :U’レジスタ
463 :A’レジスタ
464 :F’レジスタ
465 :B’レジスタ
466 :C’レジスタ
467 :D’レジスタ
468 :E’レジスタ
469 :H’レジスタ
470 :L’レジスタ
471 :IX’レジスタ
472 :IY’レジスタ
図1は、本発明の実施例による装置を示す。 図2は、遊技機で用いられる記憶装置のメモリマップの例を示す。 図3は、従来のプロセッサコアによる処理フローを示す。 図4は、本発明による実施例のレジスタバンクを示す。 図5は、本発明のプロセッサコアによる処理フローを示す。 図6は、フラグIFF及びNMIENを用いたプロセッサコアの例を示す。 図7は、各命令の動作を説明する。

Claims (5)

  1. 遊技機用プロセッサであって、
    第1のレジスタバンクと、
    第2のレジスタバンクと、
    を備え、
    前記第1のレジスタバンク及び前記第2のレジスタバンクそれぞれが、スタックポインタレジスタを有する、遊技機用プロセッサ。
  2. 前記遊技機用プロセッサは、さらに、ユーザが使用可能な領域である記憶装置の使用領域内及び当該ユーザが使用不可な領域である記憶装置の使用領域外を有し、前記使用領域内及び前記使用領域外それぞれにおいてプログラムを記憶した記憶装置を備え、
    前記第1のレジスタバンクのスタックポインタレジスタは、前記使用領域内のプログラムで用いられ、前記第2のレジスタバンクのスタックポインタレジスタは、前記使用領域外のプログラムで用いられる、請求項1に記載の遊技機用プロセッサ。
  3. 現在利用されているレジスタバンクを示すRBレジスタをさらに備え、
    前記使用領域外のプログラムを実行するとき、前記RBレジスタの値を前記第2のレジスタバンクを示す値に変更し、前記使用領域外のプログラムから前記使用領域内のプログラムに実行を移すとき、前記RBレジスタの値を前記第1のレジスタバンクを示す値に変更する、請求項1又は2に記載の遊技機用プロセッサ。
  4. NMI割込みの許可又は禁止を示すフラグを記憶する回路をさらに備え、前記使用領域外のプログラムを実行するとき、前記回路に前記NMI割込みの禁止を示すフラグを設定し、前記使用領域内のプログラムを実行するとき、前記回路に前記NMI割込みの許可を示すフラグを設定する、請求項1ないし3のいずれか一つに記載の遊技機用プロセッサ。
  5. 請求項1ないし4のいずれか一つに記載のプロセッサを用いた遊技機。
JP2019082048A 2019-04-23 2019-04-23 プロセッサ Active JP7280600B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019082048A JP7280600B2 (ja) 2019-04-23 2019-04-23 プロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019082048A JP7280600B2 (ja) 2019-04-23 2019-04-23 プロセッサ

Publications (2)

Publication Number Publication Date
JP2019141675A true JP2019141675A (ja) 2019-08-29
JP7280600B2 JP7280600B2 (ja) 2023-05-24

Family

ID=67771551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019082048A Active JP7280600B2 (ja) 2019-04-23 2019-04-23 プロセッサ

Country Status (1)

Country Link
JP (1) JP7280600B2 (ja)

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021040918A (ja) * 2019-09-10 2021-03-18 サミー株式会社 遊技機
JP2021040916A (ja) * 2019-09-10 2021-03-18 サミー株式会社 遊技機
JP2021040919A (ja) * 2019-09-10 2021-03-18 サミー株式会社 遊技機
JP2021040915A (ja) * 2019-09-10 2021-03-18 サミー株式会社 遊技機
JP2021040917A (ja) * 2019-09-10 2021-03-18 サミー株式会社 遊技機
JP2021040913A (ja) * 2019-09-10 2021-03-18 サミー株式会社 遊技機
JP2021049021A (ja) * 2019-09-24 2021-04-01 株式会社藤商事 遊技機
JP2021049020A (ja) * 2019-09-24 2021-04-01 株式会社藤商事 遊技機
JP2021065423A (ja) * 2019-10-23 2021-04-30 サミー株式会社 遊技機
JP2021065421A (ja) * 2019-10-23 2021-04-30 サミー株式会社 遊技機
JP2021112399A (ja) * 2020-01-20 2021-08-05 株式会社平和 遊技機
JP2021112397A (ja) * 2020-01-20 2021-08-05 株式会社平和 遊技機
JP2021112398A (ja) * 2020-01-20 2021-08-05 株式会社平和 遊技機
JP2021112395A (ja) * 2020-01-20 2021-08-05 株式会社平和 遊技機
JP2021112391A (ja) * 2020-01-20 2021-08-05 株式会社平和 遊技機
JP2021112393A (ja) * 2020-01-20 2021-08-05 株式会社平和 遊技機
JP2021112396A (ja) * 2020-01-20 2021-08-05 株式会社平和 遊技機
JP2021112389A (ja) * 2020-01-20 2021-08-05 株式会社平和 遊技機
JP2021112392A (ja) * 2020-01-20 2021-08-05 株式会社平和 遊技機
JP2021112400A (ja) * 2020-01-20 2021-08-05 株式会社平和 遊技機
JP2021119907A (ja) * 2020-01-30 2021-08-19 株式会社平和 遊技機
JP2021119909A (ja) * 2020-01-30 2021-08-19 株式会社平和 遊技機
JP2021119908A (ja) * 2020-01-30 2021-08-19 株式会社平和 遊技機
JP2021122562A (ja) * 2020-02-06 2021-08-30 株式会社平和 遊技機
JP2021122565A (ja) * 2020-02-06 2021-08-30 株式会社平和 遊技機
JP2021122564A (ja) * 2020-02-06 2021-08-30 株式会社平和 遊技機
JP2021122563A (ja) * 2020-02-06 2021-08-30 株式会社平和 遊技機
JP2021122324A (ja) * 2020-01-31 2021-08-30 株式会社平和 遊技機
JP2021126283A (ja) * 2020-02-13 2021-09-02 株式会社平和 遊技機
JP2021126278A (ja) * 2020-02-13 2021-09-02 株式会社平和 遊技機
JP2021126282A (ja) * 2020-02-13 2021-09-02 株式会社平和 遊技機
JP2021126279A (ja) * 2020-02-13 2021-09-02 株式会社平和 遊技機
JP2021126277A (ja) * 2020-02-13 2021-09-02 株式会社平和 遊技機
JP2021126280A (ja) * 2020-02-13 2021-09-02 株式会社平和 遊技機
JP2021142257A (ja) * 2020-03-13 2021-09-24 株式会社ユニバーサルエンターテインメント 遊技機
JP2021142255A (ja) * 2020-03-13 2021-09-24 株式会社ユニバーサルエンターテインメント 遊技機
JP2022145888A (ja) * 2017-09-19 2022-10-04 株式会社ユニバーサルエンターテインメント 遊技機
JP2022163766A (ja) * 2021-04-15 2022-10-27 株式会社平和 遊技機
JP2022175350A (ja) * 2021-05-13 2022-11-25 株式会社平和 遊技機
JP7329271B1 (ja) 2022-02-17 2023-08-18 株式会社ユニバーサルエンターテインメント 遊技機
JP7329270B1 (ja) 2022-02-17 2023-08-18 株式会社ユニバーサルエンターテインメント 遊技機
JP7329272B1 (ja) 2022-02-17 2023-08-18 株式会社ユニバーサルエンターテインメント 遊技機
JP7329269B1 (ja) 2022-02-17 2023-08-18 株式会社ユニバーサルエンターテインメント 遊技機
JP7440765B2 (ja) 2020-05-19 2024-02-29 サミー株式会社 遊技機
JP7510451B2 (ja) 2022-03-03 2024-07-03 株式会社平和 遊技機

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6243734A (ja) * 1985-08-20 1987-02-25 Nec Corp マイクロプロセツサ
JP2003518287A (ja) * 1999-12-23 2003-06-03 ジェネラル・インスツルメント・コーポレイション デュアルモードプロセッサ
JP2009205351A (ja) * 2008-02-27 2009-09-10 Denso Corp マイクロコンピュータ
JP2016112055A (ja) * 2014-12-11 2016-06-23 株式会社三共 遊技機
JP2017121451A (ja) * 2016-01-08 2017-07-13 株式会社オリンピア 遊技機

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6243734A (ja) * 1985-08-20 1987-02-25 Nec Corp マイクロプロセツサ
JP2003518287A (ja) * 1999-12-23 2003-06-03 ジェネラル・インスツルメント・コーポレイション デュアルモードプロセッサ
JP2009205351A (ja) * 2008-02-27 2009-09-10 Denso Corp マイクロコンピュータ
JP2016112055A (ja) * 2014-12-11 2016-06-23 株式会社三共 遊技機
JP2017121451A (ja) * 2016-01-08 2017-07-13 株式会社オリンピア 遊技機

Cited By (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022145888A (ja) * 2017-09-19 2022-10-04 株式会社ユニバーサルエンターテインメント 遊技機
JP7385952B2 (ja) 2017-09-19 2023-11-24 株式会社ユニバーサルエンターテインメント 遊技機
JP7277763B2 (ja) 2019-09-10 2023-05-19 サミー株式会社 遊技機
JP2021040916A (ja) * 2019-09-10 2021-03-18 サミー株式会社 遊技機
JP2021040915A (ja) * 2019-09-10 2021-03-18 サミー株式会社 遊技機
JP2021040917A (ja) * 2019-09-10 2021-03-18 サミー株式会社 遊技機
JP2021040913A (ja) * 2019-09-10 2021-03-18 サミー株式会社 遊技機
JP7368703B2 (ja) 2019-09-10 2023-10-25 サミー株式会社 遊技機
JP7368704B2 (ja) 2019-09-10 2023-10-25 サミー株式会社 遊技機
JP2021040919A (ja) * 2019-09-10 2021-03-18 サミー株式会社 遊技機
JP2021040918A (ja) * 2019-09-10 2021-03-18 サミー株式会社 遊技機
JP7277764B2 (ja) 2019-09-10 2023-05-19 サミー株式会社 遊技機
JP7368700B2 (ja) 2019-09-10 2023-10-25 サミー株式会社 遊技機
JP7368702B2 (ja) 2019-09-10 2023-10-25 サミー株式会社 遊技機
JP7341818B2 (ja) 2019-09-24 2023-09-11 株式会社藤商事 遊技機
JP7282643B2 (ja) 2019-09-24 2023-05-29 株式会社藤商事 遊技機
JP2021049020A (ja) * 2019-09-24 2021-04-01 株式会社藤商事 遊技機
JP2021049021A (ja) * 2019-09-24 2021-04-01 株式会社藤商事 遊技機
JP2021065421A (ja) * 2019-10-23 2021-04-30 サミー株式会社 遊技機
JP7356014B2 (ja) 2019-10-23 2023-10-04 サミー株式会社 遊技機
JP7356015B2 (ja) 2019-10-23 2023-10-04 サミー株式会社 遊技機
JP2021065423A (ja) * 2019-10-23 2021-04-30 サミー株式会社 遊技機
JP2021112400A (ja) * 2020-01-20 2021-08-05 株式会社平和 遊技機
JP2021112392A (ja) * 2020-01-20 2021-08-05 株式会社平和 遊技機
JP2021112399A (ja) * 2020-01-20 2021-08-05 株式会社平和 遊技機
JP2021112397A (ja) * 2020-01-20 2021-08-05 株式会社平和 遊技機
JP2021112398A (ja) * 2020-01-20 2021-08-05 株式会社平和 遊技機
JP2021112395A (ja) * 2020-01-20 2021-08-05 株式会社平和 遊技機
JP2021112391A (ja) * 2020-01-20 2021-08-05 株式会社平和 遊技機
JP2021112393A (ja) * 2020-01-20 2021-08-05 株式会社平和 遊技機
JP2021112396A (ja) * 2020-01-20 2021-08-05 株式会社平和 遊技機
JP2021112389A (ja) * 2020-01-20 2021-08-05 株式会社平和 遊技機
JP7211989B2 (ja) 2020-01-30 2023-01-24 株式会社平和 遊技機
JP2021119908A (ja) * 2020-01-30 2021-08-19 株式会社平和 遊技機
JP2021119907A (ja) * 2020-01-30 2021-08-19 株式会社平和 遊技機
JP2021119909A (ja) * 2020-01-30 2021-08-19 株式会社平和 遊技機
JP2021122324A (ja) * 2020-01-31 2021-08-30 株式会社平和 遊技機
JP7208938B2 (ja) 2020-02-06 2023-01-19 株式会社平和 遊技機
JP7174727B2 (ja) 2020-02-06 2022-11-17 株式会社平和 遊技機
JP2021122563A (ja) * 2020-02-06 2021-08-30 株式会社平和 遊技機
JP2021122564A (ja) * 2020-02-06 2021-08-30 株式会社平和 遊技機
JP2021122565A (ja) * 2020-02-06 2021-08-30 株式会社平和 遊技機
JP2021122562A (ja) * 2020-02-06 2021-08-30 株式会社平和 遊技機
JP2021126278A (ja) * 2020-02-13 2021-09-02 株式会社平和 遊技機
JP2021126277A (ja) * 2020-02-13 2021-09-02 株式会社平和 遊技機
JP2021126280A (ja) * 2020-02-13 2021-09-02 株式会社平和 遊技機
JP7084434B2 (ja) 2020-02-13 2022-06-14 株式会社平和 遊技機
JP2021126283A (ja) * 2020-02-13 2021-09-02 株式会社平和 遊技機
JP2021126282A (ja) * 2020-02-13 2021-09-02 株式会社平和 遊技機
JP2021126279A (ja) * 2020-02-13 2021-09-02 株式会社平和 遊技機
JP7174975B2 (ja) 2020-03-13 2022-11-18 株式会社ユニバーサルエンターテインメント 遊技機
JP7174976B2 (ja) 2020-03-13 2022-11-18 株式会社ユニバーサルエンターテインメント 遊技機
JP2021142257A (ja) * 2020-03-13 2021-09-24 株式会社ユニバーサルエンターテインメント 遊技機
JP2021142255A (ja) * 2020-03-13 2021-09-24 株式会社ユニバーサルエンターテインメント 遊技機
JP7440765B2 (ja) 2020-05-19 2024-02-29 サミー株式会社 遊技機
JP2022163766A (ja) * 2021-04-15 2022-10-27 株式会社平和 遊技機
JP7455087B2 (ja) 2021-05-13 2024-03-25 株式会社平和 遊技機
JP2022175350A (ja) * 2021-05-13 2022-11-25 株式会社平和 遊技機
JP7329270B1 (ja) 2022-02-17 2023-08-18 株式会社ユニバーサルエンターテインメント 遊技機
JP2023119965A (ja) * 2022-02-17 2023-08-29 株式会社ユニバーサルエンターテインメント 遊技機
JP2023119976A (ja) * 2022-02-17 2023-08-29 株式会社ユニバーサルエンターテインメント 遊技機
JP2023119987A (ja) * 2022-02-17 2023-08-29 株式会社ユニバーサルエンターテインメント 遊技機
JP2023119954A (ja) * 2022-02-17 2023-08-29 株式会社ユニバーサルエンターテインメント 遊技機
JP7329269B1 (ja) 2022-02-17 2023-08-18 株式会社ユニバーサルエンターテインメント 遊技機
JP7329272B1 (ja) 2022-02-17 2023-08-18 株式会社ユニバーサルエンターテインメント 遊技機
JP7329271B1 (ja) 2022-02-17 2023-08-18 株式会社ユニバーサルエンターテインメント 遊技機
JP7510451B2 (ja) 2022-03-03 2024-07-03 株式会社平和 遊技機

Also Published As

Publication number Publication date
JP7280600B2 (ja) 2023-05-24

Similar Documents

Publication Publication Date Title
JP2019141675A (ja) プロセッサ
US9003422B2 (en) Microprocessor architecture having extendible logic
USRE45278E1 (en) Method and apparatus for changing microcode to be executed in a processor
KR19980023918A (ko) 2종류의 명령장 코드를 실행하는 프로세서 및 그 명령 코드입력 장치
US20080222441A1 (en) Software programmable timing architecture
US20230084523A1 (en) Data Processing Method and Device, and Storage Medium
JP2845433B2 (ja) 集積回路装置
US4095268A (en) System for stopping and restarting the operation of a data processor
JP4988082B2 (ja) マイクロプロセッサ及びデータ処理システム
JP2004030224A (ja) プロセッサ、レジスタ退避方法およびレジスタ指定方法
US20100199072A1 (en) Register file
US20180137051A1 (en) Information processing apparatus and central processing device
JP3395727B2 (ja) 演算装置および方法
JP2607319B2 (ja) プログラマブルコントローラ
JP3583918B2 (ja) マイクロプロセッサ
JPH044630B2 (ja)
JP2005275703A (ja) プロセッサ及びコンテキスト切り替え方法
JP6127883B2 (ja) 半導体装置および半導体装置の動作制御方法
JP3594778B2 (ja) 割り込み制御装置
JP3678330B2 (ja) マイクロプロセッサ
JP2721609B2 (ja) プログラマブルコントローラ
JP3517579B2 (ja) マイクロプロセッサ
JP2021033567A (ja) 電子制御装置
JPH06324884A (ja) データ処理装置
JP2000194554A (ja) 演算処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20190425

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220404

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230214

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230502

R150 Certificate of patent or registration of utility model

Ref document number: 7280600

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150