JPH08171500A - コンピュータシステム - Google Patents

コンピュータシステム

Info

Publication number
JPH08171500A
JPH08171500A JP7184261A JP18426195A JPH08171500A JP H08171500 A JPH08171500 A JP H08171500A JP 7184261 A JP7184261 A JP 7184261A JP 18426195 A JP18426195 A JP 18426195A JP H08171500 A JPH08171500 A JP H08171500A
Authority
JP
Japan
Prior art keywords
memory
interrupt
control unit
debug
state
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.)
Withdrawn
Application number
JP7184261A
Other languages
English (en)
Inventor
Michael D Pedneau
マイケル・ディ・ペドニュー
Hans Magnusson
ハンス・マグヌッソン
Dan S Mudgett
ダン・エス・マジェット
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices 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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JPH08171500A publication Critical patent/JPH08171500A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/36—Prevention of errors by analysis, debugging or testing of software
    • G06F11/362—Debugging of software
    • G06F11/3648—Debugging of software using additional hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Iron Core Of Rotating Electric Machines (AREA)

Abstract

(57)【要約】 【課題】 システム管理機能を効率的に処理可能であ
り、かつシステム管理コードのインサーキットエミュレ
ーションモードをサポートするマイクロプロセッサコア
を含むコンピュータシステムを提供する。 【解決手段】 割込入力ラインを含むマイクロプロセッ
サコア202と、割込入力ラインに結合され、かつデバ
ッグ割込信号およびSMM割込信号を受取ることができ
る割込制御ユニット204と、システムメモリ210
と、プロセッサコアとメモリモードラインとに結合され
たメモリ制御ユニット208とを含むコンピュータシス
テム。コンピュータシステムは、デバッグ割込信号をア
サートすることにより、マイクロプロセッサコアがシス
テムメモリのシステム管理空間の外で実行している間に
インサーキットエミュレーションモードに入るのを可能
にする。

Description

【発明の詳細な説明】
【0001】
【発明の分野】この発明は、コンピュータシステムに関
し、より特定的には、インサーキットエミュレーション
をサポートする機構および技術に関する。
【0002】
【関連技術の説明】コンピュータシステムの心臓部はマ
イクロプロセッサである。マイクロプロセッサの、近年
の進歩つれて、マルチタスキング、特殊なグラフィック
処理、強化された数値演算機能、およびパワーマネージ
メントなどの、ますます多くの機能をサポートするよう
に設計されている。
【0003】マイクロプロセッサの能力の向上は、ソフ
トウェアプログラマが、より複雑なソフトウェアプログ
ラムを生成するのを可能にし、かつソフトウェアプログ
ラムの実行の効率的なかつ多様な制御を可能にしてい
る。しかしながら、ソフトウェアの複雑さが増すにつれ
て、欠陥または「バグ」のないソフトウェアコードを設
計することが、より困難になっている。ソフトウェアを
効率的にデバッグする能力が、ソフトウェア製品の開発
における望ましいステップである。
【0004】したがって、多くのコンピュータシステム
が、ソフトウェアプログラマがソフトウェアをデバッグ
するのを可能にする機構を有するように構成されてい
る。たとえば、特に一般的な80486型マイクロプロ
セッサなどのマイクロプロセッサは、ソフトウェアコー
ドを実行している間に、ソフトウェアプログラマがマイ
クロプロセッサに問合せ、これを分析し、かつ制御する
のを可能にする機能を備えて、設計される。80486
型をベースとしたシステム内に典型的にはサポートされ
る、そのような機能の1つは、インサーキットエミュレ
ーションモードまたはICEモードとして知られてい
る。
【0005】図1は、インサーキットエミュレーション
モードをサポートする、典型的なコンピュータシステム
100を図示しているブロック図である。コンピュータ
システム100は、マイクロプロセッサ(CPU)10
4とランダムアクセスメモリユニット106とに結合さ
れたメモリ制御ユニット(MCU)102を含む。
【0006】コンピュータシステム100のインサーキ
ットエミュレーションモードは、マイクロプロセッサ1
04が(ソフトウェアコードがノーマルメモリ空間の外
で実行される)ノーマルモードで動作している間に開始
され得る。インサーキットエミュレーションモードは、
ライン108のICE割込信号に応答して、マイクロプ
ロセッサ104により開始される。当業者により理解さ
れるように、ICE割込信号は外部ソース(図示せず)
によりアサートされ得る。ICE割込信号がアサートさ
れると、マイクロプロセッサ104は、インサーキット
エミュレーション(ICE)モードに遷移し、ICEコ
ードと呼ばれるものを処理し始める。ICEモードの
間、マイクロプロセッサ104は、メモリアクセスの間
にノーマルアドレスストローブ信号ではなくICEアド
レスストローブ(ICEADS)をアサートする。な
お、これは、所望であれば、ICEコードが、ノーマル
メモリ空間から完全に分けられたメモリのバンク内にス
トアされるのを可能にする。示された実施例では、IC
Eコードの開始メモリロケーション110は、メモリユ
ニット106の予め定められたメモリロケーション11
2にストアされるICEベクターにより、指し示され
る。ICE割込信号のアサートに応答して、マイクロプ
ロセッサ104は、ICEベクターを読出し、ICEベ
クターにより示されるメモリロケーションにジャンプす
る。この時点で、マイクロプロセッサ104はICEコ
ードを実行し始める。ICEコードを構成する命令の最
初の部分は、マイクロプロセッサ104が、マイクロプ
ロセッサ104と関連する「状態情報」とまとめて呼ば
れる、さまざまなレジスタ、フラグおよび他のパラメー
タの現在の状態をストアすることを引起こす。この状態
情報を退避することにより、ユーザは、その後、状態情
報が退避されたメモリロケーションを検査し、それによ
りICE割込がアサートされたときのマイクロプロセッ
サの内部状態を判定することができる。ICEコード
は、システムプログラマにより、さまざまな問合せ機能
をサポートするように仕立て直され得る。そのような問
合せ機能は、たとえばプログラマがコードを1ステップ
ずつ実行しかつさまざまなメモリ空間およびレジスタの
状態を調べるのを可能にすることにより、ソフトウェア
をデバッグする際に大いにプログラマの助けになり得
る。ICEコードの最後の命令は、典型的には、マイク
ロプロセッサを、ICE割込が最初にアサートされたと
きの状態に戻す復帰命令である。退避された状態情報
は、マイクロプロセッサ104がICE手順の終りでノ
ーマル動作に戻るのを可能にする。なぜなら状態情報
が、それが最初に存在した、様々なCPUレジスタおよ
びフラグロケーション内にリストアされ得るからであ
る。状態情報は、復帰命令の実行の直前にリストアされ
る。復帰命令が実行されると、マイクロプロセッサは、
ICE割込が最初にアサートされたときの状態に戻る。
【0007】ICE割込はまた、パワーマネージメント
などの定型的なシステム管理機能を実行するように、コ
ンピュータシステム内でよく用いられる。プログラマ
は、コンピュータシステムのICEメモリ空間内にシス
テム管理コードをストアしてシステム管理機能の効率的
な処理を達成することができる。しかしながら、システ
ム管理機能のためにICE割込を用いることは、システ
ム管理ソフトウェアコードを設計するにおいて困難をも
たらしている。なぜなら、システム管理コードが実行し
ている間にはインサーキットエミュレーションモードに
入れないからである。これは、比較的複雑なシステム管
理ソフトウェアを用いるコンピュータシステム内で特に
問題となっている。
【0008】
【発明の概要】上で概略を述べた問題は、大部分は、こ
の発明に従う、システム管理ソフトウェアをデバッグす
るためのインサーキットエミュレーションモードを含む
マイクロプロセッサおよびコンピュータシステムにより
解決される。1つの実施例では、コンピュータシステム
は、コンピュータシステムのインサーキットエミュレー
ションモードをサポートするように、ICE割込ライン
を有するマイクロプロセッサコアを含む。言換えると、
ICE割込ラインは、マイクロプロセッサコアがICE
コードの実行を始めるのを選択的に引起こすICE割込
信号に対応する。割込制御ユニットは、マイクロプロセ
ッサコアのICE割込ラインに結合され、かつ外部「デ
バッグ」割込信号および外部SMM(システム管理モー
ド)割込信号のアサートに従って、メモリ制御ユニット
を制御する。ノーマル動作の間、マイクロプロセッサコ
アは、メモリ制御ユニットに結合されたシステムメモリ
の「ノーマル」メモリ領域の外でコードを実行する。マ
イクロプロセッサコアがそのノーマルモードで動作して
いる間にデバッグ割込信号がアサートされると、割込制
御ユニットが、応答してICE割込信号をマイクロプロ
セッサコアにアサートする。これは、プロセッサコア
が、システムメモリからICEベクターを読出し、その
後にICEコードを実行することを引起こす。システム
メモリ内の第2の領域は、システム管理コードのために
割当てられる。マイクロプロセッサコアがノーマルモー
ドで動作している間にSMM割込信号がアサートされる
と、割込制御ユニットはまた、ICE割込信号をアサー
トする。マイクロプロセッサコアは、応答してICEベ
クターを要求する。しかしながらこのモードでは、割込
制御ユニットは、メモリ制御ユニットが、要求されたア
ドレスを、SMMベクターがストアされるシステムメモ
リの第2のメモリロケーションに変換することを引起こ
す。SMMベクターは、SMMコードの開始アドレスを
示す。従って、マイクロプロセッサコアがSMMベクタ
ーを受取ると、それはシステム管理コードの実行を始め
る。コンピュータシステムは、デバッグ割込信号をアサ
ートすることにより、マイクロプロセッサコアがシステ
ムメモリのシステム管理空間の外で実行している間に、
インサーキットエミュレーションモードに入るのを可能
にする。マイクロプロセッサコアがシステム管理コード
を実行している間にデバッグ割込信号がアサートされる
と、割込制御ユニットはまた、ICE信号をマイクロプ
ロセッサコアにアサートする。その後マイクロプロセッ
サコアは、メモリ制御ユニットを介してICEベクター
を読出し、ICEコードの実行を始める。ICEコード
が完了すると、マイクロプロセッサコアは、デバッグ割
込信号がアサートされたときに実行していたシステム管
理コード内の地点に戻る。コンピュータシステムは利点
として、システム管理機能の効率的な処理を維持しなが
ら、システム管理コードのインサーキットエミュレーシ
ョンを可能にする。
【0009】概して、この発明は、割込入力ラインを含
むプロセッサコアと、割込入力ラインに結合された割込
制御ユニットとを含むコンピュータシステムを企図す
る。割込制御ユニットは、デバッグ割込信号およびSM
M割込信号を受取ることができ、割込制御ユニットの現
在の状態は、デバッグ割込信号およびSMM割込信号の
アサートに依存し、さらに割込制御ユニットは、割込制
御ユニットの現在の状態を示すメモリモード信号をメモ
リモードライン上に発生することができる。割込制御ユ
ニットはさらに、デバッグ割込信号およびSMM割込信
号のアサートに応答して、割込入力ライン上のICE割
込信号を選択的にアサートすることができる。コンピュ
ータシステムはさらに、ランダムアクセスメモリ、およ
びプロセッサコアとメモリモードラインとに結合された
メモリ制御ユニットを含み、メモリ制御ユニットは、プ
ロセッサコアからアドレス信号を受取ることができ、か
つメモリモード信号が第1の状態のときにランダムアク
セスメモリの第1の物理的なロケーションに、およびメ
モリモード信号が第2の状態のときにランダムアクセス
メモリの第2の物理的なロケーションに、アドレス信号
をマッピングすることができる。
【0010】この発明の他の目的および利点は、次の詳
細な説明を読みかつ添付の図面を参照すると明らかにな
るであろう。
【0011】この発明にはさまざまな変形例および代替
の形態が可能であるが、その特定の実施例を図面に一例
として示しかつここに詳細に説明する。しかしながら、
その図面および詳細な説明は、この発明を開示される特
定の形態に限定することを意図せず、それどころかその
意図するところは、前掲の特許請求の範囲により規定さ
れるこの発明の精神および範囲内にあるすべての変形
例、均等物および代替例をカバーすることであると理解
されるべきである。
【0012】
【詳細な説明】次に図2を参照すると、この発明に従う
コンピュータシステム200のブロック図が示される。
コンピュータシステム200は、割込制御ユニット20
4に結合されたプロセッサコア202、ビデオコントロ
ーラ206、およびメモリ制御ユニット208を含む。
システムメモリ210は、メモリ制御ユニット208に
結合されてさらに示される。その図示された形態では、
メモリ制御ユニット208は、データバッファ212、
アドレス変換および制御ユニット214、およびロック
アウトレジスタ216を含む。
【0013】プロセッサコア202は、たとえば804
86型マイクロプロセッサコアである。システムメモリ
210は、たとえばダイナミックRAMからなるメモリ
システムである。ビデオコントローラ206は、従来の
ビデオコントローラであり、これはプロセッサコア20
2からデータを受取り、対応してビデオディスプレイ装
置(図示せず)を駆動する。概して、メモリ制御ユニッ
ト208は、システムメモリ210とCPUローカルバ
ス222との間のデータの転送を制御しかつ統制する。
メモリ制御ユニット208に関する特定の詳細を以下で
さらに述べる。
【0014】割込制御ユニット204は、以下で詳細に
説明されるように、プロセッサコア202の入力端子2
20のICE割込信号のアサートを制御し、かつメモリ
制御ユニット208の動作状態を制御するように設けら
れる。当業者には容易に明らかであるように、および先
に説明されたように、ライン220のICE割込信号の
アサートは、マイクロプロセッサ202が、システムメ
モリ210の予め定められたアドレスを有するICEベ
クターを読出すことを引起こす。ICEベクターは、I
CE割込サービスルーチンのアドレスを指し示す。IC
Eコードを含む命令の最初の部分は、プロセッサコア2
02が、(プロセッサコア202と関連する)さまざま
なレジスタ、フラグおよび他のパラメータの現在の状態
をストアすることを引起こす。ICEコードの別の部分
は、様々な問合せ機能をサポートするように、システム
プログラマにより仕立て直されて、たとえば、プログラ
マがコードを1ステップずつ実行しかつさまざまなメモ
リ空間およびレジスタの状態を調べるのを可能にする。
ICEコードの最後の命令は、プロセッサコア202
を、ICE割込が最初にアサートされたときの状態に戻
す復帰命令である。退避された状態情報は、プロセッサ
コア202がICE手順の終りにノーマル動作に戻るの
を可能にする。なぜなら状態情報が、復帰命令の実行の
直前にさまざまなCPUレジスタおよびフラグロケーシ
ョン内にリストアされるからである。
【0015】メモリ制御ユニット208は、MEMMO
DE[1:0]と表記される2ビットのメモリモード信
号に依存して、システムメモリ210とプロセッサコア
202との間のデータの転送を制御しかつ統制する。以
下でより理解されるように、割込制御ユニット204の
状態に依存して、コンピュータシステム200は、「ノ
ーマル」モード、「システム管理」モード、「デバッ
グ」モードまたは「デバッグSMM」モードのいずれか
で動作する。これらのモードの各々を以下で詳細に説明
する。ノーマルモードの間にメモリ制御ユニット208
によりアクセスされるメモリ空間は、一般に「ノーマル
メモリ空間」と呼ばれる。
【0016】データバッファ212は、CPUローカル
バス222とシステムメモリ210との間のデータ転送
のための一時記憶領域を与える。一般に、アドレス変換
および制御ユニット214は、CPUローカルバス22
2からのアドレス信号を変換し、かつ対応するアドレス
信号をシステムメモリ210に与える。アドレス変換お
よび制御ユニット214はさらに、従来の技術に従って
所望のデータ転送を行なうように、CPUローカルバス
222およびシステムメモリ210と関連するタイミン
グおよび制御信号を与える。これらのタイミングおよび
制御信号は、コンピュータシステム200内で用いられ
る特定のプロトコルに依存しており、その発生は様々な
異なるシステムに対してよく知られている。ロックアウ
トレジスタ216の機能を以下でさらに説明する。
【0017】割込制御ユニット204の動作を最初に考
える。図3を参照すると、割込制御ユニット204の動
作状態を示す状態遷移図300が示される。図3の状態
遷移図300は、割込制御ユニット204のさまざまな
状態と、「デバッグ割込」信号および「SMM割込」信
号の選択的アサートに対するその応答とを示す。状態遷
移図により示されるように、割込制御ユニット204
は、ノーマル状態302、デバッグ状態304、SMM
状態306、およびデバッグSMM状態308を含む。
【0018】デバッグ割込(DBGINTR)およびS
MM割込(SMIINTR)は、テストユニットおよび
外部パワーマネージメントユニットなどのいかなるソー
スによっても、それぞれアサートされ得る。図2および
図3をまとめて参照すると、システムリセット時に割込
制御ユニット204が状態302に入る。状態302
は、その間プロセッサコア202がノーマルモードで動
作する、コンピュータシステム200の動作のノーマル
モードを表わす。ノーマルモードの間、プロセッサコア
202が、システムメモリ210へのアクセスを要求す
る命令を実行すると、アドレス変換および制御ユニット
214は、(以下で示されるように)システムメモリ2
10の「ノーマルメモリ空間」がアクセスされるよう
に、アドレスをCPUローカルバス222からシステム
メモリ210の対応するアドレスに直接マッピングす
る。そのようなわけで、オペレーティングシステムおよ
び所望のアプリケーションプログラムが従来の態様で実
行され得る。動作のノーマルモードの間、メモリ制御ユ
ニット208により直接マッピングが用いられるが、い
かなる形式のメモリマッピングまたはインデックス方式
も、ノーマルメモリ空間をアクセスするようにメモリ制
御ユニット208により実現され得ることが理解され
る。コンピュータシステム200内のメモリ空間のマッ
ピングに関するさらなる詳細を以下で述べる。
【0019】状態302の間、割込制御ユニット204
は、デバッグ割込およびSMM割込の両方のアサートを
検出する。デバッグ割込信号のアサートは、割込制御ユ
ニット204が状態302から状態304に遷移するこ
とを引起こす。状態304は、コンピュータシステム2
00のデバッグモードと呼ばれる。この状態は、ユーザ
が、コンピュータシステム200のノーマルメモリ空間
の外で実行しているソフトウェアをデバッグするのを可
能にする。なお、この実施例では、割込制御ユニット2
04は、プロセッサコア202からのICEADS信号
またはADS信号のいずれかのアサートに応答して、ア
ドレスストローブ信号ADSをメモリ制御ユニット20
8にアサートすることが注目される。割込制御ユニット
204が状態304に遷移すると、プロセッサコア20
2へのICE割込信号が制御ユニット204によりアサ
ートされ、これは、プロセッサコア202が、MEMM
ODE信号により反映される、そのインサーキットエミ
ュレーション(ICE)モードに入ることを引起こす。
先に述べたように、ICE割込のアサートに応答して、
プロセッサコア202は、「ICEベクター」を読出
し、その後にプロセッサコア202がその外で実行しな
ければならない、システムメモリ210内のICEコー
ドの開始アドレスロケーションを決定する。当業者は、
プロセッサコア202が、システムメモリ210内の予
め指定されたメモリロケーションの「ICEベクター」
を読出すことを理解するであろう。メモリモード信号M
EMMODE[1:0]は、状態304の間に割込制御
ユニット204により駆動され、現在の状態が「デバッ
グ」モードであることをメモリ制御ユニット208に示
す。これは、アドレス変換および制御ユニット214
が、(プロセッサコア202により)ローカルバス22
2のアドレスライン上に駆動される「ICEベクター」
のアドレスを、システムメモリ210の予め定められた
メモリロケーションの値(「デバッグベクター」と呼ば
れる)に変換することを引起こす。これは、一般にシス
テムメモリ210のデバッグメモリ空間と呼ばれるもの
の開始アドレスロケーションを含む。デバッグメモリ空
間は、インサーキットエミュレーションコードを含み、
プログラマがプロセッサコア202の状態を問合せるの
を可能にする。「デバッグ」空間の開始ロケーションの
アドレスを読出すと、プロセッサコア202はデバッグ
コードの実行を始める。システムメモリ210のデバッ
グ空間を以下でより詳細に説明する。再開(または復
帰)コマンドを実行すると、「復帰」と表記される制御
信号がプロセッサコア202により発生され、これによ
り割込制御ユニット204は、状態304から状態30
2に戻る。再開コマンドが典型的にはデバッグコードの
終りに与えられることが理解される。なお、状態304
の間、割込制御ユニットは、デバッグ割込またはSMM
割込のいずれものアサートをマスクする(これに応答し
ない)。
【0020】状態302の間、SMM割込信号のアサー
トにより、割込制御ユニット204が状態302から状
態306に遷移する。状態306は、コンピュータシス
テム200の動作のシステム管理モードと呼ばれる。こ
の状態は、専用システム管理ソフトウェアの実行によっ
て、パワーマネージメント機能などのシステム管理機能
をサービスするように与えられる。状態304への遷移
と同様に、割込制御ユニット204が状態306へ遷移
すると、プロセッサコア202へのICE割込信号が割
込制御ユニット204によりアサートされる。これによ
りまた、プロセッサコア202は、そのインサーキット
エミュレーション(ICE)モードに入り、それにより
先に述べた態様でICEベクターを要求する。この時点
のプロセッサコアの動作は、状態304への遷移に関し
て先に述べたものと同じである。しかしながら、状態3
06の間、割込制御ユニット204からのメモリモード
信号MEMMODE[1:0]は、コンピュータシステ
ム200が現在、動作のシステム管理モードであること
をメモリ制御ユニット208に示す。これによりアドレ
ス変換および制御ユニット214は、プロセッサコア2
02によりローカルバス222のアドレスライン上に与
えられたICEベクターのアドレスを、システムメモリ
210の予め定められたアドレスの値に変換する。これ
は、システムメモリ210のシステム管理空間と呼ばれ
るものの開始アドレスを示す。この開始アドレスは、こ
こではSMMベクターと呼ばれる。システムメモリ21
0のシステム管理空間は、パワーマネージメントなどの
機能を実行するシステム管理ルーチンを含む。こうし
て、SMM割込がアサートされると、プロセッサコア2
02がSMMベクターを読出し、それによりシステム管
理メモリコードの開始アドレスがプロセッサコア202
に与えられる。その後、プロセッサコア202は専用シ
ステム管理ルーチンを実行する。再開コマンドを実行す
ると、割込制御ユニット204は状態306から状態3
02に戻る。なお、再開コマンドの実行の前に、システ
ム管理空間内の命令の一部により、プロセッサコア20
2の状態が、SMM割込信号のアサートの直前の状態に
リストアされる。また、システム管理ルーチンの実行の
間に変更されるレジスタおよび/フラグだけが、システ
ム管理モードの開始時に退避され、かつシステム管理モ
ードの完了時にプロセッサコア202内にリストアされ
ればよい。
【0021】コンピュータシステム200が状態306
のときには、デバッグ割込信号がアサートされ、それに
より割込制御ユニット204が状態306から状態30
8に遷移する。なお、状態306の間、SMM割込信号
がマスクされる。状態308は、コンピュータシステム
200の動作の「デバッグSMMモード」と呼ばれる。
この状態は、システムメモリ210のシステム管理メモ
リ空間の外で実行しているシステム管理コードのデバッ
ギングを可能にする。割込制御ユニット204が状態3
08に入ると、プロセッサコア202への、ライン22
0のICE割込信号が割込制御ユニットにより、またア
サートされ、これによりプロセッサコアがICEベクタ
ーをまた要求する。割込制御ユニット204はさらに、
メモリモード信号MEMMODE[1:0]を駆動し
て、コンピュータシステム200が現在デバッグSMM
モードであることを示す。プロセッサコア202がIC
Eベクターを読出すと、アドレス変換および制御ユニッ
ト214は、デバッグメモリ空間の開始ロケーションの
アドレスが、プロセッサコア202により読出されるこ
とを引起こす(すなわち、状態304の間に読出された
のと同じ値が、状態308の間に読出され、デバッグメ
モリ空間の開始アドレスを決定する)。その後プロセッ
サコア202は、デバッグメモリ空間内にあるデバッグ
コードを実行する。これは、ユーザが、インサーキット
エミュレーションモードによってシステム管理ソフトウ
ェアをデバッグするのを可能にする。再開コマンドがア
サートされると、割込制御ユニット204は、状態30
8から状態306に戻り、その後、デバッグ割込信号が
アサートされたときにそれが中断した点から、システム
管理コードの実行を続ける。なお、状態308の間、デ
バッグ割込およびSMM割込の両方がマスクされる。
【0022】上述のことを要約すると、システムリセッ
トまたはシステム起動時に、割込制御ユニット204が
状態302に入る。ライン218上のデバッグ割込信
号、またはライン219上のSMM割込信号をアサート
すると、割込制御ユニット204は、図3の状態遷移図
に従って、状態304または306に遷移できる。状態
308も同様に、デバッグ割込をアサートすることによ
り、状態306の間、入れる。状態が遷移すると、割込
制御ユニット204はライン220のICE割込信号を
アサートする。ICE割込信号により、マイクロプロセ
ッサ202は、割込ベクターを読出し、かつデバッグベ
クターまたはSMMベクターのいずれかに従って、デバ
ッグメモリ空間またはシステム管理モード空間のいずれ
かにジャンプする。割込制御ユニット204は、割込制
御ユニット204の4つの可能な状態のうち現在の状態
を示すメモリモード信号MEMMODE[1:0]をラ
イン221上に発生する。メモリ制御ユニット208
は、メモリモード信号を用いて、アドレス変換を制御
し、したがってどのメモリ空間(すなわち「ノーマルメ
モリ空間」、「SMMメモリ空間」、または「デバッグ
メモリ空間」)がマイクロプロセッサ202に対して活
性化されているかを決定する。
【0023】次に図4を参照すると、デバッグベクター
402、SMMベクター404、デバッグメモリ空間4
08、およびシステム管理空間410のマッピングを図
示するブロック図が示される。好ましい実施例では、こ
れらのメモリ領域の各々が、ビデオコントローラ206
のために予約されるコンピュータシステム200のアド
レス指定可能な空間内に位置する。図2のものに対応す
る回路部分は、同じ参照符号を付けられる。
【0024】プロセッサメモリマップ414は、プロセ
ッサコア202から見たシステムメモリ空間を示す。シ
ステムメモリマップ416は、システムメモリ210の
実際のメモリ空間を示す。コンピュータシステム200
のノーマル動作の間、プロセッサコア202がビデオア
ドレス空間420のメモリロケーションに書込むと、メ
モリ制御ユニット208は応答しない。その代わりにビ
デオ制御ユニット206がサイクルを要求し、こうし
て、受取られたデータに従ってビデオを駆動する。従来
のシステム内の予約されたビデオコントローラ空間に対
応するシステムメモリの領域が、典型的には使用され
ず、したがって無駄になることが、当業者には理解され
るであろう。
【0025】図2−4をまとめて参照すると、コンピュ
ータシステム200の動作の間、プロセッサコア202
が、システムメモリ210に情報を書込み、システムメ
モリ210から情報を読出す。先に述べたように、メモ
リ制御ユニット208は、マイクロプロセッサ202と
システムメモリユニット210との間の、これらの読出
および書込を調整する。メモリ制御ユニット208は、
ライン221のメモリモード信号MEMMODE[1:
0]に基づいて、3つのメモリ空間のうち1つをアクセ
スする。先に述べたように、これらの3つのメモリ空間
は、「ノーマルメモリ空間」、「SMMメモリ空間」、
および「デバッグメモリ空間」と呼ばれる。
【0026】プロセッサコア202がノーマルメモリ空
間をアクセスしているとき、メモリ制御ユニットが、ロ
ーカルバスアドレスをシステムメモリアドレスに(直接
にまたは間接的に)変換する。しかしながら、上で述べ
たように、プロセッサコア202がビデオアドレス空間
へのアクセスを要求すると、メモリ制御ユニット208
は応答しない。
【0027】プロセッサコア202は、デバッグ割込信
号のアサートに応答して動作のデバッグモードに入る
と、ノーマルICEベクター406の値を読出す読出動
作を実行する。MEMMODE[1:0]信号が、現在
の状態がデバッグ状態であることをメモリ制御ユニット
208に示すので、メモリ制御ユニット208は、ロー
カルバス222上のアドレス信号をデバッグベクター4
02のアドレスに変換する。その結果メモリ制御ユニッ
ト208は、デバッグベクター402をCPUローカル
バス222を介してプロセッサコア202に戻す。この
時点で、プロセッサコア202は、システムメモリ21
0のデバッグメモリ空間408の外で実行し始める。デ
バッグメモリ空間408がアクセスされている時にCP
Uローカルバス222上で駆動されるアドレス値はビデ
オコントローラ空間と同じ値に対応するが、動作のデバ
ッグモードの間メモリ制御ユニット208がサイクルを
要求し、こうしてビデオコントローラがそのサイクルに
応答するのを妨げることが注目される。メモリ制御ユニ
ットは、先の説明に従ってCPUローカルバス222上
のアドレスを変換し、デバッグメモリ空間408内にあ
るコードをアクセスする。
【0028】システム管理状態およびデバッグSMM状
態に入るときの動作は同様である。また、システム管理
空間410が、ビデオコントローラ空間に対応する、C
PUローカルバス222上のアドレス値によってアクセ
スされるが、システム管理モードの間、メモリ制御ユニ
ット208がサイクルを要求し、したがってビデオコン
トローラが応答するのを妨げる。
【0029】メモリ制御ユニット208のロックアウト
レジスタ216は、コンピュータシステムがシステム管
理モードで動作していないときに、システム管理空間4
10へのデータの書込を妨げるロッキング機構として与
えられる。システムリセットおよびブート時に、ロック
アウトレジスタ216は、システムがノーマルモードの
間に、システム管理ルーチンが、たとえばBIOS R
OMデバイスからシステム管理空間410にロードされ
得るように、クリアされる。システム管理ルーチンがシ
ステムメモリ210のシステム管理空間410内にロー
ドされた後、ロックアウトレジスタ216は、ノーマル
モードの間システム管理ルーチンが上書されることがで
きないように、(すなわちソフトウェアプログラミング
によって)セットされる。より特定的には、ロックアウ
トレジスタ216がシステムソフトウェアによりセット
されていたならば、ノーマルモードの間、システム管理
メモリ空間へのメモリアクセスが、アドレス変換および
制御ユニット214により妨げられる。(おそらくはシ
ステム管理ルーチンのローディングの後)ロックアウト
レジスタ216がシステムソフトウェアによりセットさ
れると、それはその後、システムがノーマルモードの間
にはリセットされることができない。なお、アドレス変
換および制御ユニット214はさらに、ロックアウトレ
ジスタ216の状態に関係なく、ノーマルモード(状態
302)またはSMMモード(状態306)のいずれか
の間、デバッグメモリ空間がアクセスされ得るように、
構成される。一方、ノーマルメモリ空間は、ロックアウ
トレジスタ216の状態に関係なく、いかなるモードの
間にもアクセスされ得る。同様に、SMM空間は、ロッ
クアウトレジスタに関係なく、SMMモード(状態30
6)またはデバッグSMMモード(状態308)で動作
している間にアクセスされ得る。
【0030】先に述べたように、1つの実施例では、デ
バッグメモリ空間408およびシステム管理空間410
(またはその1部分)が、ビデオコントローラ206の
ものと共通であるメモリロケーションにマッピングされ
る。これらのメモリサブシステムへのアクセスを区別す
るために、ロックアウトレジスタ216の予め定められ
たビット、またはアドレス変換および制御ユニット21
6内の別々にマッピングされた制御レジスタのビットで
あり得る制御ビットが与えられて、ビデオコントローラ
206ではなくデバッグメモリ空間およびシステム管理
空間へのアクセスを選択的に可能にする。したがってデ
バッグメモリ空間またはシステム管理空間への所望のメ
モリアクセスサイクルを実行する前に、システムプログ
ラマはまず、この制御ビットを、アクセスを可能にする
ようにセットしなければならない。ビデオアクセスを望
むのであれば、システムプログラマは制御ビットをクリ
アしなければならない。なお、制御ビットを含んでいる
レジスタは、コンピュータシステムのメモリ空間または
I/O空間のいずれにもマッピングされ得ることに注目
されたい。
【0031】上の開示が十分に理解されると、当業者に
はさまざまな変更例および変形例が明らかになるであろ
う。たとえば、コンピュータシステムのノーマルメモリ
空間、デバッグメモリ空間、およびシステムメモリ空間
が共通のシステムメモリ210内に示されるが、それぞ
れのメモリ空間が、異なるバンクをイネーブルしかつス
トローブする適切な機構で、メモリシステムの別々にイ
ネーブルされるバンク内にストアされ得ることが注目さ
れる。さらに、割込制御ユニット204およびメモリ制
御ユニット208が、プロセッサコア202が製作され
る集積回路の一体的部分として実現され得ることが注目
される。前掲の特許請求の範囲は、そのような変更例お
よび変形例のすべてを含むと解釈されることが意図され
る。
【図面の簡単な説明】
【図1】典型的なコンピュータシステムを図示するブロ
ック図である。
【図2】この発明に従う割込制御ユニットを含むコンピ
ュータシステムのブロック図である。
【図3】割込制御ユニットの動作状態および状態の遷移
を図示する状態遷移図である。
【図4】ノーマルICEメモリロケーションへのICE
コードおよびSMMコードのマッピングを図示するブロ
ック図である。
【符号の説明】
202 プロセッサコア 204 割込制御ユニット 208 メモリ制御ユニット 210 システムメモリ
フロントページの続き (72)発明者 ハンス・マグヌッソン アメリカ合衆国、78610 テキサス州、ビ ューダ、キャラキャラ・ドライブ、202 (72)発明者 ダン・エス・マジェット アメリカ合衆国、78749 テキサス州、オ ースティン、ミフリン・ケネディー・テラ ス、7610

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータシステムであって、 割込入力ラインを含むプロセッサコアと、 前記割込入力ラインに結合され、かつデバッグ割込信号
    およびSMM割込信号を受取ることができる割込制御ユ
    ニットとを含み、前記割込制御ユニットの現在の状態
    は、前記デバッグ割込信号および前記SMM割込信号の
    アサートに依存し、前記割込制御ユニットは、前記割込
    制御ユニットの現在の状態を示すメモリモード信号をメ
    モリモードライン上に発生することができ、かつ前記デ
    バッグ割込信号およびSMM割込信号のアサートに応答
    して、前記割込入力ライン上のICE割込信号を選択的
    にアサートすることができ、前記コンピュータシステム
    はさらに、 ランダムアクセスメモリと、 前記プロセッサコアと前記メモリモードラインとに結合
    されたメモリ制御ユニットとを含み、前記メモリ制御ユ
    ニットは、前記プロセッサコアからアドレス信号を受取
    ることができ、かつ前記メモリモード信号が第1の状態
    のときに前記ランダムアクセスメモリの第1の物理的な
    ロケーションに、および前記メモリモード信号が第2の
    状態のときに前記ランダムアクセスメモリの第2の物理
    的なロケーションに、前記アドレス信号をマッピングす
    ることができる、コンピュータシステム。
  2. 【請求項2】 前記プロセッサコアの前記割込入力ライ
    ンは、ICE割込入力ラインである、請求項1に記載の
    コンピュータシステム。
  3. 【請求項3】 前記ランダムアクセスメモリの第1のセ
    ットのメモリロケーションはシステム管理コードをスト
    アし、かつ前記ランダムアクセスメモリの第2のセット
    のロケーションはデバッグコードをストアする、請求項
    1に記載のコンピュータシステム。
  4. 【請求項4】 前記ランダムアクセスメモリの前記第1
    の物理的なロケーションは、前記第1のセットのロケー
    ション内に含まれる、請求項3に記載のコンピュータシ
    ステム。
  5. 【請求項5】 前記ランダムアクセスメモリの前記第2
    の物理的なロケーションは、前記ランダムアクセスメモ
    リの前記第2のセットのロケーション内に含まれる、請
    求項4に記載のコンピュータシステム。
  6. 【請求項6】 前記割込制御ユニットは、前記SMM割
    込信号のアサートに応答して、前記第1の状態の前記メ
    モリモード信号を駆動する、請求項5に記載のコンピュ
    ータシステム。
  7. 【請求項7】 前記割込制御ユニットは、前記デバッグ
    割込信号のアサートに応答して、前記第2の状態の前記
    メモリモード信号を駆動する、請求項6に記載のコンピ
    ュータシステム。
JP7184261A 1994-07-22 1995-07-20 コンピュータシステム Withdrawn JPH08171500A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US27961494A 1994-07-22 1994-07-22
US08/279614 1994-07-22

Publications (1)

Publication Number Publication Date
JPH08171500A true JPH08171500A (ja) 1996-07-02

Family

ID=23069711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7184261A Withdrawn JPH08171500A (ja) 1994-07-22 1995-07-20 コンピュータシステム

Country Status (6)

Country Link
US (1) US5682310A (ja)
EP (1) EP0715258B1 (ja)
JP (1) JPH08171500A (ja)
AT (1) ATE172039T1 (ja)
DE (1) DE69505224T2 (ja)
ES (1) ES2122455T3 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020752A (ja) * 2008-03-05 2010-01-28 Intel Corp 複数のクロックドメインにおいて決定性を促進するテクニック

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5862366A (en) * 1996-09-12 1999-01-19 Advanced Micro Devices, Inc. System and method for simulating a multiprocessor environment for testing a multiprocessing interrupt controller
JPH10133908A (ja) * 1996-10-29 1998-05-22 Mitsubishi Electric Corp マイクロプロセッサ
GB2328045B (en) * 1997-08-08 2002-06-05 Ibm Data processing system diagnostics
US6041402A (en) * 1998-01-05 2000-03-21 Trw Inc. Direct vectored legacy instruction set emulation
US6120298A (en) * 1998-01-23 2000-09-19 Scientific Learning Corp. Uniform motivation for multiple computer-assisted training systems
US6293801B1 (en) 1998-01-23 2001-09-25 Scientific Learning Corp. Adaptive motivation for computer-assisted training system
US6113645A (en) * 1998-04-22 2000-09-05 Scientific Learning Corp. Simulated play of interactive multimedia applications for error detection
US6067638A (en) * 1998-04-22 2000-05-23 Scientific Learning Corp. Simulated play of interactive multimedia applications for error detection
US6412055B2 (en) * 1998-06-30 2002-06-25 Legerity, Inc. Method and apparatus for product development
US6567933B1 (en) * 1999-02-19 2003-05-20 Texas Instruments Incorporated Emulation suspension mode with stop mode extension
US6393498B1 (en) * 1999-03-02 2002-05-21 Mentor Arc Inc. System for reducing processor workloads with memory remapping techniques
US6986026B2 (en) * 2000-12-15 2006-01-10 Intel Corporation Single-step processing and selecting debugging modes
DE10116862A1 (de) * 2001-04-04 2002-10-17 Infineon Technologies Ag Programmgesteuerte Einheit
US7149854B2 (en) * 2001-05-10 2006-12-12 Advanced Micro Devices, Inc. External locking mechanism for personal computer memory locations
US7421431B2 (en) * 2002-12-20 2008-09-02 Intel Corporation Providing access to system management information
TWI241485B (en) * 2003-03-21 2005-10-11 Mediatek Inc Microcontroller which accesses data stored in memory banks through a multiplexer
US6963963B2 (en) * 2003-03-25 2005-11-08 Freescale Semiconductor, Inc. Multiprocessor system having a shared main memory accessible by all processor units
TW200401188A (en) * 2003-09-16 2004-01-16 Via Tech Inc Debug device and method thereof
US7322026B2 (en) * 2004-03-02 2008-01-22 Hewlett-Packard Development Company, L.P. Scoring assertions
US20120185688A1 (en) * 2011-01-13 2012-07-19 Google Inc. Processor mode locking
EP3420322B1 (en) * 2016-02-26 2021-03-31 Micro Motion, Inc. Limiting a drive signal
CN106502846A (zh) * 2016-10-14 2017-03-15 合肥联宝信息技术有限公司 一种电脑故障检测方法及装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4782461A (en) * 1984-06-21 1988-11-01 Step Engineering Logical grouping of facilities within a computer development system
US4674089A (en) * 1985-04-16 1987-06-16 Intel Corporation In-circuit emulator
JPH06103472B2 (ja) * 1986-10-29 1994-12-14 日本電気株式会社 デバツグ用マイクロプロセツサ
US5182811A (en) * 1987-10-02 1993-01-26 Mitsubishi Denki Kabushiki Kaisha Exception, interrupt, and trap handling apparatus which fetches addressing and context data using a single instruction following an interrupt
US5228039A (en) * 1990-05-09 1993-07-13 Applied Microsystems Corporation Source-level in-circuit software code debugging instrument
US5175853A (en) * 1990-10-09 1992-12-29 Intel Corporation Transparent system interrupt
US5410710A (en) * 1990-12-21 1995-04-25 Intel Corporation Multiprocessor programmable interrupt controller system adapted to functional redundancy checking processor systems
US5321828A (en) * 1991-06-07 1994-06-14 Step Engineering High speed microcomputer in-circuit emulator
DE4309532C2 (de) * 1992-03-25 1996-10-31 Intel Corp Verfahren zum Sichern einer Systemabbildung eines Computersystems auf einer permanenten Speichereinrichtung sowie ein Computersystem
US5357628A (en) * 1992-03-25 1994-10-18 Intel Corporation Computer system having integrated source level debugging functions that provide hardware information using transparent system interrupt
US5437039A (en) * 1992-05-21 1995-07-25 Intel Corporation Servicing transparent system interrupts and reducing interrupt latency
US5313618A (en) * 1992-09-03 1994-05-17 Metalink Corp. Shared bus in-circuit emulator system and method
US5539901A (en) * 1993-09-30 1996-07-23 Intel Corporation Method and apparatus for system management mode support for in-circuit emulators
US5392420A (en) * 1993-09-30 1995-02-21 Intel Corporation In circuit emulator(ICE) that flags events occuring in system management mode(SMM)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020752A (ja) * 2008-03-05 2010-01-28 Intel Corp 複数のクロックドメインにおいて決定性を促進するテクニック

Also Published As

Publication number Publication date
ES2122455T3 (es) 1998-12-16
US5682310A (en) 1997-10-28
EP0715258A1 (en) 1996-06-05
EP0715258B1 (en) 1998-10-07
ATE172039T1 (de) 1998-10-15
DE69505224T2 (de) 1999-05-20
DE69505224D1 (de) 1998-11-12

Similar Documents

Publication Publication Date Title
US5623673A (en) System management mode and in-circuit emulation memory mapping and locking method
US5682310A (en) Computer system including in-circuit emulation mode for debugging system management software
US5867703A (en) Common reset ROM
US5187792A (en) Method and apparatus for selectively reclaiming a portion of RAM in a personal computer system
US6112303A (en) Computer system with system ROM including serial-access PROM coupled to an auto-configuring memory controller and method of shadowing BIOS code from PROM
EP0776504B1 (en) Integrated circuit with multiple functions sharing multiple internal signal buses for distributing bus access control and arbitration control
US5796984A (en) Operating system independent apparatus and method for eliminating peripheral device functions
JP3798476B2 (ja) コンピュータシステムおよびそのシステムにおけるキャッシュメモリのパワーダウン制御方法
US5630052A (en) System development and debug tools for power management functions in a computer system
US6158000A (en) Shared memory initialization method for system having multiple processor capability
US5978903A (en) Apparatus and method for automatically accessing a dynamic RAM for system management interrupt handling
US4949241A (en) Microcomputer system including a master processor and a slave processor synchronized by three control lines
US6401197B1 (en) Microprocessor and multiprocessor system
US20040054833A1 (en) Handling interrupts during multiple access program instructions
JPH08161279A (ja) マルチプロセッサシステム
US6775734B2 (en) Memory access using system management interrupt and associated computer system
JPH0997230A (ja) データ転送方法及びシステム
JP4689087B2 (ja) 情報処理装置及び省電力移行制御方法
JPH0232659B2 (ja)
EP0638864B1 (en) Development support system for microcomputer with internal cache
EP0575171B1 (en) Enhanced system management method and apparatus
CA2008071A1 (en) Pump bus to avoid indeterminacy in reading variable bit field
KR100246864B1 (ko) 제2캐시 메모리를 위한 캐시 플러시 방법 및 캐시 메모리를 갖춘 컴퓨터 메모리 시스템
US4628450A (en) Data processing system having a local memory which does not use a directory device with distributed resident programs and a method therefor
US20060020730A1 (en) Single BIOS technique for supporting processors with and without 64-bit extensions

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20021001