560 likes | 696 Views
微机系统与接口技术. 主讲:吴产乐. 武 汉 大 学 计 算 机 学 院. 本课程在计算机课程体系中的位置. 本课程是 计算机科学与技术 和 信息安全 等专业本科和专科学生必修的一门专业课。 其前修课程有 大规模集成电路 、 计算机组成原理、计算机系统结构、数据结构 等。 为进一步学习和研究 计算机网络、分布式系统 、 大规模并行处理系统 、 计算机集群、网格系统 等打下坚实的基础。. 本课程的教学目的.
E N D
微机系统与接口技术 主讲:吴产乐 武 汉 大 学 计 算 机 学 院
本课程在计算机课程体系中的位置 本课程是计算机科学与技术和信息安全等专业本科和专科学生必修的一门专业课。 其前修课程有大规模集成电路、计算机组成原理、计算机系统结构、数据结构等。 为进一步学习和研究计算机网络、分布式系统、大规模并行处理系统、计算机集群、网格系统等打下坚实的基础。
本课程的教学目的 系统学习微处理器、内外存储器、各种控制器和输入/输出接口芯片的结构和原理,掌握构成现代微机系统的硬软件组成和接口技术。 切实掌握微型计算机实现技术、计算机主板组成原理、各种接口设计及其驱动编程方法、微机系统的研究和开发。 深入了解微处理器和微机系统的新发展和新技术,学会系统科学地分析问题和解决问题,提高认知能力和创新能力。
本课程的要求 • 同学们不仅要学习32位微处理器的原理及微机各种接口电路的原理与作用,而且还要掌握常用接口的设计与分析方法,并具有一定的动手实验能力和接口应用程序的编写能力,为将来的学习与实践打下良好基础。 • 请同学们下载电子讲义,在课堂上注意听讲并在讲义中补充课堂笔记,认真独立完成作业,做好实验、做好课前预习和课后复习。 • 本课程的所有教学活动都可以在网络上进行,欢迎大家登录电子学习网站:http://grid.whu.edu.cn/elearning。电子学习系统平台可提供多媒体教室、自主学习、辅导答疑、作业评阅、在线考试和网络课程服务,教育资源库中已集成了本课程的多媒体素材、课件、作业、试卷等资料,供教学和学习使用。
本课程内容组织 第一章--微机系统和接口的组成原理,典型微处理器简介 第二章--32位微处理器体系结构与工作原理 第三章--内存储器:半导体存储器 、存储器硬件组织、存储器子系统 第四章--I/O接口:计数器82C54 并行接口82C55A 串行通信与8250 第五章--微机与外设数据交换:中断方式与8259 DMA方式与8237 第六章--总线技术:系统总线 局部总线 外设总线 通信总线 第七章--用户交互接口:键盘接口、打印机接口 、显示器接口 第八章--外存储器:磁记录编码、EIDE和SCSI接口、磁盘阵列、光盘 第九章—微计算机组成:IBM PC/XT、IBM PC/AT、32位微机系统
1.1 微计算机系统组成 微型计算机属于第四代电子计算机产品。一般主机按体积、性能和价格分为巨型机、大型机、中型机、小型机和微型机五类。 起初,中央处理器CPU的运算器和控制器集成在一片集成电路芯片上,称为微处理器MPU。 微处理器是微机系统的核心部分,自70年代初出现第一片微处理器芯片以来,微处理器的性能和集成度几乎每两年翻一番,其发展速度大大超过了前几代计算机。
1.2 典型微处理器简介1.2.1 8位微处理器—特点 产品:Intel 8080,Motorola 6800,Zilog Z80,Rockwell R6502 特点: 线宽:2μm,NMOS,8000管 主频:1MHz(M6800),2MHz(8080),2.5~4.0MHz(Z80) 总线:8DB,16AB,40DIP 寄存器:8080有9个:B、C、D、E、H、L以及W、Z,累加器、SP、PC MC6800有6个:PC、SP、IX、Acc.A、Acc.B、CCR Z80有18个8位寄存器以及4个16位寄存器PC、SP、IX、IY I/O端口:i8080和Z80是独立编址,M6800是存储器映像 指令:70~80条 周期为2μs 时钟:单/多相 电源:单/多电源,5v、12v 功能:中断、堆栈、微程序控制 语言:汇编,高级语言的解释和编译 应用:商业和实时控制、智能终端、生产/进程控制,PC
1.2.1 8位微处理器—i8080 Intel8080:由8080芯片,系统控制器8228,时钟发生/驱动器8224构成。 1973年
1.2.1 8位微处理器—M6800 Motorola6800:ALU、指令译码和控制、寄存器组、I/O和数据缓冲。 1974年
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.5μm COMS工艺 2.9万管 5MHz~8MHz主频 DB:内部:16位,外部:8086为16位,8088为8位 AB:20位,寻址1MB地址空间 EU:ALU AX、BX、CX、DX:通用寄存器 SP、BP:指针寄存器 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 单片机:内含 8MHz主频、68引脚的 8086/8088 时钟发生器 片选和准备好电路 一个中断控制器:PIC(1) 二个DMA通道:DMAC(2) 三个定时器/计数器:CNT(3) 应用:智能控制器、网卡等
1.2.216位微处理器-i80286(1) 3. Intel 80286 (1982年) (1)概况 增强16位,线宽1.5~2μm,13.4万管,6~25MHz主频 DB:16 四列直插封装 AB:24 片内MMU:物理地址16MB,虚拟地址1GB 工作模式:实(地址)模式:8086全部功能。 保护(虚拟地址)模式:实模式+存储管理+ 虚存支持+保护+多任务多用户支持, 4级特权保护:支持OS与任务分离,支持任务中程序与数据保护 CS、DS、SS、ES TSS任务状态段、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:CPU←→DB 与80287FPU接口 预取器和6B指令队列 IU:指令译码器:指令字节→69位微码 已译码指令队列:容纳3条指令 EU:ALU 寄存器组:通用寄存器,FLAGS 控制电路:69位微码→控制电位序列 AU:实地址模式:段基址+偏移量→20位物理地址 保护模式:存储保护:许可性、段限制 逻辑地址 →线性地址即24位物理地址
1.2.3 32位微处理器-i80386(1) 1. Intel 80386系列(1985.10) 全32位体系结构 MMU片内,Cache片外 1.5~1.0μm,CHMOS工艺,132引脚,27.5万管 主频:12.5~40MHz 物理地址4GB、虚存空间64TB 段页式虚存 6级流水线 (1)内部结构:6个部件组成,指令流水线,地址流水线 ①总线接口部件:CPU ←→芯片总线 特权请求控制器 地址驱动器 总线带宽控制器 多路收发器 接收预取部件取指和执行部件传数的请求,并做优先权处理;产生总线 周期地址、数据和控制信号;与其它总线主控设备和协处理器接口。
1.2.3 32位微处理器-i80386(2)总线接口 指令预取 指令译码 执行 分段 分页部件
1.2.3 32位微处理器-i80386(3) ②指令预取部件 预取器:总线空闲时,通过BIU按序取指送入预取队列。 预取队列(16B)→指令译码部件。 ③指令译码部件 指令译码:指令字节→内部码 已译码指令队列:缓冲深度3条指令 ①、②、③部件组成80386的指令流水线 ④执行部件 控制器 数据处理器 保护检测 把已译码指令队列中的内部码转换成时序控制信号、其他部件 协同完成指令操作,还用专用硬件加速某些操作的执行 ⑤分段部件:逻辑地址→线性地址 三输入加法器 描述符寄存器 限长和属性PLA 经过分段有效性检查,把逻辑地址转换成线性地址
1.2.3 32位微处理器-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、CF VM:虚拟8086模式 RF:恢复标志 NT:任务嵌套 IOPL:I/O特权级 控制R CR0:定义控制标志 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 Family 80386 DX 全32位,80386原型 80386 SX 外部DB16位,外部AB24位 80386 SL 采用低功耗和SMM(系统管理模式)的80386SX 3.3V和5V电源, SMI和静态CMOS工艺 , 系统闲置时工作频率降到0Hz进入休眠状态, 功耗低于0.25W 80386 DL 采用SL技术的80386DX,低功耗和节能型 80386 EX AB为26位的80386SX,增加系统管理模式和 能源管理技术,主要应用于嵌入式系统
1.2.3 32位微处理器-i80486(1) 2. Intel 80486系列(1989.4) (1)特点 1.0~0.8μm工艺 120万管 25~120MHz 168针PGA RISC技术: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.3 32位微处理器-i80486(3) (2)80486系列 80486DX=80386+80387+8K BCache及控制器 80486SX=80386+ 8KBCache及控制器 80486SL 低功耗节能型80486DX 能工作在3.3V,电源切断电路,SMI,休眠状态 80486SX2 时钟倍频技术的80486SX 80486DX2 时钟倍频技术的80486DX Intel DX4 时钟3倍频技术的80486DX 0.6μm工艺,3.3V,时钟频率100NHz,16KBCache
1.2.3 32位微处理器-Pentium(1) 3. Intel Pentium系列 (1) Pentium(1993.3)奔腾 • 0.8~0.6μm静态BiCMOS工艺,310万管,273脚PGA,60~233MHz主频,RISC与CISC结合产品。 • 超级流水线:U、V两条流水线,1T执行2条指令,每条流水线都有ALU、地址生成逻辑和数据Cache接口,5级流水。 • 高性能FPU:浮点数运算高度流水线化,8级流水,每T可完成1~2个浮点操作 • 独立的指令Cache和数据Cache,都是8KB,数据Cache有二个接口分别与U、V两条流水线相连,2路组相联存储器。 • 分支预测:提高性能到达90MIPS 分支目标缓冲器(BTB)的小Cache来动态预测程序的分支操作。 • 64位外部DB:用于同内存以528MB/S(66MHz钟频)交换数据,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.6~0.25μm 四层BiCMOS工艺,387脚PGA,155~433MHz。 • CPU内核:有8KB代码L1 Cache+8KB数据L1Cahce,550万管, 与CPU同频的256KB L2 Cache,1550万管,64位全速总线相连。 • 5个并行处理单元:整数(2)、存储(1)、装载(1)、浮点(1)。 • CISC指令RISC化:将指令分解为微操作 • 乱序执行( Out of order execution ):CPU允许指令不按程序顺序 发给处理单元,能提前的立即分发执行,然后重排单元将结果按指令顺序重排, CPU内电路满负荷,提高其运行速度 • 动态分支预测和推测执行 (dynamic branch prediction,speculative exec.) • 3路超标量结构和14级流水线结构:提高并行处理能力
1.2.3 32位微处理器-Pentium MMX (3) Pentium MMX(Multimedia extension)(1997.1)多能奔腾 • 0.35μmCMOS工艺,450万管,160~233MHz,4种新的数据类型, 8个64位寄存器和57条新指令,对IA-32指令系统扩展(浮点寄存器 别名映象),A/V,图形图象处理,多媒体及通信。 • 新数据类型:紧缩的字节、字、双字和四字的64位数据放在8个64位 寄存器, 采用SIMD技术单指令处理多个数据 • 饱和运算: 环绕处理:F000H+4000H=3000H 溢出截断,低位返回,进位丢失 饱和运算:F000H+4000H=FFFFH 溢出结果截至数据类型最大/小位 适用于图形等多媒体处理 • 积和运算:矢量点积和矩阵乘法是A/V和图象数据基本运算 指令:PMADDWD积和运算指令用于压缩/解压 • SIMD技术:与紧缩数据类型配合提高性能
1.2.3 32位微处理器-Pentium II (4)Pentium II(1997.5)AMD K6-2 0.25μm工艺,750万管,233~450MHz PII=Pentium Pro + Pentium MMX 两级Cache:L1为16KB+16KB,L2为512KB,移到片外,运行频率为CPU核心 频率一半,64位高速总线。除掉L2 Cache即为Celeron(赛扬)处理器, 浮点与PII持平,后加入高速128KB Cache。 动态执行 多分支预测:预测程序流向,加速处理器的工作流程。 数据流分析:分析指令流数据依赖关系,优化指令执行排序。 推测执行:并行推测执行指令,使执行单元始终处于运行状态。 双重独立总线结构 DIB L2 Cache总线(L2 Cache与CPU专用总线)和系统总线(用于Mem.) 可提供3倍于单一总线结构处理器的带宽性能。 单边接触盒(SEC)封装 CPU和L2 Cache→SEC →Slot1 →主板 双64位后端总线 非PGA 242触点
1.2.3 32位微处理器-Pentium III (5)Pentium III(1999.2) AMD K7-Athlon • 0.25μm工艺,950万管,70条SSE(Streaming SIMD Extensions)指令: 用于语言识别、实时压缩、三位图象处理、A/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.18μm工艺,主频733MHz,外频133MHz,2800万管, 1.1~1.7V • 256KB的L2 Cache置于片内,工作在CPU核心频率下 • Cache转换架构 L2Cache→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位微处理器-Pentium 4(1) (7)Pentium IV或Pentium 4(2000.11) • 0.18μm工艺,6层铝金属层,4200万管,面向互联网技术, 内核构架NetBurst,IA-32体系结构 • 超级流水线技术:20级(PIII是10级),ALU用内核频率的2倍,直接加速了 整数指令的执行速度。将取指、译码、取数、执行和回写 分给指令流水线不同级同时处理 • 执行跟踪缓存 指令L1Cache→Exectcion Trace Cache 指令解码→执行跟踪缓存(1200条微操作) →第1级流水 出现分支预测错误,可从跟踪缓存中重新获取微操作,减少预测错误影响。 • 高级动态执行引擎:为EU动态提供指令不使其停顿 不等待数据的指令送到EU去执行 增强的分支预测功能和BTB(4KB) 高效的乱序推测能力减少预测失败引起的延迟 • 快速执行引擎:ALU在时钟的上升和下降沿都执行运算,是CPU主频的两倍, 平均半个时钟周期完成1条指令,采用的是时钟缓冲(Clock buffering)电路。
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(Quad Date Rate)技术:4条64位数据流
1.2.4 64位微处理器-基本术语 • 指令集 CISC:X86、x86-64指令集的Intel、AMD等处理器。 RISC:PowerPC,SPARC,PA-RISC,MIPS,Alpha等 EPIC:Itanium,Itanium II X86-64:AMD64、EM64T(前身是IA-32E) • CPU扩展指令集 MMX:57条多媒体指令 SSE:70条:50条SIMD浮点运算、12条MMX整数运算、8条优化数据块传输 SSE2:144条:SSE部分和MMX部分 SSE3:13条:数据传输、数据处理、特殊处理、优化命令、超线程性能增强 • 超标量和超流水线 超流水线通过流水细化,提高主频,在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)技术 编译器:分析指令间依赖关系 无依赖关系的指令组合 执行部件:成组的指令群并行执行 并行调度是编译时由软件决定,硬件调度会增加复杂性和提高成本 3级高速缓存:L1 32KB(指令和数据),L2 256KB,L3 1.5-6MB Itanium 2的L3有9MB,其双核的L3有24MB ④ IA-64的分支预测在编译控制,分支判断与分支语句同时执行。 ⑤ 投机装载:数据预装 数据提前几十个周期放入L1 Cache,避免未命中,减少访存 ⑥ 主频高 900MHz~1.5GHz,400MHz系统总线,CPU带宽6.4GB/s
1.2.4 64位微处理器-Itanium II • IA-64架构:向双核或多核发展 • 主要特点:EPIC指令集 分支预测 推测执行 集束指令 • 工作模式:由处理器状态寄存器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解码器,但不是最有效
1.2.4 64位微处理器-AMD64(1) • 2. AMD64 • AMD 使用x86结构并扩展到64位来获得x86-64结构- 处理器能全速高性能地运行x86和x86-64程序- 64位模式不采用分段模式- 具有长模式和遗传模式,长模式包括64位模式和兼容模式(允许现有程序无需修改就运行在长模式下) • 真正的64位x86芯片,增加到16个64位REG.,8组128位SSE REG.,给SIMD提供更多空间
1.2.4 64位微处理器-AMD 64(2) AMD 64位MPU体系架构“Hammer” • 面向4路及8路服务器市场。补充Athlon MP 32位MPU • 适用于大型数据库,数据挖掘,在线事务处理等企业级应用 • 集成化的DDR 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位结构操作- 完全兼容现在的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位宽的通用寄存器和指令指针寄存器