I understand how a processor works and RAM and all that stuff. I understand you can use assembly and other languages to make the processor do things. But I assume that you have a to do something to the processor so it can understand your inputs? And if you have to put a base layer on the processor, how does the machine that did it get it’s layer?
It’s like watching one of those videos where they make this big dump truck. But they needed to build a mold to make the dump truck part. But how did they build a mold to make that mold that made that mold?
In: Economics
On the lowest layer, they actually set individual bits in memory, or put individual wires in the hardware respectively. With the correct knowledge and skills, very simple CPUs can even be designed just on a larger piece of paper. For modern CPUs this if of course impossible without extensive help by already existing computers.
Imagine it like this:
With a couple of transistors, you can build logic gates, that can process single bits.
With a couple of logic gates, you can put together logic circuits that process groups of bits like numbers (e.g. an adder that adds two numbers, each made up of 8 bits). With logic gates you can also build memory cells.
With memory cells and logic circuits, you can build finite state machines (https://en.wikipedia.org/wiki/Finite-state_machine), small automata that can process sequences of numbers.
By combining finite state machines with logic circuits and a larger memory, (e.g. in the von-neumann architecture https://en.wikipedia.org/wiki/Von_Neumann_architecture) you finally get a machine that can execute instructions, given as a sequence of numbers / bits. You just need to design a way to encode the instructions into bits and then design the circuits and state machines to interpret the bits in the correct way.
An assembler takes your assembly code and generates these binary instructions.
Latest Answers