Data flows and their interaction with control flows
First Claim
Patent Images
1. A method of processing data by a computer having processing means and data storage, the method comprising:
- providing two or more activity sequences that are to be performed in series by the computer during a run-time, each of the activity sequences requiring input data and producing output data; and
determining, during the run-time for each of the activity sequences, locations in the data storage from which the input data is to be read and to which the output data is to be written by the processing means;
estimating, during a compilation time, a maximum proportion of the data storage required to store data written to and read from the data storage for one or more of the activity sequences,wherein the estimating is performed prior to the determining;
wherein, for each of the activity sequences, recognizing that a part of the data storage that was reserved for the activity sequences is unneeded during the run-time execution of that activity sequences and releasing the reservation of that part;
wherein, for at least one of the activity sequences, said locations are determined during the run-time, prior to the commencement of the at least one of the activity sequences and subsequent to the commencement of at least one other of the activity sequences; and
wherein said locations in the data storage are grouped to form groups of memory blocks, and the method further comprises powering down one or more groups of unneeded memory blocks.
4 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for processing data by a computer and a method of determining data storage requirements of a computer for earning out a data processing task.
8 Citations
27 Claims
-
1. A method of processing data by a computer having processing means and data storage, the method comprising:
-
providing two or more activity sequences that are to be performed in series by the computer during a run-time, each of the activity sequences requiring input data and producing output data; and determining, during the run-time for each of the activity sequences, locations in the data storage from which the input data is to be read and to which the output data is to be written by the processing means; estimating, during a compilation time, a maximum proportion of the data storage required to store data written to and read from the data storage for one or more of the activity sequences, wherein the estimating is performed prior to the determining; wherein, for each of the activity sequences, recognizing that a part of the data storage that was reserved for the activity sequences is unneeded during the run-time execution of that activity sequences and releasing the reservation of that part; wherein, for at least one of the activity sequences, said locations are determined during the run-time, prior to the commencement of the at least one of the activity sequences and subsequent to the commencement of at least one other of the activity sequences; and wherein said locations in the data storage are grouped to form groups of memory blocks, and the method further comprises powering down one or more groups of unneeded memory blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of determining data storage requirements of a computer for carrying out a data processing task, the computer having processing means and data storage, the method comprising:
-
providing two or more activity sequences that are to be performed in series by the computer in a run-time, each of the activity sequences requiring input data and producing output data; determining, during the run-time for each of the activity sequences, locations in the data storage from which the input data is to be read and to which the output data is to be written by the processing means, wherein, for at least one of the activity sequences, said locations are determined during the run-time, prior to the commencement of the at least one of the activity sequences and subsequent to the commencement of at least one other of the activity sequences; estimating, during a compilation time, for one or more of the activity sequences, a maximum proportion of the data storage required to store data written to and read from the data storage, wherein the estimating is performed prior to the determining; reserving, during the compilation time, said proportion of the data storage for the processing means to write data to and read data from; recognizing that a part of the data storage that was reserved for the activity sequences is unneeded during the run-time execution of that activity sequences and releasing the reservation of that part; grouping said locations in the data storage, wherein said locations are grouped to form groups of memory blocks; and powering down one or more groups of unneeded memory blocks. - View Dependent Claims (13, 14, 15)
-
-
16. An apparatus for processing data, the apparatus comprising:
-
a processor arranged to perform two or more activity sequences that are to be performed in series during a run-time, each of the activity sequences requiring input data and producing output data; and data storage from which the input data is to be read and to which the output data is to be written by the processor; wherein the processor is further arranged to; determine, for each of the activity sequences, during the run-time and prior to commencement of the respective activity sequence and subsequent to the commencement of at least one other activity sequences, locations in the data storage from which the input data is to be read and to which the output data is to be written by the processor; estimate, during a compilation time, a maximum proportion of the data storage required to store data written to and read from the data storage for one or more of the activity sequences, wherein the estimating is performed prior to the determining; recognize, for each of the activity sequences, that a part of the data storage that was reserved for the activity sequences is unneeded during the run-time execution of that activity sequences and releasing the reservation of that part; group said locations in the data storage to form groups of memory blocks, and power down one or more groups of unneeded memory blocks. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23)
-
-
24. An apparatus for determining data storage requirements for a computer, the apparatus comprises:
-
wherein the computer comprises a processor and data storage, the computer is configured to perform two or more activity sequences in series in a run-time, each of the activity sequences requires input data and produces output data the processor is arranged to determine, during the run-time for each of the activity sequences, locations in the data storage from which the input data is to be read and to which the output data is to be written by the processor, wherein, for at least one of the activity sequences, said locations are determined during the run-time, prior to the commencement of the at least one of the activity sequences and subsequent to the commencement of at least one other of the activity sequences; an estimator arranged to estimate, during a compilation time, for one or more of the activity sequences, a maximum proportion of the data storage required to store data written to and read from the data storage, wherein the estimating is performed prior to the determining; and a controller arranged to reserve, during the compilation time, said proportion of the data storage for the processor to write data to and read data from; a detector arranged to recognize, for each of the activity sequences, that a part of the data storage that was reserved for the activity sequences is unneeded during the run-time execution of that activity sequences and releasing the reservation of that part; and the computer is further configured to; group said locations in the data storage to form groups of memory blocks, and power down one or more groups of unneeded memory blocks. - View Dependent Claims (25, 26, 27)
-
Specification