当前位置:网站首页>简述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
边栏推荐
- CSV Column Extract列提取
- 一些靶场的学习记录:sqli-labs、upload-labs、XSS
- C # control the camera, rotate and drag the observation script (similar to scenes observation mode)
- Guoji Beisheng openstack container cloud environment construction
- 惨了,搞坏了领导的机密文件,吐血分享备份文件的代码技巧
- 内网渗透系列:内网隧道之icmptunnel(jamesbarlow师傅的)
- Redis事务实现乐观锁原理
- Sto with billing cross company inventory dump return
- strcat()、strcpy()、strcmp()、strlen()
- 【编程实践/嵌入式比赛】嵌入式比赛学习记录(二):基于TCP的图片流传输
猜你喜欢
Redis--为什么字符串emstr的字符串长度是44字节上限?
数据安全问题已成隐患,看vivo如何让“用户数据”重新披甲
[programming practice / embedded competition] learning record of embedded competition (I): establishment of TCP server and web interface
Buuctf misc brush questions
内网渗透系列:内网隧道之icmpsh
内网渗透系列:内网隧道之dns2tcp
Principle of sentinel integrating Nacos to update data dynamically
Chapter VII asset impairment
【编程实践/嵌入式比赛】嵌入式比赛学习记录(二):基于TCP的图片流传输
内网渗透系列:内网隧道之dnscat2
随机推荐
Intranet penetration series: icmptunnel of Intranet tunnel (by master dhavalkapil)
vivo,硬件安全的爱与雷霆
一文了解系列,对web渗透的常见漏洞总结(持续更新)
strcat()、strcpy()、strcmp()、strlen()
Cloud computing skills competition -- the first part of openstack private cloud environment
《内网安全攻防:渗透测试实战指南》读书笔记(四):权限提升分析及防御
Redis--为什么字符串emstr的字符串长度是44字节上限?
Research on software security based on NLP (I)
读书笔记
Reptile learning notes, learning reptile, read this article is enough
Research on system and software security (5)
yum源仓库本地搭建的两种方法
C 输出一种二维数组,特点如下。
随笔(不定时更新)
Go语学习笔记 - 异常处理 | 从零开始Go语言
[programming practice / embedded competition] learning record of embedded competition (II): picture streaming based on TCP
【编程实践/嵌入式比赛】嵌入式比赛学习记录(二):基于TCP的图片流传输
Intranet penetration series: dns2tcp of Intranet tunnel
upload-labs 靶场练习
Analysis of Nacos source code