前言
计算机硬件结构简略介绍
一、计算机硬件
从软件开发者的角度来看,计算机硬件有三个部件最为关键,分别是中央处理器CPU、
内存、I/O控制芯片
二、早期
早期计算机,CPU的核心频率不高,和内存的频率一样,他们都是直接连接在同一个总线(bus)上。由于I/O设备如显示器键盘磁盘等的速度与CPU和内存的相比还是慢很多,所以需要为低速设备准备数据缓冲区。CPU的信号都是TTL电平,外设大多数都是机电设备,不可能使用TTL电平驱动。此外,CPU总线上传送的都是并行数据,外设并行、串行都有,需要转换格式。因此每个设备都会有一个相应的I/O控制器。早期的计算机硬件结构如下图所示:
I/O控制器需要解决的问题如下:
- 设置数据缓冲区,解决CPU和外设数据不匹配问题
- 设置信号电平转化电路
- 设置数据转换格式(模拟->数据,串转并等等)
- 设置时序控制电路来同步CPU和外部设备
- 提供地址译码(每个硬件需要反馈的信息很多,所以一个I/O接口包含多个端口,即I/O接口上的寄存器,用来存储这些信息的内容。但同一时刻,只有一个端口和CPU数据交换,这就需要I/O接口提供地址译码电路,使得CPU可以选中某一个端口,使其可以访问数据总线)
二、后来
由于CPU核心频率的提升,导致系统内存跟不上CPU的速度,于是产生了与内存频率一致的系统总线,而CPU采用倍频的方式与系统总线进行通信。接着随着图形化操作系统以及3D游戏和多媒体的发展,使得图形芯片需要跟CPU和内存之间存在大量交换数据,所以人们设计了高速的北桥芯片,协调CPU、内存和高速图形设备之间的数据交换。此外人们还专门设计了处理低速设备的南桥芯片。
采用了PCI/ISA及南北桥设计的硬件架构如下图所示。
总结
以上就是今天要讲的内容,本文仅仅简单介绍了从软件开发者的角度来看,计算机硬件的部件
文章内容来自于对《操作系统真相还原》及《程序员的自我修养》两本书内容的整理