JPH06180673A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH06180673A
JPH06180673A JP4284987A JP28498792A JPH06180673A JP H06180673 A JPH06180673 A JP H06180673A JP 4284987 A JP4284987 A JP 4284987A JP 28498792 A JP28498792 A JP 28498792A JP H06180673 A JPH06180673 A JP H06180673A
Authority
JP
Japan
Prior art keywords
memory
cpu
space
error
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.)
Pending
Application number
JP4284987A
Other languages
English (en)
Inventor
Toshiya Takano
俊哉 高野
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.)
Seiko Epson Corp
Hudson Soft Co Ltd
Original Assignee
Seiko Epson Corp
Hudson Soft Co Ltd
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 Seiko Epson Corp, Hudson Soft Co Ltd filed Critical Seiko Epson Corp
Priority to JP4284987A priority Critical patent/JPH06180673A/ja
Priority to TW085200112U priority patent/TW390446U/zh
Priority to EP93307737A priority patent/EP0590967B1/en
Priority to DE69322051T priority patent/DE69322051T2/de
Priority to CA002107437A priority patent/CA2107437A1/en
Publication of JPH06180673A publication Critical patent/JPH06180673A/ja
Priority to US08/971,405 priority patent/US5822753A/en
Priority to US09/084,385 priority patent/US6065132A/en
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 実際のメモリ・I/O空間以外のアドレスを
指示してしまった場合のイメージ発生のデバックを容易
にする。 【構成】 コンピュータ装置に、メモリ構成をメモリ設
定レジスタで指定することによりあらかじめCPUに知
らせる手段、プログラムが指定するアドレスが実際のア
ドレス空間を越えるアドレスを指定するときCPUがメ
モリI/Oエラー例外を発生させる手段を備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は情報処理装置におけるメ
モリアクセスの管理方法および中央処理装置に関する。
【0002】
【従来の技術】高級プログラム言語でアプリケーション
プログラムを作るような場合は、メモリは変数名を付け
て利用するために、メモリ外のエリアをアドレシングす
ることはほとんど起こらない。
【0003】ところが、メモリの有効利用や処理速度の
高速化のため、マシン語やアセンブラ、あるいはC言語
などの低級言語で組んだシステムプログラムやアプリケ
ーションプログラムでは直接アドレスを扱うので、実際
に存在しないアドレス空間をアドレシングすることが起
こる場合がある。
【0004】従来の情報処理装置の場合、誤って存在し
ないアドレス空間を指示したときイメージが発生した。
イメージとは実際に求めるアドレスに存在するデータで
ない、わけのわからないデータのことである。すなわち
画像音声処理が中心の情報処理装置であるコンピュータ
ゲーム装置の場合、画像データでは実際の画像(実像)
と違う画像となるためにこれをイメージ(虚像)と呼ん
でいる。なぜイメージが現れるかは、以下のような理由
による。
【0005】図1はメモリ空間の例を表す。CPUがア
ドレスできるメモリ空間とメモリが実装されているメモ
リ空間が違うのが普通である。メモリ空間(0000)
16〜(1000)16までがメモリの実装された部分で、
それ以上の高アドレスにはメモリボードが実装されてい
ない。プログラムでアドレスを指定すると、アドレス用
ICチップがアドレスをデコードし、実際のメモリ空間
をアドレシングする。
【0006】ところが、従来の装置ではメモリの実装部
分のアドレス空間内でアドレスを解析している。たとえ
ばプログラムでアドレス(3000)16を指定した場
合、アドレスデコーダー(アドレス用ICチップ)はア
ドレス場所を(1000)16と解析する。
【0007】これは、実装部分の最上限以上のビットを
アドレスデコーダーが無視するからである。図2にその
様子を示すように、実装されているメモリの上限アドレ
ス以上のビットが無視されるために、(3000)16
(1000)16とデコードされるのである。図では、実
装されているメモリ空間以上のアドレスを指定した場合
に、デコーダーがどのアドレスをポイントするかを示し
ている。
【0008】したがって本来データがないはずなのに、
あたかも(3000)16にもデータがあるものとして扱
われてしまったことになる。
【0009】
【発明が解決しようとする課題】このようなことからデ
バッグをする場合、イメージは見つけにくい。たとえば
画像データを扱っている場合、本来求める映像と違った
画像が現れたり、まったくわけのわからない映像(通常
画像の乱れ)が現れると、まず最初に疑うのは画像を定
義している画像データが間違っているのではないかと疑
ってしまうからである。
【0010】それでも画像データなどの場合には目に見
えるエラーであるから、デバッグもしやすい。しかし直
接、アウトプットに関係のない処理でこのようなエラー
を起こすと、エラーが後の処理で現れることになり、エ
ラーの原因がまったくわからなくなることがある。
【0011】たとえば、あるデータを間違って実際のメ
モリ空間以上のアドレス指定で書き出したりすると、ま
ったく関係のないデータや命令文が壊され、後の処理で
壊されたデータや命令を使用したときに予期しない結果
が現れる。
【0012】命令文が壊された場合には、そこで例外エ
ラーが発生して処理が止まるが、デバッグでその命令箇
所を何度調べてもエラーは見つからない。なぜなら、そ
の原因を作ったのはまったく別の箇所で出力した命令文
(実際にはアドレス指定)に原因があったからである。
本発明はこのような種々の困難を解決するメモリ管理方
法を目的とする。
【0013】
【課題を解決するための手段】本発明では、従来技術の
問題点に述べたような不都合が起きないために、システ
ムを利用するときにあらかじめメモリ構成をCPUに知
らせるようにするものである。
【0014】そして従来のようなアドレス用ICチップ
を使わずに、プログラムからメモリ(DRAM)のコン
フィグレーション(構成)を指定できるようにし、かつ
メモリをCPUが直接アドレシングができるようにす
る。具体的には以下のように行う。
【0015】メモリ構成はメモリ設定レジスタで指定す
る。メモリ設定レジスタは32ビットで、次のような構
成になっている。 ROW_SIZE<2:0>:DRAMローアドレスビ
ット数 COL_SIZE<4:3>:DRAMカラムアドレス
ビット数 ARRAYS<5> :アレイ数 REFRESH_EN<6>:リフレッシュ許可 ここで<n:m>はmビットからnビットの範囲を表
す。また<n>はnビット目1ビットだけであることを
表す。
【0016】メモリ構成は、ROW_SIZE、COL
_SIZEおよびARRYASで決まる。その対応表が
図3である。Row×Colはメモリ設定レジスタのR
OW_SIZE×COL_SIZEに対応している。た
とえばメモリ設定レジスタで ROW_SIZE=10 COL_SIZE=9 ARRAYS=2 と指定すると、図3のRow×Col=10×9かつア
レイ=2に対応するから、メモリは図4に示すような2
アレイ構成の1MW(1Mワード)のメモリ空間である
ことをシステムに知らせることになる。
【0017】一方、プログラムで指定されたアドレスは
MCUによって、RAS信号とCAS信号に変えられ、
実際のアドレシングが行われる。図5はその様子を示し
たもので、RASとCASの交点が求めるアドレスとな
る。
【0018】もしこのとき、指定するアドレスが実際の
アドレス空間(実装DRAMの空間)を越えるアドレス
を指定すると、CPUはメモリI/Oエラー例外を発生
させる。このようなことができるのも、あらかじめメモ
リ設定レジスタでメモリ構成をシステムに知らせてある
ために、CPUは実装メモリ空間の上限がわかるからで
ある。
【0019】本発明はメモリ空間でけでなく、I/O空
間にも対応している。これによって例外を発生させてエ
リアが保護される。この機能をエリアプロテクションブ
レークと呼ぶ。
【0020】
【実施例】本発明の実施例のCPUについて説明する。
このCPUは命令フェッチユニット(IPU)、メモリ
制御ユニット(MCU)、I/O制御ユニット(IO
U)から構成される32ビットCPUで、図6に示すよ
うな2Gバイトのメモリバス空間と2GバイトのI/O
空間を有している。そしてこのCPUはメモリ(DRA
M)空間およびI/O空間に対してエリアプロテクショ
ンブレークをサポートしている。
【0021】メモリを越えたアドレスにデータを書き出
した場合を考えてみよう。図7は本発明のCPUのもと
で実行したときのフローチャートである。まずメモリ設
定レジスタでメモリ構成を本発明のCPUに知らせる。
そのあとで、実装のメモリ空間を越えたアドレスにデー
タを出力する。
【0022】すると、この出力命令でメモリI/Oエラ
ー例外によるブレークが発生し、ブレーク処理ルーチン
(ここではメモリI/Oエラー処理ルーチン)にCPU
のコントロールが移る。
【0023】このルーチンでエラーメッセージが出力さ
れ、プログラムは終了する。メモリI/Oエラーである
ことをエラーメッセージからわかるから、プログラマは
メモリあるいはI/O空間に入出力を行っている命令文
とその周辺のアドレス設定文をチェックすれば、エラー
箇所が発見できる。これにより、デバッグが非常に楽に
行える。
【0024】参考のために、従来の方法ではどうなるか
を述べてみよう。図8は従来の方法で、図7と同じ処理
をさせた場合をフローチャートにしたものである。従来
技術で述べたように、アドレシングはメモリ用ICチッ
プ(アドレスデコーダー)によってなされるから、メモ
リ設定レジスタでのメモリ構成の指定は要らない。
【0025】しかし、実装メモリを越えたアドレスへの
データ出力はどのエリアに書き出されるかわからない。
ここでは、プログラムの後ろの方の命令文(図では「あ
る命令文」)が壊されたと仮定する。すると、この命令
がCPUにフェッチされ解析されると、実際に存在しな
い命令ということが判定される(「データ出力」で破壊
されているため)。
【0026】そこで非存在命令例外が発生し、ブレーク
ルーチン(ここでは非存在命令例外処理ルーチン)へC
PUのコントロールが移る。このルーチンではエラーメ
ッセージを出力して、プログラムを終了させる。
【0027】エラーメッセージから「ある命令文」がお
かしいということはわかるが、ソースプログラムリスト
を見ても正常な命令文になっている。なぜなら、実行時
に壊された命令文だからである。
【0028】このため、実際のエラー原因となった「デ
ータ出力」に着眼するには、経験とデバッグ能力をが求
される。この種のエラーが発生すると、たった1つのエ
ラーをつぶすのに長時間が費やされることも少なくな
い。
【0029】
【発明の効果】本発明を用いると、アドレス空間を越え
たアクセスはエラーとなるために、イメージが出なくな
る。またエラー発生箇所とエラーメッセージの箇所が一
致するために、エラー箇所と原因がすぐにわかり、デバ
ッグはいたって容易になる。とくにアセンブラやC言語
で直接アドレスをハンドリングすることの多いゲームプ
ログラムでは、開発期間の短縮化に大いに効果がある。
【図面の簡単な説明】
【図1】メモリ空間の例を表す図である。
【図2】アドレスデコーダーとアドレシング。
【図3】メモリ構成の対応を示す図である。
【図4】メモリ設定レジスタでRow×Col=10×
9を指定したときのメモリ構成図である。
【図5】RAS(ロー)とCAS(カラム)によるメモ
リ空間のアドレス指定の説明図である。
【図6】本発明の実施例のCPUのアドレスマップであ
る。
【図7】メモリI/Oエラー例外処理ルーチンを含むフ
ローチャートである。
【図8】非存在命令例外処理ルーチンを含むフローチャ
ートである。
【手続補正書】
【提出日】平成4年11月20日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0019
【補正方法】変更
【補正内容】
【0019】本発明はメモリ空間だけでなく、I/O空
間にも対応している。これによって例外を発生させてエ
リアが保護される。この機能をエリアプロテクションブ
レークと呼ぶ。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0028
【補正方法】変更
【補正内容】
【0028】このため、実際のエラー原因となった「デ
ータ出力」に着眼するには、経験とデバッグ能力を要求
される。この種のエラーが発生すると、たった1つのエ
ラーをつぶすのに長時間が費やされることも少なくな
い。
【手続補正3】
【補正対象書類名】図面
【補正対象項目名】図5
【補正方法】変更
【補正内容】
【図5】

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 メモリ構成をメモリ設定レジスタで指定
    することによりあらかじめCPUに知らせる手段、プロ
    グラムが指定するアドレスが実際のアドレス空間を越え
    るアドレスを指定するときCPUがメモリI/Oエラー
    例外を発生させる手段を備えたことを特徴とする情報処
    理装置。
JP4284987A 1992-10-01 1992-10-01 情報処理装置 Pending JPH06180673A (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP4284987A JPH06180673A (ja) 1992-10-01 1992-10-01 情報処理装置
TW085200112U TW390446U (en) 1992-10-01 1993-09-08 Information processing system
EP93307737A EP0590967B1 (en) 1992-10-01 1993-09-29 Wait-state control in an information processing system bus
DE69322051T DE69322051T2 (de) 1992-10-01 1993-09-29 Wartezustandsteuerung auf einem Informationverarbeitungssystembus
CA002107437A CA2107437A1 (en) 1992-10-01 1993-09-30 Information processing system
US08/971,405 US5822753A (en) 1992-10-01 1997-11-17 Information processing system with a memory control unit for refreshing a memory
US09/084,385 US6065132A (en) 1992-10-01 1998-05-27 Information processing system having a CPU for controlling access timings of separate memory and I/O buses

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4284987A JPH06180673A (ja) 1992-10-01 1992-10-01 情報処理装置

Publications (1)

Publication Number Publication Date
JPH06180673A true JPH06180673A (ja) 1994-06-28

Family

ID=17685674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4284987A Pending JPH06180673A (ja) 1992-10-01 1992-10-01 情報処理装置

Country Status (1)

Country Link
JP (1) JPH06180673A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8909905B2 (en) 2006-08-18 2014-12-09 Freescale Semiconductor, Inc. Method for performing plurality of bit operations and a device having plurality of bit operations capabilities

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5899841A (ja) * 1981-12-10 1983-06-14 Nec Corp 部分実装された制御メモリのアドレス制御方式
JPS61255451A (ja) * 1985-05-07 1986-11-13 Mitsubishi Electric Corp デ−タ処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5899841A (ja) * 1981-12-10 1983-06-14 Nec Corp 部分実装された制御メモリのアドレス制御方式
JPS61255451A (ja) * 1985-05-07 1986-11-13 Mitsubishi Electric Corp デ−タ処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8909905B2 (en) 2006-08-18 2014-12-09 Freescale Semiconductor, Inc. Method for performing plurality of bit operations and a device having plurality of bit operations capabilities

Similar Documents

Publication Publication Date Title
EP0213843A2 (en) Digital processor control
US6052801A (en) Method and apparatus for providing breakpoints on a selectable address range
JPH06180673A (ja) 情報処理装置
JP2915680B2 (ja) Riscプロセッサ
JP3507193B2 (ja) ロード・ストア命令処理装置
JP2000029690A (ja) デ―タ処理の方法および装置
JP2587468B2 (ja) ロツクデータ設定装置
JP2000099370A (ja) 信号処理装置
JPH0353320A (ja) マイクロプログラム制御方式
JP2504151B2 (ja) デ―タ処理装置
JP2803552B2 (ja) データ受信装置
JP3428253B2 (ja) シーケンサ
KR910006841A (ko) 마이크로프로그램 제어를 기초로한 데이타 처리장치
JPH06309236A (ja) メモリの不正書込み検出回路
JPH07104834B2 (ja) 処理装置間ロック制御システム
JPH05324389A (ja) 擬似障害評価方式
JPH04205144A (ja) マイクロプロセッサ
JP3014701B2 (ja) 情報処理装置
JPH0795288B2 (ja) マイクロコンピュータ
JPS60193046A (ja) 命令例外検出方式
JPS60112148A (ja) メモリ装置
JPS6277656A (ja) プログラムデバッグ方式
JPS60132249A (ja) デ−タ処理装置
JPH0492933A (ja) 電子計算機
JPH05165624A (ja) 常駐モジュールの修正方式