JPH076151A - オンチップメモリデバイスのアクセスのために最適化されたcpuコアバス - Google Patents

オンチップメモリデバイスのアクセスのために最適化されたcpuコアバス

Info

Publication number
JPH076151A
JPH076151A JP5312264A JP31226493A JPH076151A JP H076151 A JPH076151 A JP H076151A JP 5312264 A JP5312264 A JP 5312264A JP 31226493 A JP31226493 A JP 31226493A JP H076151 A JPH076151 A JP H076151A
Authority
JP
Japan
Prior art keywords
bus
data processing
cycle
memory device
chip
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
JP5312264A
Other languages
English (en)
Inventor
Gideon Intrater
ギデオン・イントレイター
Ohad Falik
オハド・ファリク
Aharon Ostrer
アハロン・オストラー
Yair Baydatch
イェアー・ベイダッチ
Alberto Sandbank
アルバート・サンドバンク
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.)
National Semiconductor Corp
Original Assignee
National Semiconductor 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 National Semiconductor Corp filed Critical National Semiconductor Corp
Publication of JPH076151A publication Critical patent/JPH076151A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • G06F15/786Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers) using a single memory module

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microcomputers (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 CPUコアがバスを介してメモリデバイスを
アクセスするデータ処理技術。 【構成】 幾つかのメモリデバイスはチップ上にあり、
また幾つかはチップ外にある。その動作を最適化するた
めに、CPUコアは、オンチップ動作に調整されたコア
のバッファインターフェースユニット(「BIU」)を
介してオンチップデバイスにアクセスする。チップ外の
デバイスは、チップ外のデバイスの要求仕様に合わせる
ためにオンチップバストランザクションを変換するシス
テムBIUを介してCPUコアと通信を行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般に、中央処理装置
(「CPU」)コアがバス上のメモリデバイスにアクセ
スすることに関し、特に、オンチップメモリデバイスの
アクセスのためにこのバスを調整することにより組み込
みプロセッサシステムを改良する方法と装置に関する。
【0002】
【従来の技術】マイクロプロセッサをベースとするデー
タ処理システムは、通常、オンチップやチップ外のメモ
リデバイス、例えば、メモリ、メモリマップ入出力、メ
モリマップ周辺装置やメモリマップコプロセッサ、もし
くは他のあらゆるデバイスを含み、これらはある種のプ
ロトコルを持ち、CPUコアによりそのメモリ空間の一
部としてアクセスされる。このプロトコルの例としては
NS32CG16バス、MC68020バスもしくはイ
ンテル8086バスがある。「メモリ空間」という言葉
はプログラムやデータのメモリ空間、有効ならば、それ
ぞれの入出力アドレス空間(インテル8086プロセッ
サのようなある種のアーキテクチャにおいて、この部分
は分割されている)を含む。CPUコアはハードウェア
とソフトウェアの構成要素を含み、これらはプログラミ
ングと実行モデルを意味する。このモデルは、命令のフ
ェッチとデコード、オペランドのフェッチ、そしてその
結果の宛先への書き込みといった機能を実行する特定の
ユニットによって実現される。例えば、モトローラcp
u32はモトローラMC68000プロセッサファミリ
の中でコアCPUになる。
【0003】データ処理技術は、アプリケーションスペ
シフィックプロセッサ(ASP’s)としてまた知られ
る組み込みプロセッサシステムの設計を対象に発展して
きた。以降、二つの用語が交互に使用される。即ち、こ
の技術の一部として、CPUコアはメモリ装置をアクセ
スし、レーザビームプリンタ、ファクシミリマシンや通
信システムのような特定応用製品をターゲットにする仕
方で動作する。メモリデバイスはオンチップおよび/ま
たはチップ外にある。CPUコアのバスはこれらメモリ
デバイスのアクセスの手段である。
【0004】CPUコアを既存のシステムのバスインタ
ーフェースユニット(「BIU」)を介してチップ外の
デバイスに接続するという構成はよく知られており、シ
ステムを巧く集積しそのコストを減少させるために、組
み込みプロセッサは、チップ外の幾つかのデバイスをチ
ップ上に単に乗せ換えることだけに設計されてきた。こ
のように、組み込みプロセッサ技術を実施するために現
在使われるアプローチは、チップ外のデバイスの動作の
ために調整されたBIUを介してオンチップデバイスを
既存の汎用目的コアに単に接続するというものである。
このアプローチとその欠点は、図1のユニット1で示す
パーツ番号NS32AM160のナショナルセミコンダ
クタコーポレーション社製のASPに関連して説明され
る。図1の全ブロックはチップ上の回路を意味する。
【0005】図1で示す通り、ユニット1は汎用目的C
Gコア3を持つ(注意:「CG」はNSCによってこの
コンポーネントに単に割り当てられた名称で、他のいか
なる意義も持たないとみなすべきである)。CGコア3
は32ビットプロセッサで16ビットバスと4ギガバイ
トのアドレス空間を持つ。図2で詳細に示す通り、CG
コア3は、グラフィックス論理回路6、マイクロコード
ROMと制御回路7、8バイト待ち行列8、パイプライ
ンディスプレースメントとイミディエートイクストラク
タ9、レジスタファイル10、論理演算ユニット(AL
U)11、ワークレジスタ12、ダイレクトメモリアク
セス(「DMA」)制御回路13、プログラマブルバス
タイミング回路14、クロックジェネレータ15を内蔵
する。これら全ては良く知られた構成要素であり、それ
ゆえ、これらの詳細を提示する必要はないように思われ
る。本発明で特に重要なものはパイプラインバスインタ
ーフェース制御回路であり、これはコアのBIUとして
機能する。CGコア3は16ビット多重アドレス/デー
タバス17上のコアBIUを介して信号のやり取りを行
う。
【0006】図1に示す通り、バス17はCGコア3、
ROM18、RAM19、DSPM5、入出力ポート2
0、ICU21、PWM22、DSPM RAM23、
クロックユニット24、WD25等を、BIU&DRA
Mコントローラ26を介してチップ外のデバイス(図示
していない)と同様につなぐ。DSPM5はハイパフォ
ーマンス実行ユニットで、ディジタル信号処理を実行す
る。WD25の役割は、エラー発生時にソフトウェアを
リセットし、その制御を奪うことである。NSCでこれ
は商標WATCHDOGとして知られている。PWM2
2(パルス幅変調器)は固定周波数と可変デューティサ
イクルで矩形波を発生する。ICU21は割り込み制御
ユニットで、これは二三のソースから割り込みを集め、
ベクタ割り込み方式を使用してCPUコアとインターフ
ェースを取る。BIU26はシステムBIUである、と
いうのはこれがオンチップバス17からチップ外のバス
とデバイスにオンチップ信号を出すからである。例え
ば、NS32AM160のASPはDRAMデバイスや
スタティックメモリとのインターフェースを取る。シス
テムBIU26は、要求される制御信号を発生するタス
クを有し、これらのメモリの仕様に合うバスプロトコル
を持つ。この種の特徴は、多様な応用製品仕様のせいで
コアBIUのパートにすることはできない。
【0007】CGコア3は様々なタイプの応用製品での
汎用的な利用のために設計されてきた。このように、そ
のコアBIU16はチップ外のデバイスの動作に合わせ
て調整されてきた。用語の「調整された」や「調整す
る」といったその様々な使われ方は、バスが適用される
特定の処理や応用製品をベースとする解決策の中から二
者択一して最適なものを選ぶことに関連している。この
考察には、要求されるパフォーマンス、鋳型サイズやパ
ッケージピンの数によるデバイスコスト、システムコス
ト等が含まれる。デバイスコストとシステムコストを最
小化する一方で、この最適化は理想的な形でパフォーマ
ンスを最大化する。その上、特定応用製品がパフォーマ
ンスのある要求水準に達するために、例えば、ピンの数
を増やす(これによりデバイスコストは増す)ことはあ
まり高くないメモリの使用(これによりシステムコスト
は減る)を可能にするといった交換条件が必要かもしれ
ない。
【0008】コアBIU16はチップ外のデバイスとの
動作のために調整されてきたので、図1の実施には冗長
なコンポーネントが含まれている。例えば、CGコアの
多重アドレス/データバスは、この汎用目的コントロー
ラのピンの数を減らすために専用ハードウェア(例え
ば、マルチプレクサと制御回路)を使用して生成されて
いる。その上、ユニット1は分割されたシステムのアド
レスとデータのバスを提供してチップ外のデバイスや外
部メモリの要求仕様に合わせている。それゆえ、システ
ムBIU26は、これがコアBIU16から受け取った
アドレスとデータを多重化するハードウェアを内蔵す
る。また、デマルチプレクシング(demultipl
exing)は、システムBIUとオンラインで結ばれ
ていないすべてのオンチップ周辺装置(例えば、SRA
M、ROM等)によってなされる。その上、幾つかのシ
ステムはシステムBIUを全く必要としない(例えば、
外部バスがない)、それゆえ、CGコアによる多重化は
余計なことである。加えて、CGコア3は、多重化バス
(例えば、アドレスストローブやバッファイネーブル)
をサポートするために外部デバイスによって要求される
一組の制御信号を発生し、これはオンチップでバスをデ
マルチプレクシングするためだけに使用される。
【0009】CGコアの基本的バスサイクルは4クロッ
クサイクルである。一番目のクロックサイクルはアドレ
ス出力に要求され、二番目はアドレスフロート、三番目
はデータ転送、そして四番目のクロックサイクルはデー
タフロートに必要とされる。しかしながら、オンチップ
メモリと周辺装置はひとつのクロックサイクルでアクセ
ス可能であり、コストや電力消費における損失を被らな
い。この潜在的なパフォーマンスの増大はCGのBIU
16により課せられた4クロックサイクルのせいで利用
することができない。
【0010】要約すると、既存の良く知られた汎用目的
プロセッサをベースとするASPは二つのBIUを内蔵
する。一番目はコアBIUである。これは未使用の特徴
と、ある場合、他のBIUによる不必要な処理パフォー
マンスを要求する特徴を持つ。二番目のBIU(「シス
テムBIU」)は外部システムとインターフェースを取
る。これは応用製品の特定の要求仕様に合わせて設計さ
れており、それゆえCPUコアの中に内蔵することはで
きない。この調整は、図1のASPにおいて本来必要と
されていないために不必要なハードウェアを含む。特
に、このハードウェアは、未使用の(動的バス幅または
バーストメモリサポートのような)特徴を含むこと、あ
るいは最近では反転されるはずの(アドレスデータの多
重化やそのデマルチプレクシングのような)ある処理を
実行する必要のために冗長なものである。加えて、オン
チップアクセスパフォーマンスはチップ外の低速バスプ
ロトコルをもってオンチップデバイスをアクセスするこ
とにより低下する。
【0011】
【発明が解決しようとする課題】本発明の課題のひとつ
は、CPUコアとオンチップデバイスの間の通信に関し
て組み込みシステムのパフォーマンスを改善することで
ある。
【0012】本発明の別の課題はより安いコストでAS
Pを提供することである。
【0013】本発明のまた別の課題はASPのパフォー
マンスを改善することである。
【0014】本発明のさらに別の課題はASPの設計を
単純化することである。
【0015】本発明のもう一つの課題はASPにおける
冗長な特徴および/または反転された特徴の実現を避け
ることである。
【0016】
【課題を解決するための手段】これらのそして他の課題
は、CPUコアを内蔵するマイクロプロセッサをベース
とするデータ処理装置に直結する本発明のひとつの側面
に従って達成される。少なくとも一つのメモリデバイス
がCPUコアとともにチップ上に集積されている。アク
セスする手段がCPUコアとメモリデバイスをバスを介
して通信させるために提供されており、そこでアクセス
する手段は少なくとも一つのメモリデバイスをもってオ
ンチップ動作に調整される。
【0017】本発明の別の側面は、CPUコアを内蔵す
るマイクロプロセッサをベースとするデータ処理に直結
している。少なくとも一つの第一メモリデバイスはCP
Uコアとともにチップ上に集積され、少なくとも一つの
第二メモリデバイスはチップ外に配置されている。一番
目のアクセス手段は、内部バスを介してCPUコアと少
なくとも一つの第一メモリデバイスを通信させ、少なく
とも一つの第一メモリデバイスをもってオンチップ動作
に調整された手段を含む。二番目のアクセス手段は、C
PUコアと少なくとも一つの第二メモリデバイスを外部
バスを介して通信させる。二番目のアクセス手段は、少
なくとも一つの第二メモリデバイスの要求仕様に内部バ
ス上のトランザクションを転換するための手段を持つ。
【0018】本発明のまた別の側面は、次のステップを
含むマイクロプロセッサをベースとするデータ処理装置
において少なくとも一つの集積されたメモリデバイスを
アクセスする方法に直結するものである。CPUコアは
少なくとも一つのメモリデバイスとバスを介して通信す
る。この通信は少なくとも一つのメモリデバイスとのオ
ンチップ動作に調整される。
【0019】本発明のさらに別の側面は、次のステップ
を含むマイクロプロセッサをベースとするデータ処理装
置においてCPUコアとともに集積された少なくとも一
つの第一メモリデバイスと少なくとも一つのチップ外の
第二メモリデバイスとをアクセスする方法に直結するも
のである。CPUコアは内部バスを介して少なくとも一
つの第一メモリデバイスと通信する。内部バスを介して
のこの通信は少なくとも一つの第一メモリデバイスとの
オンチップ動作に調整される。CPUコアは外部バスを
介して少なくとも一つのチップ外の第二メモリデバイス
と通信する。内部バス上のトランザクションは少なくと
も一つの第二メモリデバイスの要求仕様に転換されてC
PUコアと少なくとも一つの第二メモリデバイスとの間
の通信に効果を発揮する。
【0020】
【実施例】図3に示す通り、半導体30上に組み込まれ
たCPUコア28は、コアBIU36、データバス4
8、アドレスバス54および制御バス55を介してRA
M32、周辺装置34のようなオンチップデバイスに結
合されている。BIU36は、CPUコア28の一部分
として、図1で代表的に示されている。しかしながら、
これはハードウェアコンポーネントの識別可能なセット
形式である必要はない。その代わり、BIU36は実行
ユニットのステートマシンの一部分であることが可能で
ある。これは、BIUが処理された(LOAD、STO
REおよび例外操作に関するメモリアクセスのような)
プログラム命令に直接関係する動作を実行するとき特に
明らかである。本発明の単純化バス調整は、オンチップ
デバイスをアクセスするために調整されたBIU36を
もって、LOAD/STORE構造を伴う32ビットR
ISCCPUコアに関係して説明される。このCPUコ
アの例は図4に示されている。
【0021】CPUコア28において、プログラムカウ
ンタ(「PC」)40は、その出力が論理演算回路
(「ALU」)42やバレル型シフタ44に結合される
カウンタもしくはより高速なインクリメンタである。マ
ルチプレクサ(「MUX」)46はALU42とバレル
型シフタ44の出力を受け取り、そこに供給されるもう
一つの入力はデータバス48上の信号である。MUX4
6は結果バス49を通して出力を、アドレスバス54に
結合される後の出力をもって、バッファ53、レジスタ
ファイル50、PC40およびMUX52に供給する。
バッファ53は出力信号をMUX46からデータバス4
8上へ送るように方向付けられている。このバッファ
は、書き込みサイクルの適当な時間の間にだけデータを
データバス48上に送る。バッファ53は残りの時間ト
ライステート(非動作状態)になる。
【0022】ディスプレースメント回路(「DIS
P」)62はデータを計算のために供給し、そこではそ
のデータが即時モード(プログラムストリームの一部
分)に置かれる。これはまたメモリ参照におけるディス
プレースメントで明らかなことである。
【0023】待ち行列58はフェッチ命令の間にバス4
8上でメモリから読みとったデータを受け取る。フェッ
チ命令は、バスが有効で待ち行列が一杯でないときは何
時でもデコードとその制御回路60の制御部によって発
せられる。待ち行列は32ビットデータバス上で命令を
受け取り、そのアドレス(命令はバスの低位もしくは高
位16ビットで開始され、1ワード長以上になる)に従
って命令の整列を操作する。回路60のデコード部は待
ち行列の先頭で命令をデコードし、それからそれを実行
する。ひとつの命令がデコードされた後、これは待ち行
列から移動されて次の命令の余地を作る(例えば、FI
FO動作)。デコードとその制御回路60は、デコード
された命令の内容に従ってCPUコア28の残りの部分
をアクティブにする。例えば、命令がひとつのレジスタ
の内容をもう一つのレジスタの内容に加えるものなら
ば、次のステップが実行される。二つのレジスタはそれ
ぞれレジスタファイル50からALU42の二つの入力
へと読みとられる。ALUはそれからadd命令を受け
取り実行し、MUX46はALUが引き起こす出力を結
果バス49を介してレジスタファイル内の適当なレジス
タに返すよう経路指定する。
【0024】ALU42はレジスタファイル50から読
みとられたオペランドのロジック(AND、OR、XO
R等)と演算処理(ADD、SUBTRACT等)を実
行する。シフト動作において、オペランドはレジスタフ
ァイルからバレル型シフタ44へと読みとられる。シフ
ト結果は、制御回路60によりバレル型シフタ44から
MUX46を通し結果バス49を介してレジスタファイ
ル50へと方向付けられる。
【0025】ブランチとジャンプ命令のために、PC4
0の新しい値はALU42で計算され、そこでDISP
62から受け取った変位分をPC40から読みとった現
在値に加算する。その結果はMUX52を通して新しい
フェッチ命令のアドレスとして使用され、それはまた後
で使用するためにPC40の中に保存される。PC40
は、ひとつの命令がメモリからフェッチされる毎に2ま
たは4ずつその内容をインクリメントする機能を有す
る。これは、データがワード(例えば、2バイト)また
はダブルワード(例えば、4バイト)としてだけフェッ
チされることから必要なものである。
【0026】LOADとSTORE命令はメモリとのデ
ータの読みとりと書き込みを行うために使用される。L
OAD命令はメモリから1、2および4バイト読みとる
(図示されていない)。データのアドレスは、ALU内
で(レジスタファイル50から読みとられた)レジスタ
の内容を(DISPユニット62から読みとられた、も
しくは0の)変位値に加算することにより生成される。
加算結果はMUXの46と52を通してアドレスバス5
4に渡される。メモリから読みとられたデータは、MU
X46を通してそこからデータバス48上で受け取ら
れ、これはレジスタファイル50に書き込まれる。デー
タ整列が要求されるならば、データはその時(詳細が以
降に説明される)バレル型シフタ44を通してシフトさ
れ、再度レジスタファイル50に書き込まれる。STO
RE動作において、アドレスの生成はちょうどLOAD
について上述したように実行される。データはレジスタ
ファイル50から読みとられ、(以降に説明するよう
に)バレル型シフタ44により整列させられ、MUX4
6とバッファ53を通してデータバス48に書き込まれ
る。
【0027】CPUコア28は三つの主要部分を持ち、
これらは命令ローダ、実行ユニット、制御論理回路と呼
ばれる。命令ローダは、待ち行列58、PC40および
MUX52を内蔵し、外部システムから命令をロード
し、これらを実行するために実行ユニットに供給する。
実行ユニットはレジスタファイル50、ALU42、バ
レル型シフタ44、DISP62およびバッファ53を
内蔵する。制御論理回路は、ブロック60を内蔵し、命
令ローダ、実行ユニットおよびCPUコアに対するイン
ターフェースを制御する。命令はバス48から命令待ち
行列58にフェッチされ、回路60によってデコードさ
れ、それから実行のため実行ユニットに送られる。ブロ
ック60の制御論理回路は実行ユニット中のどの資源を
各命令のために使用するかを選択する。特に、演算と論
理命令においては、オペランドはALU42またはバレ
ル型シフタ44の中に読み込まれ、その結果はレジスタ
ファイル50の中の宛先レジスタに書き込まれる。LO
AD命令において、ALU42は有効なメモリアドレス
を計算し、元のオペランドはバス48を介してメモリに
書き込まれる。ブランチとジャンプ命令については、目
的アドレスは、ALU42を使って、PC40の現在値
をDISP62の変位値に加算し、その結果をPC40
の中に書き込むことによって計算される。
【0028】コアバス48、54および55の幅は固定
されており、例えば、好ましい実施例のCPUコアにお
いては32ビット幅であり(勿論、他の幅も選択可能で
あるが)、そこでのアクセス全ては整列されたものであ
る。CPUコアは、データバス48からオンチップメモ
リデバイスへの直結を図るためにデータ整列を実行す
る。この整列は、データバス48に専用整列器(図示さ
れていない)を備えることによりなされる。しかしなが
ら、データ整列はむしろ、下記の通り、CPUコアによ
って実行される。バス上の読みとりと書き込みの各トラ
ンザクションは8、16または32ビットのデータをア
クセスするけれども、32ビット以上の幅のオンチップ
バスは必要ない。外部システムの32ビット以上のバス
幅に対するサポートは、下記の通り、システムBIU6
5により提供される。
【0029】本発明の好ましい実施例に従って、データ
整列は、通常従来技術としての専用整列マルチプレクサ
よりはむしろCPUコアの既存の回路を使って実行され
る。専用整列マルチプレクサは、メモリへの/からの時
間的にクリティカルなデータパスに遅延を加える、とい
うのは整列が必要ないときにさえ全てのメモリサイクル
でこれがアクティブにされては困るからである。また、
専用整列マルチプレクサとその制御論理回路はシリコン
鋳型の領域を大きくし、付加的な電力を消費する。
【0030】対照的に、本発明におけるデータ整列は、
CPUコアの実行ユニットの一部であるバレル型シフタ
44で実行される。バレル型シフタは通常シフト関係の
命令に使用される。32ビットバレル型シフタはひとつ
のサイクルで32ビットをn回シフトし、ここでnは0
と31の間の任意の値である。RISCのLOAD/S
TOREにおいて、本発明で利用されるように、バレル
型シフタはLOAD/STORE操作の間演算処理には
使用されず、このようにこれはデータ整列を実行するの
に有効である。これがどのようになされるかの詳細は図
5から8を参照して以降に説明される。
【0031】図5と6は、データがメモリに書き込まれ
る(「STORE」)ときのデータ整列を図解する。図
5は、一番目のSTOREサイクルが、既に上述した通
り、PC50とレジスタファイル50の内容を結合する
ことによりメモリアドレスを計算することを示す。この
アドレスはMUXの46と52を介してアドレスバス5
4上に発せられる。二番目のSTOREサイクルにおい
て、図6に示す通り、レジスタファイル50からの保存
すべきデータはバレル型シフタ44を介して整列され、
MUX46とバッファ53を介してデータバス48に置
かれる。このシーケンスは実行損失をもたらさない、と
いうのはメモリデバイス(図示されていない)はアドレ
スが発せられた後のデータの1サイクルを待つからであ
る。
【0032】図7と8はメモリからデータを読みとる
(「LOAD」)ときのデータ整列を説明している。一
番目のLOADサイクルはメモリアドレスを計算し、図
5に示したのと同じ方式でアドレスバス54上にこれを
発する。二番目のLOADサイクルにおいて、図7に示
すように、データバス48上でフェッチされたデータは
一時レジスタに読み込まれ、MUX46と結果バス49
を介してレジスタファイル50に供給される。この一時
レジスタは通常レジスタファイル50の一部であり、L
OAD実行に使用され、割り込み実行中にベクタアドレ
スを計算するのに使われる。一時レジスタはCPUコア
の実行過程中だけに一時的な(例えば、部分的な)結果
を保ち、プログラミングモデル(即ち、これはソフトウ
ェアではなくハードウェアの設計者にしか見えない)の
一部とはならない。三番目のLOADサイクルにおい
て、図8に示すように、一時レジスタの内容はバレル型
シフタ44を通して整列され、それからMUX46と結
果バス49を介してレジスタファイル50の中に書き込
まれる。
【0033】ここで説明された技術よりはむしろ専用整
列マルチプレクサを使用することの方が三番目のLOA
Dサイクルに役立つと一般に認識されている。しかしな
がら、ほとんどの応用製品においてLOAD命令の大多
数はダブルワードでアクセスする。これらはいつも整列
されているので、整列は必要とされておらず、それゆえ
ここで説明された技術はいかなる実行損失も招くことは
ない。さらに、残りのワードおよびバイトアクセスも全
く実行損失を招くことはない。例えば、LOADのバイ
トデータがバスの最下位バイト(即ち、ビット0−7)
上に置かれる場合、そしてLOADのワードデータがバ
スの下位半分(即ち、ビット0−15)に置かれる場
合、データ整列は要求されないために三番目のLOAD
サイクルの必要がない。このように、この技術はSTO
REの実行時間を低下させることはなく、一方でLOA
Dの小部分に対するアクセスは2から3サイクルに増加
する。これは専用整列マルチプレクサを取り払うことが
与える次の利点を考慮するとその対価は安いものであ
る。即ち反対に、専用整列マルチプレクサとその制御論
理回路が占有する鋳型領域をセーブし、メモリへの/か
らのクリティカルなデータパスの時間にこれによる時間
遅延をセーブすることである。既存の制御論理回路の一
部は、通常シフト関係の命令に使用され、また整列制御
に利用可能であり、これによって鋳型領域はセーブされ
る。
【0034】CPUコア28は、アドレス、データおよ
び制御のバスを使用して「バスサイクル」と呼ばれる動
作シーケンスを実行することによりシステム内の他のデ
バイスと通信する。CPUコアから分離されたDMAユ
ニットのコントローラは、これら自体のデータ転送を開
始するためにCPUコアからバス制御を要求することが
可能である。CPUコアは、HOLD−HOLDアクノ
リッジ(「HOLD/HOLDA」)のような、これら
のバス要求を受けたり応答したりする二つの信号のハン
ドシェイクを使用する。CPUコアは例外処理、内部割
り込みおよびリセットの外部要求を受け取ったり応答し
たりする。これはまた、命令実行の完了のようなその内
部動作に関係する情報を表示する。バスサイクルを拡張
したりキャンセルしたりする機能がまた提供されてい
る。この動作は、アルファベット順に並べられたCPU
コアのインターフェース信号の一覧を示す表1から明ら
かである。
【0035】
【表1】
【0036】時間クラスは、VLSIの一般方式である
2フェーズ方法論で使用される属性である。表1で使わ
れる異なる時間クラスのシンボルについて下記の通り簡
単に説明する。
【0037】1s − PHI1周期中安定した信
号。この値はPHI1の高周期の始まる前から終わった
後まで有効である。
【0038】2s − PHI2の高周期に対する
以外は1sと同じである。
【0039】1v − PHI1の高周期の終わり
に有効になる信号。
【0040】2v − PHI2の高周期に対する
以外は1sと同じである。
【0041】1p − PHI1の荷電済み信号。
(このタイプの信号はTTLロジックのオープンコレク
タとして知られる技術に類似している)。PHI2でこ
の信号は「1」に荷電される。PHI1でこれを駆動す
る必要のある資源は、信号を放電することで「0」を発
信し、信号を放電しないことで「1」を発信することが
できる。 この信号の値はPHI1の終
わりで有効になる。
【0042】2p − PHI1とPHI2の機能
を交換すること以外は1pと同じである。
【0043】1phi − これは2フェーズ方法論で
使われる二つのクロック信号の一番目である。クロック
サイクルは1phiの立ち上がりエッジで開始する。
【0044】2phi − これは二つのクロック信号
の二番目である。これはクロックの二番目のフェーズの
間高位になる。1phiと2phi信号の高周期は正常
な動作のために周期の重なりを避けなければならない。
【0045】CPUコア28により操作される表1の信
号は以下の通り簡単に説明される。
【0046】入力信号: SFISEP ISE割り込み。発信されたと
き、ISE割り込み要求を意味する SFHOLDP HOLD要求。発信されたとき、
CPUコアにそのバスを解放させる。
【0047】SFINTP ベクタ割り込み。発
信されたとき、ベクタ割り込み要求を意味する SFNMIP ノンマスカブル割り込み。発信さ
れたとき、ノンマスカブル割り込み要求を意味する SFPHI1P PHI1クロック。
【0048】SFPHI2P PHI2クロック。
【0049】SFRDYP レディ信号。この入
力が低位(発信されない)のとき、CPUコアはバスサ
イクルを拡張する。
【0050】SFRSTP リセット信号。発信
されたとき、CPUコアは既知の状態に初期化される。
注意:正常なリセット検出のために、SFRSTPは少
なくとも10サイクルは発信されなければならない。
【0051】出力信号: SFADP アドレスバス信号。Ta.phi
2バスサイクルでCPUコアにより駆動される。
【0052】SFBEP0−3 バイトイネーブル。
発信されたとき、データの読みとりと書き込みをデータ
バスのバイト0から3間で選択的にイネーブルする SFCANP キャンセルされたトランザクショ
ン。読みとり/書き込みのトランザクション(フェッチ
されない)のTbで発信されたとき、NAD(非整列デ
ータ)トラップがLOAD/STORE命令で検出され
るために非有効トランザクションを意味する。
【0053】SFHLDAP HOLDアクノリッ
ジ。CPUコアがバスを解放したことを示すために、S
FHOLDP入力に対する応答でCPUコアにより発信
される。
【0054】SFICLCKP 命令キャッシュロッ
ク。発信されたとき、キャッシュ内容をロックする。
【0055】SFNSFP 非逐次内部フェッ
チ。待ち行列48による非逐次フェッチを意味する。
【0056】SFPFSP プログラムフロー状
態。各命令の実行完了を意味する。
【0057】SFRDP データ読みとり。デ
ータ読みとりバスサイクルを意味する。
【0058】SFTAN Taバスサイクル。
発信されたとき、CPUコアがバスサイクルのTaにあ
ることを意味する。
【0059】SFSTP0−2 バスサイクル状態。
これらの信号はバスサイクルのタイプをコード化する。
【0060】SFWRP データ書き込み。デ
ータ書き込みバスサイクルを意味する。
【0061】双方向信号: SFDTP0−31 データバス。読みとりバスサイク
ル中にデータを入力する、 もしく
は書き込みサイクル中にデータを出力するためにC
PUコアによって使用される。
【0062】CPUコア28により操作されるバストラ
ンザクション、またはバスサイクルは以下の通りであ
る。
【0063】バス状態 CPUコアは、以下の理由のひとつからバスサイクルを
実行する。
【0064】1. メモリから命令をフェッチするた
め。
【0065】2. メモリもしくは周辺デバイスとのデ
ータの書き込みまたは読みとりのため。周辺装置の入出
力はCPUコア構造の中にメモリマップされている。
【0066】3. (マスカブル、ノンマスカブルまた
はISE)割り込みをアクノリッジするため。
【0067】これらのケースの間の外部的相違点はバス
状態ピン(SFSTP0−SFSTP2)上に置かれた
3ビットコードだけである。これらのピン上の様々な組
み合わせはCPUコアがバスサイクルを実行する理由を
示す。バス状態ピンは3ビットの値(SFSTP0の最
小ビット)として解釈される。これらの値は以下の通り
コード化される。
【0068】000 バスは、CPUコアがまだバスを
アクセスする必要がないのでアイドル状態にある。
【0069】001 バスは、CPUコアがWAIT命
令の実行に続く割り込みを待っているのでアイドル状態
にある。
【0070】010 割り込みアクノリッジバスサイク
ル。CPUコアは、マスカブル割り込みの場合、アドレ
スFFFFFE00H、ノンマスカブル割り込みの場
合、アドレスFFFFFF00H、ISEアクノリッジ
の場合、アドレスFFFFFC00Hから読みとりサイ
クルを実行している。
【0071】100 逐次命令フェッチ。CPUコアは
命令ストリームから逐次命令をフェッチしている。
【0072】101 非逐次命令フェッチ。CPUコア
は命令の新しいシーケンスの非逐次フェッチを実行して
いる。これはジャンプまたはブランチ命令、例外処理の
結果として、またはある種の他の命令の実行後に起き
る。ある種の命令の実行もしくは例外処理の後、CPU
コアは命令実行を直列化する。直列化された命令の実行
は、CPUコアが以前の命令の結果全てをメモリに書き
終わり、それから次の命令をフェッチし実行し始めるこ
とを意味する。
【0073】110 データ転送。CPUコアは命令の
オペランドを読みとりまたは書き込みしている。
【0074】111 例外処理データ転送。CPUコア
は例外処理中割り込みディスパッチテーブルから値を読
みとっている。
【0075】メモリと周辺装置バスサイクル バスT状態:メモリや周辺デバイスとの読みとりや書き
込みのためにCPUコアにより実行される、アドレスバ
ス54、データバス48および制御バス55の基本的バ
スサイクルは、TaおよびTbと呼ばれるバスクロック
の二つのサイクルの間に起きる。ひとつの「バスクロッ
ク」は、PHI1の立ち上がりエッジで始まり、PHI
1の立ち下がりエッジ、PHI2の立ち上がりエッジお
よびPHI2の立ち下がりエッジを経て、PHI1の次
の立ち上がりエッジまでが全サイクルである。基本的バ
スサイクルは、低速なメモリと周辺デバイスをサポート
するために、付加的なウェイトサイクルTbWを足し加
えることで拡張可能である。バス要求が吊られていない
とき、バス状態はアイドル状態Tiと呼ばれる。図9は
単純化されたバス状態図を提供する(これは、内部参照
や発信されたSFHOLDP等のある種のイベントの効
果を示すものではない)。バスサイクルの状態Taは以
前のバスサイクルの状態Tbおよび/またはTbWと重
なり合うかも知れない。
【0076】基本的な読みとりと書き込みのサイクル:
基本的な読みとりと書き込みのバスサイクルのバスタイ
ミングは図10に示されている。CPUコアは基本的な
二つの状態(Ta、Tb)バスを操作する。次のバスサ
イクルの状態TaはTbと重なるかも知れない。最大限
のスループットをもって、新しいアドレスは全てのサイ
クルでアドレスバス上に発せられ、新しいデータは全て
のサイクルでデータバス上でやり取りされる。バスサイ
クルは、以下の通り、SFRDYPを使って拡張可能で
ある。
【0077】読みとりサイクル:CPUコアは、オペラ
ンドの正確なアドレスをアドレスバス54上に置くこと
によってデータ読みとりアクセスを開始する。SFTA
N信号はそのアドレスが有効であることを示すために発
信される。SFRDP信号はアドレスを置くことで発信
され読みとりトランザクションをマークする。SFBE
P0−3信号は読みとられる特定のバイトを選択するた
めに発信される。バス状態情報はそのアドレスと共に状
態バス(SFSTP)に置かれる。上記の動作全ては状
態Ta中に起きる。次のサイクル(Tb)の終わりに、
データバス48上でデータが待たれる(SFDTP)。
状態Tbは次のトランザクションの状態Taと重なり合
う。このように、最初のオペランドデータを受け取って
いる間、CPUコアは次のオペランドのアドレスと制御
信号を発し、そこで読みとりトランザクションにおける
1サイクルスループットを生じる。
【0078】書き込みサイクル:書き込みサイクルは、
SFTAN信号を発信し、書き込まれる領域のアドレス
をアドレスバス54(SFADP)上に置くことによっ
て開始される。SFWRP信号は書き込みトランザクシ
ョンをマークし、これとバス状態情報は同時に発せられ
る。SFBEP0−3信号は書き込まれる特定のバイト
を選択するために発せられる。書き込まれるデータは、
次のサイクル(Tb)の終わりにデータバス48(SF
DTP)上に置かれる。書き込みトランザクションの状
態Tbは続く状態Taと重なり、そこで1サイクルのバ
ススループットを生じる。
【0079】バスサイクルの拡張:上記これらの基本的
読みとりと書き込みバスサイクルは、TbW(Tbウェ
イト)状態を加えることにより、より長くアクセス時間
をサポートするために拡張可能である。SFRDYP入
力はバスサイクルを拡張するために使用可能である。こ
の入力は、Tb状態の始めと(必要なら)各TbW状態
の始めに、CPUコアによりサンプリングされる。SF
RDYPが発信されないならば、その時バスサイクルは
ひとつのTbWウェイト状態を加えることで拡張され
る。SFRDYPは各TbW状態の始めでサンプリング
され、もしこれが発信されないならば、バスサイクルは
もう一つのクロックのTbWによって拡張される。図1
1は読みとりと書き込みのバスサイクルの拡張を示す。
【0080】割り込みアクノリッジバスサイクル:CP
Uコアは、イネーブルされたマスカブル割り込み、ノン
マスカブル割り込みまたはISE割り込み要求に応答し
て割り込みアクノリッジバスサイクルを生成する。割り
込みアクノリッジバスサイクルのタイミングは基本的読
みとりサイクルと同じもので、その状態だけがメモリを
アクセスするバスサイクルのそれと異なる。例外処理
(例えば、割り込みやトラップ)中、プロセッサは、割
り込みアクノリッジと呼ばれる一連のメモリの読みとり
と書き込み動作を生成する。その詳細は、例えば、割り
込み技術については、NS32CG16プロセッサのデ
ータシートが有益である。
【0081】バイトイネーブル CPUコアは、バイトイネーブルSFBEP0−3を使
用して、読みとりと書き込みシーケンスの間、バスアク
セスを実行する。バイトイネーブルはダブルワード(例
えば、32ビット)のどのバイトがアクセスされるかを
示す。このアクセスは、操作する長さに従って整列され
なければならない。表2に示されたアクセスだけが許さ
れる。CPUコアは、バス上での誤ったアクセスを避け
るために非整列アクセスにトラップをかける必要があ
る。例えば、(LOADまたはSTOREの間の)デー
タ転送がその操作の長さに従って整列されないときのケ
ースにおいて、トラップNAD(非整列データ)シーケ
ンスは、例えば、二桁の最小アドレスビットが「00」
以外のメモリ領域からダブルワードLOADが実行され
るときのように実行される。データバス上のデータ整列
はそのアドレスの下位ビットとそのデータ幅に従って、
そのバイトイネーブル信号に指し示された通りに、操作
されなければならない。例えば、データがバイト番号1
に書き込まれるとき、その時バイトイネーブル番号1が
アクティブにされ、データはデータビット8−15上に
置かれねばならない。WRITEトランザクション上
で、データを正しいデータビットのラインに置くことは
CPUコアの責任であり、READトランザクション上
でCPUコアはこれらのライン上でそのデータを待たね
ばならない。これらの要求仕様に合わせて、データ整列
技術は、上記の通り、CPUコア内に実現されている。
表2は様々なバスアクセスの間のバイトイネーブル値を
識別するものである。
【0082】
【表2】
【0083】CPUコアの特徴 読みとり/書き込みトランザクションの操作に加えて、
CPUコア28にはまた次の特徴を持つことがかなり望
まれている。即ち、拡張バストランザクション(既に説
明した)、バストランザクションをキャンセルする機
能、および他の「バスユーザ」にそのバスを通して制御
を得させる機能である。後の二つについては以下に説明
する。
【0084】バストランザクションのキャンセル:トラ
ップNAD(非整列データトラップ)を引き起こすアク
セスにおいて、SFCANP信号はTbで発せられる。
システムはこの信号を使用してメモリ書き込みを回避
し、特に読み取りが破壊的であるなら、メモリ/IO読
みとりを回避する。どのような場合でも、CPUコア
は、データバスから宛先レジスタへのデータの書き込み
を回避する。こうして、その値は不変のまま保たれる。
既に開始されたバストランザクションをキャンセルする
機能は、全ての例外条件がチェックされるまでトランザ
クションの開始を引き留めるために重要である。例え
ば、NADトラップ(非整列データ)条件は、アドレス
が算出されバストランザクションが発せられた後の唯一
のサイクルとして知られる。キャンセルという特徴によ
り、例えばトラップを解析するために使用されるひとつ
のサイクルでのLOAD/STOREトランザクション
の開始を引き留める必要を回避する。
【0085】図15はSFCANP信号を発することに
よるREADバスサイクルのキャンセルを説明してい
る。キャンセルサイクルはTa−A2である。図16は
拡張READサイクル(例えば、ウェイト状態を持つ読
みとり)のキャンセルを説明している。キャンセルサイ
クルはTa−A2である。図17と18は、データを書
き込むときに起きるキャンセルであり、それぞれ図15
と16に対応する。
【0086】バスアクセス制御:CPUコアは、(DM
Aユニットのような)他のバスユーザからの要求におい
てバスに対するそのアクセスを放棄する機能を持つ。こ
の機能はSFHOLDPやSFHLDAP信号で実現さ
れている。図12、13および14は、信号SFHOL
DPに対するCPUコアの応答を示している。SFHO
LDPを発することによって、外部デバイスはバスに対
するアクセスを要求する。CPUコアからのSFHLD
APの受信時とSFHOLDがアクティブになっている
間、デバイスはバスサイクルを実行し、CPUコアはこ
の時点でSFADP、SFCANP、SFDTP、SF
RDP、SFWRP、SFBEPをトライステートにす
る。また、SFTANは、コアによりアクティブにされ
ることはない。バスの制御をCPUコアに返すために、
デバイスはSFHOLDPをローレベルにし、CPUコ
アは、SFHLDAPをローレベルにすることによって
バスのアクノリッジを返す。
【0087】CPUコアは各Tbサイクルの始めにSF
HOLDPをサンプリングする。SFHOLDPが発せ
られているならば、SFHLDAPがTbの終わりに発
せられる。図12に示す通り、Taサイクルは(吊り上
げられているならば)開始されていない。バスはまだ放
棄されていない。SFHOLDPが次のサイクルの始め
でまだ発せられているならば、それからバスはそのサイ
クルの終わりで放棄される。こうして、一つのサイクル
の間SFHOLDPを発することはTaサイクルを引き
留めることだけし、バスの放棄は行わない。システムが
SFRDYP入力を負論理発信(ローレベル)するため
にバスサイクルが拡張されるならば、CPUコアは、S
FRDYP入力がハイレベルになり拡張Tbが実行され
た後にだけSFHLDAPを発信する。
【0088】チップ外デバイスのアクセス:上述の単純
化されたバス制御の調整をもって、CPUコア28は、
作業空間を提供しランタイムデータを保つオンチップR
AM32とともに動作する。オンチップ周辺装置34
は、割り込み制御ユニット、UARTもしくは他のタイ
プのI/Oデバイスのような周辺装置をチップ上に乗せ
ることによってシステムコストを減少させる。RAM3
2と周辺装置34はすべて、コアの読みとりと書き込み
トランザクションによりアクセスされるメモリマップデ
バイスである。
【0089】図3は、オンチップとチップ外のデバイス
双方を含むシステム構成を示している。オンチップデバ
イスは直接コアバス48、54と55に接続されてい
る。チップ外のデバイスDRAM67とEPROM69
はシステムBIU65とバス66を介してCPUコアに
よりアクセスされる。コアバス48、54と55はシス
テムBIU65をもう一つのメモリマップデバイスとし
て見ている。システムBIU65はオンチップバストラ
ンザクションをチップ外のシステム要求仕様に合わせて
変換する。
【0090】ASP内のシステムBIU65は、チップ
外のシステム構成の要求仕様もしくは特定アプリケーシ
ョンの要求仕様に合うようにカスタム化されている。こ
れは、余計なものを含まない、要求される特徴の最小セ
ットである。例えば、外部バス66が16ビット幅なら
ば、システムBIU65は内部32ビットバスを16ビ
ット幅トランザクションに変換する(トランザクション
分割)。
【0091】システムBIU65はDRAMデバイス6
7やEPROMデバイス69に対する直接的なインター
フェースを(適当な制御を生成して)提供する。システ
ムBIU65の様々な特定応用は、ここで開示された本
発明の記述から当業者ならば容易に実現できるものであ
る。例えば、システムBIU65はプログラム可能なウ
ェイト状態発生器を含み、これは様々なアクセスタイム
でデバイスと直接的なインターフェースを取ることがで
きる。(32と8ビットバス、バスバーストまたは動的
ウェイト状態といった)特徴がアプリケーションで要求
されていないならば、ASP仕立てのシステムBIUは
これらをサポートしない。CPUコアがBIUを含むと
き、これらの特徴はコアBIUの一部となってしまい、
それゆえ、これらはASP内で余計なものとなる。一
方、DRAMコントローラやウェイト状態発生器のよう
なバスの特徴となるものはシステムBIU内に(しかし
コアBIU内ではない)(1)チップ外の動作に調整さ
れたコアBIUを使用しての従来のアプローチと(2)
オンチップ動作に調整されたコアBIUを使用しての本
発明のアプローチの双方において実現されねばならない
が、アプローチ(1)を実現する利点は何もない。アプ
ローチ(2)の適用は常により有益なもので好ましい。
【0092】オンチップデバイスへのアクセスの間のパ
フォーマンスは外部メモリの存在によって低下されるも
のではない。これは高速オンチップデバイスと低速チッ
プ外デバイスの混合により最適なパフォーマンスが得ら
れることを意味する。
【0093】オンチップデバイスのアクセス:図19は
ASPユニット75を示し、これはオフチップ77であ
るメモリをサポートするものではない。オンチップRA
M32は作業空間を提供しランタイムデータを保つ。オ
ンチップROM81は全ての要求コードと定数データを
保つ。オンチップ周辺装置34は外部システムに対する
要求インターフェースを提供する。ポートまたは割り込
みコントローラのような様々な周辺デバイスが使用され
ている。RAM、ROMや様々なモジュールは全て、C
PUコア28の読みとりと書き込みトランザクションに
よりアクセスされるメモリマップデバイスである。全て
のアクセスがオンチップであるため、このシステムは如
何なるタイプの外部メモリ制御信号も発生する必要がな
く、システムBIUは実現されない。
【0094】この例において、ASPのコストはチップ
外のメモリサポート機能を実現しないことによって減少
される。加えて、オンチップROMとRAMを伴うオン
チップに調整されたバスは特筆すべきことにメモリに対
するアクセスをスピードアップし、チップ外の命令キャ
ッシュやデータキャッシュから得るよりも高いパフォー
マンスを提供する。
【0095】結論 上述からきわめて明らかなように、オンチップバス48
と54上で情報を通信するためのコアBIU36は、本
発明の原理に従い色々な方法でオンチップデバイスに調
整されている。例えば、ASPは1サイクルのスループ
ット(例えば、各クロックサイクルにおいて新しいバス
サイクル(トランザクション)を発し得る)と2サイク
ルの待ち時間(例えば、READバスサイクルの開始か
らデータが受信されるまでに2サイクルを要する)を達
成した。こうしたパフォーマンスは、非常に高価なシス
テムとバスにおいてのみ従来のバスにより達成されるも
のであるが、本発明によって経済効率良く成し遂げら
れ、それは多重アドレス/データバスを使用しないせい
である。多重バスが使用されたとしたなら、最も可能な
パフォーマンスで2サイクルスループットであろう。ま
た、多重化およびデマルチプレクシング回路は本発明の
バスには要求されない。2サイクルバス待ち時間は重要
で、それは例えば、ブランチ/ジャンプ命令を実行する
上で待ち時間が問題になるからである。キャンセル信号
(SFCANP)の使用はまた、トランザクションを発
するための待ち時間を減少させるのに貢献し、それは、
例えば、トラップ条件を解析するのに使用される1サイ
クルを待つことなく、アドレスが算出されると直ちにト
ランザクションが発せられるためである。その上、未使
用の特徴は含まれていない。上述のバスの調整は、異な
るバス幅のサポート上の不必要な取り込みを無くす。さ
らに、ウェイト状態発生器(これは図2のCGコアで必
要とされ、NS32CG1Gデバイスのデータシートで
指し示されているものである)は必要としない。加え
て、(CGコア内で使用されるDBEのような)バスバ
ッファ制御信号も必要としない。こうして、設計の単純
化やASPのコスト削減は別にしても、パフォーマンス
の価値ある利得が達成されている。
【0096】本発明のバスコントロールは比較的単純で
あり、それは三つの信号(例えば、SFTAN、SFR
DPおよびSFWRP)だけが、基本的なREADとW
RITE動作を実行する制御信号の最小セットとして要
求されるからである。本発明の他の有利な面は、多くの
バスマスターによりバスの分割を可能にするHOLD/
HOLDAの使用を含むことである。これはまたバス上
で引き留め効果をもたらす。加えて、SFRDYPの使
用はバスサイクルを拡張して低速デバイスをサポートす
る。
【0097】上記の通り、本発明では進歩的な特定詳細
を提示しているが、様々な変更が可能であることは当業
者にとって明らかである。例えば、スレーブまたはコプ
ロセッサユニットがそのそれぞれのサポート信号ととも
に付加されることは可能である。命令および/またはデ
ータキャッシュがそのそれぞれのサポート信号とともに
付加されることも可能である。バッファシフタやマルチ
プライヤのようなユニットが付加されたり、CPUコア
から移動させたりすることも可能である。(INT、N
MIおよびSFPESのような)非バス信号は削除可能
で、その他の信号も付加可能である。SFSTPのよう
な状態指示信号は削除または付加可能である。バイトイ
ネーブルシステムは、バイトアクセスの代わりに複数バ
イトでの読み書きをするものに変更可能である。また、
ALUの代わりに加算器を使用することが可能で、これ
をアドレス計算の専用加算器に使用することもできる。
PH1やPH2の代わりに、信号クロックバスが使用可
能で、これはクロック信号のハイレベルとローレベルの
両方をカウントする。HOLD/HOLDAアプローチ
が変更可能で、そのためCPUコアはバス要求を出力
し、バス許可を受け取った後にだけバスサイクルを発す
る。上記の通り、SFTAN、SFRDPおよびSFW
RP信号の三つの使用だけが要求される一方で、データ
方向信号だけ、または読みとりや書き込み信号だけを伴
ってSFTANのような基本的READやWRITE動
作を制御するために他の組み合わせもまた使用可能であ
る。これらと他の全てのこうした変更は次の請求項で規
定される本発明の範囲に属するものである。
【0098】
【発明の効果】本発明は上述のように、多重バスを使用
することなく、CPUコアがチップ上のメモリデバイス
と内部バスインターフェースユニットを介してアクセス
し、またチップ外のメモリデバイスとシステムバスイン
ターフェースユニットを介してアクセスする、これらバ
スアクセスにおいて高いパフォーマンスと経済性を達成
した。
【図面の簡単な説明】
【図1】図1は従来技術の組み込みプロセッサシステム
構造を図解する概略ブロック図である。
【図2】図2は図1で使用されている従来技術のCPU
コアの詳細図である。
【図3】図3は本発明に従って組み込みプロセッサシス
テム構造を図解し、チップ外のデバイスを持つ概略ブロ
ック図である。
【図4】図4は本発明を実現するために使用されたCP
Uコアの詳細図である。
【図5】図5はSTOREとLOADの動作のアドレス
を生成を図解するものである。
【図6】図6はデータ整列を実行するSTORE動作の
二番目のサイクルを図解するものである。
【図7】図7はLOAD動作の二番目のサイクルを図解
するものである。
【図8】図8はデータ整列が実行されるLOAD動作の
三番目のサイクルを図解するものである。
【図9】図9は単純化されたバス状態図である。
【図10】図10は基本的な読みとりと書き込みバスサ
イクルのタイミングチャートである。
【図11】図11は拡張された読みとりと書き込みバス
サイクルのタイミングチャートである。
【図12】図12はHOLD要求によって引き起こされ
た1サイクルバス機能停止のタイミングチャートであ
る。
【図13】図13はHOLDとHOLDアクノリッジバ
スサイクルのタイミングチャートである。
【図14】図14は拡張バスサイクルの間に受信したH
OLD要求のタイミングチャートである。
【図15】図15はキャンセルされた読みとりトランザ
クションのタイミングチャートである。
【図16】図16は拡張バスサイクルでキャンセルされ
た読みとりトランザクションのタイミングチャートであ
る。
【図17】図17はキャンセルされた書き込みトランザ
クションのタイミングチャートである。
【図18】図18は拡張バスサイクルでキャンセルされ
た書き込みトランザクションのタイミングチャートであ
る。
【図19】図19は本発明に従って組み込みプロセッサ
システム図解し、チップ外のデバイスを持つ概略ブロッ
ク図である。
【符号の説明】
28 中央処理装置コア 30 組み込みマイクロプロセッサ 32 ランダムアクセスメモリ 34 周辺装置回路 36 バスインターフェースユニット 48 データバス 54 アドレスバス 55 制御バス 65 システムバスインターフェースユニット 66 外部バス 67 ダイナミックRAM 69 イレーザブルプログラマブルROM
フロントページの続き (72)発明者 オハド・ファリク イスラエル国ペタッチ−ティクヴァ,シャ パイラ・ストリート・54 (72)発明者 アハロン・オストラー イスラエル国ハーツェリア,エル−アル・ ストリート・4 (72)発明者 イェアー・ベイダッチ イスラエル国ラマット−ハサロン,シヴテ ィ−イスラエル・ストリート・22 (72)発明者 アルバート・サンドバンク イスラエル国ナタニア,バー−イェハダ, 5

Claims (38)

    【特許請求の範囲】
  1. 【請求項1】マイクロプロセッサを基本とするデータ処
    理装置であって、 中央処理装置(「CPU」)コアと、 CPUコアとともにチップ上に集積された少なくとも一
    つのメモリデバイスと、 バスを介してメモリデバイスとCPUコアが通信を行う
    アクセス手段と、少なくとも一つのメモリデバイスとオ
    ンチップ操作を行うよう調整されたアクセス手段からな
    る前記マイクロプロセッサを基本とするデータ処理装
    置。
  2. 【請求項2】前記データ処理装置であって、前記アクセ
    ス手段がオンチップデバイスをアクセスするタスクのセ
    ットを実行する手段を含み、前記タスクのセットが少な
    くとも一つのメモリデバイスをアクセスするために使用
    されるタスクに制限された請求項1のデータ処理装置。
  3. 【請求項3】前記データ処理装置であって、前記アクセ
    ス手段がオンチップデバイスをアクセスするタスクのセ
    ットを実行する手段を含み、前記タスクのセットが少な
    くとも一つのメモリデバイスをアクセスするために反転
    される必要のないタスクに制限された請求項2のデータ
    処理装置。
  4. 【請求項4】前記データ処理装置であって、前記アクセ
    ス手段が一つのバス幅だけをサポートする手段を含む請
    求項3のデータ処理装置。
  5. 【請求項5】前記データ処理装置であって、予め決定さ
    れたクロックサイクルを持つクロック信号を発生するこ
    とによりデータ処理装置の動作を制御する手段をさらに
    含み、前記アクセス手段が全トランザクションが実行さ
    れる一つのバスサイクルが二つのクロックサイクルに等
    しくなる各クロックサイクルで新しいトランザクション
    を発することによりREADおよび/またはWRITE
    トランザクションの一つのサイクルスループットを生成
    する手段を含む請求項4のデータ処理装置。
  6. 【請求項6】前記データ処理装置であって、アクセスさ
    れる特定のメモリデバイスのスピードが一つのサイクル
    スループットに適応できないことを示す信号に応答して
    バスサイクルを拡張する手段をさらに含む請求項5のデ
    ータ処理装置。
  7. 【請求項7】前記データ処理装置であって、条件の検索
    に応答して実行中のトランザクションをキャンセルの手
    段であって、このキャンセル機能を除き、前記条件が解
    決されるまでトランザクションの開始の引き伸ばしを要
    求する手段をさらに含む請求項6のデータ処理装置。
  8. 【請求項8】前記データ処理装置であって、前記バスが
    分割されたデータとアドレスのバスを含み、アドレスと
    データが多重化されない、請求項7のデータ処理装置。
  9. 【請求項9】前記データ処理装置であって、前記アクセ
    ス手段がデータ読みとりバスサイクル(SFRDP)を
    示す信号、データ書き込みバスサイクル(SFWRP)
    を示す信号およびCPUコアがTaバスサイクルにある
    ことを示す信号だけを伴い基本的なREADとWRIT
    E動作を実行するバスを制御する手段を含む請求項8の
    データ処理装置。
  10. 【請求項10】前記データ処理装置であって、前記アク
    セス手段がCPUコアの一部である請求項9のデータ処
    理装置。
  11. 【請求項11】前記データ処理装置であって、前記アク
    セス手段がコアのバスインターフェースユニット(「B
    IU」)である請求項10のデータ処理装置。
  12. 【請求項12】前記データ処理装置であって、前記アク
    セス手段がオンチップデバイスをアクセスするタスクの
    セットを実行する手段を含み、前記タスクのセットが少
    なくとも一つのメモリデバイスをアクセスするために反
    転される必要のないタスクに制限された請求項1のデー
    タ処理装置。
  13. 【請求項13】前記データ処理装置であって、前記アク
    セス手段が一つのバス幅だけをサポートする手段を含
    む、請求項1のデータ処理装置。
  14. 【請求項14】前記データ処理装置であって、前記アク
    セス手段が予め決定されたクロックサイクルを持つクロ
    ック信号を発生することによりデータ処理装置の動作を
    制御する手段をさらに含み、前記アクセス手段が全トラ
    ンザクションが実行される一つのバスサイクルが二つの
    クロックサイクルに等しくなる各クロックサイクルで新
    しいトランザクションを発することによりREADおよ
    び/またはWRITEトランザクションの一つのサイク
    ルスループットを生成する手段を含む、請求項1のデー
    タ処理装置。
  15. 【請求項15】前記データ処理装置であって、アクセス
    される特定のメモリデバイスのスピードが一つのサイク
    ルスループットに適応できないことを示す信号に応答し
    てバスサイクルを拡張する手段をさらに含む、請求項1
    4のデータ処理装置。
  16. 【請求項16】前記データ処理装置であって、条件の検
    索に応答して実行中のトランザクションをキャンセルの
    手段であって、このキャンセル機能を除き、前記条件が
    解決されるまでトランザクションの開始の引き伸ばしを
    要求する手段をさらに含む、請求項1のデータ処理装
    置。
  17. 【請求項17】前記データ処理装置であって、前記バス
    が分割されたデータとアドレスのバスを含み、アドレス
    とデータが多重化されない、請求項1のデータ処理装
    置。
  18. 【請求項18】前記データ処理装置であって、前記アク
    セス手段がCPUコアの一部である請求項1のデータ処
    理装置。
  19. 【請求項19】前記データ処理装置であって、前記アク
    セス手段がコアのバスインターフェースユニット(「B
    IU」)である請求項19のデータ処理装置。
  20. 【請求項20】マイクロプロセッサを基本とするデータ
    処理システムであって、 中央処理装置(「CPU」)コアと、 CPUコアとともにチップ上に集積された少なくとも一
    つの第一メモリデバイスと、 チップ外に配置された少なくとも一つの第二メモリデバ
    イスと、 内部バスを介して少なくとも一つの第一メモリデバイス
    とCPUコアが通信を行う第一アクセス手段と、少なく
    とも一つの第一メモリデバイスとオンチップ操作を行う
    よう調整された第一アクセス手段と、 外部バスを介して少なくとも一つの第二メモリデバイス
    とCPUコアが通信を行う第二アクセス手段と、少なく
    とも一つの第二メモリデバイスの要求仕様に内部バス上
    のトランザクションを変換する手段を持つ第二アクセス
    手段からなる前記マイクロプロセッサを基本とするデー
    タ処理システム。
  21. 【請求項21】前記データ処理装置であって、前記第二
    アクセス手段が少なくとも一つの第二メモリデバイスの
    要求仕様にカスタム化する手段を含む、請求項20のデ
    ータ処理装置。
  22. 【請求項22】前記データ処理装置であって、前記第一
    アクセス手段がCPUコアの一部である請求項20のデ
    ータ処理装置。
  23. 【請求項23】前記データ処理装置であって、前記第一
    アクセス手段がコアのバスインターフェースユニット
    (「BIU」)である請求項22のデータ処理装置。
  24. 【請求項24】前記データ処理装置であって、前記第二
    アクセス手段がシステムBIUである請求項20のデー
    タ処理装置。
  25. 【請求項25】マイクロプロセッサを基本とするデータ
    処理装置において中央処理装置(「CPU」)コアとと
    もにチップ上に集積された少なくとも一つのメモリデバ
    イスをアクセスする方法であって、 バスを介して少なくとも一つのメモリデバイスとCPU
    コアが通信を行うステップと、 少なくとも一つのメモリデバイスとオンチップ操作を行
    う通信を調整するステップからなる前記アクセス方法。
  26. 【請求項26】前記方法であって、前記調整ステップが
    オンチップデバイスをアクセスするタスクのセットを調
    整するステップを含み、前記タスクのセットが少なくと
    も一つのメモリデバイスをアクセスするために使用され
    るタスクに制限された請求項25の方法。
  27. 【請求項27】前記方法であって、前記調整ステップが
    オンチップデバイスをアクセスするタスクのセットを調
    整するステップを含み、前記タスクのセットが少なくと
    も一つのメモリデバイスをアクセスするために反転され
    る必要のないタスクに制限された請求項26の方法。
  28. 【請求項28】前記方法であって、前記調整ステップが
    一つのバス幅だけをサポートするよう調整するステップ
    を含む請求項27の方法。
  29. 【請求項29】前記方法であって、前記調整ステップが
    予め決定されたクロックサイクルを持つクロック信号を
    発生することによりデータ処理装置の動作を制御するス
    テップをさらに含み、前記調整ステップが全トランザク
    ションが実行される一つのバスサイクルが二つのクロッ
    クサイクルに等しくなる各クロックサイクルで新しいト
    ランザクションを発することによりREADおよび/ま
    たはWRITEトランザクションの一つのサイクルスル
    ープットを生成するよう調整するステップを含む請求項
    28の方法。
  30. 【請求項30】前記方法であって、前記調整ステップが
    アクセスされる特定のメモリデバイスのスピードが一つ
    のサイクルスループットに適応できないことを示す信号
    に応答してバスサイクルを拡張するよう調整するステッ
    プをさらに含む請求項29の方法。
  31. 【請求項31】前記方法であって、条件の検索をキャン
    セルするステップであって、このキャンセル機能を除
    き、前記条件が解決されるまでトランザクションの開始
    の引き伸ばしを要求するよう調整するステップをさらに
    含む請求項30の方法。
  32. 【請求項32】前記方法であって、前記バスがアドレス
    とデータの多重化されていない分割されたデータとアド
    レスを提供するよう調整するステップを含む請求項31
    の方法。
  33. 【請求項33】前記方法であって、前記調整ステップが
    データ読みとりバスサイクル(SFRDP)を示す信
    号、データ書き込みバスサイクル(SFWRP)を示す
    信号およびCPUコアがTaバスサイクルにあることを
    示す信号だけを伴い基本的なREADとWRITE動作
    を実行するバスを制御するステップを含む請求項32の
    方法。
  34. 【請求項34】前記方法であって、予め決定されたクロ
    ックサイクルを持つクロック信号を発生することにより
    データ処理装置の動作を制御するステップをさらに含
    み、前記調整ステップが全トランザクションが実行され
    る一つのバスサイクルが二つのクロックサイクルに等し
    くなる各クロックサイクルで新しいトランザクションを
    発することによりREADおよび/またはWRITEト
    ランザクションの一つのサイクルスループットを生成す
    るステップを含む請求項25の方法。
  35. 【請求項35】前記方法であって、アクセスされる特定
    のメモリデバイスのスピードが一つのサイクルスループ
    ットに適応できないことを示す信号に応答してバスサイ
    クルを拡張するステップをさらに含む請求項25の方
    法。
  36. 【請求項36】前記方法であって、条件の検索をキャン
    セルするステップであって、このキャンセル機能を除
    き、前記条件が解決されるまでトランザクションの開始
    の引き伸ばしを要求するよう調整するステップをさらに
    含む請求項25の方法。
  37. 【請求項37】前記方法であって、前記バスがアドレス
    とデータの多重化されていない分割されたデータとアド
    レスを提供するよう調整するステップをさらに含む請求
    項25の方法。
  38. 【請求項38】マイクロプロセッサを基本とするデータ
    処理システムにおいて中央処理装置(「CPU」)コア
    と少なくとも一つのチップ外の第二メモリデバイスとと
    もにチップ上に集積された少なくとも一つの第一メモリ
    デバイスをアクセスする方法であって、 内部バスを介して少なくとも一つの第一メモリデバイス
    とCPUコアが通信を行うステップと、 少なくとも一つの第一メモリデバイスと内部バスを介し
    てオンチップ操作を行う通信を調整するステップと、 外部バスを介して少なくとも一つのチップ外の第二メモ
    リデバイスとCPUコアが通信を行うステップと、 CPUコアと少なくとも一つの第二メモリデバイスの間
    の通信を効果的にする少なくとも一つの第二メモリデバ
    イスの要求仕様に内部バス上のトランザクションを変換
    するステップからなる前記アクセス方法。
JP5312264A 1992-12-11 1993-12-13 オンチップメモリデバイスのアクセスのために最適化されたcpuコアバス Pending JPH076151A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US98921792A 1992-12-11 1992-12-11
US989217 1992-12-11

Publications (1)

Publication Number Publication Date
JPH076151A true JPH076151A (ja) 1995-01-10

Family

ID=25534886

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5312264A Pending JPH076151A (ja) 1992-12-11 1993-12-13 オンチップメモリデバイスのアクセスのために最適化されたcpuコアバス

Country Status (4)

Country Link
US (1) US5822779A (ja)
EP (1) EP0601715A1 (ja)
JP (1) JPH076151A (ja)
KR (1) KR940015805A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006134804A1 (ja) 2005-06-15 2006-12-21 Matsushita Electric Industrial Co., Ltd. 外部デバイスアクセス装置

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9305801D0 (en) * 1993-03-19 1993-05-05 Deans Alexander R Semiconductor memory system
JP2848314B2 (ja) * 1996-02-28 1999-01-20 日本電気株式会社 半導体記憶装置
US6112316A (en) * 1997-12-03 2000-08-29 Micron Electronics, Inc. System for use of bus parking states to communicate diagnostic information
US6092219A (en) * 1997-12-03 2000-07-18 Micron Technology, Inc. Method for use of bus parking states to communicate diagnostic information
JP4400895B2 (ja) * 1999-01-07 2010-01-20 株式会社日立製作所 ディスクアレイ制御装置
US6701398B1 (en) 1999-04-07 2004-03-02 Cradle Technologies, Inc. Global bus synchronous transaction acknowledge with nonresponse detection
US6668339B1 (en) * 1999-07-28 2003-12-23 Mitsubishi Denki Kabushiki Kaisha Microprocessor having a debug interruption function
US20040114609A1 (en) * 2001-02-14 2004-06-17 Ian Swarbrick Interconnection system
JP4388895B2 (ja) * 2002-09-06 2009-12-24 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト リコンフィギュアラブルなシーケンサ構造
US8259121B2 (en) * 2002-10-22 2012-09-04 Broadcom Corporation System and method for processing data using a network
US7584009B2 (en) * 2003-03-21 2009-09-01 D2Audio Corporation Multi-chip PWM synchronization and communication
US7929718B1 (en) 2003-05-12 2011-04-19 D2Audio Corporation Systems and methods for switching and mixing signals in a multi-channel amplifier
JP2004362215A (ja) * 2003-06-04 2004-12-24 Toshiba Corp プロセッサ及び半導体集積回路
JP2005086683A (ja) * 2003-09-10 2005-03-31 Fanuc Ltd 誤り復号回路、データバス制御方法、及びデータバスシステム
JP4489454B2 (ja) * 2004-02-16 2010-06-23 富士通マイクロエレクトロニクス株式会社 半導体集積回路
US7269704B2 (en) * 2005-03-30 2007-09-11 Atmel Corporation Method and apparatus for reducing system inactivity during time data float delay and external memory write
KR20070122227A (ko) * 2005-03-30 2007-12-28 아트멜 코포레이션 시간 데이터 플로팅 딜레이 및 외부 메모리 기록 동안시스템 비활성을 감소시키는 방법 및 장치
US8099448B2 (en) * 2005-11-02 2012-01-17 Qualcomm Incorporated Arithmetic logic and shifting device for use in a processor
US8285895B2 (en) * 2007-08-06 2012-10-09 Winbond Electronics Corporation Handshake free sharing in a computer architecture
US8806093B2 (en) * 2010-04-01 2014-08-12 Intel Corporation Method, apparatus, and system for enabling a deterministic interface
US20120198267A1 (en) * 2011-01-31 2012-08-02 Srinjoy Das System and Method for Facilitating Data Transfer Between a First Clock Domain and a Second Clock Domain
GB2563587B (en) 2017-06-16 2021-01-06 Imagination Tech Ltd Scheduling tasks

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4388687A (en) * 1981-01-05 1983-06-14 Honeywell Information Systems Inc. Memory unit
US4583168A (en) * 1983-09-12 1986-04-15 Fairchild Semiconductor Corporation Read only memory and decode circuit
JPS6068441A (ja) * 1983-09-22 1985-04-19 Fujitsu Ltd ワンチツプ・マイクロ・コンピユ−タ
US4870562A (en) * 1986-03-20 1989-09-26 Nec Corporation Microcomputer capable of accessing internal memory at a desired variable access time
JP2569514B2 (ja) * 1986-12-12 1997-01-08 株式会社日立製作所 情報処理装置
GB2200483B (en) * 1987-01-22 1991-10-16 Nat Semiconductor Corp Memory referencing in a high performance microprocessor
JPS63245547A (ja) * 1987-03-31 1988-10-12 Hitachi Ltd デ−タ処理装置
US5136691A (en) * 1988-01-20 1992-08-04 Advanced Micro Devices, Inc. Methods and apparatus for caching interlock variables in an integrated cache memory
JPH03167649A (ja) * 1989-11-28 1991-07-19 Nec Corp ウエイト・サイクル制御装置
JPH03210649A (ja) * 1990-01-12 1991-09-13 Fujitsu Ltd マイクロコンピュータおよびそのバスサイクル制御方法
KR100210205B1 (ko) * 1990-03-15 1999-07-15 리패치 스톨캐쉬를 제공하기 위한 장치 및 방법
US5193167A (en) * 1990-06-29 1993-03-09 Digital Equipment Corporation Ensuring data integrity by locked-load and conditional-store operations in a multiprocessor system
US5282272A (en) * 1990-12-21 1994-01-25 Intel Corporation Interrupt distribution scheme for a computer bus
US5250940A (en) * 1991-01-18 1993-10-05 National Semiconductor Corporation Multi-mode home terminal system that utilizes a single embedded general purpose/DSP processor and a single random access memory
US5265211A (en) * 1992-01-02 1993-11-23 International Business Machines Corporation Arbitration control logic for computer system having dual bus architecture
US5469544A (en) * 1992-11-09 1995-11-21 Intel Corporation Central processing unit address pipelining

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006134804A1 (ja) 2005-06-15 2006-12-21 Matsushita Electric Industrial Co., Ltd. 外部デバイスアクセス装置
US7685351B2 (en) 2005-06-15 2010-03-23 Panasonic Corporation External device access apparatus

Also Published As

Publication number Publication date
KR940015805A (ko) 1994-07-21
US5822779A (en) 1998-10-13
EP0601715A1 (en) 1994-06-15

Similar Documents

Publication Publication Date Title
JPH076151A (ja) オンチップメモリデバイスのアクセスのために最適化されたcpuコアバス
US4648034A (en) Busy signal interface between master and slave processors in a computer system
JP3454866B2 (ja) バスユニットと実行ユニットとを含むタイプのプロセッサを動作させる方法、中央処理装置、コンピュータシステム、およびクロック制御装置回路
US5774684A (en) Integrated circuit with multiple functions sharing multiple internal signal buses according to distributed bus access and control arbitration
US5423009A (en) Dynamic sizing bus controller that allows unrestricted byte enable patterns
US5440747A (en) Data processor with control logic for storing operation mode status and associated method
US5689653A (en) Vector memory operations
US20070162640A1 (en) Method and system for efficient context swapping
US7308320B2 (en) Processor core for using external extended arithmetic unit efficiently and processor incorporating the same
JP2001521215A (ja) マルチスレッド式プロセッサでスレッド切替えイベントを選択するための方法および装置
US6401197B1 (en) Microprocessor and multiprocessor system
JPH0359749A (ja) バスコントローラ
US5761491A (en) Data processing system and method for storing and restoring a stack pointer
US6094711A (en) Apparatus and method for reducing data bus pin count of an interface while substantially maintaining performance
KR970003321B1 (ko) 코프로세서 지정 시스템
US5410721A (en) System and method for incrementing a program counter
WO1996008769A1 (en) Computer instruction prefetch system
JPH07120338B2 (ja) 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ
US6584573B1 (en) Placing a computer system into a sleeping state
US6738837B1 (en) Digital system with split transaction memory access
US6199156B1 (en) System for explicitly referencing a register for its current content when performing processor context switch
US20030196072A1 (en) Digital signal processor architecture for high computation speed
US20020199081A1 (en) Data processing system and control method
EP1107110B1 (en) Instruction loop buffer
US5742842A (en) Data processing apparatus for executing a vector operation under control of a master processor