Claims
- 1. A data processing apparatus operating in response to predetermined instructions comprising:a first data source; a second data source; a first multiplier circuit connected to said first data source and said second data source, said first multiplier circuit forming a first product of an instruction selected portion of said first data source and an instruction selected portion of said second data source; a first shifter connected to said first multiplier circuit forming a first shifted output of said first product having an instruction specified shift amount; a second multiplier circuit connected to said first data source and said second data source, said second multiplier circuit forming a second product of an instruction selected portion of said first data source and an instruction selected portion of said second data source; a second shifter connected to said second multiplier circuit forming a second shifted output of said second product having an instruction specified shift amount; and an arithmetic circuit connected to said first shifter and to said second shifter forming an instruction selected arithmetic combination of said first shifted product applied to most significant bits and said second shifted product applied to least significant bits.
- 2. The data processing apparatus of claim 1, wherein:said first data source has N bits; said second data source has N bits; said instruction selected portion of said first data source of said first multiplier circuit is a selected one of N/2 most significant bits of said first data source and N/2 least significant bits of said first data source; said instruction selected portion of said second data source of said first multiplier circuit is a selected one of N/2 most significant bits of said second data source and N/2 least significant bits of said second data source; said instruction selected portion of said first data source of said second multiplier circuit is a selected one of N/2 most significant bits of said first data source and N/2 least significant bits of said first data source; and said instruction selected portion of said second datasource of said second multiplier circuit is a selected one of N/2 most significant bits of said second data source and N/2 least significant bits of said second data source.
- 3. The data processing apparatus of claim 1, wherein:said first data source has N bits; said second data source has N bits; said instruction specified shift of said first shifter is a selected one of no shift, a right shift of N/2 bits and a right shift of N bits; and said instruction specified shift of said second shifter is a selected one of no shift and a left shift of N/2 bits.
- 4. The data processing apparatus of claim 1, further comprising:a third shifter disposed between said first multiplier circuit and said first shifter forming a third shifted output of said first product having an instruction specified right shift amount of zero to N/2 bits; and a forth shifter disposed between said second multiplier circuit and second shifter forming a fourth shifted output of said second product having said instruction specified right shift amount of zero to N/2 bits.
- 5. The data processing apparatus of claim 4, wherein:said third shifter includes a first rounding output of a most significant shifted out bit according to said instruction specified right shift amount; said fourth shifter includes a second rounding output of a most significant shifted out bit according to said instruction specified right shift amount; and said arithmetic circuit receives said first roundingoutput from said third shifter, said second rounding output from said fourth shifter and a rounding control input, said arithmetic circuit supplying said first rounding output to a carry input of a carry input of a zeroth bit and supplying said second rounding output to a carry input of a Nth bit when said rounding control input indicates a rounding operation.
- 6. The data processing apparatus of claim 1, wherein:said first data source has N bits; said second data source has N bits; and said data processing apparatus further comprising a third shifter receiving said arithmetic combination of said arithmetic circuit forming a third shifted output of said arithmetic combination having an instruction specified right shift amount of zero to N/2 bits.
- 7. The data processing apparatus of claim 1, wherein:said first data source has N bits; said second data source has N bits; said instruction selected portion of said first data source of said first multiplier circuit is a selected one of N/2 most significant bits of said first data source and N/2 least significant bits of said first data source; said instruction selected portion of said second data source of said first multiplier circuit is a selected one of N/2 most significant bits of said second data source and N/2 least significant bits of said second data source; said instruction selected portion of said first data source of said second multiplier circuit is a selected one of N/2 most significant bits of said first data source and N/2 least significant bits of said first data source; said instruction selected portion of said second data source of said second multiplier circuit is a selected one of N/2 most significant bits of said second data source and N/2 least significant bits of said second data source; said instruction specified shift of said first shifter consists of no shift; said instruction specified shift of said second shifter consists of no shift; and said instruction selected combination of said first shifted product and said second shifted product of said arithmetic circuit consists of concatenation of said first shifted product as most significant bits and said second shifted product as least significant bits.
- 8. The data processing apparatus of claim 1, wherein:said first data source has N bits; said second data source has N bits; said instruction selected portion of said first data source of said first multiplier circuit is N/2 most significant bits of said first data source; said instruction selected portion of said second data source of said first multiplier circuit is N/2 most significant bits of said second data source; said instruction selected portion of said first data source of said second multiplier circuit is N/2 least significant bits of said first data source; said instruction selected portion of said second data source of said second multiplier circuit is N/2 least significant bits of said second data source; said instruction specified shift of said first shifter consists of a right shift of N bits; said instruction specified shift of said second shifter consists of no shift; and said instruction selected combination of said first shifted product and said second shifted product of said arithmetic circuit consists of a sum of said first shifted product and said second shifted product.
- 9. The data processing apparatus of claim 1, wherein:said first data source has N bits; said second data source has N bits; said instruction selected portion of said first data source of said first multiplier circuit is N/2 most significant bits of said first data source; said instruction selected portion of said second data source of said first multiplier circuit is N/2 most significant bits of said second data source; said instruction selected portion of said first data source of said second multiplier circuit is N/2 least significant bits of said first data source; said instruction selected portion of said second data source of said second multiplier circuit is N/2 least significant bits of said second data source; said instruction specified shift of said first shifter consists of a right shift of N bits; said instruction specified shift of said second shifter consists of no shift; and said instruction selected combination of said first shifted product and said second shifted product of said arithmetic circuit consists of a difference of said second shifted product subtracted from said first shifted product.
- 10. The data processing apparatus of claim 1, wherein:said first data source has N bits; said second data source has N bits; said instruction selected portion of said first data source of said first multiplier circuit is N/2 most significant bits of said first data source; said instruction selected portion of said second data source of said first multiplier circuit is N/2 least significant bits of said second data source; said instruction selected portion of said first data source of said second multiplier circuit is N/2 least significant bits of said first data source; said instruction selected portion of said second data source of said second multiplier circuit is N/2 most significant bits of said second data source; said instruction specified shift of said first shifter consists of a right shift of N bits; said instruction specified shift of said second shifter consists of no shift; and said instruction selected combination of said first shifted product and said second shifted product of said arithmetic circuit consists of a sum of said first shifted product and said second shifted product.
- 11. The data processing apparatus of claim 1, wherein:said first data source has N bits; said second data source has N bits; said instruction selected portion of said first data source of said first multiplier circuit is N/2 most significant bits of said first data source; said instruction selected portion of said second data source of said first multiplier circuit is N/2 most significant bits of said second data source; said instruction selected portion of said first data source of said second multiplier circuit is N/2 most significant bits of said first data source; said instruction selected portion of said second data source of said second multiplier circuit is N/2 least significant bits of said second data source; said instruction specified shift of said first shifter consists of no shift; said instruction specified shift of said second shifter consists of a left shift of N/2 bits; and said instruction selected combination of said first shifted product and said second shifted product of said arithmetic circuit consists of a sum of said first shifted product and said second shifted product.
- 12. The data processing apparatus of claim 1, wherein:said first data source has N bits; said second data source has N bits; said instruction selected portion of said first data source of said first multiplier circuit is N/2 least significant bits of said first data source; said instruction selected portion of said second data source of said first multiplier circuit is N/2 most significant bits of said second data source; said instruction selected portion of said first data source of said second multiplier circuit is N/2 least significant bits of said first data source; said instruction selected portion of said second data source of said second multiplier circuit is N/2 least significant bits of said second data source; said instruction specified shift of said first shifter consists of a right shift of N/2 bits; said instruction specified shift of said second shifter consists of no shift; and said instruction selected combination of said first shifted product and said second shifted product of said arithmetic circuit consists of a sum of said first shifted product and said second shifted product.
- 13. The data processing apparatus of claim 1, wherein:said first data source has N bits; said second data source has N bits; said instruction selected portion of said first data source of said first multiplier circuit is N/2 most significant bits of said first data source; said instruction selected portion of said second data source of said first multiplier circuit is N/2 most significant bits of said second data source; said instruction selected portion of said first data source of said second multiplier circuit is N/2 least significant bits of said first data source; said instruction selected portion of said second data source of said second multiplier circuit is N/2 least significant bits of said second data source; said first multiplier circuit forms said first product as a concatenation of a third product of N/4 most significant bits of said first data source and N/4 most significant bits of said second data source as most significant bits and a fourth product of N/4 second most significant bits of said first data source and N/4 second most significant bits of said second data source as least significant bits; said second multiplier circuit forms said second product as a concatenation of a fifth product of N/4 second least significant bits of said first data source and N/4 second least significant bits of said second data source as most significant bits and a sixth product of N/4 least significant bits of said first data source and N/4 least significant bits of said second data source as least significant bits; said instruction specified shift of said first shifter consists of a right shift of N/2 bits; said instruction specified shift of said second shifter consists of no shift; and said instruction selected combination of said first shifted product and said second shifted product of said arithmetic circuit consists of a concatenation of said third product at N/2 most significant bits, said fourth product as N/2 second most significant bits, said fifth product as N/2 second least significant bits and said sixth product as N/2 least significant bits.
- 14. The data processing apparatus of claim 1, wherein:said first data source has N bits; said second data source has N bits; said instruction selected portion of said first data source of said first multiplier circuit is N/2 most significant bits of said first data source; said instruction selected portion of said second data source of said first multiplier circuit is N/2 most significant bits of said second data source; said instruction selected portion of said first data source of said second multiplier circuit is N/2 least significant bits of said first data source; said instruction selected portion of said second data source of said second multiplier circuit is N/2 least significant bits of said second data source; said first multiplier circuit forms said first product as a concatenation of a third product of N/4 most significant bits of said first data source and N/4 most significant bits of said second data source as most significant bits and a fourth product of N/4 second most significant bits of said first data source and N/4 second most significant bits of said second data source as least significant bits; said second multiplier circuit forms said second product as a concatenation of a fifth product of N/4 second least significant bits of said first data source and N/4 second least significant bits of said second data source as most significant bits and a sixth product of N/4 least significant bits of said first data source and N/4 least significant bits of said second data source as least significant bits; said, instruction specified shift of said first shifter consists of a right shift of N/2 bits of most significant bits of said third product and a right shift of N bits of said fourth product; said instruction specified shift of said second shifter consists of a left shift of N/2 bits of said fifth product and not shift of said sixth product; and said instruction selected combination of said first shifted product and said second shifted product of said arithmetic circuit consists of a concatenation of a first sum of said third product and said fifth product as most significant bits and a second sum of said fourth product and said sixth product as least significant bits.
- 15. The data processing apparatus of claim 1, wherein:said first data source has N bits; said second data source has N bits; said instruction selected portion of said first data source of said first multiplier circuit is N/2 most significant bits of said first data source; said instruction selected portion of said second data source of said first multiplier circuit is N/2 most significant bits of said second data source; said instruction selected portion of said first data source of said second multiplier circuit is N/2 least significant bits of said first data source; said instruction selected portion of said second data source of said second multiplier circuit is N/2 least significant bits of said second data source; said first multiplier circuit forms said first product as a concatenation of a third product of N/4 most significant bits of said first data source and N/4 most significant bits of said second data source as most significant bits and a fourth product of N/4 second most significant bits of said first data source and N/4 second most significant bits of said second data source as least significant bits; said second multiplier circuit forms said second product as a concatenation of a fifth product of N/4 second least significant bits of said first data source and N/4 second least significant bits of said second data source as most significant bits and a sixth product of N/4 least significant bits of said first data source and N/4 least significant bits of said second data source as least significant bits; said instruction specified shift of said first shifter consists of a right shift of N/2 bits of said third product and no shift of said fourth product; said instruction specified shift of said second shifter consists of a right shift or N/2 bits of said fifth product no shift of said sixth product; and said instruction selected combination of said first shifted product and said second shifted product of said arithmetic circuit consists of a concatenation of a first sum of said third product and said fourth product as most significant bits and a second sum of said fifth product and said sixth product as least significant bits.
- 16. The data processing apparatus of claim 1, further comprising:a register file including a plurality of data registers for storing data, a first output for recalling from a first instruction specified data register data stored therein, thereby forming said first data source, a second output for recalling form a second instruction specified data register data stored therein, thereby forming said second data source, and an instruction specified one of said plurality of data registers being an extended multiply control data register storing therein data controlling said instruction selected portion of said first data source and said instruction selected portion of said second data source supplied to said first multiplier circuit, said instruction selected portion of said first data source and said instruction selected portion of said second data source supplied to said second multiplier circuit, said instruction specified shift amount of said first shifter, said instruction specified shift amount of said second shifter, and said instruction selected arithmetic combination of said arithmetic circuit.
Parent Case Info
This application claims priority under 35 USC §119(e) (1) of Provisional Application No. 60/183,527, filed Feb. 18, 2000 and of Provisional Application No. 60/183,654, filed Feb. 18, 2000.
US Referenced Citations (9)
Provisional Applications (2)
|
Number |
Date |
Country |
|
60/183527 |
Feb 2000 |
US |
|
60/183654 |
Feb 2000 |
US |