For this interconnect, each cache is connected to the ring in two places. This way, even though the ring is not bidirectional (all data travels the same direction on the ring), depending on which node the cache is trying to communicate with, it may choose to send data on opposite sides of the ring. A pro if this, is that there is less possibility for contention.
Am I right or not?
I think this ring is different from the former one. In former ring, each node will have two different neighbours. In this ring, the Graphics can only connect with the lowest Core within one link. In former ring, each node has two different distance to other nodes, which the distances between any two node is constant. I think this ring is more likely to be a line (not a ring) with two connection (bidirection) between neighbours.
Question: I wonder, does this mean that for integrated graphics cards, there isn't a huge cost to start doing operations on the graphics card like the way we have to use cudaMemcpy (which is very costly) when we are using a discreet graphics processor?
How is memory managed for the graphics card, does it just use the same system memory as the CPU?
I think the graphics card is better at hiding latency that the CPU, which is why it makes sense to place it the farthest away from the system memory.
An integrated graphics processing unit (GPU) doesn't use its own RAM; it utilizes the system's memory instead. So, if you have a computer with 4GB of RAM, the video card can use anywhere between one and five percent of the available memory for graphics processing. Of course, this percentage varies depending on the size of task, especially if you're multitasking or playing a game.
This ring is essentially one big round wire. Since the electrons flowing on the wire can't really be stopped like water flow, how is interference between two separate communications handled? If cores 1->2 talk and cores 4->3 talk, how is the interference being handled?
The obvious answer (to me) is that the ring is not one giant wire but rather collection of wires, each being between two nodes, with two per direction. If such is the case, do nodes just put the two ends of the wire on bypass and do nothing? Then what happens when they want to talk and severe the connection at an instance where another end tries to transmit?
@aeu I think you are right in considering the ring as a collection of links. In the image above the orange boxes are the switches and there is a different physical link between the switches. I think the image above is slightly inaccurate in not explicitly showing the switches as cutting the bus. For instance if core 1 talks to core 3 it must go through core 2's switch. There isn't a physical link between core 1 and 3 since it is 'cut' by core 2's switch.
@randomthread It seems like the ring is "more than a thousand wires". I'm looking for more details about it but haven't found yet.