程序是怎样跑起来的(第3版)
上QQ阅读APP看书,第一时间看更新

第1章 对程序员来说,CPU到底是什么

热身准备

进入正题之前,我为大家准备了一些热身问题,大家可以看看自己是否能够准确回答。

问题

  1. 什么是程序?
  2. 程序是由什么组成的?
  3. 什么是机器语言?
  4. 运行中的程序存放在什么地方?
  5. 什么是内存地址?
  6. 在计算机的组成部件中,负责对程序进行解释和运行的是哪个?

怎么样?有些问题是不是无法简单回答出来呢?下面给出笔者的答案和解析供大家参考。

答案

  1. 指示计算机每一步动作的一组指令
  2. 指令和数据
  3. CPU可以直接解释执行的语言
  4. 内存(主存)
  5. 用来表示指令和数据在内存中存放位置的数值
  6. CPU

解析

  1. 一般意义上的程序,比如运动会、音乐会的程序,表示“事情进行的先后顺序”。在这一点上,计算机程序也是一样的。
  2. 程序是指令和数据的集合。例如,在C语言程序“printf("你好");”中,printf就是指令,"你好"就是数据。
  3. CPU可以直接解释执行的只有机器语言,而用C语言、Java等编写的程序,最终都要转换成机器语言才能执行。
  4. 保存在硬盘等媒体中的程序需要复制到内存中后才能运行。
  5. 指令和数据在内存中的存放位置用地址来表示,地址由整数表示。
  6. 在计算机的组成部件中,根据程序指令进行数据运算并控制整个计算机的设备称为CPU。

本章要点

我们首先来了解一下负责对程序进行解释和执行的设备——CPU。CPU是Central Processing Unit(中央处理器)的缩写,它是计算机的大脑,其内部由数百万至数亿个晶体管构成,这些知识想必大家已经有所了解。然而,仅仅了解这些知识并不能对编程起到什么作用。程序员还需要理解CPU的内部工作原理。要理解CPU,关键是要了解存放指令和数据的寄存器(register)的原理。了解了寄存器,就能够理解程序运行的原理了。可能很多人觉得CPU的原理很难,但实际上它非常简单。大家不妨怀着轻松的心情来阅读。