スーパーマリオメーカー学会がコースを論理回路に見立た計算機を開発
公開日:
:
はやりもの
こんにちは、ヒロです。
スーパーマリオブラザーズは任天堂最高のヒット商品で多くの人がプレイしてるだけに正規のスーパーマリオの中にある絶妙なバグ等も見つけ出されて色んな裏技もあって遊び尽くせない名作ですが、そんなスーパーマリオのコースを自分で作れるスーパーマリオメーカーというものがあります。
その自分で作成できるコースの一部を論理回路に見立てて2進数の計算が出来る計算機を作る猛者がいて話題になってるようです。
ただ動画の中で説明はされてるもののついていけない人続出(笑)らしいので、論理回路とは何ぞや?というところからマリオメーカー計算機の説明まで細かく説明したいと思います(自分の理解の為にもw)。これを知ったからと言って世間で役に立つことはありませんが、凄いこと考える人いるなーと思ってみたり、こういう人が新たな発明品を作るんだろうなと感じながらみていただければと思います。
Contents
- 1 論理回路とは?(事前基礎知識)
- 2 スーパーマリオメーカー計算機解説(本題)
- 3 その他の計算動画
- 3.1 フラワーそろばん&スイッチ集 Flower Abacus & Switch Collection(20桁/digit)
- 3.2 スターそろばん Star Abacus(99,999,999)
- 3.3 マリオメーカーで32bit計算機
- 3.4 マリオメーカーで4,294,967,295+4,294,967,295を計算してみた
- 3.5 【34bit】マリオメーカー計算機で171億略+171億略の結果を表示してみた【スーパーマリオメーカー】
- 3.6 【64bit】マリオメーカー計算機64で1844京+1844京を計算してみた
- 3.7 割り算と引き算(10÷10、10-10)Division and Subtraction
- 4 まとめ
論理回路とは?(事前基礎知識)
※本当に基本的な内容なので、論理回路を理解してる方は読み飛ばしてください。何故論理回路が必要?
何故論理回路が必要なのか?これには、コンピュータの仕組みから理解する必要があります。
現在のパソコンやスマホなどのコンピュータは、人間が使っている10進数ではなく、2進数を使っています。
そもそもなぜ人間が10進数を使っているのかは、人間の指が一般的に10本あるからと言われています。
つまり、昔指で一つずつ数えていたのを指がなくなる10を一括りにして数えていたのをそのまま数字に当てはめたような感じですね。
つまり、10進数は
1,2,3,4,5,6,7,8,9
次は、1繰り上がって10,11,12,13,14,15,16,17,18,19,20…
と言った感じですね。
※余談ですがソロバンは、片手の指が5本だから5の玉で更にわかりやすく一時繰り上げみたいなイメージですね。
これに比較して、コンピュータは2進数を使っていますが、何故10進数ではなく、2進数を使っているのか?それは、誤作動を起こりにくくするためです。
どういうことかと言うと
例えば、電圧が10Vの時が2進数の0Vの時に2進数の0とコンピュータが認識するとした時、常に電圧を10V、0Vちょうどにするのは不可能です。
なので例えば、5V以上を2進数の1、5V未満を2進数の0とすれば、多少電圧がぶれても2進数の0と1を正確に伝えることが出来ます。
しかも、省エネの為に電圧は10Vではなく、5Vとか1Vとかにしないといけなくなっても、0と1だけなら判別しやすいです。
また、電圧をONとOFFするだけで制御出来るので回路が簡単に出来集積度まますことが出来ます。
しかし10進数の場合は、電圧が10Vの場合でも
0.5V未満は10進数の0
0.5V以上1.5V未満は10進数の1
1.5V以上2.5V未満は10進数の2
2.5V以上3.5V未満は10進数の3
3.5V以上4.5V未満は10進数の4
4.5V以上5.5V未満は10進数の5
5.5V以上6.5V未満は10進数の6
6.5V以上7.5V未満は10進数の7
7.5V以上8.5V未満は10進数の8
8.5V以上は10進数の9
のようにしないといけなくなり、
電圧がONとOFFの制御だけでいい2進数と違い、10進数では、細かく電圧を制御しないといけなくなる為、高速で転送することが非常に困難になります。
このような理由でコンピュータは2進数が用いられていますが、これらの2進数の計算で用いられるのが論理回路です。
論理回路の種類
論理回路の種類には次のようなものがあります。AND(論理積)回路
OR(論理和)回路
NOT(否定)回路
NAND(否定論理積)回路
NOR(否定論理和)回路
EXOR(XOR排他的論理和)回路
論理回路はデジタル電子回路というもので使用されます。コンピュータで使われる回路で実際の回路図を視覚的にわかりやすくした回路です。
電気的な動きを見ようとすれば、トランジスタやコンデンサや抵抗、ダイオードなどを用いたアナログ電子回路というものを見ないといけないですが、2進数の0と1の動きを見るだけならデジタル電子回路で使用される論理回路で充分確認できます。
それでは、論理回路の説明をして行こうと思います。
論理回路の説明
論理回路とは、2進数の計算をする回路です。コンピュータはこの回路を大量に組み合わせて作られていますが、基本の回路を組み合わせてるだけなので基本を押さえましょう。
複数、あるいは単独の入力に対して決められたルールで出力を出すのが論理回路です。
ここを押さえてマリオメーカー計算機を理解して行きましょう。
AND回路
AND回路とは、ふたつの入力のうち両方とも1の時に出力1を返す回路です。
入力A AND 入力B = 出力
とすると
① 0 AND 0 = 0
② 0 AND 1 = 0
③ 1 AND 0 = 0
④ 1 AND 1 = 1
と④のように両入力が1の時だけ1になります。
OR回路
OR回路とは、ふたつの入力のうちどちらか片方でも1の時に出力1を返す回路です。
入力A OR 入力B = 出力
とすると
① 0 OR 0 = 0
② 0 OR 1 = 1
③ 1 OR 0 = 1
④ 1 OR 1 = 1
と②③④のようにどちらか一方でも入力が1の時に1になります。
NOT回路
NOT回路とは、入力されたものを反転する回路です。
NOT 入力= 出力
とすると
① NOT 0 = 1
② NOT 1 = 0
と入力が0の時1、入力が1の時0になります。
NAND回路
NAND回路とは、AND回路とNOT回路を合わせた回路といえばわかりやすいでしょうか?
入力のどちらかが0なら出力が1になります。
入力A NAND 入力B = 出力
とすると
① 0 NAND 0 = 1
② 0 NAND 1 = 1
③ 1 NAND 0 = 1
④ 1 NAND 1 = 0
と④のようにどちらか一方でも入力が0の時は1になります。覚えにくい時は一度ANDをとって、0と1を反転させればOKです。
NOR回路
NOR回路とは、OR回路とNOT回路を組み合わせた回路です。入力が両方0の時のみ出力が1を返します。
入力A NOR 入力B = 出力
とすると
① 0 NOR 0 = 1
② 0 NOR 1 = 0
③ 1 NOR 0 = 0
④ 1 NOR 1 = 0
と①のように両入力が0の時だけ1になります。覚えにくい時は、一度ORをとって0と1を反転すればOKです。
EXOR回路
EXOR回路とは、どちらか片方の入力だけが1の時だけ出力に1を返す回路です。
入力A EXOR 入力B = 出力
とすると
① 0 EXOR 0 = 0
② 0 EXOR 1 = 1
③ 1 EXOR 0 = 1
④ 1 EXOR 1 = 0
と②③のように片方だけの入力が1の時だけ1になります。
2進数から10進数への変換の仕方
2進数で計算してもその計算結果を10進数で表せなければ意味がありません。そこで2進数から10進数への変換の仕方も載せておきます。
10進数は0〜9までの10個の数字を使って数字を表しますが、
2進数は0と1だけを使って数字を表します。
つまり
10進数 2進数
0 0
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
10 1010
上記のように1の後にはすぐに桁上げをするということになっている。
2進数から10進数への変換の仕方は、
1101なら
のように計算します、
2進数の足し算を考えてみる
2進数の1桁は 0 か 1 の値しかとりません。 この2進数での1桁のことを 「1 ビット bit」といいます。 はじめに,「1 ビットの足し算回路」について考えます。 つまり,0+0=0
0+1=1
1+0=1
1+1=2
という4通りの場合について正しい答えを出力するための回路です。 10 進数での 「2」 という数は2進数だと 「10」 と表されます。 ですから,上の例を2進数で表現すると,
0+0=0
0+1=1
1+0=1
1+1=10
と書けます。
このような計算をどのような電子回路で実現できるでしょうか? 中身は後で考えるとして,外から見れば2本の入力信号線と2本の出力信号線を備えた回路になるはずです。 つまり,足し算の2つの入力を A, B という2本の入力信号線に, 出力のうち「20 = 1」の桁の数字を Y0 という出力信号線, 「21 = 2」の桁の数字を Y1 という出力信号線に割り当てます。 全体としては,図 1のような形になるわけです。
図 1 1桁の足し算回路。Y0 は 2^0 の桁の数,
Y1 は 2^1 の桁の数を出力する。
つぎに,この回路の中身を考えましょう。出力 Y0 と Y1 とに分けて考えます。 出力 Y0 と入力 A, B の間には表 1 のような関係があります。
表 1 「1ビット」の足し算回路。入力 A, B と 2^0 の桁の出力 Y0
A B Y0
0 0 0
0 1 1
1 0 1
1 1 0
この関係を論理式を使って書くために,次のように考えます。 表 1 から,「出力が 1 になる」のは,「A=0 かつ B=1」の場合と, 「A=1 かつ B=0」の場合との2通りあります。これを式で表せば,
となります。 この関係は,論理回路のところに出てきた「排他的論理和 EXOR」と同じですね。 つまり,EXOR 回路を使えば「一桁の足し算の 2^0 = 1 の桁を得る回路」になるわけです。
つぎに,出力 Y1 と入力 A, B の間には表 2のような関係にあります。
表 2 「1ビット」の足し算回路。入力 A, B と 2^1 の桁の出力 Y1
A B Y1
0 0 0
0 1 0
1 0 0
1 1 1
これを式で表せば,
となります。
この関係は,「論理積 AND」そのものですね。 つまり,AND ゲートを使えば1桁の足し算の繰り上がりの部分, 2^1 = 2 の桁を得る回路になるわけです。 これらのことをまとめれば,1ビットの足し算をするための回路としては全体としては,図 2 のような構成になります。
図 2 「1ビット」の足し算回路 (2)。XOR ゲートと AND ゲートの組み合わせで実現できる。
スーパーマリオメーカー計算機解説(本題)
前置きが非常に長くなりましたがいよいよ本題です。スーパーマリオメーカーでは、コースを電気回路に見たてて論理回路を組みますが、回路によって電流や入出力を変えたりします。
まず最初に簡単な論理回路や足し算をしているスーパーマリオメーカー計算機の動画から解説して行きましょう。
基礎編動画
まずはこちらの動画です。スーパーマリオメーカー計算機の基礎からです。現在は集積度もスピードも格段にアップしてます。後ほどそちらも紹介いたします。
AND回路
先ずはAND回路です。入力Aと入力Bの左側にノコノコがいてノコノコを入力の左側から右に向けて放つと計算開始です。
入力が0の時、ブロックを壊す。
出力を上のスペースが1で下に落ちたら0と定義すると
① 0 AND 0 = 0
→入力Aと入力Bのブロックを壊すと下に落ちる
② 0 AND 1 = 0
→入力Aのブロックを壊すと下に落ちる
③ 1 AND 0 = 0
→入力Bのブロックを壊すと下に落ちる
④ 1 AND 1 = 1
→入力AとBは壊さないと下に落ちずに上のスペースに止まる
このように入力と出力を定義した上でコースを考え作ると論理回路と同じ役目を果たすことが出来ます。
動きについては動画を見れば、一目瞭然ですが一度考えて理解すると格段に動画の動作がわかりやすくなります。
OR回路
続いてOR回路です。入力A(上側)と入力B(下側)の左側にノコノコがいてノコノコを入力の左側から右に向けて放つと計算開始です。
入力が0の時、ブロックを壊す。
出力を上のスペースが1で下に落ちたら0と定義すると
① 0 OR 0 = 0
→入力Aと入力Bのブロックを壊すと下に落ちる
② 0 OR 1 = 1
→入力Aのブロックだけを壊すと上に残る
③ 1 OR 0 = 1
→入力Bのブロックだけを壊すと上に残る
④ 1 OR 1 = 1
→入力AとBは壊さないと下に落ちずに上のスペースに止まる
AND回路は直列にコースを繋ぎ、OR回路は並列にコースを繋いでるイメージですね。
動きについては動画を見れば、一目瞭然ですが一度考えて理解すると格段に動画の動作がわかりやすくなります。
NOT回路
続いてはNOT回路です。NOT回路は入力が一つなので非常にシンプルですが、この回路で出力の1のスペースの上側にコースを組むことで反転することを覚えておくと、後の回路がわかりやすくなります
入力の左側にノコノコがいてノコノコを入力の左側から右に向けて放つと計算開始です。
入力が0の時、ブロックを壊す。
出力を上のスペースが1で下に落ちたら0と定義すると
① NOT 0 = 1
→入力ブロックを壊すと出力1のスペースを乗り越えて下へ行く
② NOT 1 = 0
→入力ブロックを壊さないと出力1のスペースに行く
NOT回路はシンプルですが基礎となる回路なのでしっかり理解する必要があります。
動きについては動画を見れば、一目瞭然ですが一度考えて理解すると格段に動画の動作がわかりやすくなります。
NAND回路
続いてNAND回路ですNAND回路はAND回路の後にNOT回路を接続して作られてます。
ANDの結果を最後に反転するイメージですね。
動画では検証を割愛されているので解説を下につけておきます。
入力Aと入力Bの左側にノコノコがいてノコノコを入力の左側から右に向けて放つと計算開始です。
入力が0の時、ブロックを壊す。
出力を上のスペースが1で下に落ちたら0と定義すると
① 0 NAND 0 = 1
→入力Aと入力Bのブロックを壊すと上に残る
② 0 NAND 1 = 1
→入力Aのブロックを壊すと上に残る
③ 1 NAND 0 = 1
→入力Bのブロックを壊すと上に残る
④ 1 NAND 1 = 0
→入力AとBは壊さないと出力を乗り越えて下に落ちる。
ANDとNOTを理解してると動画での説明はないけど大丈夫ですね。
NOR回路
続いてNOR回路ですNOR回路はOR回路の後にNOT回路を接続して作られてます。
ORの結果を最後に反転するイメージですね。
動画では検証を割愛されているので解説を下につけておきます。
入力Aと入力Bの左側にノコノコがいてノコノコを入力の左側から右に向けて放つと計算開始です。
入力が0の時、ブロックを壊す。
出力を上のスペースが1で下に落ちたら0と定義すると
① 0 NOR 0 = 1
→入力Aと入力Bのブロックを壊すと上に残る
② 0 NOR 1 = 0
→入力Aのブロックを壊すと出力を乗り越えて下に落ちる
③ 1 NOR 0 = 0
→入力Bのブロックを壊すと出力を乗り越えて下に落ちる
④ 1 OR 1 = 0
→入力AとBは壊さないと出力を乗り越えて下に落ちる。
ORとNOTを理解してると動画での説明はないけど大丈夫ですね。
その他の計算動画
他の計算機の動画も添付します。こちらもわかりやすいものからわかりにくいものまであると思いますが、全て解説して行きたいと思いますが、少し時間を下さい。一度自分で動画見て考えて見るのも楽しいと思うのでどうぞご覧ください。
フラワーそろばん&スイッチ集 Flower Abacus & Switch Collection(20桁/digit)
スターそろばん Star Abacus(99,999,999)
マリオメーカーで32bit計算機
https://m.youtube/x01FSCEjTIcマリオメーカーで4,294,967,295+4,294,967,295を計算してみた
【34bit】マリオメーカー計算機で171億略+171億略の結果を表示してみた【スーパーマリオメーカー】
【64bit】マリオメーカー計算機64で1844京+1844京を計算してみた
割り算と引き算(10÷10、10-10)Division and Subtraction
まとめ
計算機の進化した姿は、まだまだいっぱいありますのでこの投稿し解説して行きます。動画みて理解出来るものもあるかもしれませんが、凄く考えられて作られているのはわかると思います。
こういう発想を出来る人が新しい技術を生み出せるとおもうので、今後の未来も期待できそうです。
ブログ村のトレンドニュースの注目記事で1位になった記事です。
↓
消費税について考察
良かったらブログランキング2つクリックしてやってください。
にほんブログ村
トレンドニュース ブログランキングへ
カテゴリー
- Super Mario Run関連
- お笑い関連
- はじめしゃちょー
- はやりもの
- インターネット関連
- エンターテイメント
- ゲーム攻略
- スポーツ関連
- ダイエット関連
- ドラマ関連
- パソコン関連
- ブログ運営
- ポケモンGO関連
- ユーチューバー
- リオオリンピック関連
- 不思議な現象
- 教育
- 映画関連
- 最先端医療
- 未分類
- 熊本地震
- 社会情勢
- 簡単シリーズ
- 芸能関連
アーカイブ
- 2019年5月
- 2019年3月
- 2018年10月
- 2018年3月
- 2017年3月
- 2017年2月
- 2017年1月
- 2016年12月
- 2016年11月
- 2016年10月
- 2016年9月
- 2016年8月
- 2016年7月
- 2016年6月
- 2016年5月
- 2016年4月
- 2016年3月
- 2016年2月
- 2016年1月
- 2015年12月
関連記事
-
2017年版7月5日は穴子の日。鰻との値段の違いや美味しさの違いは?
こんにちは、ヒロです。 穴子の日とは? 穴子の日(あなごのひ)は、日本の記念日の
-
2016年版9月20日はお手玉の日。由来やお手玉の作り方や遊び方の紹介
こんにちは、ヒロです。 お手玉の日とは 日本のお手玉の会が制定。 1992年のこの
-
2017年版7月21日は日本3大夜景の日。日本の夜景紹介と世界の夜景紹介。
こんにちは、ヒロです。 7月21日は日本3大夜景の日です。 日本3大夜景の日とは?
-
NHKアニソンベスト100と300。2017年今の時代はラブライブ?二曲がトップ1,2
NHKアニソンベスト100と300。2017年今の時代はラブライブ?二曲がトップ1,2
-
2016年版9月14日はメンズバレンタインデーとセプテンバーバレンタインデー。由来やイベント内容紹介
こんにちは、ヒロです。 9月14日はメンズバレンタインデーとセプテンバーバレンタインデ
-
2017年版6月27日はちらし寿司の日。手作りもよし。食べに行くもよし。
こんにちは、ヒロです。 6月27日は、ちらし寿司の日らしいです。 ちらし寿司は、家で
-
2016年版11月2日はタイガース記念日。由来や阪神タイガースの歴史について紹介
こんにちは、ヒロです。 11月2日はタイガース記念日です。由来や阪神タイガースの歴史につい
-
2017年版8月5日ははこの日。由来やいろんなはこについて解説します
こんにちは、ヒロです。 8月5日ははこの日です。 はこについて色々調べてみましたので
-
本を裁断せずに電子化
こんばんは、ヒロです。 皆さんは、ここに来たらワクワクするといった
-
毎月29日は肉の日。美味しい肉の店や29にまつわる話
こんにちは、ヒロです。 毎月29日は肉の日です。いつもダイエットしていて肉は食べないと
カテゴリー
- Super Mario Run関連
- お笑い関連
- はじめしゃちょー
- はやりもの
- インターネット関連
- エンターテイメント
- ゲーム攻略
- スポーツ関連
- ダイエット関連
- ドラマ関連
- パソコン関連
- ブログ運営
- ポケモンGO関連
- ユーチューバー
- リオオリンピック関連
- 不思議な現象
- 教育
- 映画関連
- 最先端医療
- 未分類
- 熊本地震
- 社会情勢
- 簡単シリーズ
- 芸能関連
アーカイブ
- 2019年5月
- 2019年3月
- 2018年10月
- 2018年3月
- 2017年3月
- 2017年2月
- 2017年1月
- 2016年12月
- 2016年11月
- 2016年10月
- 2016年9月
- 2016年8月
- 2016年7月
- 2016年6月
- 2016年5月
- 2016年4月
- 2016年3月
- 2016年2月
- 2016年1月
- 2015年12月