Artifical Intelligence Governed Processor
Abstract
Processors are implemented as pipelined structures where instructions flow at each cycle using the available computational resources. Pipelined processors are subject to different hazards such as structural, data and control. Structural hazards are avoided by ensuring that the computational resource is free to be used when needed. Data hazards decrease performance when data is not available to be read or written. Control hazards appear when the processor lacks information about which instruction to execute next. A considerable amount of design effort (including area, energy) is focused towards minimizing the impact of these hazards. Furthermore, such capabilities come at the cost of more area and energy invested in control structures rather than compute structures. In addition, designers are required to include large amounts of on-chip memory to facilitate these efforts and a myriad of heuristics that most of the time are designed in isolation and without knowledge of each other. The decisions made by such control structures, such as prioritization decisions, do not always adjust to the workload, may in some cases be sub-optimal, and can be subject to human biases and any existing deficiencies of average cases. In general, there does not exist a good hold for what data might be needed in the future, thus performance is left on the table with wasted area and energy. Advances in AI provide higher degrees of predictive capability that can be leveraged by microarchitectures to increase performance and energy efficiency. AI models are effective for predicting dynamic temporal patterns such as address sequences. For example, AI solutions are posed to solve classical computer architecture predictive problems such as prefetching, branch prediction, scheduling, and the like. At current, however, no implementations in the art exist which leverage an AI-governed processor. An AI-governed processor is an opportunity to create a unified control inference engine capable of understanding workload definition and acting accordingly to save area and energy while also increasing performance. In this paper, we discuss and explore for the first time the idea of an AI Governed Processor.