1. A method of communicating between caches of different processing units in a multiprocessor computer system, comprising the steps of: synchronizing the caches to create aligned windows of time during which each cache must snoop any pending cache operations; and issuing a cache operation from one of the caches during one of the aligned windows of time.