1、微机系统与接口技术,武 汉 大 学 计 算 机 学 院,主讲:吴产乐,本课程在计算机课程体系中的位置,本课程是计算机科学与技术和信息安全等专业本科和专科学生必修的一门专业课。其前修课程有大规模集成电路、计算机组成原理、计算机系统结构、数据结构等。为进一步学习和研究计算机网络、分布式系统、大规模并行处理系统、计算机集群、网格系统等打下坚实的基础。,本课程的教学目的,系统学习微处理器、内外存储器、各种控制器和输入/输出接口芯片的结构和原理,掌握构成现代微机系统的硬软件组成和接口技术。切实掌握微型计算机实现技术、计算机主板组成原理、各种接口设计及其驱动编程方法、微机系统的研究和开发。深入了解微处理器
2、和微机系统的新发展和新技术,学会系统科学地分析问题和解决问题,提高认知能力和创新能力。,本课程的要求,同学们不仅要学习32位微处理器的原理及微机各种接口电路的原理与作用,而且还要掌握常用接口的设计与分析方法,并具有一定的动手实验能力和接口应用程序的编写能力,为将来的学习与实践打下良好基础。请同学们下载电子讲义,在课堂上注意听讲并在讲义中补充课堂笔记,认真独立完成作业,做好实验、做好课前预习和课后复习。本课程的所有教学活动都可以在网络上进行,欢迎大家登录电子学习网站:http:/ 、存储器硬件组织、存储器子系统,第五章-微机与外设数据交换:中断方式与8259 DMA方式与8237,第六章-总线技
3、术:系统总线 局部总线 外设总线 通信总线,第七章-用户交互接口:键盘接口、打印机接口 、显示器接口,第八章-外存储器:磁记录编码、EIDE和SCSI接口、磁盘阵列、光盘,第四章-I/O接口:计数器82C54 并行接口82C55A 串行通信与8250,第一章-微机系统和接口的组成原理,典型微处理器简介,第九章微计算机组成: IBM PC/XT、IBM PC/AT、32位微机系统,第一章 概 论,1.1 微计算机系统组成,微型计算机属于第四代电子计算机产品。一般主机按体积、性能和价格分为巨型机、大型机、中型机、小型机和微型机五类。起初,中央处理器CPU的运算器和控制器集成在一片集成电路芯片上,称
4、为微处理器MPU。微处理器是微机系统的核心部分,自70年代初出现第一片微处理器芯片以来,微处理器的性能和集成度几乎每两年翻一番,其发展速度大大超过了前几代计算机。,1.1.1 微机系统、微计算机和微处理器,1.2 典型微处理器简介 1.2.1 8位微处理器特点,产品:Intel 8080,Motorola 6800,Zilog Z80,Rockwell R6502,特点:线宽:2m,NMOS,8000管主频:1MHz(M6800),2MHz(8080),2.54.0MHz(Z80)总线:8DB,16AB,40DIP寄存器:8080有9个:B、C、D、E、H、L以及W、Z,累加器、SP、PCMC
5、6800有6个:PC、SP、IX、Acc.A、Acc.B、CCRZ80有18个8位寄存器以及4个16位寄存器PC、SP、IX、IYI/O端口:i8080和Z80是独立编址,M6800是存储器映像指令:7080条 周期为2s 时钟:单/多相 电源:单/多电源,5v、12v 功能:中断、堆栈、微程序控制 语言:汇编,高级语言的解释和编译应用:商业和实时控制、智能终端、生产/进程控制,PC,1.2.1 8位微处理器i8080,Intel8080:由8080芯片,系统控制器8228,时钟发生/驱动器8224构成。1973年,Motorola6800:ALU、指令译码和控制、寄存器组、I/O和数据缓冲。
6、1974年,1.2.1 8位微处理器M6800,1.2.1 8位微处理器Z80,Z80:由ALU、控制部件、寄存器组、总线及其缓冲器组成。1977年。两组通用R、变址R、中断页面I、刷新计数器R,较强中断能力,电源时钟单一,158条指令、兼容8080指令系统,1.2.2 16位微处理器-i8086/i8088(1),1. Intel 8086/8088 (1978/1979年)线宽:1.5m COMS工艺 2.9万管 5MHz8MHz主频DB:内部:16位,外部:8086为16位,8088为8位AB:20位,寻址1MB地址空间EU:ALUAX、BX、CX、DX:通用寄存器SP、BP:指针寄存器
7、DI、SI:变址寄存器FLAGS:状态标志CF、PF、AF、ZF、SF、OF控制状态DF、IF、TF指令译码 控制电路BIU:CS、DS、SS、ES 段寄存器IP指令指针 内部通信寄存器20位地址加法器: REGx16偏移量指令队列FIFO:8088是4B,8086是6B总线控制电路,1.2.2 16位微处理器-i8086/i8088(2),BIU:与内存及I/O芯片接口,提供总线控制信号,执行外部总线周期,根据EU请求完成取指和数据交换; EU:指令执行,进行数据处理和有效地址计算并管理R,1.2.2 16位微处理器-i80186/i80188,2. Intel 80186/80188单片机
8、:内含8MHz主频、68引脚的 8086/8088时钟发生器片选和准备好电路一个中断控制器:PIC(1)二个DMA通道:DMAC(2)三个定时器/计数器:CNT(3)应用:智能控制器、网卡等,1.2.2 16位微处理器-i80286(1),3. Intel 80286 (1982年)(1)概况增强16位,线宽1.52m,13.4万管,625MHz主频DB:16 四列直插封装AB:24 片内MMU:物理地址16MB,虚拟地址1GB工作模式:实(地址)模式:8086全部功能。保护(虚拟地址)模式:实模式存储管理虚存支持保护多任务多用户支持,4级特权保护:支持OS与任务分离,支持任务中程序与数据保护
9、CS、DS、SS、ESTSS任务状态段、DTS描述符表段(GDT、LDT、IDT)15条新指令,1.2.2 16位微处理器-i80286(2) 总线部件BU 指令部件IU 执行部件EU 地址部件AU 每个部件可与其他部件异步并行操作,运行速度比较快,1.2.2 16位微处理器-i80286(3),(2)内部结构:BU,IU,EU,AU BU:CPUDB与80287FPU接口预取器和6B指令队列IU:指令译码器:指令字节69位微码已译码指令队列:容纳3条指令EU:ALU寄存器组:通用寄存器,FLAGS控制电路:69位微码控制电位序列AU:实地址模式:段基址偏移量20位物理地址保护模式:存储保护:
10、许可性、段限制逻辑地址 线性地址即24位物理地址,1.2.3 32位微处理器-i80386(1),1. Intel 80386系列(1985.10)全32位体系结构MMU片内,Cache片外1.51.0m,CHMOS工艺,132引脚,27.5万管主频:12.540MHz物理地址4GB、虚存空间64TB段页式虚存 6级流水线(1)内部结构:6个部件组成,指令流水线,地址流水线总线接口部件:CPU 芯片总线特权请求控制器 地址驱动器总线带宽控制器 多路收发器接收预取部件取指和执行部件传数的请求,并做优先权处理;产生总线周期地址、数据和控制信号;与其它总线主控设备和协处理器接口。,1.2.3 32位
11、微处理器-i80386(2) 总线接口 指令预取 指令译码 执行 分段 分页部件,1.2.3 32位微处理器-i80386(3),指令预取部件预取器:总线空闲时,通过BIU按序取指送入预取队列。预取队列(16B)指令译码部件。 指令译码部件指令译码:指令字节内部码已译码指令队列:缓冲深度3条指令、部件组成80386的指令流水线 执行部件控制器 数据处理器 保护检测把已译码指令队列中的内部码转换成时序控制信号、其他部件协同完成指令操作,还用专用硬件加速某些操作的执行 分段部件:逻辑地址线性地址三输入加法器 描述符寄存器 限长和属性PLA经过分段有效性检查,把逻辑地址转换成线性地址,1.2.3 3
12、2位微处理器-i80386(4),分页部件:线性地址物理地址加法器页Cache控制和特性PLA允许分页时,将从分段部件或指令预取部件得到的线性地址转换成物理地址,并用TLB加速地址变换,变换后的物理地址送BIU,完成了内存与I/O的存取、部件组成80386的地址流水线、部件构成存储器管理部件MMU,1.2.3 32位微处理器-i80386(5),(2)寄存器组32位寄存器:EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP指令指针: EIP(32)、IP(16)EFLAGS: VM、RF、NT、IOPL、OF、DF、IF、TF、SF、ZF、AF、PF、CFVM:虚拟8086模式 R
13、F:恢复标志 NT:任务嵌套 IOPL:I/O特权级控制RCR0:定义控制标志 CR1:保留CR2:页故障线性地址 CR3:页目录表基址系统地址寄存器测试寄存器调试寄存器段寄存器(16位):CS、SS、DS、ES、FS、GS,1.2.3 32位微处理器-i80386(6),(3)工作模式实模式:与8086相同,可以处理32位数据,增加FS、GS保护模式:4GB物理空间、段长可达1MB(不用页)/4GB(启动页)多任务保护机制虚拟8086模式:实模式保护功能 (4)存储地址空间 物理地址空间 4GB 虚拟地址空间64TB,1.2.3 32位微处理器-i80386(7),(5) 80386 Fam
14、ily80386 DX 全32位,80386原型80386 SX 外部DB16位,外部AB24位80386 SL 采用低功耗和SMM(系统管理模式)的80386SX3.3V和5V电源, SMI和静态CMOS工艺 ,系统闲置时工作频率降到0Hz进入休眠状态,功耗低于0.25W80386 DL 采用SL技术的80386DX,低功耗和节能型80386 EX AB为26位的80386SX,增加系统管理模式和能源管理技术,主要应用于嵌入式系统,1.2.3 32位微处理器-i80486(1),2. Intel 80486系列(1989.4) (1)特点 1.00.8m工艺 120万管 25120MHz 1
15、68针PGARISC技术:40MIPS,常用指令执行仅1T 微码控制部分硬布线逻辑,降低指令执行的时钟数 突发总线(Burst BUS)技术。地址相关的16B数据I/O 内部集成了FPU和Cache,并支持二级Cache 内部结构:总线接口部件指令预取部件指令译码部件控制部件整数部件 段部件:重定位页部件:固定页面Cache:数据与指令共用8KB,4路组相联FPU:算术运算,超越函数全32位体系结构:地址总线、数据总线和寄存器组数据总线动态变换: 8/16/32位,1.2.3 32位微处理器-i80486(2) 总线接口 指令预取 指令译码 控制 整数 分段 分页 Cache 浮点部件,1.2
16、.3 32位微处理器-i80486(3),(2)80486系列80486DX80386803878KB Cache及控制器80486SX80386 8KB Cache及控制器80486SL 低功耗节能型80486DX能工作在3.3V,电源切断电路,SMI,休眠状态80486SX2 时钟倍频技术的80486SX80486DX2 时钟倍频技术的80486DXIntel DX4 时钟3倍频技术的80486DX0.6m工艺,3.3V,时钟频率100NHz,16KBCache,1.2.3 32位微处理器-Pentium(1),3. Intel Pentium系列 (1) Pentium(1993.3)奔
17、腾 0.80.6m静态BiCMOS工艺,310万管,273脚PGA,60233MHz主频,RISC与CISC结合产品。 超级流水线:U、V两条流水线,1T执行2条指令,每条流水线都有ALU、地址生成逻辑和数据Cache接口,5级流水。 高性能FPU:浮点数运算高度流水线化,8级流水,每T可完成12个浮点操作 独立的指令Cache和数据Cache,都是8KB,数据Cache有二个接口分别与U、V两条流水线相连,2路组相联存储器。 分支预测:提高性能到达90MIPS分支目标缓冲器(BTB)的小Cache来动态预测程序的分支操作。 64位外部DB:用于同内存以528MB/S(66MHz钟频)交换数据
18、,1个突发总线周期读入256位数据。,1.2.3 32位微处理器-Pentium(2) 600nmBiCMOS工艺 超级流水线 高性能FPU 独立指令和数据CACHE 分支预测 外部DB64位,1.2.3 32位微处理器-Pentium Pro(1),(2) Pentium Pro(1995.11)高能奔腾 0.60.25m 四层BiCMOS工艺,387脚PGA,155433MHz。 CPU内核:有8KB代码L1 Cache8KB数据L1Cahce,550万管,与CPU同频的256KB L2 Cache,1550万管,64位全速总线相连。 5个并行处理单元:整数(2)、存储(1)、装载(1)、
19、浮点(1)。 CISC指令RISC化:将指令分解为微操作 乱序执行( Out of order execution ):CPU允许指令不按程序顺序发给处理单元,能提前的立即分发执行,然后重排单元将结果按指令顺序重排,CPU内电路满负荷,提高其运行速度 动态分支预测和推测执行 (dynamic branch prediction,speculative exec.) 3路超标量结构和14级流水线结构:提高并行处理能力,1.2.3 32位微处理器-Pentium Pro(2),1.2.3 32位微处理器-Pentium MMX,(3) Pentium MMX(Multimedia extensio
20、n)(1997.1)多能奔腾 0.35mCMOS工艺,450万管,160233MHz,4种新的数据类型,8个64位寄存器和57条新指令,对IA-32指令系统扩展(浮点寄存器别名映象),A/V,图形图象处理,多媒体及通信。 新数据类型:紧缩的字节、字、双字和四字的64位数据放在8个64位寄存器, 采用SIMD技术单指令处理多个数据 饱和运算:环绕处理:F000H+4000H=3000H 溢出截断,低位返回,进位丢失饱和运算:F000H+4000H=FFFFH 溢出结果截至数据类型最大/小位适用于图形等多媒体处理 积和运算:矢量点积和矩阵乘法是A/V和图象数据基本运算指令:PMADDWD积和运算指
21、令用于压缩/解压 SIMD技术:与紧缩数据类型配合提高性能,1.2.3 32位微处理器-Pentium II,(4)Pentium II(1997.5)AMD K6-2 0.25m工艺,750万管,233450MHz PII=Pentium Pro + Pentium MMX 两级Cache:L1为16KB16KB,L2为512KB,移到片外,运行频率为CPU核心频率一半,64位高速总线。除掉L2 Cache即为Celeron(赛扬)处理器,浮点与PII持平,后加入高速128KB Cache。 动态执行 多分支预测:预测程序流向,加速处理器的工作流程。数据流分析:分析指令流数据依赖关系,优化指
22、令执行排序。推测执行:并行推测执行指令,使执行单元始终处于运行状态。 双重独立总线结构 DIBL2 Cache总线(L2 Cache与CPU专用总线)和系统总线(用于Mem.)可提供3倍于单一总线结构处理器的带宽性能。 单边接触盒(SEC)封装CPU和L2 CacheSEC Slot1 主板双64位后端总线 非PGA 242触点,1.2.3 32位微处理器-Pentium III,(5) Pentium III(1999.2) AMD K7-Athlon 0.25m工艺,950万管,70条SSE(Streaming SIMD Extensions)指令:用于语言识别、实时压缩、三位图象处理、A
23、/V处理。 L1 Cache:16KB指令Cache和16KB数据Cache;L2 Cache:512KB,为CPU核心速度的一半。 8x128bit单精度寄存器:同时处理4个单精度(4x32位)浮点变量,20亿次/秒浮点运算。 继承了PII的动态执行,双重独立总线技术,100MHz前端总线。,1.2.3 32位微处理器-PIII Coppermine,(6)Pentium III Coppermine(1999.10) 0.18m工艺,主频733MHz,外频133MHz,2800万管,1.11.7V256KB的L2 Cache置于片内,工作在CPU核心频率下 Cache转换架构L2Cache
24、256b宽通路,每时钟传32B,带宽11.2GB/S。 先进的系统缓冲器填充Buffer:4 6 总线队列:4 8回写缓冲器:1 4 移动PC的SpeedStep技术降低速度和电压后,延长运行时间;外接电源时,以全速全压运行。 2000.6 AMD Athlon(Thunderbird,雷鸟)与PIII Coppermine有相同的缓存特性,同时将L2缓存间联合并发处理的通道数从2个增到16个,性能提升。,1.2.3 32位微处理器-Pro PII PIII,1.2.3 32位微处理器-Pentium 4(1),(7)Pentium IV或Pentium 4(2000.11) 0.18m工艺,
25、6层铝金属层,4200万管,面向互联网技术,内核构架NetBurst,IA-32体系结构 超级流水线技术:20级(PIII是10级),ALU用内核频率的2倍,直接加速了整数指令的执行速度。将取指、译码、取数、执行和回写分给指令流水线不同级同时处理 执行跟踪缓存指令L1CacheExectcion Trace Cache指令解码执行跟踪缓存(1200条微操作) 第1级流水出现分支预测错误,可从跟踪缓存中重新获取微操作,减少预测错误影响。 高级动态执行引擎:为EU动态提供指令不使其停顿不等待数据的指令送到EU去执行增强的分支预测功能和BTB(4KB)高效的乱序推测能力减少预测失败引起的延迟 快速执
26、行引擎:ALU在时钟的上升和下降沿都执行运算,是CPU主频的两倍,平均半个时钟周期完成1条指令,采用的是时钟缓冲(Clock buffering)电路。,1.2.3 32位微处理器-Pentium 4(2),1.2.3 32位微处理器-Pentium 4(3),SSE2指令:对Internet、3D和多媒体技术144组指令 提升多媒体指令的执行性能128bit的MMX寄存器128bit的SIMD整数运算128bit的双精度浮点运算提升多媒体指令的执行性能,如DVD/MP3/MPEG-4的回放400MHz系统总线配合800MHz的RDRAM,其内存带宽,即3.2GB/s数据传输率采用QDR(Qu
27、ad Date Rate)技术:4条64位数据流,1.2.4 64位微处理器-基本术语,指令集CISC:X86、x86-64指令集的Intel、AMD等处理器。RISC:PowerPC,SPARC,PA-RISC,MIPS,Alpha等EPIC:Itanium,Itanium IIX86-64:AMD64、EM64T(前身是IA-32E) CPU扩展指令集MMX:57条多媒体指令SSE:70条:50条SIMD浮点运算、12条MMX整数运算、8条优化数据块传输SSE2:144条:SSE部分和MMX部分SSE3:13条:数据传输、数据处理、特殊处理、优化命令、超线程性能增强 超标量和超流水线超流水
28、线通过流水细化,提高主频,在1T内完成多个操作,以时间换取空间;超标量是内置多路流水线实时执行多处理器,以空间换取时间 封装针栅阵列(PGA)封装的MPU使用socket插座单边接触盒(SEC)封装的MPU使用slot X,1.2.4 64位微处理器-Itanium,1. Itanium(开发代码 Merced,安腾,Intel和HP) IA-64架构:64位寻址能力和64位寄存器 工艺:Madison 100nm,Montecito 90nm,4.1亿管 指令定长,降低解码复杂度 指令可对寄存器操作 显式并行指令计算(EPIC)技术编译器:分析指令间依赖关系无依赖关系的指令组合执行部件:成组
29、的指令群并行执行并行调度是编译时由软件决定,硬件调度会增加复杂性和提高成本3级高速缓存:L1 32KB(指令和数据),L2 256KB,L3 1.5-6MBItanium 2的L3有9MB,其双核的L3有24MB IA-64的分支预测在编译控制,分支判断与分支语句同时执行。 投机装载:数据预装数据提前几十个周期放入L1 Cache,避免未命中,减少访存 主频高 900MHz1.5GHz,400MHz系统总线,CPU带宽6.4GB/s,1.2.4 64位微处理器-Itanium II,IA-64架构:向双核或多核发展 主要特点:EPIC指令集 分支预测 推测执行 集束指令 工作模式:由处理器状态
30、寄存器PSR决定执行IA-64指令集还是IA-32指令集 5组部件:指令处理、执行、控制、内存子系统、IA-32兼容执行引擎 IA-32兼容执行引擎:指令预取、解码、调度和控制、专用执行单元:通用寄存器、选择器、描述符寄存器、浮点寄存器、MMX寄存器、SIMD流扩展寄存器等 IA-32EC技术:IA-32执行层技术将IA-32代码译成原始IA-64代码, 充分利用IA-64强大资源,IA-32EL软件是与硬件分离的执行层软件, 可全面增强IA-64系统上IA-32软件的执行性能 争议问题:IA-64处理器引入了x86 to IA-64解码器,但不是最有效,2. AMD64 AMD 使用x86结
31、构并扩展到64位来获得x86-64结构 - 处理器能全速高性能地运行x86和x86-64程序 - 64位模式不采用分段模式 - 具有长模式和遗传模式,长模式包括64位模式和兼容模式(允许现有程序无需修改就运行在长模式下) 真正的64位x86芯片,增加到16个64位REG.,8组128位SSE REG.,给SIMD提供更多空间,1.2.4 64位微处理器-AMD64(1),1.2.4 64位微处理器-AMD 64(2),AMD 64位MPU体系架构“Hammer” 面向4路及8路服务器市场。补充Athlon MP 32位MPU 适用于大型数据库,数据挖掘,在线事务处理等企业级应用 集成化的DDR
32、 DRAM控制器,支持ECC内存,检查和纠正内存中的代码错 AMD的HyperTransport总线结构:使PC内部芯片之间的数据传输速率达到12.8Gbps此技术得到Apple、Cisco、Sun、Transmeta、Nvidia、API、PMC-Sierra等支持 AMD支持64位技术:Athlon 64系列(速龙)、Opteron系列(皓龙)、Sempron系列(闪龙)、Turion系列(炫龙),1.2.4 64位微处理器-Intel EM64T,3.Intel EM64T,前身是IA-32E - Intel扩展64位内存技术,增强IA-32结构,扩展到64位结构操作 - 完全兼容现在的
33、IA-32结构和x86-64技术 - 具有传统IA-32模式和扩展IA-32e模式,扩展IA-32e模式包括64位模式和兼容模式,由扩展功能激活寄存器IA-32_EFER选定。 - 64位模式下具有以下特性: 64位线性平面地址 增加8个新的通用寄存器,都扩展到64位 增加8个128位SIMD流扩展寄存器(SSE, SSE2和SSE3) 64位宽的通用寄存器和指令指针寄存器,1.2.5 微处理器简介汇总(1),1.2.5 微处理器简介汇总(2),1.2.5 微处理器简介汇总(3),1.2.5 微处理器简介汇总(4),1.3 微机接口技术,微机接口技术是通过硬件的连接和软件的控制,将微处理器和各
34、种LSI、VLSI接口芯片有效地结合成微计算机系统的技术。 应用接口技术的任务是对微机系统进行硬、软件设计,使微机能够有效地与外部世界和用户进行联系,充分发挥它的效能。 硬件接口设计的任务是选择和使用适当的LSI、VLSI接口芯片构筑微处理器与系统部件、外部设备间的接口。 软件接口设计的任务是编制相应程序使可编程接口芯片发挥应有的功能和提高微机系统的性能和效率。,1.3.1 微机接口的类型-运行辅助,1. 运行辅助接口 微机的功能处于最(低)基本水平所需的接口CPU芯片总线变换成系统总线的那些接口地址锁存数据驱动和收发时钟和片选等电路外存通过EIDE或SCSI接口与主机系统连接,1.3.1 微
35、机接口的类型-用户交互,2. 用户交互接口 用户与主机系统交互的接口表示方法和表现速度的转换终端、键盘、鼠标、操纵杆、光笔、录入笔、语音识别显示、打印、语言合成表示方法的转换:外设进行转换 计算机与外设的不同表示表现速度的同步:硬件中断或软件轮询使速度匹配主机与用户交互主机与外设交互串并行接口的数据转换、速率匹配,1.3.1 微机接口的类型-传感和控制,3. 传感和控制接口微机控制系统应用:传感接口监测状态,控制接口驱操作 传感接口:A/DC :模拟量 数字量数字量 系统总线接口:缓冲、接收、驱动传送给微机处理 控制接口:D/AC :数字量转换成模拟量:电压或电流直接或通过机电接口对外部世界控制控制接口有时比较复杂,1.3.2 微机接口的基本功能,