Re: Problems understanding Hardware/Software interface

Posted by xedover on
URL: http://nand2tetris-questions-and-answers-forum.52.s1.nabble.com/Problems-understanding-Hardware-Software-interface-tp4032625p4032632.html

This is a very interesting question, and I doubt I could give a better answer than Ivant.

But I can recommend some other reading/videos ... Charles Petzold's book "Code" is an excellent and easy to understand read on building a computer starting from simple electromagnetic relays (like used for telegraphs), and on (1) off (0).

Then there's Ben Eater's YouTube series on building an 8-bit computer on breadboards. He has a great way of both explaining and demonstrating the complete process.

In short, the "software" are the one's and zero's that we input into the computer's memory, so that when the hardware (the memory, cpu, alu, etc.) fetches it, it then instructs the hardware to perform specific tasks. The definition of what those one's and zero's mean are somewhat arbitrary, in that its up to the designer of the system to decide what each combination means. Building the hardware is also somewhat arbitrary and is designed to perform specific task when given specific signals.

Take a look at an Altair 8800, for example. These old original computers had no screen monitors, no keyboards, no disk storage. The hardware, it the guts of the machine (the chips, etc). The software is what the user inputs into the memory via the front panel switches.