JP2637146B2 - Debug system - Google Patents
Debug systemInfo
- Publication number
- JP2637146B2 JP2637146B2 JP63063587A JP6358788A JP2637146B2 JP 2637146 B2 JP2637146 B2 JP 2637146B2 JP 63063587 A JP63063587 A JP 63063587A JP 6358788 A JP6358788 A JP 6358788A JP 2637146 B2 JP2637146 B2 JP 2637146B2
- Authority
- JP
- Japan
- Prior art keywords
- space
- address
- contents
- logical
- bits
- 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.)
- Expired - Lifetime
Links
Landscapes
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
Description
【発明の詳細な説明】 〔概 要〕 動的に書込み保護解除機能を持たないメモリ管理用コ
・プロセッサを用いたOSの書込み禁止空間の内容を変更
するデバッグシステムに関し、 書込み保護機能を保持しつつ、特別の空間管理機能を
設けることなく物理メモリ上の書込み禁止空間にアクセ
スしてその内容の変更や参照等を可能にすることを目的
とし、 動的に書込み保護解除機能を持たないメモリ管理用コ
・プロセッサ(PMMU)を用いたOSの書込み禁止空間の内
容を変更するデバッグシステムにおいて、PMMUが有する
アドレス変換機能により変換対象論理アドレスに対応す
る物理アドレスを求め、物理アドレスが求まった後PMMU
の動作を一旦無効にし、かつ物理アドレスにより物理メ
モリ上の所定書込み禁止空間にアクセスしてその内容に
対する所望の変更や参照等の処理を行うように構成す
る。DETAILED DESCRIPTION OF THE INVENTION [Summary] The present invention relates to a debug system that dynamically changes the contents of a write-protected space of an OS using a memory management coprocessor that does not have a write-protect release function. In addition, the purpose is to access the write-protected space on the physical memory so that the contents can be changed or referenced without providing a special space management function. System that changes the contents of the write-protected space of the OS using a coprocessor for PMMU (PMMU), obtains the physical address corresponding to the logical address to be converted by the address conversion function of the PMMU, and then obtains the PMMU
Is temporarily invalidated, and a predetermined write-protected space on the physical memory is accessed by a physical address to perform a desired change or reference to the content.
本発明は、動的に書込み保護解除機能を持たないメモ
リ管理用コ・プロセッサを用いたオペレーティング・シ
ステム(以下、OSという)の書込み禁止空間の内容を変
更するデバッグシステムに関する。The present invention relates to a debug system that dynamically changes the contents of a write-protected space of an operating system (hereinafter referred to as an OS) using a memory management coprocessor that does not have a write protection release function.
計算機システムは、OSによりシステム全体の処理能力
の向上や応答時間の短縮、計算機の運転や使用方法の容
易化、障害の検出及び回復等を行っている。The computer system uses the OS to improve the processing capacity of the entire system, shorten the response time, facilitate the operation and use of the computer, detect and recover from a failure, and the like.
このため、一般にOSシステムの動作環境を保障するた
めに、メモリ空間のOSの存在する領域が誤動作によりア
クセスされて書込み等が行われないように保護されてい
る。For this reason, in general, in order to guarantee the operating environment of the OS system, an area where the OS exists in the memory space is protected from being accessed due to malfunction and writing or the like is not performed.
このOS等のテストやメンテナンスを行う際、デバッグ
等によってOS自身の空間も含めて内容の変更処理を行う
必要が生じる場合がある。しかしながら、OSが動作して
いる場合は、自身の存在するメモリ空間上の領域に対し
て書込み保護が設定されているために、そのままではア
クセスして内容の変更ができず、複雑な処理が必要であ
る。特に、メモリ管理用のコ・プロセッサが動的に書込
み保護の解除機能を有している場合には、内容の変更処
理に複雑な手続きが必要である。When testing or maintaining the OS or the like, it may be necessary to change the contents including the space of the OS itself by debugging or the like. However, when the OS is running, write protection is set for the area in the memory space where the OS exists, so it is not possible to access and change the contents as it is, and complicated processing is required It is. In particular, when the memory management coprocessor has a function of dynamically releasing the write protection, a complicated procedure is required for the content change processing.
次に、第5図〜第7図を参照して、動的に書込み保護
解除機能を持たないメモリ管理用コ・プロセッサのメモ
リ管理方式とデバッグ等により書込み禁止空間に対する
アクセス方式について説明する。Next, with reference to FIGS. 5 to 7, a description will be given of a memory management method of a memory management coprocessor having no dynamic write protection release function and an access method to a write-protected space by debugging or the like.
第5図は、メモリ管理用コ・プロセッサを備えた計算
機システムの基本構成をブロック図で示したものであ
る。図において、10はCPUボード、21はディスク装置や
フロッピィ装置との接続及びデータ転送を制御するデバ
イス制御アダプタ、22は回線との通信制御を行う通信制
御アダプタ、23は端末との接続及びデータ転送を制御す
る端末制御アダプタである。デバッグもこの端末制御ア
ダプタに接続される。FIG. 5 is a block diagram showing a basic configuration of a computer system having a memory management co-processor. In the figure, 10 is a CPU board, 21 is a device control adapter for controlling connection with a disk device or a floppy device and data transfer, 22 is a communication control adapter for controlling communication with a line, and 23 is a connection and data transfer with a terminal. Is a terminal control adapter that controls Debug is also connected to this terminal control adapter.
CPUボード10において、11は命令プロセッサ(MPU)
で、OS等システム全体の運用を制御する。In the CPU board 10, 11 is an instruction processor (MPU)
Controls the operation of the entire system such as the OS.
12はメモリ管理用コ・プロセッサ(PMMU)で、実際の
物理メモリ上の物理空間と仮想的な論理空間との対応付
けを行う。このPMMU12は、OSやファームウェア空間に対
する書込みを禁止する書込み保護機能をOSにより設定さ
れているが、この書込み保護機能を動的に解除する機能
はサポートしていない。このようなプロセッサとして、
例えばMC68851がある。A memory management coprocessor (PMMU) 12 associates a physical space on an actual physical memory with a virtual logical space. The PMMU 12 has a write protection function for prohibiting writing to the OS or firmware space set by the OS, but does not support a function for dynamically releasing the write protection function. As such a processor,
For example, there is MC68851.
13は主記憶装置(MSU)で、物理空間が展開される物
理メモリで構成される。14はPMMU12とMSU13を接続する
内部バス、15はPMMU22と各制御アダプタ21〜23とを接続
する外部バスである。Reference numeral 13 denotes a main storage device (MSU), which is composed of a physical memory in which a physical space is expanded. Reference numeral 14 denotes an internal bus connecting the PMMU 12 and the MSU 13, and reference numeral 15 denotes an external bus connecting the PMMU 22 and each of the control adapters 21 to 23.
この構成において、計算機システムの論理メモリマッ
プは、第6図に示すような構成になっている。図におい
て、31は論理空間で、ファームウェア空間311,OS空間31
2及び一般プログラム空間313で構成され、仮想的な論理
メモリ上に形成される。これらの各空間は、論理アドレ
スによりアクセスされる。In this configuration, the logical memory map of the computer system has a configuration as shown in FIG. In the figure, 31 is a logical space, a firmware space 311, an OS space 31
2 and a general program space 313 and are formed on a virtual logical memory. Each of these spaces is accessed by a logical address.
ファームウェア空間311は、デバッグやシステム内の
ファームウェア用の制御テーブル等が存在する空間で、
ファームウェア及びOS以外によるアクセスすなわち内容
の変更や参照は禁止される。The firmware space 311 is a space where a control table for debugging and firmware in the system exists, and the like.
Accesses other than firmware and OS, that is, changes and references to contents, are prohibited.
OS空間312は、OSのプログラムやデータが存在する空
間で、一般プログラムはもちろんのことファームウェア
及びOS自身を含む全てのプログラムによる内容の変更が
禁止される。特に、一般フログラムに対しては、内容の
参照も禁止される。The OS space 312 is a space in which programs and data of the OS are present, and in which general programs, firmware, and all programs including the OS itself are not allowed to change contents. In particular, referring to the contents of a general program is also prohibited.
313は一般プログラム空間で、アプリケーションプロ
グラムやコマンド等の一般のプログラムが存在する空間
で、全てのプログラムによる内容の参照や変更が許され
る。各ユーザには、この一般プログラム空間313の領域
が使用領域として割り当てられる。Reference numeral 313 denotes a general program space, which is a space where general programs such as application programs and commands exist, and all programs are allowed to refer to and change the contents. The area of the general program space 313 is allocated to each user as a use area.
一方、MSU13は物理メモリであり、物理アドレスによ
ってアクセスされる物理空間が展開される。On the other hand, the MSU 13 is a physical memory, in which a physical space accessed by a physical address is expanded.
第7図(A)は物理空間32を示したもので、論理空間
と同様に、ファームウェア領域321,OS空間322及び一般
プログラム空間323で構成される。一般プログラム空間3
23において、323A1及び323A2は、プログラムAの存在す
る領域であり、323B1〜323B3はプログラムBの存在する
領域である。このように、一般ブログラムA,B等は、一
般プログラム空間323上に分散して存在する。FIG. 7A shows the physical space 32, which is composed of a firmware area 321, an OS space 322, and a general program space 323, like the logical space. General program space 3
In 23, 323A 1 and 323A 2 are regions existing programs A, 323B 1 ~323B 3 is the presence region of the program B. As described above, the general programs A, B, and the like are distributed on the general program space 323.
PMMU12は、このように物理空間32上に散在する各プロ
グラムを、OSより設定されたアドレス管理テーブルを参
照して、第7図(B)や(C)に示すように、各プログ
ラム毎にファームウェア空間(331,341)、OS空間(33
2,342)及び一般プログラム空間(333,343)が連続した
論理空間(33,34)への対応付けを行う。The PMMU 12 refers to the address management table set by the OS and stores each program scattered on the physical space 32 in a firmware for each program as shown in FIGS. 7B and 7C. Space (331,341), OS space (33
2,342) and the general program space (333,343) are linked to the logical space (33,34).
各プログラムには論理アドレスが割り当てられてお
り、アドレス管理テーブルを参照することにより、論理
アドレスを対応する物理アドレスに変換することができ
る。Each program is assigned a logical address, and the logical address can be converted to a corresponding physical address by referring to the address management table.
これにより、各プログラムA及びBは、論理アドレス
でアクセスすることにより、実際の物理空間に制限され
ずに動作することができる。Thus, each of the programs A and B can operate without being restricted to the actual physical space by accessing with the logical address.
このPMMU12には、ソフトウェアの意識はない。すなわ
ちOSとファームウェアとの区別並びにこれらと一般プロ
グラムとの区別をすることはなく、MPU11に対する実行
資格によって区別している。This PMMU12 has no software awareness. That is, there is no distinction between the OS and the firmware and no distinction between these and the general program, but the distinction is based on the execution qualification for the MPU 11.
MPU11に対する実行資格には特権と一般があり、OSや
ファームウェア(デバッグ等)の実行資格は特権であ
り、一般プログラムの実行資格は一般である。特権の実
行資格を持ったプログラムのみが、OSやファームウェア
空間にアクセス可能である。これにより一般の実行資格
を持ったプログラム(一般プログラム)がOSやファーム
ウェア空間をアクセスしてその内容を変更することから
保護している。特に、OSは前述のように、一般プログラ
ムはもちろんのことファームウェア及びOS自身を含む全
てのプログラムによる内容の変更を禁止し、更に、一般
プログラムに対しては内容の参照も禁止することによ
り、OS等の暴走によるOS自身の破壊や一般プログラムか
らのアクセスからOSの保護を行っている。The execution qualification for the MPU 11 has a privilege and a general, the execution qualification of the OS and the firmware (such as debugging) is a privilege, and the execution qualification of the general program is general. Only programs with the privileged execution qualification can access the OS and firmware space. This protects programs (general programs) with general execution qualifications from accessing the OS or firmware space and changing the contents. In particular, as described above, the OS prohibits the modification of the contents by all programs including the firmware and the OS itself, as well as the general program, and furthermore, prohibits the reference of the contents to the general program. It protects the OS from destruction of the OS itself due to runaway and the access from general programs.
このOSのテストやメンテナンスを行う場合には、例え
ばバグが発見されるとデバッグ等によりOS自身の空間も
含めて誤りのある内容の変更処理を行う必要がある。When testing or maintaining the OS, for example, when a bug is found, it is necessary to change the contents of the error including the space of the OS itself by debugging or the like.
しかしながら、PMMU12は動的に書込み保護の解除機能
をサポートしていない。このため、論理アドレスでアク
セスしてデバッグを行おうとしても、PMMU12の書込み保
護機能により書込みが禁止されてデバッグを行うことが
できない。However, the PMMU 12 does not support the function of dynamically canceling write protection. For this reason, even if an attempt is made to perform debugging by accessing with a logical address, the writing is prohibited by the write protection function of the PMMU 12 and debugging cannot be performed.
PMMU12の動作を無効にすると、書込み保護機能が働か
ないので、物理メモリ(すなわちMSU13)を物理アドレ
スでアクセスしてその内容を変更することが可能であ
る。しかしながら、デバッグを行うオペレータ(ユー
ザ)に与えられているのは論理アドレスであるので、オ
ペレータは、この論理アドレスに対応する物理アドレス
を知ることができない。このため、このままでは物理メ
モリ(MSU13)をアクセスしてその内容を変更すること
ができない。When the operation of the PMMU 12 is invalidated, the write protection function does not work, so that it is possible to access the physical memory (that is, the MSU 13) with the physical address and change the contents thereof. However, since the logical address is given to the operator (user) who performs debugging, the operator cannot know the physical address corresponding to the logical address. Therefore, the physical memory (MSU13) cannot be accessed and its contents cannot be changed as it is.
そこで、従来は、次のような方式で、OS等に対する変
更処理を行っていた。Therefore, conventionally, a change process for an OS or the like has been performed in the following manner.
PMMU12の持つメモリ保護機能を使用しないシステム
を構築する方式。A system that does not use the memory protection function of PMMU12.
この方式はPMMU12にメモリ保護機能を行せないので、
OS空間にアクセスしてその内容を変更することが可能で
ある。しかしながら、OSは保護されないことになるの
で、プログラムが暴走した場合に、OS等の内容が破壊さ
れるのを防止することができない。このため、OS等の動
作が保障できない欠点がある。This method cannot perform the memory protection function for PMMU12,
It is possible to access the OS space and change its contents. However, since the OS is not protected, it is impossible to prevent the contents of the OS and the like from being destroyed when the program runs away. Therefore, there is a disadvantage that the operation of the OS or the like cannot be guaranteed.
OSの持つ空間管理機能をサポートする方式、すなわ
ち、デバッグ等でOSに対し内容を変更しなければならな
いとき、OSの持つ空間管理機能と全く同様の処理を行
い、アドレス変換を行う方式。A method that supports the space management function of the OS, that is, a method that performs exactly the same processing as the space management function of the OS and performs address translation when the contents of the OS must be changed for debugging or the like.
このOSと同様の空間管理機能により、OSが空間管理用
にPMMU12に設定したアドレス管理テーブルをPMMU12が行
うと同様にしたソフトウェアでサーチし、検索対象の論
理アドレスが対応する物理アドレスを求めることができ
る。With the same space management function as this OS, the OS can search the address management table set in the PMMU 12 for space management with the same software as the PMMU 12 does, and find the physical address corresponding to the logical address to be searched. it can.
この方式は、OS等の保護機能を保存することができる
が、反面、OSの内容変更のための機能や処理が複雑にな
り、処理効率が悪く、また開発の重複につながる不都合
がある。This method can preserve the protection functions of the OS and the like, but on the other hand, it complicates functions and processing for changing the contents of the OS, resulting in poor processing efficiency and inconvenient development.
従来の動的に書込み保護解除機能を持たないPMMUを用
いたOSの書込み禁止空間の内容を変更するデバッグシス
テムには、前述のようなやの方式があった。しか
し、前者には、PMMUの持つ書込み保護機能を使用しない
ため、OSの内容が破壊されてその動作が保障されなくな
るという問題があり、後者には、内容変更のための機能
や処理が複雑になり開発の重複につながる等の問題があ
った。A conventional debugging system for changing the contents of a write-protected space of an OS using a PMMU that does not have a write protection release function dynamically has the above-mentioned method. However, the former does not use the write protection function of the PMMU, so the contents of the OS are destroyed and its operation cannot be guaranteed.The latter has a complicated function and process for changing the contents. There was a problem that it led to duplication of development.
本発明は、書込み保護機能を保持しつつ、特別の空間
管理機能を設けることなく、物理メモリ上の書込み禁止
空間にアクセスしてその内容の変更や参照等を行うこと
ができるようにした書込み禁止空間の内容を変更するデ
バッグシステムを提供することを目的とする。The present invention provides a write-protection function that allows a write-protected space on a physical memory to be accessed and its contents changed or referred to while retaining a write-protection function and without providing a special space management function. An object of the present invention is to provide a debugging system for changing the contents of a space.
PMMU12は動的に書込み保護解除機能を持っていないた
めに、デバッグ等が特権の実行資格でアクセスしても、
プログラムの命令がOSの内容の変更である場合には、そ
の命令を無効とすることによりOS空間への書込みが禁止
される。しかし、特権の実行資格を持っている場合に
は、少なくともアドレス変換すること、すなわち論理ア
ドレスに対応する物理アドレスを求めるまでの処理は行
われる。本発明は、PMMU12の持つアドレス変換機能に着
目し、変換対象論理アドレスに対応する物理アドレスが
求まった段階でPMMU12の動作を一旦無効にし、この物理
アドレスにより物理メモリ上のOS空間にアクセスして必
要な変更や参照を行うようにしたものである。Since PMMU12 does not have a write protection release function dynamically, even if debugging etc. is accessed with privileged execution qualification,
When the instruction of the program is a change of the contents of the OS, the writing to the OS space is prohibited by invalidating the instruction. However, if the user has the privilege to execute the privilege, at least the address conversion, that is, the processing up to obtaining the physical address corresponding to the logical address is performed. The present invention focuses on the address conversion function of the PMMU 12, and temporarily disables the operation of the PMMU 12 at the stage when the physical address corresponding to the logical address to be converted is obtained, and accesses the OS space on the physical memory by using this physical address. It makes necessary changes and references.
以下、本発明の採用した解決手段を、第1図を参照し
て説明する。第1図は、本発明の基本構成をフローチャ
ートで示したものである。Hereinafter, the solution means adopted by the present invention will be described with reference to FIG. FIG. 1 is a flowchart showing the basic configuration of the present invention.
第1図において、処理S1においては、PMMU12が有する
アドレス変換機能により変換対象論理アドレスに対応す
る物理アドレスを求める処理が行われる。In FIG. 1, in the process S 1, the process for obtaining the physical address corresponding to the conversion target logical address by the address conversion function of the PMMU12 is performed.
処理S2においては、処理S1において物理アドレスが求
まった後PMMU12の動作を一旦無効にし、その物理アドレ
スにより物理メモリ上の所定書込み禁止空間にアクセス
する処理が行われる。In the process S 2, to temporarily disable operation of PMMU12 After the physical address is Motoma' in the process S 1, the process of accessing a predetermined write-protected space in physical memory is performed by the physical address.
OS等のテストやメンテナンスを行って、例えばバグが
発見されてOS空間の内容を変更する必要が生じた場合を
例にとって、本発明の作用を説明する。なお、処理は、
第5図の計算機システムによって行われる。The operation of the present invention will be described by taking as an example a case where a test or maintenance of an OS or the like is performed and a bug is found and the content of the OS space needs to be changed. The processing is
This is performed by the computer system shown in FIG.
図示しないデバッグよりデバッグ要求のコマンド(実
行資格は特権)が発行され、MPU11に受け付けられると
変換対象論理アドレスがPMMU12に入力される。PMMU12
は、そのアドレス変換機能によりアドレス変換を行い、
変換対象の論理アドレスに対応する物理アドレスを求め
る処理を行う(処理S1)。A debug request command (execution qualification is privileged) is issued by a debugger (not shown), and when the command is accepted by the MPU 11, the logical address to be converted is input to the PMMU 12. PMMU12
Performs address translation by its address translation function,
A process for obtaining a physical address corresponding to the logical address to be converted is performed (process S 1 ).
このアドレス変換処理は、例えば、OSがPMMU12に設定
した論理アドレスと物理アドレスとの対応付けを行って
いるアドレス管理テーブルを参照することにより行われ
る(詳細は、実施例の項で説明する)。This address conversion process is performed, for example, by referring to an address management table in which the OS associates the logical address and the physical address set in the PMMU 12 (details will be described in the section of the embodiment).
変換対象の論理アドレスに対応する物理アドレスが求
まると、MPU11はPMMU12の動作を一旦無効にする。これ
によりPMMU12の書込み保護が機能しなくなるので、デバ
ッグは求められた物理アドレスにより物理メモリすなわ
ち主記憶13をアクセスしてその内容を変更(デバッグ)
する。また、必要に応じてその内容の参照も行う。When the physical address corresponding to the logical address to be converted is obtained, the MPU 11 invalidates the operation of the PMMU 12 once. As a result, the write protection of the PMMU 12 does not function, so that the debug accesses the physical memory, that is, the main memory 13 with the requested physical address and changes the contents (debug).
I do. In addition, the contents are referred to as needed.
所定の変更等の処理が終了すると、MPU11はPMMU12の
無効を解除、書込み保護機能を持った元の状態に復帰さ
せる。When the processing such as the predetermined change is completed, the MPU 11 releases the invalidation of the PMMU 12 and returns to the original state having the write protection function.
以上のようにして、PMMU12の書込み保護機能を損うこ
となく、そのアドレス変換機能を利用して変換対象論理
アドレスに対応する物理アドレスを求め、特別の空間管
理機能を設けることなく物理メモリ上の書込み禁止空間
にアクセスし、その内容の変更や参照を行うことができ
る。この場合、ユーザは、PMMU12による書込み保護機能
を意識することなく、特権の実行資格においてOS空間に
アクセスすることができる。As described above, the physical address corresponding to the logical address to be converted is obtained by using the address conversion function without impairing the write protection function of the PMMU 12, and the physical address on the physical memory is not provided without providing a special space management function. The user can access the write-protected space and change or refer to the contents. In this case, the user can access the OS space with the privileged execution qualification without being aware of the write protection function of the PMMU 12.
本発明の実施例を、第2図〜第5図を参照して説明す
る。第2図は本発明の一実施例の処理をフローチャート
で示したものであり、第3図はアドレス管理テーブルの
構成をブロック図で示したものであり、第4図はページ
ディスクプリタ及びポインタディスクリプの各フォーマ
ットの説明図である。第5図の計算機システムは本発明
の実施例の実施システムとして用いられるが、そのハー
ド的な構成については既に説明したとおりである。An embodiment of the present invention will be described with reference to FIGS. FIG. 2 is a flowchart showing the processing of one embodiment of the present invention, FIG. 3 is a block diagram showing the configuration of an address management table, and FIG. 4 is a page descriptor and a pointer disk. It is explanatory drawing of each format of a lip. The computer system shown in FIG. 5 is used as an embodiment system of the embodiment of the present invention, and its hardware configuration is as described above.
(A)メモリ管理テーブルの構成 最初にメモリ管理テーブルの構成を、第3図を参照し
て説明する。(A) Configuration of Memory Management Table First, the configuration of the memory management table will be described with reference to FIG.
第3図において、40はメモリ管理テーブルで、OSによ
りPMMU12に設定される。32は、先に説明した物理メモリ
空間である。In FIG. 3, reference numeral 40 denotes a memory management table, which is set in the PMMU 12 by the OS. 32 is the physical memory space described above.
41(41A〜41D)はページテーブルで、各テーブルには
各変換対象論理アドレスを管理するページ・ディスクリ
プタが設けられている。各ページ・ディスクリプタに
は、変換対象論理アドレスに対応する物理アドレスが設
定されている。41 (41A to 41D) are page tables, and each table is provided with a page descriptor for managing each logical address to be converted. In each page descriptor, a physical address corresponding to the logical address to be converted is set.
第4図(A)は、ページ・ディスクリプタのフォーマ
ット例を示したものである。同図(A)の(a)はショ
ート形式のページ・ディスクリプタのフォーマットであ
り、同図(A)の(b)はロング形式のフォーマットで
ある。FIG. 4A shows a format example of the page descriptor. (A) of FIG. 7A shows the format of the page descriptor in the short format, and (b) of FIG. 7A shows the format of the long format.
ショート形式は1ワード構成で、上位段(16ビット)
と下位段(16ビット)からなっている。上位段の16ビッ
トと下位段の15〜8ビットはページアドレスフィールド
で、変換対象論理アドレスに対応する物理アドレスが格
納される。The short format has a 1-word configuration, and the upper stage (16 bits)
And the lower stage (16 bits). The upper 16 bits and the lower 15 to 8 bits are a page address field which stores a physical address corresponding to the logical address to be converted.
下位段の0〜8ビットに格納されるG,CL,L,M,U,WP,及
びDTの各フィールドには各種のフォーマット情報が格納
される。このうち2ビットのDTフィールドにはページ・
ディスクリプタであることを示す“01"が格納される。
その他の符号の意味については説明を省略する。Various format information is stored in the G, CL, L, M, U, WP, and DT fields stored in the lower 0 to 8 bits. Of these, the 2-bit DT field has a page
“01” indicating a descriptor is stored.
The description of the meanings of the other symbols is omitted.
ロング形式は2ワード構成で、各ワードは上位段(16
ビット)と下位段(16ビット)からなっている。第1ワ
ードの上位段16ビット(31〜16ビット)は未使用であ
り、下位段16ビット(16〜0ビット)に各種のフォーマ
ット情報が格納される。ショート形式の場合と同様に、
2ビットのDTフィールドにはページ・ディスクリプタで
あることを示す“01"が格納される。上位段の16ビット
と下位段の15〜4ビットはページアドレスフィールド
で、変換対象アドレスに対応する物理アドレスが格納さ
れる。下位段の0〜3ビットは未使用域である。The long format consists of two words, with each word in the upper row (16
Bit) and the lower stage (16 bits). The upper 16 bits (31 to 16 bits) of the first word are unused, and various format information is stored in the lower 16 bits (16 to 0 bits). As with the short type,
"01" indicating a page descriptor is stored in the 2-bit DT field. The upper 16 bits and the lower 15 to 4 bits are a page address field which stores a physical address corresponding to the address to be converted. The lower 0 to 3 bits are unused areas.
なお、ショート形式の場合もロング形式の場合も、そ
のフォーマット情報中にはそのフォーマットがショート
形式又はロング形式であることを指示する情報は格納さ
れておらず、次に説明する1階層(1レベル)上のポイ
ンタ・ディスクリプタのフォーマット情報のDTフィール
ド中に格納されている。In both the short format and the long format, information indicating that the format is the short format or the long format is not stored in the format information. ) Is stored in the DT field of the format information of the above pointer descriptor.
42はルートポインタで、スーパバイザコード、スーパ
バイザデータ、ユーザコード及びユーザデータの各論理
空間のアドレスをポイントとする。スーパバイザ及びユ
ーザの各コード(プログラム)及びデータは物理空間上
では散在するが、管理する場合は、図示のようにスーパ
バイザ及びユーザ毎にそのコード及びデータが論理空間
上で連続するように配置されて管理される。Reference numeral 42 denotes a route pointer, which points at addresses in the respective logical spaces of the supervisor code, supervisor data, user code, and user data. Each code (program) and data of the supervisor and the user are scattered in the physical space, but when managing, the code and data are arranged so as to be continuous in the logical space for each supervisor and user as shown in the figure. Be managed.
43Aはスーパバイザコード及びスーパバイザデータに
対するポインタ・テーブルAで、変換対象論理アドレス
をポイントするページ・ディスクリプタ及びこのページ
・ディスクリプタのアドレスをポイントする複数レベル
(階層)のポインタ・ディスクリプタで構成される。Reference numeral 43A denotes a pointer table A for the supervisor code and the supervisor data, which is composed of a page descriptor pointing to the logical address to be converted and a multi-level (hierarchical) pointer descriptor pointing to the address of the page descriptor.
第4図(B)は、ポインタ・ディスクリプタのフォー
マット例を示したものである。同図(B)の(a)はシ
ョート形式であり、同図(B)の(b)はロング形式で
ある。FIG. 4B shows a format example of the pointer descriptor. (A) of FIG. 7B is a short type, and (b) of FIG. 8B is a long type.
ショート形式は1ワード構成で、上位段(16ビット)
と下位段(16ビット)で構成され、上位段16ビットには
次の階層(レベル)のテーブルのテーブルアドレスPAの
上位31〜16ビットが格納され、下位段の15〜4ビットに
はテーブルアドレスPAの下位15〜4ビットが格納され
る。下位段の0〜4ビットには各種のフォーマット情報
が格納され、このうち2ビットのDTフィールドには、こ
のポインタ・ディスクリプタのポイントする次の階層
(レベル)のディスクリプタ(ポインタ・ディスクリプ
タ又はページディスクリプタ)のフォーマットがショー
ト形成であることを指示する“10"が格納される。The short format has a 1-word configuration, and the upper stage (16 bits)
And the lower stage (16 bits). The upper stage 16 bits store the upper 31 to 16 bits of the table address PA of the table of the next hierarchy (level), and the lower stage 15 to 4 bits store the table address. The lower 15 to 4 bits of PA are stored. Various format information is stored in the lower 0 to 4 bits, and a 2-bit DT field includes a descriptor (pointer descriptor or page descriptor) of the next hierarchy (level) pointed to by the pointer descriptor. "10" indicating that the format is short-circuit formation is stored.
ロング形式は2ワード構成で、各ワードは上位段(16
ビット)と下位段(16ビット)で構成される。第1ワー
ドの上位段16ビット(31〜16ビット)は未使用であり、
下位段16ビット(16〜0ビット)に各種のフォーマット
情報が格納される。このうち2ビットのDTフィールドに
は、次の階層(レベル)のディスクリプタのフォーマッ
トがロング形式であることを指示する“11"が格納され
る。第2ワードの上位段16ビット(31〜16ビット)には
次の階層(レベル)のテーブルのアドレスであるテーブ
ルアドレスPAの上位31〜16ビットが格納され、下位段の
16〜4ビットにはテーブルアドレスPAの下位15〜4ビッ
トが格納される。下位段の0〜3ビットは未使用であ
る。The long format consists of two words, with each word in the upper row (16
Bit) and the lower stage (16 bits). The upper 16 bits (31 to 16 bits) of the first word are unused,
Various format information is stored in the lower 16 bits (16-0 bits). In the 2-bit DT field, “11” indicating that the format of the descriptor of the next hierarchy (level) is the long format is stored. In the upper 16 bits (31 to 16 bits) of the second word, the upper 31 to 16 bits of the table address PA which is the address of the table of the next hierarchy (level) are stored.
In the 16 to 4 bits, the lower 15 to 4 bits of the table address PA are stored. Bits 0 to 3 in the lower stage are unused.
なお、ショート形式の場合もロング形式の場合も、ペ
ージ・ディスクリプタの場合と同様に、そのフォーマッ
ト情報中にはそのフォーマットがショート形式であるか
ロング形式であるかを指示する情報は格納されておら
ず、1階層、上のポインタ・ディスクリプタのフォーマ
ット情報のDTフィールド中に格納されている。In both the short format and the long format, as in the case of the page descriptor, information indicating whether the format is the short format or the long format is stored in the format information. Instead, it is stored in the DT field of the format information of the pointer descriptor one level higher.
第3図の43Bはユーザコード及びユーザデータに対す
るポインタ・テーブルで、これらのユーザコード及びユ
ーザデータに対するページ・ディスクリプタ及びポイン
タ・ディスクリプタの構成は、前述のスーパバイザコー
ド及びデータに対するページ・ディスクリプタ及びポイ
ンタ・ディスクリプタの構成(第4図参照)と同じであ
る。Reference numeral 43B in FIG. 3 is a pointer table for the user code and the user data. The structure of the page descriptor and the pointer descriptor for the user code and the user data is the same as the page descriptor and the pointer descriptor for the supervisor code and the data. (See FIG. 4).
(B)実施例の動作 OS等のテストやメンテナンスを行ってバグが発見さ
れ、デバッグを行ってOS空間の内容を変更する場合を例
にとって、本発明の動作を第2図の処理ステップに従っ
て説明する。第2図の処理S1及びS2については、第1図
で説明したとおりであり、処理S11〜S15は処理S1の具体
的な内部処理である。実施例の処理は、第5図の計算機
システムによって行われる。(B) Operation of the Example The operation of the present invention will be described in accordance with the processing steps in FIG. 2 in a case where a bug is found by testing or maintaining the OS or the like and the contents of the OS space are changed by debugging. I do. The processing S 1 and S 2 of Figure 2, is as described in Figure 1, the process S 11 to S 15 is a specific internal processing of the processing S 1. The processing of this embodiment is performed by the computer system shown in FIG.
処理S11 図示しないデバッグよりデバッグ要求のコマンド(実
行資格は特権)が発行され、MPU11より受け付けられる
と、デバッグより変換対象論理アドレスが、外部バス15
を通ってPMMU12に送られる。Processing S 11 When a debug request command (execution qualification is privileged) is issued from a debug (not shown) and accepted by the MPU 11, the logical address to be converted is changed from the debug to the external bus 15.
Through to PMMU12.
この変換対象論理アドレスがスーパバイザコード、ス
ーパバイザデータ、ユーザコード及びユーザデータのど
の論理空間に存在するか不明であるため、MPU11は、ル
ートポインタ42により1つの論理空間を選択する。MPU1
1は、ルートポインタ42がスーパバイザコード→スーパ
バイザデータ→ユーザコード→ユーザデータの順に論理
空間を選択するとするが、最初はスーパバイザコードの
論理空間が選択される。The MPU 11 selects one logical space by the route pointer 42 because it is unknown in which logical space the supervisory address, the supervisor data, the user code, and the user data exist. MPU1
1 indicates that the root pointer 42 selects a logical space in the order of supervisor code → supervisor data → user code → user data, but first the logical space of the supervisor code is selected.
処理S12,S13 スーパバイザコードの論理空間が選択されると、MPU1
1はPMMU12に対し検索を行う命令(以下ptest命令とい
う)を発行し、変換対象論理アドレスをポイントするペ
ージ・ディスクリプタのアドレスを求める処理を行う
(処理S12)。When the process S 12, S 13 logical space of supervisor code is selected, MPU 1
1 issues a search instruction (hereinafter, referred to as a ptest instruction) to the PMMU 12, and performs processing for obtaining the address of a page descriptor pointing to the logical address to be converted (processing S12).
このptest命令により、第4図で説明したように、ポ
インタ・テーブル43Aのポインタ・ディスクリプタを上
位階層から下位階層に順番にポイントすることにより各
ページ・ディスクリプタが順番にサーチされ、変換対象
論理アドレスをポイントするページ・ディスクリプタの
アドレス有無がサーチされる。As described with reference to FIG. 4, each page descriptor is sequentially searched by pointing the pointer descriptor of the pointer table 43A from the upper hierarchy to the lower hierarchy by the ptest instruction, and the logical address to be converted is determined. The presence or absence of the address of the page descriptor to be pointed is searched.
もし、スーパバイザコードの論理空間において変換対
象論理アドレスをポイントするページ・ディスクリプタ
が検索されないときは、処理S11に戻る(処理S13)。If, when the page descriptor that points to the converted logical address in the logical space of the supervisor code is not found, the processing returns to S 11 (processing S 13).
MPU11は、ルートポインタ42によって次の論理空間
(スーパバイザデータ)を選択してPMMU12に対してptes
t命令を発行し、スーパバイザデータの論理空間につい
て、変換対象論理アドレスをポイントするページ・ディ
スクリプタのアドレスを求める処理を行う。スーパバイ
ザデータの論理空間においても求めるページ・ディスク
リプタが検索されないときは、以下同様にして、ユーザ
コード及びユーザデータの各論理空間について前述のS
11及びS12の各処理を行う。The MPU 11 selects the next logical space (supervisor data) by the route pointer 42 and ptes to the PMMU 12
The t instruction is issued to perform processing for obtaining the address of the page descriptor that points to the logical address to be converted in the logical space of the supervisor data. When the desired page descriptor is not searched in the logical space of the supervisor data, the above-described S is performed for each logical space of the user code and the user data in the same manner.
Steps 11 and 12 are performed.
処理S14 変換対象論理アドレスをポイントするページ・ディス
クリプタが求めると、そのページ・ディスクリプタにお
けるページアドレス格納位置を知るために、最終ポイン
タ・ディスクリプタを求めてこのページ・ディスクリプ
タのフォーマットがショート形式かロング形式かを知る
処理を行うことが必要である((A)項における第4図
の説明参照)。When a page descriptor that points to the process S 14 converted logical address is determined, in order to know the page address storage location in the page descriptor, the page descriptor format short format or long form of seeking final pointer descriptor It is necessary to perform a process of knowing whether or not this is the case (see the description of FIG. 4 in the section (A)).
このため、まず、ページ・ディスクリプタが求まった
時点でテーブルの存在を階層(レベル)が求められる。Therefore, first, when the page descriptor is obtained, the hierarchy (level) of the existence of the table is obtained.
処理S15 MPU11は、求まった階層の1階層上のテーブルをptest
命令により再度求める。これにより、ページ・ディスク
リプタをポイントした最終のポインタ・ディスクリプタ
が求まり、そのフォーマット情報中のDTフィールドが
“10"であるか“11"であるかを検出することにより、ペ
ージ・ディスクリプタのフォーマットがショートである
か(“10"の場合)ロング形式であるか(“11"の場合)
が求められる(第4図の説明参照)。Process S 15 The MPU 11 ptests the table one level higher than the obtained level
Find again by instruction. As a result, the final pointer descriptor pointing to the page descriptor is obtained, and by detecting whether the DT field in the format information is “10” or “11”, the format of the page descriptor is short-circuited. ("10") Long format ("11")
(See the description of FIG. 4).
処理S16 求まった形式に従って、ページ・ディスクリプタに設
定されている変換対象論理アドレスが対応する物理アド
レスを求める。すなわち、第4図(A)で説明したよう
に、ショート形式では8〜31ビットのページアドレスフ
ィールドに変換対象論理アドレスに対応する物理アドレ
スが設定されており、ロング形式では、第2ワードの4
〜31ビットのページアドレスフィールドに、変換対象論
理アドレスに対応する物理アドレスが設定されている。
実際の物理アドレスは、論理アドレスから物理アドレス
を求める通常の算出法と同様に、ページ・ディスクリプ
タのページアドレスフィールドから求まる物理アドレス
の残りの下位ビット(ショート及びロング形式とも0〜
7ビット、第4図参照)に変換対象論理アドレスの対応
する下位ビットを代入することにより算出される。According to the process S 16 Motoma' form, obtaining the physical address conversion target logical address that is set in the page descriptor corresponds. That is, as described with reference to FIG. 4A, in the short format, the physical address corresponding to the logical address to be converted is set in the 8- to 31-bit page address field.
A physical address corresponding to the logical address to be converted is set in the page address field of up to 31 bits.
The actual physical address is the same as the normal calculation method for obtaining the physical address from the logical address, and the remaining lower bits (both short and long formats) of the physical address obtained from the page address field of the page descriptor are 0 to 0.
7 bits, see FIG. 4) to which the lower bits corresponding to the logical address to be converted are assigned.
変換対象論理アドレスに対応する物理アドレスが求
まると、MPU11はPMMU12の動作を一旦無効にしてその書
込み保護機能を解除し、物理メモリすなわちMSU13が書
込み可能になったこと及び求められた物理アドレスをデ
バッグ側に通知する。デバッグは、通知された物理アド
レスでMSU13をアクセスし、そのOS空間に書込みを行っ
て内容を変更し必要なデバッグを行う。When the physical address corresponding to the logical address to be converted is obtained, the MPU 11 temporarily disables the operation of the PMMU 12 to release the write protection function, and debugs that the physical memory, that is, the MSU 13 is writable, and debugs the obtained physical address. Notify the side. For debugging, the MSU 13 is accessed at the notified physical address, the OS space is written, the contents are changed, and necessary debugging is performed.
内容の変更処理等が終了するとMPU11は、PMMU12の動
作無効状態を解除し、元の書込み保護機能を持った状態
に復帰させる。When the content change processing or the like is completed, the MPU 11 releases the operation invalid state of the PMMU 12, and returns to the state having the original write protection function.
以上のようにして、通常は書込み禁止空間であるOS空
間に対してデバッグ時にアクセスし、必要な変更を行う
ことができる。As described above, it is possible to access the OS space, which is usually a write-protected space, at the time of debugging and make necessary changes.
以上説明したように、本発明によれば次の諸効果が得
られる。As described above, according to the present invention, the following effects can be obtained.
(1) 書込み保護機能を保持しつつ、特別の空間管理
機能を設けることなく物理メモリ上の書込み禁止空間に
アクセスしてその内容の参照や変更等を行うことができ
る。(1) While retaining the write protection function, it is possible to access the write-protected space on the physical memory and to refer to or change the contents without providing a special space management function.
(2) ユーザは、メモリ管理コ・プロセッサによる書
込み保護機能を意識することなく、特権の実行資格にお
いてOS空間にアクセスしてその内容の参照や変更を行う
ことができる。(2) The user can access the OS space with the privileged execution qualification and refer to or change the contents without being aware of the write protection function of the memory management coprocessor.
第1図は、本発明の基本構成の説明図、 第2図は、本発明の一実施例の処理フローチャート、 第3図は、同実施例に用いられるアドレス管理テーブル
の説明図、 第4図は、同アドレス管理テーブルのページ・ディスク
リプタ及びポインタ・ディスクリプタの各フォーマット
の説明図、 第5図は、メモリ管理用コ・プロセッサを備えた計算機
システムの構成の説明図、 第6図は、同計算機システムの論理空間のメモリマップ
の説明図、 第7図は、論理空間と物理空間の対応関係の説明図であ
る。 第3図及び第5図において、 10……CPUボード、11……命令プロセッサ(MPU)、12…
…メモリ管理用コ・プロセッサ(PMMU)、13……主記憶
装置(MSU)、14……内部バス、15……外部バス、40…
…メモリ管理テーブル、41……ページ・テーブル、42…
…ルート・ポインタ、43A,43B……ポインタ・テーブ
ル。FIG. 1 is an explanatory diagram of a basic configuration of the present invention, FIG. 2 is a processing flowchart of an embodiment of the present invention, FIG. 3 is an explanatory diagram of an address management table used in the embodiment, FIG. Is an explanatory diagram of each format of a page descriptor and a pointer descriptor of the address management table, FIG. 5 is an explanatory diagram of a configuration of a computer system including a memory management coprocessor, and FIG. FIG. 7 is an explanatory diagram of a memory map of a logical space of the system. FIG. 7 is an explanatory diagram of a correspondence between a logical space and a physical space. 3 and 5, 10 ... CPU board, 11 ... Instruction processor (MPU), 12 ...
... Memory management co-processor (PMMU), 13 ... Main storage unit (MSU), 14 ... Internal bus, 15 ... External bus, 40 ...
... Memory management table, 41 ... Page table, 42 ...
... Root pointer, 43A, 43B ... Pointer table.
Claims (2)
管理用コ・プロセッサを用いたオペレーティングシステ
ムの空間の内容を変更するデバッグシステムにおいて、 当該空間に対して、アクセス権限を伴ったアクセス要求
を発行する発行手段と、 当該空間の内容に対する変更を保護し、当該発行手段に
よるアクセス対象の論理アドレスを物理アドレスに変換
するメモリ管理用コ・プロセッサと、 当該物理アドレス取得後、当該メモリ管理用コ・プロセ
ッサを無効とする無効手段と、 当該無効後、前記物理アドレスに基づき前記空間の内容
を書き換える書換手段と、 を有することを特徴とするデバッグシステム。1. A debug system for dynamically changing the contents of a space in an operating system using a memory management coprocessor without a write protection release function, comprising the steps of: Issuing means for issuing a request, a memory management coprocessor for protecting a change to the contents of the space and converting a logical address to be accessed by the issuing means into a physical address, and And a rewriting means for rewriting the contents of the space based on the physical address after the invalidation.
き前記空間の内容の参照も含むことを特徴とする請求項
1記載のデバッグシステム。2. The debugging system according to claim 1, wherein said rewriting means includes reference to the contents of said space based on said physical address.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63063587A JP2637146B2 (en) | 1988-03-18 | 1988-03-18 | Debug system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63063587A JP2637146B2 (en) | 1988-03-18 | 1988-03-18 | Debug system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01237858A JPH01237858A (en) | 1989-09-22 |
JP2637146B2 true JP2637146B2 (en) | 1997-08-06 |
Family
ID=13233549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63063587A Expired - Lifetime JP2637146B2 (en) | 1988-03-18 | 1988-03-18 | Debug system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2637146B2 (en) |
-
1988
- 1988-03-18 JP JP63063587A patent/JP2637146B2/en not_active Expired - Lifetime
Non-Patent Citations (2)
Title |
---|
「Z8000ユーザーズ・マニュアル〔1〕CPU/MMU編」シャープ株式会社、P.2−14〜2−18 |
Electronic Desigr,May15(1986−5−15)(米)P.151−160 |
Also Published As
Publication number | Publication date |
---|---|
JPH01237858A (en) | 1989-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102129410B (en) | Providing extended memory protection | |
CN109564522B (en) | Controlling access to pages in memory of a computing device | |
JP2833062B2 (en) | Cache memory control method, processor and information processing apparatus using the cache memory control method | |
US7069389B2 (en) | Lazy flushing of translation lookaside buffers | |
EP2997477B1 (en) | Page table data management | |
US7882317B2 (en) | Process isolation using protection domains | |
JP2757777B2 (en) | Method and system for detecting unauthorized access to memory | |
US11467977B2 (en) | Method and apparatus for monitoring memory access behavior of sample process | |
US20020046305A1 (en) | Method for effective binary translation between different instruction sets using emulated supervisor flag and multiple page tables | |
KR20230159879A (en) | Migrate memory pages accessible by I/O devices | |
TW201941063A (en) | Controlling guard tag checking in memory accesses | |
US5875487A (en) | System and method for providing efficient shared memory in a virtual memory system | |
JP3629507B2 (en) | System and method for providing shared memory using shared virtual segment identification in a computer system | |
US4042913A (en) | Address key register load/store instruction system | |
JPH04225438A (en) | System and method for executing application program | |
US7293207B2 (en) | Method for testing memory in a computer system utilizing a CPU with either 32-bit or 36-bit memory addressing | |
BR9811952B1 (en) | processor and method for specifying memory attributes. | |
KR102658600B1 (en) | Apparatus and method for accessing metadata when debugging a device | |
JP2637146B2 (en) | Debug system | |
JP3061818B2 (en) | Access monitor device for microprocessor | |
JPS59140566A (en) | Information processing device | |
JPH03113548A (en) | Extension memory controller | |
JPH024016B2 (en) | ||
JPH028337B2 (en) | ||
JPH024017B2 (en) |