JavaScriptを有効にしてください

手動クロック回路におけるプルアップのなぜ?【CPUの創り方】

 ·  ☕ 3 分で読めます
手動クロック回路 渡波郁「CPUの創り方」 p.33 をもとに作成

手動クロック回路 渡波郁「CPUの創り方」 p.33 をもとに作成

プルアップが全然わかんなかったのでメモ

まず回路を構成する要素の説明から。

記号 説明
Vcc 電源みたいなもん 5vの電位を持っている?
R1 1KΩの抵抗
S1 ボタンスイッチ
R2 10KΩの抵抗
C1 電解コンデンサ
U1 シュミットトリガーインバーター
GND(アース)

回路の仕組み

この回路はCPUにおいて時間(タイミング)を支配する、クロックを単純化して再現したものです。
上の回路の「Clock」に対してHigh電圧とLow電圧(0V)が交互流れる。

また、普通ならばクロックは1と0の信号を一定の周波数で繰り返すものだが、それをスイッチを用いて手動で制御できるようになっている。スイッチを一回押せば、1クロック進む?

スイッチをONにするとClock信号として0(Low)が、
スイッチをOFFにするとClock信号として1(High)が発信されます。

コンデンサやインバーターは、信号の切り替わりをきれいにするために使われてますが、そこは省略。

スイッチをONからOFFにした時

S1から先には電流が流れないため、必然的にR2のほうへ電流が流れる
U1はインバーター(NOT論理回路)なので、High電圧がかかるとLow電圧をClockに出力→0がClockへ

スイッチをOFFからONにした時

S1がつながるので、VccからS1を通ってGNDへと電流が落ちる。
そして、R2の方へは電流が流れない(電圧がかからない)。
そしてU1にも電圧がかからない(0Vがかかる)ので、High電圧を出力する→1がClockへ

何がわからないのか

ずばり、スイッチがONのときどうしてR2側に電圧がかからないのかがわからなかった。

スイッチがOFFの時、電流がそこを流れないがR2のほうには流れる。これは直感的にわかる。
しかし、スイッチがONの時はS1のほうにもR2のほうにも電流が流れそうじゃないか?絵的に

解決編

以下のことを理解しなければいけなかった

  • 電流は抵抗の小さい方へ流れる性質がある。
    具体的には、
    並列回路において、それぞれを流れる電流の比はそれぞれの抵抗の逆数の比となる。

$$
I_1 : I_2 = \frac{1}{R_1} : \frac{1}{R_2} = R_2 : R_1
$$

Vccから最初の分岐以降をみると、Clock側には10Kの抵抗R1がある。一方で、スイッチ側には抵抗がない。
よって、それぞれの抵抗差は限りなく大きくなるため、電流はほぼ全てスイッチ側へ流れることになる。

イメージとしてはこんな感じ。

オームの法則すらうろ覚えの状態なんで、こういった基本がわかってない。
というかこれで合ってるのかもよくわからないが、たぶんこういうことだと思う。

元ネタ

渡波郁 「CPUの創り方」マイナビ出版

共有