HP 3000のソースを表示
←
HP 3000
移動先:
案内
、
検索
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
要求した操作を行うことは許可されていません。
このページのソースの閲覧やコピーができます。
'''HP 3000'''シリーズは、[[ヒューレット・パッカード]]社が1973年に困難な開発を経てリリースした[[ミニコンピュータ]]ファミリである。最初の機種は性能問題から一旦回収された。このシリーズは最初にタイムシェアリング機能を搭載した[[オペレーティングシステム]](OS)を搭載したミニコンピュータとなることを意図していた。信頼性が高く強力であったため、[[オフィスコンピュータ]]的な使われ方が主流であった。初期の機種は大きな筐体であったが、後の機種は机の下に収まる程度となった。 製品寿命は[[ディジタル・イクイップメント・コーポレーション|DEC]]の[[VAX]]よりも長かった。2001年11月、後継である e3000 シリーズのサポート終了を5年後とすることが発表された。製品の新規販売は2003年までで、サポート終了までの移行期間は今のところ 2008年12月31日までとされている(当初、2006年末とされていたが延長された)。 == 初期のメモリセグメントと64K制限 == コードとデータは可変長セグメントに格納される。コードはリードオンリーでリエントラントであり、最大 32,760 バイトまで、データは最大 65,528 バイトまでである。MPE はコードセグメントをプログラムファイルから読み込み、セグメント化された[[ライブラリ|共有ライブラリ]] (SL) ファイルを必要に応じて読み込む。1つのプロセスには最大 256 セグメントまで持たせることができる。 コードセグメントは最大 32KB だが、ルーチン呼び出し時にはセグメント番号とセグメント内のルーチン番号を指定するため、1つのプログラム内に理論上最大 64K 個のルーチンが存在可能であった。当時の16ビットミニコンピュータではアドレス空間が全部で 64K であることが多かった。データセグメントとスタックセグメントは最大64Kであった。共有ライブラリには共有のデータは存在せず、各プロセス専用のデータセグメントを使用する。 システムのプログラミングは[[ALGOL]]系の言語 SPL で行われるが、[[インラインアセンブラ]]が利用可能であり、[[命令セット]]への直接アクセスが可能である。HP 3000 の標準端末 HP 2640 シリーズはキャラクタモードだけでなく、フォームからのデータ入力を行うブロックモードをサポートしていた。 == Classic と PA-RISC XL == HP 3000 ファミリは 16ビットの "Classic" と 32ビットの "XL"(後に "IX")ファミリがあり、後者は1984年に[[PA-RISC]]チップの登場とともに追加された。両者にはバイナリ互換性はないが、低速ながらエミュレーションで従来のコードを実行したり、再コンパイルして実行することが可能であった。初期の "Classic" は独自の[[CISC]]プロセッサを使用している。PA-RISC を搭載した HP 3000 は1988年ごろから量産されるようになり、1995年までに完全に置換がなされたものの、ユーザーサイトでは従来のマシンがそのまま使われ続けた。 3000 シリーズの[[オペレーティングシステム]]は [[MPE]](Multi-Programming Executive)と呼ばれ、その後 MPE-XL となり、さらに[[POSIX]]準拠となってからは MPE-IX と呼ばれた。初期のバージョンには独自のコマンド行インタプリタがあり、階層型[[ファイルシステム]]は無い。プログラムをコマンドとして実行するという概念が無く、例えばコンパイラは "run fortran.pub.sys" などと打ち込んで実行される。当時の他のミニコンピュータに比較して、非常に信頼性が高く安定動作するのが特徴であった。 HP 3000 シリーズの成功の一因は、OSの一部として(一部例外はあるが)独自の[[データベース管理システム]] Image(後に TurboIMAGE に改称)を搭載していた点である。これは、OSやハードウェアの違いに関わらずバイナリ互換性を維持しており、1973年のプログラムが2003年のシステム上でも再コンパイルなしで動作する。 市場が[[UNIX]]にシフトしていく中、ヒューレット・パッカードは2001年11月、HP 3000 の寿命(サポート期限)を2006年末とすることを発表した(販売は2003年まで)。2006年初め、HPは制限つきでサポートを2年延長することを発表した。これは、独自仕様のミニコンピュータとしては異例の長い製品寿命である。[[PDP-11]]と[[VAX]]を合わせたよりも長い寿命であるが、[[OpenVMS]] は [[DEC Alpha|Alpha]]ベースのシステムから[[IA-64]]ベースのシステムへとサポートされ続ける予定である。 == スタックマシン == 今日、多くの[[命令セット]]は[[レジスタ (コンピュータ)|汎用レジスタ]]モデルに基づいている。HP 3000 のプロセッサとメモリのアーキテクチャは[[スタックマシン]]モデルに基づいている。これは[[バロース B5000]]に影響されたと言われている。レジスタ数は少なく(例えば HP 1000 では AX レジスタと BX レジスタの2本だけ)、オペランドは局所変数やリターンアドレスを置く[[コールスタック|スタック]]と同じスタックに置かれる。従って、例えば次のようなコードがあったとする。 <pre>LOAD AX, 0X0001 LOAD BX, 0X0002 ADD AX, BX</pre> これは次のコードと同じである。 <pre>PUSH 0X0001 PUSH 0X0002 ADD</pre> サブルーチン呼び出しの call 命令は固定個の引数しか取れない。そのため、[[C言語]]コンパイラの実装は難しかった(実装されなかったわけではない)。 16ビットの[[マイクロプログラム方式]]の機種(Series I, II, III, 30, 33, 39, 40, 42, 44, 48, 52, 58, 64, 68, 70, 37, ...)は、16ビットのワード単位のアドレスに[[バイトアドレス]]指定を加え、[[セグメント方式]]の[[スタックマシン]]型[[命令セット]]アーキテクチャ (ISA) であった。約 214 種の命令のほとんどは16ビット長である。スタック操作命令は16ビットワードに2つの操作を詰め込むことができ、一部の命令が32ビットである。 CISC実装の変遷は以下の通り。 * III: スタックのトップ4ワードがレジスタ。マイクロ命令サイクルは 175ナノ秒、すなわち 5.7MHz * 30, 33: SOS(シリコン・オン・サファイア)。スタックのトップ2ワードがレジスタ。マイクロ命令サイクルは 90ナノ秒、すなわち 11MHz。各命令は 3-7 サイクルかかる。 * 40, 42, 44, 48: ショットキー[[Transistor-transistor logic|TTL]]。スタックのトップ4ワードがレジスタ。マイクロ命令サイクルは 105ナノ秒、すなわり 9.5MHz * 64, 68: [[エミッタ結合論理|ECL]]。スタックのトップ8ワードがレジスタ。マイクロ命令サイクルは 75ナノ秒、すなわち 13MHz。8KBキャッシュ。60Kb の書き換え可能な[[コントロールストア]]。16ビット[[演算論理装置|ALU]]×2。 * 37: [[CMOS]]。スタックのトップ4ワードがレジスタ。 32ビットモデルは PA-RISC を使っている。PA-RISC のバージョンと機種の対応は以下の通り。 * PA-RISC 1.0 Series 925, 930, 935, 949, 950, 955, 960, 980 * PA-RISC 1.1 Series 917, 920, 922, 927, 937, 947, 948, 957, 958, 967, 977sx, 987, 990, 991, 992, 995 * PA-RISC 2.0 Series 918, 928, 968, 978, 988, 996, A クラスと N クラス == 参考文献 == * Hewlett Package: HP3000 Computer Systems: General Information Manual; August 1983; 5953-7553 == 外部リンク == * [http://www.robelle.com/library/smugbook/classic.html ''The Classic HP 3000''] - 歴史 * Edler, C [http://www.3k.com/index_papers_hp3000_history.html The Rise, Fall and Rise of the HP 3000] - 歴史 * [http://www.3k.com/index_faq.html HP3000 FAQ] * [http://bitsavers.org/pdf/hp/3000/ Bitsavers] スキャンされPDF化された各種マニュアル類。ただし、ミラーサイト利用推奨。 * [http://www.brooksnet.com/hp3000remoteprinting.html Printing HP3000 MPE/iX to Windows] * [http://www.hpmuseum.net/exhibit.php?class=3&acc=32 HP Computer Museum] スキャンしてPDF化されたマニュアル群がある。 * HP 3000 General Information Manual [http://hpmuseum.net/document.php?catfile=408 Sep 79], [http://hpmuseum.net/document.php?catfile=208 Oct 1984] 大きなPDFファイルなので、要注意 * [http://bitsavers.org/pdf/hp/3000/HP_3000_Performance.txt HP 3000 Performance (text file)] * [http://aics-research.com/first3k.html "HP SYSTEM/3000 system description" promotional material Nov 1971] * [http://www.itjungle.com/tfh/tfh111901.html November 19, 2001: HP Sunsets Its Proprietary e3000 Server Line] * [http://archive.is/20130119154633/http://news.com.com/Hewlett-Packard+phases+out+server+line/2100-1001_3-275842.html November 14, 2001 Hewlett-Packard phases out server line, the line will be phased out over a five-year period] * [http://www.hp.com/products1/evolution/e3000/index.html hp.com: HP is committed to continued support of HP e3000 installations] * [http://www.hp.com/products1/evolution/e3000/faq.html HP e3000 transition program FAQ] * [http://www.allegro.com/papers/ Classic Genealogy and PA-RISC Systems Performance Spreadsheets] * [http://ed-thelen.org/comp-hist/hp-3000.jpg Picture of HP 3000] [[Category:ヒューレット・パッカード]] [[Category:ミニコンピュータ]]
HP 3000
に戻る。
案内メニュー
個人用ツール
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
その他
検索
案内
メインページ
コミュニティ・ポータル
最近の出来事
新しいページ
最近の更新
おまかせ表示
sandbox
commonsupload
ヘルプ
ヘルプ
井戸端
notice
bugreportspage
sitesupport
ウィキペディアに関するお問い合わせ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報