RU2015151131A - Загрузка парциальной ширины, зависящая от режима, в процессорах с регистрами с большим числом разрядов, способы и системы - Google Patents
Загрузка парциальной ширины, зависящая от режима, в процессорах с регистрами с большим числом разрядов, способы и системы Download PDFInfo
- Publication number
- RU2015151131A RU2015151131A RU2015151131A RU2015151131A RU2015151131A RU 2015151131 A RU2015151131 A RU 2015151131A RU 2015151131 A RU2015151131 A RU 2015151131A RU 2015151131 A RU2015151131 A RU 2015151131A RU 2015151131 A RU2015151131 A RU 2015151131A
- Authority
- RU
- Russia
- Prior art keywords
- register
- partial width
- processor
- width
- loading mode
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims 12
- 230000004044 response Effects 0.000 claims 6
- 230000007704 transition Effects 0.000 claims 2
- 238000009776 industrial production Methods 0.000 claims 1
- 238000003860 storage 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/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- 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
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- 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/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/30145—Instruction analysis, e.g. decoding, instruction word fields
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Claims (56)
1. Процессор содержащий:
регистр, имеющий ширину;
блок декодирования для приема инструкции загрузки парциальной ширины, причем инструкция загрузки парциальной ширины указывает ячейку памяти в качестве операнда источника и указывает регистр в качестве операнда назначения;
подсистему памяти, соединенную с блоком декодирования, причем подсистема памяти, в ответ на инструкцию загрузки парциальной ширины, загружает данные из указанной ячейки памяти в процессор; и
блок записи в регистр, соединенный с подсистемой памяти и регистром, причем блок записи в регистр, в ответ на инструкцию загрузки парциальной ширины, записывает по меньшей мере часть загруженных данных на парциальной ширине регистра, и завершает запись в регистр с набором разрядов, хранящихся на оставшейся ширине регистра, которые имеют значения разрядов, которые зависят от режима загрузки парциальной ширины процессора, при этом инструкция загрузки парциальной ширины не указывают режим загрузки парциальной ширины.
2. Процессор по п. 1, в котором блок записи в регистр в режиме загрузки парциальной ширины должен записывать все нули в качестве набора разрядов на оставшейся ширине регистра и во втором режиме загрузки парциальной ширины не должен записывать все нули в качестве набора разрядов на оставшейся ширине регистра.
3. Процессор по п. 2, в котором блок записи в регистр во втором режиме загрузки парциальной ширины должен записывать разряды с расширением знакового разряда в качестве набора разрядов на оставшейся ширине регистра.
4. Процессор по п. 2, в котором блок записи в регистр во втором режиме загрузки парциальной ширины должен завершать запись в регистр с набором разрядов, который первоначально находился на оставшейся ширине, прежде чем декодер примет инструкцию загрузки парциальной ширины, которая хранится в виде набора разрядов на оставшейся ширине регистра.
5. Процессор по п. 1, дополнительно содержащий по меньшей мере один разряд для указания режима загрузки парциальной ширины, в котором процессор должен осуществлять доступ по меньшей мере к одному разряду для определения режима загрузки парциальной ширины и должен выбирать соответствующий метод, который определяет значения разрядов для набора разрядов.
6. Процессор по п. 5, в котором по меньшей мере один разряд находится в регистре процессора и доступен приложению.
7. Процессор по п. 1, в котором ширина регистра является по меньшей мере такой широкой, как адреса памяти, используемые процессором для доступа к памяти, и в котором парциальная ширина регистра представляет собой только часть ширины регистра.
8. Процессор по п. 7, в котором процессор выбран один из:
процессора, который представляет собой процессор с 64-разрядной архитектурой, который использует 64-разрядные адреса памяти, и в котором парциальная ширина регистра равна 32 разрядам; и
процессора, который представляет собой процессор с 128-разрядной архитектурой, который использует 128-разрядные адреса памяти, и в котором парциальная ширина регистра равна 64 разрядам.
9. Процессор по п. 1, в котором процессор позволяет приложению пользовательского уровня изменять режим загрузки парциальной ширины.
10. Процессор по п. 1, в котором процессор позволяет по меньшей мере одному из: операционной системы и монитора виртуальных машин изменять режим загрузки парциальной ширины, но не позволяет приложениям пользовательского уровня изменять режим загрузки парциальной ширины.
11. Процессор по п. 1, в котором процессор имеет, набор инструкций, который включает в себя инструкцию для изменения режима загрузки парциальной ширины.
12. Процессор по п. 1, в котором блок записи в регистр в режиме загрузки парциальной ширины должен записывать нули в качестве набора разрядов на оставшейся ширине регистра и дополнительно содержащий:
блок процессора для изменения режима загрузки парциальной ширины во втором режиме загрузки парциальной ширины в одном из: прерывания и перехода от приложения к операционной системе.
13. Способ, выполняемый процессором, содержащий:
прием инструкции загрузки парциальной ширины, причем инструкция загрузки парциальной ширины указывает ячейку памяти в качестве операнда источника и указывает регистр в качестве операнда назначения;
загрузку данных из указанной ячейки памяти в процессор в ответ на инструкцию загрузки парциальной ширины;
запись по меньшей мере части загруженных данных на парциальной ширине регистра в ответ на инструкцию загрузки парциальной ширины; и
завершение записи в регистр с набором разрядов, хранящихся на оставшейся ширине регистра, которые имеют значения разрядов, которые зависят от режима загрузки парциальной ширины процессора, причем инструкция загрузки парциальной ширины не указывает режим загрузки парциальной ширины.
14. Способ по п. 13, в котором завершение записи в регистр содержит запись нулей в качестве набора разрядов на оставшейся ширине регистра в режиме загрузки парциальной ширины, и в котором во втором другом режиме загрузки парциальной ширины разряды с расширением знакового разряда вместо нулей будут записываться на оставшейся ширине регистра.
15. Способ по п. 13, в котором завершение записи в регистр содержит запись нулей в качестве набора разрядов на оставшейся ширине регистра в режиме загрузки парциальной ширины, и в котором во втором другом режиме загрузки парциальной ширины набор разрядов первоначально находившихся в оставшейся ширине будет сохраняться на оставшейся ширине регистра.
16. Способ по п. 13, дополнительно содержащий:
доступ по меньшей мере к одному разряду для определения режима загрузки парциальной ширины; и
выбор метода, соответствующего режиму загрузки парциальной ширины, который, определяет значения разрядов для набора разрядов.
17. Способ по п. 16, в котором доступ по меньшей мере к одному разряду содержит доступ по меньшей мере к одному разряду в регистре процессора, доступном для приложения.
18. Способ по п. 13, в котором запись парциальной ширины регистра содержит запись только подмножества ширины регистра, и в котором регистр по меньшей мере является таким широким, как адреса памяти, используемые процессором для доступа к памяти.
19. Способ по п. 18, в котором запись парциальной ширины регистра содержит одно из:
записи 32 разрядов регистра с нулями в оставшейся части регистра, и где адреса памяти, используемые процессором для получения доступа к памяти, имеют 64 разряда; и
записи 64 разрядов регистра с нулями в оставшейся части регистра, и где адреса памяти, используемые процессором для получения доступа к памяти, имеют 128 разрядов.
20. Способ по п. 13, дополнительно содержащий:
прием сигнала управления из приложения пользовательского уровня для изменения режима загрузки парциальной ширины; и
изменение режима загрузки парциальной ширины после приема сигнала управления.
21. Способ по п. 13, дополнительно содержащий:
прием сигнала управления из одного из: операционной системы и монитора виртуальных машин для изменения режима загрузки парциальной ширины;
изменение режима загрузки парциальной ширины после приема сигнала управления из упомянутого одного из: операционной системы и монитора виртуальных машин; и
предотвращение приложений пользовательского уровня от изменения режима загрузки парциальной ширины.
22. Изделие промышленного производства, содержащее, постоянный машиночитаемый носитель информации, хранящий набор инструкций, которые при их исполнении машиной предписывают машине выполнять операции, содержащие:
проверку метаданных программного модуля, включающую проверку указания режима загрузки парциальной ширины процессора, который будет использоваться процессором для выполнения инструкции загрузки парциальной ширины, причем инструкция загрузки парциальной ширины указывает ячейку памяти в качестве операнда источника и указывает регистр в качестве операнда назначения; и
изменение режима загрузки парциальной ширины процессора на указанный режим загрузки парциальной ширины, причем изменение режима загрузки парциальной ширины должно управлять изменением значений разрядов, которые будут сохраняться процессором в части указанного регистра, который не будет использоваться для хранения парциальной ширины данных, загруженных из памяти.
23. Изделие промышленного производства по п. 22, в котором набор инструкций дополнительно содержит инструкции, которые при их исполнении машиной предписывают машине выполнять операции, содержащие:
поддержание метаданных, показывающих какие различные программные модули должны использовать какие различные режимы загрузки парциальной ширины, включая то, что программный модуль должен использовать режим загрузки парциальной ширины; и
после обработки прерывания, изменение режима загрузки парциальной ширины процессора на указанный режим загрузки парциальной ширины совместно с переходом обратно к исполнению кода из программного модуля.
24. Система для обработки команд, содержащая:
межсоединение;
динамическое оперативное запоминающее устройство (DRAM), соединенное с межсоединением; и
процессор, соединенный с межсоединением, причем процессор содержит:
регистр, имеющий ширину;
блок декодирования для приема инструкции, причем инструкция указывает ячейку памяти DRAM в качестве операнда источника и указывает регистр в качестве операнда назначения;
подсистему памяти, соединенную с блоком декодирования, причем подсистема памяти, в ответ на инструкцию, загружает данные из указанной ячейки памяти в процессор; и
блок, соединенный с подсистемой памяти и регистром, причем блок, в ответ на инструкцию, записывает по меньшей мере часть загруженных данных на парциальной ширине регистра, и завершает запись в регистр с набором разрядов, хранящихся на оставшейся ширине регистра, которые имеют значения разрядов, которые зависят от режима загрузки парциальной ширины процессора, при этом инструкция не указывают режим загрузки парциальной ширины.
25. Система по п. 24, в которой блок в режиме загрузки парциальной ширины должен записывать все нули в качестве набора разрядов на оставшейся ширине регистра и во втором режиме загрузки парциальной ширины не должен записывать все нули в качестве набора разрядов на оставшейся ширине регистра.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/931,070 | 2013-06-28 | ||
US13/931,070 US9395990B2 (en) | 2013-06-28 | 2013-06-28 | Mode dependent partial width load to wider register processors, methods, and systems |
PCT/US2014/043159 WO2014209747A1 (en) | 2013-06-28 | 2014-06-19 | Mode dependent partial width load to wider register processors, methods, and systems |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2015151131A true RU2015151131A (ru) | 2017-05-31 |
RU2638641C2 RU2638641C2 (ru) | 2017-12-14 |
Family
ID=52116848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2015151131A RU2638641C2 (ru) | 2013-06-28 | 2014-06-19 | Загрузка парциальной ширины, зависящая от режима, в процессорах с регистрами с большим числом разрядов, способы и системы |
Country Status (8)
Country | Link |
---|---|
US (1) | US9395990B2 (ru) |
EP (1) | EP3014422B1 (ru) |
KR (1) | KR101839479B1 (ru) |
CN (2) | CN109508206B (ru) |
BR (1) | BR112015029955A2 (ru) |
RU (1) | RU2638641C2 (ru) |
TW (1) | TWI524271B (ru) |
WO (1) | WO2014209747A1 (ru) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9395990B2 (en) * | 2013-06-28 | 2016-07-19 | Intel Corporation | Mode dependent partial width load to wider register processors, methods, and systems |
GB2539040B (en) * | 2015-06-05 | 2021-08-25 | Advanced Risc Mach Ltd | Issue policy control |
US10901940B2 (en) * | 2016-04-02 | 2021-01-26 | Intel Corporation | Processors, methods, systems, and instructions to atomically store to memory data wider than a natively supported data width |
US10248423B2 (en) * | 2016-07-22 | 2019-04-02 | International Business Machines Corporation | Executing short pointer mode applications |
US10795853B2 (en) | 2016-10-10 | 2020-10-06 | Intel Corporation | Multiple dies hardware processors and methods |
CN116009814A (zh) | 2016-10-20 | 2023-04-25 | 英特尔公司 | 用于经融合的乘加的系统、装置和方法 |
CN113287098A (zh) * | 2019-03-26 | 2021-08-20 | 拉姆伯斯公司 | 多精度存储器系统 |
GB2591788B (en) * | 2020-02-06 | 2022-06-01 | Advanced Risc Mach Ltd | Saving and restoring registers |
CN112346783B (zh) * | 2020-11-05 | 2022-11-22 | 海光信息技术股份有限公司 | 一种处理器及其操作方法、装置、设备和介质 |
US20220350570A1 (en) * | 2021-04-28 | 2022-11-03 | International Business Machines Corporation | Pipelined hardware to accelerate modular arithmetic operations |
CN114020332B (zh) * | 2022-01-05 | 2022-09-23 | 北京微核芯科技有限公司 | 指令处理方法及其装置 |
CN114527953B (zh) * | 2022-04-24 | 2022-07-08 | 深圳云豹智能有限公司 | 存储器数据处理系统、方法、装置、计算机设备和介质 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2288521B (en) * | 1994-03-24 | 1998-10-14 | Discovision Ass | Reconfigurable process stage |
US5446912A (en) * | 1993-09-30 | 1995-08-29 | Intel Corporation | Partial width stalls within register alias table |
US6122725A (en) | 1998-03-31 | 2000-09-19 | Intel Corporation | Executing partial-width packed data instructions |
US6542988B1 (en) | 1999-10-01 | 2003-04-01 | Sun Microsystems, Inc. | Sending both a load instruction and retrieved data from a load buffer to an annex prior to forwarding the load data to register file |
US6871273B1 (en) * | 2000-06-22 | 2005-03-22 | International Business Machines Corporation | Processor and method of executing a load instruction that dynamically bifurcate a load instruction into separately executable prefetch and register operations |
EP1217513A3 (en) * | 2000-12-23 | 2003-08-13 | International Business Machines Corporation | Method for handling 32 bit results for an out-of-order processor with a 64 bit architecture |
US7228403B2 (en) * | 2000-12-23 | 2007-06-05 | International Business Machines Corporation | Method for handling 32 bit results for an out-of-order processor with a 64 bit architecture |
US6889312B1 (en) * | 2001-04-02 | 2005-05-03 | Advanced Micro Devices, Inc. | Selective zero extension based on operand size |
US6995756B2 (en) * | 2003-03-31 | 2006-02-07 | Intel Corporation | Methods and apparatus for driving pixels in a microdisplay |
US7237096B1 (en) * | 2004-04-05 | 2007-06-26 | Sun Microsystems, Inc. | Storing results of producer instructions to facilitate consumer instruction dependency tracking |
CN101044450A (zh) * | 2004-10-19 | 2007-09-26 | 松下电器产业株式会社 | 处理器 |
US7376817B2 (en) | 2005-08-10 | 2008-05-20 | P.A. Semi, Inc. | Partial load/store forward prediction |
US20070186210A1 (en) | 2006-02-06 | 2007-08-09 | Via Technologies, Inc. | Instruction set encoding in a dual-mode computer processing environment |
US8566568B2 (en) * | 2006-08-16 | 2013-10-22 | Qualcomm Incorporated | Method and apparatus for executing processor instructions based on a dynamically alterable delay |
US9529592B2 (en) * | 2007-12-27 | 2016-12-27 | Intel Corporation | Vector mask memory access instructions to perform individual and sequential memory access operations if an exception occurs during a full width memory access operation |
US8977790B2 (en) * | 2008-02-15 | 2015-03-10 | Freescale Semiconductor, Inc. | Peripheral module register access methods and apparatus |
US8392693B2 (en) | 2009-08-28 | 2013-03-05 | Via Technologies, Inc. | Fast REP STOS using grabline operations |
US8627044B2 (en) * | 2010-10-06 | 2014-01-07 | Oracle International Corporation | Issuing instructions with unresolved data dependencies |
US20120254592A1 (en) | 2011-04-01 | 2012-10-04 | Jesus Corbal San Adrian | Systems, apparatuses, and methods for expanding a memory source into a destination register and compressing a source register into a destination memory location |
US20120254588A1 (en) | 2011-04-01 | 2012-10-04 | Jesus Corbal San Adrian | Systems, apparatuses, and methods for blending two source operands into a single destination using a writemask |
US8918626B2 (en) * | 2011-11-10 | 2014-12-23 | Oracle International Corporation | Prefetching load data in lookahead mode and invalidating architectural registers instead of writing results for retiring instructions |
CN104025020B (zh) * | 2011-12-23 | 2017-06-13 | 英特尔公司 | 用于执行掩码位压缩的系统、装置以及方法 |
US9395990B2 (en) * | 2013-06-28 | 2016-07-19 | Intel Corporation | Mode dependent partial width load to wider register processors, methods, and systems |
-
2013
- 2013-06-28 US US13/931,070 patent/US9395990B2/en active Active
-
2014
- 2014-06-18 TW TW103121018A patent/TWI524271B/zh not_active IP Right Cessation
- 2014-06-19 EP EP14816582.2A patent/EP3014422B1/en active Active
- 2014-06-19 CN CN201910081033.6A patent/CN109508206B/zh active Active
- 2014-06-19 BR BR112015029955A patent/BR112015029955A2/pt active Search and Examination
- 2014-06-19 CN CN201480030091.1A patent/CN105453030B/zh not_active Expired - Fee Related
- 2014-06-19 KR KR1020157031766A patent/KR101839479B1/ko active IP Right Grant
- 2014-06-19 WO PCT/US2014/043159 patent/WO2014209747A1/en active Application Filing
- 2014-06-19 RU RU2015151131A patent/RU2638641C2/ru not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
BR112015029955A2 (pt) | 2017-07-25 |
TWI524271B (zh) | 2016-03-01 |
KR20150139931A (ko) | 2015-12-14 |
TW201523439A (zh) | 2015-06-16 |
CN109508206B (zh) | 2023-08-29 |
CN105453030B (zh) | 2019-02-15 |
EP3014422A1 (en) | 2016-05-04 |
EP3014422B1 (en) | 2021-08-25 |
CN105453030A (zh) | 2016-03-30 |
US9395990B2 (en) | 2016-07-19 |
KR101839479B1 (ko) | 2018-03-19 |
RU2638641C2 (ru) | 2017-12-14 |
US20150006856A1 (en) | 2015-01-01 |
EP3014422A4 (en) | 2017-03-01 |
WO2014209747A1 (en) | 2014-12-31 |
CN109508206A (zh) | 2019-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2015151131A (ru) | Загрузка парциальной ширины, зависящая от режима, в процессорах с регистрами с большим числом разрядов, способы и системы | |
US11237808B2 (en) | Target architecture determination | |
US7814276B2 (en) | Data cache architecture and cache algorithm used therein | |
US9158683B2 (en) | Multiport memory emulation using single-port memory devices | |
US9336851B2 (en) | Memory device and method of refreshing in a memory device | |
EP3674877A1 (en) | Method for accessing extended memory, device, and system | |
US10261796B2 (en) | Processor and method for executing in-memory copy instructions indicating on-chip or off-chip memory | |
KR20160039544A (ko) | 실시간 분석을 지원하는 인-메모리 팝 카운트 | |
RU2015147646A (ru) | Системы и способы предотвращения несанкционированного перемещения стека | |
US20160055095A1 (en) | Storing data from cache lines to main memory based on memory addresses | |
JP2005011317A5 (ru) | ||
RU2015151132A (ru) | Команды, процессоры, способы и системы доступа множественных регистров к памяти | |
US9760374B2 (en) | Stack pointer and memory access alignment control | |
KR20100126069A (ko) | 메모리 장치 및 메모리 장치의 동작 방법 | |
TWI510912B (zh) | 多核電路中之容錯 | |
US20150095563A1 (en) | Memory management | |
KR102152735B1 (ko) | 그래픽 처리 장치 및 이의 동작 방법 | |
US7979681B2 (en) | System and method of selectively accessing a register file | |
US20160110119A1 (en) | Direct memory access for command-based memory device | |
KR102581576B1 (ko) | 벡터 피연산자 비트 크기 제어 | |
JP6212133B2 (ja) | マルチビットウェイ予測マスクを有する命令キャッシュ | |
US4124892A (en) | Data processing systems | |
JP2021515308A (ja) | デバイスをデバッグするときにメタデータにアクセスするための装置及び方法 | |
CN105374394A (zh) | 半导体存储装置及其操作方法和包括其的数据存储装置 | |
US20240220247A1 (en) | Permute Instructions for Register-Based Lookups |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20190620 |