[go: up one dir, main page]

WO2007129482A1 - ブリッジ、プロセッサユニット、情報処理装置およびアクセス制御方法 - Google Patents

ブリッジ、プロセッサユニット、情報処理装置およびアクセス制御方法 Download PDF

Info

Publication number
WO2007129482A1
WO2007129482A1 PCT/JP2007/050265 JP2007050265W WO2007129482A1 WO 2007129482 A1 WO2007129482 A1 WO 2007129482A1 JP 2007050265 W JP2007050265 W JP 2007050265W WO 2007129482 A1 WO2007129482 A1 WO 2007129482A1
Authority
WO
WIPO (PCT)
Prior art keywords
access
identification information
address
processor unit
effective address
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.)
Ceased
Application number
PCT/JP2007/050265
Other languages
English (en)
French (fr)
Inventor
Hideyuki Saito
Takeshi Yamazaki
Yuji Takahashi
Hideki Mitsubayashi
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.)
Sony Interactive Entertainment Inc
Sony Corp
Original Assignee
Sony Corp
Sony Computer Entertainment Inc
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 Sony Corp, Sony Computer Entertainment Inc filed Critical Sony Corp
Priority to JP2007533803A priority Critical patent/JP4219964B2/ja
Priority to US11/914,170 priority patent/US8006000B2/en
Priority to AT07706612T priority patent/ATE516547T1/de
Priority to CN2007800006330A priority patent/CN101326501B/zh
Priority to EP07706612A priority patent/EP1903443B1/en
Publication of WO2007129482A1 publication Critical patent/WO2007129482A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • G06F12/1475Key-lock mechanism in a virtual system, e.g. with translation means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]

Definitions

  • the present invention relates to a technology for accessing a processor unit from a peripheral device connected to the processor unit.
  • Peripheral Component Interconnect Peripheral Component Interconnect
  • DMA direct memory access
  • DMAC Direct Memory Access Controller
  • the present invention has been made in view of the above circumstances, and an object of the present invention is to provide a technique capable of ensuring safety while pursuing efficiency in accessing a processor memory from a peripheral device. There is.
  • One embodiment of the present invention is a bridge.
  • This bridge relays the input / output bus of the processor unit and the input / output nodes of the peripheral devices, and has an upstream port, an identification information conversion unit, and a downstream port.
  • the upstream port is an access request packet that can specify an effective address of an area allocated to the peripheral device in the memory of the processor unit from the peripheral device, and is a device that can uniquely identify the peripheral device An access request packet having identification information is received.
  • the identification information conversion unit is given permission to access the effective address of the area allocated to each peripheral device in the memory of the processor unit from the device identification information included in the access request packet.
  • a verification information for verifying the access source with the access source identification information specified to identify the access source with the processor unit is obtained, and an access including the verification information and an effective address specified by the access request packet is obtained. Get the command.
  • the downstream port is an address conversion table for converting an effective address into a physical address. The effective address of the area allocated to each peripheral device in the memory of the processor unit, and the effective address.
  • the effective address When the effective address is converted into a physical address with reference to the table that stores the access source identification information corresponding to the access command, the matching information included in the access command and the access command in the address conversion table On the condition that the access source identification information corresponding to the included effective address matches, the access command obtained by the identification information conversion unit is passed to the processor unit that determines permission of access to the effective address.
  • the memory of the processor unit is divided into a plurality of segments, and the plurality of segments are further divided into a plurality of pages, respectively, and the address conversion table indicates a combination of a segment number and a page number.
  • the identification information conversion unit associates part of the device identification information with the access source identification information and associates the other part with the segment number and page number. You can get an access command.
  • Another aspect of the present invention is a processor unit.
  • This processor unit is connected to the peripheral device by a bridge that relays the input / output bus of the peripheral device to the input / output bus of the processor unit.
  • the processor unit includes a memory and an address conversion unit.
  • the address conversion unit is an address conversion table for converting an effective address into a physical address.
  • the access source defined to identify the effective address of the area allocated to each peripheral device in the memory and the access source that is permitted to access the effective address in the processor unit It has a table that stores identification information in association with it.
  • the address translation unit is device identification information included in an access command obtained by translating an access request packet whose peripheral device power is also issued by the bridge, and device identification information that can uniquely identify the peripheral device; On the condition that the access source identification information corresponding to the effective address included in the access command in the address conversion table matches, access permission to the effective address is determined.
  • the present invention can achieve safety while pursuing efficiency in accessing the memory of the processor unit from a peripheral device connected to the processor unit.
  • FIG. 1 is a diagram showing an information processing system used for explaining the outline of the present invention.
  • FIG. 2 shows an example (part 1) of an access request packet.
  • FIG. 5 is a diagram showing an example (part 2) of an access request packet.
  • FIG. 6 is a diagram showing an access command obtained by converting the access request packet shown in FIG.
  • FIG. 7 is a diagram showing a configuration of an information processing system according to an embodiment of the present invention.
  • FIG. 8 is a diagram showing a configuration example of a bridge in the information processing system shown in FIG.
  • FIG. 9 is a diagram showing an example of a distributed application system to which the technical idea of the present invention can be applied. is there.
  • processor unit 14 address conversion unit, 16 address conversion table, 18 address conversion table, 20 bridge, 30 peripheral device, 32 access request packet, 34 access request packet, 100 PCI device, 110 bridge, 112 1st I / O section, 114 bridge controller, 118 second I / O section, 120 multi-core processor, 130 SPE, 132 core, 134 local memory, 136 MFC, 138 DMAC, 140 PPE, 142 core, 144 cache, 145 cache, 146 MFC, 148 DMAC, 150 ring node, 160 IOIF, 164 IO controller, 170 memory controller, 180 main memory, 200 nodes.
  • This information processing system has a processor unit 10 and a plurality of peripheral devices 30 here as an example, and the processor unit 10 and the peripheral devices 30 are connected by a bridge 20.
  • the processor unit 10 may be a single processor system having a single processor or a multiprocessor system including a plurality of processors.
  • the processor unit 10 includes a memory (not shown), and in the case of a multiprocessor system, this memory is a shared memory accessible from each processor. Further, the processor unit 10 has an address conversion unit 14, the details of which will be described later.
  • the peripheral device 30 issues an access request packet when accessing the memory of the processor unit 10.
  • This access request packet can specify the effective address of the memory area to be accessed by the peripheral device 30 and includes device identification information of the peripheral device 30.
  • Figure 2 shows an example of an access request packet.
  • the effective address is an address indicating a predetermined position in the effective address space.
  • the effective address space is a combination of a part of memory spaces partially cut from the memory included in the processor unit 10 and combined. Effective address space By optimizing the internal configuration, the application program running on the processor unit 10 can run at maximum performance.
  • the access request packet 32 in the example shown in FIG. 2 includes device identification information and an effective address.
  • the device identification information is information that can uniquely identify the peripheral device 30 in the information processing system shown in FIG. 1. For example, information that can identify the physical position of the peripheral device, such as the bus number to which the peripheral device is connected. And information indicating the type of peripheral device.
  • graphic processors and high-speed memory devices are sometimes connected as peripheral devices, and it is required to allow more peripheral devices to be connected.
  • a network of devices may be configured by connecting multiple stages of switches at the end of the bridge.
  • the device identification information also includes a switch number.
  • the device identification information is referred to as the requester ID.
  • the address conversion unit 14 of the processor unit 10 converts the effective address included in the access request packet 32 into the physical address of the memory, thereby allowing the peripheral device 30 that issued the access request packet to access the memory. enable.
  • the address conversion unit 14 will be described.
  • the address conversion unit 14 performs address conversion using the address conversion table 16 shown in FIG.
  • an area used by each peripheral device 30 is allocated, and the address conversion table 16 indicates an access source to which access permission for each area is given in the processor unit 10.
  • Access source identification information (hereinafter referred to as IOID) to be identified, effective addresses indicating the areas in the effective address space (hereinafter referred to as effective areas) corresponding to these areas, and these areas in the physical address space (hereinafter referred to as effective areas).
  • IOID Access source identification information
  • effective addresses indicating the areas in the effective address space (hereinafter referred to as effective areas) corresponding to these areas, and these areas in the physical address space (hereinafter referred to as effective areas).
  • a physical area and a physical address indicating (a) are stored in association with each other.
  • An IOID corresponds to one or more effective addresses.
  • the address conversion unit 14 When converting the effective address included in the access request packet 32 into a physical address, the address conversion unit 14 first uses the requester ID included in the access request packet 32 and the IOID in the address conversion table 16. To verify. Specifically, the address translation test Check whether the IOID corresponding to the effective address contained in the access request packet 32 in table 16 matches the requester ID. If they match, access is permitted and this effective address is converted to the corresponding physical address. If they do not match, an error is returned and access is denied.
  • the input / output bus of the processor unit and the input / output bus of the peripheral device are different. Therefore, a bridge that relays the input / output bus of the peripheral device to the input / output bus of the processor unit is used.
  • the number of requester ID bits and the number of IOID bits are generally different, and a problem arises when the number of IOID bits is less than the number of requester ID bits.
  • the address conversion unit 14 of the processor unit 10 uses the address conversion table 18 shown in FIG. As shown in the figure, an IOID is stored corresponding to a combination of a segment number and a page number.
  • the memory of the processor unit 10 is divided into segments, and each segment is further divided into a plurality of pages.
  • the combination of segment number and page number indicates the effective area.
  • the address conversion table 18 maps the physical address for each page included in the segment, and indicates whether access is permitted based on the IOID.
  • FIG. 5 shows an example of an access request packet issued from the peripheral device 30 in this case!
  • the access request packet 34 in this example includes a requester ID and an offset in the memory area to be accessed.
  • the bridge 20 converts the access request packet 34 into an access command including an IOID and an effective address. Specifically, a part of the requester ID included in the access request packet 34, for example, the lower number of bits corresponding to the number of bits of the IOID is associated with the IOID, and the other part, for example, the upper bits are associated with the segment number and the page number. .
  • FIG. 6 shows an access command obtained by the bridge 20.
  • the access command includes the segment number, page number, IOID, and offset.
  • the address conversion unit 14 of the processor unit 10 converts an effective address (in this case, a combination of a segment number, a page number, and an offset) included in the access command from the bridge 20 into a physical address
  • an access is made.
  • the IOID included in the command is compared with the IOID in the address translation table 18. Specifically, in the address conversion table 18, it is verified whether the IOID corresponding to the combination of the segment number and page number included in the access command matches the IOID included in the access command. As a result of the collation, access is permitted if they match, and the effective address included in the access command is converted to the corresponding physical address. On the other hand, if it does not match, an error is returned and access is denied.
  • an effective address in this case, a combination of a segment number, a page number, and an offset
  • FIG. 7 shows a configuration of an information processing system according to an embodiment related to the present invention.
  • the information processing system includes a plurality of peripheral devices such as a PCI device 100, a multi-core processor 120, a main memory 180, and a bridge 110 that connects the PCI device 100 and the multi-core processor 120.
  • the multi-core processor 120 and the main memory 180 constitute one processor unit.
  • PCI bus is used as a connection interface for the PCI device 100.
  • PCI bus The bus may be based on any specification of PCI, PCIX, and PCI Express (registered trademark).
  • the multi-core processor 120 is formed as a single chip, and includes a main processing unit PPE (Power Processing Element) 140, a plurality of, in the illustrated example, eight sub-processing units SPE (Synergistic Processing Element) 130, IO An interface (hereinafter referred to as IOIF) 160 and a memory controller 170 are connected to each other by a ring bus 150.
  • PPE Power Processing Element
  • SPE Synnergistic Processing Element
  • IOIF An interface
  • the main memory 180 is a shared memory of the processing units of the multi-core processor 120, and is connected to the memory controller 170.
  • the main memory 180 is divided into a plurality of segments, and each segment is further divided into a plurality of pages.
  • the memory controller 170 mediates access to the main memory 180 by the PPE 140 and each SPE 130.
  • the main memory 180 may be provided so as to be included in the force multicore processor 120 provided outside the multicore processor 120.
  • the IOIF 160 is connected to the bridge 110 by an IOIF bus (not shown), and allows the PCI device 100 to access the main memory 180 in cooperation with the bridge 110.
  • the IOIF 160 includes an IO controller 164.
  • the SPE 130 includes a core 132, a low-power memory 134, and a memory flow controller (hereinafter referred to as MFC) 136, and the MFC 136 includes a DMAC (Direct Memory Access Controller) 1 38.
  • MFC memory flow controller
  • DMAC Direct Memory Access Controller
  • the local memory 134 is not a conventional hardware cache memory.
  • the PPE 140 includes a core 142, an L1 cache 144, an L2 cache 145, and an MFC 146.
  • the MFC 146 includes a DMAC 148.
  • an operating system (hereinafter also referred to as an OS) of the multi-core processor 120 operates in the PPE 140, and a program operating in each SPE 130 is determined based on the basic processing of the OS.
  • the programs that run on the SPE130 are programs that form part of the OS functions (for example, device drivers and part of system programs). May be. Note that the instruction set architectures of PPE140 and SPE130 have different instruction sets * 5.
  • the device driver of the multi-core processor 120 searches for devices and acquires the requester ID of each PCI device 100.
  • the requester ID is defined as 16 bits by the PCI standard.
  • the OS of the multi-core processor 120 obtains a segment in which each PCI device 100 can be used and an IOID of each PCI device 100.
  • the number of bits of the IOID is 11 bits, for example, and the OS acquires the lower 11 bits of the requester ID as the IOID.
  • the OS generates a page entry for the segment in response to a memory allocation request for the PCI device 100.
  • the page size can be selected here.
  • the address conversion table 18 shown in FIG. 4 is generated.
  • the OS stores this address conversion table 18 in the main memory 180, which allows the PCI device 100 to access the main memory 180.
  • the PCI device 100 issues an access request packet.
  • the access request packet 34 shown in FIG. 5 is used as the access request packet.
  • FIG. 8 shows the configuration of the bridge 110.
  • the bridge 110 includes a first input / output unit 112, a bridge controller 114, and a second input / output unit 118.
  • the first input / output unit 112 receives an access request packet issued by the PCI device 100, and the bridge controller 114 converts the access request packet into an access command. Then, the second input / output unit 118 passes this access command to the IOIF 160 of the multi-core processor 120.
  • the bridge controller 114 acquires the lower 11 bits of the requester ID of the PCI device 100 included in the access request packet as an IOID, and associates the upper 5 bits of the requester ID with the segment number and the page number. By this conversion, the access command shown in Fig. 6 is obtained.
  • the IO controller 164 of the IOIF 160 refers to the address conversion table 18 shown in FIG.
  • the effective address (combination of segment number, page number and offset) included in the access command passed from the bridge 110 is converted into a physical address in the main memory 180.
  • page size
  • the peripheral device is a PCI device 100, but a peripheral device other than the PCI standard may be used.
  • each node 200 includes a processor unit and a memory. For each running application, application identification information that can uniquely identify this application is given, and each node 20 In the memory of 0, an area where this application can be used is allocated for each active application.
  • application identification information is added to the access request packet.
  • the effective address included in the access request packet is converted into a physical address in the access destination node 200
  • permission / inhibition of access to the effective address is determined based on the application identification information. In this way, the same application running on different nodes on the network can access the area allocated for this application on each other node and can access its area by other applications. Can be prevented.
  • the present invention can be applied to a technology for accessing a memory of a processor from a peripheral device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)
  • Bridges Or Land Bridges (AREA)
  • Selective Calling Equipment (AREA)

Abstract

 周辺デバイスからプロセッサのメモリへのアクセスにおいて、効率を追求しながら安全性を図ることができるアクセス技術を提供する。  アドレス変換部14は、実効アドレスを物理アドレスに変換するためのアドレス変換テーブルを備える。アドレス変換テーブルは、プロセッサユニット10のメモリにおいて各周辺デバイス30に割り当てられたエリアの実効アドレスと、該実効アドレスに対するアクセスの許可が与えられたアクセス元識別情報とを対応付けて格納している。周辺デバイス30からアクセスされた際に、アドレス変換部14は、アクセス要求パケットに含まれた、該周辺デバイス30を一意に識別可能なデバイス識別情報と、アドレス変換テーブルにおける、このアクセス要求パケットにより指定される実効アドレスに対応するアクセス元識別情報とが一致することを条件として、当該実効アドレスに対するアクセスの許可を決定する。

Description

明 細 書
ブリッジ、プロセッサユニット、情報処理装置およびアクセス制御方法 技術分野
[0001] 本発明は、プロセッサユニットに接続された周辺デバイスから、プロセッサユニットへ のアクセス技術に関する。
背景技術
[0002] パーソナルコンピュータやサーバには、たとえば PCI (Peripheral Component I nterconnect)バスを介して各種の周辺デバイスが接続され、情報処理システムが構 成される。
[0003] 周辺デバイスからプロセッサのメモリへアクセスする際に、プロセッサの負担を減ら すために、 DMA (ダイレクト 'メモリ ·アクセス)アーキテクチャを用いることが考えられ る。こうすること〖こよって、たとえば、プロセッサのメモリ領域において、各周辺デバイ スが使用するエリアを割り当てておき、周辺デバイスは、自身に割り当てられたエリア に直接アクセスすることができる。
発明の開示
発明が解決しょうとする課題
[0004] し力し、周辺デバイスからの直接アクセスを実現するために、プロセッサの DMAC ( ダイレクト.メモリ ·アクセス 'コントローラ)をユーザソフトウェアに開放してしまうと、悪意 のあるユーザソフトウェアにより、周辺デバイスに割り当てられたエリアがアクセスされ てしまうことが起こりうる。
[0005] 本発明は、上記事情に鑑みてなされたものであり、その目的は、周辺デバイスから プロセッサのメモリへのアクセスにおいて、効率を追求しながら安全性を図ることがで きる技術を提供することにある。
課題を解決するための手段
[0006] 本発明のある態様は、ブリッジである。このブリッジは、プロセッサユニットの入出力 バスと周辺デバイスの入出力ノ スを中継するブリッジであり、上流ポートと、識別情報 変換部と、下流ポートを有する。 [0007] 上流ポートは、周辺デバイスから、該プロセッサユニットのメモリにおいて該周辺デ バイスに割り当てられたエリアの実効アドレスを指定しうるアクセス要求パケットであつ て、該周辺デバイスを一意に識別可能なデバイス識別情報を有するアクセス要求パ ケットを受け取る。
[0008] 識別情報変換部は、アクセス要求パケットに含まれるデバイス識別情報から、プロ セッサユニットのメモリにお ヽて各周辺デバイスにそれぞれ割り当てられたエリアの実 効アドレスに対するアクセスの許可が与えられたアクセス元を、プロセッサユニットに ぉ 、て識別するために規定されたアクセス元識別情報と照合するための照合情報を 得、該照合情報と、アクセス要求パケットにより指定される実効アドレスとを含むァクセ スコマンドを得る。 下流ポートは、実効アドレスを物理アドレスに変換するためのアド レス変換テーブルであって、プロセッサユニットのメモリにお 、て各周辺デバイスにそ れぞれ割り当てられたエリアの実効アドレスと、該実効アドレスに対応するアクセス元 識別情報とを対応付けて格納したテーブルを参照して実効アドレスを物理アドレスに 変換する際に、アクセスコマンドに含まれる照合情報と、アドレス変換テーブルにおけ る、該アクセスコマンドに含まれる実効アドレスに対応するアクセス元識別情報とがー 致することを条件として、当該実効アドレスに対するアクセスの許可を決定する該プロ セッサユニットへ、識別情報変換部により得られたアクセスコマンドを渡す。
[0009] また、プロセッサユニットのメモリは、複数のセグメントに分けられ、該複数のセグメン トはさらにそれぞれ複数のページに分けられており、アドレス変換テーブルは、セグメ ント番号とページ番号の組み合わせを、アクセス元識別情報とを対応付けて格納した ものであるようにし、識別情報変換部は、デバイス識別情報の一部をアクセス元識別 情報に対応付けるとともに、他の部分をセグメント番号とページ番号に対応付けてァ クセスコマンドを得るようにしてもよ 、。
[0010] 本発明の別の態様は、プロセッサユニットである。このプロセッサユニットは、周辺デ バイスの入出力バスを、プロセッサユニットの入出力バスに中継するブリッジにより周 辺デバイスと接続されて 、る。
[0011] 該プロセッサユニットは、メモリと、アドレス変換部を有する。
[0012] アドレス変換部は、実効アドレスを物理アドレスに変換するためのアドレス変換テー ブルであって、メモリにおいて各周辺デバイスにそれぞれ割り当てられたエリアの実 効アドレスと、該実効アドレスに対するアクセスの許可が与えられたアクセス元を、該 プロセッサユニットにおいて識別するために規定されたアクセス元識別情報とを対応 付けて格納したテーブルを備える。アドレス変換部は、ブリッジにより、周辺デバイス 力も発行されたアクセス要求パケットを変換して得たアクセスコマンドに含まれるデバ イス識別情報であって、該周辺デバイスを一意に識別可能なデバイス識別情報と、ァ ドレス変換テーブルにおける、アクセスコマンドに含まれる実効アドレスに対応するァ クセス元識別情報とがー致することを条件として、当該実効アドレスに対するアクセス の許可を決定する。
[0013] なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コ ンピュータプログラム、コンピュータプログラムを記憶した記憶媒体などの間で相互に 置換したものもまた、本発明の態様として有効である。
発明の効果
[0014] 本発明は、プロセッサユニットに接続された周辺デバイスから、プロセッサユニットの メモリへのアクセスにお 、て、効率を追求しながら安全性を図ることができる。
図面の簡単な説明
[0015] [図 1]本発明の概要の説明に用いた情報処理システムを示す図である。
[図 2]アクセス要求パケットの例(その 1)を示す図である。
[図 3]実効アドレスを物理アドレスに変換するためのアドレス変換テーブルの例(その
1)を示す図である。
[図 4]実効アドレスを物理アドレスに変換するためのアドレス変換テーブルの例(その
2)を示す図である。
[図 5]アクセス要求パケットの例(その 2)を示す図である。
[図 6]図 5に示すアクセス要求パケットを変換して得たアクセスコマンドを示す図である
[図 7]本発明にかかる実施の形態による情報処理システムの構成を示す図である。
[図 8]図 7に示す情報処理システムにおけるブリッジの構成例を示す図である。
[図 9]本発明の技術思想を適用可能な分散アプリケーションシステムの例を示す図で ある。
符号の説明
[0016] 10 プロセッサユニット、 14 アドレス変換部、 16 アドレス変換テーブル、 18 アドレス変換テーブル、 20 ブリッジ、 30 周辺デバイス、 32 アクセス要求パ ケット、 34 アクセス要求パケット、 100 PCIデバイス、 110 ブリッジ、 112 第 1の入出力部、 114 ブリッジコントローラ、 118 第 2の入出力部、 120 マル チコアプロセッサ、 130 SPE、 132 コア、 134 ローカルメモリ、 136 MFC 、 138 DMAC、 140 PPE、 142 コア、 144 キャッシュ、 145 キャッシュ 、 146 MFC, 148 DMAC、 150 リングノ ス、 160 IOIF、 164 IOコント ローラ、 170 メモリコントローラ、 180 メインメモリ、 200 ノード。
発明を実施するための最良の形態
[0017] 本発明の実施の形態の詳細を説明する前に、まず、本発明者が提案する技術の概 要を説明する。
[0018] 図 1に示す情報処理システムについて考える。この情報処理システムは、プロセッ サュニット 10と、複数ここでは例として 2つの周辺デバイス 30を有し、プロセッサュ- ット 10と周辺デバイス 30は、ブリッジ 20により接続される。プロセッサユニット 10は、 単一のプロセッサを有するシングルプロセッサシステムであってもよ 、し、複数のプロ セッサを含むマルチプロセッサシステムであってもよい。なお、プロセッサユニット 10 は、図示しないメモリを備え、マルチプロセッサシステムの場合においては、このメモリ は、各プロセッサからアクセス可能な共有メモリである。また、プロセッサユニット 10は 、アドレス変換部 14を有し、その詳細については後述する。
[0019] 周辺デバイス 30は、プロセッサユニット 10のメモリにアクセスするのに当たり、ァクセ ス要求パケットを発行する。このアクセス要求パケットは、周辺デバイス 30のアクセス 先のメモリ領域の実効アドレスを指定可能なものであり、周辺デバイス 30のデバイス 識別情報を含む。図 2は、アクセス要求パケットの例を示す。
[0020] ここで、実効アドレスとは実効アドレス空間内の所定の位置を示すアドレスである。
さらに実効アドレス空間とは、プロセッサユニット 10が備えるメモリから部分的に切り 取られたメモリ空間の一部同士を集合させ、結合したものである。実効アドレス空間 の内部構成を最適化することにより、プロセッサユニット 10において動作するアプリケ ーシヨンプログラムは最大パフォーマンスで動作できる。
[0021] 図 2に示す例のアクセス要求パケット 32は、デバイス識別情報と実効アドレスを含 む。デバイス識別情報は、図 1に示す情報処理システムにおいて、周辺デバイス 30 を一意に識別可能な情報であり、たとえば、周辺デバイスが接続されたバスの番号な ど周辺デバイスの物理位置を特定可能な情報や、周辺デバイスの種類などを示す情 報とすることができる。また、情報処理システムの機能拡張や性能強化を図るために 、グラフィックプロセッサや高速なメモリデバイスを周辺デバイスとして接続することが あり、より多くの周辺デバイスを接続できるようにすることが要請されている背景にお いて、ブリッジの先にスィッチを多段接続して、デバイスのネットワークを構成すること もある。この場合において、デバイス識別情報は、スィッチ番号も含む。以下、説明の 便宜のため、デバイス識別情報をリクエスタ IDと ヽぅ。
[0022] プロセッサユニット 10のアドレス変換部 14は、アクセス要求パケット 32に含まれる実 効アドレスを、メモリの物理アドレスに変換することによって、アクセス要求パケットを 発行した周辺デバイス 30によるメモリへのアクセスを可能にする。ここで、アドレス変 換部 14について説明する。
[0023] アドレス変換部 14は、図 3に示すアドレス変換テーブル 16を用いてアドレスの変換 を行う。
[0024] プロセッサユニット 10のメモリにおいて、各周辺デバイス 30が使用するエリアを割り 当てられており、アドレス変換テーブル 16は、それぞれのエリアに対するアクセスの 許可が与えられたアクセス元を、プロセッサユニット 10において識別するアクセス元 識別情報(以下 IOIDという)と、これらのエリアに対応した、実効アドレス空間におけ るエリア(以下実効エリアという)を示す実効アドレスと、物理アドレス空間におけるこ れらのエリア(以下物理エリアと 、う)を示す物理アドレスとを対応付けて格納して 、る 。なお、 1つの IOIDは、 1つ以上の実効アドレスに対応する。
[0025] アドレス変換部 14は、アクセス要求パケット 32に含まれる実効アドレスを物理アドレ スに変換する際に、まず、アクセス要求パケット 32に含まれるリクエスタ IDと、アドレス 変換テーブル 16における IOIDとを用いて照合を行う。具体的には、アドレス変換テ 一ブル 16における、アクセス要求パケット 32に含まれる実効アドレスに対応する IOI Dが、リクエスタ IDと一致するか否かを照合する。照合の結果、一致すればアクセス を許可し、この実効アドレスを対応する物理アドレスに変換する一方、一致しなけれ ばエラーを返し、アクセスを拒否する。
[0026] こうすることによって、周辺デバイス 30から、プロセッサユニット 10のメモリにおいて この周辺デバイス 30に割り当てられたエリアへの直接アクセスを実現する。それととも に、周辺デバイスが、自身に対して割り当てられた領域以外の領域へアクセスできな V、ようにして 、るので、プロセッサユニット 10に図示しな!ヽ DMACをユーザソフトゥェ ァに開放しても、悪意のあるデバイスやユーザソフトウェアから、周辺デバイス 30へ割 り当てられたメモリ領域へのアクセスを防ぐことができ、安全である。
[0027] 一方、多くの場合において、プロセッサユニットの入出力バスと、周辺デバイスの入 出力バスの規格が異なる。そのため、周辺デバイスの入出力バスを、プロセッサュニ ットの入出力バスへ中継するブリッジが用いられる。この場合において、規格の制約 から、リクエスタ IDのビット数と、 IOIDのビット数は一般に異なり、 IOIDのビット数がリ クエスタ IDのビット数より少ないときに問題が生じる。
[0028] そこで、リクエスタ IDをそのまま IOIDと照合する代わりに、ブリッジによって、リクエス タ IDを、そのビット数が IOIDのビット数に合致するように IOIDと照合するようにすれ ば、この場合においても IOIDによるメモリの保護ができる。
[0029] これについて、本発明者は下記の技術を提案する。ここでも、図 1に示す情報処理 システムを利用して説明する。
[0030] この場合において、プロセッサユニット 10のアドレス変換部 14は、図 4に示すアドレ ス変換テーブル 18を用いる。図示のように、 IOIDは、セグメント番号とページ番号の 組み合わせに対応して格納されて ヽる。
[0031] プロセッサユニット 10のメモリはセグメントに分けられており、各セグメントはさらに複 数のページに分けられている。セグメント番号とページ番号の組み合わせは、実効ェ リアを示す。
[0032] アドレス変換テーブル 18は、セグメントに含まれる各ページ毎に物理アドレスをマツ ビングするとともに、 IOIDに基づいたアクセスの許否を示している。 [0033] 図 5は、この場合にお!/、て、周辺デバイス 30から発行されるアクセス要求パケットの 例を示す。この例のアクセス要求パケット 34は、リクエスタ IDと、アクセス先のメモリ領 域におけるオフセットを含む。
[0034] ブリッジ 20は、アクセス要求パケット 34を、 IOIDと実効アドレスを含むアクセスコマ ンドに変換する。具体的には、アクセス要求パケット 34に含まれるリクエスタ IDの一部 たとえば下位の、 IOIDのビット数分のビットを IOIDに対応付けるとともに、他の部分 たとえば上位のビットを、セグメント番号とページ番号に対応付ける。
[0035] 図 6は、ブリッジ 20により得られたアクセスコマンドを示す。アクセスコマンドは、セグ メント番号、ページ番号、 IOID,オフセットを含む。
[0036] プロセッサユニット 10のアドレス変換部 14は、ブリッジ 20からのアクセスコマンドに 含まれる実効アドレス(ここでは、セグメント番号、ページ番号、オフセットの組合せ)を 物理アドレスに変換する際に、まず、アクセスコマンドに含まれる IOIDと、アドレス変 換テーブル 18における IOIDとを照合する。具体的には、アドレス変換テーブル 18に おける、アクセスコマンドに含まれるセグメント番号とページ番号の組合せに対応する IOIDが、アクセスコマンドに含まれる IOIDと一致する力否かを照合する。照合の結 果、一致すればアクセスを許可し、アクセスコマンドに含まれる実効アドレスを対応す る物理アドレスに変換する一方、一致しなければエラーを返し、アクセスを拒否する。
[0037] こうすることによって、周辺デバイスのリクエスタ IDのビット数力 プロセッサユニット 1 0のアドレス変換部 14が使用する IOIDのビット数より多い場合においても、 IOIDに よるメモリの保護ができる。
[0038] 以下、本発明の実施の形態について、以上の概要を具現化してシステムを説明す る。
[0039] 図 7は、本発明にカゝかる実施の形態による情報処理システムの構成を示す。この情 報処理システムは、複数の周辺デバイスたとえば PCIデバイス 100、マルチコアプロ セッサ 120、メインメモリ 180、 PCIデバイス 100とマルチコアプロセッサ 120とを接続 するブリッジ 110を有する。マルチコアプロセッサ 120とメインメモリ 180は、 1つのプロ セッサユニットを構成する。
[0040] PCIデバイス 100の接続インターフェイスとして、 PCIバスを用いる。ここで、 PCIバ スは、 PCI、 PCIX、 PCI Express (登録商標)のいずれの仕様によるものでもよい。
[0041] マルチコアプロセッサ 120は、ワンチップで形成されており、主処理ユニット PPE (P ower Processing Element) 140と、複数、図示の例では 8つのサブ処理ユニット SPE (Synergistic Processing Element) 130と、 IOインターフェイス(以下 IOIF という) 160と、メモリコントローラ 170とを有し、これらは、リングバス 150によって接続 される。
[0042] メインメモリ 180は、マルチコアプロセッサ 120の各処理ユニットの共有メモリであり、 メモリコントローラ 170と接続されている。なお、メインメモリ 180は、複数のセグメント に分けられており、各セグメントは、さらに複数のページに分けられている。
[0043] メモリコントローラ 170は、 PPE140および各 SPE130がメインメモリ 180にアクセス する仲介を行う。なお、図 7に示す例では、メインメモリ 180はマルチコアプロセッサ 1 20の外部に設けられている力 マルチコアプロセッサ 120内に含まれるように設けら れてもよい。
[0044] IOIF160は、図示しない IOIFバスによってブリッジ 110と接続され、ブリッジ 110と 協働して、 PCIデバイス 100からメインメモリ 180へのアクセスを可能にする。 IOIF16 0には、 IOコントローラ 164が含まれている。
[0045] SPE130は、コア 132と、ロー力ノレメモリ 134と、メモリフローコントローラ(以下 MFC という) 136とを備え、 MFC136には、 DMAC (ダイレクトメモリアクセスコントローラ) 1 38が含まれている。なお、ローカルメモリ 134は、従来のハードウェアキャッシュメモリ ではないことが望ましぐそれには、ハードウェアキャッシュメモリ機能を実現するため の、チップ内蔵またはチップ外に置かれたハードウェアキャッシュ回路、キャッシュレ ジスタ、キャッシュメモリコントローラなどが無い。
[0046] PPE140は、コア 142と、 L1キャッシュ 144と、 L2キャッシュ 145と、 MFC146とを 備え、 MFC146には、 DMAC148が含まれている。
[0047] 通常、マルチコアプロセッサ 120のオペレーティングシステム(以下 OSともいう)は、 PPE140において動作し、 OSの基本処理に基づいて、各 SPE130で動作するプロ グラムが決定される。また、 SPE130で動作するプログラムは、 OSの機能の一部をな すようなプログラム (たとえばデバイスドライバや、システムプログラムの一部など)であ つてもよい。なお、 PPE140と SPE130の命令セットアーキテクチャは、異なる命令セ ットを有 *5る。
[0048] 図 7に示す情報処理システムの初期化時において、マルチコアプロセッサ 120のデ バイスドライバは、デバイスの探索を行ってそれぞれの PCIデバイス 100のリクエスタ I Dを取得する。ここの例において、リクエスタ IDは、 PCIの規格によりビット数が 16ビッ トに定められている。これによつて、マルチコアプロセッサ 120の OSは、各 PCIデバイ ス 100が利用可能なセグメントと、各 PCIデバイス 100の IOIDを得る。ここで、マルチ コアプロセッサ 120の仕様によって IOIDのビット数がたとえば 11ビットであり、 OSはリ クエスタ IDの下位 11ビットを IOIDとして取得する。
[0049] そして、 OSは、 PCIデバイス 100に対するメモリ割り当て要求に応じて、セグメント に対してページエントリを生成する。ページのサイズはここで選択することができる。こ の割当てによって、図 4に示すアドレス変換テーブル 18が生成される。 OSは、このァ ドレス変換テーブル 18をメインメモリ 180に格納し、これによつて PCIデバイス 100か らメインメモリ 180へのアクセスが可能になる。
[0050] PCIデバイス 100は、メインメモリ 180にアクセスするのにあたり、アクセス要求パケ ットを発行する。ここで、このアクセス要求パケットとして、図 5に示すアクセス要求パケ ット 34を用いる。
[0051] 図 8は、ブリッジ 110の構成を示す。ブリッジ 110は、第 1の入出力部 112、ブリッジ コントローラ 114と、第 2の入出力部 118を有する。
[0052] 第 1の入出力部 112は、 PCIデバイス 100により発行されたアクセス要求パケットを 受け取り、ブリッジコントローラ 114は、このアクセス要求パケットをアクセスコマンドに 変換する。そして、第 2の入出力部 118は、このアクセスコマンドをマルチコアプロセ ッサ 120の IOIF160に渡す。
[0053] ブリッジコントローラ 114は、アクセス要求パケットに含まれる PCIデバイス 100のリク エスタ IDの下位 11ビットを IOIDとして取得し、リクエスタ IDの上位 5ビットを、セグメン ト番号とページ番号に対応づける。この変換によって、図 6に示すアクセスコマンドが 得られる。
[0054] IOIF160の IOコントローラ 164は、図 4に示すアドレス変換テーブル 18を参照して 、ブリッジ 110から渡されたアクセスコマンドに含まれる実効アドレス (セグメント番号、 ページ番号、オフセットの組合せ)を、メインメモリ 180における物理アドレスに変換す る。ページサイズ力 ΚΒであるときに、 36ビットのアクセスコマンドの各ビットは下記の ように規定される: [34 : 28] =セグメント、 [27 : 12] =ページ、 Address [11 : 0] =ォ フセット。
[0055] IOコントローラ 164は、変換するのに際し、まず、アクセスコマンドに含まれるセグメ ント番号、ページ番号について、変換テーブルを参照して、アクセスが許可されてい る力否かを見出す。たとえば、「セグメント = 1、ページ = 2、オフセット =0」を示すァク セスコマンドとともに受信した IOIDが Cである場合には、アドレス変換テーブル 18は セグメント = 1、ページ = 2に対して、アクセスを許可する IOIDとして Cを対応づけて いるので、 IOコントローラ 164は、「セグメント = 1、ページ = 2」に対応する物理アドレ ス dへのアクセスを許可する。一方、「セグメント = 127、ページ = 1、オフセット =0」を 示すアクセスコマンドとともに受信した IOIDが Cである場合には、変換テーブルはセ グメント = 127、ページ = 1に対して、アクセスを許可する IOIDとして Dを対応づけて いるため、 IOコントローラ 164は、エラー信号を返して、アクセスを拒否する。
[0056] 以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの 各構成要素や各処理プロセスの組合せに 、ろ 、ろな変形例が可能なこと、またそうし た変形例も本発明の範囲にあることは当業者に理解されるところである。
[0057] たとえば、図 7に示す情報処理システムにおいて、周辺デバイスは PCIデバイス 10 0であるが、 PCI規格以外の周辺デバイスを用いてもょ 、。
[0058] また、本発明の技術思想を、ネットワーク上の複数のノードが並列に同じアプリケー シヨンを処理可能な分散アプリケーションシステムに適用し、デバイス識別情報をアブ リケーシヨン識別情報に置き換えることによって、異なるノード上で動作する同じアプリ ケーシヨン間のアクセスを可能にするとともに、それぞれのノード上においてこのァプ リケーシヨンに対して割り当てられたメモリ空間の保護を図ることができる。具体的に は、たとえば図 9に示す分散処理アプリケーションシステムにおいて、各ノード 200は 、プロセッサユニットとメモリを備える。動作中のアプリケーション毎に、このアプリケー シヨンを一意に識別可能なアプリケーション識別情報を付与するとともに、各ノード 20 0のメモリにおいて、動作中の各アプリケーション毎に、このアプリケーションが使用可 能なエリアを割り当てる。アクセス元のノード 200からアクセス先のノード 200にァクセ スする際に、アクセス要求パケットに、アプリケーション識別情報を付加する。アクセス 先のノード 200においてアクセス要求パケットに含まれる実効アドレスを物理アドレス に変換する際に、アプリケーション識別情報をもとに、この実効アドレスに対するァク セスの許否を決定する。こうすることによって、ネットワーク上の異なるノードで動作す る同じアプリケーションは、互いのノードにおいて、このアプリケーションに対して割り 当てられたエリアにアクセスできるとともに、他のアプリケーションによって、自身のエリ ァをアクセスされることを防ぐことができる。
産業上の利用可能性
本発明は、周辺デバイスからプロセッサのメモリへのアクセス技術に適用することが できる。

Claims

請求の範囲
[1] プロセッサユニットと周辺デバイスとが相互接続された情報処理装置であって、 前記プロセッサユニットは、実効アドレスを物理アドレスに変換するためのアドレス 変換テーブルであって、該プロセッサユニットのメモリにおいて各前記周辺デバイス にそれぞれ割り当てられたエリアの実効アドレスと、該実効アドレスに対するアクセス の許可が与えられたアクセス元を、該プロセッサユニットにおいて識別するために規 定されたアクセス元識別情報とを対応付けて格納したテーブルを備えたアドレス変換 部を有し、
前記周辺デバイスは、前記メモリへアクセスする際に、該周辺デバイスに対応する 前記実効アドレスを指定しうるアクセス要求パケットであって、該周辺デバイスを一意 に識別可能なデバイス識別情報を有するアクセス要求パケットを発行し、
前記アドレス変換部は、前記アクセス要求パケットに含まれるデバイス識別情報と、 前記アドレス変換テーブルにおける、該アクセス要求パケットにより指定される実効ァ ドレスに対応するアクセス元識別情報とがー致することを条件として、当該実効アドレ スに対するアクセスの許可を決定することを特徴とする情報処理装置。
[2] 前記プロセッサユニットと周辺デバイスは、各前記周辺デバイスの入出力バスを、前 記プロセッサユニットの入出力バスに中継するブリッジにより接続され、
前記ブリッジは、前記デバイス識別情報と前記アクセス元識別情報のビット数が異 なる場合にぉ 、て、前記アクセス要求パケットに含まれるデバイス識別情報をァクセ ス元識別情報に対応付けることを特徴とする請求項 1に記載の情報処理装置。
[3] 前記プロセッサユニットのメモリは、複数のセグメントに分けられ、該複数のセグメン トはさらにそれぞれ複数のページに分けられており、
前記アドレス変換テーブルは、セグメント番号とページ番号の組み合わせを、前記 アクセス元識別情報とを対応付けて格納したものであり、
前記ブリッジは、前記デバイス識別情報の一部をアクセス元識別情報に対応付ける とともに、他の部分をセグメント番号とページ番号に対応付けることを特徴とする請求 項 2に記載の情報処理装置。
[4] プロセッサユニットの入出力バスに、周辺デバイスの入出力バスを中継するブリッジ であって、
前記周辺デバイスから、該プロセッサユニットのメモリにおいて該周辺デバイスに割 り当てられたエリアの実効アドレスを指定しうるアクセス要求パケットであって、該周辺 デバイスを一意に識別可能なデバイス識別情報を有するアクセス要求パケットを受け 取る上流ポートと、
前記アクセス要求パケットに含まれる前記デバイス識別情報から、前記プロセッサ ユニットのメモリにおいて各前記周辺デバイスにそれぞれ割り当てられたエリアの実 効アドレスに対するアクセスの許可が与えられたアクセス元を、前記プロセッサュ-ッ トにおいて識別するために規定されたアクセス元識別情報と照合するための照合情 報を得、該照合情報と、前記アクセス要求パケットにより指定される実効アドレスとを 含むアクセスコマンドを得る識別情報変換部と、
実効アドレスを物理アドレスに変換するためのアドレス変換テーブルであって、前記 プロセッサユニットのメモリにおいて各前記周辺デバイスにそれぞれ割り当てられた エリアの実効アドレスと、該実効アドレスに対応するアクセス元識別情報とを対応付け て格納したテーブルを参照して実効アドレスを物理アドレスに変換する際に、前記ァ クセスコマンドに含まれる照合情報と、前記アドレス変換テーブルにおける、該ァクセ スコマンドに含まれる実効アドレスに対応するアクセス元識別情報とがー致することを 条件として、当該実効アドレスに対するアクセスの許可を決定する前記プロセッサュ ニットへ、前記アクセスコマンドを渡す下流ポートとを備えることを特徴とするブリッジ。
[5] 前記プロセッサユニットのメモリは、複数のセグメントに分けられ、該複数のセグメン トはさらにそれぞれ複数のページに分けられており、
前記アドレス変換テーブルは、セグメント番号とページ番号の組み合わせを、前記 アクセス元識別情報とを対応付けて格納したものであり、
前記デバイス識別情報の一部をアクセス元識別情報に対応付けるとともに、他の部 分をセグメント番号とページ番号に対応付けて前記アクセスコマンドを得ることを特徴 とする請求項 4に記載のブリッジ。
[6] 周辺デバイスの入出力バスを、プロセッサユニットの入出力バスに中継するブリッジ により前記周辺デバイスと接続された前記プロセッサユニットであって、 メモリと、
実効アドレスを物理アドレスに変換するためのアドレス変換テーブルであって、前記 メモリにお ヽて各前記周辺デバイスにそれぞれ割り当てられたエリアの実効アドレスと 、該実効アドレスに対するアクセスの許可が与えられたアクセス元を、該プロセッサュ ニットにぉ 、て識別するために規定されたアクセス元識別情報とを対応付けて格納し たテーブルを備えたアドレス変換部と、
該アドレス変換部は、前記ブリッジにより、前記周辺デバイス力 発行されたァクセ ス要求パケットを変換して得たアクセスコマンドに含まれるデバイス識別情報であって 、該周辺デバイスを一意に識別可能なデバイス識別情報と、前記アドレス変換テー ブルにおける、前記アクセスコマンドに含まれる実効アドレスに対応するアクセス元識 別情報とがー致することを条件として、当該実効アドレスに対するアクセスの許可を 決定することを特徴とするプロセッサユニット。
[7] 前記プロセッサユニットのメモリは、複数のセグメントに分けられ、該複数のセグメン トはさらにそれぞれ複数のページに分けられており、
前記アドレス変換テーブルは、セグメント番号とページ番号の組み合わせを、前記 アクセス元識別情報とを対応付けて格納したものであり、
前記アクセスコマンドは、前記ブリッジにより、前記デバイス識別情報の一部カもァ クセス元識別情報と照合するための照合情報を得るとともに、他の部分をセグメント 番号とページ番号に対応付けるようにして得られたものであることを特徴とする請求 項 6に記載のプロセッサユニット。
[8] プロセッサユニットと周辺デバイスと力 前記周辺デバイスの入出力ノ スを前記プロ セッサユニットの入出力ノ スに中継するブリッジにより接続された情報処理装置にお けるアクセス制御方法であって、
前記周辺デバイスから、該プロセッサユニットのメモリにおいて該周辺デバイスに割 り当てられたエリアの実効アドレスを指定しうるアクセス要求パケットであって、該周辺 デバイスを一意に識別可能なデバイス識別情報を有するアクセス要求パケットを受け 取るステップと、
実効アドレスを物理アドレスに変換するためのアドレス変換テーブルであって、該プ 口セッサユニットのメモリにおいて各前記周辺デバイスにそれぞれ割り当てられたエリ ァの実効アドレスと、該実効アドレスに対するアクセスの許可が与えられたアクセス元 を、該プロセッサユニットにおいて識別するために規定されたアクセス元識別情報と を対応付けて格納したテーブルを参照して、前記アクセス要求パケットに含まれるデ バイス識別情報と、前記アドレス変換テーブルにおける、該アクセス要求パケットによ り指定される実効アドレスに対応するアクセス元識別情報とがー致することを条件とし て、当該実効アドレスに対するアクセスの許可を決定するステップとを有することを特 徴とするアクセス制御方法。
[9] 前記デバイス識別情報と前記アクセス元識別情報のビット数が異なる場合において
、前記デバイス識別情報を前記アクセス元識別情報に対応付けるステップを更に備 えることを特徴とする請求項 8に記載のアクセス制御方法。
[10] 前記プロセッサユニットのメモリは、複数のセグメントに分けられ、該複数のセグメン トはさらにそれぞれ複数のページに分けられており、
前記アドレス変換テーブルは、セグメント番号とページ番号の組み合わせを、前記 アクセス元識別情報とを対応付けて格納したものであり、
前記デバイス識別情報を前記アクセス元識別情報に対応付けるステップは、前記 デバイス識別情報の一部をアクセス元識別情報に対応付けるとともに、他の部分をセ グメント番号とページ番号に対応付けるステップを含むことを特徴とする請求項 9に記 載のアクセス制御方法。
PCT/JP2007/050265 2006-04-06 2007-01-11 ブリッジ、プロセッサユニット、情報処理装置およびアクセス制御方法 Ceased WO2007129482A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2007533803A JP4219964B2 (ja) 2006-04-06 2007-01-11 ブリッジ、プロセッサユニット、情報処理装置およびアクセス制御方法
US11/914,170 US8006000B2 (en) 2006-04-06 2007-01-11 Bridge, processor unit, information processing apparatus, and access control method
AT07706612T ATE516547T1 (de) 2006-04-06 2007-01-11 Brücke, prozessoreinheit, informationsverarbeitungsvorrichtung und zugangskontrollverfahren
CN2007800006330A CN101326501B (zh) 2006-04-06 2007-01-11 电桥、处理器单元、信息处理装置以及存取控制方法
EP07706612A EP1903443B1 (en) 2006-04-06 2007-01-11 Bridge, processor unit, information processing apparatus and access control method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2006-105735 2006-04-06
JP2006105735 2006-04-06
JP2006-121900 2006-04-26
JP2006121900 2006-04-26

Publications (1)

Publication Number Publication Date
WO2007129482A1 true WO2007129482A1 (ja) 2007-11-15

Family

ID=38667594

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/050265 Ceased WO2007129482A1 (ja) 2006-04-06 2007-01-11 ブリッジ、プロセッサユニット、情報処理装置およびアクセス制御方法

Country Status (6)

Country Link
US (1) US8006000B2 (ja)
EP (1) EP1903443B1 (ja)
JP (1) JP4219964B2 (ja)
CN (1) CN101326501B (ja)
AT (1) ATE516547T1 (ja)
WO (1) WO2007129482A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008102921A (ja) * 2006-10-18 2008-05-01 Internatl Business Mach Corp <Ibm> データ処理システム、ハイパートランスポート環境におけるi/oアダプタのlpar分離方法、およびプログラム記憶デバイス
JP2010170237A (ja) * 2009-01-21 2010-08-05 Sony Corp アクセスキー生成装置および情報処理装置
JP2013140446A (ja) * 2011-12-28 2013-07-18 Fujitsu Ltd 情報処理装置および不正アクセス防止方法
JP2014081738A (ja) * 2012-10-15 2014-05-08 Nagoya Univ バスパーティション構造を備えるコンピュータ
JP2016134041A (ja) * 2015-01-20 2016-07-25 富士通株式会社 情報処理システム、情報処理装置、メモリアクセス制御方法
JP2017515238A (ja) * 2014-05-09 2017-06-08 マイクロン テクノロジー, インク. 再構成可能なメモリシステムのための仮想化された物理アドレス
JP2017144250A (ja) * 2014-12-26 2017-08-24 オリンパス株式会社 内視鏡システム
JP2021064166A (ja) * 2019-10-15 2021-04-22 オムロン株式会社 メモリ制御装置、および制御方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702842B2 (en) * 2005-09-29 2010-04-20 Pioneer Corporation Relay device, relay method, and information recording medium
JP4766498B2 (ja) * 2008-12-24 2011-09-07 株式会社ソニー・コンピュータエンタテインメント ユーザレベルdmaとメモリアクセス管理を提供する方法と装置
US8239663B2 (en) * 2009-05-30 2012-08-07 Lsi Corporation System and method for maintaining the security of memory contents and computer architecture employing the same
US8682639B2 (en) * 2010-09-21 2014-03-25 Texas Instruments Incorporated Dedicated memory window for emulation address
CN104978008B (zh) * 2012-12-31 2018-09-18 青岛海信移动通信技术股份有限公司 输入设备在输入处理实例中注册的控制方法及装置
US8924608B2 (en) 2013-06-25 2014-12-30 Airwatch Llc Peripheral device management
US9535857B2 (en) * 2013-06-25 2017-01-03 Airwatch Llc Autonomous device interaction
US9767044B2 (en) * 2013-09-24 2017-09-19 Intel Corporation Secure memory repartitioning
US9720868B2 (en) * 2014-07-07 2017-08-01 Xilinx, Inc. Bridging inter-bus communications
US10025727B2 (en) 2016-02-05 2018-07-17 Honeywell International Inc. Relay mechanism to facilitate processor communication with inaccessible input/output (I/O) device
US10324858B2 (en) 2017-06-12 2019-06-18 Arm Limited Access control
US11609845B2 (en) * 2019-05-28 2023-03-21 Oracle International Corporation Configurable memory device connected to a microprocessor
US11086806B2 (en) * 2019-06-03 2021-08-10 Smart IOPS, Inc. Memory access system to access abstracted memory
US11782610B2 (en) * 2020-01-30 2023-10-10 Seagate Technology Llc Write and compare only data storage

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57189384A (en) * 1981-05-14 1982-11-20 Toshiba Corp Information processor
JPS62115554A (ja) * 1985-11-15 1987-05-27 Fujitsu Ltd マルチプロセツサシステムにおける記憶保護方式
JPH04130553A (ja) * 1990-09-20 1992-05-01 Matsushita Electric Ind Co Ltd 電子計算機
JPH04348442A (ja) * 1991-02-05 1992-12-03 Hitachi Ltd アドレス変換装置
JP2005242598A (ja) * 2004-02-26 2005-09-08 Sony Corp 情報処理システム及び情報処理方法、並びにコンピュータ・プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5890220A (en) * 1991-02-05 1999-03-30 Hitachi, Ltd. Address conversion apparatus accessible to both I/O devices and processor and having a reduced number of index buffers
DE4402903A1 (de) 1994-02-02 1995-08-03 Deutsche Telekom Mobil Verfahren zur paketweisen Datenübertragung in einem Mobilfunknetz
JP3264319B2 (ja) * 1997-06-30 2002-03-11 日本電気株式会社 バスブリッジ
US6839777B1 (en) * 2000-09-11 2005-01-04 National Instruments Corporation System and method for transferring data over a communication medium using data transfer links
US6578122B2 (en) * 2001-03-01 2003-06-10 International Business Machines Corporation Using an access key to protect and point to regions in windows for infiniband
US6526491B2 (en) * 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US6775750B2 (en) 2001-06-29 2004-08-10 Texas Instruments Incorporated System protection map
JP4130553B2 (ja) 2002-05-20 2008-08-06 日立工機株式会社 汎用充電装置及び汎用充電装置の充電法
US7451249B2 (en) * 2005-03-21 2008-11-11 Hewlett-Packard Development Company, L.P. Method and apparatus for direct input and output in a virtual machine environment containing a guest operating system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57189384A (en) * 1981-05-14 1982-11-20 Toshiba Corp Information processor
JPS62115554A (ja) * 1985-11-15 1987-05-27 Fujitsu Ltd マルチプロセツサシステムにおける記憶保護方式
JPH04130553A (ja) * 1990-09-20 1992-05-01 Matsushita Electric Ind Co Ltd 電子計算機
JPH04348442A (ja) * 1991-02-05 1992-12-03 Hitachi Ltd アドレス変換装置
JP2005242598A (ja) * 2004-02-26 2005-09-08 Sony Corp 情報処理システム及び情報処理方法、並びにコンピュータ・プログラム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008102921A (ja) * 2006-10-18 2008-05-01 Internatl Business Mach Corp <Ibm> データ処理システム、ハイパートランスポート環境におけるi/oアダプタのlpar分離方法、およびプログラム記憶デバイス
JP2010170237A (ja) * 2009-01-21 2010-08-05 Sony Corp アクセスキー生成装置および情報処理装置
US8312295B2 (en) 2009-01-21 2012-11-13 Sony Corporation Access key generating apparatus and information processing apparatus
JP2013140446A (ja) * 2011-12-28 2013-07-18 Fujitsu Ltd 情報処理装置および不正アクセス防止方法
JP2014081738A (ja) * 2012-10-15 2014-05-08 Nagoya Univ バスパーティション構造を備えるコンピュータ
JP2017515238A (ja) * 2014-05-09 2017-06-08 マイクロン テクノロジー, インク. 再構成可能なメモリシステムのための仮想化された物理アドレス
JP2017144250A (ja) * 2014-12-26 2017-08-24 オリンパス株式会社 内視鏡システム
US10575711B2 (en) 2014-12-26 2020-03-03 Olympus Corporation Endoscopic system
JP2016134041A (ja) * 2015-01-20 2016-07-25 富士通株式会社 情報処理システム、情報処理装置、メモリアクセス制御方法
JP2021064166A (ja) * 2019-10-15 2021-04-22 オムロン株式会社 メモリ制御装置、および制御方法
JP7363344B2 (ja) 2019-10-15 2023-10-18 オムロン株式会社 メモリ制御装置、および制御方法

Also Published As

Publication number Publication date
EP1903443B1 (en) 2011-07-13
CN101326501A (zh) 2008-12-17
JP4219964B2 (ja) 2009-02-04
JPWO2007129482A1 (ja) 2009-09-17
ATE516547T1 (de) 2011-07-15
EP1903443A1 (en) 2008-03-26
EP1903443A4 (en) 2009-03-04
US8006000B2 (en) 2011-08-23
US20090216921A1 (en) 2009-08-27
CN101326501B (zh) 2010-12-15

Similar Documents

Publication Publication Date Title
WO2007129482A1 (ja) ブリッジ、プロセッサユニット、情報処理装置およびアクセス制御方法
US8185683B2 (en) Bridge, information processing system, and access control method
TWI705353B (zh) 用於容許安全通訊之積體電路、方法及製造物件
CN103842976B (zh) 具有保护模式以防止i/o装置进行存储器访问的输入/输出存储器管理单元
US11586779B2 (en) Embedded system and method
JP4945053B2 (ja) 半導体装置、バスインターフェース装置、およびコンピュータシステム
JP5433349B2 (ja) データプロセッサ
CN116583840A (zh) 快速外围部件互连保护控制器
JP2016516228A (ja) システムオンチップ内のスレーブユニットへの、コントロール下でのアクセス方法および回路装置
US10013199B2 (en) Translation bypass by host IOMMU for systems with virtual IOMMU
JP4656347B2 (ja) コンピュータ・システム
WO2007080718A1 (ja) ブリッジ、情報処理装置、情報処理システムおよびグローバルアドレス管理方法
US10481951B2 (en) Multi-queue device assignment for application groups
RU2005115088A (ru) Управление доступом устройства к памяти
WO2000017756A1 (en) Signal processor
JP5380392B2 (ja) 半導体装置、バスインターフェース装置、およびコンピュータシステム
JP5324676B2 (ja) プロセッサ、バスインターフェース装置、およびコンピュータシステム
CN120561029A (zh) 内存访问方法、装置、计算机设备及存储介质
CN116662984A (zh) 内存隔离装置以及基于内存隔离装置的多核计算系统
CN115374041A (zh) 总线解码器
JP2005182536A (ja) バスブリッジ回路
JP2008123389A (ja) 半導体集積回路装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200780000633.0

Country of ref document: CN

ENP Entry into the national phase

Ref document number: 2007533803

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2007706612

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07706612

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 11914170

Country of ref document: US