常说IT,计算机,程序,可是真的要问起来什么是程序,什么是计算机,大部分人还是会愣一会儿。(没卡壳的可以左上角了)
先来波灵魂发问:
学过一些计算概论的应该能很快回答出/理解下面的答案
程序就是操作计算机的工具,拿程序这个工具指挥机器的开关是CPU(Central Processing Unit,中央处理器,记下来,保研/考研要考)。
CPU是计算机核心,负责解释和运行机器语言的内容。至于平时程序员用的汇编、C、高级语言怎么转换为机器语言,那是后话。
CPU由各种晶体管组成,功能上来看,包括寄存器、控制器、运算器和时钟四个部分,各个部分由电流信号相互连通。
寄存器暂存指令、数据。
控制器把内存里面的指令和数据(程序只分两个东西,指令,数据)读入寄存器。
运算器运算寄存器的数据。
时钟负责计时。玩游戏时要求CPU配置不低于**GHz的,就是指时钟,如2GHz说明CPU每秒能进行20亿次简单运算。(怎么挑电脑懂了没)
CPU工作流程就是根据时钟发出的信号,控制器从内存中读取指令和数据放入寄存器,运算器对数据进行运算,控制器根据运算结果控制计算机。
对程序员来说,CPU内最重要的是寄存器
程序计数器、累加寄存器、标志寄存器、指令寄存器和栈寄存器只有一个,其余的有多个。
众所周知,程序分三种结构,顺序结构、条件分支和循环操作。各种寄存器组合工作,相互搭配,从而实现这三种结构。
顺序结构
作为最基础的顺序结构依靠程序计数器。操作系统把程序从硬盘复制到内存中,程序计数器设定为0100(地址),当CPU执行0100地址处的指令后,程序计数器加1,变成0101,然后CPU的控制器就会参照程序计数器的数值从内存中读取命令并且执行。这是顺序结构得以顺利进行的底层基础。
条件分支
条件分支通过执行对应地址中的指令,通过比较的方式跳跃到不同的新的地址实现。
而循环结构则是比较后跳回原地址。
条件分支和循环结构都是通过跳跃指令跳转地址,那么我们又如何调回地址?
这里标志寄存器起到作用,标志寄存器有三个位表示比较运算的结果,通过这三个位决定跳转的地址。
(关于函数,则需要用到机器语言的call和return指令将要执行的指令地址存/取在栈的主存中,递归容易爆栈就在这出的问题)
CPU执行能执行的处理非常少,但通过极高的运算频率实现了丰富的功能,才有现在精彩的计算机网络世界。
来源:CSDN
作者:考拉只想睡觉
链接:https://blog.csdn.net/chengduxiu/article/details/104319224