Introduction to the Embedded Computing Lab
We conduct research on the areas of computer hardware and system software. For hardware research, we work on embedded systems, computer architecture, and memory systems. Our work on system software is based on deep understanding of computer hardware and attempts to develop new methodologies for improving performance, energy efficiency, real-timing and reliability of embedded systems.
In embedded systems, computers are used as components to implement special functions. Embedded systems are typically constrained in resources, require real-time behavior, and are battery-operated. Therefore, low-cost, low-power, short time-to-market are critical issues in embedded systems. We conduct research on the following areas of embedded systems/software.
Memory and Storage technologies
- SRAM Caches
- Multi-level Cache Hierarchy
- DRAM System & Architecture
- STT-RAM Cache Design
- Phase Change Memory （PCM）
- Flash Memory / SSD
Power consumption is a crucial factor that determines the functionality and mobility of devices due to constrained battery lifetime in mobile and embedded systems. The tremendous increase in levels of integration and clock frequencies for high performance has escalated power dissipation, accentuating heat extraction, noise immunity and reliability problems in high performance systems. All these factors make power optimization at all the levels of system design a necessity for the continued progress in computing. In addition, electricity is generated using natural resources such as oil, which results in the increase of carbon dioxide and, consequently, global warming.
Current Research: power-aware cache/DRAM architectures
With technology scaling, feature sizes, and supply and sub-threshold voltages are decreasing for high performance, high transistor density, and low power consumption. At the same time, microprocessors are integrating more transistors to extract more parallelism. Unfortunately, however, these trends make circuits more susceptible to errors. Transient errors occur when energetic neutrons coming from deep space and alpha particles from packaging materials hit transistors, which change the state of memory bits or the output of combinational logic temporarily. In addition, permanent errors due to process variation at manufacture and wearing in interconnect and transistors are increasing, which will decrease yield and lifetime of systems. Therefore, it is utmost important to provide reliable computing on top of future unreliable systems for the continued success of computing.
Current research: reliable cache/data path/memory design, software-controlled reliable system design
In the conventional computing environment, it is important to compute functionally correctly and fast. However, in the cyber-physical systems where computing is integrated with physical components, for example, robots, vehicles, medical equipment, it is of utmost importance to model physical properties. Real-time and concurrency are inherent properties of physical components, which are, however, not supported well by current computing paradigm. Therefore, all levels of computing such as architectures, OS, programming languages, compilers, methodologies, should be redesigned to provide high levels of real-time and concurrency in order to realize true cyber-physical systems, which are open to physical world, beyond embedded systems.
Current research: timing-aware architectures, timing-aware OS, Automotive Software Platform