首页 > 编程语言 >读对程序员来说cpu是什么有感

读对程序员来说cpu是什么有感

时间:2024-01-26 21:57:47浏览次数:32  
标签:有感 程序 CPU 程序员 地址 指令 内存 寄存器 cpu

CPU是英文Central Processing Unit(中央处理器)的缩写,相当于计算机的大脑,它的内部由数百万至数亿个晶管体构成。CPU所负责的就是解释和运行最终转换成机器语言的程序内容。
1、了解CPU的内部结构
CPU和内存是由许多晶体管组成的电子部件,通常称为IC。
CPU的内部由寄存器、控制器、运算器和时钟四个部分组成,各部分之间由电流信号相互连通。程序员需要理解CPU是如何运行的,特别是要弄清楚负责保存指令和数据的寄存器的机制。
寄存器可以用来暂存指令、数据等处理对象,可以将其看做内存的一种。根据种类的不同,一个CPU内部会有20~100个寄存器。
控制器负责把内存上的指令、数据等读入寄存器,并根据数据指令的执行结果来控制整个计算机。
运算器负责运算从内存读入寄存器的数据。
时钟负责发出CPU开始计时大的时钟信号。不过,也有些计算机的时钟位于CPU的外部。
内存指的是计算机的主存储器,简称主存。
主存通过控制芯片等与CPU相连,主要负责存储指令和数据。
主存由可读写的元素构成,每个字节都带有一个地址编号。CPU可以通过该地址读取主存中的指令和数据,当然也可以写入数据。
主存中存储的指令和数据会随着计算机的关机而自动清除。
2、CPU是寄存器的集合体
在CPU的四个构成中,程序员只需了解寄存器即可,因为程序是把寄存器作为对象来描述的。
CPU处理程序的大致即,使用高级语言编写的程序会在编译后转化成机器语言,然后通过CPU内部的寄存器来处理。
3、程序是如何按照流程来运行的
地址0100是程序运行的开始位置。Windows等系统把程序从硬盘复制到内存后,会将程序计数器(CPU寄存器的一种)设定为0100,然后程旭便开始运行。CPU每执行一个指令,程序计数器的值就会自动加1,然后,CPU的控制器就会参照程序计数器的数值,从内存中读取命令并执行。程序计数器决定着程序的流程。
4、条件分支和循环机制
程序的流程分为顺序执行、条件分支和循环三种
顺序执行是指按照地址内容的顺序执行命令,即每单执行一个指令程序计数器的值就自动加1。
条件分支是指根据条件执行任意地址的指令。
循环是指重复执行同一个地址的指令。
若程序中存在条件分支和循环,机器语言的指令就可以将程序计数器的值设定为任意地址(不是+1)。这样一来,程序便可以返回到上一个地址来重复执行同一个指令,或者跳转到任意地址。
条件分支和循环中使用的跳转指令,会参照当前执行的运算结果来判断是否跳转。
5、函数的调用机制
函数的调用处理是通过程序计数器的值设定成函数的存储地址来实现的。这和条件分支、循环的机制有所不同,因为单纯的跳转指令无法实现函数的调用。函数的调用需要实现函数内部的处理后,处理流程再返回到函数调用点(函数调用指令的下一个地址)。
在编译高级语言的程序后,函数调用的处理会转换成call指令,函数结束的处理会转换成return指令。
6、机器语言指令的主要类型和功能
数据转送指令:寄存器和内存、内存和内存、寄存器和外围设备之间的数据读写操作;
运算指令:用累加寄存器执行算术运算、逻辑运算、比较运算和移位运算;
跳转指令:实现条件分支、循环、强制跳转等;
call/return指令:函数的调用/返回调用前的地址。

标签:有感,程序,CPU,程序员,地址,指令,内存,寄存器,cpu
From: https://www.cnblogs.com/chaipanpan/p/17990799

相关文章

  • 鸿蒙开发会是前端程序员的下一个春天吗?
    前言最近前端的大环境不太行,之前身处在前端的自己薪资也越来越无望了,隐隐约约感觉前端做不下去了,2024前端找不到工作要转行吗?看新闻的过程中,发现越来越多的巨头公司融入鸿蒙生态建设,鸿蒙“朋友圈”正在不断壮大。各大互联网厂商已经完成或开始启动开发鸿蒙原生App,随着头部App厂......
  • 《程序员的修炼之道:从小工到专家》的阅读笔记
    《程序员的修炼之道:从小工到专家》是由AndrewHunt和DavidThomas合著的一本经典之作,以实用的方式探讨了成为卓越程序员的路径。以下是我对这本书的阅读笔记:首先,书中强调了“注重实践”和“不断学习”的重要性。程序员并非仅仅需要理论知识,更需要通过实践不断提升自己。书中提到......
  • 读程序是怎样跑起来的第一章有感
    程序只是计算机每一步动作的指令,计算机内部的编译和代码是人工事先做好的,我们输入代码,计算机内部进行编译成机器语言,执行代码。而cpu是计算机的核心部位,cpu能够直接识别和执行的只有机器代码,像我们输入的java代码和c#代码都是进行转化为机器语言之后才会运行的。而cpu是由许多......
  • 程序员有哪些必读书单2,目前保存的分享一下
    1.大话设计模式_程杰《大话设计模式》是由程杰编写的一本关于设计模式的书籍1234。这本书以情景对话的形式,用多个小故事或编程示例来组织讲解GoF(设计模式的经典名著——DesignPatterns:ElementsofReusableObject-OrientedSoftware,中译本名为《设计模式——可复用面向对......
  • 01.性能分析系统级别指标 io cpu mem net
    io指标监控命令iostat 命令描述:监控系统设备的IO负载情况命令演示:iostatio指标监控命令df 命令描述:列出⽂件系统的整体磁盘空间使⽤情况命令演示:df-hcpu指标监控命令uptime 命令描述:用于显示系统总共运行了多长时间和系统的平均负载命......
  • 查看指定pid的cpu内存和io情况
    #CPUroot@performance:~#pidstat-u1-p3384955Linux5.10.0-10-amd64(performance)01/26/2024_x86_64_(48CPU)09:20:37AMUIDPID%usr%system%guest%wait%CPUCPUCommand09:20:38AM033849550.003......
  • 修改vSphere ESXi中虚拟机的三大件CPUID,硬盘ID,MAC地址
    1、查看硬件信息 wmicdiskdrivegetserialnumber查看磁盘序列号wmicbiosgetserialnumber查询BIOS序列号wmicnicconfiggetmacaddress查询网卡MAC信息wmiccpugetprocessorid查询cpu的IDwmicbeseboardgetserialnumber查询主板序列号 2、修改CPUID......
  • 2024转行程序员的请注意:均月薪在40-70k
    前言2023年,对大多数行业来说都是不太好过的一年。对程序员来说也是如此,很多粉丝朋友都在说android工作特别难找,一个岗位都是几千份简历........大家心里都是特别的焦虑,本以为2024年就业情况会有好转,但实际上并非如此。没想到2024年的开启,却是硅谷大裁员!2024年才过了十几天,就传......
  • 程序员有哪些必读书单,目前保存的分享一下
    1.数据结构与算法邓俊辉清华大学出版社2.设计模式可复用面向对象软件的基础China-Pub.comhttp://www.china-pub.com/ebook/英文版DesignPatternsElementsofReusableObject-OrientedSoftwareErichGammaRichardHelmRalphJohnsonJohVissides 3.职场救赎写给......
  • 《构建之法》阅读有感(二)
    在阅读《构建之法》的过程中,我不仅对软件工程有了更深入的了解,还从中汲取了不少关于个人成长和职业规划的启示。这本书不仅教会了我如何成为一名优秀的软件工程师,更指导了我如何在职业道路上持续进步和成长。首先,《构建之法》让我明白学习是一个持续的过程。在快速发展的IT行业中......