ARMの64Bit化が叫ばれる中で・・・

PCの世界では順調にと言って良いのか 64Bit化が進んできています。
わざわざ過去の互換性を悪くして尚64Bit化を進めざる得ないのは、ひたすらメモリー空間が足りないからです。
特にグラフィック系や、DB系はメモリーが多いか少ないかでパフォーマンスが大きく違います。
それだけでは無く、最近ではクラウド系のサービスでメモリーを大きく消費する物が出てきています。
これらは、キャッシュとして使う物なのですが 流石にいくら速くなっても宅内のネットワークに比べてインターネット側の回線速度は遅く それ以上に多人数がアクセスするクラウドサーバーの回線速度にはボトルネックが発生します。
過去に参照したことのあるデータなどは できればそれをローカルにおいて使えればずいぶん速度的に上がるわけです。
最もわかりやすいのは ブラウザなどで、戻るボタンを押したときにPCはすぐに前のページが表示されますが SmartPhoneではブラウザなどにもよりますが 再読み込みが標準ブラウザなどでは起きるのでその分遅かったりするわけです。
ブラウザだけでは無く ファイルサーバーとしてクラウドサービスなどを使っていると ファイル名の検索や並べ替えなどで毎度毎度読んでいるとどうしても遅くなってしまうわけです。
Evernoteでもサムネイルぐらいはローカルに持って、正式な画像はクラウド側でというようなアプリケーション作りとなる訳です。
それらのエリアの事を考えると やはりメモリーは大目にあるに越したことは無いのです。
 
最近、DOCOMOから発表になりもう発売になったのかどうかの時期なのですが Glaxy S3なのですが 一部でうわさされる通り日本のGalaxy S3は少し海外モデルに比べて残念な点があります。
それは、CPUの性能で 海外モデルは4コアの超高速CPUを搭載しているのですが DOCOMO版は2コアの最新CPUを搭載するという形になっています。
単純な演算速度ではよっぽどの事が無い限り コア数が多いほうが勝つわけです。
ただ、その性能が必要かどうかという点に関しては また別の話となる訳ですが・・・
それでも、DOCOMO版にも良い所があって、メモリーがどうも2G搭載しているらしいのです(未確認です 本体を見てないので WEBから得た話です)
入門機は512でハイエンドは1Gなんて図式を打ち破る話となる訳です。
もっと増やせばいいのに・・・と言いたいところですが CPUに何でも同梱している仕組みなので メモリーを増やすとCPUが違うという風に変化してゆくので簡単に増やしたりもできないわけです。
勿論、2Gの機種が出たという事は 今後のハイエンド機が恐らく2Gになるだろうことは想像するに難しくないわけです。
 
このメモリーにはプログラムが置かれここで実行するためのテンポラリーなどを展開する事から比較的高速なメモリーが搭載されています。
もし足りなく無ければ 実行するたびに速度の遅いフラッシュメモリーに仮置きして メモリーエリアを開けて実行するような作業が必要となり速度がぐっと落ちるわけです。
そろそろヘビー級なプログラムも出てきて プログラム本体は1Gなどというお化けもいるので(大半はデータなのですけどね)この流れは順当なところです。
勿論、それに耐えうる速度がCPUにもでてきたという所でしょう。
そして、CPUの速度そのものはPCでも6コアが最高ですので もう伸びしろはあまりないわけです。
ではこの先に進もうと思えばクロックのアップですが それは消費電力とバーターのところもあるのである一定で押さえたいのが実情。特に3Ghzに近づけば一気に消費電力が跳ね上がるので2Gぐらいが上限で推移すると思われます。
じゃあ来年モデルには何を出すんだという点で行き詰ることからメモリーの増強があると思っています。少なくとも私は。
で、2Gの次は4Gとなってはたと気が付くのです。
現行のARMコアは32Bitなので、4Gあたりでメモリー空間が埋まってしまうのです。
勿論、4GのCPUが出てくれば 本体単体で動くスタンドアローン型のDBソフトなども動作可能になる訳ですから(回線が接続されてなくても動作し 同期する仕組みなど 現在は難しいので)登場してくるでしょう。
そうすると4Gでも少ないかもしれないとなる訳です。
 
32Bitから64Bitなのですが PC用のプロセッサーでは経験しています。
Athelon64とかItaniumとか64Bit用のプロセッサーが登場し 現行のプロセッサでは一部ノートPCようの廉価版でもない限り64Bit動作が出来るようになっています。
OSもServer OSなどではもう64Bit版しかリリースされていないような状況です。
というわけで Windows8でも64Bit化をPCでは進めるのでしょうが ARM版はCPUの制限で32Bit版しか出せない状況です。
64Bitへの展開ではIntelには黒歴史があって、Itanumというプロセッサーは64Bit対応として華々しくデビューするのですが 64Bitプログラムもほとんど存在しない時期に 旧来の32Bitプログラムの動作が致命的に遅い(命令形態を一新して 32Bit命令はエミュレーションで処理した)プロセッサーとなり 限定的な用途でなければ使えないし、64Bit版のアプリケーションも思ったほど早くないという変な状況となってしまったわけです。
結果的にAMDの旧来の32Bitの命令形態を踏襲した拡張64Bitの命令形態が現行の主流となっている訳です。
ただ、過去には8から16の時などは 殆ど刷新と言ってもいいほどの拡張が成されたので例に無い訳ではないのです。
 
ではARMの64Bitかなのですが 非常に悩ましい問題が出ている訳です。
もともと組み込み用のプロセッサなので 非常に特殊な命令形態を持っています。
また、CPUを一つのユニットとして考え 同じダイの上に複数のデバイスを実装する形態が普通で そのためにそれらの外部機器を動かすための予約命令エリアのようなものも持っています。
これらはメモリー空間の少ない小型の機器用としてはプログラムのコードも短くなるし良いのでしょうが、このまま拡張し続けると64Bit化の時点で 同じ形態の作業を複数の命令で行いレジスタの変化などが違うという命令を多発させることとなり デバックという点でも望ましくないわけです。
なにより、単純に64Bitアドレス空間を参照するためのアドレス表記の拡張をどうするかの問題もあります。
今のところ複数の選択肢が容易されているようですが その選択肢の一つにどこかのCPUの命令形態をそのまま借りてくるという手法もあるだろうというような話も出ているようです。
実際に結びつきを確認したわけでも無く 噂(それも虚構新聞ばりの)では Itaniumの命令形態のサブセットという手法もあるな!!なんて噂も。
 
ARMのコアのCPUはどちらかというと小型のデバイス用なのですが、将来的にはもっと規模の大きなものをというのはどのCPUベンダーでも同じことを言っています。
ここらでサーバー用に書かれたコードがサブセットでも動く形にすれば 小規模なサーバー需要はARM系に流れるかもしれないという野望に手が届くわけです。
現在でこそ停止していますが Itanum用のOSもDBも過去には有ったので それをもういちど復古させることは今なら技術者もいるので不可能では無い訳です。
これに、市場を奪われるかもしれないと非常に恐れを持っているIntelが協力して
大規模なものはItaniumで小規模なものはARMでというすみわけを提案しないとも限らないわけです。
その際にはお互い協力してコアライセンスを売ろうという考え方もあるわけです。
まあ、こんなに少ない情報でここまで飛躍するのもあれですが・・・・・
 
ARM64はもしかしたら最後の大イノベーションになる可能性があります。
細かい進歩は毎年進んでゆくでしょうが4年後辺りには変わりがもう登場しているのではと思うと ちょっと楽しみな感もある訳でなのですが・・・
written by HatenaSync