Department of Computer Science
D336 Levine Science Research Center
Durham NC 27708-0129
(919) 660-6536, FAX: (919) 660-6519
I received the B.S. degree from M.I.T. in 1962 and the Ph.D. degree from the Carnegie-Mellon University in 1969. Before coming to Duke as an Associate Professor in 1978, I was an Assistant Professor of Computer Science at Cornell, and an Associate Professor of Computer Science at Vanderbilt University.
Parsing, Semantic Analysis, One-Pass Code Generation. Some optimization for scalars, basic blocks and loops. Course organized around construction of a compiler for a small C-like language, targetted to SPIM (Assembly language for the MIPS 4000).
This course is an introductory course in Computer Systems Organization. Our goal is to acquaint students with basic computer functions. The course covers: Basic concepts, Instruction set architecture, Assembly level programming, The Central Processing Unit, Introduction to logic design, finite state machines and computer arithmetic, the memory heirarchy, I/O devices and networks. If there is time we will study parallel machine organization.
I am currently interested in Computer Architecture, and am studying methods of implementing RISC processors to avoid or conceal long operation latencies. My most current project seeks to do this by pre-scheduling multiple loop iterations to run in parallel, with instructions issued by one iteration overlapping latency in another. Slides for short talk
Some of my specific interests and projects include:email@example.com.