イントロダクション 知らないうちに劇的に進化していた! コンパイラに新時代到来 編集部 ちまたでは…ARM Cortex-A 時代が到来! 入ってる 入ってる 入ってる Zynq 入ってる 入ってる Cortex-A インサイド ARM 入ってる 入ってる 入ってる Cortex-Aマネーの恩恵でコンパイラが劇的進化中 一例 コア開発元 Cortex-A マネー Cortex-A 普及しまくり! 端末開発元 累計 なんと 5 億台! iPhone 12 コンパイラ が劇的進化! Cortex-A マネー Cortex-A ベース のプロセッサ搭載 2015 年 3 月号 使わない手はない! 生成コードが高速に 高性能で フリー Intro App1 エラー・メッセージが見やすく App2 1 原因箇所だけを ピンポイントに 表示 2 App3 あそこを直せば いいんだな! Cortex-A 用コードが特に速い! before コマンドがシンプルに $ arm-eabi-gcc -c -mcpu=… そもそもコマンド が違う オプションも言語や CPU でまちまち デバッグ機能が充実 3 4 after $ clang -target arm-eabi -mcpu=… コマンドは一つ オプション指定することで さまざまな CPU に対応可能 6 最適化が使いやすく App4 もちろん 今までどおり… バグ だらけだ! 5 7 8 次は消費電力 重視で 自力では 気付け なかった タダで 使える! App5 App6 9 デバッグ 検出ツール App7 ソフト屋さんなら 知らないとカッコ悪い 2015 年 3 月号 裏側で起きたこと… 13 10 特集 新時代コンパイラ入門 高性能でフリー! 新時代のコンパイラ登場! プログラミング言語の処理 言語対応よし フロントエンドを用意するだけ! 冗長性除去 中間表現 商品化された 処理を入れる ループ解析と変換 ソースコード (高級言語) 最適化 中間表現生成 意味解析 構文解析 字句解析 フロントエンド コード解析 / 変換を行う 最適化対応よし 処理が一つ一つ部品化されている! その気になればこんなことも… C/C ++ 定番はもちろん BASIC 自作言語 往年の言語を 復活させる 未知の言語に 対応させる 部品化されているから ポテンシャル抜群! 研究段階の技術も試せる! よくわからないが スゴイヤツ… 世界の英知も 日本発! 未知の最適化 ガンバレ日本! 高速化 高信頼化 定番はますます充実 低消費 電力化 最新技術も 並列化 マルチコアやメニーコアも 今まで考えられなかった最適化もできるかも 14 2015 年 3 月号 知らないのはマズすぎる… Intro App1 中間表現 (最適化済み) App2 リンク レジスタ割り当て 命令スケジューリング 命令選択 バックエンド(コード生成) 1 実行可能コード 2 目的コード (機械語) 書き込み ファイル プロセッサの命令 / レジスタに対応付ける App3 3 ライブラリ CPU 対応よし 4 ルネサスも バックエンドを用意するだけ! 5 RX 6 Cortex-A Cortex-M App4 PIC x86 7 定番 ARM はもちろん 開発ツールも作りやすくなった フリー・ コンパイラ 未対応 CPU その気になればこんなことも App5 未知の CPU に 対応したり 半導体メーカさん よろしく お願いします! 特集では…2 大フリー・コンパイラ 8 PIC も インテルも 自作 CPU App6 仮想マシンで すぐ試せる 開発環境も 用意 定番 GCC&新時代 LLVM を紹介します! 2015 年 3 月号 15 9 App7 10
© Copyright 2024