- 计算思维与Python编程
- (美)玛丽亚·利特文 加里·利特文
- 1642字
- 2020-08-27 09:05:14
1.2 CPU和内存
计算机的核心是中央处理器(CPU)。在个人计算机中,CPU是由微小的硅芯片制成的微处理器。该芯片上刻有数百万个晶体管。晶体管是一种微型数字开关:它控制信号的两种状态,“开”或“关”,即“1”或“0”。微处理器由小于1平方英寸的陶瓷外壳保护,安装在印制电路板(也称为主板)上。主板上还有内存芯片,以及用于连接其他设备的端口(见图1-1)。
图1-1 树莓派3B型单板计算机,放在3.5平方英寸×2.25平方英寸的印制电路板上
计算机存储器是一系列统一的存储单元,这些单元称为“字节”。
1字节保存8位信息。
1位是最小的信息存储单元:“1”或“0”,“真”或“假”,“开”或“关”。
CPU可以按任意顺序访问内存中的字节。这就是计算机内存被称为“随机存取存储器(RAM)”的原因。同样的内存用于存储不同类型的信息:数字、字母、声音、图像、程序等。这些信息,必须以某种方式编码为0和1的序列。
2019年生产的典型个人计算机具有8GB(千兆字节)的RAM。
1 K字节(KB)= 1024字节 = 210字节,大约一千字节。 1 M字节(MB,“兆”)= 1024 K字节 = 220字节= 1,048,576字节,大约一百万字节。 1 G字节(GB,“吉”)= 1024 M字节 = 230字节 = 1,073,741,824字节,大约10亿字节。 1 T字节(TB)= 1024 G字节 = 240字节。 1 P字节(PB)= 1024 T字节 = 250字节。
一页有500~600个单词的文本,没有图片或特殊格式,大约需要3KB的存储空间;一张高分辨率照片可能需要2~3MB的存储空间,而1GB存储空间可以压缩的MP4格式保存数小时的视频。
CPU解释并执行存储在RAM中的指令。CPU获取下一条指令,解释它的操作代码,并执行适当的操作。有些指令用于算术和逻辑运算,有些用于将字节从一个位置复制到另一个位置,还有一些用于改变指令的执行顺序。除非特定指令告诉CPU“跳转”到程序中的另一个位置,否则指令将按顺序执行。“条件分支”指令告诉CPU继续下一条指令或跳转到另一个位置,具体情况取决于前一操作的结果。
以上这些操作都以惊人的速度发生。现代CPU以几GHz的速度运行,每条指令需要一个或几个时钟周期。
▼
为了更好地了解CPU指令及其执行方式,让我们来看看“汇编语言”,这是一种低级计算机语言。它是你所听过的现代语言的基础,如C++、Java、JavaScript和Python。
图1-2展示了一个非常短的汇编语言程序,用于8088微处理器(在20世纪80年代早期用于最初的IBM PC),其中包含相应指令的十六进制代码(十六进制系统在第6章中解释)和我们的注释。汇编语言代码非常接近实际的机器代码,但它允许你使用名称而不是数字,来表示指令和内存位置。
CPU有几个内置存储器单元,称为寄存器。图1-2中的代码使用的两个寄存器,称为AX和BX。例如,第一条代码(MOV BX, 0000)将0移入BX寄存器。
图1-2 一段8088汇编语言代码
我们将它留给你作为练习(练习题6),请弄清楚这段代码计算的内容。结果存储在BX寄存器中。
计算机代码中的错误称为“缺陷(bug)”,消除程序错误的过程称为“调试(debug)”。
图1-2中的代码是在一个名为debug的程序的帮助下生成的,该程序随MS-DOS操作系统和早期版本的Windows一起提供。调试程序允许程序员以受控方式逐步执行程序,并在每一步检查内存的内容。在程序未按预期工作时,使用调试程序可以帮助发现错误。
第1.2节练习
1.找到一台废弃的台式计算机,确保已拔下电源线,然后取下机箱盖(或在网上查找打开机箱的台式PC的高分辨率图片)。识别主板、CPU和内存芯片,识别计算机的其他组件:电源、硬盘、CD ROM驱动器。
2.计算机内存称为RAM,因为: ✔
(A)它提供对数据的快速访问
(B)它安装在主板上
(C)它以兆字节为单位
(D)它的字节可以按随机顺序寻址
(E)它的芯片安装在矩形阵列中
3.我的旧PC有512MB的RAM和120GB的硬盘,硬盘存储空间是RAM的多少倍?✔
4.可以用2位编码多少个不同的值?3位呢?1字节呢?
5.ASCII码表示在典型的美式键盘上可以找到的英文字母、数字和其他字符的大写和小写字母。每个字符以相同的位数编码。每个字符1字节是否足以表示所有这些字符?每个字符所需的最小位数是多少? ✔
6.◆在执行图1-2中的程序段后,解释AX和BX寄存器的内容。这段代码计算了什么? »提示:十六进制的15是十进制的21。« ✔