1460938654-0fba29f6-d08f-44e2-9723-67ad0351504a

What is claimed is:

1. A method of returning a rental vehicle to a rental agency facility, comprising:
detecting a location of the rental vehicle; and
commanding the rental vehicle to wirelessly communicate diagnostic information.
2. A method of returning the rental vehicle according to claim 1, wherein the diagnostic information comprises at least one of mileage of the rental vehicle, fuel contained in the rental vehicle, and a number identifying the rental vehicle.
3. A method of returning the rental vehicle according to claim 2, further comprising generating a receipt using the diagnostic information.
4. A method of returning the rental vehicle according to claim 3, further comprising wirelessly communicating the receipt to a rental agency bus.
5. A method of returning the rental vehicle according to claim 4, further comprising printing the receipt at the rental agency bus.
6. A method of returning the rental vehicle according to claim 1, wherein the step of detecting the location of the rental vehicle comprises detecting the rental vehicle entering the rental agency facility.
7. A method of returning a rental vehicle to a rental agency facility, comprising:
wirelessly receiving diagnostic information from the rental vehicle; and
forwarding the diagnostic information to the rental agency.
8. A method of returning the rental vehicle according to claim 7, further comprising associating the rental vehicle to the rental agency.
9. A method of returning the rental vehicle according to claim 7, further comprising associating a Vehicle Identification Number of the rental vehicle to the rental agency.
10. A method of returning the rental vehicle according to claim 7, further comprising associating a Vehicle Identification Number of the rental vehicle to the rental agency renting the vehicle.
11. A method of returning the rental vehicle according to claim 7, wherein the step of forwarding the diagnostic information to the rental agency comprises forwarding at least one of mileage of the rental vehicle, fuel contained in the rental vehicle, and a number identifying the rental vehicle to the rental agency.
12. A method of returning the rental vehicle according to claim 7, wherein the step of wirelessly receiving the diagnostic information comprises wirelessly receiving the diagnostic information by a manufacturer of the rental vehicle.
13. A method of returning the rental vehicle according to claim 7, wherein the step of forwarding the diagnostic information comprises forwarding the diagnostic information from a manufacturer of the rental vehicle to the rental agency.
14. A method of returning the rental vehicle according to claim 7, wherein the step of forwarding the diagnostic information comprises forwarding the diagnostic information to the rental agency via the Internet.
15. A method of returning a rental vehicle to a rental agency facility, comprising:
receiving diagnostic information from a manufacturer of the rental vehicle; and
generating a record of a rental transaction using the diagnostic information.
16. A method of returning the rental vehicle according to claim 15, further comprising generating a receipt of the rental transaction.
17. A method of returning the rental vehicle according to claim 16, further comprising wirelessly communicating the receipt to a rental agency bus.
18. A method of returning the rental vehicle according to claim 16, further comprising printing the receipt at a rental agency bus.
19. A method of returning the rental vehicle according to claim 16, further comprising emailing the receipt.
20. A method of returning the rental vehicle according to claim 15, further comprising requesting a manufacturer of the rental vehicle to obtain the diagnostic information.

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 for designing a processor, comprising:
generating an initial architecture for a processor to execute at least one algorithm, wherein the initial architecture includes a set of processor components that comprise, at least, a processing element, a memory element and an information transfer mechanism;
simulating execution of the at least one algorithm by the initial architecture to determine a modification to the initial architecture;
creating a processor design based on the modification to the initial architecture; and
determining a flexibility metric for a processor component in the set of processor components to measure a change in functional flexibility due to the modification to the processor component of the initial architecture,
wherein the flexibility metric comprises:
a quantification of the ability for any input to reach any output for information transfer mechanisms in the processor component, and one of:
a ratio of available processing elements to required processing elements for processing elements in the processor component; and
a ratio of available memory elements to required memory elements for memory elements in the processor component,
wherein the functional flexibility of the modified processor component decreases if one or more design elements are eliminated from the processor component of the initial architecture.
2. The method of claim 1, wherein the generating comprises determining a usage pattern of the processing element, the memory element and the information transfer mechanism.
3. The method of claim 1, wherein the generating comprises accepting a high level program code and transforming the high level program code into a low level code.
4. The method of claim 1, wherein the simulating comprises collecting functional information of the processing element, the memory element and the information transfer mechanism and producing a hardware resource usage report, wherein the functional information comprises utilization characteristics of the processing element, the memory element and the information transfer mechanism.
5. The method of claim 4, wherein the creating comprises selectively eliminating at least one of an under-utilized processing element, an under-utilized memory element and an under-utilized information transfer mechanism according to the hardware resource usage report.
6. The method of claim 1, further comprising verifying the processor design.
7. The method of claim 1, further comprising producing a hardware description language of the processor design.
8. The method of claim 1, wherein the effect is a tradeoff to an increase in performance.
9. The method of claim 1, wherein the processor design includes an application-specific architecture that is smaller in area or is higher in throughput or consumes lower power than the initial architecture.
10. The method of claim 1, wherein the initial architecture is fully programmable.
11. An apparatus for designing a processor, comprising:
one or more processors;
a module that generates an initial architecture for a processor to execute at least one algorithm, wherein the initial architecture includes a set of processor components that comprise, at least, a processing element, a memory element and an information transfer mechanism;
a module that determines computational resources for execution of the at least one algorithm on the initial architecture;
a module that creates a processor design based on the computational resources and the initial architecture; and
a module that determines a flexibility metric for a processor component in the set of processor components to measure a change in functional flexibility due to the modification to the processor component of the initial architecture,
wherein the flexibility metric comprises:
a quantification of the ability for any input to reach any output for information transfer mechanisms in the processor component, and one of:
a ratio of available processing elements to required processing elements for processing elements in the processor component; and
a ratio of available memory elements to required memory elements for memory elements in the processor component,
wherein the functional flexibility of the modified processor component decreases if one or more design elements are eliminated from the processor component of the initial architecture.
12. The apparatus of claim 11, wherein the module that generates comprises a module that iteratively determines a usage pattern of the processing element, the memory element and the information transfer mechanism.
13. The apparatus of claim 11, wherein the module that generates comprises a module that accepts a high level program code and transforms the high level program code into a low level code.
14. The apparatus of claim 11, wherein the module that determines computational resources comprises a module that collects functional information of the processing element, the memory element and the information transfer mechanism and produces a hardware resource usage report, wherein the functional information comprises utilization characteristics of the processing element, the memory element and the information transfer mechanism.
15. The apparatus of claim 14, wherein the module that creates comprises a module that selectively eliminates at least one of an under-utilized processing element, an under-utilized memory element and an under-utilized information transfer mechanism according to the hardware resource usage report.
16. The apparatus of claim 11, further comprising at least one of a module that verifies the processor design, and a module that produces a hardware description language of the processor design.
17. A computer program product comprising a non-transitory nonvolatile computer-readable storage medium having instructions stored thereon, the instructions comprising:
code for generating an initial architecture for a processor to execute at least one algorithm, wherein the initial architecture includes a set of processor components that comprise, at least, a processing element, a memory element and an information transfer mechanism;
code for simulating execution of the at least one algorithm by the initial architecture to determine a modification to the initial architecture;
code for creating a processor design based on the modification to the initial architecture; and
code for determining a flexibility metric for a processor component in the set of processor components to measure a change in functional flexibility due to the modification to the processor component of the initial architecture,
wherein the flexibility metric comprises:
a quantification of the ability for any input to reach any output for information transfer mechanisms in the processor component, and one of:
a ratio of available processing elements to required processing elements for processing elements in the processor component; and
a ratio of available memory elements to required memory elements for memory elements in the processor component,
wherein the functional flexibility of the modified processor component decreases if one or more design elements are eliminated from the processor component of the initial architecture.
18. The non-transitory nonvolatile computer-readable storage medium of claim 17, wherein the code for generating an initial architecture for a processor to execute at least one algorithm comprises at least one of code for iteratively determining a usage pattern of the processing element, the memory element and the information transfer mechanism and code for accepting a high level program code and transforming the high level program code into a low level code.
19. The non-transitory nonvolatile computer-readable storage medium of claim 17, wherein the code for simulating execution of the at least one algorithm by the initial architecture to determine a modification to the initial architecture comprises code for collecting functional information of the processing element, the memory element and the information transfer mechanism and producing a hardware resource usage report, wherein the functional information comprises utilization characteristics of the processing element, the memory element and the information transfer mechanism.
20. The non-transitory nonvolatile computer-readable storage medium of claim 19, wherein the code for creating a processor design based on the modification to the initial architecture comprises code for selectively eliminating at least one of an under-utilized processing element, an under-utilized memory element and an under-utilized information transfer mechanism according to the hardware resource usage report.