コンピュータの構成1 少し前のPCは・・・ プロセッサ(CPU) CPU コア コンピュータ基礎 AGPバス ビデオカード 成蹊大学 理工学部 情報科学科 チップセット USB プロセッサ(CPU) CPUコア CPUコア キャッシュ メモリ (1次,2次) キャッシュ メモリ (1次,2次) メモリ オーディオ マウス/キーボード コンピュータ、オペレーティングシステム(OS)、 アプリケーション コンピュータの構成2 高速バス システムバス (FSB) ノース ブリッジ サウス ブリッジ IDE, SATA 最近のPCは・・・ キャッシュ メモリ OSが異なっても 同じ用途のアプリケーションが大抵用意されている 高速バス 共有キャッシュメモリ(3次) ビデオカード (GPU) メモリ コントローラ ハブ メモリ メモリやGPUのようにCPU から密接にアクセスするもの をCPUから直接接続する形 態になっている。 SATA I/O コントローラ ハブ USB オーディオ マウス/キーボード チップセット OS:UNIX(Linux) OS:Windows8.1 ワープロ 表計算 エディタ Webブラウザ OS:Windows7 メーラ Webブラウザ ワープロ メーラ パソコン(PC) パソコン(PC) ワークステーション(WS) プログラミングのパワー クライアント/サーバシステム サービスを 受ける側 サービスを 提供する側 ネットワーク クライアント サーバ OS:UNIX(Linux) OS:Windows8.1 OS:Windows7 メーラ Webブラウザ ワープロ Webサーバ メール サーバ パソコン(PC) パソコン(PC) どんな高性能なコンピュータも ソフトウェアがなければ動かない・・・ ファイル サーバ ワークステーション(WS) プログラミングの過程 問題の解決法 人間は自然言語で記述・理解 アルゴリズムとデータ構造 プログラミング言語 人間にとって可読性はある程度高い。ただし、そ の言語の命令レベルまで、解決法を分割して記述 する必要がある。 マシン語(機械語) CPUが唯一解読実行可能な言語 ソフトウェアの質が高くなければ コンピュータは性能を発揮できない ソフトウェア(Software) : プログラムの集合体 プログラムの作成=プログラミング 機械語(マシン語): CPUの種類ごとに異なった命令を持ち(互換の場合もある)、 すべての命令および被演算子が数値コードで表される。 例 0110 001110 010101 これは何? 意味の分かりにくい2進数で記述するのは プログラム開発効率上最大の欠点 翻訳系(Translator) 原始言語 Source Language 翻訳系 翻訳系(Translator)の例 目的言語 Object/Target Language 高水準言語 Please tell me the way to Kichijyoji station. 吉祥寺の駅へは どうやって行けば いいの? 低水準言語 翻訳系 C, C++, FORTAN, PASCALなど アセンブリ言語, 機械語(マシン語) コンパイラ: ソースプログラムをすべて一気に機械語に 翻訳する。 「英語の本の和訳書をつくるようなもの」 インタプリタ: ソースプログラム中の一文ごとに解釈・実行を 繰り返す。 「同時通訳みたいなもの」 C++プログラムの作成と実行手順 翻訳系の例 その2 Start ソースコードの編集 アセンブリ言語 マクロ含む アセンブラ 機械語 (=マシン語) プリプロセッサ エディタ(emacs)で作成・保存 #include <iostream> using namespace std; int main(){ cout << "Hello!" << endl; } コンパイル&リンク 有 高水準言語 hello.cpp エラーは? 翻訳作業 g++ hello.cpp –o hello これで実行ファイル hello を生成 無 高水準言語 実行 No 正しい結果か? Yes End hello コンピュータに hello を実行させる
© Copyright 2024 ExpyDoc