My journey started from the question: "If I have 2 cores that want to write values in one memory address at the same (literally) time, how does a computer manage such a situation?" After quite a long research I thought that I had found the answer: multicore processor has a shared clock between its cores (for somehow synchronizing them), though there's information that each core usually has its own. The only confident fact is that the process of ordering such signals happens in a memory controller or at the moment of accessing a system bus.
I'm interested in how it works physically, how this kind of arbiter works (some implementations), because I've created a solution that should work, but (in my opinion) is extremely ineffective (and probably not implementable at all):
Suppose we can read and write information from some cells. Then, we can create a unit with independent input ways from each core and we let the unit has its own clock. Now, whenever a core wants to acquire resources, it must put some charge in its cell, which will be simultaneously read by the unit in one of its ticks (if both of these events are happening in overlapping periods of time and the unit hasn't got enough of charge, then it must return it back in the cell). If the unit has found enough charge in a cell, it must send a notification to the core and stop reading the cells until the core returns some charge again.