Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |
| en:multiasm:cs:chapter_3_7 [2025/12/04 13:24] – ktokarz | en:multiasm:cs:chapter_3_7 [2025/12/04 13:42] (current) – [Separate I/O address space] ktokarz |
|---|
| |
| ===== Separate I/O address space ===== | ===== Separate I/O address space ===== |
| Separate I/O address space is accessed independently of the program or data memory. In the processor, it is implemented with the use of separate control bus lines to read or write I/O devices. Separate control lines usually mean that the processor implements also different instructions to access memory and I/O devices. It also means that the chosen peripheral and byte in the memory can have the same address and only the type of instruction used distinguishes the final destination of the address. | A separate I/O address space is accessed independently of the program or data memory. In the processor, it is implemented with the use of separate control bus lines to read or write I/O devices. Separate control lines usually mean that the processor also implements different instructions to access memory and I/O devices. It also means that the chosen peripheral and byte in the memory can have the same address, and only the type of instruction used distinguishes the final destination of the address. |
| Separate I/O address space is shown schematically in Fig {{ref>separateio}}. Reading the data from the memory is activated with the #MEMRD signal, writing with the #MEMWR signal. If the processor needs to read or write the register of the peripheral device it uses #IORD or #IOWR lines respectively. | Separate I/O address space is shown schematically in Fig {{ref>separateio}}. Reading the data from the memory is activated with the #MEMRD signal, writing with the #MEMWR signal. If the processor needs to read or write the register of the peripheral device, it uses #IORD or #IOWR lines, respectively. |
| <note info> | <note info> |
| The "#" symbol before a signal name means that the active signal on the line is a LOW state while idle is a HIGH state. | The "#" symbol before a signal name means that the active signal on the line is a LOW state while idle is a HIGH state. |