一:什么是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则会把基址寄存区+变址寄存器的值解释为实际查看的内存地址。