RU2006100297A - Генерация смещения адреса в системах обработки данных - Google Patents

Генерация смещения адреса в системах обработки данных Download PDF

Info

Publication number
RU2006100297A
RU2006100297A RU2006100297/09A RU2006100297A RU2006100297A RU 2006100297 A RU2006100297 A RU 2006100297A RU 2006100297/09 A RU2006100297/09 A RU 2006100297/09A RU 2006100297 A RU2006100297 A RU 2006100297A RU 2006100297 A RU2006100297 A RU 2006100297A
Authority
RU
Russia
Prior art keywords
offset
bit
address
values
instruction
Prior art date
Application number
RU2006100297/09A
Other languages
English (en)
Inventor
Дэвид Джеймс СИЛ (GB)
Дэвид Джеймс СИЛ
Original Assignee
Арм Лимитед (Gb)
Арм Лимитед
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 Арм Лимитед (Gb), Арм Лимитед filed Critical Арм Лимитед (Gb)
Publication of RU2006100297A publication Critical patent/RU2006100297A/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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension of operand address space
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • 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/3017Runtime instruction translation, e.g. macros
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/324Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address using program counter relative addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Claims (33)

1. Устройство для обработки данных, содержащее декодер инструкций, реагирующий на программные инструкции, для управления операциями обработки данных; и схему генерации смещения адреса, управляемую упомянутым декодером инструкций, и выполненную с возможностью генерирования N-битного смещения адреса, имеющего значение, задаваемое инструкцией генерации смещения адреса, включающее в себя знак значения смещения, задаваемый битом S; при этом упомянутое N-битное смещение адреса имеет значения битов Bi, представленное как двоичное дополнение числа, где (N-1)≥i≥Z и (N-1)>Z≥0, упомянутая инструкция генерации смещения адреса включает в себя L битов Pk расширения смещения, где (N-Z)>L≥1 и L>k≥0, и упомянутая схема генерации смещения адреса выполнена с возможностью функционирования следующим образом:
(i) если все из упомянутых битов Pk расширения смещения имеют соответствующие заданные значения Dk, то биты Bj упомянутого N-битного смещения адреса получаются согласно Bj=S для всех значений j в пределах (N-1)≥j≥(N-L-1); и
(ii) если любой из упомянутых битов Pk расширения смещения не имеет упомянутое заданное значение Dk, то биты Bj упомянутого N-битного смещения адреса, где (N-1)≥j≥(N-L-1), получаются путем заданного однозначного отображения из комбинации значений упомянутых битов Pk расширения смещения и упомянутого знака значения смещения, задаваемого битом S, в комбинацию значений Bj, отличную от комбинации Bj=1 для всех значений j в пределах (N-1)≥j≥(N-L-1), и комбинации Bj=0 для всех значений j в пределах (N-1)≥j≥(N-L-1).
2. Устройство по п. 1, в котором упомянутые заданные значения Dk все равны 1.
3. Устройство по любому из пп.1 и 2, в котором упомянутая схема генерации смещения адреса выполнена с возможностью генерирования значений битов Bj упомянутого N-битного смещения адреса, где каждый бит Bj имеет значение, получаемое из одного из следующих соответствующих заданных значений:
Bj=S для одного непосредственно заданного знаковым битом значения j;
Bj=S XOR Pk(j) XOR Dk(j), где k(j) является однозначным отображением индекса из значений j, исключая упомянутое непосредственно заданное знаковым битом значение j, в значения k.
4. Устройство по п. 3, в котором упомянутое непосредственно заданное знаковым битом значение j является N-1.
5. Устройство по п. 1, в котором упомянутая инструкция генерации смещения адреса является инструкцией перехода и упомянутое N-битное смещение адреса является N-битным смещением целевого адреса условного перехода.
6. Устройство по п. 5, в котором упомянутое N-битное смещение целевого адреса перехода объединено с программным адресом упомянутой инструкции перехода для генерации целевого адреса перехода.
7. Устройство по п. 1, в котором упомянутое N-битное смещение адреса дополнительно расширено знаком посредством упомянутой инструкции генерации смещения адреса перед использованием.
8. Устройство по п. 1, в котором L=2.
9. Устройство по п. 1, в котором N=25.
10. Устройство по п. 1, в котором Z является одним из 1 или 2.
11. Устройство по п. 1, в котором значения битов с BN-2-L по Bz непосредственно заданы в упомянутой инструкции генерации смещения адреса.
12. Способ обработки данных, заключающийся в том, что управляют операциями обработки данных с помощью декодера инструкций, реагирующего на программные инструкции; и генерируют N-битное смещение адреса, имеющее значение, заданное инструкцией генерации смещения адреса, включающее в себя знак значения смещения, задаваемый битом S, с использованием схемы генерации смещения адреса, управляемой упомянутым декодером инструкций; при этом упомянутое N-битное смещение адреса имеет значения битов Bi, представленное как двоичное дополнение числа, где (N-1)≥i≥Z и (N-1)>Z≥0, упомянутая инструкция генерации смещения адреса включает в себя L битов Pk расширения смещения, где (N-Z)>L≥1 и L>k≥0, и упомянутая схема генерации смещения адреса выполнена с возможностью функционирования следующим образом:
(i) если все из упомянутых битов Pk расширения смещения имеют соответствующие заданные значения Dk, то биты Bj упомянутого N-битного смещения адреса получаются согласно Bj=S для всех значений j в пределах (N-1)≥j≥(N-L-1); и
(ii) если любой из упомянутых битов Pk расширения смещения не имеет упомянутое заданное значение Dk, то биты Bj упомянутого N-битного смещения адреса, где (N-1)≥j≥(N-L-1), получаются путем заданного однозначного отображения из комбинации значений упомянутых битов Pk расширения смещения и упомянутого знака значения смещения, задаваемого битом S, в комбинацию значений Bj, отличную от комбинации Bj=1 для всех значений j в пределах (N-1)≥j≥(N-L-1), и комбинации Bj=0 для всех значений j в пределах (N-1)≥j≥(N-L-1).
13. Способ по п. 12, в котором упомянутые заданные значения Dk все равны 1.
14. Способ по п. 12, в котором упомянутая схема генерации смещения адреса выполнена с возможностью генерирования значений битов Bj упомянутого N-битного смещения адреса, где каждый бит Bj имеет значение, получаемое из одного из следующих соответствующих заданных значений:
Bj=S для одного непосредственно заданного знаковым битом значение j;
Bj=S XOR Pk(j) XOR Dk(j), где k(j) является однозначным отображением индекса из значений j, исключая упомянутое непосредственно заданное знаковым битом значение j, в значения k.
15. Способ по п. 14, в котором упомянутое непосредственно заданное знаковым битом значение j является N-1.
16. Способ по п. 12, в котором упомянутая инструкция генерации смещения адреса является инструкцией перехода и упомянутое N-битное смещение адреса является N-битным смещением целевого адреса перехода.
17. Способ по п. 16, в котором упомянутое N-битное смещение целевого адреса перехода объединяют с программным адресом упомянутой инструкции перехода для генерации целевого адреса перехода.
18. Способ по п. 12, в котором упомянутое N-битное смещение адреса дополнительно расширяют знаком посредством упомянутой инструкции генерации смещения адреса перед использованием.
19. Способ по п. 12, в котором L=2.
20. Способ по п. 12, в котором N=25.
21. Способ по п. 12, в котором Z является одним из 1 или 2.
22. Способ по п. 12, в котором значения битов с BN-2-L по Bz непосредственно задают в упомянутой инструкции генерации смещения адреса.
23. Компьютерный программный продукт, включающий в себя компьютерную программу, для управления компьютером для выполнения следующих этапов, на которых управляют операциями обработки данных с помощью декодера инструкций, реагирующего на программные инструкции; и генерируют N-битное смещение адреса, имеющее значение, заданное инструкцией генерации смещения адреса, включающее в себя знак значения смещения, задаваемый битом S, с использованием схемы генерации смещения адреса, управляемой упомянутым декодером инструкций; при этом упомянутое N-битное смещение адреса имеет значения битов Bi, представленное как двоичное дополнение числа, где (N-1)≥i≥Z и (N-1)>Z≥0, упомянутая инструкция генерации смещения адреса включает в себя L битов Pk расширения смещения, где (N-Z)>L≥1 и L>k≥0, и упомянутая схема генерации смещения адреса выполнена с возможностью функционирования следующим образом:
(i) если все из упомянутых битов Pk расширения смещения имеют соответствующие заданные значения Dk, то биты Bj упомянутого N-битного смещения адреса получаются согласно Bj=S для всех значений j в пределах (N-1)≥j≥(N-L-1); и
(ii) если любой из упомянутых битов Pk расширения смещения не имеет упомянутое заданное значение Dk, то биты Bj упомянутого N-битного смещения адреса, где (N-1)≥j≥(N-L-1), получаются путем заданного однозначного отображения из комбинации значений упомянутых битов Pk расширения смещения и упомянутого знака значения смещения, задаваемого битом S, в комбинацию значений Bj, отличную от комбинации Bj=1 для всех значений j в пределах (N-1)≥j≥(N-L-1), и комбинации Bj=0 для всех значений j в пределах (N-1)≥j≥(N-L-1).
24. Компьютерный программный продукт по п. 23, в котором упомянутые заданные значения Dk все равны 1.
25. Компьютерный программный продукт по п. 23, в котором упомянутая схема генерации смещения адреса выполнена с возможностью генерирования значений битов Bj упомянутого N-битного смещения адреса, где каждый бит Bj имеет значение, получаемое из одного из следующих соответствующих заданных значений:
Bj=S для одного непосредственно заданного знаковым битом значения j;
Bj=S XOR Pk(j) XOR Dk(j), где k(j) является однозначным отображением индекса из значений j, исключая упомянутое непосредственно заданное знаковым битом значение j, в значения k.
26. Компьютерный программный продукт по п. 25, в котором упомянутое непосредственно заданное знаковым битом значение j является N-1.
27. Компьютерный программный продукт по п. 23, в котором упомянутая инструкция генерации смещения адреса является инструкцией перехода и упомянутое N-битное смещение адреса является N-битным смещением целевого адреса перехода.
28. Компьютерный программный продукт по п. 27, в котором упомянутое N-битное смещение целевого адреса перехода объединено с программным адресом упомянутой инструкции перехода для генерации целевого адреса перехода.
29. Компьютерный программный продукт по п. 23, в котором упомянутое N-битное смещение адреса дополнительно расширено знаком посредством упомянутой инструкции генерации смещения адреса перед использованием.
30. Компьютерный программный продукт по п. 23, в котором L=2.
31. Компьютерный программный продукт по п. 23, в котором N=25.
32. Компьютерный программный продукт по п. 23, в котором Z является одним из 1 или 2.
33. Компьютерный программный продукт по п. 23, в котором значения битов с BN-2-L по Bz непосредственно заданы в упомянутой инструкции генерации смещения адреса.
RU2006100297/09A 2003-06-11 2003-12-30 Генерация смещения адреса в системах обработки данных RU2006100297A (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0313510.0 2003-06-11
GB0313510A GB2402757B (en) 2003-06-11 2003-06-11 Address offset generation within a data processing system

Publications (1)

Publication Number Publication Date
RU2006100297A true RU2006100297A (ru) 2006-06-10

Family

ID=27589902

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2006100297/09A RU2006100297A (ru) 2003-06-11 2003-12-30 Генерация смещения адреса в системах обработки данных

Country Status (11)

Country Link
US (1) US7120779B2 (ru)
EP (1) EP1631903B8 (ru)
JP (1) JP3917636B2 (ru)
KR (1) KR100951331B1 (ru)
CN (1) CN100375012C (ru)
AU (1) AU2003290355A1 (ru)
GB (1) GB2402757B (ru)
MY (1) MY134215A (ru)
RU (1) RU2006100297A (ru)
TW (1) TWI290288B (ru)
WO (1) WO2004111837A2 (ru)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7769983B2 (en) * 2005-05-18 2010-08-03 Qualcomm Incorporated Caching instructions for a multiple-state processor
GB2475653B (en) 2007-03-12 2011-07-13 Advanced Risc Mach Ltd Select and insert instructions within data processing systems
US7711927B2 (en) * 2007-03-14 2010-05-04 Qualcomm Incorporated System, method and software to preload instructions from an instruction set other than one currently executing
US20110082999A1 (en) * 2009-10-07 2011-04-07 Andes Technology Corporation Data processing engine with integrated data endianness control mechanism
GB2488980B (en) * 2011-03-07 2020-02-19 Advanced Risc Mach Ltd Address generation in a data processing apparatus
WO2014203035A1 (en) * 2013-06-18 2014-12-24 Freescale Semiconductor, Inc. Signal processing device and method of performing a bit-expand operation

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4203157A (en) * 1978-09-05 1980-05-13 Motorola, Inc. Carry anticipator circuit and method
US4935867A (en) * 1986-03-04 1990-06-19 Advanced Micro Devices, Inc. Signal processor memory management unit with indirect addressing using selectable offsets and modulo values for indexed address calculations
US5386534A (en) * 1992-10-27 1995-01-31 Motorola, Inc. Data processing system for generating symmetrical range of addresses of instructing-address-value with the use of inverting sign value
US20010025337A1 (en) * 1996-06-10 2001-09-27 Frank Worrell Microprocessor including a mode detector for setting compression mode
US6049863A (en) 1996-07-24 2000-04-11 Advanced Micro Devices, Inc. Predecoding technique for indicating locations of opcode bytes in variable byte-length instructions within a superscalar microprocessor
US6237087B1 (en) * 1998-09-30 2001-05-22 Intel Corporation Method and apparatus for speeding sequential access of a set-associative cache
US6691305B1 (en) * 1999-11-10 2004-02-10 Nec Corporation Object code compression using different schemes for different instruction types
WO2001069376A2 (en) * 2000-03-15 2001-09-20 Arc International Plc Method and apparatus for processor code optimization using code compression
EP1470476A4 (en) * 2002-01-31 2007-05-30 Arc Int CONFIGURABLE DATA PROCESSOR WITH MULTI-LENGTH INSTRUCTION KIT ARCHITECTURE
US6948053B2 (en) * 2002-02-25 2005-09-20 International Business Machines Corporation Efficiently calculating a branch target address
US20040049657A1 (en) * 2002-09-10 2004-03-11 Kling Ralph M. Extended register space apparatus and methods for processors
US20050114633A1 (en) * 2003-11-25 2005-05-26 Palat Manoj N. Method and system for executing data-relative code within a non data-relative environment

Also Published As

Publication number Publication date
TWI290288B (en) 2007-11-21
CN1788252A (zh) 2006-06-14
JP3917636B2 (ja) 2007-05-23
GB0313510D0 (en) 2003-07-16
CN100375012C (zh) 2008-03-12
US7120779B2 (en) 2006-10-10
AU2003290355A1 (en) 2005-01-04
WO2004111837A2 (en) 2004-12-23
EP1631903B8 (en) 2013-03-06
WO2004111837A3 (en) 2007-03-29
US20040255094A1 (en) 2004-12-16
GB2402757B (en) 2005-11-02
TW200428226A (en) 2004-12-16
AU2003290355A8 (en) 2005-01-04
KR20060021349A (ko) 2006-03-07
GB2402757A (en) 2004-12-15
MY134215A (en) 2007-11-30
JP2006527419A (ja) 2006-11-30
KR100951331B1 (ko) 2010-04-08
EP1631903A2 (en) 2006-03-08
EP1631903B1 (en) 2012-12-19

Similar Documents

Publication Publication Date Title
KR0163464B1 (ko) 허프만 부호 복호화 회로
JPS6410356A (en) Signal generator
RU2006100297A (ru) Генерация смещения адреса в системах обработки данных
CN112650471A (zh) 用于处理掩蔽数据的处理器和方法
KR970016931A (ko) 고속 이상 또는 등가 비교 회로
US5614900A (en) Variable word length code decoding apparatus having plural decoding tables for decoding long words
TW202018597A (zh) 實施神經網路之啟動邏輯之裝置及其方法
JP2001144619A (ja) プライオリティ・エンコーダ及びそのエンコード方法
JP3252029B2 (ja) 符号化装置及び符号化方法
WO2004025453A3 (en) Apparatus and method for adding multiple-bit binary strings
KR940007722A (ko) 고속 마이크로프로세서 브랜치 결정 회로
JPH08202533A (ja) 除算処理装置
JP2009239344A (ja) 記述処理装置、記述処理方法およびプログラム
KR101833954B1 (ko) 메모리 과부하 난수 발생 장치 및 방법
KR0182169B1 (ko) 로그값 계산회로
JPS62259140A (ja) アドレス生成回路
SU1432507A2 (ru) Устройство дл умножени
JP2008040372A (ja) 音声合成装置
JP2623932B2 (ja) データ転送装置
JP2757716B2 (ja) ハフマン符号復号回路
TW202005337A (zh) 布隆過濾器與其實施方法
KR980004038A (ko) 멀티 비트의 crc 연산 방법
JPH0377535B2 (ru)
JPH05110451A (ja) 行列演算回路
DE10343185A1 (de) Verfahren und Digitalschaltung zur Berechnung einer Quadratwurzel

Legal Events

Date Code Title Description
FA92 Acknowledgement of application withdrawn (lack of supplementary materials submitted)

Effective date: 20071016