从构造方面来看,处理器大致可分为八个单元:
第一:指令高速缓存,俗称指令寄存器。它是芯片上的指令仓库,有了它微处理器就不必停下来等待计算机内存中的指令,从而大幅提高了处理器的运算速度。
第二,译码单元,俗称指令译码器。它负责将复杂的机器语言指令解译成运算逻辑单元(ALU)和寄存器能够理解的简单格式(机器语言还要进一步译码!),就像一位外交官。
第三:控制单元。既然指令可以存入处理器,而且有相应指令来完成运算前的准备工作,背后自然有一个扮演推动作用的角色——它便是负责整个处理过程的操作控制器。根据来自译码单元的指令,它会生成控制信号,告诉运算逻辑单元(ALU)和寄存器如何运算、对什么进行运算以及对结果进行怎样的处理。
第四:寄存器。它对于处理器来说非常的重要,除了存放程序的部分指令,它还负责存储指针跳转信息以及循环操作命令,是运算逻辑单元(ALU)为完成控制单元请求的任务所使用的数据的小型存储区域,其数据来源可以是高速缓存、内存、控制单元中的任何一个。
第五:逻辑运算单元(ALU)。它是处理器芯片的智能部件,能够执行加、减、乘、除等各种命令。此外,它还知道如何读取逻辑命令,如或、与、非。来自控制单元的讯息将告诉运算逻辑单元应该做些什么,然后运算单元会从寄存器中间断或连续提取数据,完成最终的任务。
第六:预取单元。处理器效能发挥对其依赖非常明显,预取命中率的高低直接关系到处理器核心利用率的高低,进而带来指令执行速度上的不同。根据命令或要执行任务所提出的要求,何时时候,预取单元都有可能从指令高速缓存或计算机内存中获取数据和指令。当指令到达时,预取单元最重要的任务就是确保所有指令均排列正确,然后发送给译码单元。
第七:总线单元,它就像一条高速公路,快速完成各个单元间的数据交换,也是数据从内存流进和流出处理器的地方。
第八:数据高速缓存。存储来自译码单元专门标记的数据,以备逻辑运算单元使用,同时还准备了分配到计算机不同部分的最终结果。
通过以上介绍可以看出处理器虽小,内部却像一个发达的装配工厂,环环相扣,层层相套。正因为有了相互间的协作配合,才使得指令最终得以执行,才构成了图文并茂、影像结合的神奇数字世界,也为人类开启了一道极具想象空间的大门。在这里人类将把梦想变成现实,在这里人类将把智慧的触角延伸到更多的角落。
**************************************
处理器工作原理解析
处理器如何工作,如何完成数据的处理以及指令的调取,在这个微观的世界里遵循着怎样的生产流程呢?接下来笔者就带领大家到这个大工厂里面去参观参观,本着简洁易懂的原则,叙述上尽量力求精辟,希望能使大家不虚此行。
首先让我们来看一下处理器的工作原理
一个工厂对产品的加工过程:
进入工厂的原料(程序指令),结过物资分配部门(控制单元)的调度分配,被送往生产线(逻辑运算单元),生产出的成品(处理后的数据)后,再存储在仓库(存储单元)中,最后等着拿到市场上去卖(交由应用程序使用)。
处理器的工作原理:
从控制单元开始,处理器就开始了正式工作,中间的过程是通过逻辑运算单元来进行运算处理,交到存储单元代表工作结束。
首先,指令指针会通知 处理器,将要执行的指令放置在内存中的存储位置。因为内存中的每个存储单元都有编号(称为地址),可以根据这些地址把数据取出,通过地址总线送到控制单元中,指令译码器从指令寄存器IR中拿来指令,翻译成 处理器可以执行的形式,然后决定完成该指令需要哪些必要的操作,它将告诉算术逻辑单元(ALU)什么时候计算,告诉指令读取器什么时候取数值,告诉指令译码器什么时候翻译指令等等。
根据对指令类型的分析和特殊工作状态的需要,处理器设置了六种工作周期,分别用六个触发器来表示它们的状态,任一时刻只许一个触发器为1,表示处理器所处周期状态,即指令执行过程中的某个阶段。
1.取指周期(FC)
处理器在FC中完成取指所需要操作。每条指令都必须经历取指周期FC,在FC中完成的操作与指令操作码无关的公共操作。但FC结束后转向哪个周期则与本周期中取出的指令类型有关。
2.源周期(SC)
处理器在SC中完成取源操作数所需的操作。如指令需要源操作数,则进入SC。在SC中根据指令寄存器IR的源地址信息,形成源地址,读取源操作数。
3.目的周期(DC)
如果处理器需要获得目的操作数或形成目的地址,则进DC。在DC中根据IR中的目的地址信息进行相应操作。
4.执行周期(EC)
处理器在取得操作数后,则进入EC,这也是第条指令都经历的最后一个工作阶段。在EC中将依据IR中的操作码执行相应操作,如传递、算术运算、逻辑运算、形成转移地址等。
5.中断响应周期(IC)
处理器除了考虑指令正常执行,还应考虑对外部中断请的处理。处理器在向应中断请求后,进入中断响应周期IC。在IC中将直接依靠硬件进行保存断点、关中断、转中断服务程序入口等操作,IC结束转入取指周期,开始执行中断服务程序。
6.DMA传送周期(DMAC)
处理器响应DMA(直接存储器存取)请求后,进入DMAC中,处理器交出系统总线的控制权,由DMA(直接存储器存取)控制器控制系统总线,实现主存与外围设备之间的数据直接传送。因此对 处理器来说,DMAC是一个空操作周期。
处理器控制流程,描述了工作周期状态变化情况:

为了简化控制逻辑,限制在一条指令结束是判断有无DMA(直接存储器存取)请求,若有请求,将插入DMAC;如果在一个DMAC结束前又提出新的DMA请求,则连续安排若干DMA传送周期。
如果没有DMA(直接存储器存取)请求,则继续判断有无中断请求,若有则进入IC。在IC中完成需的操作后向新的FC,这表明进入中断服务程序。
结语:
通过以上“生产”环节,处理器完成了令人难以置信的工作,为人类缔造了一个美妙的数字世界。或许你认为这些与你的实际应用无关,但相信对于那些处在编程学习或程序编制中的人来说,无疑是一盏明灯。处理器中任何一个微小的技术都将折射出人类更加光明的未来。
转自:lining's kernel blog