0

Okay, i get it how transfer is differentiated in "Isolated I/O" by having different control lines for I/O and memory transfer. But how can we differentiate the transfer in Memory mapped I/O they share the same control lines. and also tell which type of bus architecture do modern systems use ( like today's core i3 or like that processors ) ???

Thanks

1 Answers1

1

You can call different numbers on your land-line phone, yet the "control lines" are the same for every number.

You can send packet to different computers through your NIC, yet the "control lines" are the same for every packet.

You can drive from your home to different destinations, yet the "control lines" are the same for every destination.

In a word: routing.

For MMIO is the same, the address dictates which route the write will take.
I listed the typical connections used by a modern x86 CPU in this other answer of mine.

Community
  • 1
  • 1
Margaret Bloom
  • 41,768
  • 5
  • 78
  • 124
  • okay does it happen like this in 8086 microprocessor: if the left most 4 bits of a 16bit instruction ( which is in the address bus ) is equal to binary sequence "1 1 1 1" then its an I/O instruction ( which means the data in data bus is for I/O ) and if its equal to binary sequence 0 1 0 1 ( 1 or 0 and any 3 bit less than 1 1 1 ) then its a memory instruction ( which means data in data bus is for memory ) ??? –  Jan 24 '17 at 16:58
  • @Ahti MMIO and isolated IO are different things. Other than that, I cannot really understand yours follow-up question. If you Google for "Intel Manual 2" you'll find the reference for all instructions, including the machine code. I haven't bothered to see if the original 8086 instruction had some easy decoding scheme for IO/mem instructions. The opcode space makes sense in octal, you can try that approach. – Margaret Bloom Jan 24 '17 at 18:10