JPH0136198B2 - - Google Patents

Info

Publication number
JPH0136198B2
JPH0136198B2 JP5099582A JP5099582A JPH0136198B2 JP H0136198 B2 JPH0136198 B2 JP H0136198B2 JP 5099582 A JP5099582 A JP 5099582A JP 5099582 A JP5099582 A JP 5099582A JP H0136198 B2 JPH0136198 B2 JP H0136198B2
Authority
JP
Japan
Prior art keywords
memory
address
access
data
flip
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
Application number
JP5099582A
Other languages
English (en)
Other versions
JPS58169384A (ja
Inventor
Hideyuki Hara
Hidekazu Matsumoto
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5099582A priority Critical patent/JPS58169384A/ja
Publication of JPS58169384A publication Critical patent/JPS58169384A/ja
Publication of JPH0136198B2 publication Critical patent/JPH0136198B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 本発明は、1回のメモリアクセスによつて連続
する複数のメモリアドレスを同時にアクセスする
データ処理装置に関し、特にアクセスされるべき
メモリアドレスがメモリアクセス境界に跨がる場
合であつてもソフトウエア上ではメモリアクセス
が1回で済まされるデータ処理装置に関するもの
である。
従来より1回のメモリアクセスによつて連続す
る複数のメモリアドレスにデータを同時に格納せ
しめたり、これとは逆にその複数のメモリアドレ
スより同時にデータを読み出すデータ処理装置が
考えられているが、ソフトウエア上問題の余地が
ある。というのは、従来にあつてはアクセスされ
るべきメモリアドレスは一定アドレス数毎に、例
えば4アドレス毎に予め定められていることか
ら、メモリアクセス境界に跨がるメモリアドレス
をアクセスする場合にはソフトウエア上2回のメ
モリアクセスが必要になるというものである。こ
れをより具体的に説明すれば、例えばメモリアド
レスが0〜3,4〜7,8〜11,…といつた具
合に4アドレス毎にアクセスされるべきメモリア
ドレスが区分されている場合、メモリアドレス2
〜4よりデータを読み出そうとすれば、先ずメモ
リアドレス0〜3に対してアクセスを行ない引き
続きメモリアドレス4〜7をアクセスする必要が
あるというわけである。これによりメモリアドレ
ス0〜7からデータが読み出されこれらデータよ
り必要なもののみを取り出すことになるものであ
る。
しかしながら、メモリアクセス境界に跨がるメ
モリアドレスをアクセスする場合、ソフトウエア
に負担がかかることは明らかである。従来にあつ
ては命令実行部におけるマイクロプログラムが2
回目のメモリアクセスが必要か否かを判定し、必
要ならば2回目のメモリアクセスを行つていた
が、これだとそのマイクロプログラムの作成時に
メモリアクセス境界を意識してマイクロプログラ
ムを作成しなければならず煩瑣であるというもの
である。
よつて本発明の目的は、アクセスされるべきメ
モリアドレスがメモリアクセス境界に跨がる場合
であつてもソフトウエア上でのメモリアクセスが
1回で済まされるデータ処理装置を供するにあ
る。
この目的のため本発明は、ハードウエアにてア
クセスされるべきメモリアドレスがメモリアクセ
ス境界に跨がるか否かを判定し、跨がると判定さ
れた場合にはハードウエアによつて引き続きメモ
リアクセスが実行されるようになしたものであ
る。
以下、本発明を第1図から第4図により説明す
る。
先ず第1図により本発明によるデータ処理装置
の一例での構成について説明すれば、以下のよう
である。
即ち、主記憶装置301は主記憶制御ユニツト
302からの制御によつて高速バツフアメモリ3
03,304との間でアドレスバス310および
データバス311を介しデータの授受が可とされ
るようになつている。また、命令語の先行読出は
命令フエツチユニツト305によつて行われる。
命令フエツチユニツト305より命令対応のアド
レスが高速バツフアメモリ303に送出され、高
速バツフアメモリ303を介し命令の先行読出が
行われるものである。命令フエツチユニツト30
5に取り込まれた命令はオペレーシヨン・コード
およびオペランドデスクリプター単位で命令解読
ユニツト306に送出され解読されるが、解読さ
れたアドレスモードに従つてオペランドの実効ア
ドレスが計算され、オペランドが先行フエツチさ
れるようになつている。即ち、アドレス計算ユニ
ツト307では命令解読ユニツト306で解読さ
れたアドレスモードに従いオペランドの実効アド
レスが計算され、計算された実効アドレスにもと
づきオペランドフエツチユニツト308が高速バ
ツフアメモリ304を介しオペランドを先行フエ
ツチするようになつているものである。信号線3
12を介し実行アドレスを受けた高速バツフアメ
モリ304ではその実効アドレス対応のデータ保
有している場合には直ちに、また、保有していな
い場合は主記憶制御ユニツト302を介し主記憶
装置301にアクセスすることによつてその実効
アドレス対応のデータを読み出したうえ信号線3
13を介しオペランドフエツチユニツト308に
送出しているわけである。オペランドフエツチユ
ニツト308に送出されたデータは命令実行ユニ
ツト309に送出され、これによつて命令が実行
されるものである。なお、オペランドフエツチユ
ニツト308へのデータの読出(リード)は命令
実行ユニツト309からのアドレス情報などによ
つても行われ、また、データの書込(ライト)も
読出と同様アドレス計算ユニツト307、命令実
行ユニツト309からのアドレス情報などによつ
て行われる。これらデータの読出、書込について
は後述するところである。
以上のようにして各ユニツトが独立に動作する
ことによつてパイプライン処理が可能となつてい
るわけであるが、パイプライン処理を行ううえで
データ処理装置の構成が図示のものに限定されな
いことは勿論である。
第2図はそのオペランドフエツチユニツトの構
成を示したものであるが、これによりデータの読
出、書込について説明すれば以下のようである。
即ち、先ずデータの読出より説明すれば、デー
タの読出は読出アドレスがアドレス計算ユニツト
で発生される場合と命令実行ユニツトで発生され
る場合とがある。
先ず前者の場合にはアドレス計算ユニツトから
のオペランドアドレス450はデータセレクタ4
02を介しメモリアドレスレジスタ404にセツ
トされる。一方、これと同時にそのアドレス対応
のメモリアドレス区分より如何程のバイトデータ
をフエツチするのかを示す情報であるデータタイ
プ451がアドレス計算ユニツトよりデータセレ
クタ401を介しデータタイプレジスタ403に
セツトされるようになつている。更にアドレス計
算ユニツトからの制御情報455はデコーダ40
9によつてデコードされるようにしてなる。制御
情報455はこの場合リードモードを示している
ことから、そのデコード出力にもとづきリードア
クセスフラグ(RAC)用のフリツプフロツプ4
13がセツトされ、これにより高速バツフアメモ
リに対して読出起動がかけられるようになつてい
るわけである。
メモリアドレスレジスタ404、データタイプ
レジスタ403よりそれぞれオペランドアドレス
(ADDR)、データタイプ(DATA TYPE)が高
速バツフアメモリに対して与えられている状態で
読出起動をかければ、高速バツフアメモリからは
所定数、例えば4バイトのデータが読出されるわ
けであるが、読出起動は必ずしも1回で済まされ
るとは限らない。
この事情を第3図によつて説明すれば、メモリ
501がそのメモリアドレスの下2ビツトが
“00”から“11”をメモリアクセス単位としてア
クセスされる場合、2バイトのデータ502は同
一メモリアクセス単位内のものであるから、1回
の読出起動で済まされるというものである。しか
し、4バイトのデータ503は2つのメモリアク
セス単位に亘つて存するから、読出起動は2回必
要であるというわけである。
読出起動が1回で済まされる場合、4バイトデ
ータの読出が完了した時点で高速バツフアメモリ
よりアクセス終了信号(AEND)が出力される
と同時に、4バイトデータ(DATA)もまた高
速バツフアメモリより出力されることになる。こ
のうちアクセス終了信号はデコーダ409によつ
てデコードされ、そのデコード出力によつてオペ
ランドレデイフラグ(OR)用のフリツプフロツ
プ411がセツトされることから、これにより命
令実行ユニツトはオペランドフエツチ完了を知れ
るものである。なお、フリツプフロツプ411の
セツトと同時にフリツプフロツプ113はリセツ
トされる。一方、高速バツフアメモリからの4バ
イトデータはオペランドバツフアレジスタ406
に一旦セツトされた後、必要とされる全部あるい
は一部のバイトデータは命令実行ユニツトに送出
されるようになつている。デコーダ405はオペ
ランドアドレスおよびデータタイプをデコードし
ているが、このデコード出力によつてデータアラ
イナ407を制御すれば、オペランドバツフアレ
ジスタ406にセツトされたバイトデータのう
ち、オペランドデータとして指定されたバイトデ
ータのみがオペランドバス下位側にシフトされた
状態でオペランドバスを介し命令実行ユニツトに
送出されるものである。
また、2回の読出起動が必要であると判定され
た場合には、1回目の読出起動に対するアクセス
終了信号によつてメモリアドレスレジスタ404
の内容は+4更新され、また、2回目の読出起動
が行われる旨を示すフラグ(SMA)用のフリツ
プフロツプ414がセツトされる。但し、この時
点ではまだフリツプフロツプ411はセツトされ
ず、またフリツプフロツプ413はリセツトされ
ない。このような状態で2回目の読出起動が行わ
れると、2回目の読出起動に対するアクセス終了
信号が得られることになるが、この時点でフリツ
プフロツプ411をセツトするとともに、フリツ
プフロツプ414,413をリセツトするように
すればよいものである。一方、オペランドバツフ
アレジスタ406には2回の読出起動により8バ
イトのデータがセツトされることになるが、これ
らデータよりオペランドデータとして指定された
もののみが命令実行部に送出されることは先の場
合に同様である。
次に読出アドレスが命令実行ユニツトで発生さ
れる場合については説明すれば以下のようであ
る。
即ち、この場合にはアドレス計算ユニツトから
ではなく命令実行ユニツトよりオペランドアドレ
ス452、データタイプ453および制御情報4
56が与えられることを除けば、事情は全て先の
場合に同様である。
さて、次にデータの書込について説明すれば、
書込の場合にもアドレス計算ユニツトよりアドレ
スなどの情報が与えられる場合とそれらの情報が
命令実行ユニツトより与えられる場合とがある。
なお、書込データそのものは何れの場合であつて
も命令実行ユニツトより与えられる。
先ずアドレス計算ユニツトよりオペランドアド
レスなどの情報が与えられる場合について説明す
れば、オペランドアドレス450、データタイプ
451はそれぞれデータセレクタ402,401
を介しメモリアドレスレジスタ404、データタ
イプレジスタ403にセツトされる。更にアドレ
ス計算ユニツトからの制御情報455はデコーダ
409によつてデコードされ、そのデコード出力
によつてアドレス準備完了を示すフラグ(AR)
用のフリツプフロツプ415がセツトされること
から、これより命令実行ユニツトはアドレスの準
備が完了したことを知れるものである。この後命
令実行ユニツトは書込データ457をメモリライ
トレジスタ408にセツトし、書込である旨を示
す制御情報456を出力するところとなる。この
制御情報456はデコーダ409によつてデコー
ドされ、そのデコード出力によつてライトアクセ
スフラグ(WAC)用のフリツプフロツプ412
がセツトされることにより、高速バツフアメモリ
に対して書込起動がかけられるものである。な
お、説明が遅れたが、読出の場合データタイプは
特に重要なものではない。先頭メモリアドレスと
メモリアドレス長とからなるデータタイプによつ
て同一メモリアクセス単位内におけるバイトデー
タを選択的に読み出すことは可能であるが、これ
によつて特に実効があるわけではないからであ
る。しかしながら、書込の場合には指定されたメ
モリアドレスに指定された書込データを書き込む
必要があり、この書込制御をデータタイプによつ
て行うものである。
さて、書込起動によつてデータの書込が行われ
るが、書込の場合にも書込起動が1回で済まされ
る場合と2回必要な場合とがある。アクセスされ
るべきメモリアドレスが2つのメモリアクセス単
位に亘る場合は2回書込起動をかける必要がある
わけである。
先ず1回で済まされる場合について説明すれ
ば、書込起動に対しては高速バツフアメモリより
アクセス終了信号(AEND)がアクセス終了時
点で出力されるから、これによつてデコーダ40
9を介しライトアクセス完了フラグ(WE)用の
フリツプフロツプ410をセツトするとともに、
フリツプフロツプ412をリセツトするものであ
る。フリツプフロツプ410がセツトされたこと
によつて命令実行ユニツトはアクセスの終了を知
れるわけである。
次に2回で済まされる場合について説明すれ
ば、1回目の書込起動に対するアクセス終了信号
によつてデコーダ409を介しフリツプフロツプ
414はセツトされ、また、メモリアドレスレジ
スタ404はカウントアツプ信号454によつて
+4カウントアツプされる。但し、この時点では
フリツプフロツプ412はリセツトされず、ま
た、フリツプフロツプ410はセツトされない。
したがつて、この後のサイクルでメモリライトレ
ジスタ408における書込データを更新した状態
で第2回目の書込起動が行われるものである。こ
の書込起動に対するアクセス終了信号が得られた
時点でフリツプフロツプ412,414をリセツ
トする一方、フリツプフロツプ410をセツトす
るものである。
アドレス計算ユニツトよりアドレスなどの情報
が与えられる場合は以上のようであるが、命令実
行ユニツトよりアドレスなどが与えられる場合も
事情は同様となつている。この場合オペランドア
ドレスやデータタイプ、制御情報が命令実行ユニ
ツトより与えられることは勿論であるが、この他
命令実行ユニツトで書込を制御していることか
ら、フリツプフロツプ415の出力は特に考慮さ
れることはない。
最後にデコーダ409の一例での詳細な構成に
ついて第4図により説明する。
これによるとデータタイプレジスタ403およ
びメモリアドレスレジスタ404からの出力はデ
コーダ409内部において先ずデコーダ500に
入力され、デコーダ500によりアクセスが1回
で済まされるか2回で済まされるかが判定される
ようになつている。一方、制御情報455,45
6の何れか一方もセレクタ501を介しデコーダ
502によつてリードモードであるかライトモー
ドであるのかが判定されるようになつている。
先ずリードモードである場合には1入力否定ア
ンドゲート508、オアゲート509を介してフ
リツプフロツプ413がセツト可能状態におか
れ、この状態で第1のセツト信号がフリツプフロ
ツプ413に与えられることによりフリツプフロ
ツプ413はセツトされるようになつている。フ
リツプフロツプ413は1回目のアクセス終了信
号か2回目のアクセス終了信号が得られた時点で
リセツトされるが、何れの時点でリセツトされる
かはアンドゲート507の出力状態によつてい
る。即ち、2回のアクセスが必要な場合にはデコ
ーダ500の出力によつて1入力否定アンドゲー
ト503を介しアンドゲート505が活性化さ
れ、1回目のアクセス終了信号が得られた時点で
フリツプフロツプ411,413,414には第
2のセツト信号が与えられる。これによりアンド
ゲート505からはカウントアツプ信号454が
得られ、また、フリツプフロツプ414はセツト
状態におかれるものである。この場合アンドゲー
ト507は条件を満足するが、アンドゲート50
6は条件を満足しないから、フリツプフロツプ4
13はそのままセツト状態におかれ、フリツプフ
ロツプ411はリセツト状態のままである。しか
しながら、フリツプフロツプ414がセツト状態
におかれるようになれば、アンドゲート505は
不活性化状態に、また、アンドゲート506はオ
アゲート504を介するフリツプフロツプ414
のセツト出力によつて活性化されるようになる。
このような状態で2回目のアクセス終了信号が得
られれば、アンドゲート506では条件が満足さ
れるが、アンドゲート505,507では条件が
満足されなくなることから、第2のセツト信号に
よつてフリツプフロツプ411はセツト状態にお
かれ、また、フリツプフロツプ413,414は
ともにリセツトされるところとなるものである。
次に1回のアクセスで済まされる場合について
説明すれば、この場合にはフリツプフロツプ41
3は先の場合と同様にしてセツト状態におかれる
が、アンドゲート505が活性化されることはな
い。即ち、カウントアツプ信号454は出力され
ず、また、フリツプフロツプ414もセツトされ
ることはないものである。この場合にはアンドゲ
ート506がデコーダ500からの出力によつて
初めから活性化されることから、1回目のアクセ
ス終了信号が得られる時点においてアンドゲート
506では条件が満足されるが、アンドゲート5
07で条件は満足されず、したがつて第2のセツ
ト信号によつてフリツプフロツプ411,413
はそれぞれセツト状態、リセツト状態におかれる
ものである。
リードモードの場合は以上のようであるが、ラ
イトモードである場合にも事情は同様となつてい
る。即ち、フリツプフロツプ414はライトモー
ド、リードモードに共用されており、フリツプフ
ロツプ410,412はそれぞれフリツプフロツ
プ411,413に対応するものとなつているか
らである。アンドゲート510,512,513
およびオアゲート514の機能については明らか
であるので特にこれ以上の説明は要しないが、た
だ、ライトモードの場合にはアドレス準備完了を
示すフリツプフロツプ415が設けられているこ
とは既述したところである。フリツプフロツプ4
15はフリツプフロツプ412に先立つて1入力
否定アンドゲート511によりセツト可能状態に
あるときに第3のセツト信号によつてセツトされ
るようになつているものである。なお、フリツプ
フロツプ411,410,415はセツト状態に
おかれてから、適当な時点でリセツトされる。
以上本発明をメモリアクセス単位が4バイトと
して説明したが、これに限定されることなく適用
可能なものであることは明らかである。
以上説明したように本発明は、ハードウエアに
てアクセスされるべきメモリアドレスがメモリア
クセス境界に跨がるか否か、即ち、アクセスが1
回で済まされるか2回必要かを判定し、2回必要
と判定された場合にはハードウエアによつて引き
続きメモリアクセスが実行されるようにしたもの
である。したがつて本発明による場合は、アクセ
スされるべきメモリアドレスがメモリアクセス境
界に跨がり、2回メモリアクセスが必要な場合で
あつてもソフトウエア上でのメモリアクセスは1
回で済まされるという効果がある。
【図面の簡単な説明】
第1図は、本発明によるデータ処理装置の一例
での概要構成を示す図、第2図は、その構成にお
けるオペランドフエツチユニツトの詳細な構成を
示す図、第3図は、アクセスされるべきメモリア
ドレスとメモリアクセス境界との関係でメモリア
クセスが1回で済まされるか2回で済まされるか
を説明するための図、第4図は、第2図における
要部とその周辺の一例での詳細な構成を示す図で
ある。 412……ライト起動用フリツプフロツプ、4
13……リード起動用フリツプフロツプ、500
……メモリアクセス回数判定用デコーダ、502
……リード/ライト判定用デコーダ。

Claims (1)

    【特許請求の範囲】
  1. 1 N(N;2以上の整数)アドレス毎に区分さ
    れたメモリアドレスを、メモリアドレス区分の
    各々をアクセス単位として任意の先頭メモリアド
    レスよりN−1メモリアドレス以内で連続してメ
    モリアクセスするデータ処理装置において、ソフ
    トウエアによるメモリアクセスの際得られるアク
    セスされるべき先頭メモリアドレスとメモリアド
    レス長とから必要とされるメモリアクセス回数を
    判定するアクセス回数判定手段と、該手段からの
    判定結果にもとづき必要な場合にメモリに対する
    アドレスを1回目のメモリアクセス終了時にNア
    ドレス分更新するメモリアドレス更新手段と、上
    記アクセス回数判定手段からの判定結果にもどづ
    き必要回数メモリに対してメモリアクセスを実行
    するアクセス実行手段とを備えてなる構成を特徴
    とするデータ処理装置。
JP5099582A 1982-03-31 1982-03-31 デ−タ処理装置 Granted JPS58169384A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5099582A JPS58169384A (ja) 1982-03-31 1982-03-31 デ−タ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5099582A JPS58169384A (ja) 1982-03-31 1982-03-31 デ−タ処理装置

Publications (2)

Publication Number Publication Date
JPS58169384A JPS58169384A (ja) 1983-10-05
JPH0136198B2 true JPH0136198B2 (ja) 1989-07-28

Family

ID=12874363

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5099582A Granted JPS58169384A (ja) 1982-03-31 1982-03-31 デ−タ処理装置

Country Status (1)

Country Link
JP (1) JPS58169384A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010116403A1 (ja) 2009-03-30 2010-10-14 富士通株式会社 プリフェッチ要求回路

Also Published As

Publication number Publication date
JPS58169384A (ja) 1983-10-05

Similar Documents

Publication Publication Date Title
JPS605978B2 (ja) 記憶装置のアクセス制御方式
JP2773471B2 (ja) 情報処理装置
JPH0348537B2 (ja)
JPH0760388B2 (ja) パイプライン制御回路
JPH0136198B2 (ja)
JPS601655B2 (ja) デ−タプリフェツチ方式
JPS6055911B2 (ja) 主記憶装置
JP2758624B2 (ja) マイクロプログラムの調速方式
JPS6125168B2 (ja)
JPH0232649B2 (ja)
JPH0752402B2 (ja) データ処理装置
JPS6218933B2 (ja)
JPS6027418B2 (ja) 命令先取り制御装置
JPS5925264B2 (ja) ベクトル命令処理方式
JPS6036614B2 (ja) 情報処理装置
JPH04162135A (ja) データ処理装置
JPS6215645A (ja) 中央処理装置
JPH024011B2 (ja)
JPH11282787A (ja) 入出力制御装置
JPS6319042A (ja) 命令先取り方法
JPS6320631A (ja) レジスタ選択方式
JPS6351294B2 (ja)
JPS6047616B2 (ja) 情報処理装置
JPS5922314B2 (ja) 記憶装置書込み方式
JPH0578052B2 (ja)