第一章微机接口技术概述要点:微机的组成和结构微机接口的基本概念接口的基本结构和I/O端口的编址方式CPU外设之间的传送方式接口的设计和分析方法微处理器的发展微处理器是微型计算机的核心部件,其性能在很大程度上决定了微型计算机的性能。以字长和功能来计,微处理器的发展经历了以下五个阶段:4位和低档8位微处理器:Intel4004、Intel8008成熟的8位微处理器:Intel8080、Zilog公司的Z-80和otorola公司的MC680016位微处理器:Intel8086/8088、80286、Zilog公司的Z8000和Motorola公司的MC6800032位微处理器:Intel80386、80486和Zilog公司的Z80000和Motorola公司的MC68030、68040等64位高档微处理器:PENTIUM系列1、1微机组成和结构微机系统由硬件部分和软件部分组成硬件部分包括主机和外部设备从结构上采用冯•诺伊曼结构,包括五大部件。软件包括系统软件和支撑软件和应用软件微型计算机结构1.微处理器2.存储器3.I/O接口和I/O设备4.系统总线控制总线CB数据总线DB地址总线AB微处理器I/O设备I/O接口存储器系统总线BUS微机的硬件结构(总线结构)PC系列微机的基本结构协处理器8087微处理器8088DRAM控制器ROMBIOS82378253定时/计数DMA页面寄存器825982508255扩展总线缓冲器8个62引脚扩展槽主板上RAMPC总线80386/80486微机的基本结构微处理器80386/486CACHE控制器CACHE主存80387(386才有总线控制器集成外围控制器实时钟/日历扩展总线控制器PC总线现代微机的基本结构现代微机采用pentium系列微处理器,其基本结构发生了革命性的变化,最主要的表现是改变了主板的总线结构。采用了三总线结构:即CPU总线、局部总线PCI和系统总线ISA总线三级总线之间通过多功能桥路芯片组相连。根据功能和连接方法,将这种基本结构划分为南北桥结构和中心结构。微型计算机的物理结构CPU北桥南桥RAMCacheAGPCRTBIOSKBD,Mouse串行/并行接口HDD/CDROM(IDE)FDDUSBPCIISA前端总线/CPU总线接口卡外设总线扩展槽主板上离CPU最近的一块芯片,负责与CPU的联系并控制内存,作用是在处理器与PCI总线、DRAM、AGP和L2高速缓存之间建立通信接口。北桥芯片提供对CPU类型,主频,内存的类型,内存的最大容量,PCI/AGP插槽等设备的支持。北桥起到的作用非常明显,在电脑中起着主导的作用,所以人们习惯的称为主桥(HostBridge)北桥芯片(NorthBridge)是主板芯片组中起主导作用的最重要的组成部分,也称为主桥(HostBridge)。一般来说,芯片组的名称就是以北桥芯片的名称来命名的,例如英特尔845E芯片组的北桥芯片是82845E,875P芯片组的北桥芯片是82875P等等。北桥芯片负责与CPU的联系并控制内存、AGP、PCI数据在北桥内部传输,提供对CPU的类型和主频、系统的前端总线频率、内存的类型(SDRAM,DDRSDRAM以及RDRAM等等)和最大容量、ISA/PCI/AGP插槽、ECC纠错等支持,整合型芯片组的北桥芯片还集成了显示核心。北桥芯片就是主板上离CPU最近的芯片,这主要是考虑到北桥芯片与处理器之间的通信最密切,为了提高通信性能而缩短传输距离。因为北桥芯片的数据处理量非常大,发热量也越来越大,所以现在的北桥芯片都覆盖着散热片用来加强北桥芯片的散热,有些主板的北桥芯片还会配合风扇进行散热。因为北桥芯片的主要功能是控制内存,而内存标准与处理器一样变化比较频繁,所以不同芯片组中北桥芯片是肯定不同的,当然这并不是说所采用的内存技术就完全不一样,而是不同的芯片组北桥芯片间肯定在一些地方有差别。由于已经发布的AMDK8核心的CPU将内存控制器集成在了CPU内部,于是支持K8芯片组的北桥芯片变得简化多了,甚至还能采用单芯片芯片组结构。这也许将是一种大趋势,北桥芯片的功能会逐渐单一化,为了简化主板结构、提高主板的集成度,也许以后主流的芯片组很有可能变成南北桥合一的单芯片形式(事实上SIS老早就发布了不少单芯片芯片组)。由于每一款芯片组产品就对应一款相应的北桥芯片,所以北桥芯片的数量非常多。针对不同的平台,目前主流的北桥芯片有以下产品(不包括较老的产品而且只对用户最多的英特尔芯片组作较详细的说明)南桥芯片(SouthBridge)是主板芯片组的重要组成部分,一般位于主板上离CPU插槽较远的下方,PCI插槽的附近,这种布局是考虑到它所连接的I/O总线较多,离处理器远一点有利于布线。相对于北桥芯片来说,其数据处理量并不算大,所以南桥芯片一般都没有覆盖散热片。南桥芯片不与处理器直接相连,而是通过一定的方式(不同厂商各种芯片组有所不同,例如英特尔的英特尔HubArchitecture以及SIS的Multi-Threaded“妙渠”)与北桥芯片相连。现代微机发展特点微处理器的性能不断增强微处理器支持芯片有规模小的单功能芯片组成的芯片组,发展为有大规模多功能芯片组成的芯片组主板总线结构发生变化保持向上兼容性1、2微机接口基本概念接口电路:CPU并不是与外部设备直接相连,而是经过一个中间电路进行连接,这一电路就称为接口电路,简称接口。由此可见,接口就是连接CPU与外设之间的部件,它在CPU与外设之间起到信息中转作用。接口的基本功能要能够根据CPU的要求对外设进行管理与控制,实现信号逻辑及工作时序的转换,保证CPU与外设之间进行可靠有效的信息交换。数据缓冲与转换功能设备选择和寻址联络功能接收、解释并执行CPU命令功能中断管理功能可编程功能错误检测功能接口的分类根据微机系统中接口所连接的形式和功能不同分为四种用户交互接口内务操作接口传感接口控制接口接口技术的现状及发展趋势由小规模集成电路构成的、功能简单的电路向功能强大的大规模集成电路发展。例如82380拥有8个32位的DMA通道、15个外部中断请求、5个内部中断请求和4个16位定时/计数器1、3接口的基本结构及端口编址方式1、3、1CPU与外设之间的信号数据信息⑴数字量:典型的数字量包括用二进制表示的字母、数据、BCD码、ASCII码等。⑵模拟量。在控制领域,对于随时间连续变化的物理量,如温度、湿度、压力、流量等,需要通过相应的传感器将其转化为对应的随时间连续变化的电流或电压,这样的电流或电压就称为模拟量。⑶开关量。开关量是指用高低电平就可以表示两个状态的信息。这样的量只要用1位二进制数表示就可以了2、状态信息状态信息反映了当前外设所处的工作状态,是外设通过接口往CPU传送的。对于输入设备来说,通常用准备好(READY)信号来表明输入的数据是否准备就绪;对于输出设备来说,通常用忙(BUSY)信号表示输出设备是否处于空闲状态。3、控制信息控制信息是CPU通过接口传送给外设的,CPU通过发送控制信息来控制外设的工作。以上三种信息从含义上说各不相同,应该分别传送。但计算机的CPU通过接口和外设交换信息时,往往把状态信息、控制信息看成是一种广义的数据信息,都通过数据总线来传送。因此,在接口中这三种信息要进入不同的寄存器。1、3、2接口电路的组成一个实际运行的接口由硬件和软件组成。硬件电路总线驱动地址译码控制逻辑数据寄存器控制寄存器状态寄存器外部设备CPU数据端口状态端口控制端口DB数据信号ABCB状态信号控制信号I/O接口外设接口的基本组成软件编程主要指设备接口程序(接口驱动程序)包括:初始化程序段传送方式处理程序段主控程序段程序终止与退出程序段辅助程序段1、3、3接口电路的结构形式1、固定式结构采用中小规模集成逻辑芯片按设计要求组合而成,工作方式和功能不变。2、半固定式结构3、可编程结构4、智能型结构专用I/O的处理器6.1.3I/O端口的编址接口电路占用的I/O端口有两类编排形式I/O端口单独编址I/O地址空间独立于存储地址空间如8086/8088I/O端口与存储器统一编址它们共享一个地址空间如MC6800理解端口I/O端口单独编址优点:I/O端口的地址空间独立控制和地址译码电路相对简单专门的I/O指令使程序清晰易读缺点:I/O指令没有存储器指令丰富内存空间I/O空间FFFFF0FFFF80x86采用I/O端口独立编址I/O端口与存储器统一编址优点:不需要专门的I/O指令I/O数据存取与存储器数据存取一样灵活缺点:I/O端口要占去部分存储器地址空间程序不易阅读(不易分清访存和访问外设)内存部分I/O部分存储器空间00000FFFFF0地址空间(共1MB)内存地址(960KB)I/O地址(64KB)FFFFFHEFFFFHF0000H1、4CPU和外设之间数据传送方式CPU和外设之间数据传送方式有三种:程序方式、中断方式、DMA方式程序传送方式程序传送方式是指CPU与外设之间的数据传送是在程序的控制下实现的。程序传送方式又可分为无条件传送和条件传送两种方式。无条件传送方式CPU不去查询外设的状态,而直接进行数据传输。无条件传送方式一般用在外设总是处于就绪状态的条件下进行的一种数据传送方式,一般适合于数据传送不太频繁的情况,如对于开关、数码显示器等一些简单外设的操作。流程条件传送方式条件传送方式也称程序查询方式。在数据传送之前,CPU要执行一段查询程序,不断读取并测试外设的状态,只有当外设处于准备就绪(指输入设备)或空闲状态(指输出设备)时,CPU才执行输入或输出指令进行数据传送,否则,CPU循环等待,直到外设准备就绪为止。流程开始读取设备状态准备就绪执行数据传送传送完毕结束NYYN①CPU测试外设当前的状态。②如果不为准备就绪,则循环等待,重复步骤①,否则执行步骤③。③CPU执行IN或OUT指令,进行一次数据传送④传送结束。例1某输出设备的状态端口地址为PST,状态端口的D0位为1,则表明准备好。数据端口的的地址为PDATA,采用条件传送1个字节。MOVDX,PSTL0:INAL,DXTESTAL,01HJZL0MOVAL,BLOUTPDATA,AL思考:传送多个字节怎么编程?程序查询方式的优点是硬件结构比较简单,程序控制方便;缺点是CPU效率较低,实时性较差,且对外部出现的异常事件无实时响应能力。虽然程序查询方式要比无条件传送方式可靠,但在程序查询方式中,CPU要不断地读取状态字来检测外设的状态,真正用于数据传送的时间实际很短,大部分时间是在查询等待,CPU效率很低,特别是当系统中有多个外设时,CPU必须逐个查询,而外设的工作速度各不相同,很显然CPU不能及时满足外设所提出的服务要求,实时性较差。1、4、2中断传送方式如果外设需要CPU为其服务时,则向CPU发出请求。CPU暂停正在执行的程序,转去为请求中断的外设(中断源)服务。中断服务完毕后,CPU又返回继续执行它原来的任务,即从原断点处继续执行程序。这种方法就称为中断传送方式。有关内容参阅第3章流程1、4、3DMA传送方式采用中断传送方式,CPU与外设交换数据在一定程度上提高了微型机的效率。但是,中断传送仍是依靠CPU通过执行中断服务程序来完成的,每传送一次数据,CPU就要执行一次中断操作,保护现场和保护断点,执行服务程序体,以及在中断返回前还要恢复现场和恢复断点。这对于一些高速的外设,如磁盘、磁带、数据采集系统等就不能满足传送速率上的要求。于是,就提出了一种新的数据传送控制方法,基本设想是:外设与内存之间的数据传送不经过CPU,传送过程也不需要CPU干预,在外设和内存之间开设直接通道由一个专门的硬件控制电路来直接控制外设与内存之间的数据交换,从而提高数据传送速度和CPU的效率,而且CPU仅在传送开始前和传送结束后花费很少的时间做一些初始化处理。这种方法就是直接存储器存取方式,简称DMA方式。用来控制DMA传送的硬件控制电路称为DMA控制器,简称DMAC。流程1、5接口设计与分析的基本方法1硬件设计方法用户接口的形式:插卡形式和通用接口