RU2009106463A - Эффективный механизм сохранения адреса возврата из прерывания - Google Patents
Эффективный механизм сохранения адреса возврата из прерывания Download PDFInfo
- Publication number
- RU2009106463A RU2009106463A RU2009106463/08A RU2009106463A RU2009106463A RU 2009106463 A RU2009106463 A RU 2009106463A RU 2009106463/08 A RU2009106463/08 A RU 2009106463/08A RU 2009106463 A RU2009106463 A RU 2009106463A RU 2009106463 A RU2009106463 A RU 2009106463A
- Authority
- RU
- Russia
- Prior art keywords
- command
- pseudo
- interrupt
- array
- conveyor
- Prior art date
Links
- 238000005056 compaction Methods 0.000 claims abstract 11
- 230000003111 delayed effect Effects 0.000 claims abstract 8
- 230000004044 response Effects 0.000 claims abstract 7
- 238000005070 sampling Methods 0.000 claims abstract 4
- 238000007789 sealing Methods 0.000 claims abstract 3
- 238000000034 method Methods 0.000 claims 9
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
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30054—Unconditional branch instructions
-
- 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/3017—Runtime instruction translation, e.g. macros
-
- 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/30181—Instruction operation extension or modification
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- 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/46—Multiprogramming arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
- Image Processing (AREA)
Abstract
1. Система обработки данных для эффективного сохранения адреса возврата из прерывания в массиве регистров общего назначения, при этом система содержит ! логическую схему управления, выполненную с возможностью генерирования псевдокоманды в ответ на запрос на прерывание, причем псевдокоманда формируется с возможностью принуждения адреса возврата из прерывания для наиболее продвинувшейся команды в конвейере быть записанным в массив регистров общего назначения; и ! при этом псевдокоманда дополнительно формируется с возможностью включения в конвейер и прохождения по конвейеру конвейерного обрабатывающего устройства по существу аналогично другим командам. ! 2. Система обработки данных по п.1, которая дополнительно содержит ! каскад декодирования и каскад отложенной записи, причем каскад декодирования выполнен с возможностью декодирования псевдокоманды, и ! при этом каскад отложенной записи выполнен с возможностью записи результатов для псевдокоманды в массив регистров общего назначения, причем эти результаты включают в себя адрес возврата из прерывания для наиболее продвинувшейся команды. ! 3. Система обработки данных по п.2, которая дополнительно содержит устройство уплотнения, выполненное с возможностью приема псевдокоманды и подачи псевдокоманды на вход каскада декодирования. ! 4. Система обработки данных по п.3, которая дополнительно содержит ! каскад выборки, выполненный с возможностью выбора команд; и ! при этом устройство уплотнения дополнительно выполнено с возможностью приема команд от каскада выборки и псевдокоманды, причем устройство уплотнения дополнительно выполнено с возможностью выб
Claims (22)
1. Система обработки данных для эффективного сохранения адреса возврата из прерывания в массиве регистров общего назначения, при этом система содержит
логическую схему управления, выполненную с возможностью генерирования псевдокоманды в ответ на запрос на прерывание, причем псевдокоманда формируется с возможностью принуждения адреса возврата из прерывания для наиболее продвинувшейся команды в конвейере быть записанным в массив регистров общего назначения; и
при этом псевдокоманда дополнительно формируется с возможностью включения в конвейер и прохождения по конвейеру конвейерного обрабатывающего устройства по существу аналогично другим командам.
2. Система обработки данных по п.1, которая дополнительно содержит
каскад декодирования и каскад отложенной записи, причем каскад декодирования выполнен с возможностью декодирования псевдокоманды, и
при этом каскад отложенной записи выполнен с возможностью записи результатов для псевдокоманды в массив регистров общего назначения, причем эти результаты включают в себя адрес возврата из прерывания для наиболее продвинувшейся команды.
3. Система обработки данных по п.2, которая дополнительно содержит устройство уплотнения, выполненное с возможностью приема псевдокоманды и подачи псевдокоманды на вход каскада декодирования.
4. Система обработки данных по п.3, которая дополнительно содержит
каскад выборки, выполненный с возможностью выбора команд; и
при этом устройство уплотнения дополнительно выполнено с возможностью приема команд от каскада выборки и псевдокоманды, причем устройство уплотнения дополнительно выполнено с возможностью выбора или выбранной команды или псевдокоманды для подачи на вход каскада декодирования.
5. Система обработки данных по п.1, которая дополнительно содержит
множество регистров общего назначения.
6. Система обработки данных по п.1, в которой устройство генерирования псевдокоманды является резидентной частью модуля управления обрабатывающего устройства.
7. Система обработки данных по п.4, которая дополнительно содержит модуль памяти, выполненный с возможностью сохранения данных команд, которые будут обрабатываться обрабатывающим устройством, причем память связана с каскадом выборки.
8. Устройство для эффективного сохранения адреса возврата из прерывания в массиве регистров общего назначения, при этом устройство содержит
конвейерное обрабатывающее устройство, имеющее устройство генерирования псевдокоманд, выполненное с возможностью генерирования псевдокоманды в ответ на запрос на прерывание, причем псевдокоманда формируется с возможностью принуждения адреса возврата из прерывания для наиболее продвинувшейся команды в конвейере быть записанным в массив регистров общего назначения, причем обрабатывающее устройство включает в себя множество регистров общего назначения; и
при этом псевдокоманда дополнительно формируется с возможностью включения в конвейер и прохождения по конвейеру конвейерного обрабатывающего устройства по существу аналогично другим командам.
9. Устройство по п.8, которое дополнительно содержит
каскад декодирования и каскад отложенной записи, причем каскад декодирования выполнен с возможностью декодирования псевдокоманды, и
при этом каскад отложенной записи выполнен с возможностью записи результатов для псевдокоманды в массив регистров общего назначения, причем эти результаты включают в себя адрес возврата из прерывания для самой новой не полностью обработанной команды; и
при этом псевдокоманда подается на вход каскада декодирования.
10. Устройство по п.9, которое дополнительно содержит устройство уплотнения, выполненное с возможностью приема псевдокоманды и подачи псевдокоманды на вход каскада декодирования.
11. Устройство по п.10, которое дополнительно содержит
каскад выборки, выполненный с возможностью выбора команд; и
при этом устройство уплотнения дополнительно выполнено с возможностью приема команд от каскада выборки и псевдокоманды, причем устройство уплотнения дополнительно выполнено с возможностью выбора или выбранной команды или псевдокоманды для подачи на вход каскада декодирования.
12. Устройство по п.10, в котором обрабатывающее устройство дополнительно выполнено с возможностью выполнения обработки прерывания в ответ на запрос на прерывание; и записи адреса возврата из прерывания для самой новой не полностью обработанной команды в массив регистров общего назначения.
13. Устройство по п.12, в котором обрабатывающее устройство дополнительно выполнено с возможностью возобновления обработки по адресу возврата из прерывания, который был записан в массив регистров общего назначения.
14. Способ эффективного сохранения адреса возврата из прерывания в массиве регистров общего назначения в конвейерном обрабатывающем устройстве, при этом способ содержит этап, на котором
в ответ на запрос на прерывание, генерируют псевдокоманду, выполненную с возможностью принуждения адреса возврата из прерывания для наиболее продвинувшейся команды в конвейере быть записанным в массив регистров общего назначения; и
при этом псевдокоманду дополнительно формируют с возможностью включения в конвейер и прохождения по конвейеру конвейерного обрабатывающего устройства по существу аналогично другим командам.
15. Способ по п.14, который дополнительно содержит этапы, на которых
выполняют обработку прерывания в ответ на запрос на прерывание; и
записывают адреса возврата для самой новой не полностью обработанной команды в массив регистров общего назначения.
16. Способ по п.15, который дополнительно содержит этап, на котором
возобновляют обработку по адресу возврата из прерывания, который был записан в массив регистров общего назначения.
17. Способ по п.14, в котором псевдокоманду генерируют посредством логической схемы управления в обрабатывающем устройстве.
18. Способ по п.14, в котором конвейерное обрабатывающее устройство содержит
каскад декодирования и каскад отложенной записи, причем каскад декодирования выполнен с возможностью декодирования псевдокоманды, и
при этом каскад отложенной записи выполнен с возможностью записи результатов для псевдокоманды в массив регистров общего назначения, причем эти результаты включают в себя адрес возврата из прерывания для наиболее продвинувшейся команды; и
при этом псевдокоманду подают на вход каскада декодирования.
19. Способ по п.18, в котором обрабатывающее устройство дополнительно содержит устройство уплотнения, выполненное с возможностью приема псевдокоманды и подачи псевдокоманды на вход каскада декодирования.
20. Способ по п.19, в котором обрабатывающее устройство дополнительно содержит
каскад выборки, выполненный с возможностью выбора команд; и
при этом устройство уплотнения дополнительно выполнено с возможностью приема как команд от каскада выборки, так и псевдокоманды, причем устройство уплотнения дополнительно выполнено с возможностью выбора или выбранной команды или псевдокоманды для подачи на вход каскада декодирования.
21. Способ по п.14, в котором обрабатывающее устройство дополнительно содержит множество регистров общего назначения.
22. Устройство для эффективного сохранения адреса возврата из прерывания в массиве регистров общего назначения, при этом устройство содержит
многокаскадное конвейерное обрабатывающее устройство, выполненное с возможностью выполнения обработки прерываний, причем каскады включают в себя, по меньшей мере, один каскад, выполненный с возможностью приема команд и, по меньшей мере, один каскад, выполненный с возможностью отложенной записи результатов в массив регистров общего назначения, при этом обрабатывающее устройство дополнительно выполнено с возможностью выполнения обработки данных команд из программы;
логическую схему управления, выполненную с возможностью генерирования псевдокоманды в ответ на запрос на прерывание, причем псевдокоманда формируется с возможностью принуждения адреса возврата из прерывания для наиболее продвинувшейся команды в конвейере быть записанным в массив регистров общего назначения, и при этом псевдокоманда дополнительно формируется с возможностью включения в конвейер и прохождения по конвейеру по существу аналогично другим командам.
устройство уплотнения, выполненное с возможностью приема как псевдокоманды от логической схемы управления, так и данных команд из программы, при этом устройство уплотнения дополнительно выполнено с возможностью выбора, по меньшей мере, или псевдокоманды, или данных команд, и подачи выбранной псевдокоманды или данных команд на вход, по меньшей мере, одного конвейерного каскада, выполненного с возможностью приема команд;
при этом обрабатывающее устройство дополнительно выполнено с возможностью возобновления, после осуществления обработки прерывания, обработки данных команд по адресу возврата из прерывания для наиболее продвинувшейся команды, который был записан в массив регистров общего назначения.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/459,695 US7681022B2 (en) | 2006-07-25 | 2006-07-25 | Efficient interrupt return address save mechanism |
US11/459,695 | 2006-07-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2009106463A true RU2009106463A (ru) | 2010-08-27 |
RU2450329C2 RU2450329C2 (ru) | 2012-05-10 |
Family
ID=38667151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2009106463/08A RU2450329C2 (ru) | 2006-07-25 | 2007-07-24 | Эффективный механизм сохранения адреса возврата из прерывания |
Country Status (10)
Country | Link |
---|---|
US (1) | US7681022B2 (ru) |
EP (1) | EP2044508A1 (ru) |
JP (2) | JP5528804B2 (ru) |
KR (1) | KR101077425B1 (ru) |
CN (1) | CN101495960B (ru) |
BR (1) | BRPI0714128A2 (ru) |
CA (1) | CA2657168C (ru) |
MX (1) | MX2009000728A (ru) |
RU (1) | RU2450329C2 (ru) |
WO (1) | WO2008014287A1 (ru) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7681022B2 (en) * | 2006-07-25 | 2010-03-16 | Qualcomm Incorporated | Efficient interrupt return address save mechanism |
CN102364432B (zh) * | 2011-10-25 | 2013-12-18 | 中国科学院苏州纳米技术与纳米仿生研究所 | 使用双程序计数器计算待处理指令地址的系统 |
US10360593B2 (en) * | 2012-04-24 | 2019-07-23 | Qualcomm Incorporated | Retail proximity marketing |
KR20170065845A (ko) | 2015-12-04 | 2017-06-14 | 삼성전자주식회사 | 프로세서 및 제어 방법 |
US11003457B2 (en) * | 2019-01-23 | 2021-05-11 | Mediatek Inc. | Power-saving mechanism for memory sub-system in pipelined processor |
CN112883370B (zh) * | 2019-11-29 | 2022-12-20 | 北京三快在线科技有限公司 | 应用程序状态检测方法和装置、存储介质和电子设备 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS564844A (en) * | 1979-06-26 | 1981-01-19 | Nec Corp | Information processor |
JP2509244B2 (ja) * | 1987-09-14 | 1996-06-19 | 富士通株式会社 | 分岐命令処理装置 |
JPH076037A (ja) * | 1993-06-16 | 1995-01-10 | Matsushita Electric Ind Co Ltd | 命令解読装置 |
US5440703A (en) * | 1993-09-20 | 1995-08-08 | International Business Machines Corporation | System and method for saving state information in a multi-execution unit processor when interruptable instructions are identified |
US5701493A (en) * | 1995-08-03 | 1997-12-23 | Advanced Risc Machines Limited | Exception handling method and apparatus in data processing systems |
JPH09198257A (ja) * | 1996-01-19 | 1997-07-31 | Sanyo Electric Co Ltd | プログラム実行方法およびこの方法を用いたプログラム実行装置 |
US6381692B1 (en) * | 1997-07-16 | 2002-04-30 | California Institute Of Technology | Pipelined asynchronous processing |
US6076159A (en) * | 1997-09-12 | 2000-06-13 | Siemens Aktiengesellschaft | Execution of a loop instructing in a loop pipeline after detection of a first occurrence of the loop instruction in an integer pipeline |
TW436693B (en) * | 1998-08-18 | 2001-05-28 | Ind Tech Res Inst | Interrupt control device and method for pipeline processor |
JP2000207202A (ja) * | 1998-10-29 | 2000-07-28 | Pacific Design Kk | 制御装置およびデ―タ処理装置 |
US6301650B1 (en) * | 1998-10-29 | 2001-10-09 | Pacific Design, Inc. | Control unit and data processing system |
US6789184B1 (en) * | 2000-09-29 | 2004-09-07 | Intel Corporation | Instruction address generation and tracking in a pipelined processor |
GB2369464B (en) * | 2000-11-27 | 2005-01-05 | Advanced Risc Mach Ltd | A data processing apparatus and method for saving return state |
KR20030088892A (ko) * | 2001-02-06 | 2003-11-20 | 애더란트 테크놀로지스 비.브이. | 인터럽트를 핸들링하기 위한 방법 및 장치 |
JP3856737B2 (ja) * | 2002-07-19 | 2006-12-13 | 株式会社ルネサステクノロジ | データ処理装置 |
US7765388B2 (en) * | 2003-09-17 | 2010-07-27 | Broadcom Corporation | Interrupt verification support mechanism |
US20050010577A1 (en) | 2003-07-11 | 2005-01-13 | Microsoft Corporation | Method and apparatus for generating Web content |
CN100545804C (zh) * | 2003-08-18 | 2009-09-30 | 上海海尔集成电路有限公司 | 一种基于cisc结构的微控制器及其指令集的实现方法 |
US20050273776A1 (en) * | 2004-06-08 | 2005-12-08 | Intel Corporation | Assembler supporting pseudo registers to resolve return address ambiguity |
US7681022B2 (en) * | 2006-07-25 | 2010-03-16 | Qualcomm Incorporated | Efficient interrupt return address save mechanism |
-
2006
- 2006-07-25 US US11/459,695 patent/US7681022B2/en not_active Expired - Fee Related
-
2007
- 2007-07-24 RU RU2009106463/08A patent/RU2450329C2/ru not_active IP Right Cessation
- 2007-07-24 CA CA2657168A patent/CA2657168C/en not_active Expired - Fee Related
- 2007-07-24 JP JP2009521965A patent/JP5528804B2/ja not_active Expired - Fee Related
- 2007-07-24 BR BRPI0714128-9A patent/BRPI0714128A2/pt not_active IP Right Cessation
- 2007-07-24 EP EP07813309A patent/EP2044508A1/en not_active Withdrawn
- 2007-07-24 MX MX2009000728A patent/MX2009000728A/es active IP Right Grant
- 2007-07-24 WO PCT/US2007/074263 patent/WO2008014287A1/en active Application Filing
- 2007-07-24 KR KR1020097003916A patent/KR101077425B1/ko not_active IP Right Cessation
- 2007-07-24 CN CN2007800282580A patent/CN101495960B/zh not_active Expired - Fee Related
-
2013
- 2013-12-27 JP JP2013272652A patent/JP5837033B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CA2657168A1 (en) | 2008-01-31 |
JP2014099192A (ja) | 2014-05-29 |
JP5528804B2 (ja) | 2014-06-25 |
KR101077425B1 (ko) | 2011-10-26 |
RU2450329C2 (ru) | 2012-05-10 |
US20080028194A1 (en) | 2008-01-31 |
MX2009000728A (es) | 2009-02-04 |
KR20090042283A (ko) | 2009-04-29 |
JP2009545079A (ja) | 2009-12-17 |
CN101495960A (zh) | 2009-07-29 |
WO2008014287A1 (en) | 2008-01-31 |
CN101495960B (zh) | 2012-08-29 |
EP2044508A1 (en) | 2009-04-08 |
US7681022B2 (en) | 2010-03-16 |
CA2657168C (en) | 2010-12-07 |
JP5837033B2 (ja) | 2015-12-24 |
BRPI0714128A2 (pt) | 2012-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2009106463A (ru) | Эффективный механизм сохранения адреса возврата из прерывания | |
US5799179A (en) | Handling of exceptions in speculative instructions | |
EP2087420B1 (en) | Methods and apparatus for recognizing a subroutine call | |
TW201614510A (en) | Memory device, method, and computer program product | |
JP2008515064A5 (ru) | ||
US11231933B2 (en) | Processor with variable pre-fetch threshold | |
WO2006094196A3 (en) | Method and apparatus for power reduction in an heterogeneously- multi-pipelined processor | |
US8131977B2 (en) | Microprocessor inhibiting instruction storage in cache and not decoding based on pre-analysis information to reduce power consumption | |
CN111159062A (zh) | 一种缓存数据的调度方法、装置、cpu芯片及服务器 | |
CN102402418A (zh) | 处理器 | |
JP2007220099A (ja) | 分岐予測情報を貯蔵する分岐ターゲットバッファ及びそれを含んだ分岐予測回路 | |
WO2006120408A3 (en) | Memory caching in data processing | |
WO2006136943A3 (en) | High-level language processor apparatus and method | |
US20220308888A1 (en) | Method for reducing lost cycles after branch misprediction in a multi-thread microprocessor | |
US20220308887A1 (en) | Mitigation of branch misprediction penalty in a hardware multi-thread microprocessor | |
TW200719141A (en) | Flash memory access method and circuit of an embedded system | |
US9323536B2 (en) | Identification of missing call and return instructions for management of a return address stack | |
WO2004034252A3 (en) | Vliw processor with instruction address modification | |
US8125489B1 (en) | Processing pipeline with latency bypass | |
JP5100030B2 (ja) | データプロセッサ、データ処理方法 | |
US20220206799A1 (en) | Apparatus for Processor with Hardware Fence and Associated Methods | |
TWI509509B (zh) | 資料儲存方法與應用其之處理器 | |
US10671396B2 (en) | Method for operating a processing unit | |
US20140372735A1 (en) | Software controlled instruction prefetch buffering | |
Li et al. | Low power optimization of instruction cache based on tag check reduction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20180725 |