运算器专注于执行运算任务,而控制器则负责协调整个CPU的运作。
图示一
1. 指令控制器
指令控制器是控制器的核心部分,其职能涉及抓取指令、解析指令,然后将任务交由执行单元(如ALU或FPU)处理,并确保下一条指令地址的正确形成。
图示二
如上图所示,由CS:IP构成的寄存器不断提供当前待执行指令的地址,并在指令未完成时已准备好下一条指令的地址。这里的CS:IP便是图一中的PC指针,这是控制器的核心职责。
2. 时序控制器详解
时序控制器为每条指令的执行提确的时间顺序控制信号。其中,时钟发生器通过石英晶体振荡器发出稳定的主频脉冲信号;而倍频定义单元则定义了CPU主频与存储器或总线频率之间的倍数关系。
图示三
以执行一条简单的MOV A, data1指令为例,该指令的目的是从内存中获取数据data1并将其存入寄存器A中。这个过程可细分为以下步骤:
第一步:确定数据在内存中的位置(即地址)。
第二步:确保数据可被CPU读取(即数据未被锁定)。
第三步:读取数据并将其存入寄存器A。
这些步骤的顺序至关重要,任何错乱都可能导致指令执行出错。从图示三可以看出,地址信号先有效,接着是读信号有效,最后是数据出现在数据线上。
此过程与实际生活中的场景相似,如服务员到宾馆房间登记客人信息,同样遵循一定的步骤顺序。
3. 总线控制器概述
总线控制器主要负责管理CPU的内外总线,包括地址总线、数据总线以及控制总线等。
图示四 & 图示五
从图示四和图示五中可以看出,总线的使用同样受到时序控制部件的严格管理。理解总线控制可以参考图示三中的时序逻辑:在数据从存储单元读出之前,地址信号必须保持有效。
计算机中的DMA(直接内存访问)结构允许在DMA操作时,CPU可以放弃对总线的控制权。也就是说,总线何时使用、使用何种信号、信号持续时间多长,甚至CPU的总线控制权都可以根据需要进行调整,这些都是总线控制的内容。
4. 中断控制器的作用
中断控制器用于管理各种中断请求,根据优先级对中断请求进行排序,并逐个交给CPU处理。
在计算机系统中,可能有多个中断源同时产生中断请求。为了有效管理这种情况,每个中断源都被赋予了优先级,以确保在任何时刻只有一个中断能够得到响应。
中断控制器可以位于CPU芯片的外部,如8259A中断控制器,也可以集成在CPU芯片内部,如ARM的Cortex系列。