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

デ−タ処理装置

Info

Publication number
JPS61216034A
JPS61216034A JP5584285A JP5584285A JPS61216034A JP S61216034 A JPS61216034 A JP S61216034A JP 5584285 A JP5584285 A JP 5584285A JP 5584285 A JP5584285 A JP 5584285A JP S61216034 A JPS61216034 A JP S61216034A
Authority
JP
Japan
Prior art keywords
instruction
address
store
bit
incrementer
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
JP5584285A
Other languages
English (en)
Inventor
Masataka Hiramatsu
平松 昌高
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 JP5584285A priority Critical patent/JPS61216034A/ja
Publication of JPS61216034A publication Critical patent/JPS61216034A/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/3812Instruction prefetching with instruction modification, e.g. store into instruction stream

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)

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分計〕 本発明は、命令先取り機戦をもつデータ処理装置に係り
、特に命令先取りに伴って発生するストアーインストラ
クシ冒ン・コンフリクシ1ンの検出に好適な命令先取り
機能をもつデータ処理装置に関するつ 〔発明δ背景〕 命令処理の効率を向上させるために従来から命令先取り
が行なわれている。先取りしていた命令のアドレス範囲
内に現在実行中の命令によりストアが実行される場合(
いわゆるストアーインストラクシ曹ン・コンフリクシ1
ン)、先取りしていた命令を無効としなければならない
。該コンフリクシ曹ンを検出する罠は、ストア・アドレ
スが先取りされた命令のアドレス範囲内にあるかを比較
する必要があるっ 該フンフリクション検出の処理構成を簡琳化する方法と
して、例え(コ特公昭59−43785号公報に記載の
ように、メモリ装置から読出された少なくとも2Lバイ
ト分の先取り用バッファ・レジスタをそf、fえたデー
タ処理装置に3いて、現命令アドレスとストア拳アドレ
スの夫々2 ビット目の比較を行なった結果により、先
取り用インクリメンタを用いて比較すべきアドレスを作
成し、該アドレスとストア・アドレスとを最上位桁かり
2 ビット目までビット比較することによりコンフリク
ションを検出する方法が知られている。
この方法は、2  xMバイト分(2〉2  ×M〉2
 )の先取り用バッファ・レジスタをもつ場合には、2
L+1ビット目以上のアドレス比較しか行なっていない
ため、2 バイト分だけ余分にコンフリクン−1ンを検
出する可能性が生じる。
〔発明の目的〕 本発明の目的は、ストアーインストラクタ1ン$コンフ
リクシヨンの検出にあたって余分なコンフリクションの
検出をできるだけ少すくシ、かつ処理構成を簡単化した
ストアーインストラクション・コンフリクション検出回
路を有する命令先取り機能をもつデータ処理装置を提供
することにある。
〔発明の概要〕
本発明は、ストアーインストラクション・フンフリクシ
ョン検出のためのアドレス比較を以下に述べる2つの部
分に分けることで目的を!現しようとするものである。
(1)  インクリメンタを用いて比較すべき先取り命
令アドレスを作成し、ストア・アドレスとビット比較を
行なう部分。
(2)  次命令アドレスとストア・アドレスより該コ
ンフリクションの発生可能性を判定する部分。
〔発明の実施例〕
以下、本発明の一実施例を図に従って説明する。
第1図は本発明の一実施例構成であり、第2図は動作を
説明するタイム・チャートであり、第3図は命令先取り
状態を説明する説明図であり、第4図はストアーインス
トラクションのコンフリクションを検出する状態を説明
する説明図である。
71図に2いて、1は次命令アドレス・レジスタ、2は
ストア・アドレス・レジスタ、3は命令先取り用インク
リメンタであり、敵令先取りの為のアドレスを作成する
っ4は2 ×5バイトの命令先取り用バッファ・レジス
タ、5はメモリ装置であり、メモリ・データ転送バス幅
は2 バイトメモリへのアクセスは2 バイト境界での
み可能、容量は最大16メガeバイトである。 6はア
ドレス比較回路であり、223ビット目から25ビット
目ノビット比較を行なう。7はストアーインストラクシ
ョン・コンフリクション発生可能性判定回路、8はスト
アーインストラクション・コンフリクション検出用アン
ド回路である。
次に実行する命令のアドレス情報が次命令アドレス・レ
ジスタ1に格納され、このときバッファレジスタ4がp
fF状態でない限り、インクリメンタ3を介L7て命令
先取り用アドレスを作成し、該アドレスにもとづいてメ
モリ装置5がアクセスされて、先取りされたml令が4
バイト分、バッファ・レジスタ4に読出される。まだ、
バッファ0レジスタ4が満杯状態でない場合は、インク
リメンタ3により加算する数値を+4して、上記動作を
繰り返す。このように、インクリメンタ3により加算す
る数値は、+0.4,8,12.16の5過っであり、
バッファ・レジスタ4には最大20バイト分、命令が先
取りされる。バッファ・レジスタ4が満杯状態では、先
取りされたml令は次命令アドレスから+19加算した
アドレスまでの範囲であるため、アドレスの2.23ビ
ット目に着目すると、次命令アドレス十〇、+23.+
2’の3通りしか先取りされた命令アドレスは存在しな
い。次命令アドレス・レジスタ1の25〜23ビット目
の内容と、先取りされた命令アドレスの3通りの2〜2
 ビット目の関係を、第3図に図示する。
データ・ストアに当っては、ストア・アドレス情報がス
トア曝アドレス・レジスタ2に格納され該アドレスにも
とづいてメモリ装置5がアクセスされる。
次に第2図のタイムチャートに基いてストアーインスト
ラクシ冒ン・コンフリクションt?[出−1−る動作に
ついて説明する。サイクルTlに3いて命令先取り用リ
クエストが実行されるとする。このときメモリ舎アドレ
スは、インクリメンタ3により、次命令アドレス+αが
選択される。サイクル□T2においてメモリ装置5から
読出された4バイトのデータがバッファ・レジスタ4に
取込まれる。
また、ストア動作を実行する為に、サイクルT2におい
てストア・リクエストが実行されるとする。
このときメモリ・アドレスは、ストア・アドレス・レジ
スタ2の内容が選択される。サイクルT3において、ス
トア・データがメモリ装置5内に書込まれる。
ストア・リクエストが実行されるサイクルT2において
、次命令アドレス・レジスタ1と、ストア・アドレスΦ
レジスタ2の夫々24 、23ビット目の内容がコンフ
リクシ薯ン発生可能性判定回格7に供給されコンフリク
シ1フ発生可能性の判定(詳細は後述)を行なった結果
と、次命令5アドレス・レジスターの内容がインクリメ
ンタ3により十〇または+16(詳細は後述)されスト
ア・アドレス・レジスタ2の内容と共にアドレス比較回
路6により2 ビット目かり2 ビット目までビット比
較された結果とにより、アンド回路8でストアーインス
トラクシlン・コンフリクシ璽ンが検出される(図示の
8T−Iconf)。
コンフリクシ冒ン発生可能性判定回路70判定条件を第
3図、第4図を用いて説明する。第3図の各ケースとも
先取りされた命令アドレスの24゜23ビット目は次命
令アドレスの24 、23ビット目の内容十〇 、+2
3.+2’の3通りであるため、ストア・アドレスの2
.2 ビット目の内容が次命令アドレスの24 、23
ビット目の内容+(z’+23)の場合にはコンフリク
シ曹ンがありえない。このことにより、第4図図示の如
くコンフリクシ1フ発生可能性がケース4,5゜10.
15に8いてはないことがわかる。つまり、コンフリク
シ目ン発生可能性判定回路7は、上記4ケースの場合論
理%o“とし、残り12ケースの場合論理′1“とすれ
ば良い。
インクリメンタ3により十〇または+16のいずれを行
なうかの判定についても、第3図、第4図を用いて説明
する。第3図の8ケースのうち、次命令アドレスの25
ビット目の内容と、先取りされた命令アドレスの2 ビ
ット目の内容が異なるケースは、先取りされた命令アド
レスの24 、23ビット目の内容が論理100“であ
るケース3,4゜7.8と、2.2 ビット目の内容が
論理’01“であるケース4,8とに存在する。このた
め次命令アドレスとストアーアドレスの夫々24 、2
3ビット目の内容が、第4図のケース9.13.14の
3ケースについては、比較すべき先取りされた命令アド
レスは次命令アドレスに+2sを加算することで作成さ
れなければならない。本特許では処理を簡略にするため
第4図図示の如く8ケースについて+2 を加算する。
ケース1,2,5.6は次命令アドレスの24ビット目
の内容が論理10“であるので2 ビット目に桁上げせ
ず+2の加算は十〇と同じであり、ケース10はコンフ
リクションがありえないため加算は意味がなく、ケース
9.13.14は、次命令アドレスの2 ビット目の内
容が、論理11“であるので2 ビット目に桁上げし+
24の加算は+2sと同じである。
つまり、インクリメンタ3により十〇または+16のい
ずれか加算するかの判定は、ストア・アドレスの24ビ
ット目の内容が論理″0“の場合に、+16、論理′↓
“の場合に十〇とすれば良い。
本実施例では、アドレス比較範凹か2 かり24までで
あるため、余分にコンフリクシ冒ンを検出するバイト数
は8バイトより小さい。
また、本実施例ではコンフリクシ曹ン発生可能性判定回
路7示ある場合□について記載したが、コンフリクシ1
ン発生可能性判定回路7がない場合でも、過剰にコンフ
リクシ冒ンを検出するだけで仕損じることはないから安
全サイドのチェックである。
〔発明の効果〕
本発明によれば、命令先取り用バッファ・レジスタのハ
イド数が2 N×M(2”’(M−1) X2 N >
 2 L−1)バイトであり、メモリ・データ転送バス
幅が2Nバイトであり、メモリへのアクセスは2Nバイ
ト境界でのみ可能である命令先取りL−,1 機能をもつデータ処理装置において、2  バイト分だ
け余分に、ストアーインストラクション・コンフリクシ
ヨンが検出される可能性を許すようにした処理構成と、
命令先取り用インクリメンタをコンフリクション検出に
利用することとにより・、コンフリクシ讐ン検出の処理
′!!4成を簡嗅とする効果がある。
【図面の簡単な説明】
第1因は本発明の一実施例の講成図、第2図は動作を説
明するタイム・チャート、第3図は命令先取り状態を説
明する説明間、第4図はストアーインストラクション・
コンフリクションを検出する状態を説明する説明図であ
る。 1・・・次命令アドレス・レジスタ 2・・・ストア・アドレス・レジスタ 3・・・命令先取り用インクリメンタ 4・・・命令先取り用バッファ・レジスタ5・・・メモ
リ装置 6・・・アドレス比較回路 第1図 第2図

Claims (1)

    【特許請求の範囲】
  1. 1、次命令アドレスをポイントしている次命令アドレス
    ・レジスタと、ストア・アドレスをポイントしているス
    トア・アドレス・レジスタと、命令先取リアドレスを作
    成する命令先取り用インクリメンタと、メモリから読出
    された2^N×Mバイト分(N≧0、M≧2)の命令先
    取り用バッファ・レジスタをそなえ、メモリ・データ転
    送バス幅が2^Nバイトであり、メモリへのアクセスは
    2^Nバイト境界でのみ可能である命令先取り機能をも
    つデータ処理装置において、ストアを行なう場合に、該
    インクリメンタを用いて、該ストア・アドレス・レジス
    タの2^Lビット目(2^L≧(M−1)×2^N>2
    ^L^−^1)の内容により、該次命令アドレス・レジ
    スタの2^Lビット目に2進加算を行ない、該2進演算
    結果と該ストア・アドレス・レジスタの内容とをアドレ
    ス比較回路により最上位ビット目から2^L^+^1ビ
    ット目までビット比較を行なってストアーインストラク
    ション・コンフリクションを検出するようにしたことを
    特徴とするデータ処理装置。
JP5584285A 1985-03-22 1985-03-22 デ−タ処理装置 Pending JPS61216034A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5584285A JPS61216034A (ja) 1985-03-22 1985-03-22 デ−タ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5584285A JPS61216034A (ja) 1985-03-22 1985-03-22 デ−タ処理装置

Publications (1)

Publication Number Publication Date
JPS61216034A true JPS61216034A (ja) 1986-09-25

Family

ID=13010257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5584285A Pending JPS61216034A (ja) 1985-03-22 1985-03-22 デ−タ処理装置

Country Status (1)

Country Link
JP (1) JPS61216034A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0550289A2 (en) * 1992-01-02 1993-07-07 Amdahl Corporation A mechanism to detect stores into the instruction stream

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0550289A2 (en) * 1992-01-02 1993-07-07 Amdahl Corporation A mechanism to detect stores into the instruction stream
EP0550289A3 (en) * 1992-01-02 1993-11-10 Amdahl Corp A mechanism to detect stores into the instruction stream

Similar Documents

Publication Publication Date Title
US6076151A (en) Dynamic memory allocation suitable for stride-based prefetching
EP0084114B1 (en) Instruction prefetching data processing apparatus including a conditional branch instruction predictor
US4086629A (en) Hierarchical data store with look-ahead action
US5941981A (en) System for using a data history table to select among multiple data prefetch algorithms
US7434030B2 (en) Processor system having accelerator of Java-type of programming language
US5617553A (en) Computer system which switches bus protocols and controls the writing of a dirty page bit of an address translation buffer
JPS63503177A (ja) 命令先取制御装置
EP0125855A2 (en) Buffer-storage control system
US8387065B2 (en) Speculative popcount data creation
US20030018826A1 (en) Facilitating efficient join operations between a head thread and a speculative thread
JPH03291726A (ja) コンパイル中にソフトウェア・スケジューリング技術を用いてハードウェアのパイプライン処理の中断を最小化する方法
CN112559389A (zh) 存储控制装置、处理装置、计算机系统和存储控制方法
US4942521A (en) Microprocessor with a cache memory in which validity flags for first and second data areas are simultaneously readable
EP0592404A1 (en) Apparatus and method for providing a stall cache
US8327122B2 (en) Method and system for providing context switch using multiple register file
JPS6112289B2 (ja)
US4499535A (en) Digital computer system having descriptors for variable length addressing for a plurality of instruction dialects
JPS61216034A (ja) デ−タ処理装置
JP2002014868A (ja) メモリ参照動作検出機構を有するマイクロプロセッサおよびコンパイル方法
US4212058A (en) Computer store mechanism
KR960015231A (ko) 향상된 어드레스 지정 방법 및 시스템
JPS6051947A (ja) 仮想記憶計算機における命令先取方式
JPS59112479A (ja) キヤツシユメモリの高速アクセス方式
US20040024793A1 (en) Data processing method, and memory area search system and program
JPH01177145A (ja) 情報処理装置