RU2015151131A - Загрузка парциальной ширины, зависящая от режима, в процессорах с регистрами с большим числом разрядов, способы и системы - Google Patents

Загрузка парциальной ширины, зависящая от режима, в процессорах с регистрами с большим числом разрядов, способы и системы Download PDF

Info

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
Application number
RU2015151131A
Other languages
English (en)
Other versions
RU2638641C2 (ru
Inventor
Уильям К. РАШ
Язмин А. САНТИАГО
Мартин Гай ДИКСОН
Original Assignee
Интел Корпорейшн
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Интел Корпорейшн filed Critical Интел Корпорейшн
Publication of RU2015151131A publication Critical patent/RU2015151131A/ru
Application granted granted Critical
Publication of RU2638641C2 publication Critical patent/RU2638641C2/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction 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, в которой блок в режиме загрузки парциальной ширины должен записывать все нули в качестве набора разрядов на оставшейся ширине регистра и во втором режиме загрузки парциальной ширины не должен записывать все нули в качестве набора разрядов на оставшейся ширине регистра.
RU2015151131A 2013-06-28 2014-06-19 Загрузка парциальной ширины, зависящая от режима, в процессорах с регистрами с большим числом разрядов, способы и системы RU2638641C2 (ru)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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