JPS58169384A - デ−タ処理装置 - Google Patents

デ−タ処理装置

Info

Publication number
JPS58169384A
JPS58169384A JP5099582A JP5099582A JPS58169384A JP S58169384 A JPS58169384 A JP S58169384A JP 5099582 A JP5099582 A JP 5099582A JP 5099582 A JP5099582 A JP 5099582A JP S58169384 A JPS58169384 A JP S58169384A
Authority
JP
Japan
Prior art keywords
memory
address
access
data
operand
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.)
Granted
Application number
JP5099582A
Other languages
English (en)
Other versions
JPH0136198B2 (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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 本発明は、1回のメモリアクセスによって連続する複数
のメモリアドレスを同時にアクセスするデータ処理装置
に関し、特にアクセスされるべ龜メモリアドレスがメモ
リアクセス境界に瞳がる場曾であってもソフトウェア上
ではメモリアクセスが1圓で済まされるデータ処理装置
に関するものである。
従来より1回のメモリアクセスによって連続する複数の
メモリアドレスにデータt f!1時に格納せしめたり
、こ扛とは逆にその複数のメモリアドレスより同時にデ
ータtUtみ出すデータ処m装置が考えられて−るが、
ソフトウェア上関越の余地がある。というのは、従来に
あってはアクセスされるべ島メモリアドレスは一定アド
レス数毎に、例えば4アドレス毎に予め定められて埴る
ことから、メモリアクセス境界に跨がるメモリアドレス
をアクセスする場合にはソフトウェア上2回のメモリア
クセスが必要になるというものである。これ【より具体
的に説明すれば、例えばメモリアドレスがO〜3.4〜
7.8〜11.・・・・・・と―り九^合に4アドレス
毎にアクセスされるべ自メ峰リアドレスが区分されて―
る場合、メモリアドレス2〜4よりデータt−読み出そ
うとすれば、先ずメモリアドレス0〜3に対してアクセ
スを行ない引き続きメモリアドレス4〜7をアクセスす
る必要があるというわけである。こnによりメモリアド
レス0〜7からデータが読み出されこれらデータより必
要なもののみを取り出すことになるものである。
しかしながら、メモリアクセス境界に跨がるメモリアド
レスをアクセスする場合、ソフト9エアに負担がかかる
ことは明らかである。従来にあっては命令実行部におけ
るマイク曹プログラムが2回目のメモリアクセスが必要
か否かt判定し、必要ならば2回目のメモリアクセスを
行って%/m九が、これだとそのマイクロプログラムの
作成時にメモリアクセス境界を意識してマイクロプログ
ラムを作成しなけれ杖ならず煩瑣であるというものであ
る。
よって本発明の目的は、アクセスされるぺ龜メモリアド
レスがメモリアクセス境界に跨がる鳩會であってもソフ
トウェア上でのメモリアクセスが1回で済まされるデー
タ処理装置を供するにある。
仁の目的のため本発vAは、ハードウェアにてアクセス
されるべきメモリアドレスがメモリアクセス境界に跨が
るか否かを判定し、跨がると判定された場合にはハード
ウェアによって引き続きメモリアクセスが実行されるよ
うになしたものである。
以下、本発明を第1図から5g4図により説明する。
先ず第1図により本発明によるデータ処理装置の一例で
の構成につめて説明すれば、以下のようである。
即ち、主記憶装置301は主記憶制御ユニット302か
らの制御によって高速バッファメモリ30:4.304
との間でアドレスバス31Gおよびデータバス311t
−介しデータの授受が可とされるようになって−る。t
た、命令饋の先行読出は命令フエツチェニット305に
よって行われる。
命令フエツチェエット305より命令対応のアドレスが
高速バッフアメ毫す303に送出され、高速バッフ7メ
ーevsost介し命令の先行読出が行われるものであ
る。命令フエツチェニット305に取り込まれた命令は
オペレーション・コードおよびオペランドデスクリプタ
一単位で命奮解貌ユニット306に送出され解読される
が、解読されたアドレスモードに従ってオペランドの実
効アドレスが計算され、オペランドが先行フェッチされ
るようになっている。即ち、アドレス計算ユニット30
7では命令解読ユニット306で解読されたアドレスモ
ードに従いオペランドの実効アドレスが計算され、計算
され大実効アドレスにtとづ自オペランドフェッチユニ
ット308が高aハyファメモリ304に介しオペラン
ドを先行フェッチするようになって−るものである。信
号−312を介し実効アドレスを受けた高速バッツァメ
モリ304ではその実効アドレス対応のデータ保有して
いる場合には直ちに、iた、保有していない場合は主記
憶制御二二ツ)302を介し主記憶装置301にアクセ
スする仁とによってその実効アドレス対応のデータを読
み出し禽う、tl1号線3l31?Lオペランドフェッ
チユニット30gに送出してiるわけである。オペラン
ドフェッチユニット308に送出されたデータは命令実
行ユニット309に送出され、これによって命令が実行
されるものである。なお、オペランドフェッチユニット
308へのデータの読出゛(リード)は命令実行ユニッ
ト30Gからのアドレス情報などによっても行われ、ま
九、データの書込(シイト)も読出と同様アドレス計算
ユニツ) 307、命令実行ユニット3(lからのアド
レス情報などによって行われる。これらのデータの読出
、書込については後述するところである。
以上のようにして各エニットが独立に動作することによ
ってパイプライン処理が可能となって−るわけであるが
、パイプライン処理を行ううえでデータ処理装置の構成
が図示のものに限定されないことは勿論である。
第2図はそのオペランド7エツチユニツトの構成を示し
九ものであるが、これによりデータの読出、書込につい
て説明すれば以下のようである。
即ち、先ずデータの続出より説明すれば、データの読出
は続出アドレスがアドレス計算ユニットで発生される場
合と命令実行ユニットで発生される場合とがある。
先ず前者の場合にはアドレス計算ユニットからのオペラ
ンドアドレス450はデータセレクタ402を介しメモ
リアドレスレジスタ404にセットされる。一方、これ
と同時にそのアドレス対応のメモリアドレス区分より如
何程のバイトデータをフェッチするのかを示す情報であ
るデータタイプ451がアドレス計算ユニットよりデー
タセレクタ401に介しデータタイプレジスタ403に
セットされるようになっている。更にアドレス計算ユニ
ットからの制御情報45mはデコーダ40Gによってデ
コードされるようにしてなる。
制御情報455は仁の場合リードモードを示しているこ
とから、そのデコード出力にもとづきリードアクセスフ
ラグ(凡ムC)用のフリップ70ツブ413がセットさ
れ、これにより高速バッファメモリに対して続出起動が
かけられるようになっているわけである。
メモリアドレスレジスタ404、データタイプレジスタ
403よりそれぞnオペランドアドレス(ADD凡)、
データタイプ(DATA  TYPE)が高速バッファ
メモリに対して与えられている状態で続出起動tかけれ
ば、高速バッファメモリからは所定数、例えば4バイト
のデータが読出されるわけであるが、続出起動は必ずし
も1回で済まされるとは限らない。
この事情を第3#Aによって説明すれば、メモリ501
がそのメモリアドレスの下2ビットが@oo”から@1
1”tメそりアクセス単位としてアクセスされる場合、
2バイトのデータ502は同一メモリアクセス単位内の
ものであるから、1回の続出起動で済まされるというも
のである。
しかし、4バイトのデータ503は2つのメモリアクセ
ス単位に皿って存するから、読出起動は2目必要である
とめう−わけである。
続出起動が1回で済まされる場合、4バイトデータの続
出が完了した時点で高速バッファメモリよりアクセス終
了信号(AEND)が出力されると同時に、4バイトデ
ータ(DATA)もま九高速バッファメモリより出力さ
れることになる。このうちアクセス終了信号はデコーダ
409によってデコードされ、そのデコード出力によっ
てオペランドレディフラグ(OR)用の7リツプフロツ
プ411がセットされることから、こnにより命令実行
ユニットはオペランドフェッチ完i知れるものである。
なお、フリップフロップ411のセットと同時にフリッ
プフロップ113はリセットされる。一方、高速バッフ
ァメモリからの4バイトデータはオペランドバッファレ
ジスタ406に一部セットされた後、必要とされる全部
あるいは一部のバイトデータは命令実行ユニットに送出
されるようになっている。デコーダ405はオペランド
アドレスおよびデータタイプをデコードしているが、こ
のデコード出力によってデータアライナ4G7t−制御
すれば、オペランドバッファレジスタ406にセットさ
れたバイトデータのうち、オペランドデータとして指定
され九バイトデータのみがオペランドバス下位側にシフ
トされ九状膳でオペランドバスを介し命令実行ユニット
に送出されるものである。
また、2回の続出起動が必要であると判定された場合に
は、1回目の続出起動に対するアクセス終了信号によっ
てメモリアドレスレジスタ404の内容は+4更新され
、また、2回目の読出起動パが行われる旨を示すフラグ
(8MA)用の7リツプフロツプ414がセットされる
。但し、この時点ではまにフリップフロップ411はセ
ットされず、また7リツプフロツプ413t!リセツト
されない、このような状態で2回目の続出起動が行われ
ると、2回、目の続出起動に対するアクセス終了信号が
得られることになるが、この時点で7リツプフロツプ4
11t−セットするとともに、フリップ70ツブ414
.413t−リセットするようにすればよいものである
。一方、オペランドバッファレジスタ406には2回の
読出起動により8バイトのデータがセットさnることに
なるが、これらデータよりオペランドデータとして指定
されたもののみが命令実行部に送出されることは先の場
合に同様である。
次に続出アドレスが会合実行ユニットで発生される場合
について説明すれば以下のようである。
即ち、この場合にはアドレス計算ユニットからではなく
命令実行ユニットよりオペランドアドレス452、デー
タタイプ453および制御情報456が与えられること
を除けば、事情は全て先の場合に同様である。
さて、次にデータの書込について説明すれば、書込の場
合にもアドレス計算ユニットよりアドレスなどの情報が
与えられる場合とそれらの情報が命令実行ユニットより
与えられる場合とがある。
なお、書込データそのものは何れの場合であっても命令
実行ユニットより与えられる。
先ずアドレス計算ユニットよりオペランドアト十   
    ゛ レスなどの情報が与えられる場合について説明すれば、
オペランドアドレス4501データタイプ451はそれ
ぞれデータセレクタ402,401を介しメモリアドレ
スレジスタ404、データタイプレジスタ403にセッ
ト嘔れる。罠にアドレス計算ユニットからの制御情報4
55はデコーダ409によってデコードされ、そのデコ
ード出力によってアドレス準備光子を示すフラグ(AR
)用のフリップフロップ415がセットされることカラ
、これ↓9命合夷行ユニットはアドレスの準備が完了し
たことを知れるものである。この後命令実行ユニットは
書込データ457をメモリライトレジスタ408にセッ
トし、★込である旨を示す制御情@456に出力すると
ころとなる。この11Q#情報456はデコーダ409
によってデコードされ、七のデコード出力によってライ
トアクセスフラグ(WAC)用の7リツプフロツプ41
2がセットされることにより、高速バッツァメモリに対
して書込起動がかけらnるものである。なお、説明が遅
れ九が、続出の場合データタイプは特に1 重I!なものではない、先頭メモリアドレスとメモリア
ドレス長とからなるデータタイプによって同一メモリア
クセス単位内におけるバイトデータを選択的に絖み出す
ことは可能であるが、これによって特に実効があるわけ
ではないからである。しかしながら、書込の場合には指
定されたメモリアドレスに指定された書込データを書き
込む必要があり、この書込制御をデータタイプによって
行うものである。
さて、書込起動によってデータの書込が行われるが、書
込の場合にも書込起動が1回で済まされる場合と2回必
喪な場合とがある。アクセスされルヘきメモリアドレス
が2つのメモリアクセス単位に亘る場合は2回舊込起動
tかける必要があるわけである。
先ず1回で済まされる場合について説明すれば、書込起
動に対しては高速バッファメモリよりアクセス終了信号
(AEND)がアクセス終了時点で出力されるから、仁
れによってデコーダ409に−介しライトアクセス完了
フラグ(WE )用のフリy フ7 El yプ410
tセットするとともに、フリッププロップ412をリセ
ットするものである。
フリップフロップ41Gがセットされたことによって命
令実行ユニットはアクセスの終了を知れるわけである。
次に21mで済まされる場合について説明すれば、1四
目の書込起動に対するアクセス終了信号によってデコー
ダ409を介しフリップフロップ414はセットされ、
また、メモリアドレスレジスタ404はカウントアツプ
信号454によって+4カウントアツプされる。但し、
この時点ではフリップ7oツブ412はリセットされず
、また、フリップ7aツブ41(1セツトされない、し
たがって、この後のサイクルでメモリライトレジスタ4
08における書込データを更新した状態で第2鴎目の書
込起動が行われるも′のである。との書込起動に対する
アクセス終了信号が得られ九時点で7リツプ7@ツブ4
12,414tリセツトする一方、フリッグ7vsツブ
41G1セットするものである。
アドレス計算ユニットよりアドレスなどの情報が与えら
れる場合は以上のようであるが、命令実行ユニットより
アドレスなどが与えられる場合も事情は同様となって−
る。この場合オベランドアドレス中データタイプ、制御
情報が命令実行工具ットよ炒与えられることは勿論であ
るが、ζO弛命令実行工二ットで書込を制御しているこ
とから、フリップフロップ41Bの出力は譬に考慮され
ることはない。
最後にデコーダ409の一例での詳細な構成について第
4図により説明する。
これによるとデータタイプレジスタ403およびメモリ
アドレスレジスタ404からの出力はデコーダ409内
部において先ずデーーダ500に入力され、デコーダ5
00によりアクセスが1回で済tされるか2回で済まさ
れるかが判定場れみようになってiる。一方、制御情報
4s5.4t66の何れか一方もセレクタ5O1t−介
しデコーダ5(NIKよってリードモードであるかライ
トモードであるのかが判定されるようになって−る。
先ずリードモードである場合には1人力否定アントゲ−
)50g、オアグー)SO9を介してフリップフロップ
413がセット可能状態におかれ、この状態でallの
セラ)信号がフリップ711ツブ413に与えられるこ
とに↓9フリップフロップ413はセットされるように
なっている。フリップフロップ413は1回目のアクセ
ス終了信号か2回目のアクセス終了信号が得られた時点
でリセットされるが、何れの時点でリセットされるかは
アンドゲート507の出力状態によっている。即ち、2
1QIのアクセスが必要な場合にはデコーダ500の出
力によって1入力否定アンドゲート503を介しアンド
ゲート505が活性化され、11目のアクセス終了信号
が得らnた時点でフリップフロップ411,413,4
14には1120セット信号が与えられる。これにより
アンドグー)SO5からはカウントアツプ信号454が
得られ、また、フリップフロップ414はセット状態に
おかれるものである。この場合アンドゲート507は条
件を満足するが、アンドゲート506は条件を満足しな
いか、ら、フリップフロップ413はそのままセット状
態におかれ、フリップフロップ411はりセット状態の
ままである。しかしながら、フリップフロップ414が
セット状態におかれるようになれば、アンドゲート50
sは不活性化状態に、また、アントゲ−)80@はオア
ゲート504を介する7リツプフロツプ4140セツト
出力によって活性化されるようになる。Cのような状態
で2回目のアクセス終了信号が得られれば、アンドゲー
ト506では条件が満足されるが、アンドグー)505
,507では条件が満足場れなくなることから、第2の
セット信号によって7リツプフロツプ411はセット状
態におかれ、を九、フリップフロップ413,414は
ともにリセットされるところとなるものである。
次に1回のアクセスで済まされる場合について説明すれ
ば、この場合にはフリップ7■ツブ41Bは先の場合と
同様にしてセット状態におかれるが、アンドゲート50
5が活性化されることはな−。
即ち、カウントアツプ信号454は出力されず、また、
フリップフロップ414もセットされることはないもの
である。この場合にはアンドゲート506がデコーダ5
00からの出力によって初めから活性化されることから
、l1m@oアクセス終了傷号が得られる時点において
アンドゲート506では条件が満足されるが、アンドゲ
ート507で条件は満足されず、したがって第2のセッ
ト信号によって7リツプフロツプ411,413はそれ
ぞれセット状態、リセット状態におかれるものである。
リードモードの場合は以上のようであるが、ライトモー
ドである場合にも事情は同様となってiる。即ち、フリ
ップフロップ414はライトモード、リード毫−ドに共
用されており、フリップフロップ41G、412&1!
それぞれフリップフロップ411,413に対応する゛
ものとなっているからである。アンドゲート510,5
12.り13およびオアグー)!$14の機能につ−て
は明らかであるので%にこれ以上の説明は豐しないが、
次だ、ライトモードの場合にはアドレス準備完了を示す
フリップフロップ41!Sが設けられて−ることは既述
したところである。フリップフロップ415はフリップ
フロップ412に先立って1入力否定アンドゲート51
1によりセット可能状態にあるときにII3のセット信
号によってセットされるようになっているtのである。
なお、フリップ7m”プ411,410.4151!セ
ット状態におかれてから、適歯な時点でリセットされる
以上本発明をメモリアクセス単位が4バイトとして説明
したが、これに限定されることなく適用可能なものであ
る仁とは明らかである。
以上説明したように本発明は、ハードウェアにてアクセ
スされるべきメモリアドレスがメモリアクセス境界に跨
がるか否か、即ち、アクセスが1回で済まされるか2回
必要かt判定し、2回必要と判定された場合にはハード
ウェアによって引き続きメモリアクセスが実行されるよ
うにしたものである。したがって本発明による場合は、
アクセスされるべきメモリアドレスがメモリアクセス境
界に跨がり、2回メモリアクセスが必要な場合であって
もソフトウェア上でのメモリアクセス拡1回で済まされ
るとiう効果がある。
【図面の簡単な説明】
第1図は、本発明によるデータ処m装置の一例での概要
1111ritt示す図、第2図は、その構成におけ本
オペランドフェッチユニットの詳細な構成を示す幽、第
・3図は、アクセスさnるべきメモリアドレスとメモリ
アクセス境界との関係でメモリアクセスが1回で済まさ
nるか2回で済まされるかt説明するための図、第4図
は、第2図におけるllsとその周辺の一例での詳細な
構成を示す図である。 412・・・ライト起動用フリップフロップ、413°
・・リード起動用フリップフロップ、500・・・メモ
リアクセス回数判定量デコーダ、!S02・・・リード
/ライト判定用デコーダ。 代理人 弁理士 秋本正実 ′: 第 1 回 ¥−12日

Claims (1)

    【特許請求の範囲】
  1. 1、N(Ns2以上の整数)アドレス毎に区分され九メ
    モリアドレスを、メモリアドレス区分の各々をアクセス
    単位として任意の先頭メモリアドレスよりN−1メモリ
    アドレス以内で連続してメモリアクセスするデータ処理
    装置において、ソフトウェアによるメモリアクセスの際
    得られるアクセスされるべき先頭メモリアドレスとメモ
    リアドレス長とから必要とされるメモリアクセス回数を
    判定するアクセス回数判定手段と、該手段からの判定結
    果にもとづき必要な場合にメ篭りに対するアドレスに1
    回目のメモリアクセス終了IIにNアドレス分更新する
    メモリアドレス更新手段と、上記アクセス回数判定手段
    からの判定結果にもとづ亀必要回数メモリに対してメモ
    リアクセスを実行するアクセス実行手段とを備えてなる
    構成t%黴とするデータ処理装置。
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 true JPS58169384A (ja) 1983-10-05
JPH0136198B2 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)

Cited By (1)

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

Cited By (2)

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

Also Published As

Publication number Publication date
JPH0136198B2 (ja) 1989-07-28

Similar Documents

Publication Publication Date Title
US6370601B1 (en) Intelligent direct memory access controller providing controlwise and datawise intelligence for DMA transfers
US5168571A (en) System for aligning bytes of variable multi-bytes length operand based on alu byte length and a number of unprocessed byte data
US4980819A (en) Mechanism for automatically updating multiple unit register file memories in successive cycles for a pipelined processing system
US4037213A (en) Data processor using a four section instruction format for control of multi-operation functions by a single instruction
JPS5933553U (ja) プロセツサ
JPH0248931B2 (ja)
JPS58169384A (ja) デ−タ処理装置
GB2366426A (en) Multi-processor system with registers having a common address map
JPH0685147B2 (ja) 半導体回路装置
JPS601655B2 (ja) デ−タプリフェツチ方式
JPH02126321A (ja) 命令コードのデコード装置
JPS622332B2 (ja)
JPH02163828A (ja) データ処理装置
JP3182796B2 (ja) 中央演算処理装置
JPH0150934B2 (ja)
JPS6126089B2 (ja)
JPS62145430A (ja) デ−タ処理装置
JPH0363091B2 (ja)
JPH02280232A (ja) 命令キュー制御回路
JPH04162135A (ja) データ処理装置
JPS6320631A (ja) レジスタ選択方式
JPS59125443A (ja) 命令アドレス比較方式
JPS6351294B2 (ja)
JPH0752402B2 (ja) データ処理装置
JPH036735A (ja) データ処理装置