RU2015151187A - Устройство и способ реверсирования и перестановки битов в регистре маски - Google Patents

Устройство и способ реверсирования и перестановки битов в регистре маски Download PDF

Info

Publication number
RU2015151187A
RU2015151187A RU2015151187A RU2015151187A RU2015151187A RU 2015151187 A RU2015151187 A RU 2015151187A RU 2015151187 A RU2015151187 A RU 2015151187A RU 2015151187 A RU2015151187 A RU 2015151187A RU 2015151187 A RU2015151187 A RU 2015151187A
Authority
RU
Russia
Prior art keywords
mask
register
bits
bit
original
Prior art date
Application number
RU2015151187A
Other languages
English (en)
Other versions
RU2636669C2 (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 RU2015151187A publication Critical patent/RU2015151187A/ru
Application granted granted Critical
Publication of RU2636669C2 publication Critical patent/RU2636669C2/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/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • 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/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • 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/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • 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/30098Register 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)
  • Mathematical Physics (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Claims (38)

1. Процессор исполнения команды для осуществления операций, содержащих этапы, на которых:
считывают множество битов маски, хранящихся в исходном регистре маски, при этом указанные биты маски ассоциированы с элементами векторных данных в векторном регистре; и
выполняют операцию реверсирования битов для копирования каждого бита маски из исходного регистра маски в регистр-адресат маски, при этом операция реверсирования битов вызывает реверсирование битов, имевших место в исходном регистре маски, в регистр-адресат маски так, что обеспечивается симметричное зеркальное отображение первоначального расположения битов.
2. Процессор по п. 1, в котором каждый из регистров - исходный регистр маски и регистр-адресат маски хранят по 32 бит данных маски.
3. Процессор по п. 1, в котором каждый из регистров - исходный регистр маски и регистр-адресат маски хранят по 64 бит данных маски.
4. Процессор по п. 1, в котором команда представляет собой макрокоманду, а совокупность операций содержит микрооперации.
5. Процессор выполнения команды для осуществления операций:
чтения множества битов маски, хранящихся в первом исходном регистре, и данных управления, хранящихся во втором исходном регистре, при этом указанные биты маски ассоциированы с элементами векторных данных в векторном регистре; и
выполнения операции перестановки битов маски для копирования каждого бита маски из исходного регистра маски в регистр-адресат маски, так что данные управления, хранящиеся во втором исходном регистре, указывают, какой бит из первого исходного регистра подлежит копированию в каждый бит в регистре-адресате так, что обеспечивается перестановка первоначального расположения битов.
6. Процессор по п. 5, в котором каждый из регистров - исходный регистр маски и регистр-адресат маски хранят по 32 бит данных маски.
7. Процессор по п. 5, в котором каждый из регистров - исходный регистр маски и регистр-адресат маски хранят по 64 бит данных маски.
8. Процессор по п. 5, в котором команда представляет собой макрокоманду, а совокупность операций содержит микрооперации.
9. Способ, содержащий этапы, на которых:
считывают множество битов маски, хранящихся в исходном регистре маски, при этом указанные биты маски ассоциированы с элементами векторных данных в векторном регистре; и
выполняют операции инверсии порядка битов для копирования каждого бита маски из исходного регистра маски в регистр-адресат маски, так что операция инверсии порядка битов вызывает инверсию порядка битов, имевшего место в исходном регистре маски, в регистре-адресате маски так, что обеспечивается симметричное зеркальное отображение первоначального расположения битов.
10. Способ по п. 9, в котором каждый из регистров - исходный регистр маски и регистр-адресат маски хранят по 32 бит данных маски.
11. Способ по п. 9, в котором каждый из регистров - исходный регистр маски и регистр-адресат маски хранят по 64 бит данных маски.
12. Способ по п. 9, в котором команда представляет собой макрокоманду, а совокупность операций содержит микрооперации.
13. Способ, содержащий этапы, на которых:
считывают множество битов маски, хранящихся в первом исходном регистре, и данных управления, хранящихся во втором исходном регистре, при этом указанные биты маски ассоциированы с элементами векторных данных в векторном регистре; и
выполняют операции перестановки битов маски для копирования каждого бита маски из исходного регистра маски в регистр-адресат маски, при этом данные управления, хранящиеся во втором исходном регистре, указывают, какой бит из первого исходного регистра подлежат копированию в каждый бит в регистре-адресате, что приводит в результате к перестановке первоначального расположения битов.
14. Способ по п. 13, в котором каждый из регистров - исходный регистр маски и регистр-адресат маски хранят по 32 бит данных маски.
15. Способ по п. 13, в котором каждый из регистров - исходный регистр маски и регистр-адресат маски хранят по 64 бит данных маски.
16. Способ по п. 13, в котором команда представляет собой макрокоманду, а совокупность операций содержит микрооперации.
17. Компьютерная система, содержащая:
запоминающее устройство для хранения программного кода и данных;
интерфейс связи ввода/вывода (10) для связи с одним или более периферийных устройств;
интерфейс связи с сетью для соединения с возможностью связи указанной системы с сетью; и
процессор выполнения команды для осуществления операций:
чтения множества битов маски, хранящихся в исходном регистре маски, при этом указанные биты маски ассоциированы с элементами векторных данных в векторном регистре; и
выполнения операции инверсии порядка битов для копирования каждого бита маски из исходного регистра маски в регистр-адресат маски, так что операция инверсии порядка битов вызывает инверсию порядка битов, имевшего место в исходном регистре маски, в регистре-адресате маски так, что обеспечивается симметричное зеркальное отображение первоначального расположения битов.
18. Система по п. 17, в которой каждый из регистров - исходный регистр маски и регистр-адресат маски хранят по 32 бит данных маски.
19. Система по п. 17, в которой каждый из регистров - исходный регистр маски и регистр-адресат маски хранят по 64 бит данных маски.
20. Система по п. 17, в которой команда представляет собой макрокоманду, а совокупность операций содержит микрооперации.
21. Система по п. 20, дополнительно содержащая:
адаптер отображения для отображения графических изображений в ответ на выполнение программного кода процессором.
22. Система по п. 21, дополнительно содержащая:
пользовательский интерфейс ввода для приема сигналов управления от пользовательского устройства ввода, так что процессор выполнен с возможностью исполнения программного кода в ответ на указанные сигналы управления.
RU2015151187A 2013-06-27 2014-06-17 Устройство и способ реверсирования и перестановки битов в регистре маски RU2636669C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/929,563 2013-06-27
US13/929,563 US9645820B2 (en) 2013-06-27 2013-06-27 Apparatus and method to reserve and permute bits in a mask register
PCT/US2014/042789 WO2014209685A1 (en) 2013-06-27 2014-06-17 Apparatus and method to reverse and permute bits in a mask register

Publications (2)

Publication Number Publication Date
RU2015151187A true RU2015151187A (ru) 2017-06-01
RU2636669C2 RU2636669C2 (ru) 2017-11-27

Family

ID=52116842

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015151187A RU2636669C2 (ru) 2013-06-27 2014-06-17 Устройство и способ реверсирования и перестановки битов в регистре маски

Country Status (8)

Country Link
US (4) US9645820B2 (ru)
EP (1) EP3014417A4 (ru)
KR (2) KR101966713B1 (ru)
CN (2) CN105247474B (ru)
BR (1) BR112015029810A8 (ru)
RU (1) RU2636669C2 (ru)
TW (2) TWI641993B (ru)
WO (1) WO2014209685A1 (ru)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8515052B2 (en) 2007-12-17 2013-08-20 Wai Wu Parallel signal processing system and method
US9645820B2 (en) 2013-06-27 2017-05-09 Intel Corporation Apparatus and method to reserve and permute bits in a mask register
US9946541B2 (en) * 2015-12-18 2018-04-17 Intel Corporation Systems, apparatuses, and method for strided access
US10152321B2 (en) * 2015-12-18 2018-12-11 Intel Corporation Instructions and logic for blend and permute operation sequences
US10296416B2 (en) * 2016-07-02 2019-05-21 Intel Corporation Read from memory instructions, processors, methods, and systems, that do not take exception on defective data
US10235170B2 (en) * 2016-09-30 2019-03-19 International Business Machines Corporation Decimal load immediate instruction
KR102503176B1 (ko) * 2018-03-13 2023-02-24 삼성디스플레이 주식회사 데이터 전송 시스템, 상기 데이터 전송 시스템을 포함하는 표시 장치 및 이를 이용한 데이터 전송 방법
US20200371793A1 (en) * 2019-05-24 2020-11-26 Texas Instruments Incorporated Vector store using bit-reversed order
CN112181877B (zh) * 2020-10-28 2022-06-21 瑞芯微电子股份有限公司 一种显示变频方法和系统

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0337715A (ja) 1989-07-05 1991-02-19 Fujitsu Ltd ビット順反転回路
US5553309A (en) 1991-11-08 1996-09-03 Japan Atomic Energy Research Institute Device for high speed evaluation of logical expressions and high speed vector operations
JP2665111B2 (ja) * 1992-06-18 1997-10-22 日本電気株式会社 ベクトル処理装置
US5832288A (en) 1996-10-18 1998-11-03 Samsung Electronics Co., Ltd. Element-select mechanism for a vector processor
WO1998044409A1 (fr) 1997-04-03 1998-10-08 Seiko Epson Corporation Micro-ordinateur, dispositif electronique et procede de traitement d'information
KR20000013327A (ko) 1998-08-07 2000-03-06 윤종용 인쇄기의 전사유니트
US6321687B1 (en) * 1999-07-28 2001-11-27 Whiteshire/Hamroc Llc Individual room duct and ventilation system for livestock production building
US6557096B1 (en) * 1999-10-25 2003-04-29 Intel Corporation Processors with data typer and aligner selectively coupling data bits of data buses to adder and multiplier functional blocks to execute instructions with flexible data types
US6643280B1 (en) * 1999-10-27 2003-11-04 Lucent Technologies Inc. Method and apparatus for generation of CDMA long codes
US6622242B1 (en) 2000-04-07 2003-09-16 Sun Microsystems, Inc. System and method for performing generalized operations in connection with bits units of a data word
WO2001089098A2 (en) * 2000-05-05 2001-11-22 Lee Ruby B A method and system for performing permutations with bit permutation instructions
US7237097B2 (en) * 2001-02-21 2007-06-26 Mips Technologies, Inc. Partial bitwise permutations
US7017032B2 (en) 2001-06-11 2006-03-21 Broadcom Corporation Setting execution conditions
US7017028B2 (en) 2003-03-14 2006-03-21 International Business Machines Corporation Apparatus and method for updating pointers for indirect and parallel register access
US7610466B2 (en) 2003-09-05 2009-10-27 Freescale Semiconductor, Inc. Data processing system using independent memory and register operand size specifiers and method thereof
US20050289329A1 (en) 2004-06-29 2005-12-29 Dwyer Michael K Conditional instruction for a single instruction, multiple data execution engine
KR100905350B1 (ko) * 2004-07-29 2009-07-01 콸콤 인코포레이티드 인터리빙을 위한 시스템 및 방법
TWI265455B (en) 2005-04-21 2006-11-01 King Billion Electronics Co Lt Integrated data processor
US8205334B2 (en) * 2005-07-15 2012-06-26 United Technologies Corporation Method for repairing a gas turbine engine component
US9436468B2 (en) * 2005-11-22 2016-09-06 Intel Corporation Technique for setting a vector mask
US20070143579A1 (en) 2005-12-19 2007-06-21 King Billion Electronics Co. Ltd. Integrated data processor
US20080013389A1 (en) * 2006-07-11 2008-01-17 Jaehee Kim Random access memory including test circuit
US7676647B2 (en) 2006-08-18 2010-03-09 Qualcomm Incorporated System and method of processing data using scalar/vector instructions
JP4228241B2 (ja) * 2006-12-13 2009-02-25 ソニー株式会社 演算処理装置
US20090172348A1 (en) 2007-12-26 2009-07-02 Robert Cavin Methods, apparatus, and instructions for processing vector data
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
US8433747B2 (en) 2008-02-01 2013-04-30 Microsoft Corporation Graphics remoting architecture
US8295941B2 (en) * 2008-09-15 2012-10-23 The Invention Science Fund I, Llc Systems configured to power at least one device disposed in a living subject, and related apparatuses and methods
US9354944B2 (en) * 2009-07-27 2016-05-31 Advanced Micro Devices, Inc. Mapping processing logic having data-parallel threads across processors
RU2439662C2 (ru) * 2009-12-22 2012-01-10 Государственное образовательное учреждение высшего профессионального образования "Саратовский государственный университет им. Н.Г. Чернышевского" Устройство управляемой перестановки битов бинарной строки
US8682621B2 (en) * 2010-07-16 2014-03-25 Micron Technology, Inc. Simulating the transmission of asymmetric signals in a computer system
US20120166511A1 (en) 2010-12-22 2012-06-28 Hiremath Chetan D System, apparatus, and method for improved efficiency of execution in signal processing algorithms
CN103502935B (zh) 2011-04-01 2016-10-12 英特尔公司 向量友好指令格式及其执行
CN103988173B (zh) * 2011-11-25 2017-04-05 英特尔公司 用于提供掩码寄存器与通用寄存器或存储器之间的转换的指令和逻辑
US20130151822A1 (en) 2011-12-09 2013-06-13 International Business Machines Corporation Efficient Enqueuing of Values in SIMD Engines with Permute Unit
US10157061B2 (en) 2011-12-22 2018-12-18 Intel Corporation Instructions for storing in general purpose registers one of two scalar constants based on the contents of vector write masks
CN104011650B (zh) 2011-12-23 2017-09-19 英特尔公司 使用输入写掩码和立即数从源写掩码寄存器在目的地写掩码寄存器中设置输出掩码的系统、装置和方法
US9639503B2 (en) * 2013-03-15 2017-05-02 Qualcomm Incorporated Vector indirect element vertical addressing mode with horizontal permute
US9645820B2 (en) * 2013-06-27 2017-05-09 Intel Corporation Apparatus and method to reserve and permute bits in a mask register

Also Published As

Publication number Publication date
RU2636669C2 (ru) 2017-11-27
US10387148B2 (en) 2019-08-20
US20150006847A1 (en) 2015-01-01
WO2014209685A1 (en) 2014-12-31
KR20150138319A (ko) 2015-12-09
EP3014417A1 (en) 2016-05-04
US20170220350A1 (en) 2017-08-03
TW201737063A (zh) 2017-10-16
CN105247474B (zh) 2019-06-18
US10387149B2 (en) 2019-08-20
US10209988B2 (en) 2019-02-19
BR112015029810A8 (pt) 2019-12-24
CN105247474A (zh) 2016-01-13
CN108052349B (zh) 2022-06-10
TWI575447B (zh) 2017-03-21
BR112015029810A2 (pt) 2017-07-25
US20180052686A1 (en) 2018-02-22
TW201510862A (zh) 2015-03-16
EP3014417A4 (en) 2017-06-21
CN108052349A (zh) 2018-05-18
US20180039497A1 (en) 2018-02-08
US9645820B2 (en) 2017-05-09
KR101966713B1 (ko) 2019-04-09
KR101713841B1 (ko) 2017-03-09
KR20170027883A (ko) 2017-03-10
TWI641993B (zh) 2018-11-21

Similar Documents

Publication Publication Date Title
RU2015151187A (ru) Устройство и способ реверсирования и перестановки битов в регистре маски
TWI666650B (zh) 在矩陣向量處理器中之排列
US20220043652A1 (en) Systems, methods, and apparatus for tile configuration
CN111857819B (zh) 一种用于执行矩阵加/减运算的装置和方法
US10338925B2 (en) Tensor register files
JP5987233B2 (ja) 装置、方法、およびシステム
CN107315566B (zh) 一种用于执行向量循环移位运算的装置和方法
WO2017185389A1 (zh) 一种用于执行矩阵乘运算的装置和方法
WO2017124648A1 (zh) 一种向量计算装置
CN107077337A (zh) 用于执行根据两个指令集架构编译的应用编码的系统和方法
CN107315575B (zh) 一种用于执行向量合并运算的装置和方法
CN107315717B (zh) 一种用于执行向量四则运算的装置和方法
US10691456B2 (en) Vector store instruction having instruction-specified byte count to be stored supporting big and little endian processing
EP3326060B1 (en) Mixed-width simd operations having even-element and odd-element operations using register pair for wide data elements
WO2017163441A1 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP2018525731A5 (ru)
US9830168B2 (en) Dynamic creation of job control language cards
JP2018525730A (ja) スライディングウィンドウ演算
WO2019053915A1 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
US11842200B2 (en) Multi-modal gather operation
US10296185B2 (en) Viewing selected zoomed content
US10956159B2 (en) Method and processor for implementing an instruction including encoding a stopbit in the instruction to indicate whether the instruction is executable in parallel with a current instruction, and recording medium therefor
US20180152398A1 (en) Secure messaging between computing components
JP2022500782A (ja) データ処理システム、方法、およびプログラム
JP5753603B2 (ja) データ要素内のビットをゼロ化するためのシステム、装置、および方法

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20190618