2.8259A编程及示例
使用8259A进行中断控制时,CPU首先应对8259A内部的各寄存器写入相应的初始化命令字ICW和控制命令字OCW,即要对8259A进行初始化编程。 初始化命令字共有4个:ICW1(PC的主片口地址为20H,从片口地址为A0H)、ICW2、ICW3和ICW4(主片口地址都是21H,从片口地址都是A1H)。 ICW1用于设置8259A的基本工作方式。 ICW2用于设置中断信号的类型码。 8259A多片级联时需使用ICW3。
ICW4用来设置中断结束方式、缓冲方式、特殊全嵌套方式等。 操作命令字
CPU在向8259A写完初始化命令字后,为了进一步提高它的中断处理功能,例如为了屏蔽某些中断,为了能够读出IRR、ISR中的内容,为了能够发出中断结束命令EOI等,还需继续设置(即向8259A写入)操作命令字。操作命令字共有3个:OCW1(主片口地址为21H,从片口地址为A1H)、OCW2(主片口地址为20H,从片口地址为A0H)、OCW3(主片口地址为20H,从片口地址为A0H)。 OCW1用来设置中断屏蔽寄存器IMR中各位的值。 OCW2用来调协中断结束、优先权循环等操作方式。
OCW2有两个作用。OCW2的第一个作用是在非自动中断结束(EOI)方式下:使ISR中刚刚被服务的那一位或者某一指定的位复位。复位的方法有正常方法和特殊方法两种。
OCW2的第二个作用是定义8259A的优先权工作方式。 OCW3用来设置中断屏蔽方式、查询方式等。 3 .PC的ISA总线中断
PC/XT使用一片8259A管理8级可屏蔽硬件中断,PC/AT及以上的系统使用两片8259A级联管理15级可屏蔽硬件中断。 5.5.4 8237可编程DMA控制器
采用DMA控制方式时,须采用DMAC,8237是早期PC采用的DMAC。8237具有4个用于连接I/O设备进行数据传送的通道。当I/O设备向某通道发出DMA请求时,该通道即可通过8237进行DMA数据传送。
8237内部寄存器可分成两种:4个通道共用的寄存器和各个通道专用的寄存器。 (1)控制寄存器
8237的4个DMA通道共用一个控制寄存器。 (2)模式寄存器
CPU可寻址的模式寄存器也是4个通道共用的。 8237提供4种工作方式,每个通道可以以4种方式之一进行工作,由模式寄存器的D7D6进行选择。 (3)地址寄存器
8237每个通道有一个16位的基地址寄存器和一个16位的当前地址寄存器。 (4)字节计数器
每个通道有一个16位的基本字节计数器和一个16位的当前字节计数器。 (5)状态寄存器(8位)
状态寄存器高4位D7~D4的状态表示当前4个通道即通道3~通道0是否有DMA请求(为1,表示有DMA请求;为0,表示无DMA请求)。低4位D3~D0指出通道3~通道0的DMA操作是否结束。
(6)请求寄存器和屏蔽寄存器
8237有1个四通道共用的DMA请求寄存器和1个四通道共用的DMA屏蔽寄存器,分别用来设置4个通道的DMA请求标志和屏蔽标志。
8237允许使用一个屏蔽一次完成对4个通道的屏蔽设置。 3.6 常用I/O接口 3.6.1 PC串行接口 1.串行通信基础
PC串行通信采用异步通信。异步通信是指一帧信息以起始位和停止位来完成收发同步,异步通信时,一帧字符以起始位开始,停止位结束。在起始位和停止位之间,是数据位和奇偶校验位,起始位之后是数据的最低位。
二进制数据序列串行传送的速率常被称为波特率(baud rate),单位为波特(baud)。
波特率=每秒传送的位数。波特率的倒数称为位时间、即传送一位所需的时间。 常用的校验方法有奇偶校验和循环冗余码校验等。
PC串行接口采用的通信标准是EIA制定的RS-232标准。RS-232定义了标准的机械规范、电气规范和功能规范。 2.通用异步接收器/发送器
PC/AT串行接口的核心是8250,现代PC串行接口的核心已集成在主板芯片组中。 (1)8250内部包括数据总线缓冲器、选择和读写控制逻辑、发送器、接收器、调制解调控制电路、通信线控制寄存器、通信线状态寄存器、波特率发生控制电路和中断控制逻辑。 (2)8250的引脚特性
8250共有40个引脚,除第29脚未使用外,其余引脚基本上可分成两类:与CPU系统总线相连接的信号线和与通信设备相连接的信号线。 与CPU系统总线相连接的其他信号线分述如下: (1)地址控制信号 (2)读写控制信号
(3)中断控制和复位控制信号 8250的内部寄存器
8250内部有10个可寻址的寄存器,分为3组:第一次用于实现数据传输,有发送保持寄存器和接收缓冲寄存器;第二组用于工作方式、通信参数的设置,有通信线控制寄存器、除数寄存器、MODEM控制寄存器和中断允许寄存器;第三组称为状态寄存器,有通信线状态寄存器、MODEM状态寄存器和中断识别寄存器。 (1)发送保持寄存器; (2)接收缓冲寄存器; (3)通信状态寄存器; (4)中断允许寄存器; (5)中断识别寄存器; (6)MODEM控制寄存器;
(7)除数寄存器(16位,由高8位和低8位寄存器组成); (8)通信线控制寄存器; (9)MODEM状态寄存器。
3.6.2 通用串行总线(USB)和IEEE 1394总线
通用串行总线(universal serial USB)和IEEE 1394是两种新的高速串行总线。
1.通用串行总线 (1)USB的特性 ①接口小巧; ②共享式接口;
③支持即插即用和热插拔; ④占用系统资源少; ⑤支持多种操作; ⑥错误检测和恢复; ⑦低成本;
⑧良好的兼容性; ⑨可以提供电源; ⑩电源保护。 2.IEEE 1394
1995年,IEEE提出了它的第1394个标准:IEEE,主要用于满足音频多媒体设备传输大量数据的需求。1394a标准的推出是为了解决最早的1394标准的互用性兼容性问题。它采用了与1394原始版本相同的连接器并支持相同的数据传输速率。 IEEE 1394a标准有3个信号速率:100Mbps\\200Mbps及400Mbps。IEEE1394在一个端口上最多可以连接63个设备,设备间采用树状或菊花链结构连接而不像USB那样必须使用集线器。1394电缆有6根引线,其中的4根用于传送数据,两根用于供电。与主板连接时有专门的1394接口或通过一个PCI总线上的专用适配卡。
第四章 Windows操作系统 4.1操作系统概述 4.1.1操作系统的功能
从计算机硬件和软件资源管理的角度来看,操作系统的主要功能包括下列几个方面。
1.处理器管理
为了提高CPU的利用率,操作系统一般都采用多道程序技术,使系统可以同时运行多个程序。这就要处理器的调度、分配和回收等问题。为了描述多道程序的并发执行,操作系统中引进了进程(process)的概念。进程是指程序处于一个执行环境中在一个数据集上的运行过程,它是系统进行资源分配和调度的基本单位。
2.存储管理
存储管理的主要职责是有效地管理系统的存储资源,特别是内存资源。当运行多个程序,以及运行规模较大、数据很多的程序时,内存往往不够用,存储管理必须解决内存的自动扩充问题,即将内存与外存结合起来,为用户提供一个比内存实际容量大得多的运行空间,这就是虚拟存储器的概念。 3.文件管理
存储在计算机中的所有信息都是以文件形式存放在外存储器上,使用时才装入内
存。
操作系统引入文件概念后,用户不再了解文件的物理结构,也不必自己去组织文件数据在外存储器上的存取操作,而是采用“按名存取”的方式,由文件管理程序根据用户给出的文件名自动地完成数据传输操作。
在许多操作系统中,把I/Q设备也看作是“文件”,称为设备文件。 4.设备管理
设备管理负责组织和管理系统中的各种I/Q设备,有效地处理用户(程序)对这些设备的使用请求,并完成实际的I/Q操作。
操作系统可以分为多种类型,例如单用户单任务操作系统、批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统和并行操作系统等。 4.1.2 PC操作系统 1.MS―DOS
MS―DOS最早的版本是1981年8月发布的1.0版,至1993年6月推出了6.0版。MS―DOS
起初是一个单用户单任务操作系统,从4.0版开始具有多任务处理能力。MS―DOS的主要功能有命令处理、文件管理和设备管理。 2.Windows 9x
微软公司从1983年开始研制Windows系统,于1985年推出了第一个版本。1987年推出了Windows2.0,它具有现在人们熟悉的多窗口界面形式,并且支持内存。1990年推出的Windows3.0及随后推出的3.1版本是一个重要的突破,它以压倒性的商业成功确定了Windows系统在PC领域的垄断地位。但这些版本均为16位系统,它们必须与DOS共同管理系统硬件资源,依赖DOS管理文件系统,且只能在DOS基础上运行,因而它们还不能算是独立、完整的操作系统。 1995年推出的Windows95摆脱了DOS的限制,它在提供强大功能的简化用户操作等方面取得了突出的成绩。Windows95实质上是一个16位32位处理混合的系统,它的缺点是稳定性稍差。
1998年推出的Windows98操作系统是在Windows95基础上改进而成的。 3. WindowsNT/2000/XP/2003/Vista 1989年微软公司成立了一个开发小组。其目标是为商用PC专门开发的一个新的操作系统系列——Windows NT(new tehnolgy)。Windows NT采用与Windows 9x不同的内核。
Windows NT的进一步发展是1999年底推出的Windows2000,他们仍然是面向商务应用的PC操作系统。
2001年推出的Windows XP结束了Windows两条腿走路的历史,它是一个把消费型操作系统和商业型操作系统融合为统一代码的Windows操作系统,是第一个既适合家庭用户也适合商业用户使用的Windows操作系统。Windows XP目前包括5个版本,即家庭版(Home Edition)、专业版(Professional)、媒体中心版(Media Center Edition)、桌面PC版(Tablet PC Edition)和专业64版(Professional x64 Edition),以使用不同的用户。
2003年推出了Windows Server 2003系列操作系统主要是面向大型服务器应用的网络操作系统,以满足各类企业和部门的应用需求。 2006年推出了Windows Vista在许多方面做了改进。但由于Windows Vista对硬件配置要求比较高、价格比较高等原因,目前普及率不是太高。 4.1.3 Windows XP的结构和文件组成
1.基本概念和术语
(1)内核模式与用户模式
Intel x86处理器的体系结构定义了4种特权级(称为4个环),用来保护系统代码不会被恶意地或无意地改写。Windows XP操作系统使用特权级0(即0环)作为内核模式——允许访问所有的系统内存和所有的CPU指令,以运行操作系统的核心组件;特权级3(即3环)作为模式,以运行用户的程序代码和部分系统组件。 (2)Windows API与DLL
Windows应用程序接口(application programming interface, API)是针对Windows操作系统的可以被应用程序调用的函数定义、参数定义和消息格式的集合,应用程序通过Windows API调用操作系统提供的各种系统服务。 在Windows XP操作系统中,Windows API分为32位和16位两类(分别称为Win32 API和Win16 API),它们分别为32位和16位Windows应用程序所调用。 2. Windows XP的结构
基本的用户模式进程有4类,即系统支持进程、服务进程、环境子系统服务进程和应用程序进程。 (1)系统支持进程
①空闲(Idie)进程:进程的映像名称为System Idle Process。该进程作为单线程运行在各处理器上,占用空闲的CPU时间
②系统(Sysetem)进程:进程的映像名称为System ③会话管理器(smss. Ese)
④登录进程(winlogon. Exe):处理交互方式的用户登录和注销。 ⑤本地安全验证服务(Isass. Exe):接收来自winlogon的身份验证请求,并调用适当的身份验证来执行实际的验证。 ⑥服务管理器(servces. Ese):在系统中,“服务”既可以指服务进程,也可以指设备驱动程序,这里特指用户模式的服务进程。 (2)服务进程
许多Windows组件是以服务的方式来实现的,例如spooler(假脱机)、事件日志、任务调度器以及各种网络组件等。其中,svchost进程(svchost. Exe)是Windows XP的重要进程,它专门为系统启动服务各种服务。因此在系统中总是有多个svchost进程。 (3)环境子系统
Windows NT最初发布时带了3个不同的环境子系统:QS/2、POSIX和Windows。 (4)应用程序 在Windows XP环境运行的应用程序类型主要有32位Windows应用程序(简称Win32应用程序)、16位Windows 3.x应用程序(简称Win16应用程序)、16位MS―DOS应用程序。
(5)Windows执行体
执行体包含了基本的操作系统服务,它包含了以下主要组件: ①配置管理器
②进程和线程管理器 ③安全引用监视器 ④I/Q管理器
⑤即插即用(PnP)管理器 ⑥电源管理器