Teapot: a domain-specific language for writing cache coherence protocols | IEEE Journals & Magazine | IEEE Xplore