JP4173858B2 - 命令キャッシュ、及びメモリ競合を低減する方法 - Google Patents
命令キャッシュ、及びメモリ競合を低減する方法 Download PDFInfo
- Publication number
- JP4173858B2 JP4173858B2 JP2004500132A JP2004500132A JP4173858B2 JP 4173858 B2 JP4173858 B2 JP 4173858B2 JP 2004500132 A JP2004500132 A JP 2004500132A JP 2004500132 A JP2004500132 A JP 2004500132A JP 4173858 B2 JP4173858 B2 JP 4173858B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- cache memory
- cache
- sub
- data sequence
- 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
Classifications
-
- 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/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01M—CATCHING, TRAPPING OR SCARING OF ANIMALS; APPARATUS FOR THE DESTRUCTION OF NOXIOUS ANIMALS OR NOXIOUS PLANTS
- A01M1/00—Stationary means for catching or killing insects
- A01M1/14—Catching by adhesive surfaces
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01M—CATCHING, TRAPPING OR SCARING OF ANIMALS; APPARATUS FOR THE DESTRUCTION OF NOXIOUS ANIMALS OR NOXIOUS PLANTS
- A01M1/00—Stationary means for catching or killing insects
- A01M1/24—Arrangements connected with buildings, doors, windows, or the like
-
- 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/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0851—Cache with interleaved addressing
-
- 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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- 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/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01M—CATCHING, TRAPPING OR SCARING OF ANIMALS; APPARATUS FOR THE DESTRUCTION OF NOXIOUS ANIMALS OR NOXIOUS PLANTS
- A01M2200/00—Kind of animal
- A01M2200/01—Insects
- A01M2200/011—Crawling insects
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01M—CATCHING, TRAPPING OR SCARING OF ANIMALS; APPARATUS FOR THE DESTRUCTION OF NOXIOUS ANIMALS OR NOXIOUS PLANTS
- A01M2200/00—Kind of animal
- A01M2200/01—Insects
- A01M2200/012—Flying insects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Pest Control & Pesticides (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Insects & Arthropods (AREA)
- Wood Science & Technology (AREA)
- Zoology (AREA)
- Environmental Sciences (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
前記プロセッサ・コアから、要求されるデータ・シーケンスを前記キャッシュ・メモリから読み出す要求を受け取るステップと、
前記キャッシュ・メモリに書き込むための更新データ・シーケンスを前記外部メモリから受け取るステップと、
更新データをバッファリングすることにより、前記要求されるデータ・シーケンスに対して前記更新データ・シーケンスを時間的にシフトさせることにより、前記キャッシュ・メモリのサブブロックにおける読み出し/書き込みの競合を低減するステップと
を備える方法が提供される。
一実施形態において、キャッシュ・メモリは、2つのサブブロックに分割され、そこでは、一方が偶数アドレスのため用いられ、他方が奇数アドレスのため用いられる。このようにして、競合は、コアの要求及び更新の両方が同じパリティ・ビットを用いてアドレスすることになる場合のみ起こる場合がある。
一実施形態においては、バッファは、更新バスをサイクル毎にサンプリングする。しかしながら、キャッシュ・メモリに書き込まれたデータ・シーケンスは、バッファリングされたデータであることが常に必要であるわけではない。例えば、書き込み動作を遅延させる理由が無い場合には、更新データは、バッファをバイパスすることにより、直接キャッシュ・メモリに書き込まれる。従って、バッファを介するか、又は直接に外部メモリからかのいずれかでキャッシュ・メモリの中へ流れる更新データの多重化が存在する。バッファからか又はバッファをバイパスするルートからかのいずれかでデータ・シーケンスを選択する選択器手段が設けられる。
Claims (4)
- プロセッサ・コアと外部メモリとの間の接続のための命令キャッシュであって、
各サブブロックがメモリ・アドレスの1又はそれより多い最下位ビットにより区別可能である少なくとも2つのサブブロックから成るキャッシュ・メモリと、
要求されるデータ・シーケンスを前記キャッシュ・メモリから読み出す要求を前記プロセッサ・コアから受け取る手段と、
前記キャッシュ・メモリに書き込むため前記外部メモリから受け取られた更新データ・シーケンスを前記要求されるデータ・シーケンスに対して時間的にシフトさせることにより、前記キャッシュ・メモリのサブブロックにおける読み出し/書き込みの競合を低減するバッファと
を含む命令キャッシュ。 - 前記キャッシュ・メモリは、一方が偶数アドレスを有し、他方が奇数アドレスを有する2つのサブブロックに分割されている請求項1記載の命令キャッシュ。
- 前記バッファからか、又は前記バッファをバイパスするルートを介して直接に前記外部メモリからかのいずれかから、前記キャッシュ・メモリに書き込むための更新データ・シーケンスを選択する手段を更に含む請求項1又は2記載の命令キャッシュ。
- プロセッサ・コアと外部メモリとの間に接続される命令キャッシュ・メモリにおける読み出し/書き込みの競合を低減する方法であって、前記キャッシュ・メモリが少なくとも2つのメモリ・サブブロックから成り、各メモリ・サブブロックがメモリ・アドレスの1又はそれより多い最下位ビットにより区別可能である、前記方法において、
前記プロセッサ・コアから、要求されるデータ・シーケンスを前記キャッシュ・メモリから読み出す要求を受け取るステップと、
前記キャッシュ・メモリに書き込むための更新データ・シーケンスを前記外部メモリから受け取るステップと、
入力データをバッファリングすることにより、前記要求されるデータ・シーケンスに対して前記更新データ・シーケンスを時間的にシフトさせることにより、前記キャッシュ・メモリのサブブロックにおける読み出し/書き込みの競合を低減するステップと
を備える方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB0209572A GB2391337B (en) | 2002-04-26 | 2002-04-26 | Instruction cache and method for reducing memory conflicts |
| PCT/EP2003/002222 WO2003091820A2 (en) | 2002-04-26 | 2003-03-03 | Instruction cache and method for reducing memory conflicts |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2005524136A JP2005524136A (ja) | 2005-08-11 |
| JP4173858B2 true JP4173858B2 (ja) | 2008-10-29 |
Family
ID=9935566
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004500132A Expired - Fee Related JP4173858B2 (ja) | 2002-04-26 | 2003-03-03 | 命令キャッシュ、及びメモリ競合を低減する方法 |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US20050246498A1 (ja) |
| EP (1) | EP1550040A2 (ja) |
| JP (1) | JP4173858B2 (ja) |
| KR (1) | KR100814270B1 (ja) |
| CN (1) | CN1297906C (ja) |
| AU (1) | AU2003219012A1 (ja) |
| GB (1) | GB2391337B (ja) |
| WO (1) | WO2003091820A2 (ja) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7320053B2 (en) * | 2004-10-22 | 2008-01-15 | Intel Corporation | Banking render cache for multiple access |
| US20060225060A1 (en) * | 2005-01-19 | 2006-10-05 | Khalid Goyan | Code swapping in embedded DSP systems |
| US8082396B2 (en) * | 2005-04-28 | 2011-12-20 | International Business Machines Corporation | Selecting a command to send to memory |
| CN100370440C (zh) * | 2005-12-13 | 2008-02-20 | 华为技术有限公司 | 处理器系统及其数据操作方法 |
| JP2014035431A (ja) * | 2012-08-08 | 2014-02-24 | Renesas Mobile Corp | ボコーダ処理方法、半導体装置、及び電子装置 |
| GB2497154B (en) * | 2012-08-30 | 2013-10-16 | Imagination Tech Ltd | Tile based interleaving and de-interleaving for digital signal processing |
| KR102120823B1 (ko) * | 2013-08-14 | 2020-06-09 | 삼성전자주식회사 | 비휘발성 메모리 장치의 독출 시퀀스 제어 방법 및 이를 수행하는 메모리 시스템 |
| EP3037957A4 (en) | 2013-08-19 | 2017-05-17 | Shanghai Xinhao Microelectronics Co. Ltd. | Buffering system and method based on instruction cache |
| CN110264995A (zh) * | 2019-06-28 | 2019-09-20 | 百度在线网络技术(北京)有限公司 | 智能设备的语音测试方法、装置电子设备及可读存储介质 |
| CN111865336B (zh) * | 2020-04-24 | 2021-11-02 | 北京芯领航通科技有限公司 | 基于RAM总线的Turbo译码存储方法及装置和译码器 |
| KR102579319B1 (ko) | 2023-04-19 | 2023-09-18 | 메티스엑스 주식회사 | 캐시 메모리 장치 및 이를 이용하는 캐시 스케줄링 구현 방법 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4818932A (en) * | 1986-09-25 | 1989-04-04 | Tektronix, Inc. | Concurrent memory access system |
| US5752259A (en) * | 1996-03-26 | 1998-05-12 | Advanced Micro Devices, Inc. | Instruction cache configured to provide instructions to a microprocessor having a clock cycle time less than a cache access time of said instruction cache |
| US6029225A (en) | 1997-12-16 | 2000-02-22 | Hewlett-Packard Company | Cache bank conflict avoidance and cache collision avoidance |
| US6240487B1 (en) * | 1998-02-18 | 2001-05-29 | International Business Machines Corporation | Integrated cache buffers |
| US6360298B1 (en) * | 2000-02-10 | 2002-03-19 | Kabushiki Kaisha Toshiba | Load/store instruction control circuit of microprocessor and load/store instruction control method |
-
2002
- 2002-04-26 GB GB0209572A patent/GB2391337B/en not_active Expired - Fee Related
-
2003
- 2003-03-03 US US10/512,699 patent/US20050246498A1/en not_active Abandoned
- 2003-03-03 WO PCT/EP2003/002222 patent/WO2003091820A2/en not_active Ceased
- 2003-03-03 JP JP2004500132A patent/JP4173858B2/ja not_active Expired - Fee Related
- 2003-03-03 AU AU2003219012A patent/AU2003219012A1/en not_active Abandoned
- 2003-03-03 CN CNB038094053A patent/CN1297906C/zh not_active Expired - Fee Related
- 2003-03-03 KR KR1020047017277A patent/KR100814270B1/ko not_active Expired - Fee Related
- 2003-03-03 EP EP03714772A patent/EP1550040A2/en not_active Withdrawn
Also Published As
| Publication number | Publication date |
|---|---|
| AU2003219012A8 (en) | 2003-11-10 |
| CN1650272A (zh) | 2005-08-03 |
| US20050246498A1 (en) | 2005-11-03 |
| GB0209572D0 (en) | 2002-06-05 |
| KR100814270B1 (ko) | 2008-03-18 |
| EP1550040A2 (en) | 2005-07-06 |
| GB2391337B (en) | 2005-06-15 |
| JP2005524136A (ja) | 2005-08-11 |
| WO2003091820A3 (en) | 2003-12-24 |
| WO2003091820A2 (en) | 2003-11-06 |
| GB2391337A (en) | 2004-02-04 |
| KR20050027213A (ko) | 2005-03-18 |
| AU2003219012A1 (en) | 2003-11-10 |
| CN1297906C (zh) | 2007-01-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6449671B1 (en) | Method and apparatus for busing data elements | |
| US20070226422A1 (en) | Multi-master system and data transfer system | |
| US20120072674A1 (en) | Double-buffered data storage to reduce prefetch generation stalls | |
| JPH10133947A (ja) | 統合されたプロセッサ・メモリ装置 | |
| JPH06243039A (ja) | キャッシュメモリシステムおよびマイクロプロセッサ内の命令を操作するための方法 | |
| JP2004171177A (ja) | キャッシュシステムおよびキャッシュメモリ制御装置 | |
| JP4173858B2 (ja) | 命令キャッシュ、及びメモリ競合を低減する方法 | |
| KR100348099B1 (ko) | 단일의캐쉬액세스파이프단을이용하여파이프라인저장명령을실행하기위한장치및방법과,파이프라인프로세서및,컴퓨터시스템 | |
| US7162588B2 (en) | Processor prefetch to match memory bus protocol characteristics | |
| JP2001075866A (ja) | 記憶装置を動作する方法および記憶装置 | |
| US7346746B2 (en) | High performance architecture with shared memory | |
| US8312218B2 (en) | Cache controller and cache control method | |
| GB2394574A (en) | An architecture and method for accessing data and instructions of an external memory using store and forward | |
| JP2005508549A (ja) | アンキャッシュ素子のための帯域幅の向上 | |
| JP4374956B2 (ja) | キャッシュメモリ制御装置およびキャッシュメモリ制御方法 | |
| US6374344B1 (en) | Methods and apparatus for processing load instructions in the presence of RAM array and data bus conflicts | |
| JP4111645B2 (ja) | キャッシュミスした後のメモリバスアクセス制御方式 | |
| JP2008257508A (ja) | キャッシュ制御方法およびキャッシュ装置並びにマイクロコンピュータ | |
| JP3039391B2 (ja) | メモリシステム | |
| JP3956698B2 (ja) | メモリ制御装置 | |
| JP2851777B2 (ja) | バス制御方法及び情報処理装置 | |
| JP4498705B2 (ja) | キャッシュシステム | |
| JP3729832B2 (ja) | キャッシュメモリ装置 | |
| JP2762798B2 (ja) | 命令キャッシュを有するパイプライン構成の情報処理装置 | |
| JP3476314B2 (ja) | マイクロプロセッサ |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060301 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080328 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080403 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080702 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080709 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080709 |
|
| 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: 20080723 |
|
| 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: 20080814 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110822 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110822 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120822 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120822 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130822 Year of fee payment: 5 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |