CPU简介


CPU简介

一、CPU的内核
从结构上讲CPU内核分为两部分:运算器和控制器。

(一) 运算器

1、 算术逻辑运算单元ALU(Arithmetic and Logic Unit)

ALU主要完成对二进制数据的定点算术运算(加减乘除)、逻辑运算(与或非异或)以及移位操作。



2、 浮点运算单元FPU(Floating Point Unit)

FPU主要负责浮点运算和高精度整数运算。

3、 通用寄存器组

通用寄存器组是一组最快的存储器,用来保存参加运算的操作数和中间结果。



4、 专用寄存器

专用寄存器通常是一些状态寄存器,不能通过程序改变,由CPU自己控制,表明某种状态。
(二) 控制器

运算器只能完成运算,而控制器用于控制着整个CPU的工作。

1、 指令控制器

指令控制器是控制器中相当重要的部分,它要完成取指令、分析指令等操作,然后交给执行单元(ALU或FPU)来执行,同时还要形成下一条指令的地址。

2、 时序控制器
控制器的作用是为每条指令按时间顺序提供控制信号。时序控制器包括时钟发生器和倍频定义单元,其中时钟发生器由石英晶体振荡器发出非常稳定的脉冲信号,就是CPU的主频;而倍频定义单元则定义了CPU主频是存储器频率(总线频率)的几倍。


3、 总线控制器

总线控制器主要用于控制CPU的内外部总线,包括地址总线、数据总线、控制总线等等。

4、中断控制器

中断控制器用于控制各种各样的中断请求,并根据优先级的高低对中断请求进行排队,逐个交给CPU处理。
二、CPU的外核

1、解码器(Decode Unit)

这是x86CPU特有的设备,它的作用是把长度不定的x86指令转换为长度固定的指令,并交由内核处理。解码分为硬件解码和微解码,对于简单的x86指令只要硬件解码即可,速度较快,而遇到复杂的x86指令则需要进行微解码,并把它分成若干条简单指令,速度较慢且很复杂。好在这些复杂指令很少会用到。

2、一级缓存和二级缓存(Cache)

一级缓存和二级缓存是为了缓解较快的CPU与较慢的存储器之间的矛盾而产生的,以及缓存通常集成在CPU内核,而二级缓存则是以OnDie或OnBoard的方式以较快于存储器的速度运行。对于一些大数据交换量的工作,CPU的Cache显得尤为重要。

三、指令系统

要讲CPU,还要了解一下指令系统。指令系统指的是一个CPU所能够处理的全部指令的集合,是一个CPU的根本属性,因为指令系统决定了一个CPU能够运行什么样的程序.