为什么外设一定要通过 I/O 接口与 CPU 相连?
为什么外设一定要通过 I/O 接口与 CPU 相连?
先问是什么,再问为什么。现在的计算机,使用dma技术,也就是外设直接接到内存总线上。
“为什么外设一定要通过 I/O 接口与 CPU 相连?”因为你看的书是根据40年前的计算机技术编写的。那些在大学里编书的老家伙,自从他们大学毕业以后,就混吃等死,再也没有学过任何新的东西。
因为每种接口都有自己定义,不同的接口会有不同的操作电压要求,会用不同的线数,会有不同的传输协议,而这些协议所规定信号要求不同.比如usb是4条线,一个电压,一个地,另外2条是一个差分对,要求的电压是5伏;而i2c总线是两条线一条时钟,一条数据;所以说要用固定的接口,而外设的接口一般只是符合某些协议,不可能包括所有的协议通用,因而要通过相应的接口去连接.
I/O接口是一电子电路(以IC芯片或接口板形式出现 ),其内有若干专用寄存器和相应的控制逻辑电路构成。它是CPU和I/O设备之间交换信息的媒介和桥梁。CPU与外部设备、存储器的连接和数据交换都需要通过接口设备来实现,前者被称为I/O接口,而后者则被称为存储器接口。存储器通常在CPU的同步控制下工作,接口电路比较简单;而I/O设备品种繁多,其相应的接口电路也各不相同,因此,习惯上说到接口只是指I/O接口
现在的计算机系统,其实应该说是异构的多机系统(当然因为多核心的普及,它本身也是同构的多机系统)。
现在的一台计算机,其实有几十个cpu,而总线更像是一个内部高速连接的网络。