Patent USH740H successfully refreshed from Google Patents.
Patent US5032986A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5032986A Expired / Lapsed US ⏱️ 0.0 years remaining

Data processing device with parallel circular addressing hardware

Assignee: Texas Instruments Inc
•
Filing: 1989-09-22
•
Granted: 1991-07-16
•
Expires: 2009-09-22
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A microcomputer is disclosed which has an architecture designed for the efficient performance of digital signal processing applications. The microcomputer contains a primary arithmetic logic unit for performing data operations, and a pair of auxiliary arithmetic logic units for calculating indirect memory address values. A memory bus within the microcomputer has data lines therein, and two sets of address lines; each of the auxiliary arithmetic logic units is connected to one of the sets of address lines. The auxiliary arithmetic logic units are capable of performing circular addressing calculations, by calculating the next memory address from the prior memory address and an index value, and by comparing the next memory address to the limits of the memory block within the circular addressing scheme. If the calculated memory address is outside of the block limits, an adder/subtractor in the auxiliary arithmetic logic units either adds or substracts the block size to or from the calculated memory address, so that the result is an address at the other end of the block. The result of the calculation, whether or not modified, is stored in a memory address register. The pair of auxiliary arithmetic logic units are operable in parallel with each other, and in parallel with the primary arithmetic logic unit. The two memory addresses are presented to the on-chip memory in time-multiplexed fashion, so that two memory accesses may be performed in a single machine cycle.

Inventors

  • 👤 Bimal Pathak
  • 👤 Steven P. Marshall
  • 👤 James F. Potts

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 08:49
CPC Classifications
G; G06; G06F; G06F15/00; G06F15/76; G06F15/78; G06F15/7807; G06F15/7814

Claims Analysis

Total Claims: 40
Claim 1
Independent Claim 149 words
A data processing apparatus, comprising: a first arithmetic logic unit, for performing operations upon digital data; a bus, for communicating data and address information, said first arithmetic logic unit connected to said bus; a block size register, connected to said bus, for storing a data word indicative of the size of a memory area; a memory address register, connected to said bus, for storing a data word indicative of a memory address; and an auxiliary arithmetic logic unit, connected to said block size register, to said memory address register, and to said bus, for calculating a new memory address from the contents of said memory address register and an index value, for comparing said new memory address and the contents of said block size register, and for modifying said new memory address responsive to said comparison between said new memory address and the contents of said block size register.
Claim 2
Dependent Claim 149 words
A data processing apparatus, comprising: a first arithmetic logic unit, for performing operations upon digital data; a bus, for communicating data and address information, said first arithmetic logic unit connected to said bus; a block size register, connected to said bus, for storing a data word indicative of the size of a memory area; a memory address register, connected to said bus, for storing a data word indicative of a memory address; and an auxiliary arithmetic logic unit, connected to said block size register, to said memory address register, and to said bus, for calculating a new memory address from the contents of said memory address register and an index value, for comparing said new memory address and the contents of said block size register, and for modifying said new memory address responsive to said comparison between said new memory address and the contents of said block size register.
Claim 3
Dependent Claim 175 words
The data processing apparatus of claim 1, wherein said auxiliary arithmetic logic unit comprises: an adder, having a first input connected to said memory address register, and having a second input for receiving said index value; a comparator, having a first input connected to the output of said adder, a second input connected to said block size register, and an output for control signals; and a subtractor, having a first input connected to the output of said adder, having a second input connected to said block size register, and having a control input connected to the output of said comparator so that the output of said subtractor presents the output of said adder responsive to the output of said adder being less than the value of the contents of said block size register, and so that the output of said subtractor presents the difference of the output of said adder and the contents of said block size register responsive to the output of said adder being greater than the contents of said block size register.
Claim 4
Dependent Claim 37 words
The data processing apparatus of claim 2, wherein the output of said subtractor is connected to said memory address register, so that the value of said output of said subtractor is stored in said memory address register.
Claim 5
Dependent Claim 18 words
The data processing apparatus of claim 3, wherein the output of said adder is connected to said bus.
Claim 6
Dependent Claim 34 words
The data processing apparatus of claim 1, wherein said auxiliary arithmetic logic unit is operative to present the contents of said memory address register to said bus prior to calculating said new memory address.
Claim 7
Dependent Claim 26 words
The data processing apparatus of claim 5, wherein said auxiliary arithmetic logic unit is operative to store said new memory address in said memory address register.
Claim 8
Dependent Claim 33 words
The data processing apparatus of claim 1, further comprising: an index register for storing a data word indicative of said index value, said index register being connected to said auxiliary arithmetic logic unit.
Claim 9
Dependent Claim 31 words
The data processing apparatus of claim 1, wherein said auxiliary arithmetic logic unit calculates said new memory address by adding said index value to the contents of said memory address register.
Claim 10
Dependent Claim 31 words
The data processing apparatus of claim 1, wherein said auxiliary arithmetic logic unit calculates said new memory address by subtracting said index value from the contents of said memory address register.
Claim 11
Dependent Claim 43 words
The data processing apparatus of claim 1, wherein said bus comprises: a data bus; and an address bus; wherein said first arithmetic logic unit is connected to said data bus; and wherein said auxiliary arithmetic logic unit is connected to said address bus.
Claim 12
Dependent Claim 102 words
A data processing device comprising: a memory having a plurality of addressable memory locations; a processor circuit connected to said memory; a block register operative to hold block data corresponding to a region in said memory; a memory address register operative to hold address data for accessing a location in said memory; and an address generator, connected to said block register, to said memory, to said processor and to said memory address register, operative to calculate a first memory address and to compare the first memory address with the block data from said block size register to determine a final memory address.
Claim 13
Dependent Claim 102 words
A data processing device comprising: a memory having a plurality of addressable memory locations; a processor circuit connected to said memory; a block register operative to hold block data corresponding to a region in said memory; a memory address register operative to hold address data for accessing a location in said memory; and an address generator, connected to said block register, to said memory, to said processor and to said memory address register, operative to calculate a first memory address and to compare the first memory address with the block data from said block size register to determine a final memory address.
Claim 14
Dependent Claim 44 words
The data processing device of claim 11 further comprising a step register operative to contain a portion of the address data from said memory address register and wherein said address generator generates the first memory address from step data contained in said step register.
Claim 15
Dependent Claim 31 words
The data processing device of claim 12 wherein a portion of the final memory address is combined with the step data by said address generator to generate a first memory address.
Claim 16
Dependent Claim 46 words
The data processing device of claim 13 wherein the portion corresponds to a range of binary storage elements determined from a binary storage element having a last binary value of one to a least significant binary storage element of the block data from the block register.
Claim 17
Dependent Claim 31 words
The data processing device of claim 14 wherein said address generator is operative to sum the portion of the final address and the step data to generate a first memory address.
Claim 18
Dependent Claim 31 words
The data processing device of claim 14 wherein said address generator is operative to subtract the portion of the final address from the step data to generate a first memory address.
Claim 19
Dependent Claim 37 words
The data processing device of claim 11 wherein said address generator includes a comparator connected to said block size register operative to compare the first memory address with the block data to generate final address control signals.
Claim 20
Dependent Claim 42 words
The data processing device of claim 17 wherein said address generator further includes a final computational unit connected to said comparator and to said block size register responsive to final address control signals from the comparator to generate the final memory address.
Claim 21
Dependent Claim 58 words
The data processing device of claim 18 wherein said final computational unit is operative to generate the final memory address equal to first memory address responsive to the final address control signals resulting from an outcome of a comparison between the first memory address and block data being not greater than block data and not less than zero.
Claim 22
Dependent Claim 59 words
The data processing device of claim 18 wherein said final computational unit is operative to generate the final memory address equal to a sum of the first memory address and the block data responsive to the final address control signals resulting from an outcome of a comparison between the first memory address and block data being less than zero.
Claim 23
Dependent Claim 61 words
The data processing device of claim 18 wherein said final computational unit is operative to generate the final memory address equal to a difference of the block data from the first memory address responsive to the final address control signals resulting from an outcome of a comparison between the first memory address and block data being greater than the block data.
Claim 24
Dependent Claim 20 words
The data processing device of claim 11 wherein said memory address register is operative to hold the final memory address.
Claim 25
Dependent Claim 59 words
The data processing device of claim 11 wherein said processor includes: an arithmetic logic unit connected to said memory operative to perform an arithmetic operation on data received by said arithmetic unit; and a bus, connected to said arithmetic logic unit, to said memory, to said registers and to said address generator, operative to transfer address and data signals.
Claim 26
Dependent Claim 156 words
A data processing system comprising: a host memory having a plurality of addressable memory locations for storage of data; a host computer connected to said host memory operative to perform operations on the data; and an auxiliary data processor connected to said host memory and said host computer operative to receive control signals from said host computer comprising: a internal memory having a plurality of addressable memory locations; a processor circuit connected to said internal memory; a block register operative to hold block data corresponding to a region in said memory; an address register operative to hold address data for accessing a location in said internal memory; and an address generator, connected to said block register, to said internal memory, to said processor and to said address register operative to generate a first memory address and to compare the first memory address with the block data from said block register to determine a final memory address.
Claim 27
Dependent Claim 156 words
A data processing system comprising: a host memory having a plurality of addressable memory locations for storage of data; a host computer connected to said host memory operative to perform operations on the data; and an auxiliary data processor connected to said host memory and said host computer operative to receive control signals from said host computer comprising: a internal memory having a plurality of addressable memory locations; a processor circuit connected to said internal memory; a block register operative to hold block data corresponding to a region in said memory; an address register operative to hold address data for accessing a location in said internal memory; and an address generator, connected to said block register, to said internal memory, to said processor and to said address register operative to generate a first memory address and to compare the first memory address with the block data from said block register to determine a final memory address.
Claim 28
Dependent Claim 44 words
The data processing system of claim 24 further comprising a step register operative to contain a portion of the address data from said memory address register and wherein said address generator generates the first memory address from step data contained in said step register.
Claim 29
Dependent Claim 31 words
The data processing system of claim 25 wherein a portion of the final memory address is combined with the step data by said address generator to generate a first memory address.
Claim 30
Dependent Claim 46 words
The data processing system of claim 26 wherein the portion corresponds to a range of binary storage elements determined from a binary storage element having a last binary value of one to a least significant binary storage element of the block data from the block register.
Claim 31
Dependent Claim 37 words
The data processing system of claim 24 wherein said address generator includes a comparator connected to said block size register operative to compare the first memory address with the block data to generate final address control signals.
Claim 32
Dependent Claim 42 words
The data processing system of claim 28 wherein said address generator further includes a final computational unit connected to said comparator and to said block size register responsive to final address control signals from the comparator to generate the final memory address.
Claim 33
Dependent Claim 20 words
The data processing system of claim 24 wherein said memory address register is operative to hold the final memory address.
Claim 34
Dependent Claim 61 words
The data processing system of claim 24 wherein said processor includes: an arithmetic logic unit connected to said internal memory operative to perform an arithmetic operation on data received by said arithmetic unit; and a bus, connected to said arithmetic logic unit, to said internal memory, to said registers and to said address generator, operative to transfer address and data signals.
Claim 35
Independent Claim 84 words
A method of operating a data processing device comprising the steps of: determining a position corresponding to a last occurrence of binary value ones contained in a block register having block data; generating a first memory address from a portion of address data from an address register wherein the portion corresponds to a range of bits starting from a least significant bit to the position; and comparing the first memory address with the block data for controlling the generation of a final memory address.
Claim 36
Independent Claim 84 words
A method of operating a data processing device comprising the steps of: determining a position corresponding to a last occurrence of binary value ones contained in a block register having block data; generating a first memory address from a portion of address data from an address register wherein the portion corresponds to a range of bits starting from a least significant bit to the position; and comparing the first memory address with the block data for controlling the generation of a final memory address.
Claim 37
Dependent Claim 40 words
The method of claim 32 further comprising storing the portion of the address register in a step register having step data and summing the step data and a portion of the final memory address to generate a first memory address.
Claim 38
Dependent Claim 40 words
The method of claim 32 further comprising storing the portion of the address register in a step register having step data and subtracting the step data and a portion of the final memory address to generate a first memory address.
Claim 39
Dependent Claim 22 words
The method of claim 32 further comprising combining the first memory address and the block data to generate the final memory address.
Claim 40
Dependent Claim 17 words
The method of claim 32 further comprising loading the final memory address with the first memory address.

References Cited (Backward Citations)

US3757306A Cited
US4074351A Cited
US4161784A Cited
US4217657A Cited
US4577282A Cited
US4800486A Cited
US4598266A Cited
US4713748A Cited
US4722067A Cited
US4742479A Cited
US4912636A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1994-07-15 1995-01-14 1995-07-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1998-07-15 1999-01-14 1999-07-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2002-07-15 2003-01-14 2003-07-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag