
由于采用的是端口统一编址的方式(也就是给每一个I/O端口分配一个存储器地址),I/O端口的寻址信号由地址总线通过译码得到。CPU用存储器读写指令对I/O接口进行读写,此时,I/O端口的读写操作控制信号采用存储器读(MEMR)和存储器写(MEMW)信号。而在通信卡上为实现内存映射就必须完成相应的译码转换,也就是将对应的双口RAM地址与分配的地址空间对应起来,实现地址的转换。
实现时,采用动态配置内存映射设备,改变内存映射端口的地址也相对方便,比老式的ISA[1]接口用跳线配置要优越些。该双口RAM为8K,但计算机能够访问的只有4K。其中CTRL线是8K RAM的控制线,通过该线可以实现“乒乓”结构[1]的数据传输。
数据接口电路实现数据线的驱动功能。尽管很多计算机主板的数据总线都经过驱动,但为了确保可靠性,数据总线不应直接与双口RAM相连接,而是通过数据驱动器件与数据线相连。windows操作系统原理
控制逻辑电路是与计算机通信的核心部分,该部分主要是实现“乒乓”结构的硬件控制部分。当存储器中的RAM达到HALF READY(半满状态)时发出中断申请实现数据的传输,同时,将CTRL状态取反,使得计算机访问的是其中的一半,即实现了数据传输的“乒乓”结构。此外,数据的读写控制也通过控制逻辑实现。
WDM驱动程序是分层的,不同层上的驱动程序有着不同的优先级[2]。此外,WDM还引入了FDO(功能设备对象)与PDO(物理设备对象)两个新类来描述硬件。
在驱动程序的开发中还涉及到硬件中断的处理。具体地说,首先安装一个中断服务例程(ISR),当相应的中断发生时,内核调用它的中断服务例程。中断服务例程的第一个工作是判断该中断是否由自己的设备产生。如果不是,则返回FALSE,交给其他的中断服务例程;如果是,则处理该中断,并返回TRUE。windows操作系统原理
由于在接口卡中采用了89C52芯片完成数据收发工作,同时协助主机进行信号的处理,这在很大程度上减轻了主机的负担,加速了I/O操作。在驱动程序的编制上,采用了WDM驱动模型,这样可以很方便地将程序移植到任何支持WDM模型的操作系统中去。
2 尤晋元,史美琳等 编著.Windows操作系统原理.北京:机械工业出版社,2001
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-34928-2.html
列黑名单