RU2006100297A - Генерация смещения адреса в системах обработки данных - Google Patents
Генерация смещения адреса в системах обработки данных Download PDFInfo
- 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
Links
- 238000004590 computer program Methods 0.000 claims 12
- 238000000034 method Methods 0.000 claims 12
- 230000007704 transition Effects 0.000 claims 9
- 238000013507 mapping Methods 0.000 claims 6
- 230000000295 complement effect Effects 0.000 claims 3
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/342—Extension of operand address space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/324—Address 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 непосредственно заданы в упомянутой инструкции генерации смещения адреса.
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)
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)
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 |
-
2003
- 2003-06-11 GB GB0313510A patent/GB2402757B/en not_active Expired - Lifetime
- 2003-12-30 JP JP2005500706A patent/JP3917636B2/ja not_active Expired - Lifetime
- 2003-12-30 RU RU2006100297/09A patent/RU2006100297A/ru not_active Application Discontinuation
- 2003-12-30 KR KR1020057023535A patent/KR100951331B1/ko active IP Right Grant
- 2003-12-30 CN CNB2003801103414A patent/CN100375012C/zh not_active Expired - Lifetime
- 2003-12-30 AU AU2003290355A patent/AU2003290355A1/en not_active Abandoned
- 2003-12-30 EP EP03782716A patent/EP1631903B8/en not_active Expired - Lifetime
- 2003-12-30 WO PCT/GB2003/005680 patent/WO2004111837A2/en active Application Filing
-
2004
- 2004-01-28 US US10/765,092 patent/US7120779B2/en active Active
- 2004-02-09 TW TW093102968A patent/TWI290288B/zh not_active IP Right Cessation
- 2004-02-10 MY MYPI20040388A patent/MY134215A/en unknown
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 |