RU2014118857A - Команда векторного типа для поиска неравнозначного элемента - Google Patents

Команда векторного типа для поиска неравнозначного элемента Download PDF

Info

Publication number
RU2014118857A
RU2014118857A RU2014118857/08A RU2014118857A RU2014118857A RU 2014118857 A RU2014118857 A RU 2014118857A RU 2014118857/08 A RU2014118857/08 A RU 2014118857/08A RU 2014118857 A RU2014118857 A RU 2014118857A RU 2014118857 A RU2014118857 A RU 2014118857A
Authority
RU
Russia
Prior art keywords
operand
zero
index
result
register
Prior art date
Application number
RU2014118857/08A
Other languages
English (en)
Other versions
RU2598814C2 (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 RU2014118857A publication Critical patent/RU2014118857A/ru
Application granted granted Critical
Publication of RU2598814C2 publication Critical patent/RU2598814C2/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/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • 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
    • 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/30021Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30047Prefetch instructions; cache control 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/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30112Register structure comprising data of variable length
    • 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/30185Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

1. Способ выполнения машинной команды в центральном процессорном устройстве, включающий следующие шаги:получение процессором машинной команды для выполнения, которая определена для выполнения компьютером в соответствии с архитектурой компьютера и содержит:по меньшей мере одно поле кода операции для указания кода операции, идентифицирующего команду векторного типа для поиска неравнозначного элемента,поле расширения, используемое для обозначения одного или более регистров,поле первого регистра, объединяемое с первой частью указанного поля расширения для обозначения первого регистра, причем указанный первый регистр содержит первый операнд,поле второго регистра, объединяемое со второй частью указанного поля расширения для обозначения второго регистра, причем указанный второй регистр содержит второй операнд,поле третьего регистра, объединяемое с третьей частью указанного поля расширения для обозначения третьего регистра, причем указанный третий регистр содержит третий операнд,поле маски, которое содержит один или более управляющих флагов, предназначенных для использования во время выполнения машинной команды,выполнение машинной команды, включающее:принятие решения о том, содержит ли поле маски флаг поиска нуля, указывающий на необходимость выполнить поиск равного нулю элемента,на основе поля маски, содержащего флаг поиска нуля, указывающий на необходимость выполнить поиск равного нулю элемента, выполнение поиска во втором операнде равного нулю элемента, причем в результате поиска предоставляется индекс равного нулю элемента, содержащий либо индекс найденного в результате поиска равного нулю

Claims (13)

1. Способ выполнения машинной команды в центральном процессорном устройстве, включающий следующие шаги:
получение процессором машинной команды для выполнения, которая определена для выполнения компьютером в соответствии с архитектурой компьютера и содержит:
по меньшей мере одно поле кода операции для указания кода операции, идентифицирующего команду векторного типа для поиска неравнозначного элемента,
поле расширения, используемое для обозначения одного или более регистров,
поле первого регистра, объединяемое с первой частью указанного поля расширения для обозначения первого регистра, причем указанный первый регистр содержит первый операнд,
поле второго регистра, объединяемое со второй частью указанного поля расширения для обозначения второго регистра, причем указанный второй регистр содержит второй операнд,
поле третьего регистра, объединяемое с третьей частью указанного поля расширения для обозначения третьего регистра, причем указанный третий регистр содержит третий операнд,
поле маски, которое содержит один или более управляющих флагов, предназначенных для использования во время выполнения машинной команды,
выполнение машинной команды, включающее:
принятие решения о том, содержит ли поле маски флаг поиска нуля, указывающий на необходимость выполнить поиск равного нулю элемента,
на основе поля маски, содержащего флаг поиска нуля, указывающий на необходимость выполнить поиск равного нулю элемента, выполнение поиска во втором операнде равного нулю элемента, причем в результате поиска предоставляется индекс равного нулю элемента, содержащий либо индекс найденного в результате поиска равного нулю элемента, либо указание на то, что равных нулю элементов не найдено,
сравнение одного или более элементов второго операнда с одним или более элементами третьего операнда на предмет неравенства их значений, причем в результате сравнения предоставляется индекс сравнения, содержащий либо индекс найденного в результате сравнения неравнозначного элемента второго операнда, либо указание на то, что неравнозначных элементов в результате сравнения не найдено,
формирование результата, причем в зависимости от того, выполнялся ли поиск равного нулю элемента, результат содержит одно из двух:
если поиск равного нулю элемента не выполнялся, то результат содержит индекс сравнения,
если поиск равного нулю элемента выполнялся, то результат содержит либо индекс сравнения, либо индекс равного нулю элемента.
2. Способ по п. 1, в котором результат соответствует равному нулю или неравнозначному элементу, причем способ дополнительно включает следующие шаги:
обработка результата, включающая выполнение по меньшей мере одной операции над результатом для формирования обработанного результата, который, в свою очередь, содержит индекс первого байта указанного элемента,
сохранение обработанного результата в указанном первом операнде.
3. Способ по п. 2, в котором машинная команда также содержит еще одно, другое поле маски, содержащее спецификатор длины элемента, определяющий длину элементов по меньшей мере одного из первого, второго и третьего операндов, причем длина элемента используется при указанной обработке результата.
4. Способ по п. 1, в котором результат содержит величину, указывающую длину второго операнда, причем способ также включает сохранение результата в указанном первом операнде.
5. Способ по п. 1, в котором поле маски содержит флаг установки кода условия, причем способ также включает:
определение того, установлен ли флаг установки кода условия,
установку кода условия для выполнения указанной машинной команды, если флаг установки кода условия установлен.
6. Способ по п. 5, в котором указанная установка кода условия включает одно из следующего:
присвоение коду условия значения, указывающего на обнаружение равного нулю элемента, индекс которого меньше, чем индекс сравнения любого из неравнозначных элементов, выявленных в результате сравнения,
присвоение коду условия значения, указывающего на выявленный неравнозначный элемент, причем значение неравнозначного элемента второго операнда меньше значения неравнозначного элемента третьего операнда,
присвоение коду условия значения, указывающего на выявленный неравнозначный элемент, причем значение неравнозначного элемента второго операнда больше значения неравнозначного элемента третьего операнда,
присвоение коду условия значения, указывающего на то, что различий нет, и, в зависимости от того, был ли установлен флаг поиска равного нулю элемента, что равных нулю элементов не найдено.
7. Способ по п. 1, в котором указанное выполнение включает определение в ходе выполнения направления сравнения, представляющее собой направление слева направо или справа налево, и указанное определение направления сравнения содержит обращение машинной команды к спецификатору направления для определения направления.
8. Способ по п. 1, в котором указанные второй операнд и третий операнд состоят из N байтов, в котором указанное сравнение содержит сравнение в параллельном режиме N байтов второго операнда с N байтами третьего операнда, и в котором длина элемента составляет один байт, либо два байта, либо четыре байта.
9. Способ по п. 1, в котором указанный индекс равного нулю элемента содержит индекс байта, и этот индекс байта является индексом первого байта равного нулю элемента.
10. Способ по п. 1, в котором указанный индекс неравнозначного элемента содержит индекс байта, и этот индекс байта является индексом байта найденного неравнозначного элемента.
11. Способ по п. 1, в котором указание на то, что равный нулю элемент не найден, и/или указание на то, что различий не найдено, содержит включение в состав индекса равного нулю элемента и/или индекса сравнения числа, представляющего длину второго операнда.
12. Система, содержащая средства, приспособленные для выполнения всех шагов способа по любому из пп. 1-11.
13. Компьютерная программа, содержащая команды для выполнения всех шагов способа по любому из пп. 1-11 при ее выполнении в компьютерной системе.
RU2014118857/08A 2012-03-15 2013-03-07 Команда векторного типа для поиска неравнозначного элемента RU2598814C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/421,442 2012-03-15
US13/421,442 US9588762B2 (en) 2012-03-15 2012-03-15 Vector find element not equal instruction
PCT/IB2013/051810 WO2013136232A1 (en) 2012-03-15 2013-03-07 Vector find element not equal instruction

Publications (2)

Publication Number Publication Date
RU2014118857A true RU2014118857A (ru) 2015-11-20
RU2598814C2 RU2598814C2 (ru) 2016-09-27

Family

ID=49158806

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014118857/08A RU2598814C2 (ru) 2012-03-15 2013-03-07 Команда векторного типа для поиска неравнозначного элемента

Country Status (15)

Country Link
US (2) US9588762B2 (ru)
EP (1) EP2756415B1 (ru)
JP (1) JP6238242B2 (ru)
KR (1) KR101625315B1 (ru)
CN (1) CN104169906B (ru)
AU (1) AU2013233992B2 (ru)
CA (1) CA2866878C (ru)
HU (1) HUE027938T2 (ru)
IL (1) IL232813A (ru)
PT (1) PT2756415E (ru)
RU (1) RU2598814C2 (ru)
SG (1) SG11201404862RA (ru)
TW (1) TWI550510B (ru)
WO (1) WO2013136232A1 (ru)
ZA (1) ZA201407243B (ru)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10318291B2 (en) * 2011-11-30 2019-06-11 Intel Corporation Providing vector horizontal compare functionality within a vector register
US9280347B2 (en) 2012-03-15 2016-03-08 International Business Machines Corporation Transforming non-contiguous instruction specifiers to contiguous instruction specifiers
US9715383B2 (en) 2012-03-15 2017-07-25 International Business Machines Corporation Vector find element equal instruction
US9454367B2 (en) 2012-03-15 2016-09-27 International Business Machines Corporation Finding the length of a set of character data having a termination character
US9459864B2 (en) 2012-03-15 2016-10-04 International Business Machines Corporation Vector string range compare
US9710266B2 (en) 2012-03-15 2017-07-18 International Business Machines Corporation Instruction to compute the distance to a specified memory boundary
US9459867B2 (en) 2012-03-15 2016-10-04 International Business Machines Corporation Instruction to load data up to a specified memory boundary indicated by the instruction
US9588762B2 (en) 2012-03-15 2017-03-07 International Business Machines Corporation Vector find element not equal instruction
US9454366B2 (en) 2012-03-15 2016-09-27 International Business Machines Corporation Copying character data having a termination character from one memory location to another
US9459868B2 (en) 2012-03-15 2016-10-04 International Business Machines Corporation Instruction to load data up to a dynamically determined memory boundary
US9268566B2 (en) 2012-03-15 2016-02-23 International Business Machines Corporation Character data match determination by loading registers at most up to memory block boundary and comparing
US9804840B2 (en) 2013-01-23 2017-10-31 International Business Machines Corporation Vector Galois Field Multiply Sum and Accumulate instruction
US9778932B2 (en) 2013-01-23 2017-10-03 International Business Machines Corporation Vector generate mask instruction
US9471308B2 (en) 2013-01-23 2016-10-18 International Business Machines Corporation Vector floating point test data class immediate instruction
US9823924B2 (en) 2013-01-23 2017-11-21 International Business Machines Corporation Vector element rotate and insert under mask instruction
US9715385B2 (en) 2013-01-23 2017-07-25 International Business Machines Corporation Vector exception code
US9513906B2 (en) 2013-01-23 2016-12-06 International Business Machines Corporation Vector checksum instruction
US9703721B2 (en) 2014-12-29 2017-07-11 International Business Machines Corporation Processing page fault exceptions in supervisory software when accessing strings and similar data structures using normal load instructions
US9569127B2 (en) 2014-12-29 2017-02-14 International Business Machines Corporation Computer instructions for limiting access violation reporting when accessing strings and similar data structures
US9715420B2 (en) 2015-01-21 2017-07-25 International Business Machines Corporation String dataflow error detection
US10540512B2 (en) * 2015-09-29 2020-01-21 International Business Machines Corporation Exception preserving parallel data processing of string and unstructured text
US10409613B2 (en) * 2015-12-23 2019-09-10 Intel Corporation Processing devices to perform a key value lookup instruction
CN107315563B (zh) * 2016-04-26 2020-08-07 中科寒武纪科技股份有限公司 一种用于执行向量比较运算的装置和方法
CN106201440B (zh) * 2016-06-28 2018-10-23 上海兆芯集成电路有限公司 字符串比较指令优化的中央处理单元以及其操作方法
US10175946B2 (en) * 2016-09-30 2019-01-08 International Business Machines Corporation Perform sign operation decimal instruction
US9785435B1 (en) * 2016-10-27 2017-10-10 International Business Machines Corporation Floating point instruction with selectable comparison attributes
EP3428792B1 (en) * 2017-07-10 2022-05-04 Arm Ltd Testing bit values inside vector elements
CN109299018B (zh) * 2018-08-15 2023-12-29 深圳拓邦股份有限公司 一种Flash存储器中历史数据的读取方法及装置
US11182165B2 (en) * 2018-11-19 2021-11-23 International Business Machines Corporation Skip-over offset branch prediction
US11327862B2 (en) 2019-05-20 2022-05-10 Micron Technology, Inc. Multi-lane solutions for addressing vector elements using vector index registers
US11340904B2 (en) 2019-05-20 2022-05-24 Micron Technology, Inc. Vector index registers
US11403256B2 (en) 2019-05-20 2022-08-02 Micron Technology, Inc. Conditional operations in a vector processor having true and false vector index registers
US11507374B2 (en) * 2019-05-20 2022-11-22 Micron Technology, Inc. True/false vector index registers and methods of populating thereof
TWI721715B (zh) * 2019-12-17 2021-03-11 英業達股份有限公司 基板管理控制器的壓力測試方法、系統、儲存媒體及裝置

Family Cites Families (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62276668A (ja) 1985-07-31 1987-12-01 Nec Corp ベクトルマスク演算制御ユニツト
US5073864A (en) 1987-02-10 1991-12-17 Davin Computer Corporation Parallel string processor and method for a minicomputer
US5222225A (en) 1988-10-07 1993-06-22 International Business Machines Corporation Apparatus for processing character string moves in a data processing system
JPH0831032B2 (ja) 1990-08-29 1996-03-27 三菱電機株式会社 データ処理装置
US5465374A (en) 1993-01-12 1995-11-07 International Business Machines Corporation Processor for processing data string by byte-by-byte
WO1994027215A1 (en) 1993-05-07 1994-11-24 Apple Computer, Inc. Method for decoding guest instructions for a host computer
EP0704073A1 (en) 1993-06-14 1996-04-03 Apple Computer, Inc. Method and apparatus for finding a termination character within a variable length character string or a processor
JPH0721034A (ja) 1993-06-28 1995-01-24 Fujitsu Ltd 文字列複写処理方法
US5509129A (en) 1993-11-30 1996-04-16 Guttag; Karl M. Long instruction word controlling plural independent processor operations
US6185629B1 (en) 1994-03-08 2001-02-06 Texas Instruments Incorporated Data transfer controller employing differing memory interface protocols dependent upon external input at predetermined time
US5551013A (en) 1994-06-03 1996-08-27 International Business Machines Corporation Multiprocessor for hardware emulation
DE69520350T2 (de) 1994-09-27 2001-08-09 Nippon Kokan Kk Galvanisiertes stahlblech und verfahren zur herstellung
US5790825A (en) 1995-11-08 1998-08-04 Apple Computer, Inc. Method for emulating guest instructions on a host computer through dynamic recompilation of host instructions
US5812147A (en) 1996-09-20 1998-09-22 Silicon Graphics, Inc. Instruction methods for performing data formatting while moving data between memory and a vector register file
TW343318B (en) * 1996-09-23 1998-10-21 Advanced Risc Mach Ltd Register addressing in a data processing apparatus
US5931940A (en) 1997-01-23 1999-08-03 Unisys Corporation Testing and string instructions for data stored on memory byte boundaries in a word oriented machine
AU746743B2 (en) * 1997-11-24 2002-05-02 British Telecommunications Public Limited Company Information management and retrieval
US6009261A (en) 1997-12-16 1999-12-28 International Business Machines Corporation Preprocessing of stored target routines for emulating incompatible instructions on a target processor
US6094695A (en) 1998-03-11 2000-07-25 Texas Instruments Incorporated Storage buffer that dynamically adjusts boundary between two storage areas when one area is full and the other has an empty data register
US6334176B1 (en) 1998-04-17 2001-12-25 Motorola, Inc. Method and apparatus for generating an alignment control vector
US6308255B1 (en) 1998-05-26 2001-10-23 Advanced Micro Devices, Inc. Symmetrical multiprocessing bus and chipset used for coprocessor support allowing non-native code to run in a system
US7100026B2 (en) 2001-05-30 2006-08-29 The Massachusetts Institute Of Technology System and method for performing efficient conditional vector operations for data parallel architectures involving both input and conditional vector values
US6463582B1 (en) 1998-10-21 2002-10-08 Fujitsu Limited Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method
JP3564395B2 (ja) 1998-11-27 2004-09-08 松下電器産業株式会社 アドレス生成装置および動きベクトル検出装置
US6192466B1 (en) 1999-01-21 2001-02-20 International Business Machines Corporation Pipeline control for high-frequency pipelined designs
US8127121B2 (en) 1999-01-28 2012-02-28 Ati Technologies Ulc Apparatus for executing programs for a first computer architechture on a computer of a second architechture
US6189088B1 (en) 1999-02-03 2001-02-13 International Business Machines Corporation Forwarding stored dara fetched for out-of-order load/read operation to over-taken operation read-accessing same memory location
US6499116B1 (en) 1999-03-31 2002-12-24 International Business Machines Corp. Performance of data stream touch events
US6802056B1 (en) 1999-06-30 2004-10-05 Microsoft Corporation Translation and transformation of heterogeneous programs
US6381691B1 (en) 1999-08-13 2002-04-30 International Business Machines Corporation Method and apparatus for reordering memory operations along multiple execution paths in a processor
US6513109B1 (en) 1999-08-31 2003-01-28 International Business Machines Corporation Method and apparatus for implementing execution predicates in a computer processing system
US6449706B1 (en) 1999-12-22 2002-09-10 Intel Corporation Method and apparatus for accessing unaligned data
JP2001236249A (ja) 2000-02-24 2001-08-31 Nec Corp メモリ管理装置およびメモリ管理方法
US6625724B1 (en) 2000-03-28 2003-09-23 Intel Corporation Method and apparatus to support an expanded register set
US6349361B1 (en) 2000-03-31 2002-02-19 International Business Machines Corporation Methods and apparatus for reordering and renaming memory references in a multiprocessor computer system
US6701424B1 (en) 2000-04-07 2004-03-02 Nintendo Co., Ltd. Method and apparatus for efficient loading and storing of vectors
US6408383B1 (en) 2000-05-04 2002-06-18 Sun Microsystems, Inc. Array access boundary check by executing BNDCHK instruction with comparison specifiers
EP1368732B1 (en) 2000-10-18 2008-01-23 Koninklijke Philips Electronics N.V. Digital signal processing apparatus
US7487330B2 (en) 2001-05-02 2009-02-03 International Business Machines Corporations Method and apparatus for transferring control in a computer system with dynamic compilation capability
JP3900863B2 (ja) 2001-06-28 2007-04-04 シャープ株式会社 データ転送制御装置、半導体記憶装置および情報機器
US6839828B2 (en) 2001-08-14 2005-01-04 International Business Machines Corporation SIMD datapath coupled to scalar/vector/address/conditional data register file with selective subpath scalar processing mode
CA2356805A1 (en) * 2001-09-07 2003-03-07 International Business Machines Corporation Converting short branches to predicated instructions
US6907443B2 (en) 2001-09-19 2005-06-14 Broadcom Corporation Magnitude comparator
US6570511B1 (en) 2001-10-15 2003-05-27 Unisys Corporation Data compression method and apparatus implemented with limited length character tables and compact string code utilization
US20100274988A1 (en) 2002-02-04 2010-10-28 Mimar Tibet Flexible vector modes of operation for SIMD processor
US7089371B2 (en) 2002-02-12 2006-08-08 Ip-First, Llc Microprocessor apparatus and method for prefetch, allocation, and initialization of a block of cache lines from memory
US7441104B2 (en) 2002-03-30 2008-10-21 Hewlett-Packard Development Company, L.P. Parallel subword instructions with distributed results
US7373483B2 (en) 2002-04-02 2008-05-13 Ip-First, Llc Mechanism for extending the number of registers in a microprocessor
US7376812B1 (en) 2002-05-13 2008-05-20 Tensilica, Inc. Vector co-processor for configurable and extensible processor architecture
US6918010B1 (en) 2002-10-16 2005-07-12 Silicon Graphics, Inc. Method and system for prefetching data
US7103754B2 (en) 2003-03-28 2006-09-05 International Business Machines Corporation Computer instructions for having extended signed displacement fields for finding instruction operands
US20040215924A1 (en) 2003-04-28 2004-10-28 Collard Jean-Francois C. Analyzing stored data
US7035986B2 (en) 2003-05-12 2006-04-25 International Business Machines Corporation System and method for simultaneous access of the same line in cache storage
US20040250027A1 (en) 2003-06-04 2004-12-09 Heflinger Kenneth A. Method and system for comparing multiple bytes of data to stored string segments
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
US7904905B2 (en) 2003-11-14 2011-03-08 Stmicroelectronics, Inc. System and method for efficiently executing single program multiple data (SPMD) programs
GB2411973B (en) 2003-12-09 2006-09-27 Advanced Risc Mach Ltd Constant generation in SMD processing
US20060095713A1 (en) 2004-11-03 2006-05-04 Stexar Corporation Clip-and-pack instruction for processor
JP4837305B2 (ja) 2005-05-10 2011-12-14 ルネサスエレクトロニクス株式会社 マイクロプロセッサ及びマイクロプロセッサの制御方法
US7421566B2 (en) * 2005-08-12 2008-09-02 International Business Machines Corporation Implementing instruction set architectures with non-contiguous register file specifiers
US7571269B2 (en) * 2005-08-25 2009-08-04 Silicon Image, Inc. Covert channel for conveying supplemental messages in a protocol-defined link for a system of storage devices
US9436468B2 (en) 2005-11-22 2016-09-06 Intel Corporation Technique for setting a vector mask
US8010953B2 (en) 2006-04-04 2011-08-30 International Business Machines Corporation Method for compiling scalar code for a single instruction multiple data (SIMD) execution engine
US7565514B2 (en) * 2006-04-28 2009-07-21 Freescale Semiconductor, Inc. Parallel condition code generation for SIMD operations
CN101097488B (zh) 2006-06-30 2011-05-04 2012244安大略公司 从接收的文本中学习字符片段的方法及相关手持电子设备
US9069547B2 (en) 2006-09-22 2015-06-30 Intel Corporation Instruction and logic for processing text strings
JP2008077590A (ja) 2006-09-25 2008-04-03 Toshiba Corp データ転送装置
US7536532B2 (en) 2006-09-27 2009-05-19 International Business Machines Corporation Merge operations of data arrays based on SIMD instructions
US7991987B2 (en) 2007-05-10 2011-08-02 Intel Corporation Comparing text strings
WO2008142669A1 (en) 2007-05-21 2008-11-27 Incredimail Ltd. Interactive message editing system and method
US20090063410A1 (en) 2007-08-29 2009-03-05 Nils Haustein Method for Performing Parallel Data Indexing Within a Data Storage System
US8001316B2 (en) * 2007-12-27 2011-08-16 Sandisk Il Ltd. Controller for one type of NAND flash memory for emulating another type of NAND flash memory
US7870339B2 (en) 2008-01-11 2011-01-11 International Business Machines Corporation Extract cache attribute facility and instruction therefore
US7895419B2 (en) 2008-01-11 2011-02-22 International Business Machines Corporation Rotate then operate on selected bits facility and instructions therefore
US7739434B2 (en) 2008-01-11 2010-06-15 International Business Machines Corporation Performing a configuration virtual topology change and instruction therefore
US7877582B2 (en) 2008-01-31 2011-01-25 International Business Machines Corporation Multi-addressable register file
EP2245529A1 (en) 2008-02-18 2010-11-03 Sandbridge Technologies, Inc. Method to accelerate null-terminated string operations
DK176835B1 (da) 2008-03-07 2009-11-23 Jala Aps Fremgangsmåde til skanning, medium indeholdende et program til udövelse af fremgangsmåden samt system til udövelse af fremgangsmåden
US8386547B2 (en) 2008-10-31 2013-02-26 Intel Corporation Instruction and logic for performing range detection
WO2010087144A1 (ja) 2009-02-02 2010-08-05 日本電気株式会社 並列比較選択演算装置、プロセッサ及び並列比較選択演算方法
JP5471082B2 (ja) 2009-06-30 2014-04-16 富士通株式会社 演算処理装置および演算処理装置の制御方法
US8595471B2 (en) 2010-01-22 2013-11-26 Via Technologies, Inc. Executing repeat load string instruction with guaranteed prefetch microcode to prefetch into cache for loading up to the last value in architectural register
JP2011212043A (ja) 2010-03-31 2011-10-27 Fujifilm Corp 医用画像再生装置および方法並びにプログラム
US20110314263A1 (en) 2010-06-22 2011-12-22 International Business Machines Corporation Instructions for performing an operation on two operands and subsequently storing an original value of operand
US8972698B2 (en) 2010-12-22 2015-03-03 Intel Corporation Vector conflict instructions
US9009447B2 (en) * 2011-07-18 2015-04-14 Oracle International Corporation Acceleration of string comparisons using vector instructions
US9459867B2 (en) 2012-03-15 2016-10-04 International Business Machines Corporation Instruction to load data up to a specified memory boundary indicated by the instruction
US9454367B2 (en) 2012-03-15 2016-09-27 International Business Machines Corporation Finding the length of a set of character data having a termination character
US9715383B2 (en) 2012-03-15 2017-07-25 International Business Machines Corporation Vector find element equal instruction
US9280347B2 (en) 2012-03-15 2016-03-08 International Business Machines Corporation Transforming non-contiguous instruction specifiers to contiguous instruction specifiers
US9454366B2 (en) 2012-03-15 2016-09-27 International Business Machines Corporation Copying character data having a termination character from one memory location to another
US9588762B2 (en) 2012-03-15 2017-03-07 International Business Machines Corporation Vector find element not equal instruction
US9459868B2 (en) 2012-03-15 2016-10-04 International Business Machines Corporation Instruction to load data up to a dynamically determined memory boundary
US9710266B2 (en) 2012-03-15 2017-07-18 International Business Machines Corporation Instruction to compute the distance to a specified memory boundary
US9268566B2 (en) 2012-03-15 2016-02-23 International Business Machines Corporation Character data match determination by loading registers at most up to memory block boundary and comparing
US9459864B2 (en) 2012-03-15 2016-10-04 International Business Machines Corporation Vector string range compare

Also Published As

Publication number Publication date
KR101625315B1 (ko) 2016-05-27
JP2015514244A (ja) 2015-05-18
RU2598814C2 (ru) 2016-09-27
US20130246751A1 (en) 2013-09-19
US9588762B2 (en) 2017-03-07
CA2866878A1 (en) 2013-09-19
ZA201407243B (en) 2021-05-26
AU2013233992B2 (en) 2016-05-26
CA2866878C (en) 2020-04-14
AU2013233992A1 (en) 2014-09-11
US20130246759A1 (en) 2013-09-19
IL232813A (en) 2017-07-31
EP2756415B1 (en) 2015-10-07
KR20140107339A (ko) 2014-09-04
TWI550510B (zh) 2016-09-21
HUE027938T2 (en) 2016-11-28
TW201401167A (zh) 2014-01-01
WO2013136232A1 (en) 2013-09-19
US9588763B2 (en) 2017-03-07
SG11201404862RA (en) 2014-09-26
CN104169906A (zh) 2014-11-26
IL232813A0 (en) 2014-07-31
CN104169906B (zh) 2017-03-29
EP2756415A4 (en) 2014-09-03
JP6238242B2 (ja) 2017-11-29
PT2756415E (pt) 2015-11-19
EP2756415A1 (en) 2014-07-23

Similar Documents

Publication Publication Date Title
RU2014118857A (ru) Команда векторного типа для поиска неравнозначного элемента
RU2014118858A (ru) Команда векторного типа для поиска равнозначного элемента
RU2012148582A (ru) Команда для загрузки данных до заданной границы памяти, указанной командой
RU2015109474A (ru) Код векторного исключения
JP2015522196A5 (ru)
RU2012149548A (ru) Команды для выполнения операции с операндом в памяти и последующего сохранения оригинального значения указанного операнда в регистре
US9021233B2 (en) Interleaving data accesses issued in response to vector access instructions
US9256427B2 (en) Tracking multiple conditions in a general purpose register and instruction therefor
KR102453594B1 (ko) 데이터 추론 실행을 위한 시스템, 장치 및 방법
RU2012148584A (ru) Команда рассчитать расстояние до заданной границы памяти
IL227476A (en) Control the execution of tight instructions that depend on the same data conditions
JP2016509716A5 (ru)
WO2013136214A4 (en) Finding the length of a set of character data having a termination character
RU2012147699A (ru) Средство виртуализации функций для запроса функции процессора
KR102453086B1 (ko) 데이터 추론 실행을 위한 시스템, 장치 및 방법
JP2013254484A5 (ru)
JP2018531467A (ja) ベクトル演算命令の例外条件処理
JP2018531467A6 (ja) ベクトル演算命令の例外条件処理
RU2012148402A (ru) Преобразование из зонного формата в десятичный формат с плавающей точкой
US9158562B2 (en) Method and apparatus for supporting virtualization of loadable module
JP2018537800A5 (ru)
RU2012149006A (ru) Средство функциональной виртуализации для блокировки командной функции многофункциональной команды виртуального процесса
CN104731560A (zh) 支持多线程处理的功能单元、处理器及其操作方法
TWI630550B (zh) 用於資料推測執行之系統設備及方法
US10545763B2 (en) Detecting data dependencies of instructions associated with threads in a simultaneous multithreading scheme