导论计算机组成_计算机科学导论第4版pdf

导论计算机组成_计算机科学导论第4版pdf科学导论计算机摘要_什么子系统可以实现计算机与外界通信,并在断电的情况下

一 绪论

1.1 图灵模型

  1. Alan Turing(艾伦-图灵)1937年首次提出通用计算设备的设想:
  2. 所有的计算都可能在一种特殊的机器上执行。是一种数学上的描述
  3. 不是一台真实的机器

1.1.2 图灵模型

图灵机,又称图灵计算机指一个抽象的机器是英国数学家艾伦・麦席森・图灵(1912―-1954年)于1936年提出的一种抽象的计算模型,即将人们使用纸笔进行数学运算的过程进行抽象,由一个虚拟的机器替代人类进行数学运算。 [2]  它有一条无限长的纸带,纸带分成了一个一个的小方格,每个方格有不同的颜色。有一个机器头在纸带上移来移去。机器头有一组内部状态,还有一些固定的程序。在每个时刻,机器头都要从当前纸带上读入一个方格信息,然后结合自己的内部状态查找程序表,根据程序输出信息到纸带方格上,并转换自己的内部状态,然后进行移动。

运行方式 :输入———>计算机———>输出

导论计算机组成_计算机科学导论第4版pdf

1.1.3 可编程数据处理器

图灵模型添加了一个额外元素,也就是程序。

程序:就是告诉计算机对数据处理的指令集合

程序是一个指令序列。

程序就如同以英语(程序设计语言)写作的文章,要让一个懂得英语的人(编译器)同时也会阅读这篇文章的人(结构体系)来阅读、理解、标记这篇文章。一般的,以英语文本为基础的计算机程序要经过编译、链接而成为人难以解读,但可轻易被计算机所解读的数字格式,然后放入运行。

在该模型中,输出数据是由两个维度进行控制–输入数据和程序

  • 相同数据,不同程序;输出数据不同
  • 不同数据,相同程序;输出数据不同
  • 相同输入,相同程序;输出数据相同

1.2 冯诺依曼模型

由科学家冯-诺依曼提出的模型理论

基于通用图灵机建造的计算机都是在存储器(内存/寄存器)上存储数据

鉴于程序和数据在逻辑上是相同的,因此 程序也能存储在计算机的存储器中

存储器为核心

1.2.1 计算机之父——冯·诺依曼(1903–1957)

犹太人,著名的数学家、计算机学家、物理学家、化学家。出身于匈牙利首都“布达佩斯”。

他的主要身份还是“数学家”,其他方面的成就皆得益于其数学功底——

1.他创立了现代数学的一个分支——算子代数,也被称为“冯·诺伊曼代数”

2.他写了《量子力学的数学基础》原子物理学发展起到了极大作用;

3.他写了《博弈论与经济行为》,创立“博弈论”,本属于“应用数学”,但被广泛应用于经济学、生物学、政治学等领域。

4.作为爆破专家,他参与了对德战争,后来又以顾问的身份,参与了第一颗原子弹的研制

因为其广博的知识,在原子弹研制的过程中,冯诺依曼经常给数学家解释物理化学,给化学家解释数学物理,给物理学家解释数学化学。

而他的英年早逝,也是由于工作中受到了核辐射。在计算机领域,他提出了三点开创性理论:

1.确定了计算机的体系结构——即“冯诺依曼结构”; 计算机结构

2.提出计算机应采用二进制编码(之前采用十进制); 计算机存储方式

3.提出计算机需要存储程序、按照程序进行工作(这是软件编程的理论基础,而之前让计算机工作是通过插拔电线)。 程序存储在计算机 编程

——软件、硬件、底层实现全是按照他的指示,当之无愧的“计算机之父

导论计算机组成_计算机科学导论第4版pdf

1.2.1 4个子系统

基于冯.诺依曼模型建造的计算机有4个子系统:存储器、算术逻辑单元、控制器、输入/输出单元

导论计算机组成_计算机科学导论第4版pdf

存储器: 用于存储数据和程序的区域

算术逻辑单元(ALU): 用来计算和逻辑运算的地方

控制器: 对存储器、算术逻辑单元、输入输出等子系统进行控制操作

输出/输出单元:

输入子系统负责从计算机外部接收输入数据;

输出子单元负责将计算机处理结果输出到计算机外部

1.2.2 存储程序概念

冯.诺依曼模型要求 程序也必须存储在存储器(内存)中

现代计算机的存储单元用来存储程序和数据,这意味着 程序和数据应该有相同的格式

实际上它们都是以 位模式(0和1序列)存储在内存中

1.2.4 指令执行顺序

冯-诺依曼模型中的一段程序是由一组数量有限的指令组成。

控制单元从内存中提取一条指令,解释指令,接着执行指令,

也就是说指令是一条接着一条顺序执行的。

1.3 计算机组成部分

计算机由计算机硬件、数据、计算机软件三部分组成

1.3.1 计算机硬件

1.3.2 数据

冯.诺依曼模型是基于通用图灵模型进行定义的,在图灵模型中,计算机被定义为了一个数据处理机。

它接收输入数据、处理数据,然后输出数据

1.存储数据: 计算机是一台电子设备,最好的存储数据方式是电子信号

电子信号的出现与消失(位模式) 来存储数据,也就是以两种状态之一来存储数据。

日常生活中的数据,都不是以位模式存储,要存储到计算机中需要将其转换为位模式来存储。2.组织数据: 在数据存储到计算机之前,需要合理有序的组织成不同的格式。

将数据从计算机中输出也需要表现不同的形式。

1.3.3 计算机软件

图灵或冯·诺依曼模型的主要特征是程序的概念。在早期的计算机并没有在计算机的存储器中

存储程序,但它们还是使用了程序的概念。编程在早期的计算机中体现为一系列开关的打开或

闭合以及配线的改变。编程在数据实际开始处理之前是由操作员或工程师完成的一项工作。

1.4 历史

1.机械计算机器

2.电子计算机

3.计算机诞生

导论计算机组成_计算机科学导论第4版pdf

1.5 社会问题和道德问题

1.5.1 社会问题

  1. 依赖: 对计算机的过渡依赖,离开计算机什么事也做不了。
  2. 社会公正: 作者从计算机的设备花费昂贵等,说明只有有钱人能使用计算机,
  3. 但是随着计算机科学的发展,计算机越来越便宜,计算机使用的公正问题正在减小。数字化分裂: 导致的信息分裂,作者把使用计算机和不使用计算机分为两类人群,

一部分人通计算机进行通信,一部分使用传统通信方式。

1.5.2 道德问题

隐私

版权

计算机犯罪

1.6 计算机作为一门学科

随着计算机的发明,带来了新的学科:计算机科学。如同其他任何学科一样,

计算机科学现在被划分成几个领域。我们可以把这些领域归纳为两大类:系统领域和应用领域。

系统领域涵盖那些与硬件和软件构成直接有关的领域

例如计算机体系结构、计算机网络、安全问题、操作系统、算法、程序设计语言以及软件工程。

应用领域涵盖了与计算机使用有关的领域

例如数据库和人工智能。本书对所有这些领域采用广度优先的方式介绍。学完本书之后,读者应该有足够的信息来选择专业方向。

二 数字系统

数字系统(或数码系统) 定义了如何用有限的符号来表示一个数字。

在不同的系统中,一个数字有不同的表示方法。

例如,这两个数字和。都是指同样的数量,

但是他们的表示截然不同。我们使用有限的数字符号(数码)来表示数字,这意味着数码需要重复使用。

一些数字系统已经在过去广为使用,并可以分为两类: 位置化系统 和 非位置化系统。

2.1 位置数字系统

导论计算机组成_计算机科学导论第4版pdf

2.1.1 十进制

所谓十进制就是使用 S={0,1,2,3,4,5,6,7,8,9} 十个符号来表示一个数。 ± 用于表示该数时正数还是负数。

这些符号不能存储在计算机中

计算机对于正负数的存储方式不同

十进制整数表示

导论计算机组成_计算机科学导论第4版pdf

十进制实数表示

导论计算机组成_计算机科学导论第4版pdf

2.1.2 二进制

使用符号两个符号 S={0,1} 来表示一个数,称为二进制。该系统下,符号被称为二进制位。

由于计算机由电子开关制成;仅有开和关两种状态,分别对应1和0;所以计算机中存储数据都是采用二进制模式存储的。

二进制整数

导论计算机组成_计算机科学导论第4版pdf

二进制实数

导论计算机组成_计算机科学导论第4版pdf

尽管二进制系统用于存储计算机数据,但是它并不便于在计算机外部表示数字,因为与十进制符号相比,二进制符号过长。然而,十进制不像二进制那样直接显示存储在计算机中的是什么。在二进制位数和十进制数字之间没有显然的关系。正如我们看到的那样,它们之间的转换也不快捷。

为了克服这个问题,发明了两种位置化系统:十六进制和八进制。

2.1.3 十六进制

在十六进制系统中,底 b=16 并且用 16 个符号 S={0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F} 来表示一个数。注意符号 ,,,,,大写或小写A,B,C,D,E,F(大写或小写) 分别等于 ,,,和10,11,12,13,14和15 。该系统中的符号常被称为十六进制数码。

十六进制整数

导论计算机组成_计算机科学导论第4版pdf

2.1.4 八进制

与二进制系统等价并用于计算机外部的第二种系统是八进制系统。在该系统中,底 b=8 并且用 8 个符号来表示一个数。字符集是 ,,,,,,,S=0,1,2,3,4,5,6,7 。该系统中的符号常被称为八进制数码。

八进制整数

导论计算机组成_计算机科学导论第4版pdf

2.1.5 小结

导论计算机组成_计算机科学导论第4版pdf

导论计算机组成_计算机科学导论第4版pdf

2.1.6 转换

其他进制转为十进制

导论计算机组成_计算机科学导论第4版pdf

导论计算机组成_计算机科学导论第4版pdf

十进制转为其他进制

整数部分

导论计算机组成_计算机科学导论第4版pdf

我们称 十进制数的整数部分为源,转换后的整数部分为目标。我们先创建一个空目标。接着反复除源并得到商和余数。余数插人目标的左边,商变为新的源

2.2 非位置数字系统

非位置化数字系统仍然使用有限的数字符号,每个符号有一个值。但是符号所占用的位置通常与其值无关—— 每个符号的值是固定的。为求出该数字的值,我们 把所有符号表示的值相加

三 数据系统

3.1 数据类型

如今,数据以不同的形式出现,如: 数字、文本、音频、图像和视频.

导论计算机组成_计算机科学导论第4版pdf

人们需要能够处理许多不同的数据类型:

工程程序使用计算机的主要是目的是处理数字:进行算术运算、求解代数或三角方程、

找出微分方程的根等。文字处理程序使用计算机的主要目的是处理文本: 调整对齐、移动、删除等。

计算机同样也处理音频数据。我们可以使用计算机播放音乐,

并且可以把声音作为数据输入到计算机中。图像处理程序使用计算机的主要目的是处理图像:创建、收缩、放大、旋转等。

最后,计算机不仅能用来播放电影,还能创建我们在电影中所看到的特技效果。

计算机行业中使用术语 多媒体 来定义包含数字、文本、图像、音频和视频的信息。

计算机内部的数据格式

位(bit): 是存储在计算中的最小单位,0或1,代表设备的某一种状态

位模式(位流): 表示数据的不同类型,长度为8的位模式称为一个字节(byte)

属于不同数据类型的数据可以以同样的位模式存储于内存中

导论计算机组成_计算机科学导论第4版pdf

字: 通常用于代表更长的位模式

3.2 存储数字

整数是完整的数字(即没有小数部分)。整数可以被当作 小数点位置固定的数字:

小数点固定在最右边。因此,定点表示法用于存储整数,在这种表示法中,

小数点是假定的,但并不存储

导论计算机组成_计算机科学导论第4版pdf

整数通常使用定点表示法存储在内存中。

3.2.1 无符号整数

无符号整数是指非负整数。它的范围在$[0,+\infy)$。计算机通常会定义一个

表示最大的整数;其中表示用于存储整数的二进制位数.

无符号整数的存储过程

1.输入无符号整数

2.将输入的无符号整数转为二进制表示,

如果二进制位数不足,则在其最左端用补齐

如果二进制位数超过,则其不能存储在计算机中,出现溢出现象。

无符号整数存储溢出现象

导论计算机组成_计算机科学导论第4版pdf

因为大小(即存储单元的位的数量)的限制,可以表达的整数范围是有限的。在位

储单元中,我们可以存储的无符号整数仅为到之间。 如果发生溢出现象

则计算机丢掉最左边的位,并保留最右边

无符号整数的应用

无符号整数表示法可以提高存储的效率,因为不必存储整数的符号。

这就意味着所有分配的位单元都可以用来存储数字。只要用不到负整数,

都可以用无符号整数表示法。例如

1.计数

2.寻址

3.存储其他数据类型: 其他数据类型(文本、图像、音频和视频)是以位模式存储的,

可以翻译为无符号整数。

3.2.2 二进制补码表示

所以的有符号数在计算机中都是用二进制补码的形式来进行存储数据的。

导论计算机组成_计算机科学导论第4版pdf

例如,如果是,该范围是 到 。

这个范围分为两半: 到 以及 到 。

这两半 按照左负右正的常规互相交换。赋值给负和非负(零和正)整数的位模式

在二进制补码表示法中,最左位决定符号。如果它是0,该整数为正; 如果是1,该整数为负。

3.2.3 两种运算

1.反码: 该运算简单反转各个位,即把0位变为1位,把1位变为0位。

2.补码: 该运算分为两步:首先,从右边复制位,直到有1被复制;接着,反转其余的位

3.2.4 以二进制补码格式存储整数

计算机遵循以下步骤:

将整数变成n位的二进制数。

如果整数是正数或零,以其原样存储;如果是负数,计算机取其补码存储。

3.2.5从二进制补码格式还原整数

从二进制补码格式还原整数,计算机遵循以下步骤:

如果最左位是1(负数),计算机取其补码。如果最左位是0(正数),计算机不进行操作。

计算机将该整数转换为十进制。

二进制补码表示法仅有一个0

3.2.6整数的表示小结

导论计算机组成_计算机科学导论第4版pdf

导论计算机组成_计算机科学导论第4版pdf

3.2 实数(浮点数的表示)

带有很大的整数部分或很小的小数部分的实数不应该用定点表示法存储

1 浮点表示

为了维持正确度或精度的解决方法是使用浮点表示法。

我们可以在小数点的左右有不同数量的数码。使用这种方法极大地增加了可存储的实数范围:

带有很大的整数部分或很小的小数部分的实数可以存储在内存中了。在浮点表示法中,

无论十进制还是二进制,一个数字都由3部分组成,如图3-10所示。

导论计算机组成_计算机科学导论第4版pdf

一个数字的浮点表示法由3部分组成:符号、位移量和定点数。

符号: 可正可负

位移量: 小数点应该左右移动构成实际数字的位移量

定点数: 小数点位置固定的定点表

2 规范化

为了使表示法的固定部分统一,科学计数法(用于十进制)和浮点表示法(用于二进制)

都在 小数点左边使用了唯一的非零数码,这称为 规范化

十进制系统中的数码可能是1~9,而二进制只能是1.

导论计算机组成_计算机科学导论第4版pdf

3. 符号、指数和尾数

在一个二进制数规范化之后,我们只存储了一个数的三部分信息: 符号、指数和尾数

(小数点右边的位)。例如,规范化后变成为:

导论计算机组成_计算机科学导论第4版pdf

符号:使用0(正数)或1(负数)表示

指数:定义为小数点移动的位数。指数可以为正也可以为负;采用余码表示法来存储指数

尾数:指小数点右边的二进制数。它定义了该数的精度。尾数是作为无符号整数存储。

尾数是带符号的小数部分,像以符号加绝对值表示法存储的整数那样对待

3.3 存储文本

在任何语言中,文本的片断是用来表示该语言中某个意思的一系列的符号。

例如,在英语中使用26个符号(A,B,C,…,Z)来表示大写字母,

26个符号(a,b,c,…,z)表示小写字母,

10个符号(0,1,2,…,9)来表示数字字符(不是实际的数字;后面将看到它们的不同之处),

以及符号(.,?,:, ; ,…,!)来表示标点。另外一些符号(如空格、换行和制表符)

被用于文本的对齐和可读性。我们可用位模式来表示任何一个符号。换句话说,如4个符号组成的文本“CATS”

用4个n位模式表示,任何一个模式定义一个单独的符号

导论计算机组成_计算机科学导论第4版pdf

尽管位模式的长度取决于符号的数量,但是它们的关系并不是线性的,而是对数的。

如果需要2个符号,位模式长度将是1位(),

如果需要4个符号,长度将是2位()。

导论计算机组成_计算机科学导论第4版pdf

3.3.1 编码

不同的位模式集合被设计用于表示文本符号。其中每一个集合我们称之为代码。

表示符号的过程被称为编码。在这个部分将介绍常用代码。

1 ASCII编码

美国国家标准协会(ANSI)开发了一个被称为美国信息交换标准码(ASCII)的代码。

该代码使用7位表示每个符号。即该代码可以定义种不同的符号。

用于表示ASCII码的完整位模式可见附录A。如今ASCII是Unicode的一部分

2 Unicode

硬件和软件制造商联合起来共同设计了一种名为 Unicode 的代码,

这种代码使用32位并能表示最大达个符号。

代码的不同部分被分配用于表示来自世界上不同语言的符号。

其中还有些部分被用于表示图形和特殊符号。

3 其他编码

最近几十年来,其他编码不断发展。鉴于Unicode的优势,这些编码变得不太流行。

我们把了解这些编码作为练习。

3.4 存储音频

音频表示声音或音乐。文本由可数的实体(文字)组成: 我们可以数出文本中文字的数量。

文本是数字数据的一个例子。相反,音频是不可数的。音频是随时间变化的实体,

我们只能在每一时刻度量声音的密度。当我们讨论用计算机内存存储声音时,

我们的意思是存储一个音频信号的密度,例如,每隔一段时间(一秒钟,一小时)来自麦克风的信号。音频是模拟数据的例子。即使我们能够在一段时间度量所有的值,也不能把它全部存在计算机内存中,

因为可能需要无限数量的内存单元。图3-15显示了一个模拟信号随时间变化的本质,如音频。

导论计算机组成_计算机科学导论第4版pdf

3.5 存储图像

存储在计算机中的图像使用两种不同的技术: 光栅图或矢量图

四 数据运算

4.1 逻辑运算

逻辑运算 是指那些应用于 模式 中的 一个二进制位,

或在 两个模式 中 相应的两个二进制位的相同基本运算。

这意味着我们可以在 位层次上 和 模式层次上 定义逻辑运算。

模式层次上的逻辑运算是具有相同类型的位层次上的n个逻辑运算,

这里的n就是模式中的位的数目。

位层次逻辑运算

一个位可能是 0 或 1 ,可以假设“0”代表逻辑“假”,而“1”代表逻辑“真”。

位层次上的运算有下列四种

非(NOT): 只需要一个输入,输出内容为输入的反转

NOT运算符是一元操作符:它只有一个输人。输出位是输入位的相反,

如果输入是0,则输出为1﹔如果输人为1,则输出为0。换言之,NOT运算符是输入的反转。

与(AND): 需要两个输入,如果输入都是1,则输出为1;否则输出为0

或(OR): 需要两个输入,如果输入有1,则输出为1,否则输出为0

异或(XOR): 需要两个输入,当输入相同时,则输出为0; 当输入不同时,则输出为 1。

真值表如下:

导论计算机组成_计算机科学导论第4版pdf

模式层次逻辑运算

上述四种运算(NOT AND OR XOR) 作用在模式层次时,就是对模式的每一位进行相同的运算

导论计算机组成_计算机科学导论第4版pdf

4.2 移位运算

移位运算移动模式中的位,改变位的位置。它们能向左或向右移动位。

我们可以把移位运算分成两大类: 逻辑移位运算算术移位运算

4.2.1 逻辑移位运算

导论计算机组成_计算机科学导论第4版pdf

逻辑右移运算: 把每一位向右移动一个位置。在n位模式中,最右位丢失,最左位填 0.

逻辑左移运算: 把每一位向左移动一个位置。在n位模式中,最左位丢失,最右位填 0.

示例

导论计算机组成_计算机科学导论第4版pdf

循环右移(右旋转): 把每一位向右移动一个位置,最右位被回环, 成为最左位。

循环左移(左旋转): 把每一位向左移动一个位置,最左位被回环, 成为最右位。

示例

导论计算机组成_计算机科学导论第4版pdf

4.2.2 算术移位运算

导论计算机组成_计算机科学导论第4版pdf

算术移位运算 假定位模式是用二进制补码格式表示的带符号位的整数。

算术右移: 如果移动一位,就是对整数除以 2; 保留符号位,但同时也把它复制,放入相邻的右边的位中

算术左移: 如果移动一位,就是对整数乘以 2; 丢弃符号位,接受它的左边的位作为符号位。

如果新的符号位与原先的相同,那么运算成功,否则发生上溢或下溢,结果是非法的。

4.3 算术运算

算术运算 包括加、减、乘、除;适用于整数和浮点数。

4.3.1 整数算术运算

所有算术运算(如加、减、乘、除)均适用于整数。虽然整数的乘法(除法)能使用重复的加法(减法)来实现,

但程序是低效的。

二进制补码的加减法

整数通常是以二进制补码形式存储的。二进制补码表示法的一个优点是加法和减法间没有区别。

当遇到减法时,计算机只简单地把它转变为加法,但要为第二个数求二进制的补。

导论计算机组成_计算机科学导论第4版pdf

过程如下:

1.如果运算是减法,我们取第二个整数的二进制补码,否则,转下一步。

2.两个整数相加。

示例

导论计算机组成_计算机科学导论第4版pdf

导论计算机组成_计算机科学导论第4版pdf

当我们进行计算机中数字上的算术运算时,要记住每个数字和结果应该在分配的二进制位的定义范围之内.

符号加绝对值整数的加减法

五 计算机组成

1.计算机的组成部件可以分为三大类(或子系统):

中央处理单元(CPU)

主存储器

输入/输出子系统

组成计算机的这三个子系统。

导论计算机组成_计算机科学导论第4版pdf

5.1 中央处理单元

1.中央处理单元(CPU)用于数据的运算。在大多数体系结构中,它有三个组成部分:

算术逻辑单元(ALU)

控制单元

寄存器组、快速存储定位

导论计算机组成_计算机科学导论第4版pdf

5.1.1 算术逻辑单元(ALU)

算术逻辑单元(ALU)对数据进行 逻辑、移位和算术 运算。

逻辑运算: 四种逻辑运算 与 异或。这些运算把输入数据作为二进制位模式, 运算的结果也是二进制位模式。

移位运算: 逻辑移位运算 和 算术移位运算。用途是用 2除 或 乘 一个整数。

算术运算: 整数 和 实数的 加 减 运算

5.1.2 寄存器

寄存器是用来 存放临时数据 的 高速独立 的存储单元。 CPU的运算离不开大量寄存器的使用。

cpu的作用:是从内存中逐条地取出指令,并将取出的指令存储在 指令寄存器 中。解释并执行指令

数据寄存器: 用来保存运算的中间结果,命名位 $R_1$ 到 $R_n$

指令寄存器(IR): 存储CPU从内存中获取的指令

程序计数器(PC): 程序计数器中 保存着当前正在执行的指令。当前的指令执行完后, 计数器将自动加1,指向下一条指令的内存地址。

5.1.3 控制单元

CPU 的第三个部分是控制单元,控制单元 控制各个子系统的操作

控制是通过从控制单元到其他子系统的 信号 来进行。

5.2 主存储器(内存)

主存储器是 存储单元的集合,每一个存储单元都有唯一的标识,称为 地址

数据 以字的位组的形式 在内存中传入和传出。字可以是8位、16位、32位, 甚至有时是64位(还在增长),如果字是8位,一般称为1字节。 术语字节在计算机科学中使用相当普遍,因此有时称16位为2字节,32位为4字节。

导论计算机组成_计算机科学导论第4版pdf

5.2.1 地址空间

在存储器中存取每个字都需要有相应的标识符。尽管程序员使用命名的方式来区分字(或一组字的集合), 但在硬件层次上,每个字都是通过地址来标识的。 所有在存储器中标识的独立的地址单元的总数称为地址空间。

例如,一个64 KB、字长为1字节 的内存的地址空间的范围为0~65 535。

经常用来表示存储大小的单位名称如下图。

导论计算机组成_计算机科学导论第4版pdf

注意这些专用术语可能有误导,好像以10的幂的形式来近似表示字节数, 而实际上字节的数目是2的幂。采用2的幂形式为单位使得寻址更为方便。

内存地址用无符号二进制整数定义。

由于计算机都是以 位模式 存储数并进行运算,因此 地址本身也是用位模式表示的。 如果一个内存是64K($2^{16}$),字长为 1 字节,那么就需要16位的位模式来确定地址。

地址用无符号整数表示(不用负的地址)。换言之,起始地址通常是 0000000000000000(地址0), 最后一个地址通常是1111111111111111(地址65535)。

如果一个计算机有N个字的存储空间,那就需要有 $log_2 N$ 位的无符号整数来确定一个存储单元。

5.2.2 存储器类型

主要有两种类型的存储器: RAM 和 ROM。

1.RAM

随机存取存储器(RAM)是计算机中主存的主要组成部分。在随机存取设备中, 可以使用存储单元地址来随机存取一个数据项,而不需要存取位于它前面的所有数据项。

RAM的另一个特点是 易失性。 当系统断电后,信息(程序或数据)将丢失 。 换句话说,当计算机断电后,存储在RAM中的信息将被删除。

RAM技术又可以分为两大类: SRAM 和 DRAM。

SRAM(静态RAM): 是用传统的 触发器门电路 来保存数据。这些门保持状态(0 或 1), 也就是说当通电的时候数据始终存在,不需要刷新。SRAM速度快,但是价格昂贵。

DRAM(动态RAM): 使用 电容器 存储数据。如果电容器充电,则这时的状态是1; 如果放电则状态是0。因为电容器会随时间而漏掉一部分电,所以内存单元需要 周期性地刷新。 DRAM比较慢.但是比较便宜。

2.ROM

只读存储器(ROM) 的内容是由制造商写进去的。用户只能读但不能写,

它的优点是 非易失性: 当切断电源后,数据也不会丢失。

通常用来存储那些关机后也不能丢失的程序或数据。 例如,用ROM来存储那些在开机时运行的程序。

3.其他存储器

导论计算机组成_计算机科学导论第4版pdf

5.2.3 存储器的层次结构

计算机用户需要许多存储器,尤其是速度快且价格低廉的存储器。 但这种要求并不总能得到满足。存取速度快的存储器通常都不便宜。 因此需要寻找一种折中的办法。解决的办法是采用如下的存储器层次结构

导论计算机组成_计算机科学导论第4版pdf

1. 当对速度要求很苛刻时可以使用少量高速存储器。CPU中的寄存器就是这种存储器

2.用适量的中速存储器来存储经常需要访问的数据。高速缓冲存储器就属于这一类。

3.用大量的低速存储器存储那些不经常访问的数据。主存就属于这一类。

5.2.4 高速缓冲存储器

高速缓冲存储器的 存取速度要比主存快,但是比 CPU及其内部的寄存器要慢。

高速缓冲存储器通常 容量较小,且常被置于CPU 和主存之间

导论计算机组成_计算机科学导论第4版pdf

1. CPU 首先检查高速缓冲存储器。

如果要存取的字存在,CPU 就将它复制; 如果不存在,CPU 将从主存中复制一份从需要读取的字开始的数据块。 该数据块将覆盖高速缓冲存储器中的内容。

CPU 存取高速缓冲存储器并复制该字。

5.3 输入输出子系统

计算机中的第三个子系统是称为 输入/输出(I/O)子系统 的一系列设备。 这个子系统可以 使计算机与外界通信,并在 断电的情况下存储程序和数据。 输人/输出设备可以分为两大类: 非存储设备 和 存储设备。

5.3.1 非存储设备

非存储设备使得CPU/内存可以与外界通信,但它们不能存储信息

1.键盘和监视器

两个最常见的非存储 输入/输出设备 是键盘和监视器。键盘提供输入功能; 监视器 显示输出并同时响应键盘的输入。程序、命令和数据的输人或输出都是 通过字符串进行的。字符则是通过字符集(如ASCII码)进行编码。 此类中其他的设备有鼠标、操纵杆等。

2.打印机

打印机是一种用于 产生永久性记录的输出设备。它是非存储设备, 因为要打印的材料不能够直接由打印机输入计算机中,而且也不能再次利用, 除非有人通过打字或扫描的方式再次输入计算机中。

5.3.2 存储设备

尽管存储设备被分为 输人/输出设备,但它可以存储大量的信息以备后用。 它们要比主存便宜得多,而且存储的信息也不易丢失(即使断电信息也不会丢失)。 有时称它们为 辅助存储设备,通常分为 磁介质 和 光介质 两种。

5.4 子系统互联

它们三者之间在内部是如何连接的,内部连接扮演着很重要的角色, 因为信息需要在这三个子系统中交换。

5.4.1 CPU和存储器的连接

CPU和存储器之间通常由称为 总线 的 三组线路连接在一起,它们分别是:

1.数据总线

2.地址总线

3.控制总线

导论计算机组成_计算机科学导论第4版pdf

数据总线

数据总线是由 多根线组成,每一根线上每次传送1 bit的数据。线的数量取决于计算机的字的大小。

例如,计算机的字是32位(4字节),那么需要有32根线的数据总线, 以便同一时刻能够同时传送32位的字。

地址总线

地址总线 允许访问存储器中的某个字,地址总线的线数取决于存储空间的大小。 如果存储器容量为 $2^n$ 个字,那么地址总线一次需要传送n位的地址数据。 因此它需要n根线。

控制总线

控制总线负责 在中央处理器和内存之间传送信息。例如,必须有一个代码从CPU发往内存, 用于指定进行的是读操作还是写操作。控制总线的线数取决于计算机所需要的控制命令的总数。

如果计算机有 $2^m$ 条控制命令,那么控制总线就需要有m根,因为m位可以定义$2^m$个不同的操作。

今天的文章导论计算机组成_计算机科学导论第4版pdf分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/89120.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注