JP2567411B2 - データ処理回路 - Google Patents

データ処理回路

Info

Publication number
JP2567411B2
JP2567411B2 JP62223208A JP22320887A JP2567411B2 JP 2567411 B2 JP2567411 B2 JP 2567411B2 JP 62223208 A JP62223208 A JP 62223208A JP 22320887 A JP22320887 A JP 22320887A JP 2567411 B2 JP2567411 B2 JP 2567411B2
Authority
JP
Japan
Prior art keywords
memory
instruction
data
cache memory
register
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.)
Expired - Lifetime
Application number
JP62223208A
Other languages
English (en)
Other versions
JPS6368931A (ja
Inventor
リレイ ボデー ジェームス
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.)
AT&T Corp
Original Assignee
AT&T 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 AT&T Corp filed Critical AT&T Corp
Publication of JPS6368931A publication Critical patent/JPS6368931A/ja
Application granted granted Critical
Publication of JP2567411B2 publication Critical patent/JP2567411B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 技術分野 この発明はマイクロコンピュータに関し、特に、デジ
タル信号を処理するに適したマイクロコンピュータに関
する。
発明の背景 現代のデジタル信号処理装置(DSP)は一般的にはデ
ジタル符号化信号の発生、フィルタリング、検出又は変
調のために使用されるプログラム可能な集積回路であ
る。DSPは、通常、データ処理ユニットとプログラム・
データ及び処理すべきデータのための1つ以上の主メモ
リからなる。信号のフィルタリングのようなデジタル信
号処理機能の性質は被演算数及びメモリから取り出した
命令の形の小さい組のデータの頻繁な繰り返しを必要と
するようなものである。この処理装置の速度及び性能は
この被演算数及び命令を取り出す速度によって制限を受
ける。この制限を減少するために、並列動作の複式主メ
モリを使用する装置が開発された。例えば、1つのメモ
リは処理されるデータの被演算数を保持し、他のメモリ
は命令を保持することができるようなものである。DSP
は読取られるだけで決して動作中に変化されないデータ
のための第3の形式の被演算数記憶装置を必要とする。
このような被演算数はしばしば「係数」と呼ばれる
(「係数」とは、いわば(入力アナログ信号をデジタル
符号化して得られるデータのような)変数データと対比
される(デジタルフィルター係数のような)定数データ
を意味する)。メモリはデータの被演算数を保持するた
めのランダム・アクセス・メモリ(RAM)及び係数用に
1つと命令用に1つからなる2つの固定メモリ(ROM)
として構成することができる。然しながら、このような
構成は開発及び利用の両方において問題を提起すること
がある。その1つの問題は係数と命令のメモリの間で最
適な平衡を決定する場合に生じる。これは、ある利用面
では命令のための多くの場所と係数のための少しだけの
場所を必要とする可能性があるからであり、一方、他の
利用面では係数のための多くの場所と命令のための少し
ばかりの場所を必要とする場合があるからである。他の
問題は、固定記憶装置がチップ外のメモリと置き換えら
れなければならないプロトタイプ段階の場合に生ずる。
このモードではチップに対してアドレス及びデータ接続
を行うための数多くの外部接続ピンが使用されなければ
ならない。
発明の要約 本発明は選択的な「キャッシュ」メモリを持つデジタ
ル信号処理装置である。主メモリの機能は命令及び係数
のための1つの読出し専用メモリと2つのランダム・ア
クセス・メモリで実行される。1つのランダム・アクセ
ス・メモリはデータの被演算数のためであり、そして、
他のランダム・アクセス・メモリは高性能を要求する命
令のための選択的なキャッシュ・メモリである。この選
択的なキャッシュ・メモリにより複数回実行される符号
片が主メモリから再度取り出す必要なしに命令によりこ
れらが退避され、そして、再び実行されることが可能と
なる。このような構成により命令空間の代りに係数空間
を利用する場合に、より多くの融通性が与えられ、プロ
トタイプ過程が容易となり、そして、プロトタイプ過程
のための外部接続ピンがほとんど不必要になる。選択的
なキャッシュ・メモリは命令、データ及び固定係数の並
列でアクセスを可能にすることによってスループットを
増大し、そして、しばしば使用される命令シーケンスを
繰り返すための節約機構を提供することによって命令メ
モリの必要量を減少する。
具 体 例 第1図はプロセッサ12とその関連するメモリ及びバス
よりなるデジタル信号処理システム10を示す。プロセッ
サ12には、信号処理プログラムにより使用されるデータ
を記憶するためのランダム・アクセス・メモリ14、係数
及び命令の両方を記憶するために使用される固定記憶装
置16、及び選択的なキャッシュ・メモリ18が接続されて
いる。プロセッサ12はバス20を介して固定記憶装置16又
はバス22を介する選択キャッシュ・メモリ18のいずれか
から信号処理のための命令を受ける。プログラマにより
選択された命令は固定記憶装置16からの最初の呼出し中
にバス24を介して選択キャッシュ・メモリ18内に記憶さ
れる。
命令の組が固定係数を必要とする場合、その命令は選
択キャッシュ・メモリ18に記憶することができる。命令
の組の引続く実行は、その速度の2倍で実施することが
できる。その理由は、命令が固定記憶装置16からの係数
の取り出しと平行して選択キャッシュ・メモリ18から検
索されるからである。この速度の改善は1つの固定記憶
装置を持つと共にキャッシュ・メモリのない処理システ
ムと1つの固定記憶装置と1つのキャッシュ・メモリを
持つ処理システムとの間の差を示す次のタイミング図に
より示される。
1つの固定記憶装置とキャッシュ・メモリの無い場
合: ROM アクセス:I1 C1 I2 C2 I3 C3・・・ 1つの固定記憶装置とキャッシュ・メモリの場合: キャッシュ アクセス:I1 I2 I3・・・ ROM アクセス:C1 C2 C3・・・ ここでIN=読み取り命令N、 CN=読み取り係数N。
キャッシュ・メモリを持つシステムはキャッシュ・メ
モリの無いシステムの速度の2倍でシーケンスを実施す
ることができる。これは係数と命令が同時にアクセスで
きるからである。
選択的なキャッシュ・メモリ18は、又、繰り返される
べき固定係数を持つ複式命令シーケンスの実行速度を改
善する。次のタイミング図は固定係数を必要とし、そし
て、多くの回数繰り返される3命令シーケンスを示す。
このタイミング図は第1の繰り返し時に命令を記憶し、
そして、より高い速度で全シーケンスを再び行うための
選択キャッシュ・メモリ18を示す。
キャッシュ アクセス:<I1><I2><I3> I1I2I3 I1I2・・・ ROM アクセス:I1C1I2C2I3C3 繰り返し1 C1C2C3 C1C2・・・ 繰り返し2 繰り返し3 ここで<IN>=記憶命令N。
命令が記憶されたときにおける最初の繰り返し後、全
シーケンスは元の速度の2倍で実施することができる。
これは係数と命令が同時にアクセスされるからである。
プログラマがプログラムにおいて後で再び同じ命令を
使用することを望む場合、その命令は記憶シーケンスを
再び調査せずに再生することができる。
第2図には、選択キャッシュ・メモリ18に記憶される
データの組の実行を制御するために使用されるアドレス
・シーケンサ50が示してある。このアドレス・シーケン
サ50は内蔵のクリア機構を持つプログラム・カウンタで
あるレジスタ52、実行されるデータの組のための選択キ
ャッシュ・メモリ18に開始アドレスを設定するレジスタ
54、及び、上記データの組の反復回数をカウントするた
めのループ・カウンタであるレジスタ56を有している。
これらのレジスタ52、54、56へのクロック接続は当業者
に容易に明らかであるので、不必要に図を複雑化するこ
とを避けるために省略してある。
レジスタ54の値はプログラム制御下で設定される。キ
ャッシュ・メモリのアドレス58はレジスタ52又は54の選
択から発生される。キャッシュアドレスを負の1に加え
る加算器60によって発生されるレジスタ52の値は零検出
素子62に送られる。レジスタ52と54の値はマルチプレク
サ64に送られ、このマルチプレクサ64の出力はキャッシ
ュ・メモリのアドレス58である。キャッシュ・メモリの
アドレス58は、レジスタ54の値が零の場合、レジスタ54
の値である。そして、キャッシュ・メモリのアドレスは
レジスタ52の値が零でない場合、レジスタ52の値であ
る。キャッシュ・メモリのアドレス58であるマルチプレ
クサ64の出力はレジスタ52の零値を検出する零検出素子
62の出力により制御される。
レジスタ56の元の値はプログラム制御下で設定され
る。零検出素子62の出力は第2の加算器66に送られる。
それはレジスタ56の古い値に加えられ、そして、レジス
タ56に格納される。加算器66の出力は又第2の零検出素
子68に送られ、この第2の零検出素子68は、レジスタ56
の値がマイナス1の場合、プログラム制御信号70を送
る。
アドレッシング・シーケンスはレジスタ54に数Mを格
納し、レジスタ52をクリアし、そして、レジスタ56に数
である負のKを格納することによって始まる。レジスタ
52、54及び56のクロッキングにより次のシーケンスが生
じる。
キャッシュ アドレスM M−1 M−2 M−3・・・1 M M−1・・・1 M 52 O M−1 M−2 M−3・・・1 O M−1・・・1 O 56 −K −K+1 −K+1 −K+1・・ −K+1 −K+1 −K+2・・・・・ −K+2 −K+2キャッシュアドレスM −1M−1 52 M−1・・・M−1・・・ 56 −K+3 1 論理装置は繰り返してアドレス・シーケンスM、M−
1 M−2・・・1を発生する。レジスタ56はこの繰り
返しをカウントし、そして、K−1個の繰り返しが完了
したときにプログラム制御装置に知らせる。これにより
デジタル信号処理システム10のプログラムに条件付きブ
ランチ・ステートメントが生じる。
デジタル信号処理システム10のキャッシュ・メモリ18
はその内容がプログラム選択的であるが、その内容が他
の基準により決定されることは本発明の範囲内にある。
例えば、それは常に最後の命令又は所定数の前の命令と
することができる。然しながら、このような構成によ
り、命令の組の実行を繰り返すための利点は、介在命令
が存在する場合に、除去される。これは、これによりキ
ャッシュ・メモリ内におけるデータが変更されるからで
ある。
デジタル信号処理システム10はこの発明の1つの実施
例を示すために使用されたが、当業者には、選択キャッ
シュ・メモリ18の速度及び効率の改善が、命令の組の頻
繁な繰り返しを必要とする用途の場合、他のデータ処理
装置でも同様に有用となるということが明らかであろ
う。
上記の特定アドレス・シーケンサ50は選択キャッシュ
・メモリ18内におけるデータにアドレスしてこれを実施
するためのプリセット可能なダウン・カウンタを構成す
る多くの方法の1つである。他の同様な制御はこのため
に使用することができる。
【図面の簡単な説明】
第1図は選択キャッシュ・メモリを持つDSPの図式的な
ブロック線図である。 第2図は第1図のDSPのメモリ・アドレス制御回路の機
能的なブロック線図である。 〔主要部分の符号の説明〕 プロセッサ……12 データメモリ……14 固定記憶装置……16 選択キャッシュメモリ……18
フロントページの続き (56)参考文献 特開 昭52−63038(JP,A) 特開 昭54−148335(JP,A) 特開 昭55−23590(JP,A) 特開 昭59−91546(JP,A) 特開 昭61−220004(JP,A)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】命令と係数の両方をデータの形で記憶する
    ためのROMで構成される少なくとも1つの主メモリ(例
    えば、16)を具備するデータ処理回路において、 該主メモリから命令および係数を検索するための手段
    と、 該命令を選択するための手段と、 該命令を記憶するためのランダムアクセスキャッシュメ
    モリ(例えば、18)と、 データの被演算数を記憶するためのランダムアクセスデ
    ータメモリ(例えば、14)と 該ランダムアクセスキャッシュメモリから該命令を、ま
    た該主メモリから該係数をさらに該ランダムアクセスデ
    ータメモリから該被演算数を同時に検索するための手段
    と、 該命令に従って、該係数と該被演算数を演算するための
    プロセッサ手段と、 該係数をもった該命令を連続的に実行するための制御手
    段とを含み、 該制御手段が アドレスの系列をくり返し発生させるための手段(例え
    ば、50)と、 該アドレスの系列に記憶された命令の集合を所定の回数
    くり返すための手段(例えば、52、62)と、 該命令の集合の反復をカウントするための手段(例え
    ば、56、66)と、 該所定の数の反復が完了したときに該制御手段に信号を
    与えるための手段(例えば、68、70)とを含むことを特
    徴とするデータ処理回路。
JP62223208A 1986-09-08 1987-09-08 データ処理回路 Expired - Lifetime JP2567411B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/904,544 US4896264A (en) 1986-09-08 1986-09-08 Microprocess with selective cache memory
US904544 1986-09-08

Publications (2)

Publication Number Publication Date
JPS6368931A JPS6368931A (ja) 1988-03-28
JP2567411B2 true JP2567411B2 (ja) 1996-12-25

Family

ID=25419337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62223208A Expired - Lifetime JP2567411B2 (ja) 1986-09-08 1987-09-08 データ処理回路

Country Status (7)

Country Link
US (1) US4896264A (ja)
EP (1) EP0260837B1 (ja)
JP (1) JP2567411B2 (ja)
KR (1) KR940006916B1 (ja)
CA (1) CA1289265C (ja)
DE (1) DE3751252T2 (ja)
ES (1) ES2070822T3 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179689A (en) * 1987-03-13 1993-01-12 Texas Instruments Incorporated Dataprocessing device with instruction cache
EP0389175A3 (en) * 1989-03-15 1992-11-19 Fujitsu Limited Data prefetch system
US5133058A (en) * 1989-09-18 1992-07-21 Sun Microsystems, Inc. Page-tagging translation look-aside buffer for a computer memory system
US5285527A (en) * 1991-12-11 1994-02-08 Northern Telecom Limited Predictive historical cache memory
GB2273179A (en) * 1992-12-02 1994-06-08 Ibm Cache indexing in interative processes.
US5432804A (en) * 1993-11-16 1995-07-11 At&T Corp. Digital processor and viterbi decoder having shared memory
US5832257A (en) * 1995-12-29 1998-11-03 Atmel Corporation Digital signal processing method and system employing separate program and data memories to store data
KR100395756B1 (ko) * 2001-06-16 2003-08-21 삼성전자주식회사 캐쉬 메모리 및 이를 이용하는 마이크로 프로세서
AUPR881001A0 (en) * 2001-11-12 2001-12-06 Lake Technology Limited Low latency computation in real time utilizing a dsp processor

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5263038A (en) * 1975-10-01 1977-05-25 Hitachi Ltd Data processing device
US4141067A (en) * 1977-06-13 1979-02-20 General Automation Multiprocessor system with cache memory
US4181935A (en) * 1977-09-02 1980-01-01 Burroughs Corporation Data processor with improved microprogramming
AU518426B2 (en) * 1977-11-22 1981-10-01 Honeywell Information Systems Incorp. Data processing system cache pre-read capability
US4195342A (en) * 1977-12-22 1980-03-25 Honeywell Information Systems Inc. Multi-configurable cache store system
JPS54148335A (en) * 1978-04-20 1979-11-20 Nec Corp Buffer control system
US4197580A (en) * 1978-06-08 1980-04-08 Bell Telephone Laboratories, Incorporated Data processing system including a cache memory
US4306287A (en) * 1979-08-31 1981-12-15 Bell Telephone Laboratories, Incorporated Special address generation arrangement
EP0062978A3 (en) * 1981-04-06 1982-12-22 Secretary of State for Industry in Her Britannic Majesty's Gov. of the United Kingdom of Great Britain and Northern Ireland Apparatus for assisting fault-finding in data processing systems
DE3138972A1 (de) * 1981-09-30 1983-04-14 Siemens AG, 1000 Berlin und 8000 München Onchip mikroprozessorchachespeichersystem und verfahren zu seinem betrieb
US4521851A (en) * 1982-10-13 1985-06-04 Honeywell Information Systems Inc. Central processor
JPS61220004A (ja) * 1985-03-26 1986-09-30 Fanuc Ltd 数値制御装置の画面表示方式

Also Published As

Publication number Publication date
EP0260837A3 (en) 1990-04-11
JPS6368931A (ja) 1988-03-28
KR940006916B1 (ko) 1994-07-29
ES2070822T3 (es) 1995-06-16
EP0260837B1 (en) 1995-04-19
DE3751252D1 (de) 1995-05-24
EP0260837A2 (en) 1988-03-23
DE3751252T2 (de) 1995-08-24
CA1289265C (en) 1991-09-17
US4896264A (en) 1990-01-23
KR880004371A (ko) 1988-06-07

Similar Documents

Publication Publication Date Title
US4734852A (en) Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US4862407A (en) Digital signal processing apparatus
JPS6254342A (ja) ディジタル命令プロセッサ制御装置および1サイクル内で分岐を実行する方法
JP2840444B2 (ja) 算術パイプラインをオペレーティングする方法及びデータプロセッシング装置
JPH08106375A (ja) 信号処理演算器
JP2567411B2 (ja) データ処理回路
US5710914A (en) Digital signal processing method and system implementing pipelined read and write operations
JPH0213333B2 (ja)
JP2006522398A (ja) パイプライン型命令プロセッサにおけるバイパスの使用
US5079694A (en) Data processing apparatus having a working memory area
US5526500A (en) System for operand bypassing to allow a one and one-half cycle cache memory access time for sequential load and branch instructions
EP0240606B1 (en) Pipe-line processing system and microprocessor using the system
JPH0772864B2 (ja) ディジタル信号プロセッサ
EP0354590B1 (en) Instruction buffer for a microcomputer
US4853889A (en) Arrangement and method for speeding the operation of branch instructions
US6115805A (en) Non-aligned double word fetch buffer
JP2619425B2 (ja) シーケンスコントローラ
JPH0544049B2 (ja)
EP0867804A2 (en) Triangular addressing
JP3366235B2 (ja) データ読み出し制御装置
JP2503223B2 (ja) 先行制御方式
JPS5925264B2 (ja) ベクトル命令処理方式
JP3164690B2 (ja) アドレス制御装置
KR950014161B1 (ko) 어레이 프로세서(array processor)의 2단계(stage) 명령어 파이프라인 처리방법