概述
中央处理器(CPU,Central Processing Unit):主要由运算器、控制器和寄存器组成。CPU是一块超大规模集成电路,是计算机运算核心和控制核心,CPU 的主要功能是解释计算机指令以及处理数据。
32位架构的CPU数据总线宽度是32位,每次可以传输32位数据,可以计算4个字节的数据。
64位架构的CPU数据总线宽度是64位,每次可以传输64位数据,可以计算8个字节的数据。
1字节(Byte)等于8位(bit)
CPU的组成
运算器
包括算术逻辑运算单元(ALU,Arithmetic Logic Unit)和寄存器,是整个CPU的指挥控制中心,其基本功能是从内存取指令、分析指令和执行指令。
控制器
控制器由程序计数器(PC,Program Counter)、指令寄存器(IR,Instruction Register)、指令译码器(ID,Instruction Decoder)、时序产生器(Timing Generator)、操作控制器(Control Unit)组成。
寄存器
寄存器(Register),是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。
在CPU中至少要有六类寄存器:指令寄存器(IR)、程序计数器(PC)、地址寄存器(AR)、数据寄存器(DR)、累加寄存器(AC)、程序状态字寄存器(PSW)。这些寄存器用来暂存一个计算机字,其数目可以根据需要进行扩充。
32/64位CPU的具体区别
- 更快。因为如果一个机器指令是32位的,那么64位寄存器就可以一次取两个指令。
- 能处理更大的数字。32位能处理的整数范围是±21亿,若需要处理超过范围的数字,则需要用两个指令存储数据,并且需要使用额外的指令处理数据。
- 控制更多位的地址总线,寻址更大的内存空间。(32位最多只能使用4G内存,而64位理论上能使用16777216TB内存)
CPU 的指令周期
时钟周期:CPU 是用石英晶体产生的脉冲转化为时钟信号驱动的,每一次时钟信号高低电平的转换就是一个周期,我们称为时钟周期。
指令周期:从 PC 指针读取指令、到执行、再到下一条指令,构成了一个循环,这个不断循环的过程叫作 CPU 的指令周期。
时钟信号是 1GHz 的 CPU,代表每秒能够执行 10 亿个时钟周期(1G 为10的9次方,即10亿),因此时钟信号的一个周期是 1/10 亿秒。而光的速度是 3×10的8 次方米每秒,就是 3 亿米每秒。所以在一个周期内,光只能前进 30 厘米。
CPU 可以在每个时钟周期执行一条或多条指令,这具体取决于处理器的类型。 早期的计算机处理器和较慢的 CPU 在每个时钟周期只能执行一条指令,而现代处理器在每个时钟周期可以执行多条指令(多核)。
一个 CPU 的执行周期是从内存中提取第一条指令、解码并决定它的类型和操作数,执行,然后再提取、解码执行后续的指令。
- Fetch,取指令。首先 CPU 通过 PC 指针读取对应内存地址的指令。
- Decode,分析指令。CPU 对指令进行解码。
- Execute,执行指令。CPU 执行指令。
- Store,存指令。CPU 将结果存回寄存器或者将寄存器存入内存。
CPU的指令集
我们常见的 x86(32位)/x64(64位)是指CPU的指令集。
指令集是 CPU 实现软件指挥硬件执行的媒介,每一条汇编语句都对应了一条 CPU 指令,指令的集合叫 CPU 的指令集。
64 位指令的程序不可以在 32 位机器上运行,因为 32 位的寄存器存不下 64 位的指令。
操作系统其实也是程序,64 位的操作系统使用的是 64 位的指令,不能安装在 32 位机器上。
最后
以上就是标致洋葱为你收集整理的简述CPU的全部内容,希望文章能够帮你解决简述CPU所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复