Address generator with controllable modulo power of two addressing capability
First Claim
1. An address generator comprising:
- a plurality of address registers;
a plurality of index address registers;
a modulo register storing therein a plurality of carry break indicators;
an arithmetic unit having a first input connected to said plurality of address registers, a second input connected to said plurality of index address registers, said arithmetic unit further connected to said modulo register, said arithmetic unit forming an arithmetic combination of data stored in a selected one of said plurality of address registers and data stored in a selected one of said plurality of index address registers, said arithmetic unit generating a normal carry between a particular bit and a next more significant bit if a corresponding carry break indicator stored in said modulo register has a first digital state and breaking any carry between said particular bit and said next more significant bit if said corresponding carry break indicator stored in said modulo register has a second digital state opposite to said first digital state;
a plurality of data registers for storing data; and
a bus connected to said modulo register and said plurality of data registers for moving data from an instruction specified one of said plurality of data registers to said modulo register in response to a register move instruction specifying one of said plurality of data registers as a source and said modulo register as said destination.
0 Assignments
0 Petitions
Accused Products
Abstract
A data processing address generator includes a plurality of address registers, a plurality of index address registers, a modulo register storing a plurality of carry break indicators and an arithmetic unit. The arithmetic unit adds or subtracts a selected address register and a selected index register. The arithmetic unit generates a normal carry between a particular bit and the next more significant bit if a corresponding carry break indicator stored in said modulo register has a first digital state. The arithmetic unit breaks any carry between the particular bit and the next more significant bit if the corresponding carry break indicator has a second digital state. The carry break may be dependent upon a modulo qualifier bit being in an enabling state. The modulo qualifier bit may be stored in one of a plurality of qualifier registers corresponding to the address registers.
-
Citations
44 Claims
-
1. An address generator comprising:
-
a plurality of address registers; a plurality of index address registers; a modulo register storing therein a plurality of carry break indicators; an arithmetic unit having a first input connected to said plurality of address registers, a second input connected to said plurality of index address registers, said arithmetic unit further connected to said modulo register, said arithmetic unit forming an arithmetic combination of data stored in a selected one of said plurality of address registers and data stored in a selected one of said plurality of index address registers, said arithmetic unit generating a normal carry between a particular bit and a next more significant bit if a corresponding carry break indicator stored in said modulo register has a first digital state and breaking any carry between said particular bit and said next more significant bit if said corresponding carry break indicator stored in said modulo register has a second digital state opposite to said first digital state; a plurality of data registers for storing data; and a bus connected to said modulo register and said plurality of data registers for moving data from an instruction specified one of said plurality of data registers to said modulo register in response to a register move instruction specifying one of said plurality of data registers as a source and said modulo register as said destination. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An address generator comprising:
-
a plurality of address registers; a plurality of index address registers; a plurality of qualifier registers, each of said plurality of qualifier registers corresponding to one of said plurality of address registers, each qualifier register storing a modulo qualifier bit; a modulo register storing therein a plurality of carry break indicators; and an arithmetic unit having a first input connected to said plurality of address registers, a second input connected to said plurality of index address registers, said arithmetic unit further connected to said modulo register and to said plurality of qualifier registers, said arithmetic unit forming an arithmetic combination of data stored in a selected one of said plurality of address registers and data stored in a selected one of said plurality of index registers, said arithmetic unit generating a normal carry between a particular bit and a next more significant bit regardless of whether said corresponding carry break indicator is in said first state or said second state, if said modulo qualifier bit of said qualifier register corresponding to said selected one of said plurality of address registers is in a third digital state, and generating a normal carry between a particular bit and a next more significant bit if said corresponding carry break indicator stored in said modulo register has said first digital state and breaking any carry between said particular bit and said next more significant bit if said corresponding carry break indicator stored in said modulo register has said second digital, if said modulo qualifier bit stored in said qualifier register corresponding to said selected one of said address registers is in a fourth digital state opposite to said third digital state. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. An address generator comprising:
-
a plurality of address registers; a plurality of index address registers; a modulo register storing therein a plurality of carry break indicators; an arithmetic unit having a first input connected to said plurality of address registers, a second input connected to said plurality of index address registers, said arithmetic unit further connected to said modulo register, said arithmetic unit forming an arithmetic combination of data stored in a selected one of said plurality of address registers and data stored in a selected one of said plurality of index address registers, said arithmetic unit generating a normal carry between a particular bit and a next more significant bit if a corresponding carry break indicator stored in said modulo register has a first digital state and breaking any carry between said particular bit and said next more significant bit if said corresponding carry break indicator stored in said modulo register has a second digital state opposite to said first digital state; a plurality of data registers for storing data; and a bus connected to said modulo register and said plurality of data registers for moving data from said modulo register to an instruction specified one of said plurality of data registers in response to a register move instruction specifying said modulo register as a source and one of said plurality of data registers as said destination. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. An address generator comprising:
-
a plurality of address registers; a plurality of index address registers; a modulo register storing therein a plurality of carry break indicators; and an arithmetic unit having a first input connected to said plurality of address registers, a second input connected to said plurality of index address registers, said arithmetic unit further connected to said modulo register, said arithmetic unit forming an arithmetic combination of data stored in a selected one of said plurality of address registers and data stored in a selected one of said plurality of index address registers, said arithmetic unit generating a normal carry between a particular bit and a next more significant bit if a corresponding carry break indicator stored in said modulo register has a first digital state and breaking any carry between said particular bit and said next more significant bit if said corresponding carry break indicator stored in said modulo register has a second digital state opposite to said first digital state; a data port for transferring data with a data memory; a stack pointer register storing an address of a data stack; and a data bus connected to said modulo register and said data port for pushing data from said modulo register to said data port for storage at an addressable memory storage location corresponding to said address stored in said stack pointer in response to a register push instruction specifying said modulo register as a source. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37)
-
-
38. An address generator comprising:
-
a plurality of address registers; a plurality of index address registers; a modulo register storing therein a plurality of carry break indicators; and an arithmetic unit having a first input connected to said plurality of address registers, a second input connected to said plurality of index address registers, said arithmetic unit further connected to said modulo register, said arithmetic unit forming an arithmetic combination of data stored in a selected one of said plurality of address registers and data stored in a selected one of said plurality of index address registers, said arithmetic unit generating a normal carry between a particular bit and a next more significant bit if a corresponding carry break indicator stored in said modulo register has a first digital state and breaking any carry between said particular bit and said next more significant bit if said corresponding carry break indicator stored in said modulo register has a second digital state opposite to said first digital state; a data port for transferring data with a data memory; a stack pointer register storing an address of a data stack; and a data bus connected to said modulo register and said data port for popping data from said data port from addressable memory storage location corresponding to said address stored in said stack pointer to said modulo register in response to a register pop instruction specifying said modulo register as a destination. - View Dependent Claims (39, 40, 41, 42, 43, 44)
-
Specification