RU2181214C2 - Флаги кода условия для обработки данных - Google Patents

Флаги кода условия для обработки данных Download PDF

Info

Publication number
RU2181214C2
RU2181214C2 RU99108451/09A RU99108451A RU2181214C2 RU 2181214 C2 RU2181214 C2 RU 2181214C2 RU 99108451/09 A RU99108451/09 A RU 99108451/09A RU 99108451 A RU99108451 A RU 99108451A RU 2181214 C2 RU2181214 C2 RU 2181214C2
Authority
RU
Russia
Prior art keywords
arithmetic
specified
bit
parallel
input operand
Prior art date
Application number
RU99108451/09A
Other languages
English (en)
Other versions
RU99108451A (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
Priority claimed from GB9619825A external-priority patent/GB2317466B/en
Application filed by Арм Лимитед filed Critical Арм Лимитед
Publication of RU99108451A publication Critical patent/RU99108451A/ru
Application granted granted Critical
Publication of RU2181214C2 publication Critical patent/RU2181214C2/ru

Links

Images

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/30098Register arrangements
    • G06F9/30101Special purpose registers
    • 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/30094Condition code generation, e.g. Carry, Zero flag

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)
  • Advance Control (AREA)

Abstract

Изобретение относится к системам обработки данных. Технический результат заключается в расширении функциональных возможностей за счет обеспечения отдельных флагов кода состояния для каждой из отдельных параллельных операций. Система обработки данных включает в себя арифметико-логический блок, имеющий N-разрядный информационный канал и поддерживающий программные командные слова для параллельной работы. Независимые арифметические операции выполняются арифметико-логическим блоком параллельно с (N/2)-разрядными словами входных операндов. Предусмотрены два набора флагов кода условия N, Z, С, V, SN, SZ, SC, SV, реагирующие на отдельные арифметические операции. Способ описывает работу данной системы. 2 с. и 5 з.п.ф-лы, 7 ил., 60 табл.

Description

Документ в факсимильном виде (см. графическую часть).

Claims (7)

1. Устройство для обработки данных, причем указанное устройство содержит множество регистров (10) для запоминания информационных слов, подлежащих манипулированию, причем каждый из указанных регистров имеет емкость по меньшей мере N разрядов, и арифметико-логический блок (4), имеющий N-разрядный информационный канал и реагирующий на программные командные слова для выполнения арифметико-логических операций, определенных указанными программными командными словами, в котором указанный арифметико-логический блок реагирует на по меньшей мере одно программное командное слово для параллельной работы, которое отдельно выполняет первую арифметико-логическую операцию над информационным словом первого (N/2)-разрядного входного операнда и вторую арифметико-логическую операцию над информационным словом второго (N/2)-разрядного входного операнда; и указанный арифметико-логический блок устанавливает первый набор флагов кода условия (N, Z, C, V) в зависимости от указанной первой арифметико-логической операции и устанавливает второй набор флагов кода условия (SN, SZ, SC, SV) в зависимости от указанной второй арифметико-логической операции, отличающееся тем, что указанный арифметико-логический блок реагирует на условную команду выбора (SEL), которая перемещает или информационное слово первого (N/2)-разрядного входного операнда, хранящееся в регистре первого источника, или информационное слово первого (N/2)-разрядного входного операнда, хранящееся в регистре второго источника, в регистр назначения из указанного множества регистров в зависимости от указанного первого набора флагов условия, и перемещает или информационное слово второго (N/2)-разрядного входного операнда, хранящееся в регистре первого источника, или информационное слово второго (N/2)-разрядного входного операнда, хранящееся в регистре второго источника, в указанный регистр назначения в зависимости от указанного второго набора флагов условия.
2. Устройство по п. 1, в котором указанное программное командное слово для параллельной работы определяет регистр источника среди указанного множества регистров с указанным первым (N/2)-разрядным входным операндом, хранящимся в старших разрядных позициях указанного регистра источника, и с указанным вторым (N/2)-разрядным входным операндом, хранящимся в младших разрядных позициях указанного регистра источника.
3. Устройство по п. 1 или 2, в котором указанный арифметико-логический блок имеет сигнальный канал, который функционирует в качестве цепи переноса между разрядными позициями в арифметико-логических операциях, и при выполнении программного командного слова для параллельной работы указанный сигнальный канал разрывается между указанным информационным словом первого (N/2)-разрядного входного операнда и указанным информационным словом второго (N/2)-разрядного входного операнда.
4. Устройство по любому из предшествующих пунктов, в котором указанное программное командное слово для параллельной работы выполняет одну из следующих арифметико-логических операций: (i) параллельное сложение, при котором выполняются два параллельных (N/2)-разрядных сложения; (ii) параллельное вычитание, при котором выполняются два параллельных (N/2)-разрядных вычитания; (iii) параллельный сдвиг, при котором выполняются две параллельные операции (N/2)-разрядного сдвига; (iv) параллельное сложение/вычитание, при котором параллельно выполняются (N/2)-разрядное сложение и (N/2)-разрядное вычитание; (v) параллельное определение минимума/максимума, при котором выполняются две параллельные (N/2)-разрядные операции определения минимума/максимума, и (vi) параллельное масштабирование, при котором выполняются две параллельные (N/2)-разрядные операции масштабирования.
5. Устройство по любому из предшествующих пунктов, в котором указанный первый набор флагов кода условия и указанный второй набор флагов кода условия включают в себя по меньшей мере один из флагов, указывающий, что непосредственно предшествующая операция (i) выдала результат, который был равен нулю (Z); (ii) выдала результат, который был отрицательным (N); (iii) выдала переполнение (V) и (iv) выдала перенос (С).
6. Устройство по любому из предшествующих пунктов, в котором арифметико-логический блок приспособлен для выполнения одной из следующих операций: операции свертки, операции фильтрации, операции корреляции и операции преобразования.
7. Способ обработки данных, согласно которому запоминают информационные слова, подлежащие манипулированию, во множестве регистров, причем каждый из указанных регистров имеет емкость по меньшей мере N разрядов, и в ответ на программные командные слова выполняют с помощью арифметико-логического блока, имеющего N-разрядный информационный канал, арифметико-логические операции, определяемые указанными программными командными словами, в котором в ответ на по меньшей мере одно программное командное слово для параллельной работы осуществляют отдельное выполнение первой арифметико-логической операции над информационным словом первого (N/2)-разрядного входного операнда и второй арифметико-логической операции над информационным словом второго (N/2)-разрядного входного операнда; устанавливают первый набор флагов кода условия в зависимости от указанной первой арифметико-логической операции и устанавливают второй набор флагов кода условия в зависимости от указанной второй арифметико-логической операции, отличающийся тем, что в ответ на условную команду выбора осуществляют перемещение или информационного слова первого (N/2)-разрядного входного операнда, хранящегося в регистре первого источника, или информационного слова первого (N/2)-разрядного входного операнда, хранящегося в регистре второго источника, в регистр назначения из указанного множества регистров в зависимости от указанного первого набора флагов кода условия и перемещение или информационного слова второго (N/2)-разрядного входного операнда, хранящегося в регистре первого источника, или информационного слова второго (N/2)-разрядного входного операнда, хранящегося в регистре второго источника, в указанный регистр назначения в зависимости от указанного второго набора флагов кода условия.
RU99108451/09A 1996-09-23 1997-08-22 Флаги кода условия для обработки данных RU2181214C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9619825.4 1996-09-23
GB9619825A GB2317466B (en) 1996-09-23 1996-09-23 Data processing condition code flags

Publications (2)

Publication Number Publication Date
RU99108451A RU99108451A (ru) 2001-03-10
RU2181214C2 true RU2181214C2 (ru) 2002-04-10

Family

ID=10800362

Family Applications (1)

Application Number Title Priority Date Filing Date
RU99108451/09A RU2181214C2 (ru) 1996-09-23 1997-08-22 Флаги кода условия для обработки данных

Country Status (9)

Country Link
EP (1) EP0927390B1 (ru)
JP (1) JP3662259B2 (ru)
KR (1) KR100520807B1 (ru)
CN (1) CN1104679C (ru)
DE (1) DE69721023T2 (ru)
IL (1) IL127290A0 (ru)
MY (1) MY118456A (ru)
RU (1) RU2181214C2 (ru)
TW (1) TW325552B (ru)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9710269B2 (en) * 2006-01-20 2017-07-18 Qualcomm Incorporated Early conditional selection of an operand
US7958181B2 (en) * 2006-09-21 2011-06-07 Intel Corporation Method and apparatus for performing logical compare operations
JP4228241B2 (ja) * 2006-12-13 2009-02-25 ソニー株式会社 演算処理装置
US9747105B2 (en) 2009-12-17 2017-08-29 Intel Corporation Method and apparatus for performing a shift and exclusive or operation in a single instruction
US9483266B2 (en) * 2013-03-15 2016-11-01 Intel Corporation Fusible instructions and logic to provide OR-test and AND-test functionality using multiple test sources
US9886277B2 (en) 2013-03-15 2018-02-06 Intel Corporation Methods and apparatus for fusing instructions to provide OR-test and AND-test functionality on multiple test sources
JP6956796B2 (ja) * 2017-09-14 2021-11-02 三菱電機株式会社 演算回路、演算方法、およびプログラム
CN111209231B (zh) * 2018-11-21 2021-05-11 上海寒武纪信息科技有限公司 数据处理方法、装置及相关产品
CN111210012B (zh) * 2018-11-21 2022-12-09 上海寒武纪信息科技有限公司 数据处理方法、装置及相关产品
WO2020078470A1 (zh) 2018-10-18 2020-04-23 上海寒武纪信息科技有限公司 片上网络数据处理方法及装置

Also Published As

Publication number Publication date
CN1104679C (zh) 2003-04-02
EP0927390B1 (en) 2003-04-16
IL127290A0 (en) 1999-09-22
DE69721023D1 (de) 2003-05-22
CN1219253A (zh) 1999-06-09
JP2001501755A (ja) 2001-02-06
JP3662259B2 (ja) 2005-06-22
KR100520807B1 (ko) 2005-10-12
KR20000048528A (ko) 2000-07-25
MY118456A (en) 2004-11-30
DE69721023T2 (de) 2003-12-24
TW325552B (en) 1998-01-21
EP0927390A1 (en) 1999-07-07

Similar Documents

Publication Publication Date Title
KR100577445B1 (ko) 분기 예측들을 신속하게 특정하기 위해 명령 캐시 내의 바이트 범위들과 관련되는 분기 선택자들
RU2212049C2 (ru) Смешанный файл векторных/скалярных регистров
EP0551932B1 (en) Digital signal processor processing multi-point conditional branch operations in a pipeline mode
US4675809A (en) Data processing system for floating point data having a variable length exponent part
EP0996057B1 (en) Data processor with an instruction unit having a cache and a ROM
US5179734A (en) Threaded interpretive data processor
KR930018378A (ko) 캐쉬 메모리 시스템의 성능최적화 방법 및 장치
KR910010301A (ko) 명령 지정방법 및 실행장치
KR950033803A (ko) 다중 비트 시프트 장치, 이것을 이용한 데이타 프로세서, 및 다중 비트 시프트 방법
RU2181214C2 (ru) Флаги кода условия для обработки данных
JPS6313215B2 (ru)
KR950009453A (ko) 컴퓨터 프로세싱 시스템 및 인스트럭션 실행방법
JP2581236B2 (ja) データ処理装置
KR100316078B1 (ko) 파이프라인방식프로세서
KR100603067B1 (ko) 분기 예측의 타입을 분류하기 위해 복귀 선택 비트들을 이용하는 분기 예측
RU99108451A (ru) Флаги кода условия для обработки данных
JP4801605B2 (ja) Simd型マイクロプロセッサ
JP2002312162A (ja) プロセッサおよびプロセッサシステム
US8484446B2 (en) Microprocessor saving data stored in register and register saving method
RU2066067C1 (ru) Центральный процессор для многопроцессорной вычислительной системы
JP3341662B2 (ja) 情報処理装置及び多ポートレジスタファイル
KR100308182B1 (ko) 데이터처리시스템및이시스템의동작방법
KR100343459B1 (ko) 자바 프로세서
RU99108435A (ru) Управление входными операндами в системах обработки данных
JP3532026B2 (ja) 演算装置

Legal Events

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

Effective date: 20070823