寄存器和存储器的区别

寄存器和存储器的区别

寄存器和存储器的区别


寄存器存在于CPU中,速度很快,数目有限;存储器是内存,速度稍慢,但数量很大 。寄存器的功能是存储二进制代码,是由具有存储功能的触发器组合起来构成的 。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成 。
电脑的控制器,寄存器,运算器分别有什么作用?一、CPU的内核
从结构上讲CPU内核分为两部分:运算器和控制器 。
?
(一) 运算器
【寄存器和存储器的区别】?
1、 算术逻辑运算单元ALU(Arithmetic and Logic Unit)
?
ALU主要完成对二进制数据的定点算术运算(加减乘除)、逻辑运算(与或非异或)以及移位操作 。在某些CPU中还有专门用于处理移位操作的移位器 。
?
通常ALU由两个输入端和一个输出端 。整数单元有时也称为IEU(Integer Execution Unit) 。我们通常所说的“CPU是XX位的”就是指ALU所能处理的数据的位数 。
?
2、 浮点运算单元FPU(Floating Point Unit)
?
FPU主要负责浮点运算和高精度整数运算 。有些FPU还具有向量运算的功能,另外一些则有专门的向量处理单元 。
?
3、 通用寄存器组
?
通用寄存器组是一组最快的存储器,用来保存参加运算的操作数和中间结果 。
?
对于x86指令集只支持8个通用寄存器的缺点,Intel最新CPU采用了一种叫做“寄存器重命名”的技术,这种技术使x86CPU的寄存器可以突破8个的限制,达到32个甚至更多 。
?
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能够运行什么样的程序 。我们常说的CPU都是X86系列及兼容CPU ,所谓X86指令集是美国Intel公司为其第一块16位CPU(i8086)专门开发的,虽然随着CPU技术的不断发展,Intel陆续研制出更新型的i80386、i80486直到今天的Pentium4系列,但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源(如Windows系列),Intel公司所生产的所有CPU仍然继续使用X86指令集 。另外除Intel 公司之外,AMD和Cyrix等厂家也相继生产出能使用X86指令集的CPU,由于这些CPU能运行所有的为Intel CPU所开发的各种软件,所以电脑业内人士就将这些CPU列为Intel的CPU兼容产品 。

推荐阅读