コンピュータ基礎

コンピュータの構成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 を実行させる