CPU中的控制器详解

控制/MCU

1815人已加入

描述

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

控制器

图1

1、 指令控制器

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

为了说明这个问题,这里转载一个指令执行示意图。

控制器

图2

从上图可以看到,由CS:IP构成的寄存器总是给出当前要执行的指令地址,并在当前指令尚未执行完成的时候,给出下一条将要执行的指令地址。CS:IP就是图1中的PC指针。这是控制器的最主要作用。

2、 时序控制器

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

控制器

图3

假设现在要执行一条指令:MOV A, data1,这条指令的意思很简单,就是通过CPU找到内存中的某个数据data1,然后把它放到寄存器A里面。这条指令执行完应该分为以下几步:

第一步:找到这个数据在内存中的位置(地址号)。

第二步:保证这个数据可以被CPU读出(未被锁定)。

第三步:把这个数据读出来,并存入寄存器A中。

上面三步的时间顺序不能乱,否则指令执行肯定会出错。从图3可以看出,地址信号首先有效,然后是读信号有效,最后才是被读的数据出现在数据线上面。

这和我们实际生活中的这个例子非常类似,假设服务员要到宾馆的某个房间登记里面客人的身份信息,同样分为三步:

第一步:找到这个客人的位置(房间号)。

第二步:客人打开房门。

第三步:登记客人信息。

3、 总线控制器

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

控制器

图4

控制器

图5

计算机内部的主要工作过程是信息传送和加工的过程,为了便于对总线进行管理,组成了总线结构,使不同来源的信息分时在总线上传送。

从图4图5可以看到,总线的使用同样受到时序控制部件的控制。总线控制同样可以从图3得到很好的理解:当把数据从存储单元读出以前,地址信号必须保持有效。

控制器

从上图可以看到,一条指令何时占用总线,要由专门的时钟脉冲产生的时钟信号决定。

计算机还有一个DMA结构,当进行DMA操作时,cpu可以让出自己对总线的控制权。

也就是说,总线上什么时候有何种信号,什么时候没有,信号持续时间多长,甚至cpu的总线控制权都可以出让,这些都属于总线控制的内容。

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

控制器

上图中有多个中断源,这些中断有可能同时产生中断请求,为了对这种情况进行管理,每个中断源都被赋予了一个优先级,以保证某个时刻只有一个中断可以得到响应。中断控制器有的在cpu芯片外部,比如8259A中断控制器,也有集成在cpu芯片内部的,

例如ARM 的Cortex系列。

按照上面的叙述,计算机控制器的功能主要包括:

指令控制、时序控制、总线控制和中断控制等。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分