自制CPU的背景与简介

By | 2018年2月24日

对许多人来说,CPU似乎是一个非常复杂的东西,能把他理解清楚就不错了,又何谈“自制”呢?

诚然,从第一台计算机被制造出来开始,计算机技术飞速发展,各种“魔法”的优化思路被引入到CPU设计中,使得CPU的结构也变得越来越复杂。第一个商用微处理器4004的晶体管数量仅为2250,而现在i7处理器的晶体管数量已经达到数十亿!凭借一人之力去制造一个现代的CPU几乎是不可能的(时间以及钱)。(ps,当然,用晶体管的数量去衡量cpu的好坏是不合适的)

然而这却并不妨碍我们制造一个简单的CPU,实际上,如果要求只是造出一个“能用”的CPU,那么它的结构也并不会太复杂。而相比几十年前,我们也有了更多选择来实现我们的想法。从最基础的晶体管,到集成的逻辑门电路,以及FPGA这个神器,设计并实现一个CPU的难度已经降低了很多。一些大学的计组课程中便要求学生在FPGA上实现一个CPU。

自己造一个cpu这个想法是我在高中就有的,目标是使用集成逻辑门电路,实现一个功能完善的8位或16位CPU,而现在终于有机会和能力将它实现出来了。而至于名字,就称它Alpha好了,一个是因为懒得去花时间自己“造词”,另一个是因为既然叫alpha,那么图标也就呼之欲出了(把α拉伸一下不就好了吗?)

很可惜,这篇文章发布后我才发现,Alpha CPU早就有主人了。它最初由DEC公司(一家美国公司)于1992年开发,是一个64bit的精简指令集CPU,但是最后由于各种原因逐渐没落,直到最后消失在历史的长河中。。。

不多说,既然名字被占用了,那就换一个名字好了嘛!经过一番苦思冥想,我决定选择Mercury作为CPU的名字,没错,就是那个水星的Mercury。

为啥起这个名字呢?一个是logo我心目中已经有想法了,另一个原因是,万一以后还想设计CPU,那么名字可以依次叫做Venus、Earth…

至于为何是使用集成逻辑门,而不是集成度更高,也更容易实现复杂设计的FPGA去实现自己的CPU?

FPGA好是好,可惜就是因为集成度过高,使得我们无法再直观的观察到CPU的各个组成部件,而要想顺着数据通路图一点点的探索整个CPU更是不可能的事情。

而集成逻辑门,使得我们有机会亲眼看到CPU内一个个部件的工作,而这一切比FPGA上跟踪一根根信号线,分析一张张时序图要直观的多!

当然,还有一个(最)重要的原因:这样拿出去显摆逼格高呀!

发表评论

邮箱地址不会被公开。 必填项已用*标注