JPS62154032A - インストラクシヨンカツシユメモリ - Google Patents
インストラクシヨンカツシユメモリInfo
- Publication number
- JPS62154032A JPS62154032A JP61299815A JP29981586A JPS62154032A JP S62154032 A JPS62154032 A JP S62154032A JP 61299815 A JP61299815 A JP 61299815A JP 29981586 A JP29981586 A JP 29981586A JP S62154032 A JPS62154032 A JP S62154032A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- memory
- address information
- response
- data
- 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
Links
- 230000015654 memory Effects 0.000 title claims description 242
- 230000004044 response Effects 0.000 claims description 41
- 238000000034 method Methods 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims 1
- 230000001172 regenerating effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000000605 extraction Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3808—Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
- G06F9/381—Loop buffering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7828—Architectures of general purpose stored program computers comprising a single central processing unit without memory
- G06F15/7832—Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔技術分野〕
本発明は、別設のプログラム用メモリ並びにデータ用メ
モリと共働して作動するデジタル式のデータ処理用プロ
セッサに関し、更にはデジタル信号処理に適したデジタ
ルデータプロセッサに関スる。
モリと共働して作動するデジタル式のデータ処理用プロ
セッサに関し、更にはデジタル信号処理に適したデジタ
ルデータプロセッサに関スる。
デジタル信号処理は、通信・データ処理の分野において
いよいよ重要性を増しつつある計算処理の分野である。
いよいよ重要性を増しつつある計算処理の分野である。
デジタル信号処理は、初期においてはデジタル乗除算を
高速で演算する特別に設計された論理回路を用いて行な
われていた。しかしながら、超LSI回路の製造技術が
確立されると、高速デジタル乗算器が算術論理演算装置
(ALU)、プログラム逐次制御装置(プログラムシー
ケンサλ及び記憶装置(メモリ)と組合わされて、シリ
コンのワンチップ上に完全なデジタル信号処理装置が形
成されるようになった。
高速で演算する特別に設計された論理回路を用いて行な
われていた。しかしながら、超LSI回路の製造技術が
確立されると、高速デジタル乗算器が算術論理演算装置
(ALU)、プログラム逐次制御装置(プログラムシー
ケンサλ及び記憶装置(メモリ)と組合わされて、シリ
コンのワンチップ上に完全なデジタル信号処理装置が形
成されるようになった。
従来、デジタル信号処理装置は、そのメモIJ−の一部
若しくは総てを、処理回路を含んでいる同じICチップ
上に備えていた。そのような従来の処理回路は、プログ
ラム並びにデータの格納に必要なメモリ容量が、斯かる
内部メモリの容量を超えることがないようなアプリケー
ションに用いる分には良好に作動する。斯かる従来の回
路における問題は、現在の半導体技術ではワンチップ上
に包含し得るメモリ容量が(処理能力を著し、く−犠牲
にするのでない限シ)余りも限られたものであること、
それに、内部メモリの容量を超過したときには、通常、
斯かる従来の処理回路は処理速度の甚だしい低下を生じ
ることである。
若しくは総てを、処理回路を含んでいる同じICチップ
上に備えていた。そのような従来の処理回路は、プログ
ラム並びにデータの格納に必要なメモリ容量が、斯かる
内部メモリの容量を超えることがないようなアプリケー
ションに用いる分には良好に作動する。斯かる従来の回
路における問題は、現在の半導体技術ではワンチップ上
に包含し得るメモリ容量が(処理能力を著し、く−犠牲
にするのでない限シ)余りも限られたものであること、
それに、内部メモリの容量を超過したときには、通常、
斯かる従来の処理回路は処理速度の甚だしい低下を生じ
ることである。
以上の如き能力の限界を考慮して、メモリをプロセッサ
チップの外部に置いた別形式の処理回路が開発された。
チップの外部に置いた別形式の処理回路が開発された。
ただし、外部メモリをアクセスするに必要な時間は内部
メモリをアクセスするに必要な時間より長くかかるため
、このように構成された処理回路におけるメモリのアク
セスタイムを短縮するための種々のメモリ構成が利用さ
れてきた。外部メモリ式の構成を用いた装置の一例とし
ては、2つの別々のメモリを備え、その各々のメモリに
別個にアドレス発生回路を備えたものがある。斯かる装
置においては、一方のメモリが一連のプログラムインス
トラクションを格納するために用いられ、他方のメモリ
がデータを格納するために用いられる。各メモリには個
別にアドレス発生回路が備えられているため、同一のマ
シンサイクルの間に双方のメモリを共にアクセスするこ
とが可能であり、従ってデータワードと次回のインスト
ラクションワードとをメモリから取出すことが出来る。
メモリをアクセスするに必要な時間より長くかかるため
、このように構成された処理回路におけるメモリのアク
セスタイムを短縮するための種々のメモリ構成が利用さ
れてきた。外部メモリ式の構成を用いた装置の一例とし
ては、2つの別々のメモリを備え、その各々のメモリに
別個にアドレス発生回路を備えたものがある。斯かる装
置においては、一方のメモリが一連のプログラムインス
トラクションを格納するために用いられ、他方のメモリ
がデータを格納するために用いられる。各メモリには個
別にアドレス発生回路が備えられているため、同一のマ
シンサイクルの間に双方のメモリを共にアクセスするこ
とが可能であり、従ってデータワードと次回のインスト
ラクションワードとをメモリから取出すことが出来る。
これにより、この種の装置は、プログラムインストラク
ションとデータとの両方を1つのメモリに格納している
装置と比較して、処理速度がはるかに高速となっている
。
ションとデータとの両方を1つのメモリに格納している
装置と比較して、処理速度がはるかに高速となっている
。
しかしながら、アプリケーションによっては、斯かる2
−メモリ式の装置によっても情報を十分な速さで処理し
得ない。より具体的には、多くの処理回路は1つの処理
動作のために2つのデータワードを入力する必要がある
。例えば、乗算と加算のいずれも2つの入力を必要とし
、それらは入力後に組合されて処理され、1つの出力を
発生する。従って、2−メモリ式の装置においては、2
番目のデータワードがデータメモリから取出される1回
のマシンサイクルの間、処理回路は処理を停止していな
ければならない(一方のメモリは各マシンサイクル毎に
処理のインストラクションを発生するために、専ら用い
られている)。
−メモリ式の装置によっても情報を十分な速さで処理し
得ない。より具体的には、多くの処理回路は1つの処理
動作のために2つのデータワードを入力する必要がある
。例えば、乗算と加算のいずれも2つの入力を必要とし
、それらは入力後に組合されて処理され、1つの出力を
発生する。従って、2−メモリ式の装置においては、2
番目のデータワードがデータメモリから取出される1回
のマシンサイクルの間、処理回路は処理を停止していな
ければならない(一方のメモリは各マシンサイクル毎に
処理のインストラクションを発生するために、専ら用い
られている)。
処理における斯かる遅延を避けるべく、各マシンサイク
ル毎に同時にアクセスすることのできる3つの外部メモ
リを備えた装置もこれまであった。
ル毎に同時にアクセスすることのできる3つの外部メモ
リを備えた装置もこれまであった。
それらの装置においては、1回のマシンサイクルの間に
、2つのデータワードと次回のインストラクションとを
メモリから取出すことが可能であり、そのため3−メモ
リ式装置は極めて速い処理速度で作動し得るものである
。
、2つのデータワードと次回のインストラクションとを
メモリから取出すことが可能であり、そのため3−メモ
リ式装置は極めて速い処理速度で作動し得るものである
。
3−外部メモリ式の装置における問題点は、3つの外部
メモリとプロセッサとを電気的に接続する必要があり(
各メモリ毎にアドレス用リード線とデータ用リード線と
が必要である)、その接線のためにはプロセッサを包含
するICチップに多数のコネクタビンを設けなければな
らない(コネクタピンの数はしばしば100本以上にも
なる)ことである。電気的な信頼性を確保するためには
、互いに絶縁されているコネクタピン間の間隔を最小許
容間隔以下にすることはできず、そのためプロセッサを
収容しているパッケージの物理的寸法はしばしば大きな
ものとなる。
メモリとプロセッサとを電気的に接続する必要があり(
各メモリ毎にアドレス用リード線とデータ用リード線と
が必要である)、その接線のためにはプロセッサを包含
するICチップに多数のコネクタビンを設けなければな
らない(コネクタピンの数はしばしば100本以上にも
なる)ことである。電気的な信頼性を確保するためには
、互いに絶縁されているコネクタピン間の間隔を最小許
容間隔以下にすることはできず、そのためプロセッサを
収容しているパッケージの物理的寸法はしばしば大きな
ものとなる。
本発明の目的は、従って、数多くのアプリケーションに
おいて3−外部メモリ式の装置と同等の速度で作動し得
るデジタル式信号処理装置を提供することにある。
おいて3−外部メモリ式の装置と同等の速度で作動し得
るデジタル式信号処理装置を提供することにある。
本発明の更なる目的は、3−外部メモリ式装置と同等の
速度で作動し得ると共に、2−メモリ式装置に必要な程
度の本数のコネクタビンしか備えていないデジタル式信
号処理装置を提供することにある。
速度で作動し得ると共に、2−メモリ式装置に必要な程
度の本数のコネクタビンしか備えていないデジタル式信
号処理装置を提供することにある。
本発明の更なる目的は、外部メモリを効率的にアクセス
するようにデザインされたデジタル式信号処理装置を提
供することにある。
するようにデザインされたデジタル式信号処理装置を提
供することにある。
本発明の更なる目的は、高速の処理速度と高い処理能力
との双方を備えたデジタル式信号処理装置を提供するこ
とにある。
との双方を備えたデジタル式信号処理装置を提供するこ
とにある。
本発明の更なる目的は、2つの別々の外部メモリをアク
セス可能であシ、そのうちの一方のメモリにデータを格
納すると共に、他方のメモリにはプログラムインストラ
クションとデータとを共に格納するようにした、デジタ
ル式信号処理装置を提供することにある。
セス可能であシ、そのうちの一方のメモリにデータを格
納すると共に、他方のメモリにはプログラムインストラ
クションとデータとを共に格納するようにした、デジタ
ル式信号処理装置を提供することにある。
上記の諸口的の達成と前述の諸問題点の解決とは、本発
明を説明するための1つの具体例である、以下の構成の
実施例により、なされている。即ちこの実施例において
は、デジタルシグナルプロセッサに、インストラクショ
ンを格納するための小規模なカッシュメモリが組込まれ
、このメモリはプロセッサチップ上に置かれている。こ
のカッ7ユメモリは、現時点において処理ユニットで実
行中の、インストラクションの小さなサブセットを、格
納するものである。
明を説明するための1つの具体例である、以下の構成の
実施例により、なされている。即ちこの実施例において
は、デジタルシグナルプロセッサに、インストラクショ
ンを格納するための小規模なカッシュメモリが組込まれ
、このメモリはプロセッサチップ上に置かれている。こ
のカッ7ユメモリは、現時点において処理ユニットで実
行中の、インストラクションの小さなサブセットを、格
納するものである。
実行時間が重要視される計算処理の多くは、プログラム
ルーズの中の総てのループ状インストラクションをカッ
シュメモリ中に格納できるようにしたプログラムループ
として、書くことができる。
ルーズの中の総てのループ状インストラクションをカッ
シュメモリ中に格納できるようにしたプログラムループ
として、書くことができる。
斯かるプログラムループを最初に通過するときには、ル
ープ状インストラクションがカッシュメモリに格納され
ると共に、処理すべき2つのデータワードゝと次回のイ
ンストラクションとをメモリから取出すためには2回の
マシンサイクルを必要とする。しかしながら、このイン
ストラクションループを次回以降通過する際には、次の
インストラクションはカッシュメモリから取出すことが
でき、これによりアドレス発生回路はデータメモリとプ
ログラムメモリの両方からデータワードを取出すことが
できる。従ってそのようなルーピング状態におけるプロ
セッサの実行能力は、3−外部メモリ式の装置の実行能
力と同等である。
ープ状インストラクションがカッシュメモリに格納され
ると共に、処理すべき2つのデータワードゝと次回のイ
ンストラクションとをメモリから取出すためには2回の
マシンサイクルを必要とする。しかしながら、このイン
ストラクションループを次回以降通過する際には、次の
インストラクションはカッシュメモリから取出すことが
でき、これによりアドレス発生回路はデータメモリとプ
ログラムメモリの両方からデータワードを取出すことが
できる。従ってそのようなルーピング状態におけるプロ
セッサの実行能力は、3−外部メモリ式の装置の実行能
力と同等である。
より詳しく説明するならば、カッシュメモリは少数のイ
ンストラクションワードを記憶保持する内部メモリであ
る。現在実行中のインストラクションが、プログラムメ
モリからのデータの転送を必要としまい場合には、プロ
グラムメモリから取出される次回のインストラクション
はインストラクションレジスタにロードされると同時に
自動的にカッシュメモリに書込まれる。一方、現在実行
中のインストラクションがプログラムメモリからのデー
タ転送を必要としている場合には、インストラクション
レジスタへは、プログラムメモリからのロードに代えて
カッシュメモリからのロードが行なわれる。
ンストラクションワードを記憶保持する内部メモリであ
る。現在実行中のインストラクションが、プログラムメ
モリからのデータの転送を必要としまい場合には、プロ
グラムメモリから取出される次回のインストラクション
はインストラクションレジスタにロードされると同時に
自動的にカッシュメモリに書込まれる。一方、現在実行
中のインストラクションがプログラムメモリからのデー
タ転送を必要としている場合には、インストラクション
レジスタへは、プログラムメモリからのロードに代えて
カッシュメモリからのロードが行なわれる。
後者の場合、カッシュメモリからロードされたインスト
ラクションは有効でないことがあり、何故ならば、カッ
シュメモリの内容は、インストラクションがカッシュメ
モリに格納されている一連の連続インストラクションの
うちの1つである場合にのみ、使用可能だからである。
ラクションは有効でないことがあり、何故ならば、カッ
シュメモリの内容は、インストラクションがカッシュメ
モリに格納されている一連の連続インストラクションの
うちの1つである場合にのみ、使用可能だからである。
(従って、現在実行中のプログラムインストラクション
によって、カッシュメモリ内では入手不可能なアドレス
へのジャンプがなされた場合には、カッシュメモリ内の
全内容が必然的に無効となる)。カッシュメモリモニタ
回路が現在カッシュメモリ内に格納されている複数のイ
ンストラクションのインストラクションアドレスの範囲
を追跡して、インストラクションレジスタ内にo−トゝ
されているインストラクションが有効か否かの判定を行
なっている。
によって、カッシュメモリ内では入手不可能なアドレス
へのジャンプがなされた場合には、カッシュメモリ内の
全内容が必然的に無効となる)。カッシュメモリモニタ
回路が現在カッシュメモリ内に格納されている複数のイ
ンストラクションのインストラクションアドレスの範囲
を追跡して、インストラクションレジスタ内にo−トゝ
されているインストラクションが有効か否かの判定を行
なっている。
もし有効でない場合には、インストラクションレジスタ
がクリアされると共にプログラムメモリ用のアドレス発
生回路が停止して、プログラムメモリからの取出し動作
は次回のマシンサイクルにおいて同一のプログラムメモ
リアドレスを用いて実行され、斯くして次回に実行され
るべき真のインストラクションを得ることができる。
がクリアされると共にプログラムメモリ用のアドレス発
生回路が停止して、プログラムメモリからの取出し動作
は次回のマシンサイクルにおいて同一のプログラムメモ
リアドレスを用いて実行され、斯くして次回に実行され
るべき真のインストラクションを得ることができる。
カッシュメモリモニタ回路は、カッシュメモリ内に格納
されている、現在実行中のインストラクションの後に実
行される連続したインストラクションの個数を保持する
と共に、同じくカッシュメモリ内に格納されている、現
在実行中のインストラクションの前に実行されている連
続したインストラクションの個数をも、別個に保持して
いる。
されている、現在実行中のインストラクションの後に実
行される連続したインストラクションの個数を保持する
と共に、同じくカッシュメモリ内に格納されている、現
在実行中のインストラクションの前に実行されている連
続したインストラクションの個数をも、別個に保持して
いる。
次回のインストラクションが現在カッシュメモリ内に格
納されている諸インストラクション中に含まれているこ
とを確認するためには、現在実行中のインストラクショ
ンのアドレスを次回のインストラクションのアドレスか
ら減じてオフセット数を導出する減算が行なわれる。適
切に減算を行なうと共にオフセット数を格納カウント値
情報に加算することにより、既にカッシュメモリ内に格
納されている複数のインストラクションの範囲内にこの
オフセットが位置するか否かを、前記モニタ回路が判定
する。
納されている諸インストラクション中に含まれているこ
とを確認するためには、現在実行中のインストラクショ
ンのアドレスを次回のインストラクションのアドレスか
ら減じてオフセット数を導出する減算が行なわれる。適
切に減算を行なうと共にオフセット数を格納カウント値
情報に加算することにより、既にカッシュメモリ内に格
納されている複数のインストラクションの範囲内にこの
オフセットが位置するか否かを、前記モニタ回路が判定
する。
以下に図面を参照しつつ本発明の実施例について説明す
る。
る。
本発明の一実施例であるデジタル信号処理装置の基本的
なブロックダイアダラムが第1図に示されている。プロ
セッサユニット100はデジタル処理回路を含んで成シ
、このデジタル処理回路が実際のデータ処理を行なう。
なブロックダイアダラムが第1図に示されている。プロ
セッサユニット100はデジタル処理回路を含んで成シ
、このデジタル処理回路が実際のデータ処理を行なう。
デジタル処理回路は、例えば、加減算、論理演算、並び
にその他の一般的な種々のデータ処理を実行する算術論
理演算ユニッ) (ALU)を含んでなるものである。
にその他の一般的な種々のデータ処理を実行する算術論
理演算ユニッ) (ALU)を含んでなるものである。
プロセッサユニット100は更に、高速デジタル乗算器
や、データのローテーション、スケ−リンク、ノーマラ
イゼーションを行なうデータシフタを含んでいても良い
。それらの計算処理ユニットは一般的な、当業者には公
知のユニットであシ、それ故ここではこれ以上詳しく説
明しない。
や、データのローテーション、スケ−リンク、ノーマラ
イゼーションを行なうデータシフタを含んでいても良い
。それらの計算処理ユニットは一般的な、当業者には公
知のユニットであシ、それ故ここではこれ以上詳しく説
明しない。
プロセッサ100は複数のバスを介して2つの外部メモ
リ102と112、並びに周辺機器114と接続されて
いる。図中、各々のバスは1本のラインで表わされてい
るが、一般に行なわれている如く、それらのバスは複数
の導線(マルチワイヤ)から成るバスであり、1つのデ
ジタルワードの複数の論理ビットが斯かるバスによって
パラレルに、プロセッサ100とそれに組合された外部
機器との間で転送される。
リ102と112、並びに周辺機器114と接続されて
いる。図中、各々のバスは1本のラインで表わされてい
るが、一般に行なわれている如く、それらのバスは複数
の導線(マルチワイヤ)から成るバスであり、1つのデ
ジタルワードの複数の論理ビットが斯かるバスによって
パラレルに、プロセッサ100とそれに組合された外部
機器との間で転送される。
更に詳しくは、プロセッサ100がそのプログラムメモ
リアドレス出力端子PMAから複数のアドレス信号を発
生し、それらの信号がバス104ヲ介シてプログラムメ
モリ102のアドレス入力端子に転送されることにより
、このプログラムメモリ102内に格納されているプロ
グラムインストラクションワードを、プロセッサ100
が取出すことができる。これに加えて、本発明に拠れば
、データワードゝも同様にして、プロセッサ100がバ
ス104を介してメモリ102にデータアトゝレスを送
出することにより、メモリ102からプロセッサ100
に取出される。プログラムメモリ102とプロセッサ1
00の間を転送されるインストラクションワード並びに
データワードは、メモリ102のデータ出力端子とプロ
セッサ100のプログラムメモリデータ端子(PMD端
子)の間でバス106を介して転送される。
リアドレス出力端子PMAから複数のアドレス信号を発
生し、それらの信号がバス104ヲ介シてプログラムメ
モリ102のアドレス入力端子に転送されることにより
、このプログラムメモリ102内に格納されているプロ
グラムインストラクションワードを、プロセッサ100
が取出すことができる。これに加えて、本発明に拠れば
、データワードゝも同様にして、プロセッサ100がバ
ス104を介してメモリ102にデータアトゝレスを送
出することにより、メモリ102からプロセッサ100
に取出される。プログラムメモリ102とプロセッサ1
00の間を転送されるインストラクションワード並びに
データワードは、メモリ102のデータ出力端子とプロ
セッサ100のプログラムメモリデータ端子(PMD端
子)の間でバス106を介して転送される。
プロセッサ100は更に、データメモリ112、並びに
ブロック114で模式的に図示されている周辺機器をも
アクセスすることができる。データメモリ112と周辺
機器114はアドレスバス108とデータバス110を
介してプロセッサ100に接続されている。プロセッサ
100はデータメモリ112をアクセスするために、そ
のデータメモリアドレス端子(DMA端子)にマルチビ
ットのアドレス信号を発生し、このアドレス信号はバス
116を介してアト8Lz4バス108へト送出され、
更にアドレスバス108からバス120を介してデータ
メモリ112 のアドレス端子へと転送される。メモ
リ112から取出され、またはメモリ112へと転送さ
れるデータは、バス122を介してメモリ112とデー
タバス110との間で転送が行なわれ、更にデ′−タバ
ス110からバス118を介してプロセッサ100のデ
ータメモリデータ端子(DMD端子)へと転送される。
ブロック114で模式的に図示されている周辺機器をも
アクセスすることができる。データメモリ112と周辺
機器114はアドレスバス108とデータバス110を
介してプロセッサ100に接続されている。プロセッサ
100はデータメモリ112をアクセスするために、そ
のデータメモリアドレス端子(DMA端子)にマルチビ
ットのアドレス信号を発生し、このアドレス信号はバス
116を介してアト8Lz4バス108へト送出され、
更にアドレスバス108からバス120を介してデータ
メモリ112 のアドレス端子へと転送される。メモ
リ112から取出され、またはメモリ112へと転送さ
れるデータは、バス122を介してメモリ112とデー
タバス110との間で転送が行なわれ、更にデ′−タバ
ス110からバス118を介してプロセッサ100のデ
ータメモリデータ端子(DMD端子)へと転送される。
同様にして、バス108上にあるアドレス情報をバス1
24を介して周辺機器114のアドレス入力端子に与え
ることができる。また、周辺機器114からの返しデー
タをバス126,110.及び118を介してプロセッ
サ100のDMDポートに与えることができる。
24を介して周辺機器114のアドレス入力端子に与え
ることができる。また、周辺機器114からの返しデー
タをバス126,110.及び118を介してプロセッ
サ100のDMDポートに与えることができる。
既に述べた如く、プロセッサ100は通常時には2−メ
モリ装置として作動している。従って各マシンサイクル
毎に、1つのデータワードがデータメモリ112へ転送
もしくはデータメモリから転送されて来ると共に、次回
のプログラムインストラクションがプログラムメモリ1
02から取出される。
モリ装置として作動している。従って各マシンサイクル
毎に、1つのデータワードがデータメモリ112へ転送
もしくはデータメモリから転送されて来ると共に、次回
のプログラムインストラクションがプログラムメモリ1
02から取出される。
しかしながら、本発明に拠れば、前述の如くプログラム
メモリ102は更にデータの一部を格納するためにも用
いることができるようになっている。
メモリ102は更にデータの一部を格納するためにも用
いることができるようになっている。
メモリ102からデータワードを取出すかそれともイン
ストラクションデータを取出すかの判定は、プロセッサ
100において現在実行中のインストラクションのオに
レーションコートゞによって決定すれる。
ストラクションデータを取出すかの判定は、プロセッサ
100において現在実行中のインストラクションのオに
レーションコートゞによって決定すれる。
第2図は、プロセッサ100における、データメモリと
プログラムメモリの双方のアドレス情報を発生するため
の回路の、模式的展開ブロックダイアダラムである。既
に述べた如く、フロセッサ100は4つの端子(PMA
端子、PMD端子、DMA端子、DMD端子)を介して
プログラムメモリとデータメモリとに接続されている。
プログラムメモリの双方のアドレス情報を発生するため
の回路の、模式的展開ブロックダイアダラムである。既
に述べた如く、フロセッサ100は4つの端子(PMA
端子、PMD端子、DMA端子、DMD端子)を介して
プログラムメモリとデータメモリとに接続されている。
これらのPMA端子、PMD端子、DMA端子及びDM
D端子は、夫々内部バス200 、206 、202及
び204に接続されておシ、それらの内部バスが各端子
をアドレス発生回路に接続している。
D端子は、夫々内部バス200 、206 、202及
び204に接続されておシ、それらの内部バスが各端子
をアドレス発生回路に接続している。
バス202上のデータアトゝレス信号はデータアト8レ
ス発生器210と218のいずれか1つにより発生され
る。データアドレス発生器210は一般的な回路であり
、プロセッサ逐次制御論理回路(プロセッサシーケンス
ロジック)(不図示)の制御の下に14ビツトのアドレ
ス信号を発生し、このアドレス情報はデータメモリ11
2内の特定の位置をアクセスするために用いられる。ア
ドレス発生器210により発生されたアドレスシグナル
はバス212を介してデータメモリアドレスバス202
へ送出される。
ス発生器210と218のいずれか1つにより発生され
る。データアドレス発生器210は一般的な回路であり
、プロセッサ逐次制御論理回路(プロセッサシーケンス
ロジック)(不図示)の制御の下に14ビツトのアドレ
ス信号を発生し、このアドレス情報はデータメモリ11
2内の特定の位置をアクセスするために用いられる。ア
ドレス発生器210により発生されたアドレスシグナル
はバス212を介してデータメモリアドレスバス202
へ送出される。
これと同様に、データアドレス発生器218も14ビツ
トのアドレス信号を発生することができ、このアドレス
信号はデータメモリ112内のデータをアクセスすべく
、バス216を介してデータメモリアドレスバス202
へ送出される。しかしながら、本発明に拠れば、データ
アドレス発生器218はアドレス信号をバス216に送
出する替シに別の14ビットアドレス信号を発生し、そ
のアドレス信号ヲハス214を介してプログラムメモリ
アドレスバス200へと送出してプログラムメモリ10
2内に置かれたデータをアクセスすることもできる。ア
ドレス発生器210と218とは同時に作動可能であシ
、それ故本装置では、同一のマシンサイクルの中でプロ
グラムメモリとデータメモリの両方をアクセスして2つ
のデータワードを得ることができる。
トのアドレス信号を発生することができ、このアドレス
信号はデータメモリ112内のデータをアクセスすべく
、バス216を介してデータメモリアドレスバス202
へ送出される。しかしながら、本発明に拠れば、データ
アドレス発生器218はアドレス信号をバス216に送
出する替シに別の14ビットアドレス信号を発生し、そ
のアドレス信号ヲハス214を介してプログラムメモリ
アドレスバス200へと送出してプログラムメモリ10
2内に置かれたデータをアクセスすることもできる。ア
ドレス発生器210と218とは同時に作動可能であシ
、それ故本装置では、同一のマシンサイクルの中でプロ
グラムメモリとデータメモリの両方をアクセスして2つ
のデータワードを得ることができる。
データメモリ112から入ってくるデータワードは、D
VD端子を介して内部データバス204へ与えられる。
VD端子を介して内部データバス204へ与えられる。
夫々バス220と222とを介してデータアドレス発生
器210と218の内部にデータを口−トゝし、これに
よってそれらのデータアドレス発生器を所望のアドレス
に予め設定することもできる。バス204上のデータ情
報は、更に前記したその他の計算処理要素(ALU 、
乗算器、並びにシフタユニット等であるが、第2図には
図示されていない)にも、利用されている。
器210と218の内部にデータを口−トゝし、これに
よってそれらのデータアドレス発生器を所望のアドレス
に予め設定することもできる。バス204上のデータ情
報は、更に前記したその他の計算処理要素(ALU 、
乗算器、並びにシフタユニット等であるが、第2図には
図示されていない)にも、利用されている。
通常の処理動作が実行され−Cいる間は、プログラムメ
モリのためのアドレスバスはインストラクションレジス
タ238とプログラム遂次制御論理回路(プログラムシ
ーケンサロジック)232により与えられている。更に
詳しく説明すると、プログラムメモリアドレス信号はプ
ログラムカウンタ250により順次的に与えられること
もあり、またインストラクションレジスタ238内のイ
ンストラクションの一部分によって与えられることもあ
る(例えば「ジャンプ」インストラクションの場合)。
モリのためのアドレスバスはインストラクションレジス
タ238とプログラム遂次制御論理回路(プログラムシ
ーケンサロジック)232により与えられている。更に
詳しく説明すると、プログラムメモリアドレス信号はプ
ログラムカウンタ250により順次的に与えられること
もあり、またインストラクションレジスタ238内のイ
ンストラクションの一部分によって与えられることもあ
る(例えば「ジャンプ」インストラクションの場合)。
そのために、プログラムカウンタ250の出力はバス2
52を介して次回アドレスマルチプレクサ260へ送出
される。同様に、インストラクションレジスタのアドレ
ス出力部分も、バス246を介して次回アトゝレスマル
チプレクサ260へ送出される。次回アドレスをプログ
ラムカウンタの方から選択すべきかそれともインストラ
クションレジスタの出力の方から選択すべきかは、バス
270を介してプログラム遂次制御器(プログラムシー
ケンサコントロール)266により制御される。プログ
ラムカウンタ250、次回アドレスマルチプレクサ26
0、インストラクションレジスタ238.並びにプログ
ラム遂次制御回路266は一般的な公知の回路であり、
それらの詳細な作用についてはここではこれ以上の説明
をしない。
52を介して次回アドレスマルチプレクサ260へ送出
される。同様に、インストラクションレジスタのアドレ
ス出力部分も、バス246を介して次回アトゝレスマル
チプレクサ260へ送出される。次回アドレスをプログ
ラムカウンタの方から選択すべきかそれともインストラ
クションレジスタの出力の方から選択すべきかは、バス
270を介してプログラム遂次制御器(プログラムシー
ケンサコントロール)266により制御される。プログ
ラムカウンタ250、次回アドレスマルチプレクサ26
0、インストラクションレジスタ238.並びにプログ
ラム遂次制御回路266は一般的な公知の回路であり、
それらの詳細な作用についてはここではこれ以上の説明
をしない。
次回7ドレスマルチプレクサ266により選択されたア
ドレス情報は同マルチプレクサの出力バス276を介し
てプログラムメモリアドレスバス200へ送出され、そ
こからPMA端子へと送られる。このアドレス情報はま
た、バス280とマルチプレクサ283とを介してプロ
グラムカウンタへも送出することかでき、これによりプ
ログラムカウンタを次のアドレスに設定する。マルチプ
レクサ260と同様に、?ルナプレクサ283もプログ
ラム遂次制御回路266によって制御される。
ドレス情報は同マルチプレクサの出力バス276を介し
てプログラムメモリアドレスバス200へ送出され、そ
こからPMA端子へと送られる。このアドレス情報はま
た、バス280とマルチプレクサ283とを介してプロ
グラムカウンタへも送出することかでき、これによりプ
ログラムカウンタを次のアドレスに設定する。マルチプ
レクサ260と同様に、?ルナプレクサ283もプログ
ラム遂次制御回路266によって制御される。
アドレス信号によって選択された次回インストラクショ
ンは、プログラムメモリデータメスを介してPMD端子
へ与えられる。これにより次回インストラクションは内
部バス206上に生じ、ここかラハス262と242と
を介してインストラクションレジスタ238へ送られる
。マシンサイクルの開始時に、プログラム遂次制御器2
66の制御の下に次回インストラクションはインストラ
クションレジスタ238内にラッチされ、プログラムレ
ジスタ内に現在格納されているインストラクションは、
次回のマシンサイクルにおけるプロセッサの作動を通常
の方法で決定する。更には次回アドレスマルチプレクサ
260の出力端子に生じているアドレス情報を、バス2
82を介してプログラムカウンタ250に送出して同カ
ウンタを次回アドレスに設定することもできる。
ンは、プログラムメモリデータメスを介してPMD端子
へ与えられる。これにより次回インストラクションは内
部バス206上に生じ、ここかラハス262と242と
を介してインストラクションレジスタ238へ送られる
。マシンサイクルの開始時に、プログラム遂次制御器2
66の制御の下に次回インストラクションはインストラ
クションレジスタ238内にラッチされ、プログラムレ
ジスタ内に現在格納されているインストラクションは、
次回のマシンサイクルにおけるプロセッサの作動を通常
の方法で決定する。更には次回アドレスマルチプレクサ
260の出力端子に生じているアドレス情報を、バス2
82を介してプログラムカウンタ250に送出して同カ
ウンタを次回アドレスに設定することもできる。
従って通常のマシンサイクルの作動の間に、プログラム
カウンタ250とインストラクションレジスタ238の
いずれか一方からプログラムメモリアドレスが発生され
、それがプログラムメモリ102へ転送される。同様に
、データアドレス発生器210と218のいずれか一方
によりデータメモリアドレスが発生され、それがデータ
メモリ112へ転送される。これらのアドレス信号に応
じて夫々のメモリが各々データを送出する。その場合に
送出されるデータは、プログラムメモリの場合には次回
インストラクションであシ、データメモリの場合は現在
のマシンサイクルの間に処理すべきデータ、もしくは処
理が完了して格納すべきデータである。
カウンタ250とインストラクションレジスタ238の
いずれか一方からプログラムメモリアドレスが発生され
、それがプログラムメモリ102へ転送される。同様に
、データアドレス発生器210と218のいずれか一方
によりデータメモリアドレスが発生され、それがデータ
メモリ112へ転送される。これらのアドレス信号に応
じて夫々のメモリが各々データを送出する。その場合に
送出されるデータは、プログラムメモリの場合には次回
インストラクションであシ、データメモリの場合は現在
のマシンサイクルの間に処理すべきデータ、もしくは処
理が完了して格納すべきデータである。
本発明に拠れば、プロセッサ100には更にカッシュメ
モリ230が備えられている。カッシュメモリ230は
複数のインストラクションワード8を記憶保持する小さ
なメモリアレイである。説明のために、このメモリアレ
イ230は例えば最大16個までの24ビツトインスト
ラクシヨンワートゝを格納するものとする。カッシュメ
モリの機能は、プロセッサにより実行完了されたインス
トラクションの最後の16個を格納しておくことであり
、これにより、プログラムがショートループに入ったと
きにはそれらの格納インストラクションを用いてプロセ
ッサを走らせることができる。
モリ230が備えられている。カッシュメモリ230は
複数のインストラクションワード8を記憶保持する小さ
なメモリアレイである。説明のために、このメモリアレ
イ230は例えば最大16個までの24ビツトインスト
ラクシヨンワートゝを格納するものとする。カッシュメ
モリの機能は、プロセッサにより実行完了されたインス
トラクションの最後の16個を格納しておくことであり
、これにより、プログラムがショートループに入ったと
きにはそれらの格納インストラクションを用いてプロセ
ッサを走らせることができる。
従ってプログラムメモリから取出されたインストラクシ
ョンハ、インストラクションレジスタ238にロートゝ
されると同時にカッシュメモリ230に書き込まれる。
ョンハ、インストラクションレジスタ238にロートゝ
されると同時にカッシュメモリ230に書き込まれる。
より詳しくは、内部バス206を介してインストラクシ
ョンレジスタ238に与えられるインストラクションワ
ード8は、バス240を介してカッシュメモリ230の
データ入力端子にも与えられる。カッシュメモリ230
は、プログラムメモリアドレスバス200上のアドレス
情報の一部分を、バス234を介して受は取る。より詳
しくは、カッシュメモリ230が受は取るアドレス情報
は、プログラムメモリアトゝレスの最下位の4ビツトで
ある。従ってカッシュメモリアドレスはr16j i法
としてプログラムメモリアドレスと合同であり、各プロ
グラムメモリアトゝレスは常に1つのカッシュメモリア
ドレスに対応している。
ョンレジスタ238に与えられるインストラクションワ
ード8は、バス240を介してカッシュメモリ230の
データ入力端子にも与えられる。カッシュメモリ230
は、プログラムメモリアドレスバス200上のアドレス
情報の一部分を、バス234を介して受は取る。より詳
しくは、カッシュメモリ230が受は取るアドレス情報
は、プログラムメモリアトゝレスの最下位の4ビツトで
ある。従ってカッシュメモリアドレスはr16j i法
としてプログラムメモリアドレスと合同であり、各プロ
グラムメモリアトゝレスは常に1つのカッシュメモリア
ドレスに対応している。
メモリアレイ230のリート″/ライト(R/W )制
御線はデコーダ回路248により駆動され、同デコーダ
回路はインストラクションレジスタ238 K 0−ド
されている現在処理中のインストラクションのオにレー
ションコービ部分を(バス247t−1゜て受は取って
)デコード子る。現在処理中のインストラクションがプ
ログラムメモリデータの転送を行なわない場合には、カ
ッシュメモ1J230は「書込み」(ライト)動作を行
なうよう制御され、従ってプログラムメモリから取出さ
れた次回インストラクションはインストラクションレジ
スタ238にロードされると同時にカッシュメモリに格
納される。反対に、現在処理中のインストラクションが
プログラムメモリデータの転送を行なう場合には、カッ
シュメモリ230は「読出し」(り一ド)状態となシ、
インストラクションレジスタ238にはバス244を介
してカッシュメモリ230から次回インストラクション
がロードされる。更には、次回アドレスマルチプレクサ
260の出力が無効とされると共に、アドレス発生器2
18が、データアトゝレスをプログラムメモリアドレス
200上に送出してデータワード9をプログラムメモリ
102から処理装置へ転送できるようにされる。
御線はデコーダ回路248により駆動され、同デコーダ
回路はインストラクションレジスタ238 K 0−ド
されている現在処理中のインストラクションのオにレー
ションコービ部分を(バス247t−1゜て受は取って
)デコード子る。現在処理中のインストラクションがプ
ログラムメモリデータの転送を行なわない場合には、カ
ッシュメモ1J230は「書込み」(ライト)動作を行
なうよう制御され、従ってプログラムメモリから取出さ
れた次回インストラクションはインストラクションレジ
スタ238にロードされると同時にカッシュメモリに格
納される。反対に、現在処理中のインストラクションが
プログラムメモリデータの転送を行なう場合には、カッ
シュメモリ230は「読出し」(り一ド)状態となシ、
インストラクションレジスタ238にはバス244を介
してカッシュメモリ230から次回インストラクション
がロードされる。更には、次回アドレスマルチプレクサ
260の出力が無効とされると共に、アドレス発生器2
18が、データアトゝレスをプログラムメモリアドレス
200上に送出してデータワード9をプログラムメモリ
102から処理装置へ転送できるようにされる。
プログラムメモリデータ転送中のカッシュメモリ230
からインストラクションレジスタへのローディングは(
現在処理中のインストラクションのオ浸し−ションコー
ビによって制御されるために)自動的に行なわれること
から、カッシュメモリ230カラインストラクシヨンレ
ジスタ238ヘロードされた次回インストラクションが
無効である場合もあり得る。即ち、次回に処理すること
を望まれているインストラクションがカッ7ユメモリ2
30に格納されておらず、それを外部プログラムメモリ
から取出さねばならないことが有る。
からインストラクションレジスタへのローディングは(
現在処理中のインストラクションのオ浸し−ションコー
ビによって制御されるために)自動的に行なわれること
から、カッシュメモリ230カラインストラクシヨンレ
ジスタ238ヘロードされた次回インストラクションが
無効である場合もあり得る。即ち、次回に処理すること
を望まれているインストラクションがカッ7ユメモリ2
30に格納されておらず、それを外部プログラムメモリ
から取出さねばならないことが有る。
次回インストラクションがカッシュメモリに格納されて
いない場合には、誤ったインストラクションがインスト
ラクションレジスタ238にロードされることになる。
いない場合には、誤ったインストラクションがインスト
ラクションレジスタ238にロードされることになる。
この誤ったインストラクションが実行されるのを防止す
るために、カッシュメモリモニタ回路268がインスト
ラクションが有効か否かを判定して配線274上に命令
有効信号(CMVALより信号)を送出し、この信号は
プログラム遂次制御器266に与えられる。CMVAL
より信号が、カッシュメモリ230からインストラクシ
ョンレジスタ238へ転送されたインストラクションが
無効であることを示している場合には、プログラム遂次
制御器266がその出力線264上に信号を発生し、こ
の信号がインストラクションレジスタ238をクリアせ
しめて総ての論理状態を「0」 とする。この、総て
の論理状態がrOJであるのは、「非作動」コマンド(
NOPコマンド)である。従ってその時のマシンサイク
ルの間は、処理回路のその他の部分によって動作が実行
されることはない。更にまた、コマンドが無効の場合に
は、遂次側脚器266がプログラムカウンタ250の作
動を停止させると共に、配線270を介してマルチプレ
クサ260を制御し、同マルチプレクサの出力バス27
6上の現在のインストラクションアト8レスを維持する
。次のマシンサイクルの間に、マルチプレクサ260は
バス200上にアドレスを送出し得るようにされ、その
ときのアドレスでプログラムメモリのアクセスが行なわ
れ、プログラムメモリ102から正しいインストラクシ
ョンが取出される。
るために、カッシュメモリモニタ回路268がインスト
ラクションが有効か否かを判定して配線274上に命令
有効信号(CMVALより信号)を送出し、この信号は
プログラム遂次制御器266に与えられる。CMVAL
より信号が、カッシュメモリ230からインストラクシ
ョンレジスタ238へ転送されたインストラクションが
無効であることを示している場合には、プログラム遂次
制御器266がその出力線264上に信号を発生し、こ
の信号がインストラクションレジスタ238をクリアせ
しめて総ての論理状態を「0」 とする。この、総て
の論理状態がrOJであるのは、「非作動」コマンド(
NOPコマンド)である。従ってその時のマシンサイク
ルの間は、処理回路のその他の部分によって動作が実行
されることはない。更にまた、コマンドが無効の場合に
は、遂次側脚器266がプログラムカウンタ250の作
動を停止させると共に、配線270を介してマルチプレ
クサ260を制御し、同マルチプレクサの出力バス27
6上の現在のインストラクションアト8レスを維持する
。次のマシンサイクルの間に、マルチプレクサ260は
バス200上にアドレスを送出し得るようにされ、その
ときのアドレスでプログラムメモリのアクセスが行なわ
れ、プログラムメモリ102から正しいインストラクシ
ョンが取出される。
第3図はカッシュメモリモニタ回路268の構成の詳a
なブロックダイアダラムを示す。カッシュメモリモニタ
回路の機能は、現在カッシュメモリに格納されているゎ
プログラムメモリアトゝレスの範囲を追跡監視すること
により、所与のインストラクションがカッシュメモリ2
30に格納されているか否かを判定できるようにするこ
とである。カッシュメモリ230に格納されている1°
ンストラクシヨンの範囲は、前方レジスタ308と後方
レジスタ310とに格納されている。前方レジスタ30
8は、カッシュメモリ230に格納されている連続した
インストラクションのうち、実行されているプログラム
の中では現在実行中のインストラクションよυ後に実行
されるインストラクションの個数に等しい数を格納する
、4ビツトのレジスタである。
なブロックダイアダラムを示す。カッシュメモリモニタ
回路の機能は、現在カッシュメモリに格納されているゎ
プログラムメモリアトゝレスの範囲を追跡監視すること
により、所与のインストラクションがカッシュメモリ2
30に格納されているか否かを判定できるようにするこ
とである。カッシュメモリ230に格納されている1°
ンストラクシヨンの範囲は、前方レジスタ308と後方
レジスタ310とに格納されている。前方レジスタ30
8は、カッシュメモリ230に格納されている連続した
インストラクションのうち、実行されているプログラム
の中では現在実行中のインストラクションよυ後に実行
されるインストラクションの個数に等しい数を格納する
、4ビツトのレジスタである。
同様に、後方レジスタ310は、カッシュメモリ230
に格納されている連続したインストラクションのうち、
プログラムの中では現在実行中のインストラクションよ
り先に実行されるインストラクションの数に等しい数を
格納する、4ビツトのレジスタである。各マシンサイク
ル毎に、第3図に示した回路が、前方レジスタと後方レ
ジスタとを更新すると共に、次回インストラクションと
して要求されているインストラクションがカッシュメモ
リ230に格納されているか否かを判定する。
に格納されている連続したインストラクションのうち、
プログラムの中では現在実行中のインストラクションよ
り先に実行されるインストラクションの数に等しい数を
格納する、4ビツトのレジスタである。各マシンサイク
ル毎に、第3図に示した回路が、前方レジスタと後方レ
ジスタとを更新すると共に、次回インストラクションと
して要求されているインストラクションがカッシュメモ
リ230に格納されているか否かを判定する。
より詳しくは、現在実行中のインストラフ・/ヨンのア
ドレス(これはプログラムカウンタの出力に示されてい
る)をバス300を介してプログラムカウンタ250か
ら入手し、このアドレスを、次回アドレスマルチプレク
サ260により発生され、バス302を介してカッシュ
メモリモニタ回路268へ与えられる次回インストラク
ションアドレスから減じて差を求めることが、行なわれ
る。これら2つのアドレスの差は「オフセット」数(1
4ビツトに更に代数符号ビットを加えたもの)であり、
プログラムの順番(プログラムシーケンス)の中ニおけ
る、現在実行中のインストラクションと次回インストラ
クションとの間のインストラクション数を示している。
ドレス(これはプログラムカウンタの出力に示されてい
る)をバス300を介してプログラムカウンタ250か
ら入手し、このアドレスを、次回アドレスマルチプレク
サ260により発生され、バス302を介してカッシュ
メモリモニタ回路268へ与えられる次回インストラク
ションアドレスから減じて差を求めることが、行なわれ
る。これら2つのアドレスの差は「オフセット」数(1
4ビツトに更に代数符号ビットを加えたもの)であり、
プログラムの順番(プログラムシーケンス)の中ニおけ
る、現在実行中のインストラクションと次回インストラ
クションとの間のインストラクション数を示している。
このオフセット数は出力バス306上に送出され、4ビ
ツト減算回路312と4ビツト加算回路314の両方へ
与えられる。
ツト減算回路312と4ビツト加算回路314の両方へ
与えられる。
減算回路312はバス370を介して前方レジスタ30
8の4ビツト出力を受取り、バス306上のオフセット
数の最下位4ビツトをこの前方レジスタ308の4ビツ
ト数から減じる減算を行なう。前記相対アドレス(即ち
オフセット数)の残シの10個のビット(符号ビットを
含む)は4ビツトの加算演算のキャリーと共に論理和(
OR)を取られ、その結果を減算キャリー信号として出
力線352上に送出する。バス306上のオフセット数
の代数符号が正(これはプログラムの前方分岐を示す)
のら合には、減算回路312から送出された出力線35
2上の減算キャリー信号は、所望のインストラクション
がカッシュメモリに格納されているか否かを表わしてい
る。より詳しく説明するならば、減算回路312によっ
てキャリー信号が発生されたことを示す出力線352上
の・・イレRル信号は、前方分岐インストラクションが
プログラムを、カッシュメモリ230に格納されている
アトゝレス範囲より大きなアドレスへ連れて行きはしな
かったことを表わしており、従って所望のインストラク
ションは既にカッシュメモ1J230に格納されている
ことを表わしている。反対に、出力線352上の出力が
ローレベルであれば、これは前方分岐インストラクショ
ンがレジスタ230(即ちカッシュメモリ)に格納され
ているインストラクションの範囲外にあることを、従っ
て所望のインストラクションは現在カッシュメモリの中
には置かれていないことを表わしている。
8の4ビツト出力を受取り、バス306上のオフセット
数の最下位4ビツトをこの前方レジスタ308の4ビツ
ト数から減じる減算を行なう。前記相対アドレス(即ち
オフセット数)の残シの10個のビット(符号ビットを
含む)は4ビツトの加算演算のキャリーと共に論理和(
OR)を取られ、その結果を減算キャリー信号として出
力線352上に送出する。バス306上のオフセット数
の代数符号が正(これはプログラムの前方分岐を示す)
のら合には、減算回路312から送出された出力線35
2上の減算キャリー信号は、所望のインストラクション
がカッシュメモリに格納されているか否かを表わしてい
る。より詳しく説明するならば、減算回路312によっ
てキャリー信号が発生されたことを示す出力線352上
の・・イレRル信号は、前方分岐インストラクションが
プログラムを、カッシュメモリ230に格納されている
アトゝレス範囲より大きなアドレスへ連れて行きはしな
かったことを表わしており、従って所望のインストラク
ションは既にカッシュメモ1J230に格納されている
ことを表わしている。反対に、出力線352上の出力が
ローレベルであれば、これは前方分岐インストラクショ
ンがレジスタ230(即ちカッシュメモリ)に格納され
ているインストラクションの範囲外にあることを、従っ
て所望のインストラクションは現在カッシュメモリの中
には置かれていないことを表わしている。
同様に、加算回路314はバス364を介して後方レジ
スタ310の4ビツト出力を受取り、バス306上に発
生している14ビツトのオフセット数の最下位4ビツト
をこれに加算する。減算回路312の場合と同様に、オ
フセット数の残りの10個のビットは4ビツト加算演算
部からのキャリー出力と共に論理和を取られ、その結果
を加算キャリー信号として出力線353上に出力する。
スタ310の4ビツト出力を受取り、バス306上に発
生している14ビツトのオフセット数の最下位4ビツト
をこれに加算する。減算回路312の場合と同様に、オ
フセット数の残りの10個のビットは4ビツト加算演算
部からのキャリー出力と共に論理和を取られ、その結果
を加算キャリー信号として出力線353上に出力する。
バス306上のオフセット数の代数符号が負(これは後
方分岐インストラクションを表わす)の場合には、加算
回路314からの加算キャリー信号の出力は所望のイン
ストラクションがカッシュメモリ230に格納されてい
ることを表わしている。より詳しく説明すると、加算回
路314の出力線353上にハイレベル信号が生じてい
れば、それは所望のインストラクションがカッシュメモ
リ230に格納されていることを表わす。また、出力線
353上にローレベルの信号が生じていれば、それは所
望のインストラクションがカッシュメモリ230には格
納されていないことを表わしている。
方分岐インストラクションを表わす)の場合には、加算
回路314からの加算キャリー信号の出力は所望のイン
ストラクションがカッシュメモリ230に格納されてい
ることを表わしている。より詳しく説明すると、加算回
路314の出力線353上にハイレベル信号が生じてい
れば、それは所望のインストラクションがカッシュメモ
リ230に格納されていることを表わす。また、出力線
353上にローレベルの信号が生じていれば、それは所
望のインストラクションがカッシュメモリ230には格
納されていないことを表わしている。
従って、バス306上のオフセット数の符号ビット(最
上位ビット)が、減算回路312と加算回路314の各
キャリー信号出力のうちからCMVALより信号として
用いるのに適した方を選択するために使用されておシ、
このCMVALより信号はカッシュメモリが次回インス
トラクションを格納しているか否かを表わす信号である
。
上位ビット)が、減算回路312と加算回路314の各
キャリー信号出力のうちからCMVALより信号として
用いるのに適した方を選択するために使用されておシ、
このCMVALより信号はカッシュメモリが次回インス
トラクションを格納しているか否かを表わす信号である
。
更に詳しく説明すると、パス306上のオフセット数の
符号ビットは、配線350を介してマルチプレクサ31
6の選択入力端子へ与えられる。マルチプレクサ316
の一方の入力端子は減算回路312のキャリー信号出力
端子に接続され、同マルチプレクサ316の他方の入力
端子は加算回路314のキャリー信号出力端子に接続さ
れている。これにより、適切なキャリー出力がORゲー
ト318の上側の入力端子に与えられる。このORゲー
ト318の出力が前記のCMVALより信号である。O
Rゲート318の下側の入力端子はデコーダ回路320
に接続されている。デコーダ320は、次回インストラ
クションのアト8レスが現在実行中のインストラクショ
ンのアドレスと等しい場合(即ちゼロオフセットの場合
)には、「0」端子にハイレベル信号を発生する。この
場合、次回インストラクションは現在実行中のインスト
ラクションと同一であるから、当然次回インストラクシ
ョンはカッシュメモリ230に格納されているのである
が、上に説明した構成のキャリービットは適切に機能し
ない。そのため、デコーダ回路320の前記出力端子に
発生するハイレベル信号を用いて、更にORゲート31
8 ヲ利用シテ、CMVALより 信号を強制的に=イ
レヘルとするのである。
符号ビットは、配線350を介してマルチプレクサ31
6の選択入力端子へ与えられる。マルチプレクサ316
の一方の入力端子は減算回路312のキャリー信号出力
端子に接続され、同マルチプレクサ316の他方の入力
端子は加算回路314のキャリー信号出力端子に接続さ
れている。これにより、適切なキャリー出力がORゲー
ト318の上側の入力端子に与えられる。このORゲー
ト318の出力が前記のCMVALより信号である。O
Rゲート318の下側の入力端子はデコーダ回路320
に接続されている。デコーダ320は、次回インストラ
クションのアト8レスが現在実行中のインストラクショ
ンのアドレスと等しい場合(即ちゼロオフセットの場合
)には、「0」端子にハイレベル信号を発生する。この
場合、次回インストラクションは現在実行中のインスト
ラクションと同一であるから、当然次回インストラクシ
ョンはカッシュメモリ230に格納されているのである
が、上に説明した構成のキャリービットは適切に機能し
ない。そのため、デコーダ回路320の前記出力端子に
発生するハイレベル信号を用いて、更にORゲート31
8 ヲ利用シテ、CMVALより 信号を強制的に=イ
レヘルとするのである。
前述した如く、現在のインストラクションがプログラム
メモリデータの転送を行なう場合には、プログラム遂次
制御論理回路がCMVALより信号を用いて、次回のマ
シンサイクルにおいてインストラクション取出しサイク
ルが実行されるべきか否かを判定する。CMVALより
信号の出力線が「真」の状態、即ちハイレベル状態にあ
れば、プログラム遂次制御論理回路は続くインストラク
ション取出しサイクルを実行しない。
メモリデータの転送を行なう場合には、プログラム遂次
制御論理回路がCMVALより信号を用いて、次回のマ
シンサイクルにおいてインストラクション取出しサイク
ルが実行されるべきか否かを判定する。CMVALより
信号の出力線が「真」の状態、即ちハイレベル状態にあ
れば、プログラム遂次制御論理回路は続くインストラク
ション取出しサイクルを実行しない。
次回インストラクションがカッシュメモリカラインスト
ラクションレジスタ内にロー1され、上に説明した方法
で有効か無効かの判定がなされた後には、モニタ回路内
の各レジスタを更新して、カッシュメモリ内に格納され
ているインストラクションの範囲内に次回インストラク
ションを含ませるか、または、もし次回インストラクシ
ョンが無効と判定された場合には、カッシュメモリの内
容を無効にしなければならない。減算回路312と加算
回路314とから、夫々前方レジスタ308または後方
レジスタ310へのデータの転送の制御が必要である。
ラクションレジスタ内にロー1され、上に説明した方法
で有効か無効かの判定がなされた後には、モニタ回路内
の各レジスタを更新して、カッシュメモリ内に格納され
ているインストラクションの範囲内に次回インストラク
ションを含ませるか、または、もし次回インストラクシ
ョンが無効と判定された場合には、カッシュメモリの内
容を無効にしなければならない。減算回路312と加算
回路314とから、夫々前方レジスタ308または後方
レジスタ310へのデータの転送の制御が必要である。
何故ならば、カッシュメモリには常時16個のインスト
ラクションが格納されているものの、それらのインスト
ラクションのいずれモア5Eインストラクシヨンレジス
タに転送し得るのではないからである。
ラクションが格納されているものの、それらのインスト
ラクションのいずれモア5Eインストラクシヨンレジス
タに転送し得るのではないからである。
更に詳しく説明すると、カッシュメモリ内に格納されて
いるインストラクションは、それらが現在実行中のイン
ストラクションと連続している場合にのみ、有効である
。従って、カッシュメモリ内では得られないアドレス位
置へプログラムがジャンプした場合には、インストラク
ションを外部メモリから取出さねばならないばか夛でな
く、カッシュメモリの内容の総てを無効とする必要があ
シ、何故ならば既に格納されていたインストラクション
は新たに取出されたインストラクションとは最早連続し
てないからである。斯かるジャンプの後には、カッシュ
メモリ中の有効なインストラクションの数は、カッシュ
メモリの全容量が満たされるか、もしくはプログラムが
再びカッシュメモリの外へのジャンプを行なう壕で増加
し、数を回復して行く。
いるインストラクションは、それらが現在実行中のイン
ストラクションと連続している場合にのみ、有効である
。従って、カッシュメモリ内では得られないアドレス位
置へプログラムがジャンプした場合には、インストラク
ションを外部メモリから取出さねばならないばか夛でな
く、カッシュメモリの内容の総てを無効とする必要があ
シ、何故ならば既に格納されていたインストラクション
は新たに取出されたインストラクションとは最早連続し
てないからである。斯かるジャンプの後には、カッシュ
メモリ中の有効なインストラクションの数は、カッシュ
メモリの全容量が満たされるか、もしくはプログラムが
再びカッシュメモリの外へのジャンプを行なう壕で増加
し、数を回復して行く。
カッシュメモリをアドレスするに際しては「16」を法
とする合同性が有るため、カッシュメモリの全容1が満
たされた後は、新たに外部メモリから取出されてくるイ
ンストラクションは既に取出されているインストラクシ
ョンのうちの最も古いものの上に、上書き(オーバーラ
イド)される。
とする合同性が有るため、カッシュメモリの全容1が満
たされた後は、新たに外部メモリから取出されてくるイ
ンストラクションは既に取出されているインストラクシ
ョンのうちの最も古いものの上に、上書き(オーバーラ
イド)される。
減算回路と加算回路から前方レジスタと後方レジスタへ
のデータ転送を制御するにつき、減算回路312の4ビ
ツト出力はバス354を介して前方レジスタ308の入
力端子へ与えられている。同様に、加算回路314の4
ビツト出力は後方レジスタ310の入力端子へ与えられ
ている。各マシンサイクルの開始時に、次回インストラ
クションが有効と判定された場合(CMVALより信号
線上の・・イレベル信号、即ち「真」信号により示され
る)には、クロックシグナルが前方レジスタ308と後
方レジスタ310に(間接的に)与えられ、これにより
それらのレジスタには夫々減算回路312と加算回路3
14の出力がロードされる。
のデータ転送を制御するにつき、減算回路312の4ビ
ツト出力はバス354を介して前方レジスタ308の入
力端子へ与えられている。同様に、加算回路314の4
ビツト出力は後方レジスタ310の入力端子へ与えられ
ている。各マシンサイクルの開始時に、次回インストラ
クションが有効と判定された場合(CMVALより信号
線上の・・イレベル信号、即ち「真」信号により示され
る)には、クロックシグナルが前方レジスタ308と後
方レジスタ310に(間接的に)与えられ、これにより
それらのレジスタには夫々減算回路312と加算回路3
14の出力がロードされる。
シカシナカラ、CMVALより 信号線382カ「偽J
の状態、即ちローレベル状態にあるときには、その状態
がインバータ321に入力され、これによりハイレベル
信号が減算回路312のクリア端子に入力される。減算
回路312のクリア入力端子にノ・イレベル信号が入力
されると、減算回路の出力は論理状態を「0」とさせら
れ、この「0」出力はバス354を介して前方レジスタ
308の入力端子へ与えられる。従って次回のマシンサ
イクルにおいて、前方レジスタ308の入力端子に生じ
ている総て「0」の状態がレジスタの内部へシフトされ
たときに、前方レジスタ308はクリアされる。
の状態、即ちローレベル状態にあるときには、その状態
がインバータ321に入力され、これによりハイレベル
信号が減算回路312のクリア端子に入力される。減算
回路312のクリア入力端子にノ・イレベル信号が入力
されると、減算回路の出力は論理状態を「0」とさせら
れ、この「0」出力はバス354を介して前方レジスタ
308の入力端子へ与えられる。従って次回のマシンサ
イクルにおいて、前方レジスタ308の入力端子に生じ
ている総て「0」の状態がレジスタの内部へシフトされ
たときに、前方レジスタ308はクリアされる。
後方レジスタ310は、現在のインストラクションが無
効であってしかもそれが「ジャンプ」インストラクショ
ンである場合にのみ、クリアされる。
効であってしかもそれが「ジャンプ」インストラクショ
ンである場合にのみ、クリアされる。
より詳しくは、現在のインストラクションが無効の場合
に出力線382上に送出されるローレベルのCMVAL
ID J号ハ、NORケート324ノ下側ノ入力端子に
入力される。このNORゲート324の上側の入力端子
は、配線344を介してデコーダ回路320の「1」出
力端子に接続されている。
に出力線382上に送出されるローレベルのCMVAL
ID J号ハ、NORケート324ノ下側ノ入力端子に
入力される。このNORゲート324の上側の入力端子
は、配線344を介してデコーダ回路320の「1」出
力端子に接続されている。
既に述べたように、デコーダ回路320はバス306上
のオフセットアドレスをデコートゞして、2つの出力を
発生する。「0」出力端子に・・イレベル信号が発生し
ているならば、これは次回インストラクションのアドレ
スが現在のインストラクションのアドレスと等しいこと
を表わしており、また、「1」出力端子に・・イレベル
信号が発生しているならば、これは次回インストラクシ
ョンのアドレスがプログラム中の連続した次のインスト
ラクションに対応していることを表わしている。以上か
ら、デコーダ回路320の「1」出力端子がローレベル
でちって次回インストラクションが連続した次のインス
トラクションではない(即ち次回インストラクションが
「ジャンプ」である)ことを示している場合には、出力
線344上のローレベル信号はNORゲート324の上
側の入力端子に入力される。NORゲート324はその
両方の入力端子にローレベルの信号が入力するとその出
力線362上にハイレベルの信号を発生し、この信号が
加算回路314の出力を論理状態「0」にさせる。
のオフセットアドレスをデコートゞして、2つの出力を
発生する。「0」出力端子に・・イレベル信号が発生し
ているならば、これは次回インストラクションのアドレ
スが現在のインストラクションのアドレスと等しいこと
を表わしており、また、「1」出力端子に・・イレベル
信号が発生しているならば、これは次回インストラクシ
ョンのアドレスがプログラム中の連続した次のインスト
ラクションに対応していることを表わしている。以上か
ら、デコーダ回路320の「1」出力端子がローレベル
でちって次回インストラクションが連続した次のインス
トラクションではない(即ち次回インストラクションが
「ジャンプ」である)ことを示している場合には、出力
線344上のローレベル信号はNORゲート324の上
側の入力端子に入力される。NORゲート324はその
両方の入力端子にローレベルの信号が入力するとその出
力線362上にハイレベルの信号を発生し、この信号が
加算回路314の出力を論理状態「0」にさせる。
同様に、NORゲート324の出力線360 上のノ・
イレRルの出力信号がORゲート328の下側の入力端
子に入力される。これによ5.ORゲート328はAN
Dゲート330の上側の入力端子にハイレ(ル信号を与
え、このANDゲートを通過状態(他方の入力端子に入
力した信号がそのまま出力端子に現われる状態)にする
。斯くして、次回のマシンサイクルにおいて、ANDゲ
ート330の下側の入力端子に入力したクロックシグナ
ルは同ゲート330を通過して後方レジスタ310のク
ロッキングを行ない、これにより後方レジスタ310は
加算回路314の「9」出力でクリアされる。
イレRルの出力信号がORゲート328の下側の入力端
子に入力される。これによ5.ORゲート328はAN
Dゲート330の上側の入力端子にハイレ(ル信号を与
え、このANDゲートを通過状態(他方の入力端子に入
力した信号がそのまま出力端子に現われる状態)にする
。斯くして、次回のマシンサイクルにおいて、ANDゲ
ート330の下側の入力端子に入力したクロックシグナ
ルは同ゲート330を通過して後方レジスタ310のク
ロッキングを行ない、これにより後方レジスタ310は
加算回路314の「9」出力でクリアされる。
CMVALID信号が「真」の場合は、通常、後方レジ
スタには加算回路314の出力のロードが行なわれる。
スタには加算回路314の出力のロードが行なわれる。
クロックシグナルはANDゲート330を介して後方レ
ジスタ310に入力されるのであるが、このANDゲー
ト330は通常、ORゲート328が発生する・・イレ
ベル信号により通過状態とされているからである。しか
しながら、後方レジスタ310がその最大容量(15)
に達している場合には、クロックパルスが後方レジスタ
310に達することが妨げられる。より詳しくは、バス
364上の後方レジスタ310出力は、バス372を介
してデコード回路340へ送られる。デコーダ回路34
0は、後方レジスタ310の出力が最大値である「15
」に達しているときには(このレジスタの出力は16個
の値に限られており、即ち「0」から「15」までとな
っている)、その出力線342上にハイレベル信号を出
力している。出力線342上のハイレベル出力信号はN
ANDゲート326の上側の入力端子に入力され、これ
によりNANDゲート326はORゲート328ヘロー
レベル信号を送出する。ORゲート328がその下側の
入力端子にローレベル信号を受取っているとするならば
(このときは後方レジスタ310はクリアされない)、
ORゲート328はANDゲート330の上側の入力端
子にローレベル信号を入力して同ANDゲートを非通過
状態とし、これにより後方レジスタ310がその最大状
態を超えてクロックされるのを防止している。
ジスタ310に入力されるのであるが、このANDゲー
ト330は通常、ORゲート328が発生する・・イレ
ベル信号により通過状態とされているからである。しか
しながら、後方レジスタ310がその最大容量(15)
に達している場合には、クロックパルスが後方レジスタ
310に達することが妨げられる。より詳しくは、バス
364上の後方レジスタ310出力は、バス372を介
してデコード回路340へ送られる。デコーダ回路34
0は、後方レジスタ310の出力が最大値である「15
」に達しているときには(このレジスタの出力は16個
の値に限られており、即ち「0」から「15」までとな
っている)、その出力線342上にハイレベル信号を出
力している。出力線342上のハイレベル出力信号はN
ANDゲート326の上側の入力端子に入力され、これ
によりNANDゲート326はORゲート328ヘロー
レベル信号を送出する。ORゲート328がその下側の
入力端子にローレベル信号を受取っているとするならば
(このときは後方レジスタ310はクリアされない)、
ORゲート328はANDゲート330の上側の入力端
子にローレベル信号を入力して同ANDゲートを非通過
状態とし、これにより後方レジスタ310がその最大状
態を超えてクロックされるのを防止している。
更に、次回インストラクションが連続したインストラク
ションであってデコーダ回路320の「1」出力端子が
ハイレベル出力であることによってそれが示されている
場合にも、後方レジスタ310はクロッキングされない
。
ションであってデコーダ回路320の「1」出力端子が
ハイレベル出力であることによってそれが示されている
場合にも、後方レジスタ310はクロッキングされない
。
以下に、インストラクションの具体例を2つ示す′(各
具体例のインストラクションセツトは、いずれもデータ
をプログラムメモリから取出すためのインストラクショ
ンを含んでいる)。例示されたインストラクションセッ
トはAからFまでのラベルを付されたインストラクショ
ンを含んでおシ、それらのインストラクションセットは
例えばプログラムルーズの一部をなすものであって、当
該プログラムループのその他のインストラクションは示
されていない。いずれの具体例においても、インストラ
クションCはデータをプログラムメモリへ転送、ないし
はプログラムメモリから転送するインストラクションで
ある。それ以外のインストラクションはその他の種々の
機能を果すものであって良く、その機能が正確にどのよ
うなものであるかは重要でない。第1表に示された第1
の具体例では、プログラムが当該ループを初めて通過す
る場合を想定してあり、従ってインストラクションは予
めカッシュメモリに格納されてはいない。
具体例のインストラクションセツトは、いずれもデータ
をプログラムメモリから取出すためのインストラクショ
ンを含んでいる)。例示されたインストラクションセッ
トはAからFまでのラベルを付されたインストラクショ
ンを含んでおシ、それらのインストラクションセットは
例えばプログラムルーズの一部をなすものであって、当
該プログラムループのその他のインストラクションは示
されていない。いずれの具体例においても、インストラ
クションCはデータをプログラムメモリへ転送、ないし
はプログラムメモリから転送するインストラクションで
ある。それ以外のインストラクションはその他の種々の
機能を果すものであって良く、その機能が正確にどのよ
うなものであるかは重要でない。第1表に示された第1
の具体例では、プログラムが当該ループを初めて通過す
る場合を想定してあり、従ってインストラクションは予
めカッシュメモリに格納されてはいない。
第1表には各マシンサイクル毎に実行されるプログラム
メモリの動作、カッシュメモリの動作、並びに内部動作
が記載されている。
メモリの動作、カッシュメモリの動作、並びに内部動作
が記載されている。
第1表
(Inst、はインストラクションの略記)N 土
nst、B取出し In5t、B格納 工nst、A実
行N + 1 工nst、C取出し 工nst、C格
納 工nst、B実行N+2 データ転送 無効工n
st 、取出し工nst、C実行N+ 3 :l:n
st、D取出し 工nst 、D格納 動作無しN +
4 nn5t、E取出し In5t 、E格納 工
nst、D実行N + 5 In5t、F取出し 工
nst、F格納 工nst、E実行第1表からは、マシ
ンサイクル(N+2)においてプログラムCが実行され
、それによりデータがプログラムメモリから転送されて
いることが判る。既に述べたように、斯かるインストラ
クションのオはレーションコードに応じて作動するデコ
ーダ回路が、カッシュメモリを「読取り」状態とし、こ
れにより、カッシュメモリに格納されているインストラ
クションがインストラクションレジスタへ転送される。
nst、B取出し In5t、B格納 工nst、A実
行N + 1 工nst、C取出し 工nst、C格
納 工nst、B実行N+2 データ転送 無効工n
st 、取出し工nst、C実行N+ 3 :l:n
st、D取出し 工nst 、D格納 動作無しN +
4 nn5t、E取出し In5t 、E格納 工
nst、D実行N + 5 In5t、F取出し 工
nst、F格納 工nst、E実行第1表からは、マシ
ンサイクル(N+2)においてプログラムCが実行され
、それによりデータがプログラムメモリから転送されて
いることが判る。既に述べたように、斯かるインストラ
クションのオはレーションコードに応じて作動するデコ
ーダ回路が、カッシュメモリを「読取り」状態とし、こ
れにより、カッシュメモリに格納されているインストラ
クションがインストラクションレジスタへ転送される。
しかしながら、実際のプログラムが予めカッシュメモリ
内には格納されていなかった場合を想定しているのであ
るから、このインストラクションは無効ということにな
る。従ってマシンサイクル(N+3)において正しいイ
ンストラクションDがプログラムメモリから取出さなけ
ればならない。このマシンサイクルの間は、プロセッサ
はその他のいかなる動作も実行することができず、何故
ならばインストラクションレジスタ内には有効なインス
トラクションがロー1されていないからである。
内には格納されていなかった場合を想定しているのであ
るから、このインストラクションは無効ということにな
る。従ってマシンサイクル(N+3)において正しいイ
ンストラクションDがプログラムメモリから取出さなけ
ればならない。このマシンサイクルの間は、プロセッサ
はその他のいかなる動作も実行することができず、何故
ならばインストラクションレジスタ内には有効なインス
トラクションがロー1されていないからである。
第2の具体例は、同一のプログラムを用いて、そのプロ
グラムがループを一度通勺抜け、従ってプログラムの各
ステップが既にカッシュメモリに格納されている場合の
、装置の動作を示している。
グラムがループを一度通勺抜け、従ってプログラムの各
ステップが既にカッシュメモリに格納されている場合の
、装置の動作を示している。
第2表
(In5t 、はインストラクションの略記)N
工nst、B取出し 工nst 、B格納 In5t
、A実行N + 1 工nst、C取出し 工nst
、C格納 工nst、B実行N+2 データ転送
In5t、D取出しIn5t、C実行N + 3 工
nst、E取出し In5t、E格納 工nst 、D
実行N+4工ns℃、F取出し 工nst、F’格納
In5t、E実行先の具体例におけると同様に、マシン
サイクル(N+2)においてプログラムCが実行され、
それによりデータがプログラムメモリから転送される共
にカッシュメモリからは自動的にインストラクションが
取出されている。しかしながら、今度の場合はプログラ
ムが既にカッシュメモリ内に格納されている場合と想定
しているのであるから、このカッシュメモリから取出さ
れたインストラクションは有効である。従ってマシンサ
イクル(N+3)においては正しいインストラクション
Dが既にインストラクションレジスタにロードされてお
り、実行可能となっている。以上により、先の具体例で
はインストラクションDを取出すために使用されていた
余分なマシンサイクル(N+3)を、別のインストラク
ションを実行するために使用することができ、同一のプ
ログラムを実行するのにマシンサイクルが1つ少なくて
済むという結果が得られている。
工nst、B取出し 工nst 、B格納 In5t
、A実行N + 1 工nst、C取出し 工nst
、C格納 工nst、B実行N+2 データ転送
In5t、D取出しIn5t、C実行N + 3 工
nst、E取出し In5t、E格納 工nst 、D
実行N+4工ns℃、F取出し 工nst、F’格納
In5t、E実行先の具体例におけると同様に、マシン
サイクル(N+2)においてプログラムCが実行され、
それによりデータがプログラムメモリから転送される共
にカッシュメモリからは自動的にインストラクションが
取出されている。しかしながら、今度の場合はプログラ
ムが既にカッシュメモリ内に格納されている場合と想定
しているのであるから、このカッシュメモリから取出さ
れたインストラクションは有効である。従ってマシンサ
イクル(N+3)においては正しいインストラクション
Dが既にインストラクションレジスタにロードされてお
り、実行可能となっている。以上により、先の具体例で
はインストラクションDを取出すために使用されていた
余分なマシンサイクル(N+3)を、別のインストラク
ションを実行するために使用することができ、同一のプ
ログラムを実行するのにマシンサイクルが1つ少なくて
済むという結果が得られている。
第1図は本発明のデータ処理装置の簡略化したブロック
ダイアグラムであり、プロセッサプログラムメモリ、デ
ータメモリ、並びに周辺機器の間の基本的接続態様を示
す図、 第2図はプロセッサの具体例におけるインストラクショ
ン処理部分のブロックダイアグラムであす、カッ7ユメ
モリとカッシュメモリモニタユニットとの間の接続態様
を示す図、 第3図はカッシュメモリモニタユニットの内部を展開し
て示すブロックダイアグラムである。 (外5名)
ダイアグラムであり、プロセッサプログラムメモリ、デ
ータメモリ、並びに周辺機器の間の基本的接続態様を示
す図、 第2図はプロセッサの具体例におけるインストラクショ
ン処理部分のブロックダイアグラムであす、カッ7ユメ
モリとカッシュメモリモニタユニットとの間の接続態様
を示す図、 第3図はカッシュメモリモニタユニットの内部を展開し
て示すブロックダイアグラムである。 (外5名)
Claims (27)
- (1)第1メモリと、第2メモリと、実行すべきインス
トラクションを記憶保持するインストラクションレジス
タと、1つのマシンサイクルの間に前記レジスタ内のイ
ンストラクションワードに応答して前記第1メモリから
インストラクションワードを取り出す手段と、前記マシ
ンサイクルの間に前記レジスタ内の前記インストラクシ
ョンワードに応答して前記第2メモリからデータワード
を取出す手段と、前記インストラクションワードを前記
インストラクションレジスタにロードする手段と備えて
、複数のマシンサイクルの間にデータの処理を行なう、
デジタル式信号処理装置において、 前記インストラクションレジスタ内の所定のインストラ
クションワードに応答して、前記第1メモリから取出さ
れた前記インストラクションワードを格納するための第
3メモリと、 前記インストラクションレジスタ内の別の所定のインス
トラクションワードに応答して前記第3メモリ内に格納
されているインストラクションを前記インストラクショ
ンレジスタへロードする手段とを備えたことを特徴とす
る、デジタル式信号処理装置。 - (2)前記第3メモリが、前記第1メモリに格納されて
いるインストラクションワードのサブセットを格納する
のに充分なだけの大きさの容量を有することを特徴とす
る、特許請求の範囲第1項に記載のデジタル式信号処理
装置。 - (3)前記インストラクションレジスタ内のインストラ
クションワードに応答してインストラクションアドレス
情報を発生する手段を備え、前記第3メモリが前記イン
ストラクションアドレス情報の一部分に応答して作動す
ることを特徴とする特許請求の範囲第2項に記載のデジ
タル式信号処理装置。 - (4)該インストラクションアドレス情報に対応するイ
ンストラクションワードが前記第3メモリ内に格納され
ているときに、前記インストラクションアドレス情報に
応答して、有効信号を発生する手段を備えたことを特徴
とする特許請求の範囲第3項に記載のデジタル式信号処
理装置。 - (5)前記インストラクションアドレス情報に対応する
インストラクションワードが前記第3メモリに格納され
ていないことを該有効信号が示しているときに、前記有
効信号に応答して、処理動作を行なわせないインストラ
クションワードを前記インストラクションレジスタにロ
ードする手段を備えたことを特徴とする特許請求の範囲
第4項に記載のデジタル式信号処理装置。 - (6)前記インストラクションアドレス情報に対応する
インストラクションワードが前記第3メモリに格納され
ていないことを該有効信号が示しているときに、前記有
効信号に応答して、前記インストラクションアドレス情
報発生手段に次回のマシンサイクル期間に同一のアドレ
ス情報を再び発生せしめる手段を備えたことを特徴とす
る特許請求の範囲第4項に記載のデジタル式信号処理装
置。 - (7)前記インストラクションレジスタ内の前記別の所
定のインストラクションワードに応答してデータアドレ
ス情報を発生する手段と、該データアドレス情報に応答
して前記第1メモリからデータワードを取出す手段とを
備えたことを特徴とする特許請求の範囲第1項に記載の
デジタル式信号処理装置。 - (8)前記インストラクションレジスタ内の所定のイン
ストラクションワードに応答してデータアドレス情報を
発生する手段と、該データアドレス情報に応答して前記
第2メモリと前記デジタル式信号処理装置との間でデー
タワードの転送を行なう手段とを備えたことを特徴とす
る特許請求の範囲第1項に記載のデジタル式信号処理装
置。 - (9)プログラムメモリと、データメモリと、実行すべ
き処理動作を指定するインストラクションワードを一時
的に記憶保持するインストラクションレジスタと、1つ
のマシンサイクルの間に第1のインストラクションワー
ドに応答して前記プログラムメモリからインストラクシ
ョンを取出す手段と、前記マシンサイクルの間に前記第
1のインストラクションワードに応答して前記処理装置
と前記データメモリとの間でデータワードの転送を行な
う手段とを備えて、複数のマシンサイクルの間にデータ
の処理を行なうデジタル式信号処理装置において、 所定個数の前記インストラクションワードを格納するカ
ッシュメモリと、 前記インストラクションレジスタ内の第1のインストラ
クションワードの少なくとも一部分に応答して、前記対
応するインストラクションの前記インストラクションレ
ジスタへのローディングと同時に、前記プログラムメモ
リから取出された前記対応するインストラクションワー
ドを前記カッシュメモリに格納するデコーダ回路と、 前記インストラクションレジスタ内の第2のインストラ
クションワードの少なくとも一部分に応答して、前記カ
ッシュメモリ内に格納されているインストラクションを
前記インストラクションレジスタ内へロードする転送回
路とを備えたことを特徴とするデジタル式信号処理装置
。 - (10)前記カッシュメモリが、前記プログラムメモリ
に格納されているインストラクションワードのサブセッ
トを格納するのに充分なだけの大きさの容量を有するこ
とを特徴とする特許請求の範囲第9項に記載のデジタル
式信号処理装置。 - (11)前記インストラクションレジスタ内の前記第1
のインストラクションに応答してインストラクションア
ドレス情報を発生する手段を備え、前記カッシュメモリ
アドレス信号が、該インストラクションアドレス情報の
最下位の数ビットのサブセットであることを特徴とする
特許請求の範囲第10項に記載のデジタル式信号処理装
置。 - (12)前記インストラクションアドレス情報に応答し
て、該インストラクションアドレス情報に対応するイン
ストラクションワードが前記カッシュメモリ内に格納さ
れているときに命令有効信号を発生するモニタ手段を備
えたことを特徴とする特許請求の範囲第11項に記載の
デジタル式信号処理装置。 - (13)前記モニタ手段が、前記インストラクションア
ドレス情報に応答して次回インストラクションと現在実
行中のインストラクションとの間のインストラクション
の個数を表わすオフセット数を決定する手段と、前記カ
ッシュメモリに格納されているインストラクションに対
応するアドレスの範囲を格納する手段と前記オフセット
数と前記アドレス範囲とに応答して、該オフセット数が
該アドレス範囲内にある場合に前記命令有効信号を発生
する手段とを含むことを特徴とする特許請求の範囲第1
2項に記載のデジタル式信号処理装置。 - (14)前記モニタ手段が、前記命令有効信号に応答し
て前記格納範囲情報を更新して前記次回インストラクシ
ョンを該格納範囲情報に含ませる手段を備えることを特
徴とする特許請求の範囲第13項に記載のデジタル式信
号処理装置。 - (15)前記命令有効信号に応答して、前記インストラ
クションアドレス情報に対応するインストラクションワ
ードが前記カッシュメモリ内に格納されていないことを
該命令有効信号が示しているときに、処理動作を行なわ
せないインストラクションワードを前記インストラクシ
ョンレジスタにロードする手段を備えたことを特徴とす
る特許請求の範囲第12項に記載のデジタル式信号処理
装置。 - (16)前記命令有効信号に応答して、前記インストラ
クションアドレス情報に対応するインストラクションワ
ードが前記カッシュメモリ内に格納されていないときに
、前記インストラクションアドレス情報発生手段に次回
のマシンサイクル期間中に同一のアドレス情報を再び発
生せしめる手段を備えたことを特徴とする特許請求の範
囲第12項に記載のデジタル式信号処理装置。 - (17)前記インストラクションレジスタ内の前記第2
のインストラクションワードに応答してデータアドレス
情報を発生する手段と、該データアドレス情報に応答し
て前記プログラムメモリからデータワードを取出す手段
とを備えたことを特徴とする特許請求の範囲第9項に記
載のデジタル式信号処理装置。 - (18)前記インストラクションレジスタ内の所定のイ
ンストラクションワードに応答してデータアドレス情報
を発生する手段と、該データ取出アドレス情報に応答し
て前記データメモリから前記デジタル式信号処理装置へ
データワードの転送を行なう手段とを備えたことを特徴
とする特許請求の範囲第9項に記載のデジタル式信号処
理装置。 - (19)プログラムメモリと、 データメモリと、 実行すべき処理動作を指定するインストラクションワー
ドを一時的に記憶保持するインストラクションレジスタ
と、 プログラムカウントを発生するプログラムカウンタと、 各マシンサイクルの間に前記プログラムカウンタのプロ
グラムカウントを更新する手段と、前記インストラクシ
ョンワードと前記プログラムカウントとに応答して、前
記マシンサイクルの各々毎にインストラクションアドレ
ス情報を発生する手段と、 前記インストラクションアドレス情報に応答して、前記
プログラムメモリから該インストラクションアドレス情
報に対応したインストラクションワード取出す手段と、 前記対応インストラクションワードを前記インストラク
ションレジスタにロードする手段と、所定個数の前記イ
ンストラクションワードを格納するカッシュメモリと、 前記カッシュメモリに、前記インストラクションアドレ
ス情報の最下位の数ビットのサブセットをアドレス信号
として与える手段と、 前記インストラクションレジスタ内の第1のインストラ
クションワードの少なくとも一部分に応答して、前記対
応インストラクションの前記インストラクションレジス
タへのローディングと同時に、前記プログラムメモリか
ら取出された前記対応インストラクションワードを前記
メモリに格納するデコーダ回路と、 前記インストラクションレジスタ内の第2のインストラ
クションワードの少なくとも一部分と前記インストラク
ションアドレス情報とに応答して、前記カッシュメモリ
内に格納されているインストラクションを前記インスト
ラクションレジスタ内へロードする転送回路と、 前記インストラクションレジスタ内の所定のインストラ
クションワードに応答してデータ取出アドレス情報を発
生する手段、並びに、該データ取出アドレス情報に応答
して前記データメモリからデータワードを装置内で処理
するために、取出す手段とから成る、 デジタル信号データを複数のマシンサイクルの間に処理
するためのデータ処理装置。 - (20)前記カッシュメモリが、前記プログラムメモリ
に格納されているインストラクションワードのサブセッ
トを格納するのに充分なだけの大きさの容量を有するこ
とを特徴とする特許請求の範囲第19項に記載のデータ
処理装置。 - (21)前記インストラクションアドレス情報に応答し
て、該インストラクションアドレス情報に対応するイン
ストラクションワードが前記カッシュメモリ内に格納さ
れているときに、命令有効信号を発生するモニタ手段を
備えたことを特徴とする特許請求の範囲第19項に記載
のデータ処理装置。 - (22)前記モニタ手段が、前記インストラクションア
ドレス情報と前記プログラムカウントとに応答して、次
回インストラクションと現在実行中のインストラクショ
ンとの間のインストラクションの個数を示すオフセット
数を決定する手段と、前記カッシュメモリ内に格納され
ているインストラクションのうち現在実行中のインスト
ラクションに続いて実行されるインストラクションの個
数を示す前方カウントを格納する前方レジスタと、前記
カッシュメモリ内に格納されているインストラクション
のうち現在実行中のインストラクションに先立って実行
されるインストラクションの個数を示す後方カウントを
格納する後方カウンタと、前記オフセット数と前記前方
カウントとに応答して該オフセット数と該前方カウント
との差を発生する手段と、前記オフセット数と前記後方
カウントとに応答して該オフセット数と該後方カウント
との和を発生する手段と、前記差と前記和とに応答して
、前記オフセット数が前記後方カウントより大きく且つ
前記前方カウントより小さい場合に前記命令有効信号を
発生する手段とを含むことを特徴とする特許請求の範囲
第21項に記載のデジタル式信号処理装置。 - (23)前記オフセット数発生手段が前記オフセット数
の代数符号を表わす符号信号を発生し、前記「差」発生
回路が、前記オフセット数前記前方カウントより小さい
か否かを表わすキャリー信号を発生し、前記「和」発生
回路が、前記オフセット数が前記後方カウントより小さ
いか否かを表わすキャリー信号を発生し、前記命令有効
信号発生手段が、前記符号信号に応答して前記キャリー
信号のうちから1つを前記命令有効信号として選択する
マルチプレクサから成ることを特徴とする特許請求の範
囲第22項に記載のデジタル式信号処理装置。 - (24)前記モニタ手段が、前記命令有効信号に応答し
て前記格納範囲情報を更新して前記次回インストラクシ
ョンに対応するアドレスを該格納範囲情報に含ませる手
段を備えることを特徴とする特許請求の範囲第21項に
記載のデジタル式信号処理装置。 - (25)前記命令有効信号に応答して、前記インストラ
クションアドレス情報に対応するインストラクションワ
ードが前記カッシュメモリ内に格納されていないことを
該命令有効信号が示しているときに、処理動作を行なわ
せないインストラクションワードを前記インストラクシ
ョンレジスタにロードする手段を備えたことを特徴とす
る特許請求の範囲第21項に記載のデータ処理装置。 - (26)前記命令有効信号に応答して、前記インストラ
クションアドレス情報に対応するインストラクションワ
ードが前記カッシュメモリ内に格納されていないことを
該命令有効信号が示しているときに、前記インストラク
ションアドレス情報発生手段に次回のマシンサイクル期
間中に同一のアドレス情報を再び発生せしめる手段を備
えたことを特徴とする特許請求の範囲第25項に記載の
データ処理装置。 - (27)前記インストラクションレジスタ内の前記第2
のインストラクションワードに応答してデータアドレス
情報を発生する手段と、該データアドレス情報に応答し
て前記プログラムメモリからデータワードを取出す手段
とを備えたことを特徴とする特許請求の範囲第26項に
記載のデータ処理装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US81367485A | 1985-12-26 | 1985-12-26 | |
US813674 | 1985-12-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS62154032A true JPS62154032A (ja) | 1987-07-09 |
Family
ID=25213064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61299815A Pending JPS62154032A (ja) | 1985-12-26 | 1986-12-16 | インストラクシヨンカツシユメモリ |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP0227319A3 (ja) |
JP (1) | JPS62154032A (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3740834A1 (de) * | 1987-01-22 | 1988-08-04 | Nat Semiconductor Corp | Aufrechterhaltung der kohaerenz zwischen einem mikroprozessorenintegrierten cache-speicher und einem externen speicher |
DE3723754A1 (de) * | 1987-07-17 | 1989-01-26 | Siemens Ag | Datenverarbeitungsanlage mit zwei getrennten bussystemen |
KR100210205B1 (ko) * | 1990-03-15 | 1999-07-15 | 리패치 | 스톨캐쉬를 제공하기 위한 장치 및 방법 |
US6604163B1 (en) | 2000-05-16 | 2003-08-05 | Koninklijke Philips Electronics N.V. | Interconnection of digital signal processor with program memory and external devices using a shared bus interface |
US7937557B2 (en) | 2004-03-16 | 2011-05-03 | Vns Portfolio Llc | System and method for intercommunication between computers in an array |
US7752422B2 (en) | 2006-02-16 | 2010-07-06 | Vns Portfolio Llc | Execution of instructions directly from input source |
EP1821202B1 (en) * | 2006-02-16 | 2011-01-12 | VNS Portfolio LLC | Execution of instructions directly from input source |
US7966481B2 (en) | 2006-02-16 | 2011-06-21 | Vns Portfolio Llc | Computer system and method for executing port communications without interrupting the receiving computer |
US7617383B2 (en) | 2006-02-16 | 2009-11-10 | Vns Portfolio Llc | Circular register arrays of a computer |
US7904615B2 (en) | 2006-02-16 | 2011-03-08 | Vns Portfolio Llc | Asynchronous computer communication |
US7555637B2 (en) | 2007-04-27 | 2009-06-30 | Vns Portfolio Llc | Multi-port read/write operations based on register bits set for indicating select ports and transfer directions |
-
1986
- 1986-11-26 EP EP86309238A patent/EP0227319A3/en not_active Withdrawn
- 1986-12-16 JP JP61299815A patent/JPS62154032A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP0227319A2 (en) | 1987-07-01 |
EP0227319A3 (en) | 1989-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3559183A (en) | Instruction sequence control | |
US4648034A (en) | Busy signal interface between master and slave processors in a computer system | |
US5245575A (en) | Register circuit for copying contents of one register into another register | |
JP2539199B2 (ja) | デジタルプロセッサ制御装置 | |
US4961162A (en) | Multiprocessing system for performing floating point arithmetic operations | |
US4222103A (en) | Real time capture registers for data processor | |
US4541045A (en) | Microprocessor architecture employing efficient operand and instruction addressing | |
US4348722A (en) | Bus error recognition for microprogrammed data processor | |
WO1995008801A1 (en) | Execution of data processing instructions | |
JPS62154032A (ja) | インストラクシヨンカツシユメモリ | |
WO1982002783A1 (en) | Stored-program control machine | |
US4460972A (en) | Single chip microcomputer selectively operable in response to instructions stored on the computer chip or in response to instructions stored external to the chip | |
JPH0277846A (ja) | マイクロプロセッサ | |
EP0418621B1 (en) | Data processing device for maintaining coherency of data stored in main memory, external cache memory and internal cache memory | |
US5367648A (en) | General purpose memory access scheme using register-indirect mode | |
JP2559382B2 (ja) | 情報処理装置 | |
KR920003180B1 (ko) | 바이패스(bypass)회로를 갖는 데이타 처리장치 | |
US4896264A (en) | Microprocess with selective cache memory | |
US6263424B1 (en) | Execution of data dependent arithmetic instructions in multi-pipeline processors | |
US4641278A (en) | Memory device with a register interchange function | |
KR920002573B1 (ko) | 데이타 처리기 | |
US5677859A (en) | Central processing unit and an arithmetic operation processing unit | |
EP0020972B1 (en) | Program controlled microprocessing apparatus | |
US6175881B1 (en) | Microcontroller having a memory, a dedicated multitask memory, and switching circuit for selectively connecting the multitask memory to the internal or external bus | |
JPH01255933A (ja) | 掃出し制御方式 |