Broadly, my research interests are in computer architecture.  More specifically, I conduct research on core micro-architecture, architectural support for security, simulation methodologies, and micro-architectural applications for emerging technologies.

Core Mico-Architecture

Processors must execute the instructions of programs according to the ISA's semantics. However, as long as correctness is ensured, there is significant room for innovation in the implementation of how the processor execute the instructions.  Core micro-architecture research examines how to design the processor core to be better: whether faster, more energy-efficient, or any other metric that one might desire.  

At present, my PhD student, Patrick Huang is exploring micro-architectural techniques to improve performance in efficient ways.

Publications in this research area include:

Simulation Methodologies

Computer architects often experimentally evaluate their ideas using simulations.  These results are used to determine how good or bad a research idea is, and to convince others of its merit.  However, the proper simulation methodology is required to ensure meaningful results.

Publications in this research area include:

Architectural Support For Security

Security is an important consideration in all systems, and is becoming more and more important.   Hardware can provide support for security in ways that software either cannot do, or can do much less efficiently. 

At present, my PhD student Tamara Lehman is exploring architectural support for security with a focus on Intel's SGX (Software Guard eXtensions).  Work in this area includes exploring software and hardware ways to reduce the overhead of this type of security.

Publications in this research area include:


While my primary research area is technical, I do work on improving programming education.   While most of my programming education work is focused on delivering content that is useable to students (All of Programming, and my Coursera Specializations), here are the items that have appeared in CS Education venues.