面包板计算机[关闭]


19

是否可以用面包板和基本的电子元件制造一台简单的计算机?例如,以这种方式构造科学计算器是否可行?


10
它不仅是可能的,而且人们也可以做到这一点,例如megaprocessor.com等等,只是用谷歌搜索“分立晶体管cpu”或类似名称。它变得非常复杂,并且需要数年的时间来构建和调试
PlasmaHH 2015年

是否取决于面包板的意思。如果包括Veroboard,标签条或死虫子结构,这些钉子是用钉在妈妈的面包板上的钉子(是)固定的-全部都焊接了,那么肯定是的。如果您是说那些随意松开电线的塑料东西,那就算了...
Brian Drummond

@BrianDrummond Re塑料面包板-显然可行(请参阅我的回答)。我已经看到了几台以此方式构建的计算机。如果一个人不小心拉了一些电线,那真是一场噩梦。我真的很惊讶他们真的跑了。
tcrosley

2
我认为,如果您有无限个面包板,您将游览完整吗?
PyRulez

2
您确实需要发现Homebrew CPU“网络环”(这是90年代搜索引擎主导网络之前的事情):members.iinet.net.au/~daveb/simplex/ringhome.html
slebetman

Answers:


33

我不同意将微控制器放置在试验板上的做法等同于在试验板上构建计算机。除了I / O(例如键盘和显示器)外,微控制器本身就是一台完整的计算机。只需将其放在面包板上并连接几根电线就可以了,而且只需十分钟即可完成。

当OP问到“是否有可能完全用面包板和基本电子元件制造一台简单的计算机?”时,我认为基本电子元件的含义更像是这样:

在此处输入图片说明

现在,这是一台由基本组件构建的面包板上的计算机(好几个面包板)。它的描述在这里。它由十几种74LS00系列IC组成。(我不认为我们要一直回到晶体管;最初的PDP-8只是小冰箱的大小)。

就科学计算器而言,如果您构建了如上所示的通用计算机,则可以将其编程为科学计算器。仅使用逻辑集成电路(而不是计算机)来构造科学的计算器将非常困难。诸如此类的所有计算器制造商(Ti,HP等)都使用了特殊的大型IC。这是一个使用早期4位计算器IC 的家用计算器。

我会同意,如果要使计算机尽快启动并运行,那么使用微控制器是必经之路。如果要真正了解计算机的内部工作原理,那么用基本的IC构建一个是正确的方法。



1
@ColeJohnson他的笔记说他没有原理图!
tcrosley

1
@JohnD thx,已修复。
tcrosley18年

23

这不仅是可能的,而且我实际上已经做到了:请参阅https://www.vttoth.com/CMS/projects/47

这是一块面包板背面的接线图:

在此处输入图片说明

当然,这完全取决于哪些组件符合“基本”条件。就我而言,基本组件是74 ...系列TTL芯片,大约有一百个。要完全用晶体管来构建计算机,那将是太压倒性的了。

另外,我的4位计算机的功能实际上还不够强大,无法用作科学计算器,这主要是由于内存的限制(256个4位半字节)。但是,也许可以使用分页机制来扩展地址空间并不是很困难,并且肯定已经足够4096个nybble(12位地址),65536个nybble(16位地址)。


恭喜你 那是相当大的成就。我喜欢指令集-让我想起了
6800。– tcrosley

1
有一个人正在致力于只使用晶体管来构建处理器。RAM,处理器,一切。MegaProcessor.com
科尔·约翰逊,

4
有些人比我更有耐心
维克托·托特

10

是的,这是可能的,但是要想配备科学的计算器,您只需要几个面包板,这取决于您认为基本元件的方式:将晶体管称为基本元件还是触发器,EEPROM或您可以从旧冰箱中焊出的东西。

这里有一些很好的答案,但我只想指出一件事,人们通常不会考虑。从计算设备的历史来看,用树皮和钉子构建计算机的困难不是CPU还是ALU。主要问题是记忆力。因为要使整个存储程序概念正常工作,您需要大量的代码。您可以通过几个触发器和与非门来制造CPU。例如,对于具有特定限制的电力电子应用,我曾经设计一个微处理器,该微处理器仅使用69个触发器(4个16位寄存器,4个标志和1个状态寄存器位,表示FETCH / EXECUTE)。它在硅片上实现,人们编写在其上运行的软件。这很简单,并且适合功率晶体管的漏极触点大小。但是存储任何有用程序所需的内存要大得多。

早期,内存是设计的起点。您可以像早期电话交换中那样使用双稳态继电器。您可以使用真空管或晶体管制作触发器。通常,CPU的寄存器是通过这种方式实现的。但是对于程序和数据存储,使用了纸带,磁带,旋转磁盘或旋转鼓。甚至是电子设备上不断接收和转发的钢丝上的声波。您能想到的任何事情都可以在合理的时间内以合理的成本保留一些位。阿波罗(Apollo)轨道器和月球着陆器计算机使用了缠绕成绳子的线圈芯存储器。所有这些都需要不同的接口设备,并且对CPU访问这些类型的存储器的需求产生巨大影响。半导体存储器才真正出现在1970年代,最终消除了这种复杂性。但是话又说回来,现代动态RAM也不是那么容易。

再者,还有必须为计算机设计输入输出设备的奇妙之处。几个灯泡适合某些应用,但是如果您需要文本输入/输出或什至更复杂的东西,您将再次面临更多的困难。打卡机,打印机和纸质终端在当时是一项巨大的业务。1978年推出的VT100文本模式视频终端的内存和处理能力比您的科学计算器面包板计算机要强得多。


尽管当然可以使用触发器来实现内存,但我认为需要做出让步以允许使用内存IC(在这些家用计算机中,通常将74181用于ALU就是这种情况)。您可以以2美元左右的价格在DIP封装中获得8Kx8 SRAM。对于计算器来说,这应该足够了。与EEPROM相同。
tcrosley15年

1
@tcrosley我同意。我只是指出历史上的一句话。如果您今天要建造一台自制计算机,那么您就不会遵循某些任意规则,而是为了娱乐和学习而做。与缠绕
16,000

@PkP对于想起如何编织核心内存并记录下来的人,有话要说。与其说是一两个工作原理,不如说是如何在不发疯的情况下实现16 kbit的实际方面。我从事种子种子项目。我可以想象一下这种精神错乱……我以为曾经有工厂自动化可以做到这一点,但是我很少看到有关生产方面的文章。
RBerteig

2
@RBerteig,谢谢,我同意。好吧,我记得曾经读过,阿波罗飞船计算机的绳索记忆是由非常熟练的织女编织而成的,她们耐心地非常仔细地检查了代码图中的每个零或零,这表明位线圈是通过芯子还是通过机芯编织而成。绕过它,或达到某种效果。我记得从同一来源读到,编写Apollo软件的MIT工程师对软件进行每次修改后,他们花了六个月的时间才编织出新的ROM。
PkP

7

可以,但是复杂性和尺寸取决于您所说的基本电子组件。ALU和定序器逻辑有点复杂,但是可行。内存很简单,但是基本模式必须重复很多次(想想一千次)。

除了硬件之外,您还需要在其上运行的软件。粗略估计,对于中等复杂的CPU(经典的16位指令8位数据级别),您的软件工作量将与硬件工作量相当。(对于更简单的CPU,您将需要更多的软件投入。)如何将软件加载到计算机中?

寻找(和解决)错误将是一件有趣的事情。我建议您开始在VHDL中编写并在模拟器上运行,这比一堆芯片和电线要容易得多。

我的两个学生在大约1年的时间里用一些基本软件(包括GCC后端端口)创建了一个16位CPU,从VHDL和C代码开始进行仿真。ALU使用74181芯片,内存是静态RAM,并且使用atMega在PC和计算机之间进行接口。该计算机部分位于无焊面包屑上,部分位于PCB(8个16位寄存器)上。(这两个不是普通学生!)


5

对的,这是可能的。但是您需要一个微控制器来进行数学计算。 是一个示例项目。它使用AVR微控制器和16×2 LCD显示屏。


+1我有一个使用ARM处理器的计算器。如今,微控制器应被视为基本组件。
Spehro Pefhany 2015年

25
您不需要微型,它使事情变得更容易。
PlasmaHH 2015年

@PlasmaHH可以是微控制器,也可以是多个面包板。只有基本的2输入门?玩得开心。OTOH一个或两个ROM +一个MUX +寄存器=一个简单的微控制器。
John Dvorak 2015年

您如何看微控制器进行数学运算?使用ALU-由硅/晶体管/基本门制成,具体取决于您查看事物的规模。
user3728501

微控制器和微处理器也由电子元件制成,因此您可以将它们制作在面包板上,而无需真正的微控制器
phuclv 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.