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

高端

  • 汇编+保护模式+教程

    九.输入/输出保护为了支持多任务,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

  • 赛灵思Artix-7 FPGA 数据手册:直流及开关特性

      本文是关于赛灵思Artix-7 FPGA 数据手册:直流及开关特性的详细介绍。   文章中也讨论了以下问题:   1.全新 Artix-7 FPGA 系列有哪些主要功能和特性?   Artix-7 系列提供了业界最低功耗、最低成本的 FPGA,采用了小型封装,配合Virtex 架构增强技术,能满足小型化产品的批量市场需求,这也正是此前 Spartan 系列 FPGA 所针对的市场领域。与 Spartan-6 FPGA 相比,Artix-7 器件的逻辑密度从 20K 到 355K 不等,不但使速度提升 30%,功耗减半,尺寸减小 50%,而且价格也降了 35%。   2.Artix-7 FPGA 系列支持哪些类型的应用和终端市场?   Artix-7 FPGA 系列面向各种低成本、小型化以及低功耗的应用,包括如便携式超声波医疗设备、军用通信系统、高端专业/消费类相机的 DSLR 镜头模块,以及航空视频分配系统等。

    标签: Artix FPGA 赛灵思 数据手册

    上传时间: 2013-10-11

    上传用户:zouxinwang

  • TMS-S231-512G

    致力于提供高速信号处理解决方案的北京拓目科技有限公司(Beijing Topmoo Tech Co. Ltd)在2011年推出基于FLASH阵列存储的高端固态存储产品TMS-F231-160G之后,近日宣布推出其入门级固态存储产品TMS-S231-512G。 在容量选择上,TMS-F231-160G可以通过更换PIN2PIN的FLASH芯片而达到扩容目的,但是SLC FLASH成本高居不下,在目前高速发展的工业相机领域,难以推广普及。为了推动高速工业相机存储市场的发展,拓目科技发布了基于SATA接口的SSD盘存储系统TMS-S231-512G,随着消费电子的发展,SSD的单盘容量不断的扩大,价格不断的降低,必然能使TMS-S231-512G得到广泛的应用。 “TMS-S231-512G是一款专门针对航空拍摄、工业照相、汽车碰撞实验等需要高速图像采集、存储的场合而开发的固态存储设备”拓目科技产品经理Lemon Chan介绍道,“该产品的单盘存储容量最高可达512GB,单盘存储带宽则最高可达250MB/s,在该带宽支持条件下,TMS-S231-512G最高能支持1280x1024@200fps的连续拍照模式,几乎适用于所有需要高速图像采集的场合”。 “目前,Camera Link接口在航空相机、工业相机等领域得到广泛应用。与此同时,TMS-S231-512G板载两个SFP光纤接口,最高可支持5Gbps的有效数据吞吐率。”拓目科技研发总监Steven Wu介绍道,“除了硬件板卡以外,拓目科技还提供一整套完整的客户端解决方案,以方便客户能够轻易地对设备进行管控,同时方便客户对记录下来的数据进行预览、下载等操作”。 “与国外同类产品相比,TMS-S231-512G除了大容量、高带宽等优点以外,另一大优势在于其极强的可定制性。TMS-S231-512G从硬件设计到软件开发,所有的核心技术都由拓目科技研发团队自主开发,相比于国外同类产品,拓目科技无论在产品的可定制性还是售后技术支持方面,都具有较大的优势”Steven Wu补充道。 同时,该款产品所有器件均采用工业级宽温芯片,温度、振动等环境适应性试验均已顺利通过,能最大程度地保证产品在恶劣环境下的可靠性。 TMS-S231系列产品特点 1, 采用业界领先的掉电保护技术,令您的数据安全无忧 2, 性能卓越,拥有单盘高达250MB/s的写带宽 3, 单盘64GB~512GB大容量可选,存储容量大小也可以根据用户需求定制 4, 支持Camera Link视频输入接口 5, 支持DVI显示接口 6, 支持SFP光纤接口 7, 支持2个SSD盘 8, 支持1个千兆以太网口 9, 满足各种恶劣环境应用要求,能在高温度、多灰尘、高海拔、强振动等应用场合下正常使用 TMS-S231采用12V电源适配器供电,功耗小于10W,TMS-S231集成度非常高,产品体积仅为260mm x 180mm x 45mm,如上图所示。TMS-S231现已进入大批量生产阶段并随时接受客户试用申请与订货。

    标签: TMS-S 231 512

    上传时间: 2013-11-12

    上传用户:a155166

  • 曙光天阔服务器I840R-H

    曙光天阔I840r-H服务器是曙光公司最新推出的一款支持英特尔最新四路多核处理器的企业级服务器,创新的全独立总线可彻底释放多至4颗64位Intel XeonMP多核处理器(包括Intel最新推出的Dunnington CPU)的强劲性能,最高达256GBFB-DIMM内存和具备可选集成高性能RAID的8块热插拔2.5寸SAS磁盘或5块热插拔3.5寸SAS磁盘,提供强大的功能以运行关键任务,满足资源密集型应用的需要。先进的管理和存储技术,具有更好的可扩充性和高可用性。作为曙光天阔系列服务器中的高端产品,I840r-H多核服务器是高端企业级用户的最佳选择,非常适用于金融、证券、交通、邮政、电信、能源等对服务器性能、可扩展性及可靠性要求苛刻的行业数据中心和远程的企业环境。

    标签: 840 R-H 曙光 服务器

    上传时间: 2013-12-10

    上传用户:zhangxin

  • TD-SCDMA网络现状及新技术

    一致性认证:TD-SCDMA早期缺乏国际化的组织对终端进行一致性测试和验证、缺乏一致性测试仪表等因素,导致终端质量参差不齐,为兼顾终端能力部分网络新功能无法正常投入现网运营 产业投入:市场缺乏类似Iphone具有较大市场吸引力的高端终端、性价比较高的低端终端;部分国际上具有雄厚实力的芯片和终端制造商尚未推出TD-SCDMA产品

    标签: TD-SCDMA 网络 新技术

    上传时间: 2013-11-23

    上传用户:cc1915

  • 高端特殊类型天线分类与外形

    天线(antenna)是一种变换器,它把传输线上传播的导行波,变换成在无界媒介(通常是自由空间)中传播的电磁波,或者进行相反的变换。在无线电设备中用来发射或接收电磁波的部件。

    标签: 高端 天线 分类

    上传时间: 2013-10-23

    上传用户:小眼睛LSL

  • WCDMA和GSM共站的可行性分析

    在WCDMA 网络建设初期、网络发展期,为了节省投资,一般不会形成全国性连续覆盖网络,这时可以使用WCDMA 和GSM 双模终端, 充分利用GSM 网络的连续覆盖,避免WCDMA 用户的覆盖盲区,同时又能保证GSM 用户可以很好的享受3G 高端业务的服务,因此未来WCDMA和GSM 商用网络共存是必然趋势。为了节省WCDMA 网络的投资和加快网络建设速度,在未来的WCDMA 网络建设中, 可以考虑WCDMA 和GSM 基站共站点。

    标签: WCDMA GSM 可行性

    上传时间: 2014-01-09

    上传用户:z1191176801

  • 赛灵思Artix-7 FPGA 数据手册:直流及开关特性

      本文是关于赛灵思Artix-7 FPGA 数据手册:直流及开关特性的详细介绍。   文章中也讨论了以下问题:   1.全新 Artix-7 FPGA 系列有哪些主要功能和特性?   Artix-7 系列提供了业界最低功耗、最低成本的 FPGA,采用了小型封装,配合Virtex 架构增强技术,能满足小型化产品的批量市场需求,这也正是此前 Spartan 系列 FPGA 所针对的市场领域。与 Spartan-6 FPGA 相比,Artix-7 器件的逻辑密度从 20K 到 355K 不等,不但使速度提升 30%,功耗减半,尺寸减小 50%,而且价格也降了 35%。   2.Artix-7 FPGA 系列支持哪些类型的应用和终端市场?   Artix-7 FPGA 系列面向各种低成本、小型化以及低功耗的应用,包括如便携式超声波医疗设备、军用通信系统、高端专业/消费类相机的 DSLR 镜头模块,以及航空视频分配系统等。

    标签: Artix FPGA 赛灵思 数据手册

    上传时间: 2013-11-12

    上传用户:songyue1991

  • 德州仪器TMS320DM642在机器视觉中的应用研究

      在高端嵌入式平台 TI TMS320DM642 基础上, 完成了机器视觉系统的总体设计, 具体给出了系统硬件设计和系统软件设计。在PC 平台上进行了机器视觉相关算法的验证和实现。 以门牌识别为例, 详细介绍了机器视觉算法在 DM642 平台上的移植和优化的实现过程。最后对本文所研究的系统功能和创新点进行了总结。实际应用表明, 本文设计的机器视觉系统具有较好的合理性和实用性。   目前, 一般机器视觉信息处理平台主要有( 1)基于通用 PC: 主要是用软件实现图像处理和识别, 能够提供中等的图像处理和识别能力, 但是要占用 CPU过多的处理能力;( 2)基于通用DSP 芯片: 优点是设计简便、 灵活, 特别适合于新型产品的研究开发;( 3) 基于可编程 FPGA: 采用的是硬件描述语言(VHDL) ,用其开发图像处理算法难度较大。  

    标签: TMS 320 642 DM

    上传时间: 2014-12-01

    上传用户:Breathe0125

  • 复杂系统的监视和排序满足方案

    MAX6870六电压排序器/监视器为简化复杂设计提供了一个完全集成的方案。该款EEPROM配置器件在设置门限、输出结构和延时方面具有极大的灵活性。在大多数电子设备中,对系统电压进行监视是非常重要的,这样可保证处理器和其它IC在系统上电时被复位,还可以监测到电压的下降,从而把代码执行过程中出现问题的概率降到最小,避免存储器发生冲突或者系统工作不正常。在高端产品中,系统中各电源的上电顺序也很关键。

    标签: 复杂系统 监视 排序 方案

    上传时间: 2013-11-25

    上传用户:ywqaxiwang