Microchip社のATmega328Pというマイコンがあります。以前はAtmelという会社の製品でしたが、Atmel社が、PICマイコンで有名なMicrochip社に買収されてからは、Microchipの製品ということになっています。Arduino UNOなどの、当初からあるArduinoシリーズ(との互換機、派生機)で幅広く使われているマイコンです。
このATmega328Pの派生品に、ATmega32PBというものがあることを、知人から教えてもらいました。語尾が1文字違うだけなので、てっきりマイナーバージョンアップとかクロック周波数が上位とかの違いなのかと思っていたら、ぜんぜん違っていました。ATmega328PBの特徴を簡単にまとめると、
- UARTやSPIなどの周辺インタフェースが増えている(1個→2個)
- ATmega328Pの完全上位互換(つまりATmega328P用のプログラムがそのまま動く)
- ATmega328Pより安価
そんなはずは・・・と思って調べたところ、本当でした。製品紹介ページ→ATmega328P、ATmega328PB
価格は、DigiKeyでは以下のようでした(2018/12/23時点)。確かにATmega328PBの価格は、ATmega328Pの2/3程度です。
つまり、ATmega328PBのほうが、高性能なのに安価、というわけです。それなら今後はATmega328PBだけ使えばいいのでは、という気もしてきます。例えばUARTが2個あるATmega328PBだと、UARTを使ってのデバッグに便利そうですね。
このように、高機能なのに安価、という現象は、半導体ではよくある現象ですが、他の産業ではあまり見られません。例えばクルマでは、新モデルのほうが高性能(例えば燃費がいい)ということはあるでしょうが、価格が2/3というのは、まずありえません。
しかし半導体では、いわゆる「ムーアの法則」が、(少なくとも最近までは)成り立っていて、それの技術的な裏付けである「比例縮小則」も、(その時々で技術的な修正をされつつも、基本的には少なくともここしばらくは)成り立っています。詳細な解説は他に譲りますが、比例縮小則は簡単に言うと、
- 半導体チップの中の回路(トランジスタ)を、小さく作る(例:1/2)と、
- 回路の動作速度が速くなる(例:2倍)。
- 同一価格で機能が向上(例:4倍)する。または同一機能ならば価格が下がる(例:1/4)。
ということです。なんだか胡散臭い話にも聞こえますが、半導体集積回路(LSI)では、シリコンチップの表面に二次元的に回路が作り込まれ、その機能がトランジスタのサイズによって変わらない、という物理的な現象に対応しているものです。
この比例縮小則を実現する技術開発の速度の統計と予測から、「18ヶ月で半導体チップの性能が2倍、または価格が1/2になる」という予測で、インテル創業者の一人であるG.Mooreによって提唱されたのが「ムーアの法則」と呼ばれるものです。(余談ですが、ムーア自身がこの名前をつけたわけではなく、この名前をつけたのはC.Meadで、またこの予測を「目標」として技術の研究開発が進められてきたことから、この法則どおりの技術進化が実現されてきた、という面が強いです。つまりムーアが未来を予測していた、というより、ムーアの予測どおりに世の中が進んだ、と理解するのが正しいです。もちろんより小さなトランジスタを作ることは、技術的な困難度がより高いので、その当時で実現可能なサイズのものが、その時点での最先端ということになります)
このATmega328P/PBの違いを、ムーアの法則から理解しようとすれば、後発であるATmega328PBのほうが、回路を構成するトランジスタが小さくなっていることで、高性能なんだけど安価、ということが起こっているのではないか、と考えられます。
そこで、実際にATmega328PとATmega328PBのチップを観測してみました。といっても私達がふだん目にする半導体チップは、黒いパッケージに入っていて、チップそのものを目にすることはほとんどありません。パッケージを開封してチップを取り出すことは、濃硝酸などの薬品を使えば可能なのですが、素人に簡単に手を出せるものではありません。ところが調べてみると、バーナーで炙ると、パッケージのプラスチックが灰になってチップを取り出せる、というのをやっている人がいるのを見つけました。これなら「どこのご家庭にもあるもの」でできそうなので、早速やってみました。
用意するもの:
- BBQ火起こし用バーナー(カセットボンベのものがお手軽)
- 金属の皿(100均で売っている排水口メッシュなど)
- チップを見たい電子部品
まずATmega328Pのチップをバーナーで数分間、炙ります。やけどや、周りの燃えやすいものに火が燃え移ることがないように、十分に気をつけます。見た目、大きな変化はありません。
十分に冷えてから、ドライバーでパッケージをちょんちょんすると、少しずつパッケージのプラスチックが崩れていきます。
チップが少し見えてきました。ここからはチップを傷つけたり割ったりしないように、周りのプラスチックを慎重に崩していきます。部品の金属の足(リードフレーム)は、ぽろぽろ取れてしまうので、そこはあまり気にせずに、チップ以外のものを取り除いていきます。
チップが現れました。
これを顕微鏡で、倍率を徐々にあげながら観測していきます。
まずチップの外形をものさしで測ると1辺が3mmでした。この写真の左下に写っている正方形(パッド)の大きさを、チップ外形との比で求めると0.1mm(100μm)でした。
もう少し倍率をあげて、パッド付近にある目印になる形状のもののサイズを、パッドのサイズ100μmを基準にして求めます。(この例では65.4μm)
さらに倍率をあげてその横にある細い配線が並んでいるところ(おそらくバス配線でしょう)にある配線の幅を求めると、1.8μmとなりました。これぐらいのサイズだと、金属配線の幅はトランジスタのサイズ(ゲート長)とだいたい同じなので、加工寸法(テクノロジノード)は1.8μmぐらい、ということになります。最近の最先端の最小加工寸法は20nm(0.02μm)以下ですから、100倍以上大きいもののようです。しかしその分、「枯れた技術」であるため、安価に製造できるわけです。(特に最近のかなり進んだ微細加工では技術的な難易度が急速に高くなるため、製造装置も指数関数的に高価になります)
続いて、同じ方法で、ATmega328PBのほうも計測してみます。
ATmega328PBをAliExpressで10個1,350円で買いました。まさか発送したお店も、そのままバーナーで炙られるとは夢にも思わないでしょうね。
チップは縦長で3×2.5mm、パッドのサイズは75umでした。
さらに倍率をあげていくと、バス配線っぽい細い配線が見えてきました。3本の配線の間が2.4μmでした。これは、2本分の配線の幅と、2つ分の配線の間隔の合計で、一般に配線の幅と間隔は同じの場合が多いので、これから金属配線の幅は0.6μm、つまりテクノロジノードも0.6μmということになります。一般にテクノロジノード0.6μmぐらいまでは電源電圧が5Vでも動作でき、これより微細になると5Vでは素子が破壊されてしまうので電源電圧を3.3Vのように下げざるを得ません。ATmega328PもATmega328PBも電源電圧5Vで動作しますので、この点からも妥当な計測結果と言えそうです。
両者の加工寸法を比べると、ATmega328Pよりも、ATmega328PBのほうが、1/3倍ぐらい微細といえそうです。(ただしATmega328Pでは、より細い線を見落としているかもしれないので、テクノロジノードは1.2μmかもしれません。そうだとすると1/2倍といえそうです)
なお0.6μmあたりの製造は、かなり基本的な技術で可能で、いわゆる「枯れた技術」の範疇のため、かなり安価にできます。(その時代の古い製造装置の減価償却が十分に済んでいるので、さらに安価に製造可能にもなります)これより微細にすると、徐々に微細加工の技術的難易度が上がる(=製造コストが上昇する)ため、単純に性能向上&コストダウン、というわけにはいかないのですが、このあたりの加工寸法だと、きれいに比例縮小とムーアの法則が成り立つ範囲で、これらはその実例といえます。しかもこれぐらいの性能のマイコンだと、このあたりの加工寸法で実現可能なので、まさに「枯れた技術でもイノベーションは起こりうる」実例といえます。技術ありきではなく、その技術で何ができるか、何をしたいか、を常に心にとめておきたいですね。※このあたりの話は、このあたりのスライドでご紹介していますので、ご興味ある方はご覧ください。
(秋田)