问
-
程序是什么?
指示计算机每一步动作的一组指令 -
程序是由什么组成的?
数据 + 指令
数据 + 操作
数据结构 + 算法
对象 + 接口
都一个意思,描述越来越抽象而已。 -
什么是机器语言?
CPU可以直接识别并使用的语言,C、C++、Java高级语言经过编译后最终都会转换为机器语言然后运行。 -
正在运行的程序存储在什么位置?
内存 -
什么是内存地址?
内存中用来表示命令和数据存储位置的数值 -
计算机构成元件中,负责程序解释和运行的是哪个?
CPU
CPU构成
CPU (Central Processing Unit)中央处理器,由数百万至数亿个晶体管构成。
功能器件 | 作用 |
---|---|
寄存器 | 暂存指令、数据等处理对象 |
控制器 | 负责装载指令、数据入寄存器,并根据指令执行结果进行下一步动作 |
运算器 | 负责运算寄存器中的数据 |
时钟 | 发出CPU开始计时的时钟信号,越快CPU运算越快 |
内存,指计算机的主存储器(Main Memory),通过控制芯片与CPU相连,主要负责存储指令和数据。由可读写元素构成,其每个字节都带有一个地址编号,CPU通过该地址读取内存中的指令和数据。掉电后其中的指令、数据会被清除。
在程序员眼中,CPU是寄存器的集合体。因为所有代码最终到汇编层次都会变为对寄存器的操作。
决定程序流程的程序计数器
程序计数器,存储下一条指令所在的内存地址
所以,只要我们改变程序计数器的值,其下一条执行的指令就会跳到我们改的那个值去执行指令。
当程序顺序执行的时候,CPU每执行一条指令后就会将程序计数器的值+1,使其继续运行下去。
当有分支跳转时,指令直接改变程序计数器的值后则会跳转到新的地址去取指令执行。
当进行函数调用时,CALL指令会将当前地址进行压栈,跳转到新地址执行完毕,return指令再出栈,回到调用的地址进行执行。
网友评论