JP2000122916A5 - - Google Patents

Download PDF

Info

Publication number
JP2000122916A5
JP2000122916A5 JP1999286660A JP28666099A JP2000122916A5 JP 2000122916 A5 JP2000122916 A5 JP 2000122916A5 JP 1999286660 A JP1999286660 A JP 1999286660A JP 28666099 A JP28666099 A JP 28666099A JP 2000122916 A5 JP2000122916 A5 JP 2000122916A5
Authority
JP
Japan
Prior art keywords
memory
instruction
exportable
fetch
central processing
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.)
Granted
Application number
JP1999286660A
Other languages
English (en)
Other versions
JP2000122916A (ja
JP4531890B2 (ja
Filing date
Publication date
Priority claimed from US09/170,137 external-priority patent/US6430657B1/en
Application filed filed Critical
Publication of JP2000122916A publication Critical patent/JP2000122916A/ja
Publication of JP2000122916A5 publication Critical patent/JP2000122916A5/ja
Application granted granted Critical
Publication of JP4531890B2 publication Critical patent/JP4531890B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【特許請求の範囲】
【請求項1】外部のメモリコントローラに接続可能な中央処理装置であって、
エクスポート可能なフェッチおよび加算(FETCHADD)命令を受け取ることが可能な命令レジスタと、
仮想対物理メモリ変換を記憶する複数のエントリを有する変換索引バッファ(TLB)であって、それぞれの該エントリは、該エントリに記憶された該仮想対物理メモリ変換に関連付けられた物理ページが、ライトバックのメモリ方式をサポートするのか、または、キャッシュ不可であるがエクスポート可能なメモリ方式をサポートするのか、を示すメモリアクセスビットを含む、変換索引バッファと、
前記変換索引バッファおよび前記外部のメモリコントローラとの間に接続されたキャッシュメモリと、
前記命令レジスタ、前記外部のメモリコントローラ、および前記変換索引バッファに接続された、命令を解読して実行する命令解読実行ロジックと、を備え、
前記命令解読実行ロジックは、前記エクスポート可能なフェッチおよび加算命令により示される目標メモリ位置に対応する該変換索引バッファのエントリのメモリ属性を調べることにより、該エクスポート可能なフェッチおよび加算命令を実行し、該目標メモリ位置が前記ライトバックのメモリ方式をサポートすることを該メモリ属性が示すならば、該目標メモリ位置のコピーを含むキャッシュラインが、「排他」なコヒーレンシ状態で前記キャッシュメモリにロードされると共に、前記エクスポート可能なフェッチおよび加算命令は、該キャッシュメモリに記憶された該目標メモリ位置のコピーを使用して完了され、前記目標メモリ位置が前記キャッシュ不可であるがエクスポート可能なメモリ方式であることを前記メモリ属性が示すならば、該エクスポート可能なフェッチおよび加算命令は、前記外部のメモリコントローラによって実行されるために該メモリコントローラにエクスポートされる、
中央処理装置。
【請求項2】前記命令レジスタは、バスロックのためのプレフィックスが付いた命令を受け取ることができ、
前記中央処理装置は、さらに、
ソフトウェアベースのバスロック・フォールト・ハンドラーのルーチンを指す割り込みハンドラー・ポインターと、
ロックチェック・イネーブルビットを有する省略時制御レジスタと、を備え、
前記命令解読実行ロジックは、前記ロックチェック・イネーブルビットがセットされている時、前記バスロックのためのプレフィックスが付いた前記命令をエミュレートするソフトウェアベースの前記バスロック・フォールト・ハンドラーのルーチンを実行し、前記ロックチェック・イネーブルビットがセットされていない時、該中央処理装置を前記外部のメモリコントローラに接続するバスをロックすることにより、前記バスロックのプレフィックスが付いていない前記命令を実行する、
請求項1に記載の中央処理装置。
【請求項3】外部のメモリコントローラに接続されることが可能な中央処理装置であって、
バスロックのためのプレフィックスが付いた命令を受け取ることができる命令レジスタと、
ソフトウェアベースのバスロック・フォールト・ハンドラーのルーチンを指す割り込みハンドラーのポインタと、
ロックチェック・イネーブルビットを有する省略時制御レジスタと、
前記命令レジスタ、前記外部のメモリコントローラ、前記割り込みハンドラーのポインタ、および前記省略時制御レジスタに接続され、命令を解読して実行する命令解読実行ロジックと、を備え、
前記ロジックは、前記ロックチェック・イネーブルビットがセットされている時は、該バスロックのためのプレフィックスが付いた前記命令をエミュレートする前記ソフトウェアベースのバスロック・フォールト・ハンドラーのルーチンを実行し、前記ロックチェック・イネーブルビットがセットされていない時は、該中央処理装置を前記外部のメモリコントローラに接続するバスをロックすることにより、該バスロックのためのプレフィックスが付いていない前記命令を実行する、
中央処理装置。
【請求項4】前記命令レジスタは、エクスポート可能なフェッチおよび加算(FETCHADD)命令を受け取ることができ、前記中央処理装置は、さらに、
仮想対物理メモリ変換を記憶する複数のエントリを有する変換索引バッファ(TLB)であって、それぞれの該エントリは、該エントリに記憶された該仮想対物理メモリ変換に関連付けられた物理ページが、ライトバックのメモリ方式をサポートするのか、または、キャッシュ不可であるがエクスポート可能なメモリ方式をサポートするのか、を示すメモリアクセスビットを含む、変換索引バッファと、
前記変換索引バッファおよび前記外部のメモリコントローラとの間に接続されたキャッシュメモリと、
前記命令解読実行ロジックは、前記変換索引バッファに接続されており、該ロジックは、前記エクスポート可能なフェッチおよび加算命令により示される目標メモリ位置に対応する該変換索引バッファのエントリのメモリ属性を調べることによって、該エクスポート可能なフェッチおよび加算命令を実行し、該目標メモリ位置が前記ライトバックのメモリ方式をサポートすることを該メモリ属性が示すならば、該目標メモリ位置のコピーを含むキャッシュラインが、排他として前記キャッシュメモリにロードされると共に、該エクスポート可能なフェッチおよび加算命令は、該キャッシュメモリに記憶された該目標メモリ位置のコピーを使用して完了され、前記目標メモリ位置がキャッシュ不可であるがエクスポート可能なメモリ方式であることを該メモリ属性が示すならば、該エクスポート可能なフェッチおよびメモリ命令は、前記外部のメモリコントローラによって実行されるために該メモリコントローラにエクスポートされる、
請求項3に記載の中央処理装置。
【請求項5】マルチプロセッサコンピュータシステムであって、
メインメモリユニットと、
前記メインメモリユニットに接続されたメモリコントローラであって、エクスポート可能なフェッチおよび加算命令を受け取って実行することができるメモリコントローラと、
前記メモリコントローラに接続された複数の中央処理装置であって、それぞれの該中央処理装置は、
エクスポート可能なフェッチおよび加算命令を受け取ることが可能な命令レジスタと、
仮想対物理メモリ変換を記憶する複数のエントリを有する変換索引バッファ(TLB)であって、それぞれの該エントリは、該エントリに記憶された該仮想対物理メモリ変換に関連付けられた物理ページが、ライトバックのメモリ方式をサポートするのか、または、キャッシュ不可であるがエクスポート可能なメモリ方式をサポートするのか、を示すメモリアクセスビットを含む、変換索引バッファと、
前記変換索引バッファおよび前記外部のメモリコントローラとの間に接続されたキャッシュメモリと、
前記命令レジスタ、前記外部のメモリコントローラ、および前記変換索引バッファに接続された、命令を解読して実行する命令解読実行ロジックと、を備え、
前記ロジックは、前記エクスポート可能なフェッチおよび加算命令により示される目標メモリ位置に対応する該変換索引バッファのエントリのメモリ属性を調べることによって、該エクスポート可能なフェッチおよび加算命令を実行し、該目標メモリ位置が前記ライトバックのメモリ方式をサポートすることを、該メモリ属性が示すならば、該目標メモリ位置のコピーを含むキャッシュラインが、排他として前記キャッシュメモリにロードされると共に、前記エクスポート可能なフェッチおよび加算命令は、該キャッシュメモリに記憶された該目標メモリ位置のコピーを使用して完了され、前記目標メモリ位置がキャッシュ不可であるがエクスポート可能なメモリ方式であることを、該メモリ属性が示すならば、該エクスポート可能なフェッチおよびメモリ命令は、前記外部のメモリコントローラによって実行されるために該メモリコントローラにエクスポートされる、
マルチプロセッサコンピュータシステム。
【請求項6】それぞれの前記中央処理装置の前記命令レジスタは、バスロックのプレフィックスが付いた命令を受け取ることができ、それぞれの該中央処理装置は、さらに、
ソフトウェアベースのバスロック・フォールト・ハンドラーのルーチンを指す割り込みハンドラーのポインタと、
ロックチェック・イネーブルビットを有する省略時制御レジスタと、を備え、
前記命令解読実行ロジックは、前記ロックチェック・イネーブルビットがセットされている時は、該バスロックのプレフィックスが付いた前記命令をエミュレートする前記ソフトウェアベースのバスロック・フォールト・ハンドラーのルーチンを実行し、前記ロックチェック・イネーブルビットがセットされていない時は、該中央処理装置を前記外部のメモリコントローラに接続するバスをロックすることにより、該バスロックのプレフィックスが付いていない前記命令を実行する、
請求項5に記載のマルチプロセッサコンピュータシステム。
JP28666099A 1998-10-12 1999-10-07 原子的更新処理を実行する方法 Expired - Fee Related JP4531890B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US170137 1980-07-18
US09/170,137 US6430657B1 (en) 1998-10-12 1998-10-12 Computer system that provides atomicity by using a tlb to indicate whether an exportable instruction should be executed using cache coherency or by exporting the exportable instruction, and emulates instructions specifying a bus lock

Publications (3)

Publication Number Publication Date
JP2000122916A JP2000122916A (ja) 2000-04-28
JP2000122916A5 true JP2000122916A5 (ja) 2006-11-16
JP4531890B2 JP4531890B2 (ja) 2010-08-25

Family

ID=22618690

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28666099A Expired - Fee Related JP4531890B2 (ja) 1998-10-12 1999-10-07 原子的更新処理を実行する方法

Country Status (2)

Country Link
US (1) US6430657B1 (ja)
JP (1) JP4531890B2 (ja)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6341338B1 (en) * 1999-02-04 2002-01-22 Sun Microsystems, Inc. Protocol for coordinating the distribution of shared memory
US6587964B1 (en) * 2000-02-18 2003-07-01 Hewlett-Packard Development Company, L.P. Transparent software emulation as an alternative to hardware bus lock
US6802057B1 (en) 2000-05-03 2004-10-05 Sun Microsystems, Inc. Automatic generation of fortran 90 interfaces to fortran 77 code
US6986130B1 (en) 2000-07-28 2006-01-10 Sun Microsystems, Inc. Methods and apparatus for compiling computer programs using partial function inlining
US6594736B1 (en) * 2000-08-15 2003-07-15 Src Computers, Inc. System and method for semaphore and atomic operation management in a multiprocessor
US6804741B2 (en) * 2002-01-16 2004-10-12 Hewlett-Packard Development Company, L.P. Coherent memory mapping tables for host I/O bridge
US7971030B2 (en) 2002-08-07 2011-06-28 Mmagix Technology Limited Method for using multiple processing resources which share multiple co-processor resources
US7146607B2 (en) * 2002-09-17 2006-12-05 International Business Machines Corporation Method and system for transparent dynamic optimization in a multiprocessing environment
US9043194B2 (en) * 2002-09-17 2015-05-26 International Business Machines Corporation Method and system for efficient emulation of multiprocessor memory consistency
US7496494B2 (en) * 2002-09-17 2009-02-24 International Business Machines Corporation Method and system for multiprocessor emulation on a multiprocessor host system
US7953588B2 (en) * 2002-09-17 2011-05-31 International Business Machines Corporation Method and system for efficient emulation of multiprocessor address translation on a multiprocessor host
US8108843B2 (en) 2002-09-17 2012-01-31 International Business Machines Corporation Hybrid mechanism for more efficient emulation and method therefor
US7103528B2 (en) * 2002-09-19 2006-09-05 Lsi Logic Corporation Emulated atomic instruction sequences in a multiprocessor system
US7130969B2 (en) * 2002-12-19 2006-10-31 Intel Corporation Hierarchical directories for cache coherency in a multiprocessor system
US7917646B2 (en) * 2002-12-19 2011-03-29 Intel Corporation Speculative distributed conflict resolution for a cache coherency protocol
US7636815B1 (en) * 2003-04-09 2009-12-22 Klaiber Alexander C System and method for handling direct memory accesses
US8751753B1 (en) 2003-04-09 2014-06-10 Guillermo J. Rozas Coherence de-coupling buffer
US20040263386A1 (en) * 2003-06-26 2004-12-30 King Thomas M. Satellite positioning system receivers and methods
US20050071606A1 (en) * 2003-09-30 2005-03-31 Roman Talyansky Device, system and method of allocating spill cells in binary instrumentation using one free register
US7822929B2 (en) 2004-04-27 2010-10-26 Intel Corporation Two-hop cache coherency protocol
US20050240734A1 (en) * 2004-04-27 2005-10-27 Batson Brannon J Cache coherence protocol
US20050262250A1 (en) * 2004-04-27 2005-11-24 Batson Brannon J Messaging protocol
US9280473B2 (en) 2004-12-02 2016-03-08 Intel Corporation Method and apparatus for accessing physical memory from a CPU or processing element in a high performance manner
US7971002B1 (en) * 2005-04-07 2011-06-28 Guillermo Rozas Maintaining instruction coherency in a translation-based computer system architecture
US7814292B2 (en) * 2005-06-14 2010-10-12 Intel Corporation Memory attribute speculation
US7676796B2 (en) * 2005-09-29 2010-03-09 Intel Corporation Device, system and method for maintaining a pre-defined number of free registers within an instrumented program
US7991965B2 (en) * 2006-02-07 2011-08-02 Intel Corporation Technique for using memory attributes
US7487279B2 (en) * 2007-01-23 2009-02-03 International Business Machines Corporation Achieving both locking fairness and locking performance with spin locks
US9032100B2 (en) * 2008-04-03 2015-05-12 International Business Machines Corporation I/O hub-supported atomic I/O operations
US8275598B2 (en) * 2009-03-02 2012-09-25 International Business Machines Corporation Software table walk during test verification of a simulated densely threaded network on a chip
US8788794B2 (en) 2010-12-07 2014-07-22 Advanced Micro Devices, Inc. Programmable atomic memory using stored atomic procedures
US9122476B2 (en) 2010-12-07 2015-09-01 Advanced Micro Devices, Inc. Programmable atomic memory using hardware validation agent
US8793471B2 (en) 2010-12-07 2014-07-29 Advanced Micro Devices, Inc. Atomic program verification
CN103064375B (zh) * 2012-12-18 2015-01-14 国核电站运行服务技术有限公司 一种基于核级设备检测远程操控上位机的软件结构的控制方法
US9058282B2 (en) 2012-12-31 2015-06-16 Intel Corporation Dynamic cache write policy
US10078613B1 (en) 2014-03-05 2018-09-18 Mellanox Technologies, Ltd. Computing in parallel processing environments
US9558115B2 (en) * 2014-04-22 2017-01-31 Netapp, Inc. Write-back caching-based atomicity in a distributed storage system
US11775443B2 (en) 2014-10-23 2023-10-03 Hewlett Packard Enterprise Development Lp Supervisory memory management unit
FR3048526B1 (fr) * 2016-03-07 2023-01-06 Kalray Instruction atomique de portee limitee a un niveau de cache intermediaire
US10402218B2 (en) * 2016-08-30 2019-09-03 Intel Corporation Detecting bus locking conditions and avoiding bus locks
US10528519B2 (en) 2017-05-02 2020-01-07 Mellanox Technologies Ltd. Computing in parallel processing environments
US10394653B1 (en) 2017-05-02 2019-08-27 Mellanox Technologies, Ltd. Computing in parallel processing environments
US10394747B1 (en) 2017-05-31 2019-08-27 Mellanox Technologies Ltd. Implementing hierarchical PCI express switch topology over coherent mesh interconnect

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04340144A (ja) * 1991-05-17 1992-11-26 Nec Corp バスロック制御装置
US5428761A (en) * 1992-03-12 1995-06-27 Digital Equipment Corporation System for achieving atomic non-sequential multi-word operations in shared memory
US5535365A (en) * 1993-10-22 1996-07-09 Cray Research, Inc. Method and apparatus for locking shared memory locations in multiprocessing systems
US5535352A (en) * 1994-03-24 1996-07-09 Hewlett-Packard Company Access hints for input/output address translation mechanisms
US5574922A (en) * 1994-06-17 1996-11-12 Apple Computer, Inc. Processor with sequences of processor instructions for locked memory updates
US5761731A (en) * 1995-01-13 1998-06-02 Digital Equipment Corporation Method and apparatus for performing atomic transactions in a shared memory multi processor system
US6519623B1 (en) * 1996-10-31 2003-02-11 International Business Machines Corporation Generic semaphore for concurrent access by multiple operating systems
US5895495A (en) * 1997-03-13 1999-04-20 International Business Machines Corporation Demand-based larx-reserve protocol for SMP system buses

Similar Documents

Publication Publication Date Title
JP2000122916A5 (ja)
US10282300B2 (en) Accessing physical memory from a CPU or processing element in a high performance manner
EP3238074B1 (en) Cache accessed using virtual addresses
JP4531890B2 (ja) 原子的更新処理を実行する方法
TWI230862B (en) Translation lookaside buffer that caches memory type information
US6138208A (en) Multiple level cache memory with overlapped L1 and L2 memory access
KR101467069B1 (ko) 일련의 페이지의 캐시 플러싱 및 일련의 엔트리의 tlb 무효화를 위한 시스템, 방법 및 장치
EP0734553B1 (en) Split level cache
US5249286A (en) Selectively locking memory locations within a microprocessor's on-chip cache
TWI388984B (zh) 實行推測性頁表查找之微處理器、方法及電腦程式產品
JP3666689B2 (ja) 仮想アドレス変換方法
US6622211B2 (en) Virtual set cache that redirects store data to correct virtual set to avoid virtual set store miss penalty
US5379394A (en) Microprocessor with two groups of internal buses
KR100228940B1 (ko) 메모리 일관성 유지 방법
EP1894100A2 (en) Microprocessor including a configurable translation lookaside buffer
US10552153B2 (en) Efficient range-based memory writeback to improve host to device communication for optimal power and performance
JP3841810B2 (ja) データプロセッサ
JPH06236353A (ja) マルチプロセッサ・コンピュータ・システムのシステム・メモリの並行性を増大する方法およびシステム
EP0459233A2 (en) Selectively locking memory locations within a microprocessor's on-chip cache
US6389527B1 (en) Microprocessor allowing simultaneous instruction execution and DMA transfer
US8108621B2 (en) Data cache with modified bit array
JP2000339221A (ja) 変換装置のエントリを無効化するシステム及び方法
US7076635B1 (en) Method and apparatus for reducing instruction TLB accesses
US8898540B1 (en) Counter update through atomic operation
US20100306478A1 (en) Data cache with modified bit array