Method and system for filter-processing by ensuring a memory space for a ring-buffer in digital signal processor
AssigneeNEC Electronics Corporation
InventorYutaka Hiratani
Life of this patent
Estimating the term…
Abstract
A method of managing ring-buffer memory space in a digital signal processor when processing a filter, includes releasing ring-buffer memory space previously reserved for ring-buffer data upon completing a filter process and determining that the ring-buffer data stored in said ring-buffer memory space is no longer necessary after the filter-process is carried out.
Claims9
A method of processing at least a filter by ensuring a ring-buffer memory space in a digital signal processor, comprising the step of:
- releasing a ring-buffer memory space previously reserved for ring-buffer data upon completing a filter-process and determining that the ring-buffer data stored in said ring-buffer memory space is no longer necessary after the filter-process is carried out,
- wherein a single filter is a process, and said method comprises the steps of:
- setting a current address at a top of a data region in a ring-buffer memory space for placement of ring-buffer data to carry out an initialization;
- calculating a top address of a ring-buffer as an object for a filter-process to calculate a ring-buffer address;
- setting said calculated top address at said calculated ring-buffer address;
- ensuring a ring-buffer memory space corresponding to a ring-buffer size from said top address of said ring-buffer;
- setting said ring-buffer size in a ring-buffer register;
- carrying out a filter-process;
- and
- releasing said ring-buffer memory space if said ring-buffer data becomes no longer necessary after said filter-process, and
- wherein said step of calculating said ring-buffer address comprises the steps of:
- carrying out a decrement to a buffer size of a ring-buffer as an object of a filter-process;
- executing calculation of a left shift number, where non-zero bit is MSB, on the basis of a value of said buffer size in accordance with a normalization instruction of a digital signal processor;
- subtracting said left shift number from a bit number corresponding to a register width in order to obtain a necessary bit number for representing said ring-buffer size;
- shifting a numerical “1” in a left direction by said necessary bit number for representing said ring-buffer size;
- subjecting said shifted value to a decrement so that bits corresponding to said necessary bit number from an LSB side are made into 1 to calculate mask data as mask values;
- masking a current address in a data memory space by said mask data;
- and
- confirming whether or not said masked address is 0, and if said masked address is 0, then said current address becomes a top address of said ring-buffer, for which said memory space is ensured, thereby calculating a top address of said ring-buffer as said object to said filter process, and if said masked address is not 0, then for said current address, bits corresponding to the above mask value become 0 and further said current address is added with a value obtained by increment to said mask value by the one-bit so that said added current address becomes a top address of said ring-buffer, for which said memory space is ensured, thereby calculating said top address of said ring-buffer as said object to said filter process.
A method of processing at least a filter by ensuring a ring-buffer memory space in a digital signal processor, comprising the step of:
- releasing a ring-buffer memory space previously reserved for ring-buffer data upon completing a filter-process and determining that the ring-buffer data stored in said ring-buffer memory space is no longer necessary after the filter-process is carried out,
- wherein first and second filters are processed, and said method comprises the steps of:
- setting a current address at a top of a data region in a ring-buffer memory space for placement of ring-buffer data to carry out an initialization;
- calculating a first top address of a first ring-buffer as a first object for a first filter-process to calculate a first ring-buffer address;
- setting said calculated first top address at said calculated first ring-buffer address;
- ensuring a first ring-buffer memory space corresponding to a first ring-buffer size from said first top address of said first ring-buffer;
- setting said first ring-buffer size in a first ring-buffer register;
- calculating a second top address of a second ring-buffer as said first object for said first filter-process to calculate a second ring-buffer address;
- setting said calculated second top address at said calculated second ring-buffer address;
- ensuring a second ring-buffer memory space corresponding to a second ring-buffer size from said second top address of said second ring-buffer;
- setting said second ring-buffer size in a second ring-buffer register;
- carrying out a first filter-process;
- and
- releasing said first and second ring-buffer memory spaces if said first and second ring-buffer data become no longer necessary after said first filter-process to renew a current address;
- calculating a third top address of a third ring-buffer as a second object for a second filter-process to calculate a third ring-buffer address;
- setting said calculated third top address at said calculated third ring-buffer address;
- ensuring a third ring-buffer memory space corresponding to a third ring-buffer size from said third top address of said third ring-buffer;
- setting said third ring-buffer size in a third ring-buffer register;
- carrying out a second filter-process;
- and
- releasing said third ring-buffer memory space if said third ring-buffer data become no longer necessary after said second filter-process to renew the current address.
A system for processing at least a filter by ensuring a ring-buffer memory space in a digital signal processor, wherein the system comprises:
- means for releasing a ring-buffer memory space previously reserved for ring-buffer data upon completing a filter-process and determining that the ring-buffer data stored in said ring-buffer memory space is no longer necessary after the filter-process is carried out,
- wherein a single filter is a process by said system, and said system comprises:
- means for setting a current address at a top of a data region in a ring-buffer memory space for placement of ring-buffer data to carry out an initialization;
- means for calculating a top address of a ring-buffer as an object for a filter-process to calculate a ring-buffer address;
- means for setting said calculated top address at said calculated ring-buffer address;
- means for ensuring a ring-buffer memory space corresponding to a ring-buffer size from said top address of said ring-buffer;
- means for setting said ring-buffer size in a ring-buffer register;
- means for carrying out a filter-process;
- and
- means for releasing said ring-buffer memory space if said ring-buffer data becomes no longer necessary after said filter-process,
- wherein said means for calculating said ring-buffer address further comprises:
- means for carrying out a decrement to a buffer size of a ring-buffer as an object of a filter-process;
- means for executing calculation of a left shift number, where non-zero bit is MSB, on the basis of a value of said buffer size in accordance with a normalization instruction of a digital signal processor;
- means for subtracting said left shift number from a bit number corresponding to a register width in order to obtain a necessary bit number for representing said ring-buffer size;
- means for shifting a numerical “1” in a left direction by said necessary bit number for representing said ring-buffer size;
- means for subjecting said shifted value to a decrement so that bits corresponding to said necessary bit number from an LSB side are made into 1 to calculate mask data as mask values;
- means for masking a current address in a data memory space by said mask data;
- and
- means for confirming whether or not said masked address is 0, and if said masked address is 0, then said current address becomes a top address of said ring-buffer, for which said memory space is ensured, thereby calculating a top address of said ring-buffer as said object to said filter process, and if said masked address is not 0, then for said current address, bits corresponding to the above mask value become 0 and further said current address is added with a value obtained by increment to said mask value by the one-bit so that said added current address becomes a top address of said ring-buffer, for which said memory space is ensured, thereby calculating said top address of said ring-buffer as said object to said filter process.
A system for processing at least a filter by ensuring a ring-buffer memory space in a digital signal processor, wherein the system comprises:
- means for releasing a ring-buffer memory space previously reserved for ring-buffer data upon completing a filter-process and determining that the ring-buffer data stored in said ring-buffer memory space is no longer necessary after the filter-process is carried out,
- wherein first and second filters are processed by said system, and said system comprises:
- means for setting a current address at a top of a data region in a ring-buffer memory space for placement of ring-buffer data to carry out an initialization;
- means for calculating a first top address of a first ring-buffer as a first object for a first filter-process to calculate a first ring-buffer address;
- means for setting said calculated first top address at said calculated first ring-buffer address;
- means for ensuring a first ring-buffer memory space corresponding to a first ring-buffer size from said first top address of said first ring-buffer;
- means for setting said first ring-buffer size in a first ring-buffer register;
- means for calculating a second top address of a second ring-buffer as said first object for said first filter process to calculate a second ring-buffer address;
- means for setting said calculated second top address at said calculated second ring-buffer address;
- means for ensuring a second ring-buffer memory space corresponding to a second ring-buffer size from said second top address of said second ring-buffer;
- means for setting said second ring-buffer size in a second ring-buffer register;
- means for carrying out a first filter-process;
- and
- means for releasing said first and second ring-buffer memory spaces if said first and second ring-buffer data become no longer necessary after said first filter-process to renew a current address;
- means for calculating a third top address of a third ring-buffer as a second object for a second filter-process to calculate a third ring-buffer address;
- means for setting said calculated third top address at said calculated third ring-buffer address;
- means for ensuring a third ring-buffer memory space corresponding to a third ring-buffer size from said third top address of said third ring-buffer;
- means for setting said third ring-buffer size in a third ring-buffer register;
- means for carrying out a second filter-process;
- and
- means for releasing said third ring-buffer memory space if said third ring-buffer data become no longer necessary after said second filter-process to renew the current address.
A storage medium for storing a computer-readable program for processing at least a filter by ensuring a ring-buffer memory space in a digital signal processor, wherein said program releases a ring-buffer memory space previously reserved for ring-buffer data upon completing a filter-process and determining that the ring-buffer data stored in said ring-buffer memory space is no longer necessary after the filter-process is carried out,
- wherein a single filter is a process, and said program comprises the steps of:
- setting a current address at a top of a data region in a ring-buffer memory space for placement of ring-buffer data to carry out an initialization;
- calculating a top address of a ring-buffer as an object for a filter-process to calculate a ring-buffer address;
- setting said calculated top address at said calculated ring-buffer address;
- ensuring a ring-buffer memory space corresponding to a ring-buffer size from said top address of said ring-buffer;
- setting said ring-buffer size in a ring-buffer register;
- carrying out a filter-process;
- and
- releasing said ring-buffer memory space if said ring-buffer data becomes no longer necessary after said filter-process,
- wherein said step of calculating said ring-buffer address comprises the steps of:
- carrying out a decrement to a buffer size of a ring-buffer as an object of a filter-process;
- executing calculation of a left shift number, where non-zero bit is MSB, on the basis of a value of said buffer size in accordance with a normalization instruction of a digital signal processor;
- subtracting said left shift number from a bit number corresponding to a register width in order to obtain a necessary bit number for representing said ring-buffer size;
- shifting a numerical “1” in a left direction by said necessary bit number for representing said ring-buffer size;
- subjecting said shifted value to a decrement so that bits corresponding to said necessary bit number from an LSB side are made into 1 to calculate mask data as mask values;
- masking a current address in a data memory space by said mask data;
- and
- confirming whether or not said masked address is 0, and if said masked address is 0, then said current address becomes a top address of said ring-buffer, for which said memory space is ensured, thereby calculating a top address of said ring-buffer as said object to said filter process, and if said masked address is not 0, then for said current address, bits corresponding to the above mask value become 0 and further said current address is added with a value obtained by increment to said mask value by the one-bit so that said added current address becomes a top address of said ring-buffer, for which said memory space is ensured, thereby calculating said top address of said ring-buffer as said object to said filter process.
A storage medium for storing a computer-readable program for processing at least a filter by ensuring a ring-buffer memory space in a digital signal processor, wherein said program releases a ring-buffer memory space previously reserved for ring-buffer data upon completing a filter-process and determining that the ring-buffer data stored in said ring-buffer memory space is no longer necessary after the filter-process is carried out,
- wherein first and second filters are processed, and said program comprises the steps of:
- setting a current address of a top of a data region in a ring-buffer memory space for placement of ring-buffer data to carry out an initialization;
- calculating a first top address of a first ring-buffer as a first object for a first filter-process to calculate a first ring-buffer address;
- setting said calculated first top address at said calculated first ring-buffer address;
- ensuring a first ring-buffer memory space corresponding to a first ring-buffer size from said first top address of said first ring-buffer;
- setting said first ring-buffer size in a first ring-buffer register;
- calculating a second top address of a second ring-buffer as said first object for said first filter-process to calculate a second ring-buffer address;
- setting said calculated second top address at said calculated second ring-buffer address;
- ensuring a second ring-buffer memory space corresponding to a second ring-buffer size from said second top address of said second ring-buffer;
- setting said second ring-buffer size in a second ring-buffer register;
- carrying out a first filter-process;
- and
- releasing said first and second ring-buffer memory spaces if said first and second ring-buffer data become no longer necessary after said first filter-process to renew a current address;
- calculating a third top address of a third ring-buffer as a second object for a second filter-process to calculate a third ring-buffer address;
- setting said calculated third top address at said calculated third ring-buffer address;
- ensuring a third ring-buffer memory space corresponding to a third ring-buffer size from said third top address of said third ring-buffer;
- setting said third ring-buffer size in a third ring-buffer register;
- carrying out a second filter-process;
- and
- releasing said third ring-buffer memory space if said third ring-buffer data become no longer necessary after said second filter-process to renew the current addresses.
Dependencies are inferred from the claim text.