1460937881-50e1cd96-bcf8-45c3-bb44-ebed4e274cf2

What is claimed is:

1. A cache memory for use in storage and retrieval of sequential and non-sequential instructions contained within a program stream for execution by a processor, comprising:
a tag array arranged in a plurality of rows and a plurality of cache ways having a plurality of storage locations located at each intersection of one of said plurality of rows and one of said plurality of cache ways, each of said storage locations from the plurality of storage locations for storing a tag address;
a data array arranged in a plurality of rows and a plurality of cache ways having a plurality of storage locations located at each intersection of one of said plurality of rows and one of said plurality of cache ways, each of said storage locations from the plurality of storage locations for storing data bytes relating to instructions;
a first cache way prediction array having a plurality of storage locations arranged in a plurality of rows, each storage location from the plurality for storing a first set of cache way prediction bits;
a second cache way prediction array having a plurality of storage locations arranged in a plurality of rows, each storage location from the plurality for storing a second set of cache way prediction bits; and,
a decision circuit for receiving an instruction from the program stream, the decision circuit for determining whether the instruction is one of a sequential and non sequential type and for enabling one of the first cache way prediction array and the second cache way prediction array, respectively, in dependence thereon, said enabled prediction array accessed at a request address to retrieve one of the first set of cache way prediction bits and the second set of cache way prediction bits, respectively, for enabling a cache way within the tag array and data array in dependence upon the retrieved prediction bits to facilitate retrieval of the tag address and the data bytes from the tag array and data array, respectively, within the enabled cache way.
2. A cache memory according to claim 1, wherein each row is a cache set.
3. A cache memory according to claim 2, comprising a program counter for use by the processor in execution of the instructions within the program stream and wherein the request address is derived from the program counter.
4. A cache memory according to claim 3, wherein decision circuit comprises circuitry for enabling the first cache way prediction array and disabling the second cache way prediction array when the instruction indexed by the program counter is other than a branch instruction.
5. A cache memory according to claim 3, wherein decision circuit comprises circuitry for disabling the first cache way prediction array and enabling the second cache way prediction array when the instruction indexed by the program counter is a branch instruction.
6. A cache memory according to claim 3, wherein decision circuit comprises circuitry for disabling the first cache way prediction array and enabling the second cache way prediction array when the instruction indexed by the program counter is a jump instruction.
7. A cache memory according to claim 2, wherein the cache way prediction arrays comprise address input ports and wherein the address input ports to the cache way prediction arrays are coupled respectively one with another such that a same address data is provided to each of the cache way prediction arrays and a difference in data retrieved from the cache way prediction arrays is determined in dependence upon the instruction type.
8. A cache memory according to claim 2, wherein the first cache way prediction array comprises more storage locations than the second cache way prediction array.
9. A cache memory according to claim 2, wherein the second cache way prediction array comprises more storage locations than the first cache way prediction array.
10. A cache memory according to claim 2, wherein the cache memory is used for caching of instruction data.
11. A method of enabling a cache prediction array from a plurality of cache prediction arrays comprising the steps of:
providing an instruction at an address of a program counter for subsequent execution by a processor;
determining whether the instruction is an instruction of a predetermined type; and,
enabling one of a first cache prediction array if the instruction is other than an instruction of a predetermined type and a second cache prediction array if the instruction is an instruction of a predetermined type.
12. A method according to claim 11, wherein an instruction of a predetermined type includes a branch instruction.
13. A method according to claim 12, wherein the branch instruction is an instruction of the type that causes the program counter to vary non-sequentially within an instruction data stream.
14. A method according to claim 13, wherein a branch instruction consists of instructions for changing the program counter to a value beyond a current electronic page of instruction data.
15. A memory having stored therein data relating to instructions for performing the steps of:
providing an instruction at an address of a program counter for subsequent execution by a processor;
determining whether the instruction is an instruction of a predetermined type; and,
enabling one of a first cache prediction array if the instruction is other than an instruction of a predetermined type and a second cache prediction array if the instruction is an instruction of a predetermined type.
16. A method according to claim 15, wherein according to the data the instruction of a predetermined type includes a branch instruction.
17. A method according to claim 16, wherein according to the data the branch instruction is an instruction of the type that causes the program counter to a non-sequential address.
18. A method according to claim 17, wherein according to the data a branch instruction consists of instructions for changing the program counter to a value beyond a current electronic page of instruction data.
19. A cache memory for use in storage and retrieval of sequential and non-sequential instructions contained within a program stream, comprising:
a first cache way prediction array for use in predicting a cache way for a first set of data;
a second cache way prediction array for use in predicting a cache way for a second set of data; and,
a decision circuit for receiving instruction data from the program stream and for selecting between the first cache way prediction array and the second cache way prediction array in dependence upon the instruction data.
20. A storage medium having stored therein data, the data for use in implementing of integrated circuit designs, the data including data descriptive of circuit elements including:
a tag array arranged in a plurality of rows and a plurality of cache ways having a plurality of storage locations located at each intersection of one of said plurality of rows and one of said plurality of cache ways, each of said storage locations from the plurality of storage locations for storing a tag address;
a data array arranged in a plurality of rows and a plurality of cache ways having a plurality of storage locations located at each intersection of one of said plurality of rows and one of said plurality of cache ways, each of said storage locations from the plurality of storage locations for storing data bytes relating to instructions;
a first cache way prediction array having a plurality of storage locations arranged in a plurality of rows, each storage location from the plurality for storing a first set of cache way prediction bits;
a second cache way prediction array having a plurality of storage locations arranged in a plurality of rows, each storage location from the plurality for storing a second set of cache way prediction bits; and,
a decision circuit for receiving an instruction from the program stream, the decision circuit for determining whether the instruction is one of a sequential and non sequential type and for enabling one of the first cache way prediction array and the second cache way prediction array, respectively, in dependence thereon, said enabled prediction array accessed at a request address to retrieve one of the first set of cache way prediction bits and the second set of cache way prediction bits, respectively, for enabling a cache way within the tag array and data array in dependence upon the retrieved prediction bits to facilitate retrieval of the tag address and the data bytes from the tag array and data array, respectively, within the enabled cache way.
21. A storage medium according to claim 20, comprising data stored therein descriptive of a program counter for use by the processor in execution of the instructions within the program stream and wherein the request address is derived from the program counter.
22. A storage medium according to claim 21, comprising data stored therein descriptive of circuitry for enabling the first cache way prediction array and disabling the second cache way prediction array when the instruction indexed by the program counter is other than a branch instruction.
23. A storage medium according to claim 21, comprising data stored therein descriptive of circuitry for disabling the first cache way prediction array and enabling the second cache way prediction array when the instruction indexed by the program counter is a branch instruction.
24. A storage medium according to claim 21, wherein the data stored therein descriptive of the decision circuit includes data descriptive of circuitry for disabling the first cache way prediction array and enabling the second cache way prediction array when the instruction indexed by the program counter is a jump instruction.
25. A storage medium according to claim 20, wherein the data stored therein descriptive of the cache way prediction arrays includes data descriptive of address input ports and wherein the address input ports to the cache way prediction arrays are coupled respectively one with another such that a same address data is provided to each of the cache way prediction arrays and a difference in data retrieved from the cache way prediction arrays is determined in dependence upon the instruction type.
26. A storage medium according to claim 20, wherein the data stored therein descriptive of the cache way prediction arrays indicates the first cache way prediction array comprising more storage locations than the second cache way prediction array.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method of wireless communication, comprising:
transmitting plural downlink signals from plural base stations to a terminal, wherein the plural downlink signals carry same information to the terminal;
receiving a feedback from the terminal regarding the plural downlink signals transmitted by the plural base stations; and
adjusting transmission parameters for each downlink signal based on the feedback from the terminal,
wherein each base station transmits its downlink signal on a corresponding downlink channel, and
wherein the feedback from the terminal includes information regarding one or more taps of each downlink channel corresponding to each base station.
2. The method of claim 1, wherein the plural base stations are geographically spaced apart from each other such that shadowing characteristics of the downlink channel from one base station is independent of shadowing characteristics of another base station.
3. The method of claim 1, wherein each of the plural base stations is capable of communicating with the terminal independent of the other base stations.
4. The method of claim 1, wherein the transmission parameters are adjusted such that within a serving area of the plural base stations, energy of the transmitted downlink signals is enhanced in a vicinity of the terminal and suppressed in all other regions of the serving area.
5. The method of claim 1, wherein the transmission parameters of each downlink are adjusted such that the plural downlink signals coherently combine in a vicinity of the terminal.
6. The method of claim 1, wherein the feedback from the terminal is such that for each downlink channel, the feedback includes information on a subset of plural taps of a downlink channel model, the subset spanning a duration less than the entire span in time of the downlink channel.
7. The method of claim 6, wherein for each downlink channel, the subset of the plural taps includes any one of:
a predetermined number of taps with highest energy levels received by the terminal, or
one or more taps whose energy level received by the terminal individually exceeds a predetermined individual threshold energy level, or
one or more taps whose energy level received by the terminal cumulatively exceeds a predetermined cumulative threshold energy level, or
one or more taps whose energy level received by the terminal cumulatively exceeds a predetermined percentage threshold of the total energy level of the downlink channel received by the terminal.
8. The method of claim 7, wherein the feedback from the terminal further includes a time delay associated with each tap of the subset of taps for the downlink channel.
9. The method of claim 8,
wherein each base station includes plural transmission antennas such that the downlink signal on the corresponding downlink channel received at the terminal is expressed as
x
\ue8a0

(
t
)
=
\u2211

m
=
1

M

\ue89e
h
\ue8a0

(

t
,
m

)
*

\ue89e
g
\ue8a0

(

t
,
m

)
*

\ue89e

s
\ue8a0

(
t
)
where \u201c*\u201d denotes convolution, x(t) represents the downlink signal as received at the terminal, g(t,m) represents an impulse response of the downlink channel from an m-th transmission antenna to the terminal, s(t) represents a modulated base band signal, and h(t,m) represents an impulse response of a pre-filter of the m-th transmission antenna of the base station,

wherein each pre-filter h(t,m) is a finite impulse response (FIR) filter with a predetermined number of taps such that
h
\ue8a0

(

t
,
m

)
=
\u03bb
_

\ue89e
\u2211

i
=
1

L

\ue89e
\u03b1
i

\ue8a0

(
m
)
\ue89e

\u03b4
\ue8a0

(

t

\u03c4
i
)
where L represents a number of taps less than a total number of taps of the downlink channel, \u03b1i(m) represents coefficients for the m-th pre-filter, \u03c4i represents a delay corresponding to the coefficients \u03b1i(m), and \u03bb is a scaling factor used to ensure that a transmitted power of the base station is at a predetermined level, and

wherein the transmission parameters include coefficients \u03b1i(m) which are adjusted for each downlink channel.
10. The method of claim 9, wherein the number of taps L of the downlink channel for each base station is independent of the number of taps L of the downlink channels of other base station.
11. The method of claim 9, wherein the feedback from the terminal includes information on a position within a grid of evenly-spaced L fingers place on a region of energy of the downlink signal indicated by a powerdelay profile such that grid positions and finger position are the save for all transmission antennas of the base station.
12. The method of claim 9,
wherein for each base station the feedback received from the terminal includes information on delays \u03c4i of each of the L taps of the corresponding downlink channel, and
wherein the transmission parameters also include delays \u03c4i which are adjusted such that L maximal channel coefficients are chosen for each pre-filter.
13. The method of claim 6,
wherein for at least one base station, the downlink signal is transmitted in one or more beams,
wherein the feedback from the terminal further includes information on an identity of the beam associated with each tap of the subset of taps of the downlink channel, and
wherein transmission parameters include the one or more beams associated with the subset of taps which are adjusted.
14. The method of claim 13, wherein the terminal is a fixed terminal, the method further comprising preconfiguring the transmission parameters to optimize the beams transmitted from the plural base stations to the terminal prior to the transmitting the downlink signals from the plural base stations.
15. The method of claim 6, wherein the transmission parameters are adjusted for each base station such that a total amount of power of the downlink signal transmitted by the base station is at a predetermined power level.
16. The method of claim 15, wherein the predetermined power level set for one base station is independent of the predetermined power level set for another base station.
17. The method of claim 6, wherein when the terminal is a TDD terminal, a channel reciprocity is used to characterize the channel.
18. The method of claim 6, wherein an anchor base station (210-1) is used to receive the feedback from the terminal and to adjust the transmission parameters of each downlink channel.
19. A method of controlling transmission of plural downlink signals from plural base stations to a terminal,
wherein the plural downlink signals carry same information to the terminal, and
wherein each base station transmits its downlink signal on a corresponding downlink channel,
the method comprising:
receiving, by an anchor base station, a feedback from the terminal regarding the plural downlink signals transmitted by the plural base stations;
adjusting, by the anchor base station, transmission parameters for each downlink signal based on the feedback from the terminal; and
notifying, by the anchor base station, other base stations regarding the adjusted transmission parameters,

wherein the feedback from the terminal includes information regarding one or more taps of each downlink channel corresponding to each base station, and
wherein each base station is capable of communicating with the terminal independent of the other base stations.
20. The method of claim 19, wherein the transmission parameters are adjusted by the anchor base station such that within a serving area of the plural base stations, energy of the transmitted downlink signals is enhanced in a vicinity of the terminal and suppressed in all other regions of the serving area.
21. The method of claim 19, wherein the transmission parameters are adjusted by the anchor base station such that the downlink signals from the plural base stations coherently combine in a vicinity of the terminal.
22. The method of claim 19, wherein the feedback received by the anchor base station is such that for each downlink channel, the feedback includes information on a subset of plural taps of a downlink channel model, the subset spanning a duration less than the entire span in time of the downlink channel.
23. The method of claim 22,
wherein each base station includes plural transmission antennas such that the downlink signal on the corresponding downlink channel received at the terminal is expressed as
x
\ue8a0

(
t
)
=
\u2211

m
=
1

M

\ue89e
h
\ue8a0

(

t
,
m

)
*

\ue89e
g
\ue8a0

(

t
,
m

)
*

\ue89e

s
\ue8a0

(
t
)
where \u201c*\u201d denotes convolution, x(t) represents the downlink signal as received at the terminal, g(t,m) represents an impulse response of the downlink channel from an m-th transmission antenna to the terminal, s(t) represents a modulated base band signal, and h(t,m) represents an impulse response of a pre-filter of the m-th transmission antenna of the base station,

wherein each pre-filter h(t,m) is a finite impulse response (FIR) filter with a predetermined number of taps such that
h
\ue8a0

(

t
,
m

)
=
\u03bb
_

\ue89e
\u2211

i
=
1

L

\ue89e
\u03b1
i

\ue8a0

(
m
)
\ue89e

\u03b4
\ue8a0

(

t

\u03c4
i
)
where L represents a number of taps less than a total number of taps of the downlink channel, \u03b1i(m) represents coefficients for the m-th pre-filter, \u03c4i represents a delay corresponding to the coefficients \u03b1i(m), and \u03bb is a scaling factor used to ensure that a transmitted power of the base station is at a predetermined level, and

wherein the transmission parameters include coefficients \u03b1i(m) which are adjusted for each downlink channel.
24. The method of claim 22,
wherein for at least one base station, the downlink signal is transmitted in one or more beams,
wherein the feedback received by the anchor base station further includes information on an identity of the beam associated with each tap of the subset of taps of the downlink channel, and
wherein transmission parameters include the one or more beams associated with the subset of taps which are adjusted by the anchor base station.
25. The method of claim 24, wherein in the transmission parameters are adjusted by the anchor base station for each base station such that a total amount of power of the downlink signal transmitted by each base station is at a predetermined power level.
26. An anchor base station of plural base stations of a network,
wherein the plural base stations are arranged to transmit plural downlink signals to a terminal,
wherein the plural downlink signals carry same information to the terminal,
wherein each base station transmits its downlink signal on a corresponding downlink channel,
wherein each downlink channel includes plural taps, and
wherein the anchor base station comprises a control unit arranged to:
receive a feedback from the terminal regarding the plural downlink signals transmitted by the plural base stations,
adjust transmission parameters for each downlink signal based on the feedback from the terminal, and
notify other base stations regarding the adjusted transmission parameters,

wherein the feedback from the terminal includes information regarding one or more of the plural taps of the downlink channel of each base station, and
wherein each base station is capable of communicating with the terminal independent of the other base stations.
27. The anchor base station of claim 26, wherein the control unit is arranged to adjust the transmission parameters such that within a serving area of the plural base stations, energy of the transmitted downlink signals is enhanced in a vicinity of the terminal and suppressed in all other regions of the serving area.
28. The anchor base station of claim 26, wherein the control unit is arranged to adjust the transmission parameters such that the transmitted downlink signals from the plural base stations coherently combine in a vicinity of the terminal.
29. The anchor base station of claim 26, wherein the feedback from the terminal is such that for each downlink channel, the feedback includes information on a subset of the plural taps of the downlink channel, the subset being less than all taps of the downlink channel.
30. The anchor base station of claim 29,
wherein each base station includes plural transmission antennas such that the downlink signal on the corresponding downlink channel received at the terminal is expressed as
x
\ue8a0

(
t
)
=
\u2211

m
=
1

M

\ue89e
h
\ue8a0

(

t
,
m

)
*

\ue89e
g
\ue8a0

(

t
,
m

)
*

\ue89e

s
\ue8a0

(
t
)
where \u201c*\u201d denotes convolution, x(t) represents the downlink signal as received at the terminal, g(t,m) represents an impulse response of the downlink channel from an m-th transmission antenna to the terminal, s(t) represents a modulated base band signal, and h(t,m) represents an impulse response of a pre-filter of the m-th transmission antenna of the base station,

wherein each pre-filter h(t,m) is a finite impulse response (FIR) filter with a predetermined number of taps such that
h
\ue8a0

(

t
,
m

)
=
\u03bb
_

\ue89e
\u2211

i
=
1

L

\ue89e
\u03b1
i

\ue8a0

(
m
)
\ue89e

\u03b4
\ue8a0

(

t

\u03c4
i
)
where L represents a number of taps less than a total number of taps of the downlink channel, \u03b1i(m) represents coefficients for the m-th pre-filter, \u03c4i represents a delay corresponding to the coefficients \u03b1i(m), and \u03bb is a scaling factor used to ensure that a transmitted power of the base station is at a predetermined level, and

wherein the transmission parameters include coefficients \u03b1i(m) which the control unit is arranged to adjust for each downlink channel.
31. The anchor base station of claim 29,
wherein for at least one base station, the downlink signal is transmitted in one or more beams,
wherein the feedback further includes information on an identity of the beam associated with each tap of the subset of taps of the downlink channel, and
wherein transmission parameters include the one or more beams associated with the subset of taps which the control unit is arranged to adjust.
32. The anchor base station of claim 29, wherein the control unit is arranged to adjust the transmission parameters for each base station such that a total amount of power of the downlink signal transmitted by each base station is at a predetermined power level.