Logical Arcitecture Behind CPU Calculations?

I am experienced in computer programming and hardware, but processors are still hard to understand fully. I understand binary code, that is, different sequences of switches or "1"s and "0"s and how instructions are given to the processor to perform calculations but I can just not grasp it all. I look at the millions of pixels on the screen, the words appearing as I type, the windows minimizing, and as I have a great understanding of it all I also don't at the same time.

How does, for example, a processor actually, physically calculate something like 4 + 8 with just circuits and silicon transistor-based switches? How does the processor grab the proper information from the RAM and know exactly where to find it, such as the variable integer value of a game's score? How does the processor know what to let the GPU do instead?

Any clarification is appreciated!
 
Solution
dont realy know where to start...
but i'll start with RAM. you should see RAM like a big appartmentsblock, every room has its own adress. in each room a piece of data gets stored permanently.
so each piece of data has an adress connected to it.

in the chip this is looks like an array of transistors. charged transitors represent a 1, uncharged resistors represent a 0.

a cpu exists of some blocks, like the FPU and ALU and more(FPU is floating point unit, generaly used for calculation with decimals behind the coma<--dont know if this is how you say it in english and then you have the ALU which is the arithmetic logic unit)
anyway, the cpu has a list of instructions. so if the CPU has to calculate something it gets those instructions...

tsuneo6

Admirable
Aug 22, 2014
1,524
0
6,160
dont realy know where to start...
but i'll start with RAM. you should see RAM like a big appartmentsblock, every room has its own adress. in each room a piece of data gets stored permanently.
so each piece of data has an adress connected to it.

in the chip this is looks like an array of transistors. charged transitors represent a 1, uncharged resistors represent a 0.

a cpu exists of some blocks, like the FPU and ALU and more(FPU is floating point unit, generaly used for calculation with decimals behind the coma<--dont know if this is how you say it in english and then you have the ALU which is the arithmetic logic unit)
anyway, the cpu has a list of instructions. so if the CPU has to calculate something it gets those instructions, then it fetches the data from the cache memory, the cache memory are tiny blocks of memory very close to the CPU that work very fast. these cache memorys get the data from the RAM. a modern CPU's are able to predict what the next instruction will be and what data will be needed for this. so the data gets prefecthed and stored in the cache, the same with the instructions.
so when the CPU needs those instructions and data, it gets those from the cache memory and processes it, for longer calculations for example the CPU stores the results in the cache or RAM and then fetches it again to continue the next instruction.
(*anyone correct me if I'm wrong, not entirely sure about this*)
the final result gets stored again in the RAM, then for example to display the result on the screen, it goes to the I/O interface up to your screen.
this is a very generalised explenation but I was about to hit my bed so this is all you'll get for now! it should give you a little bit of an idea though.


 
Solution