スワップの秘密
今回は技術の話と昔の話です。
スマートフォンやパソコンは、CPU(Central Processing Unit)と呼ばれる小さなコンピューターで動作しています。CPUや周辺回路を入れたシリコンのカケラが半導体です。スマートフォン以外にも、炊飯器、時計、ミサイルなどあらゆる電気で動くものに入っています。半導体は不足したり、制裁で入ってこないと、色々なものが作れなくなる重要な部品です。CPUはメモリと呼ばれる別の半導体と共同で色々な仕事をします。CPUはメモリの上司です。
ここからがややこしい話、部下のメモリに対して、2つの系統の上司CPUが存在します。一つは図のようにリトルエンディアン(little endian)と呼ばれる素直でないメモリ格納方法の上司、代表的なのはインテルです。もう一つはビッグエンディアン(big endian)と呼ばれる素直なメモリ格納方法の上司、代表的なのはモトローラーやIBMです。中にはどちらもできる上司CPUも存在します。
CPUを持つ装置間でメモリ上のデータ交換をすることを、コンピューター間通信と呼びます。代表的な通信方法がインターネット(Internet)です。異なる上司CPUの装置が通信する場合、どちらかの方式に従う必要があります。インターネットにおいては、ビッグエンディアンという取り決め(Network Byte Order)が存在します。通信をするため、データの順番を入れ替えることをスワップ(swap)と呼びます。スワップは、一般的に入れ替える・交換するという意味ですが、技術者はこの入れ替えを「スワップする」と言います。
スマートフォンで写真を撮って、友人と共有することも、コンピューターの中では結構面倒くさいことが行われています。
私は以前、パナソニックである製品のソフトウェアを設計・開発するチームに所属していました。そこに、CPUや通信についてあまり知識のない新人が、チームに参加することになります。職場では「そこスワップして」とか「だからスワップは大変」という会話が飛び交っていました。
ある時、新人くんが顔を赤らめて恥ずかしそうに小声で「スワップって恥ずかしいですよ」と私に言ってきました。どうやら「スワッピングパーティー的な」不道徳なパーティを想像したようです。確かに、普段は(swap)という言葉を使わないな。笑(これは実話です。)
イラストは Stable Diffusion(キーワード:little endian,big endian,CPU,Memory、intel)で生成
コメント
コメントを投稿