レンタルサーバ + Webシステム開発 = E-business

■レンタルサーバご利用参考資料
サーバご利用の参考にJF Project によるJF (Japanese FAQ)を掲載しています。

Linux JF(Japanese FAQ)Project.
JF は, Linux に関する解説文書・FAQ などを作成・収集・配布するプロジェクトです.

グリーンネット・トップページへ戻る


一覧に戻る
  CPU Design HOW-TO
  Al Dev (Alavoor Vasudevan) alavoor@yahoo.com
  v11.0, 26 Feb 2001
  翻訳:瀬戸口 崇 setzer@mx3.tiki.ne.jp と JF Project
  翻訳日:2001年 5月 31日

  CPU はコンピュータの "頭脳" であり、コンピュータシステムに絶対不可欠な
  構成部品です。また、Linux や UNIX といったオペレーティングシステムと非
  常に密接な関係があります。この文書は、団体や企業、大学そして調査会社が
  CPU を設計開発し、製造するのに役立ちます。コンピュータサイエンスや計算
  機工学を学んでいる学生にも役立つでしょう。この文書には、コンピュータが
  どのように設計され製造されているのかを学生が理解するのに役立つ URL リ
  ンクをたくさん含まれています。きっと近い将来には GNU/GPL ライセンスに
  基づいた CPU が登場し、 Linux や UNIX, Microsoft Windows, Apple Mach-
  intosh, BeOS などの OS を使うことができる日がくることでしょう!
  ______________________________________________________________________

  目次

  1. 序章
  2. IP とは何か ?
     2.1 フリー CPU の一覧
     2.2 商用 CPU の一覧

  3. CPU Museum と Silicon Zoo
     3.1 CPU Museum
     3.2 トランジスタはどのように動作するか
     3.3 トランジスタはどのように情報を扱うのか
     3.4 2進数の情報を表示する
     3.5 半導体とは何か ?
        3.5.1 トランジスタの分析
        3.5.2 動作中のトランジスタ
        3.5.3 トランジスタの衝撃

  4. CPU の設計とアーキテクチャ
     4.1 CPU の設計
     4.2 CPU アーキテクチャに関するオンラインの解説書
     4.3 CPU アーキテクチャに関する大学の講義関連の書物
     4.4 CPU アーキテクチャ
     4.5 CPU 設計に関する Usenet ニュースグループ

  5. CPU の構成と製造
     5.1 ファウンドリビジネスは今、何十億ドルもの市場です!!
     5.2 CPU の組み立て

  6. スーパーコンピュータのアーキテクチャ
     6.1 主なアーキテクチャの種類
     6.2 SISD (Single Instruction stream, Single Data stream) マシン
     6.3 SIMD(Single Instruction stream, Multiple Data stream) マシン
     6.4 MISD(Multiple Instruction stream, Single Data stream) マシン
     6.5 MIMD(Multiple Instruction stream, Multiple Data stream) マシン
        6.5.1 共有メモリシステム (Shared Memory systems)
        6.5.2 分散メモリシステム (Distributed Memory systems)
     6.6 分散処理システム
     6.7 ccNUMA マシン

  7. ニューラルネットワークプロセッサ
  8. 関連 URL
  9. このドキュメントの他フォーマットのもの
  10. Copyright
  11. 日本語訳について

  ______________________________________________________________________

  1.  序章

  この文書では CPU の設計と構成についての URL の分かりやすい一覧が紹介さ
  れています。この情報を使えば、学生、企業、大学、起業家たちが、Linux や
  UNIX を走らせる事のできる新しい CPU を作ることが可能です。

  昔はチップベンダー達は同時に IP の開発者でもあり、EDA ツールの開発者で
  もありました。最近ではそれぞれの分野に特化した専門の会社があります。そ
  れらは以下のようなものです。組立、構成 (FAB) 業者 (TSMC
  )、 IP企業 (ARM  , MIPS
  , Gray Research LLC
   )、 そしてツール (EDA) ベン
  ダ (Mentor  , Cadence  
  など)、そして、これらを総合した企業 (Intel)。あなたは IP を、ハード
  ウェアという形で (Intel 等から) 購入することも、ツールという形で (EDA
  ベンダから)購入することもできますし、IP そのものを単品で (IP 企業から)
  購入することもできます。

  FPGA ベンダーのサイト (Xilinx  や、 Altera
  )も見てください。そこには独自のビジネスモデルを
  利用する機会があります。

  VA Linux systems  は完全なシステムを構築してお
  り、おそらく将来 Linux のための CPU を設計するでしょう。

  以下の CPU 設計に関するサイトも見てください。

  o  FPGA CPU Links  

  o  FPGA Main site  

  o  OpenRISC 1000 - 独占的な ARM や MIPS に対抗し得るフリーでオープンソ
     ースの 32-bit RISC プロセッサの IP コア 

  o  Open IP org  

  o  Free IP org - 大衆向けの ASIC と FPGA コア  

     (訳注:FPGA...Field Programmable Gate Array の略。プログラム可能なプ
     ロセッサの事。ASIC...Application Specific Integrated Circuit の略。
     特定の用途の為に設計された専用のカスタム IC の事。)

  2.  IP とは何か ?

  IP とは何でしょうか?  IP とは Intellectual Property(知的財産) の略で
  す。本書の場合、具体的には ASIC や FPGA を作る時に使われる一通りのロ
  ジックといった知的財産 (IP)の事です。 "IP コア" の例としては UART,
  CPU, Ethernet コントローラ, PCI インタフェースなどのものがあります。以
  前は、この種の良質な IP コアは 5,000ドルから350,000ドル以上することも
  ありました。ごく普通の企業や個人にとって、使用を考えることすらないほど
  法外なものです。そこで、Free-IP プロジェクトです。

  Free-IP プロジェクトはまず CPU や Ethernet コントローラのようなより複
  雑なコアに注目します。比較的複雑でないコアもそれに続くかも知れません。

  Free-IP プロジェクトとは、誰でも利用可能な良質な IP コアを作ろうという
  努力なのです。これらの IP コア に関するサイトを訪れてみてください。

  o  Open IP org  

  o  Free IP org - 大衆向けの ASIC と FPGA コア  

  o  FPGA Main site  

  2.1.  フリー CPU の一覧

  すでに利用可能、あるいは現在開発中のフリーの CPU を一覧で紹介します。

  o  F-CPU 64-bit Freedom CPU   ミラーサイト -
     

  o  European Space Agency - SPARC アーキテクチャ LEON CPU
     

  o  European Space Agency - ERC32 SPARC V7 CPU
     

  o  Atmel ERC32 SPARC part # TSC695E   Aerospace=>Space=>Processors の順にクリックしてく
     ださい。

  o  Sayuri は
     
     Morphy Planning Ltd   によって作られてい
     ます。機能リストは
     
     日本語のページは   にあります。

  o  OpenRISC 1000 - 独占的な ARM や MIPS に対抗し得るフリーでオープンソ
     ースの 32-bit RISC プロセッサの IP コア  

  o  OpenRISC 2000 は  

  o  STM 32-bit, 双方向スーパースカラ RISC CPU  

  o  Green Mountain - GM HC11 CPU Core は
     

  o  Open-source CPU site - Google 検索のオープンソース CPU サイト
     "Computers>Hardware>Open Source"
     

  o  Verilog や VHDL で記述されたフリーのマイクロプロセッサーや DSP (デ
     ジタル信号処理) のコア 

  o  開発速度を加速するフリーのハードウェアコア
     

  o  Linux のオープンハードウェアとフリーの EDA システム
     

  2.2.  商用 CPU の一覧

  o  ロシア製 E2K 64-bit CPU (非常に高速な CPU です!!!)  ウェブサイト :
     .  ELBRUS は米サン・マイクロ
     システムズと提携しています。

  o  韓国 Samsung製 のDEC Alphaクローン 64-bit CPU
      Alpha-64bit CPU は   現在 Alpha CPU について Samsung と 米Compaq での協業
     があります。
  o  Intel IA 64  

  o  Transmeta crusoe CPU と次世代 Transmeta 64-bit CPU -->
     

  o  Sun Ultra-sparc 64-bit CPU  or
     

  o  MIPS RISC CPUs  

  o  Silicon Graphics MIPS Architecture CPUs
     

  o  IBM Power PC (motorola)
     

  o  Motorola の組み込みプロセッサ PowerPC, M-CORE, ColdFire, M68k, や
     M68HC コアベースの SPS プロセッサ  

  o  Hitachi SuperH 64-bit RISC processor SH7750
      は 10,000ロットで 1CPU あたり40ドルで販売
     されています。 Hitachi SH4,3,2,1 CPU
     

  o  Fujitsu 64-bit processor  

  o  HAL-Fujitsu (California) Super-Sparc 64-bit processor
      もサンの SPARC アーキテクチャ互換です。

  o  Seimens Pyramid CPU from Pyramid Technologies

  o  Intel X86 series 32-bit CPUs Pentiums, Celeron etc..

  o  AMDs X86 series 32-bit CPUs K-6, Athlon etc..

  o  National's Cyrix X86 シリーズ 32-bit CPU Cyrix など

  o  ARC CPUs :  

  o  QED RISC 64-bit and MIPS cpus :  

  o  Origin 2000 CPU -
     

  o  NVAX CPU
      and at
     mirror-site 

  o  Univ. of Mich High-perf. GaAs(ガリウム砒素) Microprocessor Project
     

  o  Hyperstone E1-32 RISC/DSP processor
     

  o  PSC1000 32-bit RISC processor
     

  o  IDT R/RV4640 and R/RV4650 64-bit CPU w/DSP Capability
     

  o  ARM CPU  

  o  Cogent CPUs  

  o  CPU Info center - SPARC や ARM などの CPU の一覧
     

  o  主要な CPU サイトは : Google 検索エンジンの CPU サイトから見つける
     ことができます。"Computers>Hardware>Components>Microprocessors"
     

  そのほかの重要な CPU サイトは -

  o  CPU に関する世界のニュース
     

  o  コンピュータアーキテクチャのサイトは
     

  o  ARM CPU  

  o  Great CPUs  

  o  Microdesign resources  

  3.  CPU Museum と Silicon Zoo

  この章では CPU テクノロジの基本中の基本を取り扱います。すでに技術的な
  バックグラウンドをお持ちであれば読み飛ばして頂いて構いません。

  3.1.  CPU Museum

  CPU Museum は

  o  Intel CPU Museum  

  o  Intel - マイクロプロセッサの歴史
     

  o  Virtual Museum of Computing
     

  o  Silicon Zoo  

  o  Intel - プロセッサはどうやって動くのか
     

  o  Simple course in Microprocessors
     

  3.2.  トランジスタはどのように動作するか

  マイクロプロセッサは私達が毎日使う TV や自動車、ラジオ、家庭用機器、そ
  してもちろんコンピュータなどの多くの製品にとって欠かせないものとなって
  います。マイクロプロセッサは主にトランジスタで構成されています。もっと
  も基本的なレベルにおいては、トランジスタは単純に見えるかも知れません。
  しかしながら、トランジスタの開発には実際何年にもわたる綿密な調査が必要
  でした。トランジスタの登場以前は、コンピュータは情報を処理するのに、遅
  くて役立たずの真空管と機械的なスイッチ(訳注:リレー)に頼っていました。
  1958 年に技術者達は (そのうちの一人は Intel の創設者の Robert Noyce で
  すが ) 一つのシリコン結晶上に二つのトランジスタをのせる事に成功し、後
  にマイクロプロセッサへと導く、最初の集積回路を作りました。

  トランジスタは小型の電子スイッチであり、コンピュータの頭脳であるマイク
  ロプロセッサの基本要素です。ごく普通の電灯のスイッチと同じように、トラ
  ンジスタは ON と OFF の二つの作動位置をもっています。トランジスタの、
  この ON/OFF すなわち 2値をもつという機能によってコンピュータは情報を処
  理する事ができます。

  電子スイッチの動作原理

  コンピュータが理解できる唯一の情報は、ON か OFF かの電気信号だけです。
  トランジスタを理解する為には、電子スイッチ回路の動作原理を知る必要があ
  ります。電子スイッチ回路はいくつかの部分で構成されています。そのうちの
  一つは、電流が流れる通り道です - 代表的な例は電線です。もう一つはス
  イッチ、すなわち電流を止めたり流したりする装置で、これは回路の通り道を
  つないだり切り離したりして行ないます。トランジスタは機械的動作部分をも
  たず、電気信号で ON/OFF の切替を行なう事ができます。トランジスタの
  ON/OFF 切替によってマイクロプロセッサは仕事をこなしているのです。

  3.3.  トランジスタはどのように情報を扱うのか

  トランジスタの様にたった二つの状態しかもたない物は、2進数であるといえ
  ます。 1 がトランジスタの ON 状態を表し、0 が OFF 状態を表します。複数
  のトランジスタによって作られる 1 と 0 の特定の順番と組合せで文字や数
  字、色そして画像などを表す事ができます。これは、2進表記法として知られ
  ています。

  3.4.  2進数の情報を表示する

   あなたの名前を2進数で綴ってみましょう

  アルファベットの文字にはそれぞれ対応する2進数があります。以下に JOHN
  という名前と、それに対応する2進数を示します。

  ______________________________________________________________________
          J  0100 1010
          O  0100 1111
          H  0100 1000
          N  0100 1110
  ______________________________________________________________________

  より複雑な、画像やオーディオ、ビデオ等の様な情報も 2進数、すなわちトラ
  ンジスタの ON/OFF 動作を使って表すことができます。ページをスクロールし
  て下のアルファベットと2進数の対応表を見てください。

                文字    2進数         文字    2進数
                ________________________________________________________
                   A     0100 0001       N     0100 1110
                   B     0100 0010       O     0100 1111
                   C     0100 0011       P     0101 0000
                   D     0100 0100       Q     0101 0001
                   E     0100 0101       R     0101 0010
                   F     0100 0110       S     0101 0011
                   G     0100 0111       T     0101 0100
                   H     0100 1000       U     0101 0101
                   I     0100 1001       V     0101 0110
                   J     0100 1010       W     0101 0111
                   K     0100 1011       X     0101 1000
                   L     0100 1100       Y     0101 1001
                   M     0100 1101       Z     0101 1010

                       アルファベット - 2進数対応表

  3.5.  半導体とは何か ?

  導体と絶縁体

  ほとんどの金属をはじめ、電気を通す物質はたくさんあります。それらは導体
  として知られています。電気を通さない物質は絶縁体と呼ばれます。大部分の
  トランジスタのベース素材である純粋なシリコンは半導体と考えられます。な
  ぜならば、不純物を添加することで導電性を変化させることができるからで
  す。 (訳注:半導体と呼ばれる理由ではこれではないような気がします。)

  3.5.1.  トランジスタの分析

  半導体と電気の流れ

  ある種の不純物をトランジスタのシリコンに添加すると、結晶質が変化して導
  電性が向上します。ホウ素不純物を添加したシリコンは p 形シリコンと呼ば
  れます。 - p は正 (positive) すなわち、電子が不足しているという意味で
  す。 (訳注: 正の電荷、すなわち電子が欠けた穴を「正孔(positive hole)」
  といいます。) リン不純物を添加したシリコンは n 形シリコンと呼ばれま
  す。 - n は負 (negative) すなわち、多数の自由電子をもっているという意
  味です。

  3.5.2.  動作中のトランジスタ

  動作中のトランジスタ - トランジスタの ON/OFF 状態

  トランジスタには多くのタイプがありますが、ここでは例として半導体の集積
  回路によく使われている n チャネル MOS FET(nMOSFET) について解説しま
  す。 MOS とは Metal-Oxide-Semiconductor の略で、<金属> - <酸化物 (多く
  の場合 SiO2 で絶縁皮膜を形成 )> - <半導体> いうサンドイッチ構造 (MOS
  構造 )をもっている、という意味です。 MOSFET ではゲート端子が MOS 構造
  となっています。以後、この nMOSFET のことを単に「トランジスタ」と表記
  します。

  このトランジスタは下図のような構造をしており、ソース(S)、ゲート(G)、ド
  レイン(D) という3つの端子をもっています。

    S     G     D
         ###
        =====
  -----------------
  | n+ |@@@@@| n+ |
  |____|     |____|
       p+ area
  -----------------
  n+ : 電子密度の高い部分
  p+ : 正孔密度の高い部分
  == : 酸化物絶縁皮膜
  ## : 金属電極
  @@ : 電流の通り道

  このタイプのトランジスタでは、ソースとドレインは負に帯電していて、 p
  形シリコンの正に帯電したくぼみにのっています。ゲートに正電圧が加わる
  と、p 形シリコンの中の電子がゲートの下の領域に引き付けられソースとドレ
  インの間に電子の通り道を作ります。ドレインに正電圧が加わると、電子はソ
  ースからドレインに向かって引っ張られます。この状態にある時、トランジス
  タは ON です。ゲートに加わっている電圧がなくなると、ソースとドレインの
  間の領域に電子が引き付けられなくなります。電子の通り道は閉ざされ、トラ
  ンジスタは OFF となります。

  3.5.3.  トランジスタの衝撃

  トランジスタの衝撃 - マイクロプロセッサがどれほど私達の生活に影響して
  いるか
  トランジスタの2進機能のおかげでマイクロプロセッサは、単なるワープロか
  らビデオ編集まで、多くの仕事をこなす事ができます。マイクロプロセッサ
  は、1つのチップで 1秒間あたり何億という命令をトランジスタが実行する、
  というところまで進化しました。自動車、医療機器、テレビ、コンピュータそ
  してスペースシャトルでさえマイクロプロセッサを使っています。それらは全
  て、トランジスタによって可能となる2進情報の流れに頼っています。

  4.  CPU の設計とアーキテクチャ

  4.1.  CPU の設計

  CPU 設計に関する情報です。これらのリンク先を訪れてみてください。

  o  Hamburg University VHDL archive  

  o  Kachina Design tools  

  o  List of FPGA-based Computing Machines
     

  o  SPARC International  

  o  Design your own processor  

  o  Teaching Computer Design with FPGAs  

  o  Technical Committee on Computer Architecture
     

  o  Frequently Asked Questions FAQ on VHDL
      または
     

  o  Comp arch FAQ  

  o  Comp arch FAQ  

  o  VME Bus FAQ  

  o  Homepage of SPEC
     

  o  Linux benchmarks  

  4.2.  CPU アーキテクチャに関するオンラインの解説書

  o  Online HTML book
     

  o  Univ of Texas Comp arch :
     

  o  Number systems and Logic circuits :
     

  o  Digital Logic:  

  o  FlipFlops:
     

  o  Instruction Execution cycle:  

  o  Truth Table constructor:
     

  o  Overview of Shared Memory:
     

  o  Simulaneous Multi-threading in processors :
     

  o  Study Web :  

  o  Univ notes:
     

  o  Advice: An Adaptable and Extensible Distributed Virtual Memory
     Architecture  

  o  Univ of Utah Avalanche Scalable Parallel Processor Project
     

  o  Distributed computing :
     

  o  Pisma Memory architecture:
     

  o  Shared Mem Arch:  

  o  Textbooks on Comp Arch:
     
     そして VLSI 設計  

  o  Comp Arch Conference and Journals
     

  o  WWW Comp arch page  

  4.3.  CPU アーキテクチャに関する大学の講義関連の書物

  o  Advanced Computer Architecture
     

  o  Computer architecture - Course level 415
     

  o  MIT:  

  o  UBC CPU slides :
     

  o  Purdue Univ slides:
     

  o  Rutgers Univ - Principles of Comp Arch :
     

  o  Brown Univ -
     

  o  Univ of Sydney - Intro Digital Systems :
     

  o  Bournemouth Univ, UK Principles of Computer Systems :
     

  o  Parallel Virtual machine:
     

  o  univ center:  

  o  univ course:  

  o  Examples of working VLSI circuits(in Greek)
     

  4.4.  CPU アーキテクチャ

  CPU アーキテクチャに関する情報です。以下のリンク先を訪れてみてくださ
  い。

  o  Comp architecture:
      そして
     VLSI 設計  

  o  Beyond RISC - The Post-RISC Architecture
     

  o  Beyond RISC - PostRISC :
     

  o  List of CPUS
     

  o  PowerPC Arch
     

  o  CPU Info center - List of CPUs sparc, arm etc..
     

  o  cpu arch intel IA 64  

  o  Intel 386 CPU architecture
     

  o  Freedom CPU architecture  

  o  Z80 CPU architecture
     

  o  CRIMSEN OS and teaching-aid CPU
     

  o  Assembly Language concepts
     

  o  Alpha CPU architecture
     

  o  

  o  Tron CPU architecture  

  4.5.  CPU 設計に関する Usenet ニュースグループ

  o  Newsgroup computer architecture  

  o  Newsgroup FPGA  

  o  Newsgroup Arithmetic  

  o  Newsgroup Bus  

  o  Newsgroup VME Bus  

  o  Newsgroup embedded  

  o  Newsgroup embedded piclist  

  o  Newsgroup storage  

  o  Newsgroup VHDL  

  o  Newsgroup Computer Benchmarks  

  5.  CPU の構成と製造

  設計とテストが完了したら次は大量生産したい、とあなたの会社は考えるかも
  知れません。そうしたあなたの要望に、競争力のあるわずかな価格で応える
  "半導体ファウンドリ(製造請負業)"が世界中にたくさんあります。アメリカ合
  衆国やドイツ、イギリス、日本、台湾、韓国そして中国にそういった会社があ
  ります。

  TMSC (台湾 )は世界で "最大の独立ファウンドリ" です。ここに注文すれば、
  大量注文 (100,000個以上 )だと最も割安となります。

  5.1.  ファウンドリビジネスは今、何十億ドルもの市場です!!

  ファウンドリ企業はインフラに大量の投資をしており、数百万ドルもかけて工
  場を建てています!  シリコンファウンドリビジネスは 現在の 70億ドルから
  2004年までには360億ドル (414%増加!)に成長するでしょう。より多くの統合
  デバイス製造会社(IDM)が、自社でシリコンウエハ処理の能力を増強するより
  も、外部のチップ製造会社に生産委託する道を選択しています。独立ファウン
  ドリは現在世界の半導体の 12%を生産していますが、2004年までには 2倍以上
  の 26%のシェアとなるでしょう。純全たる世界の "ビッグ 3"ファウンドリは
  -- Taiwan Semiconductor Manufacturing Co. (TSMC), United
  Microelectronics Corp. (UMC), そして Chartered Semiconductor
  Manufacturing Ltd. Pte.です。これら3つの企業で現在のシリコンファウンド
  リ全体の 69%の利益を上げ、 2004年までにはそのシェアを 88%まで伸ばすと
  予想されています。

  5.2.  CPU の組み立て

  世界中に何百ものファウンドリがあります (多過ぎて紹介しきれません )。そ
  のうちのいくつかは -

  o  Fabless Semiconductor Association  

  o  TSMC (Taiwan Semi-conductor Manufacturing Co)
     , about co
     

  o  Chartered Semiconductor Manufacturing, Singapore
     

  o  United Microelectronics Corp. (UMC)
     

  o  Advanced BGA Packing  

  o  Amcor, Arizona  

  o  Elume, USA  

  o  X-Fab, Gesellschaft zur Fertigung von Wafern mbH, Erfurt, Germany
     

  o  IBM corporation, (Semi-conductor foundry div)  

  o  National Semi-conductor Co, Santa Clara, USA
     

  o  Intel corporation (Semi-conductor foundries), USA
     

  o  Hitachi Semi-conductor Co, Japan  

  o  FUJITSU limited, Japan has Wafer-foundry-services
     

  o  Mitsubhishi Semi-conductor Co, Japan

  o  Hyandai Semi-conductor, Korea  

  o  Samsumg Semi-conductor, Korea

  o  Atmel, France  

     もし、大手の製造所をご存知でしたら、私に教えてください。リストに追
     加します。

  チップファウンドリの一覧

  o  Chip directory
     

  o  Chip makers
     

  o  IC manufacturers  

  6.  スーパーコンピュータのアーキテクチャ

  スーパーコンピュータの構築に関して、最近の顕著な傾向としてはほとんどの
  新しいシステムは同じテーマに基づいて少し変化をつけたものとなっていま
  す。すなわち、高速ネットワークで繋がれた、RISC ベースの対称マルチプロ
  セッシング (Symmetric Multi-Processing :SMP)ノードの集合体です。これ
  は、アーキテクチャの自然な進化だと思ってください。プロセッサ (RISC)も
  ネットワーク機器も比較的安価に出回るようになり、標準化された通信ソフト
  ウェアを使い、それらのプロセッサをつないで一体化することが可能になった
  事で、メーカーが提供する完成したシステムを使うかわりに、自家製クラスタ
  コンピュータを構築するケースが増えています。

  スーパーコンピュータに関する以下のサイトを訪れてみてください -

  o  Top 500 super computers  

  o  National Computing Facilities Foundation
     

  o  Linux Super Computer Beowulf cluster
     

  o  Extreme machines - beowulf cluster  

  o  System architecture description of the Hitachi SR2201
     

  o  Personal Parallel Supercomputers
     

  6.1.  主なアーキテクチャの種類

  マシンそのものについての話を始める前に、性能を上げる為に現在使われ、あ
  るいは昔からずっと使われているいくつかのメカニズムについて考えることが
  重要です。シングルプロセッサの性能を越えてコンピュータシステムを高速化
  する上での可能、不可能というのは、その大部分がハードウェアの構造あるい
  はアーキテクチャで決まってしまいます。ハードウェアとの組合せでもう一つ
  考えられる重要な点は、用意されたハードウェアプラットフォームにおいて処
  理効率の良いコードを生成するためのコンパイラの能力です。多くの場合にお
  いてハードウェアとソフトウェアのどちらが影響しているのかを区別するのは
  困難であり、ある効果がハードウェア、あるいはソフトウェア、またはその両
  方によるものなのかという場面で、その結果を解釈するときには慎重にならな
  くてはなりません。この章では "高性能" であると分類されるマシンについて
  記述するためハードウェアアーキテクチャに最も重点を置きます。

  何年にも渡り、「フリン (Flynn)の分類」が高性能コンピュータを分類するの
  に役立つことを証明してきました。これは、命令 (instruction)ストリームと
  データストリームの扱い方の違いによって分類する方法で、4つの主なアーキ
  テクチャのクラスがあります。まず、それらのクラスについて簡単に概要を述
  べ、そのあとでそれぞれのクラスについて述べるときに詳細に触れる事としま
  しょう。

  6.2.  SISD (Single Instruction stream, Single Data stream) マシン

  一つの CPU を搭載し、逐次処理される一個の命令ストリームを扱うような旧
  式のシステムはこのクラスに含まれます。最近ではたくさんの大型メインフレ
  ームが複数 CPU を備えていることがありますが、それぞれがお互いに無関係
  な命令ストリームを実行しています。それゆえ、このようなマシンも異なるデ
  ータ空間で動作する SISD(の集まり) であるといえます。 SISD の例としては
  DEC や Hewlett-Packard そして Sun Microsystems のほとんどのワークステ
  ーションが挙げられます。 SISD マシンの定義はここでは単にすべてのクラス
  を網羅するために行なっただけです。このタイプのマシンについてはこのレポ
  ートでは扱いません。

  6.3.  SIMD(Single Instruction stream, Multiple Data stream) マシン

  このようなマシンはしばしば 1,024個から 16,384個といった膨大な数の処理
  単位をもち、それらがそれぞれ異なるデータに対して軍隊の行進のように同じ
  命令を実行することが可能となっています。したがって、たった一つの命令で
  多くのデータを並列に操ることができます。このタイプに分類される SIMD の
  例としては CPP DAP Gamma II や Alenia Quadrics などが挙げられます。

  もう一つのタイプの SIMD システムはベクトルプロセッサです。ベクトルプロ
  セッサは特別な構造をもつ CPU を使って、独立したデータ群より類似データ
  の配列に対して能力を発揮します。ベクトルユニットでデータを処理する場
  合、結果は3クロックサイクル当たり 1個かまた特別な場合には2個の割合で出
  力されます。 (1クロックサイクルとはシステムの内部処理時間の基本単位で
  す。) つまり、ベクトルモードで実行するときに限り ベクトルプロセッサは
  ほぼ並列にデータを処理する事になります。この場合、旧式のスカラーモード
  で実行するのに比べて数倍高速となります。このため、ベクトルプロセッサの
  実用上の効果は、ほぼ SIMD マシンと同じと考えられます。このようなシステ
  ムの例をあげるとすれば、Hitachi S3600 です。

  6.4.  MISD(Multiple Instruction stream, Single Data stream) マシン

  理論的にはこのようなタイプのマシンでは、複数の命令が単一のデータストリ
  ームに対して動作することになります。このクラスに分類されるマシンは実際
  には今まで作られた事はなく、また簡単に想像できるものでもないので、これ
  以降の部分ではこのクラスを無視します。

  6.5.  MIMD(Multiple Instruction stream, Multiple Data stream) マシン

  これらのマシンはいくつかの命令ストリームを異なるデータに対して並列に実
  行します。上述のマルチプロセッサ SISD マシンとの違いは、複数の命令や複
  数のデータが、同じタスクの異なる部分であるが故にお互いに関係しあってい
  るという事実です。したがって MIMD システムはメインタスクの処理時間を短
  縮するために多くのサブタスクを並列に実行させる事ができます。 MIMD には
  多くのバリエーションがあり、特にこのクラスにおいては Flynn の分類はシ
  ステムの分類法として適切でない事が分かります。全く異なる動作形態の4プ
  ロセッサの NEC SX-5 と 1000プロセッサの SGI/Cray T3E が両方とも同じこ
  のクラスに分類されてしまいます。このため、この後の部分においては、シス
  テムの分類においてもう一つ別な、重要な区別をしてそれを扱っていきます。

  6.5.1.  共有メモリシステム (Shared Memory systems)

  共有メモリシステムでは、複数の CPU が全て同じアドレス空間を共有しま
  す。全ての CPU が対等に、たった一つのメモリにアクセスするのでユーザは
  データの格納場所を知る必要がありません。共有メモリシステムは SIMD であ
  ることもあり MIMD であることもありますシングル CPU のベクトルプロセッ
  サは前者の例として挙げることができます。一方マルチ CPU 共有メモリシス
  テムのマシンは後者の例となります。今後、この二つのサブクラスについて
  SM-SIMD, SM-MIMD という略語を用いることにします。

  6.5.2.  分散メモリシステム (Distributed Memory systems)

  このケースでは、CPU はそれぞれに関連づけられたメモリを持っています。複
  数の CPU がネットワークで接続されていて、要求に応じてそれぞれの担当す
  るメモリ間でデータを交換することができます。共有メモリシステムとは対照
  的に、ユーザはローカルメモリ内のデータの位置を知っていなければならず、
  また要求に応じて明示的にデータの移動や分配を行わなくてはなりません。分
  散メモリシステムにも、SIMD, MIMD いずれの場合もあります。先に説明した
  方の、軍隊の行進のように動作する SIMD システムは全てプロセッサに関連づ
  けられた分散メモリを持っています。後で述べるように、分散メモリ型 MIMD
  システムには、非常に多様な種類のネットワーク接続形態 (トポロジ) があり
  ます。アプリケーションの移植性に関して役立つトポロジの詳細は大部分がユ
  ーザから見えないようになっています。今後、この二つのサブクラスについて
  DM-SIMD, DM-MIMD という略語を用いることにします。

  共有メモリマシンと分散メモリマシンの違いは明白であるように見えますがユ
  ーザの視点で見れば必ずしもそうとはいえません。例えば近頃の Kendall
  Square Research システムはハードウェアレベルでの "仮想共有メモリ"とい
  う考え方を採用しています。仮想共有メモリはソフトウェアレベルでもシミュ
  レートすることができます。例えば、1993年に発表された High Performance
  Fortran(HPF)の仕様はコンパイラの指令によって、データを利用可能なプロ
  セッサに分散するというものでした。このため、この場合 HPF が実装された
  システムはユーザにとって共有メモリマシンのように見えます。 HP(Heulett
  Packard)や SGI/Cray など他の大規模並列処理システム (Massively Parallel
  Processing systems:MPP systems) のベンダも仮想共有メモリプログラミング
  モデルをサポートしています。そうすれば、物理的には分散メモリシステムで
  あってもアドレス空間の集合全体のアドレスを指定することができるからで
  す。したがって、ユーザのためにシステムはメモリ全体に渡る単一のグローバ
  ルアドレス空間を持っています。そのようなシステムの構造については
  ccNUMA のところでもう少しだけ触れるつもりです。さらに、TreadMarks のよ
  うなパッケージはワークステーションのネットワークに仮想共有メモリ環境を
  もたらします。

  6.6.  分散処理システム

  ここ数年で登場したもう一つのトレンドは分散処理です。これは DM-MIMD の
  概念を一歩前進させたものです。すなわち、一つあるいは複数の箱に入った多
  くの統合されたプロセッサの代わりに、ワークステーションやメインフレーム
  などを (ギガビットの) イーサネットや FDDIやあるいは別な方法で接続して
  同じプログラムで同時に作業するようにしたものです。コンセプトとしてはこ
  れは DM-MIMD と変わりありませんがプロセッサ間の通信はしばしば桁はずれ
  に遅くなります。分散コンピュータを実現する多くのパッケージが利用可能で
  す。例えば、PVM(Parallel Virtual Machine)や MPI(Message Passing
  Interface) などです。 "メッセージパッシング " モデルと呼ばれるこのプロ
  グラミングスタイルは大変受け入れられるようになり、PVM や MPI が事実上
  すべての分散メモリ MIMD システムの大手ベンダーに採用されるようになりま
  した。しかも共有メモリ MIMD システムのベンダーさえ、互換性という理由で
  採用するようになりました。さらに、最近の傾向としては高性能パラレルイン
  ターフェイス(HiPPI)チャネルという100MB/s クラスの高速通信を使って、非
  常に高い計算能力をもつシステムを得るクラスタ共有メモリシステムというも
  のがあります。例としては、NEC SX-5 と SGI/Cray SV1 がこの構造を採用し
  ています。すなわち、クラスタ間の通信にはメッセージパッシングを使いなが
  ら、ノードの集合体において共有メモリのプログラミングスタイルが使われて
  いるのです。

  6.7.  ccNUMA マシン

  この章の冒頭で述べた通り、やや少なめ (多くとも16)の RISC プロセッサ を
  一つのクラスタに密結合させたもの、すなわち対称マルチプロセッシング
  (SMP) ノードをもったシステムを構築することが流行の様です。ノード内のプ
  ロセッサは、ほとんどいつも直接(単一ステージ・クロスバーネットワークに
  よって)接続されています。一方クラスタ間はやや安価なネットワークによっ
  て繋がれています。

  これは、全てのプロセッサが全てのアドレス空間にアクセスできるという重要
  な点を除けば、巨大なベクトルプロセッサの集合体について上述した手段に似
  ています。よって、このようなシステムは SM-MIMD マシンと考えることがで
  きます。一方では、メモリが物理的に分散しているので、データアクセス操作
  が常に同時に満足されるという保証はありません。それゆえ、このようなマシ
  ンは ccNUMA システムと呼ばれます。これは Cache Coherent Non-Uniform
  Memory Access の略です。キャッシュコヒーレント(Cache Coherent:直訳 -
  キャッシュのつじつまが合っている)という言葉は "使用されるいかなる変数
  も、すべての CPU にとって一致していなければならない"という事実を表して
  います。したがってこの点において、これらの変数の元になるキャッシュもま
  た一致している事が確実でなければなりません。複数の CPU のキャッシュが
  コヒーレントである事を確実にするためには色々な方法があります。一つ
  は、snoopy bus protocol で、このバスにおいてキャッシュは CPU への変数
  の転送を監視し、もしそれがキャッシュしてある変数であれば更新します。も
  う一つの方法は、ディレクトリメモリで、これはすべての変数のコピーとその
  正当性を監視する、特殊な部分のメモリです。

  実用上、これらのシステムは SM-MIMD マシンであると分類できます。SM-MIMD
  マシンに分類可能なもう一つの理由があります。それは、メモリが物理的には
  分散しているにもかかわらず、 (例えばディレクトリメモリなどの) 特別な補
  助ハードウェアやソフトウェアが、あたかも単一のシステムであるような形に
  合体させてしまうからです。

  7.  ニューラルネットワークプロセッサ

  ニューラルネットワークは生物の神経ネットワークをモデルにしています。し
  かしながら歴史的にはニューラルネットワークの分野におけるインスピレー
  ションの源の大部分は高性能の、あるいは「知的」といっても良いような人間
  の脳が通常行なっているのに似た処理能力をもった人工的なシステムをつくり
  出したいという欲望から生まれており、またそれによって人間の脳をより理解
  することも可能であろうというところから生まれているのです。

  ほとんどのニューラルネットワークシステムはある種の "訓練"規則をもって
  おり、それによって訓練データに基づいたネットワークの接続点の重み付け調
  整を行ないます。 (訳注: 「重み」とは神経細胞におけるシナプスの接続強度
  に相当する係数です。この「重み」を変化させることで"神経細胞の塊"である
  脳の「学習」プロセスをシミュレートしています。) 言い換えれば、ニューラ
  ルネットワークシステムが訓練によって得た数々の事例から "学習"し(子供が
  数々の「犬」の事例をもとに「犬」というものの認識を学ぶように)、訓練に
  よるデータを越えて一般化する能力を発揮するのです。

  ニューラルネットワークはそれぞれの演算が互いに独立で処理されるため、並
  列性について非常に高い可能性を持っています。大規模並列処理と高い接続性
  をニューラルネットワークの特徴だとする人もいます。しかしこのような条件
  ではたとえば単純な線形回帰(2つのユニットとバイアスのみをもった最小構成
  のフィードフォワードネットワーク)のようなシンプルなモデルがニューラル
  ネットワークの仲間ではないと定義されてしまいますが、これはニューラル
  ネットワークの特殊なケースとして扱うと便利なのです。

  ニューラルネットワークの定義のいくつかを以下に示します:

  o  DARPAのニューラルネットワーク研究によると: 「ニューラルネットワーク
     は並列に演算を行なう多数の単純な演算素子で構成されたシステムで、そ
     の機能はネットワークの構造、接続の強さ、そして素子やノードの処理に
     よって決まる。」

  o  Haykinによると: 「ニューラルネットワークは大量の並列分散プロセッサ
     で、経験的な知識を蓄積し利用可能にするという本質的な性質をもってい
     る。また、次の2つの点において、脳と似ている。」

     o  学習プロセスを通したネットワークにより知識が得られる。

     o  「シナプス重み」として知られるニューロン間の接続強度が知識保存に
        使われる。

     ニューラルネットワークは神経を基に作られた非常に多数の単純な演算素
     子で構成されています。それぞれの素子はそれぞれの情報に対してのみ演
     算を実行します。その上、それぞれの素子の演算は非同期で行なわれま
     す。したがって全体のシステムクロックは存在しないのです。

  o  Zuradaによると: 「人工の神経系、あるいはニューラルネットワークとい
     うものは、経験的知識を取り込み、格納し、利用できるような実体ある細
     胞系である。」と定義されています。

  ニューラルネットワークプロセッサについてさらに詳しく知りたい場合は

  o  Omers Neural Network pointers
     

  o  FAQ site  

  o  Automation corp Neural Network Processor  hardware

  8.  関連 URL

  関連する以下の場所を訪れて見てください。

  o  Color Vim editor  

  o  Source code control system  

  o  Linux goodies のメインサイト  ミラーサイト
     は webjump , angelfire
     , geocities
     , virtualave
     , bizland ,
     theglobe , spree
     , infoseek
     , bcity
     , 50megs ,
     NBCi , Terrashare
     , Fortunecity
     , Freewebsites
     , Tripod
     

  9.  このドキュメントの他フォーマットのもの

  このドキュメントは 11種類の異なるフォーマット公開されています。それら
  は、DVI, Postscript, Latex, Adobe Acrobat PDF, GNU-info, HTML,
  RTF(リッチテキスト形式), プレインテキスト, UNIX man ページ, 一つにまと
  めた HTML ファイル、そして SGML です。

  o  この HOWTO ドキュメント(原文)は以下のサイトで HTML, DVI,
     Postscript, あるいは SGML フォーマットの tarball の単一ファイルとし
     て入手可能です。  そして  

  o  プレインテキスト形式は:
      および
     で入手可能です。

  o  単一の HTML ファイル形式は:
     にあります。

  o  フランス語、ドイツ語、スペイン語、中国語、日本語のような他言語への
     翻訳文書は  および
     で入手可能です。です。 他
     言語への翻訳を助けてくださる方を歓迎します。

     このドキュメントは "SGML-Tools" と呼ばれるツールを使って書かれてい
     ます。それはここで手に入ります。  ソース
     をコンパイルすると、以下のようなコマンドを使う事ができます。

  o  sgml2html CPU-Design-HOWTO.sgml     (to generate html file)

  o  sgml2rtf  CPU-Design-HOWTO.sgml     (to generate RTF file)

  o  sgml2latex CPU-Design-HOWTO.sgml    (to generate latex file)

  LaTeX 文書は sgml2latex (と dvips) を使って以下の様な Acrobat (
  ) の distill コマンドを通じて出力し、Postscript
  出力を作成することで簡単に PDF ファイルに変換できます。

  ______________________________________________________________________
  bash$ man sgml2latex
  bash$ sgml2latex filename.sgml
  bash$ man dvips
  bash$ dvips -o filename.ps filename.dvi
  bash$ distill filename.ps
  bash$ man ghostscript
  bash$ man ps2pdf
  bash$ ps2pdf input.ps output.pdf
  bash$ acroread output.pdf &
  ______________________________________________________________________

  あるいは、Ghostscript の ps2pdf コマンドを使うこともできます。

  この HOWTO ドキュメントの場所は

  o   です。

  以下のミラーサイトでも、このドキュメントを見つけられます。

  o  

  o  

  o  

  o  

  o   あなたの近所(ネットワー
     クアドレスという点において)のミラーサイトはここで見つけられます。

     サイトを選んで /LDP/HOWTO/CPU-Design-HOWTO.html のディレクトリに進
     んでください。

  このドキュメントを dvi フォーマットで見るには、xdvi プログラムを使って
  ください。 xdvi プログラムは Redhat Linux の tetex-xdvi*.rpm パッケー
  ジにあります。これは ControlPanel - Applications - Publishing - TeX
  menu buttons に置くことができます。 dvi ドキュメントを読むには、以下の
  コマンドを実行してください。

               xdvi -geometry 80x90 howto.dvi
               man xdvi

  その後、マウスでウインドウサイズを変更してください。ウインドウ内で文書
  の閲覧位置を移動するには矢印キー, Page Up, Page Down キーを使ってくだ
  さい。また、'f', 'd', 'u', 'c', 'l', 'r', 'p', 'n' のキーを使って、
  上、下、中心、次ページ、前ページなどに移動することができます。エキスパ
  ートメニューを閉じるには 'x' を押してください。 postscript ファイルを
  読むには 'gv'(ghostview) または 'ghostscript' プログラムを使います。
  ghostscript プログラムは Redhat Linux の shostscript*.rpm パッケージ
  に、 gv プログラムは gv*.rpm パッケージにあります。これは ControlPanel
  - Applications - Graohics Menu buttons に置くことができます。 gv プロ
  グラムの方が ghostscript よりはるかにユーザフレンドリーです。
  ghostscript と gv は OS/2 や Windows 95/NT などの他のプラットフォーム
  でも利用可能です。このドキュメントはそれらのプラットフォーム上でさえ読
  めます。

  o  Windows 95 や OS/2 その他すべての OS 用の ghostscript は
      で手に入れてください。

  To read postscript document give the command -

                       gv howto.ps
                       ghostscript howto.ps

  Netscape Navigator や Microsoft Internet explorer, Redhat Baron Web
  browser あるいは他の 10種類のウェブブラウザで HTML フォーマットのこの
  文書を読むことができます。

  10.  Copyright

  Copyright policy is GNU/GPL as per LDP (Linux Documentation project).
  LDP is a GNU/GPL project.  Additional restrictions are - you must
  retain the author's name, email address and this copyright notice on
  all the copies. If you make any changes or additions to this document
  then you should intimate all the authors of this document.

  (参考として著作権に関する記述の訳を以下に示しますが、これはあくまで参
  考ですので実際の著作権に関する事は原文の記述に従ってください。)

  著作権の方針は LDP(Linux Documentation Project) により GNU/GPL に基づ
  きます。追加の制限は - 著者名、著者の E メールアドレス、そしてこの著作
  権に関するコメントをすべての複製に記述すること - です。このドキュメン
  トに変更や追加をする場合は、このドキュメントのすべての著者に知らせてく
  ださい。

  11.  日本語訳について

  本ドキュメントの原文は LDP  にあります。再配
  布等にあたっては Copyright の原文を参照してください。

  本ドキュメントを翻訳する際、JF-Project のメンバーの方々より多くの助
  言、指摘などを頂きましたのでここに紹介します。

  翻訳に協力してくださった方々(50音順)

  o  川嶋 勤さん

  o  千旦 裕司さん

  o  後藤 正徳さん

  o  後藤 雅晴さん

  o  山崎 康宏さん

一覧に戻る
グリーンネット・トップページへ戻る

http://www.green.ne.jp/