JP5583893B2 - 演算処理装置及び演算処理装置の制御方法 - Google Patents
演算処理装置及び演算処理装置の制御方法 Download PDFInfo
- Publication number
- JP5583893B2 JP5583893B2 JP2008139986A JP2008139986A JP5583893B2 JP 5583893 B2 JP5583893 B2 JP 5583893B2 JP 2008139986 A JP2008139986 A JP 2008139986A JP 2008139986 A JP2008139986 A JP 2008139986A JP 5583893 B2 JP5583893 B2 JP 5583893B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- cache
- arithmetic processing
- main storage
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
- G06F12/0859—Overlapped cache accessing, e.g. pipeline with reload from main memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
主記憶部によって記憶されるデータのうち前記演算処理手段によって使用されるデータを記憶するキャッシュメモリと、
前記キャッシュメモリの入力部分と出力部分とを接続する接続手段と、
主記憶部のデータが前記キャッシュメモリの入力部分から前記キャッシュメモリに入力される場合に、当該データを前記接続手段経由で前記キャッシュメモリの出力部分へ転送させる制御手段と、
前記制御手段の制御により前記キャッシュメモリの出力部分へ転送されたデータを前記演算処理手段へ転送する転送手段と
を有することを特徴とするキャッシュメモリ制御装置。
前記制御手段は、
前記キュー手段から出力されるデータを前記接続手段経由で前記キャッシュメモリの出力部分へ転送させることを特徴とする付記1記載のキャッシュメモリ制御装置。
前記転送手段は、
前記選択手段によって選択されたデータを前記演算処理手段へ転送することを特徴とする付記1記載のキャッシュメモリ制御装置。
前記演算処理手段によって要求されるデータが前記キャッシュメモリに記憶されておらず、当該データが主記憶部から前記キャッシュメモリへ転送される場合に、前記接続手段経由で転送されたデータを選択することを特徴とする付記3記載のキャッシュメモリ制御装置。
前記キャッシュメモリに入力されたデータが前記キャッシュメモリに書き込まれた後に、当該データと同一のデータを前記接続手段経由で前記キャッシュメモリの出力部分へ転送させることを特徴とする付記1記載のキャッシュメモリ制御装置。
データの転送に関する命令をパイプライン処理するパイプライン処理手段を含み、
前記パイプライン処理手段のパイプライン処理において、前記キャッシュメモリから実際にデータが出力されるサイクルと、前記接続手段経由で前記キャッシュメモリの出力部分へデータが転送されるサイクルとを一致させることを特徴とする付記1記載のキャッシュメモリ制御装置。
1つの命令の実行が開始された後、前記キャッシュメモリに対するアクセスが継続するサイクル数だけ次の命令の実行開始を待機することを特徴とする付記6記載のキャッシュメモリ制御装置。
1つの命令の実行が開始された後、前記転送手段によるデータ転送に必要なサイクル数だけ次の命令の実行開始を待機することを特徴とする付記6記載のキャッシュメモリ制御装置。
メインメモリに記憶されるデータを記憶するキャッシュメモリと、
前記キャッシュメモリの入力部分と出力部分とを接続する接続ラインと、
前記メインメモリのデータを前記キャッシュメモリに入力する場合に、当該データを前記接続ライン経由で前記キャッシュメモリの出力部分へ転送させる制御手段と、
前記制御手段の制御により前記キャッシュメモリの出力部分へ転送されたデータを前記プロセッサコアへ転送するデータバスと
を有することを特徴とする半導体集積回路。
前記キャッシュメモリは、
それぞれ記憶するデータのアドレスが異なる前記メインメモリの複数のバンクに対応して分割されることを特徴とする付記9記載の半導体集積回路。
主記憶部のデータを前記キャッシュメモリの入力部分から入力して前記キャッシュメモリに書き込む書込ステップと、
前記書込ステップにて前記キャッシュメモリに書き込まれたデータを前記キャッシュメモリの入力部分から前記キャッシュメモリの出力部分へ転送する第1転送ステップと、
前記第1転送ステップにて転送されたデータを前記キャッシュメモリの出力部分から前記演算処理手段へ転送する第2転送ステップと
を有することを特徴とするキャッシュメモリ制御方法。
101、101−0、101−1 コア
102 制御部
103 WBDQ
104 MIDQ
105、107、108、111 セレクタ
106 データメモリ
109 データバス
110 MIポート
112 タグメモリ
113 MIバッファ
114 MODQ
115 MAC
L0 ライン
Claims (4)
- データを記憶する主記憶装置に接続する演算処理装置において、
メモリアクセス命令をそれぞれ実行する複数の演算処理部と、
前記主記憶装置から読みだしたデータを複数のバンクに分割された前記主記憶装置に対応してそれぞれ保持する複数のキャッシュメモリと、
前記主記憶装置から読みだしたデータ又は前記キャッシュメモリから読みだしたデータのいずれかを選択する選択部と、
前記選択部が選択したデータを前記複数の演算処理部のいずれかに転送する転送部と、
前記複数の演算処理部のいずれかが、前記メモリアクセス命令の実行に応じて前記複数のキャッシュメモリのいずれかに対して要求したデータがキャッシュミスを発生させた場合、前記キャッシュミスの発生に応じて前記主記憶装置の複数のバンクのいずれかから読みだしたデータを前記複数のキャッシュメモリのうち前記主記憶装置の複数のバンクのいずれかに対応するキャッシュメモリに保持させるとともに、前記主記憶装置の複数のバンクのいずれかから読みだした前記データを前記選択部に選択させ、前記選択部に選択させたデータを前記転送部に前記複数の演算処理部のうち前記キャッシュミスを発生させたデータを要求した演算処理部に対して転送させる制御部と、を有し、
前記制御部は、
前記メモリアクセス命令を複数のステージを有するパイプラインで処理するとともに、前記キャッシュメモリからデータを読み出す場合の前記パイプラインにおける前記キャッシュメモリからデータを読み出すタイミングと、前記複数の演算処理部のいずれかが前記キャッシュメモリに対して要求したデータがキャッシュミスを発生させた場合の前記パイプラインにおける前記主記憶装置から読みだしたデータを前記選択部に出力させるタイミングとを一致させるとともに、メモリアクセスの実行を開始した後、前記キャッシュメモリに対するアクセスに必要な期間、または前記転送部によるデータ転送に必要な期間、だけ後続のメモリアクセス命令の実行を待機させる
ことを特徴とする演算処理装置。 - 前記演算処理装置はさらに、
前記主記憶装置から読みだしたデータを保持して前記キャッシュメモリに出力するキューを有し、
前記複数の演算処理部のいずれかが、前記メモリアクセス命令の実行に応じて前記キャッシュメモリに対して要求したデータがキャッシュミスを発生させた場合、前記キャッシュミスの発生に応じて前記主記憶装置から読みだしたデータを、前記キューを介して前記キャッシュメモリに保持させるとともに、前記キューから読みだしたデータを前記選択部に選択させ、前記選択部に選択させたデータを前記転送部に前記複数の演算処理部のうち前記キャッシュミスを発生させたデータを要求した演算処理部に転送させる制御部を有することを特徴とする請求項1記載の演算処理装置。 - 前記制御部は、
前記複数の演算処理部のいずれかが、前記メモリアクセス命令の実行に応じて前記キャッシュメモリに対して要求したデータがキャッシュミスを発生させた場合、前記キャッシュミスの発生に応じて前記主記憶装置から読みだしたデータを前記キャッシュメモリに保持させた後に、前記主記憶装置から読みだしたデータを前記選択部に選択させ、前記選択部に選択させたデータを前記転送部に前記複数の演算処理部のうち前記キャッシュミスを発生させたデータを要求した演算処理部に転送させることを特徴とする請求項1または2に記載の演算処理装置。 - データを記憶する主記憶装置に接続するとともに、前記主記憶装置から読みだしたデータを複数のバンクに分割された前記主記憶装置に対応してそれぞれ保持する複数のキャッシュメモリを有する演算処理装置の制御方法において、
前記演算処理装置が有する複数の演算処理部が、メモリアクセス命令をそれぞれ実行し、
前記演算処理装置が有する選択部が、前記主記憶装置から読みだしたデータ又は前記キャッシュメモリから読みだしたデータのいずれかを選択し、
前記演算処理装置が有する転送部が、前記選択部が選択したデータを前記複数の演算処理部のいずれかに転送し、
前記複数の演算処理部のいずれかが、前記メモリアクセス命令の実行に応じて前記複数のキャッシュメモリのいずれかに対して要求したデータがキャッシュミスを発生させた場合、前記演算処理装置が有する制御部が、前記キャッシュミスの発生に応じて前記主記憶装置の複数のバンクのいずれかから読みだしたデータを前記複数のキャッシュメモリのうち前記主記憶装置の複数のバンクのいずれかに対応するキャッシュメモリに保持させ、
前記制御部が、前記主記憶装置の複数のバンクのいずれかから読みだした前記データを前記選択部に選択させ、
前記制御部が、前記選択部に選択させたデータを前記転送部に前記複数の演算処理部のうち前記キャッシュミスを発生させたデータを要求した演算処理部に対して転送させ、
前記制御部が、前記メモリアクセス命令を複数のステージを有するパイプラインで処理するとともに、前記キャッシュメモリからデータを読み出す場合の前記パイプラインにおける前記キャッシュメモリからデータを読み出すタイミングと、前記複数の演算処理部のいずれかが前記キャッシュメモリに対して要求したデータがキャッシュミスを発生させた場合の前記パイプラインにおける前記主記憶装置から読みだしたデータを前記選択部に出力させるタイミングとを一致させ、
前記制御部が、メモリアクセスの実行を開始した後、前記キャッシュメモリに対するアクセスに必要な期間、または前記転送部によるデータ転送に必要な期間、だけ後続のメモリアクセス命令の実行を待機させる
ことを特徴とする演算処理装置の制御方法。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008139986A JP5583893B2 (ja) | 2008-05-28 | 2008-05-28 | 演算処理装置及び演算処理装置の制御方法 |
| EP09152023.9A EP2128771B1 (en) | 2008-05-28 | 2009-02-04 | Method and apparatus for controlling cache memory |
| US12/320,941 US8200900B2 (en) | 2008-05-28 | 2009-02-09 | Method and apparatus for controlling cache memory |
| KR1020090016447A KR100983299B1 (ko) | 2008-05-28 | 2009-02-26 | 캐쉬 메모리 제어 장치, 반도체 집적 회로 및 캐쉬 메모리 제어방법 |
| CN2009101184641A CN101593158B (zh) | 2008-05-28 | 2009-03-09 | 控制高速缓冲存储器的方法和装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008139986A JP5583893B2 (ja) | 2008-05-28 | 2008-05-28 | 演算処理装置及び演算処理装置の制御方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2009288977A JP2009288977A (ja) | 2009-12-10 |
| JP5583893B2 true JP5583893B2 (ja) | 2014-09-03 |
Family
ID=41037719
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008139986A Active JP5583893B2 (ja) | 2008-05-28 | 2008-05-28 | 演算処理装置及び演算処理装置の制御方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US8200900B2 (ja) |
| EP (1) | EP2128771B1 (ja) |
| JP (1) | JP5583893B2 (ja) |
| KR (1) | KR100983299B1 (ja) |
| CN (1) | CN101593158B (ja) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011028343A (ja) * | 2009-07-22 | 2011-02-10 | Fujitsu Ltd | 演算処理装置、およびデータ転送方法 |
| CN101901191A (zh) * | 2010-05-31 | 2010-12-01 | 深圳市茁壮网络股份有限公司 | 嵌入式系统多类内存管理方法及装置 |
| KR101975528B1 (ko) | 2012-07-17 | 2019-05-07 | 삼성전자주식회사 | 패스트 어레이 영역을 갖는 반도체 메모리 셀 어레이 및 그것을 포함하는 반도체 메모리 |
| CN102902631B (zh) * | 2012-09-18 | 2015-04-15 | 杭州中天微系统有限公司 | 一种避免读缺失时数据回写的多处理器核间传输方法 |
| CN106502810B (zh) * | 2016-09-09 | 2019-05-24 | 华为技术有限公司 | 一种高速缓冲存储器的故障检测方法及装置 |
| US10884957B2 (en) * | 2018-10-15 | 2021-01-05 | Intel Corporation | Pipeline circuit architecture to provide in-memory computation functionality |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6272041A (ja) * | 1985-09-25 | 1987-04-02 | Nec Corp | キヤツシユメモリ制御装置 |
| US4851993A (en) * | 1987-04-20 | 1989-07-25 | Amdahl Corporation | Cache move-in bypass |
| JPS6429953A (en) * | 1987-07-25 | 1989-01-31 | Fujitsu Ltd | Controller for buffer move-in of buffer storage system |
| JPH02133842A (ja) * | 1988-11-15 | 1990-05-23 | Fujitsu Ltd | 中間バッファプリフェッチ制御方式 |
| US4998221A (en) * | 1989-10-31 | 1991-03-05 | International Business Machines Corporation | Memory by-pass for write through read operations |
| JP2673041B2 (ja) * | 1990-10-19 | 1997-11-05 | 富士通株式会社 | 命令実行制御方式 |
| US5454093A (en) | 1991-02-25 | 1995-09-26 | International Business Machines Corporation | Buffer bypass for quick data access |
| JPH10111798A (ja) | 1996-10-07 | 1998-04-28 | Fujitsu Ltd | 情報処理装置 |
| JPH11184695A (ja) | 1997-12-19 | 1999-07-09 | Nec Corp | キャッシュメモリ及びキャッシュメモリへのアクセス方法 |
| US6901450B1 (en) * | 2000-09-22 | 2005-05-31 | Hitachi, Ltd. | Multiprocessor machine and cache control method for providing higher priority to shared cache that is accessed by multiprocessors |
| US6865665B2 (en) * | 2000-12-29 | 2005-03-08 | Stmicroelectronics, Inc. | Processor pipeline cache miss apparatus and method for operation |
| US7248585B2 (en) | 2001-10-22 | 2007-07-24 | Sun Microsystems, Inc. | Method and apparatus for a packet classifier |
| JP4092112B2 (ja) * | 2002-02-26 | 2008-05-28 | 富士通株式会社 | 演算処理装置 |
| JP4180569B2 (ja) * | 2003-01-27 | 2008-11-12 | 富士通株式会社 | 記憶制御装置、データキャッシュ制御装置、中央処理装置、記憶装置制御方法、データキャッシュ制御方法およびキャッシュ制御方法 |
| JP4904796B2 (ja) * | 2005-12-07 | 2012-03-28 | セイコーエプソン株式会社 | キャッシュメモリ及びマルチプロセッサシステム |
| JP2008107983A (ja) * | 2006-10-24 | 2008-05-08 | Nec Electronics Corp | キャッシュメモリ |
| US20080140934A1 (en) * | 2006-12-11 | 2008-06-12 | Luick David A | Store-Through L2 Cache Mode |
-
2008
- 2008-05-28 JP JP2008139986A patent/JP5583893B2/ja active Active
-
2009
- 2009-02-04 EP EP09152023.9A patent/EP2128771B1/en not_active Ceased
- 2009-02-09 US US12/320,941 patent/US8200900B2/en active Active
- 2009-02-26 KR KR1020090016447A patent/KR100983299B1/ko active Active
- 2009-03-09 CN CN2009101184641A patent/CN101593158B/zh active Active
Also Published As
| Publication number | Publication date |
|---|---|
| CN101593158A (zh) | 2009-12-02 |
| JP2009288977A (ja) | 2009-12-10 |
| EP2128771A1 (en) | 2009-12-02 |
| KR100983299B1 (ko) | 2010-09-24 |
| EP2128771B1 (en) | 2018-07-25 |
| KR20090123771A (ko) | 2009-12-02 |
| US20090300287A1 (en) | 2009-12-03 |
| US8200900B2 (en) | 2012-06-12 |
| CN101593158B (zh) | 2012-07-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2372530A1 (en) | Data processing method and device | |
| JP5583893B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
| US6101589A (en) | High performance shared cache | |
| TWI553483B (zh) | 處理器及存取記憶體的方法 | |
| JP5499987B2 (ja) | 共有キャッシュメモリ装置 | |
| JP2010176442A (ja) | ディスクリプタ転送装置、i/oコントローラ、及びディスクリプタ転送方法 | |
| KR20010014592A (ko) | 파이프라인 메모리 시스템의 다중 목적에 대한 다중 요구지원 | |
| JP4750889B2 (ja) | キャッシュメモリ制御装置、およびパイプライン制御方法 | |
| JP6294732B2 (ja) | データ転送制御装置及びメモリ内蔵装置 | |
| US8713216B2 (en) | Processor and data transfer method | |
| JP2011154528A (ja) | データ処理装置 | |
| JP2012014436A (ja) | ダイレクトメモリアクセス制御装置及び方法 | |
| JP2012008747A (ja) | 集積装置、メモリ割り当て方法、および、プログラム | |
| CN102405466A (zh) | 存储控制装置及其控制方法 | |
| US6349370B1 (en) | Multiple bus shared memory parallel processor and processing method | |
| JP7567133B2 (ja) | 半導体記憶装置及び半導体記憶装置の制御方法 | |
| CN100449514C (zh) | 电气装置和用于控制存储访问的方法 | |
| JP4918535B2 (ja) | キャッシュメモリ、キャッシュメモリ装置及び割当て方法 | |
| JP4431492B2 (ja) | 複数のコヒーレンシー・グラニュールをサポートするデータ転送ユニット | |
| JP2008257508A (ja) | キャッシュ制御方法およびキャッシュ装置並びにマイクロコンピュータ | |
| JP5091548B2 (ja) | メモリシステム | |
| JP5968693B2 (ja) | 半導体装置 | |
| JP5270605B2 (ja) | マイクロコントローラ | |
| JP2011118744A (ja) | 情報処理装置 | |
| JP6477185B2 (ja) | 演算処理装置および演算処理装置の制御方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110217 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121119 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121127 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130128 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130219 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130517 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20130524 |
|
| A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20130614 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140617 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140717 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5583893 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |