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

《程序是怎么跑起来的》——第一章读感

时间:2024-01-27 13:22:39浏览次数:20  
标签:读感 程序 第一章 程序员 地址 内存 寄存器 CPU

一:什么是cpu?、
CPU是英文Central Processing Unit(中央处理器)的缩写,相当于计算机的大脑1。它是由寄存器、控制器、运行器和时钟4个部分组成的电子部件,通常称为IC(Integrated Circuit,集成电路),内部由数百万至数亿个晶体管组成 23o
对于程序员来说,CPU是一个重要的硬件组件,因为它负责执行程序中的指令,对程序的运行速度和性能有着直接的影响。程序员需要了解CPU的基本概念和工作原理,以便更好地编写高效、优化的代码。
内存,通过控制芯片与CPU相连,主要负责存储指令和数据。内存由可读写的元素构成,每个字节(1字节=8位)都带有一个地址编号。CPU可以通过该地址读取主存中的指令和数据,当然也可以写入数据。
Warn:内存中存储的指令和数据会随着计算机的关机而自动清除。因为其通常使用DRAM(Dynamic Random Access Memory,动态随机存取存储器)芯片。
二:CPU是寄存器的集合体
CPU的四个构成部分中,程序员只需要了解寄存器即可。因为程序是把寄存器作为对象来描述的。
不同类型的CPU,其内部寄存器的数量、种类以及寄存器存储的数值范围都是不同的。不过,根据功能的不同,我们可以将寄存器大致分为8类
对程序员来说,CPU就是各种功能的寄存器的集合体。其中,程序计数器、累加寄存器、标志寄存器、指令寄存器和栈寄存器都只有一个,其他的寄存器一般有多个。
三:条件分支和循环分支
程序的流程一般有三种:顺序执行、条件执行和循环三种。
顺序执行的情况比较简单,每执行一个指令程序计数器的值就自动加1;但若程序中存在条件分支和循环,机器语言的指令就可以将程序计数器的值设定为任意地址。
四:通过地址和索引实现数组
就要说到基址寄存器和变址寄存器了。通过这两个寄存器,我们可以对主内存上特定的内存区域进行划分,从而实现类似于数组的操作。
首先,我们用十六进制数将计算机内存上00000000~FFFFFFFF的地址划分出来。那么,凡是该范围的内存区域,只要有一个32位的寄存器,即可查看全部的内存地址。但如果想要像数组那样分割特定的内存区域以达到连续查看的目的,使用两个寄存器会更方便。
假设要查看100000001000FFFF地址时,可以将1000000存入基址期存器,并使变址寄存器的值在000000000000FFFF变化,CPU则会把基址寄存区+变址寄存器的值解释为实际查看的内存地址。

标签:读感,程序,第一章,程序员,地址,内存,寄存器,CPU
From: https://www.cnblogs.com/SF90/p/17991333

相关文章

  • 废品回收小程序的开发:创新与实践
    随着科技的发展和环保意识的提高,废品回收成为了社会关注的热点问题。为了更好地推动废品回收事业的发展,废品回收小程序的开发应运而生。本文将介绍废品回收小程序的开发背景、功能特点、技术实现和推广应用,以期为相关领域的发展提供参考。一、开发背景废品回收是环保事业的重要组成......
  • windowForm程序的webView2错误 System.IO.FileNotFoundException: 系统找不到指定的文
    最近开发公司的一个项目,要求打包在windows中执行的exe可执行文件开始我想到的是使用windowsForm里面webView嵌套网页执行,vs自带提供的WebBrowser的内核是ie7的,兼容性确实不好,后面使用Microsoft.Web.WebView2(通过NuGet安装)兼容性问题解决了。在我的电脑上可以完整的运行,但是在同......
  • Winform仅允许运行一个程序,当要打开多个时将显示已在运行的程序
    要实现此功能,只需在Program类中修改启动程序的方法即可首先引用对应的命名空间usingSystem.Diagnostics;usingSystem.Reflection;usingSystem.Runtime.InteropServices;接着在类中,Main方法外写///<summary>///Themainentrypointfortheapplication./......
  • 个人成长|《程序员职业规划》
    ⛳本文关键词:程序员、个人成长、职业规划......
  • 《程序是怎么跑起来的》的第一次前两章总结
    读了《程序是怎样跑起来的》这本书的第一章之后,让我对CPU的理解更加深入。刚开始我只认为它是相当于计算机的大脑,原来它对于程序员来说不止如此,它还是CPU,寄存器,内存,内存地址,程序计数器,累计寄存器,标志寄存器和基址寄存器。它的内部是由寄存器,控制器,运算器和时钟四部分构成。平常......
  • Windows内核开发-[2]、创建第一个驱动程序
    使用VisualStudio2022创建一个EmptyWDMDriver工程  工程创建后,添加一个MyFirstDriver.cpp文件,输入以下内容1#include<ntddk.h>23VOIDDriverUnload(PDRIVER_OBJECTDriverObject)4{5if(DriverObject!=NULL)6{7DbgPrint("Driver......
  • 读对程序员来说cpu是什么有感
    CPU是英文CentralProcessingUnit(中央处理器)的缩写,相当于计算机的大脑,它的内部由数百万至数亿个晶管体构成。CPU所负责的就是解释和运行最终转换成机器语言的程序内容。1、了解CPU的内部结构CPU和内存是由许多晶体管组成的电子部件,通常称为IC。CPU的内部由寄存器、控制器、......
  • 鸿蒙开发会是前端程序员的下一个春天吗?
    前言最近前端的大环境不太行,之前身处在前端的自己薪资也越来越无望了,隐隐约约感觉前端做不下去了,2024前端找不到工作要转行吗?看新闻的过程中,发现越来越多的巨头公司融入鸿蒙生态建设,鸿蒙“朋友圈”正在不断壮大。各大互联网厂商已经完成或开始启动开发鸿蒙原生App,随着头部App厂......
  • 《程序是怎样跑起来的》第二章读后感
    我是计应232班的徐鲁豫。读过第二章后,我明白了二进制的计算方法,就是将二进制数的各位数字乘以其相应的位权(39=310+91)。明白了二进制之后,还有各种运算,比如移位运算(分为左移与右移)。左移运算很简单,就是将数字左移多出来的舍弃,空出来的用0补。右移运算相对复杂一点,分为逻辑右移与算......
  • 《程序员的修炼之道:从小工到专家》的阅读笔记
    《程序员的修炼之道:从小工到专家》是由AndrewHunt和DavidThomas合著的一本经典之作,以实用的方式探讨了成为卓越程序员的路径。以下是我对这本书的阅读笔记:首先,书中强调了“注重实践”和“不断学习”的重要性。程序员并非仅仅需要理论知识,更需要通过实践不断提升自己。书中提到......