RU2008103216A - Предотвращение множественных доступов к буферу быстрого преобразования адреса для одной и той же страницы в памяти - Google Patents
Предотвращение множественных доступов к буферу быстрого преобразования адреса для одной и той же страницы в памяти Download PDFInfo
- Publication number
- RU2008103216A RU2008103216A RU2008103216/09A RU2008103216A RU2008103216A RU 2008103216 A RU2008103216 A RU 2008103216A RU 2008103216/09 A RU2008103216/09 A RU 2008103216/09A RU 2008103216 A RU2008103216 A RU 2008103216A RU 2008103216 A RU2008103216 A RU 2008103216A
- Authority
- RU
- Russia
- Prior art keywords
- tlb
- command
- processor
- current command
- virtual address
- Prior art date
Links
- 238000006243 chemical reaction Methods 0.000 claims abstract 2
- 238000000034 method Methods 0.000 claims 5
- 239000002131 composite material Substances 0.000 claims 1
- 238000005070 sampling Methods 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
- 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
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/655—Same page detection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
Abstract
1. Процессор, содержащий ! память, сконфигурированную для хранения данных во множестве страниц; ! буфер быстрого преобразования адреса (TLB), сконфигурированный для отыскивания, когда подвергается доступу посредством команды, содержащей виртуальный адрес, информации преобразования адреса, которая предоставляет возможность преобразовать виртуальный адрес в физический адрес одной из множества страниц, и для выдачи информации преобразования адреса, если информация преобразования адреса найдена в TLB; и ! контроллер TLB, сконфигурированный для определения, запрашивают ли текущая команда и следующая команда доступ к одной и той же странице в пределах множества страниц, и, если так, для предотвращения доступа к TLB следующей командой. ! 2. Процессор по п. 1, в котором текущая команда включает в себя информацию о следующей команде, при этом контроллер TLB дополнительно сконфигурирован для использования информации, включенной в текущую команду, для того, чтобы определять, запрашивают ли текущая команда и следующая команда доступ к одной и той же странице в пределах множества страниц. ! 3. Процессор по п. 1, в котором контроллер TLB дополнительно сконфигурирован для сравнения виртуального адреса, сформированного для текущей команды, с виртуальным адресом, сформированным для следующей команды, для того, чтобы определять, запрашивают ли текущая команда и следующая команда доступ к одной и той же странице в пределах множества страниц. ! 4. Процессор по п. 3, в котором контроллер TLB дополнительно сконфигурирован для определения, преобразуются ли виртуальный адрес, сформированный для текущей команды, и виртуальный адрес, сформированны�
Claims (23)
1. Процессор, содержащий
память, сконфигурированную для хранения данных во множестве страниц;
буфер быстрого преобразования адреса (TLB), сконфигурированный для отыскивания, когда подвергается доступу посредством команды, содержащей виртуальный адрес, информации преобразования адреса, которая предоставляет возможность преобразовать виртуальный адрес в физический адрес одной из множества страниц, и для выдачи информации преобразования адреса, если информация преобразования адреса найдена в TLB; и
контроллер TLB, сконфигурированный для определения, запрашивают ли текущая команда и следующая команда доступ к одной и той же странице в пределах множества страниц, и, если так, для предотвращения доступа к TLB следующей командой.
2. Процессор по п. 1, в котором текущая команда включает в себя информацию о следующей команде, при этом контроллер TLB дополнительно сконфигурирован для использования информации, включенной в текущую команду, для того, чтобы определять, запрашивают ли текущая команда и следующая команда доступ к одной и той же странице в пределах множества страниц.
3. Процессор по п. 1, в котором контроллер TLB дополнительно сконфигурирован для сравнения виртуального адреса, сформированного для текущей команды, с виртуальным адресом, сформированным для следующей команды, для того, чтобы определять, запрашивают ли текущая команда и следующая команда доступ к одной и той же странице в пределах множества страниц.
4. Процессор по п. 3, в котором контроллер TLB дополнительно сконфигурирован для определения, преобразуются ли виртуальный адрес, сформированный для текущей команды, и виртуальный адрес, сформированный для следующей команды, в физические адреса одной и той же страницы в пределах множества страниц.
5. Процессор по п. 2, в котором контроллер TLB дополнительно сконфигурирован для использования для следующей команды информации преобразования адреса, которая уже выдавалась TLB для текущей команды, если контроллер доступа к памяти определяет, что текущая команда и следующая команда запрашивают доступ к данным из одной и той же страницы в пределах множества страниц.
6. Процессор по п. 1, в котором текущая команда содержит команду для итеративной операции.
7. Процессор по п. 1, в котором текущая команда и следующая команда содержат последовательные элементы единой составной команды.
8. Процессор по п. 1, в котором TLB сконфигурирован для хранения множества записей TLB, каждая одна из множества записей TLB включает в себя виртуальный адрес, физический адрес одной из множества страниц в памяти и информацию преобразования адреса для преобразования виртуального адреса в физический адрес, при этом TLB дополнительно сконфигурирован для поиска в пределах множества записей TLB информации преобразования адреса, когда подвергается доступу посредством команды, содержащей виртуальный адрес.
9. Процессор по п. 1, в котором контроллер TLB дополнительно сконфигурирован для определения, до точки доступа к TLB следующей команды, запрашивают ли текущая команда и следующая команда доступ к одной и той же странице в пределах множества страниц.
10. Процессор по п. 1, в котором текущая команда и следующая команда содержат последовательные команды, которые запрашивают последовательные доступы к памяти.
11. Процессор по п. 1, при этом процессор содержит многокаскадный конвейерный процессор.
12. Процессор по п. 11, при этом многокаскадный конвейерный процессор содержит по меньшей мере каскад выборки, каскад декодирования, каскад выполнения, каскад памяти и каскад обратной записи.
13. Процессор по п. 12, дополнительно содержащий
по меньшей мере один узел выборки, сконфигурированный для выборки одной или более команд из регистра команд;
по меньшей мере один узел декодирования, сконфигурированный для декодирования одной или более команд, извлеченных узлом выборки; и
по меньшей мере один узел выполнения, сконфигурированный для выполнения одной или более команд, декодированных узлом декодирования.
14. Процессор, содержащий память, сконфигурированную для хранения данных во множестве страниц;
TLB, сконфигурированный для отыскивания, когда подвергается доступу посредством команды, содержащей виртуальный адрес, информации преобразования адреса в пределах TLB, которая предоставляет возможность преобразовать виртуальный адрес в физический адрес, и для выдачи информации преобразования адреса, если информация преобразования адреса найдена в TLB; и контроллер TLB, сконфигурированный для определения, запрашивают ли текущая команда и множество следующих команд доступ к одной и той же странице в пределах множества страниц, и, если так, для предотвращения доступа к TLB одной или более из множества следующих команд.
15. Процессор, содержащий память, сконфигурированную для хранения данных во множестве страниц; TLB, сконфигурированный для отыскивания, когда подвергается доступу посредством команды, содержащей виртуальный адрес, информации преобразования адреса, которая предоставляет возможность преобразовать виртуальный адрес в физический адрес, и для выдачи информации преобразования адреса, если информация преобразования адреса найдена в TLB; средство для определения, запрашивают ли текущая команда и следующая команда доступ к данным из одной и той же страницы в пределах множества страниц в памяти; и средство для предотвращения доступа к TLB следующей командой, если текущая команда и следующая команда запрашивают доступ к данным из одной и той же страницы в пределах множества страниц в памяти.
16. Способ управления доступом к TLB в процессоре, содержащий следующие операции:
принимают текущую команду и следующую команду;
определяют, что текущая команда и следующая команда запрашивают доступ к одной и той же странице в пределах множества страниц в памяти; и
предотвращают доступ к TLB следующей командой.
17. Способ по п. 16, в котором текущая команда включает в себя информацию о следующей команде, и дополнительно содержащий этап, на котором используют информацию, включенную в текущую команду, чтобы определять, что текущая команда и следующая команда запрашивают доступ к одной и той же странице в пределах множества страниц.
18. Способ по п. 16, в котором действие по определению, что текущая команда и следующая команда запрашивают доступ к одной и той же странице в памяти, содержит этап, на котором формируют первый виртуальный адрес для текущей команды и второй виртуальный адрес для следующей команды, и сравнивают первый виртуальный адрес со вторым виртуальным адресом.
19. Способ по п. 18, в котором действие по сравнению первого виртуального адреса со вторым виртуальным адресом содержит этап, на котором определяют, преобразуются ли первый виртуальный адрес и второй виртуальный адрес в физические адреса, которые указывают одну и ту же страницу в пределах множества страниц.
20. Способ по п. 16, дополнительно содержащий этап, на котором используют для следующей команды информацию преобразования адреса, которая уже выдавалась TLB для текущей команды, после того, как определяют, что текущая команда и следующая команда запрашивают доступ к данным из одной и той же страницы в пределах множества страниц.
21. Процессор по п. 1, дополнительно содержащий память, сконфигурированную для хранения команд во множестве страниц.
22. Процессор по п. 1, в котором контроллер TLB дополнительно сконфигурирован для использования результата доступа к TLB предыдущей команды для текущей команды.
23. Процессор по п. 1, при этом процессор содержит множество уровней TLB.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/174,097 US20070005933A1 (en) | 2005-06-29 | 2005-06-29 | Preventing multiple translation lookaside buffer accesses for a same page in memory |
US11/174,097 | 2005-06-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2008103216A true RU2008103216A (ru) | 2009-08-10 |
Family
ID=37081590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2008103216/09A RU2008103216A (ru) | 2005-06-29 | 2006-06-27 | Предотвращение множественных доступов к буферу быстрого преобразования адреса для одной и той же страницы в памяти |
Country Status (9)
Country | Link |
---|---|
US (1) | US20070005933A1 (ru) |
EP (1) | EP1899820A2 (ru) |
JP (1) | JP2008545199A (ru) |
CN (1) | CN101213526A (ru) |
CA (1) | CA2612838A1 (ru) |
IL (1) | IL188271A0 (ru) |
RU (1) | RU2008103216A (ru) |
TW (1) | TW200713034A (ru) |
WO (1) | WO2007002803A2 (ru) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8621179B2 (en) * | 2004-06-18 | 2013-12-31 | Intel Corporation | Method and system for partial evaluation of virtual address translations in a simulator |
US8145874B2 (en) * | 2008-02-26 | 2012-03-27 | Qualcomm Incorporated | System and method of data forwarding within an execution unit |
US8285968B2 (en) | 2009-09-29 | 2012-10-09 | International Business Machines Corporation | Performing memory accesses while omitting unnecessary address translations |
US20110145542A1 (en) * | 2009-12-15 | 2011-06-16 | Qualcomm Incorporated | Apparatuses, Systems, and Methods for Reducing Translation Lookaside Buffer (TLB) Lookups |
JP5423871B2 (ja) * | 2010-03-09 | 2014-02-19 | 富士通株式会社 | 情報処理装置、情報処理方法、およびプログラム |
US9069690B2 (en) * | 2012-09-13 | 2015-06-30 | Intel Corporation | Concurrent page table walker control for TLB miss handling |
US9804969B2 (en) * | 2012-12-20 | 2017-10-31 | Qualcomm Incorporated | Speculative addressing using a virtual address-to-physical address page crossing buffer |
US9189398B2 (en) * | 2012-12-28 | 2015-11-17 | Intel Corporation | Apparatus and method for memory-mapped register caching |
CN105993005B (zh) * | 2014-07-21 | 2019-06-04 | 上海兆芯集成电路有限公司 | 具有地址转译快取的处理器及其操作方法 |
US9875187B2 (en) * | 2014-12-10 | 2018-01-23 | Intel Corporation | Interruption of a page miss handler |
GB2544996B (en) * | 2015-12-02 | 2017-12-06 | Advanced Risc Mach Ltd | An apparatus and method for managing bounded pointers |
GB2557588B (en) * | 2016-12-09 | 2019-11-13 | Advanced Risc Mach Ltd | Memory management |
WO2018143423A1 (ja) * | 2017-02-03 | 2018-08-09 | 株式会社東洋新薬 | 固形製剤 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5781753A (en) * | 1989-02-24 | 1998-07-14 | Advanced Micro Devices, Inc. | Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions |
DE69427734T2 (de) * | 1993-10-29 | 2002-05-23 | Advanced Micro Devices Inc | Linearadressierter Mikroprozessorcachespeicher |
US5706459A (en) * | 1994-01-06 | 1998-01-06 | Fujitsu Limited | Processor having a variable number of stages in a pipeline |
JP3512910B2 (ja) * | 1995-07-06 | 2004-03-31 | 株式会社東芝 | 分散計算機システムにおける記憶空間管理方法、計算機及びデータ転送方法 |
US5617348A (en) * | 1995-07-24 | 1997-04-01 | Motorola | Low power data translation circuit and method of operation |
US5822788A (en) * | 1996-12-20 | 1998-10-13 | Intel Corporation | Mechanism for prefetching targets of memory de-reference operations in a high-performance processor |
US8121828B2 (en) * | 1999-01-28 | 2012-02-21 | Ati Technologies Ulc | Detecting conditions for transfer of execution from one computer instruction stream to another and executing transfer on satisfaction of the conditions |
US6735689B1 (en) * | 2000-05-01 | 2004-05-11 | Raza Microelectronics, Inc. | Method and system for reducing taken branch penalty |
US6678815B1 (en) * | 2000-06-27 | 2004-01-13 | Intel Corporation | Apparatus and method for reducing power consumption due to cache and TLB accesses in a processor front-end |
US7216202B1 (en) * | 2003-02-25 | 2007-05-08 | Sun Microsystems, Inc. | Method and apparatus for supporting one or more servers on a single semiconductor chip |
US20050050278A1 (en) * | 2003-09-03 | 2005-03-03 | Advanced Micro Devices, Inc. | Low power way-predicted cache |
-
2005
- 2005-06-29 US US11/174,097 patent/US20070005933A1/en not_active Abandoned
-
2006
- 2006-06-27 EP EP06785811A patent/EP1899820A2/en active Pending
- 2006-06-27 CN CNA2006800236183A patent/CN101213526A/zh active Pending
- 2006-06-27 RU RU2008103216/09A patent/RU2008103216A/ru not_active Application Discontinuation
- 2006-06-27 JP JP2008519545A patent/JP2008545199A/ja active Pending
- 2006-06-27 CA CA002612838A patent/CA2612838A1/en not_active Abandoned
- 2006-06-27 WO PCT/US2006/025301 patent/WO2007002803A2/en active Application Filing
- 2006-06-29 TW TW095123552A patent/TW200713034A/zh unknown
-
2007
- 2007-12-19 IL IL188271A patent/IL188271A0/en unknown
Also Published As
Publication number | Publication date |
---|---|
IL188271A0 (en) | 2008-04-13 |
TW200713034A (en) | 2007-04-01 |
CN101213526A (zh) | 2008-07-02 |
CA2612838A1 (en) | 2007-01-04 |
WO2007002803A3 (en) | 2007-03-29 |
WO2007002803A2 (en) | 2007-01-04 |
JP2008545199A (ja) | 2008-12-11 |
US20070005933A1 (en) | 2007-01-04 |
EP1899820A2 (en) | 2008-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2008103216A (ru) | Предотвращение множественных доступов к буферу быстрого преобразования адреса для одной и той же страницы в памяти | |
JP5680179B2 (ja) | 仮想化処理システムにおけるアドレスマッピング | |
JP6081672B2 (ja) | 多数の異なるアドレス空間をサポートするプロセッサにおける効率的なアドレス変換キャッシング | |
TWI451334B (zh) | 微處理器及縮短尋訪時間之方法 | |
KR101694591B1 (ko) | 보다 적은 비트들로 프로세서 콘텍스트를 나타내기 위한 방법 및 장치 | |
US10146545B2 (en) | Translation address cache for a microprocessor | |
KR20150066526A (ko) | 이종 컴퓨팅 시스템에서 콜드 tlb 미스의 감축 | |
KR101787851B1 (ko) | 다중 페이지 크기 변환 색인 버퍼(tlb)용 장치 및 방법 | |
US20040117588A1 (en) | Access request for a data processing system having no system memory | |
WO2015161506A1 (zh) | 一种寻址方法及装置 | |
US20070094476A1 (en) | Updating multiple levels of translation lookaside buffers (TLBs) field | |
JPH04320553A (ja) | アドレス変換機構 | |
JP2006048164A (ja) | 情報処理装置およびソフトウェアプリフェッチ制御方法 | |
KR20130036319A (ko) | 변환 룩어사이드 버퍼를 관리하기 위한 시스템 및 방법 | |
US20140189274A1 (en) | Apparatus and method for page walk extension for enhanced security checks | |
US7017024B2 (en) | Data processing system having no system memory | |
CN115774683A (zh) | 用于超级用户模式中获取物理地址的方法及相应处理器 | |
JP2001034537A (ja) | アドレス変換回路 | |
JP2007272280A (ja) | データ処理装置 | |
US7100018B2 (en) | System and method for encoding page size information | |
US9229874B2 (en) | Apparatus and method for compressing a memory address | |
WO2019177867A1 (en) | Data structure with rotating bloom filters | |
CN110941565A (zh) | 用于芯片存储访问的内存管理方法和装置 | |
TW200931443A (en) | Apparatus for predicting memory access and method thereof | |
JP2002312239A (ja) | プロセッサ、システムオンチップ装置及びアクセス方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FA92 | Acknowledgement of application withdrawn (lack of supplementary materials submitted) |
Effective date: 20090719 |