首页 > 其他分享 >重新认识CPU

重新认识CPU

时间:2024-01-27 23:23:25浏览次数:24  
标签:重新认识 计算机 指令 寄存器 数据 CPU 运行

在上篇文章“我与计算机”中提到我对于计算机的认识在先前是初步的,因此我对于构成计算机的硬件自然也存在认知上的不全面,其中就包括CPU这项计算机重要组成部分。
起初我对于CPU的认知仅仅停留在CPU是一个非常抽象的关于“计算机运行”的概念,因为在日常使用最广泛的计算机即电脑的使用中,我发现每个电脑都离不开CPU这个“神秘的”存在,再者就是在考虑电脑配置的时候也会发现有不同型号的CPU处理器,i5、i7、甚至i9,这些在阅读《程序是怎样跑起来的》第一章前我对于CPU的认知是非常浅显的,而在阅读之后,我对于CPU各个组成部分已经有了大致的认知,并且对于每个组件的功能也有了初步的了解。首先CPU的内部结构大体分为控制器,时钟,寄存器,运算器。他们相互配合,系统工作的运行计算机内存上的数据和指令。如果说把CPU看做是计算机的大脑,那么首先寄存器就是大脑的记忆细胞,因为寄存器字面义就是存储的一个空间,主要存储的就是数据和指令和其他需要处理的对象。需要明晰,它是暂存这些数据,而这些数据本应该在计算机的主内存上存储着,那是如何被调用到CPU这个超强大脑中进行处理的呢?就是通过控制器这个组件,控制器它主要就是控制运行指令的,在我看来它相当于是一个CPU与计算机其他部分的沟通媒介,只有通过控制器,才可以将计算机主内存上的数据和指令调入到寄存器之中,并且执行处理后的指令来控制整个计算机。那么大脑最为主要的功能就是思考,而思考就对应着CPU的运算器,运算器负责运算被控制器调入寄存器中的数据、指令……并通过控制器来将处理运算过后的指令应用于整个计算机,再者就是时钟,时钟相当于大脑运行的开关,只有时钟发出“允许运行”的信号,整个大脑才会开始将调取数据,存储数据,运算数据,传递结果这一系列操作,这是CUP的整体之间的大致构成与功能。但是每个原件之间也有诸多学问所在,但是都与一个原件有着“难舍难分”的关系——寄存器。在书中说“CPU是寄存器的集合体”,此话怎讲?首先来看寄存器的种类,寄存器包括“累加寄存器”、“标志寄存器”、“程序计数器”、“基址寄存器”、“变址寄存器”、“通用寄存器”、“指令寄存器”、“栈寄存器”。我认为计算机程序的运行都是通过不同寄存器之间的配合才得以完成的,就拿程序员编程来讲,程序员用目前所流行的编程语言例如JAVA、C语言、C++等“高级语言”编写程序代码后,必须通过“编译”这一步来实现将所写的代码转变为计算机所认识的“机器语言”,而所编写的代码中存在的相加运算、函数都是控制器将其所编译后形成的机器语言调用到寄存器中,在寄存器中进行加减运算的,并且不同的数据会放在不同的寄存器,例如JAVA中的创建对象这一步操作,就是开辟了一处内存空间来存放所创建的对象,而所开辟的内存空间其实是寄存器中的“栈寄存器”,它的功能就是不断存储数据,在CPU运行函数的时候也有很大的作用,首先要了解的是,每个数据在寄存器中都有自己的地址,也是通过将程序计数器的值设定为所需数据的地址,这样运行时才会明白自己需要哪一个数据,当运行函数时需要函数入口的地址,但是运行过后程序计数器是无法将值设置为下一个需要运行的数据的,因此就需要call指令先将数据存入栈内存,等函数运行过后return指令会将地址设置为栈内存中的数据地址,这样完美的解决了函数运行过后的处理流程,因此可见每个寄存器都有着自己独特的功能,他们相互配合,形成一个系统来控制计算机的运行。以上就是我对CPU的再认知和CPU中寄存器的认知。

标签:重新认识,计算机,指令,寄存器,数据,CPU,运行
From: https://www.cnblogs.com/xhsbk/p/17992351

相关文章

  • CPU核心
    CPU核心通常指的是中央处理单元(CPU)内部的独立处理单元。CPU是计算机的大脑,负责解释指令和处理数据。在设计上,一个CPU可以包含多个核心,每个核心可以独立执行任务。核心数量的增加可以让CPU同时处理更多的任务,从而提高整体的性能。以下是一些关于CPU核心的关键点:核心数量:CPU核心......
  • 一个cpu核心最多几个线程
    一个核心最多可以有两个线程。CPU核心是物理上的存在,而线程则是逻辑上的概念。一个核心最少对应一个线程,但通过超线程技术,一个核心可以模拟出两个甚至多个线程。这意味着它可以同时运行两个或多个任务,从而提高了CPU的工作效率和性能。超线程技术,也称为同步多线程(Simultane......
  • 对程序员来说cpu是什么
    CPU是英文CentralProcessingUnit(中央处理器)的缩写,相当于计算机的大脑,它的内部由数百万至数亿个晶体管构成,这些都是大家所熟知的。不过,对CPU的了解如果只限于此的话,对编程是没有任何帮助的。程序员还需要理解CPU是如何运行的,特别是要弄清楚负责保存指令和数据的寄存器的机制。......
  • Python获取内存、CPU利用率,CPU温度
    最近一个项目的需求,在软件上加入硬件实时信息,大概搜索一下,没太好的结果,所以决定自己写一篇我的代码不难发现,都使用了psutil包,为什么呢,别的包我没太关注,纯粹是这台机的环境上有这个包如果大家没有这个包,使用pip工具安装一下即可,目前我还没发现兼容性问题python获取内存利用率......
  • 读对程序员来说cpu是什么有感
    CPU是英文CentralProcessingUnit(中央处理器)的缩写,相当于计算机的大脑,它的内部由数百万至数亿个晶管体构成。CPU所负责的就是解释和运行最终转换成机器语言的程序内容。1、了解CPU的内部结构CPU和内存是由许多晶体管组成的电子部件,通常称为IC。CPU的内部由寄存器、控制器、......
  • 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......
  • Comparison between IPQ9574 and IPQ9554 | MLO EHT Solution Unveils the WiFi 7 CPU
    ComparisonbetweenIPQ9574andIPQ9554|MLOEHTWiFi7QualcommSolutionUnveilstheWiFi7CPUforIndustrialApplications-AlderSeriesWi-Fi7elevateswirelessexperiencesandwillaccelerateemergingusecaseswithitsextremedataspeedsandconsis......
  • 使用CPU运行大语言模型(LLM),以清华开源大模型ChatGLM3为例:无需显卡!用CPU搞定大模型运行
    教程视频地址:无需显卡!用CPU搞定大模型运行部署!【详细手把手演示】按照上面视频进行安装配置之前需要注意,python编程环境需要大于等于python3.10,否则会运行报错。下载好GitHub上的项目代码后需要运行pipinstall-rrequirements.txt配置好后运行效果:相关资料:【ChatGL......