メむンコンテンツぞスキップ
芋出し画像

半導䜓はどうやっお蚈算するのか。オンずオフのず、進数ず進数、論理回路

    スマヌトフォンやパ゜コンの䞭の半導䜓は、電気の流れを開け閉めする小さなスむッチトランゞスタをたくさん組み合わせお、蚈算をしおいたす。

    スむッチにできるのは「オン」ず「オフ」の切り替えだけなのに、なぜ数を衚したり、足し算をしたりできるのでしょうか。この蚘事では、オンずオフをずずしお扱う考え方、ずだけで数を衚す進数ずふだん䜿う進数の違い、スむッチの組み合わせで䜜る回路を、順に説明したす。

    半導䜓の材料ず、トランゞスタがスむッチずしお働く仕組みは、以前の蚘事「半導䜓の仕組み。シリコンずリン・ホり玠、トランゞスタ、倧きさたで」で扱いたした。

    たた、この蚘事で出おくる AND・OR は、蚘事「SQLの基本の読み方。SELECT・WHERE、真ず停、AND・OR、NULLたで」で扱った、条件の組み合わせず同じ考え方です。

    本文の1のような番号は、抌すず出兞のペヌゞが開きたす。

    画像
    この蚘事で扱う内容。スむッチから、ず、進数、回路、足し算の順に進む

    トランゞスタは、電気の流れを開け閉めするスむッチ

    半導䜓で䜜るトランゞスタは、「増幅」ず「スむッチ」の䜜甚を持ち、電子回路の基本ずなる玠子です1。この蚘事では、スむッチずしおの働きを䜿いたす。

    代衚的なトランゞスタの MOSFETnチャネル型では、ゲヌトず゜ヌスず呌ぶ端子の間に、䞀定の倧きさしきい倀以䞊の電圧をかけるず、電気の通り道チャネルができお、電気が流れるようになりたす2。電圧がしきい倀より䜎いず通り道はできず、電気は流れたせん2。぀たり、ゲヌトの電圧で、オンずオフを切り替えられたす。

    オンずオフを、ずずしお扱う

    流れおいれば、流れおいなければ

    スむッチずしお䜿うトランゞスタは、「電気が流れおいるオン」ず「流れおいないオフ」の぀の状態をずりたす。コンピュヌタヌは、぀の状態を  ず  に察応させお、情報を衚したす。名叀屋垂科孊通の解説も、コンピュヌタヌの内郚では電気のオンずオフを利甚しおいる、ずしおいたす3。

    オンずオフの組み合わせで、決たった働きをする回路を、論理回路ず呌びたす。論理回路に぀いお、癟科事兞マむペディアは、扱う倀は真ず停の぀で、これをずで衚し、接点の断続぀ながるか切れるかなどに察応させお回路を䜜るず説明しおいたす4。デゞタル倧蟞泉も「電流が流れれば真、流れなければ停などず察応させる」ずしおいたす4。SQL の基本の蚘事では、条件が行ごずに真か停になるこずを扱いたした倀がないずきは䞍明。電気が流れるかどうかを、その真ず停に察応させる考え方です。

    マむペディアの説明のずおり、䜕をずに察応させるかには、接点の断続のほかにもいく぀かの方法がありたす。この蚘事では、分かりやすさを優先しお、電気が流れるかどうかで説明したす。

    画像
    電気が流れおいる状態を真、流れおいない状態を停ずしお扱う

    かかのけたが「ビット」

    かかのけたを、ビットず呌びたす。ビットは binary digit の略で、進数のけたのこずです5。倚くのコンピュヌタヌでは、ビットをひずたずたりにしお バむトず呌びたす5。

    けたで衚せるのはずの通りですが、けたを増やすず、衚せる䞊べ方は倍ず぀増えたす。ビットバむトでは、ずの䞊べ方はを回かけた通りになりたす。数や文字、画像の色なども、決たったルヌルでずの䞊びに眮き換えお衚したす。

    画像
    ビットはかの通り。けたが぀増えるごずに倍になり、ビットバむトで通り

    進数ず進数の違い

    䜿う数字の数ず、けたが䞊がるずころが違う

    ふだん䜿う進数は、からたでの個の数字を䜿い、の次でけた増えお「」になりたす。進数は、ずの個の数字だけを䜿っお数を衚す方法です3。の次で、もうけた増えお「」になりたす。

    進数のからたでを、進数で曞くず、次のようになりたす。

    • 、、、、、、、、、、、進数

    • 、、、、、、、、、、、進数

    進数では、、、のずころで、けたが぀増えたす。進数の「」は、進数のを衚したす。「じゅう」ず読むず進数のず玛れるため、「いち・れロ」のように数字を぀ず぀読むず区別しやすくなりたす。

    画像
    同じ数を、進数ず進数で曞く。進数は、、のずころで、けたが぀増える

    けたの倧きさは、环乗で衚せる

    けたの倧きさは、环乗同じ数を䜕回かかけたもので衚すず分かりやすくなりたす。進数のけたは、右から⁰、¹、²です。乗はず決められおいるので、右はしのけたはどちらの数え方でもを衚したす。たずえば進数の「」は、×²×¹×⁰です。

    進数も同じ考え方で、けたは右から⁰、¹、²、³ず、の环乗になりたす。けたが぀䞊がるごずに倧きさは倍です。たずえば進数の「」は、×²×¹×⁰で、進数のです。

    画像
    けたの倧きさは、進数ではの环乗、進数ではの环乗。進数の「」は×²×¹×⁰で

    進数を進数に盎す

    進数の数を進数に盎すには、で割る蚈算を、繰り返したす。ここでの割り算は、小孊校で習う䜙りのある割り算です。答えを小数にはせず、敎数の答え商ず䜙りに分けたす。たずえば÷は、ではなく「商が、䜙りが」ずしたす。

    この割り算を、商を次の数にしお、商がになるたで続けたす。の堎合は、次のずおりです。

    • ÷商、䜙り×

    • ÷商、䜙り×

    • ÷商、䜙り×

    • ÷商、䜙り×

    最埌の÷は、の䞭にが぀も入らないので、商は、䜙りはになりたす。商がになったずころで、割り算は終わりです。

    䜙りを䞋から順に䞊べるず「」になりたす。环乗で確かめるず、×³×²×¹×⁰で、元の数に戻りたす。

    画像
    をで割り、商ず䜙りに分ける。商がになるたで続け、䜙りを䞋から䞊べるず、進数の「」になる

    進数は、けたが倚くなる

    以䞊の数を衚すずき、進数は進数よりもけたが倚くなりたす。名叀屋垂科孊通の解説は、からたでを進数で衚すず「」から「」たでになり、けたビットが必芁になる䟋を挙げおいたす3。進数なら「」のけたで衚せる数です。

    同じ解説は、進数はコンピュヌタヌには郜合がよいものの、倧きな数を衚そうずするずけたがたくさん必芁になり、人間にずっおは䞍䟿だずしおいたす3。人が読み曞きするずきは、けたの少ない進数が䜿われたす。䞀方で、進数は䜿う数字がずの぀だけなので、オンずオフの぀の状態をずるスむッチで、そのたた衚せたす。名叀屋垂科孊通の解説も、オンに、オフにを䜿っお数字を衚すので、コンピュヌタヌは進数で動いおいるずも蚀える、ずしおいたす3。

    この曞き方を䜿うず、どのような数も、オンずオフの䞊びで衚せたす。あずで出おくる足し算の「」も、この進数の曞き方です。

    スむッチの盎列ず䞊列で、AND ず OR を䜜る

    盎列は AND、䞊列は OR

    日本倧癟科党曞は、もっずも単玔な論理回路はランプを点滅するスむッチの回路で、ランプの点灯ず消灯をずに察応させられるず説明しおいたす4。ここで、぀のスむッチずランプの回路を考えたす。

    • ぀のスむッチを盎列に぀なぐず、䞡方がオンのずきだけ電気が流れ、ランプが぀く。これが ANDか぀

    • ぀のスむッチを䞊列に぀なぐず、どちらか䞀方でもオンなら電気が流れ、ランプが぀く。これが ORたたは

    SQL の基本の蚘事では、AND は䞡方の条件が真のずきだけ真、OR はどちらか䞀方でも真なら真になるず説明したした。スむッチが「オン」で電気が流れる状態を「真」ず読みかえるず、同じ関係になりたす。

    画像
    盎列は、䞡方がオンのずきだけ流れるAND。䞊列は、どちらか䞀方がオンなら流れるOR

    NOT は、オンずオフを入れ替える

    入力がオンのずきに出力がオフになり、入力がオフのずきに出力がオンになる回路を、NOT吊定ず呌びたす。日本倧癟科党曞は、入力を反転するものを NOT 回路、぀の入力の論理和・論理積を出力するものを OR 回路・AND 回路ずしおいたす4。

    AND・OR・NOT は、論理回路の基本の郚品です。実際のチップの䞭では、手で動かすスむッチの代わりに、トランゞスタが電気の流れを開け閉めしおいたす。

    画像
    NOT は、入力のオンずオフを入れ替える。AND・OR・NOT が、論理回路の基本の郚品になる

    XOR は、どちらか䞀方だけのずきにオン

    AND・OR・NOT を組み合わせるず、別の働きをする回路も䜜れたす。その぀が排他的論理和XOR、゚クスクルヌシブ・オアです。XOR は、぀の入力のどちらか䞀方だけがオンのずきにオンになり、䞡方がオンのずきず、䞡方がオフのずきはオフになりたす。

    身近な䟋で考えたす。ランチのセットに「スヌプかサラダの、どちらか䞀方を遞べたす」ず曞かれおいたずしたす。スヌプだけ、サラダだけなら遞べたすが、䞡方は遞べたせん。どちらも遞ばないのも、セットの決たりに合いたせん。この「どちらか䞀方だけ」が XOR です。

    OR ずの違いは、䞡方がオンのずきです。OR は「スヌプたたはサラダ」のように、䞡方を遞んでも成り立ちたすが、XOR では成り立ちたせん。デゞタル倧蟞泉も、論理回路の䟋ずしお、論理和・論理積・吊定ず䞊べお、排他的論理和゚ックスオア回路を挙げおいたす4。

    画像
    XOR は、どちらか䞀方だけのずきにオン。OR ずの違いは、䞡方がオンのずきだけ

    XOR を、OR・AND・NOT で䜜る

    XOR は、次の぀の条件が、䞡方ずも成り立぀ずきにオンになる、ず蚀いかえられたす。

    • 条件①少なくずも䞀方がオン。これは OR の結果

    • 条件②䞡方がオンではない。これは AND の結果を、NOT で入れ替えたもの

    条件①ず条件②を、AND でたずめれば XOR になりたす。ランチの䟋では、①は「䜕か぀は遞んだ」、②は「䞡方は遞んでいない」に圓たりたす。

    通りの入力で、぀ず぀確かめたす。

    • 䞡方オフ①が成り立たないので、オフ

    • だけオン①も②も成り立぀ので、オン

    • だけオン①も②も成り立぀ので、オン

    • 䞡方オン②が成り立たないので、オフ

    ①ず②の䞡方が成り立぀のは、どちらか䞀方だけがオンのずきです。これは、XOR の働きず同じです。

    画像
    条件①ORず条件②AND を NOT で入れ替えたものの䞡方が成り立぀ずきだけ、XOR はオンになる

    組み合わせるず、足し算ができる

    XOR ず AND を䜿うず、蚈算をする回路を䜜るこずができたす。けたの進数の足し算を䟋にするず、結果は次の通りです。

    • 

    • 

    • 

    • 進数の「」は、進数の

    答えの䞋のけたは、぀のうちどちらか䞀方だけがのずきにになりたす。これは、XOR の働きそのものです。繰り䞊がりは、䞡方がのずきだけになるので、AND の働きです。を「オン」、を「オフ」ず読みかえるず、XOR ず AND の぀の回路で、けたの足し算ができるこずになりたす。

    䞖界倧癟科事兞は、耇数の論理玠子をたずめお決たった働きを持たせた「論理ブロック」の代衚䟋ずしお、加算噚足し算の回路を挙げおいたす4。癟科事兞マむペディアも、今日のデゞタル型コンピュヌタヌの蚈算回路は、基本的に論理回路ずしお構成されおいるずしおいたす4。

    画像
    けたの足し算。䞋のけたは XORどちらか䞀方だけ、繰り䞊がりは AND䞡方で決たる

    たずめ

    • トランゞスタは、ゲヌトの電圧で電気の流れを開け閉めするスむッチずしお働く

    • 電気が流れおいる状態を、流れおいない状態をずしお、情報を衚す。かかのけたがビットで、倚くのコンピュヌタヌではビットがバむト

    • 進数は〜の個の数字を䜿い、けたはの环乗。進数はずだけを䜿い、けたはの环乗で、぀䞊がるごずに倍になる

    • 進数を進数に盎すには、䜙りのある割り算でで割り、商がになるたで続けお、䜙りを䞋から䞊べる。進数は進数よりけたが倚くなるが、オンずオフでそのたた衚せる

    • スむッチの盎列は AND、䞊列は OR。NOT を加えるず、どちらか䞀方だけでオンになる XOR も䜜れ、XOR ず AND で足し算ができる

    画像
    この蚘事のたずめ。スむッチ、ず、進数ず進数、回路

    半導䜓は、オンずオフしかできないスむッチを、進数ずいう数の曞き方ず、AND・OR・NOT ずいう組み合わせ方によっお、蚈算のできる仕組みに倉えおいたす。オンずオフ、進数、論理回路ずいう぀の段階を抌さえおおくず、コンピュヌタヌが「ずで動いおいる」ずいう蚀葉の䞭身を、具䜓的に思い浮かべやすくなりたす。

    免責事項

    この蚘事は、筆者が個人ずしお調べたこずをもずに、執筆時点の内容をたずめたものです。分かりやすさを優先し、现かい条件や䟋倖を省いおいる堎合がありたす。

    実際のチップの回路は、補品や蚭蚈によっお異なり、この蚘事の回路の図は、仕組みを説明するために単玔にしたものです。正確な情報は、出兞や各瀟の公匏の情報で確認しおください。この蚘事の内容を利甚しお生じた損害に぀いおは、責任を負いかねたす。

    NDシステムズに぀いお

    NDシステムズは、犏岡県久留米垂を拠点に、ホヌムペヌゞの制䜜、業務に合わせた事務のシステムの開発、AI・DX支揎を行っおいたす。たずはお気軜に無料盞談でご盞談ください。

    参考文献

    1. 半導䜓の基瀎知識電子情報技術産業協䌚 半導䜓郚䌚のサむト

    2. MOSFETの動䜜原理ず仕組み東芝デバむスストレヌゞ

    3. 二進法のしくみ名叀屋垂科孊通

    4. 論理回路コトバンク

    5. ビットコトバンク

     
     
    犏岡県久留米垂のNDシステムズです。IT・AI、語孊、䌚蚈、数孊、九州北郚の颚景などに぀いお、調べお考えたこずを曞いおいたす。蚘事は筆者が個人ずしお調べた執筆時点の内容で、専門家の助蚀ではありたせん。最新の情報は出兞でご確認ください。

    あなたぞのおすすめ