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

对程序员来说cpu是什么

时间:2024-01-21 17:11:57浏览次数:25  
标签:程序 程序员 地址 指令 内存 寄存器 来说 cpu

程序是指示计算机每一步动作的一组指令
程序由指令和数据构成
机器语言是cpu可以直接识别并使用的语言
正在运行的程序储存在存中,内存中,用来表示命令和数据存储位置的数值叫做内存地址。
cpu负责程序的解释和运行
Cpu是具有各种功能的寄存器的集合体
cpU内部由寄存器、控制器、运算器、时钟构成;
寄存器:可以用来暂存指令、数据等处理对象,可以将其看成内存的一种。一个cpu有20~100个寄存器。
控制器负责把内存上的指令、数据等读入寄存器,并根据指令的执行结果来控制整个计算机。
运算器负责运算从内存读入寄存器的数据。
时钟负责发出cpu开始计时的时钟信号。时钟信号的频率越高,cpu运行速度越快。
通常说内存指的是计算机的主存储器。主存通过控制芯片等与cpu相连,负责存储指令和数据。
程序是把寄存器作为对象来描述的。
程序计数器、累加寄存器、标志寄存器、指令寄存器、栈寄存器只有一个,其他寄存器一般有多个。
地址0100是程序运行的开始位置。Windows等操作系统把程序从硬盘复制到内存后,会将程序计数器设定为0100,然后程序便开始运行。Cpu每执行一个指令,程序计数器的值就会自动+1.,例如,cpu执行0100地址的指令后,程序计数器就变成0101
程序的流程有三种:顺序执行、条件分支、循环。
顺序执行是按照地址内容的顺序执行指令;(每执行一个指令程序计数器自动加一)
条件分支是根据条件执行任意地址的指令;
循环是重复执行同一地址的指令。
条件分支和循环,机器语言的指令就可以将程序计数器的值设定为任意地址( +1).。。。
条件分支和循环中使用的跳转指令,会参照当前执行的运算结果判断是否跳转
无论当前累加寄存器的运算结果是负数还是0或者正数,标志寄存器都会将其保存。
标志寄存器有32位cpu;第一个字节位为1时,表示正数
函数调用处理也是通过把程序计数器的值设定成函数的存储地址实现的。
函数的调用需要在完成函数内部的处理后,处理流程再返回到函数调用点(函数调用指令的下一个地址)
函数调用使用的是call指令,不是跳转指令。在将函数的入口地址设定到程序计数器之前,call指令会调用函数后要执行的指令地址存储在栈的主存内。函数处理完,再通过函数的出口执行return命令。
Return命令的功能是把保存在栈中的地址设定到程序计数器
十六进制数将计算机内存上的00000000~FFFFFFFF的地址划分出来。
在此范围只要有一个32位的寄存器,即可查出所有内存地址;两个寄存器更方便,现将地址存入基址寄存器,然后使变址寄存器变化
数据转送指令:寄存器与内存、内存与内存、寄存器和外围设备之间的数据读写操作;
运算指令:用累加寄存器执行算术运算、逻辑运算、比较运算和移位运算;
跳转指令:实现条件分支、循环、强制跳转等;
Call/return指令:函数的调用、返回调用前的地址

标签:程序,程序员,地址,指令,内存,寄存器,来说,cpu
From: https://www.cnblogs.com/zhhhhh/p/17978029

相关文章

  • 程序是怎样跑起来的_第一章-对程序员来说CPU是什么
    通过对第一章的学习,我了解了大体上CPU可以说是电脑的"大脑",即中央处理器。从功能来看可以分为寄存器,控制器,运算器和时钟。在这四个部分中,寄存器是最值得程序员注意的。总的来说,CPU对程序员来讲是寄存器的集合体。值得一提的是,我们使用java等高级语言编写的程序是被编译器转换成机......
  • CPU跑分工具:SPEC2006
    一.工具介绍前言SPEC2006benchmark是SPEC新一代的行业标准化的CPU测试基准套件。重点测试系统的处理器,内存子系统和编译器。这个基准测试套件包括的SPECint基准和SPECfp基准。主要依赖于gcc,g++,gfortran并与其版本息息相关。其中SPECint2006基准包含12个不同的基准测试和SP......
  • 第一章——对程序员来说CPU是什么
    这本书的第一章主要讲解的是CPU。那对于程序员来说CPU到底是什么呢?这一章便给出了答案。cpu是什么?CPU是CentralProcessingUnit(中央处理器)的缩写,也就是相当于计算机的大脑。它由寄存器、控制器、运算器、时钟构成,各部分之间由电流信号相互连通。CPU是寄存器的集合体,我们也需要......
  • CPU到底是什么
    CPU是中央处理器,它是计算机的大脑,其内部由数百万至数亿个晶体管构成的,要理解CPU,关键是要了解存放指令和数据的寄存器。CPU是负责对最终转换为机器语言的程序内容进行解释和执行的设备。其内部是由寄存器、控制器、运算器和时钟的四部分组成。他们之间通过电信号连接。CPU通过地址......
  • Unity 程序员UI编码规范
    今天给大家分享UnityUI开发相关的一些编码和规范,有了这些指导规范,帮助你的项目获得更好的性能,少走弯路。UnityGUI(也被称为UGUI)经常是项目性能问题的来源。考虑使用多分辨率和宽高比大部分情况下,我们一套UI,能基本全部适配好,UnityUI让建立一个可以适应不同分辨率和宽高比屏幕调......
  • Linux中利用shell脚本提升cpu使用率
    使用背景:因新申请下来的服务器暂时没有部署任何应用导致cpu使用率很低,那资源组那边给出两个方案,1.要不把服务器用起来2服务器进行降配降配是不可能降配的,后面正式用起来去升配就很麻烦了使用说明:这个脚本主要是针对多核服务器进行使用,前提你想让你服务器......
  • [工程题] THUSC 2023 Day2 奋斗四小时,手搓 CPU
    https://www.luogu.com.cn/contest/110331https://www.luogu.com.cn/team/44709#problem可以在https://www.luogu.com.cn/problem/T335306下载manual.pdf,在https://www.luogu.com.cn/problem/T335313下载statement.pdf和simulator.cpp。组合逻辑电路部分此部分的要求详......
  • 每个Go程序员必犯之错之切片循环错误
    每个Go程序员必犯之错原创 晁岳攀(鸟窝) 鸟窝聊技术 2023-12-1808:48 发表于北京 听全文说起每个程序员必犯的错误,那还得是"循环变量"这个错误了,就连Go的开发者都犯过这个错误,这个错误在Go的FAQ中也有提到Whathappenswithclosuresrunningasgoroutines?[......
  • 为什么GPU比CPU更适合人工智能计算?
     人工智能模型,也称为神经网络,本质上是一个数学千层面,由一层又一层的线性代数方程组成。每个方程都表示一段数据与另一段数据相关的可能性。就其本身而言,GPU包含数千个内核,微型计算器并行工作,以切开构成AI模型的数学。从高层次上讲,这就是人工智能计算的工作原理。作为加速机器学......
  • CPU
    1.1——CPU是计算机的大脑,其内部由寄存器、控制器、运算器和时钟四个部分组成。1.2——CPU是寄存器的集合体,eax和ebp表示的都是寄存器,不同类型的CPU,其内部的寄存器的数量、种类以及寄存器存储的数值范围都是不同的。1.3——程序计数器决定着程序的流程。1.4——程序的流程......