微型计算机接口技术与汇编语言(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-20 07:05:14

点击下载

作者:刘乐善主编

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

微型计算机接口技术与汇编语言

微型计算机接口技术与汇编语言试读:

前言

常常听到很多读者,特别是第一线的教师希望我在编写接口技术教材时,加入微机原理与汇编语言的内容,这样让学生在上接口技术之前有一些微机的基础知识,就比较容易接受,否则,接口技术课程就很难教。对于大家的这一建议,我一直未能采纳,原因很简单,一是这样安排内容会使接口技术教材变得很厚,教学计划的学时也不允许;二是微机原理和汇编语言这两门课程本来在一本学校均应该开的,似乎在接口技术中无必要重复。后来又有一些学校的教师反映,为了缩减教学计划的总学时,接口技术不单独开课,与微机原理和汇编语言合并,但目前缺乏这样的教材,希望我能够编一本以接口技术为主,又包含微机原理与汇编语言的教材,满足教学急需。这样我才开始考虑三门课程融为一体教材的编写计划,并定名为《微型计算机接口技术与汇编语言》。这就是本教材产生的背景,也是编写本教材的初衷与目标。

为了实现读者所希望的目标,既要把三门课程的核心内容包含其中,又不能搞成“三样拼盘”,而需要三者内容的有机结合与融会贯通。这样就不能沿用传统的编写方法,必须有新的思路。为此,我们在教材的定位,内容的取舍,重点的确定,三门课程知识点的内在联系及实际应用(应用举例)的贯通等方面进行深入分析与研究的基础上,提出本教材以接口技术为中心,以实际应用为主线,重点讲授三门课程的基本内容,为学生学习如何认识、分析、设计I/O设备接口的基本方法与技能提供一些帮助。

其实,要编好这样一本包含三门课程内容的教材确实存在不少困难,只有采取突出重点,保障基本,精简次要的办法组织教材。最后确定本书内容以微机接口技术为主,兼顾汇编语言程序设计以及微机工作基本原理,这样安排是考虑把汇编语言和微机原理作为接口技术的先行课,为接口技术服务,因此对汇编语言和微机原理只讲基本内容,不进行全面系统的介绍。

全书共5个模块分成15章以便于组织教学,它们是微机系统的基本组成及工作原理、汇编语言与程序设计、微机接口设计的支持技术、微机接口技术的基本内容、微机接口技术的高级内容模块(见目录)。对于只选择接口技术作为教学或对汇编语言和微机原理有基础的读者可以跳过前面两个模块 2~5章,直接从第3个模块第6章开始进入接口技术的内容。对接口技术又可以只选择接口的基本内容或高级内容进行学习与组织教学。

如果要说本教材有什么特点,那就是我们提出了接口技术分层次的概念,并以此组织接口技术教材,厘清和延伸了接口技术的内容。另外,作为教科书应该在传授知识的同时又传授获取知识的方法,我们对接口技术中的硬件对象采用编程模型方法来分析与应用,从而降低了学习硬件的难度,也算是本教材的另一个特点吧。至于教材内容是否能够满足读者的期望,这正是作者希望了解与今后努力的方向。

微机接口技术是一门实践性很强的课程,除了课堂理论学习之外,还需要强有力的实践性环节与之配合。为此,我们编写了实验教材,研制并推出了“微机接口与汇编语言实验平台”,适于配合课堂教学实验和课程设计、毕业设计、实习和实际动手能力的实训等多种实践环节。实验系统和本教材的内容紧密配合,相互补充,教材中举出的接口实例,可以通过实验平台进行实际操作和实验,真正做到课堂原理讲授和实践环节一脉相承。

本书由刘乐善主编,李畅编写了第14章和第15章的程序,刘学清编写第6章和第13章,其余章节由刘乐善编写。全书由刘乐善统稿。本书的出版得到了华中科技大学计算机科学与技术学院大力支持和得益于人民邮电出版社教材图书出版分社付出的辛勤劳动,特别是邹文波编辑的精心策划与给力,本教材才得以与读者见面。在此一并表示衷心的谢意。同时要特别感谢参考文献的作者,是他们提供了丰富多彩的技术文献。

由于编者水平有限和本书是初次尝试微机接口技术、原理、汇编语言三合一,对书中错误和不足之处,诚挚希望读者及专家赐正。编者2013年8月30日于喻园小区

第1章 概论

电子计算机是20世纪的先进科学技术成果之一。计算机的产生和应用,对其他科学技术发展的推动作用,以及对整个人类生活的影响程度是前所未有的,并且它的功能还在不断增强,应用领域还在不断扩展。可以说,现实生活中,计算机无处不在,无所不用。在21世纪“信息时代”,作为创造人类美好生活和人间奇迹的计算机科学技术,也必然是发展最为迅速,应用最为广泛,普及程度最高的“知识财富”。作为新世纪的科技人才,一定要学好、用好计算机科学知识,才能适应形势的要求。本章介绍微型计算机的基本系统、发展概况、工作原理、汇编语言的作用,以及微机接口技术的基本概念,使读者对微型计算机和微机接口技术有一个概括的了解,为学习以后的章节打下初步基础。

1.1 微型计算机系统及发展简介

1.1.1 微型计算机系统

一个微型计算机系统包括硬件和软件两个部分,如图1.1 所示。未配置软件,只有硬件部分的计算机叫做裸机,裸机是无法工作的。因此,人们常说的微型计算机是指包括微机硬件和软件的微型计算机系统,只有微型计算机系统才是具有实用价值的微型计算机(简称微机)。其中,有几个名词需要界定一下,以免混淆。

微处理器(Microprocessor——µP):它也称为微处理机。它是一个大规模集成电路芯片,其上包含了微型计算机的运算器、控制器和寄存器组、时钟电路等。这个芯片也叫做微型计算机的中央处理单元(Central Processing Unit——CPU)。

微型计算机(Microcomputer——µC):它是由微处理器、存储器、输入/输出接口、外部设备以及连接它们的系统总线所组成的裸机。它包括了微型计算机运行时所需的硬件支持。

微型计算机系统(Microcomputer System——µCS):裸机配置系统软件和应用软件后,就构成了一个完整的微型计算机系统。

图1.1所示的是微处理器、微型计算机和微型计算机系统三者之间的关系。图1.1 微型计算机系统

1.1.2 微型计算机发展简介

计算机虽然已经历了电子管、晶体管、集成电路和超大规模集成电路几代,功能有了极大的扩展,速度、性能有了极大的提高,但计算机的基本工作原理并没有多大改变,仍然是以运算器、控制器和寄存器组所构成的中央处理单元(CPU)为核心部件。微电子技术的发展所带来的大规模集成电路,为微型计算机的出现提供了条件。人们自然会想到把计算机的运算器、控制器和寄存器组集成到一个大规模集成芯片中,这就诞生了微处理器。1971年世界上第一台微处理器(4004)和微型计算机在美国旧金山南部的硅谷诞生,从而开创了微型计算机的新时代,为计算机的发展与应用开辟了一条崭新的途径,这是计算机科学划时代的进步。

从1971年Intel公司的产品4004作为微处理器诞生的标志起到1985年Intel公司发布的80386止,短短的15年间,微处理器已经经历了4位机、8位机、16位机和32位机这样的4代。从1985年起,Intel公司的32位芯片也经历了80386、80486、80586(通常称为Pentium,中文名为奔腾)、80686(称为 Pentium Pro,中文名为高能奔腾)几个阶段,这时还发展了具有多媒体指令的奔腾Pentium MMX,具有多媒体指令的 Pentium Pro 等。目前正在向 64 位芯片 Merced IA64 过渡,其发展速度更为迅速。

在这几十年里,Intel公司一直是最大的微处理器制造商,这一地位似乎不可动摇。它的微处理器的演变是整个微型计算机技术演变的一个具有代表意义的标志。

回想1946年,在美国诞生的世界上第一台电子计算机ENIAC,它2使用了18800个电子管和1500多个继电器,重达30t,占地150m,耗电150kW,每秒才完成5000次加法运算。若采用今天的集成电路技术,就可把这个庞然大物的功能集成到面积仅几十平方毫米的芯片上,制成单片微机。可见,计算机技术发展速度是何等惊人。

在研制和生产微处理器和微型计算机的众多公司中,除了Intel公司之外,Motorola、Zilog、Apple 等公司都做出了重要贡献。他们的产品对推动微型机的发展起了重要作用。IBM 公司于1981年推出的 IBM-PC(Personal Computer)个人计算机,是计算机发展史上的重要里程碑。从此,微型计算机才真正得到普及。我国独立自主研发成功的微处理器芯片——龙芯,其功能与技术已达到相当高的水平。

在谈到微型计算机的发展过程时,不得不提到Microsoft公司,正是该公司开发的MS-DOS,特别是Windows操作系统,不仅使微机的使用更加方便和容易,而且使微机的硬件资源潜力得到进一步发挥,这是一个具有划时代意义的微机软件操作系统的杰出成果。

1.2 微型计算机是怎样工作的

世界上的物理量、几何量、化学量都必须量化为数字数据才能进入计算机,并且最后转化为最简单的“0”和“1”两种形态的数字,才能被计算机认识和处理,这就是现代计算机称为数字计算机的原因。因此,微机的主要任务是进行数据(信息)的加工处理、数据的存储和数据的输入与输出,这里所说的数据(信息)包括数值、逻辑数据、文字符号、图形图像,声音、颜色等。那么,微机是怎样完成这些工作的,这就牵涉到微机的基本组成与工作原理。前面提到微机是一个微机系统,从硬件的角度至少包括4个成员——微处理器、存储器、I/O设备与I/O接口以及总线。它们以微处理器为主导,相互配合,协同工作,在软件(程序)的控制与驱动下,完成各种从简单到非常复杂的任务。下面简要介绍它的几个成员,看看它们怎样分工和在微机系统中所发挥的作用。

1.2.1 进行控制与数据加工处理的微处理器

微处理器是微机系统的核心和控制单元,通过执行存储在存储器中的指令,实现对数据的加工处理,以及对存储器的访问和对I/O设备的控制。

微处理器在微机系统中的主要工作是:用运算部件,进行算术和逻辑运算;用控制部件,控制指令的运行;用总线接口单元BIU与存储器和I/O之间交换数据。微处理器正是通过这样一系列看似简单的工作,来完成很复杂的操作和任务的。

谈到微处理器的内部结构时,不得不提到它的寄存器组,正是微处理器内部的这些寄存器为用户提供了实际使用微处理器的途径。所以,从应用的角度,可以把微处理器看作是一组可编程的寄存器,用户能够通过程序随时访问它们,以完成数据处理与控制任务,要熟悉与掌握它们的应用。

至今,微处理器内部的基本组成没有根本性的改变,但随着微电子技术的发展,在微处理器的设计中,采用了许多新技术,如Cache技术、流水线技术、多核技术等,目的是为了提高速度,扩大功能,增强处理能力。

1.2.2 完成数据记忆存储的存储器

存储器作为计算机的记忆部件,完成数据(信息)的存储。程序员编写的程序,程序中所用的数据、地址及运算结果都存放在存储器内,是微机系统不可缺少的组成部分。

存储器不在微处理器内部,而是微处理器外部存放程序代码和数据的空间,两者之间隔着总线,所以微处理器从存储器取指令或取操作数,都要通过总线才行。因此访问存储器比访问微处理器内部寄存器要慢得多。

对存储器的管理与使用是一个很重要的问题,即所谓的存储器的管理机制。微机采用分段与分页的办法来管理与使用存储器,把存储器空间划分为几个段,如数据段 DS(Data Segment)。操作系统也是按段分配存储空间给用户程序存放代码或数据,因此,程序员编写程序时,要在程序的开头设置各段寄存器,以申请需要用到哪几个段。采用存储器分段以及按“段+偏移”寻址存储器的技术,对用户实际使用存储器和进行汇编语言编程非常重要,要切实掌握。

现代微机系统对存储器的要求是存取速度更高、存储容量更大、安全性更好,以满足图形图像处理、支持多任务的需要,因此出现了Cache技术、虚拟存储器技术,以及存储器保护功能的优先级。这说明存储器不只是一个简单的存放信息的地方,而对信息的安全性、存储容量的可任意扩展性有了新的要求,因此在描述存储器时,除了存储器的段长度之外,还必须赋予存储器一些新的属性,这使存储器的管理与应用越来越复杂,除了分段管理,还采用新的分页管理模式。

1.2.3 实现数据输入输出的 I/O 设备与接口

I/O 设备是计算机一切原始数据(信息)的来源地,也是微处理器加工后的结果信息的目的地,如果没有I/O设备,计算机就如同一个既没有原料来源,也没有成品输出的工厂。

然而,I/O设备的原始数据(信息)表现形式很复杂,显然,这些五花八门的I/O信息是不能直接进入微机系统的。这就需要一个转换层把来自设备的I/O信息转换成微处理器能接受的标准信息,反过来,也需要将微处理器的标准信息转换为适合于I/O设备使用的信息。这个转换层就是I/O设备接口。

值得一提是I/O设备的逻辑概念,人们所看到的键盘、显示器、打印机、磁盘机等都是物理概念上的I/O设备,但在操作系统和微处理器处理I/O设备相关问题时,则是把I/O设备抽象为逻辑概念。例如,微处理器把I/O设备抽象为接口中的端口,这样一来,在程序中CPU与端口交换信息,就是与I/O设备交换信息。又如,操作系统和设备驱动程序把设备抽象为文件,为相关信息的集合提供按文件名进行管理的手段。显然,使用设备的逻辑概念是为了软件编程的需要,也是使复杂问题简单化处理的一种手段。

接口技术分层次的新概念是现代微机接口技术很重要的新特点,把接口分为用户接口与总线接口两个层次。这一新概念的提出对厘清接口技术的内容和延伸接口技术研究的范围具有重要意义,它是本教材的创新点,也是我们组织接口技术内容的指导思想。

1.2.4 提供数据通路的总线

总线是微处理器、存储器和I/O设备之间数据(信息)流动的通路,是微机系统的重要成员。CPU通过总线传送运行程序所需要的地址、数据及控制(指令)信息,因此,总线最基本的任务是进行微机系统各成员之间的连接与传输信息。

现代微机总线技术与传统的微机总线不同,出现了许多新技术、新概念与新名词术语,例如,多总线技术,总线结构层次化,总线桥,配置空间,即插即用,PCI总线及PCI设备等。

要特别注意的是总线结构的变化对接口带来的影响,因为接口是经过总线与微处理器连接的,微机系统采用的总线改变了,接口设计也一定要做相应的改变。自从现代微机系统中采用PCI总线开始,就出现了多总线,也就产生了总线之间的连接问题。因此,当把一个设备连接到微机系统时,除了传统的面向设备的接口之外,还需要面向总线之间的接口(总线桥)。为此,本教材提出接口技术分层次的新概念,把接口分为用户设备接口与总线接口两个层次,以适用现代微机多总线结构下接口技术的发展要求。

1.3 汇编语言在微机系统中的作用

1.3.1 为什么要讲汇编语言

目前各种高级语言层出不穷,而且功能都很强,讲汇编语言还有没有必要?回答是有必要,但内容需调整与精简。

汇编语言的产生是为了对计算机系统硬件设备的操作进行一一对应的直接控制,因此用它编程执行的速度快、效率高,这一特点是高级语言无法相比的。在本教材中安排汇编语言是为了讲解接口技术,而接口技术最后都要落实到对各种各样硬件设备的实时监测与控制。因此我们认为用汇编语言来描述与编程控制微机接口技术的I/O设备不仅必要而且是很合适的,同时,用它编程解决接口技术问题也正是汇编语言发挥作用与优势的用武之地。

学习汇编语言为什么感到难?大家知道,I/O 设备的操作细致入微,过程复杂,唯有汇编语言能够描述与控制设备细微而复杂的操作,其他任何一种高级语言都难于做到对设备具体细节的控制。换句话说,汇编语言的思路是跟着设备的实际操作步骤走的,高级语言的思路是跟着人的逻辑思维走的,正因为如此,使学习汇编语言比学习高级语言感到困难些。其实,一旦你对设备的工作原理与实际操作的具体细节搞清楚了,再用汇编语言去描述与控制它就不会感到困难了,反而觉得软件与硬件是那么贴近、真实!一种驾驭被控设备于“股掌”之中的感觉油然而生。关键是对底层硬件细节的了解,这也是学习微机硬件部分无法回避的现实问题,因此要树立信心,迎难而上。其次是要讲究方法,在处理微机系统硬件问题时可采用软件模型法,或叫做硬件设备编程模型法,将在第2章介绍;还可采用C++语言程序段和汇编语言程序段对照,帮助具备C++语言基础的读者更容易地理解汇编语言。

当然,汇编语言的短处也显而易见,例如,汇编语言程序依附底层硬件因而可移植性差;受制于结构化程序设计思想的影响,不利于面向对象的程序设计方法的应用;直接面向设备细节编程的难度大,尤其不利于大程序设计。为此,本教材接口设计实例中的汇编语言程序(段)都有相应的C语言程序(段),以供阅读与对比。

1.3.2 讲汇编语言的哪些内容

在其他高级语言强大优势的挤压下,当今讲汇编语言的内容与传统教材应有所不同。首先,把重点放在对底层硬件设备的控制上,发挥汇编语言的长处,尤其不宜讲用于数据处理或界面设计等汇编语言的短处。其次,要把时间放到基本的与常用的指令、寻址方式及汇编语言程序编写方法的训练上,而非面面俱到。下面是本教材关于汇编语言将要重点讨论的内容。

1.指令——指示计算机做什么操作

指令是直接指挥计算机进行什么操作(工作)的命令,指令集是一系列的命令。指令大体可分成两大类:机器指令和伪指令,两者分工配合。另外,还有宏指令,本书不做介绍,可参考文献[5][6]。

机器指令,即通常所说的指令,其特点是经汇编程序翻译,最后生成机器代码(目标程序),由微处理器执行。机器指令用于完成用户程序既定任务,实现用户程序设计的目标,程序中的指令与一序列具体操作对应,因此汇编产生的机器代码保存在存储器中,以便随时取出执行。

伪指令是汇编控制命令,每一条汇编控制命令对应一段处理程序。用户程序中的伪指令只在汇编程序把源程序翻译成目标程序的过程中使用,其作用是告诉汇编程序:用户程序从哪里开始,到何处结束;用户程序要求使用哪几个寄存器;用户程序需要多大的存储器空间等信息。它为汇编过程服务,不产生机器代码,在将源程序翻译成目标程序后,就不存在了。

2.寻址方式——引导计算机如何寻找操作数

指令操作的对象是操作数,绝大多数情况下,操作数并未直接放在程序中(立即数除外),而是放在别的地方,需要使用数据时临时去找,因此就出现如何寻找操作数,即操作数寻址的问题。存放操作数的地方,一般有3种类型的地址:微处理器的寄存器,接口电路的端口,以及存储器的存储单元。前两种寻址方式比较单一,后一种存储器寻址比较复杂,因而针对如何寻找存储器的地址引出了多种寻址方式,最常使用的是寄存器寻址和寄存器间接寻址方式。寻址方式是汇编语言的难点,但也是基本内容,要切实掌握。

3.程序结构——编写汇编语言源程序的书写格式

程序结构是指按某种约定书写源程序的格式,汇编语言源程序有完整段定义结构、程序段前缀结构、COM 文件结构和简化段定义结构 4 种结构形式,其中,完整段定义结构最为常用,程序段前缀结构较常用,COM 文件结构在程序简短时采用,简化段定义结构较少使用,用户可根据情况和自己的习惯选用不同的程序结构。

4.程序设计方法——描述汇编语言程序执行的走向

程序设计方法描述程序执行的走向或流程,一般有顺序、分支、循环、子程序等几种方法。实际上它们都是一些程序段(子模块),包含在一个完整的源程序中。有的源程序只有一种子模块,有的可能有几种,根据程序设计的不同目标与要求,选取不同的方法进行描述与控制。这些汇编语言程序设计的方法,在表述形式上与高级语言程序中的不一样,但在本质上——程序的目的及执行结果——是基本相同的。

1.4 微型计算机接口技术的概念

在微机系统中,微处理器的强大功能必须通过外部设备(简称外设)才能实现,而外设与微处理器之间的信息交换及通信又是靠接口来实现的,接口技术已成为直接影响微机系统的功能和微机推广应用的关键之一,也是嵌入式微机应用的基础技术。因此,微机接口技术已成为当代理工科大学生必须学习的一种基本知识和科技与工程技术人员必须掌握的基本技能。本书讨论以PCI为中心的多总线结构和Windows系统下的微机接口技术及应用。

1.4.1 微机接口技术的作用与基本任务

1.接口在微机系统中的作用

在微机系统中,接口处于微机总线与设备之间,进行CPU与设备之间的信息交换。接口在微机系统所处的位置决定了它在 CPU 与设备之间的桥梁与转换作用,接口与其两侧的关系极为密切。因此,接口技术是随CPU技术及总线技术的变化而发展的,当然,与被连接的设备密切相关,尤其与总线的关系密不可分,也就是说,微机系统的总线结构不同,与其相连的接口层次就不同。

在实际应用中,人们总是利用接口来加入用户自己的设备或模块构成应用系统,可见接口技术是应用系统开发必不可少的关键技术。

2.接口技术的基本任务

接口技术的基本任务有两条:通过接口实现设备与总线的连接;连接起来以后,CPU通过接口对设备进行访问,即操作或控制设备。因此,接口技术的内容就是围绕设备与总线如何进行连接以及CPU如何通过接口对设备进行操作展开的。这涉及接口两端的连接对象及通过什么方式与途径去访问设备等一系列的问题。

例如,对设备的连接问题,涉及微机的总线结构是单总线还是多总线;对设备的访问问题,涉及微机的运行环境操作系统是DOS还是Windows或LINUX。这些都是接口技术需要进行分析和讨论的内容。

1.4.2 微机接口技术的层次与内容

从早期 PC 微机发展到现代微机,影响接口变化的主要有两大因素。一是总线结构不同,属于硬件上的变化。早期微机是单总线,只有一级总线,即ISA总线;现代微机是多总线,有三级总线,即 Host 总线、PCI 总线、用户总线(如 ISA)。二是操作系统不同,属于软件上的变化。早期微机上运行的是DOS系统,现代微机上运行的是Windows系统,嵌入式微机上一般是运行LINUX系统。

这种变化使现代微机接口在完成连接设备和访问设备的任务时产生了根本不同的处理方法,形成了接口分层次的概念,把接口分为上层设备接口与下层总线接口两个层次。这大大促进了接口技术的发展,丰富了接口技术的内容。

接口分层次是微机接口技术在观念上的改变,是接口技术随总线技术的发展而提升的新概念。在考虑设备与CPU连接时,不能停留在过去传统观念上,而必须面向两个不同层次的总线进行接口设计,这是学习现代微机接口技术与早期微机接口技术的差别之处。

1.总线结构的改变,使得接口在连接设备时在硬件上要分层次

早期微机采用单级总线——ISA总线,设备与ISA总线之间只有一层接口。现代微机采用多级总线,总线与总线之间用总线桥连接,例如,PCI总线与ISA总线之间的接口称为PCI-ISA桥。因此,除了设备与ISA总线之间的那一层设备接口之外,还有总线与总线的接口——总线桥。在这种情况下,作为连接总线与设备之间的接口就不再是单一层次的,就要分层次了。设备与 ISA总线之间的接口称为设备接口;PCI总线与ISA总线之间的接口称为总线接口。与早期微机相比,现代微机的外部设备进入系统需要通过两级接口才行,即通过设备接口和总线接口把设备连接到微机系统。

2.操作系统的改变,使得通过接口访问设备时在软件上也要分层次

早期微机采用DOS操作系统,应用程序享有与DOS操作系统同等的特权级,因此,应用程序可以直接访问和使用系统的硬件资源,毫无阻碍。现代微机在使用Windows操作系统时,由于保护机制,不允许应用程序直接访问硬件,在应用程序与底层硬件之间增加设备驱动程序,应用程序通过调用驱动程序去访问底层硬件,把设备驱动程序作为应用程序与底层硬件之间的桥梁。因此,在访问用户新添加的设备时除了写应用程序之外,还要写设备驱动程序。在Windows操作系统下,作为操作与控制设备的接口程序就不再是只有单一的应用程序了,程序也要分层次。访问设备的MS-DOS程序和Win32程序称为上层用户态应用程序,直接操作与控制底层硬件的程序称为底层核心态驱动程序。与早期微机相比,现代微机对外部设备的操作与控制需要通过两层程序才行,即通过应用程序和设备驱动程序才能访问设备。

3.微机接口技术的内容

按照接口分层次的概念,不难把接口技术的内容分为两部分:一部分是接口的上层,包括设备接口及应用程序,构成接口的基本内容;另一部分是接口的下层,包括总线接口及设备驱动程序,构成接口的高级内容。这两部分是现代微机接口技术的整体内容,或者说一个完整的接口是由基本内容和高级内容构成的。

下面先讨论微机接口技术的基本概念,然后在此基础上介绍对微机接口技术中硬件的处理方法——软件模型方法。

1.4.3 微机接口技术的基本概念

1.设备接口与总线桥

设备接口(Interface),是指I/O设备与本地总线(如ISA总线)之间的连接电路并进行信息(包括数据、地址及状态)交换的中转站。例如,源程序或原始数据要通过接口从输入设备送进去,运算结果要通过接口向输出设备送出来;控制命令通过接口发出去,现场状态通过接口取进来,这些来往信息都要通过接口进行变换与中转。这里的I/O设备包括常规的I/O设备及用户扩展的应用系统的接口。可见,I/O设备接口是微机接口中的用户层的接口。

总线桥(BUS Bridge),是实现微处理器总线与 PCI 总线,以及 PCI 总线与本地总线之间的连接与信息交换(映射)的接口。这个接口不是直接面向设备,而是面向总线的,故称为总线桥,例如,CPU总线与PCI总线之间的Host桥(北桥),PCI总线与ISA之间的Local桥(南桥)等。系统中的存储器或高速设备一般都可以通过自身所带的总线桥挂到Host总线或PCI总线上,实现高速传输。

早期的PC微机采用的是单级总线,只有一种接口,即I/O设备接口,所有I/O设备和存储器,也不分高速和低速都通过设备接口挂在一个单级总线(如ISA总线)上。

现代微机采用多总线,出现了I/O设备接口和总线桥两种接口,外部设备分为高速设备和低速设备,分别通过两种接口挂到不同总线上。正是因为现代微机采用了多总线技术,引起不同总线之间的连接问题,使得现代微机系统的I/O设备和存储器接口的设计变得复杂起来。

2.设备接口(1)为什么要设置I/O设备接口

为什么在本地总线(如ISA总线)与I/O设备之间设置接口电路?有这样几个方面的原因:其一,微机的总线与I/O设备两者的信号线不兼容,在信号线的功能定义、逻辑定义和时序关系上都不一致;其二,CPU与I/O设备的工作速度不兼容,CPU速度高,I/O设备速度低;其三,若不通过接口,而由CPU直接对I/O设备的操作实施控制,就会使CPU穷于应付与I/O设备打交道,从而大大降低CPU的效率;其四,若I/O设备直接由CPU控制,也会使I/O设备的硬件结构依赖于CPU,对I/O设备本身的发展不利。因此,有必要设置具有独立功能的接口电路,以便协调CPU与I/O设备两者的工作,提高CPU的效率,并有利于I/O设备按自身的规律发展。(2)I/O设备接口的功能

I/O设备接口是CPU与外界的连接电路,并非任何一种电路都可以叫做接口,它必须具备一些条件或功能,才称得上是接口电路。那么,接口应具备哪些功能呢?从完成CPU与外设之间进行连接和传递信息的任务来看,一般有如下功能。

① 执行 CPU 命令。

CPU对被控对象外设的控制是通过接口电路的命令寄存器解释与执行CPU命令代码来实现的。

② 返回外设状态。

接口电路在执行CPU命令过程中,外设及接口电路的工作状态是由接口电路的状态寄存器报告给CPU的。

③ 数据缓冲。

在CPU与外设之间传输数据时,主机高速与外设低速的矛盾是通过接口电路的数据寄存器缓冲来解决的。

④ 信号转换。

微机的总线信号与外设信号的转换是通过接口的逻辑电路实现的,包括信号的逻辑关系、时序配合及电平匹配的转换。

⑤ 设备选择。

当一个CPU与多个外设交换信息时,通过接口电路的I/O地址译码电路选定需要与自己交换信息的设备端口,进行数据交换或通信。

⑥ 数据宽度与数据格式转换。

有的外设(如串行通信设备)使用串行数据,且要求按一定的数据格式传输,为此,接口电路就应具有数据并-串转换和数据格式转换的能力。

上述功能并非每种接口都要求具备,对不同的微机应用系统,其接口功能不同,接口电路的复杂程度大不一样,应根据需要进行设置。(3)I/O设备接口的组成

一个能够实际运行的I/O设备接口,由硬件和软件两部分组成。其中,硬件电路一般包括接口逻辑电路(由可编程接口芯片实现)、端口地址译码电路及供选择的附加电路等部分;软件编程主要是接口控制程序,即上层用户应用程序的编写,包括可编程接口芯片初始化程序段、中断或DMA 数据传输方式处理的程序段、对外设主控程序段及程序终止与退出程序段等。上层用户应用程序对Windows操作系统而言有MS-DOS和Win32两种形式。(4)I/O设备接口与CPU交换数据的方式

I/O设备接口与CPU之间的数据交换,一般有查询、中断和DMA三种方式。不同的交换方式对微机接口的硬件设计和软件编程会产生比较大的影响,故接口设计者对此颇为关心。三种方式简要介绍如下。

① 查询方式。

查询方式是 CPU 主动去检查外设是否“准备好”传输数据的状态,因此,CPU 需花费很多时间来等待外设进行数据传输的准备,工作效率很低。但查询方式易于实现,在CPU不太忙的情况下,可以采用。

② 中断方式。

中断方式是I/O设备做好数据传输准备后,主动向CPU请求传输数据,CPU节省了等待外设的时间。同时,在外设做数据传输的准备时,CPU可以运行与传输数据无关的其他指令,使外设与CPU并行工作,从而提高CPU的效率。因此,中断方式用于CPU的任务比较忙的场合,尤其适合实时控制及紧急事件的处理。

③ DMA(直接存储器存取)方式。

DMA 方式是把外设与内存交换数据的那部分操作与控制交给DMA控制器去做,CPU只做DMA传输开始前的初始化和传输结束后的处理,而在传输过程中CPU不干预,完全可以做其他的工作。这不仅简化了CPU对输入/输出的管理,更重要的是大大提高了数据的传输速率。因此,DMA方式特别适合高速度、大批量数据传输。(5)分析与设计I/O设备接口电路的基本方法

① 两侧分析法。

I/O设备接口是连接CPU与I/O设备的桥梁。在分析接口设计的需求时,显然应该从接口的两侧入手。CPU一侧,接口面向的是本地总线的数据、地址和控制三总线,情况明确。因此,主要是接口电路的信号线要满足三总线在时序逻辑上的要求,并进行对号入座连接即可。

I/O 设备一侧,接口所面对的是种类繁多、信号线五花八门、工作速度各异的外设,情况很复杂。因此,对I/O设备一侧的分析重点放在两个方面:一是分析被连I/O设备的外部特性,即外设信号引脚的功能与特点,以便在接口硬件设计时,提供这些信号线,满足外设在连接上的要求;二是分析被控外设的工作过程,以便在接口软件设计时,按照这种过程编写程序。这样,接口电路的硬件设计与软件编程就有了依据。

② 硬软结合法。

以硬件为基础,硬件与软件相结合是设计I/O设备接口电路的基本方法。

● 硬件设计方法。

硬件设计主要是合理选用外围接口芯片和有针对性地设计附加电路。目前,在接口设计中,通常采用可编程接口芯片,因而需要深入了解和熟练掌握各类芯片的功能、特点、工作原理、使用方法及编程技巧,以便合理地选择芯片,把它们与微处理器正确地连接起来,并编写相应的控制程序。

外围接口芯片并非万能,因此,当接口电路中有些功能不能由接口的核心芯片完成时,就需要用户添加某些电路,予以补充。

● 软件设计方法。

接口的软件设计,对用户层来讲,实际上就是接口用户程序的编写。现代微机接口用户程序的编写通常有四种方法,分别在两种不同操作系统(DOS和Windows)的环境下编写程序。其中,在DOS环境下有三种方法。

其一是直接对硬件编程。一般而言,对用户应用系统的接口,用户程序应直接面向硬件编程,以便充分发挥底层硬件的潜力和提高程序代码的效率。但这样就要求设计者必须对相应的硬件细节十分熟悉,这对一般用户难度较大。同时,由于直接对硬件编程会造成接口用户程序对硬件的依赖性,可移植性差。

另外两种方法是采用BIOS调用和DOS系统功能调用编程。如果在用户应用程序中,涉及使用系统资源(如键盘、显示器、打印机、串行口等),则可以采用BIOS和DOS调用,而无须做底层硬件编程。但这只是对微机系统配置的标准设备有用。而对接口设计者来说,常常遇到的是一些非标准设备,所以需要自己动手编写接口用户程序的时候更多。

在Windows环境下,接口用户程序是利用Win32的API调用来编写的。

3.总线桥(1)总线桥与I/O设备接口有什么不同

首先,总线桥与接口的区别是连接对象不同。接口连接的是I/O设备与本地总线(用户总线),总线桥连接的是总线与总线(如本地总线与PCI)。其次,传递信息的方法不同。接口是直接传递信息,接口两端的信息通过硬件传递,是一种一一对应的固定的关系。桥是间接传递信息,桥两端的信息是一种映射的关系,并非通过硬件一一对应的直接传输,即由软件建立起来的映射规则实现,可动态改变。

正是由于这些不同的特点,使得设备接口与总线接口的复杂程度、技术难度及设计理念与设计方法存在很大的差别。(2)总线桥的任务

总线桥的任务有三点。一是负责总线与总线之间的连接与转换。由于不同总线的数据宽度、工作频带及控制协议不同,故在总线之间必须有“桥”过渡,即要使用总线桥。桥是一个总线转换器和控制器,桥的内部包含一些相当复杂的兼容协议及总线信号和数据的缓冲电路,可实现不同总线的转换。

二是完成资源信息的传递。由于PCI总线与本地总线(如ISA)代表完全不同的两种系统,因此,本地的资源信息(包括地址空间、中断及 DMA)与 PCI 的资源信息不能直接传输,而必须经过PCI桥进行映射,桥内部的配置空间可以把一条总线上的资源信息映射到另一条总线上。

三是支持即插即用。为操作系统进行资源动态分配,实现设备的即插即用提供支持,桥的配置空间,提供了进行硬件资源的重新分配的场所。(3)总线桥接电路

桥可以是一个独立的电路,即一个单独的、通用的总线桥芯片。不少厂家推出了一系列单独的通用PCI接口芯片,如PLX9054、S5933等,供用户开发PCI插卡选用。

桥也可以与内存控制器或I/O设备控制器组合在一起。为了使高速I/O设备能直接与PCI总线连接,一些I/O设备专业厂商推出了一大批PCI总线的I/O设备控制器大规模集成芯片。这些芯片具有独立的处理能力,并带有PCI接口,以这些芯片为基础,生产出许多PCI总线I/O设备插卡,如视频图像卡、高速网络卡、多媒体卡及高速外存储设备卡(SCSI控制器、IDE控制卡)等。将高速I/O设备通过桥挂到PCI总线上,共享PCI总线提供的各种性能优越的服务,能大大提高系统的性能。

1.4.4 微机接口技术的发展概况

正如前面所说,接口技术的发展是随着微机体系结构(CPU、总线、存储器)和被连接的对象,以及操作系统应用环境的发展而发展的。当接口的两端及应用环境发生了变化,作为中间桥梁的接口也必须变化。这种变化与发展,过去是如此,今后仍然如此。

早期的计算机系统,接口与设备之间无明显的边界,接口与设备控制器做在一起。到8位微机,在接口与设备之间有了边界,并且出现了许多“接口标准”。8/16 位微机系统,接口所面向的对象与环境是XT/ISA总线、DOS操作系统。现代微机系统,接口所面向的对象与环境是PCI总线、Windows操作系统。这使得接口技术面临许多新技术、新概念与新方法,而且层次结构复杂得多。下面简要地说明接口技术的变化发展过程。

在早期的计算机系统中并没有设置独立的接口电路,对外设的控制与管理完全由CPU直接操作。这在当时外设品种少、操作简单的情况下,可以勉强由CPU承担。然而,由于微机技术发展,其应用越来越广泛,外设门类、品种大大增加,且性能各异,操作复杂,因此,不设置接口就不行了。首先,如果仍由CPU直接管理外设,会使主机完全陷入与外设打交道的沉重负担之中,主机的工作效率变得非常之低。其次,由于外设种类繁多,且每种外设提供的信息格式、电平高低、逻辑关系各不相同,因此,主机对每一种外设就要配置一套相应的控制和逻辑电路,使得主机对外设的控制电路非常复杂,而且是固定的连接,不易扩充和改变,这种结构极大地阻碍了计算机的发展。

为了解决以上矛盾,开始在CPU与外设之间设置了简单的接口电路,后来逐步发展成为独立功能的接口和设备控制器,把对外设的控制任务交给接口和设备控制器去完成,这样大大地减轻了主机的负担,简化了CPU对外设的控制和管理。同时,有了接口之后,研制CPU时就无须考虑外设的结构特性如何,反之,研制外设时也无须考虑它是与哪种CPU连接。微处理器与外设按各自的规律更新,形成微机本身和外设产品的标准化和系列化,促进了微机系统的发展。

随着微机的发展,微机接口经历了固定式简单接口、可编程复杂接口和功能强大的智能接口几个发展阶段。各种高性能接口标准的不断推出和使用,超大规模接口集成芯片的不断出现,以及接口控制软件的固化技术的应用,使得微机接口向更加智能化、标准化、多功能化及高集成度化的方向发展。目前,又流行一种紧凑的I/O子系统结构,就是把I/O接口与I/O设备控制器及I/O设备融合在一起,而不单独设置接口电路,正如高速I/O设备(硬盘驱动器和网卡)中那样。

由于微机体系结构的变化及微电子技术的发展,目前微机系统所配置的接口电路的物理结构也发生了根本的变化,以往在微机系统板上能见到的一个个单独的外围接口芯片,现在都集成在一块超大规模的外围芯片中,也就是说原来的这些外围接口芯片在物理结构上已“面目全非”。但它们相应的逻辑功能和端口地址仍然保留下来,也就是说在逻辑上与原来的是兼容的,以维持在使用上的一致性。因此,尽管微机系统的接口电路的物理结构发生了变化,但用户编程时,仍可以照常使用它们。

值得注意的是,尽管外设及接口有了很大的发展,但比起微处理器的突飞猛进,差距仍然很大。在工作速度、数据宽度及接口芯片的集成度等方面,尤其是数据传输速率方面,还存在尖锐的矛盾。首先,近几年来,研究和推出了不少新型外设、先进的总线技术、新的接口标准及芯片组,正是为了解决微机系统I/O的瓶颈问题。相信今后还会出现功能更强大、技术更先进、使用更方便的外设及接口标准。其次,微处理器、外设及接口在微机系统中所起的作用不同,因而对它们的要求也不一样。例如,8 位数据宽度,对目前的一般工业系统的外设及接口基本上可以满足要求,不像微处理器内部进行数据处理那样,要求32位或64位。最后,集成度的增加与物理结构上的改变,并不意味着否定逻辑功能上的兼容性。有人说,现在机箱的主板上已找不到单个外设接口芯片,它们都已集成到超大规模的外围接口芯片中去了,因此,现在还讨论单个的外设接口芯片没有什么意思。其实,在后开发的高档微机上,虽然集成度增加,物理结构改变了,但为了与先行的微机兼容,特别是与为数众多的外设兼容,一些接口电路的逻辑端口及命令格式均可以沿用。从学习的角度来看,接口技术的初学者只能从基本接口电路开始,而这些单个接口芯片能很好地反映各种基本接口电路的工作原理、方法及特点。

目前,越来越多的接口设计人员,采用大规模可编程逻辑阵列芯片把多个接口电路集中做在一个芯片中,例如,用一个FPGA或CPLD芯片设计包含并行接口、串行接口,定时计数器,以及I/O端口地址译码电路。但前提是首先要深入了解这些单个接口的功能及工作原理,否则这种设计无从谈起。

1.4.5 分析微机硬件的软件模型方法

微机接口技术离不开或免不了与各种芯片、器件、设备打交道,这也是有些读者学习接口技术时颇感困难的部分,这主要有以下几点原因。一是硬件基础知识不够,如电子技术、数字逻辑等先行课没有上过或实践太少。二是有畏惧心理,一见到芯片,尤其是复杂的芯片就不知如何下手,觉得很难。遇到这种情况怎么办?首先,下定决心,要学习接口,就无法回避与硬件打交道,要学好接口就要去了解与熟悉相关的硬件知识。其次是不要畏惧硬件技术,其实它和软件技术一样,是完全可以熟悉与掌握的。其三是讲究方法。与接口技术息息相关的微机系统所包括的微处理器、存储器、接口芯片及总线桥,特别是微处理器和总线桥,其内部逻辑结构非常复杂,而且更新换代很快。面对如此庞大而复杂的硬件资源,应采用何种方法来处理,就成为现代微机接口技术中必须考虑的问题。本书采用软件模型的方法。

所谓软件模型,是对任何一种硬件对象,如一个接口芯片(不管是复杂的还是简单的),主要是了解、掌握芯片的功能、外部特性和编程使用方法,而不在意其内部结构。芯片的功能是制定接口设计方案时选择芯片的依据,了解了芯片的功能后,就可以知道采用什么样的接口芯片更合适;芯片的外部特性是接口硬件设计时如何进行连接的依据,了解了外部特性后,就可以知道芯片怎样在系统中进行连接;芯片的编程使用方法是接口软件设计时如何进行编程的依据,了解了编程使用方法后,就可以知道怎样编程来实现芯片的功能,因此软件模型,也叫做编程模型。更具体地说,软件模型是指芯片内部对外开放可编程的寄存器及其命令状态数据格式和分配给寄存器的端口地址。

软件模型方法的实质是强调对硬件对象的应用,而不在意其内部结构,这大大简化了对硬件对象复杂结构的了解,而又不失对硬件的应用。

本书提出的这种从应用的角度了解硬件外部特性和编程用法而不在意内部硬件细节的方法,也是当前硬件系统设计(或硬件系统集成)与分析时常用的方法,微机接口技术课程更应该如此,因为它与电子线路、数字逻辑或计算机组成原理等课程教学目的与要求不同,它更注重系统,而对系统中的各个模块只关心它的功能、外部特性、连接方法及其编程。因此,在微机接口技术课程中应该抛弃那种深究芯片内部工作逻辑和硬件细节的做法,把精力放到微机应用系统的构建和芯片的编程上来。

1.4.6 本书内容安排

本书包括微机原理(第2章)、汇编语言(第3章~第5章)和微机接口技术(第6章~第15章)三部分内容,以微机接口技术为主,汇编语言为次,微机原理只是点到为止,只讲了微机是怎样工作的。这样的安排体现了本教材的实用性和从应用角度出发来学习微机技术的要求,尤其是把汇编语言与微机原理两部分内容落实到后面微机接口技术的应用中,增强了三门课程的融合,也缩短了学时。

各校、各教学单位,可根据教学计划和培养目标以及课程设置、学时的长短,选取本教材中不同的内容进行教学。如果对汇编语言和微机原理单独开课的学校或专业,或已具有这方面基础的读者可以跳过第2章~第5章,直接从第6章开始进入接口技术的内容。

习题

1.微处理器、微型计算机和微型计算机系统三者在概念上有什么不同?

2.一个微机系统,它的硬件由那几部分组成?各部分在微机系统中起什么作用?

3.在目前各种高级语言层出不穷,而且功能都很强的情况下,为什么还要学习汇编语言?与高级语言比较汇编语言有哪些短处?

4.本教材关于汇编语言将要重点讨论的内容是哪些?

5.接口技术在微机应用中起什么作用?

6.微机接口技术的基本任务是什么?

7.什么是接口分层次的概念?这一概念是基于什么原因提出的?

8.按照接口的层次概念,微机接口技术的整体内容可划分为哪两部分?

9.什么是I/O设备接口?

10.I/O设备接口一般应具备哪些功能?

11.一个能够实际运行的I/O设备接口由哪几部分组成?

12.I/O设备接口与CPU之间交换数据有哪几种方式?它们各应用在什么场合?

13.分析与设计I/O设备接口的基本方法是什么?

14.什么是总线桥?总线桥与I/O设备接口有什么不同?

15.总线桥的任务是什么?

16.所谓硬件设备的软件模型(编程模型)是什么?采用软件模型方法对分析与应用微机系统的硬件资源有什么意义?

模块1 微机系统的基本组成及工作原理

第2章 微型计算机系统的组成及工作原理

2.1 微型计算机系统

2.1.1 微机系统的硬件组成

从硬件的角度来说,任何一个基于微处理器的微机系统都是由微处理器、存储器和I/O设备与接口3个部分通过总线互相连接而成的,其成员如图2.1所示。图中的各部分是本章将要介绍的内容。图2.1 微机系统硬件成员图

微机系统的硬件包括微处理器及其支持芯片、存储器、外部设备与接口及总线,其组成可从逻辑结构与功能结构两个方面去了解。逻辑结构是硬件芯片内部的实际电路组成的描述,详细而复杂,非芯片专业人员难以搞清楚。功能结构是硬件芯片内部工作原理的描述,粗线条模块化,不触及实际的详细电路,而为用户提供了解、认识硬件芯片功能与特性的信息。

本章从功能结构的角度来介绍微机系统组成,采用硬件的软件模型(编程模型)方法进行分析,而不深入芯片内部复杂的逻辑电路分析,着重对芯片的编程应用。

2.1.2 微机系统的软件配置

上述微机系统只说明了微机系统的硬件成员,一个能够实际运行的微机还必须配置一套软件,包括系统软件、工具软件、应用软件以及用户开发的用户应用程序,其配置成员如第 1 章图1.1所示。微机系统所配置的软件与微机应用的目的有关,是做管理,还是做控制或是做科学计算,所要求使用的软件工具与环境并不相同,因此,并非对每一种应用都要配齐图1.1中所有的软件。因为接口技术所涉及的微机应用是控制,故本教材使用最多的软件是操作系统(包括WINDOWS、DOS),编程工具(包括C++、汇编语言程序)等,其中,汇编语言部分将在第3章~第5章专门介绍。

2.1.3 微机系统中的信息流与信息链

在学习微机工作原理时,采用什么方法了解与分析微机系统的组成、分工及系统内各成员之间的关系是值得考虑的,为此,提出并引入信息流与信息链的方法。

1.微机系统中信息流与信息链的构成

存储在存储器中的数据、指令代码和寄存在接口寄存器中的I/O数据、状态及I/O命令统称为微机系统的信息。当微机启动之后运行时,这些信息就在操作系统的统一管理下,按照系统软件或用户程序的要求,在系统硬件(物理)和软件(逻辑)的各个环节中有序地流动,并在不同的环节上产生相应的操作,得到预期的结果,这就是微机系统中的所谓信息流。显然,信息流的原动力是系统软件和用户程序,信息流的载体是系统的硬件支持环境,信息流的出入口是I/O接口。

信息链是信息流在系统中流动的路径。微机系统中一个完整的信息链可粗略地表示为几个环节,包括物理的(硬件)和逻辑的(软件)环节,如图2.2 所示,图中信息链包含了 I/O 和存储器的信息链。其中,虚线部分是I/O信息链。图2.2 微机系统中信息链示意图

2.微机系统中信息流与信息链

计算机的信息包括地址、数据和命令,信息流是指这些信息在计算机中各个环节上的流动情况。不管是何种存储器或I/O设备,只要它的信息要出/入微机系统,并经过微处理器进行加工、处理,则它的信息就要进入信息链,并按一定的路径流动。

由于早期微机和现代微机的体系结构(总线结构)和运行环境(操作系统)不同,因此,它们的信息链也就不同,图(a)表示早期微机系统信息链,图(b)表示现代微机系统信息链。(1)早期微机系统中的信息链

图2.2(a)是早期微机系统采用ISA总线在DOS环境下运行的信息链,包括存储器、I/O设备、I/O设备接口、系统总线ISA、微处理器等物理环节和DOS操作系统及MS-DOS应用程序逻辑环节,所涉及的环节比较少,并且信息流是一一对应的直接传输,而无映射关系。因此,此时用户对微机应用系统的设计(主要是接口设计)所涉及的技术难度不大。(2)现代微机系统中的信息链

图2.2(b)是现代微机系统采用PCI总线在Windows环境下运行的信息链,包含了用户层的设备接口和总线桥两大层次的各个物理环节和Windows操作系统、MS-DOS与Win32应用程序,以及核心态的设备驱动程序等逻辑环节,信息链很复杂,而且信息流中的映射关系经常出现。因此,用户在利用现代微机来开发与设计自己的应用系统时,会涉及更深层次的技术问题,难度较大。

3.研究信息流及信息链的意义

I/O 信息链中,各环节层面上的对象不同,所担负的任务不同,为完成任务所使用的技术和所采用的方法与工具也不同。例如,设计MS-DOS应用程序与设计设备驱动程序所涉及的信息链的层次显然是不一样的。同样,设计用户层的 I/O 设备接口电路与设计 PCI 总线接口(桥)所涉及的I/O信息链的层次也是不一样的。设计时不仅所使用的技术和方法不同,而且设计工作的复杂程度也相差甚远。所以,对用户来说,就要根据设计任务的不同要求,在信息链中的不同环节上进行硬件和软件设计,实现信息链中相应环节所承担的任务。

通过信息流可以从整体上认识微机体系结构和组成微机系统的各部件之间的关系。信息流对微机接口整体设计需要考虑哪些问题也提供了一个清晰而完整的任务目标,因此,研究信息流及信息链,对认识、分析与设计本书要重点讨论的微机接口有很大帮助。

下面从信息流的角度先讨论微机系统的组成及工作原理,并介绍 PC 微机信息链中的几个物理环节,借以了解微机系统中各个部件的作用和工作原理,作为学习微机的基础知识。然后再从第6章开始对图2.2虚线框内I/O信息流的相关环节展开具体分析与设计。

2.2 微处理器

2.2.1 微处理器的作用

微机系统的核心是微处理器,它是微机系统的控制单元,也称为中央处理器单元CPU(Central Processing Unit)。如图2.1 所示,微

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载