硬件工程师培训教程(二)
10-11
第二节 计算机的体系结构
台计算机由硬件和软件两大部分组成。硬件是组成计算机系统的物理实体,是看得见摸得着的部分。从大的方面来分,硬件包括CPU(Central Processing Unit ——中央处理器)、存储器和输入/输出设备几个部分。
CPU 负责指令的执行,存储器负责存放信息(类似大脑的记忆细胞),输入/输出设备则负责信息的采集与输出(类似人的眼睛和手)。具体设备如我们平常所见到的内存条、显卡、键盘、鼠标、显示器和机箱等。软件则是依赖于硬件执行的程序或程序的集合。这是看不见也摸不着的部分。
一、Von Neumann (冯. 诺依曼)体系结构
Von Neumann 体系结构是以数学家John Von Neumann 的名字命名的,他在20 世纪40年代参与设计了第一台数字计算机ENIAC 。Von Neumann 体系结构的特点如下:
·一台计算机由运算器、控制器、存储器、输入和输出设备5 大部分组成。
·采用存储程序工作原理,实现了自动连续运算。
存储程序工作原理即把计算过程描述为由许多条命令按一定顺序组成的程序,然后把程序和所需的数据一起输入计算机存储器中保存起来,工作时控制器执行程序,控制计算机自动连续进行运算。Von Neumann 体系结构存在的一个突出问题就是,外部数据存取速度和CPU 运算速度不平衡,不过可以通过在一个系统中使用多个CPU 或采用多进程技术等方法来解决。
二、CPU
CPU 是计算机的运算和控制中心,其作用类似人的大脑。不同的CPU 其内部结构不完全相同,一个典型的CPU 由运算器、寄存器和控制器组成。3 个部分相互协调便可以进行分析、判断和计算,并控制计算机各部分协调工作。最新的CPU 除包括这些基本功能外,还集成了高速Cache(缓存)等部件。
三、存储器
每台计算机都有3 个主要的数据存储部件:主存储器、高速寄存器和外部文件存储器。主存储器通常是划分为字(典型的是32 位或64 位)或字节(每字含4 或8 字节)的线性序列。高速寄存器通常是一个字长的位序列。一个寄存器的内容可能表示数据或主存储器中数据或下一条指令的地址。高速缓存通常位于主存储器和寄存器之间作为从主存储器存取数据的加速器。外部文件存储器包括磁盘、磁带或日益普及的CD-ROM 等,通常以记录划分,每个记录是位或字节的序列。
四、输入/输出(I/O )设备
输入设备类似人的眼睛、耳朵和鼻子,负责信息的采集,并提交给CPU 处理。具体产品如键盘、鼠标和扫描仪等。输出设备类似人的手,执行大脑(CPU)发出的指令,可完成一定的功能,输出计算机的运算结果。具体产品如打印机、显示器和音箱等。
五、总线
微型计算机的体系结构有一个最显著的特征是采用总线结构。总线就像一条公共通路,将所有的设备连接起来,达到相互通信的目的。与并行计算机(各部件间通过专用线路连接)相比,采用总线结构的微型计算机简化了设计、降低了成本、缩小了体积,但在同等配置条件下,性能有所下降。总线又分用于传输数据的数据总线(Data Bus)、传输地址信息的地址总线(Address Bus)和用于传输控制信号、时序信号和状态信息的控制总线(Control Bus)。 //本文来自脚本之家www.
六、操作集
每台计算机都有一内部基本操作集与机器语言指令相对应。一个典型的操作集包括与内部数据类型相关的基本算术指令(即实数和整数加法、减法、乘法和除法等)、测试数据项性质(如是否为零,是正数或负数等)的指令、对数据项的某一部分进行存取和修改 (如在一个字中存取一个字符 ,在一条指令中存取操作数的地址等 )的指令、控制输入/输出设备的指令及顺序控制指令(如无条件跳转等)。
七、顺序控制
在机器语言程序中下一条要被执行的指令通常是由程序地址寄存器(也称为指令计数器) 的内容确定的。为了将控制权转到程序某处,程序员可使用一些操作修改该寄存器的内容。解释器作为一部计算机操作的核心,每次执行的都是简单的循环算法。而对于每次循环 ,解释器都会从程序地址寄存器取得下一条指令的地址(并增量寄存器的值为下一条指令的地址),从存储器取得指定的指令,对指令进行解码,分解为操作码和一组操作数并取得操作数(如果必要的话),使用操作数作为参数调用指定的操作。基本操作可能修改内存和寄存器中的数据,和输入输出设备进行通讯 ,通过修改程序地址寄存器的内容改变程序的执行流程 。在执行基本操作后,解释器将重复上述循环。
八、数据存取
除了操作码,每条机器指令还需要指定操作码所需的操作数。一般操作数可以被存放在主存储器或寄存器中。计算机必须包含一个指定和存取操作数的机制。同样道理,运算的结果必须被存放在某一地址。上述机制称为数据存取控制。一般的方式是,对每个存储器地址用一个整数标记,同时提供一个机制对于给定的地址存取该地址的内容(或将一个新值存入给定的地址)。同理,寄存器一般也采用一个简单的整数标明。
九、存储管理
设计电脑的一个原则是保证能方便地操作计算机包含的所有设备(如内存、CPU 和外部设备)。实现该原则的主要困难是CPU 每次操作的时间一般是以毫微秒计,而内存存取时间是微秒级。为了对速度进行平衡,需要采用不同的存取管理机制。如果仅在硬件中采用简单的存取管理机制,则在整个程序的执行过程中数据都被存放在内存中,每个时刻只有一个程序被运行。
尽管CPU 必须等待数据,但无需额外的硬件。为了平衡中央处理器速度和外部数据读取速率之间的矛盾,操作系统通常使用多进程技术,在等待读取数据的毫秒时间段内,计算机可运行另一个程序。为了允许多个程序在同一时刻能共存于内存中,可直接在硬件中使用页或动态程序分配机制。页算法对将来最有可能被使用的数据和程序做出预测并存取,只要数据和指令所在的页在主存中,程序就可以一直执行下去。如果出现了页错误(即正确的地址不在内存中),则通知操作系统从外部存储器读入相应的页。
另外,为了平衡主存和中央处理器间的速度差异,可使用缓存。缓存是位于主存和中央处理器间的一个较小的高速数据存储器,大小一般为1 ~256KB,包含中央处理器最近使用的数据和指令,当然也包括了将来最有可能被使用到的程序代码或数据。如果所需的数据恰在缓存中,则中央处理器就直接调用该缓存中的数据,被修改的数据在相对较慢的主存速率下被存至主存。如果指定的地址不在主存中,则读取包含该地址的一段数据块,这些相近地址中的数据有可能马上会被使用。使用32KB 缓存可达到95%的命中率(CPU 在缓存中找到所用数据的概率)。
十、操作环境
计算机的操作环境包括外围存储器和输入/输出设备。这些设备代表了计算机的外部世界,任何与计算机的通讯都必须通过操作环境进行。操作环境按照不同的存取速率分为不同类别,如高速存储器(外存)、中速存储器(磁盘和CD-ROM)、低速存储器(磁带)和输入输出设备(阅读器、打印机、数据通信线)等。值得指出的是,计算机硬件的组织通常都具有不同的形式。本章介绍的只是其中的“Von Neumann 体系结构”,当然还有其他的体系结构。
十一、计算机状态
从静态角度观察一台计算机,可以把它视为是由数据、操作和控制结构等组成的一个完整的系统。
因此对计算机的了解还应包括对它的动态行为,即程序执行过程的了解。这个了解也就要包括其程序执行前不同存储器的内容、所执行的指令序列、程序执行过程中数据内容是如何被修改的及程序执行的最后结果是什么等。
描述计算机动态行为的一个简便方法是使用“计算机状态”。将计算机上程序的执行看成是计算机状态的一个变化序列,每个状态由程序执行过程中某一时刻的内存、寄存器和外部设备的内容确定。这些存储器的初始内容定义了计算机的初始状态,每一步程序的执行都是通过修改存储器的内容将当前的状态转换为一个新的状态,该过程称为状态转换。当程序执行结束后,最终状态定义就是这些存储器的内容。程序的执行可以看成是由计算机状态序列的转换,如果能预测状态的转换序列,就可以说理解了计算机的动态行为。
第二章 CPU 的发展及相关产品技术
C P U (C e n t r a l P r o c e s s i n g U n i t),即中央处理单元,也称微处理器,是整个系统的核心,也是整个系统最高的执行单位。它负责整个系统指令的执行、数学与逻辑运算、数据存储、传送以及输入输出的控制。因为C PU 是决定电脑性能的核心部件,人们就以它来判定电脑的档次,于是就有了4 86 、5 8 6 (P e n t i u m)、P Ⅱ、P Ⅲ、P4 之分。C PU 既然关系着指令的执行和数据的处理,当然也关系着指令和数据处理速度的快慢,因而C PU 有不同的执行功能,不同的处理速度。一般CPU的功能和处理速度,我们可以从它的型号和编号来判断,如P e n t i um 系列是5 86 机种的CPU,型号后的数字即为它的工作频率(时钟频率),单位是M Hz 。