当前位置:网站首页>简述CPU
简述CPU
2022-04-23 06:42:00 【贪玩的木木】
中央处理器(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 位机器上。
版权声明
本文为[贪玩的木木]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_43844995/article/details/124150028
边栏推荐
猜你喜欢

SAP self created table log function is enabled

Feign source code analysis

DVWA靶场练习

Principle of sentinel integrating Nacos to update data dynamically

CTF-MISC总结

Using lambda expression to solve the problem of C file name sorting (whether it is 100 or 11)

Chapter IV intangible assets

巨头押注的全屋智能,正在驱动海信、华为、小米们「自我革命」

内网渗透系列:内网隧道之dns2tcp

惨了,搞坏了领导的机密文件,吐血分享备份文件的代码技巧
随机推荐
C 输出一种二维数组,特点如下。
Complete learning from scratch, machine learning and deep learning, including theory and code implementation, mainly using scikit and mxnet, and some practices (on kaggle)
Link to some good tutorials or notes about network security and record them
BUUCTF MISC刷题
LeetCode 1611. 使整数变为 0 的最少操作次数
Feign源码分析
【编程实践/嵌入式比赛】嵌入式比赛学习记录(一):TCP服务器和web界面的建立
BUFFCTF文件中的秘密1
How does feign integrate hystrix
Move layout (Flex layout, viewport label)
MySQL--锁的奥秘--数据怎么锁
Principle of sentinel integrating Nacos to update data dynamically
How does Apache Hudi accelerate traditional batch mode?
MySQL -- the secret of lock -- how to lock data
云计算赛项--2020年赛题基础部分[任务3]
Intranet penetration series: icmpsh of Intranet tunnel
RAID0和RAID5的创建和模拟RAID5工作原理
Chapter IV intangible assets
C problem of marking the position of polygons surrounded by multiple rectangles
Ribbon启动流程