SlideShare a Scribd company logo
Ching-Tsun Chou, PhD 
Email: chingtsun.chou@gmail.com Mobile: (650) 283-4894 
Web: http://www.linkedin.com/in/chingtsunchou Work: (408) 765-5468 
Summary 
• Almost 20 years of deep and diverse experiences in computer architecture for both core and uncore 
subsystems, including cache coherence and other protocols, deadlock and starvation avoidance, 
memory ordering, atomicity mechanisms, transactional memory, and virtualization. 
• Hands-on experiences in architecture specification, both simulation-based and formal verification, 
performance modeling, RTL coding, FPGA prototyping, binary translation-based emulation, multi-core 
programming, translators from one language to another, and the debugging of complex software. 
• 6 patents granted, 2 patent applications pending, 19 published journal and conference papers, 
program committee member for ATVA, CAV, FMCAD, and TPHOLs. 
• Languages: C/C++ (with embedded assembly), Python, Objective Caml, Verilog and SystemVerilog, x86- 
64 ISA, Murphi, SMV, HOL. 
• Tools: Git, Simics, QEMU, FeS2, Asim, Synopsys VCS, Verdi, Synplify, Xilinx ISE, Auspy ACE. 
• Wide range of interests, in particular mathematics. 
Industry Experience 
Intel Corporation 
• Jan 2013 to now: Designing and specifying atomicity mechanisms for an out-of-order 
processor core to support binary translation. Responsible for defining and specifying 
memory ordering semantics for atomic regions and using it to prove the correctness of code 
optimization transformations in binary translation. Exploring design alternatives through 
performance simulation. Coding and debugging of a complex simulation infrastructure 
involving multiple ISAs and binary translation. 
• 2010 to 2012: Developed a multi-threaded full-system simulator in which each virtual CPU is 
executed by a separate host thread and can dynamically switch between fast functional 
simulation based on QEMU binary translation and slower but cycle-accurate performance 
simulation of speculative out-of-order processors based on FeS2. The simulator can run 
unmodified Debian Linux and workloads in a virtual machine. 
• 2008 to 2010: Led the effort of building a 20-node FPGA-based full-system emulator 
comprising Intel MIC Knights Ferry cores on a 4x5 mesh/torus-based interconnect and 
demoed the emulator at 2010 Intel Developer Forum in San Francisco. The emulator ran a 
version of Linux and several visual computing related workloads. Also involved in the 
discussion which finally led to the memory ordering spec in x86 Software Developer’s 
Manual, volume 3. 
• 2005 to 2008: Responsible for the cache coherence protocol chapter of Intel QuickPath 
Interconnect specification. Revamped the chapter by introducing a table-based
specification methodology that has since been adopted by other projects at Intel. 
Responsibilities included the specification, verification, and evolution of the protocol spec 
based on inputs from both internal and external customers, and the generation and 
maintenance of validation collaterals (such as executable reference models). 
• 2000 to 2005: Worked with product design teams on validating RTL implementation against 
protocol specifications by using both simulation and formal techniques. Developed and 
verified several cache coherence and other protocols which were not productized. 
Analyzed several error correction or detection codes and wrote an internal tutorial on CRC 
(cyclic redundancy check). 
• 1997 to 2000: Worked in the formal verification team of the Merced processor design 
project and used both formal verification and simulation techniques to find bugs in the RTL 
of a processor front-end unit and the bus cluster. Wrote simulation coverage monitors. 
Fujitsu Labs of America 
• 1995 to 1997: Designed an Esterel-like synchronous language based on interval temporal 
logic and developed a translation from this language to synchronous circuits. 
Education 
University of California, Los Angeles - Los Angeles, CA 
Ph.D. and M.S. in Computer Science 
National Taiwan University - Taipei, Taiwan 
B.S. in Electrical Engineering 
Online Courses 
• Coursera, Cryptography I, taught by Dan Boneh of Stanford University, Sep 2014 
Statement of Accomplishment (Grade: 100% with Distinction) 
• Coursera, GPS: An Introduction to Satellite Navigation, taught by Per Enge and Frank van Diggelen of 
Stanford University, Dec 2014 
Completed, Statement of Accomplishment pending 
Patents: https://sites.google.com/site/chingtsunchou/patents 
Publications: https://sites.google.com/site/chingtsunchou/publications 
Google Scholar Citation: http://scholar.google.com/citations?hl=en&user=ufGYoL0AAAAJ 
Award: 2005 Mahboob Khan Outstanding Mentor Awards from SRC (Silicon Research Corporation. 
Miscellaneous 
• Citizenship: U.S.A. 
• Erdös Number = 2 (http://www.oakland.edu/enp/)

More Related Content

ctchou-resume

  • 1. Ching-Tsun Chou, PhD Email: chingtsun.chou@gmail.com Mobile: (650) 283-4894 Web: http://www.linkedin.com/in/chingtsunchou Work: (408) 765-5468 Summary • Almost 20 years of deep and diverse experiences in computer architecture for both core and uncore subsystems, including cache coherence and other protocols, deadlock and starvation avoidance, memory ordering, atomicity mechanisms, transactional memory, and virtualization. • Hands-on experiences in architecture specification, both simulation-based and formal verification, performance modeling, RTL coding, FPGA prototyping, binary translation-based emulation, multi-core programming, translators from one language to another, and the debugging of complex software. • 6 patents granted, 2 patent applications pending, 19 published journal and conference papers, program committee member for ATVA, CAV, FMCAD, and TPHOLs. • Languages: C/C++ (with embedded assembly), Python, Objective Caml, Verilog and SystemVerilog, x86- 64 ISA, Murphi, SMV, HOL. • Tools: Git, Simics, QEMU, FeS2, Asim, Synopsys VCS, Verdi, Synplify, Xilinx ISE, Auspy ACE. • Wide range of interests, in particular mathematics. Industry Experience Intel Corporation • Jan 2013 to now: Designing and specifying atomicity mechanisms for an out-of-order processor core to support binary translation. Responsible for defining and specifying memory ordering semantics for atomic regions and using it to prove the correctness of code optimization transformations in binary translation. Exploring design alternatives through performance simulation. Coding and debugging of a complex simulation infrastructure involving multiple ISAs and binary translation. • 2010 to 2012: Developed a multi-threaded full-system simulator in which each virtual CPU is executed by a separate host thread and can dynamically switch between fast functional simulation based on QEMU binary translation and slower but cycle-accurate performance simulation of speculative out-of-order processors based on FeS2. The simulator can run unmodified Debian Linux and workloads in a virtual machine. • 2008 to 2010: Led the effort of building a 20-node FPGA-based full-system emulator comprising Intel MIC Knights Ferry cores on a 4x5 mesh/torus-based interconnect and demoed the emulator at 2010 Intel Developer Forum in San Francisco. The emulator ran a version of Linux and several visual computing related workloads. Also involved in the discussion which finally led to the memory ordering spec in x86 Software Developer’s Manual, volume 3. • 2005 to 2008: Responsible for the cache coherence protocol chapter of Intel QuickPath Interconnect specification. Revamped the chapter by introducing a table-based
  • 2. specification methodology that has since been adopted by other projects at Intel. Responsibilities included the specification, verification, and evolution of the protocol spec based on inputs from both internal and external customers, and the generation and maintenance of validation collaterals (such as executable reference models). • 2000 to 2005: Worked with product design teams on validating RTL implementation against protocol specifications by using both simulation and formal techniques. Developed and verified several cache coherence and other protocols which were not productized. Analyzed several error correction or detection codes and wrote an internal tutorial on CRC (cyclic redundancy check). • 1997 to 2000: Worked in the formal verification team of the Merced processor design project and used both formal verification and simulation techniques to find bugs in the RTL of a processor front-end unit and the bus cluster. Wrote simulation coverage monitors. Fujitsu Labs of America • 1995 to 1997: Designed an Esterel-like synchronous language based on interval temporal logic and developed a translation from this language to synchronous circuits. Education University of California, Los Angeles - Los Angeles, CA Ph.D. and M.S. in Computer Science National Taiwan University - Taipei, Taiwan B.S. in Electrical Engineering Online Courses • Coursera, Cryptography I, taught by Dan Boneh of Stanford University, Sep 2014 Statement of Accomplishment (Grade: 100% with Distinction) • Coursera, GPS: An Introduction to Satellite Navigation, taught by Per Enge and Frank van Diggelen of Stanford University, Dec 2014 Completed, Statement of Accomplishment pending Patents: https://sites.google.com/site/chingtsunchou/patents Publications: https://sites.google.com/site/chingtsunchou/publications Google Scholar Citation: http://scholar.google.com/citations?hl=en&user=ufGYoL0AAAAJ Award: 2005 Mahboob Khan Outstanding Mentor Awards from SRC (Silicon Research Corporation. Miscellaneous • Citizenship: U.S.A. • Erdös Number = 2 (http://www.oakland.edu/enp/)