0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【基本情報・Chapter3】コンピュータの回路

Last updated at Posted at 2024-08-20

今日は論理回路に関する知識をまとめます。
お気づきの点がございましたら、ご指摘いただけると幸甚です。ᐖ

論理回路

論理演算

logical operation
論理演算とは、ある事象が真か偽かを判断する演算のことである。
コンピュータの世界では、真を1として、偽を0として扱いますので、論理演算の結果は必ず0か1となる。論理演算においては、2つの真偽値を入力し、演算結果として真偽のいずれかを出力する。

★基本的な論理演算は、論理積(AND)、論理和(OR)、否定(NOT)の3つから構成される。

  • 論理積 
    AND 
    X「かつ」Yが真なら真
  • 論理和
    OR 
    X「または」Yが真なら真
  • 否定
    NOT 
    入力を反対に出力する

論理回路

IC・logic circuit
論理演算する回路が論理回路。
コンピュータにおいてはすべての処理や計算を0と1で実現していますので、算術演算やロジック処理を実施するためには多数の論理回路が必要となる。処理を実現するために、コンピュータ内部にはAND演算やOR演算などを行う論理回路が大量に搭載されており、高速で動作している。

基本回路

論理回路の基本要素はAND回路とOR回路、NOT回路の3種類だけで、その組み合わせで様々な機能の回路が作成できる。

  • 論理積回路
    AND circuit
    入力値がすべて1のときに1を出力する。それ以外の入力値のときは0を出力する。
          

  • 論理和回路
    OR circuit
    入力値にいずれか1が入力されたときに1を出力する。それ以外の入力値のときは0を出力する。
         

  • 否定回路
    NOT circuit
    入力された値が1なら0に、0なら1に反転する。
         

★上記の3つの基本回路を組み合わせすると、さらに様々な複雑な論理回路を作り出すことができます。(´✧ω✧`)

  • 否定論理積回路
    NAND circuit 与非门
    AND出力を否定(NOT)したものである。すべての入力値が1のとき0を出力する。それ以外のときは、1を出力する。

      

  • 否定論理和回路
    NOR circuit 或非门
    OR出力を否定(NOT)したものである。すべての入力値が0のとき1を出力する。それ以外のときは、0を出力する。

      

  • 排他的論理和回路
    EOR・XOR circuit 异或门
    入力値が違うとき1を出力する。それ以外(入力値が同じとき)は、0を出力する。

      

ド・モルガンの定理

De Morgan's laws
ブール論理や集合の代数学において、論理和と論理積と否定(集合のことばでは、和集合と共通部分と差集合)の間に成り立つ規則性である。

           

★以上の内容をまとめましょうo( ˙-˙ )o♡

   

半加算器と全加算器

半加算器

half adder
2進数の加算(足し算)を行う論理回路(加算器)のうち、下の桁からの繰り上がりを考慮せず、単純に二数の和のみを求める回路のこと。より複雑な加算器の構成要素となる。
以下の図のようなAND回路、OR回路、NOT回路を組み合わせた回路を半加算回路と呼ぶ。

     

  • C(Carry:桁上がりした、2桁目の数にあたる出力
  • S(Sum:1桁目の数にあたる出力
    すなわち、2進数の1桁の加算ができる論理回路である。
    例えば、A=1, B=1のとき、C=1, S=0となる。

全加算器

full adder
半加算回路では1桁の計算しかできないが、下図のように半加算回路を組み合わせることで、下からの桁上がりを考慮した加算器ができる。これを全加算回路と呼ぶ。
この全加算回路をさらに組み合わせれば、任意の桁数の加算回路が実現できる。

     

ビット演算・操作

ビット演算・操作

bitwise operation
固定長のワードなどといった「ビットのカタマリ」(コンピュータの数値表現なども参照)に対して、各々のビット全てに対する論理演算をいっぺんに行う演算操作である。

  • ビット反転させる:排他的論理和(EOR、XOR)を用いる。
    00000011(反転させたいビット列)
    11111111(反転させたい位置に1を入れたビット列を用意する)
    XORをとる結果 ↓
    11111100(元のビット列を反転させた)
    マスクパターン mask pattern
    「ビットを反転させたい位置に1を入れたビット列」のこと
    00000011(反転させたいビット列)
    00001111(後ろ4ビットだけ反転させたいとき用意する列)
    XORをとる結果 ↓
    00001100
  • 特定のビットを取り出す:論理積(AND)を用いる。
    01101011(対象となる元のビット列)
    00001111(取り出したい位置に1を入れたビット列)
    ANDをとる結果 ↓
    00001011

ここまで読んでくれて
お疲れ様です!
ありがとうございました!(⁎ᵕᴗᵕ⁎)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?