JP4287411B2 - 仮想メモリシステムおよび仮想記憶方法 - Google Patents
仮想メモリシステムおよび仮想記憶方法 Download PDFInfo
- Publication number
- JP4287411B2 JP4287411B2 JP2005194086A JP2005194086A JP4287411B2 JP 4287411 B2 JP4287411 B2 JP 4287411B2 JP 2005194086 A JP2005194086 A JP 2005194086A JP 2005194086 A JP2005194086 A JP 2005194086A JP 4287411 B2 JP4287411 B2 JP 4287411B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- processor
- instruction
- address range
- address
- 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
- 238000000034 method Methods 0.000 title claims description 31
- 238000012545 processing Methods 0.000 claims description 40
- 238000004364 calculation method Methods 0.000 claims description 24
- 238000013523 data management Methods 0.000 claims 2
- 239000000872 buffer Substances 0.000 description 29
- 238000010586 diagram Methods 0.000 description 13
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Description
図1は、メモリシステム1の全体構成を示すブロック図である。メモリシステム1は、リアクティブ型プロセッサ10と、マスタープロセッサ20と、メモリI/F30と、メモリ40とを備えている。これらは、システムバス50に接続されている。
図9は、実施の形態2にかかるメモリシステム1におけるリアクティブ型プロセッサ10の機能構成を示すブロック図である。実施の形態2にかかるメモリシステム1のリアクティブ型プロセッサ10は、投機的実行部140をさらに有している。投機的実行部140は、スケジューラ142と、データキャッシュ144とを有している。
10 リアクティブ型プロセッサ
20 マスタープロセッサ
30 メモリI/F
40 メモリ
50 システムバス
100 アドレスデコード部
102 ベース指定レジスタ群
104 マスク指定レジスタ群
106 アドレス比較部
110 アドレス用命令コード記述バッファ
120 プロセシングユニット
130 ロードバッファ
140 投機的実行部
142 スケジューラ
144 データキャッシュ
150 バス
1200〜1203 プロセッサコア
1210〜1213 バージョンレジスタ
Claims (13)
- メインプロセッサと、前記メインプロセッサからの指示により演算を行うサブプロセッサと、前記メインプロセッサがアクセスするシステムメモリとを備えた仮想メモリシステムであって、
前記サブプロセッサは、
前記メインプロセッサからの指示により、前記システムメモリの仮想的な記憶領域上の開始アドレスおよびメモリサイズを示すアドレス範囲を指定するアドレス指定手段と、
前記メインプロセッサからの指示により、前記アドレス指定手段により指定された前記アドレス範囲が有すべきデータを決定する処理の命令コードを設定する命令コード設定手段と、
前記命令コード設定手段が前記アドレス範囲に対して設定した前記命令コードに基づいて、前記システムメモリへのロードおよびストアを行うことにより前記アドレス範囲に対するデータを計算する演算手段と、
前記メインプロセッサから、前記アドレス指定手段により指定された前記仮想的な記憶領域上の前記アドレス範囲に対するロード命令を取得するロード命令取得手段と、
前記ロード命令に対するデータとして、前記演算手段が前記ロード命令に示される前記アドレス範囲に対して計算した前記データを前記メインプロセッサに出力するデータ出力手段と
を備えることを特徴とする仮想メモリシステム。 - 前記演算手段は、前記ロード命令取得手段がロード命令を取得すると、前記ロード命令に示される前記アドレス範囲に対する前記データを計算することを特徴とする請求項1に記載の仮想メモリシステム。
- 前記サブプロセッサは、
前記演算手段により計算された前記データを前記アドレス範囲に対応付けて保持するデータ保持手段と、
前記ロード命令取得手段が前記ロード命令を取得したときに、前記ロード命令に示される前記アドレス範囲に対する前記データが前記データ保持手段に保持されている場合には、前記データ出力手段に対し、前記データ保持手段に保持されているデータを出力させるデータ管理手段と
をさらに備えたことを特徴とする請求項1に記載の仮想メモリシステム。 - 前記データ管理手段は、前記ロード命令取得手段が前記ロード命令を取得したときに、前記ロード命令に示される前記アドレス範囲に対する前記データが前記データ保持手段に保持されていない場合には、前記演算手段に対し、前記アドレス範囲に対するデータを計算させることを特徴とする請求項3に記載の仮想メモリシステム。
- 前記演算手段は、前記アドレス指定手段が前記アドレス範囲を指定し、前記命令コード設定手段が前記命令コードを設定したことを条件として、前記命令コード設定手段により設定された命令コードに基づいて、前記アドレス指定手段により指定された前記アドレス範囲に対するデータの計算を開始することを特徴とする請求項3または4に記載の仮想メモリシステム。
- 前記命令コード設定手段は、前記アドレス範囲における各アドレス値に基づいて一意に決定される値を引数として利用可能な前記命令コードを設定することを特徴とする請求項1から5のいずれか一項に記載の仮想メモリシステム。
- 前記サブプロセッサは、前記アドレス指定手段によって指定された前記アドレス範囲を識別するアドレス範囲識別情報と、前記命令コード設定手段により前記アドレス範囲に対して設定された前記命令コードとを対応付けて保持する命令コード保持手段をさらに備え、
前記演算手段は、前記ロード命令に示されるアドレス範囲と、前記命令コード保持手段において前記アドレス範囲識別情報に対応付けて保持されている前記命令コードとに基づいて、前記アドレス範囲に対するデータを計算することを特徴とする請求項2に記載の仮想メモリシステム。 - 前記サブプロセッサは、
前記アドレス範囲を、当該アドレス範囲を識別するアドレス範囲識別情報に対応付けて保持するレジスタと、
前記ロード命令取得手段が取得した前記ロード命令に示されるアドレス範囲と、前記レジスタに保持されている前記アドレス範囲とを比較して、前記ロード命令に示される前記アドレス範囲に対応する前記アドレス範囲識別情報を特定するアドレス比較手段と
をさらに備え、
前記演算手段は、前記命令コード保持手段において、前記アドレス比較手段により特定された前記アドレス範囲識別情報に対応付けて保持されている前記命令コードに基づいて、前記アドレス範囲に対するデータを計算することを特徴とする請求項7に記載の仮想メモリシステム。 - 前記サブプロセッサは、
前記演算手段を複数備え、
前記ロード命令取得手段が取得した前記ロード命令を識別するロード命令識別情報を保持するロード命令識別情報保持手段をさらに備え、
各演算手段は、前記ロード命令識別情報により識別される、それぞれ異なるロード命令に対するデータを計算し、
前記データ出力手段は、前記演算手段から前記ロード命令識別情報と、当該ロード命令識別情報により識別される前記ロード命令に対する前記データとを取得し、取得した前記ロード命令識別情報が識別する前記ロード命令に対するデータとして、前記データを出力することを特徴とする請求項2に記載の仮想メモリシステム。 - 前記サブプロセッサは、
前記演算手段から当該プロセッサに直接接続された前記システムメモリにアクセスするシステムメモリインタフェースをさらに備え、
前記演算手段は、前記システムメモリインタフェースを介して前記システムメモリにアクセスし、前記システムメモリへのロードおよびストアを行うことにより、前記ロード命令に対するデータを得ることを特徴とする請求項1に記載の仮想メモリシステム。 - 前記演算手段は、当該プロセッサとバスを介して接続する前記システムメモリに対し、前記バスを介してアクセスし、前記システムメモリへのロードおよびストアを行うことにより、前記ロード命令に対するデータを得ることを特徴とする請求項1に記載の仮想メモリシステム。
- 前記サブプロセッサを複数備え、
複数のサブプロセッサのうち、第1サブプロセッサの前記演算手段は、前記第2サブプロセッサに対するロード命令を発行し、
前記第2サブプロセッサの前記ロード命令取得手段は、前記第1サブプロセッサから前記ロード命令を取得し、
前記第2サブプロセッサの前記演算手段は、前記第1サブプロセッサから取得した前記ロード命令に対するデータを計算し、
前記第2サブプロセッサの前記データ出力手段は、前記第2サブプロセッサの前記演算手段により得られた前記データを前記第1のプロセッサに出力し、
前記第1サブプロセッサの前記演算手段は、前記第2サブプロセッサから取得したデータを利用して、前記データを計算することを特徴とする請求項1に記載の仮想メモリシステム。 - メインプロセッサと、前記メインプロセッサからの指示により演算を行うサブプロセッサと、前記メインプロセッサがアクセスするシステムメモリとを備えた仮想メモリシステムにおける仮想記憶方法であって、
前記サブプロセッサのアドレス指定手段が、前記メインプロセッサからの指示により、前記システムメモリの仮想的な記憶領域上の開始アドレスおよびメモリサイズを示すアドレス範囲を指定するアドレス指定ステップと、
前記サブプロセッサの命令コード設定手段が、前記アドレス指定ステップにおいて指定された前記アドレス範囲が有すべきデータを決定する処理の命令コードを設定する命令コード設定ステップと、
前記サブプロセッサの演算手段が、前記命令コード設定ステップにおいて前記アドレス範囲に対して設定した前記命令コードに基づいて、前記システムメモリへのロードおよびストアを行うことにより前記アドレス範囲に対するデータを計算する演算ステップと、
前記サブプロセッサのロード命令取得手段が、前記メインプロセッサから、前記アドレス指定ステップにおいて指定された前記アドレス範囲に対するロード命令を取得するロード命令取得ステップと、
前記サブプロセッサのデータ出力手段が、前記ロード命令に対するデータとして、前記演算ステップにおいて前記ロード命令に示される前記アドレス範囲に対して計算した前記データを前記メインプロセッサに出力するデータ出力ステップと
を有することを特徴とする仮想記憶方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005194086A JP4287411B2 (ja) | 2005-07-01 | 2005-07-01 | 仮想メモリシステムおよび仮想記憶方法 |
US11/326,194 US7444492B2 (en) | 2005-07-01 | 2006-01-06 | Processor, virtual memory system, and virtual storing method |
US12/232,454 US20090055622A1 (en) | 2005-07-01 | 2008-09-17 | Processor, virtual memory system, and virtual storing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005194086A JP4287411B2 (ja) | 2005-07-01 | 2005-07-01 | 仮想メモリシステムおよび仮想記憶方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007011878A JP2007011878A (ja) | 2007-01-18 |
JP4287411B2 true JP4287411B2 (ja) | 2009-07-01 |
Family
ID=37591199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005194086A Expired - Fee Related JP4287411B2 (ja) | 2005-07-01 | 2005-07-01 | 仮想メモリシステムおよび仮想記憶方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US7444492B2 (ja) |
JP (1) | JP4287411B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7716196B2 (en) * | 2006-08-07 | 2010-05-11 | Cisco Technology, Inc. | Method for culling a litigation discovery file set |
GB201208548D0 (en) * | 2012-05-15 | 2012-06-27 | Pci Biotech As | Compound and method |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5319766A (en) * | 1992-04-24 | 1994-06-07 | Digital Equipment Corporation | Duplicate tag store for a processor having primary and backup cache memories in a multiprocessor computer system |
KR940004434A (ko) * | 1992-08-25 | 1994-03-15 | 윌리엄 이. 힐러 | 스마트 다이나믹 랜덤 억세스 메모리 및 그 처리방법 |
US5914953A (en) * | 1992-12-17 | 1999-06-22 | Tandem Computers, Inc. | Network message routing using routing table information and supplemental enable information for deadlock prevention |
US5751932A (en) * | 1992-12-17 | 1998-05-12 | Tandem Computers Incorporated | Fail-fast, fail-functional, fault-tolerant multiprocessor system |
US6807614B2 (en) * | 2001-07-19 | 2004-10-19 | Shine C. Chung | Method and apparatus for using smart memories in computing |
-
2005
- 2005-07-01 JP JP2005194086A patent/JP4287411B2/ja not_active Expired - Fee Related
-
2006
- 2006-01-06 US US11/326,194 patent/US7444492B2/en not_active Expired - Fee Related
-
2008
- 2008-09-17 US US12/232,454 patent/US20090055622A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2007011878A (ja) | 2007-01-18 |
US20070005931A1 (en) | 2007-01-04 |
US7444492B2 (en) | 2008-10-28 |
US20090055622A1 (en) | 2009-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11354251B2 (en) | Apparatus and methods implementing dispatch mechanisms for offloading executable functions | |
US9329988B2 (en) | Parallel dynamic memory allocation using a nested hierarchical heap | |
US9411778B2 (en) | Multiprocessor system and synchronous engine device thereof | |
US8966222B2 (en) | Message passing in a cluster-on-chip computing environment | |
JP4719655B2 (ja) | ネットワーク上におけるプロセッサ制御技術 | |
JP7340326B2 (ja) | メンテナンス動作の実行 | |
US8615614B2 (en) | Message passing using direct memory access unit in a data processing system | |
US7117338B2 (en) | Virtual memory address translation control by TLB purge monitoring | |
US10649686B2 (en) | Memory cache pressure reduction for pointer rings | |
US10095627B2 (en) | Method and system for efficient communication and command system for deferred operation | |
CN115617542A (zh) | 内存交换方法、装置、计算机设备及存储介质 | |
US7562204B1 (en) | Identifying and relocating relocatable kernel memory allocations in kernel non-relocatable memory | |
US20210191777A1 (en) | Memory Allocation in a Hierarchical Memory System | |
JP4287411B2 (ja) | 仮想メモリシステムおよび仮想記憶方法 | |
EP1067461A1 (en) | Unified memory management system for multi process heterogeneous architecture | |
US8762647B2 (en) | Multicore processor system and multicore processor | |
JP3726701B2 (ja) | カーネル空間のデマンドページング・スワップアウト方式および方法 | |
CN112579481B (zh) | 数据处理方法、数据处理装置和计算装置 | |
US11507506B2 (en) | Method and system for efficient communication and command system for deferred operation | |
US20130262790A1 (en) | Method, computer program and device for managing memory access in a multiprocessor architecture of numa type | |
CN115729694A (zh) | 一种资源管理的方法及相应装置 | |
CN112765086A (zh) | 固态存储中一种基于cache一致性的软硬件交互方法 | |
KR20000038110A (ko) | 다중 노드 시스템의 동적인 전역적 단일 주소 공간 구성 방법 | |
JP2013246647A (ja) | 情報処理システムおよび情報処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081224 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090223 |
|
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: 20090317 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090326 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120403 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120403 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130403 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |