电桥、处理器单元、信息处理装置以及存取控制方法

文档序号:6618578阅读:215来源:国知局
专利名称:电桥、处理器单元、信息处理装置以及存取控制方法
技术领域
本发明涉及从连接到处理器单元的周边设备向处理器单元的存取技术。
技术背景个人计算机或月良务器中,例如通过PCI ( Peripheral Component Interconnect)总线而被连接各种周边设备,从而构成信息处理系统。在从周边设备向处理器的存储器进行存取时,为了减轻处理器的负担, 考虑使用DMA (直接存储器存取)结构。这样,例如在处理器的存储器区域 中,预先分配各个周边设备所使用的区域,周边设备可以直接存取分配给自 己的区域。发明内容但是,为了实现来自周边设备的直接存取,将处理器的DMAC (直接存 储器存取控制器)对用户软件开放的话,有可能造成分配给周边设备的区域 被恶意的某一用户软件存取。本发明是鉴于上述情况而完成的,其目的在于提供一种技术,在从周边 设备到处理器的存储器的存取中,可以追求高效率地实现安全性。本发明的一个方式是电桥。该电桥(bridge)是将处理器单元的输入输出 总线和周边设备的输入输出总线进行中继的电桥,包括上游端口、识别信息 变换单元以及下游端口。上游端口从周边设备接受存取请求分组,所述存取请求分组是可指定在分组,具有可唯一地识别该周边i殳备的设备识别信息。识别信息变换单元,从所述存取请求分组中所包含的所述设备识别信息 中,获得用于与存取源识别信息进行核对的核对信息,获得包括了该核对信 息和由所述存取请求分组所指定的有效地址的存取指令,所述存取源识别信 息规定用于在所述处理器单元中识别存取源,所述存取源在所述处理器单元的存储器中已被授-许可存取。下游端口,向所述处理器单元转送所述存取指令,所述处理器单 元在参照表而将有效地址变换为物理地址时,以所述存取指令中所包含的核 对信息,和所述地址变换表中的、与该存取指令中所包含的有效地址对应的 存取源识别信息一致作为条件,决定对于所述有效地址的许可存取,所述表 是用于将有效地址变换为物理地址的地址变换表,且相关联地存储了在所述应于该有效地址的存取源识别信息。此外,也可以是,处理器单元的存储器被分为多个段,该多个段被进一 步分别分为多页,地址变换表将段号和页号的组合与存取源识别信息相关联 地存储,识别信息变换单元将设备识别信息的一部分与存取源识别信息相关 联,同时将其他部分与段号和页号相关联,获得存取指令。本发明的其他方式是处理器单元。该处理器单元通过将周边设备的输入 输出总线中继到处理器单元的输入输出总线的电桥,与周边设备连接。该处理器单元具有存储器和地址变换单元。述表相关联地存储了在所述存储器中分别分配给各个所述周边设备的区域的 有效地址和存取源识别信息,所述存取源识别信息规定用于在所述处理器单 元中识别已^皮授予了对于该有效地址的许可存取的存取源。地址变换单元通 过电桥,以设备识别信息和与所述地址变换表中的、所述存取指令中所包含 的有效地址对应的存取源识别信息一致作为条件,决定对于所述有效地址的 存取许可,所述设备识别信息是将从所述周边设备发出的存取请求分组进行 变换所获得的存取指令中包含的设备识别信息,可唯一地识别该周边设备。另外,以上的结构要素的任意的组合,将本发明的表现方式在方法、装 置、系统、计算机程序、存储了计算机程序的存储介质等之间相互置换所得 到的表现方式也作为本发明的方式而有效。发明效果本发明在从连接到处理器单元的周边设备到处理器单元的存储器的存取 中,可以追求高效率并实现安全性。


图1是表示用于本发明的概要说明的信息处理系统的图。 图2是表示存取请求分组的例子(之1 )的图。图3是表示用于将有效地址变换为物理地址的地址变换表的例子(之1 )的图。图4是表示用于将有效地址变换为物理地址的地址变换表的例子(之2 )的图。图5是表示存取请求分组的例子(之2)的图。图6是表示将图5所示的存取请求分组变换所获得的存取指令的图。图7是表示本发明的实施方式的信息处理系统的结构的图。图8是表示图7所示的信息处理系统中的电桥的结构例子的图。图9是表示可适用本发明的技术思想的分散应用系统的例子的图。标号i兌明10处理器单元、14地址变换单元、16地址变换表、18地址变换表、 20电桥、30周边设备、32存取请求分组、34存取请求分组、100PCI设备、 110电桥、112第1输入输出单元、114电桥控制器、118第2输入输出单 元、120多核控制器、130SPE、 132核心、134本地存储器、136MFC、 138 DMAC、 140 PPE 、 142核心、144高速緩沖存储器、145高速緩冲存储器、 146 MFC、 148DMAC、 150环形总线、160IOIF、 16410控制器、170存储 器控制器、180主存储器、200节点具体实施方式
在说明本发明的实施方式的细节之前,首先说明本发明者所提案的技术 的概要。考虑图1所示的信息处理系统。该信息处理系统具有处理器单元10和多 个周边设备30,在这里作为例子具有两个周边设备30,处理器单元10和周 边设备30通过电桥20而连接。处理器单元IO可以是具有单一的处理器的单 处理器系统,也可以是包括多个处理器的多处理器系统。另外,处理器单元 IO包括未图示的存储器,在多处理器系统的情况下,该存储器是可以从各个 处理器存取的共享存储器。此外,处理器单元10具有地址变换单元14,对 于其细节在后名又述。周边设备30在对处理器单元10的存储器进行存取时,发出存取请求分组。该存取请求分组是可指定周边设备30的存取目的地的存储器区域的有效 地址的分组,包括周边设备30的设备识别信息。图2表示存取请求分组的例子。这里,有效地址是表示有效地址空间内的规定的位置的地址。而且,有 效地址空间是指,使从处理器单元IO具有的存储器中部分分出的存储器空间 的一部分之间集合、进行结合所得的空间。通过使有效地址空间的内部结构 最佳,在处理器单元10中动作的应用程序能够以最高性能(performance)动作。图2所示的例子的存取请求分组32包括设备识别信息和有效地址。设备 识别信息是,在图1所示的信息处理系统中可唯一地识别周边设备30的信息, 例如可以是周边设备所连接的总线的号等可确定周边设备的物理位置的信 息,或表示周边设备的种类等的信息。此外,为了实现信息处理系统的功能 扩展或性能强化,从而要求将图形处理器或高速的存储器设备作为周边设备 而连接,并且能够连接更多的周边设备,在这样的背景下,也有在电桥之前 多级连接开关,从而构成设备的网络。在这个情况下,设备识别信息还包括 开关号码。以下,为了便于说明,将设备识别信息称为请求者ID。处理器单元10的地址变换单元14通过将存取请求分组32中所包含的有 效地址变换为存储器的物理地址,从而可以进行由发出了存取请求分组的周 边设备30对存储器的存取。这里,说明地址变换单元14。地址变换单元14使用图3所示的地址变换表16进行地址的变换。在处理器单元10的存储器中,预先分配各个周边设备30所使用的区域, 地址变换表16将存取源识别信息(以下,称为IOID)和有效地址以及物理 地址相关联地存储,所述存取源识别信息在处理器单元10中识别对于该各个 区域已许可存取的存取源,所述有效地址表示与上述区域对应的有效地址空 间中的区域(以下,称为有效区域),所述物理地址表示在物理地址空间中的 所述区域(以下,称为物理区域)。另外, 一个IOID对应于一个以上的有效 地址。在将存取请求分组32中所包含的有效地址变换为物理地址时,地址变换 单元14首先使用存取请求分组32中所包含的请求者ID和地址变换表16中 的IOID进行核对。具体地说,核对地址变换表16中的、与存取请求分组32 中所包含的有效地址对应的IOID是否与请求者ID—致。核对的结果,如果一致,则许可存取,并将该有效地址变换为对应的物理地址,另一方面,如 果不一致,则将错误返回,拒绝存取。由此,实现从周边设备30到处理器单元10的存储器中分配给该周边设备30的区域的直接存取。与此同时,周边设备无法存取对自己分配的区域以 外的区域,所以即使对用户软件开放在处理器单元10中未图示的DMAC, 也能够防止恶意的某一设备或用户软件存取对周边设备30所分配的存储器 区域,所以是安全的。另一方面,在很多情况下,处理器单元的输入输出总线和周边设备的输 入输出总线的标准不同。因此,使用将周边设备的输入输出总线中继到处理 器单元的输入输出总线的电桥。在这种情况下,因标准的制约而通常请求者 ID的位数和IOID的位数不同,在IOID的位数少于请求者ID的位数时产生 问题。因此,代替直接将请求者ID与IOID进行核对,如果通过电桥,将请求 者ID与IOID进行核对,以使请求者ID的位数与IOID的位数一致,则即使 在这样的情况下,也可以实现利用IOID的存储器的保护。对此,本发明者提出以下技术。这里,也利用图l所示的信息处理系统 进行说明。在这个情况下,处理器单元10的地址变换单元14使用图4所示的地址 变换表18。如图所示,IOID与段号和页号的组合相对应地存储。处理器单元10的存储器被分为多个段,各个段被进一步分为多页。段号 和页号的组合表示有效区域。地址变换表18对段中所包含的每一页映射物理地址,同时表示是否许可 基于IOID的存取。图5表示在这种情况下,从周边设备30发出的存取请求分组的例子。该 例子的存取请求分组34包括请求者ID和存取目的地的存储器区域中的偏移。电桥20将存耳又请求分组34变换为包括IOID和有效地址的存取指令。 具体地说,将存取请求分组34中所包含的请求者ID的 一部分例如低位的、 相当于IOID的位数的位与IOID相关联,同时将其他部分例如高位的位与段 号和页号相关联。图6表示通过电桥20所获得的存取指令。存取指令包括段号、页号、 IOID以及偏移。处理器单元IO的地址变换单元14在将来自电桥20的存取指令中所包含 的有效地址(这里是,段号、页号、偏移的组合)变换为物理地址时,首先 将存取指令中所包含的IOID与地址变换表18中的IOID进行核对。具体地 说,核对在地址变换表18中的、与存取指令中所包含的段号和页号的组合对 应的IOID与存取指令中所包含的IOID是否一致。核对的结构,如果一致, 则许可存取,并将存取指令中所包含的有效地址变换为对应的物理地址,另 一方面,如果不一致,则将错误返回,拒绝存取。这样,即使在周边设备的请求者ID的位数多于处理器单元10的地址变 换单元14所使用的IOID的位数的情况下,也可以实现利用IOID的存储器 的保护。以下,对于本发明的实施方式,将以上的才既要具体化地说明系统。图7是表示本发明的实施方式的信息处理系统的结构。该信息处理系统 具有连接多个周边设备例如PCI设备100、多核处理器120、主存储器180、 PCI设备100和多核处理器120的电桥110。多核处理器120和主存储器180 构成一个处理器单元。作为PCI设备100的连接接口,使用PCI总线。这里,PCI总线可以是 PCI、 PCIX、 PCI Express (注册商标)的任一种规格。多核处理器120形成为单片,包括主处理单元PPE ( Power Processing Element) 140;多个(在图示的例子中是8个)副处理单元SPE (Synergistic Processing Element) 130; IO接口 (以下,称为IOIF ) 160;以及存储器控制 器170,它们通过环形总线(ringbus) 150而连接。主存储器180是多核处理器120的各处理单元的共享存储器,并与存储 器控制器170连接。另外,主存储器180被分为多个段,各段进一步被分为 多页。存储器控制器170作为PPE140以及各SPE130对主存储器180进行存取 的媒介。另外,在图7所示的例子中,主存储器180设置在多核处理器120 的外部,但也可以设置在多核处理器120的内部。10IF60通过未图示的IOIF总线与电桥110连接,可以与电桥110协同动 作,从PCI设备100对主存储器180进行存取。IOIF160包括IO控制器164。SPE130包括核心132、本地存储器134以及存储流控制器(以下,称为 MFC) 136, MFC136包括DMAC (直接存储器存取控制器)138。另外,本地存储器134最好不是以往的硬盘高速緩冲存储器,它不具有用于实现硬盘高速緩冲存储器功能的、设置在芯片内部或芯片外部的硬盘高速緩冲电路、 高速緩冲寄存器以及高速緩沖存储器控制器等。PPE140包括核心142、 Ll高速緩沖存储器144、 L2高速緩冲存储器145 以及MFC 146 , MFC 146包括DMAC148 。通常,多核处理器120的操作系统(以下,也称为OS)在PPE140中进 行动作,并基于OS的基本处理,决定在各个SPE130中进行动作的程序。此 外,在SPE130中动作的程序可以是成为OS的一部分功能的程序(例如设备 驱动或系统程序的一部分等)。另外,PPE140和SPE130的命令集(set)结 构具有不同的命令集。在图7所示的信息处理系统的初始化时,多核处理器120的设备驱动器 进行设备的搜索,从而取得各个PCI设备100的请求者ID。在这个例子中, 根据PCI标准,请求者ID的位数决定为16位。因此,多核处理器120的OS 取得各PCI设备100可利用的段和各PCI设备100的IOID。这里,根据多核 处理器120的规格,IOID的位数例如是11位,OS取得请求者ID的低位的 11位作为IOID。接着,OS根据对于PCI设备100的存储器分配请求,对于段生成页条 目(entry )。这里,可选^t奪页的大小。通过这种分配,生成图4所示的地址变 换表18。 OS将该地址变换表18存储在主存储器180中,由此,可以从PCI 设备100对主存储器180进行存取。PCI设备100在对主存储器180进行存取时,发出存取请求分组。这里, 作为该存取请求分組,使用图5所示的存取请求分组34。图8表示电桥110的结构。电桥110包括第1输入输出单元112、电桥 控制器114以及第2输入输出单元118。第1输入输出单元112接受由PCI设备100所发出的存取请求分组,电 桥控制器114将该存取请求分组变换为存取指令。接着,第2输入输出单元 118将该存取指令转送到多核处理器120的IOIF160。电桥控制器114取得存取请求分组中所包含的PCI设备100的请求者ID 的低位的11位作为IOID,将请求者ID的高位的5位与段号和页号相关联。 通过这个变换,获得图6所示的存取指令。IOIF160的IO控制器164参照图4所示的地址变换表18,将从电桥110转送的存取指令中所包含的有效地址(段号、页号、偏移的组合)变换为主存储器180中的物理地址。在页的大小为4KB时,36位的存取指令的各个位 被如下规定[34: 28]=段、[27: 12]=页、Address[ll: 0]=偏移。在变换时,IO控制器164首先参照变换表,对存取指令中所包含的段号、 页号观察是否被许可存取。例如在与表示"段=1、页=2、偏移=0"的存取指 令一起接收的IOID为C的情况下,因地址变换表18将C作为对段=1、页=2 许可存取的IOID来相关联,所以IO控制器164许可对与"段=1、页=2"对 应的物理地址d的存取。另一方面,在与表示"段=127、页=1、偏移=0"的 存取指令一起接收的IOID为C的情况下,因变换表将D作为对段二127、页 =1许可存取的IOID来相关联,所以IO控制器164将错误返回,从而拒绝存 取。以上,基于实施方式说明了本发明。但本领域的技术人员应该了解实施 方式只是例示,这些各结构要素或各个处理步骤的组合可以有各种变形例, 而且这样的变形例也属于本发明的范围。例如,在图7所示的信息处理系统中,周边设备是PCI设备100,但也 可以使用PCI标准以外的周边设备。此外,可以将本发明的技术思想应用于,网络上的多个节点可并行地处 理相同的应用的分散应用系统中,通过将设备识别信息替换为应用识别信息,在各个节点上对于该应用所分配的存储器空间的保护。具体地说,例如在图 9所示的分散处理应用系统中,各节点200包括处理器单元和存储器。对动 作中的每个应用,赋予可唯一地识别该应用的应用识别信息,同时在各节点 200的存储器中,对动作中的每个应用,分配该应用可使用的区域。在从存 取源的节点200到存取目的地的节点200进行存取时,在存取请求分组中附 加应用识别信息。在存取目的地的节点200中,将存取请求分组中所包含的 有效地址变换为物理地址时,根据应用识别信息,决定是否许可对于该有效 地址的存取。这样,在网络上的不同的节点中动作的相同的应用,在相互的 节点中,可以存取对于该应用所分配的区域,同时可以防止^皮其他的应用存 取自己的区;或。工业上的可利用性本发明可适用于从周边设备到处理器的存储器的存取技术。
权利要求
1.一种信息处理装置,其处理器单元和周边设备相互连接,其特征在于,所述处理器单元包括地址变换单元,所述地址变换单元具有用于将有效地址变换为物理地址的地址变换表,该表相关联地存储了在该处理器单元的存储器中分别分配给各个所述周边设备的区域的有效地址和存取源识别信息,所述存取源识别信息规定用于在该处理器单元中识别已被授予了对于该有效地址的存取许可的存取源,所述周边设备发出存取请求分组,所述存取请求分组是在对所述存储器进行存取时,可指定对应于该周边设备的所述有效地址的存取请求分组,并且具有可唯一地识别该周边设备的设备识别信息,所述地址变换单元以所述存取请求分组中所包含的设备识别信息,和所述地址变换表中的、与由该地址请求分组所指定的有效地址对应的存取源识别信息一致作为条件,决定对于该有效地址的存取许可。
2. 如权利要求1所述的信息处理装置,其特征在于, 所述处理器单元和周边设备通过将各个所述周边设备的输入输出总线中继到所述处理器单元的输入输出总线的电桥而连接,在所述设备识别信息和所述存取源识别信息的位数不同的情况下,所述 电桥将在所述存取请求分组中所包含的设备识别信息与存取源识别信息相关 联。
3. 如权利要求2所述的信息处理装置,其特征在于, 所述处理器单元的存储器被分为多个段,该多个段被进一步分别分为多页,所述地址变换表是将段号和页号的组合与所述存取源识别信息相关联地 存储的表,所述电桥将所述设备识别信息的一部分与存取源识别信息相关联,同时 将其他部分与段号和页号相关联。
4. 一种电桥,将周边设备的输入输出总线中继到处理器单元的输入输出 总线,其特征在于,包括上游端口,从所述周边设备接受存取请求分组,所述存取请求分组是可 指定在该处理器单元的存储器中对该周边设备所分配的区域的有效地址的存取请求分组,具有可唯一地识别该周边设备的设备识别信息;识別信息变换单元,从所述存取请求分组中所包含的所述设备识别信息 中,获得用于与存取源识别信息进行核对的核对信息,获得包括了该核对信 息和由所述存取请求分组所指定的有效地址的存取指令,所述存取源识别信 息规定用于在所述处理器单元中识别存取源,所述存取源在所述处理器单元许可存取;以及下游端口,向所述处理器单元转送所述存取指令,所述处理器单元在参 照表而将有效地址变换为物理地址时,以所述存取指令中所包含的核对信息, 和所述地址变换表中的、与该存取指令中所包含的有效地址对应的存取源识 别信息一致作为条件,决定对于所述有效地址的许可存取,所述表是用于将 有效地址变换为物理地址的地址变换表,且相关联地存储了在所述处理器单效地址的存fo原识别信息。
5. 如权利要求4所述的电桥,其特征在于,所述处理器单元的存储器被分为多个段,该多个段被进一步分别分为多页,所述地址变换表是将段号和页号的组合与所述存取源识别信息相关联地 存储的表,通过将所述设备识别信息的一部分与存取源识别信息相关联,同时将其 他部分与段号和页号相关联,获得所述存取指令。
6. —种处理器单元,通过将周边设备的输入输出总线中继到处理器单元 的输入输出总线的电桥而与所述周边设备连接,其特征在于,包括存储器;以及地址变换单元,具有用于将有效地址变换为物理地址的地址变换表,所 述表相关联地存储了在所述存储器中分别分配给各个所述周边设备的区域的 有效地址和存取源识别信息,所述存取源识别信息规定用于在所述处理器单 元中识别已被授予了对于该有效地址的许可存取的存取源,所述地址变换单元通过电桥,以设备识别信息和与所述地址变换表中的、 所述存取指令中所包含的有效地址对应的存取源识别信息一致作为条件,决 定对于所述有效地址的存取许可,所述设备识别信息是将从所述周边设备发出的存取请求分组进行变换所获得的存取指令中包含的设备识别信息,可唯 一地识别该周边设备。
7. 如权利要求6所述的处理器单元,其特征在于, 所述处理器单元的存储器被分为多个段,该多个段被进一步分别分为多页,所述地址变换表是将段号和页号的组合与所述存取源识别信息相关联地 存储的表,通过所述电桥,从所述设备识别信息的一部分获得用于与存取源识别信 息进行核对的核对信息,同时将其他部分与段号和页号相关联而获得所述存 取指令。
8. —种信息处理装置中的存取控制方法,该信息处理装置的处理器单元 和周边设备通过将所述周边设备的输入输出总线中继到所述处理器单元的输 入输出总线的电桥而连接,其特征在于,该方法包括从所述周边设备接受存取请求分组的步骤,所述存取请求分组可指定在一地识别该周边设备的设备识别信息;以及参照用于将有效地址变换为物理地址的地址变换表,决定对于有效地址别分配给各个所述周边设备的区域的有效地址和对应于该有效地址的存取源 识别信息,所述处理器单元以所述存取指令中所包含的核对信息,和所述地 址变换表中的、与该存取指令中所包含的有效地址对应的存取源识别信息一 致作为条件,决定对于所述有效地址的许可存取。
9. 如权利要求8所述的存取控制方法,其特征在于,还包括 在所述设备识别信息和所述存取源识别信息的位数不同的情况下,将所述设备识别信息与所述存取源识别信息相关联的步骤。
10. 如权利要求9所述的存取控制方法,其特征在于, 所述处理器单元的存储器被分为多个段,该多个段被进一步分别分为多页,所述地址变换表是将段号和页号的组合与所述存取源识别信息相关联地 存储的表,将所述设备识别信息与所述存取源识别信息相关联的步骤还包括将所述设备识别信息的一部分与存取源识别信息相关联,同时将其他部分与段号 和页号相关联的步骤。
全文摘要
提供一种存取技术,在从周边设备对处理器的存储器进行存取中,可以追求高效率并实现安全性。地址变换单元(14)包括地址变换表,该地址变换表用于将有效地址变换为物理地址。地址变换表在处理器单元(10)的存储器中将分配给各个周边设备(30)的区域的有效地址、和被提供了对该有效地址的存取许可的存取源识别信息相关联地存储。在从周边设备(30)被存取时,地址变换单元(14)以存取请求分组中所包含的、可唯一地识别该周边设备(30)的设备识别信息,和地址变换表中的、与由该地址请求分组所指定的有效地址对应的存取源识别信息一致作为条件,决定对于该有效地址的存取许可。
文档编号G06F12/10GK101326501SQ20078000063
公开日2008年12月17日 申请日期2007年1月11日 优先权日2006年4月6日
发明者三林秀树, 山崎刚, 斋藤英幸, 高桥佑治 申请人:索尼株式会社;索尼计算机娱乐公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1