首页 > 编程语言 >读书有感 程序是怎样跑起来的

读书有感 程序是怎样跑起来的

时间:2024-01-21 22:33:35浏览次数:25  
标签:有感 程序 函数调用 地址 指令 读书 寄存器 CPU

CPU与内存的关系,虽然本质上都是名为集成电路的电子部件,由大量晶体管构成。CPU内部是由寄存器、控制器、运算器、和时钟四部分组成。内存则是指主存储器,简称主存。CPU中,需特别关注寄存器,因为寄存器是程序的描述对象。CPU是寄存器的集合体。用英语单词或其缩写表示每一种信号的功能,就构成了汇编语言。其中,汇编和反汇编这两个名词比较重要。CPU处理程序,用高级编程语言编写程序,最终都会被编译成机器语言,然后在CPU内部通过寄存器进行处理。寄存器中存放的值可以是指令,也可以是数据,其中数据又分为“用于运算的数值”和“表示内存地址的数值”。CPU中的每个寄存器都有不同的功能。CPU是由具有不同功能的寄存器所构成的集合体。一般来说,程序计数器、累加标志寄存器、指令寄存栈寄存器各仅有一个,其他类型的寄存器可以有多个。程序的流程分为顺序执行、条件分支和循环三种。顺序执行就是按照地址的数值顺序执行指定。条件分支就是按照条件执行任意地址的指令。循环就是重复执行同一地址的指令。条件分支中所使用的跳转指令需要根据前一条指令的运算结果来判断是否进行跳转。函数调用,在函数调用中,当完成函数内部的处理之后,必须让程序流程返回函数被调用的地方(也就是函数调用指令的下一条指令所在地址)继续执行。函数调用时使用的不是跳转指令,而是调用指令。调用指令在将函数入口地址设置到程序技术器之前,会将函数调用的下一条指令的地址保存到名为栈的内存空间中。返回指令的功能是将保存在栈中的地址设置到程序计数器中。最后,基址寄存器和变址寄存器的功能,可以对特定的内存空间进行划分,按照数组的方向对其进行使用。

标签:有感,程序,函数调用,地址,指令,读书,寄存器,CPU
From: https://www.cnblogs.com/HYH16/p/17978579

相关文章

  • Go语言核心36讲 49 | 程序性能分析基础(下)
    你好,我是郝林,今天我们继续分享程序性能分析基础的内容。在上一篇文章中,我们围绕着“怎样让程序对CPU概要信息进行采样”这一问题进行了探讨,今天,我们再来一起看看它的拓展问题。知识扩展问题1:怎样设定内存概要信息的采样频率?针对内存概要信息的采样会按照一定比例收集Go程序......
  • Go语言核心36讲 48 | 程序性能分析基础(上)
    作为拾遗的部分,今天我们来讲讲与Go程序性能分析有关的基础知识。Go语言为程序开发者们提供了丰富的性能分析API,和非常好用的标准工具。这些API主要存在于:runtime/pprof;net/http/pprof;runtime/trace;这三个代码包中。另外,runtime代码包中还包含了一些更底层的API。它们可......
  • 《程序是怎样跑起来的》读后感
    在第三章中主要讲述了计算机进行小数运算时出错的原因,大家可能会认为“万能的计算机是不会出现计算错误的”。但实际上,依然存在程序运行后无法得到正确数值的情况。其中,小数运算就是一个典型的例子。在本章中我们首先了解了将二进制表示的小数转换成十进制的方法,这样便于理解计算......
  • 微信小程序 canvas
    页面绑定canvas<viewstyle='width:0px;height:0px;overflow:hidden;'><!--//调试时候可用直接将canvas显示在页面上//调试完成将canvas隐藏<canvasid="canvasContaner"type="2d"></canvas>--><canvasid="canvasContaner&q......
  • [Mac软件]App Cleaner & Uninstaller 8.2.6应用程序清理和卸载
    AppCleaner&Uninstaller是一款Mac应用程序,它可以帮助用户完全删除应用程序及其相关的服务文件、扩展文件等。以下是该应用程序的主要功能:完全删除应用程序:通过将应用程序图标拖到垃圾桶中删除程序,可以彻底清除应用程序及其相关文件,释放磁盘空间。删除所有类型的服务文件:除了删除......
  • 《程序是怎样跑起来的》第一、二章
    一、计算机的硬件组成1. CPU:中央处理器,负责解释和运行最终转换成机器语言的程序内容。2. 内存:主存,通过控制芯片与CPU相连,负责存储指令和数据。3. 寄存器:可以用来暂存指令、数据等处理对象,可以看做是内存。CPU有20-100个寄存器,控制器、运算器和时钟也包含在CPU中。二、......
  • 《程序是怎样跑起来的》第一章随笔
    对我来说CPU是什么?相当于人们的大脑,在计算机中是关键核心之一。CPU是什么?CPU中文名为中央处理器,相当于计算机的大脑,由寄存器,控制器,运算器和时钟组成用来将指令的执行顺序组织起来,并按照规定的顺序进行操作,以确保计算机系统能够正常运行。寄存器寄存器可用来暂存指令、数据等......
  • 《程序怎样跑起来的》第一章观后收获
    通过阅读第一章,我了解到了CPU是由运算器、控制器、时钟以及寄存器这四部分组成,其中寄存器又分为基址、变址、累加、指令、栈、通用以及标志寄存器,都分别具有不同的功能负责不同的工作;程序的执行其实通过将高级语言转换成汇编语言调动相应的指令执行任务;指令集通过程序计数器排列,逐......
  • Go语言核心36讲 04 | 程序实体的那些事儿(上)
    我已经为你打开了Go语言编程之门,并向你展示了“程序从初建到拆分,再到模块化”的基本演化路径。一个编程老手让程序完成基本演化,可能也就需要几十分钟甚至十几分钟,因为他们一开始就会把车开到模块化编程的道路上。我相信,等你真正理解了这个过程之后,也会驾轻就熟的。上述套路是......
  • Go语言核心36讲 06 | 程序实体的那些事儿 (下)
    在上一篇文章,我们一直都在围绕着可重名变量,也就是不同代码块中的重名变量,进行了讨论。还记得吗?最后我强调,如果可重名变量的类型不同,那么就需要引起我们的特别关注了,它们之间可能会存在“屏蔽”的现象。必要时,我们需要严格地检查它们的类型,但是怎样检查呢?咱们现在就说。我今天......