Package On Package (PoP)
Package on Package is, as the name implies, the technique of stacking ic packages on top of each other. It is mainly used with BGA packages but it is not limited to that. This allows us to have more density in the same board "real estate" and aids the miniaturization trends. Unfortunately the number of chips that can be stacked are limited to just a few (mainly two) because heat from multiple stacked chips can cause reliability issues.
An example of PoP could be the foveros technology that intel is using, even though this is more of an example of heterogeneous integration. Despite that, the execution is pretty similar.
In order to protect the connections between the chips we need to use an underfill, either capillary or preapplied. Some options for this method are:
CUF (Capillary)
NCP (Pre-applied)