JPH01177637A - アドレス計算回路 - Google Patents

アドレス計算回路

Info

Publication number
JPH01177637A
JPH01177637A JP231088A JP231088A JPH01177637A JP H01177637 A JPH01177637 A JP H01177637A JP 231088 A JP231088 A JP 231088A JP 231088 A JP231088 A JP 231088A JP H01177637 A JPH01177637 A JP H01177637A
Authority
JP
Japan
Prior art keywords
address
adder
flip
flop
carry
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
JP231088A
Other languages
English (en)
Inventor
Shuichi Hanatani
花谷 修一
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP231088A priority Critical patent/JPH01177637A/ja
Publication of JPH01177637A publication Critical patent/JPH01177637A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は計算機のアドレス計算回路に関する。
〔従来の技術〕
計算機において命令語を読出した後、その命令を実行す
るには、一般に次のフェーズからなる。
1、命令を解読しオペランドのアドレス計算を行う。
2、 アドレス計算結果から得られた論理アドレスから
メモリの実アドレスへアドレス変換を行う。
3、 メモリからオペランドを読出す。
4、得られたオペランドを命令の指示にしたがって演算
する。
計算機の性能は、上記の各フェーズをいかに速く実行す
るかによって決定される。たとえば、フェーズ2のアド
レス変換を高速に行うために、論理アドレスと実アドレ
スのテーブルからなるアドレス変換バッファが知られ、
フェーズ3における高速読出しをするためのメモリの写
しであるキャシュメモリの技術がすでによく知られてい
る。
しかしながら、フェーズ1のアドレス割算においては、
その高速実行が必要であるにもかかわらず、従来より特
に注目されることはなかった。アドレス計算は一般に命
令語で指定されるベースレジスタおよびインデックスレ
ジスタと命令語中のディスプレイスメント部を加算する
ことによって得られる。このとき、その高速実行を阻害
する要因は通常4バイトにおよぶ加算にある。さらに、
近年ではメモリ空間の拡張要求に伴ってこのアドレス加
算幅が拡大する傾向にあり、一方でキャシュメモリの読
出し時間等で決定される1マシンサイクルは近年の高速
RAMの効果で短くなる一方である。このために、1マ
シンザイクルでベースレジスタおびインデックスレジス
タを読出してその加算を行うことが不可能となってきた
第4図はアドレス計算回路の従来例を示す構成図である
このアドレス計算回路は、インデックスレジスタ45、
ベースレジスタ55をそれぞれ命令レジスタ30のイン
デックスレジスタ番号索引部25、ベースレジスタ番号
索引部35で索引して、インデックス値X、ベース値B
を読出し、これらインデックス値X、ベース値Bと命令
レジスタ30のディスプレイスメント部5のディスプレ
イスメントDをアドレス加算器65で加算して論理アド
レスを得、この論理アドレスを、アドレス変換バッファ
の索引レジスタである論理アドレスレジスタ75にセッ
トする。この例では、命令レジスタ30により、インデ
ックスレジスタ45、ベースレジスタ55からインデッ
クス値×1ベース値Bを読出してディスプレイスメント
Dと加算を行い、論理アドレスを得て、論理アドレスレ
ジスタ75にセットアツプするまでの時間が1マシンサ
イクルとして設定されている。
第5図はアドレス泪算回路の他の従来例の構成図である
この従来例は、第4図の従来例にインデックスレジスタ
45の読出しレジスタ85、ベベースレジスタ55の読
出しレジスタ86、ディスプレイスメント部5の読出し
レジスタ87をそれぞれ設けたもので、この例では、パ
イプライン制御が行なわれ、命令レジスタ30によりイ
ンデックスレジスタ45、ベースレジスタ55からイン
デックス値X、ベース値Bを読出し、ディスプレイスメ
ントDと加算し、論理アドレスを得、論理アドレスレジ
スタ75にセットアツプするまで2マシンサイクルの時
間を要してアドレス計算を実行している。
〔発明が解決しようとする問題点〕
上述した従来のアドレス計算回路は、前者では、必要以
上にマシンサイクルが大きくなり、結果的に性能低下と
なり、後者では、分岐命令の実行やレジスタの干渉によ
るパイプラインの乱れに対してパイプライン制御のパイ
プ段数が増えた分だけ性能低下となり、また、一般に回
路の分割実装をいかに行うかがデイレイタイムの増減を
左右する大きな要因であるが、アドレス泪算回路を実現
する場合、従来は前者、後者ともキャリー伝播によるデ
イレイタイムを最小にするためアドレス加算器のみをひ
とまとめにしたパッケージインク方式が採用されてきた
が、この場合、ピン数の割に高密度実装ができず、さら
に、アドレス加算器への入力となるベースレジスタおよ
びインデックスレジスタを分割実装すると、前者はベー
スレジスタおよびインデックスレジスタを索引してアド
レス計算結果を得るのに2パツケージに渡る必要があり
、デイレイタイム上の損失が非常に大きいという欠点が
ある。
〔問題点を解決するための手段〕
本発明のアドレス計算回路は、 命令語により与えられるベースレジスタのデー夕とイン
デックスレジスタのデータとディスプレイスメントを加
算して論理アドレスを得るアドレス計算回路であって、 ベースレジスタのデータとインデックスレジスタのデー
タおよびディスプレイスメントのデータを同一のビット
バウンダリで区分した各区分データに対応した複数の加
算器を有し、 最下位以外の加算器には、すぐ下位の加算器が出力した
キャリーを保持するフリップフロップが付属し、当該区
分データの他に該加算器に付属するフリップフロップが
保持しているキャリーを加算するようになっており、ア
ドレス計算実行時、いずれの加算器にもキャリーが発生
しなければ各々の加算器の出力をアドレス加算結果とし
、いずれかの加算器にキャリーが発生すれば該アドレス
計算を一時保留して、該キャリーを前記フリップフロッ
プに保持した後、該フリップフロップの出力を次段の加
算器にキャリーインした状態で、再び同一入力でアドレ
ス計算を行い、アドレス加算結果をうるように制御する
手段とを有し、加算器と付属のフリップフロップを1つ
のユニットとしてパッケージイングされ、実装配置され
ている。
〔作用〕
本発明は、命令語により与えられるインデックスレジス
タ、ベースレジスタのデータをn個に区分する場合もっ
ともデイレイ゛タイム上クリティカルなバスは下位の桁
より上位の桁にキャリーが伝播する場合であることから
、桁間のキャリーがない場合は高速に、すなわち1マシ
ンサイクルでアドレス計算を実行し、桁間のキャリーが
ある場合はキャリーがあったことを一時保持するフリッ
プフロップを設けて再び計算をしなおすことにより最大
nマシンサイクルで実行するように構成したものである
。さらに、アドレス加算器と付属のフリップフロップを
1つのユニットとしてLSIチップにパッケージイング
することにより、区分された1つの位の区分データに対
応する加算結果が1つのパッケージに収納された回路か
ら得られるため、デイレイタイム上非常に有利な実装を
可能とするものである。
〔実施例〕
次に、本発明の実施例について図面を参照して説明する
第1図は本発明のアドレス計算回路の一実施例を示す図
、第2図はアドレス加算器62およびアドレス加算器6
3のいずれからもキャリーが発生しない場合のアドレス
計算における本実施例のタイムチャート、第3図はアド
レス加算器63からキャリーが発生する場合における本
実施例のタイムチャートである。
本実施例では、命令語により与えられるデータが、セグ
メント番号、ページ番号、およびページ内アドレスの3
つに区分されており、それぞれに対応するセグメント番
号処理部11、ページ番号処理部12、およびページ内
アドレス処理部13にアドレス処理部がスライス分割さ
れて各々を1組の単位としてLSIチップにパッケージ
イングされて実装されている。セグメント番号処理部1
1、ページ番号処理部12、およびページ内アドレス処
理部13より得られた処理結果は、論理アドレスレジス
タ70のセグメントアドレス部71、ページアドレス部
72、ページ内アドレス部73へそれぞれ出力される。
セグメント番号処理部11は、インデックスレジスタ4
1と、ベースレジスタ51と、命令レジスタ20の一部
であり、インデックスレジスタ41、ベースレジスタ5
1に対応して各々多重に実装されているインデックスレ
ジスタ番号索引部21、ベースレジスタ番号索引部31
と、アドレス加算器61と、フリップフロップ81とで
構成されている。ページ番号処理部12は、インデック
スレジスタ42と、ベースレジスタ52と、命令レジス
タ20の一部であり、インデックスレジスタ42、ベー
スレジスタ52に対応して各々多重に実装されているイ
ンデックスレジスタ番号索引部22、ベースレジスタ番
号索引部32と、アドレス加算器62と、フリップフロ
ップ82とで構成されている。ページ内アドレス処理部
13は、インデックスレジスタ43と、ベースレジスタ
53と、命令レジスタ20の一部であり、インデックス
レジスタ43、ベースレジスタ53に対応して各々多重
に実装されているインデックスレジスタ番号索引部23
、ベースレジスタ番号索引部33と、命令レジスタ20
のディスプレイスメント部5と、アドレス加算器63と
で構成されている。このアドレス計算回路には、上述の
構成に加えて、ナントゲート91.92およびアンドゲ
ート93と、■フリップフロップ7が設けられている。
フリップフロップ81は、アドレス加算器62からキャ
リーが出力されると、これを−・時保持して次のタイミ
ングでアドレス加算器61へ出力するとともに、ナント
ゲート91の一方の入力端へ反転出力を出力する。フリ
ップフロップ82は、アドレス加算器63からキャリー
が出力されると、これを−時保持して次のタイミングで
アドレス加算器62へ出力するとともに、ナントゲート
92の一方の入力端へ反転出力を出力する。ナントゲー
ト91の他方の入力端は、アドレス加算器62からのキ
ャリーを入力する。ナントゲート92の他方の入力端は
、アドレス加算器63からのキャリーを入力する。アン
ドゲート93は、ナントゲート91およびナントゲート
92の出力の論理積をとり、■フリップフロップ7へ出
力する。なお、本実施例では、アドレス加算器61から
はキャリーが出ないので、いずれのナントゲート91゜
92もアドレス加算器61と接続されていない。
また、フリップフロップ81.82およびVフリップフ
ロップ7はアドレス計部実行前にクリアされる。
次に、本実施例の動作を第2図により説明する。
(1)アドレス加算器62、アドレス加算器63のいず
れからもキャリーが発生しない場合。
タイミングT1において、命令語のインデックスレジス
タ索引番号、ベースレジスタ索引番号、およびディスプ
レイスメントが命令レジスタ20にそれぞれセットされ
ると、その値によってインデックスレジスタ4.1,4
2.43およびベースレジスタ51,52.53が読出
され、読出されたデータは、アドレス加算器61.62
.63にそれぞれ入力され、アドレス計算が、セグメン
ト番号処理部11、ページ番号処理部12、ページ内ア
ドレス処理部13で、それぞれ独立に実行される。そし
て、アドレス加算器62.63のいずれにおいてもキャ
リーが発生しなければ、ナントゲート91のアドレス加
算器62と接続されている入力端、およびナントゲート
92のアドレス加算器63と接続されている入力端には
、いずれも論理レベル゛O″の信号が入力されるので、
ナントゲート91.92の出力はいずれも論理レベル1
11 IIとなり、アンドゲート93の出力も論理レベ
ル“1″となってVフリップフロップ7には、アドレス
加算器 れる。この結果タイミングT2において、アドレス加算
器61,62.63の出力がそれぞれセグメントアドレ
ス部71、ページアドレス部72、ページ内アドレス部
73にセットされ、論理アドレスが得られる。すなわち
、この場合、命令レジスタ20に命令語がセットされて
からアドレス計算を実行し、論理アドレスレジスタ70
に論理アドレスがセットされるまでの時間は1マシンサ
イクルである。
(2)アドレス加算器63からキャリーが発生した場合
タイミングT2において、アドレス加算器63からキャ
リーが発生すると、ナントゲート92のアドレス加算器
63と接続されている入力端には論理レベル゛1″の信
号が入力される。この時点ではフリップフロップ82は
0″を保持しており、ナントゲート92の伯の入力端に
は論理レベル“1″の信号が入力されているのでナント
ゲート92の出力は論理レベル11 Q II 、t、
たがってアンドゲート93の出力も論理レベル゛′0″
となり、■フリップフロップ7には無効の旨の0″がセ
ットされる。そのため、命令レジスタ20がホールドさ
れるとともに、このキャリーがフリップフロップ82に
セットされる。タイミングT2において、再びインデッ
クスレジスタ41〜43およびベースレジスタ51〜5
3が読出され、ページ番号処理部12では、アドレス加
算器62にフリップフロップ82の出力がキャリーイン
してアドレスが計算され、セグメント番号処理部11、
ページ内アドレス処理部13では、タイミングT1で行
われた計算と同じ計算が行われる。タイミングT2にお
いて、割算が繰返された際、アドレス加算器62でキャ
リーが発生しなければ、ナントゲート91からは前回と
同様、論理レベル゛′1″が出力される。一方、ナント
ゲート92のアドレス加算器63と接続されている入力
端には前回と同様、論理レベル゛″1″の信号が入力さ
れるが、フリップフロップ82に前回のキャリーII 
I IIが保持されているため、ナントゲート92の出
力は論理レベルII I IIとなる。したがって、ア
ンドゲート93の出力は論理レベル゛1″となり■フリ
ップフロップ7には有効の旨の1″がセットされる。こ
のタイミングT3において、アドレス計算は今後は有効
なものとしてその値がセグメントアドレス部71、ペー
ジアドレス部72、およびページ内アドレス部73にそ
れぞれセットされる。
−、↑p・ − なお、タイミングT2におけるアドレス計算の際、アド
レス加算器62からもキャリーが発生すれば、今回のア
ドレス計算も無効となり、次回はアドレス加算器62.
63のキャリーがフリップフロップ81.82にそれぞ
れセットされた状態でアドレス計算が実行し直される。
〔発明の効果〕
以上説明したように本発明は、命令語により与えられる
インデックスレジスタ、ベースレジスタのデータの各区
分データに対応した複数のアドレス加算器を設け、最下
位以外のアドレス加算器にはフリップフロップを付属さ
せ、加算時少なくとも1つのアドレス加算器がキャリー
を出力したときはこのキャリーを次の加算実行時まです
ぐ上位のアドレス加算器に付属のフリップフロップで保
持して再びアドレス加算器に加算を行わせ、アドレス加
算器と付属のフリップフロップを1つのユニットとして
パッケージイングすることにより、デイレイタイム上の
クリティカルパスを回避して高速にアドレス計算を実行
できるとともに、バラケージ内で対応するデータの加算
結果が得られ、パッケージの分割損によるデイレイタイ
ムの増大をまねくことなく少ないピン数で高密度にパッ
ケージイングされたLSIチップにすることができると
いう効果がある。
【図面の簡単な説明】
第1図は本発明のアドレス計算回路の一実施例を示す図
、第2図はアドレス加算器62およびアドレス加算器6
3のいずれからもキャリーが発生しない場合のアドレス
計算における本実施例のタイムチャート、第3図はアド
レス加算器63がらキャリーが発生した場合のアドレス
計算における本実施例のタイムチャート、第4図、第5
図はアドレス計算回路の従来例を示す図である。 11・・・セグメント番号処理部、 12・・・ページ番号処理部、 13・・・ページ内アドレス処理部、 20・・・命令レジスタ、 21.22.23・・・インデックスレジスタ番号索引
部、 31.32.33・・・ベースレジスタ番号索引部、5
・・・ディスプレイスメント部、 41.42.43・・・インデックスレジスタ、51.
52.53・・・ベースレジスタ、61.62.63・
・・アドレス加算器、70・・・論理アドレスレジスタ
、 71・・・セグメントアドレス部、 72・・・ページアドレス部、 73・・・ページ内アドレス部、 7・・・Vフリップフロップ、 81.82・・・フリップフロップ、 91.92・・・ナントゲート、 93・・・アンドゲート。

Claims (1)

  1. 【特許請求の範囲】 命令語により与えられるベースレジスタのデータとイン
    デックスレジスタのデータとディスプレイスメントを加
    算して論理アドレスを得るアドレス計算回路であつて、 ベースレジスタのデータとインデックスレジスタのデー
    タおよびディスプレイスメントのデータを同一のビット
    バウンダリで区分した各区分データに対応した複数の加
    算器を有し、 最下位以外の加算器には、すぐ下位の加算器が出力した
    キャリーを保持するフリップフロップが付属し、当該区
    分データの他に該加算器に付属するフリップフロップが
    保持しているキャリーを加算するようになっており、ア
    ドレス計算実行時、いずれの加算器にもキャリーが発生
    しなければ各各の加算器の出力をアドレス加算結果とし
    、いずれかの加算器にキャリーが発生すれば該アドレス
    計算を一時保留して、該キャリーを前記フリップフロッ
    プに保持した後、該フリップフロップの出力を次段の加
    算器にキャリーインした状態で、再び同一入力でアドレ
    ス計算を行い、アドレス加算結果をうるように制御する
    手段とを有し、 加算器と付属のフリップフロップを1つのユニットとし
    てパッケージイングされ、実装配置されているアドレス
    計算回路。
JP231088A 1988-01-07 1988-01-07 アドレス計算回路 Pending JPH01177637A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP231088A JPH01177637A (ja) 1988-01-07 1988-01-07 アドレス計算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP231088A JPH01177637A (ja) 1988-01-07 1988-01-07 アドレス計算回路

Publications (1)

Publication Number Publication Date
JPH01177637A true JPH01177637A (ja) 1989-07-13

Family

ID=11525778

Family Applications (1)

Application Number Title Priority Date Filing Date
JP231088A Pending JPH01177637A (ja) 1988-01-07 1988-01-07 アドレス計算回路

Country Status (1)

Country Link
JP (1) JPH01177637A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05225041A (ja) * 1992-01-22 1993-09-03 Nec Corp アドレス加算器付きメモリ装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05225041A (ja) * 1992-01-22 1993-09-03 Nec Corp アドレス加算器付きメモリ装置

Similar Documents

Publication Publication Date Title
US4541045A (en) Microprocessor architecture employing efficient operand and instruction addressing
JPH0371337A (ja) マイクロプロセツサ回路
JPH0731669B2 (ja) ベクトル・プロセツサ
JPH01177637A (ja) アドレス計算回路
JPS5826584B2 (ja) デ−タ処理装置
JP2002229970A (ja) Simd積和演算方法、積和演算回路、および、半導体集積回路装置
JPH01177636A (ja) アドレス計算回路
RU2066067C1 (ru) Центральный процессор для многопроцессорной вычислительной системы
Lavington Manchester computer architectures, 1948-75
JPH01189728A (ja) 命令プリフェッチアドレスの更新回路
JP3771682B2 (ja) ベクトル処理装置
JP2006293538A (ja) 演算システム
JP2006515446A (ja) 関連アプリケーションを相互参照するカルテシアンコントローラを有するデータ処理システム
JP3855069B2 (ja) 論理回路
JPH02244329A (ja) ディジタル信号処理装置
JP2576589B2 (ja) 仮想記憶アクセス制御方式
Lavington CSM-182-Manchester Computer Architectures, 1948-1975
JPH0724049B2 (ja) データ処理装置
JP3124361B2 (ja) メモリデータロード装置
JPS59188900A (ja) デ−タ処理装置
JPS6362012B2 (ja)
JPS6225348A (ja) アドレスバス拡張方式
JPS60123946A (ja) アドレス変換装置
JPS61100836A (ja) 移動命令論理比較命令処理方式
JPS6126089B2 (ja)