首页 > 编程语言 >《程序是怎样跑起来的》第一章读后感悟

《程序是怎样跑起来的》第一章读后感悟

时间:2024-01-26 10:37:39浏览次数:36  
标签:读后感 编程语言 程序 第一章 内存 寄存器 机器语言 CPU

CPU 是负责解释和运行最终转换成机器语言的程序内容。
内存或主存是通过控制芯片与 CPU 相连,负责存储指令和数据。
主存有可读写的元素构成,每个字节带有一个地址编号(1字节=8个位),CPU 通过该地址读取内存,或写入数据。
这四个部门是通过电流信号相互连通的。
寄存器可以用来暂存指令、数据等处理对象,可以看做是内存。一个 CPU 有20-100个寄存器。
控制器把内存上的指令、数据读入寄存器,根据指令来控制整个计算机。
运算器运算从内存读入到寄存器中的数据。
时钟发出 CPU 开始计时的时钟信号。根据时钟信号,控制器会从内存中读取指令和数据。
控制器的控制是数据运算以外的处理,数据输入输出的实际控制。比如,内存和磁盘等媒介的输入输出,键盘和鼠标的输入显示器和打印机的输出。
CPU 是寄存器的集合体。
汇编语言与机器语言一一对应。把汇编语言编写的程序转化成机器语言的过程称为汇编,语言程序转换成汇编语言程序的过程则是反汇编。
把汇编语言转化成机器语言的程序称为汇编器,有时汇编语言也称为汇编。
高级编程语言是指能够使用人类的语言来记述的编程语言的总称,c、basic、c++。使用高级编程语言编写的程序,经过编译转换成机器语言后才能运行。
与高级编程语言相对,机器语言和汇编语言称为低级编程语言。
内存的存储场所通过地址编号来区分,寄存器的种类通过名字来区分。
使用高级语言编写的程序会在编译后转化为机器语言,然后通过 CPU 内部的寄存器来处理。
编译是使用高级编程语言编写的程序转换为机器语言的过程,用于转换的程序被称为编译器。
控制器从内存中读取指令,存取到寄存器中,运算器把寄存器中的指令和数据加以运算,然后由控制器在把结果存入内存。
不同类型的 CPU,对应多种不同类型的寄存器来实现不同的功能。根据功能划分,寄存器大致可以划分为8类,其中程序计数器、累加期存器、标志寄存器、指令寄存器、栈寄存器只有一个,其他有多个。
程序员眼中的 CPU 是寄存器的集体。决定程序流程的程序计数器(寄存器的一种)。存储指令和数据的内存,是通过内存地址来划分。实际上一个命令和数据通常被存储在多个地址上,当执行的指令占据多个内存地址后,增加与指令长度相应的数值。CPU 的控制器,会按照程序计数器的数值,从内存中读取命令并执行,程序计数器决定这程序的流程。

标签:读后感,编程语言,程序,第一章,内存,寄存器,机器语言,CPU
From: https://www.cnblogs.com/jyx2005/p/17988758

相关文章

  • 微信小程序进入场景枚举类
    微信开放文档-场景值列表///<summary>///小程序打开的具体场景值,1058-公众号文章等///</summary>publicenumEnterScene{///<summary>///其他///</summary>[Display(Name="其他")]Other=1000,///<summary>//......
  • 【译】解开托管内存的秘密:深入了解事件处理程序泄漏!
    事件处理程序泄漏已经存在很长时间了,这是WPF(WindowsPresentationFoundation)开发人员经常要处理的最麻烦的问题之一。您可能会想:是什么让事件处理程序泄漏如此重要?事件处理程序泄漏很容易引起,只需忘记取消订阅事件即可。此外,它们很难发现,甚至更难修复。在更新17.9预......
  • 程序启停分析与进程常用API的使用
    进程是程序运行的实例,操作系统为进程分配独立的资源,使之拥有独立的空间,互不干扰。空间布局拿c程序来说,其空间布局包括如下几个部分:数据段(初始化的数据段):例如在函数外的声明,inta=1blockstartedbysymbol(未初始化的数据段):例如在函数外的声明,intb[10]栈:保存局部作用域......
  • 基于FPGA的图像RGB转HSV实现,包含testbench和MATLAB辅助验证程序
    1.算法运行效果图预览 将FPGA的仿真结果导入到matlab中:   2.算法运行软件版本vivado2019.2 matlab2022a 3.算法理论概述       在数字图像处理中,色彩空间的转换是常见的操作。其中,RGB和HSV是两种经常使用的色彩空间。RGB基于红、绿、蓝三种颜色的组合......
  • 基于FPGA的图像RGB转HLS实现,包含testbench和MATLAB辅助验证程序
    1.算法运行效果图预览 将FPGA结果导入到MATLAB显示效果: 2.算法运行软件版本Vivado2019.2 matlab2022a 3.算法理论概述       在数字图像处理中,RGB和HLS是两种常见的颜色空间。RGB基于红绿蓝三种基本颜色的叠加来定义其他颜色,而HLS则代表色调、亮度和饱和......
  • Java 程序编译和运行过程
    Java程序从.java文件创建到程序运行要经过两大过程:.java文件由编译器编译成.class文件字节码由JVM解释运行编译过程.java源文件会被Java编译器进行编译为.class文件:Java编译一个类时,如果这个类所依赖的类还没有被编译,编译器会自动的先编译这个所依赖的类,然后引用......
  • 2024转行程序员的请注意:均月薪在40-70k
    前言2023年,对大多数行业来说都是不太好过的一年。对程序员来说也是如此,很多粉丝朋友都在说android工作特别难找,一个岗位都是几千份简历........大家心里都是特别的焦虑,本以为2024年就业情况会有好转,但实际上并非如此。没想到2024年的开启,却是硅谷大裁员!2024年才过了十几天,就传......
  • 系统科学方法概论——第一章学习
    学习内容:复制网址,可在浏览器中打开心得感悟:通过学习第一章,我了解到了在实际生活中应用系统方法是既要兼顾系统方法的几个方面,又要根据实际情况去分析。要正确的运用系统的方法达到认识世界和改造世界的目的。因此,系统,既是一种思维方式,又是一种实践的方式,因此我们要逐步形成......
  • 《人月神话》读后感第三部分
    第三部分《人月神话》为读者提供了宝贵的实用经验和解决方案,着眼于作者在IBM项目经理角色中的亲身经历。通过弗雷德里克·布鲁克斯的分享,我不仅汲取到了一些成功的管理策略,也对软件工程领域的发展趋势有了更深入的了解。作者提供的关于制定合理计划的建议,让我认识到规划对于项......
  • 程序员有哪些必读书单,目前保存的分享一下
    1.数据结构与算法邓俊辉清华大学出版社2.设计模式可复用面向对象软件的基础China-Pub.comhttp://www.china-pub.com/ebook/英文版DesignPatternsElementsofReusableObject-OrientedSoftwareErichGammaRichardHelmRalphJohnsonJohVissides 3.职场救赎写给......