拡張性
出典: フリー百科事典『ウィキペディア(Wikipedia)』
拡張性(かくちょうせい)とは、機械やソフトウエアなどが本来もつ機能に加えて、付加的な機能を追加したり、それらの性能をあとから向上させる事が可能であるような設計上の特徴の事。
[編集] コンピュータハードウエアの拡張性
コンピュータを構成する要素は、大きく分けて入力、制御、演算、記憶、出力等に分けられるが、通常具体的なシステムとしてコンピュータを構築するときは、その目的に合わせて個々の要素に求められる要件を決定し、それらを組み合わせて一個のコンピュータ装置を構築する。例えば、電卓や家電製品の組み込みコンピュータなどに関しては、これらをあとから変更する必要性はなく、したがって、この項目で問題としている拡張性を持たせるような設計を行う必要はない。ところが、汎用コンピュータ、パーソナルコンピュータや家庭用ゲーム機など、その運用段階においてある程度その目的に幅のあることを前提とした一連のコンピュータ装置に関しては、あらかじめ厳密にその機器構成の要件を設定して設計する事は適わないから、本体の機能・性能としては、ニーズに対する最大公約数的な設計を行い、個々個別に必要となるハードウエア装置に関しては、最終的にその用途が決定された後にシステムインテグレーターやユーザーの手によってシステムに組み込む必要が生ずる。ここで、最終的にどの程度システム構成を自由に設定できるようにするかということが、すなわちコンピュータハードウエアの拡張性を決定する事になる。
コンピュータハードウエアの拡張性ということについて、パーソナルコンピュータを例にとって少し詳しく見てみることにしよう。以下、一般的なパーソナルコンピュータについて先ほど分類したコンピュータを構成する五大要素に従って説明する。
通常、パーソナルコンピュータの入力は、キーボードとマウスやトラックパッドによるのが一般的である。もしここに、外部インターフェースを持たないノートパソコンが存在し、入力の手段としてキーボードとトラッグパッドしか用いる事が出来ないとしたら、このノートパソコンは入力手段に関する拡張性を持たないといえる。今日、一般的なパーソナルコンピュータはUSB接続によって入力手段を拡張できる事が普通であり、トラックボールやペンタブレット、さらにはスキャナやデジタルカメラなどの入力機器を接続して使用することができる。また、これ以外にも例えば科学技術用途で各種センサーを接続するなどさまざまな入力手段が考えられるが、この際、コンピュータ本体の外部インターフェースを拡張する必要が出てくる場合がある。
コンピュータの要素のうち、制御にあたる部分は一番目に付きにくい部分では有るが、例えば、外部インターフェースをつかさどるバスコントローラーなどは制御装置の一例である。前述のとおり、外部の入力機器や出力機器などを接続する際に特別の外部インターフェースを必要とすることがあり、この際追加する拡張カードの類が制御装置の拡張としてはわかりやすい物であろう。
演算装置の拡張に関しては、例えばCPUを置き換えてしまうようなアップグレードが考えられる。このようなアップグレードを考慮せず、CPUを直接基板上に実装しているコンピュータなども存在するから、CPUを置き換えられる構造をとることは、立派に拡張性を考慮した設計の一例である。また、浮動小数点演算コプロセッサ(FPU)やグラフィックアクセラレータなど、付加的な演算装置を追加して一部の演算処理を肩代わりして高速化するような手段がとられる場合も多い。
コンピュータを使用していると、ハードディスクの記憶領域を使い切ってしまって新たなデータを保存できなくなったり、メインメモリを使い切ってしまってアプリケーションを立ち上げられなくなったり、動作が極端に遅くなってしまったりという経験がある人も多いだろう。このような時、記憶装置に関する 拡張性を考慮した設計であれば、ハードディスクドライブの追加や載せ変え、メインメモリーの追加などの方法によって対処することが可能である。
ここまでの記述から、もう出力装置に関する拡張性についてくどくどと説明する必要もないとは思うが、ディスプレイ装置をより大型で高精彩のものと交換したり、プリンタを追加したりといったことが、出力装置の拡張である。
これらの拡張を実現するために、パーソナルコンピュータにはさまざまな拡張手段が用意されているのが慣例である。PCIやISAやCバスやNuBusなどの汎用拡張バスはその典型であるし、USBやIEEE1394などの外部インターフェースもまた拡張性を持たせるために欠かせない装備である。ATAをはじめとするディスクドライブインターフェースなど個別の機器類に特化したインターフェースもある。また、コンピュータの筐体自体にも、内部に拡張カードやドライブ装置を内蔵するためのスペースを確保する事もまた、拡張性の確保のために重要な事と言える。
[編集] コンピュータソフトウエアの拡張性
[編集] 関連項目
- スケーラビリティ
- コンピュータ・アーキテクチャ
- オールインワン、システムコンポーネント
カテゴリ: 書きかけの節のある項目 | 設計 | コンピュータアーキテクチャ