文档详情

(计算机系统概论第四章.doc

发布:2017-01-18约1.1万字共9页下载文档
文本预览下载声明
第四章 冯·诺依曼(Von Neumann)模型 我们现在将抽象层次再提高一层,下面我们将在第三章逻辑结构的基础上,运用判定元件和存储元件来构建被约翰·冯·诺依曼(John Von Neumann)在1946年首次提出的基本计算机模型。 4.1 基本组件 为了让计算机完成一项工作,我们需要两样东西:为了完成工作,说明计算机必须做的事情的计算机程序,和执行这项工作的计算机。 计算机程序由一组指令组成,每一条指令说明了计算机执行的一件明确定义的工作。指令是计算机程序中规定的可执行的最小的一件工作。也就是说,计算机要么执行指令所说明的工作,要么就什么也不做,计算机并不奢侈于一次可以执行多条指令。 冯·诺依曼在1946年提出了一个处理计算机程序的基本的计算机模型。图4.1显示了其基本组件。我们对冯·诺依曼的原图进行了一点打破常规的改变,并做了一些修饰。这个模型由5个部分组成:存储器,处理单元,输入,输出,控制单元。程序被放在计算机存储器内。指令执行的顺序控制是由控制单元来实现的。 我们将对这五个部件一一进行描述。 4.1.1 存储器 回忆在第三章我们看到的一个简单的22×3存储器,它由逻辑门和锁存器组成。更现实的今天的计算机系统的存储器一般是228×8位的。这是今天的计算机的典型存储方式,一共有228个存储单元,每个存储单元可以存储8个比特。我们说这样一个存储器有228个不同存储单元的地址空间和8位的寻址能力,我们称这样的存储器是一个256兆字节(缩写为MB)的存储器。“256兆字节”是说有228个存储单元,“字节”是指每个存储单元里可以存储8个比特。字节(byte)表示8个比特的信息量,就像一个加仑用来表示四夸脱一样。 我们注意到用k位可以表示2k项。要确定228个地址,就必须使用28位二进制数表示。在第五章,我们将开始讨论LC-3的指令集结构。我们将看到LC-3的地址空间是216,寻址能力是16位。 回忆第三章,我们通过提供我们要读或写入的地址来访问存储器。要读出某个存储单元中的内容,我们首先把它的地址存入地址寄存器(MAR),然后查询计算机存储器。地址所对应存储单元的内容会输出到数据寄存器(MDR)。要写一个值到存储单元中,我们首先要把目的地址存入MAR,把值存入MDR中。然后我们设“写使能”信号为1,查询计算机的存储器。MDR里的信息就会被写到MAR中的地址所对应的存储单元里。 有必要再强调一下存储单元的两个特性:它的地址和它里面的内容。图4.2是一个包含8个存储单元的存储器,地址显示在左边,用二进制表示了0到7。每个存储单元都包含有8位的内容。注意我们已经把值6、4分别存在地址为4、6的存储单元里了,表示了两种不同的情况。 有一个与存储单元类似的例子:邮局信箱的信箱号就像存储单元的地址,每个信箱的信箱号都是唯一确定的。存在存储单元里的信息就像信箱里的信,随着时间流逝,在任意时间,信箱里的内容都可以改变,但是信箱号保持不变。同样,存在存储单元里的值可以变,但地址保持不变。 4.1.2 处理单元 计算机里信息的处理是由处理单元执行的。现代计算机的处理单元可以包含许多复杂的功能单元,每一个执行一个特定的运算(除法,平方根等等)。通常当讨论基本的冯?诺依曼模型时都会想到的最简单的单元是ALU。ALU是算术和逻辑单元的缩写,命名原因是它可以进行基本的算术运算(加法,减法)和逻辑运算(与,或,非)。在第五章我们将看到:LC-3有一个ALU,能做加法、与和非运算。 ALU正常处理的信息量的大小通常称为计算机的字长(word length),每一个元素称为一个字(word)。对于LC-3,ALU处理16比特的量。我们说LC-3有16比特的字长。每一个指令集结构都拥有自己的字长,计算机的不同用途决定了它拥有不同的字长。当今大部分用于个人计算机或者工作站的微处理器都有32位的字长(例如Intel的Pentium Ⅳ)或者64位的字长(例如Sun的SPARC-V9处理器和Intel的Itanium处理器)。对于一些应用场合,例如用于寻呼机,录像机和移动电话的微处理器,8位一般就足够了。我们说,这种微机处理器拥有8位的字长。 通常情况下,计算机都会在靠近ALU附近,提供少量存储空间用于临时存取一些不久就会被用来参与计算的数据。例如,如果一台计算机计算(A+B)×C,那它可以先在存储器中存储A+B的结果,随后读取这个结果和C相乘。然而,访问存储器的时间远长于执行加法或乘法的时间。因此,几乎所有的计算机都拥有临时的存储器存储A+B的结果以避免做乘法时不必要的长访问时间。临时存储器的最普遍的形式是一组寄存器。就如3.4.3中所介绍的寄存器一样。典型的寄存器的大小是和ALU处理的值的大小一样的。也就是说,它们每个都含有一个字
显示全部
相似文档