如何计算机pci总线是什么的I/O端口地址

i/o(计算机接口)_百度百科
?计算机接口
(计算机接口)
I/O(input/output),即输入/输出。每个设备都会有一个专用的I/O地址,用来处理自己的输入输出信息。CPU与、的连接和数据交换都需要通过接口设备来实现,前者被称为I/O,而后者则被称为存储器接口。存储器通常在CPU的同步控制下工作,接口电路比较简单;而I/O设备品种繁多,其相应的接口电路也各不相同,因此,习惯上说到接口只是指I/O接口。
i/o接口分类
I/O接口的功能是负责实现CPU通过把I/O电路和联系在一起,按照电路和设备的复杂程度,I/O接口的硬件主要分为两大类:
(1)I/O接口芯片
这些芯片大都是,通过CPU输入不同的命令和参数,并控制相关的I/O电路和简单的外设作相应的操作,常见的接口芯片如定时计数器、中断控制器、控制器、等。
(2)I/O接口控制卡
由若干个集成电路按一定的逻辑组成为一个部件,或者直接与CPU同在主板上,或是一个插在系统总线插槽上。
按照接口的连接对象来分,又可以将他们分为、并行接口、和磁盘接口等。
i/o接口功能
由于计算机的品种繁多,几乎都采用了机电传动设备,因此,在与I/O设备进行数据交换时存在以下问题:
速度不匹配:I/O设备的工作速度要比CPU慢许多,而且由于种类的不同,他们之间的速度差异也很大,例如硬盘的传输速度就要比打印机快出很多。
时序不匹配:各个I/O设备都有自己的定时控制电路,以自己的速度传输数据,无法与CPU的时序取得统一。
信息格式不匹配:不同的I/O设备存储和的格式不同,例如可以分为和两种;也可以分为格式、和编码等。
信息类型不匹配:不同I/O设备采用的信号类型不同,有些是数字信号,而有些是,因此所采用的处理方式也不同。
基于以上原因,CPU与外设之间的数据交换必须通过接口来完成,通常接口有以下一些功能:
(1)设置数据的寄存、缓冲逻辑,以适应与外设之间的速度差异,接口通常由一些或RAM芯片组成,如果芯片足够大还可以实现批量数据的传输;
(2)能够进行信息格式的转换,例如和的转换;
(3)能够协调CPU和外设两者在信息的类型和的差异,如电平转换、数模或等;
(4)协调时序差异;
(5)地址译码和设备选择功能;
(6)设置中断和控制逻辑,以保证在中断和DMA允许的情况下产生中断和DMA请求信号,并在接受到中断和DMA应答之后完成和DMA传输。
i/o控制方式
通过接口对进行控制的方式有以下几种:
这种方式下,CPU通过I/O指令询问指定外设当前的状态,如果外设准备就绪,则进行数据的输入或输出,否则CPU等待,循环查询。
这种方式的优点是结构简单,只需要少量的硬件电路即可,缺点是由于CPU的速度远远高于外设,因此通常处于等待状态,工作效率很低
在这种方式下,CPU不再被动等待,而是可以执行其他程序,一旦外设为数据交换准备就绪,可以向CPU提出服务请求,CPU如果响应该请求,便暂时停止当前程序的执行,转去执行与该请求对应的服务程序,完成后,再继续执行原来被中断的程序。
中断处理方式的优点是显而易见的,它不但为省去了查询外设状态和等待外设就绪所花费的时间,提高了CPU的工作效率,还满足了外设的实时要求。但需要为每个I/O设备分配一个号和相应的,此外还需要一个中断控制器(I/O接口芯片)管理I/O设备提出的中断请求,例如设置、中断请求优先级等。
此外,方式的缺点是每传送一个字符都要进行中断,启动中断控制器,还要保留和恢复现场以便能继续原程序的执行,花费的工作量很大,这样如果需要大量数据交换,系统的性能会很低。
(3)DMA()传送方式
DMA最明显的一个特点是它不是用软件而是采用一个专门的控制器来控制内存与外设之间的数据交流,无须CPU介入,大大提高CPU的工作效率。
在进行DMA之前,DMA控制器会向CPU申请总线控制权,CPU如果允许,则将控制权交出,因此,在数据交换时,总线控制权由DMA控制器掌握,在传输结束后,控制器将总线控制权交还给。
(4) 通道方式
i/oI/O设备故障
计算机中的I/O设备[1]
故障表现主要有以下三个方面:
I/O设备就无法正常使用了,包括各类外接接口、笔记本的键盘打不出字、不灵等现象。
电脑维修工具:插在主板上进行跑码会显示FF代码、00代码、DD代码或无代码及反复跑C1~C5代码的现象。
I/O设备短路等故障还会导致计算机连接外部设备的时候可能会受到静电的冲击或干扰以至于损坏其他、等元器件。从而导致设备无法开机的严重后果。
防范I/O设备故障:I/O设备属于精密的电子产品,使用过程中对环境要求严格,切莫在高温,潮湿的环境下使用。
i/oi/o进程上出现CPU瓶颈
在CPU性能受限制的大型机环境里,i/o进程会影响到工作负载。  在cpu受到限制的系统中,批处理进程会使i/o的性能变得更糟。通常在系统优先级最低的情况下,当CPU受到瓶颈时,批处理进程因为要和在线进程进行资源争夺而勉强运行i/o。每一次i/o,一个进程开始释放CPU资源,并由更高优先权的进程接管。但即使i/o进程很快的完成,批处理进程也需要去争夺已经完成任务的进程资源,并接受CPU的线程调度。  在线进程通常可以获得必要的CPU资源。i/o进程不会减缓客户信息控制系统()或信息管理系统(IMS)的工作负荷,因为每个i/o并不同步。  然而,一些特别的进程与批处理一样都受到CPU瓶颈的影响。在CICS,一旦i/o完成的事务处理,在i/o继续工作前,i/o已经越过CICS的链式调度程序。在CICS工作负载中尤其明显的是i/o有深调度队列。  IMS事务中运行消息处理区域(MPR’S)采取不同的路径,但都是异曲同工。一旦数据库i/o完成, IMS在它处理更多工作前会通知在和服务器争夺资源的MPR。  最快的i/o是不能实现的。因此, 尽可能利用数据输入内存预防在cpu受限的环境中的瓶颈。i/o输入内存的数据包括缓冲池,参考表,数据缓存空间和其他方法。[2]
.红警电脑维修培训官网[引用日期]
.TechTarget[引用日期]博客访问: 316079
博文数量: 230
博客积分: 291
博客等级: 二等列兵
技术积分: 984
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: 信息化
1、PCI地址空间
PCI总线具有32位数据/地址复用总线,所以其存储地址空间为2的32次方=4GB。也就是PCI上的所有设备共同映射到这4GB上,每个PCI设备占用唯一的一段PCI地址,以便于PCI总线统一寻址。每个PCI设备通过PCI寄存器中的基地址寄存器来指定映射的首地址。PCI地址空间对应于计算机系统结构中的PCI总线。
2、系统地址空间
如果处理器具有32位的地址总线,其理论可寻址空间为2的32次方=4GB。但这并不意味着内存就可以4GB大小,其实XP系统最大内存大约为2GB,这与CPU访问系统中其它设备的存储器方式有关(比如CPU访问PCI总线上的存储器)。
计算机系统中在不同的物理位置上存在着不同设备,不同的设备又各自具有存储器,那么CPU如何访问这些存储器呢?CPU把系统中各个设备的存储空间映射到一个统一的存储空间上,称为系统存储空间共4GB,这样CPU就可以访问到所有的存储器。比如PCI存储器映射到从0xFFF80000开始的地址空间,显卡映射到0XFFF00000,再加上操作系统会占用一些空间,就只剩下不到2G能真正分配给物理内存了。(具体数值是为解释需要取的任意值,不代表真实情况)
系统地址空间对应于计算机系统结构中的前端总线(FSB)。
3、PCI总线地址与系统存储空间转换映射
我们假设在一个32位处理器中,其存储器域的0xF000-FF-FFFF(共128MB)这段物理地址空间与PCI总线的地址空间存在映射关系。
当处理器访问这段存储器地址空间时,HOST主桥将会认领这个存储器访问,并将这个存储器访问使用的物理地址空间转换为PCI总线地址空间,并与0xx77FF-FFFF这段PCI总线地址空间对应。
为简化起见,我们假定在存储器域中只映射了PCI设备的存储器地址空间,而不映射PCI设备的I/O地址空间。而PCI设备的BAR空间使用0xx77FF-FFFF这段PCI总线域的存储器地址空间。
PCI桥的Base、Limit寄存器保存“该桥所管理的PCI子树”的存储器或者I/O空间的基地址和长度。值得注意的是,PCI桥也是PCI总线上的一个设备,在其配置空间中也有BAR寄存器,本节不对PCI桥BAR寄存器进行说明,因为在多数情况下透明桥并不使用其内部的BAR寄存器。下文以图3?2所示的处理器系统为例说明上述寄存器的初始化过程,该处理器系统使用的存储器域与PCI总线域的映射关系如图3?1所示。
注意观察上图中PCI设备的BAR0寄存器值,如果PCI设备向下级联了(相当于PCI桥),BAR0是不变的,而且LIMIT寄存器受PCI未继续级联(而是直接接了PCI设备)的BAR0影响。
在PCI设备的BAR寄存器中,包含该设备使用的PCI总线域的地址范围。在PCI设备的配置空间中共有6个BAR寄存器,因此一个PCI设备最多可以使用6组32位的PCI总线地址空间,或者3组64位的PCI总线地址空间。这些BAR空间可以保存PCI总线域的存储器地址空间或者I/O地址空间,目前多数PCI设备仅使用存储器地址空间。而在通常情况下,一个PCI设备使用2到3个BAR寄存器就足够了。
为简化起见,我们首先假定在图3?2中所示的PCI总线树中,所有PCI
Agent设备只使用了BAR0寄存器,其申请的数据空间大小为16M字节(即0x1000000字节)而且不可预读,而且PCI桥不占用PCI总线地址空间,即PCI桥不含有BAR空间。并且假定当前HOST主桥已经完成了对PCI总线树的编号。
根据以上假设,系统软件该PCI总线树的遍历过程如下所示。
(1)&&&&&&系统软件根据DFS算法,系统软件率先寻找到第一组PCI设备,分别为PCI设备31和PCI设备32,并根据这两个PCI设备需要的PCI空间大小,从PCI总线地址空间中(0xx77FF-FFFF)为这两个PCI设备的BAR0寄存器分配基地址,分别为0x和0x。
(2)&&&&&&当系统软件完成PCI总线3下所有设备的BAR空间的分配后,将初始化PCI桥3的配置空间。这个桥片的Memory
Base寄存器保存其下所有PCI设备使用的“PCI总线域地址空间的基地址”,而Memory
Limit寄存器保存其下PCI设备使用的“PCI总线域地址空间的大小”。系统软件将Memory
Base寄存器赋值为0x,而将Memory
Limit寄存器赋值为0x200-0000。
(3)&&&&&&系统软件回朔到PCI总线2,并找到PCI总线2上的PCI设备21,并将PCI设备21的BAR0寄存器赋值为0x。
(4)&&&&&&完成PCI总线2的遍历后,系统软件初始化PCI桥2的配置寄存器,将Memory
Base寄存器赋值为0x,Memory
Limit寄存器赋值为0x300-0000。
(5)&&&&&&系统软件回朔到PCI总线1,并找到PCI设备11,并将这个设备的BAR0寄存器赋值为0x。并将PCI桥1的Memory
Base寄存器赋值为0x,Memory
Limit寄存器赋值为0x400-0000。
(6)&&&&&&系统软件回朔到PCI总线0,并在这条总线上发现另外一个PCI桥,即PCI桥4。并使用DFS算法继续遍历PCI桥4。首先系统软件将遍历PCI总线4,并发现PCI设备41和PCI设备42,并将这两个PCI设备的BAR0寄存器分别赋值为0x和0x。
(7)&&&&&&系统软件初始化PCI桥4的配置寄存器,将Memory
Base寄存器赋值为0x,Memory
Limit寄存器赋值为0x200-0000。系统软件再次回到PCI总线0,这一次系统软件没有发现新的PCI桥,于是将初始化这条总线上的所有PCI设备。
(8)&&&&&&PCI总线0上只有一个PCI设备,PCI设备01。系统软件将这个设备的BAR0寄存器赋值为0x,并结束整个DFS遍历过程。
阅读(2138) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。【图文】第8章
PCI总线标准_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
PCI总线标准
上传于||暂无简介
大小:2.44MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢

我要回帖

更多关于 win7 pci串行端口 的文章

 

随机推荐