| ア | イ | ウ | エ | オ |
| カ | キ | ク | ケ | コ |
| サ | シ | ス | セ | ソ |
| タ | チ | ツ | テ | ト |
| ナ | ニ | ヌ | ネ | ノ |
| ハ | ヒ | フ | ヘ | ホ |
| マ | ミ | ム | メ | モ |
| ヤ | ユ | ヨ | ||
| ラ | リ | ル | レ | ロ |
| ワ | ヰ | ヴ | ヱ | ヲ |
| ン |
| A | B | C | D | E |
| F | G | H | I | J |
| K | L | M | N | O |
| P | Q | R | S | T |
| U | V | W | X | Y |
| Z | 数字 | 記号 | ||
クロックを基準に動作するマイクロプロセッサーで、クロックの立ち上がりから次の立ち上がりまでの1単位のこと。単にクロックと呼ぶこともある。
最近では既に死語と化しているが、Z80など8ビットマイクロプロセッサーの時代にはよく使われており、CPUこのステートを単位として稼働する。
CPUに供給されるクロックは正弦波である。波は上下上下上下上下…のように振動してCPUに供給される。このうち、「上下」という一組、すなわちクロックの一周期が「ステート」である。
命令は必ずステートの単位で実行される。1.5クロックのような、1クロック以下の刻みで実行されるものは無い。
Z80の場合、実際には1ステートで実行が終わる命令はなく、最低4クロック(4ステート)が必要である(NOP命令ですら)。
このような、数クロックを組み合わせた意味のある単位を「マシンサイクル」という。一つの命令で複数のマシンサイクルがある場合、一つ目をM1サイクル、二つ目をM2サイクル、のように呼び分ける。
Z80が1命令に4ステートも必要なのは、Z80の特殊な仕様によるもので、メモリーリフレッシュも含めているからである。
例えば、「ADD A,B」のようにオペコードが1バイトのシンプルな命令は、4ステートの処理時間を要する。また命令は1マシンサイクルである。
例えば、「LD A,55h」の場合、オペコード1バイト・オペランド1バイトで計2バイト命令、7ステートの処理時間を要し、また命令は2マシンサイクルである。
サイクル数が2ということは、命令フェッチをおこなうM1サイクルの後に、オペランドを読み出すためのM2サイクルが続くことを意味する。
同様に、「LD HL,1234h」の場合、オペコード1バイト・オペランド2バイトで計3バイト命令、10ステートの処理時間を要し、また命令は3マシンサイクルである。
Z80の場合、M1サイクルは常に4ステート、M2サイクル以降は常に3ステートなので、2マシンサイクルなら7ステート、3マシンサイクルなら10ステートの処理時間を要することが求められる。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます