首页 » 通讯 » 外设端口是若何获得地址的_端口_地址

外设端口是若何获得地址的_端口_地址

落叶飘零 2024-12-18 19:36:12 0

扫一扫用手机浏览

文章目录 [+]

打算机与外设是通过端口来交流信息的,外设的每个端口都必须有自己的地址,cpu才能找到这些端口,那么,这些端口的地址是如何得到的呢?

外设端口是若何获得地址的_端口_地址 通讯

统一编址和独立编址最主要的差异就在于,在统一编址的时候,外设端口和内存单元完备一样,每个外设端口的地址占用一个内存单元的地址,两者不能重复,也不能区分;独立编址的时候,外设端口的地址和内存地址是分开来的,两者地址可以相同,但利用的读写命令不同。

由上图可以看出,图中的8255芯片地址是90H,91H,等等。
由于8255一共四个端口,个中的A1A0用来确定详细哪个端口,而A7-A2我们则可以推出是100100,再假设A1A0就构成地址100100A1A0,也便是90H--93H。
这便是端口编址的意思。

上图是8255的四个端口。

上图是8253与cpu的连接。
这里8253的地址都是偶地址,由于cpu说的A0地址线一贯是低电平有效,而8253的四个端口地址则由CPU的A2A1确定,也便是8253上面的A1A0确定,但要把稳的是,终极的地址因此cpu的地址线为准的。

上图是8253构造图。

上面的例子都是独立编址的,由于cpu访问这些端口的指令都是IN和OUT,而不是MOVE。

对付ARM架构的处理器,都是IO与内存统一编址:

(1)类似于访问内存的办法,即把外设的寄存器当作一个内存地址来读写,从而以访问内存相同的办法来操作外设,叫IO与内存统一编址办法

(2)例如ARM架构下,我们写的代码要适应ARM架构的IO与内存统一编址的情形,所有我们访问IO的时候,也便是读写寄存器,读写硬件便是在进行IO,IO和内存一样也有个地址(内核统一编址机制已经做好代码定义),被统一化了。

也便是说。
如果是统一编址,就无法在指令上去区分是内存单元还是外设端口。

无论统一还是独立编址,外设端口的地址都来源于cpu的地址线。

标签:

相关文章