JP3765148B2 - 機能メモリ - Google Patents
機能メモリ Download PDFInfo
- Publication number
- JP3765148B2 JP3765148B2 JP03591197A JP3591197A JP3765148B2 JP 3765148 B2 JP3765148 B2 JP 3765148B2 JP 03591197 A JP03591197 A JP 03591197A JP 3591197 A JP3591197 A JP 3591197A JP 3765148 B2 JP3765148 B2 JP 3765148B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- cpu
- program
- instruction code
- translation
- 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.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、ネットワークコンピュータに適した、演算機能付き半導体メモリに関わり、特に入力プログラムの命令コード体系を異なるコード体系のプログラムに翻訳する機能を有するメモリに関する。
【0002】
【従来の技術】
近年、ネットワークコンピューティング(以下NC)という概念が提唱・実用化されている。NCは、ネットワークで接続された少数のサーバーと多数の端末から構成されるシステムである。端末内の中央演算処理装置(以下CPU)で実行されるソフトウエアプログラムは、サーバー側に保持され、ユーザーが端末側でプログラムを実行しようとする時に、必要なプログラムのみが端末内のメモリに転送されて実行される。このような方式をとることにより、多数の端末各々の中に同じプログラムソフトウエアを保持しておく必要がなくなり、プログラムソフトウエアの保守が容易になり、それに必要なコストの低減が可能となる。また、端末装置もハードディスク装置のようなプログラムソフトウエアを保持しておく大容量記憶装置が不要となるため、端末の単価を低減することが可能となる。
【0003】
上記NCにおいては、ネットワークを介して転送されるソフトウエアプログラムは、端末のCPUが直接実行可能な命令コードではなく、たとえばJAVAなどの中間言語で表記されるのが一般的である。JAVAは、米国Sun Microsystems, Incが開発したインターネット用のオブジェクト指向言語及びその実行環境である。JAVAなどの中間言語で表記されたプログラムは端末内のメモリに保持され、端末内のCPUにより、そのCPUが実行可能な命令に一度翻訳されてから実行される。これにより命令コード体系の異なるCPUを持つ任意の端末において、まったく同じプログラムを実行することが可能となる。
【0004】
通常上記の翻訳処理は、端末内CPU上で実行されるインタープリター、またはコンパイラによっておこなわれる。入出力だけを見ると中間言語を実行する仮想的な装置と考えられるため、このような方式は「仮想マシンによる言語処理系の実装」と呼ばれる。
【0005】
従来のNCにおいては、上記仮想マシンによる言語処理系の実装が採用され、端末内のCPUが翻訳処理と翻訳結果の実行の両方を並列して行うため、CPUの負荷が重く処理能力が低いという問題があった。この課題に対し、米国Sun Microelectronicsは翻訳をしなくても中間言語を命令コードとして直接実行可能なCPUという意味あいで、JAVAチップを開発し、上記の課題に対応している。このような問題解決方法および上記のNC全般に関する従来技術に関しては「JAVAチップ登場、組み込み用でポストRISCをねらう」(日経エレクトロニクス 1996年6月17日号 No.664)に詳しく紹介されている。
【0006】
図4には同引用文献に掲載されているJAVA仮想マシンの概念図を示す。高級言語の1つであるJAVA言語で記述されたプログラムは、JAVAコンパイラによって中間言語コードの1つであるバイト・コードに変換される、バイト・コードに変換されたプログラムは、各種オペレイティーングシステム(以下OS)上のインタプリタまたはコンパイラによって、各端末のOSとCPUの命令体系に沿ったコードに変換され、実行される。また、バイト・コードをそのまま命令語として実行できるJAVAチップの場合には、バイト・コードがそのまま実行される。
【0007】
【発明が解決しようとする課題】
上記した従来のNCにおいては、端末の処理速度を向上させる手段として、JAVAチップなどの中間言語を直接実行する専用のCPUが提案されている。しかし、この方法では、インタープリターあるいはコンパイラを用いた仮想マシンによる実装に比べて、実効速度を向上させることはできるものの、高速化のためには端末のCPUをJAVAチップなどの特殊なCPUに変更しなくてはならない。すなわち、端末CPUやOSに依存せず同じプログラム資源を共通に利用できるというNCの利点を保ったまま処理速度向上のための中間言語を利用することはできない。一方、情報処理端末のCPUやOSに依存させないために、端末CPU上でJAVAコンパイラをづささせてJAVAプログラムを処理可能なJAVA仮想マシンを用いると、端末CPUの処理が増加して、主となる処理の実効速度の向上が望めなくなってしまう。
【0008】
本発明の目的は、端末で使用するCPUやOSの任意性を保ったまま、仮想マシンによる実装よりも原理的に高速化が可能な、NC端末の構成を提供することにある。
【0009】
本発明の他の目的は、メインの処理言語以外の言語で記述されたプログラムを高速に実行することができる情報処理装置を提供することにある。
【0010】
さらに、本発明の他の目的は、NC端末のCPUに接続されて好適なメモリチップまたはメモリ装置を提供することにある。
【0011】
【課題を解決するための手段】
本発明の代表的手段を示せば以下の通りである。即ち、中間言語コードで記述された第1命令コードを格納する第1メモリ領域と、第2命令コード体系で動作する第1中央演算装置と、前記第1命令コードを、第1中央演算処理装置で実行可能な第2命令コードへと変換する翻訳手段と、前記翻訳手段から変換された前記第2命令コードを受け取って、前記第1中央演算装置に前記第2命令コードを供給する第2メモリ領域とを備え、前記翻訳手段は、前記第1命令コードを前記第2命令コードへ変換するための翻訳プログラムを格納するプログラムメモリと、前記翻訳プログラムを実行する第2中央演算装置とを有し、前記翻訳プログラムは入れ替え可能であるよう情報処理装置を構成する。
【0012】
前記情報処理装置は、外部から入力された中間言語コードをメモリ領域内の第1の領域に保持する。機能メモリ内に設けられた翻訳手段は、この保持された中間言語を翻訳し、CPUが実行可能な命令コードへと変換し、変換結果をメモリ内の第2の領域に保持する。CPUはこの第2の領域に保持された命令コードを実行する。これにより、中間言語の翻訳処理とCPUでのプログラム実行が並列に行われるので、CPU上で翻訳処理とプログラムの実行の双方を行う必要がある「仮想マシンによる実装」の場合に比べ、全体の処理時間を低減することが可能となる。また、中間言語はCPUの形式に依存した命令コード体系に翻訳されるので、CPUとその上で使用するOSには任意のものを使用することが可能となる。
【0013】
【発明の実施の形態】
以下、本発明の内容を実施例を用いて詳しく説明する。
【0014】
図1は、本発明の第1の実施例を示す図である。本実施例においては、CPU2はどのような命令体系をもったものでもかまわない。また、図1には図示されていないが、CPU2にはデータバスを介して情報処理装置として必要な一般構成、すなわち、ディスプレイ、キーボード、マウス等の入出力手段、を接続することができる。これらの構成は後述の図2、図3においても同様にCPU2に接続可能である。機能メモリ1の内部には、メモリ手段11と翻訳処理手段12がある。メモリ手段は2つの領域111と112に別れており、111には中間言語で記述されたプログラムが保持され、112には翻訳手段12で処理された結果が保持される。翻訳手段12は、メモリ領域111に保持された中間言語コードを、CPU2が実行可能な命令コード体系に変換し、その変換結果をメモリ領域112に出力する。そして、CPU2はメモリ領域112に保持された命令コードを実行する。なお、本実施例では、中間言語コードはCPU2に接続されたネットワーク接続手段4、CPU2およびメモリバス3を介してメモリ領域111に与えられる。また、翻訳手段12は1つのハードウエア、たとえば専用ロジックとしての機能ブロックとして実現される。
【0015】
図2には、本発明の第2の実施例を示す。本実施例では、機能メモリ内の翻訳手段12が、1つのハードウエアとしてではなく、第2のCPU121と翻訳プログラムを保持するプログラムメモリ122により構成されている点が、上記第1の実施例とは異なる。プログラムメモリ122は、フラッシュメモリなどの、書き換え可能な不揮発性メモリからなる。プログラムメモリ122には、第2のCPU121で実行可能な翻訳プログラム123が保持されている。第2のCPU121は、この翻訳プログラム123を実行し、メモリ領域111に保持された中間言語コードを、CUP2が実行可能なコードに変換し、その結果をメモリ領域112に出力する。そしてCPU2はメモリ領域112に保持された命令コードを実行する。なおプログラムメモリ122に保持される翻訳プログラムは、機能メモリの製造時にプログラムメモリ122に記録するだけでなく、ネットワークおよびCPU2を通じて随時交換することも可能である。例えばCPU2のハードウエア的アップグレード、あるいはCPU2の上で実行するOSのアップグレードなどのために、CPU2で実行される命令コード体系に変更が生じた場合、翻訳機能も新しい命令コード体系に対応させる必要があるが、本実施例によれば、機能メモリ1全体を交換する必要はなく、翻訳プログラム123を入れ替えを変えるだけでよい。
【0016】
図3は、本発明の第3の実施例を示す図である。本実施例では、機能メモリ内部に、通常はCPU2で行われるネットワーク制御処理を専用に行うネットワーク処理手段13を設けた点が、上記第1および第2の実施例と異なる。前記ネットワーク処理手段13は、ネットワークを介して送られてくる中間言語コードを受け取り、メモリ領域111に保持する。この中間言語コードは、上記第1あるいは第2の実施例の構成により(第3図には第2の実施例の構成を用いた場合を示した)、CPU2が実行可能な命令コードに翻訳され、CPU2によって実行される。
【0017】
図5は本発明の機能メモリを用いた情報処理装置の構成図である。本装置8においては、機能メモリ1がメインCPU2の外部メモリとしてメモリバス3を通じて接続されている。またメインCPU2には、ネットワーク接続手段4のほかに、出力インタフェース手段52を通じて、例えばディスプレイなどの情報表示手段51が、入力インタフェース手段62を通じて、例えばキーボードなどの情報入力手段61が、さらに記憶装置制御手段72を通じて、例えばハードディスクなどの記憶装置71が接続されている。
【0018】
本情報処理装置8においては、機能メモリ1は、例えばメモリボードあるいはメモリカードなどの、装置8に実装しやすいメモリ実装手段10の上に実装されており、メモリ部分を独立に交換できる構成となっている。これにより、前述した本発明の機能メモリ1の機能を使用せず、本装置8を通常の情報処理装置として使用したい場合には、このメモリ実装手段10の部分を通常のメモリを使用したもに交換するだけでよい。
【0019】
また、上述の機能メモリ1を実装するメモリ実装手段10として、例えばSIMMなどの規格統一されたメモリボードを用いれば、従来の情報処理装置のメモリボードを、機能メモリ搭載のボードに交換することにより、本発明の機能メモリによる中間言語プログラムの高速化という効果を、容易に得ることができるようになる。
【0020】
なお、図5の情報処理装置においては、記憶装置制御手段72および記憶装置71を有する、いわゆるパーソナルコンピュータの構成を用いて説明したが、これら2つの要素を有しない、いわゆるネットワークコンピュータの構成を持つ情報処理装置の場合でも、全く同様の効果が得られることは明らかである。
以上の実施例から本発明を要約すると、以下の通りである。
(1)任意の言語コードにより記述されたソフトウエアプログラムを保持する第1のメモリ領域と、前記第1のメモリ領域に保持された上記任意の言語コードを異なる命令コード体系に翻訳する翻訳手段と、前記翻訳手段により翻訳された結果であるところの実行命令コードを保持する第2のメモリ領域とを有することを特徴とする機能メモリ。
(2)任意の言語コードにより記述されたソフトウエアプログラムを保持する第1のメモリ領域と、前記第1のメモリ領域に保持された上記任意の言語コードを異なる命令コード体系に翻訳する翻訳手段と、前記翻訳手段により翻訳された結果であるところの実行命令コードを保持する第2のメモリ領域と、上記任意の言語で記述されたプログラムソフトウエアをネットワークから受け取り、前記第1のメモリ領域に保持するネットワーク処理手段とを有することを特徴とする機能メモリ。
(3)前記翻訳手段は、メモリ装置上に混載可能な論理回路により構成された専用回路であることを特徴とする、(1)または(2)記載の機能メモリ。
(4)前記翻訳手段は、中央演算処理装置と、前記中央演算処理装置で実行するプログラムを保持するプログラムメモリと、前記プログラムメモリ上に保持される翻訳プログラムとからなることを特徴とした、(1)または(2)記載の機能メモリ。
(5)前記プログラムメモリは書き換え可能な不揮発性メモリからなり、かつ、前記翻訳プログラムは、前記翻訳結果であるところの実効命令コードを実行する外部の中央演算処理装置から、前記プログラムメモリに転送されることを特徴とする、(4)の機能メモリ。(6)前記ソフトウエアプログラムは中間言語コードにより記述されていることを特徴とする(1)または(2)の機能メモリ。
(7)前記不揮発性メモリはフラッシュメモリであることを特徴とする(5)記載の機能メモリ。
(8)任意のプログラム言語コードを記憶するメモリ領域と、上記任意のプログラム言語コードを他のプログラム言語に変換する処理手段と、上記任意のプログラム言語コードを外部から入力し、かつ、上記処理手段の処理結果を外部の他のCPUに出力する入出力手段を備え、上記他のプログラム言語は上記他のCPUの処理で扱うプログラム言語であることを特徴とする半導体装置。
(9)(8)において、上記処理手段は前記半導体装置装置上にメモリと混載可能な論理回路により構成された専用回路であることを特徴とする半導体装置。
(10)ネットワークを経由してプログラムコードを入手可能な情報処理装置であって、少なくとも、上記情報処理装置の制御を行うCPUと、上記CPUに接続され、上記プログラムコードを記憶する第1の記憶領域と、上記プログラムコードを入力して、上記CPU上で動作可能な異なる言語体系のプログラムコードに翻訳する翻訳手段と、上記翻訳の結果であるプログラムコードを保持する第2の記憶領域とを有する機能メモリ、を備えたことを特徴とする情報処理装置。
【0021】
【発明の効果】
上記本発明の第1の実施例によれば、翻訳手段12はCPU2の命令体系に適していなくてはならず、CPU2に適した機能メモリチップを使用しなくてはならないが、機能メモリ1はCPU2の外部に接続してと使用するチップなので、任意のCPUを使用し外部メモリチップとしてこの機能メモリを用いるだけで、中間言語で与えられるプログラムの実行速度を向上させることが可能となる。
【0022】
上記本発明の第2の実施例によれば、上記第1の実施例による効果に加えて、プログラムメモリ122に保持される翻訳プログラムを交換することによって、翻訳処理をCPU2に適合されることが可能になるという効果がある。すなわち、上記第1の実施例では、CPU2の形式に適した翻訳手段を有する機能メモリチップを選ばなくてはならないのに対し、本実施例の場合には、プログラムメモリ内の翻訳プログラムを交換することで、同じ機能メモリチップをあらゆる命令体系のCPU2と組み合わせて使用できるようになる。さらに、CPU2を通じてプログラムメモリ内の翻訳プログラムを交換することによって、ハードウエアの交換をすることなく、翻訳処理ソフトの改善(バージョンアップ)をチップを製造した後からでも反映させることが可能になる。
【0023】
上記本発明の第3の実施例によれば、中間言語コードをネットワークを介して受け取る際に、従来CPU2で行っていたネットワーク制御処理を、機能メモリ側で平行して行うので、上記第1および第2の実施例による効果に加えて、CPU2の全体の処理量を低減することが可能となり、翻訳結果の実行をさらに高速化することが可能となるという効果が得られる。
【図面の簡単な説明】
【図1】本発明の機能メモリの第1の実施例の構成図。
【図2】本発明の機能メモリの第2の実施例の構成図。
【図3】本発明の機能メモリの第3の実施例の構成図。
【図4】従来のNC端末における処理手順の説明図。
【図5】本発明の機能メモリを用いた情報処理装置の構成図。
【符号の説明】
1:機能メモリ
11:メモリ手段
111:中間言語コード保持領域
112:実行可能な命令コード保持領域
12:翻訳手段
121:第2のCPU
122:プログラムメモリ
123:翻訳プログラム
2:CPU
3:メモリバス
4:ネットワーク接続手段
51:情報表示手段(ディスプレイ)、52:出力インタフェース手段
61:情報入力手段(キーボード)、62:入力インタフェース手段
71:記憶装置、72:記憶装置制御手段
8:情報処理装置
10:メモリ実装手段(メモリボード、メモリカード)。
Claims (4)
- 中間言語コードで記述された第1命令コードを格納するメモリ領域と、
第2命令コード体系で動作する中央演算装置と、
前記第1命令コードを、前記中央演算処理装置で実行可能な第2命令コードへと変換する翻訳手段とを有し、
前記中間言語コードは外部から前記中央演算装置を介し前記翻訳手段へ入力されるものであるであって、
前記中央演算装置は、前記翻訳手段により前記第1命令コードから変換された前記第2命令コードを実行するものであって、
前記翻訳手段は、専用ロジックとしての機能ブロックであることを特徴とする情報処置装置。 - 請求項1に記載の情報処理装置において、前記翻訳手段における前記第1命令コードを前記第2命令コードへと変換する処理と、前記第1中央演算装置での前記変換された第2命令コードの実行は、並列に行われることを特徴とする情報処理装置。
- 請求項1又は2のいずれか記載の情報処理装置において、
前記第1命令コードはJAVAコードであることを特徴とする情報処理装置。 - 請求項1から3のいずれかに記載の情報処理装置において、
前記第1コードは、ネットワークを介し転送されてくるものであることを特徴とする情報処置装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03591197A JP3765148B2 (ja) | 1997-02-20 | 1997-02-20 | 機能メモリ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03591197A JP3765148B2 (ja) | 1997-02-20 | 1997-02-20 | 機能メモリ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10232784A JPH10232784A (ja) | 1998-09-02 |
JP3765148B2 true JP3765148B2 (ja) | 2006-04-12 |
Family
ID=12455222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03591197A Expired - Fee Related JP3765148B2 (ja) | 1997-02-20 | 1997-02-20 | 機能メモリ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3765148B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002215387A (ja) * | 2001-01-22 | 2002-08-02 | Mitsubishi Electric Corp | 命令トランスレータを備えたデータ処理装置およびメモリインタフェース装置 |
-
1997
- 1997-02-20 JP JP03591197A patent/JP3765148B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10232784A (ja) | 1998-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5129093A (en) | Method and apparatus for executing an operation request signal in a loosely coupled parallel computer having processor elements capable of updating memory contents and minimizing exclusive control of sharable distributed memories | |
US4347565A (en) | Address control system for software simulation | |
US6496922B1 (en) | Method and apparatus for multiplatform stateless instruction set architecture (ISA) using ISA tags on-the-fly instruction translation | |
US4916608A (en) | Provision of virtual storage resources to an operating system control program | |
US20220197851A1 (en) | Systems and methods for multi-architecture computing | |
US6604189B1 (en) | Master/slave processor memory inter accessability in an integrated embedded system | |
US6175935B1 (en) | Software debugging method and recording medium to which debugging program has been recorded | |
EP0939370B1 (en) | Computer code translator | |
US5754863A (en) | System for downloading program code to a microprocessor operative as a slave to a master microprocessor | |
JP2991242B2 (ja) | マルチプロセッサコンピュータシステム使用方法 | |
JP3765148B2 (ja) | 機能メモリ | |
US6862675B1 (en) | Microprocessor and device including memory units with different physical addresses | |
JPH03229352A (ja) | プログラム変更方法 | |
EP2336883B1 (en) | Programming system in multi-core environment, and method and program of the same | |
JP2826309B2 (ja) | 情報処理装置 | |
JP3107308B2 (ja) | 異種言語混在形プログラム処理コントローラ | |
JPS62151938A (ja) | 命令処理方式 | |
US20030061543A1 (en) | Computing system construction method under execution environment to be dependent on OS | |
JPS60160443A (ja) | デ−タ処理装置 | |
JPH04268928A (ja) | エミュレーション装置及び半導体装置 | |
JPH07109589B2 (ja) | 命令処理方式 | |
JP3087477B2 (ja) | コンピュータシステム | |
JP3019335B2 (ja) | プログラムのロード方式 | |
JPH113225A (ja) | 情報処理装置 | |
CN112882944A (zh) | 媒体驱动调试方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050921 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051004 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051205 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060104 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060117 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100203 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100203 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110203 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120203 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120203 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130203 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |