自己动手写CPU
雷思磊
前言
自己动手写处理器?
自己动手写处理器!
没错,您手上拿着的就是一本介绍如何实现处理器的书,通过阅读本书,您可以实现世界上独一无二、独属于您的处理器。
吹牛?
噢,No,理工科学生不打诳语。
不信?
……那就请您阅读本书。
写作背景
自1971年世界上第一款单芯片微处理器4004诞生已逾40多年,使用“日新月异”来形容这40多年处理器的发展变化亦不为过,无论是速度、集成度,还是架构等许多方面都有了前人难以想象的变化。不过可惜的是,处理器设计制造一直都是高科技行业,轻易无法涉足。大多数人对处理器的直观印象就是一个银白色的小芯片,有许多管脚,至于里面是如何工作的,则不甚了解,更不用说自己制作处理器了。
幸运的是,在处理器发展的同时,可编程逻辑器件也在持续发展。可编程逻辑器件不仅是技术的革新,也带来了观念的革新、设计流程的革新。如今通过编写代码可以在可编程逻辑器件上实现十分复杂的电路设计,比如处理器。于是,普通大众也能有机会了解处理器内部的实现原理,甚至参与处理器的设计、研发。
实际上,目前已经有很多可以下载到可编程逻辑器件上运行的处理器,这些处理器称为软核处理器,比如:NiosII、OR1200、LEON3、OpenSparc等,这些软核处理器有的是开源的,有的不是开源的。笔者在前期深入阅读了几款开源软核处理器的代码,包括:OC8051、OR1200、LEON3。其中,OC8051是OpenCores提供的一款8位两级流水线处理器,与Intel 8051兼容,是CISC(Complex Instruction Set Computer)类型,采用Verilog HDL编写代码。OR1200是OpenCores提供的一款32位五级流水线处理器,是RISC(Reduced Instruction Set Computer)类型,也采用Verilog HDL编写代码。LEON3…