01.对程序员来说CPU是什么

  1. 程序是什么?
    指示计算机每一步动作的一组指令

  2. 程序是由什么组成的?
    数据 + 指令
    数据 + 操作
    数据结构 + 算法
    对象 + 接口
    都一个意思,描述越来越抽象而已。

  3. 什么是机器语言?
    CPU可以直接识别并使用的语言,C、C++、Java高级语言经过编译后最终都会转换为机器语言然后运行。

  4. 正在运行的程序存储在什么位置?
    内存

  5. 什么是内存地址?
    内存中用来表示命令和数据存储位置的数值

  6. 计算机构成元件中,负责程序解释和运行的是哪个?
    CPU

CPU构成

CPU (Central Processing Unit)中央处理器,由数百万至数亿个晶体管构成。

功能器件 作用
寄存器 暂存指令、数据等处理对象
控制器 负责装载指令、数据入寄存器,并根据指令执行结果进行下一步动作
运算器 负责运算寄存器中的数据
时钟 发出CPU开始计时的时钟信号,越快CPU运算越快

内存,指计算机的主存储器(Main Memory),通过控制芯片与CPU相连,主要负责存储指令和数据。由可读写元素构成,其每个字节都带有一个地址编号,CPU通过该地址读取内存中的指令和数据。掉电后其中的指令、数据会被清除。

在程序员眼中,CPU是寄存器的集合体。因为所有代码最终到汇编层次都会变为对寄存器的操作。

决定程序流程的程序计数器

程序计数器,存储下一条指令所在的内存地址

所以,只要我们改变程序计数器的值,其下一条执行的指令就会跳到我们改的那个值去执行指令。

当程序顺序执行的时候,CPU每执行一条指令后就会将程序计数器的值+1,使其继续运行下去。

当有分支跳转时,指令直接改变程序计数器的值后则会跳转到新的地址去取指令执行。

当进行函数调用时,CALL指令会将当前地址进行压栈,跳转到新地址执行完毕,return指令再出栈,回到调用的地址进行执行。

你可能感兴趣的:(01.对程序员来说CPU是什么)