外设IO端口物理地址的编址方式

      一、i/o端口

      端口(port)是接口电路中能被cpu直接访问的寄存器的地址。几乎每一种外设都是通过读写设备上的寄存器来进行的。cpu通过这些地址即端口向接口电路中的寄存器发送命令,读取状态和传送数据。外设寄存器也称为“i/o端口”,通常包括:控制寄存器、状态寄存器和数据寄存器三大类,而且一个外设的寄存器通常被连续地编址。

      二、io内存

      例如,在pc上可以插上一块图形卡,有2mb的存储空间,甚至可能还带有rom,其中装有可执行代码。

      三、io端口和io内存的区分及联系

      这两者如何区分就涉及到硬件知识,x86体系中,具有两个地址空间:io空间和内存空间,而risc指令系统的cpu(如arm、powerpc等)通常只实现一个物理地址空间,即内存空间。

      内存空间:内存地址寻址范围,32位操作系统内存空间为2的32次幂,即4g。

      io空间:x86特有的一个空间,与内存空间彼此独立的地址空间,32位x86有64k的io空间。

      io端口:当寄存器或内存位于io空间时,称为io端口。一般寄存器也俗称i/o端口,或者说i/o ports,这个i/o端口可以被映射在memory space,也可以被映射在i/o space。

      io内存:当寄存器或内存位于内存空间时,称为io内存。

      四、外设io端口物理地址的编址方式

      cpu对外设io端口物理地址的编址方式有两种:一种是i/o映射方式(i/o-mapped),另一种是内存映射方式(memory-mapped)。而具体采用哪一种则取决于cpu的体系结构。

      1、统一编址

      risc指令系统的cpu(如,powerpc、m68k、arm等)通常只实现一个物理地址空间(ram)。在这种情况下,外设i/o端口的物理地址就被映射到cpu的单一物理地址空间中,而成为内存的一部分。此时,cpu可以象访问一个内存单元那样访问外设i/o端口,而不需要设立专门的外设i/o指令。

      统一编址也称为“i/o内存”方式,外设寄存器位于“内存空间”(很多外设有自己的内存、缓冲区,外设的寄存器和内存统称“i/o空间”)。

      2、独立编址

      而另外一些体系结构的cpu(典型地如x86)则为外设专门实现了一个单独地地址空间,称为“i/o地址空间”或者“i/o端口空间”。这是一个与cpu地ram物理地址空间不同的地址空间,所有外设的i/o端口均在这一空间中进行编址。cpu通过设立专门的i/o指令(如x86的in和out指令)来访问这一空间中的地址单元(也即i/o端口)。与ram物理地址空间相比,i/o地址空间通常都比较小,如x86 cpu的i/o空间就只有64kb(0-0xffff)。这是“i/o映射方式”的一个主要缺点。

      独立编址也称为“i/o端口”方式,外设寄存器位于“i/o(地址)空间”。

      3、优缺点

      独立编址主要优点是:

      1)i/o端口地址不占用存储器空间;使用专门的i/o指令对端口进行操作,i/o指令短,执行速度快。

      2)并且由于专门i/o指令与存储器访问指令有明显的区别,使程序中i/o操作和存储器操作层次清晰,程序的可读性强。

      3)同时,由于使用专门的i/o指令访问端口,并且i/o端口地址和存储器地址是分开的,故i/o端口地址和存储器地址可以重叠,而不会相互混淆。

      4)译码电路比较简单(因为i/0端口的地址空间一般较小,所用地址线也就较少)。

      其缺点是:只能用专门的i/0指令,访问端口的方法不如访问存储器的方法多。

      统一编址优点:

      1)由于对i/o设备的访问是使用访问存储器的指令,所以指令类型多,功能齐全,这不仅使访问i/o端口可实现输入/输出操作,而且还可对端口内容进行算术逻辑运算,移位等等;

      2)另外,能给端口有较大的编址空间,这对大型控制系统和数据通信系统是很有意义的。

这种方式的缺点是端口占用了存储器的地址空间,使存储器容量减小,另外指令长度比专门i/o指令要长,因而执行速度较慢。

      究竟采用哪一种取决于系统的总体设计。在一个系统中也可以同时使用两种方式,前提是首先要支持i/o独立编址。intel的x86微处理器都支持i/o 独立编址,因为它们的指令系统中都有i/o指令,并设置了可以区分i/o访问和存储器访问的控制信号引脚。而一些微处理器或单片机,为了减少引脚,从而减 少芯片占用面积,不支持i/o独立编址,只能采用存储器统一编址。

来源:嵌入式arm

 

 

  • 外设IO端口物理地址的编址方式已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计