Faculty Directory

David Andrews

David Andrews

Professor, Thomas Clinton Mullins Endowed Chair in Engineering

Department of Computer Science and Computer Engineering

College of Engineering

(CSCE)-Computer Science & Computer Engineering

Phone: 479-575-4394

Fax: (479) 575-5339

Download vcard


Visit Website

Dr. Andrews' research interests are in the general area of embedded systems architectures. He received his Ph.D. from Syracuse University in 1992 where he developed new approaches for performing application specific analysis of parallel computing systems. Prior to receiving his Ph.D., Dr. Andrews worked at General Electric's Electronics Laboratory and Advanced Technology Laboratories performing research and development on parallel and distributed embedded systems.

From 1992 to 2000 Dr. Andrews was a faculty member in the Electrical Engineering and Computer Systems Engineering Department's at the University of Arkansas. During this time, Dr. Andrews' performed sponsored research on parallel and distributed embedded systems architectures, such as a SIMD array processor for Lockheed-Martin.

From 2000 to 2008 Dr. Andrews was a faculty member at the University of Kansas and associated Information Technology and Telecommunications Center. While at Kansas, Dr. Andrews served as Principal and Co-Principal Investigator on several NSF sponsored research projects on modeling, run time systems, and architectures for embedded systems. Dr. Andrews research interests are primarily driven from a systems perspective, looking at the definition, design, and interactions of programming languages, run time system software, and hardware components within a complete system architecture framework. Most recently he has focused on developing new computational models to support and enable the familiar thread programming model for hybrid systems: systems with both general purpose CPU's as well as reconfigurable components.

In 2008, Dr. Andrews joined the University of Arkansas as the Mullins Endowed Chair of Computer Engineering. One currently funded project, joint with the University of Missouri, is investigating how to extend formally specified security properties from higher level abstract models down into the generation of gates.

  • HybridThreads (hthreads):

    Hthreads is a computation platform built on top of standard field-programmable gate arrays (FPGAs). This platform is designed as a hardware/software co-designed operating system along with a set of APIs which provide access to the operating system to both hardware and software components.

    HybridThreads allows programmers to design HW/SW systems using threads as building blocks by abstracting the HW/SW boundary. The long term goal of hthreads is to allow a programmer to write a multi-threaded pthreads program, compile it, and have it run efficiently on a hybrid CPU/FPGA chip. Additionally, we want to drastically reduce overhead and jitter.

    Our approach to providing these new capabilities is to perform a HW/SW co-design of existing system components, and extend the basic underlying policies of the multi-threaded programming model to threads that run within the FPGA.

    Areas of Expertise

  • Embedded Systems
  • Computer Architecture
  • Reconfigurable Computing
  • Computer Organization
  • Embedded Systems
  • System Synthesis and Design
  • Computer Architecture
  • Multiprocessor Systems on Chip
  • Real Time Programming Models and Operating Systems
  • Reconfigurable Computing
  • Ph.D., Syracuse University
  • Computer Engineer Degree, Syracuse University
  • M.S.E.E., University of Missouri-Columbia
  • B.S.E.E., University of Missouri-Columbia