How does an ASIC Bitcoin miner work on a fundamental level?

I’d like to understand how ASIC miners are more efficient at mining bitcoin. Having a background in CS, how does the ASIC miner work on a binary level on the CPU and why is it so much faster?