Claims Analysis
Total Claims: 22
Claim 1
Independent Claim
245 words
In a data processing system including a CPU, at least one external unit requiring data from or providing data to said CPU and an I/O bus for the transfer of said data between said CPU and external unit, said CPU comprising: means for executing a sequence of instructions including a first instruction; means connected to the executing means for transferring data to or from said external unit over said bus during synchronized CPU time cycles, means connected to the executing means for storing data in a plurality of registers within said CPU, means connected to the transferring means and storing means for internally transferring data within said CPU registers concurrently during the transfer of data to or from the external unit, and control means connected to the executing means, transferring means and storing means for controlling the transfer of data wherein the transfer of data between CPU registers coincides with the transfer of data to or from the external unit, said control means further including means for determining when data required for execution of a first of a sequence of instructions in said CPU has not been stored in one or more of the CPU registers as required by the first instruction and delaying the execution of the first instruction until such data is stored in the one or more registers while permitting the execution of other instructions of said sequence that do not require any data resulting from the execution of said first instruction.
Claim 2
Dependent Claim
245 words
In a data processing system including a CPU, at least one external unit requiring data from or providing data to said CPU and an I/O bus for the transfer of said data between said CPU and external unit, said CPU comprising: means for executing a sequence of instructions including a first instruction; means connected to the executing means for transferring data to or from said external unit over said bus during synchronized CPU time cycles, means connected to the executing means for storing data in a plurality of registers within said CPU, means connected to the transferring means and storing means for internally transferring data within said CPU registers concurrently during the transfer of data to or from the external unit, and control means connected to the executing means, transferring means and storing means for controlling the transfer of data wherein the transfer of data between CPU registers coincides with the transfer of data to or from the external unit, said control means further including means for determining when data required for execution of a first of a sequence of instructions in said CPU has not been stored in one or more of the CPU registers as required by the first instruction and delaying the execution of the first instruction until such data is stored in the one or more registers while permitting the execution of other instructions of said sequence that do not require any data resulting from the execution of said first instruction.
Claim 3
Dependent Claim
17 words
The data processing system of claim 1 wherein said external unit is an external data storage unit.
Claim 4
Dependent Claim
137 words
The data processing system of claim 2 wherein said control means includes means for generating data transfer commands to the external unit transfer means, means for assigning a register in said CPU storing means to which data is to be transferred, and means connected to said assigning means for storing a tag identifying said assigned register in a tag register in the control means, for comparing subsequent data transfer commands to the stored tags to determine if data for these subsequent data transfer commands includes data resulting from the external unit transfer command, for clearing said tag in the tag register when the external unit data transfer is complete, and for delaying the execution of any subsequent data transfer commands requiring data from the result of this external unit data transfer until the tag has been cleared.
Claim 5
Dependent Claim
46 words
The data processing system of claim 3 wherein said control means further includes means for cancelling a previous data transfer command in the event that a subsequent data transfer command assigns the same register assigned by the previous command before the previous command transfer is completed.
Claim 6
Dependent Claim
76 words
The data processing system of claim 4 wherein said storing means includes means for generating register to register transfer commands, and said control means further includes means for comparing said register to register transfer commands to said stored tags and for cancelling a previous data transfer command in the event that a subsequent register to register transfer command transfers data to the same register assigned by the previous command before the previous command transfer is completed.
Claim 7
Dependent Claim
32 words
The data processing system of claim 5 wherein said transfers to and from said external unit require a greater number of CPU time cycles than do said register to register transfers. .Iadd.
Claim 8
Dependent Claim
323 words
The data processing system of claim 6 wherein said control means further includes means for delaying the execution of any subsequent instruction requiring the assignment of a register when there are no tag registers available. .Iaddend. .Iadd.8. In a data processing system including a CPU, at least one external unit requiring data from or providing data to said CPU and an I/O bus for the transfer of said data between said CPU and external unit, said CPU comprising: means for executing a sequence of instructions; means connected to the executing means for transferring data to or from said external unit over said bus; means connected to the executing means for storing data in a plurality of registers within said CPU; means connected to the transferring means and storing means for internally transferring data within said CPU registers concurrently during the transfer of data to or from the external unit; and control means connected to the executing means, transferring means and storing means for controlling the transfer of data wherein the transfer of data between CPU registers coincides with the transfer of data to or from the external unit, said control means further including means for determining when data to be loaded into first one or more of the CPU registers by execution of a first of a sequence of instructions in said CPU has not been loaded in first one or more of the CPU registers as required by the first instruction determining when data to be loaded into second one or more of the CPU registers by execution of a second within the sequence of instructions in said CPU has not been loaded in second one or more of the CPU registers as required by the second instruction and simultaneously waiting for completion of execution of the first and second instructions while permitting the execution of other instructions of said sequence that do not require any data resulting from the completion of
Claim 9
Dependent Claim
213 words
execution of said first or second instructions. .Iaddend. .Iadd.9. The data processing system of claim 8 wherein said external unit is an external data storage unit. .Iaddend. .Iadd.10. The data processing system of claim 9 wherein said control means includes means for generating data transfer commands to the external unit transfer means, means for assigning a register in said CPU storing means to which data is to be transferred, and means connected to said assigning means for storing a tag identifying said assigned register in a tag register in the control means, for comparing subsequent data transfer commands to the stored tags to determine if data for these subsequent data transfer commands includes data resulting from the external unit transfer command, for clearing said tag in the tag register when the external unit data transfer is complete, and for delaying the execution of any subsequent data transfer commands requiring data from the result of this external unit data transfer until the tag has been cleared. .Iaddend. .Iadd.11. The data processing system of claim 10 wherein said control means further includes means for cancelling a previous data transfer command in the event that a subsequent data transfer command assigns the same register assigned by the previous command before the previous command transfer is completed.
Claim 10
Dependent Claim
277 words
.Iaddend. .Iadd.12. The data processing system of claim 11 wherein said storing means includes means for generating register to register transfer commands, and said control means further includes means for comparing said register to register transfer commands to said stored tag and for cancelling a previous data transfer command in the event that a subsequent register to register transfer command transfers data to the same register assigned by the previous command before the previous command transfer is completed. .Iaddend. .Iadd.13. The data processing system of claim 12 wherein said transfers to and from said external unit require a greater number of CPU time cycles than do said register to register transfers. .Iaddend. .Iadd.14. The data processing system of claim 10 wherein said control means further includes means for assigning each one of the plurality of registers in said CPU storing means to which data is to be transferred, a plurality of tag registers, means for storing a tag identifying each of said assigned registers in one of the plurality of tag registers, for comparing subsequent data transfer commands to each of the stored tags to determine if data for these subsequent data transfer commands includes data resulting from one of the external unit transfer commands, for clearing one of the plurality of tags in the tag register when its respective external unit data transfer is complete, and for delaying the execution of any subsequent data transfer commands requiring data from the result of this external unit data transfer until the tag has been cleared, and means for delaying the execution of any subsequent instruction requiring the assignment of a register when there are no tag registers available.
Claim 11
Dependent Claim
347 words
.Iaddend. .Iadd.15. The data processing system of claim 14 wherein said control means further includes means for clearing any one of the plurality of tags in the tag register when its respective external unit data transfer is complete, irrespective of the order in which the tags were assigned. .Iaddend. .Iadd.16. A data processing system comprising: means for executing a sequence of instructions; means connected to the executing means for storing data in a plurality of registers; means connected to the executing means and storing means for transferring data between registers concurrently during the transfer of data to or from an external unit, and control means connected to the executing means, transferring means and storing means for controlling the transfer of data and further including means for determining when data to be loaded into one or more registers by execution of at least two instructions in a sequence of instructions has not been loaded in one or more of the registers as required by the at least two instructions, and waiting for completion of execution of the at least two instructions while permitting the execution of other instructions of said sequence that do not require any data resulting from the completion of execution of either of said at least two instructions. .Iaddend. .Iadd.17. The data processing system of claim 16 wherein said control means includes means for generating data transfer commands to the external unit transfer means, means for assigning a register in said CPU storing means to which data is to be transferred, and means connected to said assigning means for storing a tag identifying said assigned register in a tag register in the control means, for comparing subsequent data transfer commands to the stored tags to determine if data for these subsequent data transfer commands includes data resulting from the external unit transfer command, for clearing said tag in the tag register when the external unit data transfer is complete, and for delaying the execution of any subsequent data transfer commands requiring data from the result of this external unit data transfer until the tag has
Claim 12
Dependent Claim
280 words
been cleared. .Iaddend. .Iadd.18. The data processing system of claim 17 wherein said control means further includes means for cancelling a previous data transfer command in the event that a subsequent data transfer command assigns the same register assigned by the previous command before the previous command transfer is completed. .Iaddend. .Iadd.19. The data processing system of claim 18 wherein said storing means includes means for generating register to register transfer commands, and said control means further includes means for comparing said register to register transfer commands to said stored tags and for cancelling a previous data transfer to the same register assigned by the subsequent command before the previous command transfer is completed. .Iaddend. .Iadd.20. The data processing system of claim 17 wherein said control means further includes means for assigning each one of the plurality of registers in said CPU storing means to which data is to be transferred, a plurality of tag registers, means for storing a tag identifying each of said assigned registers in one of the plurality of tag registers, for comparing subsequent data transfer commands to each of the stored tags to determine if data for these subsequent data transfer commands includes data resulting from one of the external unit transfer commands, for clearing one of the plurality of tags in the tag registers when its respective external unit data transfer is complete, and for delaying the execution of any subsequent data transfer commands requiring data from the result of this external unit data transfer until the tag has been cleared, and means for delaying the execution of any subsequent instruction requiring the assignment of a register when there are no tag registers available.
Claim 13
Dependent Claim
47 words
.Iaddend. .Iadd.21. The data processing system of claim 20 wherein said control means further includes means for clearing any one of the plurality of tags in the tag register when its respective external unit data transfer is complete, irrespective of the order in which the tags were
Claim 14
Dependent Claim
192 words
assigned. .Iaddend. .Iadd.22. A data processing system comprising: means for executing a sequence of instructions; means connected to the executing means for storing data in a plurality of registers; means connected to the executing means and storing means for transferring data between registers concurrently during the transfer of data to or from an external unit, and control means connected to the executing means, transferring means and storing means for controlling the transfer of data and further including means for determining when data to be loaded in one or more of the CPU registers by execution of an instruction in a sequence of instructions has not been loaded in said one or more of the registers as required by the instruction and waiting for completion of execution of the instruction until either data required by said instruction is stored in said one or more registers or until a subsequent instruction in said sequence is encountered which will result in data being loaded in the same one or more registers, while permitting the execution of other instructions of said sequence that do not require any data resulting from the completion of execution of the
Claim 15
Dependent Claim
192 words
assigned. .Iaddend. .Iadd.22. A data processing system comprising: means for executing a sequence of instructions; means connected to the executing means for storing data in a plurality of registers; means connected to the executing means and storing means for transferring data between registers concurrently during the transfer of data to or from an external unit, and control means connected to the executing means, transferring means and storing means for controlling the transfer of data and further including means for determining when data to be loaded in one or more of the CPU registers by execution of an instruction in a sequence of instructions has not been loaded in said one or more of the registers as required by the instruction and waiting for completion of execution of the instruction until either data required by said instruction is stored in said one or more registers or until a subsequent instruction in said sequence is encountered which will result in data being loaded in the same one or more registers, while permitting the execution of other instructions of said sequence that do not require any data resulting from the completion of execution of the
Claim 16
Dependent Claim
138 words
instruction. .Iaddend. .Iadd.23. The data processing system of claim 22 wherein said control means includes means for generating data transfer commands to the external unit transfer means, means for assigning a register in said CPU storing means to which data is to be transferred, and means connected to said assigning means for storing a tag identifying said assigned register in a tag register in the control means, for comparing subsequent data transfer commands to the stored tags to determine if data for these subsequent data transfer commands includes data resulting from the external unit transfer command, for clearing said tag in the tag register when the external unit data transfer is complete, and for delaying the execution of any subsequent data transfer commands requiring data from the result of this external unit data transfer until the tag has
Claim 17
Dependent Claim
50 words
been cleared. .Iaddend. .Iadd.24. The data processing system of claim 23 wherein said control means further includes: means for cancelling a previous data transfer command in the event that a subsequent data transfer command assigns the same register assigned by the previous command before the previous command transfer is completed.
Claim 18
Dependent Claim
243 words
.Iaddend. .Iadd.25. The data processing system of claim 24 wherein said storing means includes means for generating register to register transfer commands, and said control means further includes means for comparing said register to register transfer commands to said stored tags and for cancelling a previous data transfer command in the event that a subsequent register to register transfer command transfers data to the same register assigned by the previous command before the previous command transfer is completed. .Iaddend. .Iadd.26. The data processing of claim 23 wherein said control means further includes means for assigning each one of the plurality of registers in said CPU storing means to which data is to be transferred, a plurality of tag registers, means for storing a tag identifying each of said assigned registers in one of the plurality of tag registers, for comparing subsequent data transfer commands to each of the stored tags to determine if data for these subsequent data transfer commands includes data resulting from one of the external unit transfer commands, for clearing one of the plurality of tags in the tag registers when its respective external unit data transfer is complete, and for delaying the execution of any subsequent data transfer commands requiring data from the result of this external unit data transfer until the tag has been cleared, and means for delaying the execution of any subsequent instruction requiring the assignment of a register when there are no tag registers available.
Claim 19
Dependent Claim
387 words
.Iaddend. .Iadd.27. The data processing system of claim 26 wherein said control means further includes means for clearing any one of the plurality of tags in the tag register when its respective external unit data transfer is complete, irrespective of the order in which the tags were assigned. .Iaddend. .Iadd.28. A data processing system comprising: means for executing a sequence of instructions; means connected to the executing means for storing data in a plurality of registers; means connected to the executing means and storing means for transferring data within registers concurrently during the transfer of data to or from an external unit, and control means connected to the executing means, transferring means and storing means for controlling the transfer of data and further including means for determining when data to be loaded into one or more of the CPU registers by execution of at least two instructions in a sequence of instructions has not been stored in one or more of the registers as required by the at least two instructions and waiting for the completion of execution of the at least two instructions until either data required by said instructions is stored in said one or more registers or until a subsequent instruction in said sequence is encountered which will result in data being loaded in the same one or more registers, while permitting the execution of other instructions of said sequence that do not require any data resulting from the completion of execution of said at least two instructions. .Iaddend. .Iadd.29. The data processing system of claim 28 wherein said control means includes means for generating data transfer commands to the external unit transfer means, means for assigning a register in said storing means to which data is to be transferred, and means connected to said assigning means for storing a tag identifying said assigned register in a tag register in the control means, for comparing subsequent data transfer commands to the stored tags to determine if data for these subsequent data transfer commands includes data resulting from the external unit transfer command, for clearing said tag in the tag register when the external unit data transfer is complete, and for delaying the execution of any subsequent data transfer commands requiring data from the result of this external unit data transfer until the tag has
Claim 20
Dependent Claim
294 words
been cleared. .Iaddend. .Iadd.30. The data processing system of claim 29 wherein said control means further includes: means for cancelling a previous data transfer command in the event that a subsequent data transfer command assigns the same register assigned by the previous command before the previous command transfer is completed. .Iaddend. .Iadd.31. The data processing system of claim 30 wherein said storing means includes means for generating register to register transfer commands, and said control means further includes means for comparing said register to register transfer commands to said stored tags and for cancelling a previous data transfer command in the event that a subsequent register to register transfer command transfers data to the same register assigned by the previous command before the previous command transfer is completed. .Iaddend. .Iadd.32. The data processing system of claim 29 wherein said control means further includes means for assigning each one of the plurality of registers in said CPU storing means to which data is to be transferred, a plurality of tag registers, means for storing a tag identifying each of said assigned registers in one of the plurality of tag registers, for comparing subsequent data transfer commands to each of the stored tags to determine if data for these subsequent data transfer commands includes data resulting from one of the external unit transfer commands, for clearing one of the plurality of tags in the tag registers when its respective external unit data transfer is complete, and for delaying the execution of any subsequent data transfer commands requiring data from the result of this external unit data transfer until the tag has been cleared, and means for delaying the execution of any subsequent instruction requiring the assignment of a register when there are no tag registers available.
Claim 21
Dependent Claim
322 words
.Iaddend. .Iadd.33. The data processing system of claim 32 wherein said control means further includes means for clearing any one of the plurality of tags in the tag register when its respective external unit data transfer is complete, irrespective of the order in which the tags were assigned. .Iaddend. .Iadd.34. A data processing system, comprising: means for executing a sequence of instructions; means connected to the executing means for storing data in a plurality of registers; means connected to the executing means and the storing means for transferring data between registers concurrently during transfer of data to or from an external unit; and control means connected to the executing means, transferring means and storing means for controlling the transfer of data, said control means including means for determining when data to be stored in at least a first register by execution of a first instruction in said sequence of instructions has not been stored in said first register, determining when data to be stored in at least a second register by execution of a second instruction in said sequence of instructions has not been stored in said second register, waiting for the completion of execution of said first instruction until data is loaded in said first register, while permitting the execution of other instructions of said sequence that do not require any data resulting from the completion of execution of said first instruction, concurrently waiting for the completion of execution of said second instruction until data is loaded in said second register, while permitting the execution of other instructions of said sequence that do not require any data resulting from the completion of execution of said second instruction, and cancelling the execution of either of said first or second instructions if any of said other instructions of said sequence designate either said first or second registers as a destination register before completion of execution of said first or second instruction, respectively. .Iaddend.
Claim 22
Dependent Claim
214 words
.Iadd.35. The data processing system of claim 34 wherein said control means further includes means for assigning each one of the plurality of registers in said CPU storing means to which data is to be transferred, a plurality of tag registers, means for storing a tag identifying each of said assigned registers in one of the plurality of tag registers, for comparing subsequent data transfer commands to each of the stored tags to determine if data for these subsequent data transfer commands includes data resulting from one of the external unit transfer commands, for clearing one of the plurality of tags in the tag registers when its respective external unit data transfer is complete, and for delaying the execution of any subsequent data transfer commands requiring data from the result of this external unit data transfer until the tag has been cleared, and means for delaying the execution of any subsequent instruction requiring the assignment of a register when there are no tag registers available. .Iaddend. .Iadd.36. The data processing system of claim 35 wherein said control means further includes means for clearing any one of the plurality of tags in the tag register when its respective external unit data transfer is complete, irrespective of the order to which the tags were assigned. .Iaddend.