Title: Pushing the Limits of Machine Design: Automated CPU Design with AI
Authors: Shuyao Cheng1,2 Pengwei Jin1,2 Qi Guo1 Zidong Du1,3 Rui Zhang1,3 Yunhao Tian1,2 Xing Hu1,2 Yongwei Zhao1,3 Yifan Hao1 Xiangtao Guan1,4 Husheng Han1,2 Zhengyue Zhao1,2 Ximing Liu1,2 Ling Li5 Xishan Zhang1,3 Yuejie Chu1 Weilong Mao1 Tianshi Chen3 & Yunji Chen1,2,∗
- Word Count: 10,203
- Estimated Read Time: 16-17 minutes
Summary:
This paper proposes an AI approach to automatically design a CPU, pushing the limits of machine design. The approach generates the circuit logic of the CPU design in the form of a Binary Speculation Diagram (BSD) by efficiently exploring a search space of 1010540, which is the largest of any machine designed object.
The approach addresses two key challenges:
Accuracy: The inferred circuit logic must ensure extremely high accuracy (>99.99999999999%). This is achieved using Monte Carlo-based expansion during BSD generation. Scalability: The circuit logic consists of millions of lines of formulas. This is addressed using Boolean distance-based node reduction to significantly reduce the number of BSD nodes. The researchers demonstrate the capability of the approach by automatically generating a RISC-V CPU design. The generated CPU runs Linux, performs comparably to an Intel 80486 CPU, and reduces the design cycle by about 1000x compared to human designed CPUs.
In summary, the research pushes the limits of machine design capabilities and represents one of the largest objects designed by AI to date. The approach also discovers aspects of the von Neumann architecture from scratch and has the potential to automatically generate CPU optimization.
Applicability to Large Language Models: This research demonstrates the capability of AI methods to design complex real-world systems from empirical data. The approach relies on techniques like Monte Carlo sampling, hierarchical graph generation, and node merging.
Large language models and GANs could potentially be applied to automate aspects of the approach, for example:
Generating an initial BSD structure from input-output examples using a language model Predicting optimal expansion orders using a language model Automating the Boolean distance calculation and node merging using a similarity model Overall, while the current approach is rule-based, incorporating large language models and GANs could help automate and improve various aspects, making the process more data-driven and efficient. This could potentially extend the approach to automating the design of even more complex systems.