自动化专业英语教程第2版王宏文主编翻译 下载本文

PART 3 Computer Control Technology

UNIT 1

A 计算机的结构与功能

这一节介绍计算机的内部体系结构,描述了指令如何存储和译码,并解释了指令执行周期怎样分解成不同的部分。

从最基本的水平来讲,计算机简单执行存储在存储器中的二进制编码指令。这些指令按照二进制编码数据来产生二进制编码结果。对于通用可编程计算机,四个必要部件是存储器、中央处理单元(CPU,或简称处理器),外部处理器总线,输入/输出系统,正如图 3-1A-1所示。

存储器

图 3-1A-1 计算机的基本元件

存储器储存指令和数据。

CPU读取和解释指令,读每条指令所需的数据,执行指令所需的操作,将结果存回存储器。CPU所需的操作之一是从外部设备读取或写入数据。这利用输入/输出系统来实现。

外部处理器总线是一套能在其他计算机部件之间传送数据、地址和控制信息的电导线。

CPU 输入/输出 外部处理器总线 存储器

计算机的存储器是由一套连续编号的单元所组成。每个存储单元是一个能存二进制信息的寄存器。单元的编号称为地址。初始地址为0。制造商定义处理器的一个字长为单元的整数长。在每个字中,各位表示数据或指令。对于英特尔8086/87和摩托罗拉MC68000微处理器来说,一个字是16位长,但每个存储单元仅为8位,因此两个8位单元来存取获得一个数据字长。

1

为了使用存储器中的内容,处理器必须取来右边的内容。为了完成这一次读取,处理器把所需单元的二进制编码地址放到外部处理器地址总线的地址线上,然后,存储器允许处理器读取所寻址的存储单元的内容。读取存储单元的内容的这一过程并不改变该单元的内容。

存储器中的指令 存储器中的指令由CPU取来。除非发生程序转移,它们按在存储器中出现的顺序来执行。用二进制形式所写的指令叫做机器语言指令。一种得到(指令)有效形式的方法是将(这些)位分成段,如图3-1A-2所示。每一段都包含一个不同类型信息的代码。

在简单的计算机中,每条指令可分为四段,每段有四位。每条指令包括操作代码(或操作码,每条指令有唯一的操作码)、操作数地址、立即数、转换地址。

在一个实际的指令集中,有很多指令。也有大量的存储单元来存储指令和数据。为了增加存储单元的数目,如果我们使用同样的方法,地址段的指令一定长于16位。除了增加指令长度外,还有很多增加微处理器寻址范围的方法:可变指令段、多字指令、多寻址模式,可变指令长度。我们不将详细讨论它们。

存储数据 数据是存储器中代表代码的信息。为了有效利用存储空间和处理时间,大多数计算机提供了不同长度和表示方法的处理数据能力。能被处理器识别的各种不同表示称作数据类型。常用的数据类型有:位、二进制码、十进制数字(4位字节,BCD)、字节(8位)、字(2个字节)、双字(4个字节)。

有一些处理器提供了可处理其他数据类型。例如单精度浮点数据类(32位)和双精度浮点数据(64位)等的指令。还有另一类的数据–––特征数据。通常也表示为8位。在标准键盘上,每个计算机终端键和键的组合(例如shift和control功能键)有定为美国信息交换标准码的7位码。

存储器类型 在数字控制系统的应用中,我们也关注不同存储技术的特征。对主存储器来说,我们需用它临时存储信息,并逐次地从不同单元写入或获得信息。这种类型的存储器称作随机访问存储器(RAM)。在某些情况下,我们不想让存储器中的信息丢失。因此我们愿使用特殊技术写入存储器。如果写入只在物理改变连接时才能实现,那么这种存储器称为只读存储器(ROM)。如果相互连接的模式可由程序设定,那存储器叫做可编程只读存储器(PROM)。如果需要实现改写的情况,我们有可擦的可编程只读存储器(EPROM)。电可擦除的PROM缩写为EEPROM。

2

中央处理单元CPU

CPU的工作是从存储器中取回指令并执行。CPU的结构如图3-1A-3。它有四个主要部件:算术-逻辑单元,一系列存储器,一个内部处理器总线和控制器。

外部地址总线 外部数据总线 外部控制总线 总线缓冲区 总线缓冲区 总线缓冲区 内部处理器总线 指令寄存器 寄存器 控制器 时钟 复位请求 程序计数器 CPU 中断请求 总线或DMA请求 算术和逻辑单元 (ALU) 标志寄存器

图3-1A-3 中央处理单元(CPU)

CPU的这些及其其他部件和它们在指令周期的分享将在后面的章节中说明。 算术-逻辑单元(ALU) ALU提供很广泛的算术操作,包括加、减、乘、除。它也完成布尔逻辑操作,例如:与、或、二进制算术求补。其他操作,例如字比较也可达到。计算机任务的主要部分包括ALU,但为了利用ALU指令,需要大量的数据移动。

寄存器 CPU内的一系列寄存器是用于存储信息的。

指令寄存器 当一条指令取回来,它被复制到指令寄存器内,并被译码。译码意味着检查操作代码并用于确定执行顺序的各步

CPU的编程器模型 可由编程器检查或修改的寄存器集称为CPU的编程器模型。由指令集操作或明显受硬件输入或数据操作的结果影响的一类寄存器是模型中表示的寄存器。

标志寄存器 执行顺序不仅由指令而且也由前面指令的结果来确定。例如,如果在ALU中进行加法运算,加法的结果(不论结果是正、负或0)存储在称为标志寄存器、状态寄存器或条件寄存器中。如果下一指令是一个条件转移指令,标志字需要检验以确定是否需要转移。

3

程序计数器(指令指针) 下一指令的地址位于称作程序计数器的寄存器中。 数据寄存器 当一指令用寄存器存储数据,指令中的寄存器参考被称作寄存器寻址。利用内部寄存器存数据的原因在于它们能使指令更短,执行速度更快。

地址寄存器 内部寄存器也可用于储存存储器数据的地址。这种情况下,指令字包含寄存器数(例如一个寄存器地址)。寄存器中包含用于指令中的存储器数据的地址。这种寻址方式叫做寄存器直接寻址。寄存器的内容指向存储器中的数据。

内部处理器总线 内部处理器总线使数据在内部存储器间移动。总线是一套分组的电导线,它能在CPU的功能块间传送数据、地址和控制信息。当两个寄存器连到总线上时,源寄存器中的数据可传到目的寄存器中。

控制器 控制器提供了程序周期内取自寄存器每条指令的控制信号的适宜顺序。一个总程序周期是由许多指令周期组成,每个指令周期可分为它部件的机器周期,每个机器周期由许多时钟周期组成。

例如图3-1A-4,为了取回一条指令,程序计数器中的地址放到在时钟周期C1上升沿的外部总线的地址线上。同时,利用控制线上的一个代码,CPU通知所有连接到总线上的设备,即CPU正执行一个“操作码取回”的机器周期。存储器允许存储器寻址去选择包含指令的存储器单元。在C2段,控制器将“读”命令放到控制总线上,允许存储器数据放到数据线上。然后在C3段,控制器将数据选通到指令寄存器中,并从控制总线再移动读命令。在C4段,控制器在地址总线上再移地址并开始译指令的操作代码部分,来看一看执行需要说明步骤。译码操作或许会在“操作码取回”机器周期的末端花费几个更多的时钟周期。

逻辑电平 时钟 状态 =OF C1 C2 C3 C4 时间 OF= Op-code fetch 有效地址 To address the memory location Memory data on bus To enable the memory data onto the data bus Data latched into CPU instruction register 16位地址 有效数据 8位数据 1位控制 = 读 Not specified 有效读 图3-1A-4 “操作代码读取”的时序图

4