メニューをスキップ
よくわかる!技術解説 電子・情報技術分野

HOME > よくわかる!技術解説 > 電子・情報技術分野 > 表示中のページ

このページをプリント 

コンパイラってなあに? メニューをスキップ

1 コンピュータ・ソフトウェア

パソコン上でインターネットでの情報検索や携帯電話でメール交換、DVDでの録画予約など、ほとんどの人が生活の中でコンピュータを使用しています。このコンピュータ操作は、アプリケーションソフトウェアといわれるソフトウェアの入出力で行ないます。アプリケーションソフトウェアは、実行プログラムが多数集まって構成されています。

コンピュータの操作は実行プログラム群で構成されたアプリケーションソフトウェアなどで行なわれる

ページの先頭へ 

2 コンピュータ処理の並列化

複数のユーザが人気のあるインターネットのサイトから情報を得ようとしても、どのユーザもサイトの情報を見ることができます。これは情報を提供するウェブサーバ・コンピュータ内でマルチスレッドと呼ばれるコンピュータの複数並行処理が行われているからです。複数ユーザからのリクエストも、サーバ・コンピュータでは1つの処理として対処しています。

通常のパソコンでは、CPUといわれる中央演算処理装置は1つなので処理を分割して、あたかも同時処理しているように見えますが全ての処理が終了する時間は短くなりません。しかし CPUを複数にすると、分割して並列処理を行えるためパフォーマンスが大幅に向上します。近年の情報化社会ではCPUが複数あるコンピュータも増え、最新ゲーム機など一般で使うものにも複数搭載されようとしています。

動画を見る

シングルCPUとマルチCPUにおけるマルチスレッドの比較

ページの先頭へ 

3 コンパイルとは

コンピュータに指示を与えるためには、人がプログラムを用いて命令する必要があります。このプログラム言語で記述した命令(ソースプログラム)を、コンピュータが理解できる機械語など実行プログラムに「翻訳」することをコンパイルといいます。この翻訳作業を実際に行うものをコンパイラといいます。

コンパイラは、ソースプログラムから機械語などのオブジェクトファイルを生成します。このオブジェクトファイルと一般公開されている既存の命令集であるライブラリをリンカでリンクすることで、利用できる実行プログラムとなります。

コンパイルの説明

ページの先頭へ 

4 コンパイラの構成

コンパイラはソースプログラムを読み、コンピュータにとって最適な実行プログラムに翻訳します。その工程は、名前や予約語などをチェックする字句解析、文法通りに正しい構文かチェックする構文解析、さらに解析してエラーチェックを行う意味解析が行われます。その後中間語を作成しながら、無駄な部分の削除や重複した式をまとめるなどの最適化を行ない、最終的に実行プログラムである機械語などを生成します。

コンパイルの構成例

ページの先頭へ 

このテーマの関連プロジェクト:
コンピュータ性能をひきだすコンパイラ