What you will find is that a microcontroller has a limited ability to be a good frequency counter. I will try and describe what a micro may be able to achieve.
Here is the article about the 5315A counter
http://www.hpl.hp.com/hpjournal/pdfs/IssuePDFs/1979-01.pdfI have attached a block diagram of the counter IC.
If you want to use a micro to do the counting, the micro has to implement similar functionality. The interesting thing about this diagram is that it differentiates the dark blue high speed logic that has to be done in hardware with the light blue low speed that can be done in micro memory via interrupts.
So to do as much as possible in a micro, you will need at least two hardware counters - preferably 16 bit. If the counters can have a count input and a separate input that can gate the counter (ie start and stop it), that is more promising. The hardware counter cannot store the full 8 or more digits of resolution you will want, so when one of the counters overflows, it generates an interrupt and a bigger counter in micro memory gets incremented.
A third thing that is needed is the gate time which in this counter is just done with a RC circuit. So you could use a simple NE555 timer circuit with an attached potentiometer if you wanted to.
So here is the sequence to try and match the 1974-type technique. In the following, the word "input" means the actual signal input into the frequency counter with the unknown frequency.
The 555 goes high:
Counter1 starts counting at a 10MHz rate the first time the input goes high.
Counter2 starts counting the number of low to high transitions from the input.
When the 555 output goes low:
Counter1 stops counting on the first high transition of the input after the 555 goes low.
Counter2 stops counting as soon as the 555 output goes low.
Now what you have is that Counter2 has the number of input cycles that happened during the 555 high time. Lets call in N cycles.
Counter1 has the period in increments of 100ns of N cycles.
The period of each input cycle will be Counter1/Counter2
The frequency will be the inverse - Counter2/Counter1
As long as the gate time is longer then the period of the signal on the input, this method will always return a precision of reading that is near to Gating period x 10MHz.
So if the gating period is 1 second you can get 6 or 7 digits of resolution
If the gating period is 10 seconds, you get 7 or 8 digits of resolution
100 seconds can give 9 digits.
To measure frequencies higher then the micro can count directly, add divider ICs between the input and the micro.
Now if you feel like taking the step to a FPGA, you can fully implement the counters of any length in hardware, you can run at 200MHz or more, you can add the exact gating and sequencing logic you need, and you can come back later and change the FPGA design to improve the counter without changing any hardware. It is just an option as the best way to learn FPGA's is to have an interesting project. You can just get a FPGA demo board and use it directly in you project.