いろんなものはつながっている

組み込みOS自作入門(6)論理回路でビットメモリ

論理回路についても書かれていた。AND,OR.XORをつかって2ビット加算器や比較器の仕組みの説明があり、つづけてビットメモリに利用されるデータセレクタ、フリップフロップの説明があった。

マルチプレクサ(データセレクタ)

入力された値(S0,S1)に応じて出力する値を選択している。入力値をアドレス値とすればあるアドレスのデータを読み出すとみなすことができる。下の例では、S0,S1の2ビットで00,01,10,11の4つのアドレスを指定でき、I0~I3のどの値を出力するか選択している。
論理回路ビット1

論理回路ビット2

フリップフロップ

入力値に応じて、出力の状態を変えられることと、状態を維持することができる。状態を維持できるので値の記憶に利用できる。
論理回路ビット3

1ビットメモリ

フリップフロップを利用して1ビットの情報を記憶している。CS(チップセット)が1のときに値を入力でき、CSが0のときは値を記憶している状態になる。
論理回路ビット4

4ビットメモリ

比較器、1ビットメモリ、マルチプレクサを組み合わせることで値の記憶およびアドレスを指定した値の読み出しを実現できる。A0,A1の値でどのビットメモリを対象とするかを選択している。
論理回路ビット5

加算演算をする

加算演算を論理回路を用いてどう実現するか。加算は「レジスタ1とレジスタ2を足してレジスタ3に格納する」といったら表現になり、の機械語コードでは
命令(オペコード) 引数(オペランド) 引数(オペランド) 引数(オペランド)
と表現される。
論理回路ビット6
CPU内部にある加算器ではレジスタ1とレジスタ2を加算しレジスタ3に格納するには、加算器の入力がレジスタ1とレジスタ2に接続されていて出力がレジスタ3に接続されていればよい。ただし、どのレジスタを入力とするか選択できるようになっている必要があり、そこでマルチプレクサが利用される。
論理回路ビット7
出力に関してもどのレジスタに格納するかマルチプレクサと比較器を用いて選択できるようになっている。
論理回路ビット8

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

スポンサード リンク

カテゴリー

スポンサード リンク