Managing Control of Instruction and Process Execution in a Programmable Computing System
Description
The growth of the internet of things (IoT) is constrained by the limitations of current architectures and technologies for edge devices and gateways, which hinder responsiveness, effective security, software reliability, and both programmer and energy efficiency. In IoT and cyber-physical system (CPS) applications, the computational workloads—real-time processing of multiple event streams—differ from the interactive and transactional loads seen by personal computing devices and servers. Yet, outside of superscalar, simultaneous multi-threading (SMT) and multicore innovations in high-end processors, the architectures and microarchitectures of current IoT processors are remarkably similar to those for personal devices and servers. IoT workloads are dominated by multiple sensing and actuation tasks in which asynchronous streams of physical events are processed, stored, and transmitted. This functionality is a poor fit for current microarchitectures, as programmers must explicitly split natural stream processing workflows into event handlers and background processing tasks and merge interrupt-driven handlers via priority-based multitasking. At the same time, they must consider energy efficiency by managing a daunting array of power and clock domains and hibernation modes. This technology relates to how the unique workloads of IoT edge devices and gateways can be investigated to design more efficient hardware and software architectures.
Additional Information
Patent number and inventors
15/820,264
Paul Flikkema
Potential applications
Computing applications
Benefits and advantages
This technology redesigns current processors to more efficiently manage the multi-tasking and energy consumption of computing workloads and processing.
Case number and licensing status
2016-047
This invention is available for licensing.