CN1193393A - 集成pci至pci桥的i/o处理器的体系结构 - Google Patents

集成pci至pci桥的i/o处理器的体系结构 Download PDF

Info

Publication number
CN1193393A
CN1193393A CN96196300A CN96196300A CN1193393A CN 1193393 A CN1193393 A CN 1193393A CN 96196300 A CN96196300 A CN 96196300A CN 96196300 A CN96196300 A CN 96196300A CN 1193393 A CN1193393 A CN 1193393A
Authority
CN
China
Prior art keywords
bus
pci
address
register
interrupt
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN96196300A
Other languages
English (en)
Other versions
CN1137442C (zh
Inventor
E·加尔布斯
P·桑哈高埃特
M·戈尔德施米特
N·伊斯坎德尔埃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN1193393A publication Critical patent/CN1193393A/zh
Application granted granted Critical
Publication of CN1137442C publication Critical patent/CN1137442C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Abstract

一种集成了高性能处理器到PCI至PCI总线桥(32)的多功能设备(31)。本发明用高性能处理器、PCI至PCI总线桥(32)、PCI总线—处理器之间的地址翻译单元(43a、43b)、直接内存存取(DMA)控制器(51a、51b)、存储器控制器(47)、次级PCI总线仲裁单元(53)、互连集成(I2C)电路总线接口单元(61)、高级可编程中断(APIC)总线接口单元(63)、报文传递单元(45)组成一个使用本地存储器(33)的单一系统。PCI总线是一种符合工业标准的高性能、低等待系统总线。PCI至PCI总线桥(32)为两个独立的32位PCI总线提供连接通路,并使它们具有克服PCI电气负载限制的能力。本地处理器(34)的加入,为PCI总线桥(32)增添了智能。

Description

集成PCI至PCI桥的I/O处理器的体系结构
本发明涉及计算机系统体系结构领域。更确切地说,本发明涉及一种用于实现计算机和服务器系统中的智能输入/输出子系统的智能总线桥。
高性能计算机系统普遍包括独立的输入/输出子系统。这种输入/输出子系统一般包括一个独立于主微处理器、执行输入/输出功能的微处理器。例如,这种输入/输出子系统可以为计算机系统执行复杂的通信网络接口功能或磁盘控制功能。
一般来说,输入/输出子系统中连接有用于在部件总线上通信的一组专用输入/输出设备。这种输入/输出子系统的处理器一般是通过总线来执行输入/输出功能的,它不干涉计算机系统中其它处理器的操作。总线上输入/输出事务处理的这种分离,使这种计算机系统中的主处理器(组)能改进性能。这种体系结构普遍存在于主机计算机系统中,其中该处理器和输入/输出子系统被称为I/O通道。
随着采用微处理器的计算机系统、特别是服务器/客户机系统的出现,越来越要求有功能更强的微处理器来实现功能更强的服务器/客户机系统。如附图1所示的单系统11中多微处理器的组合部分地满足了这种需要。随着为实现功能更强的服务器/客户机系统所需I/O设备数量的增加而遇到的另一个问题是,连接输入/输出子系统与计算机系统中其它元素的标准部件总线具有电力负载限制。这种电力负载限制,限制了连接到标准部件总线的部件的数目。例如,现有技术水平的一个总线标准,要求系统部件互联总线上的连接器只有一种电力负载。这种电力负载限制保证满负荷总线上信号的质量足以用来进行可靠的操作。
这一方面,由于有些输入/输出子系统需要的通过本地部件总线通信的部件的数量大,有可能会突破标准部件总线上各连接器的规定电力负载要求,所以输入/输出子系统也可以包括一个将本地部件总线17连接到计算机系统中通过网络I/O卡21与诸如局域网的网络连接或通过SCSI控制器23与存储设备连接的其它部件总线19的总线桥电路13。这种总线桥将微处理器(组)25、存储器27和输入/输出子系统的部件与其它部件总线电隔离开来。这种总线桥电路使输入/输出子系统能容纳实现输入/输出功能所需的大量部件,同时又满足对其它部件总线的电力负载要求。
此外,系统11中的微处理器(组)一般来说一定会与连接到部件总线的其它总线代理(agents)进行竞争。一般来说,这种对总线的争夺会降低微处理器(组)为输入/输出子系统执行输入/输出功能时的性能。
本发明是一种将高性能处理器集成到PCI至PCI总线桥(P2P)的多功能设备。参见附图2,本发明将诸如英特尔公司的80960 JF处理器的高性能处理器(本地处理器)、PCI至PCI总线桥32、PCI总线-处理器地址翻译单元、直接存储器访问(DMA)控制器、存储器控制器、次级PCI总线仲裁单元、互连集成电路(I2C)总线接口单元、高级可编程中断(APIC)总线接口单元、报文传递单元,组成一个使用本地存储器33的单一系统31。该系统是一种集成处理器,它既照顾了智能I/O应用的各种需要,又有助于降低智能I/O系统的成本。
PCI总线是一种符合工业标准(PCI本地总线标准2.1版)的高性能、低迟滞系统总线。PCI至PCI桥为两个独立的32位PCI总线之间提供了一条连接通路,提供了克服电力负载限制的能力。本地处理器的加入则为PCI桥增添了智能。附图3内虚框31所示的本地处理器和其它功能块,表示以下将称为P2P处理器的一个框图。
P2P处理器是一种多功能PCI设备。功能元件0是PCI至PCI桥单元。功能元件1是地址翻译单元。P2P处理器中含有可通过初级PCI总线访问的PCI配置空间。
较佳实施例中的本地处理器34,是英特尔i960系列中的一个80960 JF处理器。在P2P处理器中实现的80960 JF处理器无需功能性的改动。本文提供了实施本发明所需的本地处理器有关部分的全部资料,英特尔公司的《i960 Jx微处理器用户手册》中还有更详细的资料。
本地处理器是以其自身的32位地址空间而不是PCI地址空间进行操作的。本地处理器上的存储器可以:
·对PCI地址空间可见的
·保持对本地处理器专用的
·这两者的结合
本地处理器总线41
本地处理器总线连接到P2P处理器的I/O接插引线,提供对外部设备的总线访问。P2P处理器为本地总线仲裁提供支持。
地址翻译单元43a、43b和报文传递单元45
地址翻译单元允许PCI事务处理直接访问本地处理器的本地存储器33。本地处理器34可直接访问两个PCI总线。地址翻译被提供用于PCI地址空间与本地处理器地址空间之间的事务处理。地址翻译是通过可编程寄存器控制的,可编程寄存器既可从PCI接口访问,又可从本地处理器访问,使得两种地址空间的映射灵活。报文传递单元45提供了一种在PCI系统与本地处理器之间传送数据的机制,它通过中断通知各系统有新数据到来。报文传递单元可用于发送和接收报文。
PCI至PCI桥单元32
PCI至PCI桥单元连接两个独立的PCI总线。该桥允许某些总线事务处理被从一个PCI总线转移到另一个PCI总线上。它还允许完全独立的PCI总线操作,包括独立的时钟。专用数据队列支持PCI总线的高性能带宽。PCI 64位双地址周期(DAC)寻址得到支持。
PCI至PCI桥单元有可通过初级PCI总线访问的专门的PCI配置空间。
P2P处理器中的PCI至PCI桥单元完全符合PCI专业组(SpecialInterest Group)出版的PCI桥体系结构标准(1.0版)。
专用PCI设备
P2P处理器设计上明确支持可使用次级PCI总线而又避开PCI配置软件检测的专用PCI设备。PCI至PCI桥和次级地址翻译单元43b合作,在PCI配置周期隐藏专用设备,并允许这些设备使用专用的PCI地址空间。这些设备可由次级地址翻译单元通过PCI配置周期进行配置。
集成存储器控制器47
集成存储器控制器为外部存储器系统提供直接控制。它支持DRAM、SRAM、ROM和Flash存储器。集成存储器控制器为通常不需要外部逻辑的存储器33提供一种直接连接接口。其特点是具有可编程的芯片选择、等待状态发生器、字节奇偶校验。
可将外部存储器配置为PCI可寻址存储器或作为专用本地处理器存储器。
DMA控制器51a和51b
DMA控制器允许在PCI总线代理与本地存储器之间进行等待时间短、通量高的数据传输。
有三个分离的DMA通道可用于数据传输。其中两个通道专门用于初级PCI总线的数据传输、一个通道专门用于次级PCI总线的数据传输。DMA控制器支持链接式数据传输和非对齐(unaligned)数据传输。只有通过本地处理器34才可被编程。
次级PCI仲裁单元53
次级PCI仲裁单元为次级PCI总线提供PCI仲裁。它执行一个具有可编程优先权的公平算法。设有6个PCI请求和同意信号对。该仲裁单元可被锁闭,以允许进行外部仲裁。
内部PCI和本地总线仲裁单元55a、55b、57
P2P处理器中含有两个内部仲裁单元,控制对设备内的内部PCI总线的访问,它们是为初级桥接口、初级ATU、DMA通道0、DMA通道1进行仲裁的初级内部PCI仲裁单元55a,为次级桥接口、次级ATU、DMA通道2进行仲裁的次级内部PCI仲裁单元55b。每个内部仲裁单元使用一种固定的轮式仲裁方案,总线上的每个设备具有相同的优先权。
P2P处理器也要求有一种仲裁机制来控制本地总线的所有权。本地总线仲裁单元(LBAU)57执行的公平算法,使每个总线主有获得本地总线控制权的机会。该算法综合采用了轮式仲裁方案和优先权机制。
I2C总线接口单元61
I2C总线(互连集成电路)接口单元允许本地处理器担当驻留在I2C总线上的主控设备和从属设备的角色。I2C总线是Philips公司开发的一种串行总线,由一个两针接口组成。该总线允许P2P处理器为了系统管理功能而与其它I2C外围设备和微控制器进行对接。它以最低的硬件要求为经济性的系统在I/O子系统上将状态信息和可靠性信息中转到外部设备。
APIC总线接口单元63
APIC总线接口单元提供了对允许进行I/O高级可编程中断控制器(APIC)软件模拟的三线APIC总线的接口。可以在总线上发送中断报文,也可以接收EOI报文。
中断路由分配67
提供了4个PCI中断输入,它们可被选择路由到本地处理器中断输入端,也可被选择路由到PCI中断输出接插引线。
术语与约定
表示数字
本文所有数字均为十进制,除非另加注明。文本中的十六进制数表示为“nnnH”,其中的H表示十六进制。二进制数以下标2标注。
数据结构中的保留域,是处理器不使用的域。保留域可以被软件使用,处理器不改变这些域。
保留域是一种可以被一个实现所使用的域。如果保留域的初始值由软件提供,则该值必须为0。软件不得修改保留域或依赖保留域中的任何值。
只读域可被读取以返回当前值。对只读域的写操作将被作为空(no-op)操作对待,既不改变当前值,也不产生出错条件。
读/清除域也可被读取以返回当前值。以数值0对读/清除域进行写操作不会改变该域的内容;以数值1对读/清除域进行写操作会使该域的内容被清除(复位到0值)。例如,假设某读/清除域的值为F0H,用数据值55H写入,结果,域的内容变为A0H。
术语
为便于讨论P2P体系结构,使用了下列术语:
下游(Downstream)  位于或朝向编号较高(配置后的)的PCI总线
双字(DWORD)       32位数据字
主处理器          位于P2P处理器上游的处理器
本地总线          本地处理器总线
本地存储器        本地总线上的存储器子系统
上游              位于或朝向(配置后)编号较低的PCI总线
附图简要说明
附图1是表示使用现有技术PCI至PCI桥的一个系统的方框图。
附图2是表示使用按照本发明方法发明的带处理器的PCI至PCI桥的一个系统的方框图。
附图3是表示所发明的P2P处理器的方框图。
附图4表示PCI至PCI桥的初级地址空间与次级地址空间之间事务处理流的方向。
附图5是表示PCI至PCI桥的方框图。
附图6是表示初级地址翻译单元和次级地址翻译单元的方框图。
附图7是表示直接存储器访问控制器与各种总线的连接的方框图。
附图8是存储器控制器的方框图。
附图9是表示本地处理器与PPIC之间的连接的方框图。
附图10是表示内部PCI仲裁单元的连接的方框图。
附图11是表示I2C总线接口单元及其与本地总线的接口的方框图。
发明的详细说明
现在就按附图3中的功能方框对本发明加以说明。本地处理器
下面描述在P2P处理器中用作本地处理器的80960 JF微处理器。文中表述了80960 JF处理器的配置方法和与《i960 Jx微处理器用户手册》中的描述不同的部分。概述
80960 JF微处理器在P2P处理器中的实现无需作功能性的改动,即不改变内部逻辑。有关80960 JF微处理器的更详细资料请参阅《i960 Jx微处理器用户手册》。性质
80960 JF微处理器有如下基本性质:
·高性能指令执行内核
·4K字节的两路组相联(2-way set associative)指令高速缓冲存储器
·2K字节的直接映射数据高速缓冲存储器
·32个32位整数寄存器
·可编程总线控制器
·1K字节的内部数据随机存取存储器(RAM)
·本地寄存器高速缓冲存储器,它提供多达8个本地寄存器组的存储空间
·高级中断控制器
·2个32位定时器差异点
以下描述系统设计中对P2P处理器中使用的80960 JF微处理器有影响的决定。
存储器区域
因为P2P处理器的外围存储器映射寄存器宽度为32位,存储器区0和1必须被指定是一个32位的区域。因而,PMCON0_1寄存器中必须设置总线宽度位为102,指示32位宽的总线。
总线
为使DMA访问的性能最优,允许本地总线上本地处理器之外的总线主在本地处理器总线上具有无限制的脉冲串长度。然而,长度超过4个字的脉冲串的地址不作递增。这其中的含义是,本地总线上存储器控制器必须对脉冲串中的每个访问递增地址。PCI至PCI桥单元概述
PCI至PCI桥单元32是一个允许扩展PCI总线至其10个电气PCI负荷的物理限度以上的设备。该桥单元使用分层体系总线的概念,分层体系总线中的每个总线是一个电独立的单位,但分层体系内的所有总线逻辑上构成一个总线。PCI至PCI桥单元不增加PCI总线的带宽,它只允许为需要超过电力标准允许数目的I/O部件的应用对总线进行扩展。
PCI至PCI桥单元提供:
·支持任一方向上的并发操作的独立的32位初级PCI总线和次级PCI总线;
·位于桥的次级端的分离的存储器和I/O地址空间;
·用于上游、下游事务处理的2个64字节投递缓冲器(postingbuffers);
·VGA调色板探测(palette snooping)和次级总线上VGA兼容的寻址;
·从次级PCI接口的64位寻址模式;
·专用设备配置及次级PCI总线上专用PCI设备的地址空间;
·允许在初级接口和次级接口上正解码(positive decoding)的特别操作模式。操作原理
桥单元起着初级PCI总线和次级PCI总线之间的地址过滤器的作用。PCI支持3种分离的地址空间:·4G字节的存储器地址空间·64K字节的I/O地址空间(16位寻址)·单独的配置空间
PCI至PCI桥以存储器和I/O地址空间内的连续的地址范围编程,这些存储器和I/O地址空间然后变成次级PCI地址空间。出现在其范围在程序设置的次级空间内的桥的初级端上任何地址均被从初级端传递到次级端,而范围在该次级空间之外的地址则被桥忽略。桥的次级端的工作与初级端相反,如附图4所示,它忽略程序设置的次级空间范围内的地址,而将该次级空间之外的所有地址传递到初级端。
PCI桥的初级和次级接口各自实现符合PCI 2.1标准的主和目标设备。在桥的一端被启动的PCI事务处理将把启动事务处理的总线桥接口当作目标,该事务处理将由按主设备操作的该目标总线接口完成。桥对初级端和次级端上的PCI设备都是透明的。
P2P处理器的PCI至PCI桥单元至少具有《PCI至PCI桥体系结构规范》(1.0版)和《PCI本地总线规范》(2.1版)中所要求的性质。以下说明桥的功能,适当时要引用《PCI至PCI桥和PCI总线规范》的内容。体系结构说明
PCI至PCI桥单元逻辑上可划分以下4个主要部分:
·初级PCI接口
·次级PCI接口
·投递缓冲器
·配置寄存器
附图5中桥的框图显示了这些主要功能单元。初级PCI接口
PCI至PCI桥的初级PCI接口71既可以作为PCI总线事务处理的目标也可以作为PCI总线事务处理的启动器。在大多数系统中,初级接口与一般来说是系统分层体系中最低编号PCI总线的主机/PCI桥的PCI侧相连。初级接口由50个在《PCI至PCI桥体系结构规范》(1.0版)中定义的必须信号接插引线和4个可选中断接插引线组成。
初级接口既实现启动器(主)又实现目标(从)PCI设备。当次级总线上有事务处理被启动时,初级主状态机(the primary master statemachine—《PCI本地总线规范》(2.1版)对其有描述)就如同启动设备一样完成该事务处理(读或写)。初级PCI接口作为需要在次级总线上完成的事务处理的PCI目标设备,接收事务处理并将请求传递到次级端。作为目标设备,初级PCI接口用正解码(positive decoding)要求在桥的下方提出的PCI事务处理,然后将该事务处理传递到次级主接口(secondary master interface)上。
初级PCI接口负责所有命令解释、地址解码及出错处理。
初级接口与次级接口的PCI配置、中断路由选择逻辑(下文描述)、次级PCI总线仲裁是通过初级接口完成的。配置空间寄存器支持这些功能。
次级PCI接口
PCI至PCI桥单元的次级PCI接口73的作用方式几乎与初级接口的一样。它既包括一个PCI主设备也包括一个PCI从设备,并用系统使用的一组新的PCI电气负载实现“第二”PCI总线。次级PCI接口由49个必须信号接插引线组成。S_RST#是次级端上的一个输出而不是输入。
次级PCI接口作为从(目标)设备,负责要求在桥的次级存储器或I/O地址空间中安置不下的PCI事务处理,将这些事务处理向上传递过桥,给初级端的主设备。次级PCI接口作为主设备(启动器),负责完成在桥的初级侧上启动的事务处理。次级PCI接口使用桥地址寄存器的逆解码(inverse decoding),只将范围在初级地址空间内的地址传递过桥。
次级PCI接口还为次级总线上的专用PCI设备实现一个单独的地址空间,这时次级PCI接口忽略并且不传递由本地处理器在配置时定义的初级地址范围。
作为一种特殊的操作模式,次CPI接口根据其自有的存储器和I/O地址寄存器执行正地址解码。这种操作模式是通过二级解码选通寄存器(SDER)得以实现的,具有锁闭次级接口上标准桥地址寄存器的逆解码的副作用。
投递缓冲器
为了对桥的对面隐盖在读和写事务处理期间仲裁PCI目标和获得PCI目标中产生的迟滞,PCI至PCI桥单元实行两个64字节的投递缓冲器77和79。桥既支持延迟事务处理(Delayed transactions)又支持投递事务处理(Posted transactions)。
延迟事务处理中,完成事务处理所需的信息被锁存,事务处理被重试信号中止。然后,桥就代表启动器执行事务处理。要求启动器重复被用重试信号中止的原始事务处理,以便完成该事务处理。
投递事务处理中,允许事务处理在目标总线上完成之前,在启动总线上先行完成。
下面详细讨论延迟事务处理和投递事务处理。
桥使用两个投递缓冲器:
·用于寄存自初级接口流向次级接口的数据的下游投递缓冲器77;
·用于寄存自次级接口流向初级接口的数据的上游投递缓冲器79。
各缓冲器均有关联的地址/控制寄存器,用来保存有关事务处理的信息。
配置寄存器
每个PCI设备实现一个独立的配置地址空间及配置寄存器81。桥配置首部格式的前16个字节实现所有PCI设备所要求的公用配置寄存器。只读首部类型寄存器中的值定义了首部内其余48个字节的格式,对PCI至PCI桥返回01H。
初级总线上的设备只能以0类型的配置命令访问PCI至PCI桥的配置空间。次级PCI总线上的设备不能以PCI配置周期访问桥的配置空间。配置寄存器中存放着桥的两边均需要的地址译码、出错条件和状态信息。地址解码
P2P处理器提供3个独立的地址区间,它们被用于确定以任一方向通过P2P处理器的桥部分被发送的是哪些存储器和I/O地址。用于存储器事务处理的地址区间有2个,用于I/O事务处理的地址区间有1个。桥用一个基地址寄存器和界限寄存器来实现一个地址区间。在初级接口上的地址区间被正解码,将区间内的任何地址认为是次级地址,因此能被向下游发送过桥。在次级接口上的地址区间被逆解码。这意味着程序设置的地址区间之外的任何地址均能被向上游发送过桥。
标准桥单元地址解码也能被次级解码选通寄存器(SDER)修改。这个寄存器内的数据位允许次级桥接口的正地址解码,禁止PCI至PCI桥所使用的基本逆地址解码。I/O地址空间
PCI至PCI桥单元实现一个用于PCI I/O事务处理的可编程地址区间。桥配置空间中的I/O基址寄存器(IOBR)和I/O界限寄存器(IOLR)定义一个连续的I/O地址空间。IOBR的高4位对应I/O地址的AD[15:12],低12位总是000H,促使I/O地址空间的4K字节对齐。IOLR的高4位也对应I/O地址的AD[15:12],低12位为FFFH,促使粒度为4K字节。
桥单元将从初级接口向次级接口发送一个具有在IOBR和IOLR(含)定义的地址区间之内的地址的I/O事务处理,在这种情况下,对于该桥接I/O事务处理来说,初级接口起着PCI目标的作用,次级接口起着PCI启动器的作用。
次级总线上出现一个I/O读或写事务处理时,如果事务处理的地址在IOBR和IOLR定义的地址区间之外,桥单元就将该事务处理发送至初级接口。在这种情况下,次级接口起着PCI目标的作用,初级接口起着PCI启动器的作用。
P2P处理器只支持16位的地址用于I/O事务处理,因此,地址大于64K字节的I/O事务处理既不会被发送到初级接口也不会被发送到次级接口。即使数据位AD[31:16]没有在IOBR和IOLR中被实现,桥也要假设AD[31:16]=000H。桥单元仍然必须在I/O事务处理期间执行一个完整的32位译码操作,按《PCI本地总线规范》检验AD[31:16]=000H。
ISA模式
P2P设备的PCI至PCI桥单元在桥控制寄存器(BCR)中实现一个ISA模式位,用于为从属PCI总线上的ISA I/O卡提供ISA指示。ISA模式只影响IOBR和IOLR寄存器定义的地址区间之内的那些I/O地址。当通过对ISA模式位置位启动ISA模式时,对于地址在各个自然对齐的1K字节块的高768字节(300H)的I/O事务处理,桥将其滤除而不发送;与其相反,次级总线上的I/O事务处理则逆解码这些ISA地址,因而发送地址在各个自然对齐的1K字节块的高768字节(300H)的I/O事务处理。存储器地址空间
PCI至PCI桥单元支持两个用于从初级接口向下游发送存储器访问至次级接口的独立地址区间。存储器基址寄存器(MBR)和存储器界限寄存器(MLR)定义一个地址区间,可预取存储器基址寄存器(PMBR)和可预取存储器界限寄存器(PMLR)定义另一个地址区间。可预取地址区间用于确定哪些存储器空间可以预取而无副作用。这两对寄存器都确定桥何时将发送“存储器读”、“存储器读行”(Memory Read Line)、“存储器读多次”(Memory Read Multiple)、“存储器写”、“存储器写及无效”事务处理过桥。如果两对寄存器重叠,则产生一个地址区间,该地址区间是与优先于桥读事务处理响应的可预取区间组合的两个寄存器的和。
寄存器MBR、MLR、PMBR、PMLR的高12位对应主存储器地址或次级存储器地址的地址位D[31:20]。为译码目的,桥假设两个存储器基址寄存器的AD[19:0]均为00000H,两个存储器界限寄存器的AD[19:0]均为FFFFFH。这促使由桥单元支持的各存储器地址区间被对齐在1M字节的边界上并具有1M字节的大小粒度(size granularity)。所有4个寄存器的低4位均为只读型,被读时返回零。
地址范围处于两对寄存器(MBR-MLR与PMBR-PMLR)所定义地址区间之内的任何PCI存储器事务处理(而不是I/O事务处理),均被从初级接口向下游发送过桥至次级接口。在曾被初级总线上初级从接口要求(claimed)的次级总线上,次级主接口(secondary master interface)总是使用相同的命令类型(在“存储器写及无效”事务处理期间的某些情况除外)。所有的双地址周期(dual address cycles)(64位地址的事务处理)总是被次级接口要求。
地址范围处于两对寄存器(MBR-MLR与PMBR-PMLR)所定义地址区间之外的任何PCI存储器事务处理,均被从次级接口向上游发送过桥至初级接口。次级接口从次级总线将所有的双地址周期发送到初级总线。双地址周期被限制在64位地址空间的高4G字节。
通过桥配置空间中的下列寄存器位可修改桥对初级、次级接口中任一接口的响应:
·初级命令寄存器(PCMD)中的主启动位
·初级命令寄存器(PCMD)中的存储器启动位
·桥控制寄存器(BCR)中的VGA启动位
·次级解码启动寄存器(SDER)中的次级正存储器解码启动位
次级解码启动寄存器(SDER)中的次级正存储器解码启动位修改次级地址解码。它启动一对地址区间寄存器、次级存储器基址寄存器(SMBR)与次级存储器界限寄存器(SMLR),这些寄存器为次级总线上要求存储器事务处理及发送过桥而定义一个地址窗。该解码和事务处理要求的工作方式与MBR/MLP和PMBR/PMLR地址对在初级总线上的正解码方式一样。次级正存储器解码启动位也锁闭在要求地址范围超出MBR/MLP和PMBR/PMLR规定地址区间的存储器事务处理的次级接口上执行的逆解码。在代表MBR/MLP和PMBR/PMLR地址对的初级接口上不执行逆解码。
64位地址解码—双地址周期
桥单元仅支持在桥单元的次级接口上进行64位寻址的双地址周期命令。双地址周期允许通过使用两个PCI地址阶段(phases)进行64位寻址—第一阶段为低32位,第二阶段为高32位。
一般来说,桥单元解码所有双地址周期并将其从初级接口发送至次级接口,而不管在寄存器对MBR/MLP和PMBR/PMLR中定义的地址区间如何。如果SDER寄存器中的次级差解码启动位置位,双地址周期将不被发送。
桥单元用减解码定时(在FRAME#被确立的5个时钟之后确立DELSEL#)要求双地址周期。这就使得次级总线上的其它代理能在桥单元之前要求双地址周期。
初级接口不发送双地址周期。
保存和发送64位地址的高32位的机制是将与次级至初级数据路径关联的32位地址寄存器相加。这些寄存器存储双地址周期的第二地址阶段期间传输的64位地址的高32位。此外,主和从状态机必须能够支持双地址周期和DAC命令。
通过桥配置空间中的下列寄存器位可修改对次级接口上DAC周期的响应:
·初级命令寄存器(PCMD)中的主启动位
·初级命令寄存器(PCMD)中的存储器启动位
要允许桥使桥能够响应无论32位还是64位的任何种类的存储器周期,PCMD寄存器中的存储器启动位必须被置位。
要允许初级接口对主PCI事务处理,PCMD寄存器中的主启动位必须被置位。桥操作
P2P处理器的桥单元能够从一个PCI接口向另一个PCI接口发送所有类型的存储器、IO和配置命令。表1中定义了PCI至PCI桥单元及其两个PCI接口所支持和所不支持的PCI命令。PCI命令是编码在任一接口的C/BE〔3:0〕#插接引线上的。为避免两个接口的不同所引起的死锁,当两个接口上同时出现事务处理时,桥将优先权赋予初级接口。
           表1.PCI命令
C/BE#   PCI命令 启动器:初级总线目  标:次级总线 启动器:次级总线目  标:初级总线
00002 中断确认 不问 不问
00012 特殊周期 不问 不问
00102 I/O读 发送 发送
00112 I/O写 发送 发送
01002 保留 不问 不问
01012 保留 不问 不问
01102 存储器读 发送 发送
01112 存储器写 发送 发送
10002 保留 不问 不问
10012 保留 不问 不问
10102 配置读 发送 发送
10112 配置写 发送 发送
11002 存储器读多次 发送 发送
11012 双地址周期 不问 不问
11102 存储器读行 发送 发送
11112 存储器写与无效 发送 发送
  PCI接口
P2P的桥单元有一个初级PCI接口和一个次级PCI接口。当事务处理在初级总线上被启动并由桥要求时,初级接口就起着PCI目标设备的作用,次级接口则起着对次级总线上真正的PCI目标的启动设备的作用。初级总线为启动总线,次级总线为目标总线。该序列对于次级总线上启动的事务处理被颠倒。对各接口定义如下:
初级接口
桥单元的初级PCI接口71是连接到P2P设备桥接的两个PCI总线之间编号较低的PCI总线的接口。
初级PCI接口必须遵守《PCI本地总线规范》和《PCI至PCI桥体系结构规范》中规定的对PCI主和从设备的定义。
次级接口
桥单元的次级PCI接口73是连接到P2P设备桥接的两个PCI总线之间编号较高的PCI总线的接口。
次级PCI接口必须遵守《PCI本地总线规范》和《PCI至PCI桥体系结构规范》中规定的对PCI主和从设备的定义。投递缓冲器
PCI至PCI桥有两个投递缓冲器用于延迟事务处理和投递事务处理。下游投递缓冲器77位于从初级接口至次级接口的数据路径中;上游投递缓冲器79位于从次级接口至初级接口的数据路径中。附图5表示了位于初级接口和次级接口之间的两个投递缓冲器。
使用下游投递缓冲器的有:
·初级总线的“投递写”
·初级总线的“延迟写请求”
·返回到次级总线的“延迟读完成”
·返回到次级总线的“延迟写完成”
使用上游投递缓冲器的有:
·次级总线的“投递写”
·次级总线的“延迟写请求”
·返回到初级总线的“延迟读完成”
·返回到初级总线的“延迟写完成”
写投递允许桥达到其全部带宽潜力,与此同时又掩盖了穿越桥所关联的等待和获取目标总线所关联的等待。两组投递缓冲器可同时被使用。投递缓冲器的组织
每个投递缓冲器能存放组织成4字节长度的16项数据(16个双字)的64个字节。每个缓冲器能存放:
·多达64字节的一个“投递写”事务处理,或者
·多达64字节的一个“延迟完成”事务处理,或者
·多达4字节的一个“延迟写”事务处理
每个投递缓冲器与一个地址寄存器和一组标记位(tag bits)及有效位(valid bits)相关联。
桥也可以在投递缓冲器之外存储一个“延迟读请求”。
投递缓冲器的内部寻址以一种循环方式进行,其方法是,当有事务处理进入一个空缓冲器时,它立即被发送到缓冲器的顶部。移动缓冲器中的一项数据到下一项不需要PCI时钟。投递缓冲器的操作
两个投递缓冲器都被用于帮助桥达到其全部的带宽潜力并掩盖为每个穿越桥的事务处理获取两个总线所产生的等待。要允许缓冲器投递事务处理,EBCR寄存器中的“投递禁止”位必须被清零。
投递缓冲器的性质为从初级接口到次级PCI接口和从次级接口到初级PCI接口的同时操作创造了条件。这就是说,两个PCI接口上向对面接口的事务处理可以同时发生。从事务处理被启动到桥的时刻起,目标接口就试图获得对目标总线的主控权。这所用的机制就是在初级接口和次级接口上所用的标准PCI仲裁机制。
作为缺省的复位状态,投递缓冲器将被标记为无效。随后的任何PCI复位事件都会迫使所有缓冲器通过被标记无效而被清零。事务处理定序规则
因为桥能处理多重事务处理,所以必须进行适当的定序以避免发生死锁条件,提高通量。表2中的内容是多重事务处理的定序规则。表中第1栏是刚刚被锁存的事务处理。该表指出了新的事务处理能超越(pass)上一个被接受的事务处理(用“是”表示)、新的事务处理不能超越上一个被接受的事务处理(用“非”表示)、新的事务处理不应被接受(用“不接受”表示)等情形。未被接受的事务处理,应当向其发送一个Retry信号。
              表2.事务处理的超越
    超越? 超越被接受投递存储器写? 超越被接受延迟读请求? 超越被接受延迟写请求? 超越被接受延迟读完成? 超越被接受延迟写完成?
    新的投递存储器写     非     是     是     是     是
    新的延迟读请求     非   不接受   不接受     非     是
    新的延迟写请求     非   不接受   不接受     非     是
    新的延迟读完成     非     是     是   不接受   不接受
    新的延迟写完成     是     是     是     非   不接受
寄存器定义
以下描述PCI至PCI桥配置寄存器。配置空间由按预定格式安排的8位、16位24位、32位寄存器组成。对配置寄存器的访问要通过桥的初级端上的0类型的配置读与写和本地处理器的本地操作。
下文详细介绍了除《PCI本地总线规范》和《PCI至PCI桥体系结构规范》定义的寄存器之外的每个寄存器的功能、访问类型(读/写、读/清零、只读)以及复位缺省条件。前文已说过,要求初级端上带活跃的IDSEL或存储器映射的本地处理器访问的0类型配置命令对这些寄存器进行读或写。对位移量达3EH的寄存器的格式,《PCI至PCI桥体系结构规范》(1.0版)中有所定义,因此本文不再赘述。位移量大于3EH的寄存器特定于P2P处理器的具体实现。
要允许本地处理器访问桥配置空间,还有另外一个要求。有些只被0类型配置读写命令读取的寄存器是由本地处理器可写的寄存器。这允许在PCI配置开始之前对某些配置寄存器进行初始化。
本地处理器按照存储器映射寄存器读写桥配置空间。表3显示了寄存器及其在PCI配置命令中使用的相关位移量以及其在本地处理器地址空间中的存储器映射地址。
在桥的初级端上确立P_RST#信号影响桥配置空间中含有的大多数寄存器的状态。除非另加注明,否则,当进行初级复位时,所有数据位及寄存器都要返回到其业已申明的缺省状态值。除非明确注明,否则次级S_RST#输出的复位状态不影响寄存器的状态。
           表3.PCI至PCI桥配置寄存器地址
    寄存器名 大小(字节数) 地址位移量
销售商标识符寄存器—VIDR     2     00H
设备标识符寄存器—DIDR     2     02H
初级命令寄存器—PCMDR     2     04H
初级状态寄存器—PSR     2     06H
修订标识符寄存器—RIDR     1     08H
类别代码寄存器—CCR     3     09H
高速缓冲存储器行大小寄存器-CLSR     1     0CH
初级等待定时器寄存器—PLTR     1     0DH
首部类型寄存器—HTR     1     0EH
初级总线号寄存器—PBNR     1     18H
次级总线号寄存器—SBNR     1     19H
下属总线号寄存器—SubBNR     1     1AH
次级等待定时器寄存器—SLTR     1     1BH
I/O基址寄存器—IOBR     1     1CH
I/O界限寄存器—IOLR     1     1DH
次级状态寄存器—SSR     2     1EH
存储器基址寄存器—MBR     2     20H
存储器界限寄存器—MLR     2     22H
可预取存储器基址寄存器—PMBR     2     24H
可预取存储器界限寄存器—PMLR     2     26H
桥控制寄存器—BCR     2     3EH
扩展的桥控制寄存器—EBCR     2     40H
次级IDSEL选择寄存器—SISR     2     42H
初级桥中断状态寄存器—PBISR     4     44H
次级桥中断状态寄存器—SBISR     4     48H
次级仲裁控制寄存器—SACR     4     4CH
PCI中断路由选择寄存器—PIRSR     4     50H
次级I/O基址寄存器—SIOBR     1     54H
次级I/O界限寄存器—SIOLR     1     55H
次级存储器基址寄存器—SMBR     2     58H
次级存储器界限寄存器—SMLR     2     5AH
次级解码启动寄存器—SDER     2     5CH
如前文所述,从销售商标识符寄存器到桥控制寄存器BCR中的各数据位遵守《PCI本地总线规范》中的定义,因此本文不必叙述。下文描述的对象是按照本发明为实现PCI至PCI桥而添加到《PCI本地总线规范》的寄存器。如表3所示,添加的寄存器的地址位移量从40H开始。扩展的桥控制寄存器—EBCR
扩展的桥控制寄存器用于控制桥所执行的《PCI至PCI桥体系结构规范》中规定的基本功能以外的扩展功能。寄存器中有启动位和锁闭位,用于控制桥的扩展功能。
            表4a  扩展的桥控制寄存器—EBCR
    缺省值  读/写              描述
15:07 0000000002 只读 保留
06 随初级PCI总线复位时CONFIG_MODE接插引线的外部状态而变化 读/写 配置周期禁止—当该位被置位时,P2P处理器的初级PCI接口用“Retry”条件响应所有的配置周期。当该位被清零时,P2P处理器响应恰当的配置周期。该位的缺省条件根据在P_RST#上升边沿的CONFIG_MODE接插引线的外部状态而定。如果接插引线的外部状态是高电平,该位被置位;如果接插引线的外部状态是低电平,该位被清零。
05 02 只读 保留
04 02 只读 保留
03 随初级PCI总线复位时SYNC#接插引线的 只读 SYNC#模式—描述下面的三个时钟中哪些是同步的:初级PCI总线、次
外部状态而变化 级PCI总线、本地处理器。如果被清零,所有三个时钟同步;如果被置位,初级PCI总线时钟与次级PCI总线时钟及本地处理器时钟异步。该位的缺省值根据在P_RST#上升边的SYNC#接插引线的外部状态而定。
02 02 读/写 复位桥—当该位被置位,整个PCI至PCI桥将被复位。桥的所有寄存器被设置到其缺省值(BCR中的次级总线复位位除外),所有状态机被复位,所有缓冲器被清除。BCR中的次级总线复位位在保证最短PCI复位时间内被置位。要清除该复位位以取消(deassert)次级总线复位的确立,需要使用软件。
01 随初级PCI总线复位时RST_MODE接插引线的外部状态而变化 读/写 处理器复位—该位只复位本地处理器而不复位桥的次级端。置位该位将置处理器于复位状态并保持该状态。要使该位清零以取消本地处理器复位,需要使用软件。该位的缺省条件根据在P_RST#上升边沿的RST_MODE接插引线的外部状态而定。如果接插引线的外部状态是高电平,该位被置位;如果接插引线的外部状态是低电平,该位被清零。
00 02 读/写 投递锁闭—如果该位置位,则不允许桥无论从哪个桥接口投递写事务处理。所有事务处理被作为延迟事务处理处理。如果该位清零,则允许桥投递写事务处理。
初级桥中断状态寄存器—PBISR
初级桥中断状态寄存器用于向本地处理器告知初级桥接口中断的中断源。此外,对该寄存器进行写操作可以清除向P2P处理器的中断单元的中断的中断源。该寄存器所有数据位对PCI是只读的,对本地总线是读/清零的。
位4:0(分别)是初级状态寄存器的第8位和位14:11的直接反映(这些位由硬件同时设置,但必须单独清除)。通过向该寄存器中适当的某些位写入1,就可以清除产生初级桥中断的条件。
            表4b  初级桥中断状态寄存器—PBISR
  位   缺省值   读/写                  描述
31:05 0000000H 只读 保留
  04 02 读/清零 P_SERR#被确立—如果初级PCI总线上确立P_SERR#,则该位被置位。
  03 02 读/清零 PCI主流产-每当由初级主接口启动的事务处理以主-流产方式结束时,该位被置位。
  02 02 读/清零 PCI目标流产(主)—每当由初级主接口启动的事务处理以主-流产方式结束时,该位被置位。
  01 02 读/清零 PCI目标流产(目标)—每作为目标的初级主接口,以目标流产方式停止PCI总线上的事务处理时,该位被置位。
  00 02 读/清零 PCI主奇偶校验出错—初级接口在符合以下三个条件时将该位置位:1)总线代理自己确立P_SERR#或探测到P_SERR#已被确立2)为该位置位的该代理在出错的操作中担当了总线主的角色3)(命令寄存器中的)奇偶校验错误响应位被置位
  次级桥中断状态寄存器—SBISR
次级桥中断状态寄存器用于向本地处理器告知次级桥接口中断的中断源。此外,对该寄存器进行写操作可以清除对P2P处理器的中断单元的中断的中断源。该寄存器所有数据位对PCI是只读的,对本地总线是读/清零的。
位4:0(分别)是次级状态寄存器的第8位和位14:11的直接反射(这些位由硬件同时设置,但必须单独清除)。通过向该寄存器中适当的某些位写入1,就可以清除产生次级桥中断的条件。
          表4c  次级桥中断状态寄存器—PBISR
  位   缺省值 读/写              描述
31:05 0000000H 只读 保留
04 02 读/清零 P_SERR#确立(asserted)—如果次级PCI总线上P_SERR#确立,则该位被置位。
03 02 读/清零 PCI主流产—每当由次级主接口启动的事务处理以主-流产方式结束时,该位被置位。
02 02 读/清零 PCI目标流产(主)—每当由次级主接口启动的事务处理以主-流产方式结束时,该位被置位。
01 02 读/清零 PCI目标流产(目标)—每当作为目标的次级主接口,以目标流产方式停止PCI总线上的事务处理时,该位被置位。
00 02 读/清零 PCI主奇偶校验出错—次级接口在符合以下三个条件时将该位置位:1)总线代理自己确立P_SERR#或探测到P_SERR#已被确立2)为该位置位的该代理在出现错误的该操作中担当总线主的角色。3)(命令寄存器中的)奇偶校验错误响应位被置位
  次级IDSEL选择寄存器—SISR
次级IDSEL选择寄存器控制从初级接口到次级接口的类型1至类型0转换中的S_AD[20:16]的使用。在缺省条件下的操作中,类型1至类型0转换期间,对地址P_AD[15:11]一种独特编码,会导致在次级地址总线S_AD[31:16]上确立一个数据位。这被用于在由类型0配置命令设定为目标的设备上确立IDSEL。这个寄存器允许用次级地址位S_AD[20:16]来配置专用PCI设备,而不管初级地址P_AD[15:11](类型1配置命令中的设备号)的状态如何,具体方法是在类型1至类型0转换期间,将次级地址位S_AD[20:16]全部清零。
如果S_AD[20:16]内有任何地址位要被用于专用次级PCI设备,本地处理器必须保证在主机试图配置分层结构的PCI总线之前,将SISR寄存器中的对应位置位。
            表4d  次级IDSEL选择寄存器—SISR
  位 缺省值  读/写                    描述
  04 02 读/写 AD20-IDSEL禁止-如果该位置位,对任何可能的类型1至类型0转换,AD20将被撤销。如果该位清零,AD20在类型1至类型0转换期间当初级地址[15:11]=001002时被确立。
  03 02 读/写 AD19-IDSEL锁闭-如果该位置位,对任何可能的类型1至类型0转换,AD19将被撤销。如果该位清零,AD19在类型1至类型0转换期间当初级地址[15:11]=001002时被确立。
  02 02 读/写 AD18-IDSEL锁闭-如果该位置位,对任何可能的类型1至类型0转换,AD18将被撤销。如果该位清零,AD18在类型1至类型0转换期间当初级地址[15:11]=001002时被确立。
  01 02 读/写 AD17-IDSEL锁闭-如果该位置位,对任何可能的类型1至类型0转换,AD17将被撤销。如果该位清零,AD17在类型1至类型0转换期间当初级地址[15:11]=001002时被确立。
  00 02 读/写 AD16-IDSEL锁闭-如果该位置位,对任何可能的类型1至类型0转换,AD16将被撤销。如果该位清零,AD16在类型1至类型0转换期间当初级地址[15:11]=001002时被确立。
  次级仲裁控制寄存器—SACR
次级仲裁控制寄存器用于设置使用次级PCI总线的各个设备的仲裁优先级。写一个值设置仲裁优先级,读寄存器则返回编程的值。每个设备被赋予一个2位的优先级值。优先级如表4e所示。
   表4e  编程的优先级控制
    2位编程值   优先级
    002 高优先级
    012 中优先级
    102 低优先级
    112 禁止
SACR寄存器中也有用于次级总线仲裁单元的次级仲裁器启动位。该位清零时,次级总线仲裁器被禁止,桥将在S_GNT0#上驱动S_REQ0#,并在S_REQ0#上抽样S_GNT#。缺省状态是内部次级仲裁单元启动(次级仲裁单元启动位置位)。PCI中断路由选择寄存器—PIRSR
以下参照PCI和外部中断控制器(PPIC)说明PCI中断路由选择寄存器。次级I/O基址寄存器—SIOBR
当次级PCI接口被启动用于正解码时,要使用次级I/O基址中的位。次级I/O基址寄存器为用于确定何时从桥的次级接口向初级接口发送I/O事务处理的正解码地址区间定义底部地址(含底部地址)。该寄存器必须在次级解码启动寄存器(SDER)被置位之前用一个有效值编程。桥仅支持由寄存器的最低4位有效位为0H所表示的16位寻址方式。高4位被编程为地址区间的底部的S_AD[15:12]的值,基址的S_AD[11:0]总为000H,促使次级I/0地址区间是4K字节对齐的。
为了地址解码的目的,桥假设I/O地址的高16位地址位S_AD[31:16]为0。桥仍然必须按照《PCI本地总线规范》对全部的32位地址进行地址解码,并查验高16位为0000H。
正次级I/O地址区间(由SIOBR与SIOLR定义)不受桥控制寄存器(BCR)中的ISA启动位状态的影响。
            表4f  次级I/O基址寄存器—SIOBR
  位   缺省值  读/写                描述
07:04 0H 读/写 次级I/O基址-该域被编程为有待从桥的次级端传送到初级端的正解码次级I/O地址区间的底部地址的S_AD[15:12]。
 03:00 0H 只读 I/O寻址能力-0H值表示桥只支持16位的I/O寻址。
  次级I/O界限寄存器—SIOLR
当次级PCI接口被启动用于正解码时,要使用次级I/O界限寄存器中的位。次级I/O界限寄存器为用于确定何时从桥的次级接口向初级接口发送I/O事务处理的正解码地址区间定义高地址(含高地址)。该寄存器必须在桥命令寄存器中的I/O空间启动位和次级解码启动寄存器(SDER)中次级I/O解码启动位的被置位之前用一个大于或等于SIOBR的有效值编程。如果SIOBR的值大于SIOLR的值,则从次级接口发送到次级接口(正解码)的I/O周期(cycles)无定义。桥仅支持由寄存器的最低4位有效位为0H所表示的16位寻址方式。高4位被编程为S_AD[15:12]的值,作为地址区间的顶部地址。基址的S_AD[11:0]总为0000H,促使I/O地址区间具有4K字节的粒度(granularity)。
为了地址解码的目的,桥假设I/O地址的高16位地址位S_AD[31:16]为0。桥仍然必须按照《PCI本地总线规范》对全部的32位地址进行地址解码,并查验高16位为0000H。
(由SIOBR与SIOLR定义的)次级I/O地址区间不被桥控制寄存器(BCR)中的ISA启动位修改。
     表4g  次级I/O界限寄存器—SIOLR
  位   缺省值 读/写     描述
07:04 0H 读/写 次级I/O界限地址-该域被编程为有待从桥的次级端传送到初级端的正解码次级I/O地址区间的顶部的S_AD[15:12]。
03:00 0H 只读 次级I/O寻址能力-0H值表示桥只支持16位的I/O寻址。
  次级存储器基址寄存器—SMBR
当次级PCI接口被启动用于正地址解码时,要使用次级存储器基址寄存器中的位。如果SDER中的专用地址空间启动位置位,也要用次级存储器基址寄存器中的位在次级PCI总线上定义一个专用地址空间。次级存储器基址寄存器为用于确定何时从桥的次级接口向初级接口发送事务处理的内存映射地址区间定义底部地址(含底部地址)。该寄存器必须在寄存器SDER中的次级正存储器解码启动位被置位之前用一个有效值编程。高12位对应32位地址的S_AD[31:20]。为了地址解码的目的,桥假设存储器基址的低20位地址位S_AD[19:0]为0。这意味被定义的地址区间的底部地址将被对齐在1M字节的边界上。
          表4h  次级存储器基址寄存器—SMBR
  位 缺省值 读/写     描述
15:04 0H 读/写 次级存储器基址-该域被编程为有待从桥的次级端传送到初级端接口的正解码次级存储器地址区间的底部地址S_AD[30:20]。
03:00 0H 只读 保留
  次级存储器界限寄存器-SMLR
当桥单元的次级接口被启动用于正地址解码时,要使用次级存储器界限寄存器中的位。次级存储器界限寄存器为用于确定何时从桥的次级接口向初级接口发送事务处理的内存映射地址区间定义顶部地址(含底部地址)。次级存储器界限寄存器必须在存储器空间启动位和次级正存储器解码启动位被置位之前用一个大于或等于SMBR的有效值编程。一旦存储器空间启动位和次级正存储器解码启动位被置位时,如果SMLR的值不是大于或等于SMBR的值,则从次级接口发送到初级接口的正解码事务处理不确定。高12位对应32位地址的S_AD[31:20]。为了地址解码的目的,桥假设存储器基址的低20位地址位S_AD[19:0]为FFFFFH。这就促使在存储器地址区间产生1M字节的粒度。
           表4i  次级存储器界限寄存器—SMLR
  位   缺省值 读/写     描述
15:04 000H 读/写 次级存储器界限地址-该域被编程为有待从桥的次级端传送到初级端的正解码次级存储器地址区间的顶部地址的S_AD[30:20]。
03:00 0H 只读 保留
  次级解码启动寄存器—SDER
次级解码启动寄存器用于控制桥单元的次级PCI接口上的地址解码功能。次级正I/O解码启动位一旦置位,就致使桥对由SIOBR/SIOLR地址对定义的地址区间内的事务处理进行解码、要求取得控制权并将事务处理发送过桥单元。次级存储器解码启动位虽然与次级正I/O解码启动位的功能相同,但只在由SMBR/SMLR地址对定义的地址区间内起作用。对这些寄存器位中无论哪一位置位,会禁止次级接口上的所有逆解码。
次级差解码启动位允许在次级接口上进行差桥解码,以支持初级接口上的标准总线扩展。该位允许次级接口上差解码的条件是,或者次级正I/O解码启动位置位,或者次级正存储器解码启动位置位。
专用(private)存储器空间启动位允许在次级PCI总线上创建专用存储器空间。该位与SMBR/SMLR寄存器对联合使用。如果该位置位,则对于地址在SMBR/SMLR地址区间内的事务处理,桥就不予处理。
          表4j  次级解码启动寄存器—SMLR
  位     缺省值 读/写     描述
15:04 0000000000002 读/写 保留
  03 02 读/写 专用存储器空间启动-该位置位时,禁止桥对SMBR/SMLR的地址区间内的地址进行发送,这就在次级PCI总线上创建了一个允许进行对等到对等(peer topeer)事务处理的专用存储器空间。
  02 02 读/写 次级差解码启动-该位置位时,允许次级接口(在S_FRAME#确立后5个时钟时)使用差解码要求次级总线上的事务处理。S_FRAME#后第4个时钟时未被要求的任何事务处理均被次级接口在第5个时钟时要求并被发送到初级PCI接口。
  01 02 读/写 次级正存储器解码启动-该位置位时,允许桥单元的次级接口对次级总线上的存储器地址进行正解码,SMBR/SMLR地址范围内的地址将被发送过桥,逆解码被禁止。
  00 02 读/写 次级正I/O解码选通-该位置位时,允许桥单元的次级接口对次级总线上的I/O地址进行正解码,SIOBR/SIOLR地址范围内的地址将被发送过桥,逆解码被禁止。
地址翻译单元
以下说明初级、次级PCI总线与本地总线之间连接的方法。描述了接口的操作方式、建立和实现。概述
P2P处理器提供PCI总线与本地总线之间的接口。该接口由2个地址翻译单元(ATU)43a/43b和1个报文传递(messaging)单元45组成。地址翻译单元既支持向内(inbound)地址翻译,也支持向外(outbound)地址翻译。第一个地址翻译单元称为初级ATU43a,它提供初级PCI总线与本地总线之间的直接访问。第二个地址翻译单元称为次级ATU43b,它提供次级PCI总线与本地总线之间的直接访问。用这种方式使用两个ATU比现有技术具有明显的优点。
在向内事务处理期间,ATU将(PCI总线主启动的)PCI地址转换为本地处理器的地址并启动本地处理器上的数据传递。在向外事务处理期间,ATU将本地处理器的地址转换为PCI地址并启动各PCI总线上的数据传递。
这2个地址翻译单元与报文传递单元表现为初级PCI总线上的单一PCI设备。这几个单元结合起来就是多功能P2P处理器中的第二个功能单元。附图6中表示了地址翻译单元与报文传递单元。
下面说明地址翻译单元与报文传递单元的功能。所有被表示的单元都有一个内存映射的寄存器接口,无论对于PCI接口91或本地总线接口还是这二者同时来说,该接口是可见的。地址翻译单元数据流
初级地址翻译单元和次级地址翻译单元从两个方向经过P2P处理器的事务处理。初级ATU允许初级PCI总线上的PCI主向本地处理器启动事务处理,也允许本地处理器向初级PCI总线启动事务处理。次级ATU执行同样的功能,不过这是对次级PCI总线和次级PCI总线主而言。我们把在PCI总线上启动、目标是本地总线的事务处理称为向内事务处理,而将在本地总线上启动、目标是PCI总线的事务处理称为向外事务处理。ATU地址翻译
地址翻译单元执行一个地址开窗口方案(address windowingscheme)来决定要求与翻译哪些地址到适当的总线。
初级ATU中有一条连接初级PCI总线和本地总线的数据通路。以这种方式连接初级ATU使得无需用次级PCI总线上的资源就能传递数据。次级ATU中有一条连接次级PCI总线和本地总线的数据通路。次级ATU允许次级PCI总线主直接访问本地总线和存储器。这些事务处理由一个次级总线主启动,不需要占用初级PCI总线上的任何带宽。
ATU单元能识别和生成多种类型的PCI周期。表5显示了向内ATU与向外ATU均支持的PCI命令。向内ATU所见的操作类型由启动事务处理的(初级总线或者次级总线上的)PCI主所决定。要求向内事务处理取决于地址在编程的向内翻译窗口内。向外ATU所能使用的操作类型由本地地址和固定的向外开窗口方案所决定。
             表5.ATU命令支持
PCI命令类型 对向内事务处理要求 由向外事务处理生成
I/O读
I/O写
存储器读
存储器写
存储器写和无效
存储器读行
存储器多次读
配置读
配置写
双地址周期
两个ATU都支持《PCI本地总线规范》所规定的64位寻址扩展。64位寻址扩展只用于向外数据事务处理(即由本地处理器启动的数据传递)。向内地址翻译
地址翻译单元提供了使PCI总线主能直接访问本地总线的机制。这些PCI总线主能对P2P处理器内存映射寄存器或本地存储器空间进行读或者写。PCI总线主正在访问本地总线的事务处理称作向内事务处理。
向内地址翻译涉及两个步骤:
1.地址查验
·确定32位PCI地址是否在为向内(初级或次级)ATU定义的地址窗口范围内。
·用快速DEVSEL#定时要求PCI事务处理。
2.地址翻译
·将32位PCI地址翻译成32位本地地址
初级ATU在向内地址翻译时使用下述寄存器:
·初级向内ATU基址寄存器
·初级向内ATU界限寄存器
·初级向内ATU翻译值寄存器
次级ATU在向内地址翻译时使用下述寄存器:
·次级向内ATU基址寄存器
·次级向内ATU界限寄存器
·次级向内ATU翻译值寄存器
一般来说,初级向内ATU地址就是初级PCI地址,次级向内ATU地址就是次级PCI地址。如果某地址既能被ATU要求,又能被桥要求,则向内ATU的PCI接口享有优先权。
向内地址查验是通过32位PCI地址、基址寄存器和界限寄存器确定的,查验算法是:
         如果(PCI地址&界限寄存器==基址寄存器)
         则向内ATU要求PCI地址
该算法将32位的输入PCI地址与关联的向内界限寄存器逐位进行逻辑“与”运算。如果运算结果与基址寄存器的值匹配,查验结果就是该向内PCI地址在向内翻译窗口范围内,因而由该ATU要求。
一旦事务处理被要求,就必须将IAQ中的地址从32位PCI地址翻译成32位本地处理器地址。翻译的算法是:
       本地地址=(PCI地址&~界限寄存器)|值寄存器
该算法首先将32位的输入PCI地址与界限寄存器的“反”逐位进行逻辑“与”运算,再将结果与值寄存器逐位进行逻辑“或”运算,结果就是本地地址。这个翻译机制可用于除向内配置读命令和向内配置写命令之外的所有向内存储器读命令和向内存储器写命令。多个PCI地址对同一物理本地地址的地址混淆问题,可将向内值寄存器编程在与所关联的界限寄存器值相匹配的界限上而加以避免,但这只是通过应用程序设计而进行的。向外地址翻译
地址翻译单元除了提供向内翻译机制,还提供了将由本地处理器启动的周期翻译到PCI总线所需的硬件。这就是向外地址翻译。向外事务处理就是以某个(初级或次级)PCI总线作为目标的处理器读或处理器写。ATU本地总线从接口将要求本地处理器总线周期并代表本地处理器完成PCI总线上的周期。初级和次级ATU支持两种不同的向外翻译方式:
·地址翻译窗口
·直接寻址窗口扩展ROM翻译单元
初级向内ATU支持一个用于放置扩展ROM的(由基址/界限寄存器对定义的)地址区间。《PCI本地总线规范》中对扩展ROM的格式和用法有详细说明。
在对关联设备进行初始化的通电序列期间,主处理器只执行一次来自扩展ROM的初始化码。该初始化码一经执行,就可弃之不用。
向内初级ATU支持一个按照向内翻译窗口的方式工作的向内扩展ROM窗口翻译。来自扩展ROM的读命令将被传递到本地总线和存储器控制器。其地址翻译算法与向内翻译的相同。支持8位和32位这两种不同宽度的扩展ROM。要用软件在ATUCR中对扩展ROM宽度位进行编程,以反映扩展ROM的物理配置。该位确定了ATU访问扩展ROM的方式(见下文)。
向内ATU执行下述功能:
·初级ATU查验对扩展ROM的一次“命中”(hit)。
·初级ATU用寄存器ERTVR和ERLR来翻译(IAQ中的)地址。
·为适应8位设备,向内ATU在本地总线上要执行4次独立的读操作,以向初级PCI总线返回一个32位的值。每次度操作由一个以字节启动位BE1:0#用作字节地址的8位周期构成。每次读操作向初级ATU内部的地址拼装硬件(在AD7:0字节通路(byte lane)上)返回一个数据字节。
·P2P存储器控制器对来自初级ATU的每一个本地总线请求作出响应,执行一次读操作。因为访问的是8位的设备,所以存储器控制器用一个8位周期执行一次8位读操作。存储器控制器(根据字节启动位)将数据返回给适当的字节通路。
·在完成了四个周期时,ATU内的拼装硬件将(来自延时读事务处理的)整个32位字返回给初级PCI总线。拼装硬件负责保证这些字节在正确的通路上。
如果初级PCI总线请求的小于4个字节,初级ATU就相应地调整进行字节读操作的次数。如果访问的地址与本地总线地址位置不对齐,就会导致读操作寻址到边界对齐的地址。寄存器定义
每个PCI设备实现自己单独的配置地址空间和配置寄存器。《PCI本地总线规范》(2.1版)要求,配置空间应具有256个字节的长度,其中的前64个字节要具有预定的首部格式。
初级和次级ATU都是通过初级接口上的0类型配置命令而编程的。可以通过次级向内配置周期对次级ATU编程。ATU和报文发送单元配置空间是P2P处理器多功能PCI设备的首要功能。
除了所要求的64字节首部格式外,ATU和报文发送单元配置空间具有支持其单元功能的扩展寄存器空间。《PCI本地总线规范》中对如何访问配置寄存器空间和编程配置寄存器空间有详细的说明。
配置空间由以预定格式安排的8位、16位、24位、32位寄存器组成。表6是对PCI功能1配置地址空间内的所有寄存器的概括。
表中列出了每个寄存器的功能、访问类型(读/写、读/清零、只读)和复位缺省条件。表6中还为每个寄存器给出了PCI寄存器号。本文曾经指出,要对这些寄存器进行读或写,需要使用具有活跃的IDSEL或内存映射本地处理器访问的初级或次级总线上的0类型配置命令。
       表6.地址翻译单元PCI配置寄存器总汇
寄存器名称 寄存器位数   PCI配置周期寄存器号 本地处理器周期地址位移
ATU销售商(Vendor)标识符     16     0     00H
ATU设备标识符     16     0     02H
初级ATU命令寄存器     16     1     04H
初级ATU状态寄存器     16     1     06H
ATU修订标识符     8     2     08H
ATU类别码     24     2     09H
ATU高速缓存行(Cacheline)大小     8     3     0CH
ATU等待定时器     8     3     0DH
ATU首部类型     8     3     0EH
BIST寄存器     8     3     0FH
初级向内ATU基址     32     4     10H
保留     32     5     14H
保留     32     6     18H
保留     32     7     1CH
保留     32     8     20H
保留     32     9     24H
保留     32     10     28H
保留     32     11     2CH
扩展ROM基址     32     12     30H
保留     32     13     34H
保留     32     14     38H
ATU中断线(line)     8     15     3CH
ATU中断接插点(pin)     8     15     3DH
ATU最小许可(MinimumGrant)     8     15     3EH
ATU最大等待(MaximumLatency)     8     15     3FH
初级向内ATU界限寄存器     32     16     40H
初级向内翻译值寄存器     32     17     44H
次级向内ATU基址寄存器     32     18     48H
次级向内ATU界限寄存器     32     19     4CH
次级向内ATU翻译值寄存器     32     20     50H
初级向外存储器窗口值寄存器     32     21     54H
保留     32     22     58H
初级向外I/O窗口寄存器     32     23     5CH
初级向外DAC窗口值寄存器     32     24     60H
初级向外高64位DAC寄存器     32     25     64H
次级向外存储器窗口值寄存器     32     26     68H
次级向外I/O窗口寄存器     32     27     6CH
保留     32     28     70H
扩展ROM界限寄存器     32     29     74H
扩展ROM翻译值寄存器     32     30     78H
保留     32     31     7CH
保留     32     32     80H
保留     32     33     84H
ATU配置寄存器     32     34     88H
保留     32     35     8CH
初级ATU中断状态寄存器     32     36     90H
次级ATU中断状态寄存器     32     37     94H
初级ATU命令寄存器     32     38     98H
次级向外DAC窗口值寄存器     32     39     9CH
次级向外高64位DAC寄存器     32     40     A0H
初级向外配置周期地址寄存器     32     41     A4H
次级向外配置周期地址寄存器     32     42     A8H
初级向外配置周期数据寄存器     32  PCI配置空间中不提供     ACH
次级向外配置周期数据寄存器     32  PCI配置空间中不提供     B0H
保留     32     45     B4H
保留     32     46     B8H
保留     32     BCH
保留     32     C0H
由于ATU销售商(Vendor)标识符寄存器至ATU最大等待寄存器遵守《PCI本地总线规范》中的定义,因此本文不再赘述。初级向内ATU界限寄存器—PIALR
初级向内地址翻译出现在从PCI总线(起源于初级PCI总线)到本地总线发生的数据传递上。地址翻译部件将PCI地址转换成本地处理器地址。所有数据传递被直接翻译,这样,启动数据传递的总线主就要将没有对齐的数据传递分解成多次数据传递。各字节启动位要对哪些数据路径有效作出规定。
初级向内翻译的基址在“初级向内ATU基址寄存器—PIABAR”中规定。确定块大小的要求时,初级翻译界限寄存器提供初级基址寄存器的块大小要求。用于这些地址翻译的其它寄存器在上文的“向内地址翻译”中作了讨论。
本地处理器值寄存器中所含的编程值必须与基址寄存器中的编程值自然对齐。界限寄存器被用作屏蔽寄存器,这使得本地处理器值寄存器中编程的低地址位无效。《PCI本地总线规范》中有关于编程基址寄存器的其它资料。
             表7a.初级向内ATU界限寄存器—PIALR
 缺省值 读/写 说明
31:04  0000000H 只读 初级向内翻译界限—这是一个回读值,它确定了初级ATU翻译单元所要求的内存块大小。
03:00  00002 只读 保留
  初级向内ATU翻译值寄存器—PIATVR
初级向内ATU翻译值寄存器(PIATVR)中含有用于转换初级PCI总线地址的本地地址。作为初级向内ATU地址翻译的结果,转换成的地址将被驱动到本地总线上。
       表7b.初级向内ATU翻译值寄存器—PIATVR
缺省值 读/写 说明
31:02  0000.0800 只读 初级向内ATU翻译值—该寄存器中含有用
H 于将初级PCI地址转换成本地地址的值。初级向内地址翻译值在本地总线上必须是字对齐的。其缺省地址允许翻译单元对内部的P2P内存映射寄存器进行访问。
01:00 002 只读 保留
  次级向内ATU基址寄存器—SIABAR
次级向内ATU基址寄存器(SIABAR)定义次级向内翻译窗口起始处的内存地址块。向内ATU对总线请求进行解码,并将其连同映射到本地存储器的翻译地址传递到本地总线。SIABAR定义基址并描述所需内存块的大小。对基址寄存器的影响是,如果有值FFFF.FFFFH被写到SIABAR,则下一个对该寄存器的读操作返回的是初级向内ATU界限寄存器(SIALR)的数据,而不是SIABAR的数据。
在基址寄存器中的编程值必须符合对PCI编程关于地址对齐的要求。《PCI本地总线规范》中有关于编程基址寄存器的其它资料。
         表7c.次级向内ATU基址寄存器—SIBADR
缺省值 读/写 说明
31:04 XXXXXXXH 读/写 次级翻译基址—这些寄存器位定义的是,当被次级PCI总线寻址时,次级翻译功能要对之作出回答的实际位置。缺省的块大小不确定。
03 12 只读 可预取指示器—该位指示,存储器空间是可预取的。
02:01 002 只读 地址类型—这两位定义在何处定位内存块。基址必须位于地址空间中的前4G字节的任何位置(即地址的低32位)。
00 02 只读 存储器空间指示器—该位域指示的是,寄存器内容描述了存储器或I/O空间的基址。ATU并不占用I/O空间,因此该位必须为0。
  次级向内ATU界限寄存器—SIALR
次级向内地址翻译出现在从次级PCI总线向本地总线发生数据传递时。地址翻译块将PCI地址翻译成本地处理器地址。所有数据传递被直接翻译,这样,启动数据传递的总线主就要将没有对齐的数据传递分解成多次数据传递。各字节启动位规定哪些数据路径有效。
确定块大小的要求时,次级翻译界限寄存器提供次级基址寄存器的块大小要求。用于这些地址翻译的其它寄存器在上文的“向内地址翻译”中作了讨论。
本地处理器值寄存器中所含的编程值必须与基址寄存器中的编程值自然对齐。界限寄存器被用作屏蔽寄存器,这使得本地处理器值寄存器中编程的低地址位无效。
           表7d.次级向内ATU界限寄存器—SIALR
 缺省值 读/写方式 说明
31:04  0000000H 只读 次级向内ATU界限—这是一个回读值,它确定了次级ATU翻译单元所要求的内存块大小。
03:00  00002 只读 保留
  次级向内ATU翻译值寄存器—SIATVR
次级向内ATU翻译值寄存器(SIATVR)中含有用于将次级PCI总线地址转换成本地地址的本地地址。作为次级向内ATU地址翻译的结果,转换成的地址将被驱动到本地总线上。
           表7e.次级向内ATU翻译值寄存器—SIATVR
缺省值 读/写 说明
31:02 0000.0800H 只读 次级向内ATU翻译值—该值用于将次级PCI地址转换成一个本地地址。次级向内地址翻译值在本地总线上必须是字对齐的。其缺省地址允许翻译单元访问内部的P2P寄存器。
01:00 002 只读 保留
  初级向外存储器窗口值寄存器—POMWVR
初级向外存储器窗口值寄存器(POMW0VR)中含有用于为向外事务处理转换本地地址的初级PCI地址。该地址作为初级向外ATU地址翻译的结果,将被驱动到初级PCI总线上。
初级存储器窗口0在本地处理器地址8000.000H~807F.FFFFH,固定长度为8M字节。
      表7f.初级向外存储器窗口值寄存器—POMW0VR
缺省值 读/写 说明
31:02 0000.0000H 读/写 初级向外存储器窗口值—该值用于将本地地址转换成PCI地址
01:00 002 只读 猝发(burst)次序—该位表示存储器猝发期间的地址顺序。所有目标都必须检查地址位0、1的状态以确定启动器意欲在猝发式数据传递期间使用的存储器寻址顺序。(002)猝发式数据传递期间使用线性的或顺序的寻址顺序。
  初级向外I/O窗口值寄存器—POIOWVR
初级向外I/O窗口值寄存器(POIOWVR)中含有ATU将要把本地总线访问转换成的、初级PCI I/O读或写。
初级I/O窗口在本地处理器地址8200.000H~8200.FFFFH,固定长度为64K字节。
       表7g.初级向外I/O窗口值寄存器—POIOWVR
缺省值 读/写 说明
31:02 0000.0000H 读/写 初级向外I/O窗口值—该值用于将本地地址转换成PCI地址
01:00 002 只读 猝发(burst)次序—该位表示存储器猝发期间的地址顺序。所有目标都必须检查地址位0、1的状态以确定启动器意欲在猝发式数据传递期间使用的存储器寻址顺序。(002)猝发式数据传递期间使用线性的或顺序的寻址顺序。
  初级向外DAC窗口值寄存器—PODWVR
初级向外DAC窗口值寄存器(PODWVR)中含有用于转换本地地址的初级PCI的DAC地址。该地址作为初级向外ATU地址翻译的结果,将被驱动到初级PCI总线上。该寄存器与初级向外高64位DAC寄存器联合使用。
初级DAC窗口在本地地址8080.000H~80FF.FFFFH,固定长度为8M字节。
        表7h.初级向外DAC窗口值寄存器—PODWVR
 缺省值 读/写 说明
31:02  00000000H 读/写 初级向外DAC窗口值—该值被初级ATU用于将本地地址转换成PCI地址
01:00  002 只读 猝发(burst)次序—该位表示存储器猝发期间的地址顺序。所有目标都必须检查地址位0、1的状态以确定启动器意欲在猝发式数据传递期间使用的存储器寻址顺序。(002)猝发式数据传递期间使用线性的或顺序的寻址顺序。
  初级向外高64位DAC寄存器—POUDR
初级向外高64位DAC寄存器(POUDR)定义双地址周期期间所用地址的高32位。这使得初级向外ATU能够寻址到64位主机地址空间内的任何位置。
        表7i.初级向外高64位DAC寄存器—POUDR
 缺省值 读/写 说明
31:00  0000.0000H 读/写 这些寄存器位定义双地址周期(DAC)期间所驱动的地址的高32位。
  次级向外存储器窗口值寄存器—SOMWVR
次级向外存储器窗口值寄存器(SOMWVR)中含有用于为向外事务处理转换本地地址的次级PCI地址。该地址作为次级向外ATU地址翻译的结果,将被驱动到次级PCI总线上。
次级存储器窗口来自本地地址8100.000H~817F.FFFFH,固定长度为8M字节。
       表7i.次级向外存储器窗口值寄存器—SOMWVR
缺省值 读/写 说明
31:02 0000.0000H 读/写 次级向外存储器窗口值—该值用于将本
地地址转换成PCI地址
01:00 002 只读 猝发(burst)次序—该位表示存储器猝发期间的地址顺序。所有目标都必须检查地址位0、1的状态以确定启动器意欲在猝发式数据传递期间使用的存储器寻址顺序。(002)猝发式数据传递期间使用线性的或顺序的寻址顺序。
  次级向外I/O窗口值寄存器—SOIOWVR
次级向外I/O窗口值寄存器(SOIOWVR)中含有用于转换本地地址的次级PCI I/O地址。该地址作为次级向外ATU地址翻译的结果,将被驱动到次级PCI总线上。
如果ATUCR中的次级PCI引导模式位被置位,则该寄存器被用于翻译访问区间在FE00.0000H~FFFF.FFFFH范围的本地地址。如果该位被清零,则该寄存器被用于翻译访问次级I/O窗口中FE00.0000H~FFFF.FFFFH范围的本地地址。
次级I/O窗口在本地地址8201.0000H~8201.FFFFH,固定长度为64K字节。
           表7k.初级向外I/O窗口值寄存器—POIOWVR
缺省值 读/写 说明
31:02 00000000H 读/写 次级向外I/O窗口值—该值用于将本地地址转换成PCI地址
01:00 002 只读 猝发(burst)次序-该位表示存储器猝发期间的地址顺序。所有目标都必须检查地址位0、1的状态以确定启动器意欲在猝发式数据传递期间使用的I/O寻址顺序。(002)猝发式数据传递期间使用线性的或顺序的寻址顺序。
  扩展ROM界限寄存器—ERLR
扩展ROM界限寄存器(ERLR)定义初级ATU将要定义为扩展ROM地址空间的地址的块大小。块大小是通过从本地处理器将一个值写入ERLR而编程的。可能的编程值的范围是从2K字节(FFFF.F800H)到16M字节(FF00.0000H)。
           表7l.扩展ROM界限寄存器—ERLR
 缺省值 读/写 说明
31:11  000000H 只读 扩展ROM界限—扩展ROM翻译单元要求的内存块大小。缺省值为0,表示无扩展ROM地址空间。
10:00  000H 只读 保留
  扩展ROM翻译值寄存器—ERTVR
扩展ROM翻译值寄存器(ERTVR)中含有初级ATU要转换的、初级PCI总线访问的本地地址。该地址作为初级扩展ROM地址翻译的结果,将被驱动到本地总线上。
       表7m.扩展ROM翻译值寄存器—ERTVR
缺省值 读/写 说明
31:02 00000000H 只读 扩展ROM本地处理器翻译值—该值用于将PCI地址转换成用于扩展ROM访问的本地地址。扩展ROM地址翻译值必须是本地总线上字对齐的。
01:00 002 只读 保留
  ATU配置寄存器—ATUCR
ATU配置寄存器(ATUCR)中含有的控制位,允许或禁止由门铃寄存器生成的中断。ATU配置寄存器还控制初级和次级向外翻译单元的向外地址翻译,它含有一个定义扩展ROM宽度的位。
    表7n.ATU配置寄存器—ATUCR
缺省值 读/写 说明
31:12 00000H 只读 保留
11 02 读/写 次级PCI引导模式-该位如果置位,次级ATU将要求地址范围在FE000000H~FFFFFFFFH的本地总线访问。这就使本地处理器能够从次级PCI总线进行引导。在这种模式下,翻译算法要用到次级向外I/O窗口值寄存器。
10 02 只读 保留
09 02 只读 保留
08 02 读/写 直接寻址启动-该位如果置位,就允许进行通过地址翻译单元的直接寻址。地址范围在0000.1000H~07FF.FFFFH的本地总线周期不作地址翻译就被自动地传递到PCI总线。要求直接寻址事务处理的ATU取决于次级直接寻址选择位的状态。
07 02 读/写 次级直接寻址选择-对该位置位的结果是,直接寻址事务处理通过次级ATU被传递到次级PCI总线。该位如果清零,直接寻址要使用初级ATU和初级PCI总线。要允许直接寻址,必须将直接寻址启动位置位。
06 02 读/写 扩展ROM宽度-该位如果清零,表示使用的是8位的扩展ROM;如果置位,表示使用的是32位的扩展ROM。该位与ERBAR的地址解码启动位(位0)联合使用。
05 02 读/写 次级ATU PCI错误中断启动-该位用作次级ATU中断状态寄存器的4:0位的屏蔽位。如果置位,SATUISR中的这些位中任何位置位时允许对本地处理器的中断;如果
清零,则不允许中断。
04 02 读/写 初级PCI错误中断启动-该位用作初级ATU中断状态寄存器的4:0位的屏蔽位。如果置位,SATUISR中的这些位中任何位置位时允许对本地处理器的中断;如果清零,则不允许中断。
03 02 读/写 ATU BIST中断启动-如果置位,则允许在ATUBISTR寄存器的启动BIST位置位时对本地处理器的中断;该位内容也反映为ATUBISTR寄存器的寄存器位BIST能位(Capable bit)7中。
02 02 读/写 次级向外ATU启动-该位如果置位,使能次级向外地址翻译单元;如果清零,则禁止次级向外地址翻译单元。
01 02 读/写 初级向外ATU启动-该位如果置位,使能初级向外地址翻译单元;如果清零,则禁止初级向外地址翻译单元。
00 02 读/写 门铃中断启动-该位若置位便使能报文传递单元为每个向内门铃写操作生成一个本地处理器中断。如果清零,则不生成中断。
  初级ATU中断状态寄存器—PATUISR
初级ATU中断状态寄存器(PATUISR)用于向本地处理器告知初级ATU或门铃中断的中断源。此外,可以对该寄存器进行写操作以清除对P2P处理器的中断单元的中断的中断源。该寄存器的所有位对PCI是只读的,对本地总线是读/清零的。
寄存器位4:0的内容是初级ATU状态寄存器的位8和位14:11的直接反映(这些位的设置是由硬件同时作出的,但清除时则需分别进行)。寄存器位6:5由出现与存储器控制器关联的错误时置位。位8用于软件BIST,位10:9用于报文传递单元。通过在该寄存器中的适当的位写入1可以清除引起初级ATU中断或门铃中断的中断条件。
      表7o.初级ATU中断状态寄存器—PATUISR
缺省值 读/写 说明
31:11 000000H 只读 保留
10 02 只读 保留
09 02 只读 保留
08 02 读/清零 ATU BIST中断-该位如果置位,表明主处理器已经将启动BIST位(即ATUBISTR寄存器的位6)置位,并且ATU BIST中断启动位(即ATUCR寄存器的位12)被启动。本地处理器可以启动软件BIST并将结果存储到ATUBISTR寄存器的位[3:0]。
07 02 只读 保留
06 02 读/清零 本地处理器存储器故障—当存储器控制器检测到一个存储器故障而初级ATU又是事务处理的主时,该位被置位。
05 02 读/清零 本地处理器总线故障—当存储器控制器检测到一个总线故障而初级ATU又是事务处理的主时,该位被置位。
04 02 读/清零 P_SERR#确立-如果P_SERR#在PCI总线上被确立,则该位被置位。
03 02 读/清零 PCI主控流产—每当由ATU主接口启动的事务处理以主-流产方式结束时,该位被置位。
02 02 读/清零 PCI目标流产(主)—每当由ATU主接口启动的事务处理以主-流产方式结束时,该位被置位。
01 02 读/清零 PCI目标流产(目标)—每当作为目标的ATU接口以目标流产方式停止事务处理时,该位被置位。
00 02 读/清零 PCI主奇偶校验出错—ATU接口在符合以下三个条件时将该位置位:
1)总线代理自己确立P_SERR#或检测到P_SERR#已被确立2)为该位置位的代理在出错的操作中担当了总线主的角色3)(命令寄存器中的)奇偶校验错误响应位被置位该位可被主处理器对PATUSR的位8进行读/清零操作而清零。
  次级ATU中断状态寄存器—SATUISR
次级ATU中断状态寄存器(SATUISR)用于向本地处理器告知次级ATU中断的中断源。此外,可以对该寄存器进行写操作以清除对P2P处理器的中断单元的中断的中断源。该的所有寄存器位对PCI是只读的,对本地总线是读/清零的。
通过在该寄存器中的适当的位写入1可以清除引起次级ATU中断的中断条件。
            表7p.次级ATU中断状态寄存器—SATUISR
 缺省值 读/写 说明
31:07  0000000H 只读 保留
06  02 读/清零 本地处理器存储器故障—当存储器控制器检测到一个存储器故障而次级ATU作为事务处理的主时,该位被置位。
05  02 读/清零 本地处理器总线故障—当存储器控制器检测到一个总线故障而次级ATU作为事务处理的主时,该位被置位。
04  02 读/清零 P_SERR#确立-如果P_SERR#在PCI总线上被确立,则该位被置位。
03  02 读/清零 PCI主流产—每当由ATU主接口启动的事务处理以主-流产方式结束时,该位被置位。
02  02 读/清零 PCI目标流产(主)—每当由ATU主接口启动的事务处理以主-流产方式结束时,该
位被置位。
01 02 读/清零 PCI目标流产(目标)—每当作为目标的ATU主接口,以目标流产方式停止事务处理时,该位被置位。
00 02 读/清零 PCI主奇偶校验出错—次级ATU接口在符合以下三个条件时将该位置位:1)总线代理自己确立P_SERR#或检测到P_SERR#已被确立2)为该位置位的代理在出错的操作中担当了总线主的角色3)(命令寄存器中的)奇偶校验错误响应位被置位该位可被主处理器对PATUSR的位8进行读/清零操作而清零。
  次级ATU命令寄存器—SATUCMD
次级ATU命令寄存器(SATUCMD)中的位遵守《PCI本地总线规范》的定义,大多数情况下,它们影响次级PCI总线上设备的状态
        表7q.次级ATU命令寄存器—SATUCMD
缺省值 读/写 说明
31:10 000000H 只读 保留
09 02 读/写 快速背对背启动—如果该位被清零,就不允许次级ATU接口在其总线上生成快速背对背周期。
08 02 读/写 S_SERR#确立-如果该位被清零,就不允许次级ATU接口在PCI接口上确立S_SERR。
07 02 只读 等待周期控制—控制地址/数据的步进。未实现,是个保留位域。
06 02 读/写 奇偶校验检测启动—如果位被置位,在有奇偶校验错误被检测出时,次级ATU接口必须采取正常行动。如果该位被清零,则
禁止奇偶校验的检测。
05 02 只读 VGA调色板探测启动—次级ATU接口不支持I/O写操作,因此不进行VGA调色板探测。
04 02 只读 存储器写和无效启动—不适用。未实现,是个保留位。
03 02 只读 特殊周期启动—ATU接口根本不响应特殊周期命令。不适用。未实现,是个保留位。
02 02 读/写 总线主启动—次级ATU接口能够作PCI总线上的主。该位的值为0时,禁止设备生成PCI访问;值为1时,允许设备担当主。该启动位也控制DMA通道0和1的主接口。在PCI总线上启动DMA传输之前,该位必须被置位。
01 02 读/写 存储器启动—控制次级ATU接口对PCI存储器地址的响应。如果该位清零,ATU接口对PCI总线上的PCI存储器访问就不予响应。
00 02 读/写 I/O空间启动—控制次级ATU接口对初级端的I/O事务处理的响应。未实现,是个保留位。
  次级向外DAC窗口值寄存器—SODWVR
次级向外DAC窗口值寄存器(SODWVR)中含有用于转换本地地址的次级PCI DAC地址。该地址作为次级向外ATU地址翻译的结果,将被驱动到次级PCI总线上。该寄存器与次级向外高64位DAC寄存器联合使用。
次级DAC窗口在本地处理器地址8180.0000H-81FF.FFFFH,固定长度为8M字节。
    表7r.初级向外DAC窗口值寄存器—PODWVR
缺省值 读/写 说明
31:02 00000000H 读/写 次级向外DAC窗口值—次级ATU用该值将本地地址转换成PCI地址
01:00 002 只读 猝发(burst)次序—该位表示存储器猝发期间的地址顺序。所有目标都必须检查地址位0、1的状态以确定启动器意欲在猝发式数据传递期间使用的存储器寻址顺序。(002)猝发式数据传递期间使用线性的或顺序的寻址顺序。
  次级向外高64位DAC寄存器—SOUDR
次级向外高64位DAC寄存器(SOUDR)定义双地址周期期间所用地址的高32位。这使得次级向外ATU能够寻址到64位主机地址空间内的任何位置。
           表7s.次级向外高64位DAC寄存器—SOUDR
缺省值 读/写 说明
31:00 0000.0000H 读/写 次级向外高64位DAC地址—这些寄存器位定义双地址周期(DAC)期间所用地址的高32位。
  初级向外配置周期地址寄存器—POCCAR
初级向外配置周期地址寄存器(POCCAR)用于存放32位PCI配置周期地址。本地处理器写入允许进行初级向外配置读或写操作的PCI配置周期地址。然后,本地处理器对初级向外配置周期数据寄存器执行读或写操作,在初级PCI总线上启动配置周期。
      表7t.  初级向外配置周期地址寄存器—POCCAR
 缺省值 读/写 说明
31:00  0000.0000 只读 初级向外配置周期地址—这些
H 位定义初级向外配置读或写周期期间所用的32位PCI地址。
  次级向外配置周期地址寄存器—SOCCAR
次级向外配置周期地址寄存器(SOCCAR)用于存放32位PCI配置周期地址。本地处理器写入允许进行次级向外配置读或写操作的PCI配置周期地址。然后,本地处理器对次级向外配置周期数据寄存器执行读或写操作,在次级PCI总线上启动配置周期。
       表7u.次级向外配置周期地址寄存器—SOCCAR
缺省值 读/写 说明
31:00 0000.0000H 只读 次级向外配置周期地址—这些位定义次级向外配置读或写周期期间所用的32位PCI地址。
  初级向外配置周期数据寄存器—POCCDR
初级向外配置周期数据寄存器(POCCDR)用于启动初级PCI总线上的配置读或写操作。该寄存器只有逻辑意义而没有物理意义,就是说,它是一个地址而不是寄存器。本地处理器用POCCAR中找到的地址读出或写入该数据寄存器的内存映射地址,启动初级PCI总线上的配置周期。对于配置写操作,从本地总线上锁存该数据,而被直接传递到ATU的ODQ。对于读操作,该数据被直接从ATU的IDQ返回给本地处理器,根本不存入数据寄存器(该寄存器物理上不存在)。
POCCDR只对本地处理器地址空间有用并表现为ATU配置空间内的一个保留值。次级向外配置周期数据寄存器—SOCCDR
次级向外配置周期数据寄存器(SOCCDR)用于启动次级PCI总线上的配置读或写操作。该寄存器只有逻辑意义而没有物理意义,就是说,它是一个地址而不是寄存器。本地处理器用SOCCAR中找到的地址读出或写入数据寄存器的内存映射地址,启动次级PCI总线上的配置循环。对于配置写操作,从本地总线锁存该数据,并被直接传递到ATU的ODQ。对于读操作,该数据被直接从ATU的IDQ返回给本地处理器,根本不存入数据寄存器(该寄存器物理上不存在)。
SOCCDR只对本地处理器地址空间有用并表现为ATU配置空间内的一个保留值。报文传递单元
以下描述P2P处理器的报文传递单元,报文传递单元与上述的初级地址翻译单元(PATU)有密切关系。概述
报文传递单元提供了一种在PCI系统与本地处理器之间传递数据并通过中断向各系统通报新数据到达的机制。报文传递单元可用于发送和接收报文。
报文传递单元有5个不同的报文传递机构。各机构都允许主处理器或外部PCI代理与P2P处理器通过报文传送和中断生成进行通信。这5个机构是:
·报文寄存器
·门铃寄存器
·环形队列
·索引寄存器
·APIC寄存器
报文寄存器允许P2P处理器与外部PCI代理通过用4个32位报文寄存器的其中一个传送报文而进行通信。本文中所说的报文,是指32位长度的任意数据值。报文寄存器综合了邮箱寄存器和门铃寄存器的特点。向报文寄存器写数据,可以有选择地引起中断。
门铃寄存器允许P2P处理器确定PCI中断信号,允许外部PCI代理向本地处理器生成一个中断。
环型队列支持使用4个环形队列的报文传送方案。
索引寄存器支持用P2P处理器的部分本地存储器来实现大的寄存器组的报文传送方案。
APIC寄存器用提供用于访问APIC寄存器的外部PCI接口的方法支持APIC总线接口单元。操作原理
报文传递单元有5个独特的报文传递机构。
报文寄存器类似于是邮箱寄存器与门铃寄存器的组合。
门铃寄存器支持硬件中断,也支持软件中断。门铃寄存器有两个用途:
·被写时产生中断。
·保留其它报文传递机构生成的中断的状态。
报文传递单元使用初级地址翻译单元(PATU)中初级向内翻译窗口的前4K字节。初级向内翻译窗口的地址存于初级向内ATU基址寄存器中。
表8概括报文传递单元中所用的5个报文传递机构。
        表8.报文传递单元概述
    机构   数量 是否确立PCI中断信号 是否生成本地处理器中断
报文寄存器 2个向内的2个向外的     是   可任选
命令寄存器 1个向内的1个向外的     是   可任选
环形队列 4个环形队列 根据一定条件 根据一定条件
索引寄存器 1004个32位存储器单元     否   可任选
APIC寄存器 1个寄存器选择1个窗口     否     是
报文寄存器
P2P处理器可以通过报文寄存器传送和接收报文。向报文寄存器写入数据时,会导致向本地处理器或PCI中断信号生成中断。向内的报文由主处理器发送,P2P处理器接收。向外的报文由P2P处理器发送,主处理器接收。
向外报文的中断状态被记录在向外门铃寄存器中,向内报文的中断状态被记录在向内门铃寄存器中。向外报文
向外报文寄存器被本地处理器写入数据时,中断可能生成在中断线P_INTA#、P_INTB#、P_INTC#、P_INTD#上。究竟用的是哪个中断线,由ATU中断接插线寄存器的值决定。
PCI中断被记录在向外门铃寄存器中。中断使向外门铃寄存器的向外报文位置位。该位是读/清零的,由报文传递单元硬件置位,软件清零。
当外部PCI代理将数值1写到向外门铃寄存器的向外报文位来清除该位时,中断被清除。向内报文
向内报文寄存器被外部PCI代理写入数据时,就可能向本地处理器生成一个中断。该中断可以被向内门铃屏蔽寄存器中的屏蔽位屏蔽。
本地处理器中断记录向内门铃寄存器中。中断使向内门铃寄存器的向内报文位置位。该位是读/清零的,由报文传递单元硬件置位,软件清零。
当外部本地处理器将数值1写到向内门铃寄存器的向内报文中断位时,中断被清除。门铃寄存器
门铃寄存器有两个:向内门铃寄存器和向外门铃寄存器。向内门铃寄存器允许外部PCI代理向本地处理器生成中断。向外门铃寄存器允许本地处理器生成PCI中断。两个寄存器都保存硬件生成的中断与软件生成的中断的组合。它们包含来自其它报文传递单元机构的中断状态,也允许软件对寄存器位进行个别设置来产生中断。向外门铃
向外门铃寄存器被本地处理器写入数据时,中断可能生成在中断插接线P_NTA#、P_INTB#、P_NTC#、P_NTD#上。如果门铃寄存器中有寄存器位被写上数值1,就有中断生成。向寄存器的任何一位写入数值0,不会改变该位的值,也不会导致中断的生成。门铃寄存器中的寄存器位一旦被置位,就不能被本地处理器清零。
究竟用的是哪个中断插接线,由ATU中断接插线寄存器决定。
中断可以被向外门铃屏蔽寄存器中的屏蔽位屏蔽。如果某特定位对应的屏蔽位被置位,则该位就不会生成中断。向外门铃屏蔽寄存器只影响中断的生成,并不改变已经写到向外门铃寄存器中的值。
当外部PCI代理将数值1写到向外门铃寄存器中已经置位的寄存器位时,中断被清除。向寄存器位写0不会改变该位的值,也不清除中断。
总之,本地处理器通过对向外门铃寄存器中寄存器位的设置来生成中断,外部PCI代理也是通过对相同的寄存器中寄存器位的设置来清除中断。向内门铃
向内门铃寄存器被外部PCI代理写入数据时,会对本地处理器生成中断。如果门铃寄存器中有寄存器位被写上数值1,就有中断生成。向寄存器的任何一位写入数值0,不会改变该位的值,也不会导致中断的生成。向内门铃寄存器中的寄存器位一旦被置位,就不能被任何外部PCI代理清零。
中断可以被向内门铃屏蔽寄存器中的屏蔽位屏蔽。如果某特定位对应的屏蔽位被置位,则该位就不会生成中断。门铃屏蔽寄存器只影响中断的生成,并不改变已经写到向内门铃寄存器中的值。
向内门铃寄存器中为NMI(非屏蔽中断)中断保留了一个寄存器位。该中断不能被向内门铃屏蔽寄存器屏蔽。
当本地处理器将数值1写到向内门铃寄存器中已经置位的寄存器位时,中断被清除。向寄存器位写0不会改变该位的值,也不清除中断。环形队列
报文传递单元中实现4个环形队列:2个向外环形队列,2个向内环形队列。在此,向外或向内表示报文的流动方向。向内报文或者是其它处理器投递的、供本地处理器处理的新报文,或者是可被其它处理器再使用的空的或空闲报文。向外报文或者是本地处理器投递的、供其它处理器处理的报文,或者是可被本地处理器再使用的空闲报文。
这4个环形队列被用于按下述方式传送报文。2个向内队列用于处理向内报文,向外队列则用于处理向外报文。向内队列中的一个被指定为空闲队列,它包含向内空闲报文;另一个向内队列被指定为投递队列,它包含向内投递报文。与此类似,向外队列中的有一个被指定为空闲队列,另一个向外队列被指定为投递队列。次级PCI总线仲裁单元
下文描述次级PCI总线仲裁单元53,内容是仲裁的操作模式、建立和实现。概述
PCI本地总线需要有一个为系统环境内每个PCI总线服务的中央仲裁资源。PCI采用基于存取的仲裁概念而不是传统的时隙法。PCI总线上的每个设备每当作为总线主要求总线进行存取时,都要为总线作出仲裁。
PCI仲裁利用了一种简单的REQ#和GNT#握手协议。当设备要求总线时,它就确立它的REQ#输出。仲裁单元53通过确立该代理的GNT#输入,允许发出请求的该代理访问总线。PCI仲裁是一种“隐藏式”的仲裁方案,其中的仲裁序列发生在后台,此时其它某个总线主正控制着总线。其优点是,总线仲裁开销不占用PCI的带宽。对仲裁器的唯一要求是必须实现一种公平的仲裁算法。所选择的仲裁算法必须保证,任何时刻单个PCI总线上不会有一个以上的GNT#活跃。操作原理
次级总线仲裁器53支持多达6个次级总线主,加上次级总线接口自身。各个请求可以编程到三个优先级之一,也可以禁止。用应用软件编程的内存映射控制寄存器,确定每个总线主的优先级。对各优先级的处理是按轮式调度法进行的。轮式调度法是这样一种机制,即其中的每个设备轮流充当总线主,轮流顺序按环形排列。下一个可能的总线主直接排在当前总线主的前面,上一个总线主直接排在当前总线主的后面。
轮式仲裁方案支持3个级别的轮式仲裁。这三个级别是低、中、高优先级。用轮式机制保证了各优先级都有一个排列在前的设备。为了实现公平仲裁的思想,在次高级优先权中为各优先级(不含最高优先级)的在前设备保留一个位置。如果在某个仲裁序列中,某优先级的在前设备未获得总线,就将其提升到次高级优先权队列中。一旦该设备获得了总线,就恢复其编程的优先级。这种保留位置的方法保证了算法的公平性,原因在于它允许较低优先级的请求通过优先级机制被提升到最高优先级设备的位置上并在下一开启中被授予总线。
仲裁器通过REQ#-GNT#协议与总线上所有发出请求的代理联络。总线主确立REQ#输出,等待GNT#输入的确立。代理可以在前一个总线控制者仍然控制着总线的状态下就获得总线。仲裁器只负责确定下一次将总线分配给哪个PCI设备。各单个PCI设备则负责确定何时总线被释放,自己能开始访问总线。
通过编程接口可以将次级总线仲裁器53关闭,以实行例行仲裁算法。当次级仲裁器53被关闭时,一组REQ#-GNT#信号充当P2P的次级PCI接口的仲裁信号。优先级机制
优先级机制可以用BIOS码或应用软件进行编程。单个总线主的优先级将决定该设备在轮式调度中被置于的位置的级别。该优先级确定的是设备的起始优先级或最低优先级,如果应用软件为设备编程了低优先级,该设备可以被提升到中优先级,再被提升到高优先级,直到获得本地总线。一旦获得了总线,其优先级就被重新设置为编程的优先级,于是又可以再次重新启动仲裁。本发明领域的熟练人员应完全能够掌握实现适当的次级PCI总线仲裁单元所需的进一步细节。DMA控制器
以下描述本发明使用的集成的直接存储器存取(DMA)控制器,内容有DMA控制器的操作模式、建立、外部接口和实现。概述
DMA控制器提供低等待、高通量的数据传输能力。DMA控制器优化了PCI总线与本地处理器存储器之间数据的块传输。作为PCI总线上的启动器的DMA具有提供33MHz上最大为132M字节/秒通量的PCI猝发能力。
DMA控制器的硬件负责执行数据传输及提供编程接口,其特点是:
·3个独立通道
·使用P2P存储器控制接口
·本地处理器接口上的寻址范围是232
·使用PCI双地址周期(DAC),在初级和次级PCI接口上的寻址范围是264
·对初级和次级PCI总线的独立PCI接口
·PCI总线和本地处理器本地总线的不对齐数据传输的硬件支持
·对PCI总线和P2P本地总线的完整的132M字节/秒猝发支持
·对PCI总线的双向直接寻址
·由本地处理器完全可编程
·支持数据块集结和扩散的自动数据链接
·需求模式支持DMA通道0上的外部设备
附图7表示了DMA通道到PCI总线的连接线路。操作原理
DMA控制器51a和51b提供3个高通量的PCI—存储器传输通道。通道0与通道1传输初级PCI总线和本地处理器本地存储器之间的数据块。通道2传输次级PCI总线和本地处理器本地存储器之间的数据块。除通道0外的其它通道完全相同。通道0多了支持需求模式传输。各个通道都有一个PCI总线接口和一个本地处理器本地总线接口。
各个DMA通道对PCI总线和本地处理器本地总线实行直接寻址。它们双向支持PCI总线的全部64位地址区间的数据传输,这包括用PCI DAC命令的64位寻址。通道提供一个专用寄存器存放64位地址的高32位地址。DMA通道不支持跨越32位地址边界的数据传输。
本发明领域的熟练人员应完全能够掌握实现供本发明中使用的适当的DMA机制所需的进一步细节。存储器控制器
以下描述本发明使用的集成的存储器控制器47,内容有控制器的操作模式、建立、外部接口和实现。概述
P2P处理器中集成一个主存储器控制器47,为P2P处理器和存储器系统33之间提供一个直接接口。存储器控制器支持:
·容量达256M字节的32位或36位(32位内存数据加4个奇偶校验位)DRAM
·交错的或非交错的DRAM
·快速页-模式(FPM)的DRAM
·扩展数据外出(EDO)的DRAM
·猝发扩展数据外出(BEDO)的DRAM
·两个独立的SRAM/DRAM存储器体
·容量达16M字节(每存储器体)的8位或32位SRAM/ROM
存储器控制器为DRAM阵列生成行地址选通(RAS#)、列地址选通(CAS#)、写启动(WE#)和12位多路复用地址(MA[11:0])。DRAM地址锁存启动(DALE#)和LEAF#信号用于交错的DRAM中的地址和数据锁存。
存储器控制器支持两个DRAM、ROM体或快速存储器,每一个体支持64K字节至16M字节的存储容量。每一个存储器体能被独立地配置成宽度8位或32位的存储器。存储器控制器提供芯片启动(CE#)信号、存储器写启动(MWE#)信号和递增猝发地址。
附图8是P2P处理器中集成的存储器控制器的概略图。操作原理
存储器控制器47以最佳方式将本地总线主的猝发存取协议翻译成被寻址存储器所支持的存取协议。地址解码单元101对内部地址/数据总线上的本地总线地址进行解码,生成适当的地址和控制信号到与存储器控制器相连的存储器阵列33。本地总线主生成的猝发存取提供第一个地址。存储器控制器提供递增地址,送到MA[11:0]插线上的存储器阵列。地址的递增要进行到本地总线主结束周期(表现为BLAST#信号的确立),或者到(DRAM读周期)发生一个本地总线奇偶校验错误。一个单一数据传输周期的最大猝发量是2K字节。本地总线主负责跟踪递增猝发的计数并在达到2K字节地址边界时结束数据传输。
在MA[11:0]总线103上出现的地址取决于被寻址的存储器体的类型。如果是DRAM,MA[11:0]就提供多路复用的行地址和列地址。列地址递增到最接近的2K字节地址边界。如果是SRAM与FLASH/ROM存储器体,MA[11:0]总线上的地址就取决于地址相位期间出现在AD[13:2]信号上的地址。对于猝发数据,猝发计数器将地址递增到最接近的2K字节地址边界。
存储器控制器生成编程到存储器控制器的寄存器107中的,用于控制连接到存储器阵列的信号等待状态的数目。此外,在存储器存取期间,要求为(本地处理器之外的)本地总线主提供WAIT#信号,以指示等待状态生成器109生成的其它等待状态。
可以为DRAM阵列启动字节宽数据奇偶校验生成和校验单元111。奇偶校验检测到奇偶校验错误时发出存储器故障错误。发生错误的字地址被俘获入寄存器中。
存储器控制器提供总线监控器113来检测不返回外部RDYRCV#信号的地址区间,其目的是对向未定义地址区间的访问进行检测。当检测发现错误时,等待状态生成器就生成一个内部LRDYRCV#去完成总线访问,并可选择地生成一个总线故障信号。
本发明领域的熟练人员应完全能够掌握实现供本发明使用的适当的存储器控制器所需的进一步细节。PCI和外围设备中断控制器
以下描述P2P处理器中断控制器支持,内容有中断的操作模式、建立、外部存储器接口和实现。概述
PCI和外围设备中断控制器(PPIC)67具有向本地处理器和PCI总线两者生成中断的能力。P2P处理器中有许多可能向本地处理器产生中断的外围设备,它们有:
·DMA通道0
·初级ATU
·DMA通道1
·次级ATU
·DMA通道2
·I2C总线接口单元
·桥初级接口
·APIC总线接口单元
·桥次级接口
·报文传递单元
除内部设备之外,外部设备也会向本地处理器生成中断。外部设备可通过插接线XINT:7:0#和NMI#插接线生成中断。
PCI和外围设备中断控制器提供直接PCI中断的能力。路由选择逻辑在软件控制下,启动截获外部次级PCI中断并把它们传递到初级PCI中断线的能力。
《I960 Jx微处理器用户手册》进一步描述了本地处理器中断和中断优先权机制。该用户手册还彻底说明了本地处理器中断控制器的各种不同操作模式。操作原理
PCI和外围设备中断控制器有两个功能:
·内部的外围设备中断控制
·PCI中断路由选择
外围设备中断控制机构将给定外围设备的多个中断源综合成一个中断,送给本地处理器。为了向执行中的软件提供中断源信息,使用一个内存映射状态寄存器来描述中断源。所有外围设备中断都由各自的外围设备控制寄存器来单独启动。
PCI中断路由选择机构允许主机软件(或本地处理器软件)为PCI中断选择路由,或者通向本地处理器,或者通向P_INTA#、P_INTB#、P_INTC#和P_INTD#输出插接线。路由选择机构是通过一个可从初级PCI桥配置空间或P2P处理器本地总线访问的内存映射寄存器被控制的。本地处理器中断
本地处理器的中断控制器有8个外部中断插接线及一个非屏蔽中断插接线用于监测外部中断请求。这8根外部中断插接线可被配置为专用、扩展或混合模式中的一种。在专用模式中,可单个地将插接线映射到中断矢量上。扩展模式的中断线可解释为能代表一个中断向量的位域,用采用这种模式的中断线可以直接请求240个中断向量。混合模式中5个插接线在扩展模式中工作,并能请求32个不同中断,另外还有3插接线在专用模工中工作。
本地处理器的9个中断线的定义和编程选择如下:
XINT7:0#外部中断(输入)—这些线产生中断请求。插接线可由软件配置为3种模式:专用、扩展或混合模式。各线可编程成边沿检测输入或级检测输入。此外,也可以在程序控制下为这些线选择去抖动(debouncing)模式。
NMI#非屏蔽中断(输入)—它导致一个非屏蔽中断事件的发生。NMI是识别出的优先级最高的中断。NMI#线是边沿激活的输入。可以在程序控制下为NMI#选择去抖动模式。该线是内部同步的。
为使P2P处理器操作正确,本地处理器外部中断线必须编程成只用于直接模式操作、电平敏感中断和快速取样模式。这是通过本地处理器的内存映射寄存器空间中的中断控制寄存器(ICON)完成的。《I960 Jx微处理器用户手册》中有关于对本地处理器中断控制器编程的完备资料。
对P2P中断机构的利用依赖于对本地处理器中断控制器和PCI中断路由选择寄存器中XINT选择位的配置。表9描述了本地处理器中断控制器启动的操作模式和功能,表9描述了XINT选择位的用法。
        表9.P2P中断控制器编程概要
                     本地处理器中断控制器模式
专用模式 扩展模式 混合模式 ICON.im 电平触发中断 边沿触发中断  ICON.sdm 取样模式    ICON.sdm 本地处理器中断
  启动 禁止 禁止 002 启动 禁止   02 快速     12  XINT0#/XINTA#
  启动 禁止 禁止 002 启动 禁止   02 快速     12  XINT1#/XINTB#
  启动 禁止 禁止 002 启动 禁止   02 快速     12  XINT2#/XINTC#
  启动 禁止 禁止 002 启动 禁止   02 快速     12  XINT3#/XINTD#
  启动 禁止 禁止 002 启动 禁止   02 快速     12     XINT4#
  启动 禁止 禁止 002 启动 禁止   02 快速     12     XINT5#
  启动 禁止 禁止 002 启动 禁止   02 快速     12     XINT6#
  启动 禁止 禁止 002 启动 禁止   02 快速     12     XINT7#
  N/A N/A N/A N/A N/A 缺省   N/A 快速     12     NMI#
操作框
PCI和外围设备中断控制器与本地处理器连接,连接线路如附图9所示。PCI中断路由选择
4个PCI中断输入可由多路转换器121选择路径由本地处理器的中断输入端或PCI的中断输出端。中断输入的路由选择由PCI中断路由选择寄存器中的XINT选择位控制。PCI中断路由选择寄存器由表10所示。
            表10.PCI中断路由选择寄存器概要
XINT选择位     描述
    0 INTA#/XINT0#输入线被路由选择到本地处理器的XINT0#输入线INTB#/XINT1#输入线被路由选择到本地处理器的XINT1#输入线INTC#/XINT2#输入线被路由选择到本地处理器的XINT2#输入线INTC#/XINT3#输入线被路由选择到本地处理器的XINT3#输入线
    1 INTA#/XINT0#输入线被路由选择到P_INTA#输出线INTB#/XINT1#输入线被路由选择到P_NTB#输出线
INTC#/XINT2#输入线被路由选择到P_INTC#输出线INTC#/XINT3#输入线被路由选择到P_INTD#输出线
前面说过,本地处理器的XINT0#~XINT3#必须编程为电平敏感的以供应PCI中断。此外当XINT选择位置位时,本地处理器输入的外部逻辑必须驱动一个不活跃电平(‘1’)。内部外围设备中断路由选择
本地处理器的中断输入XINT6#、XINT7#、NMI#从多个内部中断源接受输入。在这三个输入端的各个之前有一个内部锁存器来对这些不同的中断源进行必要的多路转换。应用软件可以通过读相应的中断锁存器来确定中断是由哪个外围设备引起的。读取该外围设备的状态信息可以更详细地确定中断的确切原因。
本地处理器的中断XINT6#接受来自外部线和3个DMA通道的中断。各DMA通道中断要么是DMA传输结束的中断,要么是DMA链结束的中断。XINT6中断锁存器123接收DMA通道的中断输入也接收外部线XINT6#。这些中断源的任何有效中断将锁存器内的位置位,向本地处理器的XINT6#输入输出一个电平敏感中断。只要中断锁存器中有1,它就应该不停地向该处理器的中断输入端驱动一个有效低输入。XINT6中断锁存器可以通过XINT6中断状态寄存器被读取。清除内部外围设备处的中断源就能清除XINT6中断锁存器。
向XINT6中断锁存器驱动输入的单元中断源的详细情况如表11所示。
           表11.XINT6的中断源
    单元   中断条件   寄存器   位位置
DMA通道0 链结束传输结束 通道状态寄存器0通道状态寄存器0     0809
DMA通道1 链结束传输结束 通道状态寄存器1通道状态寄存器1     0809
DMA通道2 链结束传输结束 通道状态寄存器2通道状态寄存器2     0809
本地处理器的XINT7#中断接受来自外部中断线、APIC总线接口单元、初级ATU、I2C总线接口单元和报文传递单元的中断。XINT7中断锁存器125既接收上述4个单元的各个的一个中断输入,也接收外部线XINT7#。这些中断源的任何有效中断将锁存器内的寄存器位置位并向本地处理器的XINT7#输入输出一个电平敏感中断。只要中断锁存器中有1,它就应该不停地向该处理器的中断输入端驱动一个有效低输入。XINT7中断锁存器可以通过XINT7中断状态寄存器被读取。清除内部外围设备处的中断源就能清除XINT7中断锁存器。
向XINT7中断锁存器驱动输入的单元中断源的详细情况如表12所示。
               表12.XINT7的中断源
  单元     出错条件     寄存器 寄存器位位置
APIC总线接口单元 EOI报文已接收APCI报文已发送 APIC控制/状态寄存器APIC控制/状态寄存器     1406
I2C总线接口单元 接受缓冲器满传输缓冲器空从属地址检测检测出“停止”检测出“总线错误”检测出仲裁丢失 I2C状态寄存器I2C状态寄存器I2C状态寄存器I2C状态寄存器I2C状态寄存器I2C状态寄存器     070605040302
报文传递单元 门铃中断 初级ATU中断状态寄存器     09
初级ATU ATU的BIST开始 初级ATU中断状态     08
寄存器
本地处理器的非屏蔽中断(NMI)接受来自外部线、初级和次级ATU、初级和次级桥接口、本地处理器和三个DMA通道中各个通道的中断。这8个中断的各个表示外围设备上出现了错误条件。NMI中断锁存器127既接收上述8个源中各个的中断输入,也接收外部线NMI#。这些中断源的任何有效中断将锁存器内的位置位,向本地处理器的NMI#输入输出一个边沿触发中断。NMI中断锁存器可以通过NMI中断状态寄存器被读取。清除内部外围设备处的中断源就能清除NMI中断锁存器。
向NMI中断锁存器驱动输入的单元中断源的详细情况如表13所示。
            表13.NMI的中断源
    单元     出错条件     寄存器  位位置
初级PCI桥接口 PCI主奇偶校验错误 初级桥中断状态寄存器     00
PCI目标流产(目标) 初级桥中断状态寄存器     01
PCI目标流产(主) 初级桥中断状态寄存器     02
PCI主流产 初级桥中断状态寄存器     03
P_SERR#确立 初级桥中断状态寄存器     04
次级PCI桥接口 PCI主奇偶校验错误 次级桥中断状态寄存器     00
PCI目标流产(目标) 次级桥中断状态寄存器     01
PCI目标流产(主) 次级桥中断状态寄存器     02
PCI主流产 次级桥中断状态寄存器     03
S_SERR#确立 次级桥中断状态寄存器     04
    初级ATU PCI主奇偶校验错误 初级ATU中断状态寄存器     00
PCI目标流产(目标) 初级ATU中断状态寄存器     01
PCI目标流产(主) 初级ATU中断状态寄存器     02
PCI主流产 初级ATU中断状态寄存器     03
P_SERR#断言 初级ATU中断状态寄存器     04
本地处理器总线故障 初级ATU中断状态寄存器     05
本地处理器内存故障 初级ATU中断状态寄存器     06
    次级ATU PCI主奇偶校验错误 次级ATU中断状态寄存器     00
PCI目标流产(目标) 次级ATU中断状态寄存器     01
PCI目标流产(主) 次级ATU中断状态寄存器     02
PCI主流产 次级ATU中断状态寄存器     03
S_SERR#确立 次级ATU中断状态寄存器     04
本地处理器总线故障 次级ATU中断状态寄存器     05
本地处理器内存故障 次级ATU中断状态寄存器     06
    本地处理器 本地处理器总线故障 本地处理器状态寄存器     05
本地处理器内存 本地处理器状态寄存     06
故障
 DMA通道0 PCI主奇偶校验错误 通道状态寄存器0     00
PCI目标流产(主) 通道状态寄存器0     02
PCI主流产 通道状态寄存器0     03
本地处理器总线故障 通道状态寄存器0     05
本地处理器内存故障 通道状态寄存器0     06
 DMA通道1 PCI主奇偶校验错误 通道状态寄存器1     00
PCI目标流产(主) 通道状态寄存器1     02
PCI主流产 通道状态寄存器1     03
本地处理器总线故障 通道状态寄存器1     05
本地处理器内存故障 通道状态寄存器1     06
 DMA通道2 PCI主奇偶校验错误 通道状态寄存器2     00
PCI目标流产(主) 通道状态寄存器2     02
PCI主流产 通道状态寄存器2     03
本地处理器总线故障 通道状态寄存器2     05
本地处理器内存故障 通道状态寄存器2     06
下面描述路由选择寄存器、XINT6中断状态寄存器、XINT7中断状态寄存器、NMI中断状态寄存器。P2P处理器外部中断接口P2P处理器的外部中断输入接口由以下引线组成:
              表14.中断输入线描述
    信号                     描述
INTA#/XINT0# 该中断输入可被传递到P_INTA#输出或本地处理器的中断输入XINT0
INTB#/XINT1# 该中断输入可被传递到P_INTB#输出或本地处理器的中断输入XINT1
INTC#/XINT2# 该中断输入可被传递到P_INTC#输出或本地处理器的中断输入XINT2
INTD#/XINT3# 该中断输入可被传递到P_INTD#输出或本地处理器的中断输入XINT3
  XINT4# 该中断输入总是连到本地处理器的中断输入XINT4
  XINT5# 该中断输入总是连到本地处理器的中断输入XINT5
  XINT6# 该中断输入由3个内部中断共享。这些中断是每个内部DMA通道的中断。所有这些中断都被传递到本地处理器的中断输入XINT6#。要确定确切的中断源,软件必须读XINT6中断状态寄存器。
  XINT7# 该中断输入由4个内部中断共享。这些中断是APIC总线接口单元、初级ATU、I2C总线接口单元和报文传递单元发出的中断。所有这些中断都被传递到本地处理器的中断输入XINT7#。要确定确切的中断源,软件必须读XINT7中断状态寄存器。
   NMI# 该中断输入由8个内部中断共享。这些中断包括初级和次级ATU、初级和次级PCI桥接口、本地处理器和三个DMA通道中各个通道发出的采集的出错中断。所有这些中断都被传递到本地处理器的输入NMI#。要确定确切的中断源,软件
必须读NMI中断状态寄存器。
  PCI向外门铃中断
P2P处理器具有在任意一个初级PCI中断线上生成中断的能力。这是通过对初级ATU内部门铃端口寄存器中的一个位进行置位来完成的。位0至3分别对应P_INTA#至P_INTD#。对某个寄存器位进行置位就生成对应的PCI中断。寄存器定义
PCI和外围设备中断控制器有4个控制和状态寄存器:
·PCI中断路由选择寄存器
·XINT6中断状态寄存器
·XINT7中断状态寄存器
·NMI中断状态寄存器
每个寄存器都是一个32位寄存器,并且是本地处理器存储器空间中的内存映射寄存器。
所有寄存器作为P2P的内存映射寄存器都是可见的,可以通过内部存储器总线进行存取。PCI中断路由选择寄存器可以从内部存储器总线及通过PCI配置寄存器空间访问(功能0#)。PCI中断路由选择寄存器—PIRSR
PCI中断路由选择寄存器(PIRSR)决定外部输入线的路由选择。输入线由4个次级PCI中断输入组成,它们被选择路径到初级PCI中断或本地处理器中断。PCI中断线被定义为“电平敏感”中断,确立电平是低电平。中断线的确立和撤销与PCI或处理器时钟是异步的。
如果次级PCI中断输入被选择路径到初级PCI中断线,本地处理器的中断输入线XINT3:0#必须被置于不活跃状态。XINT6中断状态寄存器—X6ISR
XINT6中断状态寄存器(X6ISR)表示当前挂起的XINT6中断。XINT6的中断源可以是通过XINT6中断锁存器或外部XINT6#输入线连接的内部外围设备。上文中内部外围设备中断路由选择部分描述了可以在XINT6#输入上生成的那些中断。
X6ISR被应用软件用于确定XINT6#输入上中断的中断源以及清除该中断。该寄存器中的所有位都是定义为只读的。寄存器中的所有位都在对应的中断源(表11中所示的状态寄存器源)被清除时清零。X6ISR反映着XINT6中断锁存器的输入的当前状态。
由于P2P外围设备单元的异步性,当应用软件读X6ISR寄存器时,可能有多个中断处于活跃状态。应用软件必须恰当地对待这些多重中断条件。此外,应用软件可以随后读X6ISR寄存器,以确定在上个中被处理期间是否又有中断发生。来自X6ISR寄存器的所有中断在本地处理器中都具有相同的优先级(《i960 JX微处理器用户手册》中有对优先级机制设置的说明)。
表15详细定义了X6ISR。
         表15.XINT6中断状态寄存器—X6ISR
缺省值 读/写 说明
31:04 0000000H 只读 保留
03 02 只读 外部XINT6#中断挂起—如果该位置位,则外部XINT6#输入上有挂起的中断。如果清零不存在中断。
02 02 只读 DMA通道2中断挂起—如果该位置位,则DMA通道2已经发出一个通道链结束的活跃条件信号。如果清零则不存在中断条件。
01 02 只读 DMA通道1中断挂起—如果该位置位,则DMA通道1已经发出一个通道链结束的活跃条件信号。如果清零则不存在中断条件。
00 02 只读 DMA通道0中断挂起—如果该位置位,则DMA通道0已经发出一个通道链结束的活跃条件信号。如果清零则不存在中断条件。
XINT7中断状态寄存器—X7ISRXINT7中断状态寄存器(X7ISR)表示当前挂起的XINT7中断。XINT7的中断源可以是通过XINT7中断锁存器或外部XINT7#输入线连接的内部外围设备。
X7ISR被应用软件用于确定XINT7#输入上中断的中断源以及清除该中断。该寄存器中的所有位都定义为只读的。寄存器中的所有位都在对应的中断源(表12中所示的状态寄存器源)被清除时清零。X7ISR反映着XINT7中断锁存器的输入的当前状态。
由于P2P外围设备单元的异步性,当应用软件读X7ISR寄存器时,可能有多个中断处于活跃状态。应用软件必须恰当地对待这些多重中断条件。此外,应用软件可以随后读X7ISR寄存器,以确定在上个中被处理期间是否又有中断发生。来自X7ISR寄存器的所有中断在本地处理器中都具有相同的优先级。
表16详细定义了X7ISR。
        表16.XINT7中断状态寄存器—X7ISR
缺省值 读/写 说明
31:05 0000000H 只读 保留
04 02 只读 外部XINT7#中断挂起—如果该位置位,则外部XINT7#输入上有中断挂起。如果清零不存在中断。
03 02 只读 初级ATU/开始BIST中断挂起—如果该位置位,则主处理器已经在寄存器ATUBISTR中设置了开始BIST的请求。如果清零则没有开始BIST中断挂起。
02 02 只读 向内门铃中断挂起—如果该位置位,则向内报文传递单元发出的中断正在挂起。如果清零则没有中断挂起。
01 02 只读 I2C总线中断挂起—如果该位置位,则I2C总线接口单元单元发出的中断正在挂起。如果清零则没有中断挂起。
00 02 只读 APIC中断挂起—如果该位置位,则APIC总线接口单元发出的中断正在挂起。如果清零则没有中断挂起。
  NMI中断状态寄存器—NISR
NMI中断状态寄存器(NISR)表示当前挂起的NMI中断。NMI的中断源可以是通过NMI中断锁存器或外部NMI#输入线连接的内部外围设备。
NISR被应用软件用于确定NMI#输入上中断的中断源以及清除该中断。该寄存器中的所有位都是只读的。寄存器中的所有位都在对应的中断源(表13中所示的状态寄存器源)被清除时清零。NISR反映着NMI中断锁存器的输入的当前状态。
由于P2P外围设备单元的异步性,当应用软件读NISR寄存器时,可能有多个中断处于活跃状态。应用软件必须恰当地对待这些多重中断条件。此外,应用软件可以随后读NISR寄存器,以确定在上个中被处理期间是否又有中断发生。来自NISR寄存器的所有中断在本地处理器中都具有相同的优先级。
表17示出了NMI中断状态寄存器的各定义位。
         表17.NMI中断状态寄存器—NISR
缺省值 读/写 说明
31:09 000000H 只读 保留
08 02 只读 外部NMI#中断挂起—如果该位置位,则外部NMI#输入上有中断挂起。如果清零不存在中断。
07 02 只读 DMA通道2错误—如果该位置位,则DMA通道2内存在一个PCI或本地总线错误条件。若清零则无出错条件。
06 02 只读 DMA通道1错误—如果该位置位,则DMA通道1内存在一个PCI或本地总线错误条件。若清
零则无出错。
05 02 只读 DMA通道0错误—如果该位置位,则DMA通道0内存在一个PCI或本地总线错误。若清零则无出错。
04 02 只读 次级桥错误—如果该位置位,则桥的次级接口内存在一个PCI错误条件。若清零则无出错。
03 02 只读 初级桥接口错误—如果该位置位,则桥的初级接口内存在一个PCI错误条件。若清零则无出错。
02 02 只读 次级ATU错误—如果该位置位,则次级ATU内存在一个PCI或本地总线错误条件。若清零则无出错。
01 02 只读 初级ATU错误—如果该位置位,则初级ATU内存在一个PCI或本地总线错误条件。若清零则无出错。
00 02 只读 本地处理器错误—如果该位置位,则内部存储器控制器内存在一个由本地处理器引起的错误条件。若清零则无出错。
内部仲裁
以下描述P2P处理器的内部仲裁—包括对处理器中内部本地总线的仲裁以及对处理器内各个PCI接口的仲裁,描述的内容有仲裁的操作模式、建立、外部存储器接口和实现。本地总线仲裁
P2P处理器需要有一个仲裁机构来控制本地总线的所有权。连接到本地总线的总线主由3个DMA通道、初级PCI地址翻译单元、次级PCI地址翻译单元、本地处理器和外部总线主所组成
本地总线仲裁单元(LBAU)57实现一种公平算法,允许每一个总线主有机会取得对本地总线的控制权。该算法在轮式调度方案中加入了一种优先化的机制。在最佳实施例中,实现应允许应用软件独立地向各个本地总线主分配优先权。
本地总线仲裁单元的责任是将本地总线授予总线主。所有总线主都有一个逻辑,一旦它们已经失去自己的内部GNT#信号,就要从本地总线上卸任自己作为总线主。有一个可编程的12位计数器,用于限制总线主控制本地总线的时间量,它指示总线主在有其它总线主请求总线的情况下,何时必须交出占有权。
外部总线主可以用于本地总线上,方法是增加控制HOLD/HOLDA的外部逻辑。P2P处理器允许有一个外部总线主加入公平算法。如果本地总线上使用的外部总线主不止一个,就需要用外部逻辑将所有外部设备当作一个设备来对待(检测HOLD,驱动HOLDA)。
本地总线仲裁单元控制本地处理器的补偿单元(backoff unit)。补偿单元允许本地处理器被“补偿”,以防止可能发生的死锁现象。处理器补偿时,保持在等待状态(L_RDYRCV#不活跃)。内部缓冲器使多路转换地址/数据总线处于三稳态,使其它本地总线主(ATU、DMA等)控制总线,因而就避免出现发生向外事务处理要求使用正被向内事务处理使用的资源这种情况。此外,补偿单元使本地总线的性能在所有向外的处理器读操作期间达到最优。
除了本地总线仲裁单元之外,P2P处理器还有两个本地PCI仲裁单元。本地初级仲裁单元55a控制对内部初级PCI总线的访问。仲裁在PCI至PCI桥单元的初级ATU、DMA通道0与1、初级接口之间争夺初级PCI总线时发生。本地次级仲裁单元55b控制对内部次级PCI总线的访问。仲裁在PCI至PCI桥单元的次级ATU、DMA通道2、次级接口之间争夺次级PCI总线时发生。这两个本地PCI仲裁单元都以相似的方式工作。理想的情况是,仲裁逻辑被设计成允许多个总线主控制本地总线。当有总线主对本地总线提出请求时,本地总线仲裁单元首先应通过确立一个HOLD请求信号,从本地处理器得到本地总线的控制权。本地处理器应将总线交给仲裁逻辑,方法是确立HOLDA信号并将处理器信号线置于三态模式。仲裁逻辑接着就应将本地总线交给其它总线主,方法是返回对应的内部GNT#信号。内部PCI总线仲裁
P2P处理器中有两个内部仲裁单元。控制对设备内的内部PCI总线的访问。附图10表示这些内部仲裁单元以及它们所控制的资源。
初级内部PCI仲裁单元为下列内部单元进行仲裁:
·初级桥接口
·初级ATU
·DMA通道0
·DMA通道1
次级内部PCI仲裁单元为下列内部单元进行仲裁:
·次级桥接口
·次级ATU
·DMA通道2
各内部PCI仲裁单元采用固定的轮式仲裁方案,总线上的每个设备具有相同的优先权。
对固定的轮式仲裁的解释如下:
·复位后,仲裁令牌属于各内部PCI仲裁单元内的设备#1。
·在有设备向仲裁单元确立内部REQ#的每个时钟上执行仲裁。
·令牌的下一个所有者(例如总线)是设备号与当前令牌所有者(总线空闲时则为上一个令牌所有者)最接近的设备。例如,如果设备#3是当前所有者,当设备#4、设备#1都提出总线请求,则设备#4赢出。
·当仲裁单元向内部总线主控启动内部授权时,传递令牌。这是仲裁单元的授权信号。向该内部总线主的实际输出仍然用外部GNT#输入屏蔽着。操作原理
内部PCI总线上的各单元都要请求使用总线进行主控操作。每当附属于内部总线的资源发出请求(REQ#)时,便出现仲裁。向下一个资源的授权是按照轮式方案作出的。内部PCI总线的授予与外部PCI总线的状态关系密切。外部中断请求线(P_REQ#或S_REQ#)的状态是各内部PCI总线上请求线的逻辑“或”的直接反映。
内部PCI总线主可以在任何时候接受内部PCI仲裁单元的内部GNT#(幕后仲裁)。内部总线主仍然负责继续监视FRAME#、IRDY#、和它们的内部GNT#输入以保证在开始访问总线之前保持对总线的所有权。在时钟脉冲的上升沿,FRAME#、IRDY#必须是高电平,授权输入信号必须是低电平,就是这个上升沿确定了总线主然后驱动FRAME#低电平以开始一个周期的那个时钟周期。内部PCI仲裁单元对外部授权信号(P_REQ#或S_REQ#)进行监控,仅当在外部授权信号为真的基础上进行内部授权。
内部PCI仲裁单元在下列情形撤销内部总线主的GNT#:
·外部授权信号(P_GNT#或S_GNT#)转为不活跃状态。
·内部仲裁单元将内部总线主的内部授权信号变为不活跃状态。
·当前的总线所有者撤销其REQ#输出。
各总线主的授权输入可被视为外部授权和来自内部PCI总线仲裁单元内部的内部授权的逻辑“或”。仲裁单元根据谁是轮式方案决定的赢者向内部总线主激活内部授权信号,但驱动到内部总线主的授权输入的实际GNT#信号是从外部授权和内部授权输入的逻辑“或”得出的。
内部仲裁单元负责保证,任何时刻只有一个内部GNT#是激活的。一旦某个内部总线主失去了内部GNT#信号,它最终就必须要释放总线的所有权。内部GNT#信号遵守《PCI本地总线规范》关于GNT#信号撤销的规则(仲裁信号协议)。本发明领域的熟练人员显然完全能够掌握实现内部PCI仲裁单元所需的其它细节。I2C总线接口单元
以下描述P2P处理器的I2C(互连集成电路)总线接口单元,内容是I2C总线接口单元的操作模式、建立和实现。概述
I2C总线接口单元61允许本地处理器34担当I2C总线上的主和从设备。I2C总线是Philips公司开发的一种串行总线,由一种双插线接口组成。SDA是数据线,用于实现输入输出功能;SCL是时钟线,用于对I2C总线的参照与控制。
I2C总线允许P2P处理器与其它I2C外围设备和微控制器接口,实现系统的管理功能。该串行总线能以最少的硬件构造一个经济的系统,用于向外部设备传递P2P子系统上的状态和可靠性数据。
I2C总线接口单元是一种位于内部P2P本地总线上外围设备。I2C总线接受或发送出去的数据是经由一个缓冲接口传输的。控制和状态数据是通过本地处理器的一组内存映射寄存器传递的。《I2C总线规范》对I2C总线的操作有内容完备的说明。操作原理
I2C总线为在仅使用双线接口的总线上的代理之间交换信息定义了一个完整的串行协议。总线上的各个设备均由唯一的7位地址识别,既可以作为信息的发送方,也可以作为接收方。I2C总线除了在发送方和接收方之间起作用外,还在主/从模式中发挥功能。
举一个I2C总线操作的例子,假设微处理器担当总线上主。作为主的微处理器可能要寻址作为从设备的接收写数据的EEPROM。此时微处理器就是主—发送方,EEPROM就是从—接收方。假若微处理器想要读数据,则微处理器就是主—接收方,EEPROM就是从—发送方。在这两种情况下,都是由主来启动和结束事务处理。
I2C总线允许系统有多个主,就是说,可以同时有多个设备试图启动数据传输。I2C总线为处理这种情况定义仲裁过程。如果有两个或两个以上的主同时驱动总线,当其它主产生一个0时产生一个1的第一个主就会在仲裁中失败。这取决于SDA和SCL I2C总线线路的“线-与”(wired-AND)操作。
I2C总线的串行操作使用一种线—与总线结构。这是用于多个设备驱动总线线路及互相之间发信号,告知诸如有关仲裁结果、等待状态、出错条件等事件的方法。例如,当一个主在数据传输期间驱动时钟(SCL)线路时,它在每个时钟脉冲的高电平时刻传输一个数据位。如果从设备不能按主要求的速率接收或驱动数据,它可以将时钟线的电平在高电平之间保持在低电平上以实质上插入等待状态。线-与操作在设备的输出阶段执行的。I2C总线上的最大数据传输速度是每秒400K位。
I2C总线事务处理由本地处理器作为主而启动或者由本地处理器作为从设备而接收。这两个条件都会导致处理器对I2C总线进行读操作、写操作或者读、写操作兼有。操作框
P2P处理器的I2C总线接口单元是一个与本地总线相连的从外围设备。该单元用P2P处理器的中断机制来向本地处理器通知I2C总线上的活动。附图11是I2C总线接口单元及其与本地总线接口的方框图。
组成I2C总线接口单元的是两个连接到I2C总线的线接口61、用于对本地处理器来回传输数据的8位缓冲器61a,一组控制和状态寄存器61b、一组用于并行/串行转换的移位寄存器61c。
I2C中断的信号是通过处理器中断XINT7#和XINT7中断状态寄存器(X7ISR)发出的。在缓冲器满、缓冲器空、检测到从地址、仲裁失败或总线出错等情况发生时,I2C总线接口单元将寄存器X7ISR内的一位置位。所有中断条件都是由本地处理器明确地清除的。
I2C数据缓冲寄存器IDBR是一个8位数据缓冲器,它从一端接收来自I2C总线的移位寄存器接口的一个字节的数据,并从另一端接收来自P2P处理器本地总线的并行数据。用户不可以访问串行移位寄存器。APIC总线接口单元
以下描述APIC总线接口单元63。该单元提供本地总线与3线的APIC总线之间的通信机构,它有两个基本功能:
它使本地处理器能够将中断报文发送到APIC总线,并可以有选择地在该报文发出后被中断。本地处理器然后就能读取报文传输的结果状态,检查是否出现错误。
它也能接收APIC总线的EOI报文,并可以选择中断本地处理器,向本地处理器报告已经有了EOI向量。
下面叙述该接口的操作模式、建立和实现。APIC体系结构概述
APIC中断体系结构被规定为所有与《多处理器规范(MPS)》兼容的系统的中断体系结构。Intel公司出版了MPS1.1版,订购号为242016-003。APIC体系结构的主要特点是:
1.APCI为Intel体系结构的CPU-例如90和100MHZ的奔腾处理器-提供多处理器中断管理,提供跨越所有处理器的静态和动态的对称中断分配。
2.对称中断分配包括将中断向最低优先级处理器的路由选择。
3.APIC在具有多个I/O子系统的系统中工作,每个子系统都可以有自己的中断集。
4.APCI提供处理器间中断,允许处理器中断包括其自身的任何处理器或处理器组。
5.各个APIC中断输入线都可以独立地由软件编程为边沿触发型或电平触发型。中断向量和中断导引(steering)信息可以按管脚引线作规定。
6.APIC支持由软件来裁剪成适应不同的系统体系结构和不同使用模型的命名/寻址方案。
7.APIC支持与NMI、INIT和系统管理中断(SMI)有关的全系统的处理器控制功能。
8.APIC与8259A型PIC共存,保持了PC的兼容性。
9.APIC为每个中断输入线提供可编程的中断优先级(向量)。因为APIC编程接口由两个32位的内存单元组成,可以用P2P处理器中的本地处理器模拟I/O APIC的功能。
本发明领域的熟练人员显然完全能够掌握适合与本发明一起使用的I/O APIC的具体实现细节。

Claims (26)

1.一种连接第一外部总线与第二外部总线的集成电路,包括:
a〕连接到所述第一外部总线的第一内部总线;
b〕连接到所述第二外部总线的第二内部总线;
c〕具有连接到所述第一内部总线的第一总线接口和连接到所述第二内部总线的第二总线接口的总线桥装置,所述总线桥用于允许事务处理在所述第一与第二外部总线之间被传递;
d〕连接到所述总线桥装置、用于处理从外部源接收的事务处理和输入到所述第一总线接口与所述第二总线接口的事务处理的本地处理器装置;
e〕在所述处理器装置与外部存储器之间传递数据的本地总线。
2.权利要求1定义的集成电路,进一步包括:
a〕连接到所述本地总线和所述第一内部总线的第一地址翻译电路,该翻译电路适用于将所述第一内部总线上的向内事务处理地址转换成所述本地处理器装置可用的地址,及将所述本地总线上的向外事务处理地址转换成连接到所述第一外部总线的设备可用的地址;
b〕连接到所述本地总线和所述第二内部总线的第二地址翻译电路,该翻译电路适用于将所述第二内部总线上的向内事务处理地址转换成所述本地处理器装置可用的地址,及将所述本地总线上的向外事务处理地址转换成连接到所述第二外部总线的设备可用的地址。
3.权利要求2定义的集成电路,进一步包括:
连接到所述第一地址翻译电路的报文传递单元,该报文传递单元适用于在新数据被放置到所述第一内部总线上时产生一个供所述本地处理器装置使用的中断,及在所述本地处理器装置在所述本地总线上放置数据时在所述第一内部总线的至少一条中断线上产生一个供连接到所述第一外部总线的设备使用的中断。
4.权利要求1定义的集成电路,进一步包括:
连接到所述本地总线和所述第一内部总线、用于在所述第一内部总线与所述本地存储器之间传输数据块的第一DMA控制器装置;
连接到所述本地总线和所述第二内部总线、用于在所述第二内部总线与所述本地存储器之间传输数据块的第二DMA控制器装置。
5.权利要求2定义的集成电路,进一步包括:
a〕控制对所述第一总线接口与所述第一地址翻译电路之间的所述第一内部总线进行访问的第一总线仲裁装置;
b〕控制对所述第二总线接口与所述第二地址翻译电路之间的所述第二内部总线进行访问的第二总线仲裁装置。
6.权利要求2定义的集成电路,进一步包括:
控制对所述本地处理器、所述第一地址翻译电路、所述第二地址翻译电路之间的所述本地总线进行访问的本地总线仲裁装置。
7.权利要求1定义的集成电路,进一步包括:
控制用所述本地总线上的数据和地址向所述外部存储器写入数据、从所述外部存储器读取数据的存储器控制器装置。
8.权利要求1定义的集成电路,进一步包括:
a〕为多个中断源选择路由到所述本地处理器装置的一个单一中断输入端的外围设备中断控制器;
b〕定义所述多个中断源中的哪个中断源引起所述单一中断的状态寄存器。
9.权利要求1定义的集成电路,进一步包括:
a〕连接到适合于管理采用所述集成电路的系统的外部传感器的I2C总线;
b〕允许所述本地处理器装置担当位于所述I2C总线上的主和从设备的I2C接口装置。
10.权利要求1定义的集成电路,进一步包括:
a〕连接外部处理器的APIC总线;
b〕使所述外部处理器与所述本地处理器之间能够进行通信的APIC接口装置。
11.一个包括至少一个与一个初级PCI总线相连的主处理器、至少有一个与一个次级PCI总线相连的外围设备的系统,该系统在一块单一集成电路上含有:
a〕连接到所述初级PCI总线的第一内部总线;
b〕连接到所述次级PCI总线的第二内部总线;
c〕具有连接到所述第一内部总线的第一总线接口和连接到所述第二内部总线的第二总线接口的总线桥装置,所述总线桥用于允许在所述初级PCI总线与所述次级PCI总线之间传递事务处理;
d〕连接到所述总线桥装置、处理从外部源接收的事务处理和输入到所述第一总线接口和所述第二总线接口的事务处理的本地处理器装置;
e〕在所述处理器装置与外部存储器之间传递数据的本地总线。
12.权利要求11定义的系统,其中,所述集成电路进一步包括:
a〕连接到所述本地总线和所述第一内部总线的第一地址翻译电路,该翻译电路适用于将所述第一内部总线上的向内事务处理地址转换成可被所述本地处理器装置使用的地址,及将所述本地总线上的向外事务处理地址转换成可被与所述初级PCI总线相连的设备使用的地址;
b〕连接到所述本地总线和所述第二内部总线的第二地址翻译电路,该翻译电路适用于将所述第二内部总线上的向内事务处理地址转换成可被所述本地处理器装置使用的地址,及将所述本地总线上的向外事务处理地址转换成可被与所述次级PCI总线相连的设备使用的地址。
13.权利要求12定义的系统,其中,所述集成电路进一步包括:
连接到所述第一地址翻译电路的报文传递电路,该报文传递单元适用于在新数据被放置到所述第一内部总线上时产生一个由所述本地处理器装置使用的中断,及在所述本地处理器向所述本地总线上放置数据时在所述第一内部总线的至少一条中断线上产生一个由连接到所述初级PCI总线的设备使用的中断。
14.权利要求11定义的系统,其中,所述集成电路进一步包括:
连接所述本地总线和所述第一内部总线、用于在所述第一内部总线和所述本地存储器之间传输数据块的第一DMA控制器装置;
连接所述本地总线和所述第二内部总线、用于在所述第二内部总线和所述本地存储器之间传输数据块的第二DMA控制器装置。
15.权利要求12定义的系统电路,其中,所述集成电路进一步包括:
控制对所述第一总线接口和所述第一地址翻译电路之间的所述第一内部总线访问的第一总线仲裁装置;
控制对所述第二总线接口和所述第二地址翻译电路之间的所述第二内部总线访问的第二总线仲裁装置;
16.权利要求12定义的系统,其中,所述集成电路进一步包括:
控制对所述本地处理器、所述第一地址翻译电路、所述第二地址翻译电路之间的所述本地总线访问的本地总线仲裁装置。
17.权利要求11定义的系统,其中,所述集成电路进一步包括存储器控制器装置,用于控制用所述本地总线上的数据和地址对所述外部存储器进行的读写。
18.权利要求11定义的系统,其中,所述集成电路进一步包括:
a〕外围设备中断控制器装置,用于为多个中断源选择路由到所述本地处理器装置的单一的中断输入端;
b〕定义所述多个中断源中哪个中断源引起了所述单一中断的状态寄存器。
19.权利要求11定义的系统,其中,所述集成电路进一步包括:
a〕用于连接适合于对使用所述集成电路的系统进行管理的外部传感器的I2C总线;
b〕使所述本地处理器装置能够担当位于所述I2C总线上的主和从设备作用的I2C接口装置。
20.权利要求11定义的系统,其中,所述集成电路进一步包括:
a〕连接到外部处理器的APIC总线;
b〕使所述外部处理器与所述本地处理器之间能够进行通信的APIC接口装置。
21.权利要求1定义的集成电路,其中,所述总线桥装置进一步包括:
a〕连接在所述第一总线接口与所述第二总线接口之间的下游投递缓冲器;
b〕连接在所述第一总线接口与所述第二总线接口之间的上游投递缓冲器;
c〕一组与所述第一总线接口连接的配置寄存器。
22.权利要求1定义的集成电路,其中,所述本地处理器装置包括一个微处理器。
23.权利要求11定义的系统,其中,所述总线桥装置进一步包括:
a〕在所述第一总线接口与所述第二总线接口之间连接的下游投递缓冲器;
b〕在所述第一总线接口与所述第二总线接口之间连接的上游投递缓冲器;
c〕一组与所述第一总线接口连接的配置寄存器。
24.权利要求11定义的系统,其中,所述本地处理器装置包括一个微处理器。
25.权利要求4定义的集成电路,进一步包括:
a〕控制所述第一总线接口、所述第一地址翻译电路、所述第一DMA控制器装置之间对所述第一内部总线访问的第一总线仲裁装置;
b〕控制所述第二总线接口、所述第二地址翻译电路、所述第二DMA控制器装置之间对所述第二内部总线访问的第二总线仲裁装置。
26.权利要求14定义的系统,其中,所述集成电路进一步包括:
a〕控制所述第一总线接口、所述第一地址翻译电路、所述第一DMA控制器装置之间访问所述第一内部总线的第一总线仲裁装置;
b〕控制所述第二总线接口、所述第二地址翻译电路、所述第二DMA控制器装置之间访问所述第二内部总线的第二总线仲裁装置。
CNB96196300XA 1995-06-15 1996-06-17 集成pci至pci桥的i/o处理器的体系结构 Expired - Lifetime CN1137442C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US49065495A 1995-06-15 1995-06-15
US08/490,654 1995-06-15

Publications (2)

Publication Number Publication Date
CN1193393A true CN1193393A (zh) 1998-09-16
CN1137442C CN1137442C (zh) 2004-02-04

Family

ID=23948953

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB96196300XA Expired - Lifetime CN1137442C (zh) 1995-06-15 1996-06-17 集成pci至pci桥的i/o处理器的体系结构

Country Status (9)

Country Link
US (1) US5884027A (zh)
EP (1) EP0834135B1 (zh)
JP (1) JPH11513150A (zh)
KR (1) KR100263277B1 (zh)
CN (1) CN1137442C (zh)
AU (1) AU6334496A (zh)
DE (1) DE69625597D1 (zh)
RU (1) RU2157000C2 (zh)
WO (1) WO1997000480A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100336043C (zh) * 2002-12-31 2007-09-05 英特尔公司 提高光学存储转移性能的装置、系统和方法
CN100353347C (zh) * 2002-11-25 2007-12-05 杭州士兰微电子股份有限公司 一种实现pci多功能卡的方法
CN1645347B (zh) * 2004-11-15 2010-04-21 威盛电子股份有限公司 动态调整高速周边元件连接接口的根端口传输资料的方法
CN105354167A (zh) * 2015-11-17 2016-02-24 无锡江南计算技术研究所 一种pci桥次级总线复位的缓冲排空方法
CN106255964A (zh) * 2014-04-28 2016-12-21 高通股份有限公司 传感器全局总线
CN108733594A (zh) * 2017-04-13 2018-11-02 慧荣科技股份有限公司 存储器控制器与数据储存装置
US10417172B2 (en) 2014-04-28 2019-09-17 Qualcomm Incorporated Sensors global bus
CN114138702A (zh) * 2022-01-29 2022-03-04 阿里云计算有限公司 计算系统、pci设备管理器及其初始化方法
CN116909639A (zh) * 2023-09-13 2023-10-20 珠海星云智联科技有限公司 一种挂载系统、方法、集群以及存储介质

Families Citing this family (165)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828865A (en) * 1995-12-27 1998-10-27 Intel Corporation Dual mode bus bridge for interfacing a host bus and a personal computer interface bus
US5953538A (en) * 1996-11-12 1999-09-14 Digital Equipment Corporation Method and apparatus providing DMA transfers between devices coupled to different host bus bridges
US6021483A (en) * 1997-03-17 2000-02-01 International Business Machines Corporation PCI-to-PCI bridges with a timer register for storing a delayed transaction latency
US6502208B1 (en) 1997-03-31 2002-12-31 International Business Machines Corporation Method and system for check stop error handling
US6119246A (en) * 1997-03-31 2000-09-12 International Business Machines Corporation Error collection coordination for software-readable and non-software readable fault isolation registers in a computer system
US6065139A (en) * 1997-03-31 2000-05-16 International Business Machines Corporation Method and system for surveillance of computer system operations
US6557121B1 (en) * 1997-03-31 2003-04-29 International Business Machines Corporation Method and system for fault isolation for PCI bus errors
US5951686A (en) * 1997-03-31 1999-09-14 International Business Machines Corporation Method and system for reboot recovery
US6247079B1 (en) 1997-05-13 2001-06-12 Micron Electronics, Inc Apparatus for computer implemented hot-swap and hot-add
US6163849A (en) 1997-05-13 2000-12-19 Micron Electronics, Inc. Method of powering up or powering down a server to a maintenance state
US6145098A (en) 1997-05-13 2000-11-07 Micron Electronics, Inc. System for displaying system status
US6195717B1 (en) 1997-05-13 2001-02-27 Micron Electronics, Inc. Method of expanding bus loading capacity
US6269417B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Method for determining and displaying the physical slot number of an expansion bus device
US6202160B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. System for independent powering of a computer system
US6324608B1 (en) * 1997-05-13 2001-11-27 Micron Electronics Method for hot swapping of network components
US6202111B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a statically loaded adapter driver
US6253334B1 (en) 1997-05-13 2001-06-26 Micron Electronics, Inc. Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses
US6138250A (en) 1997-05-13 2000-10-24 Micron Electronics, Inc. System for reading system log
US6122758A (en) 1997-05-13 2000-09-19 Micron Electronics, Inc. System for mapping environmental resources to memory for program access
US6179486B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Method for hot add of a mass storage adapter on a system including a dynamically loaded adapter driver
US6269412B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Apparatus for recording information system events
US6148355A (en) 1997-05-13 2000-11-14 Micron Electronics, Inc. Configuration management method for hot adding and hot replacing devices
US6219734B1 (en) 1997-05-13 2001-04-17 Micron Electronics, Inc. Method for the hot add of a mass storage adapter on a system including a statically loaded adapter driver
US6338150B1 (en) 1997-05-13 2002-01-08 Micron Technology, Inc. Diagnostic and managing distributed processor system
US6330690B1 (en) 1997-05-13 2001-12-11 Micron Electronics, Inc. Method of resetting a server
US5987554A (en) 1997-05-13 1999-11-16 Micron Electronics, Inc. Method of controlling the transfer of information across an interface between two buses
US6163853A (en) 1997-05-13 2000-12-19 Micron Electronics, Inc. Method for communicating a software-generated pulse waveform between two servers in a network
US6170067B1 (en) 1997-05-13 2001-01-02 Micron Technology, Inc. System for automatically reporting a system failure in a server
US6073255A (en) 1997-05-13 2000-06-06 Micron Electronics, Inc. Method of reading system log
US6243773B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Configuration management system for hot adding and hot replacing devices
US6363497B1 (en) 1997-05-13 2002-03-26 Micron Technology, Inc. System for clustering software applications
US6122746A (en) 1997-05-13 2000-09-19 Micron Electronics, Inc. System for powering up and powering down a server
US6499073B1 (en) 1997-05-13 2002-12-24 Micron Electronics, Inc. System using programmable processor for selectively enabling or disabling power to adapter in response to respective request signals
US6173346B1 (en) 1997-05-13 2001-01-09 Micron Electronics, Inc. Method for hot swapping a programmable storage adapter using a programmable processor for selectively enabling or disabling power to adapter slot in response to respective request signals
US6292905B1 (en) 1997-05-13 2001-09-18 Micron Technology, Inc. Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure
US6134673A (en) 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
US6134668A (en) 1997-05-13 2000-10-17 Micron Electronics, Inc. Method of selective independent powering of portion of computer system through remote interface from remote interface power supply
US6182180B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Apparatus for interfacing buses
US6249834B1 (en) 1997-05-13 2001-06-19 Micron Technology, Inc. System for expanding PCI bus loading capacity
US6192434B1 (en) 1997-05-13 2001-02-20 Micron Electronics, Inc System for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6304929B1 (en) 1997-05-13 2001-10-16 Micron Electronics, Inc. Method for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6189109B1 (en) 1997-05-13 2001-02-13 Micron Electronics, Inc. Method of remote access and control of environmental conditions
US6418492B1 (en) 1997-05-13 2002-07-09 Micron Electronics Method for computer implemented hot-swap and hot-add
US6170028B1 (en) 1997-05-13 2001-01-02 Micron Electronics, Inc. Method for hot swapping a programmable network adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6247080B1 (en) 1997-05-13 2001-06-12 Micron Electronics, Inc. Method for the hot add of devices
US5892928A (en) 1997-05-13 1999-04-06 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a dynamically loaded adapter driver
US6243838B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Method for automatically reporting a system failure in a server
US6249828B1 (en) 1997-05-13 2001-06-19 Micron Electronics, Inc. Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver
EP0887740A1 (en) * 1997-06-19 1998-12-30 Canon Kabushiki Kaisha Device and method for communication between computer buses
JP3288261B2 (ja) * 1997-06-19 2002-06-04 甲府日本電気株式会社 キャッシュシステム
JP3264319B2 (ja) * 1997-06-30 2002-03-11 日本電気株式会社 バスブリッジ
DE19733526A1 (de) * 1997-08-02 1999-02-04 Philips Patentverwaltung Kommunikationssystem mit einer Schnittstelle
US6023748A (en) * 1997-09-12 2000-02-08 Adaptec, Inc. Multiple client memory arbitration system capable of operating multiple configuration types
US6065102A (en) * 1997-09-12 2000-05-16 Adaptec, Inc. Fault tolerant multiple client memory arbitration system capable of operating multiple configuration types
US6263387B1 (en) 1997-10-01 2001-07-17 Micron Electronics, Inc. System for automatically configuring a server after hot add of a device
US6175490B1 (en) 1997-10-01 2001-01-16 Micron Electronics, Inc. Fault tolerant computer system
US6199173B1 (en) 1997-10-01 2001-03-06 Micron Electronics, Inc. Method for mapping environmental resources to memory for program access
US6138179A (en) 1997-10-01 2000-10-24 Micron Electronics, Inc. System for automatically partitioning and formatting a primary hard disk for installing software in which selection of extended partition size is not related to size of hard disk
US6088816A (en) 1997-10-01 2000-07-11 Micron Electronics, Inc. Method of displaying system status
US6009541A (en) 1997-10-01 1999-12-28 Micron Electronics, Inc. Apparatus for performing an extensive diagnostic test in conjunction with a bios test routine
US6154835A (en) 1997-10-01 2000-11-28 Micron Electronics, Inc. Method for automatically configuring and formatting a computer system and installing software
US6065053A (en) 1997-10-01 2000-05-16 Micron Electronics, Inc. System for resetting a server
US6212585B1 (en) 1997-10-01 2001-04-03 Micron Electronics, Inc. Method of automatically configuring a server after hot add of a device
US6208772B1 (en) * 1997-10-17 2001-03-27 Acuity Imaging, Llc Data processing system for logically adjacent data samples such as image data in a machine vision system
EP0917066A3 (en) * 1997-11-14 2000-05-31 Compaq Computer Corporation Method and apparatus for concurrent data transfer in a PCI to PCI input output processor
US6178462B1 (en) * 1997-11-24 2001-01-23 International Business Machines Corporation Protocol for using a PCI interface for connecting networks
US6018810A (en) * 1997-12-12 2000-01-25 Compaq Computer Corporation Fault-tolerant interconnection means in a computer system
US6199127B1 (en) * 1997-12-24 2001-03-06 Intel Corporation Method and apparatus for throttling high priority memory accesses
USRE42761E1 (en) 1997-12-31 2011-09-27 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US5941972A (en) 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US6065085A (en) * 1998-01-27 2000-05-16 Lsi Logic Corporation Bus bridge architecture for a data processing system capable of sharing processing load among a plurality of devices
US7007126B2 (en) * 1998-02-13 2006-02-28 Intel Corporation Accessing a primary bus messaging unit from a secondary bus through a PCI bridge
EP0945807A1 (en) * 1998-03-27 1999-09-29 Hewlett-Packard Company Adress remapping for a bus
US6260093B1 (en) * 1998-03-31 2001-07-10 Lsi Logic Corporation Method and apparatus for arbitrating access to multiple buses in a data processing system
US6163835A (en) * 1998-07-06 2000-12-19 Motorola, Inc. Method and apparatus for transferring data over a processor interface bus
US6205503B1 (en) 1998-07-17 2001-03-20 Mallikarjunan Mahalingam Method for the hot swap and add of input/output platforms and devices
US6223234B1 (en) 1998-07-17 2001-04-24 Micron Electronics, Inc. Apparatus for the hot swap and add of input/output platforms and devices
US7734852B1 (en) * 1998-08-06 2010-06-08 Ahern Frank W Modular computer system
US6330632B1 (en) 1998-09-30 2001-12-11 Hewlett-Packard Company System for arbitrating access from multiple requestors to multiple shared resources over a shared communications link and giving preference for accessing idle shared resources
US6336158B1 (en) * 1998-10-30 2002-01-01 Intel Corporation Memory based I/O decode arrangement, and system and method using the same
US6247086B1 (en) * 1998-11-12 2001-06-12 Adaptec, Inc. PCI bridge for optimized command delivery
US6253304B1 (en) * 1999-01-04 2001-06-26 Advanced Micro Devices, Inc. Collation of interrupt control devices
US6339808B1 (en) 1999-01-04 2002-01-15 Advanced Micro Devices, Inc. Address space conversion to retain software compatibility in new architectures
US6360291B1 (en) * 1999-02-01 2002-03-19 Compaq Computer Corporation System and method for hiding peripheral devices in a computer system
US6301632B1 (en) * 1999-03-26 2001-10-09 Vlsi Technology, Inc. Direct memory access system and method to bridge PCI bus protocols and hitachi SH4 protocols
AU4482000A (en) * 1999-04-23 2000-11-10 Sony Electronics Inc. Method of and apparatus for implementing and sending an asynchronous control mechanism packet
TW413756B (en) * 1999-04-23 2000-12-01 Via Tech Inc PCI bus compatible master and residing arbiter and arbitration method
US6253250B1 (en) * 1999-06-28 2001-06-26 Telocity, Incorporated Method and apparatus for bridging a plurality of buses and handling of an exception event to provide bus isolation
GB2352064A (en) * 1999-07-13 2001-01-17 Thomson Training & Simulation Multi-processor system with PCI backplane
US6282626B1 (en) * 1999-07-15 2001-08-28 3Com Corporation No stall read access-method for hiding latency in processor memory accesses
US6687240B1 (en) * 1999-08-19 2004-02-03 International Business Machines Corporation Transaction routing system
US6625683B1 (en) * 1999-08-23 2003-09-23 Advanced Micro Devices, Inc. Automatic early PCI transaction retry
US6742074B2 (en) * 1999-08-31 2004-05-25 Micron Technology, Inc. Bus to system memory delayed read processing
US6510475B1 (en) * 1999-10-22 2003-01-21 Intel Corporation Data fetching control mechanism and method for fetching optimized data for bus devices behind host bridge
US6757762B1 (en) 1999-10-29 2004-06-29 Unisys Corporation Multi-mode processor bus bridge
KR100331633B1 (ko) * 1999-12-14 2002-04-09 이계안 무선 통신을 이용한 차량 속도 제어 장치 및 그 방법
US6611882B1 (en) * 1999-12-31 2003-08-26 Intel Corporation Inbound and outbound message passing between a host processor and I/O processor local memory
US6629157B1 (en) * 2000-01-04 2003-09-30 National Semiconductor Corporation System and method for virtualizing the configuration space of PCI devices in a processing system
US6636916B1 (en) 2000-02-14 2003-10-21 Hewlett-Packard Development Company, L.P. Assigning PCI device interrupts in a computer system
US6658545B1 (en) * 2000-02-16 2003-12-02 Lucent Technologies Inc. Passing internal bus data external to a completed system
US6732209B1 (en) * 2000-03-28 2004-05-04 Juniper Networks, Inc. Data rate division among a plurality of input queues
US20010048448A1 (en) 2000-04-06 2001-12-06 Raiz Gregory L. Focus state themeing
US6753885B2 (en) 2000-04-06 2004-06-22 Microsoft Corporation System and theme file format for creating visual styles
US6633996B1 (en) 2000-04-13 2003-10-14 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus architecture
WO2001079962A2 (en) * 2000-04-13 2001-10-25 Stratus Technologies International, S.A.R.L. Fault-tolerant maintenance bus, protocol, and method for using the same
US6708283B1 (en) 2000-04-13 2004-03-16 Stratus Technologies, Bermuda Ltd. System and method for operating a system with redundant peripheral bus controllers
US6691257B1 (en) 2000-04-13 2004-02-10 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus protocol and method for using the same
US6594719B1 (en) 2000-04-19 2003-07-15 Mobility Electronics Inc. Extended cardbus/pc card controller with split-bridge ™technology
US6970957B1 (en) * 2000-04-24 2005-11-29 Microsoft Corporation Dynamically configuring resources for cycle translation in a computer system
US7757272B1 (en) * 2000-06-14 2010-07-13 Verizon Corporate Services Group, Inc. Method and apparatus for dynamic mapping
US6407960B1 (en) * 2000-09-01 2002-06-18 Advanced Micro Devices Arrangement for programming selected device registers during initialization from an external memory
US6804737B2 (en) * 2000-12-26 2004-10-12 Lsi Logic Corporation Methods and systems for intelligent I/O controller with channel expandability via master/slave configuration
US6754749B1 (en) * 2001-01-22 2004-06-22 Sharewave, Inc. Multiple use integrated circuit for embedded systems
US6898740B2 (en) * 2001-01-25 2005-05-24 Hewlett-Packard Development Company, L.P. Computer system having configurable core logic chipset for connection to a fault-tolerant accelerated graphics port bus and peripheral component interconnect bus
US20020144037A1 (en) * 2001-03-29 2002-10-03 Bennett Joseph A. Data fetching mechanism and method for fetching data
US20020166004A1 (en) * 2001-05-02 2002-11-07 Kim Jason Seung-Min Method for implementing soft-DMA (software based direct memory access engine) for multiple processor systems
US6738887B2 (en) * 2001-07-17 2004-05-18 International Business Machines Corporation Method and system for concurrent updating of a microcontroller's program memory
JP4117123B2 (ja) * 2001-11-20 2008-07-16 株式会社日立製作所 コントローラ
US6883057B2 (en) * 2002-02-15 2005-04-19 International Business Machines Corporation Method and apparatus embedding PCI-to-PCI bridge functions in PCI devices using PCI configuration header type 0
US6968415B2 (en) * 2002-03-29 2005-11-22 International Business Machines Corporation Opaque memory region for I/O adapter transparent bridge
US6823421B2 (en) * 2002-04-19 2004-11-23 Intel Corporation Method, apparatus, and system for maintaining conflict-free memory address space for input/output memory subsystems
US20040122973A1 (en) * 2002-12-19 2004-06-24 Advanced Micro Devices, Inc. System and method for programming hyper transport routing tables on multiprocessor systems
US8805981B2 (en) * 2003-03-25 2014-08-12 Advanced Micro Devices, Inc. Computing system fabric and routing configuration and description
US7107382B2 (en) * 2003-04-03 2006-09-12 Emulex Design & Manufacturing Corporation Virtual peripheral component interconnect multiple-function device
US7281076B2 (en) * 2003-04-30 2007-10-09 Hewlett-Packard Development Company, L.P. Form factor converter and tester in an open architecture modular computing system
US20040230866A1 (en) * 2003-04-30 2004-11-18 Hewlett-Packard Development Company, L.P. Test system for testing components of an open architecture modular computing system
US20040243757A1 (en) * 2003-05-29 2004-12-02 Oliver Brett Douglas Connecting PCI buses
US8041915B1 (en) 2003-06-11 2011-10-18 Globalfoundries Inc. Faster memory access in non-unified memory access systems
US7054774B2 (en) * 2003-06-27 2006-05-30 Microsoft Corporation Midstream determination of varying bandwidth availability
US7644194B2 (en) * 2003-07-14 2010-01-05 Broadcom Corporation Method and system for addressing a plurality of Ethernet controllers integrated into a single chip which utilizes a single bus interface
US8805966B2 (en) 2003-07-28 2014-08-12 Limelight Networks, Inc. Rich content download
JP2005070993A (ja) * 2003-08-22 2005-03-17 Fujitsu Ltd 転送モード異常検出機能を有する装置並びにストレージ制御装置および同装置用インターフェイスモジュール
US7200687B2 (en) * 2003-09-25 2007-04-03 International Business Machines Coporation Location-based non-uniform allocation of memory resources in memory mapped input/output fabric
WO2005036344A2 (en) 2003-10-03 2005-04-21 Limelight Networks, Inc. Rich content download
US7721254B2 (en) 2003-10-24 2010-05-18 Microsoft Corporation Programming interface for a computer platform
US7039747B1 (en) * 2003-12-18 2006-05-02 Cisco Technology, Inc. Selective smart discards with prefetchable and controlled-prefetchable address space
US7363393B2 (en) * 2003-12-30 2008-04-22 Intel Corporation Chipset feature detection and configuration by an I/O device
US7162533B2 (en) 2004-04-30 2007-01-09 Microsoft Corporation Session description message extensions
US8146867B2 (en) * 2004-06-14 2012-04-03 Aeroastro, Inc. Modular spacecraft design architecture
KR100606163B1 (ko) * 2004-07-10 2006-08-01 삼성전자주식회사 디렉트 메모리 엑세스 장치, 디렉트 메모리 엑세스 장치를통한 데이터를 송수신하는 시스템 및 방법
JP4685414B2 (ja) * 2004-11-11 2011-05-18 三菱電機株式会社 バス転送装置
US9026744B2 (en) 2005-03-23 2015-05-05 Qualcomm Incorporated Enforcing strongly-ordered requests in a weakly-ordered processing
US20070073955A1 (en) * 2005-09-29 2007-03-29 Joseph Murray Multi-function PCI device
US20070088857A1 (en) * 2005-09-30 2007-04-19 Travis Schluessler Using sequestered memory for host software communications
US7917676B2 (en) 2006-03-10 2011-03-29 Qualcomm, Incorporated Efficient execution of memory barrier bus commands with order constrained memory accesses
US8726279B2 (en) * 2006-05-06 2014-05-13 Nvidia Corporation System for multi threaded multi processor sharing of asynchronous hardware units
US8290819B2 (en) 2006-06-29 2012-10-16 Microsoft Corporation Electronic commerce transactions over a peer-to-peer communications channel
US9229886B2 (en) 2010-04-30 2016-01-05 Hewlett Packard Enterprise Development Lp Management data transfer between processors
JP5483020B2 (ja) * 2010-10-13 2014-05-07 日本電気株式会社 通信制御装置、ネットワーク、及びネットワークシステム
RU2488161C1 (ru) * 2011-11-14 2013-07-20 Федеральное Государственное Бюджетное Образовательное Учреждение Высшего Профессионального Образования "Саратовский Государственный Университет Имени Н.Г. Чернышевского" Устройство перестановок и сдвигов битов данных в микропроцессорах
US9053248B2 (en) 2012-08-31 2015-06-09 Nxp B.V. SRAM handshake
US9244874B2 (en) 2013-06-14 2016-01-26 National Instruments Corporation Selectively transparent bridge for peripheral component interconnect express bus systems
US9389906B2 (en) 2013-12-23 2016-07-12 Intel Corporation Latency agnostic transaction buffer for request-grant protocols
US9965320B2 (en) * 2013-12-27 2018-05-08 Intel Corporation Processor with transactional capability and logging circuitry to report transactional operations
CN103823782B (zh) * 2014-03-06 2016-08-17 深圳市辰卓科技有限公司 一种iic桥接通讯方法、装置及系统
US10062354B2 (en) 2014-10-10 2018-08-28 DimensionalMechanics, Inc. System and methods for creating virtual environments
US10163420B2 (en) 2014-10-10 2018-12-25 DimensionalMechanics, Inc. System, apparatus and methods for adaptive data transport and optimization of application execution
US9619674B2 (en) 2014-12-12 2017-04-11 International Business Machines Corporation Access and protection of I2C interfaces
CN105068951B (zh) * 2015-07-27 2018-05-08 中国科学院自动化研究所 一种具有非等时传输结构的片上系统总线
CN105389275B (zh) * 2015-11-17 2018-02-06 无锡江南计算技术研究所 基于AMBA架构的虚拟PCIe‑PCI桥接系统
JP7126500B2 (ja) 2016-11-22 2022-08-26 エフ.ホフマン-ラ ロシュ アーゲー 抗体薬物コンジュゲート
US10120829B2 (en) * 2016-11-23 2018-11-06 Infineon Technologies Austria Ag Bus device with programmable address
US20210200692A1 (en) * 2017-06-20 2021-07-01 Hewlett-Packard Development Company, L.P. Signal combiner
US10395722B2 (en) 2017-09-29 2019-08-27 Intel Corporation Reading from a mode register having different read and write timing
JP7326863B2 (ja) * 2019-05-17 2023-08-16 オムロン株式会社 転送装置、情報処理装置、および、データ転送方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4935894A (en) * 1987-08-31 1990-06-19 Motorola, Inc. Multi-processor, multi-bus system with bus interface comprising FIFO register stocks for receiving and transmitting data and control information
WO1989007349A1 (en) * 1988-02-05 1989-08-10 Commodore-Amiga, Inc. Universal connector device
US4935868A (en) * 1988-11-28 1990-06-19 Ncr Corporation Multiple port bus interface controller with slave bus
US5664142A (en) * 1990-10-01 1997-09-02 International Business Machines Corporation Chained DMA devices for crossing common buses
US5353417A (en) * 1991-05-28 1994-10-04 International Business Machines Corp. Personal computer with bus interface controller coupled directly with local processor and input/output data buses and for anticipating memory control changes on arbitration for bus access
US5379384A (en) * 1992-06-05 1995-01-03 Intel Corporation Configuration data loopback in a bus bridge circuit
US5396602A (en) * 1993-05-28 1995-03-07 International Business Machines Corp. Arbitration logic for multiple bus computer system
US5398244A (en) * 1993-07-16 1995-03-14 Intel Corporation Method and apparatus for reduced latency in hold bus cycles
US5548730A (en) * 1994-09-20 1996-08-20 Intel Corporation Intelligent bus bridge for input/output subsystems in a computer system

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100353347C (zh) * 2002-11-25 2007-12-05 杭州士兰微电子股份有限公司 一种实现pci多功能卡的方法
CN100336043C (zh) * 2002-12-31 2007-09-05 英特尔公司 提高光学存储转移性能的装置、系统和方法
CN1645347B (zh) * 2004-11-15 2010-04-21 威盛电子股份有限公司 动态调整高速周边元件连接接口的根端口传输资料的方法
US10417172B2 (en) 2014-04-28 2019-09-17 Qualcomm Incorporated Sensors global bus
US10482057B2 (en) 2014-04-28 2019-11-19 Qualcomm Incorporated Multi-protocol dynamic address allocation
CN106255964A (zh) * 2014-04-28 2016-12-21 高通股份有限公司 传感器全局总线
US10452603B2 (en) 2014-04-28 2019-10-22 Qualcomm Incorporated Sensors global bus
CN106255964B (zh) * 2014-04-28 2019-04-12 高通股份有限公司 传感器全局总线
CN105354167A (zh) * 2015-11-17 2016-02-24 无锡江南计算技术研究所 一种pci桥次级总线复位的缓冲排空方法
CN105354167B (zh) * 2015-11-17 2018-01-19 无锡江南计算技术研究所 一种pci桥次级总线复位的缓冲排空方法
CN108733594A (zh) * 2017-04-13 2018-11-02 慧荣科技股份有限公司 存储器控制器与数据储存装置
CN108733594B (zh) * 2017-04-13 2020-06-02 慧荣科技股份有限公司 存储器控制器与数据储存装置
US10866736B2 (en) 2017-04-13 2020-12-15 Silicon Motion, Inc. Memory controller and data processing circuit with improved system efficiency
CN114138702A (zh) * 2022-01-29 2022-03-04 阿里云计算有限公司 计算系统、pci设备管理器及其初始化方法
CN114138702B (zh) * 2022-01-29 2022-06-14 阿里云计算有限公司 计算系统、pci设备管理器及其初始化方法
CN116909639A (zh) * 2023-09-13 2023-10-20 珠海星云智联科技有限公司 一种挂载系统、方法、集群以及存储介质
CN116909639B (zh) * 2023-09-13 2023-12-12 珠海星云智联科技有限公司 一种挂载系统、方法、集群以及存储介质

Also Published As

Publication number Publication date
US5884027A (en) 1999-03-16
EP0834135A4 (en) 2001-09-12
AU6334496A (en) 1997-01-15
EP0834135B1 (en) 2003-01-02
CN1137442C (zh) 2004-02-04
KR19990022950A (ko) 1999-03-25
EP0834135A1 (en) 1998-04-08
WO1997000480A1 (en) 1997-01-03
RU2157000C2 (ru) 2000-09-27
JPH11513150A (ja) 1999-11-09
KR100263277B1 (ko) 2000-08-01
DE69625597D1 (de) 2003-02-06

Similar Documents

Publication Publication Date Title
CN1137442C (zh) 集成pci至pci桥的i/o处理器的体系结构
CN1130644C (zh) 一种在具有多系统总线的计算机系统中保持存储器相关性的系统和方法
CN1192314C (zh) 并行处理器结构的sram控制器
CN1021380C (zh) 计算系统的命令传递
CN1117316C (zh) 采用多个向量寄存器组的单指令多数据处理方法及其装置
CN1298520A (zh) 按照层结构具有二维或多维可编程序的单元结构(FPGAs、DPGAs等)的数据流处理器和模块的高速缓存配置数据方法
CN1922576A (zh) 操作系统
CN102650976B (zh) 一种支持单根io虚拟化用户级接口控制装置及其方法
CN1112635C (zh) 多媒体信号处理器中的单指令多数据处理方法及其装置
CN1547704A (zh) 支持老式中断的通用输入/输出体系结构、协议和方法
US5913045A (en) Programmable PCI interrupt routing mechanism
CN1387644A (zh) 并行处理器体系结构的sdram控制器
CN1547706A (zh) 提供同步信道的通用输入/输出体系结构、协议和方法
CN1916877A (zh) 在处理器与存储器流控制器间传送命令参数的系统和方法
CN101052949A (zh) 操作系统
CN1218565A (zh) 多路径fifo库缓冲器以及总线传送控制系统
CN1387641A (zh) 并行处理器中的多线程执行
CN1076378A (zh) 用于电视游戏系统等具有可编程图形处理器的外部存储系统
CN1711524A (zh) 在安全模式和非安全模式间切换的处理器
CN1189058A (zh) 视频数据处理方法及装置
CN1378665A (zh) 编程概念
CN1402846A (zh) 用于多线程处理器的转移指令
US5864688A (en) Apparatus and method for positively and subtractively decoding addresses on a bus
CN1613223A (zh) 增强型通用输入/输出体系结构中的差错转发及有关方法
CN1723448A (zh) 用于保护以防恶意程序的安全存储器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20040204

EXPY Termination of patent right or utility model