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の創り方」マイナビ出版

共有