Trevor Mudge


Doctor (examining a life insurance prospect): “Do you ever talk in your sleep?”
Prospect: “No, but I often talk in other people’s sleep”
Doctor: “But how can that be?”
Prospect: “I’m a college professor.”
                #230 in “Ten Hundred Laughs” Ray Scruggs Houston TX 1928

Bio in less than 100 words

Trevor Mudge received the Ph.D. in Computer Science from the University of Illinois, Urbana. He is now the Bredt Family Professor of Computer Science and Engineering at the University of Michigan, Ann Arbor. He is author of numerous papers on computer architecture, programming languages, VLSI design, and computer vision. He has also chaired 54 theses in these areas. In 2014 he received the ACM/IEEE CS Eckert-Mauchly Award and the University of Illinois Distinguished Alumni Award. He is a Life Fellow of the IEEE, a Fellow of the ACM, and a member of the IET and the British Computer Society.

Computer Architecture and Design

Most of my research and teaching focusses on computer architecture and related areas.

Picture Above is a 128-core multiprocessor, Centip3De, that was designed and built by our group at Michigan in 2010. It is remarkable in that it stacks seven silicon dies on top of one another. Four of the die contain the 128 (64 each) cores with their caches, two of the die are DRAM memory and the seventh die contains sense amps and spreader to the package pins.

Six Concepts of Computer Architecture 

Surprisingly, there are only six distinct concepts used to design computers, apart from technology advances  that reappear in many guises  over and over again: 
  1. Locality – spatial & temporal
    e.g. caches
  2. Prediction – no state change
    e.g. branch prediction
  3. Speculation – state change
    e.g. prefetching
  4. Indirection
    e.g. virtualization
  5. Parallelism
    e.g. pipelining, OoO, vectors
  6. Specialization
    e.g. GPUs, accelerators