Student Resources | Instructor Resources | Information Center View | Home
Introduction to Computing Systems, 2/e
Information Center...
Overview
Table of Contents
About the Authors
Preface
Whats New
Feature Summary
Engineeringcs.com
Email the authors
Errata Page

Feedback
Help Center




About the Authors

Yale Patt is Professor of Electrical and Computer Engineering and the Ernest Cockrell, Jr. Centennial Chair in Engineering at The University of Texas at Austin. He enjoys equally teaching freshmen, teaching graduate students, and directing the research of nine PhD students in high performance computer implementation. He has, for more than 30 years, combined an active research program with extensive consulting and a strong commitment to teaching.

The focus of his research is generally five to ten years beyond what industry provides at that point in time. His rationale has always been that he does not do revenue shipments, preferring to produce knowledge that will be useful to future revenue shipments and, more importantly, graduates who will design those future products.

In 1965, Yale Patt introduced the WOS module, the first complex logic gate implemented on a single piece of silicon ["A complex logic module for the synthesis of combinatorial switching circuits," Proceedings of the 1967 Spring Joint Computer Conference, Atlantic City, April, 1967]. In 1984, he (and his students Wen-mei Hwu, Steve Melvin, and Mike Shebanow) introduced HPS, a high performance microarchitecture that exploits instruction level parallelism by combining wide-issue (fetching and issuing multiple instructions each cycle), aggressive dynamic branch prediction, dynamic scheduling, out-of-order execution, and checkpoint in-order retirement (enabling precise exceptions). The first two papers describing this work, "HPS, A New Microarchitecture: Rationale and Introduction" and "Critical Issues Regarding HPS, A High Performance Microarchitecture," were presented at Micro-18, and published in the Proceedings of the 18th Microprogramming Workshop, Asilomar, CA, December, 1985. In 1991 he (and his student Tse-Yu Yeh) introduced the Two-Level Branch Predictor, which provided much greater accuracy than was available before that. The paper, "Two-Level Adaptive Branch Prediction," was presented at Micro-24, and published in the Proceedings of the 24th International Symposium and workshop on Microarchitecture, Albuquerque, November, 1991.

Today, Yale Patt works on problems for the microprocessors of the year 2009, when technology promises each chip will contain a billion transistors. Two of his current activities are the Trace Cache, where instruction sequences are stored in physical order corresponding to their logical order, and Subordinate Simultaneous Microthreading, a variation of Simultaneous Multithreading that is particularly useful in sequential threads of control.

Much as he enjoys research, Professor Patt's first love is teaching. The focus of his teaching has always been on understanding the fundamentals. At Michigan, he overhauled the introductory computer organization course, the intensive computer design course, and most recently (with his former colleague Kevin Compton) EECS 100, the first required computing course for undergraduate EE, CS, and CE majors. Their motivated bottom-up approach is the subject of his new textbook, "Introduction to Computing Systems, From Bits and Gates to C and Beyond," McGraw-Hill, ISBN: 0- 07-237690-2. It is co-authored with his former PhD student Sanjay Patel, who is now an Assistant Professor at the University of Illinois, Urbana-Champaign.

He has also taught more than 5000 engineers in industry, in IEEE conference tutorials and in short courses at company sites.

Yale Patt earned his BS at Northeastern University and his MS and PhD at Stanford University, all in electrical engineering. He received the 1995 IEEE Emannuel R. Piore Medal "for contributions to computer architecture leading to commercially viable high performance microprocessors," the 1996 IEEE/ACM Eckert-Mauchly Award "for important contributions to instruction level paralelism and superscalar processor design," and the 1999 IEEE Wallace W. McDowell Award "for your impact on the high performance microprocessor industry via a combination of important contributions to both engineering and education." He is a Fellow of both the IEEE and the ACM.

For his teaching, he has received several awards, most notably the ACM Karl V. Karlstrom Outstanding Educator Award for 2000. He also received the 2002 Texas Excellence Teaching Award for the College of Engineering at The University of Texas at Austin. He recently was awarded the 2002 Dads' Association of Texas Teaching Fellowship for "outstanding performance in the teaching of freshmen." He was named "Outstanding Professor of the Year," by the Michigan Chapter of Eta Kappa Nu in 1992. He received the Teaching Excellence Award of the EECS Department at Michigan in 1995 and the College of Engineering of Michigan in 1996. In 1998, he was named an Arthur F. Thurnow professor at Michigan for his commitment to undergraduate education. In 1999 (for the academic year 1998-1999), and again in 2001 (for the academic year 2000-2001), he was named the National ACM Lectureship Progam's Outstanding Lecturer of the Year.

Sanjay J. Patel is an Assistant Professor of Electrical and Computer Engineering at the University of Illinois at Urbana-Champaign.

Sanjay completed his PhD in May 1999 at the University of Michigan, Ann Arbor. His PhD advisor was Yale Patt (and who is also co-author of the book "Introduction to Computing Systems: From Bits and Gates to C and Beyond.") In his thesis, Sanjay developed a technique for fetching instructions at a very high rate using a structure called a Trace Cache. The techniques he developed will be useful for future generation microprocessors that attempt to execute many instructions in parallel in each clock cycle. Based on this research work, in 1998 Sanjay received an Intel Graduate Fellowship from the Intel Foundation.

Sanjay and his advisor (and co-author) both share a passion for teaching. Sanjay assisted Yale in several courses at the University of Michigan including EECS 100, the course on which the book is based. Sanjay received teaching awards several times, include an award in 1996 from the American Society of Engineering Education.

With respect to EECS 100, Sanjay was a key participant, along with Yale and Professor Kevin Compton, in the development of the teaching methodology of that course. He served as TA for the course the first two times (Fall 95 and Winter 96) it was offered.

Sanjay received teaching awards several times, include an award in 1996 from the American Society of Engineering Education.

Sanjay was chosen Outstanding TA of the Year by EECS Department in 1991.

When taking a break from doing computer research or teaching, Sanjay enjoys playing ultimate frisbee.