Does the block reward get halved every 4 years regardless of hardware advancements?
The block halving takes place every 210,000 blocks. The difficulty retargeting mechanism makes it so that 210,000 blocks take approximately 4 years, but this is not exact. If the hashrate is rapidly growing, it will take a little less than that.

For example, if the total network hashrate doubles every year, it will take about 1 month less. If it doubles every week (increases by a factor of 4.5 quadrillion every year), it will take only 2 years.