RU2008134124A - Эффективное управление иерархией памяти - Google Patents
Эффективное управление иерархией памяти Download PDFInfo
- Publication number
- RU2008134124A RU2008134124A RU2008134124/09A RU2008134124A RU2008134124A RU 2008134124 A RU2008134124 A RU 2008134124A RU 2008134124/09 A RU2008134124/09 A RU 2008134124/09A RU 2008134124 A RU2008134124 A RU 2008134124A RU 2008134124 A RU2008134124 A RU 2008134124A
- Authority
- RU
- Russia
- Prior art keywords
- command
- data
- cache
- data cache
- address
- Prior art date
Links
- 238000000034 method Methods 0.000 claims 13
- 238000010200 validation analysis Methods 0.000 claims 4
- 238000006243 chemical reaction Methods 0.000 claims 1
- 230000004044 response Effects 0.000 claims 1
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
-
- 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/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/0848—Partitioned cache, e.g. separate instruction and operand caches
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
- Communication Control (AREA)
- Automatic Assembly (AREA)
Abstract
1. Способ обнаружения команды в кэше данных, который является отдельным от кэша команд, причем способ содержит ! определение, что попытка выборки в кэше команд для команды по адресу выборки команды неудачна; ! преобразование адреса выборки команды в адрес выборки данных; и ! выполнение попытки выборки в кэше данных для команды по преобразованному адресу выборки данных. ! 2. Способ по п.1, дополнительно содержащий ! установку атрибута проверки кэша данных в активное состояние при генерации команд, которые сохранены как данные в кэше данных. ! 3. Способ по п.2, дополнительно содержащий ! определение, активен ли атрибут проверки кэша данных; и ! разрешение попытки выборки в кэше данных для команды, только если атрибут проверки кэша данных активен. ! 4. Способ по п.2, в котором атрибут проверки кэша данных представляет собой бит, сохраненный в таблице страниц команд. ! 5. Способ по п.1, в котором этап преобразования адреса выборки команд дополнительно включает в себя ! мультиплексирование адреса выборки команды и адреса выборки данных; и ! выбор адреса выборки команды для применения в кэше данных в качестве преобразованного адреса выборки данных, при этом адрес выборки команды выбирается после определения, что попытка выборки команды в кэше команд была неудачной. ! 6. Способ по п.1, в котором этап выполнения попытки выборки в кэше данных дополнительно включает в себя ! определение успешного обращения для команды в кэше данных; и ! выборку команды из кэша данных. ! 7. Способ по п.1, дополнительно содержащий ! определение, что попытка выборки в кэше данных была неудачной; и ! информирование управления памятью команд, что попытка выборки в к�
Claims (20)
1. Способ обнаружения команды в кэше данных, который является отдельным от кэша команд, причем способ содержит
определение, что попытка выборки в кэше команд для команды по адресу выборки команды неудачна;
преобразование адреса выборки команды в адрес выборки данных; и
выполнение попытки выборки в кэше данных для команды по преобразованному адресу выборки данных.
2. Способ по п.1, дополнительно содержащий
установку атрибута проверки кэша данных в активное состояние при генерации команд, которые сохранены как данные в кэше данных.
3. Способ по п.2, дополнительно содержащий
определение, активен ли атрибут проверки кэша данных; и
разрешение попытки выборки в кэше данных для команды, только если атрибут проверки кэша данных активен.
4. Способ по п.2, в котором атрибут проверки кэша данных представляет собой бит, сохраненный в таблице страниц команд.
5. Способ по п.1, в котором этап преобразования адреса выборки команд дополнительно включает в себя
мультиплексирование адреса выборки команды и адреса выборки данных; и
выбор адреса выборки команды для применения в кэше данных в качестве преобразованного адреса выборки данных, при этом адрес выборки команды выбирается после определения, что попытка выборки команды в кэше команд была неудачной.
6. Способ по п.1, в котором этап выполнения попытки выборки в кэше данных дополнительно включает в себя
определение успешного обращения для команды в кэше данных; и
выборку команды из кэша данных.
7. Способ по п.1, дополнительно содержащий
определение, что попытка выборки в кэше данных была неудачной; и
информирование управления памятью команд, что попытка выборки в кэше данных была неудачной.
8. Способ по п.7, дополнительно содержащий
выборку команды из системной памяти.
9. Процессорный комплекс, содержащий
кэш команд;
кэш данных и
первый селектор для выбора адреса выборки команды или адреса выборки данных на основе сигнала выбора, причем сигнал выбора вызывает применение адреса выборки команды или адреса выборки данных к кэшу данных, посредством чего команды или данные могут избирательно выбираться из кэша данных.
10. Процессорный комплекс по п.9, в котором сигнал выбора первого селектора выбирает адрес выборки данных в ответ на операцию доступа к данным.
11. Процессорный комплекс по п.9, в котором сигнал выбора первого селектора выбирает адрес выборки команды, если сигнал промаха для команды указывает, что в операции выборки команды в кэше команд имел место промах.
12. Процессорный комплекс по п.9, дополнительно содержащий
второй селектор для выбора шины вывода команды из кэша команд или шины вывода данных из кэша данных для применения к вводу шины команд процессора.
13. Процессорный комплекс по п.12, в котором второй селектор выбирает шину вывода данных из кэша данных, если в кэше команд произошел промах, а в кэше данных произошло попадание по адресу выборки команды, выбранному посредством первого селектора.
14. Процессорный комплекс по п.12, в котором второй селектор выбирает шину вывода данных, если в кэше команд произошло попадание.
15. Процессорный комплекс по п.9, дополнительно содержащий
третий селектор для выбора шины вывода из системной памяти или шины вывода данных из кэша данных для применения к вводу шины команд кэша команд.
16. Процессорный комплекс по п.15, в котором третий селектор выбирает шину вывода данных из кэша данных, если в кэше команд произошел промах, а в кэше данных произошло попадание по адресу выборки команды, выбранному посредством первого селектора.
17. Способ исполнения программного кода, содержащий
генерацию команд, которые сохранены как данные в кэше данных;
установление недействительным кэша команд до выполнения программного кода, который использует сгенерированные команды; и
выборку команды непосредственно из кэша данных, если команда не найдена в кэше команд, посредством чего выполняется программный код.
18. Способ по п.17, в котором этап генерации команд включает в себя операцию загрузки команд в кэш данных.
19. Способ по п.17, в котором установление недействительным кэша команд дополнительно содержит
установление недействительной только части кэша команд, где сохранены сгенерированные команды.
20. Способ по п.17, дополнительно содержащий
установку атрибута проверки кэша данных включенным в таблице страниц команд, чтобы указать, что команда может быть в кэше данных; и
выборку команды из кэша данных, если команда не найдена в кэше команд, и атрибут проверки кэша данных включен.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/336,282 US7552283B2 (en) | 2006-01-20 | 2006-01-20 | Efficient memory hierarchy management |
US11/336,282 | 2006-01-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2008134124A true RU2008134124A (ru) | 2010-02-27 |
RU2397534C2 RU2397534C2 (ru) | 2010-08-20 |
Family
ID=38058452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2008134124/09A RU2397534C2 (ru) | 2006-01-20 | 2007-01-22 | Эффективное управление иерархией памяти |
Country Status (12)
Country | Link |
---|---|
US (1) | US7552283B2 (ru) |
EP (1) | EP1974256B1 (ru) |
JP (1) | JP5065298B2 (ru) |
KR (1) | KR100955101B1 (ru) |
CN (2) | CN102866879B (ru) |
AT (1) | ATE467174T1 (ru) |
BR (1) | BRPI0707149A2 (ru) |
CA (1) | CA2635116C (ru) |
DE (1) | DE602007006276D1 (ru) |
ES (1) | ES2345733T3 (ru) |
RU (1) | RU2397534C2 (ru) |
WO (1) | WO2007085011A2 (ru) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE602005017832D1 (de) * | 2004-11-22 | 2009-12-31 | Honda Motor Co Ltd | Vorrichtung zur Installation eines weichen Elements |
JP4376173B2 (ja) * | 2004-11-30 | 2009-12-02 | 本田技研工業株式会社 | モール装着方法及びその装置 |
EP1950125B1 (en) * | 2005-11-16 | 2009-07-15 | HONDA MOTOR CO., Ltd. | Method and device for mounting soft member |
EP1953073B1 (en) * | 2005-11-24 | 2011-06-22 | Honda Motor Co., Ltd. | Method and device for installing open seal |
US7555605B2 (en) * | 2006-09-28 | 2009-06-30 | Freescale Semiconductor, Inc. | Data processing system having cache memory debugging support and method therefor |
KR100877611B1 (ko) * | 2007-02-08 | 2009-01-09 | 삼성전자주식회사 | 플래시 메모리 내장 마이크로 컨트롤러 유닛 시스템 및상기 마이크로 컨트롤러 유닛의 플래시 메모리 접근 방법 |
US8255629B2 (en) * | 2009-06-22 | 2012-08-28 | Arm Limited | Method and apparatus with data storage protocols for maintaining consistencies in parallel translation lookaside buffers |
JP5903173B2 (ja) * | 2012-02-22 | 2016-04-13 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. | コンピュータ上のオペレーティングシステムからの論理プロセッサの隠蔽 |
WO2014142867A1 (en) | 2013-03-14 | 2014-09-18 | Intel Corporation | Power efficient level one data cache access with pre-validated tags |
CN105103121B (zh) | 2013-03-28 | 2018-10-26 | 慧与发展有限责任合伙企业 | 刀片***以及刀片***的分区执行方法 |
WO2014158161A1 (en) | 2013-03-28 | 2014-10-02 | Hewlett-Packard Development Company, L.P. | Error coordination message for a blade device having a logical processor in another system firmware domain |
US9781015B2 (en) | 2013-03-28 | 2017-10-03 | Hewlett Packard Enterprise Development Lp | Making memory of compute and expansion devices available for use by an operating system |
US9824021B2 (en) | 2014-03-31 | 2017-11-21 | International Business Machines Corporation | Address translation structures to provide separate translations for instruction fetches and data accesses |
US9734083B2 (en) * | 2014-03-31 | 2017-08-15 | International Business Machines Corporation | Separate memory address translations for instruction fetches and data accesses |
US9715449B2 (en) | 2014-03-31 | 2017-07-25 | International Business Machines Corporation | Hierarchical translation structures providing separate translations for instruction fetches and data accesses |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4719568A (en) * | 1982-12-30 | 1988-01-12 | International Business Machines Corporation | Hierarchical memory system including separate cache memories for storing data and instructions |
US5287467A (en) * | 1991-04-18 | 1994-02-15 | International Business Machines Corporation | Pipeline for removing and concurrently executing two or more branch instructions in synchronization with other instructions executing in the execution unit |
US5440707A (en) * | 1992-04-29 | 1995-08-08 | Sun Microsystems, Inc. | Instruction and data cache with a shared TLB for split accesses and snooping in the same clock cycle |
JPH06100982B2 (ja) * | 1992-05-20 | 1994-12-12 | 工業技術院長 | 階層キャッシュ・メモリ装置 |
JPH086853A (ja) * | 1994-06-22 | 1996-01-12 | Hitachi Ltd | 記憶制御方法 |
US5737749A (en) | 1996-05-20 | 1998-04-07 | International Business Machines Corporation | Method and system for dynamically sharing cache capacity in a microprocessor |
US6260114B1 (en) * | 1997-12-30 | 2001-07-10 | Mcmz Technology Innovations, Llc | Computer cache memory windowing |
US6480952B2 (en) * | 1998-05-26 | 2002-11-12 | Advanced Micro Devices, Inc. | Emulation coprocessor |
JP2002007212A (ja) * | 2000-06-19 | 2002-01-11 | Sony Corp | キャッシュ・メモリ・システム及びキャッシュ・メモリ制御方法 |
US7873776B2 (en) * | 2004-06-30 | 2011-01-18 | Oracle America, Inc. | Multiple-core processor with support for multiple virtual processors |
GB2426082B (en) | 2005-05-09 | 2007-08-15 | Sony Comp Entertainment Europe | Memory caching in data processing |
-
2006
- 2006-01-20 US US11/336,282 patent/US7552283B2/en not_active Expired - Fee Related
-
2007
- 2007-01-22 ES ES07710245T patent/ES2345733T3/es active Active
- 2007-01-22 WO PCT/US2007/060815 patent/WO2007085011A2/en active Application Filing
- 2007-01-22 JP JP2008551564A patent/JP5065298B2/ja not_active Expired - Fee Related
- 2007-01-22 AT AT07710245T patent/ATE467174T1/de not_active IP Right Cessation
- 2007-01-22 KR KR1020087020033A patent/KR100955101B1/ko not_active IP Right Cessation
- 2007-01-22 CA CA2635116A patent/CA2635116C/en not_active Expired - Fee Related
- 2007-01-22 DE DE602007006276T patent/DE602007006276D1/de active Active
- 2007-01-22 RU RU2008134124/09A patent/RU2397534C2/ru not_active IP Right Cessation
- 2007-01-22 EP EP07710245A patent/EP1974256B1/en not_active Not-in-force
- 2007-01-22 CN CN201210297361.8A patent/CN102866879B/zh not_active Expired - Fee Related
- 2007-01-22 BR BRPI0707149-3A patent/BRPI0707149A2/pt not_active IP Right Cessation
- 2007-01-22 CN CN2007800024447A patent/CN101371224B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2007085011A3 (en) | 2007-10-04 |
CN102866879A (zh) | 2013-01-09 |
CA2635116A1 (en) | 2007-07-26 |
ATE467174T1 (de) | 2010-05-15 |
EP1974256A2 (en) | 2008-10-01 |
CA2635116C (en) | 2011-05-17 |
BRPI0707149A2 (pt) | 2011-04-19 |
US7552283B2 (en) | 2009-06-23 |
WO2007085011A2 (en) | 2007-07-26 |
ES2345733T3 (es) | 2010-09-30 |
KR20080091481A (ko) | 2008-10-13 |
CN101371224B (zh) | 2013-03-27 |
CN102866879B (zh) | 2015-10-28 |
CN101371224A (zh) | 2009-02-18 |
JP5065298B2 (ja) | 2012-10-31 |
DE602007006276D1 (de) | 2010-06-17 |
RU2397534C2 (ru) | 2010-08-20 |
JP2009524168A (ja) | 2009-06-25 |
EP1974256B1 (en) | 2010-05-05 |
KR100955101B1 (ko) | 2010-04-28 |
US20070174553A1 (en) | 2007-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2008134124A (ru) | Эффективное управление иерархией памяти | |
US8291202B2 (en) | Apparatus and methods for speculative interrupt vector prefetching | |
US7797494B2 (en) | Arithmetic processor, information processing apparatus and memory access method in arithmetic processor | |
KR101019266B1 (ko) | 물리적으로-태그된 동작을 사용하는 가상으로-태그된 명령 캐시 | |
US8190652B2 (en) | Achieving coherence between dynamically optimized code and original code | |
KR102613645B1 (ko) | 캐시의 콘텐츠 트랙킹 | |
KR101898322B1 (ko) | 상이한 인덱싱 방식을 사용하는 1차 캐시와 오버플로 캐시를 갖는 캐시 시스템 | |
US8296518B2 (en) | Arithmetic processing apparatus and method | |
JP2011227880A (ja) | プレロード命令制御 | |
KR20080097573A (ko) | 가상 메모리 접근 방법 | |
US10241810B2 (en) | Instruction-optimizing processor with branch-count table in hardware | |
JP6963572B2 (ja) | 条件付きメモリアクセスプログラム命令のための許可制御 | |
KR102478766B1 (ko) | 디스크립터 링 관리 | |
CN111159062B (zh) | 一种缓存数据的调度方法、装置、cpu芯片及服务器 | |
US7529889B2 (en) | Data processing apparatus and method for performing a cache lookup in an energy efficient manner | |
CN108874690B (zh) | 数据预取的实现方法和处理器 | |
JP2011065503A (ja) | キャッシュメモリシステム及びキャッシュメモリのway予測の制御方法 | |
CN108874691B (zh) | 数据预取方法和内存控制器 | |
WO2007099582A1 (ja) | プリフェッチ制御装置 | |
JP3445873B2 (ja) | データプリフェッチ方法およびそのための情報処理装置 | |
CN111274166B (zh) | Tlb的预填及锁定方法和装置 | |
US20100077145A1 (en) | Method and system for parallel execution of memory instructions in an in-order processor | |
Li et al. | Low power optimization of instruction cache based on tag check reduction | |
Tao et al. | Instruction Hints for Super Efficient Data Caches | |
KR20080000944A (ko) | 파이프라인 구조를 갖는 프로세서 및 그 제어방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20200123 |