Isolated I/O and Memory Mapped I/O

List Out The Differences Between Isolated I/o And Memory Mapped I/o.?


2 Answers
1-2 of  2
2 Answers
  • Memory mapped I/O and Isolated I/O
    As a CPU needs to communicate with the various memory and input-output devices (I/O) as we know data between the processor and these devices flow with the help of the system bus. There are three ways in which system bus can be allotted to them :

    01:Separate set of address, control and data bus to I/O and memory.
    02:Have common bus (data and address) for I/O and memory but separate control lines.
    03:Have common bus (data, address, and control) for I/O and memory.
    In first case it is simple because both have different set of address space and instruction but require more buses.

    Isolated I/O –
    Then we have Isolated I/O in which we Have common bus(data and address) for I/O and memory but separate read and write control lines for I/O. So when CPU decode instruction then if data is for I/O then it places the address on the address line and set I/O read or write control line on due to which data transfer occurs between CPU and I/O. As the address space of memory and I/O is isolated and the name is so. The address for I/O here is called ports. Here we have different read-write instruction for both I/O and memory.

    Memory Mapped I/O –
    In this case every bus in common due to which the same set of instructions work for memory and I/O. Hence we manipulate I/O same as memory and both have same address space, due to which addressing capability of memory become less because some part is occupied by the I/O.

    Differences between memory mapped I/O and isolated I/O –

    ISOLATED I/O           MEMORY MAPPED I/O
    *Memory and I/O have seperate address space   *Both have same address space
    *All address can be used by the memory           *Due to addition of I/O addressable memory become less for memory
    *Separate instruction control read and 
    write operation in I/O and Memory           *Same instructions can control both I/O and Memory
    *In this I/O address are called ports.           *Normal memory address are for both
    *More efficient due to seperate buses           *Lesser efficient
    *Larger in size due to more buses                 *Smaller in size


  • ISOLATED I/O
    The devices of I/O are treated in a separate domain as compared to memory.
    A total of 1mb address space is allowed for memory applications.
    In order to maximize the I/O operations ( isolated ) separate instructions are always provided to perform these operations.
    One of the disadvantages is that the data transfer only occurs between the I/O port and the AL, AX registers.

    MEMORY MAPPED I/O
    In such scenarios the devices (I/O) are treated as a part of the memory only.
    Complete 1mb of memory cannot be used as they are a part of the memory.
    In case of memory mapped I/O operations no external separate instructions are required.
    There is data transfer restriction in case of memory mapped instructions.

Assembly Language

Didn't get the answer.
Contact people of Talent-Assembly Language directly by clicking here