According to another similar question on Bitcoin Stack Exchange, https://en.bitcoin.it/wiki/Block_hashing_algorithm shows how the mining algorithm works for Bitcoin. The problem is, it shows the nonce as being not larger than 2^32. When someone has gone through all the values the nonce can have, it seems the time changes and the search for a proper nonce begins anew, as even changing the second by 1 is enough to warrant testing the nonces again in the hashing algorithm.
As it relates to the actual mining algorithm/software, with all this in mind, how can mining hardware provide billions or trillions of hashes per second when each second only provides ~4.3 billion different nonces and requires a new "second of time" to change the time so as to begin anew with the nonces? It seems as though in the most extreme circumstances, even having the "merkle root" changing due to the addition of a transaction to the block would not occur frequently enough for the most powerful ASICs to always have work to do.
To the extent that it is possible I am seeking a potentially elaborate yet easy to understand answer.