1. A method for accelerating execution of read operations, comprising:
generating a plurality of speculative read requests;
sending a first number of the plurality of the speculative read requests to a device coupled to an endpoint component via a wireless medium;
receiving of one or more read completion messages from the device;
tracking a number of received read completion messages;
receiving a real read request from the endpoint component;
sending one of the one or more received read completion messages to the endpoint component if one of the one or more received read completion messages corresponds to the real read request or if one of the one or more received read completion messages corresponds to one of the first number of the plurality of speculative read requests; and
sending a second number of the plurality of speculative read requests if the tracked number of received completion messages is greater than a threshold number.
2. The method of claim 1, further comprising:
determining if the received real read request matches one of the plurality of speculative read requests;
storing the received real read request if a match exists; and
storing an identifier of one of the plurality of speculative read requests if a match does not exist, upon determining the one of the plurality of speculative read requests does not correspond to the one or more of the received read completion messages.
3. The method of claim 2, further comprising:
sending, to the device, the received real read request if a match does not exist.
4. The method of claim 3, further comprising:
checking if each of the received read completion messages is responsive to the received real read request or if one of the plurality of speculative read requests corresponds to the one or more received read completion messages;
sending, to the endpoint component, each of the received read completion messages responsive to the received real read request; and
translating each of the received read completion messages to match an identifier of a stored real read request for each of the received read completion messages responsive to the speculative read request of the plurality of speculative read requests corresponding to the one or more received read completion messages.
5. The method of claim 1, wherein the generation of the plurality of speculative read requests is triggered upon reception of a consecutive threshold number of real read requests directed to the same address space.
6. The method of claim 1, wherein the bus is a distributed peripheral component interconnect express (PCIe) bus.
7. An apparatus for accelerating execution of read operations, comprising:
circuitry coupled to an endpoint component, wherein the circuitry is coupled to a device via a wireless medium and is configured to:
generate a plurality of speculative read requests;
send a first number of the plurality of speculative read requests to the device;
receive one or more read completion messages from the device;
track a number of received read completion messages;
receive a real read request from the endpoint component;
send one of the one or more received read completion messages to the endpoint component if one of the more or more received read completion messages corresponds to the real read request or if one of the one or more received read completion messages corresponds to one of the first number of the plurality of speculative read requests; and
send a second number of the plurality of speculative read requests if the tracked number of received completion messages is greater than a threshold number.
8. The apparatus of claim 7, wherein the circuitry is further configured to:
determine if the received real read request matches one of the plurality of speculative read requests;
store the received real read request if a match exists; and
store an identifier of one of the plurality of speculative read requests, if a match does not exist, upon determining the one of the plurality of speculative read requests does not correspond to one or more of the received read completion messages.
9. The apparatus of claim 8, wherein the circuitry is further configured to send, to the device, the received real read request if a match does not exist.
10. The apparatus of claim 9, wherein the circuitry is further configured to:
check if each of the received read completion messages is responsive to the received real read request or if one of the plurality of speculative read requests corresponds to the one or more received read completion messages;
send, to the endpoint component, each of the received read completion messages responsive to the received real read request; and
translate each of the received read completion messages to match an identifier of a stored real read request for each of the received read completion messages responsive to the speculative read request of the plurality of speculative read requests corresponding to the one or more received read completion messages.
11. The apparatus of claim 7, wherein the circuitry is configured to generate the plurality of speculative read requests upon reception of a consecutive threshold number of real read requests directed to the same address space.
12. The apparatus of claim 7, wherein the circuitry is coupled to the device though a distributed peripheral component interconnect express (PCIe) bus.
13. An apparatus for accelerating execution of read operations, comprising:
circuitry coupled to a device, wherein the circuitry is coupled to an endpoint component over a wireless medium and is configured to:
receive a read request from the device;
compute a wait time for transmission of the received read request;
wait for the computed wait time to elapse;
transmit the received read request to the endpoint component once the wait time has elapsed; and
receive a new read request from the device after receiving greater than a threshold number of read completion messages from the device.
14. The apparatus of claim 13, wherein the wait time is computed as a function of a size of data to be read.
15. The apparatus of claim 13, wherein the circuitry is coupled to an endpoint component by a distributed peripheral component interconnect express (PCIe) bus.
16. The apparatus of claim 15, wherein the read request and the read completion messages are encapsulated in transaction layer packets of the distributed PCIe bus.
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 sensor system for detecting an object comprising:
a signal source for transmitting at least a first and a second sensor signal toward said object and receiving a first and a second reflected signal therefrom, and for generating a first and a second information signal based on the first and the second reflected signals, respectively; and
an information processor programmed to receive said first and second information signal from said signal source and to determine bearing information for said object based on a phase difference between said first and second information signal.
2. The sensor system of claim 1, wherein said information processor is further programmed to determine velocity and direction information for said object.
3. The sensor system of claim 1, wherein said signal source comprises:
a pulse source for providing the at least first and second sensor signal;
at least a first antenna for transmitting said first sensor signal pulse and a second antenna for transmitting said second sensor signal pulse, wherein said first antenna is adapted to receive a first reflected signal from said object, and said second antenna is adapted to receive a second reflected signal from said object;
an information signal generator for providing said first information signal to said information processor if a portion of said first signal pulse and said first reflected signal pulse are present concurrently in said information signal generator and providing said second information signal to said information processor if a portion of said second signal pulse and said second reflected signal pulse are present concurrently in said information signal generator.
4. The sensor of claim 3, wherein the pulse source comprises an oscillator coupled to a pulse generator, said pulse generator configured to generate a pulse having a pulse length equal to a predetermined pulse duration, and said pulse generator pulsing a bias of the oscillator to provide the pulsed signal to the phase shifter module.
5. The sensor of claim 4 wherein said oscillator is a voltage controlled oscillator.
6. The sensor of claim 3, wherein the pulse source comprises an oscillator that generates an oscillator signal, a pulse generator that generates a pulse having a pulse length equal to the predetermined pulse duration, and an RF switch coupled to the oscillator and the pulse generator, the RF switch being responsive to the pulse and providing the pulsed signal to the phase shifter module.
7. The sensor of claim 6, wherein the oscillator is a voltage controlled oscillator.
8. The sensor system of claim 3, wherein said information signal generator comprises at least one dual mode mixer to mix said first sensor signal pulse with said first reflected signal pulse and to mix said second sensor signal pulse with said second reflected signal pulse.
9. The sensor system of claim 8, wherein said pulse source further comprises:
at least one phase shifter to phase shift said first signal pulse by a first predetermined angle, and to phase shift both said second signal pulse and said second reflected signal pulse by a second predetermined angle;
wherein said first information signal comprises said phase shifted first sensor signal pulse and said first reflected signal pulse; and said second information signal comprises said phase shifted second sensor signal pulse and said phase shifted second reflected signal pulse.
10. The sensor system of claim 8 wherein said phase shifter comprises a first delay line placed before said first dual mode mixer and a second delay line placed after said second dual mode mixer, said first and second delay line each introducing a phase delay of 45 degrees to a signal passing therethrough.
11. The sensor system of claim 1, wherein said first and second sensor signals are in-phase with each other and said first and second information signal are in quadrature with each other.
12. The sensor system of claim 3, wherein first antenna and second antenna each have an aperture separated by a distance not greater than one half the wavelength of the pulsed signal.
13. The sensor system of claim 1, wherein said information processor comprises a signal sampling circuit for sampling said first and second information signal to provide a plurality of sample points and a microprocessor programmed to calculate said bearing information from said sample points.
14. The sensor system of claim 8, wherein said information processor further comprises:
a first holding capacitor coupled between a first dual mode mixer and a first voltage reference node, wherein the first holding capacitor stores at least a portion of said first information signal;
a second holding capacitor coupled between a second dual mode mixer and a second voltage reference node, wherein the second holding capacitor stores at least a portion of said second information signal;
a preamplifier coupled to said first holding capacitor and said second holding capacitor and providing a first and second preamplified signal, from said first and second holding capacitors, respectively;
a sampler coupled to said preamplifier to sample said first and second preamplified signal to generate first and second set of sample points therefrom.
15. The sensor system of claim 13, wherein said first information signal is sampled to create a first set of sample points and said second information signal is sampled to create a second set of sample points, and wherein said microprocessor is programmed to:
perform coordinate transformation of said first and second set of sample points, wherein said transformed first and second set of sample points define part of an ellipse, said ellipse having bases a and b;
calculate amplitude delta of said transformed first and second sets of sample points to create a first and second set of delta coordinates for said ellipse;
solve a linear system of equations for said bases a and b; and
calculate said bearing information for said object using said bases a and b.
16. The sensor system of claim 15, wherein said microprocessor is further programmed to:
transform sample pairs formed from said first and second set of sample points to define a circle;
calculate a phase difference between said transformed sample pairs; and
calculate speed of said object with said phase differences.
17. A method for calculating bearing information for an object, the method comprising the steps of:
transmitting at least a first and second sensor signal pulse toward said object;
receiving a first and second reflected signal pulse therefrom;
generating a first and second information signal from said first and second reflected signal pulse; and
determining bearing information for said object based on a phase difference between said first and second information signal.
18. In a method for calculating bearing information for an object, wherein a first and second information signal are created from a first and second signal pulse reflected from said object, the method comprising the steps of:
generating a first and second set of sample points from said first and second information signal, respectively;
performing coordinate transformation of said first and second set of sample points, wherein said transformed first and second set of sample points define part of an ellipse, said ellipse having bases a and b;
calculating amplitude delta of said transformed first and second sets of sample points to create a first and second set of delta coordinates for said ellipse;
solving a linear system of equations for said bases a and b using said delta coordinates; and
calculating said bearing information for said object using said bases a and b.
19. The method of claim 18, further comprising the steps of:
transforming sample pairs formed from said first and second set of sample points to define a circle;
calculating a phase difference between said transformed sample pairs; and
calculating speed of said object with said phase differences.