1 演算の仕組み
【 AND 回路 】 A が 1 かつ B が 1 のときのみ 出力 Y が 1 になる回路 |
【 NAND 回路 】 A が 1 かつ B が 1 のときのみ 出力 Y が 0 になる回路 | |||||||||||||||||||||||||||||||||
|
|
【 OR 回路 】 A が 1 または B が 1 のとき 出力 Y が 1 になる回路 |
【 NOR 回路 】 A が 1 または B が 1 のとき 出力 Y が 0 になる回路 | |||||||||||||||||||||||||||||||||
|
|
【 NOT 回路 】 A が 1 のとき出力 Y は 0、A が 0 のとき 出力 Y は 1 になる回路 |
【 XOR 回路 】 A と B が 異なる時 出力 Y が 1 になる回路 | ||||||||||||||||||||||||
|
|
下位の桁からの桁上がり(キャリー)を考慮しないもの。
特徴としては、「桁の値(S)」は「排他的論理和」となり、「桁上がり(C)」は「AND」となる。
|
下位の桁からの桁上がりを考慮するもの。この場合は。下位の桁からの桁上がりを考慮するため、入力は3つとなる。
|
【 順序回路 】
「外部入力と回路自体の状態によって出力が決まる」というもの。
内部に状態を持つ回路であり、外部からの入力だけでは一義的に出力は決まらない。
入力と内部状態の両方の値により、その出力が定まる論理回路。
代表的なものに「フリップフロップ回路」がある。これは「記憶装置(メモリ)」で利用されている。
Qの出力を保持するのに使われる。
|
【 組み合わせ回路 】
論理回路の内部の状態とは関係なく、出力がその時点における入力の値の組合せにより定まる論理回路のこと。
2 命令とアドレッシング
「命令部」は「実行する操作」で CPU が処理するための命令の種類を表す。
「オペランド部(アドレス部)」は「操作の対象となるデータのアドレスやレジスタ」もしくは「データの値そのもの」を示す。
コンピュータが命令を実行する場合、以下の手順を行う。
命令サイクルとは、「CPUが主記憶装置から一つの命令を取り出してから、その命令の実行を終了するまでの過程」のこと
【 算術演算命令 】
整数データに対して四則演算を行う。
算術加算:ADDA
算術減算:SUBA
【 論理演算命令 】
論理演算を行う。論理積・論理和・排他的論理和・否定等がある。
論理積:AND
論理和:OR
排他的論理和:XOR
【 比較命令 】
レジスタの内容と主記憶装置の内容との大小比較を行います。結果を「フラグレジスタ」へセットする。
算術比較:CPA
論理演算:CPL
【 分岐命令 】
プログラムカウントに任意の値を設定することにより、次に実行する命令を元の順番とは別のアドレスにある命令とすること。
判断条件によって次に実行する命令を決める「条件分岐命令」と無条件で次に実行する命令に分岐する「無条件分岐命令」がある。
正分岐:JPL
負分岐:JMI
無条件分岐:JUMP
【 シフト命令 】
レジスタの内容を指定したビット数分だけシフトさせる命令です。以下の種類がある。
シフト命令 | 内容 |
論理左シフト | 3 ビットシフトさせる場合、左 3 桁は捨てられ、右に「 0 」を補う |
論理右シフト | 3 ビットシフトさせる場合、右 3 桁は捨てられ、左に「 0 」を補う |
算術左シフト | 3 ビットシフトさせる場合、最上位ビットはシフトせず、それ以降の 3 ビットは捨てられ、右に「 0 」を補う。 |
算術右シフト | 3 ビットシフトさせる場合、右 3 桁は捨てられ、左は、最上位ビットはシフトせず、その他は、最上位ビットの値を補う。 |
回転シフト | シフトを巡回していくような方法で行うもの。例を以下に示す。 ・10110 右へ 3 ビット回転シフトすると、01101 ・10110 を左へ 3 ビット回転シフトすると、 10101 |
「左シフト」の場合は、n ビットのシフトで、2n 倍になる。
「右シフト」の場合は、n ビットのシフトで、2-n 倍になる。
算術左シフト:SLA
算術右シフト:SRA
論理左シフト:SLL
論理右シフト:SRL
【 転送命令 】
レジスタ間や主記憶装置間・レジスタと主記憶装置間でデータ転送を行う。
ロード:LD
ストア:ST
【 入出力命令 】
入出力装置と主記憶装置間でデータの転送を行う。
3 割込み
プログラムの実行途中で強制的に処理を中断し、別のプログラムを実行する仕組みを割り込みという。
【 割り込みの手順 】
プログラムの理由による割り込み
プログラム以外の原因で生じる割込み
※ ()内数字は優先度を表す。
www.it-shikaku.jp