[go: up one dir, main page]

CN1126029C - Method and appts. for access complex vector located in DSP memory - Google Patents

Method and appts. for access complex vector located in DSP memory Download PDF

Info

Publication number
CN1126029C
CN1126029C CN99810889A CN99810889A CN1126029C CN 1126029 C CN1126029 C CN 1126029C CN 99810889 A CN99810889 A CN 99810889A CN 99810889 A CN99810889 A CN 99810889A CN 1126029 C CN1126029 C CN 1126029C
Authority
CN
China
Prior art keywords
register
address
fixed displacement
mode
fixed
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
CN99810889A
Other languages
Chinese (zh)
Other versions
CN1318167A (en
Inventor
吉尔·纳韦
埃兰·魏因加滕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of CN1318167A publication Critical patent/CN1318167A/en
Application granted granted Critical
Publication of CN1126029C publication Critical patent/CN1126029C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/35Indirect addressing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

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)
  • Complex Calculations (AREA)

Abstract

A method and apparatus for efficiently accessing the real parts and the imaginary parts of complex vector components in a digital signal processor memory is implemented through the incorporation of a new processor addressing, the fixed displacement mode. An additional register, the fixed displacement register, and an additional control flag, the fixed displacement configuration bit are needed. The method of employment requires only a single address register, and does not require use of the normal offset register used for indexed addressing, leaving the offset register to be used for simultaneous post modification and/or bit reversal. Dual memory spaces sharing a common address space are not required, thereby simplifying memory management, and the method and apparatus are compatible with all addressing.

Description

在DSP存储器中访问复数向量的方法和装置Method and device for accessing complex vectors in DSP memory

技术领域technical field

本发明涉及处理器存储寻址和存储地址产生的方法,特别是存储在一个数字信号处理器存储器中的复数向量的访问方法。The invention relates to a method for processor storage addressing and storage address generation, in particular to a method for accessing complex vectors stored in a digital signal processor memory.

背景技术Background technique

在US 4 809 156中,描述了一个用于计算机系统中产生存储地址的线路。一个地址产生逻辑包含二个多路复用器(Multiplexer)和一个加法器,这个加法器与用于输出存储器地址到中央处理器的存储器地址寄存器相连。一个多路复用器的可替换的输入是来自于移位寄存器(Displacement Register)和扩展寄存器。在二个寄存器间切换是由符号位来控制,这个符号位由比较器(Comparator)产生,比较器的输入值存在累加器和基地址寄存器。比较器产生一个符号检测输出信号,它反映存在标志寄存器中的符号标志的值。此符号标志决定是选移位寄存器还是选扩展寄存器作为加法器的输入。In US 4 809 156 a circuit for generating memory addresses in a computer system is described. An address generating logic includes two multiplexers (Multiplexer) and an adder, and the adder is connected with the memory address register for outputting the memory address to the central processing unit. Alternative inputs to a multiplexer are from the shift register (Displacement Register) and the extension register. Switching between the two registers is controlled by a sign bit, which is generated by a comparator, and the input value of the comparator is stored in the accumulator and the base address register. The comparator produces a sign detect output signal which reflects the value of the sign flag stored in the flags register. This symbol flag determines whether to select the shift register or the extension register as the input of the adder.

图1示出典型的现有技术的处理器(例如数字信号处理器)的地址产生单元(AGU)102。术语“处理器”在本文中指的是任何数据处理器件,例如数字信号处理器,但不限于此。AGU102通常包含用于存储器数据访问的寄存器组。典型的寄存器组,每个包含三个寄存器:Figure 1 shows an address generation unit (AGU) 102 of a typical prior art processor, such as a digital signal processor. The term "processor" refers herein to any data processing device, such as, but not limited to, a digital signal processor. AGU 102 typically contains register banks for memory data access. Typical register banks, each containing three registers:

1、一个地址寄存器(指针)104,用Rn来代表;1. An address register (pointer) 104, represented by Rn;

2、一个偏移寄存器106,用Nn来代表;和2. An offset register 106, represented by Nn; and

3、一个缓冲长度寄存器108,用Mn来代表。3. A buffer length register 108, represented by Mn.

其中n=1...k是组的下标,而K是在处理器地址产生单元中存在的组数。where n=1...k is the subscript of the group, and K is the number of groups existing in the processor address generation unit.

术语“阵列(Array)”在本文中代表在处理器的存储器中其位置的任何的多元性,以致于访问它的每个位置是要一个相对于固定基地址的变址,其中变址是一个常规的整数倍。术语“向量(Vector)”在本文中代表存储在这样一个阵列中的数据值的任何多元性,而术语“分量(Component)”在本文中代表这样一个向量的任何数据值,术语“复数(Complex number)”在本文中代表任何成对的数据值。此数据值在本文中表示成“第一部分(First part)”和“第二部分(Second part)”;包括在通常数学意义上的由“实数部分”和“虚数部分”所组成的一对数,但不限于此。术语“复数向量(Complex vector)”在本文中代表相同数量的分量的任何成对的向量。术语“第一阵列(First array)”在本文中代表在处理器中的任何存储阵列,它包含一个复数向量的一个向量对中的第一部分(或者向量)。而术语“第二阵列(Second array)”在本文中代表在处理器中的任何存储阵列,它包含一个复数向量的一个向量对中的第二部分(或者向量)。一个复数向量可以是由在通常数学意义上的复数的向量组成;其复数向量的实数存在第一阵列里,而复数向量的虚数存在第二阵列里。可以有另一种选择,一个复数向量可以由通常数学意义上的复数的向量组成;其复数向量的实数存在第二阵列里,而复数向量的虚数存在第一阵列里。更进一步的变化是,根据本发明一个复数向量可以由任意多个数据值的二个向量来组成,它们不需要代表在通常数学意义下的复数。此外,关于处理器存储器中的术语“存取(Access)”和“访问(Accessing)”在本文中代表存储器中以及把存在存储器中的数值取出。The term "Array" is used herein to denote any plurality of locations in the processor's memory such that each location is accessed with an index relative to a fixed base address, where an index is a Regular integer multiples. The term "Vector" is used herein to represent any multiplicity of data values stored in such an array, and the term "Component" is used herein to represent any data value of such a vector, and the term "Complex number)" in this context represents any pair of data values. This data value is denoted herein as "First part" and "Second part"; includes a pair of numbers consisting of a "real part" and an "imaginary part" in the usual mathematical sense , but not limited to this. The term "complex vector" refers herein to any pair of vectors of the same number of components. The term "First array" refers herein to any memory array in the processor that contains the first part (or vectors) of a pair of vectors of a complex number. And the term "second array (Second array)" refers herein to any memory array in the processor that contains the second part (or vector) of a vector pair of a complex vector. A complex vector can be composed of vectors of complex numbers in the usual mathematical sense; the real numbers of the complex vector are stored in the first array, and the imaginary numbers of the complex vector are stored in the second array. Alternatively, a complex vector can consist of vectors of complex numbers in the usual mathematical sense; the real numbers of the complex vector are stored in the second array, and the imaginary numbers of the complex vector are stored in the first array. As a further variation, a complex vector according to the invention may be composed of two vectors of any number of data values, which need not represent complex numbers in the usual mathematical sense. In addition, the terms "Access" and "Accessing" with respect to processor memory are used herein to represent in memory and fetching values stored in memory.

当工作在复数向量时,第一阵列和第二阵列通常是放在存储器中的不同地址,或者在不同的存储空间,这个依处理器的存储器体系结构而定。为了用间接寻址方式访问一个复数向量,需要二个不同的地址寄存器;一个地址寄存器用于第一阵列,而另一个用于第二阵列。这种方法的一个限制是地址寄存器在数字信号处理器中是很昂贵的资源。当第一阵列和第二阵列处在同一个存储器时,可以用单个的地址寄存器和一个偏移寄存器来进行存取。这个方法可以使用,如果地址寄存器本身指向第一阵列,而偏移寄存器包含第一阵列和第二阵列间的偏移。在此情况下,可以用地址寄存器(Rn)的间接寻址来访问第一阵列,而用地址寄存器和它的偏移寄存器(也就是Rn+Nn)的变址间接寻址方式来访问第二阵列。然而,在位反(bit-reversal)和按步后修改(post-modification-by-step)寻址方式中偏移寄存器已经使用,不可能用于变址间接寻址方式中。因此,当使用变址间接寻址方式时,为了存取复数向量需要二个地址寄存器。这种情形出现在快速富利叶变换(FFT)的算法中,在那里使用了位反的寻址方式;出现在复杂信号的简化中,在那里使用了按步后修改寻址方式,等等。(一个这个领域的综述和已存在的数字信号处理器体系结构的描述可在“数字信号处理器购买者指南”中找到,该书由伯克利设计技术公司(Berkeley Design TechnologyInc.)1995出版。When working with complex vectors, the first and second arrays are usually placed at different addresses in memory, or in different memory spaces, depending on the processor's memory architecture. To access a complex vector with indirect addressing, two different address registers are required; one address register for the first array and one for the second array. A limitation of this approach is that address registers are expensive resources in digital signal processors. When the first array and the second array are in the same memory, a single address register and an offset register can be used for access. This method can be used if the address register itself points to the first array, and the offset register contains the offset between the first array and the second array. In this case, the first array can be accessed using indirect addressing of the address register (Rn), and the second array can be accessed using indexed indirect addressing of the address register and its offset register (that is, Rn+Nn). array. However, offset registers are already used in bit-reversal and post-modification-by-step addressing modes and cannot be used in indexed indirect addressing modes. Therefore, when indexed indirect addressing is used, two address registers are required for accessing complex vectors. This situation arises in the Fast Fourier Transform (FFT) algorithm, where bit-inverted addressing is used; in the simplification of complex signals, where stepwise post-modification addressing is used, etc. . (A survey of the field and descriptions of existing DSP architectures can be found in "A Buyer's Guide to Digital Signal Processors," published by Berkeley Design Technology Inc. in 1995.

大多数现有的数字信号修理器没有解决这个存储器访问的问题;因此,为访问一个复数向量,当偏移寄存器已在使用时,需要二个不同的地址寄存器。一个已存在的解决办法示于图2中,它用于摩托罗拉的DSP56×××系列处理器中。这个方法使用二个数据存储器:一个X一存储器202和一个Y一存储器204,它们有相同的地址空间206。它也要求一个专用的汇编语言语法(未示于图2中)和一个地址产生单元(如示于图1中)。这种体系结构的完整描述见于DSP56000 24位数字信号处理器家族手册中,由摩托罗拉公司(半导体产品部,DSP分部,德克萨斯州,奥斯汀)出版;它包含着本文所要阐述的参考材料。在这个现有技术的解决方案中,地址产生单元的体系结构是这样的:地址寄存器208(R0)指向二个的相同地址,这二者是X-存储器202和Y-存储器。因此,定位在不同存储空间但是在相同位置的复数向量的第一阵列和第二阵列可以单独用地址寄存器208(R0)同时进行访问。如同示于图2,地址寄存器指向地址OX0002,但它与地址空间并没有具体的关系。指向特定的存储空间是由汇编语言操作码来做的。例如,如果第一阵列定位在X-存储器202,第二阵列定位在Y-存储器204;而第一阵列储存着复数向量的实数部分,第二阵列储存着复数向量的虚数部分;那么把地址OX0002的实数部分传送到寄存器A和把虚数部分传送到寄存器B,可以用下面的汇编码来进行:Most existing digital signal modifiers do not address this memory access problem; therefore, to access a complex vector, two different address registers are required when the offset register is already in use. An existing solution is shown in Figure 2, which is used in Motorola's DSP56××× series processors. This approach uses two data stores: an X-store 202 and a Y-store 204, which have the same address space 206. It also requires a dedicated assembly language syntax (not shown in Figure 2) and an address generation unit (as shown in Figure 1). A complete description of this architecture can be found in the DSP56000 24-Bit Digital Signal Processor Family Handbook, published by Motorola, Inc. (DSP Division, Semiconductor Products Division, Austin, Texas); it contains the reference material described herein . In this prior art solution, the architecture of the address generation unit is such that the address register 208 (R0) points to the same address for both, the X-memory 202 and the Y-memory. Thus, the first array and the second array of complex vectors located in different memory spaces but at the same location can be accessed simultaneously using address register 208 (R0) alone. As shown in Figure 2, the address register points to address OX0002, but it has no specific relationship with the address space. Pointing to specific memory spaces is done by assembly language opcodes. For example, if the first array is located at X-memory 202 and the second array is located at Y-memory 204; and the first array stores the real part of the complex vector and the second array stores the imaginary part of the complex vector; then set address OX0002 Transferring the real part of the value to register A and the imaginary part to register B can be done with the following assembly code:

    move X(R0),A;move X(R0), A;

    move Y(R0),B;move Y(R0), B;

这个解决方案有二个问题:首先,向量的二个部分(分别指向第一阵列和第二阵列),必须定位在不同存储器的同一个位置。这可以导致存储器的应用效率不高(在存储器中有空隙),同时使它难于完成当需要时存储器的再定位。例如,如果需要对在X-存储器202的第一阵列再定位,那么也需要对在Y-存储器的第二阵列进行再定位,以保持二者在同一地址。This solution has two problems: First, the two parts of the vector (pointing to the first array and the second array respectively), must be located at the same location in different memories. This can lead to inefficient use of memory (gaps in the memory), while making it difficult to accomplish memory relocation when needed. For example, if the first array in X-memory 202 needs to be relocated, then the second array in Y-memory also needs to be relocated to keep both at the same address.

被广泛地认识到并大有好处的是有一种访问在处理器存储器中复数向量的有效方法,它只要求单个地址寄存器,不要求使用偏移寄存器和不要求多个存储器分享同一个地址空间。本发明满足这个目的。It is widely recognized and would be of great benefit to have an efficient method of accessing complex vectors in processor memory which requires only a single address register, does not require the use of offset registers and does not require multiple memories to share the same address space. The present invention meets this aim.

发明内容Contents of the invention

本发明提供一种处理器,包括有:一个地址产生单元,它用于计算访问存储在所述的处理器的存储器中的复数向量的实数部分和虚数部分的存储地址,所说的复数向量是具有相同的数据值数目的向量对,所说的处理具有变址间接寻址能力,并且使固定位移方式有效,该固定位移方式具有从使能状态和不使能状态的组中选择的状态,其中所说的地址产生单元包括有:一个地址寄存器;至少一个可编程的固定位移寄存器;一个控制寄存器,含有指明固定位移方式是在使能状态还是在不使能状态的固定位移配置标志位;一个缓冲长度寄存器;和一个偏移寄存器,它区别于所说的固定位移寄存器。用具有非变址间接寻址方式的指令,访问复数数据值的实数部分,用具有变址间接寻址方式的指令,访问复数数据值的虚数部分。The present invention provides a processor, including: an address generation unit, which is used to calculate and access the storage address of the real number part and the imaginary part of the complex number vector stored in the memory of the processor, and the said complex number vector is vector pairs having the same number of data values, said process having indexed indirect addressing capability, and enabling a fixed displacement mode having a state selected from the group of an enabled state and a disabled state, Wherein said address generating unit includes: an address register; at least one programmable fixed displacement register; a control register containing a fixed displacement configuration flag indicating whether the fixed displacement mode is enabled or disabled; a buffer length register; and an offset register, which is distinguished from said fixed shift register. The real part of the complex data value is accessed with instructions having the non-indexed indirect addressing mode, and the imaginary part of the complex data value is accessed with the instruction having the indexed indirect addressing mode.

本发明提供了一种在处理器中实行固定位移方式的方法,该处理器有:一个地址寄存器、至少一个可编程固定位移寄存器、一个含有指出固定位移方式的状态的固定位移配置标志位的控制寄存器、一个缓冲长度寄存器和一个区别于所说的固定位移寄存器的偏移寄存器。该处理器有能够使用变址间接寻址方式的指令,该方法包括有下列步骤:(a)寄存一个基地址进入地址寄存器和一个固定位移进入固定位移寄存器,(b)检查用于变址间接寻址方式的现行指令,(c)检查固定位移配置标志位,和(d)如果现行指令使用变址间接地址方式,且固定位移配置位被设置,产生一个等于所说的基地址和所说的固定位移之和的存储地址。The present invention provides a method for implementing a fixed displacement mode in a processor having: an address register, at least one programmable fixed displacement register, a control with a fixed displacement configuration flag bit indicating the state of the fixed displacement mode registers, a buffer length register and an offset register distinct from said fixed shift register. The processor has instructions capable of using indexed indirect addressing, which involves the steps of: (a) registering a base address into an address register and a fixed displacement into a fixed displacement register, (b) checking for indexed indirect addressing For the current instruction in addressing mode, (c) check the fixed-displacement configuration flag bit, and (d) if the current instruction uses indexed indirect addressing mode and the fixed-displacement configuration bit is set, generate a value equal to said base address and said The storage address of the sum of fixed displacements.

本发明提供了一种由处理器访问复数向量的复数数据值的方法,复数数据值具有带有基地址的实数部分和由基地址偏移一个固定位移值的虚数部分,其中由处理器执行的指令可以从变址间接寻址方式和非变址间接寻址方式所组成的组中选择寻址方式,该方法包括有下列步骤:a)寄存基地址进入地址寄存器;b)寄存固定位移量到至少一个固定位移寄存器;c)选择固定位移方式的使能状态,其中所说的选择固定位移方式的使能状态包括下列步骤:i)设置固定位移配置标志位;和ii)使用变址间接寻址方式;d)用具有非变址间接寻址方式的指令,访问复数数据值的实数部分;e)用具有变址间接寻址方式的指令,访问复数数据值的虚数部分。The present invention provides a method for accessing complex data values of complex vectors by a processor, the complex data values have a real part with a base address and an imaginary part offset by a fixed displacement value from the base address, wherein the process executed by the processor The instruction can select the addressing mode from the group consisting of indexed indirect addressing mode and non-indexed indirect addressing mode. The method includes the following steps: a) register the base address into the address register; b) register the fixed displacement amount into At least one fixed displacement register; c) selecting the enabling state of the fixed displacement mode, wherein said selection of the enabling state of the fixed displacement mode includes the following steps: i) setting the fixed displacement configuration flag bit; and ii) using indexed indirect addressing addressing mode; d) using instructions with non-indexed indirect addressing mode to access the real part of the complex data value; e) using instructions with indexed indirect addressing mode to access the imaginary part of the complex data value.

这样,本发明成功地解决了现在已知的配置和方法的缺点。首先,本发明用一个地址产生单元的寄存器组在任何种寻址方式下能够访问复数向量。其次,本发明没有对一个复数向量(例如其第一阵列和第二阵列)的实数部分和虚数部分的存储分配提出任何限制,也没对存储空间和地址提出任何限制。Thus, the present invention successfully solves the disadvantages of the presently known arrangements and methods. First, the present invention can access complex vectors in any addressing mode by using a register set of an address generating unit. Secondly, the present invention does not propose any restriction on the storage allocation of the real part and the imaginary part of a complex vector (for example, its first array and second array), nor does it propose any restriction on the storage space and address.

附图说明Description of drawings

在本文中,本发明用举例方式参考附图来加以说明,它们是:Herein, the invention is described by way of example with reference to the accompanying drawings, which are:

图1示出一个现有技术的数字信号处理器的地址产生单元。FIG. 1 shows an address generation unit of a prior art digital signal processor.

图2示出现有技术的数字信号处理的存储配置。FIG. 2 shows a prior art storage configuration for digital signal processing.

图3示出根据本发明的数字信号处理器中地址产生单元的新的特性。Fig. 3 shows the novel characteristics of the address generating unit in the digital signal processor according to the present invention.

图4是一个固定移位地址产生算法的流程图。Figure 4 is a flow chart of a fixed shift address generation algorithm.

图5示出存储器状态的一个例子。Figure 5 shows an example of memory states.

图6说明二个数据存储空间的体系结构。Figure 6 illustrates the architecture of two data storage spaces.

具体实施方式Detailed ways

根据本发明的一个方法和装置的原理和操作,可以用附图和相应的说明来解释,本发明的装置地址产生单元的重要部分示于图3中,本发明的方法的步骤在图4的流程图中说明,它们是在数字信号处理器或其他根据本发明的处理器中执行的。这些步骤实现固定位移方式,根据本发明它是一种新的处理器方式。According to the principle and operation of a method and device of the present invention, can explain with accompanying drawing and corresponding description, the important part of device address generation unit of the present invention is shown in Fig. 3, and the step of method of the present invention is shown in Fig. 4 The flowcharts illustrate their implementation in a digital signal processor or other processor according to the invention. These steps implement the fixed displacement mode, which is a new processor mode according to the invention.

如在图3所说明的,首先需要提供一定的附加的硬件能力。特别是,这个处理器必需在地址产生单元302中有一个固定位移寄存器310,用Rf1来代表。固定位移寄存器应该是软件可编程的,如同在地址产生单元302中所有其他寄存器一样。也可能,但不是必需的,使用多于一个的固定位移寄存器,其中附加的多个固定位移寄存器312、314和316,分别用Rf2、Rf3......Rfnn来代表,在图中用虚线框表示。省略符......指出更多的附加固定位移寄存器可以加入。寄存器组322包括Rn、Nn、Mn和Rf1。本发明要求处理器有变址间接寻址方式的能力,它可以由这个领域中任何已知的方法来实现。应注意固定位移寄存器310和偏移寄存器306是不同的。固定位移寄存器310和偏移寄存器306完成不同的功能,并且它们是互相独立地被使用。As illustrated in Figure 3, it is first necessary to provide certain additional hardware capabilities. In particular, the processor must have a fixed shift register 310 in the address generation unit 302, denoted by Rf1. The fixed shift register should be software programmable like all other registers in address generation unit 302 . It is also possible, but not necessary, to use more than one fixed shift register, wherein additional fixed shift registers 312, 314 and 316 are represented by Rf2, Rf3...Rfn n , respectively, in the figure Indicated by a dotted box. The ellipsis ... indicates that more additional fixed shift registers may be added. The register group 322 includes Rn, Nn, Mn, and Rf1. The present invention requires that the processor be capable of indexed indirect addressing mode, which can be implemented by any method known in the art. It should be noted that fixed shift register 310 and offset register 306 are distinct. Fixed shift register 310 and offset register 306 perform different functions, and they are used independently of each other.

另外,这个处理器需要有一个新的方式,在本文中称为“固定位移方式”。这个固定位移方式有二个状态:一个是使能状态,一个是非使能状态;它们能够由加入到控制寄存器318的固定位移配置位320来控制。固定位移配置位在这个方法中起着控制标志的作用。固定位移方式在本发明的方法中的运行详述于下面。控制寄存器318可以是在已经存在的处理器的设计中经过修改的一个已经存在的控制寄存器,也可以是一个新的控制寄存器。而且,所提供的处理器需要有实现固定移位方式执行过程步骤(见下面)的硬件。实现这些硬件设施以执行下述的步骤,可以使用本领域里多种众所周知的技术。In addition, this processor needs to have a new mode, which is called "fixed displacement mode" in this paper. This fixed displacement mode has two states: one is an enabled state and the other is a non-enabled state; they can be controlled by the fixed displacement configuration bit 320 added to the control register 318 . The fixed displacement configuration bits act as control flags in this method. The operation of the fixed displacement approach in the method of the present invention is described in detail below. Control register 318 may be an existing control register modified in an existing processor design, or it may be a new control register. Furthermore, the provided processor needs to have hardware to implement the process steps (see below) in a fixed shift mode. To implement the hardware facilities to perform the steps described below, various techniques well known in the art can be used.

根据本发明的由处理器执行的实现固定位移方式产生存储地址的方法的步骤如下,并示于图4中。According to the present invention, the steps of the method for realizing the fixed displacement method for generating the storage address executed by the processor are as follows, and are shown in FIG. 4 .

1、在寄存步骤402中的寄存器组322,寄存入地址产生单元302(图3)。这个步骤寄存基地址进入地址寄存器304,地址偏移进入偏移寄存器306,缓冲器长度进入缓冲长度寄存器308,和固定位移量进入固定位移寄存器310。1. Register the register set 322 in the registering step 402 into the address generating unit 302 (FIG. 3). This step registers the base address into the address register 304 , the address offset into the offset register 306 , the buffer length into the buffer length register 308 , and the fixed displacement into the fixed displacement register 310 .

2、在判定点404检查现行指令是否使用变址间接寻址方式。2. Check at decision point 404 whether the current instruction uses indexed indirect addressing.

3、如果未使用变址间接寻址方式,就用通常的方法在地址产生步骤408产生地址,此方法在本领域里是众所周知的。3. If the indexed indirect addressing mode is not used, the address is generated in the address generation step 408 by the usual method, which is well known in the art.

4、如果变址间接寻址方式被使用,在判定点406检查固定位移配置位302(图3)是否被设定。4. If the indexed indirect addressing mode is used, at decision point 406 it is checked whether the fixed displacement configuration bit 302 (FIG. 3) is set.

5、如果固定位移配置位320没有设置,固定位移方式处于非使能状态,地址产生单元302按通常的方法运行在存储地址产生步骤410。这时,本文描述的新的特性来动作,访问地址由Rn+Nn形成,它并不改变Rn寄存器304(图3)的值。当固定位移配置位302被清除的时候,偏移寄存器Nn 306(图3)是所有的后修改和间接变址寻址方式的源。5. If the fixed displacement configuration bit 320 is not set, the fixed displacement mode is in a disabled state, and the address generation unit 302 operates in the storage address generation step 410 according to the usual method. At this time, the new feature described herein operates, the access address is formed by Rn+Nn, which does not change the value of the Rn register 304 (FIG. 3). When the fixed displacement configuration bit 302 is cleared, the offset register Nn 306 (FIG. 3) is the source for all post-modified and indirect indexed addressing modes.

6、如果固定位移配置位是设定的,这样,固定位移方式处于使能状态;所有的变址间接寻址方式的存储地址产生的偏移源是固定位移寄存器310(Rfn),而不是偏移寄存器306(Nn);此过程在地址产生步骤412中进行。被产生的地址是固定位移寄存器310的内容和地址寄存器的内容之和。访问地址Rn+Rfn并没有改变Rn寄存器304(图3)的值。6. If the fixed displacement configuration bit is set, then the fixed displacement mode is enabled; the offset source generated by the storage address of all indexed indirect addressing modes is the fixed displacement register 310 (Rfn), not the offset Shift register 306(Nn); this process takes place in address generation step 412. The address generated is the sum of the contents of the fixed shift register 310 and the address register. Accessing address Rn+Rfn does not change the value of Rn register 304 (FIG. 3).

根据本发明,存储地址产生方法在返回步骤414结束。According to the present invention, the storage address generating method returns to step 414 and ends.

固定移位配置位作为一个控制标志,当它设定时,使固定移位方式处于使能状态;当它清除时,使固定移位方式处于非使能状态。无论如何,固定移位方式仅在现行指令使用变址间接地址方式中是有效的。如果现行指令使用的寻址方式不是变址间接寻址方式,固定移位方式甚至它是在使能状态下也不是有效的。如在本领域众所周知,存在着不同于变址间接寻址方式的其他寻址方式,包括但不限于直接寻址和后修改寻址方式。在一个指令中有可能包含任何这些寻址方式。术语“非变址间接寻址(Non-indexing indirect addressing)”在本文中是指不包括变址间接寻址方式的其他任何一种寻址方式。The fixed shift configuration bit is used as a control flag. When it is set, the fixed shift mode is enabled; when it is cleared, the fixed shift mode is disabled. In any case, the fixed shift mode is only valid when the current instruction uses the indexed indirect address mode. If the addressing mode used by the current instruction is not indexed indirect addressing mode, the fixed shift mode is not valid even if it is enabled. As is well known in the art, other addressing modes exist than indexed indirect addressing modes, including but not limited to direct addressing and post-modification addressing modes. It is possible to include any of these addressing modes in a single instruction. The term "Non-indexing indirect addressing" as used herein refers to any other addressing mode that does not include indexed indirect addressing.

应该注意,汇编语言能够,但是不是必须在存储地址产生命令中支持固定位移寄存器310(Rf1)。术语“汇编语言”在本文中指二者:汇编语法支持和产生机器指令的配置。如果汇编语言支持固定位移寄存器,那么汇编语法激活固定位移是做一个单个指令限定而不是作为具有使能状态和非使能状态的处理器方式。在汇编语言不支持固定移位寄存器的情况下,规定命令仅具有偏移寄存器306(Nn)已经足够。因为这规定了寻址方式。硬件根据固定位移配置位320的状态自动地使用偏移寄存器306或者固定位移寄存器310用于存储地址的产生。也要注意,指定不同的存储阵列为“第一阵列”或“第二阵列”是任意的,且它们的内容也完全是任意的。It should be noted that assembly language can, but does not have to, support fixed shift register 310 (Rf1) in memory address generation commands. The term "assembly language" is used herein to refer to both: the assembly syntax support and the configuration that produces the machine instructions. If the assembly language supports fixed shift registers, then assembly syntax to enable fixed shifts is defined as a single instruction rather than as a processor with enabled and disabled states. In the case where the assembly language does not support fixed shift registers, it is sufficient to specify that the command has only the offset register 306(Nn). Because this specifies the addressing mode. The hardware automatically uses either the offset register 306 or the fixed shift register 310 for storage address generation depending on the state of the fixed shift configuration bits 320 . Also note that designating different storage arrays as "first array" or "second array" is arbitrary, and their contents are also completely arbitrary.

显而易见,根据本发明的方法允许处理器有效地访问复数向量的二部分。例如,假设地址产生单元和存储器的状态如下:It is obvious that the method according to the invention allows the processor to efficiently access both parts of the complex vector. For example, suppose the states of the address generation unit and memory are as follows:

R1=1000(图3中地址寄存器304)R1=1000 (address register 304 among Fig. 3)

N1=2(图3中偏移寄存器306)N1=2 (offset register 306 among Fig. 3)

M1=被编程成线性寻址方式(图3中缓冲长度寄存器308-实际的编程是由制造厂决定的)M1=is programmed into a linear addressing mode (buffer length register 308-actual programming is determined by the manufacturer in Figure 3)

Rf1=50(图3中固定位移寄存器310)Rf1=50 (fixed displacement register 310 among Fig. 3)

执行下面的汇编码(伪码):Execute the following assembly code (pseudocode):

Mov(R1)+N1,A;Mov(R1)+N1,A;

MOV(R1+N1),B;MOV(R1+N1), B;

其中A和B是处理器的通用寄存器(不是地址产生单元302的寄存器),注意,(R1)+N1是后修改寻址方式,意思是存储访问是到位置R1,而R1在存储访问之后,被增量N1。也注意,(R1+N1)是变址间接寻址方式,意思是存储器的访问是到位置R1+N1,在存储访问期间或以后保留R1不变。Wherein A and B are the general-purpose registers of the processor (not the registers of the address generation unit 302), note that (R1)+N1 is a post-modification addressing mode, which means that the storage access is to the location R1, and R1 is after the storage access, is incremented by N1. Note also that (R1+N1) is an indexed indirect addressing mode, meaning that the memory access is to location R1+N1, leaving R1 unchanged during or after the memory access.

图5说明固定移位配置位320的两个不同值时的情形,对于存储区域502有地址504。在图5和下面的例子,所有数据值和地址位置用十进制表示,在两种情形下,下面所述保持:FIG. 5 illustrates the situation when two different values of shift configuration bit 320 are fixed, with address 504 for memory area 502 . In Figure 5 and the examples below, all data values and address locations are represented in decimal, and in both cases the following holds:

·存储区域从地址1000向前到1049,被指定为第一阵列518,而存储区域从地址1050向前,被指定为第二阵列520。• The storage area from address 1000 onwards to 1049 is designated as the first array 518 , while the storage area from address 1050 onwards is designated as the second array 520 .

·在执行之前,地址寄存器有个初始值506,等于1000。意即R1的初始值指向等于1000的存储器位置512,而1000的内容是-348。·Before execution, the address register has an initial value of 506, which is equal to 1000. This means that the initial value of R1 points to memory location 512 which is equal to 1000, and the content of 1000 is -348.

·在第一个指令完成后,寄存器A中有值-348,而地址寄存R1指向地址1002,意即R1指向存储器中位置514,位置514有一个地址为1002,包含有数据值4391。After the first instruction is completed, register A has the value -348, and address register R1 points to address 1002, meaning that R1 points to location 514 in memory, which has an address of 1002 and contains data value 4391.

·在完成执行后,地址寄存器R1的最后值是510,它等于1002。这是因为第二个指令只包含变址寻址方式,而变址寻址方式是不会改变一个地址寄存器的值的。· After finishing execution, the last value of address register R1 is 510, which is equal to 1002. This is because the second instruction only includes the indexed addressing mode, and the indexed addressing mode does not change the value of an address register.

在执行第二条指令以后,寄存器B的内容依赖于固定位移方式。下面对固定移位方式的设定和清除两种情形进行描述。After executing the second instruction, the content of register B depends on the fixed displacement mode. The following describes the setting and clearing of the fixed shift mode.

固定移位配置位不设置:Fixed shift configuration bits not set:

在这种情形里,固定移位配置位是清除的(不设置)。因此,固定移位方式处于非使能状态。存储地址的产生是按照通常的方法,在第二个指令执行之后,寄存器B存有数值4391,它是从第一阵列518的存储位置514来的。In this case, the fixed shift configuration bit is cleared (not set). Therefore, the fixed shift mode is not enabled. The storage address is generated in the usual way, after the execution of the second instruction, register B contains the value 4391 from the storage location 514 of the first array 518 .

固定移位配置位设置:Fixed shift configuration bit settings:

在这种情形里,固定移位配置位是设置的。因此,固定位移方式是处于使能状态。因为第一个指令不使用变址间接寻址方式,所以对第一个指令存储地址的产生是按照通常的方式。而第二条指令使用变址间接寻址方式,又因为固定移位配置位是设置的(因此,固定位移方式处于使能状态中),存储地址产生的偏移由Rf1去查找,而访问内容为-819的存储地址516。因此,在此情形,在第二个指令执行之后,寄存器B的内容是-819,它是来自第二阵列520的存储位置516。In this case, the fixed shift configuration bit is set. Therefore, the fixed displacement mode is enabled. Since the first instruction does not use indexed indirect addressing, the memory address for the first instruction is generated in the usual way. The second instruction uses the indexed indirect addressing mode, and because the fixed shift configuration bit is set (therefore, the fixed shift mode is enabled), the offset generated by the storage address is searched by Rf1, and the access content Storage address 516 for -819. Thus, in this case, after execution of the second instruction, the content of register B is -819, which is storage location 516 from the second array 520 .

所以,这可能有效地访问复数向量的实数部分和虚数部分。例如,如果实数部分存在第二阵列520中,而虚数部分存在第一阵列518中;然后初始地设定固定位移配置位,在执行上述二条指令之后,寄存器A存有复数向量的诸部分中的一个的虚数部分,而寄存器B存有复数向量的诸部分中的一个实数部分。So, this may effectively access the real and imaginary parts of a vector of complex numbers. For example, if the real number part is stored in the second array 520, and the imaginary number part is stored in the first array 518; The imaginary part of one, and register B holds a real part of the parts of the complex vector.

在上述例子中,根据本发明所表示的方法是在一种简单的存储器体系结构中,即单个存储空间的结构。今天,先进的DSP算法要求有比较完善的存储器体系结构,因此现代数字信号处理器有双存储空间结构。图6给出一个例子,它是根据本发明的方法用于复数向量,其第一阵列和第二阵列存在不同的存储空间。地址606对应于数据值内容608。在图6和以下的例子中,所有地址位置用十六进制表示。In the above examples, the method according to the invention is represented in a simple memory architecture, ie a single memory space structure. Today, advanced DSP algorithms require a relatively complete memory architecture, so modern digital signal processors have a dual-memory space structure. FIG. 6 shows an example, which is used for complex vectors according to the method of the present invention, and the first array and the second array have different storage spaces. Address 606 corresponds to data value content 608 . In Figure 6 and the following examples, all address locations are represented in hexadecimal.

为了把本发明的方法用于双存储空间体系结构中,存储器的安排必须是顺序的,这里有一个存储空间602,用“X存储地址空间”表示,用于第一阵列610,其开始地址为OX0000;同时,有一个存储空间604,用“Y存储地址空间”表示,用于第二阵列612,其开始地址为OX8000。如所要求的,这些地址示于图6是顺序的。注意在这个例子中其地址的最高位(MSB)是标识正在使用哪个存储空间的。In order to use the method of the present invention in a dual memory space architecture, the arrangement of the memory must be sequential. Here there is a memory space 602, represented by "X memory address space", for the first array 610, whose starting address is OX0000; at the same time, there is a storage space 604, denoted by "Y storage address space", used for the second array 612, and its start address is OX8000. As required, the addresses shown in Figure 6 are sequential. Note that in this example the MSB of the address identifies which memory space is being used.

在这个配置中,复数向量的实数部分的基地址可以放在X空间602中的,例如,地址OX0002中,而复数向量的虚数部分的基地址可以放在Y空间的,例如,OX8008地址中。为了工作在固定位移方式下,需要把固定位移位寄存器Rf设置成OX8006(OX8008-OX0002),而且设置控制寄存器318(图3)中的固定位移配置位320。In this configuration, the base address of the real part of the complex vector can be placed in X space 602, for example, address OX0002, and the base address of the imaginary part of the complex vector can be placed in Y space, for example, address OX8008. In order to work in the fixed displacement mode, the fixed displacement register Rf needs to be set to OX8006 (OX8008-OX0002), and the fixed displacement configuration bit 320 in the control register 318 (FIG. 3) should be set.

虽然,本发明已经描述的是有限的实施例,对本发明的许多变化、修改和其他应用将被认识到。Although limited embodiments of the invention have been described, many variations, modifications and other applications of the invention will be recognized.

Claims (3)

1、一种处理器,包括有:1. A processor, comprising: 一个地址产生单元(302),它用于计算访问存储在所述的处理器的存储器中的复数向量的实数部分和虚数部分的存储地址;其特征在于:所说的复数向量是具有相同的数据值数目的向量对;An address generating unit (302), which is used to calculate and access the storage address of the real number part and the imaginary part of the complex number vector stored in the memory of the processor; it is characterized in that: said complex number vector has the same data a vector of pairs of values; 所说的处理具有变址间接寻址能力,并且使固定位移方式有效,该固定位移方式具有从使能状态和不使能状态的组中选择的状态;said processing has indexed indirect addressing capability and enables a fixed displacement mode having a state selected from the group of an enabled state and a disabled state; 其中所说的地址产生单元(302)包括有:Wherein said address generating unit (302) includes: 一个地址寄存器(304),an address register (304), 至少一个可编程的固定位移寄存器(310、312、314、316),at least one programmable fixed shift register (310, 312, 314, 316), 一个控制寄存器(318),含有指明固定位移方式是在使能状态还是在不使能状态的固定位移配置标志位(320),A control register (318), which contains a fixed displacement configuration flag (320) indicating whether the fixed displacement mode is enabled or disabled, 一个缓冲长度寄存器;和a buffer length register; and 一个偏移寄存器(306),它区别于所说的固定位移寄存器(310、312、314、316);an offset register (306), which is distinct from said fixed shift registers (310, 312, 314, 316); 用具有非变址间接寻址方式的指令,访问复数数据值的实数部分;accessing the real part of a complex data value with an instruction having non-indexed indirect addressing mode; 用具有变址间接寻址方式的指令,访问复数数据值的虚数部分。Access the imaginary part of a complex data value using an instruction with indexed indirect addressing mode. 2、在处理器中实行固定位移方式的方法,该处理器有一个地址寄存器(304),至少一个可编程固定位移寄存器(310、312、314、316)、一个含有指出固定位移方式的状态的固定位移配置标志位(320)的控制寄存器(318)、一个缓冲长度寄存器(318)和一个区别于所说的固定位移寄存器(310、312、314、316)的偏移寄存器;其特征在于:处理器有能够使用变址间接寻址方式的指令,该方法包括有下列步骤:2. A method for implementing a fixed-displacement mode in a processor, the processor having an address register (304), at least one programmable fixed-displacement register (310, 312, 314, 316), a state register indicating the fixed-displacement mode The control register (318) of fixed displacement configuration flag bit (320), a buffer length register (318) and an offset register different from said fixed displacement register (310,312,314,316); It is characterized in that: The processor has instructions capable of using indexed indirect addressing, which involves the following steps: (a)寄存(S402)一个基地址进入地址寄存器(304)和一个固定位移进入固定位移寄存器(310、312、314、316),(a) deposit (S402) a base address into the address register (304) and a fixed displacement into the fixed displacement register (310, 312, 314, 316), (b)检查(S404)用于变址间接寻址方式的现行指令,(b) checking (S404) the current instruction for the indexed indirect addressing mode, (c)检查(S406)固定位移配置标志位(320),和(c) check (S406) fixed displacement configuration flag (320), and (d)如果现行指令使用变址间接地址方式,且固定位移配置位(320)被设置,产生(S412)一个等于所说的基地址和所说的固定位移之和的存储地址。(d) If the current instruction uses the indexed indirect address mode, and the fixed displacement configuration bit (320) is set, generate (S412) a storage address equal to the sum of said base address and said fixed displacement. 3、由权利要求1所述的处理器访问复数向量的复数数据值的方法,其特征在于:复数数据值具有带有基地址的实数部分和由基地址偏移一个固定位移值的虚数部分;3. The method for accessing the complex data value of the complex vector by the processor according to claim 1, characterized in that: the complex data value has a real part with a base address and an imaginary part offset by a fixed displacement value from the base address; 其中由处理器执行的指令可以从变址间接寻址方式和非变址间接寻址方式所组成的组中选择寻址方式;wherein the instructions executed by the processor can select the addressing mode from the group consisting of indexed indirect addressing mode and non-indexed indirect addressing mode; 该方法包括有下列步骤:The method includes the following steps: a)寄存基地址进入地址寄存器(304);a) register the base address into the address register (304); b)寄存固定位移量到至少一个固定位移寄存器(310、312、314、316);b) registering the fixed displacement amount to at least one fixed displacement register (310, 312, 314, 316); c)选择固定位移方式的使能状态,其中所说的选择固定位移方式的使能状态包括下列步骤:c) Select the enabling state of the fixed displacement mode, wherein said selection of the enabling state of the fixed displacement mode includes the following steps: i)设置固定位移配置标志位(320);和i) set the fixed displacement configuration flag (320); and ii)使用变址间接寻址方式;ii) Use indexed indirect addressing; d)用具有非变址间接寻址方式的指令,访问复数数据值的实数部分;d) accessing the real part of a complex data value with an instruction having non-indexed indirect addressing mode; e)用具有变址间接寻址方式的指令,访问复数数据值的虚数部分。e) Accessing the imaginary part of a complex data value with an instruction having an indexed indirect addressing mode.
CN99810889A 1998-09-14 1999-09-13 Method and appts. for access complex vector located in DSP memory Expired - Fee Related CN1126029C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15210498A 1998-09-14 1998-09-14
US09/152,104 1998-09-14

Publications (2)

Publication Number Publication Date
CN1318167A CN1318167A (en) 2001-10-17
CN1126029C true CN1126029C (en) 2003-10-29

Family

ID=22541518

Family Applications (1)

Application Number Title Priority Date Filing Date
CN99810889A Expired - Fee Related CN1126029C (en) 1998-09-14 1999-09-13 Method and appts. for access complex vector located in DSP memory

Country Status (5)

Country Link
EP (1) EP1114367A1 (en)
JP (1) JP2002525708A (en)
KR (1) KR20010075083A (en)
CN (1) CN1126029C (en)
WO (1) WO2000016194A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100800552B1 (en) * 2005-06-13 2008-02-04 재단법인서울대학교산학협력재단 Vector memory, processor having same and data processing method thereof
US20070011442A1 (en) * 2005-07-06 2007-01-11 Via Technologies, Inc. Systems and methods of providing indexed load and store operations in a dual-mode computer processing environment
US20070198815A1 (en) * 2005-08-11 2007-08-23 Coresonic Ab Programmable digital signal processor having a clustered SIMD microarchitecture including a complex short multiplier and an independent vector load unit
CN102629191B (en) * 2011-04-25 2014-07-30 中国电子科技集团公司第三十八研究所 Digital signal processor addressing method
GB2628590A (en) * 2023-03-29 2024-10-02 Advanced Risc Mach Ltd Technique for efficient multiplication of vectors of complex numbers

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4809156A (en) * 1984-03-19 1989-02-28 Trw Inc. Address generator circuit
US5357618A (en) * 1991-04-15 1994-10-18 International Business Machines Corporation Cache prefetch and bypass using stride registers
US5940876A (en) * 1997-04-02 1999-08-17 Advanced Micro Devices, Inc. Stride instruction for fetching data separated by a stride amount

Also Published As

Publication number Publication date
KR20010075083A (en) 2001-08-09
EP1114367A1 (en) 2001-07-11
CN1318167A (en) 2001-10-17
WO2000016194A1 (en) 2000-03-23
JP2002525708A (en) 2002-08-13

Similar Documents

Publication Publication Date Title
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
US7213081B2 (en) Dynamic determination of memory mapped input output range granularity for multi-node computer system
US8868835B2 (en) Cache control apparatus, and cache control method
CN102822808B (en) For the channel controller of multichannel buffer memory
JPH05113930A (en) Flexible n-way-memory interleaving method
US5806082A (en) Wrap-around mechanism for memory split-wordline read
CN1230739C (en) Apparatus and method for performing stack operation and apparatus for generating address
CN1168008C (en) Cache Pollution Exemption Directive
CN1126029C (en) Method and appts. for access complex vector located in DSP memory
CN1806225A (en) Instruction encoding within a data processing apparatus having multiple instruction sets
CN1021147C (en) Multiprocessor controller with shared control memory
US9262162B2 (en) Register file and computing device using the same
CN100350378C (en) Method and apparatus for parallel access to multiple memory modules
US8046507B2 (en) Computer, external storage and method for processing data information in external storage
US20020108029A1 (en) Program counter (PC) relative addressing mode with fast displacement
US6317817B1 (en) Image operation processing apparatus storing discrete data efficiently in a memory and operating method thereof
US11900161B2 (en) Memory allocation for processing-in-memory operations
US20190286445A1 (en) Fast unaligned memory access
CN1184536A (en) Apparatus and method related to digital signal processing and processing equipment including such an apparatus
WO2010095004A1 (en) Priority search trees
CN1499377A (en) Method and system for access of high speed buffer memory line
US6895488B2 (en) DSP memory bank rotation
CN1132102C (en) Instruction memory circuit
JPH08278894A (en) Information processing method and information processing apparatus by hash method
CN1860436A (en) Method and system for processing a loop of instructions

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee