東北大学全学教育科目 情報基礎...
TRANSCRIPT
-
東北大学全学教育科目東北大学全学教育科目
情報基礎 情報基礎 BB
1 セメスター 金曜 2 講時 工学部 15, 16 組
情報の原理的事項情報の原理的事項
建築・社会環境工学科
-
講義の目標講義の目標
計算機の仕組みと,計算機による問題解決の方法論を学習する.
我々は計算機をデザインするわけではないが,橋や建物をデザインする上で,知っておかないといけない最低限の知識を身につける.
最近は CAD (Computer-Aided Design) で図面を描き入札するのが当たり前になってきているし,強度設計に計算機を使うのは当然.
-
計算機の歴史計算機の歴史
1946年 世界初の電子式の計算機 ENIACが完成
http://www.library.upenn.edu/exhibits/rbm/mauchly/img/mau01.jpeg
計算手順の変更は,物理的配線(ハードウェア)の変更により行う.
汎用性が乏しい
17,468本の真空管,総重量:30t
ENIACENIAC:Electronic numerical Integrator and Computer
http://www.library.upenn.edu/exhibits/rbm/mauchly/jwm0-1.html
-
計算機の歴史計算機の歴史1946年 世界初の電子式の計算機 ENIACが完成
同年 計算手順をソフトウェアとしてハードウェアと分離した Neumann(ノイマン)型計算機が提案
計算機
Ha r d wa r e (ハードウェア)
So f t wa r e (ソフトウェア)
計算機システムを構成する物理的な構成要素. 具体的な機械, 回路の類
計算手順を記述したデータ(プログラム)CAD ソフトなどもこれに当たる
分離
汎用性が向上し,小型化が可能 ファミコンのことを考えれば分かるはず!
-
計算機の歴史計算機の歴史
1946年 世界初の電子式の計算機 ENIACが完成
同年 計算手順をソフトウェアとしたノイマン型計算機が提案
1949年 世界初のノイマン型計算機 EDSACが完成
http://www.infonet.co.jp/ueyama/ip/history/edsac99.9.jpg
EDSACEDSAC:Electronic Delay Storage Automatic Calculator
1970年以降のほとんどの計算機はノイマン型である
-
計算機ハードウェアの基本構成と周辺機器計算機ハードウェアの基本構成と周辺機器
Di s p l a y画面出力
Ke y b o a r dMo u s e入力
HDDCD/DVD補助記憶
Pr i n t e r印刷出力
L ANネットワーク接続
CPU中央処理
ROM/RAM主記憶, Ca c h e
基本
人間に便利な基本インターフェース
-
Ke y b o a r dやHDDなど
#include main{ printf(“Guten Morgen”);}
プログラム(処理命令書)
ノイマン型計算機の基本動作ノイマン型計算機の基本動作
CPU中央処理
RAM主記憶, Ca c h e
CPU は手順に従って命令を実行する.ユーザとの対話もある.
プログラムが適宜主記憶にロードされる.ワープロやCAD ソフトなどがこれ!
Di s p l a y画面出力
出力結果が表示される
-
計算機の記憶形式は二進法 でもなぜ?計算機の記憶形式は二進法 でもなぜ?
1 バイト (Byte) = 8 ビット (Bit) 最大値は 11111111B=27+26+25+24+23+22+21+20= 28 –1 = 2551 ビット=0,1 (2 個の数値のみ)1 KB = 210 (1024) バイト1 MB = 1024 KB,1 GB = 1024 MB,1 TB = 1024 GB通常のSI単位では,103 のキロは小文字だが,計算機の 210 は大文字も使うらしい.M や G, T は区別しないようだ.
Bit0,1
1バイト
-
なぜ二進法? そして・・クロック周波数なぜ二進法? そして・・クロック周波数
CPU = 論理回路の集合体論理回路の特性上,二進法で命令を書く必要あり
1) 例えば,「5 V=1」, 「0 V=0」 で,「0」 と 「1」 を表現する2) クロック周波数のタイミングで順番に電圧をかける3) それが CPU への命令になる
だからクロック周波数が高いほど処理が速い
-
クロック周波数(読み出し・実行のサイクル)クロック周波数(読み出し・実行のサイクル)
-
CPU CPU の働きの働き レジスタと呼ばれる一つ珠そろばんが並んでいる
演算素子は例えば次のようなことができる
メモリとレジスタ間で数値をコピーし合う
レジスタの数値同士を足したり
レジスタのビットを回転させたり
この機能を組み合わせて種々の計算ができる
-
例えば,例えば,xx ← ← xx++yy1) x が D123 番地に記憶されている.2) 一方,y が D269 番地に記憶されている.3) それを足した結果 x+y を,x の記憶されている メモリ D123 番地に記憶し直す.というプログラム(Java ではなくニーモニック)は
人が読めるプログラム コンピュータが理解できるプログラム
16進表示
-
クロック周波数(読み出し・実行のサイクル)クロック周波数(読み出し・実行のサイクル)
B0 23 D1 B2 65 ・・・・・(16 進法による命令の表示)1011 0000 0010 0011 1101 0001 1011 ・・・(2 進法) [CPU にかける電圧の大きさと順番・・・・]
-
xx ← ← xx++y y を命令する方法を命令する方法
この例では機械語に非常に近いニーモニックを「人が読める言語」の例として使ったが・・・
この講義では,Java という言語で「人が読めるプログラム」を作る方法を練習する.
人が読めるプログラム コンピュータが理解できるプログラム
-
ソフトウェアソフトウェア
Ha r d wa r e
Operati ng SystemOperati ng System((OSOS))ハードウェアの動作を制御・管理する基本ソフトウェア例) MS-Wi n d o ws L i n u x Ma c OS X e t cこちらは情報屋さんの仕事
Ap p l i c a t i o nSo f t wa r e s
計算機で何らかの具体的な処理をする為のソフトウェア例) 文書作成, 表計算, ブラウザなどこれを使う,そして,ソフトを作ることがこの講義の目標の一つ
ハードウェアの対で用いられる作成・変更が容易なもの
計算機においては計算手順を記録したデータ(プログラム)のことであり,OS というものと,アプリケーションの二種類ある
-
プログラムのアルゴリズムと良し悪しプログラムのアルゴリズムと良し悪し
アルゴリズム:任意の問題を解くための手順・解法
計算機が理解できる形式で記述したものがプログラム
アルゴリズムには良し悪しがある!
例) 問題 1から100までの整数の合計を求めよ.
アルゴリズム A=1+2+・・・+100 (全てを順番に加算する)
良いアルゴリズムの例 A=(1+100)+(2+99)+・・・+(50+51)=101×50
問題の規模が大きくなっても計算量(手間)があまり大きくならない
ページ 1ページ 2ページ 3ページ 4ページ 5ページ 6ページ 7ページ 8ページ 9ページ 10ページ 11ページ 12ページ 13ページ 14ページ 15ページ 16