Logo
Section 1 / 7

计算机程序

了解信息的单位。

检查点

计算机程序

了解信息的单位。

我们现在已经了解了操作系统。它们负责启动和运行计算机程序,这些程序用于解决用户的实际应用任务。例如,文本编辑器允许用户处理文本。

程序是一系列基本步骤,称为指令。计算机按顺序执行这些步骤,遵循严格的行动顺序来完成复杂的任务。下面我们详细探讨计算机如何启动并执行一个程序。

计算机内存

硬盘存储着程序的所有指令。如果程序相对较小且简单,它可能只占用一个文件;而复杂的应用程序则会占据多个文件。

假设我们有一个单文件程序。当我们启动它时,操作系统会将该文件加载到计算机内存中,也就是随机访问存储器(RAM)。随后,操作系统会为这个新任务分配处理器的一部分时间。这样,处理器就能在指定的时间间隔内执行程序的指令。

接下来我们看看操作系统是如何将程序加载到 RAM 中的。首先,我们需要了解计算机内存的工作原理。

字节与比特简介

计算机内存的基本单位是字节。字节是处理器能够引用并加载到其内存中的最小信息量。

在某些特殊技术下,处理器也可以处理更小的数据量,这时我们操作的是比特。比特是无法再细分的最小信息单位。我们可以将比特想象成一种逻辑状态,它只有两种可能的取值。这些取值可以有多种解释方式:

  • 0 或 1
  • 真或假
  • 是或否
    • 或 -
  • 开或关

另一种理解比特的方式,是将其类比为电灯开关。它有两种可能的状态:

  • 开关闭合电路,灯亮。
  • 开关断开电路,灯灭。

八个比特组成一个字节。

...
Byte and bit

比特与字节的历史

将比特打包成字节引发了一些问题:既然可以对单个比特进行操作,为什么处理器不能直接访问内存中的某个特定比特?这种限制源于历史原因。

最早的计算机主要用于算术运算,比如计算弹道表。这类任务需要使用整数和浮点数。计算机也采用同样的方式处理数据。然而,单个比特不足以存储一个数字,因此计算机需要更大的内存单元来存放数值。于是,字节便成为这样的存储单元。

字节的引入影响了处理器的架构设计。工程师预期 CPU 大多数操作都是针对数值进行的,因此他们设计了能一次性加载和处理整个数值所有比特的功能。这一改进使计算机性能提升了几个数量级。与此同时,单独加载一个比特到 CPU 的情况极为罕见,因为硬件支持这种功能会带来巨大的开销。因此,现代处理器不再包含这一特性。

为什么一个字节由八个比特组成?

在最早的计算机中,字节是六比特大小。这种内存单元足以编码全部英文字母(大小写)、数字、标点符号以及基本数学运算。但随着时间推移,这种容量逐渐变得不足。

ASCII 编码表

六比特编码无法表示控制字符和框线绘图字符,因此在20世纪60年代初,编码被扩展为七比特。此时出现了ASCII编码。它成为字符编码的标准,定义了从0到127的字符。由于七比特的最大数值是127,因此编码范围被限制在此区间。

随后,IBM于1964年推出了 IBM System/360 计算机。在这台计算机中,字节大小被设定为八比特。IBM选择这一尺寸是为了兼容早期项目中的旧字符编码。由于 IBM System/360 广泛流行,八比特字节最终成为行业标准。

信息单位

下表列出了常用的信息单位。

名称缩写字节数比特数
千字节KB10008000
兆字节MB1,000,0008,000,000
千兆字节GB1,000,000,0008,000,000,000
太字节TB1,000,000,000,0008,000,000,000,000

下表展示了常见的存储设备及其容量。

存储设备容量
3.5英寸软盘1.44 MB
光盘(CD)700 MB
DVD最高可达 17 GB
U 盘(USB 闪存盘)最高可达 2 TB
机械硬盘(HDD)最高可达 16 TB
固态硬盘(SSD)最高可达 100 TB

Quiz

单选题

以下哪一项是无法再进一步分解的最小信息量?

1 / 2

附录

计算机内存的层级