JP2007272261A - Information processing device - Google Patents
Information processing device Download PDFInfo
- Publication number
- JP2007272261A JP2007272261A JP2004186074A JP2004186074A JP2007272261A JP 2007272261 A JP2007272261 A JP 2007272261A JP 2004186074 A JP2004186074 A JP 2004186074A JP 2004186074 A JP2004186074 A JP 2004186074A JP 2007272261 A JP2007272261 A JP 2007272261A
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- address
- system level
- accessed
- information processing
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Abstract
Description
本発明は、システム全体のシステムレベルにより、アクセスしてはならないアドレス空間であることを検出する設定検出回路を備えたDMAコントローラを伴う情報処理半導体装置に関する。 The present invention relates to an information processing semiconductor device including a DMA controller that includes a setting detection circuit that detects an address space that must not be accessed according to the system level of the entire system.
従来は、システムにおけるメモリに対するアクセスの監視をプログラム単位で行う方法があった。これはプログラムのアクセス違反を、ハードウェアであるアクセス監視装置が監視する。アクセス監視装置は、CPUからメモリに出力される信号を取得する。そして、アクセス監視装置は、各プログラムに許可されるメモリ領域の情報であるアクセス許可テーブルを内蔵し、それを参照することによって、CPUからの信号のアクセス違反を検出する。このように、ハードウェアで不正アクセスを監視することで、ソフトウェアの書き換えなどによる不正アクセスを防止することが可能であった。
しかしながら、前記従来のアクセス監視装置では、CPUからの信号に対してアクセス違反を前提として検出しているため、CPUとは無関係に動作するDMAコントローラからのメモリアクセスに対しての不正を検出することができなかった。 However, since the conventional access monitoring device detects the signal from the CPU on the assumption of an access violation, it detects the fraud to the memory access from the DMA controller that operates independently of the CPU. I could not.
本発明は、上記課題を解決するために、CPUとシステム全体のシステムレベルを制御するシステムレベル制御回路を設けメモリアクセスをハードウェアで制御し、DMAコントローラにアクセスしてはならないアドレス空間であることを検出する設定検出回路を備えることで、DMAコントローラからの不正なメモリアクセスを防止することを目的とする。 In order to solve the above problems, the present invention provides an address space in which a CPU and a system level control circuit for controlling the system level of the entire system are provided, memory access is controlled by hardware, and the DMA controller must not be accessed. It is an object of the present invention to prevent unauthorized memory access from the DMA controller by providing a setting detection circuit for detecting the above.
上記課題を解決するための、本特許に係る請求項1に記載の発明は、CPUとシステム全体のシステムレベルを制御するシステムレベル制御回路があり、そのシステムレベルに対応してアクセス制御のできるメモリを備えた情報処理装置があって、さらに、ソースアドレス、デスティネーションアドレスからシステムレベルにより、アクセスしてはならないアドレス空間であることを検出する設定検出回路を有し、エラーを通知し転送を行わないことを特徴とするDMAコントローラとを有する情報処理装置である。 In order to solve the above problems, the invention according to claim 1 of the present invention has a CPU and a system level control circuit for controlling the system level of the entire system, and a memory capable of controlling access corresponding to the system level. In addition, it has a setting detection circuit that detects that it is an address space that must not be accessed from the source address and destination address according to the system level, and notifies and transfers an error. An information processing apparatus having a DMA controller characterized by being absent.
本特許に係る請求項2に記載の発明は、請求項1記載の情報処理装置であって、さらに、ソースアドレス、デスティネーションアドレスと、転送サイズからシステムレベルにより、アクセスしてはならないアドレス空間を含む転送であることを検出する設定検出回路を有し、エラーを通知し転送を行わないことを特徴とするDMAコントローラとを有する情報処理装置である。
The invention according to
本特許に係る請求項3に記載の発明は、請求項1記載の情報処理装置であって、さらに、ソースアドレス、転送サイズ、デスティネーションアドレスからシステムレベルにより、アクセスしてはならないアドレス空間に対する転送であることを検出する設定検出回路を有し、転送中にアクセスしてはならないアドレス空間に達した時に、エラーを通知し転送を行わないことを特徴とするDMAコントローラとを有する情報処理装置である。 The invention according to claim 3 of the present invention is the information processing apparatus according to claim 1, and further transfers from the source address, transfer size, and destination address to an address space that must not be accessed at the system level. An information processing apparatus having a DMA controller characterized by having a setting detection circuit for detecting the occurrence of an error and notifying transfer when an address space that must not be accessed is reached during transfer is there.
本特許に係る請求項4に記載の発明は、請求項1記載の情報処理装置であって、さらに、ソースアドレス、転送サイズ、デスティネーションアドレスからシステムレベルにより、アクセスしてはならないアドレス空間に対する転送であることを検出する設定検出回路を有し、転送中にアクセスしてはならないアドレス空間に達した時に、データ転送をせずにダミーの転送をして操作完了することを特徴とするDMAコントローラとを有する情報処理装置である。 The invention according to claim 4 of the present invention is the information processing apparatus according to claim 1, and further transfers from the source address, transfer size, and destination address to an address space that must not be accessed at the system level. A DMA controller having a setting detection circuit for detecting whether or not, and when reaching an address space that should not be accessed during transfer, dummy transfer is performed without data transfer and operation is completed Is an information processing apparatus.
本特許に係る請求項5に記載の発明は、請求項1記載の情報処理装置であって、さらに、ソースアドレス、転送サイズ、デスティネーションアドレスからシステムレベルにより、アクセスしてはならないアドレス空間に対する転送であることを検出する設定検出回路を有し、転送中にアクセスしてはならないアドレス空間に達した時に、データ転送をせずにダミーの転送を行うが、この時に、システムレベルの変更が発生しアクセスが可能となった場合において、エラーを通知し転送を行わないことを特徴とするDMAコントローラとを有する情報処理装置である。
The invention according to
本特許に係る請求項6に記載の発明は、請求項1記載の情報処理装置であって、さらに、ソースアドレス、転送サイズ、デスティネーションアドレスからシステムレベルにより、アクセスしてはならないアドレス空間に対する転送であることを検出する設定検出回路を有し、転送中にアクセスしてはならないアドレス空間に達した時に、データ転送をせずにダミーの転送を行うが、この時に、システムレベルの変更が発生しアクセスが可能となった場合において、メモリにアクセスせずにダミーの値を転送し操作完了することを特徴とするDMAコントローラとを有する情報処理装置である。 The invention according to claim 6 of the present invention is the information processing apparatus according to claim 1, and further transfers from the source address, transfer size, and destination address to an address space that must not be accessed at the system level. It has a setting detection circuit to detect that when it reaches the address space that must not be accessed during transfer, dummy transfer is performed without data transfer, but at this time, a system level change occurs When the access becomes possible, the information processing apparatus has a DMA controller that transfers a dummy value and completes the operation without accessing the memory.
本発明のDMAコントローラによれば、DMAコントローラからの不正なメモリアクセスを防止することが可能となる。 According to the DMA controller of the present invention, unauthorized memory access from the DMA controller can be prevented.
CPUからの不正な操作によってシステムレベルが変更された場合においても設定時のシステムレベルの制限に応じたDMA転送が可能となる。 Even when the system level is changed by an unauthorized operation from the CPU, DMA transfer according to the system level restriction at the time of setting is possible.
さらに、DMAコントローラにより、CPU処理の低減がはかられ、省電力などの効果が得ることができる。 In addition, the DMA controller can reduce the CPU processing and can achieve effects such as power saving.
以下、本発明の実施の形態について、図面を参照して詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
(実施の形態1)
図1は本発明の半導体処理装置1の構成図である。図2は本発明の実施の形態1におけるDMAコントローラ20内の設定検出回路25の処理の内容である。
(Embodiment 1)
FIG. 1 is a block diagram of a semiconductor processing apparatus 1 according to the present invention. FIG. 2 shows the processing contents of the
本発明の半導体処理装置1はCPU10、DMAコントローラ20、システムレベル制御回路30、レベル0メモリ50、レベル1メモリ51がシステムバス40を介して接続している。
In the semiconductor processing apparatus 1 of the present invention, a
半導体処理装置1はシステムレベル制御回路30によってシステム全体のシステムレベルを制御する。このシステムレベル制御回路30はCPU10からアクセスできるレベルレジスタ31を持ち、このレジスタによってシステムレベルの変更を行うことができる。
The semiconductor processing apparatus 1 controls the system level of the entire system by the system
システムレベルはDMAなどの周辺装置にはレベル通知信号32として通知される。また、レベルメモリ制御信号33としてメモリに通知され、システムレベルに対応してレベルメモリ50、51の制御を行う。例えば、これらのシステムレベル制御によって、システムレベル0下ではレベル1メモリ51はアクセス不可、システムレベル1下ではレベル1メモリ51はアクセス可とするような実装が可能である。
The system level is notified as a
DMAコントローラ20は、起動レジスタ21、SRCアドレスレジスタ22、転送サイズ23、DSTアドレスレジスタ24を持ち、SRCアドレスレジスタ22から転送サイズ23分をDSTアドレスレジスタ24にコピーする。
The
DMAコントローラ20内の設定検出回路25は、図2のフローにしたがってシステムレベルによってアクセスしてはならないメモリアドレス空間が含まれるかを検出し、エラーである場合は、エラー通知信号29によってCPU10にエラーであることを通知する。図2は本発明の実施の形態1におけるDMAコントローラ内の設定検出回路25の処理である。
The
設定検出回路25は、レベル通知信号32によって通知されるシステムレベルを確認するS100。次に、SRCアドレスレジスタ22がレベルによってアクセス可能かを確認するS101。もし、アクセス不可能な場合は、エラー通知信号29によってエラーをCPU10に通知するS200。次に、DSTアドレスレジスタ24がレベルによってアクセス可能かを確認するS102。もし、アクセス不可能な場合は、エラー通知信号29によってエラーをCPU10に通知するS200。SRC、DSTアドレスレジスタともアクセス可能ならば、DMAを起動し、DMA転送を行うS110。
The
(実施の形態2)
図1の構成をもとに、設定検出回路25の処理が図3の処理を行う。図3は本発明の実施の形態2におけるDMAコントローラ内の設定検出回路25の処理である。
(Embodiment 2)
Based on the configuration of FIG. 1, the processing of the
設定検出回路25は、レベル通知信号32によって通知されるシステムレベルを確認するS100。次に、SRCアドレスレジスタ22がレベルによってアクセス可能かを確認するS101。もし、アクセス不可能な場合は、エラー通知信号29によってエラーをCPU10に通知するS200。次に、DSTアドレスレジスタ24がレベルによってアクセス可能かを確認するS102。もし、アクセス不可能な場合は、エラー通知信号29によってエラーをCPU10に通知するS200。
The
ソース、デスティネーションアドレスともアクセス可能ならば、SRCアドレスレジスタ22からSRCアドレスレジスタ22から転送サイズアドレス23の転送範囲とDSTアドレスレジスタ24から転送サイズアドレス23の範囲に、システムレベルによりアクセス不可となる領域が含まれないことを確認するS103。もし、アクセス不可能な領域が含まれる場合は、エラー通知信号29によってエラーをCPU10に通知するS200。アクセス不可となる領域が含まれない場合、DMAを起動し、DMA転送を行うS110。
If both the source and destination addresses are accessible, the SRC address register 22 to the SRC address register 22 to the transfer size address 23 and the
(実施の形態3)
図1の構成をもとに、設定検出回路25の処理が図4の処理を行う。図4は本発明の実施の形態3におけるDMAコントローラ内の設定検出回路25の処理である。
(Embodiment 3)
Based on the configuration of FIG. 1, the processing of the
設定検出回路25は、レベル通知信号32によって通知されるシステムレベルを確認するS100。次に、SRCアドレスレジスタ22がレベルによってアクセス可能かを確認するS101。もし、アクセス不可能な場合は、エラー通知信号29によってエラーをCPU10に通知するS200。次に、DSTアドレスレジスタ24がレベルによってアクセス可能かを確認するS102。もし、アクセス不可能な場合は、エラー通知信号29によってエラーをCPU10に通知するS200。SRC、DSTアドレスレジスタともアクセス可能ならば、リードアドレスにSRCアドレスレジスタ22、ライトアドレスにDSTアドレスレジスタ24を設定し、DMAを起動するS150。
The
リードアドレスがレベルによってアクセス可能かを確認するS151。もし、アクセス不可能な場合は、エラー通知信号29によってエラーをCPU10に通知するS200。ライトアドレスがレベルによってアクセス可能かを確認するS151。もし、アクセス不可能な場合は、エラー通知信号29によってエラーをCPU10に通知するS200。リードアドレス、ライトアドレスアクセス可能ならば、データを転送するS170。
It is confirmed whether the read address is accessible depending on the level S151. If the access is impossible, an
次に、リードアドレス、ライトアドレスを加算する。そして、データ転送の総量と転送サイズ23とを比較する。もし、データ転送の総量が転送サイズに達していない場合はS151以降の処理を繰り返すS180。 Next, the read address and the write address are added. Then, the total amount of data transfer is compared with the transfer size 23. If the total amount of data transfer has not reached the transfer size, the processing from S151 is repeated S180.
(実施の形態4)
図1の構成をもとに、設定検出回路25の処理が図5の処理を行う。図6は本発明の実施の形態3におけるDMAコントローラ内の設定検出回路25の処理である。
(Embodiment 4)
Based on the configuration of FIG. 1, the processing of the setting
設定検出回路25は、レベル通知信号32によって通知されるシステムレベルを確認するS100。次に、SRCアドレスレジスタ22がレベルによってアクセス可能かを確認するS101。もし、アクセス不可能な場合は、エラー通知信号29によってエラーをCPU10に通知するS200。次に、DSTアドレスレジスタ24がレベルによってアクセス可能かを確認するS102。もし、アクセス不可能な場合は、エラー通知信号29によってエラーをCPU10に通知するS200。
The setting
SRC、DSTアドレスレジスタともアクセス可能ならば、リードアドレスにSRCアドレスレジスタ22、ライトアドレスにDSTアドレスレジスタ24を設定し、DMAを起動するS150。
If both the SRC and DST address registers are accessible, the SRC address register 22 is set as the read address and the
リードアドレスがレベルによってアクセス可能かを確認するS151。もし、アクセス不可能な場合は、ダミーのデータを転送するS175。ライトアドレスがレベルによってアクセス可能かを確認するS151。もし、アクセス不可能な場合は、ダミーのデータを転送するS175。リードアドレス、ライトアドレスアクセス可能ならば、データを転送するS170。次に、リードアドレス、ライトアドレスを加算する。そして、データ転送の総量と転送サイズ23とを比較する。もし、データ転送の総量が転送サイズに達していない場合はS151以降の処理を繰り返すS180。 It is confirmed whether the read address is accessible depending on the level S151. If it cannot be accessed, dummy data is transferred S175. It is confirmed whether the write address is accessible depending on the level S151. If it cannot be accessed, dummy data is transferred S175. If the read address and write address are accessible, data is transferred S170. Next, the read address and the write address are added. Then, the total amount of data transfer and the transfer size 23 are compared. If the total amount of data transfer has not reached the transfer size, the processing from S151 is repeated S180.
(実施の形態5)
図1の構成をもとに、設定検出回路25の処理が図6の処理を行う。図6は本発明の実施の形態3におけるDMAコントローラ内の設定検出回路25の処理である。
(Embodiment 5)
Based on the configuration of FIG. 1, the processing of the setting
設定検出回路25は、レベル通知信号32によって通知されるシステムレベルを確認するS100。次に、SRCアドレスレジスタ22がレベルによってアクセス可能かを確認するS101。もし、アクセス不可能な場合は、エラー通知信号29によってエラーをCPU10に通知するS200。次に、DSTアドレスレジスタ24がレベルによってアクセス可能かを確認するS102。もし、アクセス不可能な場合は、エラー通知信号29によってエラーをCPU10に通知するS200。
The setting
SRC、DSTアドレスレジスタともアクセス可能ならば、リードアドレスにSRCアドレスレジスタ22、ライトアドレスにDSTアドレスレジスタ24を設定し、DMAを起動するS150。
If both the SRC and DST address registers are accessible, the SRC address register 22 is set as the read address and the
リードアドレスがレベルによってアクセス可能かを確認するS151。もし、アクセス不可能な場合は、ダミーのデータを転送するS175。ライトアドレスがレベルによってアクセス可能かを確認するS151。もし、アクセス不可能な場合は、ダミーのデータを転送するS175。 It is confirmed whether the read address is accessible depending on the level S151. If it cannot be accessed, dummy data is transferred S175. It is confirmed whether the write address is accessible according to the level S151. If it cannot be accessed, dummy data is transferred S175.
次に、CPU10からシステムレベル制御回路30に対してレベルの変更が行われていないか、レベル通知信号32を確認するS160。もし、レベル変更があった場合は、エラー通知信号29によってエラーをCPU10に通知するS200。レベル変更がないならば、データを転送するS170。
Next, the
次に、リードアドレス、ライトアドレスを加算する。そして、データ転送の総量と転送サイズ23とを比較する。もし、データ転送の総量が転送サイズに達していない場合はS151以降の処理を繰り返すS180。 Next, the read address and the write address are added. Then, the total amount of data transfer is compared with the transfer size 23. If the total amount of data transfer has not reached the transfer size, the processing from S151 is repeated S180.
(実施の形態6)
図1の構成をもとに、設定検出回路25の処理が図7の処理を行う。図7は本発明の実施の形態3におけるDMAコントローラ内の設定検出回路25の処理である。
(Embodiment 6)
Based on the configuration of FIG. 1, the processing of the setting
設定検出回路25は、レベル通知信号32によって通知されるシステムレベルを確認するS100。次に、SRCアドレスレジスタ22がレベルによってアクセス可能かを確認するS101。もし、アクセス不可能な場合は、エラー通知信号29によってエラーをCPU10に通知するS200。
The setting
次に、DSTアドレスレジスタ24がレベルによってアクセス可能かを確認するS102。もし、アクセス不可能な場合は、エラー通知信号29によってエラーをCPU10に通知するS200。SRC、DSTアドレスレジスタともアクセス可能ならば、リードアドレスにSRCアドレスレジスタ22、ライトアドレスにDSTアドレスレジスタ24を設定し、DMAを起動するS150。
Next, S102 confirms whether the
リードアドレスがレベルによってアクセス可能かを確認するS151。もし、アクセス不可能な場合は、ダミーのデータを転送するS175。ライトアドレスがレベルによってアクセス可能かを確認するS151。もし、アクセス不可能な場合は、ダミーのデータを転送するS175。 It is confirmed whether the read address is accessible depending on the level S151. If it cannot be accessed, dummy data is transferred S175. It is confirmed whether the write address is accessible according to the level S151. If it cannot be accessed, dummy data is transferred S175.
次に、CPU10からシステムレベル制御回路30に対してレベルの変更が行われていないか、レベル通知信号32を確認するS160。もし、レベル変更があった場合は、ダミーのデータを転送するS175。
Next, the
レベル変更がないならば、データを転送するS170。次に、リードアドレス、ライトアドレスを加算する。そして、データ転送の総量と転送サイズ23とを比較する。もし、データ転送の総量が転送サイズに達していない場合はS151以降の処理を繰り返すS180。 If there is no level change, data is transferred S170. Next, the read address and the write address are added. Then, the total amount of data transfer and the transfer size 23 are compared. If the total amount of data transfer has not reached the transfer size, the processing from S151 is repeated S180.
本発明は、システムにレベルを設けてメモリアクセス制限を行う情報処理装置において、システムレベルとの一貫性を保証したDMAコントローラを設けることができ、CPU処理の低減がはかられ、省電力などの効果が得ることができ、その利用可能性は非常に広く且つ大きい。 The present invention can provide a DMA controller that guarantees consistency with the system level in an information processing apparatus that restricts memory access by providing a level in the system, which can reduce CPU processing, save power, etc. The effect can be obtained and its availability is very wide and large.
1 半導体処理装置
10 CPU
20 DMAコントローラ
21 起動レジスタ
22 SRCアドレスレジスタ
23 転送サイズレジスタ
24 DSTアドレスレジスタ
25 設定検出回路
29 エラー通知信号
30 システムレベル制御回路
31 レベルレジスタ
32 レベル通知信号
33 レベルメモリ制御信号
40 システムバス
50 レベル0メモリ
51 レベル1メモリ
1
20
Claims (6)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004186074A JP2007272261A (en) | 2004-06-24 | 2004-06-24 | Information processing device |
PCT/JP2005/011287 WO2006001258A1 (en) | 2004-06-24 | 2005-06-20 | Dma controller and information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004186074A JP2007272261A (en) | 2004-06-24 | 2004-06-24 | Information processing device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007272261A true JP2007272261A (en) | 2007-10-18 |
Family
ID=35781736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004186074A Pending JP2007272261A (en) | 2004-06-24 | 2004-06-24 | Information processing device |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2007272261A (en) |
WO (1) | WO2006001258A1 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01106254A (en) * | 1987-10-20 | 1989-04-24 | Yokogawa Electric Corp | Scsi host adaptor circuit |
JPH03129445A (en) * | 1989-07-25 | 1991-06-03 | Nec Corp | Microcomputer incorporating eeprom |
JPH06282493A (en) * | 1993-03-25 | 1994-10-07 | Brother Ind Ltd | Memory device |
JP3790323B2 (en) * | 1997-04-16 | 2006-06-28 | 株式会社ルネサステクノロジ | Data transfer control device, microcomputer and data processing system |
-
2004
- 2004-06-24 JP JP2004186074A patent/JP2007272261A/en active Pending
-
2005
- 2005-06-20 WO PCT/JP2005/011287 patent/WO2006001258A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2006001258A1 (en) | 2006-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230342502A1 (en) | Method and system for preventing unauthorized processor mode switches | |
US10983924B2 (en) | Information processing device and processor | |
US7523229B2 (en) | Memory protection during direct memory access | |
US10678710B2 (en) | Protection scheme for embedded code | |
JP2016516228A (en) | Access method and circuit device under control of slave unit in system on chip | |
TW200305082A (en) | Data processing system with peripheral access protection and method therefor | |
JP2005316599A (en) | Interrupt controller | |
KR100633853B1 (en) | Method and apparatus for sharing an interrupt between disk drive interfaces | |
JP2007334432A (en) | Information processor, and access control method therefor | |
JP2007272261A (en) | Information processing device | |
JP2009134400A (en) | Data processor, and method for protecting peripheral device in data processor | |
JP5464676B2 (en) | Semiconductor device | |
JP5630886B2 (en) | Semiconductor device | |
JP3577053B2 (en) | Electronic circuit | |
TWI818194B (en) | Processor and data access method thereof | |
JP2010049718A (en) | Semiconductor device | |
TWI650643B (en) | Data storage chip and data access method | |
JP2010140440A (en) | Bus arbitration device | |
KR20040034747A (en) | Apparatus and method for dynamic direct memory access control | |
JP2005010966A (en) | Lsi device | |
JPH11161548A (en) | Computer with runaway detection function | |
JPH0418651A (en) | Memory controller | |
JPH03171332A (en) | Abnormal access detecting system | |
JPS59121455A (en) | Prefixing system | |
JP2004220502A (en) | Wait control circuit |