等了好久,从网上买的材料终于到货了,那么从今天开始就要正式开始进行CPU的制作了。在这一章,我们暂时不慌动手操作,先了解一下后面需要用到的知识。

在这一章,我会介绍到整个系列可能会用到的材料(也可能后期还会增加一些材料,到时候再补充介绍),以及其用法。

顺便说一句,这个系列和我之前在Tuling complete游戏中实现的架构有所不同,因为我之前在游戏中实现的那个架构太过复杂,用到了一亿多逻辑门......按照目前网上能买的的逻辑门芯片,最便宜的都是一块多一片,所以......这个系列的架构会简单一些,同时这个架构参考了YouTube上的一个叫Ben Eater(超链接需要科学上网)的youtuber,所以以后有那些地方不清楚的可以去看看他的视频。再顺便说一句,Ben Eater的那个架构是他和他五年级的儿子一起搞出来的,实在是太厉害了......我五年级的时候还在为了默写背各种唐诗宋词而苦恼:(

所需材料清单

由于我也不知道最终到完成具体需要通道哪些东西,也不太清楚具体要用到多少,所以就只介绍一下我自己想到的一些可能会用到的东西的清单:

  • 面包板20多块
  • 不同颜色的导线(方便区分不同功能)好几十米
  • 开关(包括二选一开关2个、触点开关18个、拔叉开关6个)
  • Arduino Nano V3.0一个(烧写程序会用到)
  • 不同颜色的杜邦线好几十根
  • 555芯片4片
  • 晶体管11个
  • 共阴极数码管4个、共阳极数码管1个
  • 不同颜色发光二极管(也就是俗称的LED小灯泡)一百多颗
  • 各阻值的电阻若干
  • 各容量的电容若干
  • 74LS**系列逻辑门芯片70多片
  • 其他工具(剪线钳、万用表、电源适配器等工具)

材料介绍

由于我本身是学计算机相关的,对自动化、嵌入式开发和数字电路、数字信号等概念只经过一点点自学,没有系统性地学习,所以我就只简单介绍一下用法,详细的芯片、组件信息可以自行上网查询。

面包板

面包板是用来接各电气元件的,没有太多好介绍的,它长这样:

图片来源于百度搜图

相比较于洞洞电路板和印刷电路板(不知道这两样的可以去搜一搜),面包板的优点是可以任意插拔、修改电路。缺点是有些时候可能接触不良,并且不适合需要高度依赖信号保真的电路,也不适合高压电路。不过我们制作CPU涉及到的都是数字电路,其保真度相较于模电没那么高,并且需要不断调试,所以使用面包板更合适。

导线、杜邦线

就是用来导电的、其中杜邦线带有插头,可以很方便地接入面包板。导线是一整捆,可以按照需求裁剪成需要的长度。

杜邦线插头

开关

开关的功能应该也不用多说了吧......不过我们一共会用到三种开关,如下图:

各种开关有不同的用法

Arduino Nano V3.0

Arduino是一个开源电子原型平台,其包含硬件平台(各种型号的Arduino板)和软件(Arduino IDE),Nano V3.0是其中的一个型号。使用Arduino设备需要了解一些嵌入式开发的相关知识,这个又是一系列要学习的东西,就不在这里细说了。Arduino开发使用的是Arduino自己搞的一个语言,其语法与C语言类似。

图片来源于Arduino官网商城

直接说不太好说,等后面用到这个芯片的时候再详细介绍吧,官方商城在这里,不过不建议直接从官网买,发货慢、税率高、价格高、还要通过海关检查,特别麻烦,直接在淘宝上购买即可。

555芯片

555芯片(NE555P)是一种定时器芯片,用于定时器、脉冲产生器和振荡电路。

这些芯片都可以直插到面包板上

晶体管

晶体管泛指所有半导体器件,具有控制电子流的能力。晶体管通常用于放大电信号,或作为开关使用。适合使用晶体管进行处理的信号包括低频模拟信号,以及数字信号。晶体管不适合处理高频信号,因为晶体管的延迟时间对于高频信号来说太长,容易造成信号失真。

我们在后续会用到晶体管的开关属性,并且尝试通过晶体管(三极管)来搭建基础逻辑门,以了解逻辑门运行原理。

不过实际上我们搭建CPU不会从晶体管开始,而是通过封装好的逻辑门芯片搭建。一方面是因为晶体管不稳定,另一方面是因为如果从晶体管开始,面积太大,桌子放不下......

数码管

数码管还有一种叫法是7段LED显示器,之所以叫7端,是因为数码管通过7个LED灯来显示数字:

各种形态的数码管

数码管还分为共阴极和共阳极两种,共阳极数码管,所有数码管的正极连接在一起,负极连接单独的控制电路。相反,共阴极数码管,所有数码管的负极连接在一起,正极连接单独的控制电路。这一点在我们实际上手使用后就能体会到。

发光二极管

就是小灯泡,通电就亮。

电阻、电容

高中物理应该讲过了,就不细说了。

74LS**系列芯片

SN74LS系列芯片是一种逻辑芯片,它通常用于电路设计中的数字逻辑门和其他电路元件。这种芯片可以实现常见的逻辑运算,如与,或,非和异或。它们通常使用TTL电平(5V),并具有较高的电流能力和较快的响应时间。 SN74LS系列芯片在数字电路设计中非常常见,用于实现各种电路功能。

这个系列的种类巨多,不过我们常用的其实也就几种。具体的型号和功能由于篇幅问题,就不在此列出了,有需要查询的可以在这里(wikipedia链接,可能需要科学上网)找到。

总结

这一章介绍了后面可能需要用到的各种材料,下一章我们就要实际动手尝试使用晶体管搭建逻辑门了。


学而不思则罔,思而不学则殆