|
コンピュータ・アーキテクチャ()は、コンピュータ(特にハードウェア)における基本設計や設計思想などの基本設計概念を意味する。アーキテクチャ(建築)には、単に「建築物」以外に、設計や様式という意味があるが、それから転じて、コンピュータ分野においても使われるようになった。「設計思想」などと意訳されることもある。技術者や研究者の用語としては(企業ごとの用語の違いにもよるが)「方式」という語が使われることもある。 1964年のSystem/360で最初に使われた用語で、その際の意味としては、入出力インタフェースを含むコンピュータシステムのハードウェア全体(周辺機器自体は含まない)の、ユーザー(プログラマ、OSを設計するプログラマも含む)から見たインタフェースの定義であり、具体的には使用できるレジスタの構成、命令セット、入出力(チャネルコントロールワード)などであり、実装は含まない。このアーキテクチャが同一のコンピュータ間や、上位互換のアーキテクチャを持つコンピュータへの移行や、上位互換の周辺機器への移行などは、ソフトウェアの互換性が原則として保証される。またハードウェアの内部設計や実装は、定義されたアーキテクチャを守る限り、技術の進歩に応じて自由に更新できる。この結果、コンピュータ・ファミリー(シリーズ)が形成可能となる。現在で言えばレイヤー定義であり仮想化の一種でもある。 また、システムアーキテクチャ、エンタープライズアーキテクチャ、ソフトウェアアーキテクチャ、ARMアーキテクチャなどの用語も増えている。 == 分類 == コンピュータ・アーキテクチャは少なくとも次の3つに分類される。 ; 命令セットアーキテクチャ(ISA) : 機械語(またはアセンブリ言語プログラマ、ただしOSのそれも含む)から見たプロセッサの抽象化されたイメージであり、命令セット、アドレッシングモード、レジスタ、アドレスとデータの形式などが含まれる。すなわち、プロセッサをソフトウェア側から見たときのインタフェース定義である。 ; マイクロアーキテクチャ : さらに下位でのより具体的なシステムに関する記述であり、ISAを実装するためにシステムの構成部品をどのように接続し、それらがどのように相互にやりとりするかを示す。例えば、(内蔵の1次)キャッシュの大きさは、ISAには通常何の関係もないが、その下位レベルの実装においては重要な問題である。 ; システム設計(システムアーキテクチャ) : 他のコンピュータシステムのハードウェア全般に関するもの。以下のようなものが含まれる。 # バスやクロスバースイッチなどのシステムのインターコネクト # メモリコントローラやメモリ階層 # ダイレクト・メモリー・アクセス などのCPUオフロード機構 # マルチプロセッシングに関わる部分 # 複数のコンピュータによるシステム構成に関するもの(コンピュータ・クラスターやNUMAアーキテクチャなど) 前者2つはプロセッサのアーキテクチャである。システム設計は、コンピュータにおけるプロセッサ以外についても含む。もともとのSystem/360の「厳密に定義された」アーキテクチャには、だいたい、ISAが含まれマイクロアーキテクチャが含まれず、システム設計のいくらかに相当するものが含まれるが、これは当時の大型コンピュータと現在のマイクロプロセッサベースのコンピュータとの、実装技術の変化やビジネスモデルの変化などのためによる、コンピュータ(周辺機器を含む)全体のレイヤの分けかたなどの構成法の変化などによる。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「コンピュータ・アーキテクチャ」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 Computer architecture 」があります。 スポンサード リンク
|