JPH02227768A - データ処理システム - Google Patents

データ処理システム

Info

Publication number
JPH02227768A
JPH02227768A JP2003661A JP366190A JPH02227768A JP H02227768 A JPH02227768 A JP H02227768A JP 2003661 A JP2003661 A JP 2003661A JP 366190 A JP366190 A JP 366190A JP H02227768 A JPH02227768 A JP H02227768A
Authority
JP
Japan
Prior art keywords
processor
floating point
odd
data
instruction
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
JP2003661A
Other languages
English (en)
Inventor
Myhong Nguyenphu
マイホング・ニイーエンフ
Larry E Thatcher
ラリイ・エドワード・ザツチヤー
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH02227768A publication Critical patent/JPH02227768A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3816Instruction alignment, e.g. cache line crossing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明はデータ処理システムに関し、より具体的には、
浮動小数点数演算を実行するために複数ノプロセッサを
使用するデータ処理システムに関する。
B、従来の技術 従来、浮動小数点数演算は、浮動小数点プロセッサによ
って実行されてきた。IBMRTワークステーションな
どいくつかのシステムでは、浮動小数点プロセッサは、
中央演算処理装置に関連する周辺装置として機能してい
る。この外部浮動小数点プロセッサの動作は、中央演算
処理装置の動作と緊密には同期していない。
浮動小数点数演算では、しばしば、複数のデータ・ワー
ドからなるデータが必要である。通常、インターリーブ
式メモリを使用するには、データ・ワードに偶数アドレ
スから開始してアクセスすることが必要である。そうす
ると、偶数ワード及び奇数ワードをいくつかのシステム
によって並行して伝送することが可能になる。したがっ
て、浮動小数点データのロード及び記憶では、データを
偶数メモリ・アドレス境界上に記憶する必要がある。浮
動小数点数演算データが奇数メモリ・アドレス境界上に
記憶されているときは、従来はシステム割込みを発生さ
せて、システム・ソフトウェアが浮動小数点数演算デー
タの桁外れを補償して、浮動小数点プロセッサが指定さ
れた浮動小数点数演算を実行できるようにしていた。
桁外れデータを取り扱う従来技術の例は、IBMテクニ
カル・ディスクロージャ・プルテン、Vol、26、N
o、12 (1984年5月)、り1)、6473〜6
475所載の論文「任意のバイト境界におけるメモリ転
送(Memory Transferat Arbit
rary Byte Boundaries) Jに含
まれている。上記論文はデータ・バイトを転送のために
再配列する機構を開示している。IBM テクニカル・
ディスクロージャ・プルテン、Vol、27、No、I
A (1984年6月)、pm)、 95〜100所載
の論文「データ移動機構用の動的境界アルゴリズム(D
ynamic Boundary Algorithm
 for aData Movement Mecha
nism) Jは)アドレス境界によって指定されたリ
ンクをもつデータをグループで転送するアルゴリズムを
開示している。IBM テクニカル・ディスクロージャ
・プルテン、Vol、27、No、3 (1984年8
月)、りI)、1585〜1587所載の論文「記憶装
置書込み動作制御(Storage Write 0p
erationControl) Jは、異なる書込み
容量が与えられたときの記憶装置書込み動作、すなわち
奇数または偶数桁合せを伴う、フルワード、ハーフワー
ド、及び文字の転送の性能を開示している。IBMテク
ニカル・ディスクロージャ・プルテン、Vol、24、
No、11B (1982年4月)、1)1)、594
8〜5950所載の論文「システム入出力のための奇数
バイト・データ桁合せ機構(Odd−Byte Dat
a Alignment Mechanism for
System l10) jは、入出力装置のために奇
数バイト・データ桁合せを実現する装置を開示している
C6発明が解決しようとする課題 本発明の目的は、浮動小数点数演算を実行するための多
重処理システムを提供することにある。
本発明の他の目的は、浮動小数点数演算のために記憶さ
れたデータが複数のワードからなり、偶数または奇数メ
モリ・アドレス境界上のいずれにも記憶させることがで
きるという、浮動小数点数演算を実行するための多重処
理システムを提供することにある。
00課題を解決するための手段 本発明によれば、固定小数点数演算を実行する第1プロ
セツサと、浮動小数点数演算を実行する第2プロセツサ
とからなるデータ処理システムが提供される。制御回路
が、第2プロセツサが指定された浮動小数点数演算を実
行することを必要とする浮動小数点数演算命令を復号で
きるように、第1プロセツサ及び第2プロセツサに接続
されている。この制御回路は、第2プロセツサの浮動小
数点数演算に必要な浮動小数点データのためのメモリ・
アドレスを第1プロセツサが計算できるようにするため
の情報を第1プロセツサに供給し、指定された浮動小数
点数演算の実行を可能にするための浮動小数点数演算情
報を第2プロセツサに供給する。
好ましい実施例では、第1及び第2プロセツサは、第1
プロセツサが第2プロセツサのためにメモリ内の浮動小
数点データをアドレスすることができるように、制御回
路によって接続されている。
この浮動小数点データは複数のデータ・ワードから構成
される。本発明の教示によれば、メモリ内に記憶された
第1のデータ・ワードは、メモリ内の偶数アドレス位置
にあっても、奇数アドレス位置にあってもよい。この制
御回路は、第1データ・ワードについて偶数アドレスと
奇数アドレスのどちらがアクセスされたかを判定し、第
2プロセツサの浮動小数点レジスタ内にデータ・ワード
を正しく記憶する能力をもっている。
E、実施例 第1図は、固定小数点プロセッサ21と浮動小数点プロ
セッサ41の相互接続を示すブロック・ダイヤグラムで
ある。固定小数点プロセッサ21及び浮動小数点プロセ
ッサ41は、どちらも命令キャッシュ10及びメモリ8
0に接続されている。
また、固定小数点プロセッサ21は、制御線59を介し
て浮動小数点プロセッサ41に接続されている。具体的
には、固定小数点プロセッサ21の制御回路30は、線
59を介して浮動小数点プロセッサ41の制御回路52
に接続されている。固定小数点プロセッサは、命令キャ
ッシュ1oに接続された命令事前取出しバッファ20が
ら構成されている。命令事前取出しバッファ20からの
命令は、復号回路22で復号される。復号回路22から
のデータは、レジスタ・ファイル24に供給される。ま
た、復号回路22からの復号情報は、制御回路30に供
給される。レジスタ・ファイル24は、演算論理機構(
ALU)2B及び入出力回路28に接続されている。入
出力回路28は、線29を介してメモリ80に接続され
ている。この入出力回路28はまた、レジスタ・ファイ
ル24及び制御回路30に接続されている。演算論理機
構26はさらに制御回路30に接続され、そして図のよ
うにレジスタ・ファイル24へつなぎ戻されている。
浮動小数点プロセッサ41も、命令事前取出しバッファ
40から構成されており、このバッファ40は復号回路
42に接続されている。復号回路42は制御回路52及
びレジスタ・ファイル44に接続されている。レジスタ
・ファイル44は、入出力回路46、指数回路50、及
び乗算器48に接続されている。乗算器48は加算器5
5に接続されている。加算器55は丸め回路56に接続
されている。制御回路52も、乗算器48、加算器55
、丸め回路56、及び入出力回路46に接続されている
。また入出力回路46は、線45及びレジスタ・ファイ
ル44を介してメモリ80に接続されている。動作に際
しては、命令キャッシュ10内に記憶された浮動小数点
命令が、固定小数点プロセッサ21内の命令事前取出し
バッファ20及び浮動小数点プロセッサ41内の命令事
前取出しバッファ40に転送される。動作に際して、浮
動小数点命令は、浮動小数点プロセッサ41が浮動小数
点命令動作の実行を初期設定する間に、固定小数点プロ
セッサ21がアドレスを計算することを必要とする。固
定小数点プロセッサ21と浮動小数点プロセッサ41の
同期化は、線59を介して交信している2つの制御機構
30及び52によって行なわれる。実行される特定の浮
動小数点数演算は、メモリからの浮動小数点ロード動作
またはメモリへの浮動小数点記憶動作である。浮動小数
点データは、複数のデータ・ワードを含む。
好ましい実施例では、1つの浮動小数点データは少なく
とも2つのデータ・ワードから構成される。
第2図は、2つのデータ・ワードからなる浮動小数点デ
ータの記憶を示している。第2図で、WORDIは偶数
メモリ・アドレス境界上に記憶され、WORD2は奇数
メモリ・アドレス境界上に記憶される。アドレス境界と
いう用語は、アドレス自体の値に関係するものである。
言い換えれば、偶数アドレス境界は、メモリ・アドレス
が偶数であることを意味している。同様に、奇数アドレ
ス境界は、メモリ・アドレスが奇数であることを意味し
ている。第2図の2ワ一ド浮動小数点データは、ダブル
ワード桁合せデータと呼ばれる。2つのワ−P (WO
RD 1とWORD2)<7)記憶を、第3図に示す。
第3図で、ロード・レジスタ110は、偶数ワードをロ
ードするために設けられ、レジスタ112は奇数ワード
用に設けられている。
マルチプレクサ122及び124は、必要なとき、レジ
スタ110及び112に記憶されたデータの位置を交換
するために設けられている。しかし、この例では、ダブ
ルワード・データは桁合せされている。したがって、位
置の交換は必要でない。
レジスタ110からのデータは、マルチプレクサ122
を介してレジスタ位置126にロードされる。同様に、
レジスタ112のデータは、マルチプレクサ124を介
してレジスタ128にロードされる。レジスタ126及
び128は、実際の浮動小数点プロセッサ・ユニットの
内部レジスタである。
第4図は、桁外れの、すなわち奇数のワード境捏上の浮
動小数点ダブルワードの記憶を示す。言い換えれば、第
4図では、第1データ・ワード(WORD2)は奇数境
界上に記憶され、第2ワード(WORD3)は偶数境界
上に記憶される。第5図では、WORD3はレジスタ1
32にロードされ、WORD2はレジスタ134にロー
ドされる。レジスタ132の内容は、浮動小数点レジス
タ152にロードされなければならない。同様に、レジ
スタ134の内容は、浮動小数点レジスタ150にロー
ドされなければならない。これはマルチプレクサ146
及び148によって行なわれる。
マルチプレクサ146は、レジスタ132及び134の
両方に接続されている。同様に、マルチプレクサ148
は、線136及び138を介してレジスタ132に接続
されている。したがって、これらのマルチプレクサは、
制御回路30及び制御回路52の制御下で、レジスタ1
34からのデータはレジスタ150にロードされ、レジ
スタ132からのデータはレジスタ152にロードされ
るように構成されている。
第6図は、浮動小数点ロード命令のためにアドレス生成
を実行する際の制御回路30の制御の流れを示す。ステ
ップ160で、命令キャッシュ10から命令事前取出し
バッファ20を介して受は取った命令が、復号回路22
で復号される。ステップ162で、復号された命令が必
要とする動作が実行される。ステップ164で、実際の
アドレスが生成される。ステップ166で、制御回路3
0は、生成されたアドレスの桁合せを検査して、アドレ
ス境界が偶数であり桁合せ済みか、それとも奇数で桁外
れであるかを判定する。桁合せが偶数である場合、ステ
ップ168に進んでメモリからダブルワードを読み取っ
た後、ステップ170に進んで、メモリから当該のワー
ドをロードすることを指示する信号を、ロード・レジス
タ・ラッチ132及び134(第5図)またはレジスタ
110及び112(第3図)に供給する。次に、ステッ
プ182に進んで、データが準備できたことを知らせる
信号を浮動小数点プロセッサに送る。この信号は、線5
9の1本を介して供給される。生成されたアドレスが桁
外れである場合、すなわち生成されたアドレスが奇数ア
ドレスである場合は、ステップ172に進んで、その奇
数アドレスから1つのワードを読み取る。次にステップ
174で、奇数ラッチ(たとえば第5図のラッチ134
)に、そのワードを受は取るように指示する信号を送る
次にステップ176で、偶数アドレスが生成される。ス
テップ178で、その偶数アドレスをもつワードが読み
取られる。ステップ180で、偶数レジスタ(たとえば
第5図のレジスタ132)にその偶数アドレスをもつワ
ードを受は取るように指示する信号を送る。続いて前と
同様にステップ182に進む。データが準備できたこと
を知られる信号の送出が完了すると、制御の流れはステ
ップ160の始めに戻る。
第7図は、浮動小数点プロセッサ41内の制御回路52
の制御の流れを示す。ステップ190で、命令が復号さ
れる。固定小数点プロセッサ21の場合と同様に、浮動
小数点プロセッサ41に対する命令は、命令キャッシュ
10から発生し、命令事前取出しバッファ40を介して
復号回路・42に至る。ステップ192で、浮動小数点
命令によって指示された命令動作が実行される。ステッ
プ194で、制御回路52は、固定小数点プロセッサ2
1の制御回路30から出た線59上の桁合せ制御信号を
監視する。この監視では、ロードされているアドレスが
偶数アドレスで始まるか、それとも奇数アドレスで始ま
るかを判定する。この判定は196で行なわれ、そのロ
ードが偶数アドレス上で始まっている場合は、ステップ
198で、偶数アドレス及び奇数アドレスをもつワード
がロードされ受は取ちれる。ステップ198を出ると、
ステップ200で、データが準備できているかどうか判
定する。準備できていない場合は、ステップ194に戻
る。データが準備できている場合は、ステップ210に
進む。ステップ196に戻って、偶数ロード信号が制御
回路30から受信された場合、ステップ202に進んで
、そのワードを偶数アドレス上で受は取る。ステップ2
04で、データが準備できているかどうか判定する。準
備できていない場合は、ステップ194に戻る。データ
が準備できている場合は、ステップ206に進んで、第
3図及び第5図で記述したマルチプレクサを使って偶数
ワードと奇数ワードを交換する。ステップ196で、奇
数ワードを受は取る判定をした後、ステップ208でそ
の奇数ワードが受は取られる。ステップ196では、奇
数ワードが最初にロードされるべきであるが、その奇数
ワードは、偶数ワードがステップ202で受信される前
に、ステップ208で最初に受は取られる。したがって
、奇数レジスタ及び偶数レジスタ(たとえば、第5図の
132及び134)内のデータは、交換の準備ができて
いる。ステップ210で、浮動小数点レジスタ(FPR
)ファイル44内のレジスタを更新する。次にステップ
190に戻って、次の命令を決定する。
第8図は、固定小数点プロセッサ21(FXU)及び浮
動小数点プロセッサ41 (FPU)のパイプライン式
動作を示すタイミング図である。具体的には、第8図の
動作はデータ・ワードの桁合せ済みアクセスに関するも
のである。サイクル1で、命令(LOAD 1)が、固
定小数点プロセッサ及び浮動小数点プロセッサの両方に
よって復号される。サイクル2で、LOADI命令が、
有効アドレスを生成するために、固定小数点プロセッサ
によって使用され、奇数ワード及び偶数ワードが図のよ
うにロードされる。またサイクル2で、固定小数点プロ
セッサが準備完了信号を供給する。サイクル2で、浮動
小数点プロセッサは、LOAD1命令の実行と共に奇数
ワード及び偶数ワードを受は取る。サイクル3で、浮動
小数点ユニットが受信データで浮動小数点レジスタを更
新する。
第9図には、桁外れのデータ(すなわち、奇数アドレス
境界上で始まるデータ)のロードを示す。サイクル1で
、LOAD1命令が両方のプロセッサニよって復号され
る。サイクル2で、このロードに対するアドレスが固定
小数点ユニット内で生成され、奇数ワード(2ワード・
セットの第1ワード)が取り出される。浮動小数点ユニ
ットでは、サイクル2で、LOAD1命令が始めに実行
され、奇数ワードが奇数レジスタ(第5図の134)に
よって受は取られる。サイクル3で、偶数ワードに対す
るアドレスが生成され、浮動小数点ユニットは命令の実
行を続ける。やはりサイクル3で、偶数ワードが固定小
数点ユニットからロードされ、浮動小数点ユニットによ
って受は取られる。準備完了信号は、サイクル3で固定
小数点ユニットによって供給される。サイクル4で、浮
動小数点ユニットが、偶数ワードと奇数ワードの交換を
行ない、適当な浮動小数点レジスタ・ファイルに入れる
。浮動小数点数演算記憶動作の実行も同様である。
第10図のブロック・ダイヤグラムは、レジスタからの
偶数ワード及び奇数ワードを、それぞれ偶数データ・バ
ス316上及び奇数データ・バス318上に記憶するこ
とを示す。レジスタ300に記憶されたワードが偶数デ
ータ・バス316上と奇数データ・バス318上のいず
れかにロードできるようにマルチプレクサ312及び3
14が設けられていることに留意されたい。同様に、し
ジスタ302(奇数レジスタ)の内容も、データ・バス
316上と318上のいずれかにロードできる。
第11図は、第1ワード(WORDI)を偶数位置にロ
ードさせ、第2ワードを奇数位置にロードさせる、桁合
せ済みワード・セットのロードを示す。
第12図のブロック・ダイヤグラムは、WORD2及び
WORD3をそれぞれ奇数境界上及び偶数境界上にロー
ドすることを示す。動作に際しては、最初に偶数レジス
タ340の内容が、バス346によりマルチプレクサ3
54を介して奇数データ・バス線358上にロードされ
る。その後、奇数レジスタ342の内容が、線348、
マルチプレクサ352を介して偶数データ・バス356
上にロードされる。その結果の記憶を第13図に示すが
、第1ワード(WORD2)は奇数境界上に、第2ワー
ド(WORD3)は偶数境界上に記憶される(図の通り
)。
浮動小数点数演算記憶動作実行の制御の流れを、第14
図及び第15図に示す。第14図には、固定小数点ユニ
ットの制御の流れを示す。最初に、ステップ372で命
令が復号され、ステップ374で実行される。
ステップ−376で、アドレスが生成される。ステップ
378で、桁合せが判定される。桁合せが偶数である場
合は、ステップ380に進んで、メモリ・バスを使用可
能にし、ステップ382でダブルワードが書き込まれる
(すなわち、奇数バス及び偶数バスの両方が、それぞれ
、奇数ワード及び偶数ワードをメモリへ書き込むために
使用される)。続いてステップ396に進み、完了信号
を供給する。
偶数でない桁合せを実行すべき場合は、ステップ384
に進み、バスを使用可能にする。次にステップ385で
、入替コマンドが出されて、第12図に示すように、偶
数記憶レジスタをメモリへの奇数バス上に置く。次にス
テップ388で、奇数ハスのメモリへの書込みが実行さ
れる。ステップ388で、偶数ワード・アドレスが生成
される。ステップ390で再び、バスに使用可能信号が
与えられ、ステップ392で、奇数記憶レジスタが、先
に第12図に関して考察したように偶数データ・バス上
に置かれる。ステップ394で、偶数バスのメモリへの
書込みが行なわれる。ステップ396に進んで、完了信
号を供給する。
第15図には、浮動小数点ユニットにおける制御の流れ
を示す。まず、ステップ400で命令が復号され、次に
ステップ402で実行される。この場合も、ステップ4
04で制御線59が監視される。ステップ406で、バ
スが使用可能になったかどうか判定が行なわれる。使用
可能になっていない場合は、ステップ404に戻って、
バスの監視を続ける。バスが使用可能になると、ステッ
プ408に進んで、奇数/偶数入替信号が出されている
かどうか判定する。入替信号が出ていない場合は、ステ
ップ412に進む。奇数/偶数入替信号が出ている場合
は、ステップ410に進んで、マルチプレクサ(たとえ
ば第12図のマルチプレクサ354)に入替を行なうよ
うに指示する信号を送る。ステップ412で、完了信号
が受信されたかどうかを判定する。受信されていない場
合は、ステップ404に戻る。完了信号が受信されてい
る場合は、プロセスの出発点へ戻る。
第16図は、固定小数点プロセッサ(FXU)及び浮動
小数点プロセッサ(FPU)が、桁合せされた偶数ワー
ド境界上でパイプライン方式で浮動小数点数演算記憶を
実行しているときの動作を示すタイミング図である。最
初にサイクル1で、固定小数点プロセッサ及び浮動小数
点プロセッサはともに記憶1 (STOREI)命令を
復号する。
サイクル2で、固定小数点プロセッサは有効アドレスを
生成してバスを使用可能にし、一方、浮動小数点プロセ
ッサは、記憶1命令の実行を開始する。サイクル3で、
固定小数点ユニットは、偶数ワード及び奇数ワードを記
憶することを指示する信号を出し、一方、浮動小数点ユ
ニットはその信号に応答して、偶数ワードを偶数バス上
に、奇数ワードを奇数バス上に置く。また、完了信号が
転送される。
第17図は、固定小数点プロセッサ及び浮動小数点プロ
セッサの奇数境界上での演算記憶動作のための動作(す
なわち非偶数桁合せまたは桁外れ)を示すタイミング図
である。サイクル1で、記憶1命令が両方のプロセッサ
によって復号される。
サイクル2で、固定小数点プロセッサは奇数有効アドレ
スを生成してバスを使用可能にし、一方、浮動小数点プ
ロセッサは実行を開始する。固定小数点ユニットは、偶
数/奇数バスへの偶数/奇数レジスタ接続を切替えるた
めの入替コマンドを出す。サイクル3で、固定小数点ユ
ニットは、偶数データ・ワードのための有効アドレスを
生成し、再度バスを使用可能にし、入替コマンドを出し
、実際に奇数バスを記憶する。浮動小数点ユニットは固
定小数点ユニットに応答して、偶数レジスタにある奇数
ワードを奇数バスに置く。サイクル4で、偶数ワードを
記憶することが固定小数点ユニットによって指示され、
奇数レジスタ内の偶数ワードが浮動小数点ユニットによ
って偶数バス上に置かれる。次に、固定小数点ユニット
は動作完了信号を出し、浮動小数点ユニットはこの完了
信号を受信する。
本発明によれば、偶数桁合せまたは奇数桁合せのいずれ
かが、桁合せの調整を行なうのにソフトウェア割込みを
必要としないで実行される。この特徴によって、浮動小
数点数演算の速度が格段に向上する。
【図面の簡単な説明】
第1図は、多重処理システムのブロック図である。 第2図は、偶数メモリ・アドレス境界上にある2ワード
をメモリにロードする動作を示す図である。 第3図は、2つの浮動小数点プロセッサ・レジスタから
2つのワード・データ・バスへの接続を示すブロック図
である。 第4図は、2つのデ7り・ワードを桁外れのまたは奇数
のメモリ・アドレス境界上ヘロードする動作を示す図で
ある。 第5図は、浮動小数点レジスタから2つのワード・デー
タ・バスへの接続を示すブロック図である。 第6図は、浮動小数点ロード動作中の固定小数点プロセ
ッサの制御の流れを示す流れ図である。 第7図は、浮動小数点ロード動作中の浮動小数点プロセ
ッサの制御の流れを示す流れ図である。 第8図は、偶数メモリ・アドレス境界上でロード動作を
実行する固定小数点プロセッサ及び浮動小数点プロセッ
サのパイプライン動作を示すタイミング図である。 第9図は、奇数すなわち桁外れのメモリ・アドレス境界
上で演算ロード動作を実行する固定小数点プロセッサ及
び浮動小数点プロセッサのパイプライン動作を示すタイ
ミング図である。 第10図は、2つの浮動小数点プロセッサ・レジスタか
ら2つのワード・データ・バスへの接続を示すブロック
図である。 第11図は、偶数メモリ・アドレス境界上にある2つの
ワードをメモリに記憶する動作を示す図である。 第12図は、浮動小数点数演算レジスタから2つのワー
ド・データ・バスへの接続を示すブロック図である。 第13図は、桁外れの、すなわち奇数のメモリ・アドレ
ス境界上に2つのデータ・ワードを記憶する動作を示す
図である。 第14図は、浮動小数点数演算記憶動作中の固定小数点
ユニットの制御を示す流れ図である。 第15図は、浮動小数点数演算記憶動作中の浮動小数点
プロセッサの制御の流れを示す流れ図である。 第16図は、偶数ワード境界上での浮動小数点数演算記
憶演算の実行中の固定小数点プロセッサ及び浮動小数点
プロセッサのパイプライン動作を示すタイミング図であ
る。 第17図は、奇数のすなわち桁外れのメモリ・アドレス
境界上で浮動小数点数演算記憶動作を実行中の固定小数
点プロセッサ及び浮動小数点プロセッサのパイプライン
動作を示すタイミング図である。 10・・・・命令キャッシュ、20.40・・・・命令
事前取出しバッファ、21・・・・固定小数点プロセッ
サ、22.42・・・・復号回路、24.44・・・・
レジスタ・ファイル、26・・・・演算論理機構(AL
U)、28.46・・・・入出力回路、30.52・・
・・制御回路、41・・・・浮動小数点プロセッサ、4
8・・・・乗算器、50・・・・指数回路、55・・・
・加算器、5B・・・・丸め回路、80・・・・メモリ
。 出願人  インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人 弁理士 頓 宮 孝 − サイクル 寸イク7ノ FIG、 8

Claims (1)

  1. 【特許請求の範囲】 固定小数点数演算を実行するための第1プロセッサ手段
    、 浮動小数点数演算を実行するための第2プロセッサ手段
    、及び 前記第1及び第2プロセッサ手段に接続され、指定され
    た浮動小数点数演算を実行するために前記第2プロセッ
    サ手段が必要とする浮動小数点数演算命令を復号し、前
    記第2プロセッサ手段用の浮動小数点データのメモリ・
    アドレスを計算するための情報を前記第1プロセッサ手
    段に供給し、同時に前記の指定された浮動小数点数演算
    の実行用の情報を前記第2プロセッサ手段に供給するた
    めの制御手段 を含むデータ処理システム。
JP2003661A 1989-01-13 1990-01-12 データ処理システム Pending JPH02227768A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US297782 1989-01-13
US07/297,782 US4961162A (en) 1989-01-13 1989-01-13 Multiprocessing system for performing floating point arithmetic operations

Publications (1)

Publication Number Publication Date
JPH02227768A true JPH02227768A (ja) 1990-09-10

Family

ID=23147722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003661A Pending JPH02227768A (ja) 1989-01-13 1990-01-12 データ処理システム

Country Status (4)

Country Link
US (1) US4961162A (ja)
EP (1) EP0377990B1 (ja)
JP (1) JPH02227768A (ja)
DE (1) DE68928015D1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5051888A (en) * 1988-12-30 1991-09-24 Hewlett Packard Company Data processing systems for coordinating measurement activity upon a plurality of emulators
US5051894A (en) * 1989-01-05 1991-09-24 Bull Hn Information Systems Inc. Apparatus and method for address translation of non-aligned double word virtual addresses
US5201043A (en) * 1989-04-05 1993-04-06 Intel Corporation System using both a supervisor level control bit and a user level control bit to enable/disable memory reference alignment checking
US5615349A (en) * 1990-09-04 1997-03-25 Mitsubishi Denki Kabushiki Kaisha Data processing system capable of execution of plural instructions in parallel
US5168561A (en) * 1990-02-16 1992-12-01 Ncr Corporation Pipe-line method and apparatus for byte alignment of data words during direct memory access transfers
US5128888A (en) * 1990-04-02 1992-07-07 Advanced Micro Devices, Inc. Arithmetic unit having multiple accumulators
US5268854A (en) * 1990-11-13 1993-12-07 Kabushiki Kaisha Toshiba Microprocessor with a function for three-dimensional graphic processing
JP2682232B2 (ja) * 1990-11-21 1997-11-26 松下電器産業株式会社 浮動小数点演算処理装置
JPH0651984A (ja) * 1992-06-05 1994-02-25 Hitachi Ltd マイクロプロセッサ
US6735685B1 (en) 1992-09-29 2004-05-11 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
WO1994008287A1 (en) 1992-09-29 1994-04-14 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
JP2549256B2 (ja) * 1992-12-01 1996-10-30 インターナショナル・ビジネス・マシーンズ・コーポレイション 浮動小数点プロセッサへデータを転送する方法及び装置
JP3207591B2 (ja) * 1993-03-19 2001-09-10 株式会社日立製作所 キャッシュメモリを有する計算機の改良
US6031411A (en) * 1993-06-28 2000-02-29 Texas Instruments Incorporated Low power substrate bias circuit
US5615402A (en) * 1993-10-18 1997-03-25 Cyrix Corporation Unified write buffer having information identifying whether the address belongs to a first write operand or a second write operand having an extra wide latch
US5740398A (en) * 1993-10-18 1998-04-14 Cyrix Corporation Program order sequencing of data in a microprocessor with write buffer
US5584009A (en) * 1993-10-18 1996-12-10 Cyrix Corporation System and method of retiring store data from a write buffer
US5471598A (en) * 1993-10-18 1995-11-28 Cyrix Corporation Data dependency detection and handling in a microprocessor with write buffer
US6219773B1 (en) * 1993-10-18 2001-04-17 Via-Cyrix, Inc. System and method of retiring misaligned write operands from a write buffer
US5509129A (en) * 1993-11-30 1996-04-16 Guttag; Karl M. Long instruction word controlling plural independent processor operations
US5687339A (en) * 1995-09-14 1997-11-11 Elan Microelectronics Corp. Pre-reading and pre-decoding of instructions of a microprocessor within single cycle
WO1998006030A1 (en) * 1996-08-07 1998-02-12 Sun Microsystems Multifunctional execution unit
WO1998014951A1 (en) * 1996-09-30 1998-04-09 Sun Microsystems, Inc. Computer caching methods and apparatus
US5819060A (en) * 1996-10-08 1998-10-06 Lsi Logic Corporation Instruction swapping in dual pipeline microprocessor
US6085289A (en) * 1997-07-18 2000-07-04 International Business Machines Corporation Method and system for load data formatting and improved method for cache line organization
US6134573A (en) * 1998-04-20 2000-10-17 Ip-First, L.L.C. Apparatus and method for absolute floating point register addressing
KR100362193B1 (ko) * 1999-11-26 2002-11-23 주식회사 하이닉스반도체 디디알 동기식 메모리 장치의 데이터 출력 장치
GB2372848B (en) * 2001-02-20 2004-10-27 Advanced Risc Mach Ltd Data processing using a coprocessor
US6912173B2 (en) * 2001-06-29 2005-06-28 Broadcom Corporation Method and system for fast memory access
WO2008053053A1 (es) * 2006-11-03 2008-05-08 Intel Corporation Reducción del efecto de envejecimiento en los registros
US11720619B2 (en) * 2020-11-16 2023-08-08 Arm Limited Filtering based on a range specifier

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62266646A (ja) * 1986-05-14 1987-11-19 Nec Corp デ−タ転送方式

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3631405A (en) * 1969-11-12 1971-12-28 Honeywell Inc Sharing of microprograms between processors
US4217657A (en) * 1978-10-18 1980-08-12 Honeywell Inc. Floating point arithmetic control
US4413326A (en) * 1978-10-18 1983-11-01 Honeywell Inc. Floating point division control
JPS5776634A (en) * 1980-10-31 1982-05-13 Hitachi Ltd Digital signal processor
US4509116A (en) * 1982-04-21 1985-04-02 Digital Equipment Corporation Special instruction processing unit for data processing system
US4612628A (en) * 1983-02-14 1986-09-16 Data General Corp. Floating-point unit constructed of identical modules
US4589067A (en) * 1983-05-27 1986-05-13 Analogic Corporation Full floating point vector processor with dynamically configurable multifunction pipelined ALU
US4748580A (en) * 1985-08-30 1988-05-31 Advanced Micro Devices, Inc. Multi-precision fixed/floating-point processor
JPH069028B2 (ja) * 1986-02-18 1994-02-02 日本電気株式会社 演算装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62266646A (ja) * 1986-05-14 1987-11-19 Nec Corp デ−タ転送方式

Also Published As

Publication number Publication date
US4961162A (en) 1990-10-02
EP0377990B1 (en) 1997-05-02
EP0377990A3 (en) 1991-07-31
EP0377990A2 (en) 1990-07-18
DE68928015D1 (de) 1997-06-05

Similar Documents

Publication Publication Date Title
JPH02227768A (ja) データ処理システム
JP2539199B2 (ja) デジタルプロセッサ制御装置
EP1047989B1 (en) Digital signal processor having data alignment buffer for performing unaligned data accesses
JP4829541B2 (ja) マルチレベル・レジスタ・ファイルを有するディジタル・データ処理装置
JP3285644B2 (ja) キャッシュメモリを有するデータプロセッサ
US5168571A (en) System for aligning bytes of variable multi-bytes length operand based on alu byte length and a number of unprocessed byte data
US4646233A (en) Physical cache unit for computer
EP0375950A2 (en) Method and hardware implementation of complex data transfer instructions
US4229801A (en) Floating point processor having concurrent exponent/mantissa operation
JP2776132B2 (ja) オペランド内の情報のスタティックおよびダイナミック・マスキングを兼ね備えるデータ処理システム
US4980819A (en) Mechanism for automatically updating multiple unit register file memories in successive cycles for a pipelined processing system
JPH0342745A (ja) 複数キャッシュ・メモリ・アクセス方法
JPS5852265B2 (ja) デ−タ処理装置
JP2531648B2 (ja) メモリ装置
JPH02207367A (ja) デジタルコンピュータのサービス処理ユニットとシステム制御ユニットとの間のインターフェイス
JPS6250856B2 (ja)
JPH0277846A (ja) マイクロプロセッサ
US6363474B1 (en) Process switching register replication in a data processing system
EP0378816B1 (en) Production line method and apparatus for instruction execution
EP0374830A2 (en) Control store address generator for developing unique instruction execution starting address
US6405233B1 (en) Unaligned semaphore adder
EP0374598B1 (en) Control store addressing from multiple sources
JPH02242429A (ja) パイプライン浮動小数点ロード・インストラクシヨン回路
EP0302926B1 (en) Control signal generation circuit for arithmetic and logic unit for digital processor
EP0150523A2 (en) Data processing system with improved memory system