JPH076082A - アドレス生成装置 - Google Patents

アドレス生成装置

Info

Publication number
JPH076082A
JPH076082A JP14629593A JP14629593A JPH076082A JP H076082 A JPH076082 A JP H076082A JP 14629593 A JP14629593 A JP 14629593A JP 14629593 A JP14629593 A JP 14629593A JP H076082 A JPH076082 A JP H076082A
Authority
JP
Japan
Prior art keywords
address
register
data
instruction
output
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
JP14629593A
Other languages
English (en)
Inventor
Hidenori Ohashi
秀紀 大橋
Takashi Uchino
高志 内野
Takashi Kuroda
隆 黒田
Akira Yoshida
昭 吉田
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP14629593A priority Critical patent/JPH076082A/ja
Publication of JPH076082A publication Critical patent/JPH076082A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【目的】 本発明は少なくとも1つのアドレスレジスタ
8により異なる2つのアドレスを生成し、これらのアド
レスを第1のデータメモリ1、及び第2のデータメモリ
4のアドレスとすることにより、データ転送を効率よく
行うアドレス生成装置を提供することを目的とする。 【構成】 本発明は、命令を解析するインストラクショ
ンレジスタ20と、アドレス情報を格納するアドレスレ
ジスタ8と、インストラクションレジスタ20で解析さ
れた命令コードの情報に基づいてアドレスを生成する第
1のアドレスアロケーションユニット7と、インストラ
クションレジスタ20の命令コードに基づいて、第1の
アドレスアロケーションユニット7、及び第2のアドレ
スアロケーションユニット10のアドレスを変換する第
1のアドレス出力ユニット22、及び第2のアドレス出
力ユニット23と、を備えることを特徴とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数個のデータメモリ
を有し、そのデータメモリの内容を基にして演算処理を
行なうディジタル計算機に関し、特にデータメモリのア
ドレスを指定するアドレス生成装置に関する。
【0002】
【従来の技術】半導体技術、マイクロプロセッサアーキ
テクチャなどの進歩により、プロセッサのメモリ空間を
プログラムメモリ空間とデータメモリ空間に分割し、命
令実行の高速化を図るハーバードアーキテクチャを採用
したRISCプロセッサ、ディジタルシグナルプロセッ
サ(以下DSPと称する。)等の実用化が進んでいる。
【0003】特にDSPに関しては、ワンチップ上で容
易に実現でき、斯るDSPによる処理は、アナログ信号
処理に比較して高精度処理が可能であり、またパラメー
タの設定によりフィルタ特性などの任意の特性を安定し
て均一に得られる。さらにDSPの使用により、アナロ
グ構成に比べて部品の精度に起因する微調整を行うこと
が不要であるなどの特徴を有しており、急速に普及が進
んでいる。このDSPの応用範囲は、音声信号処理、通
信信号処理、計測信号処理、画像信号処理、音響処理等
のディジタル信号処理の幅広い分野において利用されて
いる。
【0004】DSPで前述のディジタル信号処理を行う
場合には、式(1)に示すように、
【0005】
【数1】
【0006】の係数(式(1)中のai、biに相当)
とデータ(式(1)中のxi、yiに相当)との積和演
算が大半であり、データはデータメモリに格納されてお
り、一方係数は予めデータメモリにイミディエートデー
タとして書き込まれており、斯る積和演算を行なうディ
ジタル計算機が特開昭63−303452号公報に開示
されている。
【0007】図9は、従来のディジタル計算機における
アドレス生成装置の概略構成図である。
【0008】図9における1はデータなどが格納されて
いる第1のデータメモリ、2は第1のデータメモリ1の
アドレスを指定する信号が通る第1のアドレスバス、3
は第1のデータメモリ1のデータの交信を行う第1のデ
ータバス、4は演算に用いる係数などが格納されている
第2のデータメモリ、5は第2のデータメモリ4のアド
レスを指定する信号が通る第2のアドレスバス、6は後
述するアキュムレータ16と第2のデータメモリ4との
データ交信を行う第2のデータバス、7は第1のデータ
メモリ1のアドレスを指定する第1のアドレスアロケー
ションユニット、8は第1のアドレスアロケーションユ
ニット7で生成されるアドレスの基となるアドレス値が
格納されている第1のアドレスレジスタ、9は第1のア
ドレスレジスタ8と共に用いられ、第1のアドレスレジ
スタ8のアドレス値に対する増減値が格納されている第
1のオフセットレジスタ、10は第2のデータメモリ4
のアドレスを指定する第2のアドレスアロケーションユ
ニット、11は第2のアドレスアロケーションユニット
10で生成されるアドレスの基となるアドレス値が格納
されている第2のアドレスレジスタ、12は第2のアド
レスレジスタ11と共に用いられ、第2のアドレスレジ
スタ11のアドレス値に対する増減値が格納されている
第2のオフセットレジスタ、13及び14は第1のデー
タバス3、或るいは第2のデータバス6を介して送られ
るデータに基づいて第1のデータメモリ1、或るいは第
2のデータメモリ4の値を読み出して格納する第1及び
第2のデータレジスタ、15は第1のデータレジスタ1
3、及び第2のデータレジスタ14のデータ値の乗算を
行う乗算器、16は乗算器15で乗算された結果を蓄え
るアキュムレータ、17はDSPのクロックパルス波と
なるシステムクロック、18は次に実行されるプログラ
ムのアドレスが格納されているプログラムカウンタ、1
9は命令コードなどのプログラムが格納されているプロ
グラムメモリ、20は命令コードが格納され、解析され
るインストラクションレジスタ、21はプログラムデー
タの転送を行うプログラムバスである。
【0009】図10は、データメモリを用いて演算を行
う命令を含むプログラムである。
【0010】図10におけるn−9,・・・・,n−1,
n,n+1,n+2はプログラムメモリ19のアドレス
を示し、枠内はアドレスに対応するプログラムを示して
いる。また、A0、A1、C0、C1、R0、R1、及
びAccはそれぞれ第1のアドレスレジスタ8、第2の
アドレスレジスタ11、第1のオフセットレジスタ9、
第2のオフセットレジスタ12、第1のデータレジスタ
13、第2のデータレジスタ14、及びアキュムレータ
16を示している。
【0011】n−9番地の<load A0,2000
H>、n−7番地の<load C0,200H>、n
−5番地の<load A1,2000H>、n−3番
地の<load C1,100H>は、それぞれレジス
タA0,C0,A1,C1に命令コードが格納されてい
るアドレスの次のアドレス、例えばn−9番地の場合
は、n−8番地に格納されているデータを格納する命令
であることを意味する機械語である。
【0012】n−1番地の<move R0,(A0)>
は第1のアドレスレジスタ8に示されるアドレスの内容
を第1のデータレジスタ13に転送する命令であること
を意味する機械語、n番地の<move R1,(A1
+C1)>は第2のアドレスレジスタ11に示されるア
ドレスと第2のオフセットレジスタ12に示されるアド
レスの和が示すアドレスに格納されている内容を第2の
データレジスタ14に転送する命令であることを意味す
る機械語、n+1番地の<mac R0,R1>は第1
のデータレジスタ13の内容と第2のデータレジスタ1
4の内容を乗算し、アキュムレータ16の内容と累積加
算をする命令であることを意味する機械語、<move
(A0+C0),Acc>はアキュムレ−タ16の内容
を第1のアドレスレジスタ8に示されるアドレスと第1
のオフセットレジスタ12に示されるアドレスの和が示
すアドレスに転送する命令であることを意味する機械語
である。
【0013】図11は図9に示したディジタル計算機に
おいて図10に示したプログラムを動作させた場合のタ
イミングチャートである。CLKはシステムクロック1
7の波形、PCQはプログラムカウンタ18から出力さ
れる波形、IRQはインストラクションレジスタ20か
ら出力される命令コードの波形、AR0は第1のアドレ
スレジスタ8から出力されるアドレスの波形、AR1は
第2のアドレスレジスタ11から出力されるアドレスの
波形、CR0は第1のオフセットレジスタ9から出力さ
れるアドレスの波形、CR1は第2のオフセットレジス
タ12から出力されるアドレスの波形、AALU0は第
1のアドレスアロケーションユニット7で生成されるア
ドレスの波形、AALU1は第2のアドレスアロケーシ
ョンユニット10で生成されるアドレスの波形、XR0
は第1のデータレジスタ13の波形、XR1は第2のデ
ータレジスタ14の波形、ACCRはアキュムレータ1
6の内容を示す波形である。
【0014】ここで、第1のアドレスレジスタ8の内容
は2000H、第1のオフセットレジスタ9の内容は2
00H、第2のアドレスレジスタ11の内容は2000
H、第2のオフセットレジスタ12の内容は100H、
データメモリの2000H番地の内容は500、データ
メモリの2100H番地の内容は30、アキュムレータ
16の内容は5000であるものとし、以下順次、プロ
グラムの流れに従って説明する。
【0015】図10に示される命令<load A0,
2000H>のアドレスn−9がCLKの立ち上がり
(以下CLKと称する。)Aに同期してプログラムカウ
ンタ18に入る。プログラムカウンタ18にアドレスn
−9が入るとプログラムメモリ19からは命令コードが
出力され、その命令コードがインストラクションレジス
タ20においてCLK Bに同期してインストラション
レジスタ20に読み込まれると同時に、インストラクシ
ョンレジスタ20は命令コード<load A0,20
00H>が第1のアドレスレジスタ8に2000Hを格
納する命令であることを解読し、さらにプログラムカウ
ンタ18の値がn−8に更新される。
【0016】また、CLK Cに同期して、プログラム
メモリ19のn−8番地に格納されているデータ<20
00H>がプログラムバス21を介して、第1のアドレ
スレジスタ8に格納される。
【0017】以下同様に、C0レジスタに<200H
>、A1レジスタに<2000H>、C1レジスタに<
100H>が格納される。
【0018】命令<move R0,(A0)>のアドレ
スn−1がCLK Dに同期してプログラムカウンタ1
8に入る。プログラムカウンタ18にアドレスn−1が
入るとプログラムメモリ19からは命令コードが出力さ
れ、その命令コードがインストラクションレジスタ20
においてCLK Dに同期してインストラクションレジ
スタ20に読み込まれる。
【0019】次にCLK Eに同期してプログラムカウ
ンタ18の値がnに更新されると同時に、インストラク
ションレジスタ20は命令コード<move R0,
(A0)>は第1のアドレスレジスタ8に示されるアドレ
スに従って、第1のデ−タメモリ1に格納されているデ
ータを第1のデ−タレジスタ13に転送する命令である
ことを解読する。
【0020】また、CLK Fに同期して、アドレスn
番地に格納されている命令コード<move R1,
(A1+C1)>がインストラクションレジスタ20に読
み込まれ、解読される。更に、命令コード<move
R0,(A0)>が実行される。以下命令の実行について
説明する。
【0021】インストラクションレジスタ20において
解読された命令は、コントロール信号(明示せず)を介
して、第1のアドレスアロケーションユニット7に伝達
される。第1のアドレスアロケーションユニット7は、
CLK Fに同期して、第1のアドレスレジスタ8から
アドレス<2000H>を読みだし、第1のアドレスバ
ス2上に出力する。第1のアドレスバス2上のアドレス
が確定すると、第1のデ−タメモリ1は、上記アドレス
に格納されているデータ<500>を第1のデータバス
3に出力する。第1のデータレジスタ13は、CLK
Gに同期して、第1のデータバス3上の内容<500>
を読み込む。従って、第1のデータレジスタ13には、
第1のデータメモリ1の2000H番地に格納されてい
るデータ<500>が格納される。また、第2のアドレ
スアロケーションユニット10は、第2のアドレスレジ
スタ11からアドレス<2000H>を読み出し、更に
第2のオフセットレジスタ12からアドレス<100H
>を読み出し、上記2つのアドレスを加え、アドレス<
2100H>として第2のアドレスバス5上に出力す
る。
【0022】第2のアドレスバス5上のアドレスが確定
すると、第2のデ−タメモリ4は、上記アドレスに格納
されているデータ<30>を第2のデータバス6に出力
する。第2のデータレジスタ14は、CLK Hに同期
して、第2のデータバス6上の内容<30>を読み込
む。従って、第2のデータレジスタ14には、第2のデ
ータメモリ4の2100H番地に格納されているデータ
<30>が格納される。
【0023】CLK Iに同期して、命令<mac R
0,R1>が実行される。インストラクションレジスタ
20において解読された命令は、乗算命令であるので、
乗算器15において第1のデータレジスタ13の内容<
500>と第2のデータレジスタ14の内容<30>が
読み込まれ、乗算が行われ、乗算結果<15000>が
計算結果としてアキュムレータ16に蓄積される。この
演算結果は、既にアキュムレータ16に格納されている
データ<5000>と加算され、アキュムレ−タ16に
データ<20000>として格納される。
【0024】次に、CLK Jに同期して、命令<mo
ve (A0+C0),Acc>が実行される。インスト
ラクションレジスタ20において解読された命令が第1
のアドレスアロケーションユニット7に伝達されると第
1のアドレスアロケーションユニット7は、第1のアド
レスレジスタ8からアドレス<2000H>を読み出
し、更に第1のオフセットレジスタ9からアドレス<2
00H>を読み出し、上記2つのアドレスを加え、アド
レス<2200H>として第1のアドレスバス2上に出
力する。
【0025】一方、アキュムレ−タ16は、蓄えられて
いるデータ<20000>を第1のデータバス3上に出
力する。第1のアドレスバス2上のアドレス<2200
H>及び第1のアドレスバス2上のデータ<20000
>が確定すると、第1のデ−タメモリ4は、上記アドレ
スの該当する領域にデータ<20000>を格納する。
従って、第1のデータメモリ1の2200H番地のデー
タは<20000>となる。
【0026】
【発明が解決しようとする課題】上述のような積和演算
を実行する場合には、データが格納されている第1のデ
ータメモリ1のアドレスと、係数などが格納されている
第2のデータメモリ4のアドレスを夫々アドレスレジス
タに格納しておき、そのアドレス情報を用いて第1のデ
ータメモリ1、及び第2のデータメモリ4からデータレ
ジスタにデータを読み込んだ後に、乗算器において演算
することが行われている。
【0027】従って、これらの演算を行うには、予めア
ドレスレジスタに該当するアドレス情報を格納しておく
必要があった。通常、このようなアドレス情報はプログ
ラムメモリ20上にイミディエートデータとして格納さ
れているため、1つのアドレスレジスタにアドレス情報
を格納するのに1命令サイクル必要となり、アドレスレ
ジスタの設定に多くの時間を必要としていた。
【0028】一方、データと係数などによる累積乗算
は、1命令サイクルで実行可能なハードウェアが供給さ
れているため、乗算を行う際には実際の乗算時間に比べ
て乗算に用いるデータや係数をデータレジスタに格納す
る時間が多くなり、効率よく演算を行うことが難しくな
るという問題点があった。
【0029】そこで、本発明は前述の問題点に鑑みて為
されたものであり、1つのアドレスレジスタにより、2
つのアドレスアロケーションユニットの各々のアドレス
設定を可能とするアドレス生成装置を提供することを目
的とする。
【0030】
【課題を解決するための手段】上記問題点を解決するた
めに、本発明のアドレス生成装置は、アドレス情報を格
納するアドレスレジスタと、アドレスレジスタの増減値
が格納されているオフセットレジスタと、アドレスレジ
スタ及びオフセットレジスタのアドレス値からアドレス
を生成する第1のアドレスアロケーションユニットと、
アドレスレジスタ及びオフセットレジスタのアドレス値
から第2のアドレスを生成する第2のアドレスアロケー
ションユニットと、第1及び第2のアドレスアロケーシ
ョンユニットに対して、アドレスレジスタ、及びオフセ
ットレジスタの選択情報が格納されているステータスレ
ジスタと、第1のアドレスアロケーションユニットが出
力するアドレス情報を選択的に出力する第1のアドレス
出力ユニットと、第2のアドレスアロケーションユニッ
トが出力するアドレス情報を選択的に出力する第2のア
ドレス出力ユニットと、を備えることにより、第1のデ
ータメモリ、及び第2のデータメモリのアドレスを1組
のアドレスレジスタ、及びオフセットレジスタにより生
成する機能を有する。
【0031】
【作用】上述の手段によれば、データメモリに対してア
クセスを行う命令がプログラムメモリからインストラク
ションレジスタに読み出されると、インストラクション
レジスタは命令の解読を行う。前記命令実行時には、イ
ンストラクションレジスタのアドレス選択情報により、
アドレス出力ユニットにて生成するアドレスを決定する
ことにより、少なくとも1組のアドレスレジスタにより
2組のアドレス情報を生成する。
【0032】
【実施例】
[第1の実施例]図1は本発明のアドレス生成装置を備
えたディジタル計算機の第1の実施例の概略構成図を示
し、同図において、従来例に示す図9と同一機能を有す
るものについては、同一番号を付し、その説明は省略す
る。
【0033】本発明が従来例と異なる点は、第1のアド
レス出力ユニット22を第1のアドレスアロケーション
ユニット7と第1のデータメモリ1との間に、更に第2
のアドレス出力ユニット23を第2のアドレスアロケー
ションユニット10と第2のデータメモリ4との間に設
けたことである。而して、第1のアドレス出力ユニット
22及び第2のアドレス出力ユニット23はインストラ
クションレジスタ20において解読された命令コードに
応じて、第1のアドレスアロケーションユニット7及び
第2のアドレスアロケーションユニット10から出力さ
れるアドレス情報をゲートする機能を有しており、第1
のアドレス出力ユニット22は、第1のデータメモリ1
及び第2のデータメモリ4への全てのアドレス空間にア
クセスすることを可能とし、第2のアドレス出力ユニッ
ト23は、第1のアドレスアロケーションユニット22
が第1のデータメモリ1にアクセスすると同時に、第2
のアドレスアロケーションユニット23がデータのアク
セスを行う場合に、第2のデータメモリ4のアドレスを
指定し、データ転送を効率よく行うためにアドレスを設
定するものである。
【0034】尚、第1の実施例においては、第1のデー
タメモリ1のアドレス空間は0〜3FFFH、第2のデ
ータメモリ4のアドレス空間は4000H〜7FFFH
とする。ここで、XXXXHは16進数を表している。
【0035】図2は本発明のアドレス生成装置を備えた
ディジタル計算機のプログラムの一例を示し、<mov
e R0,(A0),R1,(A0+C0)>は、A0
に示されるアドレスに格納されているデータをR0レジ
スタに転送すると同時に、A0+C0に示されるアドレ
スに格納されているデータをR1レジスタに転送する命
令であることを意味する機械語である。
【0036】図3は、図2に示すプログラムを実行した
場合のタイミングチャ−トを示し、同図において、従来
例に示す図11と同一機能の波形については、同一番号
を付し、その説明は省略する。
【0037】AOUT0は第1のアドレス出力ユニット
22から出力される第1のアドレスの波形、AOUT1
は第2のアドレス出力ユニット23から出力される第2
のアドレスの波形である。
【0038】図4はインストラクションレジスタ20に
おける命令コードの内容、及び図2に示されたプログラ
ムが実行された場合の命令コードの一部を示す。ARS
0、ARS1はそれぞれ2ビット構成であり、ARS
0、及びARS1が0の場合には第1のアドレスアロケ
ーションユニット7、及び第2のアドレスアロケーショ
ンユニット10は第1のアドレスレジスタ8の値を選択
し、一方ARS0、及びARS1が1の場合には第1の
アドレスアロケーションユニット7、及び第2のアドレ
スアロケーションユニット10は第2のアドレスレジス
タ11の値を選択し、ARS0、及びARS1が2の場
合には第1のアドレスアロケーションユニット7、及び
第2のアドレスアロケーションユニット10は第1のア
ドレスレジスタ8の値と第1のオフセットレジスタ9の
値の和のアドレスを選択し、ARS0、及びARS1が
3の場合には第1のアドレスアロケーションユニット
7、及び第2のアドレスアロケーションユニット10は
第2のアドレスレジスタ11の値と第2のオフセットレ
ジスタ9の値の和のアドレスを選択することを意味す
る。また、DMは命令コードがデュアルデータ転送命令
か否かを意味しており、DMが1の場合はデュアルデー
タ転送命令である。
【0039】図5は第1のアドレス出力ユニット22の
概略構成図である。221は第1のデータメモリ1のメ
モリ空間領域に格納されているアドレスを指定するアド
レス領域指定部、222は命令コードのDM信号がデュ
アルデータ転送命令である場合には、第1のアドレスア
ロケーションユニット7が出力するアドレスがアドレス
領域指定部221の範囲に属するか否かの判定を行うア
ドレス領域判定部、223はアドレス領域判定部222
が第1のアドレスアロケーションユニット7が出力する
アドレスを範囲外と判定した場合には、新たにアドレス
を生成するアドレス変換部である。
【0040】図6は第2のアドレス出力ユニット23の
概略構成図である。その機能は第1のアドレス出力ユニ
ット22と同一である。
【0041】図2に示すプログラムを図1に示すディジ
タル計算機の動作を図3のタイミングチャートに従って
説明する。尚、第1のアドレスレジスタ8及び第1のオ
フセットレジスタ9へのアドレス情報の格納は、従来例
と同じであるので省略する。
【0042】CLK Kに同期して、プログラムカウン
タ18の値がnに更新される。CLK Lに同期して、
インストラクションレジスタ20はプログラムメモリ1
9のn番地に格納されている命令コード<move R
0,(A0),R1,(A0+C0)>を読み込み、命
令コードがデュアルデータ転送命令(A0レジスタに示
されるアドレスに格納されているデータをデータレジス
タR0に転送すると同時に、A0レジスタに格納されて
いるアドレスとC0レジスタに格納されているアドレス
の和の値をアドレス情報とし、そこに格納されているデ
ータをデータレジスタR1に転送すること)であると解
読する。さらに、プログラムカウンタ18の値がn+1
に更新される。
【0043】第1のアドレスアロケーションユニット7
は、命令コードからアドレス選択情報ARS0を読み取
る。命令コードから読み取られたアドレス選択情報AR
S0は、A0レジスタに格納された値<2000H>を
第1のアドレスアロケーションユニット7の出力情報と
することを意味するため、第1のアドレスアロケーショ
ンユニット7は、AALU0の値として<2000H>
を出力する。
【0044】第2のアドレスアロケーションユニット1
0は、命令コードからアドレス選択情報ARS1を読み
取る。命令コードから読み取られたアドレス選択情報A
RS1は、A0レジスタに格納された値<2000H>
とC0レジスタに格納された値<200H>の和である
<2100H>を第2のアドレスアロケーションユニッ
ト10の出力情報とすることを意味するため、第2のア
ドレスアロケーションユニット10は、AALU1の値
として<2200H>を出力する。
【0045】一方、インストラクションレジスタ20は
解読された命令コードがデュアルデータ転送命令である
ことを第1のアドレス出力ユニット22及び第2のアド
レス出力ユニット23に転送する。第1のアドレス出力
ユニット22のアドレス領域指定部221には、既に第
1のデータメモリ1のアドレス領域を示すデータ(0−
3FFFH)が格納されている。アドレス領域判定部2
22は、上記2つの情報により第1のアドレスアロケー
ションユニット7から出力されるアドレス<2000H
>が第1のデータメモリ1のアドレス空間(0−3FF
FH)内に存在していると判定し、第1のアドレスアロ
ケーションユニット7の出力<2000H>をそのま
ま、第1のアドレス出力ユニット22の出力AOUT0
として<2000H>を出力する。
【0046】一方、第2のアドレス出力ユニット23の
アドレス領域指定部231には、既に第2のデータメモ
リ4のアドレス領域を示すデータ(4000H−7FF
FH)が格納されている。アドレス領域判定部232
は、上記2つの情報により第2のアドレスアロケーショ
ンユニット10から出力されるアドレス値<2200H
>が第2のデータメモリのアドレス空間(4000H−
7FFFH)内に存在していないと判定し、その旨をア
ドレス変換部233に伝達する。アドレス変換部233
は、第2のアドレスアロケーションユニット10から出
力されるアドレス値<2200H>を第2のデータメモ
リ4のアドレス空間(4000H〜7FFFH)の該当
するアドレス<6200H=2200H+4000H>
に変換し、出力する。
【0047】第1のデータメモリ1、及び第2のデータ
メモリ4は、それぞれ第1のアドレスバス2、及び第2
のアドレスバス5のアドレスが確定すると、第1のデー
タバス3、及び第2のデータバス6は、指定されたアド
レスに格納されている値を各々第1のデータバス3、及
び第2のデータバス6上に出力する。CLK Nに同期
して、第1のデータレジスタ13は第1のデータバス3
の値<500>を、第2のデータレジスタ14は第2の
データバス6の値<30>をそれぞれ取り込む。
【0048】命令コード<mac R0,R1>の動作
については、従来例と同じであるので、説明は省略す
る。インストラクションレジスタ20において、命令コ
ード<move (A0+C0),Acc>が解読される
と、インストラクションレジスタ20はシングルデータ
転送命令であることを、第1のアドレスアロケーション
ユニット7に転送する。第1のアドレス出力ユニット2
2は、第1のアドレスアロケーションユニット7の出力
<2200H>が、第1のデータメモリ1のアドレス空
間(0−3FFFH)内に存在していることを判定す
る。インストラクションレジスタ20で解読された命令
は、シングルデータ転送命令であるので、第1のアドレ
ス出力ユニット22は第1のデータメモリ1の空間にア
クセスするアドレスを指定する。従って、第1のアドレ
ス出力ユニット22は、CLK Oに同期して、第1の
アドレスアロケーションユニット7の出力<2200H
>をそのまま、第1のデータメモリ4のアドレスとして
出力する。第1のデータメモリ1のアドレスが確定する
と、CLK Pに同期して、アキュムレータ16の値A
cc<20000>が第1のデータメモリの2200H
番地に格納される。
【0049】[第2の実施例]図7は本発明の第2の実
施例のディジタル計算機の概略構成図であり、同図にお
いて、従来例に示す図9と同一機能を有するものについ
ては、同一番号を付し、その説明は省略する。
【0050】本発明が従来例、及び第1の実施例と異な
る点は、第1のアドレスマルチプレクサ24を第1のア
ドレスレジスタ8と第1のアドレスアロケーションユニ
ット7との間に、また第1のオフセットマルチプレクサ
25を第1のオフセットレジスタ9と第1のアドレスア
ロケーションユニット7との間に、第2のアドレスマル
チプレクサ26を第2のアドレスレジスタ11と第2の
アドレスアロケーションユニット10との間に、更に第
2のオフセットマルチプレクサ27を第2のオフセット
レジスタ12と第2のアドレスアロケーションユニット
10との間に夫々設けたことである。
【0051】第1のアドレスマルチプレクサ24、及び
第2のアドレスマルチプレクサ26は、命令コードのア
ドレス選択情報に基づいて、第1のアドレスレジスタ
8、或るいは第2のアドレスレジスタ11のいずれか一
方の出力を選択し、第1のオフセットマルチプレクサ2
5、及び第2のオフセットマルチプレクサ27は、命令
コードのアドレス選択情報に基づいて、第1のオフセッ
トレジスタ9、或るいは第2のオフセットレジスタ12
のいずれか一方の出力を選択する。
【0052】図8は第2の実施例の内容を示すプログラ
ムである。
【0053】インストラクションレジスタ20におい
て、命令コード<move R0,(A0),R1,
(A1+C1)>が解読され、命令コードのASR0を
0に、ASR1を3に、DMを1に設定する。命令コー
ド<move R0,(A0),R1,(A1+C1)
>が実行される場合について説明する。上記命令が実行
されると、第1のアドレスマルチプレクサ24は命令コ
ードのASR0を参照し、第1のアドレスレジスタ8の
出力AR0、或るいは第2のアドレスレジスタ11の出
力AR1のいずれかを選択し、一方第1のオフセットマ
ルチプレクサ25は命令コードのASR0を参照し、第
1のオフセットレジスタ9の出力CR0、或るいは第2
のオフセットレジスタ12の出力CR1のいずれかを選
択する。
【0054】命令コードのASR0は0であるので、第
1のアドレスマルチプレクサ24は第1のアドレスレジ
スタ8の出力AR0を、第1のオフセットマルチプレク
サ25は第1のオフセットレジスタ9の出力CR0を選
択する。インストラクションレジスタ20の命令コード
<move R0,(A0),R1,(A1+C1)>
は、第1のアドレスレジスタ8に示されるアドレスの内
容を第1のデータレジスタ13に格納することを意味し
ているので、第1のアドレスアロケーションユニット7
は、第1のアドレスマルチプレクサ24の出力AR0を
出力する。また、ASR1は3であるので、第2のアド
レスマルチプレクサ26においては第2のアドレスレジ
スタ11の出力AR1が選択され、第2のオフセットマ
ルチプレクサ27においては第2のオフセットレジスタ
12の出力CR0が選択される。第2のアドレスアロケ
ーションユニット10は、第2のアドレスレジスタ11
に示されるアドレスと第2のオフセットレジスタ12に
示されるアドレスの和のアドレスとして出力する。
【0055】以上の説明の如く、アドレス生成を効率よ
く行う機能を追加することにより、アドレスレジスタ、
及びオフセットレジスタに定数を読み込む命令を削減す
ることが可能となる。
【0056】尚、本実施例においては、第1のアドレス
マルチプレクサ24は第1のアドレスレジスタ8を、第
1のオフセットマルチプレクサ24は第1のオフセット
レジスタ9を、第2のアドレスマルチプレクサ26は第
2のアドレスレジスタ11を、更に第2のオフセットマ
ルチプレクサ27は第2のオフセットレジスタ12を選
択するようにしたが、上記選択は命令コードの内容に応
じて任意に選択可能であり、また各アドレスマルチプレ
クサ、及び各オフセットマルチプレクサへの入力は2つ
に限定されるものではなく、少なくとも2つ以上の入力
より選択することができる。
【0057】
【発明の効果】本発明は以上の説明から明らかなよう
に、アドレス出力ユニットを設けることにより、ステー
タスレジスタの内容に応じて、アドレス出力ユニットに
てアドレスを該当するデータメモリのアドレスに変換す
ることにより、1つのアドレスレジスタ、及び1つのオ
フセットレジスタにより2つの異なったアドレスを生成
することが可能となる。従って、データメモリのアドレ
スを指定するためにアドレスレジスタにアドレス情報を
読み込む命令を削減することができるため、演算の高速
化及びプログラム容量の削減が可能となる。
【0058】更に、アドレスレジスタを複数設けて、命
令コードの内容に応じて、アドレスマルチプレクサ、及
びオフセットマルチプレクサにおいて選択することによ
り、様々な組み合わせのアドレスを生成することが可能
となり、命令の削減、及び効率化を行うことができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例に係るアドレス生成装置
を備えたディジタル計算機の概略構成図
【図2】本発明のアドレス生成装置を備えたディジタル
計算機におけるデータ転送命令を含んだプログラムを示
す図
【図3】本発明のアドレス生成装置を備えたディジタル
計算機におけるデータ転送命令を実行した場合のタイミ
ングチャートを示す図
【図4】本発明の特徴である命令コードの内容を示す図
【図5】本発明の特徴である第1のアドレス出力ユニッ
トの構成図
【図6】本発明の特徴である第2のアドレス出力ユニッ
トの構成図
【図7】本発明の第2の実施例に係るアドレス生成装置
を備えたディジタル計算機の概略構成図
【図8】本発明のアドレス生成装置を備えたディジタル
計算機におけるデータ転送命令を含んだプログラムを示
す図
【図9】従来のアドレス生成装置を備えたディジタル計
算機の概略構成図
【図10】従来のアドレス生成装置を備えたディジタル
計算機におけるデータ転送命令を含んだプログラムを示
す図
【図11】従来のアドレス生成装置を備えたディジタル
計算機におけるデータ転送命令を実行した場合のタイミ
ングチャートを示す図
【符号の説明】
1 第1のデータメモリ 2 第1のアドレスバス 4 第2のデータメモリ 5 第2のアドレスバス 7 第1のアドレスアロケーションユニット 8 第1のアドレスレジスタ 9 第1のオフセットレジスタ 10 第2のアドレスアロケーションユニット 11 第2のアドレスレジスタ 12 第2のオフセットレジスタ 20 インストラクションレジスタ 22 第1のアドレス出力ユニット 23 第2のアドレス出力ユニット 24 第1のアドレスマルチプレクサ 25 第1のオフセットマルチプレクサ 26 第2のアドレスマルチプレクサ 27 第2のオフセットマルチプレクサ
フロントページの続き (72)発明者 吉田 昭 大阪府守口市京阪本通2丁目18番地 三洋 電機株式会社内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 命令を読み込み解読するインストラクシ
    ョンレジスタと、演算に用いるデータが格納されている
    第1のデータメモリと、該第1のデータメモリに格納さ
    れているデータとは異なるデータが格納されている第2
    のデータメモリと、前記第1のデータメモリのアドレス
    を生成する第1のアドレスアロケーションユニットと、
    前記第2のデータメモリのアドレスを生成する第2のア
    ドレスアロケーションユニットと、前記第1のアドレス
    アロケーションユニット、及び第2のアドレスアロケー
    ションユニットで生成されるアドレスの基となるアドレ
    スが格納されているアドレスレジスタと、前記第1のア
    ドレスアロケーションユニットが出力するアドレスを選
    択的に出力する第1のアドレス出力ユニットと、前記第
    2のアドレスアロケーションユニットが出力するアドレ
    スを選択的に出力する第2のアドレス出力ユニットと、
    を備え、 データ転送時においては、前記インストラクションレジ
    スタで解読された命令コードのアドレス選択情報に基づ
    いて、前記第1のアドレス出力ユニットは前記第1のア
    ドレスアロケーションユニットによって出力された第1
    のデータメモリのアドレスを、また前記第2のアドレス
    出力ユニットは前記第2のアドレスアロケーションユニ
    ットによって出力された第2のデータメモリのアドレス
    を出力することによって前記第1のデータメモリ、及び
    第2のデータメモリのアドレスに該当する2組のアドレ
    スを生成することを特徴とするアドレス生成装置。
  2. 【請求項2】 前記アドレスレジスタと対として用いら
    れ、前記アドレスレジスタの増減値が格納されているオ
    フセットレジスタを備え、前記第1のアドレスアロケー
    ションユニット、及び第2のアドレスアロケーションユ
    ニットは、前記アドレスレジスタ、及びオフセットレジ
    スタの出力に基づいてアドレスを生成することを特徴と
    する請求項1記載のアドレス生成装置。
  3. 【請求項3】 命令を読み込み解読するインストラクシ
    ョンレジスタと、演算に用いるデータが格納されている
    第1のデータメモリと、該第1のデータメモリに格納さ
    れているデータとは異なるデータが格納されている第2
    のデータメモリと、前記第1のデータメモリのアドレス
    を生成する第1のアドレスアロケーションユニットと、
    前記第2のデータメモリのアドレスを生成する第2のア
    ドレスアロケーションユニットと、前記第1のアドレス
    アロケーションユニットで生成されるアドレスの基とな
    るアドレスが格納されている第1のアドレスレジスタ
    と、前記第2のアドレスアロケーションユニットで生成
    されるアドレスの基となるアドレスが格納されている第
    2のアドレスレジスタと、前記第1のアドレスレジスタ
    と対として用いられ、前記第1のアドレスレジスタの増
    減値が格納されている第1のオフセットレジスタと、前
    記第2のアドレスレジスタと対として用いられ、前記第
    2のアドレスレジスタの増減値が格納されている第2の
    オフセットレジスタと、前記第1のアドレスレジスタ、
    或るいは第2のアドレスレジスタの出力を選択する第1
    のアドレスマルチプレクサ、及び第2のアドレスマルチ
    プレクサと、前記第1のオフセットレジスタ、或るいは
    第2のオフセットレジスタの出力を選択する第1のオフ
    セットマルチプレクサ、及び第2のオフセットマルチプ
    レクサと、を備え、 前記インストラクションレジスタで解読された命令コー
    ドのアドレス選択情報に基づいて、前記第1のアドレス
    マルチプレクサ、及び第2のアドレスマルチプレクサ
    は、前記第1のアドレスレジスタ、或るいは第2のアド
    レスレジスタの出力を選択し、また前記第1のオフセッ
    トマルチプレクサ、及び第2のオフセットマルチプレク
    サは、前記第1のオフセットレジスタ、或るいは第2の
    オフセットレジスタの出力を選択することを特徴とする
    アドレス生成装置。
JP14629593A 1993-06-17 1993-06-17 アドレス生成装置 Pending JPH076082A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14629593A JPH076082A (ja) 1993-06-17 1993-06-17 アドレス生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14629593A JPH076082A (ja) 1993-06-17 1993-06-17 アドレス生成装置

Publications (1)

Publication Number Publication Date
JPH076082A true JPH076082A (ja) 1995-01-10

Family

ID=15404453

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14629593A Pending JPH076082A (ja) 1993-06-17 1993-06-17 アドレス生成装置

Country Status (1)

Country Link
JP (1) JPH076082A (ja)

Similar Documents

Publication Publication Date Title
JP3027970B2 (ja) デイジタル信号プロセツサメモリ管理ユニツトおよびその方法
US5794067A (en) Digital signal processing device
US6502182B1 (en) Digital signal processing device
JPH076082A (ja) アドレス生成装置
US5442125A (en) Signal processing apparatus for repeatedly performing a same processing on respective output channels in time sharing manner
JP2950461B2 (ja) 楽音発生装置
US5590302A (en) Device for generating structured addresses
JP3178036B2 (ja) 信号処理装置
JP2697619B2 (ja) Nポイントfft専用プロセッサ
JP2684820B2 (ja) サラウンド回路
JP3505907B2 (ja) 信号遅延装置およびデジタル信号処理装置
JPH1091439A (ja) プロセッサ
KR100551458B1 (ko) 디지탈신호처리동작실행방법및디지탈신호처리기
JP3022186B2 (ja) デジタル信号処理装置
JPS6260755B2 (ja)
JPH0719246B2 (ja) デジタル信号処理装置
JPH10198560A (ja) 信号処理装置
JP2686234B2 (ja) デジタル信号処理装置及び信号処理方法
JP3039054B2 (ja) 画像処理装置
JPS6310254A (ja) 情報処理装置
JPH07334151A (ja) 効果付加装置およびそれを用いた楽音発生装置
JPS59231788A (ja) 電子計算機
JP2002116951A (ja) アドレス生成回路
JPH1069541A (ja) 画像処理装置
JPH09114779A (ja) 情報処理装置のウェイト制御方式