图11.6 80x86的程序不可见寄存器
为了说明LDTR的工作方式,我们先看图11.6右上部分的描述符高速缓冲存储器。高速缓冲存储器(cache)
是为了提高存储器速度而在存储器组织中增加的一个层次。其容量要比主存储器小很多,但速度要比主存储器快很多。计算机工作时,把当前经常使用的那部分存储器内容提前取出,存放在高速缓冲存储器中。CPU
工作时,可直接访问高速缓冲存储器,以便使存储器的速度更好地与 CPU 相匹配。所以,这是提高运算速度所采取的一种有效措施。在保护模式下,为提高访存速度也采用了cache。
当段寄存器中装入一个新的选择器时,系统从描述符表中取出所选描述符,并装入该段寄存器相对应的描述符高速缓冲存储器中,此后对该存储段的访问,均直接从高速缓冲存储器中取得描述符而不必再次访问存储器,即用对高速缓冲存储器的访问取代对主存储器中描述符表的访问,这样就提高了访存速度。这一过程一直延续到段寄存器的内容重新改变为止。
LDTR的工作方式和段寄存器类似。局部描述符表也和全局描述符表一样存放在主存储器里,但它的位置是作为一个段描述符存放在全局描述符表中的。因此,LDTR中只需和段寄存器一样装入一个选择器就可从全局描述符表中找到局部描述符表的描述符,也和段寄存器一样把此描述符存放到与其相对应的局部描述符高速缓冲存储器中,以便提高访问速度。采用这种管理方式的原因在于便于系统对任务的管理。
图11.6中的TR为任务寄存器,这是在多任务管理中用到的寄存器,其工作方式和LDTR类似。