In many cases, the chip has its own I/O port. The data lines of these I/O ports can generally be 8, 16, and 32 bits (for example, in cs8900aIn I/O modeOr MCS51 eight-bit I/O), I/O port may have many, need to passI/O address lineFor example, cs8900a can use three address lines to select eight internal I/O registers. Through these I/O registers (mainly addresses and data registers), you can access other internal registers and internal memory and read/write them (by sending the read/write interrupt signal ), this is the I/O mode, and the dm9000 has such an I/O mode. The connection is simpler. The cmd control selects the data port and address port inside the chip, the address bus transmits specific data.
The I/O mode is similar to the memory mode (Unified addressing, same as accessing the memory, connected to the address bus .) This helps reduce data connections and reduce the use of peripheral extended lines, but more operations are required!
Of course, if the aboveI/O port address lineThe address bus connected to the processor is I/OUnified addressingMode (allocated on the address of the address bus memory). If it is connected to a non-address busIndependent CompilationMethod (not related to the memory address, which needs to be indirectly selected through the I/O port of the processor ).....
Therefore, we need to differentiate some concepts:
I/O mode: The peripheral chip can read and write other memory or register space through the I/O port operation, the processor can select these I/O ports to complete all the control over the chip.
I/O address space: These I/O Ports of the peripheral chip may correspond to the memory address on the CPU (Uniform addressing ).