JPH1078932A - Reconfigurable network computer - Google Patents

Reconfigurable network computer

Info

Publication number
JPH1078932A
JPH1078932A JP8233913A JP23391396A JPH1078932A JP H1078932 A JPH1078932 A JP H1078932A JP 8233913 A JP8233913 A JP 8233913A JP 23391396 A JP23391396 A JP 23391396A JP H1078932 A JPH1078932 A JP H1078932A
Authority
JP
Japan
Prior art keywords
hardware
code
extended
client
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8233913A
Other languages
Japanese (ja)
Inventor
Takashi Suzuki
敬 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP8233913A priority Critical patent/JPH1078932A/en
Publication of JPH1078932A publication Critical patent/JPH1078932A/en
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To enable a user to receive the service of higher quality that requires the computational complexity without purchasing a new computer of higher performance nor adding any hardware to extend the computer function. SOLUTION: A client 103 has the extension hardware 106 which can occasionally change and reconfigure the computer function via a program. An application program 108 stored in a server 102 includes an extension code 109 to reconfigure the hardware 106 of the client 103 in addition to a main processor code 110. Furthermore, the server 102 or the client 103 has a code selection function 123 to decide the presence or absence and the type of the hardware 106 and also to take a proper code out of both codes 109 and 110.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、ハードウェアを再
構成可能とする機能を持つネットワークに接続した計算
機システムに関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a computer system connected to a network having a function of enabling hardware reconfiguration.

【0002】[0002]

【従来の技術】例えば、(1)日経エレクトロニクス19
96.2.12, No.655, pp.13-15 に解説されている「ネット
ワークコンピュータ」は、OSも含めて各コンピュータ
上で必要なアプリケーションは全てネットワーク上のサ
ーバからダウンロードすることにより、ハードディスク
などの2次記憶装置を持たない、単純で安価なコンピュ
ータを実現する。さらに、各ユーザが新しいアプリケー
ションソフトウェアが記録されているフロッピ・ディス
クや CD−ROM等を市中の店舗で購入し、各自のコ
ンピュータにインストールするという繁雑な作業をしな
くても、常に最新のアプリケーションソフトウェアを利
用できるようになる。
2. Description of the Related Art For example, (1) Nikkei Electronics 19
The “network computer” described in 96.2.12, No.655, pp.13-15, downloads all necessary applications on each computer, including the OS, from a server on the network. A simple and inexpensive computer without a secondary storage device is realized. Furthermore, users do not have to purchase floppy disks or CD-ROMs containing new application software from stores in the market and install them on their own computers. Software becomes available.

【0003】(2)また、日経コンピュータ1996.4.1,p
p.101-107に解説されている「Java言語」はソフトウェア
を実行するCPUのアーキテクチャに依存しないインタ
プリタ型の言語であるため、コンピュータを選ばずにネ
ットワーク上に接続する多種のコンピュータのどこでも
実行可能であるという特徴を持つ。この特徴は(1)の
「ネットワークコンピュータ」の考え方において、バイ
ナリコードの互換性がないコンピュータが、ネットワー
クで接続されている環境においても、「ネットワークコ
ンピュータ」の環境を実現できるという効果を生む。ま
た、アプリケーションソフトウェアを開発するソフトウ
ェア企業は、コンピュータの機種毎に異なるバイナリ形
式のアプリケーションソフトウェアを用意する必要がな
くなる。
(2) Also, Nikkei Computer 1996.4.1, p.
The "Java language" described on pages 101-107 is an interpreted language that does not depend on the architecture of the CPU that executes the software, so it can be executed anywhere on a variety of computers connected to a network without choosing a computer. It has the characteristic of being. This feature produces an effect that, in the concept of (1) “network computer”, a computer having incompatible binary codes can realize an environment of “network computer” even in an environment where the computers are connected via a network. In addition, software companies that develop application software do not need to prepare different binary application software for each computer model.

【0004】(3)更に、日経コミュニケーション199
6.1.15,pp.79-83や、日経エレクトロニクス1996.1.15,p
p.67-95に解説されているように、世界的なネットワー
クであるインタネット上では音声や動画像をリアルタイ
ムで配送する技術が試されている。この技術により、コ
ンピュータネットワーク上でラジオやテレビといった放
送サービスを実現できる。従来、インタネット上では、
テキスト,静止画像、あらかじめ記録された音声や動画
像の再生、等の多種の形態の情報を通信することが可能
であった。これらの情報を組み合わせた複合情報(ハイ
パ・テキスト)を閲覧するサービスであるワールド・ワ
イド・ウェブ(WWW)では、ユーザはハイパ・テキス
トを閲覧するアプリケーション(ブラウザ)を利用し
て、サービスを利用する。
(3) Further, Nikkei Communication 199
6.1.15, pp. 79-83, Nikkei Electronics 1996.1.15, p
As described on pages 67-95, technologies for delivering audio and video in real time on the Internet, a global network, are being tested. With this technology, broadcasting services such as radio and television can be realized on a computer network. Conventionally, on the Internet,
Various forms of information such as text, still images, reproduction of pre-recorded audio and moving images, etc., could be communicated. In the World Wide Web (WWW), a service for browsing composite information (hyper text) combining these pieces of information, a user uses an application (browser) for browsing hyper text to use the service. .

【0005】リアルタイムの音声/動画像の配送は、従
来のブラウザの拡張機能(プラグイン)として、サービ
スを行う企業あるいは技術を開発した企業から、ネット
ワークを通して、無料、あるいは安価で提供されてい
る。このサービスを受けたいユーザはネットワークから
必要なプラグインをダウンロードし、自分のコンピュー
タにインストールすることにより、直ちにサービスを受
けられるようになる。これは、逆にサービスを提供する
側から見れば、新しいサービスを実現する技術を開発し
た段階で、ネットワーク上でプラグインを配布すること
で、プラグインを記録媒体に格納して、市中の店舗でソ
フトウェアを販売するという先行投資をすることなく、
少ない資本で短期間にサービスを開始できるという利点
がある。
[0005] Real-time audio / moving image delivery is provided as an extended function (plug-in) of a conventional browser by a service provider or a company that has developed technology through a network at no cost or at low cost. Users who want to receive this service can immediately receive the service by downloading the necessary plug-in from the network and installing it on their computer. Conversely, from the point of view of service providers, at the stage of developing technology to realize new services, by distributing plug-ins over the network, plug-ins are stored on recording media, Without the upfront investment of selling software in stores,
There is an advantage that services can be started in a short time with little capital.

【0006】一方、プログラマブルロジックと呼ばれる
任意の論理回路を自由に構成することが可能な素子が開
発されている。現在、半導体技術の進歩により、比較的
規模の大きな論理回路も構成できるようになっている。
たとえば、bit Vol.19, No.10,pp.1320-1328にある記
こと「シリコンコンパイラー論理合成とその将来」に
は、プログラマブルロジックを搭載したコンピュータに
よりプログラムの一部をハードウェア的に実現し、高速
に処理するというアイデアが示されている。これは具体
的には特開平4−175974 号「コプロセッサ論理回路自動
生成方法」に示される方法や特開平8−69447号「データ
処理装置」に示される方法と同様な方法を用いることに
より実現することができる。さらにbit Vol.27, No.10,
pp.11-21「FPGAとそのインパクト」に示されるよ
うに、プログラマブルロジックを積極的にコンピュータ
の中心部品として利用し、アプリケーション毎にそのア
プリケーションで採用されるアルゴリズムにあった構成
のハードウェアに再構成して処理を行うコンピュータシ
ステムも研究されている。
On the other hand, elements capable of freely configuring an arbitrary logic circuit called a programmable logic have been developed. At present, relatively large-scale logic circuits can be configured with the progress of semiconductor technology.
For example, "Volume 19, No.10, pp.1320-1328," Silicon Compiler Logic Synthesis and Its Future ", describes a part of a program implemented in hardware by a computer equipped with programmable logic. The idea of fast processing is shown. This is specifically realized by using a method similar to the method described in JP-A-4-175974 “Automatic generation method of coprocessor logic circuit” or the method described in JP-A-8-69447 “Data processing device”. can do. Bit Vol.27, No.10,
As shown in pp.11-21 “FPGA and its Impact”, programmable logic is actively used as a core component of a computer, and each application is reconfigured into hardware with a configuration that matches the algorithm used in that application. Computer systems that configure and perform processing are also being studied.

【0007】[0007]

【発明が解決しようとする課題】従来の技術に示したネ
ットワークコンピュータを前提とした環境においては、
ネットワークの各クライアントである「ネットワークコ
ンピュータ」を利用するユーザは、ネットワーク上で新
しいサービスが始まった場合、新しいプラグインをイン
ストールする、あるいは新しいサービスに対応したアプ
リケーションを利用することにより、そのサービスを享
受することができる。しかし、ここでの大きな問題は、
もともと安価にするために高性能なCPUを内蔵せず、
ハードウェアの拡張性を持たないネットワークコンピュ
ータでは、計算量を必要とする、より高度なサービスを
受けるためには、より高性能なコンピュータに買い換え
るか、機能拡張を行うためのハードウェアを追加するか
を行う必要がある。また、新しいサービスを開始する側
から見ると、ユーザの持つコンピュータの性能にバラツ
キがあるため、多くのユーザを獲得するためには平均的
なコンピュータの性能で足りる範囲の計算量のサービス
しか始められないことになり、ネットワーク上での新し
いサービスが限られてしまうことになる。
In an environment based on a network computer shown in the prior art,
When a new service starts on the network, users using the network computer, a client on the network, can enjoy the service by installing a new plug-in or using an application that supports the new service. can do. But the big problem here is that
Originally without a high-performance CPU to make it cheaper,
For networked computers that do not have the scalability of hardware, you need to buy a higher-performance computer or add hardware to expand the functions to obtain more advanced services that require computational complexity. Need to do. Also, from the point of view of a new service starter, since the performance of the computer possessed by users varies, only a service with a calculation amount within the range of the average computer performance can be started to acquire many users. And new services on the network will be limited.

【0008】本発明の目的は、利用者が、より高性能な
コンピュータに買い換えるか、機能拡張を行うためのハ
ードウェアを追加するかを行うことなしに、計算量を必
要とする、より高度なサービスを受けられるようにする
ことにある。
[0008] It is an object of the present invention to provide a more advanced computer which requires a large amount of calculation without having to replace the computer with a higher performance computer or to add hardware for expanding functions. To be able to receive services.

【0009】[0009]

【課題を解決するための手段】本発明のネットワークコ
ンピュータは以下のように構成される。
The network computer of the present invention is configured as follows.

【0010】ネットワークにより接続された複数のコン
ピュータにより構成され、そのうちの少なくとも1つの
コンピュータがアプリケーションプログラムを配布する
サーバであり、残りのコンピュータが前記アプリケーシ
ョンプログラムをダウンロードし、実行するクライアン
トとなるコンピュータであるシステムにおいて、複数の
前記クライアントの一部に、プログラムにより機能を随
時変更し再構成することが可能な拡張ハードウェアを搭
載する。
[0010] A plurality of computers connected by a network, at least one of which is a server for distributing an application program, and the other computers are clients for downloading and executing the application program. In the system, a part of the plurality of clients is equipped with extended hardware capable of changing and reconfiguring functions at any time by a program.

【0011】そして、サーバに格納されるアプリケーシ
ョンプログラムが、その一部の機能に対して、前記拡張
ハードウェアのプログラムコードとクライアントのメイ
ンのプロセッサのコード、の双方のコードを含むように
する。
The application program stored in the server includes, for some functions, both the program code of the extended hardware and the code of the main processor of the client.

【0012】さらに、個々のクライアントのOSが各ク
ライアントに前記拡張ハードウェアが実装されているか
否かを判断し、前記アプリケーションプログラムの中か
らハードウェア構成に適したコードのみ取り出す機能を
持つ。これにより、アプリケーションプログラムがクラ
イアントにダウンロードされた際に、クライアントのハ
ードウェア構成に適したコードを取り出し実行すること
で、再構成可能な拡張ハードウェアを持つクライアント
のユーザは、より高速にアプリケーションを利用するこ
とが可能となるとともに、再構成可能な拡張ハードウェ
アを持たないユーザもメインプロセッサのコードが選択
されることでそのアプリケーションを利用することが可
能になる。
Further, the OS of each client has a function of determining whether or not the extended hardware is installed in each client, and extracting only a code suitable for a hardware configuration from the application program. Thus, when the application program is downloaded to the client, the user of the client having the reconfigurable expansion hardware can use the application faster by extracting and executing the code suitable for the hardware configuration of the client. In addition to this, a user without reconfigurable expansion hardware can use the application by selecting the code of the main processor.

【0013】同じ効果は、次のようにしても得られる。The same effect can be obtained as follows.

【0014】拡張ハードウェアで実現する機能を、後か
ら動的に追加/削除が可能なクライアント上のOSの拡
張機能として実現し、前記のアプリケーションプログラ
ムと同様に拡張ハードウェア用の拡張コードとメインプ
ロセッサコードの2種を含むようにする。そして、アプ
リケーションプログラム起動時にOSに対し、処理中に
利用する前記OSの拡張機能の種類を登録し、前記OS
は既にその拡張機能が、前記クライアント上に存在する
場合にはそれを用い、存在しない場合はネットワーク上
のサーバから必要とする拡張機能を転送し利用する。
The function realized by the extended hardware is realized as an extended function of the OS on the client which can be dynamically added / deleted later. Like the application program, the extended code for the extended hardware and the main function are added. Include two types of processor code. When the application program is started, the type of the extended function of the OS to be used during the processing is registered with the OS, and the OS is registered.
If the extended function already exists on the client, it is used. If not, the required extended function is transferred from a server on the network and used.

【0015】あるいは、拡張ハードウェアで実現する機
能を、実行時にアプリケーションプログラムに動的に追
加されるライブラリとして実現し、前記アプリケーショ
ンプログラムと同様に拡張ハードウェア用の拡張コード
とメインプロセッサコードの2種を含むようにする。そ
して、アプリケーションプログラムが起動時にOSに対
し、処理中に利用する前記動的ライブラリの種類を登録
し、前記OSは既にその動的ライブラリが、前記クライ
アント上に存在する場合にはそれを用い、存在しない場
合はネットワーク上のサーバから必要とする動的ライブ
ラリを転送し利用する。
Alternatively, the function realized by the extended hardware is realized as a library which is dynamically added to the application program at the time of execution, and two types of extension code for the extended hardware and the main processor code are provided like the application program. To be included. When the application program starts, the type of the dynamic library to be used during the processing is registered with the OS, and the OS uses the dynamic library if the dynamic library already exists on the client. If not, transfer the required dynamic library from the server on the network and use it.

【0016】また、メインプロセッサ用のコード,拡張
ハードウェア用のコードが一体となっているのではな
く、アプリケーションプログラムまたはOSの拡張機能
または動的ライブラリ毎に、個々のコードをホストコン
ピュータ上に備えても同様の効果が得られる。
Also, the code for the main processor and the code for the extended hardware are not integrated, but individual codes are provided on the host computer for each extended function or dynamic library of the application program or OS. The same effect can be obtained.

【0017】一方、拡張ハードウェアをプログラムを実
行するプロセッサにより構成し、拡張コードを前記プロ
セッサの命令コードとするか、拡張ハードウェアをプロ
グラマブルロジックを用いて構成し、拡張コードを前記
プログラマブルロジックを再構成するためのコンフィギ
ュレーション・データとしても同様の効果が得られる。
On the other hand, the extension hardware is constituted by a processor for executing a program, and the extension code is used as an instruction code of the processor, or the extension hardware is constituted by using a programmable logic, and the extension code is reproduced by the programmable logic. Similar effects can be obtained as configuration data for configuration.

【0018】拡張ハードウェアがプログラマブルロジッ
クで構成され、その構造がクライアント間で異なる場合
に、拡張コードを、適当なゲート数と入出力端子数の論
理回路の機能をブール式等で記述した基本モジュールと
それらの接続関係を表現したコードとし、前記基本モジ
ュールをそれぞれプログラマブルロジックの基本プログ
ラム単位に割り付ける機能を持つことで複数の構造に対
応したコードを実現できる。また、複数のプログラマブ
ルロジックチップにまたがる大きな拡張コードの場合
は、基本モジュールを接続の度合に応じて分割し、各プ
ログラマブルロジックチップに配置配線し端子の機能を
決定する機能と、プログラマブルロジック内の基本プロ
グラム単位への基本モジュールの配置配線をする機能を
サーバまたはクライアント上に持つことで対応する。
In the case where the extension hardware is composed of programmable logic and the structure is different between clients, a basic module in which the extension code describes the function of a logic circuit with an appropriate number of gates and input / output terminals by a Boolean expression or the like And a code expressing the connection relation between them and having a function of allocating each of the basic modules to a basic program unit of programmable logic, thereby realizing a code corresponding to a plurality of structures. In the case of a large extension code that spans multiple programmable logic chips, the basic module is divided according to the degree of connection, and placed and wired in each programmable logic chip to determine the function of the terminal. This is supported by having the function of arranging and wiring basic modules for each program on the server or client.

【0019】これと同じ効果は、拡張コードを複数の構
造の個々のコードをすべて含むようにし、ハードウェア
構造に合わせたコードを選択する機能をコード選択機能
が持つことにより実現できる。
The same effect can be realized by making the extended code include all the individual codes having a plurality of structures and having a function of selecting a code according to the hardware structure by the code selecting function.

【0020】また、以上の効果は、メインプロセッサを
プログラマブルロジックで構成し、プログラマブルロジ
ックの利用されていない論理資源を拡張ハードウェアと
して利用することでも得られる。
The above effects can also be obtained by configuring the main processor with programmable logic and using logic resources that do not use the programmable logic as extended hardware.

【0021】クライアントのOSは、拡張ハードウェア
を利用する複数のアプリケーションを同時に実行するた
めに、各アプリケーションが利用する拡張ハードウェア
のハードウェア資源を管理し、必要のなくなったハード
ウェア資源を別のアプリケーションプログラムのために
再利用し、各アプリケーションをメインプロセッサで実
行するか、拡張ハードウェアで実行するかを決定する拡
張ハードウェア管理機能と前記拡張ハードウェアに入り
切らないアプリケーションプログラムの拡張コードを時
分割で入れ替えるコード入れ替え機能を持つ。
The OS of the client manages the hardware resources of the extended hardware used by each application in order to execute a plurality of applications using the extended hardware at the same time, and separates the hardware resources that are no longer needed from another. An extended hardware management function that determines whether to execute each application on the main processor or extended hardware by reusing it for an application program, and an extension code of the application program that cannot be contained in the extended hardware. It has a code swap function that swaps by splitting.

【0022】また、拡張ハードウェア管理機能は、クラ
イアント上で実行されるアプリケーションプログラム毎
に適宜設定される実行プライオリティ値,前記アプリケ
ーションプログラムをすべてメインプロセッサで処理す
るために必要とする正規化されたメインプロセッサの処
理能力値,前記アプリケーションプログラムを拡張ハー
ドウェアで処理する場合に必要な正規化されたメインプ
ロセッサと拡張ハードウェアの処理能力値,前記アプリ
ケーションプログラム毎に必要とする拡張ハードウェア
の正規化されたハードウェア資源使用量,前記クライア
ントのメインプロセッサの正規化された処理能力値,前
記クライアントの拡張ハードウェアの正規化された処理
能力値,前記クライアントの拡張ハードウェアの正規化
されたハードウェア資源量、および前記クライアントの
拡張ハードウェアのコードを入れ替えるために必要な正
規化された処理能力値を元に、前記クライアントの拡張
ハードウェアの持つハードウェア資源に入り切らない複
数のアプリケーションプログラムに対して、優先的に拡
張ハードウェアを利用するアプリケーションプログラ
ム,時分割で拡張コードを入れ替えて使用するアプリケ
ーションプログラム,メインプロセッサ用コードで処理
するアプリケーションプログラムを選択する。
The extended hardware management function includes an execution priority value appropriately set for each application program executed on the client, and a normalized main value required for processing all the application programs by the main processor. The processing capability of the processor, the normalized main processor required when the application program is processed by the extension hardware, the processing capability of the extension hardware, and the normalized hardware required for each application program. Hardware resource usage, normalized processing capacity of the main processor of the client, normalized processing capacity of the extended hardware of the client, normalized hardware of the extended hardware of the client, Based on the amount of resources and the normalized processing capacity required to replace the code of the client's extended hardware, for a plurality of application programs that cannot fit into the hardware resources of the client's extended hardware, Then, an application program that preferentially uses the extended hardware, an application program that is used by exchanging extension codes in a time-sharing manner, and an application program that is processed by the main processor code are selected.

【0023】拡張ハードウェアが、複数の内部状態を同
時に保持し、かつそれらを切り替える機能を持ち、内部
状態のみを時分割で切り替えて機能を共有することによ
り、複数のアプリケーションが同時に同じ拡張コードを
拡張ハードウェアで利用できる。
The extended hardware has a function of holding a plurality of internal states at the same time and switching between them, and by switching only the internal states in a time-sharing manner to share functions, a plurality of applications can simultaneously execute the same extended code. Available with extended hardware.

【0024】また、拡張ハードウェアが、複数の内部状
態と複数の構成データを同時に保持し、かつそれらを切
り替える機能を持ち、内部状態と構成データを時分割で
切り替えて使用することにより、複数のアプリケーショ
ンが同時に複数の拡張コードを拡張ハードウェアで利用
できる。
Further, the extended hardware has a function of simultaneously holding a plurality of internal states and a plurality of configuration data, and having a function of switching between the plurality of internal states and the plurality of configuration data. An application can use multiple extension codes simultaneously on extension hardware.

【0025】さらに、拡張ハードウェアが、複数の内部
状態と複数の構成データを同時に保持し、かつそれらが
外部から与えられる識別番号と、あらかじめ構成デー
タ,内部状態毎に割り当てられた識別番号と一致する部
分のみが選択される機能を持つことにより、拡張ハード
ウェア内に実際に存在する内部状態、構成データの数よ
りも多くのハードウェア機能を実現できる。
Further, the extension hardware simultaneously holds a plurality of internal states and a plurality of configuration data, and matches the identification number given from outside with the configuration data and the identification number assigned to each internal state in advance. By having the function of selecting only the part to be executed, more hardware functions can be realized than the internal state and the number of configuration data actually existing in the extended hardware.

【0026】[0026]

【発明の実施の形態】BEST MODE FOR CARRYING OUT THE INVENTION

<実施例1>図1は本発明のコンピュータシステムの一
例である。本コンピュータシステムはサーバと、複数個
のクライアントによって構成される。図1ではサーバは
102クライアントは103と104である。サーバとク
ライアントはそれぞれネットワーク112,113で接
続されており、相互にメッセージやデータの送受信をす
ることができる。
Embodiment 1 FIG. 1 shows an example of a computer system according to the present invention. The computer system includes a server and a plurality of clients. In Figure 1, the server is
102 clients are 103 and 104. The server and the client are connected via networks 112 and 113, respectively, and can mutually transmit and receive messages and data.

【0027】サーバ102はクライアントに向けて提供
するためのクライアント上で動作可能なアプリケーショ
ンプログラム108を保有している。
The server 102 has an application program 108 operable on the client to be provided to the client.

【0028】クライアント103は、メインプロセッサ
105を備えており、さらに拡張ハードウェア106を
搭載している。一方、クライアント104は、メインプ
ロセッサ107を備えているが、拡張ハードウェアは搭
載していない。
The client 103 has a main processor 105 and further has extended hardware 106. On the other hand, the client 104 includes the main processor 107, but does not include extended hardware.

【0029】クライアント103,104はサーバ10
2からアプリケーションプログラムを自機上にそれぞれ
読み込み(116,118)、実行することができる。
またそれぞれのハードウェアに適したコードをアプリケ
ーションプログラム116,118から選択する、コー
ド選択機能123,124をそれぞれのOS121,1
22に備えている。
The clients 103 and 104 are the server 10
2, application programs can be read into the own device (116, 118) and executed.
A code selection function 123, 124 for selecting a code suitable for each hardware from the application programs 116, 118 is provided for each OS 121, 1
22.

【0030】アプリケーションプログラム108はその
一部として拡張ハードウェア106上で動作可能なコー
ドである拡張コード109と、メインプロセッサ105
または107上で動作可能なメインプロセッサコード1
10を含んでいるため、ハードウェア構成が異なるクラ
イアント上でそのアプリケーションを実行することがで
きる。
As part of the application program 108, an extension code 109, which is a code operable on the extension hardware 106, and a main processor 105
Or main processor code 1 operable on 107
10, the application can be executed on a client having a different hardware configuration.

【0031】図1においてクライアント103ではコー
ド選択機能123が拡張コード115を選択し、クライア
ント104ではコード選択機能124がメインプロセッ
サコード120を選択し実行する様子を示している。
FIG. 1 shows that the code selection function 123 selects the extension code 115 in the client 103, and the code selection function 124 selects and executes the main processor code 120 in the client 104.

【0032】また、図1のコード選択機能123,12
4と同様な機能をサーバ102上に備え、アプリケーシ
ョンプログラムを転送する先のクライアントのハードウ
ェア構成に合わせたコードを選択し、転送することでも
図1と同等のコンピュータシステムを実現することがで
きる。
Further, the code selection functions 123 and 12 shown in FIG.
A computer system equivalent to that shown in FIG. 1 can be realized by providing the same function as that of the server 4 on the server 102, selecting a code corresponding to the hardware configuration of the client to which the application program is to be transferred, and transferring the code.

【0033】次に図2から図6を用いて、図1で示した
コンピュータシステム上で、あるアプリケーションプロ
グラムを提供する様子を説明する。
Next, the manner in which a certain application program is provided on the computer system shown in FIG. 1 will be described with reference to FIGS.

【0034】図2ではサーバ102はアプリケーション
プログラムとして3次元CG処理を行うプログラム20
8を保持している。3次元CGプログラム208は拡張
コード209とメインプロセッサコード210を含んで
いる。矢印230はクライアント103がサーバ102
に対して必要なアプリケーションプログラムの要求を発
行する様子を示し、矢印231はサーバ102がクライ
アント103に3次元CG208を転送する様子を示し
ている。3次元CGプログラム214は3次元CGプロ
グラム208がクライアント103上に読み込まれたも
のである。
In FIG. 2, the server 102 is a program 20 for performing three-dimensional CG processing as an application program.
8 is held. The three-dimensional CG program 208 includes an extension code 209 and a main processor code 210. The arrow 230 indicates that the client 103 is the server 102
, A request for a required application program is issued to the client 103, and an arrow 231 indicates that the server 102 transfers the three-dimensional CG 208 to the client 103. The three-dimensional CG program 214 is obtained by reading the three-dimensional CG program 208 on the client 103.

【0035】図3は図2の3次元CGプログラム208
の拡張コード209の1つの機能を示している。図3の
式300は3次元の座標値(x,y,z)を行列301
によって変換する3次元座標変換関数である。この機能
を拡張ハードウェア106上で行うことで3次元の物体
の移動,回転などの計算を高速に行うことができる。
FIG. 3 shows the three-dimensional CG program 208 of FIG.
Of the extension code 209 of FIG. The equation 300 in FIG. 3 is a matrix 301 representing three-dimensional coordinate values (x, y, z).
Is a three-dimensional coordinate conversion function. By performing this function on the extended hardware 106, calculations such as movement and rotation of a three-dimensional object can be performed at high speed.

【0036】次に図4,図5,図6を用いて図2のコン
ピュータシステムの動作を説明する。
Next, the operation of the computer system shown in FIG. 2 will be described with reference to FIGS.

【0037】図4はクライアント103の動作を示した
PADである。最初のステップ401ではクライアント1
03のOS121は、サーバ102に対して必要なアプ
リケーションプログラム3次元CG208の要求を発行
する。ステップ401は図2の矢印230で示した動作
に対応する。
FIG. 4 is a PAD showing the operation of the client 103. In the first step 401, Client 1
The 03 OS 121 issues a request for the required application program three-dimensional CG 208 to the server 102. Step 401 corresponds to the operation indicated by arrow 230 in FIG.

【0038】次にステップ402でクライアント103
はサーバ102からのデータ受信待ち状態に入り、サー
バ102が送信する3次元CGプログラム208をロー
ドする。ロードされたプログラムが214である。ステ
ップ402は図2の矢印231で示した動作に対応する。
Next, at step 402, the client 103
Enters a state of waiting for data reception from the server 102, and loads the three-dimensional CG program 208 transmitted by the server 102. The loaded program is 214. Step 402 corresponds to the operation indicated by arrow 231 in FIG.

【0039】ステップ403のコード選択機能では、O
S121が、ロードした3次元CGプログラム214か
らクライアント103のハードウェア構成に適したコー
ドを選択して拡張ハードウェア106に準備する。図2
では拡張コード215である3次元座標変換関数300
を拡張ハードウェア106上に準備する。ステップ40
3の詳細は後述する。
In the code selection function of step 403, O
In step S <b> 121, a code suitable for the hardware configuration of the client 103 is selected from the loaded three-dimensional CG program 214 and is prepared in the extended hardware 106. FIG.
Now, the three-dimensional coordinate conversion function 300 which is the extension code 215
Is prepared on the extension hardware 106. Step 40
Details of 3 will be described later.

【0040】ステップ404では3次元CGプログラム
214を実行する。このとき3次元CG処理の大部分は
メインプロセッサ105上で実行するが、拡張コード2
15で表現されている3次元座標変換関数300は拡張
ハードウェア上で実行される。このため3次元座標変換
が高速に実行できる。
In step 404, the three-dimensional CG program 214 is executed. At this time, most of the three-dimensional CG processing is executed on the main processor 105.
The three-dimensional coordinate conversion function 300 represented by 15 is executed on extended hardware. Therefore, three-dimensional coordinate conversion can be performed at high speed.

【0041】図5はサーバ102の動作を示したPAD
である。最初のステップ501はクライアント103か
らのアプリケーションプログラムの要求を待つループで
ある。
FIG. 5 is a PAD showing the operation of the server 102.
It is. The first step 501 is a loop for waiting for a request for an application program from the client 103.

【0042】ステップ502はクライアント103が3
次元CGプログラム208の転送要求を発行した場合に
ステップ503に進む、また要求が発行されない場合は
ステップ501でループする。
In step 502, the client 103 determines that
If a transfer request for the dimensional CG program 208 has been issued, the process proceeds to step 503. If no request has been issued, the process loops at step 501.

【0043】ステップ503はクライアント103の要
求に従って3次元CGプログラム208を送信する。
In step 503, the three-dimensional CG program 208 is transmitted according to a request from the client 103.

【0044】図6はクライアント103の機能の一部で
あるコード選択機能600(図4のステップ403)の
動作を示した図である。最初のステップ601はクライ
アント103のハードウェア構成に従った分岐である。
103が拡張ハードウェア106を持つ場合には602
に進み、持たない場合には605に進む。
FIG. 6 is a diagram showing the operation of the code selection function 600 (step 403 in FIG. 4) which is a part of the function of the client 103. The first step 601 is a branch according to the hardware configuration of the client 103.
602 if 103 has extended hardware 106
If no, go to 605.

【0045】ステップ602は拡張ハードウェア106
の種類に従った分岐である。例えば拡張ハードウェアの
種類がプログラマブルロジックである場合にはステップ
603に進み、汎用プロセッサである場合には604に進
む。その他の拡張ハードウェアとして搭載可能なプロセ
ッサについても本ステップの分岐を拡張することで対応
できる。
In step 602, the extension hardware 106
Is a branch according to the type. For example, if the type of extended hardware is programmable logic,
Proceed to 603, and if it is a general-purpose processor, proceed to 604. A processor that can be mounted as other extended hardware can be dealt with by extending the branch of this step.

【0046】ステップ603ではアプリケーションプロ
グラムからプログラマブルロジック用のコードを選択す
る。図2の例ではこのステップで3次元CGプログラム
214の一部として拡張コード215を選択する。
In step 603, a code for programmable logic is selected from the application program. In the example of FIG. 2, in this step, a three-dimensional CG program
The extension code 215 is selected as part of 214.

【0047】ステップ604ではアプリケーションプロ
グラムから汎用プロセッサ用のコードを選択する。
In step 604, a code for a general-purpose processor is selected from the application program.

【0048】ステップ605ではアプリケーションプロ
グラムからメインプロセッサ用のコードを選択する。
At step 605, a code for the main processor is selected from the application program.

【0049】以上のサーバ102とクライアント103
の動作の相互作用により、サーバ102上の3次元CG
プログラム208はクライアント103上にロードされ
る。さらにアプリケーションプログラムはメインプロセ
ッサ105と拡張ハードウェア106上で実行すること
ができる。
The above server 102 and client 103
Of the three-dimensional CG on the server 102
The program 208 is loaded on the client 103. Further, the application program can be executed on the main processor 105 and the extension hardware 106.

【0050】<実施例2>図7は本発明の第2の実施例
である。図1とはサーバ102が保有するアプリケーシ
ョンプログラムの構成が異なる。図1のアプリケーショ
ンプログラム108は拡張コード109とメインプロセッ
サコード110を含んでいたが、図7では拡張ハードウ
ェア上で実現する機能は拡張OS725として保有す
る。拡張OS725は拡張コード709,メインプロセ
ッサコード710を含んでおり、図1のアプリケーショ
ンプログラム108と同様に、クライアント103がロ
ード可能なOSとして提供される。
<Embodiment 2> FIG. 7 shows a second embodiment of the present invention. 1 differs from the configuration of the application program held by the server 102. Although the application program 108 of FIG. 1 includes the extension code 109 and the main processor code 110, the functions realized on the extension hardware are held as the extension OS 725 in FIG. The extended OS 725 includes an extended code 709 and a main processor code 710, and is provided as an OS that can be loaded by the client 103, like the application program 108 in FIG.

【0051】クライアント103ではアプリケーション
プログラム714の起動に際し、必要な拡張OSが不足
している場合にはサーバ102から必要な拡張OSをロ
ードし、拡張ハードウェア106上で実行する。
When the application program 714 is activated, the client 103 loads the required extended OS from the server 102 and executes it on the extended hardware 106 if the required extended OS is insufficient.

【0052】<実施例3>図8は本発明の第3の実施例
である。図1とはサーバ102が保有するアプリケーシ
ョンプログラムの構成が異なる。図8では拡張ハードウ
ェア上で実現する機能は動的ライブラリ825として保
有する。動的ライブラリ825は拡張コード809,メ
インプロセッサコード810を含んでおり、図1のアプ
リケーションプログラム108と同様に、クライアント
103がロード可能な動的ライブラリとして提供され
る。
<Embodiment 3> FIG. 8 shows a third embodiment of the present invention. 1 differs from the configuration of the application program held by the server 102. In FIG. 8, the function realized on the extended hardware is held as a dynamic library 825. The dynamic library 825 includes an extension code 809 and a main processor code 810, and is provided as a dynamic library that can be loaded by the client 103, like the application program 108 in FIG.

【0053】クライアント103ではアプリケーション
プログラム814の起動に際し、必要な動的ライブラリ
が不足している場合にはサーバ102から必要な動的ラ
イブラリをロードし、拡張ハードウェア106上で実行
する。
When the client 103 starts up the application program 814, if the required dynamic library is insufficient, the client 103 loads the required dynamic library from the server 102 and executes it on the extended hardware 106.

【0054】<実施例4>図9は本発明の第4の実施例
である。図1とはサーバ102が保有する、アプリケー
ションプログラムの構成が異なる。図9ではメインプロ
セッサのみで動作するアプリケーションプログラム90
9と拡張ハードウェアに対応したアプリケーションプロ
グラム910をそれぞれ保持し、それぞれをクライアン
ト103がロード可能なプログラムとして提供する。
<Embodiment 4> FIG. 9 shows a fourth embodiment of the present invention. The configuration of the application program held by the server 102 is different from that of FIG. FIG. 9 shows an application program 90 operating only on the main processor.
9 and application programs 910 corresponding to the extended hardware, and each is provided as a program that can be loaded by the client 103.

【0055】クライアント103はそのハードウェア構
成に合ったアプリケーションプログラムをロードし、拡
張ハードウェア106上で実行する。またアプリケーシ
ョンプログラムは図7,図8と同様に拡張OS、または
動的ライブラリであっても同様の機能が実現できる。
The client 103 loads an application program suitable for the hardware configuration and executes the application program on the extended hardware 106. Similar functions can be realized even if the application program is an extended OS or a dynamic library as in FIGS.

【0056】<実施例5>また、上記した図1,図7,
図8,図9の実施例は拡張ハードウェア106をプログ
ラムを実行する汎用プロセッサまたはプログラマブルロ
ジックにより構成することもできる。
<Embodiment 5> In addition, FIG. 1, FIG.
In the embodiments shown in FIGS. 8 and 9, the extension hardware 106 can be constituted by a general-purpose processor or a programmable logic for executing a program.

【0057】<実施例6>図10は第6の実施例の構成
を示した図である。図10では拡張ハードウェア106
はプログラマブルロジックである。図1とは拡張コード
1009が異なる。図10の拡張コードはプログラマブ
ルロジック用のコードであるが、異なった構成のプログ
ラマブルロジックに対応できるように抽象度の高い記述
になっている。拡張コード1009をクライアント10
3上にロードしたものが、1015である。図10では
拡張コード1015を拡張ハードウェア106のプログ
ラマブルロジックの構成に合うように変換するコード変
換機能1023を備えている。
<Embodiment 6> FIG. 10 is a diagram showing a configuration of a sixth embodiment. In FIG. 10, the extension hardware 106
Is a programmable logic. An extension code 1009 is different from FIG. Although the extension code in FIG. 10 is a code for a programmable logic, it is a description with a high level of abstraction so as to be compatible with a programmable logic having a different configuration. Extend code 1009 to client 10
The one loaded on 3 is 1015. FIG. 10 includes a code conversion function 1023 that converts the extension code 1015 to match the configuration of the programmable logic of the extension hardware 106.

【0058】図11は図10の拡張コード1015の例
である。1104,1105は適当な大きさのゲート数
と入力端子数の論理回路の機能をブール式(論理演算
式)や算術演算式などの抽象的な記述で表わした基本モ
ジュールの例である。基本モジュールをいくつか定義
し、さらに基本モジュール間の接続関係を1106に定
義することで、拡張コードを記述する。1101は基本
モジュールの個数を定義する記述、1102は拡張コー
ド1015の外部からの入出力数を定義する記述、11
03は外部からの入出力と基本モジュールとの接続を定
義する記述である。
FIG. 11 shows an example of the extension code 1015 in FIG. Reference numerals 1104 and 1105 are examples of basic modules that express the function of a logic circuit having an appropriate number of gates and input terminals by an abstract description such as a Boolean expression (logical operation expression) or an arithmetic operation expression. An extension code is described by defining some basic modules and defining a connection relationship between the basic modules in 1106. 1101 is a description that defines the number of basic modules, 1102 is a description that defines the number of inputs and outputs from the outside of the extension code 1015, and 11
03 is a description that defines the connection between the input / output from the outside and the basic module.

【0059】図12は図11の拡張コード1015が基
本モジュールとその接続関係で表現される様子を図で表
現したものである。
FIG. 12 is a diagram showing how the extension code 1015 of FIG. 11 is represented by basic modules and their connection relations.

【0060】図13は拡張ハードウェア106のプログ
ラマブルロジックの基本プログラム単位を示したもので
ある。基本プログラム単位1300は一定数の入出力端
子と論理素子を持つ論理回路のブロックである。図13
は4入力1出力で再構成可能論理1303はコンフィグ
レーションメモリ1301の内容により、任意の論理関
数を実現できる。また内部状態レジスタ1304は状態
を保持するフリップフロップである。プログラマブルロ
ジックでは基本ブロックがアレー状に並んでいる。基本
プログラム単位内,基本プログラム単位間の配線は、書
き換え可能なメモリに格納された配線データによって決
定される。配線データは基本ブロック間の配線の有無を
0または1で示したビットパターンで表現される。
FIG. 13 shows a basic program unit of the programmable logic of the extension hardware 106. The basic program unit 1300 is a block of a logic circuit having a fixed number of input / output terminals and logic elements. FIG.
The four-input one-output reconfigurable logic 1303 can realize an arbitrary logic function according to the contents of the configuration memory 1301. The internal state register 1304 is a flip-flop that holds a state. In programmable logic, basic blocks are arranged in an array. Wiring within a basic program unit and between basic program units is determined by wiring data stored in a rewritable memory. The wiring data is represented by a bit pattern indicating whether or not there is a wiring between the basic blocks by 0 or 1.

【0061】図14を用いてコード変換機能1023の
処理を説明する。コード変換機能1023の入力は拡張
コード1015である。出力はプログラマブルロジック
の配線データである。
The processing of the code conversion function 1023 will be described with reference to FIG. The input of the code conversion function 1023 is an extension code 1015. The output is wiring data of the programmable logic.

【0062】ステップ1402は基本モジュール110
4をプログラマブルロジックの基本プログラム単位13
00に割り当て、1300内部のコンフィグレーション
メモリに設定するデータを決定する。他のすべての基本
モジュールについても同様の処理を行う。
Step 1402 corresponds to the basic module 110
4 is the basic program unit of programmable logic 13
00, data to be set in the configuration memory 1300 is determined. Similar processing is performed for all other basic modules.

【0063】ステップ1403は基本ブロック単位に割
り付けの済んだ基本モジュールを複数のプログラマブル
ロジック・チップのどれに割り付けるかを決定する。
In step 1403, it is determined to which of the plurality of programmable logic chips the basic module allocated in the basic block unit is allocated.

【0064】ステップ1404はプログラマブルロジッ
ク・チップ間の配置配線を決定し、端子の割り当てを決
める。
Step 1404 determines the arrangement and wiring between the programmable logic chips and determines the terminal assignment.

【0065】ステップ1405はプログラマブルロジッ
ク・チップ内の配置配線を決定する。
Step 1405 determines placement and wiring in the programmable logic chip.

【0066】以上の各ステップで決定された配置配線は
配線データとして書き換え可能なメモリに格納される。
The placement and wiring determined in each of the above steps is stored in a rewritable memory as wiring data.

【0067】<実施例7>図6において602の選択機
能に、プログラマブルロジックやプロセッサの種類毎の
選択を可能とすることにより、拡張ハードウェアの構造
の種類に応じてコードを選択し実行することができる。
<Embodiment 7> In FIG. 6, the selection function 602 allows selection of each type of programmable logic or processor, thereby selecting and executing a code in accordance with the type of the structure of the extended hardware. Can be.

【0068】<実施例8>図15は第8の実施例の構成
を示した図である。図15では、図1,図7,図8,図
9,図10におけるメインプロセッサ105の機能が、
拡張ハードウェアの一部のハードウェア資源を用いて構
成されており、残りのハードウェア資源を拡張ハードウ
ェア106として利用する。このような構成において
も、上記各図の実施例に示したシステムを構成すること
ができる。
<Embodiment 8> FIG. 15 is a diagram showing a configuration of an eighth embodiment. 15, the functions of the main processor 105 in FIGS. 1, 7, 8, 9, and 10 are as follows.
It is configured by using some hardware resources of the extension hardware, and the remaining hardware resources are used as the extension hardware 106. Even in such a configuration, the systems shown in the embodiments in the above-described drawings can be configured.

【0069】<実施例9>図16は第9の実施例の構成
を示した図である。図16において、103は図1にお
けるクライアント103と同じ構成であり、メインプロ
セッサ105と拡張ハードウェア106を持つ。121
はOSであるが、ここで、図1とは異なり、コード選択
機能123の他に、拡張ハードウェア管理機能160
1,拡張コード入れ替え機能1603を持つ。またクラ
イアント103では複数のアプリケーションプログラム
を実行できる。ここではアプリケーションプログラム
A,1604とアプリケーションプログラムB,1607を
実行する例を示す。
<Embodiment 9> FIG. 16 shows a structure of a ninth embodiment. In FIG. 16, reference numeral 103 denotes the same configuration as the client 103 in FIG. 1, and includes a main processor 105 and extended hardware 106. 121
Is an OS. Here, unlike FIG. 1, in addition to the code selection function 123, the extended hardware management function 160
1. It has an extension code replacement function 1603. The client 103 can execute a plurality of application programs. Here, an example is shown in which the application programs A and 1604 and the application program B and 1607 are executed.

【0070】アプリケーションが終了した時、アプリケ
ーションが新たに始まる時、ユーザの指示があった時の
いずれかにアプリケーション毎のプライオリティーPi
が決定され、拡張ハードウェア管理機能1601が起動
し、各アプリケーションをメインプロセッサ105で実
行するか、拡張ハードウェア106で実行するか、ある
いは拡張ハードウェアで実行するが、時分割で内容を入
れ替えながら実行するかを決定する。
The priority Pi for each application can be set when the application is terminated, when the application is newly started, or when a user's instruction is given.
Is determined, the extended hardware management function 1601 is activated, and each application is executed by the main processor 105, executed by the extended hardware 106, or executed by the extended hardware. Decide what to do.

【0071】図17は上記拡張ハードウェア管理機能1
601の動作を説明する図である。図中で、iはアプリ
ケーションプログラムi、cはクライアントc、MPは
メインプロセッサ、EHWは拡張ハードウェア、Piは
iに設定される実行プライオリティ値、MmiはiをM
Pだけで処理するために必要とする正規化されたMPの
処理能力値、MsiはiをEHWで処理する場合に必要
な正規化されたMPの処理能力値、MeiはiをEHW
で処理する場合に必要な正規化されたEHWの処理能力
値、Reiはiが必要とするEHWの正規化されたハー
ドウェア資源使用量、MmcはcのMPの正規化された
処理能力値、MecはcのEHWの正規化された処理能
力値、RecはcのEHWの正規化されたハードウェア
資源量、DmcはcのEHWのコードを入れ替えるため
に必要な正規化された処理能力値、Smmcは現在cの
MP上で実行している処理の必要処理能力量の総和、S
recは現在cのEHW上で処理しているハードウェア
資源量の総和、Ndは現在cでコードを入れ替えにより
処理している拡張コードの総数である。
FIG. 17 shows the extended hardware management function 1
FIG. 601 is a diagram for explaining the operation of FIG. In the figure, i is an application program i, c is a client c, MP is a main processor, EHW is extended hardware, Pi is an execution priority value set to i, and Mmi is i
The normalized MP processing capacity required for processing only with P, Msi is the normalized MP processing capacity required when processing i with EHW, and Mei is i with EHW
, Rei is the normalized hardware resource usage of the EHW required by i, Mmc is the normalized processing capacity value of the MP of c, Mec is the normalized processing capacity value of c EHW, Rec is the normalized hardware resource amount of c EHW, Dmc is the normalized processing capacity value required to replace the code of c EHW, Smmc is the sum of the required processing capacity of the processing currently executed on the MP of c, S
rec is the total amount of hardware resources currently being processed on the EHW of c, and Nd is the total number of extension codes currently being processed by replacing the code in c.

【0072】図17では、まず総和値Smmc,Sre
c,Ndを初期化する(1701)、次に、現在実行中の
各アプリケーションiについて、Piの高い順に170
3〜1710を繰り返す。1703の条件分岐は、メイ
ンプロセッサで処理できる限り、または拡張ハードウェ
アで実行するより、メインプロセッサで実行した方が高
速に処理できる場合に1704〜1705へ、そうでな
い場合は1706〜1710へ分岐する。1704〜1
705はアプリケーションiをメインプロセッサで実行
する様に設定する。1706の条件分岐は拡張ハードウ
ェアのハードウェア資源が満杯になっているかどうかを
判定し、まだ余裕がある場合には1707〜1708へ、余
裕がない場合は1709〜1710へ分岐する。170
7〜1708ではアプリケーションiを拡張ハードウェ
アで実行する様に設定する。1709〜1710ではア
プリケーションiの拡張コードを時分割で入れ替えて実
行する様に設定する。このとき、既に拡張ハードウェア
で実行することを設定したアプリケーションの中でiと
入れ替えてもハードウェア資源が満杯にならず、最もプ
ライオリティが低いアプリケーションjを入れ替え対象
とする。もし、そのような単独のjが存在しなければ、
2つ以上のアプリケーションのペアをjとする。以上の
処理により、現在実行中の複数のアプリケーションをど
のような形態で実行するかを決定する(図16において
1610,1611)。
In FIG. 17, first, the sum values Smmc, Sre
c and Nd are initialized (1701). Next, for each application i currently being executed, 170
Repeat 3-1710. The conditional branch 1703 branches to 1704 to 1705 as long as the processing can be executed by the main processor, as long as the processing can be executed by the main processor or as compared with the case where the processing is executed by the extended hardware, and to 1706 to 1710 otherwise. . 1704-1
705 sets the application i to be executed by the main processor. The conditional branch at 1706 determines whether the hardware resources of the extended hardware are full. If there is still room, the process branches to 1707 to 1708. If there is no room, the process branches to 1709 to 1710. 170
In steps 7 to 1708, the application i is set to be executed by the extended hardware. In steps 1709 to 1710, the extension code of the application i is set so as to be replaced by time division and executed. At this time, even if i is replaced with an application that has already been set to be executed by the extended hardware, the hardware resources do not become full and the application j with the lowest priority is replaced. If there is no such single j,
Let j be a pair of two or more applications. Through the above processing, it is determined in which form the plurality of applications currently being executed are to be executed (1610 and 1611 in FIG. 16).

【0073】次に、コード選択機能123は1601で
決定された実行方法に従って各アプリケーションのコー
ドを選択する(1612,1613)。また、アプリケ
ーションプログラム実行時に拡張コード入れ替え機能1
603が時分割の処理単位時間毎に入れ替え対象のアプ
リケーションの拡張コードを入れ替える(1615,1
616)。
Next, the code selection function 123 selects the code of each application according to the execution method determined in 1601 (1612, 1613). In addition, when the application program is executed, the extended code replacement function 1
Reference numeral 603 replaces the extension code of the application to be replaced for each time-division processing unit time (1615, 1
616).

【0074】<実施例10>図18は、複数の内部状態
を同時に保持し、かつそれらを切り替える機能を持つプ
ログラマブルロジックの構成を説明する図である。この
プログラマブルロジックは内部状態のみを時分割で切り
替えて使用することにより、複数のアプリケーションが
同時に同じ拡張コードを拡張ハードウェアで利用する場
合に適している。図18において1801はプログラマ
ブルロジックの基本プログラム単位である。1802は
再構成可能な論理回路部分で、コンフィグレーション・
メモリ1803によりその機能が定義される。1804
と1805は回路の内部状態を保持するためのレジスタ
である。このレジスタの値への書き込み信号と出力信号
は内部状態切り替え線1807により切り替わる。
<Embodiment 10> FIG. 18 is a diagram for explaining a configuration of a programmable logic having a function of simultaneously holding a plurality of internal states and switching between them. This programmable logic is suitable for a case where a plurality of applications simultaneously use the same extension code with extension hardware by switching only the internal state in a time-sharing manner. In FIG. 18, reference numeral 1801 denotes a basic program unit of the programmable logic. 1802 is a reconfigurable logic circuit part,
The function is defined by the memory 1803. 1804
And 1805 are registers for holding the internal state of the circuit. The write signal to the register value and the output signal are switched by the internal state switching line 1807.

【0075】<実施例11>図19は、複数の内部状態
と複数の構成データを同時に保持し、かつそれらを切り
替える機能を持つプログラマブルロジックの構成を説明
する図である。このプログラマブルロジックは内部状態
と構成データ(コンフィグレーションメモリの内容)を
時分割で切り替えて使用することにより、拡張ハードウ
ェア上に、同時に複数の機能を時分割で実現する場合に
適している。図19において1901はプログラマブル
ロジックの基本プログラム単位である。1902は再構
成可能な論理回路部分で、コンフィグレーション・メモ
リ1903,1904によりその機能が定義される。ま
た1906と1907は回路の内部状態を保持するため
のレジスタである。コンフィグレーション・メモリと内
部状態レジスタは論理切り替え線1909により切り替
わる。
<Embodiment 11> FIG. 19 is a diagram for explaining a configuration of a programmable logic having a function of simultaneously holding a plurality of internal states and a plurality of configuration data and switching between them. This programmable logic is suitable for a case where a plurality of functions are simultaneously implemented in a time-division manner on extended hardware by switching and using an internal state and configuration data (contents of a configuration memory) in a time-division manner. In FIG. 19, reference numeral 1901 denotes a basic program unit of the programmable logic. Reference numeral 1902 denotes a reconfigurable logic circuit whose function is defined by the configuration memories 1903 and 1904. Reference numerals 1906 and 1907 are registers for holding the internal state of the circuit. The configuration memory and the internal status register are switched by a logic switching line 1909.

【0076】<実施例12>図20は、複数の内部状態
と複数の構成データを同時に保持し、かつそれらが外部
から与えられる識別番号と、あらかじめ構成データ、内
部状態毎に割り当てられた識別番号と一致する部分のみ
が選択される機能つプログラマブルロジックの構成を説
明する図である。このプログラマブルロジックは切り替
えて使用できるコンフィグレーションメモリと内部レジ
スタの数よりも多くのハードウェア機能を時分割で実現
する場合に適している。図20において2001はプロ
グラマブルロジックの基本プログラム単位である。20
02は再構成可能な論理回路部分で、コンフィグレーシ
ョン・メモリ2003,2004によりその機能が定義
される。また2007と2008は回路の内部状態を保
持するためのレジスタである。論理切り替え線2011
により与えられる論理切り替え識別番号は、各コンフィ
グレーション・メモリと内部状態レジスタ毎に存在する
識別番号を記憶した比較回路2005,2006,20
07,2008により比較され、内容が一致したコンフ
ィグレーションメモリと内部状態レジスタが使用され
る。
<Embodiment 12> FIG. 20 shows an example in which a plurality of internal states and a plurality of configuration data are simultaneously held, and the identification numbers given from outside, the configuration data, and the identification numbers assigned to the respective internal states in advance. FIG. 4 is a diagram illustrating a configuration of a programmable logic in which only a part that matches the function is selected. This programmable logic is suitable for realizing time-divisional hardware functions more than the number of configuration memories and internal registers that can be used by switching. In FIG. 20, reference numeral 2001 denotes a basic program unit of the programmable logic. 20
Reference numeral 02 denotes a reconfigurable logic circuit portion, the function of which is defined by the configuration memories 2003 and 2004. 2007 and 2008 are registers for holding the internal state of the circuit. Logic switching line 2011
The logical switching identification numbers given by the comparison circuits 2005, 2006, and 20 store the identification numbers that exist in each configuration memory and each internal state register.
07 and 2008, the configuration memory and the internal status register whose contents match each other are used.

【0077】[0077]

【発明の効果】本発明により、ネットワークで接続され
たコンピュータ上で、サーバから配布されたアプリケー
ションプログラムをクライアント側で実行する際に、ア
プリケーションプログラムに合わせて、クライアント側
の計算機の構成を変え、処理に適した構成とすること
で、アプリケーションプログラムを高速に処理できるよ
うになる。また、従来、ネットワーク上で、クライアン
ト側に特殊なハードウェアを必要とする新しいサービス
を開始しようとする場合、クライアント側のユーザはそ
のために新しいクライアントを導入するか、特殊なハー
ドウェアをクライアント上に導入する必要があったし、
サービスの提供者は、新しいクライアントあるいは特殊
なハードウェアを持つごく一部のユーザに対してのみ新
しいサービスを提供することになった。しかし、本発明
を実施することにより、特殊なハードウェアを導入する
ことなく、新しいサービスを開始することが可能とな
る。
According to the present invention, when an application program distributed from a server is executed on a client side on a computer connected via a network, the configuration of a computer on the client side is changed in accordance with the application program and processing is performed. With this configuration, application programs can be processed at high speed. Conventionally, when trying to start a new service on the network that requires special hardware on the client side, the user on the client side must either install a new client or install special hardware on the client. Had to be introduced,
Service providers now offer new services only to a small percentage of users with new clients or specialized hardware. However, by implementing the present invention, a new service can be started without introducing special hardware.

【0078】また、本発明によればクライアント側の拡
張ハードウェアの有無に関係なく、あるいは拡張ハード
ウェアの構造に関係なくユーザは所望のアプリケーショ
ンを実行できる。
Further, according to the present invention, a user can execute a desired application irrespective of the presence or absence of the extension hardware on the client side or irrespective of the structure of the extension hardware.

【0079】さらに、本発明により1つのクライアント
上で、同時に複数のアプリケーションプログラムを実行
する場合に拡張ハードウェアのハードウェア資源を有効
に利用でき、またそのような機能を実現するのに適した
拡張ハードウェアに使用するプログラマブルロジックの
構成を提供する。
Further, according to the present invention, when a plurality of application programs are simultaneously executed on one client, the hardware resources of the extended hardware can be effectively used, and an extension suitable for realizing such a function can be realized. Provide a configuration of programmable logic used for hardware.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施例の構成の説明図。FIG. 1 is an explanatory diagram of the configuration of an embodiment of the present invention.

【図2】本発明の一実施例の動作の説明図。FIG. 2 is an explanatory diagram of the operation of one embodiment of the present invention.

【図3】拡張ハードウェアで処理する機能の説明図。FIG. 3 is an explanatory diagram of functions processed by extended hardware.

【図4】クライアントの動作の説明図。FIG. 4 is an explanatory diagram of an operation of a client.

【図5】サーバコンピュータの動作の説明図。FIG. 5 is an explanatory diagram of the operation of the server computer.

【図6】クライアントの構成に合わせてコードを選択す
るコード選択機能の説明図。
FIG. 6 is an explanatory diagram of a code selection function for selecting a code according to the configuration of a client.

【図7】拡張OSにより拡張ハードウェアを利用する場
合のシステム構成の説明図。
FIG. 7 is an explanatory diagram of a system configuration when extended hardware is used by an extended OS.

【図8】動的ライブラリにより拡張ハードウェアを利用
する場合のシステム構成の説明図。
FIG. 8 is an explanatory diagram of a system configuration when extended hardware is used by a dynamic library.

【図9】ハードウェア構成に合わせたアプリケーション
プログラムの中からクライアントの構成に合わせたコー
ドを転送する場合のシステム構成の説明図。
FIG. 9 is an explanatory diagram of a system configuration in a case where a code adapted to a client configuration is transferred from an application program adapted to a hardware configuration.

【図10】拡張コードを拡張ハードウェアの構造に合わ
せて変換するコード変換機能を持つ場合のシステム構成
の説明図。
FIG. 10 is an explanatory diagram of a system configuration having a code conversion function of converting an extension code according to the structure of extension hardware.

【図11】コード変換機能を持つ場合の拡張コードの説
明図。
FIG. 11 is an explanatory diagram of an extension code having a code conversion function.

【図12】図11の拡張コードの構造の説明図。FIG. 12 is an explanatory diagram of a structure of an extension code in FIG. 11;

【図13】拡張ハードウェアを構成するプログラマブル
ロジック内の基本プログラム単位の説明図。
FIG. 13 is an explanatory diagram of a basic program unit in the programmable logic constituting the extended hardware.

【図14】図10のコード変換機能の動作の説明図。FIG. 14 is an explanatory diagram of the operation of the code conversion function of FIG. 10;

【図15】拡張ハードウェア中にメインプロセッサ機能
を実現したクライアントの構成の説明図。
FIG. 15 is an explanatory diagram of a configuration of a client that realizes a main processor function in extended hardware.

【図16】複数のアプリケーションを同時に実行する場
合の構成の説明図。
FIG. 16 is an explanatory diagram of a configuration when a plurality of applications are executed simultaneously.

【図17】複数のアプリケーションを同時に実行する場
合に用いる拡張ハードウェア管理機能の動作の説明図。
FIG. 17 is an explanatory diagram of an operation of an extended hardware management function used when a plurality of applications are executed simultaneously.

【図18】内部状態を切り替える機能を持つプログラマ
ブルロジックの構成の説明図。
FIG. 18 is an explanatory diagram of a configuration of a programmable logic having a function of switching an internal state.

【図19】コンフィグレーション・メモリと内部状態を
切り替える機能を持つプログラマブルロジックの構成の
説明図。
FIG. 19 is an explanatory diagram of a configuration of a programmable logic having a function of switching between a configuration memory and an internal state.

【図20】コンフィグレーション・メモリと内部状態を
外部から与える識別番号により切り替える機能を持つプ
ログラマブルロジックの構成の説明図。
FIG. 20 is an explanatory diagram of a configuration of a configuration memory and a programmable logic having a function of switching an internal state by an identification number given from the outside;

【符号の説明】[Explanation of symbols]

105…メインプロセッサ、106…拡張ハードウェ
ア、112,113…通信ネットワーク。
105: main processor; 106: extended hardware; 112, 113: communication network.

Claims (14)

【特許請求の範囲】[Claims] 【請求項1】ネットワークにより接続された複数の種類
の異なるコンピュータにより構成され、そのうちの少な
くとも1つのコンピュータがアプリケーションプログラ
ムを配布するサーバであり、残りのコンピュータが前記
アプリケーションプログラムをダウンロードし、実行す
るクライアントとなるコンピュータであるシステムにお
いて、複数の前記クライアントの一部は、プログラムに
より機能を随時変更し再構成することが可能な拡張ハー
ドウェアを搭載し、サーバに格納された、アプリケーシ
ョンプログラムは、前記クライアントの拡張ハードウェ
アを再構成するためのプログラムコードである拡張コー
ドと、前記クライアントのメインのプロセッサ上で実行
されるべきコードであるメインプロセッサコード、の2
種のコードを含み、さらに、各クライアントに前記拡張
ハードウェアが実装されているか否か、また拡張ハード
ウェアの種類を判断し、前記アプリケーションプログラ
ムの拡張コードと、メインプロセッサコードの中から適
切なコードを取り出すコード選択機能を、ホストまたは
前記拡張ハードウェアを搭載したクライアントコンピュ
ータのいずれかに有し、拡張ハードウェアを搭載したク
ライアント上では、クライアントのハードウェアをアプ
リケーションプログラムに適した構成に随時再構成し実
行し、また拡張ハードウェアを搭載しないクライアント
上ではメインプロセッサコードで実行することを特徴と
するリコンフィグラブル・ネットワークコンピュータ。
1. A client configured by a plurality of different types of computers connected by a network, at least one of which is a server that distributes an application program, and the other computers download and execute the application program. A part of the plurality of clients is equipped with extended hardware capable of changing and reconfiguring functions at any time by a program, and an application program stored in a server is the client. Extension code which is a program code for reconfiguring the extension hardware of the above, and main processor code which is a code to be executed on the main processor of the client.
Types of code, and whether or not each client has the extended hardware, and also determines the type of the extended hardware, and selects an appropriate code from the extended code of the application program and the main processor code. Has a code selection function in the host or the client computer equipped with the extended hardware, and on the client equipped with the extended hardware, the client hardware is reconfigured at any time to a configuration suitable for the application program. A reconfigurable network computer that executes and executes main processor code on clients that do not have extended hardware.
【請求項2】請求項1において、拡張ハードウェアで実
現する機能を、後から動的に追加/削除が可能なクライ
アント上のOSの拡張機能として実現し、前記OSの拡
張機能が、請求項1におけるアプリケーションプログラ
ムと同様に拡張ハードウェア用の拡張コードとメインプ
ロセッサコードの2種を含み、アプリケーションプログ
ラムが起動時にOSに対し、処理中に利用する前記OS
の拡張機能の種類を登録し、前記OSは既にその拡張機
能が、前記クライアント上に存在する場合にはそれを用
い、存在しない場合はネットワーク上のサーバから必要
とする拡張機能を転送し利用するOS追加機能を、ホス
トまたは拡張ハードウェアを搭載したクライアントコン
ピュータのいずれかに有することを特徴とするリコンフ
ィグラブル・ネットワークコンピュータ。
2. A function according to claim 1, wherein the function realized by the extended hardware is realized as an extended function of an OS on a client which can be dynamically added / deleted later. 1 includes an extended code for extended hardware and a main processor code, similar to the application program in the first embodiment.
The OS registers the type of the extended function. If the extended function already exists on the client, the OS uses it. If not, the OS transfers and uses the required extended function from the server on the network. A reconfigurable network computer having an OS addition function in either a host or a client computer equipped with extended hardware.
【請求項3】請求項1において、拡張ハードウェアで実
現する機能を、実行時にアプリケーションプログラムに
動的に追加されるライブラリとして実現し、前記動的ラ
イブラリが、請求項1におけるアプリケーションプログ
ラムと同様に拡張ハードウェア用の拡張コードとメイン
プロセッサコードの2種を含み、アプリケーションプロ
グラムが起動時にOSに対し、処理中に利用する前記動
的ライブラリの種類を登録し、前記OSは既にその動的
ライブラリが、前記クライアント上に存在する場合には
それを用い、存在しない場合はネットワーク上のサーバ
から必要とする動的ライブラリを転送し利用する動的ラ
イブラリ追加機能を、ホストまたは拡張ハードウェアを
搭載したクライアントコンピュータのいずれかに有する
ことを特徴とするリコンフィグラブル・ネットワークコ
ンピュータ。
3. A function according to claim 1, wherein the function realized by the extended hardware is realized as a library dynamically added to an application program at the time of execution, and said dynamic library is similar to the application program according to claim 1. The application program registers the type of the dynamic library used during processing with the OS when the application program starts up, including the extension code for the extension hardware and the main processor code. A dynamic library adding function for transferring and using a required dynamic library from a server on the network using the client when the client is present on the client; Characterized by having one of the computers Configurable network computer.
【請求項4】請求項1,請求項2または請求項3におい
て、メインプロセッサ用のコード,拡張ハードウェア用
のコードが一体となっているのではなく、アプリケーシ
ョンプログラムまたはOSの拡張機能または動的ライブ
ラリ毎に、個々のコードをホストコンピュータ上に備え
たことを特徴とするリコンフィグラブル・ネットワーク
コンピュータ。
4. The method according to claim 1, wherein the code for the main processor and the code for the extended hardware are not integrated, but the extended function of the application program or the OS or the dynamic function is not integrated. A reconfigurable network computer wherein individual codes are provided on a host computer for each library.
【請求項5】請求項1,請求項2,請求項3または請求
項4において拡張ハードウェアをプログラムを実行する
プロセッサにより構成し、拡張コードを前記プロセッサ
の命令コードとすることを特徴とするリコンフィグラブ
ル・ネットワークコンピュータ。
5. The extended hardware according to claim 1, wherein the extended hardware is constituted by a processor for executing a program, and the extended code is an instruction code of the processor. Configurable network computer.
【請求項6】請求項1,請求項2,請求項3または請求
項4において拡張ハードウェアをプログラマブルロジッ
クを用いて構成し、拡張コードを前記プログラマブルロ
ジックを再構成するためのコンフィギュレーション・デ
ータとすることを特徴とするリコンフィグラブル・ネッ
トワークコンピュータ。
6. An extended hardware according to claim 1, wherein the extended hardware is configured by using programmable logic, and an extended code is configured with configuration data for reconfiguring the programmable logic. A reconfigurable network computer.
【請求項7】請求項6において、複数個のクライアント
の拡張ハードウェアがプログラマブルロジックであり、
その構造がそれぞれ異なる場合に、拡張コードは、適当
なゲート数と入出力端子数の論理回路の機能をブール式
等で記述した基本モジュールとそれらの接続関係を表現
したコードであり、前記基本モジュールをそれぞれプロ
グラマブルロジックの基本プログラム単位に割り付ける
機能と、複数のプログラマブルロジックチップにまたが
る大きな拡張コードの場合は、基本モジュールを接続の
度合に応じて分割し、各プログラマブルロジックチップ
に配置配線し端子の機能を決定する機能と、プログラマ
ブルロジック内の基本プログラム単位への基本モジュー
ルの配置配線をする機能をサーバまたはクライアント上
に持つことを特徴とするリコンフィグラブル・ネットワ
ークコンピュータ。
7. An apparatus according to claim 6, wherein the extended hardware of the plurality of clients is programmable logic.
When the structures are different from each other, the extension code is a code expressing a basic module in which a function of a logic circuit having an appropriate number of gates and the number of input / output terminals is described by a Boolean expression or the like and a connection relation between the basic modules. In the case of a large extension code that spans multiple programmable logic chips, the basic module is divided according to the degree of connection, and placed and wired to each programmable logic chip. A reconfigurable network computer characterized in that the server or the client has a function of determining a basic module and a function of arranging and wiring a basic module to a basic program unit in the programmable logic.
【請求項8】請求項5または請求項6において、複数個
のクライアントの拡張ハードウェアがそれぞれ異なる構
造を持つ場合に、拡張コードは前記複数の構造の個々の
コードをすべて含み、ハードウェア構造に合わせたコー
ドを選択する機能を前記コード選択機能が持つことを特
徴とするリコンフィグラブル・ネットワークコンピュー
タ。
8. An apparatus according to claim 5, wherein when the extension hardware of each of the plurality of clients has a different structure, the extension code includes all the individual codes of the plurality of structures, and A reconfigurable network computer, wherein the code selection function has a function of selecting a matched code.
【請求項9】請求項1,請求項2,請求項3,請求項
4,請求項6、請求項7または請求項8において、メイ
ンプロセッサがプログラマブルロジックで構成されてお
り、プログラマブルロジックの利用されていない論理資
源を拡張ハードウェアとして利用することを特徴とする
リコンフィグラブル・ネットワークコンピュータ。
9. The main processor according to claim 1, wherein the main processor is constituted by programmable logic, and the programmable logic is used. A reconfigurable network computer characterized by utilizing logical resources that have not been used as extended hardware.
【請求項10】請求項1,請求項2または請求項3にお
いて、クライアントのOSが、拡張ハードウェアを利用
する複数のアプリケーションを同時に実行できるよう
に、各アプリケーションが利用する拡張ハードウェアの
ハードウェア資源を管理し、必要のなくなったハードウ
ェア資源を別のアプリケーションプログラムのために再
利用し、各アプリケーションをメインプロセッサで実行
するか、拡張ハードウェアで実行するかを決定する拡張
ハードウェア管理機能と前記拡張ハードウェアに入り切
らないアプリケーションプログラムの拡張コードを時分
割で入れ替えるコード入れ替え機能を持つことを特徴と
するリコンフィグラブル・ネットワークコンピュータ。
10. The hardware of the extension hardware used by each application according to claim 1, 2 or 3 so that the OS of the client can execute a plurality of applications using the extension hardware at the same time. An extended hardware management function that manages resources, reuses hardware resources that are no longer needed for another application program, and determines whether each application runs on the main processor or on extended hardware. A reconfigurable network computer having a code replacement function for replacing, in a time-sharing manner, an extension code of an application program that cannot be accommodated in the extension hardware.
【請求項11】請求項10において、クライアント上で
実行されるアプリケーションプログラム毎に適宜設定さ
れる実行プライオリティ値,前記アプリケーションプロ
グラムをすべてメインプロセッサで処理するために必要
とする正規化されたメインプロセッサの処理能力値,前
記アプリケーションプログラムを拡張ハードウェアで処
理する場合に必要な正規化されたメインプロセッサと拡
張ハードウェアの処理能力値,前記アプリケーションプ
ログラム毎に必要とする拡張ハードウェアの正規化され
たハードウェア資源使用量,前記クライアントのメイン
プロセッサの正規化された処理能力値,前記クライアン
トの拡張ハードウェアの正規化された処理能力値,前記
クライアントの拡張ハードウェアの正規化されたハード
ウェア資源量、および前記クライアントの拡張ハードウ
ェアのコードを入れ替えるために必要な正規化された処
理能力値を元に、前記クライアントの拡張ハードウェア
の持つハードウェア資源に入り切らない複数のアプリケ
ーションプログラムに対して、優先的に拡張ハードウェ
アを利用するアプリケーションプログラム,時分割で拡
張コードを入れ替えて使用するアプリケーションプログ
ラム,メインプロセッサ用コードで処理するアプリケー
ションプログラムを選択する拡張ハードウェア管理機能
を持つことを特徴とするリコンフィグラブル・ネットワ
ークコンピュータ。
11. An apparatus according to claim 10, wherein an execution priority value appropriately set for each application program executed on said client, and a normalized main processor required for processing all said application programs by said main processor. A processing capability value, a normalized main processor required when the application program is processed by the extended hardware, a processing capability value of the extended hardware, and a normalized hardware of the extended hardware required for each application program. Hardware resource usage, normalized processing capacity of the main processor of the client, normalized processing capacity of the extended hardware of the client, normalized hardware resource of the extended hardware of the client, You And a plurality of application programs that do not fit in the hardware resources of the extended hardware of the client are prioritized based on the normalized processing capacity value required to replace the code of the extended hardware of the client. Reconfiguration characterized by having an extended hardware management function for selecting an application program that uses extended hardware, an application program that replaces and uses extension codes in a time-sharing manner, and an application program that is processed by main processor code. Rubble network computer.
【請求項12】請求項10において、複数のアプリケー
ションが同時に同じ拡張コードを拡張ハードウェアで利
用する場合に、前記拡張ハードウェアが、複数の内部状
態を同時に保持し、かつそれらを切り替える機能を持
ち、内部状態のみを時分割で切り替えて機能を共有する
ことを特徴とするリコンフィグラブル・ネットワークコ
ンピュータ。
12. The expansion hardware according to claim 10, wherein when a plurality of applications simultaneously use the same expansion code in the expansion hardware, the expansion hardware has a function of simultaneously holding a plurality of internal states and switching between them. A reconfigurable network computer characterized in that only internal states are switched in a time-sharing manner to share functions.
【請求項13】請求項10において、拡張ハードウェア
が、複数の内部状態と複数の構成データを同時に保持
し、かつそれらを切り替える機能を持ち、内部状態と構
成データを時分割で切り替えて使用できることを特徴と
するリコンフィグラブル・ネットワークコンピュータ。
13. An extended hardware device according to claim 10, wherein said extended hardware has a function of simultaneously holding a plurality of internal states and a plurality of configuration data and having a function of switching between them, and is capable of switching between said internal state and said configuration data in a time-sharing manner. A reconfigurable network computer characterized by the following.
【請求項14】請求項13において、拡張ハードウェア
が、複数の内部状態と複数の構成データを同時に保持
し、かつそれらが外部から与えられる識別番号と、あら
かじめ構成データ,内部状態毎に割り当てられた識別番
号と一致する部分のみが選択される機能を持つことを特
徴とするリコンフィグラブル・ネットワークコンピュー
タ。
14. The expansion hardware according to claim 13, wherein the extended hardware holds a plurality of internal states and a plurality of configuration data at the same time, and assigns them to an identification number given from outside, and in advance, for each of the configuration data and the internal state. A reconfigurable network computer having a function of selecting only a part that matches the identification number.
JP8233913A 1996-09-04 1996-09-04 Reconfigurable network computer Pending JPH1078932A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8233913A JPH1078932A (en) 1996-09-04 1996-09-04 Reconfigurable network computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8233913A JPH1078932A (en) 1996-09-04 1996-09-04 Reconfigurable network computer

Publications (1)

Publication Number Publication Date
JPH1078932A true JPH1078932A (en) 1998-03-24

Family

ID=16962562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8233913A Pending JPH1078932A (en) 1996-09-04 1996-09-04 Reconfigurable network computer

Country Status (1)

Country Link
JP (1) JPH1078932A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000049506A1 (en) * 1999-02-19 2000-08-24 Wacom Engineering Co., Ltd. Operation input processing device and method
US6336209B1 (en) 1998-06-17 2002-01-01 Fuji Xerox, Co., Ltd Information processing system that processes portions of an application program using programmable logic circuits
JP2002544704A (en) * 1999-05-07 2002-12-24 モーフィックス テクノロジー インコーポレイテッド Reprogrammable digital wireless communication device and method of operation thereof
US6789135B1 (en) 1998-09-09 2004-09-07 Matsushita Electric Industrial Co., Ltd. Apparatus function change system having an apparatus service center containing customer information and setting information for a reconfigurable chip
US6842854B2 (en) 2000-01-20 2005-01-11 Fuji Xerox Co., Ltd. Method programmable logic device, information processing system and method of reconfiguring circuit for sequentially processing data in blocks and temporarily storing data processed until next configuration
JP2005293561A (en) * 2004-03-09 2005-10-20 Seiko Epson Corp Information processing system, information processing apparatus and management server, information processing system control program, information processing apparatus control program and management server control program, information processing method, information processing system control method, and information processing apparatus control method and management server control method
US7180934B2 (en) 1998-12-21 2007-02-20 Kabushiki Kaisha Toshiba Radio communicating apparatus, radio communicating method, and recording medium
JP2010250411A (en) * 2009-04-13 2010-11-04 Hitachi Ltd Computer system and management method
JP2011090710A (en) * 1998-11-20 2011-05-06 Altera Corp Reconfigurable programmable logic device computer system

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336209B1 (en) 1998-06-17 2002-01-01 Fuji Xerox, Co., Ltd Information processing system that processes portions of an application program using programmable logic circuits
US6789135B1 (en) 1998-09-09 2004-09-07 Matsushita Electric Industrial Co., Ltd. Apparatus function change system having an apparatus service center containing customer information and setting information for a reconfigurable chip
JP2011090710A (en) * 1998-11-20 2011-05-06 Altera Corp Reconfigurable programmable logic device computer system
JP2012252712A (en) * 1998-11-20 2012-12-20 Altera Corp Reconfigurable programmable logic device computer system
US7180934B2 (en) 1998-12-21 2007-02-20 Kabushiki Kaisha Toshiba Radio communicating apparatus, radio communicating method, and recording medium
WO2000049506A1 (en) * 1999-02-19 2000-08-24 Wacom Engineering Co., Ltd. Operation input processing device and method
US6715102B1 (en) 1999-02-19 2004-03-30 Romwin Limited Company Operation input processing apparatus and method
JP2002544704A (en) * 1999-05-07 2002-12-24 モーフィックス テクノロジー インコーポレイテッド Reprogrammable digital wireless communication device and method of operation thereof
US6842854B2 (en) 2000-01-20 2005-01-11 Fuji Xerox Co., Ltd. Method programmable logic device, information processing system and method of reconfiguring circuit for sequentially processing data in blocks and temporarily storing data processed until next configuration
JP2005293561A (en) * 2004-03-09 2005-10-20 Seiko Epson Corp Information processing system, information processing apparatus and management server, information processing system control program, information processing apparatus control program and management server control program, information processing method, information processing system control method, and information processing apparatus control method and management server control method
JP2010250411A (en) * 2009-04-13 2010-11-04 Hitachi Ltd Computer system and management method

Similar Documents

Publication Publication Date Title
US7017140B2 (en) Common components in interface framework for developing field programmable based applications independent of target circuit board
Hansson et al. Trade-offs in the configuration of a network on chip for multiple use-cases
CN110719206B (en) Space-based FPGA (field programmable Gate array) virtualization computing service system, method and readable storage medium
US20070118762A1 (en) Apparatus, method and system for generating a unique hardware adaptation inseparable from correspondingly unique content
US8417848B2 (en) Method and apparatus for implementing multiple service processing functions
Ahmadinia et al. Task scheduling for heterogeneous reconfigurable computers
JPH1078932A (en) Reconfigurable network computer
CN112363704A (en) Service system based on micro-service architecture
WO2024093731A1 (en) Automotive open system architecture, data processing method and on-board device
Hironaka et al. Remote dynamic reconfiguration of a multi-fpga system fic (flow-in-cloud)
US11252457B2 (en) Multimedia streaming and routing apparatus and operation method of the same
US20060095724A1 (en) Message-passing processor
CN115016862A (en) Kubernetes cluster-based software starting method, device, server and storage medium
FR2902211A1 (en) Complex system stimulating method, involves constructing models of complex system, where each model comprises hierarchized assembly of modelized components that are instance of object class belonging to determined object class assembly
Saint-Jean et al. MPI-based adaptive task migration support on the HS-scale system
CN113608861A (en) Software load computing resource virtualization distribution method and device
JP2000276359A (en) Information processor, method for initializing program and program providing medium
JP3664215B2 (en) Information processing system
Saldaña et al. Using partial reconfiguration in an embedded message-passing system
Garcia et al. Pilgrim performance over a new CAliF communication layer
CN114063725B (en) Modular infrastructure for computing and storage clusters
Nollet Run-time management for future MPSoC platforms
Kettelhoit et al. A layer model for systematically designing dynamically reconfigurable systems
US20240028556A1 (en) Reconfigurable neural engine with extensible instruction set architecture
CN112379868B (en) Programming method for network data packet processing based on reconfigurable chip

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060323

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060417

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060704