虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

al-XHBZ

  • 变压器中性点接地电阻柜

    AL-BNR系列变压器中性点接地电阻柜 中性点经电阻接地可有效限制间歇弧光接地过电压、降低系统操作过电压、消除系统谐振过电压、方便配置单相接地故障保护、可在短时间内有效切除故障线路。从而降低系统设备的绝缘水平,延迟系统设备的使用寿命,提高系统运行的安全可靠性。 保定市奥兰电气设备有限公司拥有一流的研发队伍和精良的专用设备,专注于配电系统中性点接地保护系列产品、继电保护装置、过电压保护装置的研发、生产、销售。公司所开发的系列AL-BNR变压器中性点接地电阻柜是6-35KV配电网中变压器中性点接地保护专用成套设备,目前已广泛应用于以电缆线路为主的城市配电网、大型工业企业、工厂、机场、港口、地铁等重要电力用户配电网以及发电厂厂用电系统。 产品采用优质进口不锈钢或国产不锈钢电热金属材料,具有电导率高、温度系数高、耐腐蚀、耐高温、抗氧化能力强、抗拉强度高及阻值稳定等优良特点,产品运行安全可靠。 中压配电系统中,如果变压器为三角形接法,则需加装Z型接地变压器,以便为系统人为引出中性点,以加装中性点接地电阻。 1、针对性强,保护到位 AL-BNR变压器中性点接地电阻柜适用于系统中性点采用小电阻或中电阻接地的场合。此时,电网出现单相接地故障时需立即跳闸切除故障线路。当电网出现单相接地时,接地电阻向接地点提供附加阻性电流,使接地电流呈阻容性质,从而保证产生的过电压不超过2.6倍的相电压。 2、结构紧凑,便于安装 AL-BNR变压器中性点接地电阻柜将零散的Z型接地变压器(如系统无中性点引出则需加装)、电阻器、电流互感器、测量仪表、接地保护输出端子等电器设备整体组合在一个封闭金属柜内,而且可以选配隔离开关、避雷器,成套供货,安全可靠性高,布置清晰整齐,便于安装调试及操作维护。 3、选材考究,充分保证产品质量 AL-BNR变压器中性点接地电阻柜内的接地变压器为优质干式变压器,其一次绕组为“Z”形接线;电阻器采用不锈钢镍铬合金(Cr20Ni80)材料制成,导电率高、通流能力强、耐高温、最高使用温度可达1600℃;温度系数≤ -0.045% /℃、阻值稳定、耐腐蚀、防燃防爆、可靠性高。用合金材料组成的电阻全部采用电阻单元,以 多个单元采用亚弧焊接而成框架式结构,电阻单元采用耐高温绝缘子(高分子)支撑连接。根据不同的客户要求我公司可提供进口电阻器。 4、监测功能齐全,并提供模拟量输出 AL-BNR变压器中性点接地电阻柜可加装智能监控装置,可监测电阻柜正常运行状态下中性点不平衡电流、电阻片、电阻柜内的温度,也可以监测发生单相接地故障瞬间的电流以及记录接地动作次数,并预留通讯接口,可将检测、记录的信息传递至主控室,使运行人员在第一时间内得到信息。 5、技术力量雄厚,服务周到 我公司为专业生产厂家,技术力量雄厚,售前的技术交流咨询可随时到位。售后的安装技术指导可按用户要求及时进行

    标签: 变压器 中性点接地 电阻柜

    上传时间: 2014-12-24

    上传用户:shinesyh

  • 发电机中性点接地电阻柜

    AL-FNR系列发电机中性点接地电阻柜 我公司拥有技术优秀的研发队伍和精良的设备,引进并消化国外先进技术,长期致力于对中性点接地技术产品的研发、生产,对降低电网过电压、提高电网的安全性、可靠性,具有良好的效果。我公司以进口特殊不锈钢合金材料,开发生产的系列不锈钢中性点接地电阻柜。产品具有精度高,线性度好,运行可靠,安装方便,外形美观等特点,已广泛用于许多国家重点工程。所生产的0.4KV~35KV发电机中性点接地电阻柜是发电机组中采用高阻接地的专用成套装置。 AL-FNR型发电机中性点电阻柜连接在发电机中性点上,当电网或发电机定子绕组发生单相接地故障时,向接地点提供附加阻性电流,使接地点电流由容性变成阻容性电流,从而保证产生的过电压不超过2.6倍的相电压。 1、精心设计、保护到位 AL-FNR型发电机中性点电阻柜连接在发电机中性点与地之间,当电网或发电机定子绕组发生单相接地故障时,向接地点提供附加阻性电流,使接地点电流由容性变成阻容性电流,从而保证产生的过电压不超过2.6倍的相电压。 2、专业保护,避免烧损发电机铁芯 AL-FNR型发电机中性点电阻柜在设计参数时,力求将总的接地电流控制在15A以内,不仅可以满足继电保护灵敏度的要求,同时也可减轻发电机定子绕组接地时铁芯的损伤。 3、结构紧凑,元器件性能优异 AL-FNR型发电机中性点电阻柜将零散的单相变压器、电阻器、电流互感器、接地保护输出端子等电器设备整体组合在一个封闭金属柜内,并可选配隔离开关、避雷器,智能保护仪表等成套供货;安全可靠性高,布置清晰整齐,便于安装调试及操作维护。装置采用的单相变压器为干式绝缘变压器,工作性能稳定,抗冲击能力强。变压器二次侧采用不锈钢材料电阻。 4、监控功能齐全,并提供模拟量输出 AL-FNR型发电机中性点电阻柜是0.4KV~35KV发电机中性点接地电阻柜是发电机组中采用高阻接地的专用成套装置,可选配电流和动作记录仪等智能控制仪表,正常时可监测中性点不平衡电流,出现单相接地故障时,可记录动作次数;且可为保护和监控系统提供模拟量输出。 5、性能可靠,维护简便 AL-FNR型发电机中性点电阻柜中装设干式单相接地变压器及相应的大容量电阻器,柜中还可装设单相隔离开关,以便在进行检修或实验时隔离电源。 6、技术力量雄厚,服务周到 我公司为中性点设备专业生产厂家,技术力量雄厚,售前的技术交流咨询可随时到位;售后的安装技术指导可按用户要求及时进行。

    标签: 发电机 中性点接地 电阻柜

    上传时间: 2013-10-17

    上传用户:王楚楚

  • 微机小电流系统

    AL-WDZ196型系列微机小电流系统接地选线装置 本装置适用于0.4KV~66KV中性点不接地或经电阻、消弧线圈接地的小电流接地系统。可广泛用于电力系统的发电厂、变电站、水电站及化工、冶金、煤炭、铁路等大型厂矿企业的供电系统。 在电力系统中,把中性点不接地或经消弧线圈、电阻接地的系统叫小电流接地系统,在小电流接地系统中最常见的故障是单相接地。小电流接地系统发生单项接地故障时,凡是对地有电容的线路都将有零序电流通过,但由于零序电流较小,又有很大的分散性,选择接地线路有一定困难;若系统中有消弧线圈,困难更大。 单相接地时接地电流较小,按电力系统安全运行规程的规定,发生单相接地故障后可继续运行1至2小时,但此时系统非故障相对地电压升高为线电压,若不及时处理,极易发展成两相短路使故障扩大。弧光接地还会引起全系统过电压。

    标签: 微机 小电流

    上传时间: 2013-10-10

    上传用户:希酱大魔王

  • 零序电流互感器

    AL-LJ(K)系列零序电流互感器 保定奥兰电气科技有限责任公司生产的AL-LJ(K)系列零序电流互感器经电力工业部电气设备质量检测中心检测,质量优于国标GB1208-1997《电流互感器》,具有精度高,线性度好,运行可靠,安装方便,外型美观等特点。 零序电流互感器(电缆型)的孔径范围为Ф40~Ф360,有各种容量、变比、准确限值系数,可与小电流接地选线装置、继电器、仪表等配套使用,实现对系统的检测和保护。装置具有灵敏度高,线性度好等优点。产品分整体式和组合式两类。互感器采用工程塑料外壳、树脂浇注全密封;外型美观、安装方便、节省安装空间、规格品种多,可适用各种保护装置和电力系统各种运行方式(中性点接地,中性点不接地,大电阻接地,小电阻接地和消弧线圈接地)的需要。 空格:用于小电流接地选线装置 A:与DD11/60型继电器配合使用 J:用于微机型继电保护 B:与DL11/0.2型继电器配合使用 保定市奥兰电气科技有限责任公司开发生产的零序电流互感器是一种套在电缆上的CT,它的一次绕组为穿过CT内孔的三相一次导体电缆,它的一次电流是一次三相电流的向量和(在正常、三相平衡时为0),当发生一次系统单相接地时三相平衡关系被打破,这时零序电流互感器的二次就有电流输出,供给保护装置,实现保护和监控。 零序电流互感器的一次绝缘就是电缆自身绝缘,所以这种零序电流互感器可以套在任一电压等级的电缆上。

    标签: 零序电流互感器

    上传时间: 2013-10-30

    上传用户:fengzimili

  • 复合式过电压保护器

    AL-FGB系列复合式过电压保护器 AL-FGB型三相复合式过电压保护器(简称AL-FGB)是我公司针对现行各类过电压保护器保护弱点而研制的新一代专利产品,将组容吸收器和避雷器的功能有机结合在一起,专用于35KV及以下中压电网中,主要用来吸收真空断路器、真空接触器在开断感性负载时产生的高频操作过电压,同时具有吸收大气过电压及其他形式的暂态冲击过电压的功能; 因此具备一系列其它类型过电压保护器无法比拟的优点。可广泛地应用于真空断路器操作的电动机、电抗器、变压器等配电线路中。 该产品使过电压保护器的整体功能实现了重大突破,是目前功能最全面、保护最完善的产品。符合国家产业政策及国家电气产品无油化、小型化、节能环保等发展趋势,具有显著的技术经济效益和广泛的社会效益,是我国电力建设尤其是城乡电网改造急需的产品。 该产品广泛应用于发电厂、变(配)电站、各种水利设施、矿山、石油、化工、冶金以及其他各类工业企业等。

    标签: 过电压保护器

    上传时间: 2013-10-11

    上传用户:竺羽翎2222

  • NIP型非晶硅薄膜太阳能电池的研究

    采用射频等离子体增强化学气相沉积(RF2PECVD)技术制备非晶硅(a2Si)NIP 太阳能电池,其中电池的窗口层采用P 型晶化硅薄膜,电池结构为Al/ glass/ SnO2 / N(a2Si :H) / I(a2Si :H) / P(cryst2Si : H) / ITO/ Al。为了使P 型晶化硅薄膜能够在a2Si 表面成功生长,电池制备过程中采用了H 等离子体处理a2Si 表面的方法。通过调节电池P 层和N 层厚度和H 等离子体处理a2Si 表面的时间,优化了太阳能电池的制备工艺。结果表明,使用H 等离子体处理a2Si 表面5 min ,可以在a2Si 表面获得高电导率的P 型晶化硅薄膜,并且这种结构可以应用到电池上;当P 型晶化硅层沉积时间12. 5 min ,N 层沉积12 min ,此种结构电池特性最好,效率达6. 40 %。通过调整P 型晶化硅薄膜的结构特征,将能进一步改善电池的性能。

    标签: NIP 非晶硅 薄膜太阳能电池

    上传时间: 2013-11-21

    上传用户:wanqunsheng

  • 自己做的单片机Proteus仿真实例

    自己在学校的时候做的一些单片机仿真实例和一些资料,希望对大家有些帮助

    标签: Proteus 单片机 仿真实例

    上传时间: 2013-11-08

    上传用户:oojj

  • TLC2543 中文资料

    TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明    TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double  sum_final1; double  sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe};  void delay(unsigned char b)   //50us {           unsigned char a;           for(;b>0;b--)                     for(a=22;a>0;a--); }  void display(uchar a,uchar b,uchar c,uchar d) {    P0=duan[a]|0x80;    P2=wei[0];    delay(5);    P2=0xff;    P0=duan[b];    P2=wei[1];    delay(5);   P2=0xff;   P0=duan[c];   P2=wei[2];   delay(5);   P2=0xff;   P0=duan[d];   P2=wei[3];   delay(5);   P2=0xff;   } uint read(uchar port) {   uchar  i,al=0,ah=0;   unsigned long ad;   clock=0;   _cs=0;   port<<=4;   for(i=0;i<4;i++)  {    d_in=port&0x80;    clock=1;    clock=0;    port<<=1;  }   d_in=0;   for(i=0;i<8;i++)  {    clock=1;    clock=0;  }   _cs=1;   delay(5);   _cs=0;   for(i=0;i<4;i++)  {    clock=1;    ah<<=1;    if(d_out)ah|=0x01;    clock=0; }   for(i=0;i<8;i++)  {    clock=1;    al<<=1;    if(d_out) al|=0x01;    clock=0;  }   _cs=1;   ad=(uint)ah;   ad<<=8;   ad|=al;   return(ad); }  void main()  {   uchar j;   sum=0;sum1=0;   sum_final=0;   sum_final1=0;    while(1)  {              for(j=0;j<128;j++)          {             sum1+=read(1);             display(a1,b1,c1,d1);           }            sum=sum1/128;            sum1=0;            sum_final1=(sum/4095)*5;            sum_final=sum_final1*1000;            a1=(int)sum_final/1000;            b1=(int)sum_final%1000/100;            c1=(int)sum_final%1000%100/10;            d1=(int)sum_final%10;            display(a1,b1,c1,d1);           }         } 

    标签: 2543 TLC

    上传时间: 2013-11-19

    上传用户:shen1230

  • 微型计算机课程设计论文—通用微机发声程序的汇编设计

    微型计算机课程设计论文—通用微机发声程序的汇编设计 本文讲述了在微型计算机中利用可编程时间间隔定时器的通用发声程序设计,重点讲述了程序的发声原理,节拍的产生,按节拍改变的动画程序原理,并以设计一个简单的乐曲评分程序为引子,分析程序设计的细节。关键字:微机 8253 通用发声程序 动画技术 直接写屏 1. 可编程时间间隔定时器8253在通用个人计算机中,有一个可编程时间间隔定时器8253,它能够根据程序提供的计数值和工作方式,产生各种形状和各种频率的计数/定时脉冲,提供给系统各个部件使用。本设计是利用计算机控制发声的原理,编写演奏乐曲的程序。    在8253/54定时器内部有3个独立工作的计数器:计数器0,计数器1和计数器2,每个计数器都分配有一个断口地址,分别为40H,41H和42H.8253/54内部还有一个公用的控制寄存器,端地址为43H.端口地址输入到8253/54的CS,AL,A0端,分别对3个计数器和控制器寻址.     对8353/54编程时,先要设定控制字,以选择计数器,确定工作方式和计数值的格式.每计数器由三个引脚与外部联系,见教材第320页图9-1.CLK为时钟输入端,GATE为门控信号输入端,OUT为计数/定时信号输入端.每个计数器中包含一个16位计数寄存器,这个计数器时以倒计数的方式计数的,也就是说,从计数初值逐次减1,直到减为0为止.     8253/54的三个计数器是分别编程的,在对任一个计数器编程时,必须首先讲控制字节写入控制寄存器.控制字的作用是告诉8253/54选择哪个计数器工作,要求输出什么样的脉冲波形.另外,对8253/54的初始化工作还包括,向选定的计数器输入一个计数初值,因为这个计数值可以是8为的,也可以是16为的,而8253/5的数据总线是8位的,所以要用两条输出指令来写入初值.下面给出8253/54初始化程序段的一个例子,将计数器2设定为方式3,(关于计数器的工作方式参阅教材第325—330页)计数初值为65536.    MOV   AL,10110110B ;选择计数器2,按方式3工作,计数值是二进制格式    OUT   43H,AL      ; j将控制字送入控制寄存器    MOV   AL,0        ;计数初值为0    OUT   42H,AL      ;将计数初值的低字节送入计数器2    OUT   42H,AL      ;将计数初值的高字节送入计数器2    在IBM PC中8253/54的三个时钟端CLK0,CLK1和CLK2的输入频率都是1.1931817MHZ. PC机上的大多数I/O都是由主板上的8255(或8255A)可编程序外围接口芯片(PPI)管理的.关于8255A的结构和工作原理及应用举例参阅教材第340—373页.教材第364页的”PC/XT机中的扬声器接口电路”一节介绍了扬声器的驱动原理,并给出了通用发声程序.本设计正是基于这个原理,通过编程,控制加到扬声器上的信号的频率,奏出乐曲的.2.发声程序的设计下面是能产生频率为f的通用发声程序:MOV      AL, 10110110B   ;8253控制字:通道2,先写低字节,后写高字节        ;方式3,二进制计数OUT      43H, AL                  ;写入控制字MOV      DX, 0012H               ;被除数高位MOV      AX, 35DEH              ;被除数低位 DIV      ID      ;求计数初值n,结果在AX中OUT      42H, AL     ;送出低8位MOV      AL, AHOUT      42H,AL     ;送出高8位IN      AL, 61H     ;读入8255A端口B的内容MOV      AH, AL                  ;保护B口的原状态OR  AL, 03H     ;使B口后两位置1,其余位保留OUT 61H,AL     ;接通扬声器,使它发声

    标签: 微型计算机 发声程序 论文 微机

    上传时间: 2013-10-17

    上传用户:sunjet

  • 汇编+保护模式+教程

    九.输入/输出保护为了支持多任务,80386不仅要有效地实现任务隔离,而且还要有效地控制各任务的输入/输出,避免输入/输出冲突。本文将介绍输入输出保护。 这里下载本文源代码。 <一>输入/输出保护80386采用I/O特权级IPOL和I/O许可位图的方法来控制输入/输出,实现输入/输出保护。 1.I/O敏感指令输入输出特权级(I/O Privilege Level)规定了可以执行所有与I/O相关的指令和访问I/O空间中所有地址的最外层特权级。IOPL的值在如下图所示的标志寄存器中。 标  志寄存器 BIT31—BIT18 BIT17 BIT16 BIT15 BIT14 BIT13—BIT12 BIT11 BIT10 BIT9 BIT8 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 00000000000000 VM RF 0 NT IOPL OF DF IF TF SF ZF 0 AF 0 PF 1 CF I/O许可位图规定了I/O空间中的哪些地址可以由在任何特权级执行的程序所访问。I/O许可位图在任务状态段TSS中。 I/O敏感指令 指令 功能 保护方式下的执行条件 CLI 清除EFLAGS中的IF位 CPL<=IOPL STI 设置EFLAGS中的IF位 CPL<=IOPL IN 从I/O地址读出数据 CPL<=IOPL或I/O位图许可 INS 从I/O地址读出字符串 CPL<=IOPL或I/O位图许可 OUT 向I/O地址写数据 CPL<=IOPL或I/O位图许可 OUTS 向I/O地址写字符串 CPL<=IOPL或I/O位图许可 上表所列指令称为I/O敏感指令,由于这些指令与I/O有关,并且只有在满足所列条件时才可以执行,所以把它们称为I/O敏感指令。从表中可见,当前特权级不在I/O特权级外层时,可以正常执行所列的全部I/O敏感指令;当特权级在I/O特权级外层时,执行CLI和STI指令将引起通用保护异常,而其它四条指令是否能够被执行要根据访问的I/O地址及I/O许可位图情况而定(在下面论述),如果条件不满足而执行,那么将引起出错码为0的通用保护异常。 由于每个任务使用各自的EFLAGS值和拥有自己的TSS,所以每个任务可以有不同的IOPL,并且可以定义不同的I/O许可位图。注意,这些I/O敏感指令在实模式下总是可执行的。 2.I/O许可位图如果只用IOPL限制I/O指令的执行是很不方便的,不能满足实际要求需要。因为这样做会使得在特权级3执行的应用程序要么可访问所有I/O地址,要么不可访问所有I/O地址。实际需要与此刚好相反,只允许任务甲的应用程序访问部分I/O地址,只允许任务乙的应用程序访问另一部分I/O地址,以避免任务甲和任务乙在访问I/O地址时发生冲突,从而避免任务甲和任务乙使用使用独享设备时发生冲突。 因此,在IOPL的基础上又采用了I/O许可位图。I/O许可位图由二进制位串组成。位串中的每一位依次对应一个I/O地址,位串的第0位对应I/O地址0,位串的第n位对应I/O地址n。如果位串中的第位为0,那么对应的I/O地址m可以由在任何特权级执行的程序访问;否则对应的I/O地址m只能由在IOPL特权级或更内层特权级执行的程序访问。如果在I/O外层特权级执行的程序访问位串中位值为1的位所对应的I/O地址,那么将引起通用保护异常。 I/O地址空间按字节进行编址。一条I/O指令最多可涉及四个I/O地址。在需要根据I/O位图决定是否可访问I/O地址的情况下,当一条I/O指令涉及多个I/O地址时,只有这多个I/O地址所对应的I/O许可位图中的位都为0时,该I/O指令才能被正常执行,如果对应位中任一位为1,就会引起通用保护异常。 80386支持的I/O地址空间大小是64K,所以构成I/O许可位图的二进制位串最大长度是64K个位,即位图的有效部分最大为8K字节。一个任务实际需要使用的I/O许可位图大小通常要远小于这个数目。 当前任务使用的I/O许可位图存储在当前任务TSS中低端的64K字节内。I/O许可位图总以字节为单位存储,所以位串所含的位数总被认为是8的倍数。从前文中所述的TSS格式可见,TSS内偏移66H的字确定I/O许可位图的开始偏移。由于I/O许可位图最长可达8K字节,所以开始偏移应小于56K,但必须大于等于104,因为TSS中前104字节为TSS的固定格式,用于保存任务的状态。 1.I/O访问许可检查细节保护模式下处理器在执行I/O指令时进行许可检查的细节如下所示。 (1)若CPL<=IOPL,则直接转步骤(8);(2)取得I/O位图开始偏移;(3)计算I/O地址对应位所在字节在I/O许可位图内的偏移;(4)计算位偏移以形成屏蔽码值,即计算I/O地址对应位在字节中的第几位;(5)把字节偏移加上位图开始偏移,再加1,所得值与TSS界限比较,若越界,则产生出错码为0的通用保护故障;(6)若不越界,则从位图中读对应字节及下一个字节;(7)把读出的两个字节与屏蔽码进行与运算,若结果不为0表示检查未通过,则产生出错码为0的通用保护故障;(8)进行I/O访问。设某一任务的TSS段如下: TSSSEG                  SEGMENT PARA USE16                        TSS     <>             ;TSS低端固定格式部分                        DB      8 DUP(0)       ;对应I/O端口00H—3FH                        DB      10000000B      ;对应I/O端口40H—47H                        DB      01100000B      ;对用I/O端口48H—4FH                        DB      8182 DUP(0ffH) ;对应I/O端口50H—0FFFFH                        DB      0FFH           ;位图结束字节TSSLen                  =       $TSSSEG                  ENDS 再假设IOPL=1,CPL=3。那么如下I/O指令有些能正常执行,有些会引起通用保护异常:                         in      al,21h  ;(1)正常执行                        in      al,47h  ;(2)引起异常                        out     20h,al  ;(3)正常实行                        out     4eh,al  ;(4)引起异常                        in      al,20h  ;(5)正常执行                        out     20h,eax ;(6)正常执行                        out     4ch,ax  ;(7)引起异常                        in      ax,46h  ;(8)引起异常                        in      eax,42h ;(9)正常执行 由上述I/O许可检查的细节可见,不论是否必要,当进行许可位检查时,80386总是从I/O许可位图中读取两个字节。目的是为了尽快地执行I/O许可检查。一方面,常常要读取I/O许可位图的两个字节。例如,上面的第(8)条指令要对I/O位图中的两个位进行检查,其低位是某个字节的最高位,高位是下一个字节的最低位。可见即使只要检查两个位,也可能需要读取两个字节。另一方面,最多检查四个连续的位,即最多也只需读取两个字节。所以每次要读取两个字节。这也是在判别是否越界时再加1的原因。为此,为了避免在读取I/O许可位图的最高字节时产生越界,必须在I/O许可位图的最后填加一个全1的字节,即0FFH。此全1的字节应填加在最后一个位图字节之后,TSS界限范围之前,即让填加的全1字节在TSS界限之内。 I/O许可位图开始偏移加8K所得的值与TSS界限值二者中较小的值决定I/O许可位图的末端。当TSS的界限大于I/O许可位图开始偏移加8K时,I/O许可位图的有效部分就有8K字节,I/O许可检查全部根据全部根据该位图进行。当TSS的界限不大于I/O许可位图开始偏移加8K时,I/O许可位图有效部分就不到8K字节,于是对较小I/O地址访问的许可检查根据位图进行,而对较大I/O地址访问的许可检查总被认为不可访问而引起通用保护故障。因为这时会发生字节越界而引起通用保护异常,所以在这种情况下,可认为不足的I/O许可位图的高端部分全为1。利用这个特点,可大大节约TSS中I/O许可位图占用的存储单元,也就大大减小了TSS段的长度。 <二>重要标志保护输入输出的保护与存储在标志寄存器EFLAGS中的IOPL密切相关,显然不能允许随便地改变IOPL,否则就不能有效地实现输入输出保护。类似地,对EFLAGS中的IF位也必须加以保护,否则CLI和STI作为敏感指令对待是无意义的。此外,EFLAGS中的VM位决定着处理器是否按虚拟8086方式工作。 80386对EFLAGS中的这三个字段的处理比较特殊,只有在较高特权级执行的程序才能执行IRET、POPF、CLI和STI等指令改变它们。下表列出了不同特权级下对这三个字段的处理情况。 不同特权级对标志寄存器特殊字段的处理 特权级 VM标志字段 IOPL标志字段 IF标志字段 CPL=0 可变(初POPF指令外) 可变 可变 0  不变 不变 可变 CPL>IOPL 不变 不变 不变 从表中可见,只有在特权级0执行的程序才可以修改IOPL位及VM位;只能由相对于IOPL同级或更内层特权级执行的程序才可以修改IF位。与CLI和STI指令不同,在特权级不满足上述条件的情况下,当执行POPF指令和IRET指令时,如果试图修改这些字段中的任何一个字段,并不引起异常,但试图要修改的字段也未被修改,也不给出任何特别的信息。此外,指令POPF总不能改变VM位,而PUSHF指令所压入的标志中的VM位总为0。 <三>演示输入输出保护的实例(实例九)下面给出一个用于演示输入输出保护的实例。演示内容包括:I/O许可位图的作用、I/O敏感指令引起的异常和特权指令引起的异常;使用段间调用指令CALL通过任务门调用任务,实现任务嵌套。 1.演示步骤实例演示的内容比较丰富,具体演示步骤如下:(1)在实模式下做必要准备后,切换到保护模式;(2)进入保护模式的临时代码段后,把演示任务的TSS段描述符装入TR,并设置演示任务的堆栈;(3)进入演示代码段,演示代码段的特权级是0;(4)通过任务门调用测试任务1。测试任务1能够顺利进行;(5)通过任务门调用测试任务2。测试任务2演示由于违反I/O许可位图规定而导致通用保护异常;(6)通过任务门调用测试任务3。测试任务3演示I/O敏感指令如何引起通用保护异常;(7)通过任务门调用测试任务4。测试任务4演示特权指令如何引起通用保护异常;(8)从演示代码转临时代码,准备返回实模式;(9)返回实模式,并作结束处理。

    标签: 汇编 保护模式 教程

    上传时间: 2013-12-11

    上传用户:nunnzhy