How does a microcontroller provide a frequency higher than its crystal frequency?
Many microcontrollers do have one or more PLL inside them, but also internal clock oscillators. In most complex devices, different peripherals can be clocked with different clock sources as well.

What a PLL does is that it has a oscillator inside it (called VCO) and it uses the crystal (8 MHz in your case) as reference. In this case to get 48 MHz, the VCO output would be divided by 6, and compared that the divided VCO output matches the crystal frequency. This means that VCO output is 6*8 MHz or 48 MHz.

The maximum speed a microcontroller can output on its pins is said in the datasheet.