第十四章 端口
cpu中通过总线连接的设备除了各种存储器以外还有以下3种芯片。
1)各种接口卡(比如,网卡,显卡)上的接口芯片,它们控制接口卡进行工作;
2)主板上的接口芯片,cpu通过它们对部分外设进行访问。
3)系统芯片,用来存储相关的系统信息,或进行相关的输入输出处理。
这些芯片中的,都有一组可以由cpu读写的寄存器。
1)都和cpu的总线相连(通过其所在的芯片)
2)cpu对他们进行读写的时候都通过控制线向它所在的芯片发出端口读写命令。
将这些寄存器都当作端口,对其进行统一的编址,从而建立了一个统一的端口地址空间。
cpu可以直接读写一下3个地方的数据
1)cpu内部的寄存器
2)内存单元
3)端口
14.1 端口的读写
cpu通过端口地址定位端口。中pc系统中,cpu最多可以定位64KB个不同端口(0-65535)
in 和 out
并且传送数据只能用al 和ax
in al, 20h
out 20h, al
mov dx, 3f8h
int al, dx
out dx, al
14.2 CMOS RAM 芯片
PC中有一个CMOS RAM芯片,一般称为CMOS。具有如下特征
1)包含一个时钟和一个有128个存储单元的RAM存储器(