所以,我在我的一天做了一些编程。Java、C#、C++,而且我一直对计算机很着迷。我真正想学习的一件事,而且我认为真正有助于我的编程技能的是软件如何告诉硬件该做什么。
我知道这是一项艰巨的任务:我知道每种语言都不同;每个操作系统。我不是在要求一个实际的答案,就像我在要求一个起点一样。此外,如果这实际上是在浪费时间,例如,如果它不会真正帮助我的编程和/或不值得,因为它需要学习大量的东西,而且它需要数年才能真正支付关闭,说这也会有帮助。
我无法摆脱我在问一个愚蠢的问题的感觉。
Have you thought of hardware design? Either studying it by reading up, or by actually designing your own hardware. You could buy yourself a Raspberry PI, or Arduino, or something else if you don't want to get your hands dirty. Use any of these options to get your hands on hardware, or even use something like Vbox and write your own operating system.
Some random thoughts to consider. And, no your question isn't a stupid one at all.
我们通常所说的硬件可以被认为是根据某些特定规则运行的(大量)电气设备。通过在输入中放置一些电子,输出将在遵循固定规则后发生变化(类似设备的行为相同)。最著名的器件是晶体管。晶体管可以以执行逻辑功能的方式连接,最常用的是 NAND(非与)。使用 NAND 门可以(并且是)实现任何类型的逻辑。总而言之,硬件通过移动电子来执行逻辑功能。
现在是有趣的问题。什么是软件?人们倾向于认为,因为编写软件涉及思想,所以它不存在于现实世界中。这不是真的。该程序在您编写时存储在 RAM* 中,实际上是一种电子模式。现在这个模式经历了一些转换(编译器,汇编器),在这些步骤中,模式从对人类有意义的东西变成了可以用作上面逻辑函数的输入的东西。
切线:RS触发器是一个有趣的设备。它使用两个 NAND 块来创建一个存储单元。