公 (1)I/o端口和存储器统一编址 ( Memory-mapped I/O) I/O端口和存储器统一编址的地址空间分布情况如图6.2所示。 O端口 O地址空间 整个地址空间 存储单元 存储器地址空间 图62Jo端口和存储器统一编址
I/O 端口 存储单元 I/O 地址空间 存储器地址空间 整个地址空间 图6.2 I/O 端口和存储器统一编址 (1) I/O端口和存储器统一编址 • (Memory-mapped I/O) I/O端口和存储器统一编址的地址空间分布情况如图6.2所示
公 这种编址方式的优点是,可以用访向存储器的指 令来访问O端口,而访问存储器的指令功能比较 强,不仅有一般的传送指令,还有算术、逻辑运 算指令,以及各种移位、比较指令等,并且可以 实现直接对ⅣO端口内的数据进行处理。 ·例如,若一个存储器映像的I/0端口地址为3000H, 则可以直接用指令 ADD AL,DS:[3000H]”对端 口的内容进行算术运算
• 这种编址方式的优点是,可以用访向存储器的指 令来访问I/O端口,而访问存储器的指令功能比较 强,不仅有一般的传送指令,还有算术、逻辑运 算指令,以及各种移位、比较指令等,并且可以 实现直接对I/O端口内的数据进行处理。 • 例如,若一个存储器映像的I/O端口地址为3000H, • 则可以直接用指令“ADD AL, DS:[3000H]”对端 口的内容进行算术运算
公 缺点是: ·由于O端口占用了一部分存储器地址空间,因而 使用户的存储地址空间相对减小; ·另外,由于利用访问存储器的指令来进行O操 作,指令的长度通常比单独O指令要长,因而指 令的执行时间也较长 ·微处理器Mc6800系列、6502系列以及Mc680X0 系列采用这种编址方式
• 缺点是: • 由于I/O端口占用了一部分存储器地址空间,因而 使用户的存储地址空间相对减小; • 另外,由于利用访问存储器的指令来进行I/O操 作,指令的长度通常比单独I/O指令要长,因而指 令的执行时间也较长。 • 微处理器MC6800系列、6502系列以及MC680x0 系列采用这种编址方式
公 (2)I/O端口和存储器单独编址(I/o- mapped I/o I/O端口和存储器单独编址的地址空间分布如图63所示。 存储单元 存储地址空 间 O端口 O地址空间 图6.310端口和存储器单独编址
存储单元 存储地址空 间 I/O 端口 I/O 地址空间 图6.3 I/O 端口和存储器单独编址 (2) I/O端口和存储器单独编址(I/O- mapped I/O) I/O端口和存储器单独编址的地址空间分布如图6.3所示
公 这种编址方式的优点是: 第一,1O端口不占用存储器地址,故不会减少用 户的存储器地址空间; 第二,单独O指令的地址码较短,地址译码方 便,1/O指令短,执行速度快; 第三,采用单独的ⅣO指令,使程序中MO操作和其 他操作层次清晰,便于理解
• 这种编址方式的优点是: 第一,I/O端口不占用存储器地址,故不会减少用 户的存储器地址空间; 第二,单独I/O指令的地址码较短,地址译码方 便,I/O指令短,执行速度快; 第三,采用单独的I/O指令,使程序中I/O操作和其 他操作层次清晰,便于理解