FC2ブログ

鈴の音情報局blog

携帯関連の将来や最新の技術情報や業界の行く末などを適当に綴るblogです。 内容の信憑性は?余り信じない方がいいと思います。
本家の鈴の音情報局はこちら→http://suzunone.0g0.jp:8800/
スマホ・携帯端末アクセス[ランキング][アクセスシェア(グラフ)] (毎年10/1にログをクリア)

しばらく見てみた64bitプロセッサとしてのアップルA7への感想

以下はARMv8のアーキテクチャ・リファレンスマニュアルのPDFです。
アーキテクチャプロファイルと正誤表が同梱されています。

ARM Architecture Reference Manual
ARMv8, for ARMv8-A architecture profile
Errata markup
(巨大PDF注意)

私はアップルA7プロセッサが登場して以来、しばらくA7プロセッサと
業界の動きを淡々と見つめてきました。
そこで感じた事。

業界的にはA7の登場は完全に不意打ち。
モバイル向けCPUやSoCの世界ではまだしばらく32bitで性能向上を目論んでいました。
32bitでまだ出来る事が有ったからです。

業界自体が64bitに動くと、無駄な移行コストが発生し、性能をギリギリまで詰めると
いう事に力を注げなくなってしまいます。

なので枯れた32bitの技術でとにかく性能を追いたかった。
それがクアルコムやnVidiaを初めとする、SoC業界の意識でした。

そこにアップルがA7を発表。

業界はまだ32bitで競い合う予定だったのに、そこに64bitのステージに移行する
必要が有ると業界に叩きつけました。勿論Android向けのSoCを出している
当然各社とも64bitプロセッサの準備は進めている。
しかし本流の開発としては32bitのSoCが動いている。

アップルは64bitの話題をさらいたいので完全に隠しきって64bitプロセッサの
開発を進め、製品として登場させた。今までは何かしらの部品やケースなどの
画像が漏れていたのに、A7プロセッサの64bit化という大きなイベントを漏ら
さずに開発を仕切りました。(私が普段から情報漏れはアップル自身が漏ら
してApple製品の話題が途切れないようにしているというのは、この都合のいい
情報漏れの取捨選択がされている事に起因しています)


2012年10月、ARM TechCon 2012にてARMv8アーキテクチャを取り込んだ
Cortex-A57/A53が発表されました。

そこから一年間でアップルA7は登場しました。
端末の生産に3ヶ月、A7プロセッサの生産に2ヶ月の先行生産開始を見繕うと、
2012年10月発表のARMv8を纏め上げるのにかかった時間は6ヶ月だという事になる。

これではA7プロセッサは「回路を繋げた」だけに等しいプロセッサであり、
ARMv8を搭載はしているものの、大した最適化は出来てないのではないかと
思います。しかも恐らく回路パターンのリビジョンは2012年発表直後の
リビジョンを使用するしかなく、それを出来る限りポン付けでA7をつくる
しかありません。自社チップとして、パフォーマンスを引き出す為の
最適化をする以前に、とにかく動くものを作るだけで必死です。

そしてまあ何とか間に合いました。
64bitで動くモバイル端末向けのプロセッサが登場。
他社が驚くほど、64bitを先取りして発表したのですからもう大騒ぎ。(SoC業界は)

だけど、発表直後の2012年のリビジョンの回路を使っているとして、
まだ世に発表していない、初物でしかも64bitプロセッサという超巨大な
回路規模の物が、全く何のバグも無く完成するとは私には考えにくい。

案の定、iPhone 5sは不安定の代名詞に。
当然ARMも全命令一通りチェックは行っているはずです。
だから一命令としてはきっちり動くはず。

問題は命令を決まったパターンで順に実行するとおかしくなるパターン。
私は昔、16bitの頃のMS-DOSのソフトをアセンブラで開発していて、
決まった順番で命令をコピーすると、必ずレジスタにデータがコピーでき
ないというバグを発見しました。

もう内容は思えていませんが、例えばこんな感じの流れだったと思います。

sub ax,bx
mov dx,ax

こんな感じで実行すると、二つ目のdxにaxの内容が絶対にコピーされずに
その後のdxの値が不定のまま動いていくという問題が起こりました。
しかし以下のように間に何か命令を挟むとdxにはaxの内容がコピーされます。

ex1
sub ax,bx
mov cx,0
mov dx,ax

ex2
sub ax,bx
nop
mov dx,ax

dxが不定値ですから、以降のプログラムが時には正常なまま進み、時には
異常なエラーを起こしたり、思わぬ動作をしたり、時と場合によって
症状が変わります。一番困った類のエラーを起こします。

A7が採用しているリビジョンのARMv8にそういうことが全くないのか?
私には無いとは言えません。絶対あるとも言えませんが、どちらの確率が
高いかと言えば全くないよりも「何かある」可能性の方でしょう。
この業界の常識では。

ARMはアップルが世界中のユーザーを使ってARMの実地テストが出来ますし、
有り難い話です。サムスンはアップルに対抗意識がバリバリですから
出来るだけ早期に出そうとしますが、他の所は案外悠長に構えているな
という印象です。

やはりこの辺り、ARMから続々とエラッタが出てきますから、ここで慌てても
商品価値が下がるだけですので、それならアップルがバグ出しを終えた
IPコアを使用し、その間32bitアーキテクチャのARMv7コアで行ける所
まで速度を詰めた方が得策、そう考えた所もあるのだろうと私は考えました。

どうせ2013年以内に64bitプロセッサで追従出来ないなら、バグだしして
貰った方が得だろうと考える会社が有ってもおかしくないだろうと私は
思いました。


なので現状は私から見れば、エラッタ満載のA7プロセッサを積んだiPhone 5sが
千万台単位のオーダーで世に出続けているんだろうなという風にしか見えません。

私的には内容的には32bit ARMv7アーキテクチャで枯れ切っている、でもあまり
人気のないiPhone 5cがベスト端末となるわけですが、そんな事を考えて買う人
って余りいないでしょうね。

LTEも十分に対応していますし、プロセッサは今となっては信用できる、
32bit時代の最終版。理想的じゃないかなって思うのですけどね。
iPhoneにiPhoneらしいフォルムを求めないそうでなければあのデザインの端末
を日常的に使うのは無理でしょうけど。


iPhone 5sが飛びぬけて不安定だと初め聞いた時、真っ先にA7を疑いました。
まあ発売直後のアップルのOSのソースほど信用できない物は有りませんが、
しかしハードウエアとしてのSoCにも問題が有るはずだとは思っていました。
いや、今でも思っていますけど。

もしiOSの改定でそれが直ったとすると、まずい部分を上記の私の86コードの
ソースのように、無意味な命令を差し込んで、回避する事は可能です。
なのでたとえA7にバグが有ってもある程度はOS側で回避したりして、
修正している可能性は考えられるわけです。


さてA8はさすがにそれらのエラッタが修正されたはずのものが使われると
思いますが、まだまだきっちりとエラッタが反映されるにはタイトな時間を
過ごすことになり、反映しきれるかどうかという問題もあると思います。

まあA7で対応したパッチがそのままA8でも使えるので、iOSはかなりバグを
避けて安定させる事は出来るかなとは思います。

しかし"アップル品質"ですから出てみるまでは何とも言えませんけど。
関連記事
  1. 2014/03/19(水) 20:01:59|
  2. 携帯
  3. | トラックバック:0
  4. | コメント:0
<<ドコモの春商戦のキャッシュバックは3月31日まで延長 | ホーム | JPCERT/CCによりSPモードメールに3つのセキュリティー報告、ドコモメールへの変更を検討すべき>>

コメント

コメントの投稿(投稿時には必ず何らかの名前を付けてください)


管理者にだけ表示を許可する

(名前を入れないとクリックできません)

トラックバック

トラックバックURLはこちら
http://suzunonejh.blog15.fc2.com/tb.php/4582-7043b61b
この記事にトラックバックする(FC2ブログユーザー)

最近の記事

機能リンク

最近のコメント

カテゴリー

ブログ内検索

ブログリンク

RSSフィード

QRコード

QR

月別アーカイブ



メールフォーム

お問い合わせ・ご質問はこちらから。

名前:
メール:
件名:
本文:

suzunone.m(あっと)gmail.com に
直メでもOKです。