机械工业出版社,China Machine Press,现代微机原理 与接口技术,使用教材:,现代微机原理与接口技术 洪志全 等编,机械工业出版社,参考教材:,微机原理与接口技术 马春燕 主编,电子工业出版社,微机原理与接口技术 周明德主编,人民邮电出版社,总 目 录,第1章 现代微机系统结构原理,第2章 微机接口基础知识,第3章 微机接口芯片及应用,第4章 串行通信接口,第5章 人机交互接口,第6章 数/模、模/数转换接口,第7章,Windows,接口控制技术,第8章,Windows,软件接口及应用,第1章 现代微机系统结构原理,微型计算机就是采用超大规模集成电路(,VLSI),设计的一种计算机系统,自从1981年,IBM,公司推出了,IBM PC/XT,计算机以来到目前流行的,Pentium 4,计算机,短短的20年间计算机的性能有了很大的提高,计算机的应用领域也扩展到了各行各业1),冯诺依曼体系结构,1.1 计算机系统组成,(2),现代微机体系结构,1.2,IA-32,结构微处理器,1,Pentium CPU,Pentium,采用了与,80,X86,处理器完全不同的结构,,Pentium,有,32,位地址总线、,64,位数据总线,两条流水线,(,U,、,V,流水线),,两个,8,KB,的,Cache,(,8KB,代码,Cache,和,8,KB,数据,Cache,)。
Pentium,芯片引脚按其功能分为:时钟、数据总线、地址总线、总线控制、中断、超高速缓存窥视、页面超高速缓存控制、突发就绪、数据出错报告等Pentium,处理器体系上有4个大的突破:,采用了超标量流水线:,Pentium,有,U,和,V,两条指令流水线,每条流水线都有,ALU(,算术逻辑单元)、地址生成单元、,Cache,接口,同时可以执行两条整型指令;,独立的数据,Cache,和指令,Cache:,Pentium,有两个8,KB,的,Cache,,一个作为数据,Cache,,另一个作为指令,Cache,,每个,Cache,均通向,U,和,V,流水线;,新的浮点单元:,浮点单元在80486的基础上做了彻底改进,执行过程分8级流水线,一个时钟周期可完成一个浮点的运算;,分支预测:,Pentium,的,BTB(,分支目标缓冲器)动态预测程序分支,保证指令预取不会空置2,Pentium MMX CPU,Intel,公司1996年3月公布了,MMX(MultiMedia,eXtension,),技术,1997年1月推出,Pentium MMX,处理器Pentium MMX,处理器与80,X86,在软件上完全兼容,增加了8个浮点运算单元,FPU,的栈寄存器,扩展了57条专门用于并行处理多媒体和通讯算法中的整体计算指令,在,音频、视频播放、图像处理、3,D,等任务中表现出较高的性能。
3,Pentium,处理器,Pentium,是在,Pentium Pro,的基础上增加了,MMX,技术,具有以下特点:,采用了双重独立总线,D.I.B,技术,,,Pentium,可同时使用这两条总线,其中一条总线用于连接,L2 Cache,,一条用于连接主存储器,这样充分提高了数据传输能力Pentium,使用了,S.E.C(,单边接触)技术,,将512,KB,的,L2 Cache,移出,CPU,内核,用一个塑料盒将,CPU,与,L2 Cache,封装在一起,中间使用,Cache,总线相连Pentium,内核采用双16,KB Cache,,,即16,KB,数据,Cache,盒16,KB,代码,Cache4,Pentium,处理器,Pentium,采用了与,Pentium,相同的,SLOT1,结构,支持100,MHz,的系统外频Pentium,针对,K6-2,的3,D Now!,指令,在,MMX,指令集基础上增加了70条新的,SSE,指令集,,从而大大增强了3,D,几何运算、动画、影像、音效等功能Pentium,利用数字信号处理软件解决方案,实现更高效的声音采集和过滤,提高语音引擎的反应速度与准确率,使语音能力成为现实。
Pentium,为三维对象、场景的增强显示,可通过更多的多边形数量和更高的帧速,创造逼真的三维形象和对象5,Pentium 4,处理器,Pentium 4,处理器,扩展了,SSE,指令集,(即,SSE2,指令集),理器内部集成了4200万个晶体管SSE2,提供了144条新的128,bit SIMD,指令,其中包含128,bit SIMD,Interger,Arithmetic,及 128,bit SIMD Double-Precision,浮点指令,,SSE2,主要是加强对影像、语音、图像、图片处理等软件的支持6双核处理器,双核处理器就基于单个半导体的一个处理器上拥有两个一样功能的处理器核心,即是将两个物理处理器核心整合入一个内核中双核架构并不是什么新技术,此前双核心处理器一直是服务器的专利,现在已在桌面计算机中Intel,处理器的双核构架如图1.4所示1.2.2,IA-32,寄存器结构,IA-32,处理器为了进行,32,位运算和,32,位数据传输、寻址,采用,32,位寄存器为了与,8088,处理器兼容,在,8086,CPU,寄存器的基础上扩展为,32,位,同时还新增了部分寄存器,如图,1.6,所示。
1)8,个通用16位寄存器:,EAX、EBX、ECX、EDX、ESI、EDI、EBP,和,ESP2)6,个16位段寄存器:,CS、DS、ES、SS、FS,和,GS3)1,个32位标志寄存器:,EFALG,,低16位与8086、80286的,FLAG,寄存器相同,可以独立使用;,(4)1个32位指令指针寄存器:,EIP;,(5)3,个32位控制寄存器:,CR0、CR2,和,CR3,,其中,CR0,的低16位与80286的,MSW,相同;,(6)6个32位排错寄存器:,DR0、DR1、DR3、DR4、DR6,和,DR7;,(7)5,个32位测试寄存器:,TR3、TR4、TR5、TR6、TR7,80386,处理器仅有2个测试寄存器,TR6,和,TR7IA-32,处理器都有三种工作方式:,实地址模式,、,保护虚地址模式,和,V86,模式,实地址模式是为与,8086/8088,兼容而保留的,保护虚地址模式是各种,32,位处理器(,80386,Pentium4,),所独有的,不支持向下兼容,是一种充分利用处理器资源、发挥处理器效率的一种工作方式1.2.3,IA-32,结构处理器操作模式,1.实地址模式,32位处理器的实地址模式和保护虚地址模式的主要控制是由控制寄存器,CR0,的,PE,位决定的,若,PE=0,,,处理器,工作在实地址模式,,若,PE=1,则处理器工作在保护虚地址模式,。
32位处理器在复位后,,CR0,的,PE=0,,工作在实地址模式如果经过一定的初始化和用指令使,CR0,的,PE=1,,就可使32位处理器工作在保护虚地址模式在实地址模式下存储器寻址与,8086/8088,相同,,32,条地址线中的,A30-A20,不起作用2.保护虚地址模式,若32位处理器的控制寄存器,CR0,的,PE=1,则处理器工作在保护虚地址模式当处理器复位后,,CPU,工作在实地址模式,通过初始化和用指令使,CR0,的,PE=1,,就可使32位处理器工作在保护虚地址模式在保护虚地址模式下,由如下特点:,32,条地址线均能寻址,最大可寻址,4GB,的物理地址,支持虚拟存储器功能,保护模式下运行的程序有,4,个特权级(,03,),有完善的特权检查机制,可保证数据及系统的安全,支持多任务操作,3.,V86,模式,V86,模式是保护虚地址模式下的8086实模式的一个任务,,指令的执行与,保护虚地址模式,相同,但寻址等与,实模式,相同1、32位指令集,在32位处理器指令集中大部分指令与8086指令功能相同,仅在指令操作数和使用规则方面进行了扩展,也新增了部分指令,扩展部分主要有:,(1)操作数扩展,由于32位处理器可进行32位的运算和32位寻址,因此在指令中扩展了32位的运算和寻址操作,如,MOV EAX,0FEH。
1.2.4,IA-32,处理器扩展指令集,(2),使用规则扩展,32位处理器扩展了8086指令的使用规则,有些在8086指令中不能使用的规则,在32位处理器中则允许使用,如,PUSH ALPHA、PUSH 0FFFEH、SHL EAX,9、POP ALPHA,等3)新增部分指令,32位处理器新增了部分用于实地址模式汇编程序设计的指令,主要有,PUSHA,入栈指令、,SHL/RD,双精度左/右移指令等,以及保护模式指令、特权指令等,如,LGDT、ENTER,等另外,在32位指令中,还有很大在功能上改变了的指令,如,JMP、INT,等2.,MMX,指令集,MMX(Multi,Media,eXtension,,,多媒体扩展指令集)指令集是,Intel,公司于1996年推出的一项多媒体指令增强技术MMX,指令集中包括有57条多媒体指令,,通过这些指令可以一次处理多个数据,在处理结果超过实际处理能力的时候也能进行正常处理,,这样在软件的配合下,就可以得到更高的性能MMX,指令是一套基本的、通用的紧缩整型指令,共57条,可满足各种多媒体应用程序的需要紧缩整型指令是指多个8/16/32位的整型数组合成的64位数据,,MMX,指令主要使用这种紧缩整型数据。
它可分为种数据类型:紧缩字节、紧缩字、紧缩双字和紧缩四字1)紧缩字节:由8个字节组合为一个64位的数据;,(2)紧缩字:由4个字组合为一个64位的数据;,(3)紧缩双字:由2个双字组合为一个64位的数据;,(4)紧缩四字:一个64位的数据3.,SSE,指令集,SSE(Streaming,SIMD Extensions,,单指令多数据流扩展)指令集是,Intel,在,Pentium III,处理器中率先推出的SSE,指令集包括了,70,条指令,其中包含提高,3,D,图形运算效率的,50,条,SIMD,(,单指令多数据技术)浮点运算指令、,12,条,MMX,整数运算增强指令、,8,条优化内存中连续数据块传输指令4,.,SSE2,指令集,SSE2(Streaming SIMD Extensions 2,SIMD,流技术扩展 2或数据流单指令多数据扩展指令集 2)指令集是,Intel,公司在,SSE,指令集的基础上发展起来的SSE2,使用了144个新增指令,扩展了,MMX,技术和,SSE,技术,这些指令提高了广大应用程序的运行性能有助于加速,内容创建、财务、工程和科学应,用数据流,SIMD,扩展技术在原来的,IA-32,编程环境基础上,主要提供如下新扩展:,(1)具有70条指令的,SSE,指令集;,(2)支持128位紧缩浮点数据(,SIMD,浮点数据类型);,(3)提供8个,SIMD,浮点数据寄存器,XMM0XMM7,。
1.3,IA-32,处理器工作时序,8086,CPU,每个总线周期通常包含,4,个,T,状态,即,T1,、,T2,、,T3,和,T4,每个,T,状态是,8086,处理操作的最小单元,即时钟周期T,状态可通过公式计算:,T=1/CPU,主频,,如早期的,8086,时钟为,8,MHz,,,则一个,T,状态为,125,ns,从,80386,开始,这些时钟状态有,T,i,、,T,1,、,T,2,、,T,12,、,T,2P,和,T,D,等不同总线周期的时钟状态可能不同,即使在相同的总线周期在不同的情况下,其组成时钟状态也可能不同1.3.1总线周期状态定义与状态转换,3,I/O,读写周期,当处理器执行一条,I/O,指令(如,IN,或,OUT,),时,将启动针对,I/O,端口的访问周期,如图,1.19,所示为一次,I/O,读周期和其后的,I/O,写周期时序1.4 现代存。