たとえ話の無知を知らん
「CPUとメモリの違いは何か?」という質問を受けた。
私は、自分なりにたとえ話を用いて説明した。質問者は「何言ってるかわからない」と私に言った。
そして今度は、彼がCPUとメモリの違いを別のたとえ話で説明した。
その彼を含めて、私は今までCPUとメモリの違いを的確に言えた人を知らない。
Bさんのたとえ話
質問者は上司だ。その人をBさんとして、私はC、D、Eさんと、たしか5人くらいの人に「CPUとメモリの違い」について質問したことがある。みんな上司か先輩だ。
Bさんは料理人とキッチンのたとえ話をした。CPUが料理人なら、メモリはキッチン。キッチンが広ければ広いほど、同時にたくさんのものを置ける。しかし料理人そのものの作業が遅ければ、料理の完成も遅い。
もちろんCPUがトマトを切ったりじゃがいもを茹でたりするわけではない。上司Bも途中で「実際にどういう処理をしてるのかは知らない」と言ったうえで説明した。
私のたとえ話
私と問答した上司の誰もが、私に対して「本質的に理解していない」と言った。私の説明はこうである。
たとえば6×2÷3+4という計算をするとき、実際に計算するのがCPUである。メモリはその計算の途中のプロセスを記憶している。メモリが大きければ、より長い計算式を解ける。
メモリは、電卓に入るけたの幅みたいなものだ。加えて、「メモリを机の広さに例えた先輩もいたし、そういうブログを読んだ」 とも言った。
実際のCPUとメモリ
ちなみに実際のCPUは四則演算、論理演算、あとデータのコピーと機器の制御を行っている。
(ただ、CPUの中にもキャッシュメモリーという記憶装置が入っているので、ややこしい)
メモリは一時的なデータの保存を担う。6×2÷3+4をやりながら1+2+3+4+5という計算をするにはメモリが必要である。
厳密には、「ながら作業」をやってはいない。瞬時に切り替えているだけである。
実は人間の脳も「ながら作業」をやっておらず、超スピードで切り替えているだけというから面白い。
無知の知
上司Bを含めて、CPU・メモリについて口頭でしっかり説明できた人を私は見たことがない。
というか、私に教えてくれた相手の誰もが的確に説明できなかった。にもかかわらず、みんな「理解している」と思い込んでいたのである。
私は、ソクラテスの気持ちが少しだけわかったような気がした。