控制寄存器和系统地址寄存器
寄存器的基础知识

寄存器的基础知识什么是寄存器?寄存器(Register)是计算机中一种用来存储和操作数据的硬件元件。
它由一组存储单元组成,每个存储单元可以存储一个固定大小的数据。
寄存器在计算机中扮演着重要的角色,可以存储算术运算的操作数、控制信号、地址信息等。
寄存器的分类根据功能和使用方式,寄存器可以分为以下几种类型:通用寄存器通用寄存器(General Purpose Register)是最常见的寄存器类型,其用途十分广泛。
它们用来存储临时数据、变量、函数参数等。
通用寄存器通常具有较小的存储容量,例如x86架构中的EAX、EBX、ECX和EDX寄存器,每个寄存器都有32位大小。
累加寄存器累加寄存器(Accumulator Register)主要用于执行算术和逻辑运算。
它是一种特殊的通用寄存器,在运算过程中存储中间结果和最终结果。
累加寄存器在某些指令集架构中有特殊优化,因此在一些特定的计算任务中性能更好。
状态寄存器状态寄存器(Flag Register)用于存储处理器的运行状态和标志位。
例如,它可以存储条件运算的结果,比如是否相等、是否溢出等。
状态寄存器通常由多个二进制位组成,每个位上的值表示某一种状态。
通过读取和设置状态寄存器的位,程序可以获得有关处理器的各种信息。
指令指针寄存器指令指针寄存器(Instruction Pointer Register)存储下一条将要执行的指令的内存地址。
在程序执行过程中,处理器会不断读取指令指针寄存器中的值,并自动递增以指向下一条指令。
指令指针寄存器的值可以由程序员修改,以实现跳转、函数调用等操作。
寄存器的操作寄存器在计算机中起到存储和操作数据的作用,它可以执行多种操作,包括读取、写入、清零等。
寄存器与其他存储器件(如内存)相比,读取和写入速度更快,但容量较小。
寄存器的操作可以通过特定的指令来完成,这些指令通常是处理器指令集中的一部分。
下面是一些常见的寄存器操作:1.读取寄存器:通过读取指令将寄存器的值加载到处理器的内部寄存器中,以供后续指令使用。
Intel80386CPU

Intel80386CPUIntel 80386 CPU簡單了解運⾏模式⼀般CPU只有⼀种运⾏模式,能够⽀持多个程序在各⾃独⽴的内存空间中并发执⾏,且有⽤户特权级和内核特权级的区分,让⼀般应⽤不能破坏操作系统内核和执⾏特权指令。
80386处理器有四种运⾏模式:实模式、保护模式、SMM模式和虚拟8086模式。
这⾥对涉及ucore的实模式、保护模式做⼀个简要介绍。
实模式:这是个⼈计算机早期的8086处理器采⽤的⼀种简单运⾏模式,当时微软的MS-DOS操作系统主要就是运⾏在8086的实模式下。
80386加电启动后处于实模式运⾏状态,在这种状态下软件可访问的物理内存空间不能超过1MB,且⽆法发挥Intel 80386以上级别的32位CPU的4GB内存管理能⼒。
实模式将整个物理内存看成分段的区域,程序代码和数据位于不同区域,操作系统和⽤户程序并没有区别对待,⽽且每⼀个指针都是指向实际的物理地址。
这样⽤户程序的⼀个指针如果指向了操作系统区域或其他⽤户程序区域,并修改了内容,那么其后果就很可能是灾难性的。
保护模式:保护模式的⼀个主要⽬标是确保应⽤程序⽆法对操作系统进⾏破坏。
实际上,80386就是通过在实模式下初始化控制寄存器(如GDTR,LDTR,IDTR与TR等管理寄存器)以及页表,然后再通过设置CR0寄存器使其中的保护模式使能位置位,从⽽进⼊到80386的保护模式。
当80386⼯作在保护模式下的时候,其所有的32根地址线都可供寻址,物理寻址空间⾼达4GB。
在保护模式下,⽀持内存分页机制,提供了对虚拟内存的良好⽀持。
保护模式下80386⽀持多任务,还⽀持优先级机制,不同的程序可以运⾏在不同的特权级上。
特权级⼀共分0~3四个级别,操作系统运⾏在最⾼的特权级0上,应⽤程序则运⾏在⽐较低的级别上;配合良好的检查机制后,既可以在任务间实现数据的安全共享也可以很好地隔离各个任务。
內存架構地址是访问内存空间的索引。
⼀般⽽⾔,内存地址有两个:⼀个是CPU通过总线访问物理内存⽤到的物理地址,⼀个是我们编写的应⽤程序所⽤到的逻辑地址(也有⼈称为虚拟地址)。
《计算机硬件技术基础(第三版)》第3章 32位微处理器

(1)总线接口部件 总线接口部件与片内Cache外部总线接口实行的是逻辑接口连接。当访问 Cache出现没命中、或需更改系统存储器内容、或需向Cache写入某些信 息时,就要通过总线接口从外部存储器系统中取出一批数据。 (2)预取缓冲部件 预取缓冲部件 取指令是指从高速缓冲存储器Cache内或从内存储器中取出指令代码, 以备译码之用的操作。 (3)指令译码部件 指令译码部件 译码操作, 一是检查一条指令的格式, 二是确定它是哪种类型操作的指令,并给出这条指令所需的操作数。 (4)控制部件 控制部件 Pentium微处理器控制部件的作用是,负责解释来自指令译码部件的 指令字和控制ROM的微代码。控制部件的输出控制着整数流水线部件和 浮点部件。 (5)执行部件 执行部件 是微处理器用于执行指令所规定的具体操作的CPU的核心硬件部分。 这些非常具体的操作是指诸如数值运算、逻辑操作以及分支转移处理等。
为了支持在Pentium内采用的分支转移预测新技术,芯片内装备有两个 预取缓冲存储器,一个是以线性方式来预取代码,另一个则是根据分支转 移目标缓冲器(BTB)预取代码。这样就可以保证在执行之前将所需用的 指令从存储器预取出来。 由于Pentium采用了这项技术,可以在无延迟的情况下正确地预测各 种转移。另外,V流水线中的条件转移指令可以与一条比较类指令成对执 行,当然也可以与U流水线中的置标志指令配合执行。但Pentium作到了 与现有软件是完全兼容,所以不必修改现有软件。
计算机硬件技术基础
3.1 .
CISC和RISC 和
1 复杂指令系统计算机 复杂指令系统计算机—CISC 每一种微处理器的CPU都有属于它自己的指令系统。 CPU正是通过执行一系列的特定的指令来实现应用程序 的某种功能。像Intel x86系列,为了增加新的功能, 就必须增加新的指令;另一方面,为了保持向上兼容, 又必须保留原有的指令。每条指令又有若干个不同的操 作字段,用来说明要操作的数据类型,以及存放的位置。 这就意味着一个较大的指令系统和复杂的寻址技术。以 这样的微处理器为平台的计算机系统就是“复杂指令系 统计算机”(CISC)。 CISC也有许多优点,如指令经编译后生成的指令程 序较小执行起来较快,节省硬件资源。像存取指令的次 数少,占用较少的存储器等。
CPU

DR5
留用
测试寄存器
DR6 断点状态
DR7 断点状态
调试寄存器
80486提供8个32位的可编程寄存器DR0—DR7支持调试 功能,定义5个32位测试寄存器TR3—TR7增强系统的可测性。
15
4 浮点寄存器:
80486的FPU中包含13个浮点寄存器,其中 •R0—R7共8个80位寄存器, •16位的标志寄存器用来记录每个数据寄存器 的内容, •16位控制寄存器完成浮点运算中的精度控制 、舍入控制等, •16位状态寄存器反映运算中FPU的状态, •二个48位的指令和数据指针寄存器提供对程 序异常处理的支持。
第2章 32位微处理结构
第1节 80x86 CPU的结构 第2节 80x86 CPU的寄存器组 第3节 微处理器的工作模式 第4节微处理器芯片的引脚信号 第5节 微处理器的总线周期
1
计算机的基本工作原理
定时电路
地址总线
输出设备
CPU
MEM
I/O
输入设备
接口
DMA
数据总线
控制总线
2
8086/88 CPU 的详细框图
CR3:保存当前任务的总目录在内存的基地址
13
GDTR
32位基地址
16位界限
IDTR
16位选择符 32位基地址 LDTR
16位界限 16位其它属性
TR
GDTR:全局描述符表寄存器,保存全局描述符表GDT的起始地址 和大小
IDTR:中断描述符表寄存器,保存中断描述符表基地址和16位界限
LDTR:局部描述符表寄存器,保存局部描述符表LDT的起始地址 和大小
FLAGS EFLAGS
CF:进位标志 PF :奇偶标志 AF: 辅助进位标志 ZF
微机原理与接口技术复习资料(概念背诵)

1、微处理器(CPU)由运算器、控制器、寄存器组三部分组成。
2、运算器由算术逻辑单元ALU、通用或专用寄存器组及内部总线三部分组成。
3、控制器的功能有指令控制、时序控制、操作控制,控制器内部由程序计数器PC、指令寄存器IR、指令译码器ID、时序控制部件以及微操作控制部件(核心)组成。
4、8088与存储器和I/O接口进行数据传输的外部数据总线宽度为8位,而8086的数据总线空度为16位。
除此之外,两者几乎没有任何差别。
5、在程序执行过程中,CPU总是有规律的执行以下步骤:a从存储器中取出下一条指令b指令译码c如果指令需要,从存储器中读取操作数d执行指令e如果需要,将结果写入存储器。
6、8088/8086将上述步骤分配给了两个独立的部件:执行单元EU、总线接口单元BIU。
EU作用:负责分析指令(指令译码)和执行指令、暂存中间运算结果并保留结果的特征,它由算数逻辑单元(运算器)ALU、通用寄存器、标志寄存器、EU控制电路组成。
BIU作用:负责取指令、取操作、写结果,它由段寄存器、指令指针寄存器、指令队列、地址加法器、总线控制逻辑组成。
7、8088/8086CPU的内部结构都是16位的,即内部寄存器只能存放16位二进制码,内部总线也只能传送16位二进制码。
8、为了尽可能地提高系统管理(寻址)内存的能力,8088/8086采用了分段管理的方法,将内存地址空间分为了多个逻辑段,每个逻辑段最大为64K个单元,段内每个单元的地址长度为16位。
9、8088/8086系统中,内存每个单元的地址都有两部分组成,即段地址和段内偏移地址。
10、8088/8086CPU都是具有40条引出线的集成电路芯片,采用双列直插式封装,当MN/MX=1时,8088/8086工作在最小模式,当MN/MX=0时,8088/8086工作在最大模式。
11、8088/8086 CPU内部共有14个16位寄存器。
按其功能可分为三大类,即通用寄存器(8个)、段寄存器(4个)、控制寄存器(2个)。
寄存器PLC地址与寄存器modbus协议地址

寄存器PLC地址与寄存器modbus协议地址寄存器PLC地址指存放于控制器中的地址,这些控制器可以是PLC,也可以使触摸屏,或是⽂本显⽰器。
PLC地址⼀般采⽤10进制描述,共有5位,其中第⼀位代码寄存器类型。
第⼀位数字和寄存器类型的对应关系如表1所⽰。
PLC地址例如40001、30002等。
寄存器modbus协议地址指通信时使⽤的寄存器地址,在实际编程中,由于寄存器PLC地址前缀的区分作⽤,所以只需说明后4位数,⽽且需转换为4位⼗六进制地址。
例如PLC地址40001对应寻址地址0x0000,40002对应寻址地址0x0001,寄存器寻址地址⼀般使⽤16进制描述。
再如,PLC寄存器地址40003对应协议地址0002,PLC寄存器地址30003对应协议地址0002。
在实际编程中,由于前缀的区分作⽤,所以只需说明后4位数,⽽且需转换为4位⼗六进制地址。
⽀持 Modbus 协议的设备或软件,使⽤时⽤户直接设置或看到的应 当是 Modbus 数据地址。
Modbus 地址所访问的数据,是通过各种 “功能”读写⽽来。
功能码是 Modbus 地址的底层。
如果 Modbus 通 信的⼀⽅提供的所谓 Modbus 协议只有功能码,则需要注意了解此 功能号与 Modbus 地址间的对应关系。
使⽤ modbus 地址时应注意下述问题:1)40001~4xxxx 是美国 modicon 公司和 ge 公司 plc 使⽤的 modbus 地址,它是基于1的地址,即同类元件的⾸地址为1。
西门⼦plc 的 modbus 地址是基于0的地址。
2)美国的 modbus 地址左起第2位⽤来表⽰元件的类型,例如 i0.0的 modbus 地址为010001。
因为数据类型已经包含在功能码中了,西门⼦的 i0.0的 modbus 地址实际上为000000, i2.0的 modbus 地址为 000016(或⼗六进制数16#0010) ,⽽不是010017。
清华大学微机原理32位微处理器

7
1.2 80386的寄存器
80386微处理器中有通用寄存器、段寄存器、指令指针和标 志寄存器、系统地址寄存器、控制寄存器、调试寄存器以及测试 寄存器等,如下图所示。
8
ቤተ መጻሕፍቲ ባይዱ
1.2 80386的寄存器
1. 通用寄存器 80386中设置8个32位通用寄存器,如下图所示。它们的用法
与8086相同,也可当作8位、16位寄存器用。若作32位寄存器使 用,前面必须加字符E。
9
1.2 80386的寄存器
2. 段寄存器 80386中设置6个16位段寄存器和6个64位描述符寄存器。其
17
2.3 总线传送机制
32位微处理器的所有数据传送都是由一个或多个总线周期来 完成。1字节、2字节或4字节的逻辑数据操作数可以在物理地址不 对界的情况下传送。在对界时的操作数只需要1个总线周期,而对 于不对界时的操作数就需要2个或3个总线周期。
80X86地址信号的设计可以简化外部系统的硬件。高位地址 由A2~A31提供。低位地址则以BE0~BE3形式提供了32位数据总 线4个字节的选择信号。
12
1.2 80386的寄存器
CR1保留给将来开发的Intel微处理器使用;CR2包含一个32 位的线性地址,指向发生最后一次页故障的地址;CR3包含页目 录表的物理基地址,因为80386中的页目录表总是在页的整数边 界上,每4KB为一页,所以CR3的低端12位保持为“0”。 5. 系统地址寄存器
80386中设置4个专用的系统地址寄存器,它们是GDTR、 IDTR、LDTR和TR。GDTR和IDTR长48位,LDTR和TR长16位。 GDTR用来存放全局描述符表的基地址(32位)和限值(16位); IDTR用来存放中断描述符表的基地址(32位)和限值(16位);LDTR 用来存放局部描述符表的段选择字;TR用来存放任务状态段表的 段选择字。
微机原理课后习题参考答案

微机原理课后习题参考答案(总25页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--上册第一章P9微处理器、微型计算机、微型计算机系统的区别是什么答:(1)微型计算机中的运算器和控制器合起来称为中央处理器,也就是微处理器,又称微处理机。
(2)微型计算机是由cpu、主存储器、输入/输出接口电路和系统总线构成。
(3)微型计算机系统由微型计算机、输入/输出设备、外存储器、系统软件、电源、面板和机架等组成。
微型计算机由哪些基本部分构成微型计算机是由cpu、主存储器、输入/输出接口电路和系统总线构成。
说明CISC、RISC及其主要区别。
CISC是指复杂指令系统计算机,RISC是指精简指令系统计算机。
他们的区别在于不同的CPU设计理念和方法。
RISC指令系统仅包含哪些必要的经常使用的指令,不经常使用的功能,往往通过基本指令组合来完成。
完成特殊功能时效率比较低。
CISC的指令系统比较丰富,一些特殊功能都有相应的指令。
处理特殊任务效率较高。
RISC对存储器操作相对简单,使对存储器访问的控制简化;而CISC机器的存储器操作指令较多,对存储器的访问有更多的指令直接操作,要求的控制逻辑比较复杂。
RISC在一条指令执行的适当地方可以响应中断;而CISC机器是在一条指令执行结束后响应中断。
RISC CPU的电路构成比CISC CPU简单,因此面积小、功耗也更低;CISC电路CPU电路复杂,同水平比RISC CPU面积大、功耗大。
RISC CPU结构比较简单,布局紧凑规整,设计周期较短,比较容易采用一些并行计算的最新技术;CISC CPU结构复杂,设计周期长,技术更新难度大。
从使用角度看,RISC 微处理器结构简单,指令规整,性能容易把握,易学易用;CISC微处理器结构复杂,功能强大,实现特殊功能容易。
第二章8086CPU 由哪两大部分组成简述它们的主要功能。
总线接口部件BIU跟执行部件EU。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二.控制寄存器和系统地址寄存器
80386控制寄存器和系统地址寄存器如下表所示。
它们用于控制工作方式,控制分段管理机制及分页管理机制的实施。
控制寄存器CRx BIT31 BIT30—BIT12 BIT11—BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 CR0 PG 0000000000000000 ET TS EM MP PE CR1 保留
CR2 页故障线性地址
CR3 页目录表物理页码000000000000
BIT47—BIT16 BIT15—BIT0
全局描述符表寄存器GDTR 基地址界限中断描述符表寄存器IDTR 基地址界限
BIT15—BIT0 局部描述符表寄存器LDTR 选择子
任务状态段寄存器TR 选择子BIT31—BIT0 BIT31—BIT0 BIT11—BIT0 基地址界限属性
基地址界限属性
<一>控制寄存器
从上表可见,80386有四个32位的控制寄存器,分别命名位CR0、CR1、CR2和CR3。
但CR1被保留,供今后开发的处理器使用,在80386中不能使用CR1,否则会引起无效指令操作异常。
CR0包括指示处理器工作方式的控制位,包含启用和禁止分页管理机制的控制位,包含控制浮点协处理器操作的控制位。
CR2及CR3由分页管理机制使用。
CR0中的位5—位30及CR3中的位0至位11是保留位,这些位不能是随意值,必须为0。
控制寄存器CR0的低16位等同于80286的机器状态字MSW。
1.保护控制位
控制寄存器CR0中的位0用PE标记,位31用PG标记,这两个位控制分段和分页管理机制的操作,所以把它们称为保护控制位。
PE控制分段管理机制。
PE=0,处理器运行于实模式;PE=1,处理器运行于保护方式。
PG控制分页管理机制。
PG=0,禁用分页管理机制,此时分段管理机制产生的线性地址直接作为物理地址使用;PG=1,启用分页管理机制,此时线性地址经分页管理机制转换位物理地址。
关于分页管理机制的具体介绍在后面的文章中进行。
下表列出了通过使用PE和PG位选择的处理器工作方式。
由于只有在保护方式下才可启用分页机制,所以尽管两个位分别为0和1共可以有四种组合,但只有三种组合方式有效。
PE=0且PG=1是无效组合,因此,用PG为1且PE为0的值装入CR0寄存器将引起通用保护异常。
需要注意的是,PG位的改变将使系统启用或禁用分页机制,因而只有当所执行的程序的代码和至少有一部分数据在线性地址空间和物理地址空间具有相同的地址的情况下,才能改变PG位。
PG和PE 位与处
理器工
作模式PG PE 处理器工作方式
0 0 实模式
0 1 保护模式,禁用分页机制
1 0 非法组合
1 1 保护方式,启用分页机制
2.协处理器控制位
控制寄存器CR0中的位1—位4分别标记为MP(算术存在位)、EM(模拟位)、TS(任务切换位) 和ET(扩展类型位),它们控制浮点协处理器的操作。
当处理器复位时,ET位被初始化,以指示系统中数字协处理器的类型。
如果系统中存在80387协处理器,那么ET位置1;如果系统中存在80287协处理器或者不存在协处理器,那么ET位清0。
EM位控制浮点指令的执行是用软件模拟,还是由硬件执行。
EM=0时,硬件控制浮点指令传送到协处理器;EM=1时,浮点指令由软件模拟。
TS位用于加快任务的切换,通过在必要时才进行协处理器切换的方法实现这一目的。
每当进行任务切换时,处理器把TS置1。
TS=1时,浮点指令将产生设备不可用(DNA)异常。
MP 位控制W AIT指令在TS=1时,是否产生DNA异常。
MP=1和TS=1时,W AIT产生异常;MP=0时,W AIT指令忽略TS条件,不产生异常。
3.CR2和CR3
控制寄存器CR2和CR3由分页管理机制使用。
CR2用于发生页异常时报告出错信息。
当发生页异常时,处理器把引起页异常的线性地址保存在CR2中。
操作系统中的页异常处理程序可以检查CR2的内容,从而查出线性地址空间中的哪一页引起本次异常。
CR3用于保存页目录表的其始物理地址。
由于目录是页对齐的,所以仅高20位有效,低12 位保留未用。
向CR3中装入一个新值时,低12位必须为0;但从CR3中取值时,低12位被忽略。
每当用MOV指令重置CR3的值时,会导致分页机制高速缓冲区的内容无效,用此方法,可以在启用分页机制之前,即把PG位置1之前,预先刷新分页机制的高速缓存。
CR3寄存器即使在CR0寄存器的PG位或PE位为0时也可装入,如在实模式下也可设置CR3,以便进行分页机制的初始化。
在任务切换时,CR3要被改变,但是如果新任务中CR3的值与原任务中CR3的值相同,那么处理器不刷新分页高速缓存,以便当任务共享也表时有较快的执行速度。
<二>系统地址寄存器
全局描述符表GDT、局部描述符表LDT和中断描述符表IDT等都是保护方式下非常重要的特殊段,它们包含有为段机制所用的重要表格。
为了方便快速地定位这些段,处理器采用一些特殊的寄存器保存这些段的基地址和段界限。
我们把这些特殊的寄存器称为系统地址寄存器。
1.全局描述符表寄存器GDTR
如本文开始处的表格所示,GDTR长48位,其中高32位为基地址,低16位为界限。
由于GDT 不能有GDT本身之内的描述符进行描述定义,所以处理器采用GDTR为GDT这一特殊的系统段提供一个伪描述符。
GDTR给定了GDT,如下图所示。
GDTR中的段界限以字节为单位。
由于段选择子中只有13位作为描述符索引,而每个描述符长8个字节,所以用16位的界限足够。
通常,对于含有N个描述符的描述符表的段界限设为8*N-1。
利用结构类型可定义伪描述符如下:
PDESC STRUC
LIMIT DW 0
BASE DD 0
PDESC ENDS
2.局部描述符表寄存器LDTR
局部描述符表寄存器LDTR规定当前任务使用的局部描述符表LDT。
如本文开始处的表格所示,LDTR类似于段寄存器,由程序员可见的16位的寄存器和程序员不可见的高速缓冲寄存器组成。
实际上,每个任务的局部描述符表LDT作为系统的一个特殊段,由一个描述符描述。
而用于描述符LDT的描述符存放在GDT中。
在初始化或任务切换过程中,把描述符对应任务LDT的描述符的选择子装入LDTR,处理器根据装入LDTR可见部分的选择子,从GDT中取出对应的描述符,并把LDT的基地址、界限和属性等信息保存到LDTR的不可见的高速缓冲寄存器中。
随后对LDT的访问,就可根据保存在高速缓冲寄存器中的有关信息进行合法性检查。
LDTR寄存器包含当前任务的LDT的选择子。
所以,装入到LDTR的选择子必须确定一个位于GDT中的类型为LDT的系统段描述符,也即选择子中的TI位必须是0,而且描述符中的类型字段所表示的类型必须为LDT。
可以用一个空选择子装入LDTR,这表示当前任务没有LDT。
在这种情况下,所有装入到段寄存器的选择子都必须指示GDT中的描述符,也即当前任务涉及的段均由GDT中的描述符来描述。
如果再把一个TI位为1的选择子装入到段寄存器,将引起异常。
3.中断描述符表寄存器IDTR
中断描述符表寄存器IDTR指向中断描述符表IDT。
如本文开始处的表格所示,IDTR长48 位,其中32位的基地址规定IDT的基地址,16位的界限规定IDT的段界限。
由于80386只支持256个中断/异常,所以IDT表最大长度是2K,以字节位单位的段界限为7FFH。
IDTR 指示IDT的方式与GDTR指示GDT的方式相同。
4.任务状态段寄存器TR
任务状态段寄存器TR包含指示描述当前任务的任务状态段的描述符选择子,从而规定了当前任务的状态段。
任务状态段的格式在后面的文章中介绍。
如本文开始处的表格所示,TR 也有程序员可见和不可见两部分。
当把任务状态段的选择子装入到TR可见部分时,处理器自动把选择子所索引的描述符中的段基地址等信息保存到不可见的高速缓冲寄存器中。
在此之后,对当前任务状态段的访问可快速方便地进行。
装入到TR的选择子不能为空,必须索引位于GDT中的描述符,且描述符的类型必须是TSS。
参考资料书名出版社作者《保护方式下的80386及其编程》清华大学出版社周明德主编《80X86汇编语言程序设计教程》清华大学出版社扬季文主编。