计算机组成原理报告

上传人:夏** 文档编号:431484315 上传时间:2023-10-11 格式:DOCX 页数:13 大小:62.08KB
返回 下载 相关 举报
计算机组成原理报告_第1页
第1页 / 共13页
计算机组成原理报告_第2页
第2页 / 共13页
计算机组成原理报告_第3页
第3页 / 共13页
计算机组成原理报告_第4页
第4页 / 共13页
计算机组成原理报告_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《计算机组成原理报告》由会员分享,可在线阅读,更多相关《计算机组成原理报告(13页珍藏版)》请在金锄头文库上搜索。

1、1 .计算机总线系统介绍3.1.1 总线的概念与结构 .31.2 总线接口 4.1.3 总线仲裁、定时及数据传送模式52 . Windows环境下PCI设备驱动开发 62.1 PCI配置空间6.2.2 .设备初始化8.2.3 I/O 端口访问1.02.4 设备内存访问102.5 中断处理122.6 DMA通信过程.13计算机组成原理报告-浅论Windows下PCI设备驱动开发在一学期的计算机组成原理的课程学习中,我了解了计算机系统的基本组成结构、基本功能及其实现方式等知识。本课程主要介绍的是硬件层次上是如何构 建出基于冯诺依曼体系的现代计算机系统的支持架构,我一直从事 Windows 底层驱动

2、的开发工作,软件的开发也是依赖于硬件的工作机制,希望能对二者之间的联系做一点的讨论。以 Windows NT X86架构为例,上层应用分属于不同的 子系统,通过系统调用(调用 Native API)的方式将处理器从用户模式转换到特 权模式来实现对系统资源的访问,包括诸如寄存器、内存与外围设备等系统资源。 从驱动开发的角度即是上层应用通过系统调用的方式产生IRP(I/O Request)求,I/O管理器按照IRP的主功能号将其发给不同的设备栈,从而实现对于系统 资源的访问。而现代操作系统为了实现在多种硬件平台上的可移植性,在内核与硬件的接口处多提供HAL (硬件抽象层)。HAL是一个可以加载的核

3、心态模块, 它为运行在 Windows NT上的硬件平台提供低级接口,所有不同硬件结构之间的 差异由HAL在内部处理,它隐藏了各种与硬件有关的细节,例如I/O接口、终端控制器以及多处理器通信机制等任何体系结构专用的和依赖于计算机的函 数。本文中,以总线的开发为例介绍总线的基本结构与工作原理在实际设备驱动 开发中的实际运用。PCI是外围设备互连(Peripheral Component Interconnect的简称,作为一种 通用的总线接口标准,它在目前的计算机系统中得到了非常广泛的应用。PCI提供了一组完整的总线接口规范,其目的是描述如何将计算机系统中的外围设备以 一种结构化和可控化的方式连

4、接在一起,同时它还刻画了外围设备在连接时的电 气特性和行为规约,并且详细定义了计算机系统中的各个不同部件之间应该如何 正确地进行交互。无论是在基于Intel芯片的PC机中,或是在基于Alpha芯片的 工作站上,PCI毫无疑问都是目前使用最广泛的一种总线接口标准。鉴于PCI在 不同的操作系统中都有广泛运用并且差异性较小,本文将重点介绍PCI设备驱动的开发。1 .计算机总线系统介绍1.1 总线的概念与结构现代计算机系统多采用模块结构,一个模块就是一个功能部件,如主机板、 显示适配器、解压卡、声卡、A/D板等,各模块之间进行信息传送的公共通路称 为总线。借助于总线连接,计算机在各功能部件间实现地址、

5、数据和控制信息的 交换,并在争用资源的基础上进行工作。在单处理器中总线分为如下三类:内部总线:CPU内部连接各寄存器及运算部件之间的总线。系统总线:CPU同计算机系统的其他高速功能部件,如存储器、通道等互相 连接的总线。I/O总线:中、低速I/O设备之间互相连接的总线。总线的性能指标主要考量:(1)总线宽度:指数据总线的根数。(2)寻址能力:取决于地址总线的根数。(3)传输率:也称为总线带宽,通常指总线所能够达到的最高数据传输率,单 位是Bps(每秒传送字节数)。计算公式:Dr=DXf /N; D数据宽度;f总 线时钟频率;N完成一次数据传送所需的时钟周期数。在计算机系统中,总线的排列布置与其

6、他各功能部件的连接方式对计算机系 统的性能有重要影响。总线的组织方法很多,单机系统中采用的总线结构基本上 可分成三类:单总线结构、双总线结构、三总线结构。单总线结构使用一条单一 的系统总线来连接CPU、主存和I/O设备,具有结构简单便于扩充等优点,但由 于所有数据的传送都通过这一共享的总线,因此总线可能成为系统的瓶颈。所以 单总线结构多在对速度要求不高的微型机和小型机中。双总线结构指档微型机和 一些小型机中专门设置了主存总线,CPU可通过专用总线与存储器交换信息, 减轻了系统总线的负担,高速外设与主存之间仍可通过系统总线实现 DMA操作, CPU通过系统总线与中低速外部设备交换信息。在双总线系

7、统的基础上增加I/O 总线,便形成了三总线系统结构。其中系统总线是CPU、内存和通道之间进行信息传送的公共通路,I/O总线是多个外部设备与通道之间进行信息传送的公共 通路。整个总线分成如下四部分:a.数据传送总线: 由地址线、数据线、控制线组成。b.仲裁总线:包括总线请求线和总线授权线。c.中断和同步总线:用于处理带优先级的中断操作,包括中断请求线和中断认 可线。d.公用线:包括时钟信号线、电源线、地线、系统复位线以及加电或断电的 时序信号线等。在实际的计算机系统中多采用分层次的多总线结构,CPU、RAM、ROM、控制芯片组等芯片之间的信号连接关系称为 CPU总线 或主总线(Host Bus)

8、,包括控制总线、地址总线和数据总线;CPU总线实现了 CPU 与主存储器、Cacha控制芯片组、以及多个CPU之间的连接,并提供了与系统 总线的接口 ;PCI总线用于连接高速的I/O设备模块。通过“桥”芯片,上面与更 高速的CPU总线相连,下面与低速的ISA总线相接。PCI总线是一个32(或64 位)的同步总线,32位(或64位)数据/地址线是同一组线,分时复用。ISA总线的 作用是与低速I/O设备连接,该总线支持7个DMA通道和15级可屏蔽硬件中 断。1.2 总线接口接口指CPU和主存、外围设备之间通过总线进行连接的逻辑部件,接口部 件在它动态连接的两个部件之间起着“转换器”的作用,以便实现

9、彼此之间的信 息传送。接口主要的功能有:(1)控制:接口靠程序的指令信息来控制外围设备的动作,如启动、关闭设备等。(2)缓冲:接口在外围设备和计算机系统其他部件之间用作为一个缓冲器,以补 偿各种设备在速度上的差异。状态:接口监视外围设备的工作状态并保存状态信息。 状态信息包括数据“准 备就绪”、“忙”、“错误”等等,供CPU询问外围设备时进行分析之用。转换:接口可以完成任何要求的数据转换,例如并用转换或申并转换,因 此数据能在外围设备和CPU之间正确地进行传送。(5)整理:接口可以完成一些特别的功能,例如在需要时可以修改字计数器或当前内存地址寄存器。(6)程序中断:每当外围设备向CPU请求某种

10、动作时,接口即发送一个中断请求 信号到CPU。1.3 总线仲裁、定时及数据传送模式为了解决多个主设备同时竞争总线控制权,必须具有总线仲裁部件,以某种 方式选择其中一个主设备作为总线的下一次主方。按照总线仲裁电路的位置不 同,仲裁方式分为集中式仲裁和分布式仲裁两类。集中式仲裁若总线仲裁逻辑集中于一个单元,称为集中式仲裁。集中式仲裁中每个功能 模块有两条线连到中央仲裁器:一条是送往仲裁器的总线请求信号线BR, 一条是仲裁器送出的总线授权信号线 BG。BS (总线忙):当某外设正使用总线时, BS= 1”。集中控制是单总线、双总线和三总线结构机器中主要采用的方式。链 式查询方式中总线授权信号 BG串

11、行地从一个I/O接口传送到下一个I/O接口。分布式仲裁分布式仲裁是以优先级仲裁策略为基础。分布式仲裁不需要中央仲裁器,每个潜在的主方功能模块都有自己的仲裁号和仲裁器。当它们有总线请求时,把它们唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将仲裁总线上得到的号与 自己的号进行比较。如果仲裁总线上的号大,则它的总线请求不予响应,并撤消 它的仲裁号。最后,获胜者的仲裁号保留在仲裁总线上。总线的一次信息传送过程,大致可分为如下五个阶段:请求总线,总线仲裁, 寻址(目的地址),信息传送,状态返回(或错误报告)。为了同步主方、从方的操 作,必须制订定时协议。同步定时中事件出现在总线上的时刻由总线时钟信号来

12、 确定。在异步定时协议中,后一事件出现在总线上的时刻取决于前一事件的出现, 即建立在应答式或互锁机制基础上。在这种系统中,不需要统一的共公时钟信号。 总线周期的长度是可变的。当代的总线标准大都能支持以下四类模式的数据传送:(1)读、写操作:读操作是由从方到主方的数据传送,写操作是由主方到从方的数据传送。(2)块传送操作:只需给出块的起始地址,然后对固定块长度的数据一个接一 个地读出或写入。对于 CPU(主方)、存储器(从方)而言的块传送,常称为猝发式 传送,具块长一般固定为数据线宽度(存储器字长)的4倍。(3)写后读、读修改写操作:只给出地址一次,或进行先写后读操作,或进行 先读后写操作。先写

13、后读操作:用于校验;先读后写操作:用于多道程序系统中 对共享存储资源的保护。(4)一般而言,数据传送只在一个主方和一个从方之间进行。但有的总线允许 一个主方对多个从方进行写操作,这种操作称为广播。与广播相反的操作称为广 集,它将选定的多个从方数据在总线上完成 AND或OR操作,用以检测多个中 断源。2 .Windows 环境下PCI设备驱动开发2.1 PCI配置空间每个pci设备都有自己的配置空间,用于支持即插即用,使之满足现行的系统配置结构。下面对 PCI配置空间做一下简要介绍。配置空间是一容量为256字节并具有特定结构的地址空间。这个空间又分为头标区和设备有关区两部分。头标区的长度是64字

14、节,每个设备都必须配置该区的寄存 器。该区中的各个字 段用来唯一地识别设备。其余的192字节因设备而异。配置空间的头标区 64个 字节的使用情况如图1示。为了实现即插即用,系统可根据硬件资源的使用情况, 为PCI设备分配新的资源。因此编写设备驱动程序重点是获得基址寄存器(BaseAddress)和中断干线寄存器的内容。配置空间共有六个基址寄存器和一个中断 干线寄存器,具体用法如下:PCI Base Address 0寄存器:系统利用此寄存器为 PCI接口芯片的配置寄存器分配一段 PCI地址空间,通过这段地址我们可以以内 存映射的形式访问PCI接口芯片的配置寄存器。PCI Base Addres

15、s 1寄存器:系 统利用此寄存器为PCI接口芯片的配置寄存器分配一段 PCI地址空间,通过这 段地址我们可以以I/O的形式访问PCI接口芯片的配置寄存器。PCI Base Address 2、3、4、5寄存器:系统BIOS利用这些寄存器分配 PCI地址空间以支持PCI 接口芯片的局部配置寄存器0、1、2、3的访问。在所有基址寄存器中,第 0位 均为只读位,表示这段地址映射到存储器空间还是I/O空间,如果是“1表示映射到I/O空间,如果是“0则表示映射到存储器空间。中断干线寄存器(InterruptLine):用于说明中断线的连接情况,这个寄存器的值与标准8259的IRQ编号(015)对应。Byte3Byte2Byte1Byte0Device IDVendor IDPCI StatusPCI CommandClass CodeRevision IDBuilt-In Self TestHeader TypeLatency TimerCacheLine SizeBase Address Register 0 5Reserved SpaceReserved SpaceExpansion ROM Base AddressReserved SpaceReserved SpaceMax. LatencyMin.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号