x86计算机组件

本节首先通过检查典型主板配置以及围绕 CPU 的芯片组来了解 x86 如何与其他组件的集成。然后讨论内存、I/O 端口和通用设备接口。最后说明汇编语言程序怎样利用系统硬件、固件,并调用操作系统函数来实现不同访问层次的 I/O 操作。

主板

主板是微型计算机的心脏,它是一个平面电路板,其上集成了 CPU、支持处理器(芯片组(chipset))、主存、输入输出接口、电源接口和扩展插槽。

各种组件通过总线即一组直接蚀刻在主板上的导线,进行互连。目前 PC 市场上有几十种主板,它们在扩展功能、集成部件和速度方面存在着差异。但是,下述组件一般都会岀现在主板上:
  • CPU 插座。根据其支持的处理器类型,插座具有不同的形状和尺寸。
  • 存储器插槽(SIMM 或 DIMM),用于直接插入小型内存条。
  • BIOS (基本输入输出系统,basic input-output system)计算机芯片,保存系统软件。
  • CMOS RAM,用一个小型纽扣电池为其持续供电。
  • 大容量插槽设备接口,如硬盘和 CD-ROMS。
  • 外部设备的 USB 接口。
  • 键盘和鼠标接口。
  • PCI 总线接口,用于声卡、显卡、数据采集卡和其他输入输出设备。

以下是可选组件:
  • 集成声音处理器。
  • 并行和串行设备接口。
  • 集成网卡。
  • 用于高速显卡的 AGP 总线接口。

典型系统中还有一些重要的支持处理器:
  • 浮点单元(FPU),处理浮点数和扩展整数运算。
  • 8284/82C84 时钟发生器,简称时钟,按照恒定速率振荡。时钟发生器同步 CPU 和计算机的其他部分。
  • 8259A 可编程中断控制器(PIC, Programmable Interrupt Controller),处理来自硬件设备的外部中断请求,包括键盘、系统时钟和磁盘驱动器。这些设备能中断 CPU,并使其立即响应它们的请求。
  • 8253 可编程间隔定时器 / 计数器(Programmable Interval Timer/Counter),每秒中断系统 18.2 次,更新系统日期和时钟,并控制扬声器。它还负责不断刷新内存,因为 RAM 存储器芯片保持其内容的时间只有几毫秒。
  • 8255 可编程并行端口(Programmable Parallel Port),使用 IEEE 并行端口将数据输入和输出计算机。该端口通常用于打印机,但是也可以用于其他输入输出设备。

1) PCI 和 PCI Express 总线架构

PCI(外部设备互联,Peripheral Component Interconnect)总线为 CPU 和其他系统设备提供了连接桥,这些设备包括硬盘驱动器、内存、显卡、声卡和网卡。

最近,PCI Express 总线在设备、内存和处理器之间提供了双向串行连接。如同网络一样,它用独立的“通道”传送数据包。该总线得到显卡的广泛支持,能以较高速度传输数据。

2) 主板芯片组

主板芯片组(motherlboard chipset)是一组处理器芯片的集合,这些芯片被设计为在特定类型主板上一起工作。

各种芯片组具有增强处理能力、多媒体功能或减少功耗等特性。以 Intel P965 Express 芯片组为例,该芯片组与 Intel Core2 Duo 或 Pentium D 处理器一起,用于桌面系统。

Intel P965 具有下述特性:
  • Intel 高速内存访问 (Fast Memory Access) 使用了最新内存控制中心 (MCH)。它可以 800MHz 时钟速度来访问双通道 DDR2 存储器。
  • I/O 控制中心 (Intel ICH8/R/DH) 使用 Intel 矩阵存储技术 (MST) 来支持多个串行 ATA 设备 ( 磁盘驱动器 ) 。
  • 支持多个 USB 端口,多个 PCI Express 插槽,联网和 Intel 静音系统技术。
  • 高清晰音频芯片提供了数字声音功能。

如下图所示,主板厂商以特定芯片为中心来制造产品。例如,Asus 公司使用 P965 芯片组的 P5B-E P965 主板。

Intel P965 Express芯片组框图

内存

基于 Intel 的系统使用的是几种基础类型内存:只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、动态随机访问存储器(DRAM)、静态 RAM (SRAM)、图像随机存储器(VRAM),和互补金属氧化物半导体(CMOS)RAM:
  • ROM 永久烧录在芯片上,并且不能擦除。
  • EPROM 能用紫外线缓慢擦除,并且重新编程。
  • DRAM,即通常的内存,在程序运行时保存程序和数据的部件。该部件价格便宜,但是每毫秒需要进行刷新,以避免丢失其内容。有些系统使用的是 ECC(错误检查和纠正)存储器。
  • SRAM 主要用于价格高、速度快的 cache 存储器。它不需要刷新,CPU 的 cache 存储器就是由 SRAM 构成的。
  • VRAM 保存视频数据。VRAM 是双端口的,它允许一个端口持续刷新显示器,同时另一个端口将数据写到显示器。
  • CMOS RAM 在系统主板上,保存系统设置信息。它由电池供电,因此当计算机电源关闭后,CMOS RAM 中的内容仍能保留。

编程帮,一个分享编程知识的公众号。跟着站长一起学习,每天都有进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

文章不深奥,不需要钻研,在公交、在地铁、在厕所都可以阅读,随时随地涨姿势。

文章不涉及代码,不烧脑细胞,人人都可以学习。

当你决定关注「编程帮」,你已然超越了90%的程序员!

编程帮二维码
微信扫描二维码关注