计算机硬件与机器代码知识详解
1. 输入/输出设备
即使计算机配备了二级存储设备,仅由处理器、内存和存储组成的计算机仍无法与外界交互,这时输入/输出(I/O)设备就发挥作用了。I/O 设备能让计算机从外界接收输入(如键盘、鼠标)、向外界发送数据(如显示器、打印机),或兼具两者功能(如触摸屏)。人类与计算机的交互、计算机与计算机之间的交互(常通过计算机网络,如互联网)都需要通过 I/O 设备实现。实际上,二级存储设备也是一种 I/O 设备,从 CPU 的角度看,对存储设备的读写操作就是 I/O 操作,读取为输入,写入为输出。常见的输入输出设备如下表所示:
| 输入设备 | 输出设备 |
| ---- | ---- |
| 鼠标、键盘、麦克风、摄像头、触摸屏、网络适配器、存储设备 | 显示器、扬声器、振动电机、打印机、触摸屏、网络适配器、存储设备 |
CPU 与 I/O 设备通信时,需要一种标准方式。这涉及到物理地址空间,即计算机可用的硬件内存地址范围。例如,32 位物理地址空间的计算机,地址范围从 0x00000000 到 0xFFFFFFFF,约 40 亿个地址,代表 4GB 地址空间。若该计算机有 3GB 的 RAM,那么 75% 的物理内存地址分配给了 RAM。
物理地址空间中的地址不仅可以指向内存字节,还可以指向 I/O 设备。当物理地址空间映射到 I/O 设备时,CPU 通过读写其分配的内存地址与设备通信,这称为内存映射 I/O(MMIO)。不过,一些 CPU 家族(如 x86)有专门用于访问 I/O 设备的指令,设备被分配 I/O 端口,通过独立的端口地址空间访问 I/O 设备称为端口映射 I/O(PMIO)。如今的 x86 CPU 同时支
超级会员免费看
订阅专栏 解锁全文
9万+

被折叠的 条评论
为什么被折叠?



