• 検索結果がありません。

コンピュータ基礎

N/A
N/A
Protected

Academic year: 2021

シェア "コンピュータ基礎"

Copied!
24
0
0

読み込み中.... (全文を見る)

全文

(1)

H30

コンピュータ基礎

H30ものづくり入門

鹿児島大学大学院 理工学研究科

渕田孝康

http://f-server.ibe.kagoshima-u.ac.jp/~fuchida/mono

(2)

H30

コンピュータとは?

• 形態の違い

• スーパーコンピュータ(スパコン) • パーソナルコンピュータ(PC) • デスクトップ型、ノート型、ラックマウント型(サーバー)、タブレット型 • スマートフォン(スマホ) • ケータイ(ガラケー・フューチャーフォン) • ゲーム機 • 組み込み型(自動車、エアコン、冷蔵庫、テレビ、洗濯機、掃除機・・・)

• 構成要素

• ハードウェア • CPU、メモリ、ハードディスク、SSD、キーボード、マウス、カメラ、プリンタ、・・・ • ソフトウェア • OS、BIOS、ミドルウェア、アプリケーション、開発環境、・・・

(3)

H30

パソコンのハードウェアの構成

• 中央処理装置(

CPU

• 制御装置 • 演算装置

• 記憶装置

• メモリ(メインメモリ、キャッシュメモリ) • 補助記憶装置(ハードディスク、SSD)

• 入出力装置(I/O)

• 入力装置(キーボード、マウス、カメラなど) • 出力装置(ディスプレイ、プリンタなど) アド レ スバス データ バス アドレスバスで番 地を指定し、デー タバスでデータを やり取りする

(4)

H30

コンピュータはなぜ

使える

のか?

• いろいろなアプリがあるから!

• 仕事で使う • ワード、エクセル、パワーポイント • 情報を知る • インターネットブラウザ(IE、Chrome、FireFox、Safariなど) • さまざまなサイト、掲示板 • 人とつながる • ライン、フェイスブック、Twitter • 遊ぶ • ゲーム、オンライン対戦 • 音楽や映画 • ミュージックプレイヤー、動画再生アプリ • 本や雑誌、新聞、漫画を読む • Kindle、電子雑誌、ネット新聞、Comicsアプリ

• でも、なぜいろいろなアプリがあるの?

• 普通の機械は目的のことしかできない • コンピュータの動作原理を知ろう!

(5)

H30

コンピュータの動作原理

• 現代のデジタルコンピュータは電気で動く。

• 計算する、とは?

• 3+7=10 (十進数)・・・0~9の十種類の数字が必要 • 11+111=1010 (二進数)・・・実は0と1の二種類でも同じことが可能

• 電気で動く、とは?

• 1 → 電圧が高い状態(=オン状態) • 0 → 電圧が低い状態(=オフ状態)、で表す。 • トランジスタという電子的なスイッチで切り替える。 • 論理ゲートを構成し、計算する。 紙テープ 南部博士 (マジンガーZより)

(6)

H30

NOTゲート

• 「反転」ゲート

• 入力の反対を出力する。

X

NOT

0

1

1

0

Xがオン(1) →NOTはオフ(0) Xがオフ(0) →NOTはオン(1) 真理値表 電子化 トランジスタ: 電子的にオン・オフできる スイッチ SWオン(=出力はオフ) SWオフ(=出力はオン)

(7)

H30

ANDゲート、ORゲート

• 「かつ」ゲート

• 両方1のときだけ、1

• 「または」ゲート

• どちらかだけでも1なら、1

X1 X2 AND OR

0

0

0

0

1

0

0

1

0

1

0

1

1

1

1

1

AND,OR,NOTがあればすべての計算が可能

(8)

H30

半加算器(Half Adder)

• 1桁の、2つの二進数を足す回路

• 足し算の基本 • この回路をたくさん並べると大きな数を足す ことができる。

A B Sum Carry

0 0

0

0

1 0

1

0

2 0

2

0

:

:

:

:

3 7

0

1

3 8

1

1

:

:

:

:

9 9

8

1

A B Sum Carry

0 0

0

0

1 0

1

0

0 1

1

0

1 1

0

1

十進数の場合 二進数の場合 こういうのを数万~数億個も集めて、 1つのチップにパッケージ化したものがLSI

(9)

H30

CPU内部構造

• Z80 CPU

演算装置

(10)

H30

Logisimで作成したCPU

番 地 命 令 二進数 ニモニッ ク 00 0d 00001101 load 5 01 1e 00011110 add 6 02 17 00010111 store 7 03 38 00111000 stop 0 1. 5番地のデータを ACCに入れよ 2. 6番地のデータを ACCに足せ 3. ACCのデータを7番 地に入れよ 4. 停止せよ プログラム

(11)

H30

プログラム内蔵型コンピュータ

• メモリに命令とデータを両方格納する方式

• 別名、「ノイマン型コンピュータ」 • 1945年 ジョン・フォン・ノイマンが提唱

• 現在のコンピュータのほぼ全部がこの方式

データ1 データ2 データ3 データN 計算 結果 ・ ・ ・ 固定 記憶装置 命令1 データ1 命令2 結果1 データ2 結果2 ・ ・ ・ 制御 装置 記憶装置 単なる計算機 情報処理装置 演算装置 • 記憶装置に命 令とデータを混 在させて格納 • 制御装置によっ て命令を読む • 命令によって処 理が変化 プ ロ グ ラ ム (ALU)

(12)

H30

情報処理装置としてのコンピュータ

• 単なる計算機ではない

• 「入力」を「処理」して「出力」するシステム

• プログラムを書き替えることで、いろいろな目的に使用できる

• アプリケーションプログラム(アプリ) ハードウェア BIOS オペレーティングシステム(OS) ミドルウェア アプリケーション 入力 出力 処理

(13)

H30

機械語

• CPUが直接実行できるプログラム

• メモリに格納されている二進数のデータ • 人間にとっては意味不明の数字列 • これで直接プログラムを書くことは難しい

• 人間にわかりやすくしたい

• 意味のあるコードを命令に割り振る • ニーモニック(アセンブラ) • でも、わかりにくい 00111110 00010011 10110111 00101000 01110110 3E 13 C6 28 76 LD A,13H ADD A,28H HALT 二進数 十六進数 ニーモニック 命令1 データ1 命令2 結果1 データ2 結果2 ・ ・ ・ 制御 装置 記憶装置 演算装置 (ALU) 命令 データ ア セ ン ブ ル

(14)

H30

高級言語

• より人間にわかりやすく

• FORTRAN • COBOL • BASIC • SmallTalk • Lisp • PASCAL • C • C++ • Java • PHP • Python • Javascript • ・・・ int main(){ int s=0,k=1; do{ s+=k; k++; }while(k<10); printf(“%d”,s); return 0; } S=0 K=1 3 S=S+K K=K+1 IF K<10 GOTO 3 PRINT S END FORTRAN 10 COMPUTE S=0 20 COMPUTE K=1 30 ADD K TO S GIVING S 40 ADD 1 TO K GIVING K

50 IF K IS LESS THAN 10 THEN 30 60 PRINT S 70 END COBOL C 00111110 00010011 10110111 00101000 01110110 わかりやすい?

(15)

H30

高級言語プログラムの実行

• インタープリタ方式

• 命令を一つ一つ、機械語に翻訳しつつ実行する • 利点: • ソースコードがすぐ読める • 気軽に使える、修正が簡単 • 欠点: • 実行速度が(コンパイラ方式と比較して)遅い • 実行するために、インタープリタシステムが必要

• コンパイラ方式

• 全部のプログラムを機械語に翻訳してから実行する • 利点: • 高速(CPUが直接実行できる) • 欠点: • ソースコードは見えない • 全体が完成していないと実行できない どちらも、 機械語への 翻訳が必要 CPUで実行でき るのは機械語 だけ

(16)

H30

最近の動向

• コンピュータの高速化、大容量化

• 実行時(JIT: Just In Time)コンパイラの高性能化 • インタープリタ方式でも十分な性能が得られる

• インターネットの普及

• ネットワーク機能の利用 • クラウドサービスの利用

• スマートフォンの普及

• スマホアプリの開発 • さまざまなデバイス(センサー)の活用

HTML5

Scratch

(17)

H30

HTML5

• HTML + Javascript + CSS

• ウェブブラウザ上で本格アプリ

• ブラウザがあれば、どの環境でも実行できる • Windows, Mac, Linux, Android, iOS など関係なし

• 例:

• Google Map, Google Earth • Yahoo地図

• 飛行機、JR、宿泊などの予約サイト • ウェブメール

• Googleドキュメント、スプレッドシート、スライド

(18)

H30

HTML5の構成要素

• HTML

• アプリの「構造」を記述する • ウェブアプリが動作するための土台となる • 拡張子が .html

• Javascript

• アプリの「動き」を記述する • 「ボタンを押したら色が変わる」など • 拡張子が .js

• CSS

• アプリの「見た目」を記述する • 「ここの文字は赤色で大きく」など • 拡張子が .css 見出し 本文 箇条書き クリック

(19)

H30

index.html

<!doctype html> <html> <head> <title>HTML5</title>

<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="my.js"></script> <link rel="stylesheet" href="my.css">

</head> <body> <h1>ようこそHTML5へ!</h1> <p>本日のメニュー</p> <ul> <li>HTMLとは</li> <li>Javascriptでインタラクティブ</li> <li>CSSで見栄えをよくしよう</li> </ul>

<input type="button" id="bt" value="変更"/> </body>

</html>

index.html

(20)

H30

my.js, my.css

$(function(){ $('#bt').click(function(){ $('li').toggleClass("red"); }); }); .red { color:red; } my.js my.css ボタンが押されたときの動作を定義 見た目(ここでは色)を定義 $(‘#bt’)がクリックされたら、 $(‘li’)のクラス”red”を トグルする クラス”red”の色は赤である

(21)

H30

クラウドの利用

• インターネット上に準備されているサービス

• Google Cloud API

• Google MAP, Storage, Google Platform, Google Drive

• Microsoft Azure

• OneDrive, Virtual Machines, Database

• Amazon Web Services • Dropbox

• Javascriptの

Ajax

を利用

• 非同期でサーバと通信する • ページを読み直さずに更新可能 位置情報 地図データ

(22)

H30

Scratch

• MIT(マサチューセッツ工科大学)のメディアラボが開発

• 主に子供向けのビジュアルプログラミング環境

• ブラウザ内で開発から実行まで

• インターネット接続が必要

• ブロック

を接続してプログラミング

• 動きのあるプログラム(ゲームなど)を簡単に作れる

• 全世界で1000万以上の作品が作られている

Scratchの プログラム

(23)

H30

興味があれば・・・

• Scratchのページで “fuchida” で検索

もっと学びたければ、http://www.ics.kagoshima-u.ac.jp/edu/のオープン キャンパス2016、2015もあります。

(24)

H30

終わりに

• コンピュータとは

• 単なる計算機ではない • 汎用の情報処理装置 • プログラムを書くことにより、さまざまな目的に利用できる • アプリ開発が可能

• アプリ開発(プログラム作成)

• 原理的には機械語でなければ実行できない • インタープリタ方式 • コンパイラ方式 • 最近は、さまざまな実行環境が存在する • HTML5 ・・・ ウェブアプリ、クラウド利用 • Scratch ・・・ 子供向け、ブロックを接続して開発、ゲームなど • 発想次第でいろいろなアプリが作れる • ぜひ自分でもアプリ開発をしてみよう!

参照

関連したドキュメント

金沢大学学際科学実験センター アイソトープ総合研究施設 千葉大学大学院医学研究院

東京大学 大学院情報理工学系研究科 数理情報学専攻. [email protected]

理工学部・情報理工学部・生命科学部・薬学部 AO 英語基準入学試験【4 月入学】 国際関係学部・グローバル教養学部・情報理工学部 AO

東北大学大学院医学系研究科の運動学分野門間陽樹講師、早稲田大学の川上

図 21 のように 3 種類の立体異性体が存在する。まずジアステレオマー(幾何異 性体)である cis 体と trans 体があるが、上下の cis

向井 康夫 : 東北大学大学院 生命科学研究科 助教 牧野 渡 : 東北大学大学院 生命科学研究科 助教 占部 城太郎 :

国際地域理解入門B 国際学入門 日本経済基礎 Japanese Economy 基礎演習A 基礎演習B 国際移民論 研究演習Ⅰ 研究演習Ⅱ 卒業論文

高村 ゆかり 名古屋大学大学院環境学研究科 教授 寺島 紘士 笹川平和財団 海洋政策研究所長 西本 健太郎 東北大学大学院法学研究科 准教授 三浦 大介 神奈川大学 法学部長.