1 / 57

微型机系统与接口技术

微型机系统与接口技术. 主讲: 任国林. 引 言. 一、专业相关话题. 1 、计算机系统对 我们 来说是什么?. 计算机系统是 研究目标 ,非 应用工具 。. 2 、如何保持教育的长期有效性?. 强化基础: 掌握基本的理论、知识、技能与方法; 面向系统: 硬件、软件、理论、实践四条线; 兼顾应用: 应用→设计→研究。. 程序设计基础及语言. 软件工程. 数据库原理. 离散数学、数值分析. 应用 系统. 应用语言级. 数据结构. 高级语言级. C++ 、 Java. 编译原理. 汇编语言级. 汇编语言. 软件体系结构. 操作系统.

les
Download Presentation

微型机系统与接口技术

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 微型机系统与接口技术 主讲:任国林

  2. 引 言 一、专业相关话题 1、计算机系统对我们来说是什么? 计算机系统是研究目标,非应用工具。 2、如何保持教育的长期有效性? 强化基础:掌握基本的理论、知识、技能与方法; 面向系统:硬件、软件、理论、实践四条线; 兼顾应用:应用→设计→研究。

  3. 程序设计基础及语言 软件工程 数据库原理 离散数学、数值分析 应用 系统 应用语言级 数据结构 高级语言级 C++、Java 编译原理 汇编语言级 汇编语言 软件体系结构 操作系统 操作系统级 计算机 网络 接口与 通信 系统结构 嵌入式系统 传统机器级 外部 设备 组成原理 微程序机器级 模拟与数字逻辑电路 电子线路级 信号与系统 二、本课程在系统中的位置 说明:→理论类 →软件原理类 →软件应用类 →硬件原理类 →硬件应用类

  4. 三、本课程目标 1、理论与知识 掌握计算机系统及CPU的工作原理; 掌握计算机I/O接口的工作原理; 掌握计算机与外设的通信原理; 2、应用与编程 掌握汇编语言,利用该语言能够进行程序设计; 能够进行计算机接口的应用编程; 3、设计与研究 培养各种接口软、硬件的分析、设计能力。

  5. 四、本课程学习方法 1、理论与知识 ☆建立计算机整机概念,掌握软件和硬件是如何相互配合的,并以此作为所有学习的基础; 坚持以IBM PC/XT为主线进行学习,减少相关内容的复杂性,而后再进一步延伸到Pentium系列,以掌握相关技术的最新发展; 从软件功能需求→硬件实现出发,掌握接口的基本组成和工作原理,为接口的软、硬件设计打下基础。

  6. 2、编程与设计 比较各种高级语言共性和差别,分析汇编语言特征,采用与其它语言相同的方法掌握其编程技术; 从接口原理→应用效果,掌握接口的应用特征和编程技术; 从应用需求→接口设计,掌握接口的硬件设计技能; ☆接口硬件设计是应用编程的基础; ☆通过实验,可加深对理论和知识的掌握程度,锻炼相关技能的熟练程度。

  7. 3、学习效率 ☆打印课件,以减少记笔记时间和增加听讲时间! 提前预习结合上课听讲,可大量减少课后复习时间! 认真进行实验,以减少问题的停留时间! ☆☆及时质疑,可大量减少影响后续知识掌握的时间!

  8. 五、本课程内容组织 第一章—微机结构:整机概念,CPU结构、信号与工作模式 第二章—软件与硬件接口:PC机指令系统与汇编语言 第三章—CPU如何与MEM或I/O设备通信:数据传输方式、I/O 接口与译码技术 第四章—总线如何工作:总线标准 第五章—I/O接口如何直接与MEM通信:DMA技术(自学) 第六章--I/O接口如何主动与CPU通信:中断技术、8259 第七章--定时与计数接口:8254 第八章--并行通信接口:8255与打印机接口标准 第九章--串行通信接口:串行通信原理、协议与8250

  9. 第一章 微机结构及其发展

  10. 用户软件 用户程序、用户程序库 系统软件 操作系统、系统应用软件 硬件 运算器、控制器、存储器、I/O设备 第一节 微机系统整机结构 一、微机系统的组成 1、微机系统组成 由硬件和软件两部分组成。 思考1:用户软件、系统软件与硬件三者的关系? 思考2:硬件与软件的接口?

  11. 应用语言级系统 应用语言和集成环境 高级语言级系统 高级语言和集成环境 汇编语言级系统 汇编语言和集成环境 操作系统级系统 操作系统平台和机器语言指令系统环境 硬 件 系 统 机器语言指令系统和相关资源环境 2、程序员与微机系统 使用不同语言编程的程序员所见微机系统的属性不同。越是低层程序员,应对系统内部信息了解越多。

  12. 用户编程 编程集 成环境 应用、高级语言级程序 编译或解释 OS、BIOS功能调用 作为软件中断处理 汇编语言级程序 汇编 机器语言级程序(含OS及BIOS调用) 用户操作请求 调度与控制 BOOT程序请求 操作系统 执行 OS定时任务请求 系统硬件实现机器语言程序功能 3、用户软件功能的实现过程 所有功能均基于机器语言指令系统而实现。 思考:直接接收和执行机器语言程序的硬件机构是什么?

  13. 进程1 进程2 进程3 OS调度 时间 4、OS执行用户软件的过程 (1)调度与控制 OS按(任务对应的)进程优先级、时间片等参数进行进程调度与控制。 (2)任务启动 冯·诺依曼模型原理: ①存储程序—机器语言程序以文件形式存储; 说明:程序中I/D中地址及PC为逻辑地址 ②程序控制—CPU按PC执行指令(Intel称为IP)。

  14. CPU ④复制REGs 内容 ②拷贝程序 MEM DISK ⑤按IP 执行 ③填充PCB PCB ①创建PCB 任务启动步骤: ①创建进程—建立进程控制块PCB(内含TSS); ②加载程序—将程序文件内容拷贝到主存,并将相关内容(如REGs、IP等)填到PCB的TSS中; ③执行程序—将PCB中TSS的与CPU硬件相关内容导入到CPU,CPU按IP内容取主存中指令并执行(根据指令长度自动修改IP内容)。 回下页

  15. (3)加载程序相关问题 程序文件中I/D的地址信息:逻辑地址 CPU执行时所需地址信息:MEM物理地址 程序定位(逻辑地址→MEM物理地址)方法: ①直接定位—程序员需知道程序占用的物理空间; ②静态定位—OS修改程序中需再定位I/D中地址信息; ③动态定位—地址格式为段:偏移,OS修改段信息。 程序动态定位对CPU的需求: 段寄存器、地址生成逻辑 思考:如何对程序实现保护(禁止修改指令)? 转上页

  16. 地址总线(AB) 数据总线(DB) CPU 控制总线(CB) RAM ROM I/O设备 I/O接口 二、微机硬件结构 1、硬件结构 用户程序功能的实现机构—CPU CPU与外部通信途径—总线 思考1:为什么要采用总线结构而非其它结构? 总线与I/O设备通信途径—I/O接口 思考2:为什么需要I/O接口来连接I/O设备? 转24页 回21页 回22页 回23页

  17. ALU 段寄存器组 地址生成逻辑 通用寄存器组 指令指针 寄存器IP 内部暂存器 总线 控 制逻辑 外部 总线 ALU内部总线 EU 控制部件 指令译码部件 指令队列/ 指令缓冲器 执行单元EU 总线接口单元BIU 2、CPU实现软件功能原理(在8086内部结构后讲解) (1)CPU能够实现的主要功能 ①硬件实现指令系统各指令功能的能力 运算:算术运算、逻辑运算、字符串等; 程序控制:JMP/Jcc、CALL/RET、LOOP等; 数据传送:REG、MEM、I/O接口、堆栈等间传送; 系统控制:STI/CTI、INTn、系统管理等。 ②单独指令软件指令和连续执行软件指令串的功能 回下页 回20页

  18. 实现单独和连续执行软件指令功能图 CPU BIU 指令队列 EU 段寄存 器组 地址加法器 软件指令→硬件信号+时序控制 译码器 ↓译码 指令→(操作码,地址码) 控制器 ↓电路 时序控制 MEM、I/O地址 总线控 制逻辑 REG地址 功能部件 通用寄 存器组 功能 非顺序 指令 指令指针 寄存器 ※用户态时各REG(段/通用/FLAG等)初始值由OS置入(任务启动或切换时)。 转上页 回下页

  19. (2)CPU如何开始执行机器语言程序? ①OS启动程序执行—将程序各个段(CS、DS等)物理地址及程序开始执行指令地址置入CPU各段REG及指令指针REGIP中; ②CPU开始执行程序—按CS:IP值到MEM中取指并执行。 (3)CPU如何实现软件指令功能? 将软件指令转换成硬件信号及时序,相关部件按信号执行。 (4)CPU中EU如何实现转换及时序控制? 指令译码—译码器实现软件指令到硬件信号的转换; 信号控制—控制器实现各硬件信号的协调控制。 (5)CPU如何实现指令串的执行顺序控制功能? CPU控制器—按指令结果改变IP值(CPU按新值执行指令); OS—可根据需要(如任务切换)改变CS:IP值。 转上页

  20. N X X-1 0 I/O接口 X-1 0 MEM N-X 0 MEM I/O接口 MOV指令 MOV指令 IN/OUT指令 (6)哪些软件指令需使用总线?如何在总线上表示? 对MEM或I/O接口有操作的指令; 用总线操作(参数为命令/状态、地址、数据信号)表示。 (7)在指令中如何表示MEM或I/O接口数据的地址? MEM和所有I/O接口可采用统一编址或独立编址方式。 统一编址—指令相同,总线上各部件根据其地址范围与总线上地址信号(指令中地址)自行比较,确定自己是否被命中; 独立编址—指令不同,CPU的总线控制逻辑将指令转换成不同总线操作,各部件根据总线上命令和/或地址信号自行判断。 转17页

  21. 3、CPU与外部(总线)通信原理 主动方式—CPU根据指令需求提出总线操作请求,MEM或I/O接口接收并完成指令需要的功能; 被动方式—I/O接口通过中断控制器/DMA控制器产生中断/DMA请求、CPU响应并处理中断/DMA请求。 (1)总线上如何表示CPU与外部通信的操作请求? CPU中总线控制逻辑将对外部通信的请求转换成不同的地址、数据、控制总线信号,并约定相关时序(总线标准)。 (2)CPU指令如何对应不同的I/O接口? 约定不同I/O接口具有不同的地址范围; 不同I/O接口自行判断(I/O接口硬件实现)总线上地址信号(对应于CPU指令中地址),当在某I/O接口约定范围内时响应。 转16页

  22. CPU ② … 中断控制器 I/O接口 I/O接口 ① ① (3)CPU以被动方式与I/O接口通信的过程? ①I/O接口向中断控制器提出中断请求,中断控制器再向CPU提出中断请求; ②CPU在适当时机判断有无外部中断请求、有请求时通过总线取得中断请求类型(是哪个I/O接口); ③CPU执行该I/O接口对应的中断服务程序,与I/O接口实现通信。 转16页

  23. 4、I/O接口与总线间的通信 I/O接口具有接收CPU控制和控制外设两种功能。 (1)I/O接口如何知道自己被CPU选中? 各I/O接口内部均有一个地址译码电路; 被选中—总线上地址信号在其约定范围内时认为被选中; 响应—I/O接口被选中时才可与总线通信。 (2)如何保证某总线操作只有一个I/O接口被选中? 约定—各I/O接口的地址范围不重叠; 实现—各I/O接口通过译码电路实现响应的地址范围。 (3)如何实现I/O接口控制外设与CPU执行的并行? I/O接口不与总线通信时(即无CPU或DMA通信),接口内部逻辑控制其REG与外设通信; I/O接口与总线通信时,内部逻辑控制其REG与总线通信。 转16页

  24. 地址总线 20位 AH AL BH BL CH CL DH DL AX BX CX DX 通 用寄存 器 ∑ 数据总线 8088:8位 8086:16位 SP BP DI SI CS DS ES SS IP 内部暂存器 段寄存器 总线控制逻辑 外部 总线 指令指针 ALU数据总线(16位) 运算寄存器 指令队列 Q总线 (8位) EU 控制系统 1 2 3 4 5 6 ALU 8088 8086 总线接口单元BIU 标志寄存器 执行单元EU 第二节 微处理器结构 一、8086/8088微处理器 1、内部结构 转27页 回下页

  25. 结构及组成: EU(ALU及通用REG组、控制器、译码器、IP), BIU(IQ、段REG组和地址加法器、总线控制逻辑) 实现功能: —机器语言指令系统包含的功能 运算、程序控制、数据传送、系统控制等。 思考1:为什么设置通用REG? 思考2:如何实现程序的执行顺序控制功能? 思考3:设置指令队列的目的是什么? 思考4:设置段REG组的目的是什么? 思考5:如何区分从外部取回的是指令/数据? 回28页 转上页

  26. 2、内部寄存器 转17页

  27. 3、8086/8088引脚信号 A/D信号: AD0-AD7、 A8-A15、A16-A19 C/S信号: RD#、WR#、IO/M#、 S3-S6、DEN#、DT/R#等 中断信号: NMI、 INTR、INTA# 其它信号: CLK、RESET、 READY、TEST#、 MN/MX# 回24页 转下页 回29页 回33页

  28. S4、S3:表示正在使用的寄存器,可表示数据期中数据类型 S5:=1,CPU可响应可屏蔽中断请求; =0,CPU禁止一切可屏蔽中断请求。 S6:恒等于零。 思考:为什么要区分不可屏蔽中断和可屏蔽中断? 为什么用INTR线方式,不采用I/O命令查询? 为什么中断请求只用一根信号线? 转25页 回上页

  29. MEM或I/O设备 8283 地址 锁存器 8286 数据 收发器 4、8086/8088的最小工作模式 转27页 回下页 回31页

  30. 8088最小模式总线操作对应信号: 注:总线信号中用RD、WR代替DT/R。 转上页

  31. T1 T2 T3 T4 CLK A19~A16/S6~S3 状态输出 A15~A8 地址输出 地址输出 数据 地址输出 AD7~AD0 ALE IO/M DT/R 低—MEM,高—I/O WR或RD DEN 低—接收,高—发送 8088最小模式一次总线操作信号时序图: 转29页

  32. 指令周期 总线周期 总线周期 …… …… 时钟周期 时钟周期 时钟周期 时钟周期 …… 8088时钟周期、总线周期与指令周期: 不与总线通信的指令周期与总线周期无关,只与时钟周期有关。 如单周期的CPU指令周期只包含一个时钟周期

  33. MEM或I/O设备 8283 地址 锁存器 8286 数据 收发器 5、8086/8088的最大工作模式 回下页 转27页 回36页

  34. 8088最大模式总线操作对应信号: 转上页 回下页

  35. 1 2 3 4 5 6 7 8 9 10 IOB CLK S1 DT/R ALE AEN MRDC AMWTC MWTC GND 20 19 18 17 1615 14 13 12 11 VCC S0 S2 MCE/PDEN DEN CEN INTA IORC AIOWC IOWC 8288引脚信号: 转上页 回下页

  36. S0 S1 S2 AEN CEN CLK IOB ALE DT/R DEN AIOWC AMWTC IORC MWTC MRDC INTA S0 CPU S1 S2 AEN AEN CLK STB(8283地址锁存信号) T(8286数据传输方向) OE(8286数据总线允许) IOW(写I/O) MEMW(写存储器) IOR(读I/O) MWTC(写存储器) MEMR(读存储器) INTA(中断响应) 8288在PC/XT机中的连接: 转上页 转33页

  37. 逻辑地址: 16位段地址 : 16位段内偏移 (左移四位) 16位段地址 16位段内偏移 + 20位物理地址 = 6、8086/8088的存储器管理 只支持实地址模式,与常规段式管理不同。 物理地址:20位(1MB空间) 地址变换: 注意:不同逻辑地址可对应同一物理地址; 段地址低4位必须为0。

  38. 段REG与段: OS将加载程序(调入主存)时,根据应用程序(文件头内)的重定位信息,生成段REG值; 由段REG值可将内存分为若干段,段的大小亦由重定位信息决定,最大为64KB。 段REG与存放偏移地址的REG间默认关系:

  39. Pentium CPU结构 预取 地址 代码 Cache 8KB TLB 分支目标缓冲器 256位 分支检测和目标地址 预取缓冲存储器 指令译码部件 控制 ROM 指令 指针 总 线 接 口 部 件 64位数据总线 控 制 部 件 地址生成 (U流水线) 地址生成 (V流水线) 32位地址总线 浮点部件 分页部件 控制 寄存器组 控制 整数寄存器组 ALU (U流水线) ALU (V流水线) 加法器 桶形移位器 除法器 64位数据总线 32位 32位地址总线 32位 80 位 数据 Cache 8KB 乘法器 32位 32位 80位 TLB 32位 32位 二、Pentium系列微处理器

  40. 主 存 Pentium II CPU结构 L2 Cache 前端总线 后端总线 总线接口单元BIU L1数据Cache 16KB 结果总线 L1指令Cache 16KB 存储器排序缓冲器MOB 存储数据单元 端口4 保留站RS 分支目标缓冲器BTB 指令预取单元IFU 存储地址单元 端口3 加载地址单元 x86指令译码器 端口2 微指令序列器MIS 译码器0 译码器1 译码器2 MMX移位器 MMX ALU 简单整数单元 转移执行单元 端口1 寄存器别名表RAT MMX ALU MMX乘法器 复杂整数单元 复杂浮点单元 简单浮点单元 端口0 指令重排缓冲器ROB

  41. 高16位扩展 16位通用寄存器 32位通用寄存器 1、Pentium系列CPU的寄存器 (1)通用寄存器

  42. 高16位扩展 16位的IP 32位指令指针寄存器EIP (2)段寄存器—16位 CS, DS, SS, ES, FS和GS, FS和GS是80386起开始增加的附加段寄存器, 所有段寄存器只能用16位形式访问。 (3)指令指针寄存器

  43. 31……22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 保 留 DF SF ZF AF PF ID OF IF TF VIP VIF AC RF IOPL NT VM CF 这部分同8088 (4)标志寄存器

  44. 31 7 6 5 4 3 2 1 0 MCE TSD PSE DE PVI 0 CR4 保留,缺省为全0 VME 31 12 11 4 3 0 PCD CR3 页目录基地址寄存器 PWT 31 0 CR2 页故障线性地址寄存器 31 0 CR1 保 留 31 30 29 18 17 16 5 4 3 2 1 0 PG ET TS EM MP CD NW AM WP CR0 NE PE (5) 系统地址寄存器 48位REG—GDTR、IDTR;16位REG—LDTR、TR。 (6) 控制寄存器 回47页

  45. 2、Pentium的工作模式 (1)实地址模式 存储器只能采用物理地址空间描述,1MB物理空间; 只能使用分段管理; 所有程序全为0级。 (2)保护模式 支持多任务操作; 存储器采用虚拟/线性/物理地址空间方式描述,虚拟地址空间64TB,具有存储保护(空间和操作)功能; 可使用分段和分页技术管理存储空间; 采用分级(4级)管理,用户程序一般在3级。 回下页

  46. (3)虚拟8086模式 (4)系统管理模式 为操作系统和正在运行的应用程序提供透明的电源管理和系统安全平台功能; 进入本模式时,系统将转到一个独立的地址空间运行,并保存当前程序或任务的基本环境。 转上页

  47. CR0.PE=1 实地址 模式 保护 模式 SMM 模式 V8086 模式 CR0.PE=0 CPU复位 RSM指令 中断返回 任务切换 (修改EFLAG中的VM位) SMI# RSM指令 SMI# 中 断 RSM指令 SMI# 说明:SMI#是来自外部系统管理中断引脚的信号 RSM指令是从系统管理中断服务程序中返回的指令 (5)工作模式转换 转44页

  48. 微处理器8088 协处理器8087 ROM BIOS DRAM控制器 主板上的RAM 8237 DMA控制器 8253 定时/计数器 DMA页面寄存器 8259 中断控制器 8个8位62引脚扩展插槽 8250串行 通信控制器 扩展总线缓冲 PC总线 8255 并行接口 第三节 PC系列微机结构发展 一、PC/XT 回下页

  49. 微处理器80386/80486 Cache控制器 Cache 主存 80387(386微机才有) CPU局部总线 总线控制器 ISA总线 集成外围控制器 扩展总线控制器 实时时钟/日历 CMOS RAM 二、386/486 转上页

  50. Pentium II 处理器 Pentium II 处理器 CPU总线 82443BX (北桥) 2×AGP 总线 66/100MHz 主存 图形设备 支持SDRAM PCI插槽 PCI总线 2个IDE接口 82371EB (PIIX4E) (南桥) I/O APIC 2个USB接口 ISA插槽 ISA总线 系统BIOS 三、南北桥结构的Pentium Ⅱ 回下页

More Related