对程序员来说CPU是什么(我与计算机)

我和计算机的缘分是从小时候开始的,那时家中有台电脑,很喜欢和自己的小伙伴一起在电脑上玩游戏,有时候电脑坏了,就会有人来修,我在旁边看着,就起了很大的兴趣。于是,我和计算机的缘分就开始了。
在假期里,读了《程序是怎样跑起来的》这本书,读的虽然不多,但也知道了不少新的知识:CPU是英文Central Processing Unit(中央处理器)的缩写,它相当于计算机的大脑,内部由寄存器、控制器、运算器、时钟四部分构成,其中寄存器用来暂时存放数据、指令等处理对象;控制器负责把内存中的指令、诗句读入寄存器,并依照指令执行结果来控制计算机;运算器负责运算从内存读入寄存器的数据;时钟负责发出CPU开始计时的时钟信号(注:有些计算机时钟在外部)。通常所说的内存是计算机的主存储器,简称主存。它与CPU相连主要负责存储指令和数据,注意:主存中存储的指令和数据会随着计算机的关机而清除。控制器会控制内存和磁盘等媒介的输入输出、键盘鼠标的输入、显示器和打印机的输出等内容。
程序员需了解一点:程序是把寄存器作为对象来描述的。汇编语言采用助记符来编写程序,每一个原本是电气信号的机械语言指令都会有一个与其相对应的助记符,助记符通常为指令功能的英语单词的简写。通常我们将汇编语言编写的程序转化成机械语言的过程称为汇编;反之,机械语言程序转化成汇编语言程序的过程称为反汇编。使用高级语言编写的程序会在编译过后转化为机械语言,然后再通过CPU内部的寄存器来处理。不同类型的CPU,其内部寄存器的数量、种类以及寄存器存储的数值范围都是不同的。对程序员来说,CPU是具有各种功能的寄存器的集合体。
只有一行的有用程序是很少见的,机械语言也是如此。当执行的指令占据多个内存地址时,就会增加与指令长度相应的数值,然后,CPU的控制器就会参照程序计数器的数值,从内存中读取命令并执行。也就是说,程序计数器决定着程序的流程。
程序分为顺序执行、条件分支和循环三种。顺序执行是指按照地址内容的顺序执行指令。条件分支是指根据条件执行任意地址的指令。循环是指重复执行同一地址的指令。条件分支和循环中使用的跳转指令,会参照当前执行的运算结果来判断是否跳转。无论当前累加寄存器的运算结果是负数、零还是正数,标志寄存器都会将其保存(也负责存放溢出和奇偶校验的结果)。CPU在进行运算时,标志寄存器的数值会根据运算结果自动设定。条件分支在跳转指令前会进行比较运算。至于是否执行跳转指令,则由CPU在参考标志寄存器的数值后进行判断。运算结果的正、零、负三种状态由标志寄存器的三个位表示。
数据转送指令:寄存器和内存、内存和内存、寄存器和外围设备之间的数据读写操作;
运算指令:用累加寄存器执行算术运算、逻辑运算、比较运算和移位运算;
跳转指令:实现条件分支、循环、强制跳转等;
call/return指令:函数的调用/返回调用前的地址。

posted @   木土琰  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示