现代微机原理与接口技术(第3版)1教材:现代微机原理与接口技术(第3版)电子工业出版社主讲教师:徐婕frangipani@hubu.edu.cn微机原理与接口技术现代微机原理与接口技术(第3版)2第0章本课程介绍现代微机原理与接口技术(第3版)30.1本课程在计算机课程体系中的位置硬件类软件类CPU及整机设计(计算机组成原理)BIOS与接口驱动程序设计模拟电路、数字逻辑电路设计嵌入式/单片机系统SOC芯片设计计算机系统结构外围接口电路设计操作系统编译系统数据库数据结构C++JAVA离散数学计算机系统综合设计电子商务多媒体技术…算法设计、数值分析、信号与系统、计算机理论课程、数学基础课程汇编语言软件工程VB…现代微机原理与接口技术(第3版)40.2本课程的教学目的•掌握先进微处理器芯片结构、微型计算机实现技术、计算机主板构成、各种接口技术原理及其应用编程方法;•了解微机技术新的发展趋势,系统科学地获得分析问题和解决问题的训练;提高分析和设计接口的能力。•基础:汇编语言程序的编写方法,尤其接口访问的方法。现代微机原理与接口技术(第3版)50.3本课程的要求•不仅要学习微机各种接口电路的原理与作用,熟悉PC系列机接口电路,而且还要掌握常用接口的设计与分析方法,学会使用汇编语言对接口进行编程,并具有一定的动手实验能力和接口应用程序的编写能力,为微机的深入应用和嵌入式系统SOC设计等的学习与实践打下良好基础。同时有兴趣的同学自学Windows驱动程序的编写方法。•课堂上注意听讲并及时记录教师课堂上补充的内容(上网查资料),认真独立完成作业,做好课程实验,做好课前预习和课后复习。现代微机原理与接口技术(第3版)60.4本课程的学习方法1)抓住x86系列微机基本结构这条主线,分析其基本结构,掌握各接口电路及可编程接口芯片的应用。特点:本课程涉及的知识范围广,内容多2)进一步扩展和延伸•CPU—从Core~Sandybridge,实模式~保护模式;•总线—PCI,USB,PCI-Express等;•中断—从实模式下的中断向量~保护模式下的中断描述符;从传统中断~PCI中断~串行中断•芯片组—从中大规模集成电路(8237、8254、8255、8259等)~超大规模集成电路(82G65MCH、ICH8)-2芯片。•存储管理-从实地址模式到保护模式存储管理现代微机原理与接口技术(第3版)70.4本课程的学习方法3)理论与实践相结合,锻炼实验动手能力。•掌握汇编语言编程方法掌握x86系列寻址方式掌握x86常用指令学会x86汇编程序编写方法•掌握PC机接口程序的编写方法•充分利用课程实验锻炼自己的编程能力和接口设计与分析能力。现代微机原理与接口技术(第3版)84)从系统的角度弄清楚“软件发出I/O写指令→CPU及译码电路产生数据/控制信号→接口电路产生对外设的数据信号和控制信号”的过程,以及“外设的数据和运行状态→接口电路→CPU→I/O读指令将数据或状态送到软件”的过程;0.4本课程的学习方法现代微机原理与接口技术(第3版)90.5本课程内容组织第1章—概述:微机系统组成、工作过程、系统组成结构第3章—软件如何控制CPU和接口:指令系统和汇编编程第6章—总线如何工作:总线标准(PCI,USB,PCI-E)第7章—I/O接口如何主动与CPU通信:中断技术(8259)第9章—常用外设与通信接口:串行通信协议,并行接口8255,人机交互接口第8章—ICH8中的定时计数与DMA控制器:8254,8237第10章—系统编程技术:处理器的初始化,任务调度,BIOS,WDM驱动程序编写第5章—CPU如何与MEM或I/O设备通信:I/O接口与译码第2章—IA-32/Intel64处理器原理与基本执行环境第4章—现代微机存储管理方法:段式,页式,Cache现代微机原理与接口技术(第3版)10100.6本课程参考资料及课时安排教材:杨全胜主编,现代微机原理与接口技术(第3版),电子工业出版社,2012.12参考书:周明德主编,微机原理与接口技术(第2版),人民邮电出版社,2007IntelCo.,Intel®64andIA-32ArchitecturesSoftwareDeveloper’sManual,2011KipR.Irvine著,温玉杰等译,Intel汇编语言程序设计(第五版),电子工业出版社沈美明,温冬婵编著,IBM-PC汇编语言程序设计(第2版),清华大学出版社,2007现代微机原理与接口技术(第3版)110.6本课程参考资料及课时安排互联网46+16(4*4)现代微机原理与接口技术(第3版)120.7实验1.汇编语言的熟悉2.8259中断应用3.PCI-BIOS的访问4.PCI中断应用(选)5.8254定时器/计数器应用设计6.8237芯片实验(选)7.8255并行接口应用设计8.A/D转换现代微机原理与接口技术(第3版)130.8考试试卷考试出勤20%作业,课堂提问20%考试60%实验考试实验报告50%实验结果演示50%现代微机原理与接口技术(第3版)14第1章现代微机结构概述现代微机原理与接口技术(第3版)15硬件软件控制器运算器系统软件应用软件BIOS与操作系统WindowsXP、LinuxCPU存储器输入设备输出设备支撑软件汇编、编译、调试、数据库管理软件微机系统硬件是系统的硬平台,操作系统是系统的软平台,系统应用软件通常支撑用户软件的开发。1.1微机系统组成现代微机原理与接口技术(第3版)161.微机系统硬件系统1)运算器与控制器——CPU运算含义运算含义+算术加OR逻辑加-算术减NOT按位取反*算术乘NEG求补/算术除移位AND逻辑乘循环•指令预取单元•指令译码单元•控制单元•结果回写单元控制器运算器——算术逻辑单元,负责算术与逻辑运算现代微机原理与接口技术(第3版)172)存储器存储器是微机的存储和记忆装置,用来存放数据和程序。存储器分为内部存储器和外部存储器。微机的内部存储器也称内存或主存,8个二进制位为一个单元(字节),每个单元规定一个唯一的物理地址。•8位二进制位=1个字节(Byte)•1024(210)字节=1KB•1024KB(220字节)=1MB•230字节=1GB•240字节=1TB3)I/O设备与I/O接口现代微机原理与接口技术(第3版)184)微机的总线CPU地址总线(AB)RAMI/O接口I/O设备ROM数据总线(DB)控制总线(CB)•地址只能由CPU或DMA控制器发出到其他部件。•数据总线是双向的,其宽度决定了一次可以传送的二进制数据的位数。•控制信号每根都是单向的,或者传送CPU发出的控制信息、或者是部件发回的状态信息。现代微机原理与接口技术(第3版)19IA-32必有的控制信号(不一定都是CPU引脚信号):•时钟信号(CLK):同步各种操作的同步信号。•复位信号(RESET#、SYS_RESET#):使总线上各种部件全部做初始化处理。•中断请求(INTR):表示某中断源向处理器发中断请求。•中断响应(INTA#):表示中断请求被响应。•存储器读控制信号(MRDC#):表示要对所发地址的存储单元进行读操作。•存储器写控制信号(MWTC#):表示要对所发地址的存储单元进行写操作。•I/O读控制信号(IORC#):表示要对所发地址的端口做读操作。•I/O写控制信号(IOWC#):表示要对所发地址的端口做写操作。•总线请求信号(REQ#):总线主设备请求总线控制权。•总线允许信号(GNT#):总线仲裁机构允许了某设备的总线控制权请求。现代微机原理与接口技术(第3版)202.微机系统的软件系统裸机基本输入输出系统(BIOS)操作系统支撑软件应用软件硬件系统系统软件应用软件软件系统现代微机原理与接口技术(第3版)21a.直接访问特点:可以直接进行内存和端口的访问,也可以自行在CPU的各种工作模式间切换。通常所有的端口和内存都是对程序员开放的。工具:汇编语言或C语言。应用:BIOS都是基于这种低级层次用汇编来编写的。部分操作系统的驱动程序和部分用户程序也有使用这种方法的。优点:能够编写速度最快,占用空间最小的有效代码。缺点:需要对硬件和接口有很熟悉的了解。要会汇编,或熟练使用C语言的指针。不利于增加对新设备的控制。3.PC机环境下用户软件对外部硬件的访问方法现代微机原理与接口技术(第3版)22b.通过BIOS访问特点:通过BIOS提供的功能调用间接地对内存或端口访问,从而控制硬件。工具:汇编语言或C语言。应用:驱动程序有些会使用这些功能调用。需要获得高效率的应用程序也采用这种方法。优点:能够编写速度较快的有效代码。可以不需要编写直接对硬件进行控制的代码。缺点:需要对底层信号有所了解。增加对新设备的控制不是很方便,但好于直接访问。现代微机原理与接口技术(第3版)23c.使用操作系统提供的应用层访问特点:使用操作系统各种驱动程序所提供的功能调用或API函数间接对硬件或内存进行访问。工具:VC++、Delphi、Java、C#等。应用:编写面向终端用户的各类应用程序。优点:无需对硬件控制有太多了解,只需完成应用层面的工作就可以,而且还保证操作系统的完整与安全。缺点:需要了解大量的API和功能调用函数的功能。由于是间接调用,所以代码的效率和编译系统有很大的关系。现代微机原理与接口技术(第3版)24思考题除了冯诺依曼体系结构外,还有什么结构的计算机,其特点是什么?现代微机原理与接口技术(第3版)25高级语言源程序编译汇编语言源程序汇编二进制机器作业指令操作系统调度或BOOT引导二进制机器指令流CPU取指、译码、控制单元电路上的电信号直接控制CPU各部件运作通过接口电路控制外设运作1.2微机系统的工作原理与工作过程1.2.1从程序到电子信号现代微机原理与接口技术(第3版)2626部分X86指令与控制信号的关系指令产生的信号常用名含义INAL,21HIORC#IOR#读I/O端口OUT21H,ALIOWC#IOW#写I/O端口MOVAX,[21H]MRDC#MEMR#读内存MOV[21H],AXMWTC#MEMW#写内存•在Pentium及之前的处理器中有:表示存储器操作或I/O操作的IO/M#信号表示读信号有效的RD#表示写信号有效的WR#IO/M#RD#WR#产生的控制信号001MEMR#010MEMW#101IOR#110IOW#现代微机原理与接口技术(第3版)272.微机的工作过程微机的工作过程就是逐条执行进入到内存中的二进制机器指令流的过程。而一条指令的执行过程可以简单地分为两个操作阶段:1.取指阶段,CPU从内存中读取指令,程序计数器保存要被取出的下一条指令的地址,除非遇到跳转指令等情况,否则,PC一般都是在每次取指后加上一个增量(当前指令的字节数);2.执行阶段,对取出的指令先译码,解释指令的功能,然后执行译码好的指令,这期间可能会读写存储器或端口来获取操作数或者存放结果。程序的执行过程就是周期性和重复性地进行取指令和执行指令两个操作。现代微机原理与接口技术(第3版)28现代微机原理与接口技术(第3版)29每两个相邻的时钟脉冲上升(下降)沿之间的时间间隔称为T状态,也称为时钟周期(ClockCycle)TCPU与存储器或输入/输出端口进行一次数据传输所花费的时间称为一个总线周期(BusCycle)对于8088CPU,它的总线周期是其与存储器或输入/输出端口存取一个字节所花费的时间。执行一条指令所需要的时间称为指令周期(InstructionCycle)1.2.2微机系统工作时序现代微机原理与接口技术(第3版)30指令周期总线周期……(总线周期)时钟周期时钟周期时钟周期时钟周期…………单指令周期CPU的指令周期只包含一个时钟周期现代微机原理与接口技术(第3版)31PUSHAXINCBYTEPTR[DI]现代微机原理与接口技术(第3版)328088的典型总线周期现代微机原理与接口技术(第3版)33(1)、T1状态•M//IO信号:对存储器写还是对I/O设备中写数据