hi, in multiprocessors , espicially in distributed memory machine: each processor has a local memory and local bus . that is good and easy to understand . but each has I\o devices !!!!!!!!!! i can't understand that. is it meaning , in a computer there are multi processors and each of one there are i\o devices ( H.d, monitor, printer , ....etc) that is meaning , there are multi printers, monitors, H.ds,....etc. thanks, huda
Hi Huda I think it depends on the architecture the system designers had in mind. If each processor has its own memory, HD, monitor etc then all you've really got there is a bunch of single processor computers that are distinct from each other, but the essence of multiprocessing is that you get rid of, or at least reduce, the CPU bottleneck in a system where it can't keep up with everything that is requested of it. So each processor will have its own I/O ports so what will need to happen is that those IO ports are multiplexed over shared devices and arbitration will be necessary. So all processors will share the same hard disk, for example, and this will mean that the HD requests need to be funnelled into the HD architecture.
Yes, if processor A is using, for example, the hard disk, then processor B must wait, because the read head can only be in one place at a time. In more complex setups where cache is involved this will help speed the whole thing up but fundamentally two processors can't be sharing a resource at the same time.