论文部分内容阅读
支持保护模式的32位嵌入式处理器AMEx86的研究与设计属于西北工业大学航空微电子中心所承担的一项国防“十·五”预研课题的一部分,其中该嵌入式处理器用来作为整个电子系统的核心控制部分。 本文主要研究并实现了该32位嵌入式处理器中的虚拟存储器部分。在缺乏有关保护模式实现的相关资料的情况下,作者对Intel 80486中的相关部分进行了详尽的分析,在此基础之上自行设计了同时支持实模式、保护模式和虚拟8086模式等三种工作模式的虚拟存储器。AMEx86的虚拟存储器采用自顶向下的设计方法,把虚拟存储器划分为地址管理相关单元(又包括分段单元和分页单元)、保护模式相关单元(又包括保护测试单元、调试异常单元利异常检测单元等),分别确立其数据通路和控制通路,完成了VHDL的编码和仿真工作,通过测试程序仿真验证了其功能的正确性并测定了基本性能。 根据每个单元各自功能的不同,作者针对每个单元采用了不同的实现方法。分段单元主要进行虚拟地址到线性地址的转换,为了处理各种复杂的寻址方式,因而采用了微程序控制的加法器,同时增加段级保护硬件,使得段级保护和地址计算可以同时完成;分页单元主要进行线性地址到物理地址的转换,转换机制固定为先查页目录后查页表,因而采用了有限状态机控制下的TLB,对TLB命中的转换可以在单拍内完成,同时类似于分段单元增加了页级保护硬件,使得页级保护和地址变换可以同时进行;保护测试单元被设计为用来加速复杂指令中的保护测试功能,因而采用了微程序控制下的保护测试硬件,可以采用静态指令翻泽技术将复杂指令翻译为内部微程序段;调试异常单元用来检查当前程序是否遇到指令断点或者数据断点,因而采用四个比较器同时比较当前指令地址和数据地址是否符合断点要求,以便快速检查调试异常是否发生;异常检测单元需要根据每种异常的发生时机检查处理器内部全部单元是否发生异常,因而采用异常判优电路将处理器内部的全部异常进行汇总,如果有多个异常同时出现需要比较其优先级,经过双故障检测电路检查是否发生双故障后把发生的异常汇报给微控器。 本文紧密结合国防“十·五”预研课题,在国内实现了支持保护模式的32位嵌入式处理器的研究,这对我国具有自主版权的军用处理器具有十分重要的意义。该文的研究成果对进一步研究更高级的x86系列处理器提供了方法和思路。