2)高速缓存部件
在32位微处理器和微型机中,为了加快运算速度,普遍在CPU与常规主存储器之间增设了一级或两级高速小容量存储器,称为高速缓冲存储器(Cache)。高速缓冲存储器的存取速度比主存要快一个数量级,大体与CPU的处理速度相当。有了它以后,CPU在对一条指令或一个操作数寻址时,首先要看其是否在高速缓存器中。若在,就立即存取;否则,就要作一常规的存储器访问,同时根据“程序局部性或存取局部性”原理,将所访问相邻指令及相邻数据块复制到高速缓存器中。当指令或操作数在高速缓存器中时,称为“命中”,否则称为“未命中”。
由于程序中相关数据块一般都按顺序存放,并且大都存在相邻的存储单元中,因此,CPU对存储器的访问大都是在相邻的单元中进行。一般说来,CPU对高速缓存器存取的命中率可在90%以上,甚至高达99%。这个片内Cache既可存放数据,又可存放指令,加快了微处理器访问主存的速度,并减轻了系统总线的负载。
3)指令预取部件
指令预取部件负责从高速缓存中取出指令并放入指令队列,使微处理器的其他部件无需等待即可从队列中取出指令进行处理。当系统总线空闲时,指令预取部件就从高速缓存中取出下几条将要执行的指令,并依次存放在指令预取部件的队列缓冲区内,直到装满为止。该缓冲区容量为32B。当预取队列的一条指令被指令译码器取走后,队列指针便改变到下一条指令的位置。一旦队列有空字节单元产生,指令预取部件将在取得总线部件的控制权后,再次从高速缓存中取出指令去装满队列。
4)指令译码部件
指令译码部件负责从指令预取队列中取出指令进行译码,并转换成指令的微码入口地址和指令寻址信息,存放在译码器的队列中,直到控制器部件把它们取走为止。译码器队列可同时存放三条指令的译码信息。当指令的译码信息从译码器队列取出后,微码地址送控制器,而寻址信息送存储器管理部件。
……