CONTACT: Jade Boyd
PHONE: 713-348-6778
EMAIL: jadeboyd@rice.edu
Multi-university team receives $1.3 million from Intel to improve firmware
European, US, Canadian team will create new tools to develop, test firmware
Researchers at Oxford University, Princeton University, Rice University and the University of British Columbia have won a $1.3 million grant from Intel to create new technology that can find errors in and bolster the reliability of firmware — critical software that is embedded in computer chips at the factory.
The role of firmware includes the activity that occurs when a PC first boots up. Other types of firmware play a much broader role to help to optimize chip performance by boosting processing speed, conserving battery life and otherwise tailoring behaviors to the current needs of the user’s software.
“Validation today is among the most critical tasks in hardware product design, demanding more than 50 percent of design resources,” said Rice computer scientist Moshe Vardi, one of the researchers on the new project. “New techniques are needed to cope with the size and complexity of today’s hardware designs.”
Oxford computer scientist Daniel Kroening, the principal investigator on the three-year project, said, “The goal of our project is to create new technology that can bolster the reliability of firmware. Chipmakers are reaching the limit with the current technology they use to create firmware and ensure that it’s error-free. Our task is to come up with new ideas that the industry can carry forward.”
Modern computer chips offer a complex, rich array of features. The chips need to adapt to the demands of the software running on the computer in a smart way. When faced with a heavy load, such as decoding a high-resolution video, modern microprocessors increase their speed or activate additional computational units to deliver the needed performance. When idle, they reduce speed and voltage to save energy and increase battery life in mobile devices. These types of low-level features are all managed by the device’s firmware.
Firmware is intended to be invisible to the end user. The operating system and the applications are typically stored on a hard disk or flash drive, but firmware is stored inside the chip and is usually loaded at the factory. Kroening said that means engineers must get the software right before the chips are shipped. In addition to Kroening and Vardi, who is Rice’s Karen Ostrum George Professor in Computational Engineering and director of Rice’s Ken Kennedy Institute for Information Technology, the research group tapped by Intel includes Luke Ong and Tom Melham at Oxford University, Sharad Malik at Princeton University and Alan Hu at the University of British Columbia.
“We designed this program to explore high-risk/high-reward opportunities to significantly change the way firmware is developed,” said Henry Gabb, a principal engineer in the Intel Academic Research Office. “This diverse team identified a novel, comprehensive, and plausible approach to the problem that we are eager to explore with them.”
The group hopes to create algorithms that can automatically identify — well before the chips are built — the protocols that will govern interactions between the firmware and the chip circuitry. This advanced look will give engineers more time to test firmware before hardware prototypes are even available.
“Firmware is expected to work its magic while using the minimum of computational resources,” noted Jim Grundy, the research scientist in the Intel Technology and Manufacturing Group who conceived this program. “Firmware developers pull out all the stops while eschewing many developments in programming languages because of their associated overhead. This team proposed several lines of research that could revolutionize the speed and confidence with which firmware is developed and validated.”
At Rice, Vardi’s team will focus on dynamic validation techniques, which are based on observing the behavior of the design during simulation.
The international group also aims to automate the analysis of low-level programming, like the machine-level assembly code that is commonplace in firmware. The most important aspects of firmware – its ability to manage resource usage and balance concurrent tasks – will also be supported by custom-made extensions to existing programming languages. Such extensions may also help detect problems. The tools developed by the team should make it more economical to develop and test firmware. The group plans to share the results of the research project with the open-source community.
Leave a Reply