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

第 1 章序論

N/A
N/A
Protected

Academic year: 2021

シェア "第 1 章序論"

Copied!
68
0
0

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

全文

(1)

1 章 序論

1.1 講義録の目的

以前はコンピュータとは, その名前の通り「計算をする道具」であった. しかしながら,近年単に計算を するだけではなく,各種の「情報」を処理する道具としてのコンピュータの役割が脚光を浴びている.

また,我々の生活の中でもコンピュータは色々なところに使われている. 通常我々が目にするディスプレ イ,キーボードなどを兼ね備えたコンピュータだけではなく,単に

CPU

といつくかの

LSI

だけから構成さ れるようなコンピュータが我々のまわりにたくさんあることに気がつく. 例えば,炊飯器にも各種の制御を 行なうために小規模なコンピュータが搭載されている. また, 一方では家庭用ゲーム機(ファミコン,スー パーファミコン, Nintendo64, PlayStationなど1)に代表されるような,特別の用途に専用に使われるコン ピュータも大きな発展を遂げている2

.

さらに近年になって,ネットワークを利用したコンピュータの利用が盛んになり,将来コンピュータがど のような変化を遂げるのか, どのような利用法がされるのかについては, 誰もわかっていないのが現状で ある.

この講義録では,高度な発展を続けるコンピュータの基礎的な理解を目的とし,数学という観点に立って, コンピュータとは何かという問に答えることを目標に種々のテーマに対する解説を行う. このような立場 でコンピュータを見ることにより,次世代のコンピュータの姿や役割を切り開いていく創造性を身につけて もらいたい.

1.2 コンピュータとは

コンピュータとは何かを考える上で,少なくともその歴史と近年の現状を振り返ることは必要不可欠であ る. ここでは,コンピュータとネットワークの歴史3

,

近年のコンピュータの概念について考察してみよう.

1.2.1 アナログ計算機と機械式計算機

アナログ計算とは,数学辞典(第3版)によると,「図による計算や,計算しようとする数式と同じ関係 で記述される物理的な系に基づく計算の総称である」とされている. 代表的な例としては,計算尺

(slide rule),

面積計

(planimeter)

が良く知られている.

計算尺は1980年代頃までは技術計算で頻繁に利用されていた道具であり,2本の「定規」に「関数目 盛」をふり,2本の「定規」をスライドさせることにより, 計算を行う道具である. 「関数目盛」として適 切なものを選ぶことにより各種の計算が可能であるが,最も簡単なものは「乗算・除算」を行う目盛であ る. たとえば,

a + b

という計算を物理的な系で行おうとすると,長さの同じ2本の定規を用意し,それぞれ

1ファミコン,スーパーファミコン, Nintendo64 は任天堂の登録商標です. PlayStationSONY Computer Entertainment の登録商標です.

2この原稿の初版を書いたのは1996年頃の話である. 既に,内部バスが128ビットであるCPU を搭載したPlayStation2

(これもSONY Computer Entertainmentの登録商標)が発売され, Pentium3なども1GHzのクロックを持つ時代となってし まった.時代の流れるのは速いものである.

3はじめに断っておくが,ここにかかれたコンピュータの歴史については,筆者の独断・偏見が入り交じっている.

(2)

の定規の

a, b

に対応する目盛りを一致させる. この時,片方の定規の基線に一致するもう片方の定規の目 盛りが

a + b

を表すことは容易に想像できる.

L a + b a 0

0 b L

この場合,通常の定規に与えられた「関数目盛」は「線形関数」であると理解することができる.

Exercise 1.2.1

2本の定規を使って引き算を行う方法を考えなさい.

Exercise 1.2.2

2本の定規を使って掛け算と割り算を行う方法を考えなさい. この場合,定規に与えられ た「関数目盛」はどのような関数か?

面積計(左)と計算尺(右)

面積計は平面上の閉曲線で囲まれた面積を計測する道具である

.

(写真では上の)重りを 図面上に固定し

,

(写真では下の)針で閉曲線をなぞることにより

,

支点にある回転目盛 上で面積が計測される

.

日本計算器販売社(現ビジコン社)の手廻し計算器の外観写真と

,

内部構造

.

内部は歯車 とカムだけで出来ている

.

Exercise 1.2.3

面積計で面積を計測することができる理由を数学を用いて説明しなさい.

一方機械式計算機はパスカル型計算機とも呼ばれ,歯車とカムを利用して各種の計算を行う機械である. こ の考え方は,1642年に,当時16才であった

B. Pascal

Pascaline

という機械式計算機を開発したこ とから始まる. Pascalineは加減算のみを行う機械であったが,その後,1673年

G. Leibniz

により, 加 減算と乗除算を行うことが出来る機械式計算機が開発された.

上の写真にある「手廻し計算機」は,1900年代の機械式計算機の代表例で,歯車を利用して加算・減 算を行い,桁移動によって乗算・除算を行うことが出来るものである. この他にも周期関数のフーリエ変換 を計算する調和解析機

(harmonic analyzer)

なるものも存在する4

.

このように, アナログ計算機や機械式 計算機の歴史は非常に古く,近年まで積極的に利用されてきたのだが, 汎用的な計算を行うことは難しい.

4潮汐(汐の満引き)は多くの周期的な要因から決定されている. それぞれの要素の周期とその振幅がわかれば,それらを合成し て,すなわちフーリエ級数の和を計算することにより,潮汐の様子を予測することが可能である.調和解析機とは,この計算を歯車な どを利用して機械的に行い,潮汐の様子を図示する機械であると思われる.筆者はその現物を国立科学博物館で見た.

(3)

1.2.2 コンピュータの歴史

1.2.2.1

1940年代まで

–デジタル計算のはじまり–

理論的にコンピュータの原型と考えられる5ものとして,チューリング・マシン

(Turing machine)

と呼 ばれる概念がある. 1936年, イギリスの数学者

A. Turing

は, ある計算のプロセスの中で「計算可能」

な対象を分類するという研究を行った

(cf. [1, 2].

その理論の中で,実際に計算プロセスを与える仮想的な 計算モデルが「チューリング・マシン」と呼ばれるものである. チューリング・マシンとは,有限の状態を 持つ機械(有限状態オートマトン)と外部記憶装置に対応するテープからなり, 有限状態オートマトンは テープの情報により状態が遷移し, テープのデータを書き換えることが出来る仮想機械である. この仮想 機械の概念は,現在のコンピュータの動作原理を的確に表していることがわかる. さらに,1937年, C.

Shannon

MIT

における修士論文

“A Symbolic Analysis of Relay and Switching Circuits” [3]

におい て, 2進計算を電気回路で実現する方法が提示される.

1940年代に入り, J. von Neumann によって, プログラム内蔵型計算機(現在ではノイマン型コン ピュータともいう)の概念が提唱される. プログラム内蔵型計算機とは,計算機内の記憶装置に計算手順を 示した命令の列(プログラム)を内蔵し,そのプログラムを取り替えることにより,各種の計算を行うこと が出来る計算機のことをいう. この概念にしたがって, 1946年,アメリカ陸軍弾道研究所で,大砲の弾 道を計算するために開発されたのが

ENIAC

と呼ばれる,今日のコンピュータの始まりとされている機械 である. ENIACは電子式のデジタル計算を行う機械としては,世界初のものとされている6

. ENIAC

はお よそ2万本にのぼる真空管から構成され, それらによって加算器などの演算回路を実現していた. これは, 現在のコンピュータの基本構成である,入出力装置・主記憶装置・アキュムレータ(今日でいう

CPU

)を 持ったタイプのものではなく,演算に応じて回路を組み替えて計算を行う機械であった. そのような意味で,

ENIAC

はプログラム固定内蔵方式のコンピュータといえるであろう.

現在のコンピュータは,ノイマン型コンピュータの構造を持ち, 主記憶装置に可変な命令(プログラム)

とデータが格納され,アキュムレータは主記憶装置から命令を一つづつ取り出すことでデータの処理が行わ れる. 1949年には,可変なプログラムを内蔵するノイマン型コンピュータが完成する. 世界初のプログ ラム内蔵型コンピュータはケンブリッジ大学で開発された

EDVAC

と呼ばれるものである. 1940年代 終りに登場したコンピュータのハードウェアの基本型は,今日のコンピュータまで依然として変化していな いことに注意しよう.

1.2.2.2

1950年代

,

1960年代

商用コンピュータと汎用コンピュータの時代

1950年以後

UNIVAC, IBM

といったビジネス機器メーカがコンピュータの開発に取り掛かり,真空 管に変わりトランジスタやそれを集積したICを採用した(今日でいう)汎用コンピュータの時代に入る.

このころ,コンピュータの動作の基本部分(入出力や命令の実行手順)の制御等を行うソフトウェアと,具 体的な作業のためのプログラムを区別し,プログラム開発を容易に行うという考え方が発生した. 今日でい うオペレーティング・システムの概念である.

1969年には, AT&Tのベル研究所で, K. Thompsonと

D. Ritchie

により, DEC社の汎用コンピュー

PDP-8

上で動作するオペレーティング・システムであるUNIXが開発される. 現在

System V

と呼ば

れる系統のUNIXシステムはこの時代に始まる. 当初のUNIXは

Thompson

自身の設計によるBと呼 ばれる言語で記述されていたが, 1970年, PDP-11にUNIXを搭載するために, B. Kernighanと

D.

Ritchie

により, C言語が開発されC言語により, UNIXが再構築された. C言語はハードウェアの構造

5少なくとも現在でも理論的なコンピュータはこの域を脱していない

6最近の研究では,1939年アイオワ州立大学で作られた, ABCというものがあり,それが世界初の電子式デジタル計算機であ るということが判明した.しかし, ABCは最終的な完成には至らなかった.

(4)

と相性のよい言語であったため,他の機械でC言語の処理系を実現することが容易であった. UNIX自身 もそのほとんどの部分がC言語で記述されていたため, Calfornia大学ではUNIXを全くに書き直すこと が行われた. このUNIXは現在

BSD

と呼ばれる系統のUNIXにその流れが残っている. IBM-PC の ためのオペレーティング・システムとしては, IBM自身が開発したものの他に, CP/Mと呼ばれるものが 独自に開発されていた. これらのパーソナル・コンピュータ用のオペレーティング・システムは,基本的に UNIXの影響を受けている.

1.2.2.3

1970年代

汎用CPUの開発

1970年代に入り,命令の読み出し・解読・実行などを単一のチップで実現したものが登場する. 今日 でいうところの汎用CPUの開発である. 世界初の汎用CPUは,インテル社とビジコン社の共同開発によ る

4004

である. この後, 1970年代半ばには, インテル社による8ビットCPU

8080, 8085,

ザイログ 社による

Z80

等が開発され,比較的安価なコンピュータの開発が始まる.

1970年代後半には

Apple

社が設立される. Apple の創業者の一人である

Bill Atkinson

は, Xerox 社の

Palo Alto

研究所

(Palo Alto Research Center: PARC)

ALTO

と呼ばれるオペレーティング・シ ステムを見る. ALTOは今日でいう

GUI (Graphical User Interface)

を備えた汎用コンピュータであった.

ALTO

に実装されていた

GUI

はハードウェアで構築されていたのだが, Atkinsonはこれをソフトウェア で作られていると勘違いする. 今でいう「歴史的な勘違い」である. Atkinsonは帰宅すると

ALTO

にあっ た

GUI

と同等なものをソフトウェアで実現することになる. これが今日の

Macintosh

GUI

の始まりで あり,この思想は

S. Jobbs

に受け継がれ,今日まで続く

Apple

の歴史が始まる.

1.2.2.4

1980年代

–パーソナルコンピュータの時代–

1979年,IBMは汎用CPUを用いた「パーソナル・コンピュータ」と呼ばれる小規模のコンピュー タを開発する7

.

俗にいう

IBM/PC

の発売である. IBM/PCの開発により,コンピュータが比較的安価に 入手できるようになり,コンピュータは科学技術計算以外にも多くの情報処理の世界で使われるようにな る. しかし,このころのパーソナル・コンピュータは汎用コンピュータに比較して,余りに性能が劣ってい たため, 大規模計算などのためには依然として汎用コンピュータが利用されていた. このころの汎用コン ピュータはデータやプログラムの入力のために「紙テープ」や「パンチカード」が,外部記憶装置としては 磁気テープを用いていた.

IBM/PC

はそのハードウェア仕様を完全に公開していたため,同等の機械を他社が発売することが出来

た. 当時

8088

を使ったコンピュータ上で動作するオペレーティング・システムとして, Digital Research 社の

G. Kildall

の開発した

CP/M

と, Microsoft社の

B. Gates

が権利を持っていた

MS-DOS

が存在して

いた8

. IBM

IBM/PC

に搭載するオペレーティング・システムとして, MS-DOSを選択9する. 現在ま

で続くパーソナル・コンピュータの発展はこのころに始まる.

1.2.2.5

1990年代

ネットワークの時代

一方,1980年頃, SunMicrosystems社が創業し,現在でいう商用UNIXワークステーションの開発 が始まる. 1969年, アメリカ国防総省

(DoD)

ARPANET

と呼ばれる,電話回線によるコンピュー タ・ネットワークを構築し,遠隔地に置かれたコンピュータ同士を接続して,相互にデータの交換を行うと

7当初のIBM/PCはインテルの8088(16ビットCPU8086の8ビット版)を利用していた.

8B. Gates8088上のBASIC処理系を開発し, Microsoft社を創業していた. MS-DOSB. Gates自身がはじめから開発 したものではなく, Seattle Computer Products社のQDOSの権利を購入し,それをチョコチョコっと書き直したものである.

9なぜIBMMS-DOSを採用したかについては, [4]のコラムにおもしろい話が載っている.

(5)

いう実験が始まる. 今日のコンピュータ・ネットワークの始まりである. 1979年,電子メール等を交換 するためのボランティア・ベースのネットワークである, USENETがスタートする. USENETは電話回線 によるデータの交換を行っていたが, 1982年, ARPANETは

TCP/IP

と呼ばれる,現在の「インター ネット」の基礎となる通信規格を採用する. この通信規格は,UNIXワークステーションであればどのよ うな機器でも動作することが出来た. このように,今日のコンピュータ社会を構成している重要な概念は1 980年代前半までにはほぼ出そろっていることがわかる.

その後, 1970年代からはCPUの開発競争が行われ, CPUの速度などは極めて高速になっていく.

1980年代には複数のCPUを用いて単一のコンピュータを構成する「マルチ・プロセッサ」の技術も開 発され,並列計算という複数のCPUに分散処理を行わせる技術が発展していく. この技術は「スーパー・

コンピュータ」を生み, 高速科学技術計算に大きな役割を果たした. CPUの発展はCPU自身の構造を 複雑にし, 高速動作の妨げになることもわかってきた. それを避ける概念として,RISC(縮小命令アー キテクチャ)と呼ばれるCPUの概念が生まれ, 現在ではRISC・CPUを搭載したパーソナル・コン ピュータも生まれ,高速コンピュータをネットワークを利用して相互に接続する分散環境が現在の高速計算 の姿であり,現在ではパーソナル・コンピュータが少し前のスーパー・コンピュータ以上の処理能力を持つ ことも稀ではない.

1990年代には,コンピュータネットワークが飛躍的に発展する. UNIXワークステーションや汎用 コンピュータだけがネットワークを利用していた時代から,パーソナルコンピュータもネットワークに接続 されるようになる. 一方で, 世界各地のコンピュータネットワークが相互に接続されるようになり,オフィ スや家庭でネットワークに接続されたパーソナルコンピュータから,世界中のコンピュータネットワークへ の通信が可能になった. 当初分散コンピューティングはローカルエリア・ネットワークを用いて行われて いたが,現在では,「インターネット」を用いた世界規模の分散コンピューティングも可能な時代に入って いる.

1.2.2.6

2000年代

–??の時代–

CPUの開発競争はとめどなく行われ,良く知られた「ムーアの法則」10の示す通り,トランジスタ集積 率は18ヶ月余りで2倍になり,動作周波数も驚異的な速度に達している. しかし, トランジスタのスイッ チング速度の限界や,電子信号による信号伝達速度の問題, 電子信号による熱発生の問題など,現在の電子 技術の未来は必ずしも明るくはない. 一方, コンピュータネットワークは電気信号の時代から,光信号の時 代へと変りつつあるが,現在の光ネットワーク技術は,2点間の信号を光で伝達するという域を脱していな い. すなわち, コンピュータネットワークを制御している技術そのものは,相変わらず電気信号である. コ ンピュータの歴史を遡ればわかるように,その技術的な発展は1950年代から1970年代の時点から大 きな発展をしているわけではない. 今後,「量子コンピュータ」の開発や「光コンピューティング」など, 新しい技術を採用した機器の発展が必要だろう.

一方,1990年代のコンピュータネットワークの発展は,既存の技術の枠組みのなかで新しい利用方法 を見つけ, それが成功を治めた例である. このように, 既存の技術の枠内で実現可能な新しいアイデアを 見つけることが, コンピュータの発展にとって大きな役割を果たしてきたことも事実である. 現在のコン ピュータ技術の延長線上にどんな未来が待っているのだろうか?

10むーあのほうそく(Moore’s law): インテル社の創業者の一人Gordon Mooreが,1965年に「発見」した法則.半導体の 性能と集積度は18ヶ月で2倍になるというもの.

(6)

1.2.3 コンピュータの分類

コンピュータの歴史でも見てきたように,昔からコンピュータはその規模,用途などによって様々な名前 で呼ばれてきた. 以下の二つの表は規模,用途に応じた分類である. しかし低価格帯における処理能力の格 差が少なくなった現在では,このような分類は意味をなさなくなってきている.

規模による分類

名 称 特 徴

スーパーコンピュータ 極めて高速なプロセッサを並列で継ぐことにより, 処理 能力の向上を図った高価なコンピュータ. 高速演算を行 なうため常に冷却しなければならなく, ランニングコス トは非常に高い. 通称スパコン.

大型計算機 スーパーコンピュータを使うほどではないが, 相当の処 理能力が要求される科学技術計算などを行なわせるため に開発されたコンピュータ. 小型で高速なコンピュータ の出現により,その存在意義は薄れている.

ミニコンピュータ オフィスコンピュータの類に使われていた. 現在はあま り使用されない. 通称ミニコン.

マイクロコンピュータ マイクロプロセッサを使用したコンピュータ. 主にパー ソナルコンピュータとして使用される. 通称マイコン.

用途別の分類

名 称 特 徴

汎用フレーム 大型計算機とほぼ同義. OSは各社独自

(IBM

系が多い).

プログラミング言語は

FORTRAN

が主流である. かな りの量の科学計算用ライブラリが蓄積されている.

ワークステーション 小人数で共有するマシンを複数台持つことで処理能力を 上げようという思想に基づいた開発用コンピュータ. 汎 用フレームより圧倒的に安価. 主に

UNIX

やそれに準ず る

OS

で動作する. プログラミング言語は

C

が主流で ある.

オフィスコンピュータ

OA

用に開発されたコンピュータ. 基本的に業者の提供 したプログラムを使うだけのもので,開発環境ではない.

通称オフコン.

パーソナルコンピュータ 個人向けに設計されたコンピュータ. マイクロコンピュー タが多い. 近年は処理能力の向上により開発環境として も多用される. OSは

MS-DOS, Windows95 , MacOS

な ど様々. DOS/V, Macintosh などがこれに該当する. 通 称パソコン.

組み込みシステム 携帯電話,リモコン,家電製品などで利用されるシステム に組み込まれたコンピュータ. 現在,利用されているコン ピュータの台数としては, 組み込みシステムが最多と考 えられる.

近年では,スーパー・コンピュータと呼ばれるものも,超高速ワークステーションを数台から数十台つな いで,分散環境を実現したものを指すことも多い11

.

11ワークステーションのクラスタ接続と呼ぶ.

(7)

2 章 コンピュータとは

2.1 コンピュータ・ハードウェア

ハードウェア

(hardware)

とは,コンピュータを構成する物理的な機械のことを指す1

.

今日のコンピュー タのハードウェアは

CPU (Central Processing Unit:

中央演算処理装置)と呼ばれる演算装置が中心となっ ている. 今日我々が目にするコンピュータはモニタ, キーボード, ディスク装置, マウスなどの周辺装置を 持ったものが多いが2

,

古くは

CPU,

少量の記憶装置(メモリ)と極めて簡単な入出力装置だけを持ったも のから始まっている.

コンピュータの基本的な構成は, CPUと入出力装置,内部記憶装置(メモリ),外部記憶装置からなる.

CPU

は外部から与えられた命令にしたがって, メモリ内のデータをレジスタと呼ばれる演算装置に格納 し, しかるべき演算を行なった後, そのデータをメモリに格納する操作を行なっている. 一方, (何らか の)入出力装置を動作させるためには, それらを制御しているコントローラと呼ばれる

LSI (Large-Scale Integration:

大規模集積回路)に

CPU

から命令を出すことが必要となる. これら

CPU

LSI

は半導体素

(semiconductor chip)

と呼ばれ, トランジスタと同等の動作をする素子の集合体である. 古くは, こ

れらの動作をすべてそれぞれの

LSI

が直接理解可能なコードで記述していた.

CPU コントローラ

キーボード 入力装置

コントローラ ディスプレイ

出力装置

コントローラ メモリ 内部記憶装置

コントローラ ディスク 外部記憶装置

しかしながら,入出力装置が複雑になってくると,そのようなコードを利用者が直接与えることが困難になっ てきた. そのため, コンピュータを動作させる基本的なソフトウェアとして

OS (Operating System)

が開 発された. ここでは

OS

などの話は後にし,ハードウェアを構成するそれぞれについて詳しく見ていこう.

2.1.1 半導体素子

半導体

(semiconductor)

とは,金属のような電気抵抗が極めて低い導体と,紙のような電気抵抗が極め

て高い絶縁体(不導体)との中間的な電気抵抗をもつ物質のことである. 半導体の代表例としては,シリコ ンやゲルマニウム3が良く知られている. シリコンやゲルマニウムの純粋な結晶中に5価の原子であるリン やアンチモンを不純物として少量加えたものを

n

型半導体,3価の原子であるガリウムやインジウムを不 純物少量加えたものを

p

型半導体と呼ぶ. n型半導体中の不純物の余分な電子は結晶中で自由電子となり,

1アメリカで“hardware”という看板を掲げた店が数多く存在する.これはコンピュータを扱う店ではなく,「金物屋」のことで ある.2Palmに代表されるようなPDA(携帯情報端末)が世間を席巻し,このような形のコンピュータは早晩滅びてしまうのかもし れない.3これらはすべて4価の原子であることに注意しよう.

(8)

電流を流す役目を果たす. 一方

p

型半導体では, 完全な結晶を構成するためには電子が足らず, あたかも

「正電荷を持つ電子」が自由に動き回るかの構造を持つ.

2.1.1.1 pn

ダイオード

簡単に, p型半導体と

n

型半導体を接合すると,次の図のようにどちらかの方向の電流だけを流すような 素子

(device)

を作ることが出来る.

p

型半導体

n

型半導体

+ -

+ -

+

p

型半導体

n

型半導体

+

+

-

-

+

電流が流れる 電流が流れない

この素子のことをダイオード

(diode)

と呼び,右はしに書いた記号であらわす.

2.1.1.2

トランジスタ

p

型半導体を

n

型半導体で挟んだ構成をもつ素子をバイポーラ・トランジスタ(

npn

バイポーラトラン

ジスタ)

(bipolar transistor)

と呼び, 単にトランジスタといったときにはバイポーラ型のものを指す.

エミッタ領域

n

ベース領域

p

コレクタ領域

n

E C

B

E I C

B

いま,エミッタを接地し(電位

0

にすること),ベースに電流を

0

から順に増やしていくと,コレクタに流 れる電流はベースの電流が増幅されてでてくる. すなわち,トランジスタは電流の増幅作用がある. この増 幅作用を利用して,ベース電流を

0

と飽和状態の切り替えを行うことにより,トランジスタを用いてスイッ チング動作を与えることができる.

Remark 2.1.1

ここで

,

なぜトランジスタが電流増幅作用があるかを考えてみよう

.

いま

,

エミッタを接地し

,

ベー スに正の電圧をかけると

,

電子はエミッタ領域からベース領域に流れ込む

.

この時

,

ベース領域の厚さが極めて薄けれ

,

電子はコレクタ領域にも到達する

.

この時

,

エミッタ領域から流れ出した電子のうち

α

がコレクタ領域に到達する と仮定すると

,

ベース領域から流れ出す電流

I

B

,

コレクタ領域から流れ出す電流

I

C

I

C

= αI

E

, I

B

= (1 α)I

E

という関係をみたす

.

そこで

, I

B をトランジスタへの入力電流

, I

Cを出力電流と考えると

, β := I

C

I

B

= α 1 α

が出力電流の増幅率となる

.

ベース領域を極めて薄くとると

, 0 . 5 < α < 1

を満たすようにできることがわかり

,

この 場合増幅率

β

β > 1

を満たすこととなる

.

2.1.1.3 IC

LSI

IC (Integrated Circuit)

LSI (Large Scale Integration)

とは,シリコン結晶の基盤上に極めて多数の トランジスタ(や他の素子)を配置した回路のことである. この場合に用いられるトランジスタはバイポー

(9)

ラ型のものではなく電界効果型トランジスタ

(FET)

と呼ばれるものが利用される. FETの代表的なもの

MOS FET

と呼ばれる,シリコン結晶の表面に金属酸化膜が施されたトランジスタである.

2.1.2 デジタル回路

世間では「コンピュータは2進法で動作する」とか,「コンピュータはデジタル回路で出来ている」とか ということがいわれている. コンピュータ・ハードウェアは特定の2種類の電圧の状態4によってその動作 が決まっている. そのような意味で,「2進法」で動いているといってもいいし,このような2状態で回路 が動作するものをデジタル回路と呼ぶ. 1台のコンピュータのそれぞれの素子を協調して動作させるため には,外部から一定の時間刻みを与え,その刻みごとに状態が変化するようにすると回路上のそれぞれの素 子の間の状態のやり取りが容易になる. コンピュータ上でこのような時間刻みを与える素子が水晶発振子 であり,その時間刻み幅がそのコンピュータの動作速度を決定する第一の要因となる. この刻み幅のことを ベースクロック

(base clock)

と呼ぶ. マザーボード上でベースクロックは分周され,すなわち,ベースク ロックの整数倍または半整数倍のクロックが生成され,そのクロック信号により各種のチップが同期動作を 行う.

ベースクロック

分周クロック

この図は回路上を流れる電流の電圧を表し

,

一般に は高電位は

+5V,

低電位は

−12V

となっている

.

位が高電位となっている時に

1

,

低電位となって いる時に

0

を表すのが正論理と呼ばれる通常の方法 である

.

これを逆にしたものは負論理と呼ばれる

.

従って,より高速なコンピュータを作るために最も単純な方法は,高速クロックで動作する素子を組み合わ せれば良いが,実際には外部から電流を流すことにより,素子の状態を変化させるため(スイッチングを行 う)には一定の(極めて短い)時間が必要となる. これを素子のスイッチング速度と呼び,高速素子を作る ためにはスイッチング速度が高速なものを開発しなければならない. もちろん,スイッチング速度が高速に なっても,内部の回路が複雑であれば,実際の動作速度をあげることが困難になるので, LSI全体の速度を あげるための要因は単純ではない.

2.1.3 マザーボード

今日の多くのコンピュータはマザーボード

(mother board)

と呼ばれる一枚の回路基盤が基本になっ ている. マザーボードには

CPU

を搭載するためのソケット

(socket),

標準的な周辺装置を接続するため のインターフェース

(interface)

とそのためのコントローラ,メモリを搭載するためのソケット,拡張機器 のコントローラを接続するためのバス

(bus)

などが搭載されている. また,マザーボード上には水晶発振 子があり,ベースクロックを供給している.

マザーボードの設計はコンピュータの仕様に依存するところが多いが,今日では基本的なインターフェー スのコントローラは1つ又は2つ程度の

LSI

に集積されていることが多い.

4私たちのまわりで見掛けるパーソナル・コンピュータやワークステーションは,12V+5Vの2状態をとる.

(10)

電池

CPUソケット

電源ソケット メモリソケット チップセット

フロッピーディスクコネクタ ATA

AGPバス

BIOS PCIバス

水晶発振子

この写真は

Aopen

“AX3S Pro”

マザー・ボードで

,

周辺コントローラ

,

一つのチップにまとまったチップセット

(chip set)

の形で搭載されて いる

. CPU

ソケットは

Socket 370

と呼ばれる

, Intel

系の

CPU

のための ソケットであり

,

チップセットは

Intel 815

を採用している

.

マザーボード上には,電源投入時に実行されるプログラムを内蔵した素子がある. メーカやマザーボードの 用途によって呼び名は様々だが, BIOS, EEPROMなどと呼ばれることが多い. また,マザーボード上には 小さな電池5 が搭載され, BIOS 内部のカレンダ・タイマや, BIOS 内部にある様々なデータを保持するた めに利用される. マザーボードに通電されているときにはこの電池を使わないように設計されているが,通 電されていない状態が長時間続くと電池が消耗し, BIOS上のデータが消えてしまうことがある.

2.1.3.1

インターフェース

“interface”

という単語を辞書で調べると,「中間面」とか「界面」という言葉が載っている6

.

インター

フェースとは,コンピュータ・ハードウェアの世界では,複数のハードウェア(またはハードウェアの部品)

を接続する際に用いられるハードウェアまたはソフトウェアのことを指す. 多くの場合,インターフェース とは実際にケーブルを差し込む部分に用いられているハードウェアや,そこで用いられている通信(電気)

規格のことを指していると理解して良い.

実際, IBM-PC/PS2のマザーボード上には, キーボードを接続するための

PS2

インターフェース,マウ スを接続するためのバス・マウス・インターフェース,シリアル接続のためのシリアル・インターフェース が搭載されている. 最近では,外部機器接続のための

IDE (ATA)

インターフェース, USBインターフェー ス, IEEE 1934インターフェース等が搭載されていることが多い.

2.1.3.2

バス

コンピュータに周辺機器を搭載する場合,それぞれの周辺機器ごとに特別なインターフェースを用意して いては, マザーボードの設計に限界が出たり, 各種の周辺機器を接続できなくなる. そのため, 標準的には マザーボード上には搭載しないインターフェースを接続するために, ある一定の規格を用いた基盤であれ ば,どのようなものでも接続できるように一般的なインターフェースが用意されていることが多い. これを バスと呼び,バス・コントローラによって制御されている. これは,1段多くのコントロールを受けること になるが,より多くの種類の周辺機器を接続できるという利点がある.

古い

IBM-PC

では

ISA bus, EISA bus

と呼ばれるものが採用されていた. 古い

Macintosh

では

NuBus,

Sun Microsystems

のワークステーション7では

SBus

等が採用されていた. すなわち, 各メーカごとに異

5近年はリチウムイオン電池を使うことが多い.

6研究社「新英和中辞典」第4版.

7Sun Microsystemsのワークステーションでは,以前はCPUさえもSBusに接続していた.

(11)

なったバス規格を採用していた. しかし,今日では

PCI bus

と呼ばれる高速に動作するバス規格で多くのコ ンピュータが統一されかかっている. 統一規格を用いることにより,拡張ボードの開発を容易にしたり, 機 種を跨がって同一のボードが利用できたりするという利点があり,ワークステーションメーカさえも,元々 はパーソナル・コンピュータの規格であった

PCI

バスを採用していることが多い8

.

現在の

IBM-PC/PS2

では,具体的には,ネットワーク・インターフェースや高速外部記憶装置を接続す

るための

SCSI

インターフェースなどは

PCI

バスに接続することが多い. また, 外部出力のためのビデオ カードは

AGP

という

PCI

バスを高速化したバスに接続する. これら性能が進化するタイプの周辺装置を バスに接続することにより,必要に応じてそれらを取り替えることが可能となるという利点も見逃すこと が出来ない.

2.1.4 CPU

CPU

とはいわずと知れた,コンピュータの中心をなすものである. CPUの基本的な構成は,

演算レジスタおよび演算機構

命令読み出し機構

命令解読機構

データ読み出し・書き込み機構 からなる. 現在の

CPU

はこの他に

浮動小数点演算レジスタおよび浮動小数点演算機構

キャッシュ

パイプライン 等を持つことが多い9

.

8しかしながら,これら,共通規格のボードを実際に動作させるためには,それぞれのオペレーティング・システムに対応した, 辺機器のドライバが必要となる.

9このようなCPU構成や,コンピュータ全体のチップ構成のことをアーキテクチャ(architecture)と呼ぶ.

(12)

A

0

-

A

1

-

A

2

-

A

3

-

A

4

-

A

5

-

A

6

-

A

7

-

A

8

-

A

9

-

A

10

- A

11

- A

12

- A

13

- A

14

- A

15

-

Addr ess B us

D

0

- D

1

- D

2

- D

3

- D

4

- D

5

- D

6

- D

7

-

Da ta B u s

M1 MREQ IORQ RD WR RFSH

System Co n tr o l

HALT - WAIT - INT - NMI

RESET -

C P U C on tr ol

BUSREQ -

BUSACK

CP U B us Co n tr o l

- CLK - +5V - GND

Z80 pin functions

CPU Timing Control 8 systems ?

& CPU Control Output

5 CPU ? Control Input

- CPU Timing

? Instruction

Decoder

? Instruction

Register -

? 6

Internal Data Bus Data Bus

Interface 8 bits Data Bus 6

ALU

Register Array

? 6 Address Logic &

Buffers 16 bits Address Bus ?

Z80 Internal Block

世界で最初の

CPU

Intel

社とビジコン社の共同開発による

4004

と呼ばれる4ビットCPUであった10

.

それまでは各種の

LSI

を演算回路に相当するように配置して演算レジスタを構成していた. 4004では, LSI 上にソフトウェア(今日では,マイクロ・コードと呼ばれる)を搭載する領域を作り,マイクロ・コードの 変更を行うことにより各種の演算を行える設計になっていた. 初期の

CPU

は今日で言うコンピュータで はなく,いわゆる「電卓」に相当する機器を作るために使われた.

Intel

社製

Cerelon 700

中央に見える部分が

CPU

コアである

.

裏面は

370

本の ピンがあり

, socket 370

と呼 ばれる

CPU

ソケットを利用 する

.

Motorola

社 製

PowerPC 604e

放熱のために

Cerelon

Pen- tium

が空冷ファンを利用する のに対して

, PowerPC

では巨 大なヒートシンク

(heat sink)

を利用する

.

101971年. クロック周波数は750KHz,1命令あたり8クロックから16クロックかかったと言われている.

http://www.busicom-corp.com/には, 4004のチップ画像やIntel社との共同開発の契約書などが掲載されている.この契約は 1970年2月6日から発効し, 4004を両社の“Desk-Top Electronic Calculators”に搭載すると書かれている.

(13)

Intel

社製

i468 DX2

Zailog

社製

Z80

Z80

Intel

8080a

の上位互換機

, 8

ビット

CPU

の中では

,

非常に幅広く利用された

.

この写真は世界 中で作成された

Z80

互換製品のうち

, Sharp

社製の もの

.

CASIO

社製プログラム電卓

“FX-502P”

(1979年:左)

Hewlett Packard

社製

“HP-28S”

(1988年:右)

FX-502P

は初期のプログラム電卓で

,

アセンブラに似た制御プログラムに

より

,

各種の計算を行った

.

Hewlette Packard

社は1970年代後半から

,

「逆ポーランド記法」を用 いる電卓を開発していた

. HP-28S

はその到達点とも言える機器

.

2.1.4.1

演算レジスタ

ノイマン型コンピュータにおける

CPU

の基本的な役割は,メモリから命令およびデータを読み出しお よび解読を行い, データに対する演算を行って, 演算結果をメモリに書き出すことである. この時, デー タに対する演算を行うために

CPU

内部に用意された回路が演算レジスタ

(register)

(アキュムレータ

(accumulator)

11)と呼ばれる部分である. CPU の速度12を表す表現として「XXビットの

CPU

」と

いった表現がとられることがあるが,ここで用いられる「XXビット」とは,演算レジスタの長さであるこ

とが多い13

. CPU

内部でデータに対する演算を行う場合には,データを演算レジスタ(一般に複数存在す

る)に格納してから演算を行う. ここで,基本的な

CPU

演算の例を考えてみよう.

データをレジスタ内に読み出す場合には,演算レジスタにデータの「アドレス」を格納し,データの 読み出し命令を行う.

2つの数の和を計算する場合には,「2つの数をそれぞれをレジスタ

A,

レジスタ

B

に格納し,レジ スタ

A

の値にレジスタ

B

の値を加える」という命令が行われる.

11アキュムレータは「加算器」と呼ばれ,演算機能を与える特別なレジスタである.他のレジスタは演算のためのデータ格納や, 算経過における状態変化(フラグ(flag))の記録,現在のプログラムの位置(プログラム・カウンタ)等に用いられる.

12実際には速度とは全く無関係な数値である.

13以前のCPUは演算レジスタ長とデータ読み出し線の本数は一致していたので,「XXビット」というときには演算レジスタ長 でも,データ読み出し線の本数でも同じ数であったが,最近のCPUはこれらの数値が異なるものが多く存在し,「XXビット」とい う言葉が何を意味しているかを考えなくてはならなくなっている.

(14)

したがって, CPUが扱うことのできるメモリ量や数値の大きさの範囲は,基本的には演算レジスタ長で決 定されている.

はじめて

CPU

の話を聞く場合に,演算レジスタの実感がわかないことが多いが,「電卓」の機構を考え てみると演算レジスタの想像は容易になる. 最も単純な「電卓」は2つの演算レジスタ

X , Y

をもち,次の ような操作が行われていると考えて良い.

1.

数値を入力する:レジスタ

X

に数値を格納する.

2.

演算キーを押す:対応する演算へのジャンプ命令が用意される.

3.

数値を入力する:レジスタ

Y

に数値を格納する.

4.

「=」を入力する:演算回路が実行され,レジスタ

X

に結果を格納する.

8080 Internal Registers name length purpose A 8 bits accumulator B 8 bits general purpose C 8 bits general purpose D 8 bits general purpose F 8 bits flag registor H 8 bits general purpose L 8 bits general purpose SP 16 bits stack pointer PC 16 bits program counter

2.1.4.2

浮動小数点演算レジスタ

後に解説するが, CPU内部における「整数」と「実数」は全く異なる方法で表現されている. すなわち,

「整数」の

1

と「実数」の

1.0

CPU

内部では全く異なるデータとして扱われる. CPU 内部で「実数」

を表す表現方法として今日広く用いられているものが,「浮動小数点」と呼ばれる表現であるが,浮動小数 点数の演算は非常に複雑であるため, 通常の演算レジスタと演算回路を用いると演算に時間がかかるため, 浮動小数点数のみを扱う特別な演算レジスタと演算回路を用意した方が効率が良い. そのために用いられ るのが浮動小数点演算レジスタである. 以前の

CPU

は浮動小数点演算レジスタを外部プロセッサとして もち,浮動小数点演算を行うために,わざわざ他のプロセッサにデータを転送して演算を行っていた14

.

近年は

Intel

Pentium

MMX, Motorola

PowerPC

AltiVec

などに代表されるように, 浮動 小数点演算ユニットを

CPU

の一部として組み込むことが多くなってきた15

.

そのような意味で

CPU

MPU (Main Processing Unit)

と呼ばれることも多い.

2.1.4.3

演算機構とパイプライン

演算レジスタ上のデータに対する演算は

CPU

内部でハードウェアとして, すなわちのトランジスタ間 の回路として実現するか(これをワイアード・ロジック

(wired logic)

と呼ぶ),または極めて小規模なメ

141980年代のパーソナル・コンピュータに利用されていた, IntelCPU 80286の浮動小数点コプロセッサ80287が有名で あるが, Sun MicrosystemsCPU SPARCも浮動小数点コプロセッサを別に利用していた.

15正しくは, MMXAltiVecは浮動小数点演算ユニットではなく,整数演算や浮動小数点演算をベクトル化して計算するための, ベクトル演算ユニットである.

(15)

モリとプログラムを用いて実現するか(これをマイクロ・コード

(micro code)

と呼ぶ)で行われている.

以前の

CPU

の発展は,より多くの命令を

CPU

内部の演算として実現する方向で発展してきた. それによ り, CPU内部のマイクロ・コードが肥大化し,演算の内容(加減算・乗算・除算・分岐等)によって一つの 演算に掛る時間も増大する傾向が出てきた. CPU自身も外部から供給されるクロックにしたがって動作す るが,マイクロ・コードが肥大化し, 一方ではクロックが高速化することにより, 単純な命令(加減算)等 でも1クロックで動作しない可能性が出てきた. そのため, CPU の命令を極めて少数の基本的なものに限 り, CPU 自身の動作速度を高速化するという考え方が発生する. これを縮小命令アーキテクチャ

(RISC)

と呼ぶ. RISC CPU では命令をわずかなものに限ったため,一つの命令を実行している間に次の命令を読 み出したり命令の解読を行ったり出来るようになった. この機構をパイプライン

(pipe line)

と呼び,今日

RISC CPU

のアーキテクチャの基本をなしている16

.

命令読み出し 命令解読 実行

命令読み出し 命令解読 実行

命令読み出し 命令解読 実行

命令読み出し 命令解読 実行 パイプライン

なお, CPUのキャッシュ

(cache)

とは, CPU内部に既に読んだ命令やデータを保存しておき, そのデータ 等が変化していない限り,メモリにデータを読み出しに行くのではなく,キャッシュに保存されたデータを 読むことで代用するための

CPU

内部のメモリである.

2.1.4.4 CPU

の速度評価

CPU

の実行速度を表す数値としては,クロック速度が一般的に用いられている. 仮に加減算やメモリか らのデータ読み出しが1クロックで行われるのであれば,クロック速度は

CPU

の演算速度としての評価と なるが,実際にはそれらの演算が1クロックで行われているとは限らない17

.

そのため実際的な

CPU

の速 度評価のために用いられる数値は,1秒間に何回の基本演算を行うことが出来るかという数値であり,1秒 間に行える演算回数を表したものが

MIPS (Million Instruction Per Second)

である. たとえば1秒間に1 00万回の命令実行を行える

CPU

MIPS

値は

1 MIPS

であるという. また,浮動小数点演算の高速化 を目指した

CPU

(たとえば

DEC Alpha

等)では, 1秒間に行える浮動小数点演算回数を表したものを 用いる. これを

FLOPS (FLoating point Operaritions Per Second)

である. たとえば1秒間に100万回 の浮動小数点演算を行える

CPU

MIPS

値は

1 FLOPS

であるという. すなわち, Pentium がクロック 周波数

1GHz

で, PowerPCが

733MHz

であるといっても,実際の演算性能はクロック周波数だけで決まる わけではなく,必ずしも

Pentium 1GHz

の方が高速というわけではない18

.

16Pentiumは命令セットの構成はCISC (RISCではないCPU)に分類されるが,10数段のパイプラインと,高速クロックを用 いて高速動作を実現している.

17実際,メモリからのデータ読み出しに関しては,ウエイトがかっていることが多い.

18安易に考えると,どのような場合でも高速なCPUの方が良いように思えるのだが,新開発のCPUほどCPUのロジックにバ グがあったり,動作が不安定であったりすることが多い.実際,1997年打ち上げのNASA Mars Pathfinder Missionで用いられ た,火星表面探査機“Mars Microrover”では, Intel社の80C85 (8085CMOS版)という極めて古い8ビットCPUが搭載さ れた.これは,火星表面という極めて過酷な条件下でも安定して動作することを求めた結果,信頼性の高いCPUを用いるという結論 に至った典型的な例である. ([5])

(16)

各種CPUの速度比較

CPU Info Center

の資料より

http://bwrc.eeec.berkeley.edu/CIC/

Maker Processor Date Bits Clock SPECint92 SPECfp92 SPECint95 SPECfp95

Intel 8086 78 16 5 - - - -

Intel i486DX 89 32 25 14.2 6.7 - -

SUN Hyper Sparc 96 32 150 180 245 4.1 4.9

Intel Pentiumn II 98 32 400 - - 15.8 12.4

SUN Ultra Sparc II 98 64 450 - - 19.6 27.1

DEC Alpha 21164a 97 64 600 - - 18.4 21.3

DEC Alpha 21264 98 64 667 - - 44 66

MIPS R12000 98 64 300 - - 18.4 34.4

Intel Celeron 99 32 400 - - 15.1 11.8

Motorola PowerPC 750 (G3) 99 32 400 - - 19.2 13.1

Intel Pentiumn III 99 32 800 - - 33.0 29.0

AMD Athron(K7) 99 32 700 - - 31.7 24.0

Motorola PowerPC 7400 (G4) 99 32 450 - - 21.4 20.4

この表にある

SPEC CINT 2000, SPEC CFP2000

は, それぞれ整数演算速度, 浮動小数点演算速度の ベンチマークテスト

(Benchmark Test)

の方法一つであり, SPEC (Standard Performance Evaluation

Corporation)

が作成しているものである. 現在

CPU

の命令実行速度を測定するための標準的な方法19

なっている. [6]

2.1.5 メモリ

コンピュータの回路上に置かれた記憶装置のことを内部記憶装置といい,通常は半導体素子で作られて いるものを用いる. 内部記憶に用いられる半導体素子をメモリ

(memory)

と呼ぶ. BIOSなどのプログラ ムの基本部分は半導体素子上に電流を流さなくても消えることが無いように書き込まれている. このよう に設計されたメモリを

ROM (Read Only Memory)

と呼ぶ. ROMの作り方は様々だが,強力な紫外線を 当ることにより書き込んだデータを消去できるような素子であることが多い.

一方, 通常に利用するメモリは自由に書き換えが可能である. そのようなメモリを

RAM (Random

Access Memory)

と呼ぶ. また書き込んだデータを保持するためには常時電流を流しておくことが必要と

なる. RAMには,その目的に応じて電気的特性の違いによりいろいろな種類が存在する. 主記憶に用いら れるものは,スイッチング速度がそれほど大きくなくても良いが,保持電流を多く必要とし, 集積度の大き なものが用いられる. また,キャッシュ・メモリには集積度が小さくても良いが, スイッチング速度が高速 なものを, BIOSの書き換え可能部分には保持電流の小さなものが用いられる.

現在のパーソナル・コンピュータやワークステーションでは,

SIMM (Serial Inline Memory Module)

DIMM (Dual Inline Memory Module)

と呼ばれる, 複数個のメモリ素子を小さな回路上にのせたモ

ジュール形式で利用されることが多い. このようなモジュール形式をとることにより,エラー訂正コードを 含めた内部記憶装置として実現したり,メモリ全体を連続した素子に割り当てるのではなく,書き込み遅延 を考慮したメモリ構成(メモリ・インターリーブと呼ぶ)を実現することが容易になる. また,このような モジュール化は,メモリなどの構成部品を安価に供給するために重要な役割を果たしている.

19実際にはCPU単体の測定ができるわけではないので,それなりのシステム上を作成して,その上での各種のベンチマークテス トの比較として値を得ている.

(17)

ROM

チップの写真

. AMI

製の

BIOS

(左)

.

右はシールを剥がしたも

.

中央の窓に紫外線をあてると

ROM

の内容がクリアされる

.

Sun Microsystem

社のワークステーション

(EnterPrise 420R)

で使用す

, 256M

バイトの

DIMM

の画像

.

基盤の両面に

64M

ビットと思われる メモリ・チップを36個使用している

. 64 × 36/8

が整数とならないのは

,

エラー訂正コードを利用したメモリ書き込みを行うため

, 256M

バイトの データを保存するためには

,

誤り訂正符号の冗長度の分だけ余分に記憶領 域が必要なため

.

2.1.5.1

メモリの構造と種類

メモリを実現するには,1ビットの記憶を行う素子を大量に用意すれば良い. 初期に考えられた方法は, 多数の電線を格子状に並べ,その交点にリング上の強磁性体を配置したものであった. この時に用いられた 強磁性体はフェライトと呼ばれる炭素を添加した鉄で出来ていたため,このようなメモリをフェライト・コ ア・メモリと呼んだ. しかしながら, コア・メモリは磁化の劣化が大きく,集積率も低いため, 他の構造に よるメモリ素子に替っていった.

A B C D

1 2 3 4

例えば

, A

1

の交点にあるコアにデータ

1

を書き込 むには

, A

に左向きの電流を

, 1

に上向きの電流を流す

.

この時

,

各コアの磁化の向きは右の図のようになる データ読み出しのためには

,

磁化を大きく変化させない ような微弱な電流を流し

,

電流の変化によってデータを 読むことができる

.

データを

0

に変えるには

,

各線に逆向きの電流を流せば 良い

.

A B C D

1 2 3 4

6 6 6

- - -

メモリの集積度をあげるために,各種のメモリ素子が開発されたが, 近年では, 不揮発性のメモリにはコ ンデンサを, RAMなどのように記憶保持のために電流を用いても良いものには,トランジスタをもとにし たフリップ・フロップ回路

(flip-flop circuit)

を用いることが多い.

2.1.6 入出力装置

コンピュータに命令を入力したり,実行結果を出力したりするために,入出力装置は無くてはならないも のである. 今日のパーソナルコンピュータやワークステーションでは, 入力装置としてキーボードやマウ ス20

,

出力装置としてディスプレイを用いることが多い.

歴史的には,他の入力装置として穿孔テープ(紙テープ)やパンチカードを用いていた時代もあった21

.

また出力装置としてはライン・プリンタを用いていた. ライン・プリンタとは,1行分の「活字」を一列に 並べて高速に印字を行うプリンタであり,汎用コンピュータの出力装置として,数年前まで実際に使われて いた.

20ディスプレイ上の特定の場所を指定するというタイプの入力装置を,ポインティング・デバイスと呼ぶことがある. マウスはその 典型的な例であるが,他にタブレット等も良く見掛けるようになった.

21ここに写真を載せようにも,実物が手元にない.

参照

関連したドキュメント

経済学のための数学:第1章 細矢祐誉

携帯型音楽プレイヤーは長時間音楽を聴取することができ,これは携帯型音楽プレイヤーの持

2 に示す.r は 標的からの電子捕獲数を表す.この表は MCP の検出効率や装置の性質上検出効 率の悪いイベントの補正はせず,切り出した TOF ピーク,

という用語を用いることが多くなってきた。例えば、ニジェール・コンゴであ るが、これを語族 family という人もいれば大語族 phylum という人もいる 15 。 また英語では

1.2.3 ポリマー ポリマー ポリマー ポリマーナノコンポジットの ナノコンポジットの ナノコンポジットの作製 ナノコンポジットの 作製 作製

ースであるため、同行訪問も同様に単純な事例から始めたいが、訪問看護の難易度は利用

1908 年にオランダのヘイケ・カメルリング・オネス(Heike Kamerlingh Onnes) がヘリ ウムの液化に初めて成功した.さらに、1911

本研究では、住友電気工業株式会社で CT-OP 法により作製された Bi-2223 テープ線材を 用いた。表 2.1 に Bi-2223 テープ線材の諸元を示す。表