top of page
検索

2025年06月17日

  • kojima295
  • 6月17日
  • 読了時間: 8分

更新日:6月18日

おはようございます。


・・・


申し訳ございませんでした。

昨晩は、寝落ちをしてしまいました。


本日は、じっくり技術講座を行います。

特に、本日は用事がございません。


「4ビットマイコン」と「シュシュ」がお話の中心となります。

「点字ディスプレイ」は、まだシステム用部品が到着しておりません。


いきなりですが、、、

CPUをいきなり作ってしまいましょう!


よし、CPUを創る!!

CPUを創るには「フリップ・フロップ」と言う回路を理解する必要があります。

「フリップ・フロップ」の中でも「D型フリップフロップ」が重要です!

これが、メチャめんどくさい!


困っちゃうんですけど、ヤルしかない!



これは難しい!!



【Dフリップフロップの解説】


Dフリップフロップを 小学生にもわかるように、かんたんに説明しますね。

1. 「覚えておく箱」だよ!

  • Dフリップフロップは、 1ビット(0か1)の情報を 「覚えておく箱」 のようなものです。

  • この箱には2つの口があって、

    • D(データ):覚えたい数字(0か1)を入れる口

    • Q(出力):箱が今覚えている数字(0か1)を取り出す口

2. 「チクタク時計」の音で動くよ!

  • フリップフロップには「クロック」というチクタク時計のような信号(音)があって、

    • チクタク(↑)のタイミングでだけ、Dの中身を覚えます。

    • それ以外の時間は、中身をずっとキープ(そのまま記憶)します。



クロックがチク(↑) → いまDに入っている数字を覚える チクタクしていないとき → 前に覚えたまま変わらない

3. たとえば…「先生と答え合わせゲーム」

  1. 先生(クロックのチク)が「はい、答えて!」と言ったら、

  2. 手元の解答用紙(D)に書いてある答えをそのまま黒板(Q)に写す。

  3. それ以外の時間は、黒板の答えはずっとそのまま。

このゲームと同じで、Dフリップフロップは「先生の合図があったときだけ、Dの答えを覚えて(Qに出して)、 それ以外はずっと覚えている」んだよ。

4. いつ使うの?

  • コンピュータの中では、数字や文字の「記憶装置」をたくさん並べて使います。

  • Dフリップフロップを何個もつなげると、複数ビットの情報を一度に覚えられる「レジスタ」になります。

  • これで、ゲームのスコアを覚えたり、絵を動かしたり、いろいろな動きをコントロールできます。

ポイントまとめ

  1. 1ビットを覚える箱

  2. クロック(チクタク)でだけ覚える

  3. それ以外はそのままキープ

これがDフリップフロップの仕組みだよ!わかったかな?



【マルチプレクサの解説】


マルチプレクサ(MUX)を小学生にもわかるように説明するね。

1. 「どれを通すか選ぶ分岐器(ぶんきき)」だよ!

  • マルチプレクサは、たくさんの道(入力)から1本の道(出力)を選んでつなぐ「分岐器」のようなもの。

  • 英語では “Multiplexer” といって、略して「MUX(マックス)」とも呼ぶよ。



2. 「リモコン」で例えてみよう

テレビのリモコンでチャンネルを選ぶのと同じだよ。

  • テレビにはチャンネル1~10までたくさん映像がある。

  • リモコンのボタン(これが“選ぶ信号”)で「チャンネル3!」と押すと、

  • テレビはチャンネル3の映像だけを画面に出すよね?

マルチプレクサも同じで、「どの入力番号(チャンネル)を選ぶか」を信号で伝えると、その番号の信号だけを出口に出してくれるんだ。

3. どうやって選ぶの?

  • マルチプレクサには 選択ビット(Select ビット) があるよ。

  • たとえば、入力が4本(0~3)あるときは、2本の選択ビット(00~11)でどれを出すか決める。

選択ビット

出力する入力

00

入力0

01

入力1

10

入力2

11

入力3

4. たとえば…「アイスクリーム屋さんゲーム」

  1. アイス屋さんにはバニラ・チョコ・イチゴ・抹茶の4つの味があるよね。

  2. 「今日はどれがほしい?」とお客さん(選択ビット)が言う。

    • お客さんが “10” と言ったら → イチゴ!

  3. アイス屋さん(マルチプレクサ)は「じゃあイチゴをどうぞ!」と1つだけ渡す。

こうやって、たくさんの中から「これ!」と指定されたものだけを選んでくれるのがマルチプレクサなんだ。

5. いつ使うの?

  • コンピュータや電子工作では、

    • たくさんのセンサーの中から1つの値を取り出したり

    • いくつもの信号をまとめて1本にして転送したり

    • 画面に出す映像を切り替えたり…といったときにとても便利だよ。

ポイントまとめ

  1. たくさんの入力から1つを選ぶ分岐器

  2. 選択ビット(リモコンのボタン)でどれを出すか決める

  3. コンピュータの中で信号を切り替えるのに使う

これがマルチプレクサの仕組みだよ!わかったかな?



今、1ピットCPUを創ろうと考えいます。

命令の種類は「MOV X1, X2」(X1レジスタ内容をX2レジスタに移動させる命令)です。

各レジスタは1ビットです。

上記回路をDフリップフロップとマルチプレクサのみで作成できますか?

注意するべき点として、中学生でもわかるように解説願います。


はい。1ビットCPUを、Dフリップフロップとマルチプレクサだけで作るイメージを、中学生にもわかるように説明します。

1. 登場するもの

  1. レジスタ X1, X2

    • それぞれ1ビット(0か1)を覚える「箱」です。

    • 箱の中身は Dフリップフロップ で実現します。

  2. マルチプレクサ(MUX)

    • たくさんの道(入力)から「どの道を通すか」選ぶ分岐(ぶんき)器です。

    • 2つの信号入力から、1つを選んで出力できます(2対1 MUX)。

  3. クロック(時計のチクタク)

    • 「チクッ」というタイミングでだけ Dフリップフロップ が中身を更新します。

2. どう動かす?「MOV X1→X2」命令一つだけのしくみ

  1. X1箱

    • いつも自分の中身をキープ(変えない)するだけ。

    • → MUX1 は「もともとの X1」(Q1)を選択。

  2. X2箱

    • 命令ビット(MOV信号)が「1」のとき:X1の中身(Q1)を取り込む(移動する)。

    • 「0」のとき:自分の中身(Q2)をキープ。

    • → MUX2 の選択ビットに「MOV信号」をつなぎ、

      • 0: 入力0=Q2(自分を保持)

      • 1: 入力1=Q1(X1をコピー)


  1. クロックがチクッで一斉更新

    • クロックの「立ち上がり(↑)」で、

      • X1箱には MUX1 出力(いつもQ1)が入り → 変わらず0か1を記憶

      • X2箱には MUX2 出力(Q1かQ2)が入り → MOV信号に応じてコピー or キープ

3. 動作の流れをゲームにたとえると

  1. 準備:「X1箱」「X2箱」にそれぞれ0か1が入っている。

  2. 命令スタート:MOV信号が「1」なら「X1の箱をX2の箱に写す」、「0」なら何もしない。

  3. チクタクの合図

    • X1箱は自分の中身をそのまま覚え直し(何も変わらず)

    • X2箱は指示どおり「写す」か「キープ」

  4. 結果:1クロック後、X2の中身がX1と同じに(または変わらず)なる!

4. 注意点

  • MUXは「何を入れるか」選ぶだけ。中身を覚えるのは Dフリップフロップ。

  • クロックがない間は、レジスタの中身はずっと保持されるよ。

  • この回路なら命令が「MOV X1→X2」のときだけ動いて、ほかの時間は何もしないCPUになる!

まとめ

  • レジスタ=Dフリップフロップで1ビットを記憶

  • マルチプレクサ=命令に応じて「保持 or コピー」を選択

  • クロック=チクタクで同時に更新

これだけで「MOV X1, X2」命令を実現できる、シンプルな1ビットCPUの回路が完成だよ!



分かりませんね。何故マルチプレクサが必要なのですか。

単にレジスタのコピーだけであれば、フリップフロップだけで出来るのではありませんか?


マルチプレクサが必要な理由を、中学生にもわかるように説明しますね。

1. Dフリップフロップは「箱」だけ

  • Dフリップフロップは「中身を覚える箱」です。

  • でも、覚える中身(D入力)が 1つだけ しかつなげません。


このままだと、常に「同じ1つの線」だけを覚えるしくみになります。

2. 「場合分け」ができないとコピーできない

  • 今回のCPUでは、X2レジスタに

    • 場合①: 自分の中身(Q2)をそのままキープ

    • 場合②: X1レジスタの中身(Q1)をコピー…という 2つのうちどちらか を選びたい。

でも D-FF は「D入力」が1本しかないから、「Q2の線」と「Q1の線」の どちらをつなぐか 決める回路が必要です。

3. マルチプレクサは「スイッチ」の役目

マルチプレクサ(MUX)は、

  • **入力が2つ(Q2 と Q1)あって、

  • 選択ビット(MOV信号)で「どちらをDに送るか」を切り替える**

まさに電気の道における “切り替えスイッチ” です。



  • MOV=0 のとき → Q2 を D2 に

  • MOV=1 のとき → Q1 を D2 に

これで「コピーする/しない」の場合分けができます。

4. もしマルチプレクサがなかったら?

  • D-FFのD入力にどちらか一方しかつなげないので、

    • ずっと Q2 をつないでおけば「コピーできない」

    • ずっと Q1 をつないでおけば「キープできない」

  • 「キープするときはQ2、コピーするときはQ1」という動きを作れません。

もちろん AND/OR/NOT やトランジスタで同じ選択回路を作ることはできますが、それをひとまとめにしたのが「マルチプレクサ」という便利な部品なんです。

ポイントまとめ

  1. D-FFは記憶「箱」 で、入力は1本しかない。

  2. コピー/保持の2つから選ぶとき、入力を切り替える回路が必要。

  3. マルチプレクサは入力切り替えのスイッチ だから、なくてはならない!

これで、なぜマルチプレクサが必要なのかイメージできたかな?



チョット待った!なんとなく分かってきました。

つまり、「MOV X1, X2」命令が実行された時だけ、レジスタの値をコピーするんだ。

それ以外のときには、コピーしてはならない。

これを切り替えるために、マルチプレクサがあるんですか?



そうです、そのとおりです!

ポイントまとめ

  1. 命令ビット(MOV)=1 のときだけ → X1 の値を X2 にコピー

  2. MOV=0 のとき → 何もしない(X2は自分の値をキープ)

  3. どちらを X2 に送るかを「切り替える」のがマルチプレクサの仕事

イメージ図で見ると…


  • MOV=0 → MUX が「X2(古い値)」を選んで D2 に送る

  • MOV=1 → MUX が「X1 の値」を選んで D2 に送る

そしてクロックのチクタクで D2 を覚え直すから、

  • MOV=1 のときだけ「コピー」、

  • MOV=0 のときは「保持」が実現できるんだよ。

これでマルチプレクサが「コピーするかどうか」を切り替えるスイッチとして必要、という理由がはっきりしたね!




・・・



これね、、、

チョット、難しかったか!!


これは、私が悪いんだろうなあ。。。

分かるように解説を施します。





























































 
 
 

最新記事

すべて表示
2025年11月22日

こんばんは。 ・・・ マズい・・・ 私に協力して下さっている方がいらっしゃるのですが、、、巻き込んでしまったかも知れません。 何とかしたいと考えているのですが、、、 HPが起動していません。。。 どうすれば良いのでしょうか。 リンクを張る方法があるのですが、本格的に巻き込んでしまう可能性があります。 本当にマズい。 どうしたら良いのか?

 
 
 

コメント


© 2024 by PHOTON-INSPEX

bottom of page