#群星9月榜#

当我们把U盘插到电脑上时,便可以方便地对U盘进行使用。

那么,计算机和外部设备是如何进行连接的呢?

外部设备与cpu如何连接 外部设备与cpu如何连接(1)

外部设备与cpu如何连接 外部设备与cpu如何连接(2)

从上面两个图我们看到,CPU和外设连接,都必须通过数据线、地址线和控制线。

上图中的端口这里予以重点解释:

比如在51单片机中,其CPU有4个端口:

外部设备与cpu如何连接 外部设备与cpu如何连接(3)

而每个端口中的每一位都由如下类似的电路构成的:

外部设备与cpu如何连接 外部设备与cpu如何连接(4)

也就是说,51的每个端口,比如P0,都是由上图中八个同样的电路构成。这个端口电路的作用就是用来和外部设备连接并进行信息交换的。

MCS-51单片机p0,p1,p2,p3端口的字节地址是:

P0:80H

P1:90H

P2:0A0H

P3:0B0H

也就是说,CPU自身访问P0口,就是通过80H这个地址进行的,比如

MOV P0,#11101111B

或者MOV AL,(80H)

同样的,I/O设备也有类似的端口电路,CPU和外设的连接正是通过地址总线实现的:

外部设备与cpu如何连接 外部设备与cpu如何连接(5)

上图进一步解释了这个过程。

CPU端口和外设的连接方式:

1:直接连接,比如信号灯:

外部设备与cpu如何连接 外部设备与cpu如何连接(6)

2:通过设备的相应端口,比如52单片机和U盘的连接:

外部设备与cpu如何连接 外部设备与cpu如何连接(7)

3:通过接口电路,比如8255接口芯片:

外部设备与cpu如何连接 外部设备与cpu如何连接(8)

上述无论哪种连接方式,对于P1端口、USB外设还是8255芯片,CPU都给它们赋予了一个固定的端口地址,CPU正是通过端口地址来实现对外部设备的访问的。

外部设备与cpu如何连接 外部设备与cpu如何连接(9)

我们看到,一块主板上有很多的接口和插槽,这些接口和插槽都和CPU的某个端口连接在一起,任何一个外设可以选择其中的一个插槽插入从而与CPU建立连接,但无论哪个端口,都有一个固定的端口地址。

外部设备与cpu如何连接 外部设备与cpu如何连接(10)

上图可以加深对于端口的理解。

外部设备与cpu如何连接 外部设备与cpu如何连接(11)

外部设备与cpu如何连接 外部设备与cpu如何连接(12)

上图表示,当图右边的CPU要与外部设备进行信息交换的时候,首先要找到这个设备,这是通过地址线来完成的。CPU一般要通过中间电路与外设相连,原因大概包括外设种类繁多、需要通过总线统一接口标准等等:

外部设备与cpu如何连接 外部设备与cpu如何连接(13)

外部设备与cpu如何连接 外部设备与cpu如何连接(14)

将上面这条端口访问指令与

外部设备与cpu如何连接 外部设备与cpu如何连接(15)

这条数据传送指令对比,可以看出,cpu对于外设的访问,与普通的内存单元没什么两样。

因此,与计算机连接的外部设备,有些有自己的存储芯片,如U盘,数码相机等,用于和cpu交换数据(当然也有很多没有存储芯片的外设,比如信号灯),cpu和这些外设相连,其实是和它们带有的存储芯片相连,也就和cpu与内存的连接没什么两样,只不过CPU访问这种外设里面的存储单元是通过某个固定的端口电路进行的。

简单总结:

1:端口首先是一个电路。

2:cpu与外设连接,首先是选中这个设备,然后再和这个设备进行数据读写,而选择设备其实就是选择端口。

3:外设与cpu相连,只能通过CPU某个固定的端口,而每个端口都有一个固定的地址。

4:外设可以选择某个端口插入与CPU建立连接。

5:外设插入端口(插槽)以后,就相当于通过地址总线和数据总线与CPU建立了连接,CPU通过这个固定的端口对外设进行访问,而且无论交换多少数据,都只能通过这个端口进行。这个时候外设和普通的内存单元就没什么两样了。

,