A standard frequency for a modern computer processor is 1-3 GHz. The frequency of a GPS signal is ~1.5 GHz. My question is how is it possible for a computer to do anything at all with a signal that it can only sample once or twice in a period?
In digital signal processing, one almost never deals directly with high-frequency signals. The reason is that the frequency band that a signal occupies is completely irrelevant to the information that the signal conveys; the information exists in the envelope of the signal, which usually can be handled either by a generic CPU, a DSP, FPGA, or ASIC.
So, let's say that your GPS signal is $s(t)=x(t)\cos(2\pi f_c t)$, where $f_c\approx1.5\,\text{GHz}$. The actual information is in the envelope $x(t)$; the purpose of the cosine is simply to shift ("upconvert") $x(t)$ to some appropriate band. In the receiver, the signal $s(t)$ is "downconverted" to some lower (or even zero) frequency $f_I$, but this is done in the analog domain (i.e. by RF electronics), to obtain $s_1(t)=x(t)\cos(2\pi f_I t)$. The signal $s_1(t)$ has a small bandwidth, so it requires a small sampling rate, that can be handled in the digital domain.
Note that for quadrature signals the math is very slightly more complicated; see this question and the complex envlope article in wikipedia.
Note also that a similar process exists in the transmitter: the upconversion to RF is done in the analog domain, after the discrete envelope has been converted to an anlog signal.