JPH11212938A - 階層型インテリジェント・キャッシュメモリシステム - Google Patents
階層型インテリジェント・キャッシュメモリシステムInfo
- Publication number
- JPH11212938A JPH11212938A JP37051097A JP37051097A JPH11212938A JP H11212938 A JPH11212938 A JP H11212938A JP 37051097 A JP37051097 A JP 37051097A JP 37051097 A JP37051097 A JP 37051097A JP H11212938 A JPH11212938 A JP H11212938A
- Authority
- JP
- Japan
- Prior art keywords
- cache memory
- cpu
- memory
- processing
- intelligent cache
- 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
Links
Landscapes
- Multi Processors (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】
【課題】CPUで他のアーキテクチャ向け機械語で書か
れたプログラムをそのまま実行(CPUエミュレータ)
する場合や最新のJava言語プログラム(中間コー
ド)を実行する際、処理速度的にかなりネックであっ
た。 [解決手段]キャッシュメモリ内で前処理(別体系のア
ーキテクチャの命令への変換、その他いろいろな処理)
をさせ、ハードウェア的に最高速度で(今までソフトで
代替処理していたものを)処理できるようにした.CP
Uで実行する時点で、アーキテクチャ非依存(無拘束)
な処理を行っている.
れたプログラムをそのまま実行(CPUエミュレータ)
する場合や最新のJava言語プログラム(中間コー
ド)を実行する際、処理速度的にかなりネックであっ
た。 [解決手段]キャッシュメモリ内で前処理(別体系のア
ーキテクチャの命令への変換、その他いろいろな処理)
をさせ、ハードウェア的に最高速度で(今までソフトで
代替処理していたものを)処理できるようにした.CP
Uで実行する時点で、アーキテクチャ非依存(無拘束)
な処理を行っている.
Description
【0001】[発明の属する技術分野]コンピュータの
CPUとキャッシメモリに関する技術である.
CPUとキャッシメモリに関する技術である.
【0002】[従来の技術]主記憶からキャシュメモリ
に命令/データ群が一括転され際に、知的な処理が加え
られていなかった。また、キャッシメモリが主記憶を
(どこからどこまでを#nにという風に)分担(並行処
理→性能向上)するという考えもなかった。単にバッフ
ァに主記憶に比べ高速なメモリを使っていたに過ぎな
い。
に命令/データ群が一括転され際に、知的な処理が加え
られていなかった。また、キャッシメモリが主記憶を
(どこからどこまでを#nにという風に)分担(並行処
理→性能向上)するという考えもなかった。単にバッフ
ァに主記憶に比べ高速なメモリを使っていたに過ぎな
い。
【0003】[発明が解決しようとする課題]以下のポ
イントを頭に置きながら本発明を考案しました。 a.MPU(CPU)は個別開発(昔の電卓のように→
これからMPUが誕生した!)であり費用、開発期間、
その上で作られる資産(ソフト)がばく大である。 b.最近とみにJAVA言語が脚光をあびていますが
(どのCPUでも動作する点が画期的なため)、中間言
語(Javaバイトコード)をインタプリタ等で動作さ
せる等のため、実行速度的に難があった。ソフト的な仕
組みでなく、ハード的な仕組みでの解決を画った.その
他のCPU(つまりコンピュータシステム)のプログラ
ム(機械語群=ロードモジュール)を手を加えずそのま
ま実行する製品(エミュレータ)が世に出てきているが
同様に速度とメモリ量大になる面があり、同じ仕掛けで
解決画れないかと考えました. c.アーキテクチャ非依存のCPU(MPU)システム
は出来ないかと考えた。今は原則的には例えはインテル
用プログラムは(実効的に)インテルのプロセサ上でし
か使えない。もしこの様なCPUが可能(非依存)な
ら、CPUの速度は更にすごいスピードで進化するよう
に思えた(つまり、どんな手法/技術もアーキテクチャ
に関係なく採用できるから)。また、今までのソフト資
産も全部そのまま使いたいと考えました。 d.インテリジェント・キャシュメモリ内の前処理を行
う際の内容であるが、以下のような事が考えられる(ソ
フトで意識させず、また動的に) 体系が別の命令への変換(例:intel→SPAR
C) メモリの圧縮/伸長処理(メモリ/通信量の削減につ
ながる)…将来的には多様な圧縮(データ別)も取り込
める可能性がある(MPEG2とか) Java中間コードをネイティブ(CPU)コードへ
変換等て e.その他…半導体の集積度upを性能向上につなげら
れないかと考えた.
イントを頭に置きながら本発明を考案しました。 a.MPU(CPU)は個別開発(昔の電卓のように→
これからMPUが誕生した!)であり費用、開発期間、
その上で作られる資産(ソフト)がばく大である。 b.最近とみにJAVA言語が脚光をあびていますが
(どのCPUでも動作する点が画期的なため)、中間言
語(Javaバイトコード)をインタプリタ等で動作さ
せる等のため、実行速度的に難があった。ソフト的な仕
組みでなく、ハード的な仕組みでの解決を画った.その
他のCPU(つまりコンピュータシステム)のプログラ
ム(機械語群=ロードモジュール)を手を加えずそのま
ま実行する製品(エミュレータ)が世に出てきているが
同様に速度とメモリ量大になる面があり、同じ仕掛けで
解決画れないかと考えました. c.アーキテクチャ非依存のCPU(MPU)システム
は出来ないかと考えた。今は原則的には例えはインテル
用プログラムは(実効的に)インテルのプロセサ上でし
か使えない。もしこの様なCPUが可能(非依存)な
ら、CPUの速度は更にすごいスピードで進化するよう
に思えた(つまり、どんな手法/技術もアーキテクチャ
に関係なく採用できるから)。また、今までのソフト資
産も全部そのまま使いたいと考えました。 d.インテリジェント・キャシュメモリ内の前処理を行
う際の内容であるが、以下のような事が考えられる(ソ
フトで意識させず、また動的に) 体系が別の命令への変換(例:intel→SPAR
C) メモリの圧縮/伸長処理(メモリ/通信量の削減につ
ながる)…将来的には多様な圧縮(データ別)も取り込
める可能性がある(MPEG2とか) Java中間コードをネイティブ(CPU)コードへ
変換等て e.その他…半導体の集積度upを性能向上につなげら
れないかと考えた.
【0004】[課題を解決するための手段]・キャッシ
ュメモリ内に処理部(プロセサ部)を設けた. ・高速化及び機能分担(上位を圧縮/伸長、下位を命令
変換等)+担当主記憶の分担を図るため階層化を可能に
した。
ュメモリ内に処理部(プロセサ部)を設けた. ・高速化及び機能分担(上位を圧縮/伸長、下位を命令
変換等)+担当主記憶の分担を図るため階層化を可能に
した。
【0005】[発明の実施の形態] (イ)今までのキャッシュメモリ(1次/2次問わず)
に相当する部分にプロセサ(主に演算処理、つまりキャ
ッシュメモリ内CPU)を設ける (ロ)MPU.第1階層インテリ・キャッシュメモリ、
第2階層以下のインテリキャッシュメモリを同一半導体
チップ内にするか否かは実装上、または半導体集積(回
路の)技術の進歩等による. (ハ)機能分担は基本的に図1を参照
に相当する部分にプロセサ(主に演算処理、つまりキャ
ッシュメモリ内CPU)を設ける (ロ)MPU.第1階層インテリ・キャッシュメモリ、
第2階層以下のインテリキャッシュメモリを同一半導体
チップ内にするか否かは実装上、または半導体集積(回
路の)技術の進歩等による. (ハ)機能分担は基本的に図1を参照
【0006】[発明の効果] (イ)MPUアーキテクチャに非依存(無拘束な!)な
CPUシステムの実現 (ロ)Javaプログラムの高速実行(ハードウェア
で) (ハ)複数アーキテクチャ・プログラムの同時実行 (ニ)半導体集積度向上をより有効にCPU実行性能向
上に結びつけられる (ホ)階層化により、キャシュ性能の向上(システム性
能向上も含む) (ヘ)従来資産(ソフト資産)をそっくり継承できる. (ト)今まで以上のCPU処理性能向上競争(各メーカ
間)の激烈化. (チ)メモリ/回線データ量の削減(このハードで圧縮
/伸長処理すれば)…〉CPUが演算する直前に伸長処
理(ハード)するので、圧縮したまま回線等でデータ等
を持ち廻れる。 (リ)コンピュータ・システム全体のシステムのシンプ
ル化(internet等含む)
CPUシステムの実現 (ロ)Javaプログラムの高速実行(ハードウェア
で) (ハ)複数アーキテクチャ・プログラムの同時実行 (ニ)半導体集積度向上をより有効にCPU実行性能向
上に結びつけられる (ホ)階層化により、キャシュ性能の向上(システム性
能向上も含む) (ヘ)従来資産(ソフト資産)をそっくり継承できる. (ト)今まで以上のCPU処理性能向上競争(各メーカ
間)の激烈化. (チ)メモリ/回線データ量の削減(このハードで圧縮
/伸長処理すれば)…〉CPUが演算する直前に伸長処
理(ハード)するので、圧縮したまま回線等でデータ等
を持ち廻れる。 (リ)コンピュータ・システム全体のシステムのシンプ
ル化(internet等含む)
キャッシュメモリに処理部を設けただけなので、特別に
難解なものではない.そもそのキャッシュメモリとはC
PUが必要とする主記憶(次に実行する命令とか演算の
為の主記憶上のデータ等)を適当な単位で一括して高速
バッファに置いておくというものです。命令/データの
局所性を利用した高速化の仕組みです(参考文献…「最
新マイクロプロセサテクノロジ」神保進一著、日経BP
社。1997/12月現在)
難解なものではない.そもそのキャッシュメモリとはC
PUが必要とする主記憶(次に実行する命令とか演算の
為の主記憶上のデータ等)を適当な単位で一括して高速
バッファに置いておくというものです。命令/データの
局所性を利用した高速化の仕組みです(参考文献…「最
新マイクロプロセサテクノロジ」神保進一著、日経BP
社。1997/12月現在)
【図1】本システムの機能説明図である.
(1)インテリジェント・キャッシュメモリ内処理部
(プロセッサ部) (2)キャッシュメモリ部(従来のキャッシュメモリと
同じ役目) (3)CPUの演算部(今までと同じである) (4)情報保存部(インテリ・キャッシュの構成、数、
主記憶の分担、階層数等) (5)下位インテリジェント・キャッシュメモリ (6)メモリ・バス (7)インテリ・キャッシュメモリ間の高速バス (8)メモリ・バスに接する情報伝達路 (9)主記憶(DRAM等の低速な物理的なメモリ) (10)階層数 (11)CPU内情報保存部((4)と同じ内容を保
持)
(プロセッサ部) (2)キャッシュメモリ部(従来のキャッシュメモリと
同じ役目) (3)CPUの演算部(今までと同じである) (4)情報保存部(インテリ・キャッシュの構成、数、
主記憶の分担、階層数等) (5)下位インテリジェント・キャッシュメモリ (6)メモリ・バス (7)インテリ・キャッシュメモリ間の高速バス (8)メモリ・バスに接する情報伝達路 (9)主記憶(DRAM等の低速な物理的なメモリ) (10)階層数 (11)CPU内情報保存部((4)と同じ内容を保
持)
Claims (1)
- 【請求項1】 CPUのキャッシュメモリ内に前処理部
(1)を設け、ここで主メモリ(9)又は下位の階層の
インテリジェント・キャッシュメモリ(5)から、ある
単位の長さの命令群/データ群(CPUからの主記憶ア
クセスの際のアドス情報/アクセス要求を基(契期)に
して)を高速のキャッシュメモリ(つまりバッファ)に
一括して格納する際、固有の(別体系の機械語への変換
(翻訳)とか圧縮/伸長とか)処理をしてから書き込む
(2) インテリジェント・キャッシュメモリシステムの階層数
は1以上(小規模のパソコン等では1が普通と考えられ
る)とし、下位のインテリジェント・キャッシュメモリ
は各々、担当/アクセスする主記憶の範囲を持ってお
り、その情報(4)を保持している。下位が直接主記憶
ではなく、下位のインテリジェント・キャシュメモリで
ある場合(つまり階層数が1以上)、どの下位のインテ
リジェント・キャシュメモリ(つまり#1〜nのうちの
どれかということ)が、どの主記憶アドレスの範囲をカ
バーしているかを情報(4)として保持している。階層
数=1でインテリジェント・キャシュメモリ数が複数と
いう形態も可能である((4)と同様の情報を(11)
に持つことにより).
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP37051097A JPH11212938A (ja) | 1997-12-29 | 1997-12-29 | 階層型インテリジェント・キャッシュメモリシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP37051097A JPH11212938A (ja) | 1997-12-29 | 1997-12-29 | 階層型インテリジェント・キャッシュメモリシステム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11212938A true JPH11212938A (ja) | 1999-08-06 |
Family
ID=18497101
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP37051097A Pending JPH11212938A (ja) | 1997-12-29 | 1997-12-29 | 階層型インテリジェント・キャッシュメモリシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH11212938A (ja) |
-
1997
- 1997-12-29 JP JP37051097A patent/JPH11212938A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Chen et al. | GFlink: An in-memory computing architecture on heterogeneous CPU-GPU clusters for big data | |
| US8091078B2 (en) | Dynamically partitioning processing across a plurality of heterogeneous processors | |
| US7748006B2 (en) | Loading software on a plurality of processors | |
| US8196147B1 (en) | Multiple-processor core optimization for producer-consumer communication | |
| US7987465B2 (en) | Method and apparatus for dynamic allocation of processing resources | |
| US20080244222A1 (en) | Many-core processing using virtual processors | |
| US20080313624A1 (en) | Dynamic loading and unloading for processing unit | |
| US20050081182A1 (en) | System and method for balancing computational load across a plurality of processors | |
| US20200210341A1 (en) | Prefetch kernels on data-parallel processors | |
| US20070150895A1 (en) | Methods and apparatus for multi-core processing with dedicated thread management | |
| US20050071828A1 (en) | System and method for compiling source code for multi-processor environments | |
| KR20130018742A (ko) | 가비지 콜렉션을 위한 gpu 서포트 | |
| US20080162877A1 (en) | Non-Homogeneous Multi-Processor System With Shared Memory | |
| US7565659B2 (en) | Light weight context switching | |
| JP2009515246A (ja) | 集中特化したマルチタスク及びマルチフロー処理をリアルタイム実行する手法及びシステム | |
| CN116263671A (zh) | 降低推测性代码行在片上缓存中的优先级 | |
| Kaminsky et al. | Special feature: Developing a multiple-instructon-stream single-chip processor | |
| Govindarajan et al. | Design and performance evaluation of a multithreaded architecture | |
| US8387009B2 (en) | Pointer renaming in workqueuing execution model | |
| US11886351B2 (en) | Memory efficient virtual address management for system calls | |
| US6862675B1 (en) | Microprocessor and device including memory units with different physical addresses | |
| Chiueh et al. | A compiler-directed distributed shared memory system | |
| KR20250063116A (ko) | 메모리 확장을 위한 컨트롤러, 메모리 확장 장치, 및 이를 위한 데이터 처리 방법 | |
| Kawano et al. | Fine-grain multi-thread processor architecture for massively parallel processing | |
| Baik et al. | Accelerating page migrations in operating systems with intel dsa |