JPH0221350A - 改良された転送制御による直接メモリ・アクセス方式を持つデータ処理装置 - Google Patents

改良された転送制御による直接メモリ・アクセス方式を持つデータ処理装置

Info

Publication number
JPH0221350A
JPH0221350A JP33274588A JP33274588A JPH0221350A JP H0221350 A JPH0221350 A JP H0221350A JP 33274588 A JP33274588 A JP 33274588A JP 33274588 A JP33274588 A JP 33274588A JP H0221350 A JPH0221350 A JP H0221350A
Authority
JP
Japan
Prior art keywords
dma
bus
data
memory
address
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.)
Granted
Application number
JP33274588A
Other languages
English (en)
Other versions
JP2777387B2 (ja
Inventor
G Hull Charles Jr
チャールズ ジー ハル ジュニア
R Simar Laurence Jr
ローレンス アール シーマー ジュニア
F Potts James
ジェイムズ エフ ポッツ
Asal Kim
キム アサル
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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
Priority claimed from US07/138,419 external-priority patent/US4989113A/en
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPH0221350A publication Critical patent/JPH0221350A/ja
Application granted granted Critical
Publication of JP2777387B2 publication Critical patent/JP2777387B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 本出願は1987年3月13日提出の特許出願S、N、
 025,443の一部継続である。
本出願はすべて1987年3月13日提出の特許出願S
、N、 025,41?、S、N、 025,756、
及びS、 N。
025、413及び1987年4月6日提出のS、 N
035、413 ともまた関係する。
本発明はデータ処理装置に関し、また特に直接メモリ・
アクセス方式(DMA)と関連する単一チップ・マイク
ロコンピュータの構造に関する。
発明の背景 マイクロ・プロセッサ装置はゲイリー・ダブリュ・デー
タ(Gary H,Boone )氏に与えられテキサ
スインストルメント社に譲渡された米国特許No。
3、757.306に示されMO3/LSI技術によっ
て形成される単一半導体集積回路即ち“チップ”のなか
に通常台まれるデジタル・プロセッサ用中央処理装置即
ちCPUである。ブーン氏の特許は単一チップで8ビッ
トのCPUを示し、これは平行ALU (算術論理回路
)、データとアドレスのレジスタ、命令レジスタ、及び
制御デコーダーを示し、これらすべてはフォノ・ノイマ
ン構造を使いまたデータ・アドレス及び命令用2方向平
行母線を使用して相互に接続する。ゲイリー・ダブリュ
・ブーン氏に与えられテキサス・インストルメント社に
譲渡された米国特許第4.074.351は4ビットの
平行ALU及びその制御回路を、バーバード構造で構成
されるプログラム記憶装置に対してはオン・チップBO
Mをまたデータ記憶装置に対してはオンチップRAMを
付けて、含む単一チップ“マイクロ・コンピュータ”の
タイプの装置を示す。用語マイクロ・プロセッサは通常
プログラムとデータの記憶装置に外部記憶を使用する装
置に使い、一方用語マイクロ・コンピュータはプログラ
ムとデータの記憶装置用オン・チップのROMとRAM
を付けた装置に使う。本発明を記載するとき、用語“マ
イクロコンピュータ”は主にオン・チップROMを持た
ないマイクロコンピュータを指すのに使用されるが、こ
れらの用語はしばしばこの技術では互いに流用されるの
で、この記載ではこれらの用語の一方または他方の用語
を使うことは本発明の特徴について制限を与えるもので
はないことが理解されるべきである。
現代のマイクロ・コンピュータは2つの一般的クラスに
分けられる。即ち般用マイクロプロセッサ及び特殊目的
マイクロコンピュータ/マイクロプロセッサである。般
用マイクロプロセッサ、例えばモートロラ社によって製
造されるM68020は広い範囲の仕事のいずれも行な
うようユーザーによってプログラムされることができる
よう設計されており、またよってパーソナル・コンピュ
ータのような機器のなかで中央処理装置としてしばしば
使用される。そのような般用マイクロプロセッサは、広
い範囲の算術及び論理機能に対して良好な性能を示す一
方、勿論そのような機能のうちユーザーがマイクロコン
ピュータを使用するのに意図するいずれか特定のものに
対してまたは適応するように設計されていない。マイク
ロコンピュータの主たる機能を知ることにより、設計者
は、特殊目的マイクロコンピュータによる特殊な機能の
性能が、ユーザーによって創られるプログラムにはかか
わらず、般用マイクロ・コンピュータによる同じ機能の
性能をはるかに超えるようにマイクロコンピュータの構
造を決めることができる。
大いに改良した速さで特殊目的マイクロコンピュータに
よって行なわれる1つのそのような機能はデジタル信号
処理であり、特にデジタル・フィルターの実行及び高速
フーリエ変換に対して要求される計算である。そのよう
な計算は整数の掛は算、複数のビット・シフト、複数の
アンド加算、のような繰り返す操作から大きな程度成立
するため、特殊目的マイクロコンピュータはこれらの繰
り返す機能に特に適応するよう作られることができる。
そのような特殊目的マイクロコンピュータはテキサス・
インストルメントに譲渡された米国特許第4.577、
282号に記載されている。これらの計算に対するマイ
クロコンピュータの特別の設計は結果として般用マイク
ロプロセッサに勝る充分な性能改良をもたらして、その
ような特殊目的マイクロコンピュータをスピーチと影像
の処理のようなリャル・タイム適用するような特殊目的
マイクロコンピュータの使用を許した。
デジタル信号処理の適用は、そのコンピュータ集約的な
性質の故に、また寧ろメモリー・アクセス操作に集約す
る。よって、デジタル信号処理機能を行なうことにおい
てのマイクロコンビ二一夕の全体としての性能は単位時
間当たりに行なわれる特殊な計算の数によって決定され
るだけでなく、またマイクロコンピュータがシステム・
メモリーからデータを検索しまたシステム・メモリーに
データを記憶させることができる速度によって決定され
る。前記米国特許第4.577、282号に記載のマイ
クロコンピュータのような以前の特殊目的マイクロコン
ピュータはバーバード構造に変更を加えた構造を利用し
ていた。その結果データー・メモリーへのアクセスはプ
ログラム・メモリーへのアクセスから独立してまたはそ
れと同時に行なわれることができる。そのような構造は
、勿論追加の性能改良を許した。
しかしながら、フォノ・ノイマン構造の代りにバーバー
ド構造を使うことはある制限を与える。
これらの制限のあるものはデジタル信号処理適用におい
てマイクロコンピュータの性能に悪い影響を与えること
ができる。例えば、データとプログラムのメモリーは、
それらが異なる母線によってアクセスを行なわれるので
、一般に別々の物理的位置に存在するのではないとして
も別々のアドレス空間のなかに存在しなければならない
。よって、バーバード構造では第1に与えられるメモリ
ーはデータ・メモリーに与えらねばならず、また第2に
与えられるメモリーはプログラムメモリーとして与えら
れねばならない。これはプログラムの記憶に利用されて
いないデータ記憶を使用することを禁じることによって
、またはその逆でマイクロコンピュータの融通性を制限
する。
直接メモリー・アクセス方式(DMA)は般用と特殊目
的マイクロ・コンピュータの両方に対してもう1つの有
用な機能であり、またデジタル信号処理の適用で特に有
用な機能である。時代と共にマイクロコンピュータの性
能がよ(なったので、データと命令がメモリーから与え
られなければならない速さもまた大きくなった。オン・
チップDMA制御器はデータを与えること及びそれ自身
への命令を制御する仕事から中央処理装置を免れさせる
のに使われてきた。しかしながら、DMA転送の開始と
停止の制御は単一信号、例えばDMA制御レジスターの
なかのビットによって達成されている。これはDMA操
作の融通性を小さくする制御を与えた。何故ならば、−
度DMA転送が始まると、ブロックの転送の完全なアボ
ートによる場合を除いて、全ブロックの完了した転送の
まえにそれは停止されることができないからである。
そのようなりMA操作の制御の融通性のないことはある
状況では、中央処理装置が全ブロックのDMA転送の完
了を待ってアイドルしなければならないかまたはDMA
は無条件でアボートされそのあと再びスタート(DMA
サイクルの浪費)させねばならないような機械のサイク
ルの浪費を起こすであろう。
DMAllffi作が最も効率のよいとき、例えば中央
処理装置と対立しないようなときに起こることを許すよ
うにDMA操作を操作内で種々の状態に保持されるよう
DMA操作を制御することができることは、よって、有
利であろう。そのような制御は中央処理装置が有用な操
作を行なっていない時間の量を小さクシ、全体としての
マイクロコンピュータの性能を増大することを助けるで
あろう。
よって、マイクロコンピュータにオン・チップDMAコ
ントローラを設け、そのDMAコントローラーはそのな
かで種々の状態のとき転送を保持する能力を持つように
することは本発明の目的である。
そのような能力を保持状態を選択するため制御レジスタ
ーのなかに複数ビットを使用することによって与えるこ
とは本発明のさらに別の目的である。
DMA操作の外部の記憶装置との同期化に対して指定し
た割り込み端子より寧ろシステム割り込みを利用するこ
とは本発明のさらに別の目的である。
さらに別の目的及び本発明の利点はこの技術において普
通の技個を持つ人々にとって以下の明細書とその添附図
を参照することによって明白となるであろう。
発明の要約 本発明は、中央処理装置の仲介を要求することなしにD
MA転送を行なうためにオン・チップDMAコントロー
ラを持つマイクロコンピュータのなかに取り入れられる
ことができる。DMAコントローラはDMA転送に対し
て希望する始動/停止の条件を示すコードを受けるため
制御レジスタを含む。このコードは、DMAコントロー
ラは現在の読みまたは書き操作が完了したとき停止すべ
きであるとの指示に対してまたDMAコントローラは次
の書き込み操作の完了のとき停止すべきであることが示
されたとき無条件にDMA転送をアボートすることがで
きる。それに加えて、コードはDMAコントローラをし
てDMA1作をその現在の状態から例えばもし読み操作
のあと停止したならそれを再スタートするようにまたは
転送されているブロックのなかで無条件に再スタートさ
せることができる。DMAコントローラは状態表示コー
ドを制御レジスタのなかに置き、このコードはコンピュ
ータの残りの装置によって読まれることができる。DM
Aコントローラはまたシステム割り込みをしてDMA操
作だけに影響を与えることができるようにすることによ
ってソース及び/(または)#端を同期化されることが
またできる。
好ましい実施例の詳細な説明 第1図を参照して、マイクロコンピュータ10の構造が
示され、前記マイクロコンピュータは特にデジタル・シ
グナル処理に適応して本発明を取り入れている。マイク
ロコンピュータ10の主な機能的ブロックは中央処理装
置(CPU)12、コントローラ14、及び直接メモリ
ー・アクセス(DMA)コントローラ22から構成され
る。本発明の実施例によるマイクロコンピュータ10の
なかに含まれるメモリーはラントム・アクセス・メモリ
ー(RAM、)16、及び18、及びリード・オンリー
・メモリー(ROM)20を含む。
RAM16と18は、この実施例では、210即ちIK
のワードを含み、ROM20は2 +2即ち4にのワー
ドを含む。外部との接続はインターフェース・ポート2
4と26によって行なわれる。外部接続は種々のバス信
号をマイクロコンピュータ1゜の外部端子に送りまたそ
れはそのような外部端子を経てデータを受けまた送るべ
き外部装置に通信するための特殊目的信号を与える。イ
ンターフェース・ポート26には周辺バス28が接続さ
れ、これは以下に説明されるであろう種々の機能ブロッ
クに接続されることに適応する。
マイクロコンピュータ10内のデータ通信はデータ・バ
ス30によって行なわれることができる。
データ・バス30は、メモリー16.18、及び20、
インターフェース・ポート24と26及びCPUのあい
だでデータ信号の通信専用に使われるデータ・ライン3
0dの組を含む。本発明の実施例では、データ・バス3
0は32本のデータ線をセット30dとして含み、よっ
てメモリーI6.18、及び20、インターフェース・
ポート24及び26、及びCPU12のあいだで通信さ
れるデータ信号は32ビットのワードと考えられる。
データバス30はさらに第1の組のアドレス線30aと
第2の組のアドレス線30bを含ム、コれら両者はメモ
リー16.18、及び20のなかのメモリーの位置に対
応するアドレス信号の通信のためのものである。この実
施例では、データ・バス30は各セラ)30a及び30
bそれぞれに24本のアドレス線を含む。アドレス線3
0aと30bはまたCPUインターフェース・ポート2
4及び26、及びメモリー16.18、及び20のなか
でも接続されている。第1図から明らかであるように、
メモリー16.18、及び20は各々2つのポート32
aと32dを持つ。ポート32aの各々はデータ・バス
30のアドレス線30aと30bに接続され、またそれ
に指示されるアドレス信号を受けてデータ・バス30の
データ線30dに対するポート32dによって対応する
メモリーの位置のアクセスを与える。
マイクロコンピュータ10はまたプログラム・バス34
によって通信を行なう。データ・バス30゛と同じよう
にプログラム・バス34はメモリー16.18、及び2
0のボー)32dに接続されたデータ線34dの組を含
む。プログラム・バスのデータ線34dはまたインター
フェース24と26、及びコントローラ14に接続され
ている。プログラム・バス34はさらにアドレス線の組
34aを含み、これはメモ!J−16,18、及び20
のボー)32a、インターフェース・ポート24及び2
6にまたコントローラ14に接続される。またアドレス
・バス34には、アドレス線34aとデータ線34dに
それぞれ接続されるポート32a及び32dをまた持つ
命令置物36が接続される。
命令置場36は小さい(64ワード)高速メモリーであ
り、これは最も最近使用した命令コードを保持するのに
使われるので、もし外部メモリー装置がプログラム記憶
に使用されるならば、繰り返し使用される命令の検索は
メモリー16.18、及び20からのときと同じ速さで
行なわれることができる。命令置場36の詳細な構造と
操作は以下に説明する。コントローラ14はプログラム
・バス34のデータ線34dのうえに受けられた命令コ
ードをマイクロコンピュータ10のすべてのブロックの
なかに含まれる特別の論理回路に制御する制御信号にデ
コードする。第1図は線5EL16.5EL18.5E
L20.5EL24及び5EL26を図示し、これらは
これらの制御信号のあるものをマイクロコンピュータの
コントロール・アクセスに次いでメモリー16.18、
及び20、及び周辺ポート24と26にそれぞれ運び、
他のコントローラ14によって発生されるそのような制
御信号は明白さのため第1図には示されていない。命令
置場36及びコントローラ14にそれが接続されるため
に、プログラム・バス34はメモリー16.18、及び
20のなかに含まれる命令コードのアドレスを与えるこ
と及び通信に主として使用される。本発明によれば、そ
のような命令コードはプログラム・メモリーに専用とな
る場合のように何か特別の位置の表示なしにメモリー1
6.18、及び20のいずれかまたは外部メモリーのな
かに存在することができる。
DMAコントローラ22はDMAバス38によってメモ
リー16.18、及び20に接続される。
データ・バス30及びプログラム・バス34と同じよう
に、DMAバス38はデータ線の組38dを持ち、これ
はメモリー16.18、及び20のポート28dに接続
される。DMAバス38はさらにアドレス線の組8aを
持ち、メモリー16.18、及び20のボー)28aに
接続されている。
DMAコントローラ22はまた周辺バス28に、またイ
ンターフェース・ポート26に周辺バス28を経て接続
される。DMAコントローラ22はダイレクト・メモリ
ー争アクセス操作を行ない、これによってマイクロコン
ピュータlOのメモリー空間内に記憶されるデータのブ
ロックはメモリーの1つの領域(ソース)からもう1つ
の領域(終端目的地)に移動させられることができる。
メモリーのソース領域はメモリー16.18、または2
0のなかにあることができ、またはインターフェース・
ポート24によるサービスを受ける端子に接続したマイ
クロコンピュータ10の外部にあるメモリー装置のなか
にあることができ、またデータのブロックの終端はその
ようなすべてのメモリーのなかにあることができる(勿
論ROM20は除く)。第1図に示されるコンピュータ
10の構造から及び以下に行なう記載から、そのような
りMA操作はCPU12の仲介を要求することなくマイ
クロコンピュータlOのなかのDMAコントローラ22
によって行なわれることができることは明白である。
ポート32aは主としてマルチプレクサであり、よって
アドレス線30a、30b、34a、または38aの1
つの組をその関連する記憶16.18、または20に接
続するため選択を行なうことができる。同様にして、ポ
ート32dの各々はデータ・バス30のデータ線30d
に、アドレス・メモリー位置によって記憶される(また
は記憶されるべき)データの通信のため、接続されてい
る。メモIJ−16,18、及び20の各々はアドレス
・デコーダー33を含みそれは前記アドレス線30a1
30b、34a1または38aの選ばれた1つにこの技
術では周知のやり方で提示されるメモリー・アドレス信
号をデコードするためそのポート33aに接続されてい
る。アドレス・デコーダー33の出力に基づいて、選ば
れたアドレス信号によって指定されるメモリー位置にア
クセスが許される。RAM16と18及びROM20は
すべてこの技術では周知のようにして建造されており、
よって選ばれたメモリー位置はそのなかのアドレス・デ
コーダー33の出力に基づいて感知され及び/(または
)書き込まれる。そのようなメモリーに対してはこの技
術では周知のように、ポート32dは選択されないとき
それに接続したバス30.34、及び38のデータ線に
高インピーダンスの出力を与え、それによってバス30
.34及び38のうえでデータが互いに妨害することを
防ぐ。
データ・バス30、プログラム・バス34及びDMAバ
ス38のなかのアドレス線の組の各々はこの発明の好ま
しい実施例では24個の導体から成り立つ。よって、デ
ータ・バス30、プログラム・バス34及びDMAバス
38のなかのアドレス線の組によってアドレスできるメ
モリー位置の最大数は32ビットの224ワード(16
メガワード)である。しかしながら、メモリー16.1
8、及び20のなかのワードの全数は6にであるから、
マイクロコンピュータ10のアドレスできるメモリー空
間の大きい量はマイクロコンピュータ10に対して外部
にあるメモリー装置のなかに存在している。そのような
外部のメモリーは勿論またオン・チップ・メモリー16
.18、及び20と同じようにアドレス・デコーディン
グをする能力を持つであろう。また同じようにしてバス
30.34及び38のアドレス線のうえに発生するアド
レス信号に応じるであろう。本発明によれば、単一メモ
リ−・アドレス空間がマイクロコンピュータ20に対し
て設けられるので、バス30.34及び38のアドレス
線のどのような与えられた組のうえに提示される与えら
れるアドレス信号もそれはメモIJ −16,18、及
び20の唯1つのなかのメモリー位置のアドレスをする
であろう。よって、アドレス線30がポート32aによ
って選ばれる例を使って、アドレス線上301のうえの
与えられたアドレス信号はメモリー16.18、及び2
0の唯1つまたは外部のデータ・プログラムまたは入力
/出力メモリーのなかのメモリー位置に対応するであろ
う。マイクロコンピュータは、外部のデータとプログラ
ムのメモリーが周辺ポート24によってアクセスされる
こと、及び外部の人力/出力メモリーは周辺ポート26
によってアクセスされることが好ましいというやり方で
組織されていることを注目すべきである。
周辺ハス28はインターフェース・ポート26及び種々
の周辺機能のあいだに接続されている。
よって、周辺バスはコントローラ14による周辺ポート
26の制御によってバス30.34及び38のいずれか
1つに選択的に接続できる。このやり方では、周辺バス
はオフ・チップ・バスのようにマイクロコンピュータ1
0の残余のように見える。
これはマイクロコンピュータ10のなかに取り入れられ
るべき周辺装置によって通常与えられるような機能を与
え、そのような周辺装置との相互通信はオフ・チップ装
置と非常に同じような方法でマイクロコンピュータ10
の残余によって行なわれるであろう。例として、第1図
のマイクロコンピュータ10はタイマー40、シーリャ
ル・ポート42、及び周辺バス28に取り付けたフォー
マット・コンバータ44を持ち、以上において論じたよ
うに、DMAコントローラ22はまた周辺バス28に接
続されている。上記の他のバスと同じようにして、周辺
バス28はデニタ線28dとアドレス線28aを含む。
しかしながら、メモリー16.18、及び20とバス3
0.34、及び38に接続したマイクロコンピュータ1
0の残余トノあいだの通信とは対照的に、周辺バス28
のアドレス線28aは周辺バス28のデータ線28dか
らまたはそれにデータを受けまたは送るためそれに接続
した前記周辺ユニット40.42、または44の1つを
選ぶのに使われる。それに加えて、以下に記載するよう
に、DMAコントローラ22のコントロール・レジスタ
ーはマタ周辺ハス28によってアクセスされる。
さて第2図を参照して、CPU12の構造と操作を詳細
に説明する。CPU12は専用マルティプライヤー算術
論理ユニッ) (ALU)48、f−タ・レジスター5
aから50h (まとめてデータ・レジスター50と呼
ぶ)、補助算術論理ユニット(ARAU)52 aと5
2b1補助データ・レジスター54aから54hまで(
まとめてデータ・レジスター54と呼ぶ)、データ・バ
ス・コントローラ56、及び以下にさらに記載されるで
あろう一連のコントロール・レジスター(インデックス
・レジスター68aと68b1ブロツク・レジスター7
0及び現状レジスター71を含むがこれに限定はされな
い)を含む。
フルティプライヤ−46への入力の一方はCPUバス6
0aまたはレジスター・バス62aのいずれかからマル
ティプレクサ64aを経てデータを受けることに適して
おり、またフルティプライヤー46への入力の他方はC
PUバス60bまたはレジスター・バス62bのいずれ
かからマルティブレクサ64bを経てデータを受けるこ
とに適している。同じようにして、ALU48はそ・の
2つの人力によって操作を行なう。その1つはマルティ
プレクサ64Cを経てCPUバス60aまたはレジスタ
ー・バス62aのいずれかからデータを受けることに適
しており、またフルティプライヤ−46への入力の他方
はマルティプレクサ64dを経てCPUバス60bまた
はレジスター・バス62bのいずれかからデータを受は
入れるに適している。64aから64dまでマルティプ
レクサはCPU12によって実行されるべき命令コード
によって、コントローラ14によって制御される。
フルティプライヤ−46はこの技術でよく知られている
ように浮動小数点フルティプライヤーであり、ハード・
ウェヤのフルティプライヤー(個数の掛は算用)と算術
論理ユニット(指数の加算用)の両方を実質的に含む。
本発明の好ましい実施例でのフルティプライヤー46は
、32ビットの結果を出すため整数掛は算を行なうこと
のできる大きさであり、またそれは代りとして40ビッ
トの結果を出す浮動小数掛は算を行なうことができる。
ここで40ビットのうち32ビットは浮動小数点演算数
の個数としまた他の8ビットは浮動小数点演算数の指数
として考えている。ALU48はいくつかの周知の構成
で、整数と浮動小数点加算、減算を2つの40ビット二
進法数まで行なうことのできるもののいずれか1つに従
って建造される算術論理ユニットである。以下にさらに
詳細に記載されるように、フルティプライヤ−46とA
LU48の平行組み合わせはCPU12が両方の機能を
同時に使って演算を行なうことを許す。
この演算は掛は算と累算の命令のような速やかな計算を
できるようにする。フルティプライヤ−46とALU4
8の出力は各々データ・レジスター50に接続され、そ
の結果フルティプライヤ−46とALU48のいずれか
によって実行される演算の結果は前記のデータ・レジス
ター56の選ばれた1つのなかに記憶されることができ
る。
データ・レジスター50は40ビット・レジスターであ
って、ユーザーの適用によってデータを整数または浮動
小数点フォーマットで記憶されるのに使用される。浮動
小数点のフォーマットで記憶するときは、8つの最も有
意義なビットは指数部と考えられ、また32個の意味の
最も少ないビットは個数と考えられる。データ・レジス
ター50の主だった機能は累算器機能であるので、複数
個のデータ・レジスター50は実質的にCPU12にマ
ツチプル累算器を設ける。データ・レジスター50はま
たレジスター・バス62aと62bに接続され、それは
データ・バス30にデータ・バス・コントローラ56を
経て出力を与え、またフルティプライヤー46とALU
48に再び人力として与えられることができる。よって
、掛は算と累算の命令はCPU12によって容易にまた
効率よく行なわれることができる。例えば、フルティプ
ライヤ−46による掛は算の結果は、データ・レジスタ
ー50のもう1つのなかに記憶されレジスター・バス6
2bを経てALU48に適用されるまえの結果に加える
ため、データ・レジスター50とレジスター・バス62
aの1つを経てAL048に入力されることができる。
マルティプライヤ−46とAL048の出力はまたマル
ティプレクサ6Gの人力に接続され、それはまたコント
ローラ14によって制御されている。マルティプレクサ
66の出力は補助レジスター54に接続され、その結果
マルティプライヤ−46またはALU48の演算の結果
は補助レジスター54の選ばれた1つのなかに記憶され
るか、またはインデックス・レジスター68a及び68
b1ブロツク・レジスター70及び現状レジスター71
を含む制御レジスターのバンクのなかに記憶される。
補助レジスターは32ビット・レジスターで、このレジ
スターはデータ・バス30のアドレス線30aと30b
に適用するアドレスを発生しまた補助レジスター54の
なかに記憶されたあとで使用したアドレスの計算のため
のアドレスを発生するためにARAU52との関連のも
とで使用される。補助レジスターはそれぞれ補助レジス
ター・バス65aと65bを通ってARAU52aと5
2bの各々の1つの人力に接続される。ARΔU32a
と52bの各々はまたコントローラ14に接続した人力
、インデックス・レジスター68aと68bに接続した
入力、及びブロック・レジスター70に接続した人力を
持ち、すべては実行されている命令コードによって指定
されるアドレス・モードによってアドレス修飾信号を受
けるためである。ARAU52 aと52bはそれぞれ
データ・バス30のアドレス線30aと30bに接続し
た出力を持ち、この出力によってARAU52aと52
bはメモリー・アドレス信号を出す。それに加えてAR
AU52 aと52bは補助レジスター54の選ばれた
1つに以下に説明されるように、メモリー・アドレスの
指定をする過程に発生する修飾の結果を記憶するために
バス67aと67bに接続した出力を持つ。第1図を参
照して明らかなように、またこの技術において周知のよ
うに、マイクロ・コンピュータlOによって実行可能な
命令コードは、メモリー16.18、及び20並びに周
辺ポート24と26を経て外部メモリーに複数の寸法で
アドレスを指定するがそのようなアドレス措定の例はC
PU12のなかの個々のレジスター50と54のアドレ
ス指定及びメモリー16.18、及び20のなかの1つ
の位置の直接アドレス指定、及び周知の直接及び相対的
アドレス指定モードである。
間接のメモリー・アドレス指定は補助レジスター54と
の関連でARAU52aと52bによって容易にされる
。周知のように、マイクロコンピュータでの間接アドレ
ス指定はメモリー位置のアドレスが指定の位置に含まれ
るメモリー・アドレス指定のモードがある。間接メモリ
ー・アドレス指定の例は、「レジスター50aの内容に
よって指定されるメモリー位置にアドレス指定をせよ。
」をマイクロ・コンピュータに命令することである。
間接のアドレス指定はレジスター54が動的メモリー・
アドレス・ポインターとして使用されることを許し、こ
のポインターはプログラム・メモリー位置の内容の変更
の必要なしにCPU12 (またそのレジスター54の
1つのなかの記憶)によってメモリー位置の計算を許す
。それに加えて、ARAU52aと52bは命令コード
から発生する変位コードを利用するのに使用でき、この
命令コードはARAU52aと52bによる間接アドレ
スの計算を修飾する。変位コードはコントローラ14に
よって命令コードのそのデコードのとき発生された8ビ
ット・コードであり、またARAU52aと52bの各
々の人力の1つに人力される。CPU12は変位信号が
ないことを1の意味されている値であると解釈し、これ
は繰り返し操作のなかで使用されるレジスター54の内
容を自動的に一段階ずつ増加するまたは減少させるのに
有用である。そのようなものとして、ARAU52aと
52bはRAM16と18のなかのデータ位置のアドレ
ス指定、及びデータ・メモリーとして使用される外部R
AMのなかのデータ位置のアドレス指定に主として使用
され、第1図に示すように、ARAU52aと52bに
よってデータ・ハス30のアドレス線30aと30bの
うえに発生させられたアドレスは勿論またROM20に
アクセスすることができる。ARAU52 aと52b
はこのようにしてレジスター54の1つでその入力の1
つに接続されたものの内容に及びコントローラ14によ
って発生させられた変位コードのうえに整数の加算また
は減算操作を行なうのに使用できる。表1はレジスター
54とコントローラ14との関連でARAU52aと5
2bによって部分的に支持される間接アドレス指定モー
ドのいくつかのタイプをリストしたものである。メモ!
j−16,18、及び20(または外部メモリー)のプ
ログラム・メモリ一部分/位置のなかに記憶される命令
コードは希望されるメモリー・アドレス指定モードを表
1のなかにリストしたものを含んで指定する5ビット・
コードを含んでいる。
表1のなかで、“加えよ”はアドレスが指定されるべき
メモリー位置を指定し、“AR,”はレジスター54の
1つの内容を指定し、また“変位”はコントローラ14
によって発生させられた変位コードの値を指定する。補
助レジスター54の1つの内容の変更した値は表1のな
かでは“AR,”で表わされる。
+ +  + + 呻 呻 呻 CPU12はインデックス・レジスター68aと68b
を含み、これらはまたマルティブレクサ66の出力に接
続され、レジスター・バス62aと62bに接続され、
またコントローラ14から変位コードを受けるARAU
52aと52bの人力にまた直接接続されている。コン
トローラ14は勿論インデックス・レジスター68a1
インデツクス・レジスター68b1またはA RA U
52 aと52bのこのほかの入力への変位コードを制
御するであろう。インデックス・レジスター68aと6
8bはARAU52aと52bを経由しテメモリー16
.18、及び20 (並びに外部メモリー)のインデッ
クスされた間接アドレス指定のなかで利用されるべきイ
ンデックス値を記憶するためにAlI38によってロー
ドされる。表2はインデックされた間接アドレス指定モ
ードを含み、このモードは、コントローラ14によって
受けられデコードされた対応する命令に応じて、ARA
U52aと52bによって実行可能である。表1にリス
トされたアドレス指定モードと同じように、これら個々
のアドレス指定モードは命令コードのなかの5ビット・
コードの特異な1つによって可能にされる。表2のなか
の用語“IR,”はインデックス・レジスター68aと
68bの1つの内容を示す。
口 日 日 日 日 日    日    已cf、 
  α  匡  α  α  α     α    
 α+++十 仁  口  Cc8  ロ  α  α  口  α 
 ロt−o  峙 峙  C峙  口 呻  仁 呻 
 仁N0t−o      呻     峙←   ←
   ト   ト 8 千 昼 目 さて第2a図を参照して、ARAU52aの構築が詳細
に図示されている。ARAU52 bは同じように構築
されていることは勿論了解されている。第2図に示すよ
うに、ARAU52aは加算器/減算器80の1つの人
力に接続されている1つの人力の補助レジスター・バス
65aのところで受ける。マルティプレクサ82は3つ
の入力信号を受ける、これらの入力信号の1つはコント
ローラ14によって発生させられる変位コードであり、
また他の2つの入力信号はインデックス・レジスター6
8aと68bの内容である。マルテイプレクサ82は、
加算器/減算器80の第2の人力に適用のためこれら3
つの入力の1つを選択するため実行されている命令コー
ドに応じて、コントローラ14によって制御される。
加算器/減算器80はこの技術でよく知られている複数
ステージ算術論理ユニットであり、これは完全桁上がり
加算または減算のいずれかを行なうことができる。コン
トローラ14は加算器/減算器80が加算または減算操
作をアドレス・モード情報を含む命令コードのデコーデ
ィングに応じて行なうかどうかを制御する。加算器/減
算器80はさらに前進方向または逆方向のいずれかの方
向で共にステージからステージに桁上がり情報を伝搬す
る能力を含んでいる。そのような加算器/減算器は同時
出願の米国特許出願第935.465に記載されており
、前記出願はさらに高速フーリエ変換のアルゴリズムを
行なうことにおいて適格上がり伝播の恩恵を記載してい
る。コントローラ14は同じようにして実行されている
命令コードに応じて加算器/減算器80のなかの桁上が
り伝搬の方向を制御する。
加算器/減算器80の出力はマルティプレクサ84の1
つの入力に接続され、また比較器86の1つの出力もま
た接続される。マルティブレクサ84の他の人力は補助
レジスター・バス65aに直接接続され、またマルティ
プレクサ84の出力はデータ・バス30のアドレス線3
0aに接続される。マルティプレクサ84は、データ・
バス30のアドレス線30aに計算したアドレスの正当
な値を適用することに対して、現在の命令コードに対し
て応じてコントローラ14によって制御される。加算器
/減算器80の出力はマルテイブレクサ88の第一の人
力にまた接続され、マルテイブレクサはその出力を、希
望の通りに補助レジスター54の内容を更新するため補
助レジスター54の選ばれた1つにARAU52 aか
らのデータを通信するバス67aに接続させている。マ
ルテイプレクサ88の第2の人力は加算器/減算器90
に接続されている。比較器86と加算器/減算器90は
以下に説明されるであろう円形アドレス指定論理を含む
第2a図を参照して、表1と表2にリストした種々の間
接アドレス指定モードを達成することにおいてのARA
U52 aの操作が明瞭となって(る。実行されている
命令コードに応じて、コントローラ14はインデックス
・レジスター68aまたは68b(表2のなかの“IR
,、”)の希望の1つを選ぶためまたは加算器/減算器
80によって補助レジスター54の選ばれた1の内容に
適用するコントローラ14によって発生させられた変位
コードを選ぶためマルティブレクサ82を制御する。上
述のように、コントローラ14は加算器/減算器80が
加算または減算を行なうかどうかをまた制御するであろ
う、また加算器/減算器80が前方また逆方向の桁送り
伝搬を用いてその出力を計算するかどうかを制御するで
あろう。希望するアドレス・モードがインデックスのあ
とまたは変位のあとの加算または減算である場合には、
コントローラ14はマルティブレクサ84をしてデータ
・バス30のアドレス線30aに接続されるべき補助レ
ジスター・バス65aを選択させる(表1と表2の操作
、“加えよ= A RR”に相当する)。逆に、もし希
望する間接アドレス・モードがインデックスのまえまた
は変位のまえの間接アドレスであるなら、コントローラ
14はマルティプレクサ84をしてデータ・バス30の
アドレス線30aに適用のため加算器/減算器80の出
力を選択させる(表1と表2の操作“加えよ=AR,,
” /−I R,/変位”に相当する)。
ARAU52 aは選ばれた間接アドレス指定に従って
補助レジスター540更新をまた決定する。
円形の間接アドレス指定モードが選ばれていない(その
ような円形アドレス指定は以下において論することにす
る)と個定すると、コントローラ14は補助レジスター
540選ばれた1つの内容が修飾されるべきかどうかを
選ぶであろう。希望の間接アドレス指定モードが補助レ
ジスター54の内容を修飾しないときは、コントローラ
14はマルティブレクサ88の出力無能化(トライ・ス
テート)シ、その結果補助レジスター54の選ばれた1
つの内容は更新されないであろう。補助レジスター54
の選ばれた1つの内容は更新されないであろう。補助レ
ジスター54の選ばれた1つの内容が加算器/減算器8
0により加算または減算の結果で修飾されるべきである
ならば、コントローラ14はマルティブレクサ88をし
てバス67aに適用のため加算器/減算器80の出力を
選択させるであろう(表1と表2のなかの操作“A R
n’=ARn” /−I R,/変位”に相当する)。
第2図に示すCPU12の構築から、種々の機能の操作
は平行であることは勿論明白である。例えば、ARAU
52aはARAU52bと平行に操作することができる
。何故ならばそれへの入力はレジスター54に別々に接
続されており、またコントローラ14に接続されている
からである(及びインデックス・レジスター68aと6
8bにも)゛。それに加えて、ARAU52Hの出力は
データ・バス30のアドレス線30aとバス67aに接
続され、一方ARAU52bの出力はデータ・バス30
のアドレス線30bとバス67bに接続される。このよ
うにして、ARAU52aと52bの操作は、他による
干渉または互いへの干渉なしに同時に起きることができ
る。それに加えて、−度しシスター・バス62aと62
bのまえの状態がマルティプライヤ−46及びALU4
8によって希望通りに受けられると、マルティプライヤ
−46とALU48の操作は互いにだけでなくまたAR
AU52aと52bと共に同時に起こることができる。
このようにして、特に乗算と累算のような繰り返す操作
を使うアルゴリズムに対して、CPU12はそのような
平行操作から相当の性能改良を行なうことができる。
ブロック・レジスター70はマルティブレクサ66の出
力に接続され、またレジスター・バス62aと62bに
接続され並びにARAU52aと52bに直接接続され
ている。ブロック・レジスター70は間接アドレス指定
計画のなかの“円形”特徴を与え、その結果データ・メ
モリー位置のブロックはループ状に繰り返してアクセス
されることができる。この技術ではよく知られているよ
うに、デジタル信号処理適用に対して要求されるある計
算は記憶されたデータのブロックのうえに繰り返す操作
で表現されることができる。例えば、有限インパルス応
答(FIR)デジタル・フィルター機能の計算はデータ
のブロックに対して積算及び累算操作の繰り返しを要求
し、そこでは積算及び累算の結果はメモリー位置に計算
され、そこから演算数の1つが持って来られる。
第2図に返って、データ・バス・コントローラ56はデ
ータ・バス30のデータ線30dに接続され、またデー
タ・バス30からCPU12の種々の部分へのデータの
流れを制御するために働く。
CPU12の内部には一対のCPUバス60Bと60b
があり、また一対のレジスター・バス62aと62bが
ある。データ・バス・コントローラ56は4対1のマル
ティプレクサから成り立ち、このマルティブレクサはそ
の4つの入力をCPUバス60aと60bにまたレジス
ター・バス62aと62bに接続させている。CPU1
2からデータ・バス30のデータ線30dへの通信はこ
のようにしてこれら4個の内部バスのいずれか1つから
どのような与えられた時間に起こることができるが、そ
のような通信は勿論対応するアドレス信号がアドレス線
30aのうえまたはアドレス線30bのうえにデータ線
30dのうえのデータ通信と関連して発生されることを
要求する。ARAU52aの出力はデータ・バス30の
アドレス線30aと30bにそれぞれ接続されているの
で、そのようなアドレスはデータ・バス・コントローラ
56を通る希望するデータ通信と関連してCPU12に
よって発生させられることができる。
ΔRAU52aと52bの平行である性質は単一機械サ
イクル内のCPU12によって1個以上のメモリー・ア
ドレスの計算を許す。よって、データ・バス・コントロ
ーラ56はCPUバス60の1個以上とレジスター・バ
ス62をデータ・バス30のデータ線30dに単一の機
械サイクル内に接続することができる。ARAU52 
aと52bのデータ・バス30のアドレス線30aと3
0bに適用することの制御及びCPU12の内部バスに
データ線30aの時間マルティプレックシングの制御は
実行されている命令コードによってコントローラ14に
よってなされる。
第3図を参照して、周辺ボート24と26の構造を詳細
に記載する。周辺ボート24と26はデータ・バス30
、プログラム・バス34及びDMAバス38に、第1図
を参照して以前記載したように接続される。周辺ボート
24は主としてマルティプレクサ100から成り、これ
は外部のデータ線D1をデータ・バス30のデータ線3
0d。
プログラム・バス34のデータ線34dまたはDMAバ
ス38のデータ線38dにコントローラ14によって線
5EL24のうえに発生される制御信号に応答してマル
ティプレクサ100は外部のデータ線り。とデータ線3
0d、34dまたは38dのあいだの2方向接続を作り
、その結果データはそれらのあいだで受けられまたは提
供されるであろう。それに加えて、マルティプレクサ1
02は外部のアドレス線Anをデータ・バス3oのアド
レス線30のまたは30b1プログラム・バス34のア
ドレス線34aまたはDMAバス38のアドレス線38
aにどのデータ線がマルティプレクサ100によってデ
ータ線り、、に接続されているかによるがコントローラ
14にまた応答して接続する。
いくつかの制御線は周辺ボート24のながのバッファ1
04によって、コントローラ14によって発生される信
号にまた応答して駆動される(制御線は明白のため図示
されていない線のうえにある)。これらの制御線の周辺
ボート24による出力は線R/W−を含み、これは周辺
ボート24を通るデータの流れの方向を指定する。例え
ば、外部のメモリー装置は、データ・メモリーとしてそ
のデータ入力と出力端子を線り、、に接続させまたその
アドレス端子をA。線に接続させて働くことができるで
あろう。マイクロコンピュータ100周辺ボート24は
希望するアドレス線、例えばデータ・バス30のアドレ
ス線、例えばデータ・バス30のアドレス線30bを線
Aゎに接続することによってまた線R/W−を、外部記
憶装置はデータ・バス30のアドレス線30bのうえに
指定された位置のところで読み取るべきであることを示
す高い論理状態に駆動することによってそのような外部
メモリーのメモリー読み取りを行なうことができるであ
ろう。逆に、線R/W−の高い論理状態は外部記憶装置
はデータ線30dのうえに存在するデータ状態をマルテ
ィブレクサ100を経て線り、、に接続して書き込まれ
るべきであることを示すであろう。
周辺ボート24に接続された制御線24はさらに線5T
RB−(線R/W−に置いてのように、”表示は低い能
動を示す)を含み、この線はコントローラ14に応答し
てバッファ104によって駆動され、それは外部のメモ
リーにA、、に接続されているアドレス線30 a、 
30 b、 34 a、または38aはそれぞれに応じ
て、アドレス・メモリーに有効なアドレス信号を提供し
ていることを示す時計信号である。線、保持−及びRD
Y−は外部装置からのマイクロコンピュータlOへの人
力である。能動の低い線、保持−は周辺ボート24をし
てそのインターフェースを線り、、、A、、、R/W−
1及び5TRB−に高いインピーダンスの状態で置かせ
るので、そのような線に接続された複数個の装置はそれ
らのあいだでマイクロコンピュータIOから干渉される
ことなくまたコンピュータ10に干渉することなく通信
できる。線、保持A−は周辺ボート24のなかでバッフ
ァ104を経てコントローラ14によって駆動される承
認修号であり、またそれはマイクロコンピュータ10は
その低い状態で保持−信号を受けたことまた周辺ボート
24を高いインピーダンス状態に置いたことを示す低い
論理状態を持つ。線、RDY−はマイクロコンピュータ
への入力でありまた、その低い論理状態に駆動されたと
きは、データ線D7、アドレス線AI、、及び制御線R
/W−及び5TRB−接続された外部装置がマイクロコ
ンピュータと通信サイクルを完了したことを示す。コン
トローラ14は周辺ボート24をして準備できRDY−
信号を低くして終った通信サイクルに向けられる以外の
有効な状態に前記線を駆動するまえにRDY−信号を要
求する。
周辺ボート26は周辺ボート24と同じように構築され
ているが、周辺ボート24から独立して線5EL26に
よって制御され、その結果両方の周辺ボート24と26
での通信は、2つのボートによって使用されるバス30
.34及び38が同時に使用されない限り、同時にまた
独立して起きることができる。周辺ボート26は外部の
人力装置及び出力装置との通信に主として有用である。
よって第3図に示されるように、周辺ボート26は周辺
ボート24の同様の部材に対応してマルティプレクサ1
08と110を、またバッファ112を含む。同じよう
にして、周辺ボート26はデータ・バス30、プログラ
ム・バス34及びDMAバス38を線l10D、、、■
10A、、、l10DRY−l10STRB−1I10
HOLDI10HOLDA、及びIlo  R/W−1
にインターフェースさせ、これらの線は周辺ボート24
のところの同じような名称の線と同じ機能を持つ。
周辺ボート24と26に接続されるバス30.34及び
38が複数である故に、周辺ボート24と周辺ボート2
6は同時に操作されることができる。
さて第4図を参照して、コントローラ14の構築と操作
が詳細に記載されるであろう。コントローラ14はマイ
クロコンピュータの残りの部分の操作を制御する目的に
奉仕する、その結果命令コードによって指定される希望
の操作は正しく実行されるであろう。
コントローラ14は外部からマイクロ・コンピュータl
Oから提供される時計信号を受ける。コントローラ14
のなかの時計ゼネレーター200は端子Xiとx2に接
続されマイクロコンピュータIOのなかで使用される例
えば線CLKINのうえにあるシステム時計のような内
部時計の信号を発生する。もしクリスタルが端子x1と
X2のあいだに接続されるならば、時計ゼネレーター2
00は、内部発振機を通って線CLKINのうえに時計
信号を発生するであろう。その代りの場合として、外部
で発生される時計は端子x2に適用されることができ、
その場合外部で発生させられた時計信号は線CLKIN
のうえにシステム時計信号を発生(恐らく図示されない
時計ゼネレーターのなかの“nで割る”を経て)させる
。時計ゼネレーター200はさらに時計信号Q1とQ2
を発生し、それは線CLKINのうえの時計信号の周期
の第1と第3の1/4サイクルのところで起こり、時計
信号Q1とQ2は、以下に記載するようにコントローラ
14のなかのメモリー・アクセス・アービトレーション
論理206によって使用される。
命令コードを持ってくること及びそのような命令コード
に応答するマイクロコンピュータ10の制御に関して、
コントローラ14はプログラム・カウンター92、命令
レジスター94、制御論理202、及びプログラム・カ
ウンター・制御論理204を含む。プログラム・カウン
ター92は24ビット・レジスターであり、プログラム
・バス34のアドレス線34aに接続される出力を持つ
。プログラム・カウンター92の機能は持って来られ、
デコードされ、またマイクロコンピュータ10によって
実行されるべき次の命令のメモリー・アドレスを記憶す
ることである。命令を持って来るサイクル(これは線C
LKINのうえのシステム時計信号の1つの期間のあい
だに起きる)では、プログラム・カウンター92の内容
はプログラム・バス34のアドレス線34aのうえに置
かれまたアドレス信号に対応するメモリー位置を含むメ
モリー16.18、または20のなかの1つがプログラ
ムバス34のデータ線34dのうえにアドレス指定した
内容を提供するであろう。このときプログラム・カウン
ター92のなかに含まれるアドレスを持つメモリー位置
の内容はデコードされるべき次の命令の命令コードを構
成する。命令レジスター94は32ビットのレジスター
でこれはプログラム・バス34のデータ線34dに接続
され、またそれは命令を持ってくるサイクルのあいだプ
ログラム・カウンター92の内容を受は取る。
命令を持って来るサイクルのあと線CLKINのうえの
システム時計信号の次の期間に起こるデコードするサイ
クルのあいだ、命令レジスター94の内容はコントロー
ラ14からマイクロコンピュータ10の機能的回路に行
く信号を発生するため制御論理によってデコードされる
。これを達成するため制御論理202の始めの部分は命
令コードをデコードするため組み合わせロジックを含む
そのような組み合わせロジック(第4図にロジック20
2aとして示される)は異なったいくつかの周知の方法
、例えばプログラムできるロジックの配列またはリード
・オンリー・メモリーのようなもので実現されることが
できる。命令レジスター94からの32ビットの命令コ
ードはこのようにして組み合わせロジック202aによ
って複数の出力線にデコードされる。これらの線のある
ものは制御論理202の外にある機能例えばプログラム
・カウンター制御論理204に直接接続され、これらの
線の他のものは制御論理202のなかの遂次ロジック2
02bのなかに人力させられる。
遂次ロジック202bは、CPU12によってメモリー
からデータ演算数を読むことをし許すようにまたCPU
12によって前記演算数にデータ処理を行なう操作を行
なうことを制御するようにマイクロコンピュータ10の
種々の機能を制御するのに使用される。遂次ロジック2
02bはそこから派出している追加の出力線を通って勿
論これを達成する。制御論理202からの出力線の論理
的状態は、組み合わせロジック202aからであるかま
たは遂次ロジック202bからであるかによらず、この
ようにして命令レジスター94から制御論理202によ
って受けられた命令コードによって決定される。ここで
述べた図ではコントローラ14とそのような機能的回路
の接続は明白さのために図示されていないことに注目す
べきである。
よって、制御論理202のなかの組合わせロジック20
2aは命令レジスター94のなかに記憶された命令コー
ドをデコードしていることができ、一方コントローラ1
4はメモリーから次の命令を持って来させることは明ら
かである。それに加えて、この技術ではよく知られてい
るように、遂次ロジック202bはまえに持って来た命
令の実行を制御すると同時に与えられた命令に対して読
まれる演算術を制御することに使用できる。よって、制
御論理202は、4つの異なる命令コードの部分が同時
に実行されるようにマイクロコンピュータ10を制御し
ていることができる。そのような命令コードのパイプラ
イン処理は与えられた一連の命令を行なうのに要求され
る時間を明らかに短縮するであろう。
第4a図はどのようにしてパイプラインが満たされるか
、及びよってどのようにしてパイプラインが代表的命令
に対して機能するかを図示する。
線CLKINのうえのシステム時計信号の第1のサイク
ルでは命令nはコントローラ14によって、例えばメモ
IJ−16,18、または20の1つから持って来られ
る。持って来るサイクルのあいだ、しかしながら、プロ
グラム・カウンター・制御論理204はプログラム・カ
ウンターの内容を命令n+lに対する命令コードのメモ
リー位置を含むように増加させている。線CLKINの
うえのシステム時計信号の第2のサイクルにおいて、命
令nに対する命令コードは制御論理202によってデコ
ードされている。尚この第2のサイクルのあいだプログ
ラム・カウンター92の内容はプログラム・バス34の
アドレス線34aに提供され、また命令n+lに対する
命令コードはプログラム・メモリーから持って来られ命
令レジスター94に負荷として与えられる。
第4a図に示される第3のシステム時計信号のあいだ、
遂次ロジック202bはデータ・バス30を経て命令n
に対して必要であるデータ演算数のメモリー(例えば、
RAM16)から読み取っている。それに加えて、命令
n+lに対する命令コードが持って来られるので、第4
a図のなかの第3のサイクルは、命令n+lが制御論理
202の組み合わせ論理202aによってデコードされ
ていることを示す。同時に命令nに対する読み取りサイ
クルによって、しかしながら、命令nに対する読み取り
サイクルとバスまたはメモリーの争いがないと想定して
、命令n+2に対する命令コードを持って来ることがな
されている。以上において述べたように、一般にデータ
演算数はデータ・バス30を経てCPU12によって読
まれ、一方命令コードはプログラム・バス34を経て読
まれ、両方が異なったメモリー16.18、または20
、または外部メモリーのなかにあると想定するバスの争
いは起こらないであろう。
システム時計の第4のサイクルのあいだ、命令nは制御
論理202のなかの遂次ロジック202bの制御のもと
に実行されるであろう、命令n+lに対する読み取り操
作は遂次ロジック202bによって行なわれるであろう
。命令n+2に対する命令コードはデコードされるであ
ろう、及び命令n+3に対する命令コードは持って来ら
れるであろう。よってマイクロコンピユータ10に対す
るパイプラインは満たされ、また命令シーケンスの性能
は最もよい状態にあり、バスの争いを受けまたメモリー
・アクセスの争いを受け、それはある命令組み合わせに
対しては、操作の1つに対する待ちサイクルの原因とな
る。
データ・バス30のデータ線30dはコントローラ14
によって受けられ、これはブランチ命令のような増加さ
せられるやり方とは異なったやり方でプログラムの流れ
の制御するためで、プログラム・カウンター92がCP
U12によってまたはメモリーからロードをかけられる
ことを要求する。例えば、無条件ブランチの場合、命令
コードのなかに含まれ、メモリーから読み取られるかま
たはCCPU12のレジスターから読み取られる演算数
の値は実行されるべき次の命令を含んでいるメモリー位
置のアドレスを含むであろう。そこでプログラム・カウ
ンター制御論理204はデータ線30dのうえに提供さ
れる値を受け、またそれに従ってプログラム・カウンタ
ー92にロードをかけるであろう。その結果プログラム
・コントロールは希望する位置に行くことができる。
第4図に示すように、プログラム・カウンター制御論理
204はプログラム・カウンター92の内容を受ける加
算器203を含んでいる。制御論理202(好ましいそ
のなかに組み合わせ論理202aを持つ)は加算器20
3を制御しその結果法のサイクルに対するプログラム・
カウンター92の内容を発生させるには種々のやり方で
行なわれることができる。上記の説明のように、加算器
203は単にプログラム・カウンター92のまえの内容
を大きくして命令シーケンスを通り抜けることができる
。しかしながら、プログラム・カウンター制御論理20
4はさらに1つのレジスター205を含み、このレジス
ターはデータ・バス30のデータ線30dから値を受け
ることができる。このようにして、プログラム・カウン
ター制御論理204は種々の方法でプログラム・カウン
ター92の内容を計算することができる。例えば、相対
的アドレスの方にブランチすることがデータ・バス30
のデータ線30dのうえに提供される値をレジスター2
05にロードとしてかけることによって起きることがで
きるが、この値はそこでプログラム・カウンター92に
対して新しい値を発生させるためプログラム・カウンタ
ー92のまえの値に加えられることができるであろう。
それに加えて、絶対的ブランチがデータ・バス30のデ
ータ線30dからの希望のメモリー・アドレスをレジス
ターにロードをして加えることによって、また加算器2
03をしてプログラム・カウンターへの適用のためレジ
スター205の内容によって゛″ゼロ与える″ことを行
なわせる制御論理202によって行なわれることができ
る。
マイクロ・コンピュータ10は遅らせたブランチ命令を
行なうことができ、その結果ブランチ命令はそれが実際
に起こるまえに3つの命令が持って来られることをさら
に注目すべきである。遅らされたブランチ命令は、実行
されるとき、レジスター205に直接ブランチのときと
同様にブランチの目的地メモリー・アドレスをロードと
して加える。しかしながら、制御論理202は遅らされ
たブランチ命令の実行に続いて次の3つの命令に対して
プログラム・カウンター92の内容を増大させることを
続ける。第3の命令のとき、加算器203はレジスター
205の内容をプログラム・カウンター92に適用し、
それによってパイプライン計画を有利に利用することを
続けるあいだブランチを行なう。勿論、パイプラインは
ブランチのあと満たされた状態に残るであろう。何故な
らば目的地位置はまえと同じように加算器203によっ
て増大されることを続けるであろうからである。
コントローラ14はさらに割り込み論理205を含み、
これはマイクロコンピュータの複数の外部端子に、コン
トローラ14に、及びマイクロコンピュータ10のなか
の種々の機能に接続されている。割り込み論理250は
“再セット”端子のうえにまたINTOからINT3ま
での端子のうえにマイクロコンピュータ10に対して提
供される割り込み信号を受ける目的に、またシーリアル
・ボート42及びDMAコントローラ22のような種々
の機能からマイクロコンピュータlOに内部的に発生さ
せる割り込み信号を受ける目的に奉仕する。そのような
内部的割り込み信号の例が第4図に線312によって示
され、この信号はDMAコントローラ22からの割り込
み信号である。
制御レジスターとしてCPU12のなかに割り込み可能
レジスター252とDMA割り込み可能レジスター25
3が含まれており、その各々はメモリー地図のアドレス
指定のできるレジスターであり、またその内容は割り込
み信号の各々が可能であるか不可能であるかを指定する
。割り込み可能にするレジスター252の内容によって
可能とされるCPUの方に向いた割り込み信号を端子I
NToからINT3までの端子からかまたはマイクロコ
ンピュータ10に対しての内部から受けることに応答し
て、またもしコントローラ14が人力/出力メモリー位
置へのアクセスが現在ないことを示すならば、割り込み
論理250はプログラム・カウンター92をして特定の
割り込み信号(割り込みベクトル)に相当するメモリー
・アドレスでロードをかけられるようにし、またプログ
ラムの実行は割り込みベクトルの位置から前方に続くで
あろう。割り込みベクトルによって呼ばれた割り込み処
理ルーチンのなかに一般に含まれる命令コードに応答し
て、割り込み論理250は外部割り込みに対して線I 
NTAのうえにまた、例えば、DMAコントローラ22
に対しては内部割り込み信号に対しては線314のうえ
に割り込み承認の信号を発生するであろう。そのような
操作に対しては、この技術では周知であるが、コントロ
ーラ14はプログラム92のまえの内容が前辺て決めら
れているメモリー位置(一般に“スタック″と呼ばれる
)のなかに記憶されるようにし、その結果法に持って来
られたであろう命令コードの位置は割り込みが奉仕され
たあと再度ロードとしてかけられるであろう。
以下により詳しく説明されるが、DMAコントローラ2
2はDMAF作の同期化のなかでCPU12と同じシス
テム割り込みを利用し、その結果マイクロコンピュータ
lOはDMA同期化に対して専用の外部端子を要求しな
い。よってDMA割り込みはレジスター253をしてC
PUの割り込み可能レジスター25のデータに機能で同
じであるデータを含むことができるようにする。システ
ム割り込みを取り扱うときに優先権が必要上CPUとD
MAのシステム割り込みのあいだにそのような割り込み
の効果のなかに不明瞭があることを避けるため割り当て
られねばならないことに注目すべきである。D M A
 ti作はCPU12の操作に対して透明であるが意図
されている、よってCPU割り込み可能レジスター25
2とDMA割り込み可能レジスター253の両者によっ
て可能とされる割り込みはCPU12だけへの割り込み
であるとして扱われるであろう。
第4b図を参照して、割り込み可能レジスター252と
253が図示されている。以上に記載したように、割り
込み可能レジスター252と253の各々はマイクロコ
ンピュータlOのメモリー・アドレス空間のなかにあり
、またよって希望のように読み取り書き込みができる。
勿論、CPUの割り込み可能レジスター252の内容は
DMAの割り込み可能レジスター253の内容の書き込
みとは独立して書き込む及びその逆を行なってCPU1
2とDMAコントローラ22に対して独立した割り込み
能力を与える。割り込み可能レジスター252と253
の各々の内容は同じであるから、以下の記載は両方に適
用する。
入力線INTOからINT2までの各々とコントローラ
14のなかの割り込みロジック250によって受けられ
る“リセット”はそれと関連する可能ビットを割り込み
可能レジスター252と253のなかに持ち、その結果
線の各々のうえの外部から正当化される割り込みは個々
に可能とされまた不可能とされるであろう。それに加え
て、周辺バス38に周辺から接続される部外的に正当化
される割り込みはまた個々に割り込み可能レジスター2
52と253によって可能とされる。これらの割り込み
はピッ)XOとXiに関連しており、その中の第1と第
2のシーリャル・ポート・チャンネルに対する伝達レジ
スターはそれぞれに空であることを示すシーリャル・ポ
ート42からの割り込みを可能にし、ビットROとR1
はまたなかの第1と第2のチャンネルに対する受は入れ
レジスターがそれぞれ一杯であることを示すシーリアル
・ポート42に対する割り込みを可能とする。割り込み
可能レジスター252と253のビットTINTは周辺
バス38に接続したタイマー40によって正当化される
割り込みを可能にする。
割り込み可能レジスター252と253のながのヒ゛ッ
トDINTはDMAコントローラ自身1こよって与えら
れる割り込み可能にする。勿論、外的に及び内的に両方
で正当化される追加の割り込みは割り込み可能レジスタ
ー252と253のなかのビットの数を大きくすること
によって可能となるであろう。
DMA1作の同期化は、以下において説明されるように
、外的線INTOからINT2までを通って主として制
御されるであろう。何故ならば同期化はマイクロコンピ
ュータ10に接続される外的メモリー装置とのそのよう
な操作のなかで最もしばしば必要であるからである。し
かしながら、DMAコントローラ22に与えられまたD
MA割り込み可能レジスター253を通って可能とされ
る内的に正当化される割り込みとの同期化はある状況の
もとではまた有用であろう。
以上で説明したように、CPU割り込み可能レジスター
252の内容によって可能とされるCPU12に対する
割り込みはDMAコントローラ252に対する割り込み
に対して、もしDMA割り込み可能レジスター253に
よってまた可能とされるならば、優先権を持つ。よって
D M A m作のうえに影響を持つために、特定の割
り込みはCPU割り込み可能レジスター252によって
可能とされずにDMA割り込み可能レジスター253に
よって可能とされなければならない。
第1図と第2図より、マイクロコンピュータ10の内部
にある複数個のバスは、バス30.34、または38の
2つが同じメモリー16.18、または20に同時にア
クセスしていない限り、また外部メモリー(周辺ポート
24また26を通って)にアクセスしていない限り、メ
モIJ−16,18、及び20に同時にアクセスするこ
とを許すことができる。この場合には、バス・アービト
レーンヨンはコントローラ14によって制定されること
を要求することなく、またメモリー・アクセスは独立し
て起こることがある。
しかしながら、そのような同時アクセスは実行されてい
る命令コードによって要求されることがある。よって、
メモリー・アクセスに関してバスの争いを防ぐために、
コントローラ14はさらにメモリー・アービトレーショ
ン・ロジック206を含む。メモリー・アービトレーン
ヨン・ロジック206は時計ゼネレーター206から時
計信号Q1とQ2を受けまたバス30.34、及び38
のアドレス線の各々のうえのアドレス信号を受ける。メ
モリー・アービトレーション・ロジック206はそれぞ
れメモリー16.18、及び20の各々に対して線5E
L16.5EL18.5EL20のうえに出力信号を与
え、メモリー・アービトレーション・ロジック206は
さらに周辺ボート24と26のそれぞれに対して線5E
L24と5EL26上の信号を発生する。メモリー・ア
ービトレーション・ロジック206の目的はメモリー1
6.18、及び20へのアクセス、及び外部メモリー及
び人力/出力メモリーへのアクセスを前辺て決められた
優先権によって制御することである。
下記の例の目的に対しては、優先権はデータ・バス30
のアドレス線30a、30b、の順序で最も高い優先権
を持つと想定され、それに次いで、プログラム・バス3
4のアドレス線34aが続き、次いで最も低い優先権を
持ったDMAバス38のアドレス線38aが続く。この
優先権はマイクロ・コンピュータ10の構築、特にCP
U12のために選ばれており、マルティプライヤ−46
とALU48の平行接続は、マイクロ・コンピュータ1
0に対して意図されるデジタル信号処理の適用に対して
は、性能はもしデータ通信が命令を持って来るため待つ
ことを強制されるならば逆の場合よりもより重大な影響
を受けるであろうことが非常に起こり易いことを意味し
ている。DMA1作は最も低い優先権をとることができ
る。これは他の操作に対してより遅いDMAから結果と
して生れる大抵の適用プログラムに対して全体としての
性能への最小の影響のためである。しかしながら、本発
明の他の適用は、もし優先権が変更されたとしたらより
よい条件で行なわれるであろう。例えば、グラフィック
適用に対しては、DMAは、もしビデオ表示リフレッシ
ュ機能を与えるように使用されるならば、最も高い水準
で優先権を与えられるのが最もよい。よって、ここで図
示される優先権は唯例としてのものである。
さて第5図を参照して、メモリー・アービトレーション
・ロジック206によってコントローラ14のなかでメ
モリー・ポー)32aの1つの制御が図示されている。
第1図に関して以上に記載したように、メモリー・ポー
ト32aの各々はデータ・バス30のアドレス線の組3
0aと30bからのアドレス信号、プログラム・バス3
4のアドレス線34aからのアドレス信号及びDMAバ
ス38のアドレス線38aからのアドレス信号を受ける
ために接続されている。第5図に示されるメモリー・ポ
ート32aは主として複数機能を行なう。何故ならばそ
れはその人力のところで前記アドレス線を受は入れアド
レス線の選ばれた1つをそれに関連するメモリー16.
18、または20のデコーダー33にコントローラ14
からの信号に応答して接続するからである。
第5図はコントローラ14のなかのメモリー・アービト
レーション・ロジック206の一部の論理的図式であり
それはポー)32aと32dの1つの対を制御し、例で
示せば、第5図に示されるポート32aと32dはRA
M16と関連する。
以上において記載したように、単一メモリ−・アドレス
空間がマイクロコンピュータ10によってコンピュータ
IOのなかのメモリー16.18、及び20のすべてに
対して利用されまたマイクロコンピュータ10に対して
外部であり周辺ポート24と26を経て近寄ることので
きるメモリーのアドレスを含む。マイクロコンピュータ
10のメモリー・アドレス空間は16Mワード(224
ワード、バス30.34、及び38のなかのアドレス線
の各組のうえに運ばれる24ビットによる)。
この単一のメモリー空間を使って、表3は本発明の好ま
しい実施例に従うマイクロコンピュータIOのメモリー
地図を示す。
′:S へ (’)   (!、   C+−1,bロロー凱 ロローロ へロロー〇 @ 0 ロ ト ω 製 上述のように、Iloとメモリーを地図にしたレジスタ
ーについて述べるメモリー・アドレス空間は周辺ボート
26に向けられている(周辺ポートは、以下に論じるよ
うに、周辺バス28を通ってアドレス指定できるレジス
ターで、DMAコントローラ22のなかのもの、タイマ
ー40、シーリャル・ボート42及びフォーマット変換
器44を含む)、一方外部メモリ−・アクセスは一般に
周辺ポート24を経て取り扱われる。
メモリー・アービトレーション・ロジック206のなか
にデコーダー120aから120dまであり、アドレス
線30a、30b、及び38aの組のうちの関連する1
つはそのなかのアドレス線の充分の線をデコードして、
関連するアドレス線のうえに指定されたアドレス値はそ
れによって制御されるメモリー16.18、及び20の
与えられた1つに対する範囲のなかの1つの値である。
例を示す目的として、第5図に示すボート32aの1つ
がRAM16と関連すると想定しよう。よって、第5図
のボート3’2aは801000h と8013FFh
のあいだにあるアドレス線30a、30b、34aまた
は38aの組の1つのうえのアドレス値に応答すべきで
ある。勿論、この技術で普通の技術の人は120aから
120dまでのデコーダーをアドレス線の最も意味が小
さいlOビットの“かまわない”値を利用するようなや
り方で設計することができるであろう。デコーダー12
0の各々の出力は、それに接続したアドレス線が801
000hと8013FFhのあいだにある場合には第5
図の図示例のなかでロジック“1”である。デコーダー
120aから120dまでのからの出力線はそれぞれ!
、+30A。
M30B、M34A、及びM38Aであり、RAM16
と関連するアドレスとメモリー・アドレス空間とのあい
だの嵌合があるかないかを表示している。
以上に記載したように、コントローラ14の時計ゼネレ
ーター200は2つの時計信号QlとQ2を発生し、そ
れらはボー)32aの制御に利用される。以上に述べた
如く、マイクロコンピュータ10のシステム時計は線C
LKINのうえの時針信号に相当する。時計信号Q1は
システム時計の第1の1/4サイクルのあいだ“1″で
あり、時計信号Q2はシステム時計の第3の1/4サイ
クルのあいだ′l”である。第5図に示すメモリー・ア
ービトレーション・ロジック206はこれら2つの時計
信号QlとQ2をアドレス線30aと30bの組のうえ
のアドレス信号を相互に時間マルティプレクスするため
に使用する。第5図の信号M30AはANDゲート12
2aの第1の人力に接続され、−古時計信号Q1はAN
Dゲート122aの第2の人力に接続される。ANDゲ
ー)122aの出力はよって、データ・バス30のアド
レス線30aのうえに提供されるアドレスがシステムの
時計の第1の1/4サイクルのあいだRAM16(図示
の例で)のメモリー空間のなかにあるときだけ“1″で
ある。ANDゲートの出力はボート32aに接続されて
、5EL30Aと名付けられる。ボー)32aは“1”
論理状態にある線5EL30Aに応じてRAM16のデ
コーダー33に適用のためデータ・バス30のアドレス
線30aを選ぶことに使用できる。逆に、線5EL30
BはANDゲート122bの出力に接続され、それはデ
コーダー120bと時計信号Q2の論理的ANDを行な
う。ボー)32aはよってシステム時計の第3の1/4
サイクルのあいだ801000hと8013FFhのあ
いだにアドレスの値があるときRAM16のデコーダー
33に適用のためアドレス線30bのみを選ぶ。よって
、この記載と第5図から1、データ・バス30のアドレ
ス線30aと30bの組は与えられたサイクル中同じメ
モリー16.18、または20 (または外部メモリー
)に向けられることに対して決して争いを起こすことは
できないことは明らかである。争いがないのは第5図に
示されるようにコントローラ14によって行なわれるサ
イクルのなかの2つのアドレスのタイム・マルティプレ
キシングのためである。アドレス線30aと30bの組
のうえのアドレスは、プログラム・バス34とDMAバ
ス38のなかのアドレス線に対して最も高い優先権を持
っていることは明らかであろう。何故ならばバス34と
38のうえのアドレス値の値はコントローラ14による
線5EL30Aと5EL30Bのうえの“1”論理状態
の発生になかに考慮されていないからである。
そのような優先権制御はプログラム・バス34のアドレ
ス線34a及びD M Aバス38のアドレス線38H
に対してコントローラ14によって可能となる。人力の
ところでプログラム・バス34のアドレス線34aを受
けるデコーダー122Cはデコーダー1223及び12
2bと同じようにgoiooohと8013FFhのあ
いだにあるアドレス値に応答して線M 34 Aのうえ
に“l”論理状態を発生する。線M34AはANDゲー
ト124aと124bの各々の1つの入力に接続され、
それはその3つの人力の論理のANDに相当するその出
力のところに信号を発生する。ANDゲート124aの
第2の入力は時計信号Q1に接続され、またANDゲー
ト124aの第3の逆の入力は線M3OAに接続され、
よってANDゲート124aの出力は、もしデータ・バ
ス30のアドレス線30aのアドレス値がRAM16メ
モリ一位置に相当しないならばまた唯そのときだけ、シ
ステム時計の第1の1/4サイクルのあいだRAM16
(この例で)のなかの位置に相当する論理状態“1″の
ところにある。この論理状態“1”は、プログラム・バ
ス34のアドレス線34aly<ORゲート126を経
てRAM16への適用に対して選ばれるべきであること
を示して線5EL34のうえのポート32aに適用され
る。アドレス線34aをボート32aによってRAM1
6に適用することは、線M30Bが低い限り、(即ちア
ドレス線30bのうえのアドレスがRAM16に対する
メモリー空間の外にあるメモリー位置に対応する)同じ
ようにANDゲート124bによって可能となる。
DMAバス38のアドレス線38aをポート32aを選
ぶことは線5EL38のうえの論理状態“1”によって
可能になる。線5EL34のうえの論理状態ビ°のよう
に、線5EL38の論理状態“1″はデコーダー120
6  (これはその出力に線M38Aを持ち、それは線
38Hのアドレス値がRAM16のアドレス空間のなか
にあるとき論理状態“1”を持つ) 、ANDゲート1
28a及び128 b、及びORゲート130によって
発生させられる。しかしながら、ANDゲート128a
と128bは各々第4の逆にした人力を持ち、これはデ
コーダー1200の出力から線M34Aに接続される。
よってDMAバス38のアドレス線38aを選ぶことは
プログラム・バス34のアドレス線34aよりもより低
くさえある優先権を持つことになる。何故ならば、ライ
ン5EL38のうえに“1”の状態を発生するために、
データ・バス30のアドレス線30a (または30b
1どの1/4サイクルが現時点であるかによる)及びア
ドレス線34aのうえのアドレス値の両方はRAM16
(この例で)のなかのメモリー位置に対応してはならな
いからである。
第5図に示すように、ボート32dは同じように対応す
るメモリー(この例ではRAM16)に接続のためデー
タ・バス30.34または38の正しいデータ線を選ぶ
線5EL16 (即ち線5EL30ASSEL30BS
SEL34、及び5EL38)によって可能になる。デ
ータ線30dはデータ・バス30のデータ線30aとア
ドレス線30bの両方によってアクセスされるので、線
5EL30Aと5EL30Bはデータ・バス30のデー
タ線30aの選択の目的のためORを行なわれる。ボー
ト32aと32dはアドレス線30a。
34b、34aまたは38aのいずれもが相当するメモ
リーのアドレス空間のなかにないとき各々3つの状態に
あることに注目すべきである。これは関連するメモリー
が選ばれていないときのデータ線30d:34d、また
は38dと干渉する場合を除外する。
第1図と第4図に示すように、コントローラ14のなか
のメモリー・アービトレーション・ロジック206は線
SEL 18と5EL20を経てそれぞれメモリー18
と20のポート32aと32dへの選ばれた出力を創り
出す。それに加えて、メモリー・アービトレーション・
ロジック206は線5EL24と5EL26を経て第5
図について以上において記載したのと同様のやり方で周
辺ボート24と26に対する選ばれた出力を与える。
周辺のポート24と26のなかには、第3図のマルティ
プレクサ100.102.106及び10Bが前記アド
レス線30a、30b、及び38aのうえのアドレス値
によって、同じ優先権計画に基づいて可能とされる。
種々のメモリー装置に対する読み取りと書き込みの制御
は、第4図に示すように、コントローラ14の制御論理
202のなかのシーケンシャル・ロジック202bから
のコントロール出力のあるものによって達成される。コ
ントローラ14によって行なわれる他の制御機能のよう
に、この機能はコントローラ14によって受けられデコ
ードされる命令コードに応答して起こる。
さて、第5a図を参照して、一連のメモリー・アクセス
のタイミングと優先権を与えることが本発明の平行アク
セスと二重アクセスの特徴を図示するため示されている
。第5a図の一番上の線は、以下に記載との相関を容易
にするためサイクルにナンバーを付けて、線CLKIN
のうえのシステム時計信号の操作を図示する。時計信号
Q1とQ2は以上に記載したように図示されており、時
計信号Qlはシステム時計期間の第1の1/4サイクル
のあいだ活動し、時計Q2はシステム時計則間第3の1
/4サイクルのあいだ活動する。明白さのため、第5a
図に示す例はすべて種々のメモリーへの読みアクセスで
ある。RAM16と18への読みアクセス及び外部メモ
リーへの読みアクセスは優先権が与えられ関係するデー
タ線の値で書くことに応答するメモリーだけを一堵に第
5a図に示す読みアクセスと同じ方法で許される。
第5a図に示されるシステム時計CLKINの第一サイ
クルのあいだ、アドレス線30aはアドレス値J、を持
っており、これはRAM16のなかのメモリー位置に相
当する。同じように、アドレス線30bはアドレス値J
1を運び、これはROM20のなかのアドレス値に相当
する。活動する時計信号Qlに応答して、RAM16は
データ・バス30のデータ線30dのうえのメモリー位
置11の内容を提供する。システム時計CLKINの第
3の1/4サイクルで活動する時計信号Q2に応答して
、ROM20はデータ・バス30のデータ線30dのう
えのメモリー位置J1の内容を提供する。勿論、アドレ
ス線30aと30bは違ったメモリーを指すので、それ
らのあいだに争いはない。
第5a図に示されるシステム時計CLKINの第1のサ
イクルのあいだにはまたプログラム・バス34のアドレ
ス線34aはアドレス値に、を持ち、これはまたROM
20のなかのメモリー位置に相当する。データ・バス3
0のアドレス線30bはプログラム・バス34のアドレ
ス線34aに勝る優先権を持っているので、ROM20
はアドレス線34aに応答しない。何故ならば、アドレ
ス線30bはROM30へのアクセスが許されているか
らである。よって、プログラム・バス34のデータ線3
4dは高いインピーダンスの状態に止まる。何故ならば
、他のメモリーはアドレス値に1によってアクセスされ
ないからである。またRAM16はその代りアドレス線
30aと30bによってアクセスされるからである。同
じようにして第1のサイクル中、DMAバス38のアド
レス線38aはアドレス値11を持っており、これはR
AM16のなかのメモリー位置に相当する。アドレス線
38aはデータ・バス30のアドレス線30aよりも低
い優先権を持つので、DMAハス38のデータ線38d
はまた高いインピーダンスの状態にある。バス30.3
4、及び38のうちの2つによる単一メモリー装置の試
みられるアクセスにおいて争いが起きているので、コン
トローラ14は制御論理202を経て、より低い優先権
のバスの希望するメモリー・アドレスをして提示される
ことを続けさせるであろう。その結果メモリーへのアク
セスが許されるや否やプログラムの実行はアクセスを否
定されているバス34または38の1つに対する同じ点
から再び始まるであろう。
第5a図に示す第2のサイクルでは、アドレス線30a
と30bはそれぞれアドレス値12とj2をRAM18
に提供する、よってデータ線30dには第1のサイクル
においてと同じように時計信号QlとQ2に応答するメ
モリー位置12とj2の内容が提供される。共にRAM
16を参照してアドレス線30aと30bのために争い
は起きない。
何故ならばアドレス線30aと30bの別々の組が第5
図に対して記載されたようにコントローラ14の操作に
よってシステム時計の期間にRAM16に提供されるよ
う制御されているからである。
プログラム・バス34のアドレス線34aはROM20
のなかのメモリー位置に相当するアドレス(直に1を運
ぶことを続ける。何故ならば、アドレス線30aと30
bはRAM16にアクセスをしているので、プログラム
・バス34は次いでROM20へのアクセスを許され、
また時計信号Q1に応答して、ROM20のなかのメモ
リー位置に1の内容はプログラム・バス34のデータ線
34dのうえに提供される。また第5a図に示す第2の
サイクルのあいだ、DMAバス38のアドレス線38a
はRAM16のなかのメモリー位置に相当するアドレス
値11を持ち続ける。データ・バス30もプログラム・
バス34もRAM16へのアクセスを許されていないの
で、RAM16は、時計信号Q1に応答して、DMAバ
ス38のデータ線38dのうえにあるメモリー位置1□
の内容を提供スる。マイクロコンピュータ10は、本発
明によって構築されて、3つの異なるメモリー位置で同
時起きているものへの3つの平行なアクセスを持つこと
ができる。データ・バス30のアドレス線30aと30
bの組をサイクル内でマルチイブレックスすることを考
慮に入れると、単一システム時間サイクル内に4つのメ
モリー・アクセスの可能性が行なわれることができる。
第5a図に示されるシステム時計CLKIHの第3のサ
イクルはデータ・バス30のアドレス線30aがDMA
バス38のアドレス線38aに勝る優先権を取ることの
効果を示す。時計信号Q1は活動的になるので、両方の
アドレス線30aと38aはRAM18(それぞれ値は
13と12)ノアドレス空間のなかのアドレス値を選ん
でいる。
よって、データ・バス30はDMババス8より勝ってR
AM18へのアクセスを許され、データ・バス30のデ
ータ線30aはメモリー位置i3の内容を提示され、一
方DMバス38のデータ線38dは高いインピーダンス
の状態に行く。しかしながら、時計信号Qlが活動する
と、DMAのアドレス線38aはRAM18にアクセス
が許される。何故ならば、データ・バス30のアドレス
線30aは時計信号Q1に応答するときだけアクセスを
許されるからである。アドレス線30bはRAM16の
なかのメモリー位置に相当するアドレスMJ3を持って
いるので、アドレス線38aはRAM18にアクセスし
、その結果データ線38dは時計信号Q2に応答するR
AM18のメモリー位置12の内容を提供される。
第5a図に示される第4サイクルでは、アドレス線34
aはアドレス値に3を運んでおり、これはRAM18の
なかのメモリー位置に相当する。
同じようにして、アドレス線38aはアドレス値i3を
持っておりこれはまたRAM18のなかのメモリー位置
に相当する。上記のように、プログラム・バス34はD
MAバス38よりうえの優先権を与えられる。よって、
時計信号Q1に応答して、プログラム・バス34のデー
タ線34aはRAM18のメモリー位置に3の内容が提
供され、一方DMバス38のデータ線38dはその高い
インピーダンスの状態にある。第5a図のなかに示す第
5番目のサイクルは外部メモリーが外部メモリーのなか
のメモリー位置に相当するアドレス値に5を持って、ア
ドレス線34aによってアクセスされることができるこ
とを示している。DMAバス38とデータ・バス30は
プログラム・バスによっての外部メモリーのアクセスと
共に活動状態にある。以上に述べたように、外部メモリ
ー・アクセスは周辺ポート24を通って起きるであろう
。以下に記載するように、D M A t”作のあいだ
、周辺ポート26は能力を奪われる。
それに加えて、アドレスとデータの情報のソース、及び
データの行先で前記バス30.34、及び38によって
追求されるものは第5図と第5a図に関しての以上の記
載では指定されていないことを注目すべきである。上記
の通りに、しかしながら、コントローラ14のそのデコ
ードすること及び命令コードを実行することで主な機能
の1つは2つの機能的ブロック(例えば周辺ポート24
とCPU12)が同じバス(例えば、データ・バス30
)の制御をすることを試みることがないようにマイクロ
コンピュータ10の種々の機能的ブロックの制御をする
ことである。そのようなバス制御とメモリー16.18
、及び20(または外部メモリー)から離れたバスの終
りのところでのアービトレーションはこの技術では周知
であるやり方でコントローラ14によって行なわれ、ま
たそれは多くの般用及び特殊用途のマイクロプロセッサ
−とマイクロコンピュータで現在入手できるものにおい
て行なわれている。
よって以上の記載から、メモリー利用の種々の組み合わ
せがマイクロコンピュータ10の単一アドレス空間内で
行なわれることが明白である。これは種々のメモリー本
体の各々の3つのバス30.34及び38の各々によっ
てアクセスできることによって可能である。よって、コ
ントローラ14はプログラム・バス34を通って命令コ
ードにアドレスを指定しまたそれを受ける一方、そのよ
うなアドレスはデータ・バス30を使ってcPU12に
よってアクセスできるデータ・メモリーと一緒にRAM
16のなかに存在することができる。この組織は、よっ
て、この操作を行なうのにRAM16のなかに仕切りを
要求することなくプログラムとメモリーの両方として単
一メモリーを使用することによりマイクロコンピュータ
10に対してフォノ・ノイマン適用を可能にする。しか
しながらマイクロコンピュータIOはまたプログラム・
メモリーを例えばROM20のなかに貯えることにより
またデータ・メモリーをRAM16のなかに貯えること
によりマイクロコンピュータlOの二重特徴の故にバー
バード構成で利用されることがまだできる。二重アクセ
スの特徴は同じメモリーに対してさえデータ・バス30
によって使われる時間マルチイブレックスした特徴の故
に単一のシステム時計サイクルのなかに2つのアクセス
を許す。これは同じ物理的メモリー空間がデータとプロ
グラムのメモリーに対して使用されることを許し、一方
依然として2つの別々のメモリーの性能上の利点を達成
する。2つの形態に形成することができる外に、マイク
ロコンピュータ10は動的再形成できるので、ある仕事
はフォノ・ノイマンのやり方で行ないある他の仕事はバ
ーバードのやり方で行なわれることができる。よって本
発明に従って構成されたマイクロコンピュータ10はユ
ーザにマイクロコンピュータlOを希望する適用に基づ
いて最も適した使用をすることを許す。
第6図を参照して、DMAコントローラ22の構成と操
作が記載されるであろう。よく知られているように直接
メモリー・オペレーションは記憶されたデータのブロッ
クを1つのメモリーから次のメモリーに中央処理装置(
例えばCPU12)の介入なしに移すことで便利である
。ここに記載のマイクロコンピュータ10に対して直接
メモリー・アクセスはまたデータのブロックを外部メモ
リーとオン・チップ・メモリー16と18のあいだに動
かすのに便利である。第1図と第6図に示されるように
、DMAコントローラ22はDMAバス38にまた周辺
バス28に、DMAバス28のうえのデータの通信と周
辺バスから制御とソース/目的地アドレス情報を受ける
ために、接続されている。
周辺バス28はアドレス線28aとデータ線28dを含
み、それらはアドレス情報とデータ情報をそれぞれこれ
までに論じたデータ・バス30、プログラム・バス34
、及びDMAバス38と同じやり方で運んでいる。第1
図に返って、周辺バス28のアドレス線28aとデータ
線28dは直接接続されており、またよって周辺ポート
26の出力のところでそれぞれ線l10Anとl10D
、。
に相当する。よって、アドレスを提供するためまたはデ
ータを周辺バス28からまたは周辺バス28の方に通信
するためには、希望のアドレスは周辺ポート26によっ
て奉仕されるアドレスに相当するマイクロコンピュータ
10のメモリー・アドレス空間のなかの値に相当しなけ
ればならない。DMAコントローラのなかのメモリーの
地図としたレジスターは以下に記載されるが、それは表
3に述べたようによってメモリー・アドレス空間goo
ooohから80OFFFhまでのなかにある。
DMAコントローラ22はコントロール・レジスター3
00、トランスファ・カウンタ・レジスター302、目
的地アドレス・レジスター304及びソース・アドレス
・レジスター306を含み、その各々は周辺バス28の
アドレス線28aとデータ線28dに接続され、その各
々はマイクロコンピュータIOのメモリー・アドレス空
間の特異なアドレス位置に割り付けられる。DMAコン
トローラ22はデータ・レジスター308を含み、これ
はDMAバス38のデータ線38dに接続され、DMA
バスのアドレス線38aは目的地アドレス・レジスター
304とソース・アドレス・レジスター306に接続さ
れる。制御論理310はコントロール・レジスター30
0に接続されその結果そのなかのビットの内容はDMA
コントローラ22の制御を行なうであろう。制御論理3
10は線DECRのうえのカウンタ・レジスター302
を移す信号を発生しまた線ゼロのうえの転送カウンタ・
レジスター302から発信を受ける。制御論理310は
線″ロードとINC/DECRのうえの目的地アドレス
・レジスター304とソース・レジスター306に信号
を与え、制御論理はさらに線WRITEとS T OP
、 Eのうえのデータ・レジスター308に信号を与え
る。希望するメモリー書き込み/読み取り操作を行なう
ために、制御論理310はコントローラ14に接続され
る読み取り/書き込み信号を発生し、その結果コントロ
ーラ14はコントローラ14によるメモリー・アクセス
に関して以上に論じたようなコントロール信号をメモリ
ー16.18、及び20に、また周辺ポート24と26
に発生することができる。
コントロール・レジスター300はロビントのアドレス
を指定できるレジスターであり、それはDMAコントロ
ーラ22を形成するため書き込まれ、コントロール・レ
ジスター300の内容は第7図に示され、また以下によ
り詳細に記載される。
転送カウンタ・レジスター302は24ビットのアドレ
ス指定できるレジスターで、またそれはDMA操作のな
かで転送されるべきメモリー位置の数を周辺バスから負
荷として与えられるべきである。転送カウンタ・レジス
ター302は線DEcRのうえのパルスによって段階的
に減らされ、また線ZEROのうえの制御論理310に
その内容がゼロに等しいとき信号を送る。ソース・アド
レス・レジスター306と目的地アドレス・レジスター
304は24ビットレジスターにアドレスを指定するこ
とができ、それはデータが転送されねばならないところ
からのメモリー・アドレス及びそこに向けたメモリー・
アドレスをそれぞれ記憶する。ソース・アドレス・レジ
スター306の内容と目的地アドレス・レジスター30
4は始めは周辺バス28のデータ線28dの24時間最
も少ない意義のあるビットからロードされ、コントロー
ル・レジスター300の内容によっては、ソース・アド
レス・レジスター306と目的地アドレス・レジスター
304は制御論理310から線■NC/DECRのうえ
のパルスに応じて増加されまたは減少される。データ・
レジスター308はDMAバス38のデータ線38aか
らのデータを緩衝するための一時的しシスターであり、
データ線38dのうえの価は線WRITEのうえの信号
に応答してデータ・レジスター308のなかにロードさ
れ、またデータ・レジスター308の内容は線5TOR
Eのうえの信号に応答してデータ線38dに提供される
さて第7図を参照して、コントロール・レジスター30
0の内容がそれによって制御される操作に関して詳細に
記載されるであろう。コントロール・レジスター300
は2つの開始ビット300aと300bを含み、これら
はD M A tfi作の開始と停止を制御する。一般
的に以上で記載されたように、DMA1作を制御するこ
とは有用である。この制御によってDMAの操作はその
なかの種々の点で、内容を失なうことなくまたD M 
A m作の再始動のとき必然的に繰り返される必要のあ
る読みまたは書きを行なうことなく停止できる。よって
、5TARTI:”ット300 a/bはマイクロ・コ
ンピュータの使用者によって選ばれる始動と停止の条件
を示すため2ビット・コードを下表4によって含む。
表   4 ビット 300  a/b 始動/停止条件 転送をアボートする、読みに 再セット 現在の読みまたは書きの完了 のとき停止 現在の転送完了のとき停止 (即ち次の書き込みのあと) 現在の条件から再始動 ビット300cと300dは読みだけのビット(マイク
ロコンピュータlOに関して)であり、それをDMAコ
ントローラ22は行なわれるDMA操作の状態で書く。
表5はコントロール・レジスター300のビット300
Cと300dのなかに含まれることのできる種々のコー
ドによって示される状態を示す。
表   5 ビット 300  c/d             
 現          状QQ      DMAは
書き込みと読み取りのあいだに1呆持されている Q I      DMAは読み取りと書き込みのあい
だに保持されている 1 1      DMAは忙しい 状態10は定義されていない。第8図に関して以下に図
示されるように、ビット300 c/dコントロール・
レジスター300の現状はマイクロコンピュータ10の
残りの部分によって読むことができるばかりでなくDM
A操作のコントロール・フローのなかでまた使用される
であろう。
ソースINC/DECビット3001と300fは、セ
ットされるとき、ソース・アドレス・レジスター306
の内容がDMA読み取りを終ったときそれぞれ増加させ
られるべきか減少させられるべきかを示す。もしrNc
/DECビット3001と30Ofが両方ともセットさ
れるかまたは両方とも再セットされるとき、ソース・ア
ドレス・レジスター306の内容はDMA読み取りのあ
と修飾されないであろう。目的地INC/DECピッと
300gと300hはDMA書き込み修了後目的地アド
レス・レジスター304の修飾を同じように制御する。
Sycビット3001と300 jはDMAコントロー
ラを輸送されたデータのソースまたは目的地のいずれか
と同期化の形状を許す。D M A tM作の割り込み
同期化はD M A 操作が外部ソースからのデータを
受けるまたは伝達することはCPU12、DMAコント
ローラ22、及び外部ソースのあいだで異なる速度で操
作しているのであるが争いなしに行なわれるように制御
されることを許す。上記のように、割り込み同期化は専
用のDMA割り込みピンによってよりも寧ろシステム割
り込み(内的または外的に正当化される)に対して起こ
り、よって外部端子の数を少なくする。それに加えて、
D M A 操作を制御するためにシステム割り込みを
使うことは必要ならばCPUとDMA割り込み線を正し
く正当化するために外部装置とマイクロコンピュータと
関連するデコードする回路のあいだに接続される複数の
割り込み線を要求するより寧ろ外部装置とマイクロコン
ピュータ10のあいだの単一の割り込み接続だけをまた
要求する。
表6はDMAコントローラ22によって、ビット300
1と300Jの状態に従って、行なうことのできる同期
モードの表である。
表   6 ビット 300  i/J 割り込み同期化 割り込み同期化なし ソースの同期化、MDA読み は割り込みに、できるだけ書 き込み 目的地同期化、できるときM DA読み取り、書き込みは割 り込みに ソートと目的地の同期化、D MA読み切りは割り込みに、 書き込みは次の割り込みに。
コントロール・レジスター300のTCビット300に
の状態は制御論理310にDMA転送が前辺て決められ
た転送カウンタ・レジスターのなかに記憶されている数
のサイクルに対して起きるかどうかを示す。TCピッl
−300Kが“1”の状態にセットされるとき、DMA
転送は転送カウンタ・レジスター302がゼロに達した
とき終らせられ、また“0パの状態に再セットされると
き、TCビット300にはDMA転送が転送カウンタ・
レジスター302の内容によって制御されていない(即
ち転送は転送カウンタ・レジスター302がゼロに達し
たとき林らせられない)。
TCINTビット300βは、゛ビ′の状態にセットさ
れるとき、内部の割り込みが制御論理250 (即ち内
部割り込みが割り込み可能レジスター252と253の
ビットDINTによって可能にされる)に、転送カウン
タ・レジスター302がゼロになるとき、割り込むため
に発生されるべきであることを制御論理310に示す。
再セフ)されるときは、そのような割り込みは正当化さ
れない。
制御論理310はコントローラ14と通信しその結果D
MAコントローラ22はマイクロコンピュータ10の残
りと共に一貫して操作する。第8図を参照して、制御論
理310は準備ロジック320と操作ロジック330を
含むものとして図示される。準備ロジック320は線3
12を通ってコントローラ14と通信し、それを準備ロ
ジック320はDMA転送の終りのところの内部割り込
み信号として正当化し、また線322を通ってコントロ
ーラ14と通信し、そのとき準備ロジック320は、以
上において記載したようにDMAの目的のために可能と
される割り込みロジック250によって受けられている
割り込みに応答して割り込みロジック250から受けた
可能とした割り込み信号を受ける。準備ロジック320
はコントローラ14から線316のうえの再セツト信号
をさらに受ける。DMAコントローラの残余に関しては
、準備ロジック320TCレジスター302から線ゼロ
を受け、またバス317を経てコントロール・レジスタ
ー300と通信する。準備ロジック320はまた線RE
ADYのうえに出力を持ちそれはこの出力をDMA1作
ロジック330に提供して、DMA転送が始まることを
示し、また線INTのうえに出力を持ち、それによって
準備ロジック320は、線322によって示されるよう
に可能にした割り込みが受けられたことを通信する。
操作ロジック330はDMA転送中要求される時にDM
Aコントローラ22及びDMAバス38aと38dのあ
いだの通信を制御する機能を行なう。
操作ロジック330は二方向でバス317を通ってコン
トロール・レジスター300に接続されている。線LO
ADとINC/DECRは操作ロジック330から信号
をソース・レジスター306と目的地レジスター304
に出す。線DECRは操作ロジック330をTCレジス
ター302に接続する。データ・レジスター308の制
御は操作ロジック330によって線WRITEと5TO
REを通って達成される。これらの線の操作は以下に図
9aと9bを参照して記載されるであろう。
以上に述べたように、DMAコントローラ22の制御の
もとに行なわれるD M A 操作には割り込みと同期
化を行なうことができる。またコントローラ14に関し
て以上に述べたように、内部で発生した割り込みはその
なかの割り込みロジック250によって受けられ取り扱
われる。割り込みロジック250がDMA割り込み可能
レジスター253によって可能にされるがCPUの割り
込み可能レジスター252のなかの相当するビットによ
って可能となる割り込みを受ける場合は、コントローラ
144は終322を通って準備ロジック320に信号を
出す。準備ロジック320は同じことを操作ロジック3
30に線INTを経て通信する。操作ロジック330は
さらにボート24と26から線326のうえに信号をさ
らに受けて、メモリーまたはアクセスされている入力/
出力装置が忙しいことを示す。
操作では、転送カウンタ・レジスター302、目的地ア
ドレス・レジスター304、及びソース・レジスター3
06が始め希望する始めの条件を負荷としてかけられる
。これらのレジスター302.304、及び306の各
々はマイクロコンピュータ10によって実行される通常
のメモリー書き込み命令を使って周辺バス28のアドレ
ス線28aによってアドレスを指定することができる。
第6図で暗黙のうちに分ることであるがレジスター30
2.304と306の各々に対しアドレスが指定された
とき前記レジスター302.304及び306に負荷を
かけることを制御するためのデユーディング・ロジック
がある。コントロール・レジスター300はまたそのメ
モリー位置にアドレスを指定することによって負荷をか
けられることができ、それによって希望通りにD M 
Aコントローラを構成する。
さて第9a図と第9b図を参照して、DMAコントロー
ラ22の操作が記載されるであろう。コントロール・ロ
ジック310内での準備ロジック320と操作ロジック
330の詳細な構造は簡単なためここでは記載されない
が、しかし第9a図と第9b図の流れを参考にして以下
に記載される機能を達成するのに要求されるような組み
合わせロジックから成り立つ。そのなかに含まれる実際
のロジックはこの技術で普通の技術を持つ人によって容
易に作られることができるようなロジックである。
DMA転送の操作は第8図の線316によって明確にな
るハードウェア再セットから始めてここに記載されるで
あろう。ステップ800によって示されるように、値0
0は再セットのときコントロール・レジスター300の
現状ビット300c/dのなかに書き込まれる。DMA
転送の開始をするために準備ロジック320は第9a図
の開始を調べる。上記のように、もしビット300 a
/bの値IIがユーザーがDMA転送を現在の条件から
始めることを望むことを示すならば、DMAコントロー
ラ22は転送で進行する。もしビット300 a/bの
なかの値が10であるなら(ステップ804)、DMA
転送が書き込みの完了後始めて停止されるべきであるこ
とを示して、現状ピッ)300c/dの内容はステップ
、806で調べられるであろう。もし開始ビット300
a/bが00または01コードを含むならば、DMA転
送は続かないであろう。表4に示されるように、00開
始コードはDMA転送の無条件停止を示し、また01コ
ードはDMA転送が現在の操作くそのような操作は流れ
のなかでこの点ではまだ始まっていない)のあと停止す
べきであることを示す。
もし転送が始まるべきでないならば、準備ロジック32
0はループして開始ビット300a/bの内容を繰り返
し調べてそのなかへの異なったコードの書き込みを発見
する。もしビット300a/bがOlの値をステップ8
04で含むならばステップ806はDMA転送が読み取
りと書き込みのあいだにある(即ち、もし現在ピッ) 
300 c/dが値01を含むならば)かどうかを決定
するために行なわれる。
第8a図に示すステップ868では、コントロール・レ
ジスター300のTCビット300Kが調べられてTC
レジスター302の内容がDMAを制御しているかどう
かを決める。もしTCピッ)300Kが0を含むならば
、転送はTCレジスター302の内容にかかわらず進行
するであろう。
もしTCピッ、ト300Kが1を含んでDMAはTCレ
ジスター302の内容がゼロであるとき停止すべきであ
ることを示すならば、第6図と第8図に示す線ZERO
は準備ロジック(ステップ81o)によって評価され、
もしTCレジスター302の内容がゼロであることを示
すならば、準備ロジック320はDMAと一緒に進行せ
ずステップ302に返って開始ピッ) 300 a/b
の内容を再評価し、またTCビット300にとTCレジ
スター302の内容を再評価する。もしTCレジスター
302の内容がゼロでないならば、またはもしTCレジ
スター362がDMAを制御していないならば、転送は
準備ロジック320によって線REΔDYを操作ロジッ
ク330を明確にして継続するであろう。
ステップ812での操作ロジック330は現状ビy )
 300 c / dの内容を評価して読み取りまたは
書き込みが操作ロジック330によってセットされるべ
きかどうかを決定する。表5に示すように、コート川l
を含む現状ピッ) 300 c/dはDMAが進行中で
あることを示し、操作ロジック330はよっていずれの
条件も再セットすることなしにDMA転送を無条件に継
続するであろう。
もし現状ビット300 c/dのなかのコードが11で
ないならば、ステップ814が転送が書き込みと読み取
りのあいだにある(即ち、新しいDMA転送の始めのと
ころにある)かまたはRMA転送のなかの読み取りと書
き込みのあいだにあるかどうかを決定する。この再セッ
トの条件から進行する例では、現状ピッ) 300 c
/dの内容はステップ800からの値00を含み、また
よって読み取り操作が起きるであろう(ステップ816
)。
ステップ818では、操作ロジック330は準備ロジッ
ク310から線INTを評価して可能とした割り込みが
受けられているかどうかを決定する。もしそのような割
り込みが受けられていたなら、操作は第9b図の点Aの
ところに進み、そこからのD M Aの操作は以下に論
じられるであろう。
もし割り込みが受けられていないならば、操作ロジック
330はコントロール・レジスター300のSYCピッ
)300i/jを評価して割り込み同期化が望まれてい
るかどうか(即ち割り込みは受けられていないので、割
り込みが継続する必要があるかどうか)が決定されなけ
ればならない。
ステップ820は始め転送が読み取りまたは書き込み操
作よりまえであるかどうかを決定するために行なわれる
。もし書き込み操作のまえであるならば、またもしSY
Cビットが目的地同期化もソースと目的地の同期化も明
確にされていないならば、(ビット300i/jは10
でも11でもない)DMA操作は点Aから進行する。
当面の例に返って、DMA転送は再セットから始まって
いるので、転送は読み取り操作に先立つ点にある。SY
Cビット300i/jがこのようにステップ824のな
かの操作ロジック330によって評価されて、ソース同
期化またはソースと目的地の同期化が希望れているかど
うかを決定する(即ち5YnCビット300i/jが0
1または11である)。もしどちらかが要求されて割り
込みは起こっていないならば、操作の制御は第9a図の
点Bまで行き、そこで開始ピッ)300a/bはステッ
プ826で評価されてアボートが呼び求められているか
どうかを決定する。もしそうであれば、DMA操作は再
びステップ800から始まり、現状ピッ)300c/d
の内容を再セットする。もしアボートが求められていな
いならば、現状ビット300c/dはビジー・コード(
11、表5より)が負荷として加えられ、また操作は再
びステップ802から始まる。コード11を現状ビット
300 c/dに負荷とすることは操作が進行すること
を許しく開始ビット300a/bをステップ802及び
その続きのなかで評価のあと)、ステップ814.81
6及び817で読み取りと書き込みを再セットすること
はない。実質的には、もしソース同期化が希望されまた
割り込みが起こらないならば、操作の制御はループを貫
通し、割り込みを受けたとき(ステップ818)転送の
完了に脱出するかまたはアボート・コードを受けて(ス
テップ826)再セットの条件に脱出する。
割り込みが受は入れられているかまたは割り込みが受は
入れられていないとして同期化が要求されていない第9
b図の点Aから始めて、ステップ830は転送が読み取
りまたは書き込みよりまえであるかどうかを決定する。
読み取りが始めに行なわねばならない再セットから始め
る例では、DMA操作ロジック330は線LOADの信
号をソース・レジスター306のうえにその内容をおい
てそれをしてその内容をDMAバス38のアドレス線3
8aのうえに置くようにさせ、操作ロジッ6り330は
またそのような制御信号のDMA操作に対する(例えば
、ポート24を経て)必要なソースの位置に明確化を行
なうようにし、読み取り操作を行なう。もし外部のメモ
リーがアドレス指定されつつあるならば、一般にアクセ
スを完了するために複数の時計サイクルを要求し、“ビ
ジー”信号が適当なポート24または26から線326
のうえの操作ロジック330によって受けられて、アド
レスを指定したソース位置にアクセスが進行しているこ
とを示す。そのような“ビジー”信号は例えば第3図の
ポート24によって受けられるRDY−信号の共範から
発生させられる。RAM18のような内部メモリーはD
MA転送のなかでアクセスされることがまたできる。尤
もアクセスは上記のように機械サイクルのなかで起こり
、DMA転送のなかで“ビジー”時間を最小にするであ
ろう。メモリーが“ビジー”である限り(ステップ83
4)、操作ロジック330は開始ビット300は開始ピ
ッ)300a/bを調べてアボート・コード00(ステ
ップ836)を探す。もし受けていないならば、DMA
“ビジー′″のコード11をコントロール・レジスター
300(ステップ838)の現状ピッ) 300 c/
dのなかに置く。このループはアクセス・メモリーから
の“ビジー”信号が除かれて、メモリー・アクセスが完
了したことを示すまで繰り返して行なわれる。もしアボ
ート・コードがこのループのあいだ開始ビット300a
/bによって受は入れられるならば、DMA操作は無条
件にアボートし制御を第9a図のステップ800に移す
メモリー・アクセスを完了したとき、この場合読み取り
であるが、操作ロジック330はデータ・レジスター3
08に線5TOREを明確にし、その結果、データライ
ン38dのうえのロジックの状態はデータ・レジスター
308のなかに負荷として加えられるであろう(ステッ
プ844)。
もしアボート・コード00が開始ビット300a/bの
なかにないならば(ステップ846)、コードO1が操
作ロジック330によってコントロール・レジスター3
00の現状ビット300 c/dのなかに荷重として加
えられ、DMA転送は今や読み取りと書き込みの操作の
あいだにあることを示す。
一度読み取りが完了すると、準備ロジック320は再び
ステップ802で開始ビット300 a/bを分析して
そのなかにあるコードを決定する。表4に示されるよう
に、開始コード11はDMA操作を無条件で続けるであ
ろう。もし開始ビット300a/bがコードO1を含み
、DMAF作が現在の操作の林るところで停止されねば
ならない(即ち読み取り操作が丁度終った時点)ことを
示すときは、準備ロジック320はステップ802と8
04のループに入って開始ビット300a/bの内容を
変更されるまで調べる。ここで記載の例では、もし開始
ビット300a/bがコード10(DMA転送が現在の
書き込み操作が終るところでアボートされねばならない
ことを示す)を含むならば、現状ビット300 c/d
はステップ848からコード01を含むので、操作はス
テップ808と共に続くであろう。TCレジスターの内
容は読み取りを行なうことで変えられないから、準備ロ
ジックは、ステップ808または810、そのときの状
況によるが、を完了したあと操作ロジック330に対し
て線READYを明確にするであろう。
現状ビット300 c/dはステップ812と814で
コード01を含むので、操作ロジック330は書き込み
操作に対して設定されるであろう(ステップ817)。
プログラム・ループ、これによって割り込みが発見され
るかまたは発見されるかまた割り込みが必要でないこと
が決定されるが、はステップ818.820、及び82
2において読み取り操作に対して上記のように行なわれ
、その結果書き込み操作は目的地同期化またはソースと
目的地の同期化のいずれかが望まれているとき割り込み
を待った状態に保持される。
−度すべての必要な割り込みが受けられると制御は再び
第9b図の点Aで始まる。書き込み操作では、操作ロジ
ック330は目的地レジスター304がDMAバス38
のアドレス線38Hのうえにステップ850の線LOA
Dを通ってその内容を置き、また同じようにデータ・レ
ジスター368をしてその内容をステップ852の線W
RITEを通ってD M Aバス38のデータ線38d
のうえに置かせる。書き込み操作を行なう必要な制御信
号をまたこのとき明確にされる。操作ロジック330は
このときまた、ステップ854で線DECRをTCレジ
スター302に明確にしてTCレジスター302をして
その内容を段階的に減少させる。操作ロジック330は
そこで、読み取りの場合と同じように、ステップ834
.836及び838のメモリー・ 6ビジー ・ループ
にメモリーが最早“ビジー”でないかまたは操作がアボ
ートされるのいずれかまで入る。データ・レジスター3
08のなかに記憶されまた目的地位置に書き込まれたソ
ースの位置からデータ読み取りのDMA転送はそこで完
了する。操作ロジック330はそこでステップ856に
あって目的地レジスター304の内容及びソース・レジ
スター308の内容をして線INC/DECRを経て、
コントロール・レジスター300のなかで300βから
300hまでのビットによって示されるように段階的に
増大させるか減少させる。
メモリーに書き込み操作を完了したあと、準備すみロジ
ック320はコントロール・レジスター300のTCI
NTビット300βを評価して割り込みがライン312
のうえの準備すみロジック320によって正当化される
かどうか、DMA転送されるべきデータ・ブロックが完
全であるかどうか(即ちTCレジスター302がゼロに
あるかどうか)が決定される。割り込みがそのように正
常化されないならば、制御はステップ800の再セット
の状態に帰る。もし割り込みがそのように正当化される
ならば(ステップ858によって示されるように)、T
Cレジスターからの線ゼロが評価され、もしそれがTC
レジスター302の内容がゼロであり(ステップ860
)、準備すみロジック320がステップ862でライン
312のうえの割り込みに正当するならば、再セットの
状態に進む。もしTCレジスター302の内容がゼロで
ないならば、制御はステップ800で再セットの状態に
行き次のDMA転送操作を始める。
さて第1O図を参照して、マイクロコンピュータlOと
外部メモリーを取り入れた簡単なシステムが図示されて
いる。メモリー400と402は第3図に示すようにポ
ート24によって制御されるデータ線Dnとアドレス線
Anから成り立つバスに接続される。制御バスCnは制
御信号(例えばRDY−HOLD−HOLA−5TRB
、及びR/W−)をメモリー400と402をまた第3
図に示すようにポート24か制御するための接続するこ
とに奉仕する。メモリー400と402がポート24に
そのように接続されまたマイクロコンピュータIOのア
ドレス空間のなかメモリーの地図とされているので、上
記のDMA転送は外部メモリー400と402から、よ
り、またはかとよりの両方で起きる可能性がある。勿論
、内部メモリー、例えばRAMl6と18はまた、相当
するソースまたは目的地を外部メモIJ−400と40
2のなかまたはマイクロコンピュータ10のなかの内部
メモリーのなかにして、DMA転送(実にROM20は
ソースとして奉仕する)に対するソースまたは目的の位
置として働くことができる。再び第1O図を参照して、
メモIJ −400はマイクロコンピュータlOへのI
INTI(Dうえの信号を与えるとして示されている。
よってメモIJ −400は上記DMA同期化の目的の
ための割り込みを正当とすることができる。このとき相
当するビットが割り込み可能レジスター252と253
のなかにセットされ(またセットされない)ことを個定
しまた希望する同期化が制御レジスター300の同期ピ
ッ)300i/jのなかにセットされることを(に定し
ている。同じようにして、メモリー402は線INTO
をマイクロコンピュータ10にそれを、もし希望なら、
DNAF作と共に同期化するよう駆動することができる
第1図と第3図から、他の外部のメモリーはポート26
を通ってマイクロコンピュータ10に接続できること、
またそのような他の外部メモリーはまたソース、目的地
、または両者としてDMAコントローラ220制御のち
とに上記のようにDMA転送に対して奉仕することは勿
論明白である。
この記載から明らかであるようにDMAコントローラ2
2はこのようにして一連のメモリー位置の内容を始めの
ソース・アドレスで始まるメモリー・ブロックから目的
地あどれすで始まるメモリー・ブロックのなかの一連の
メモリー位置に移送することに使用できる。この操作は
ここに記載したようにCPU12の介入を要求せずまた
DMAバス38はDMA目的に別のアドレスとデータ・
パッチを与えるので、そのようなり M A 操作がマ
イクロ・コンピュータIOの普通の操作のなかでプログ
ラム及びデータ・アクセスと同時に起きることができる
複数個の開始ビット300 a/bを使用することはD
MA同期化作の制御の増大する水準を与えることは以上
の記載からさらに明らかである筈である。
マイクロ・コンピュータ10は操作全体く例えばステッ
プ802.826.836及び846)を通じ種々のと
ころでD M A ’79作をアボートすることができ
る。しかしながら、DMAを現在の操作(開始コードO
f)の終りのところでアボートする選択は読み取りサイ
クルの、−度それが始まったとき、完了を許して、DM
A転送が書き込みと直接−緒にまた読み取りサイクルを
繰り返すことなく再び始まることを許す。それに加えて
完全な読み取り/書き込み転送の完成を許す開始コード
を与えることによってさらに融通性が与えられ、もし唯
完全なアボートが与えられるならば繰り返す操作の必要
をさらに最小にする。
マイクロ・コンピュータの残りは、コントロール・レジ
スター300がマイクロ・コンピュータ10のアドレス
空間のなかにメモリーの地図をとされているので、周辺
バス28を通って現状ビット300 c/dのなかにD
MAコントローラ22によって書かれて現状情報を読み
取ることができることはさらに明白である筈である。そ
れに加えて、DMA1作をソースと目的地のメモリーの
いずれかまたは両者と同期化するためのシステム割り込
みの使用はDMA同期化の操作のためにマイクロ・コン
ピュータの専用の割り込み端子に対する必要をなくする
本発明がその好ましい実施例を参照してここに詳細に記
載されたが、この記載は唯例としてであり、また眼定す
る意味で解釈すべきではないことも理解すべきである。
本発明の実施例の詳細に数多くの変更、本発明の追加の
実施例はこの記載を参考として持っているこの技術にお
いて普通の技(山を持つ人々にとって明白であるそのよ
うな人によってなされることができることをさらに理解
すべきである。そのような変更と追加の実施例は特許請
求の範囲に記載の本発明の精神と真の範囲のなかにある
と考えられる。
以上の記載に関連して、以下の各項を開示する。
1、 マイクロコンピュータにおいて、該マイクロコン
ピュータは下記のユニット: データ処理命令を実行する中央処理装置、前記中央処理
装置に接続した母線、 少なくとも2ビットの開始コードをストアする前記中央
処理装置に接続される直接メモIJ +・アクセス方式
制御レジスター、及び 前記母線と前記直接メモリー・アクセス制御レジスター
に接続される直接メモリー・アクセス制御器を含み、該
直接メモリー・アクセス制御器は前記母線からそのうえ
にソース記憶アドレス信号を置きまたそれからデータを
受けることによってデータを読み込み、またそのうえに
目的メモリー・アドレス信号を置きまたそれにデータを
提示することによって前記母線にデータを書き込むため
のものであり、前記読み取りと書き込みは直接メモリー
・アクセス転送を構成し、前記直接メモリー・アクセス
方式制御器は前記開始コードの第1の値に応じた前記直
接メモリー・アクセス方式転送を開始し、前記開始コー
ドの第2の値に応じて前記直接メモリー・アクセス転送
をアボートし、また前記開始コードの第3の値に応じて
前記書き込みが完了したとき前記直接メモリー・アクセ
ス方式転送をアボートすることを特徴とするマイクロ・
コンピュータ。
2、特許請求の範囲第1項に記載のマイ・クロ・コンピ
ュータにおいて前記DMAコントローラは前記開始コー
ドの第4番目の値に応答して現在の読み取りまたは書き
込み段階の完了のとき前記DMAff1送をアボートす
ることを特徴とするマイクロ・コンピュータ。
3、特許請求の範囲第1項に記載のマイクロ・コンピュ
ータにおいて、前記DMAコントロール・レジスターは
それにかかる現状コードを前記DMAコントローラによ
って記憶するためのものであり、前記現状コードはDM
A転送の現状が前記コントローラによって行なわれてい
ることを示すものであることを特徴とするマイクロコン
ピュータ。
4、特許請求の範囲第3項に記載のマイクロコンピュー
タにおいて、前記現状コードの第1の値は前記DMAコ
ントローラが前記バスからデータを読むことを完了した
ことを示すことを特徴とするマイクロコンピュータ。
5、特許請求の範囲第4項に記載のマイクロコンピュー
タにおいて、前記現状コードの第2の値は前記DMAコ
ントローラがデータを前記)くスに書き込むことを完了
したことを特徴とするマイクロコンピュータ。
6、特許請求の範囲第1項に記載のマイクロコンピュー
タにおいて、前記バスに接続したメモリーをさらに含み
、前記メモリーは前記バスのうえにアドレス信号によっ
てアドレス指定できまた前記メモリーではデータを前記
バスに及び前記バスから通信することを特徴とするマイ
クロコンピュータ。
7、特許請求の範囲第6項に記載のマイクロコンピュー
タにおいて、アドレス信号をそれに接続した外部メモリ
ーに、またデータをそれに接続した外部メモリーに及び
外部メモリーから通信するため前記バスに接続した周辺
ボートをさらに含むことを特徴とするマイクロコンピュ
ータ。
8、特許請求の範囲第1項に記載のマイクロコンピュー
タにおいて、それに接続された外部メモリーにアドレス
信号を、また外部メモリーにデータを、及び外部メモリ
ーからデータを通信するため前記バスに接続した周辺ボ
ートをさらに含むことを特徴とするマイクロコンビ二一
夕。
9、データ処理システムにおいて、該システムは、メモ
リー 前記メモリーに接続した外部バス、及びマイクロコンピ
ュータを含み、該マイクロコンピュータは データ処理命令を行なうための中央処理装置、前記中央
処理装置に接続される内部バス、前記内部バスと前記外
部バスとのあいだに、それらのあいだのアドレス信号と
データ信号を通信するため、接続されるメモリー・ボー
ト、少なくとも2ビットの開始コードを記憶するため前
記中央処理装置に接続されるDMAコントロール・レジ
スター、及び 前記内部バスにまた前記DMAコントロール・レジスタ
ーに接続され、そのうえにソース・メモリー・アドレス
を置きそれからデータを受けることにより前記内部バス
からデータを読み取るためのもの、及びそのうえに目的
地メモリー・アドレス信号を置きまたそれにデータを提
供することにより前記内部バスにデータを書き込むため
のものであるD M Aコントローラを含み、前記の読
み取りと書き込みはDMA転送を構成し、前記DMAコ
ントローラは前記開始コードの第1の値に応答して前記
DMA転送を開始し、前記開始コードの第2の値に応答
して前記D M A転送をアボートし、また前記開始コ
ードの第3の値に応答して前記書き込みが完成したとき
前記DMA転送をアボートし、 前記メモリーは前記DMAコントローラによってアドレ
ス指定ができることを特徴とするデータ処理システム。
10、特許請求の範囲第9項に記載のシステムにおいて
、前記DMAコントローラは前記開始コードの第4の値
に応答して現在の読みまたは書く段階を完了したとき前
記DMA転送をアボートすることを特徴とするデータ処
理システム。
11、 特許請求の範囲第9項に記載のシステムにおい
て、n記DMAコントロール・レジスターはさらに前記
DMAコントローラによってそれに書き込まれた現状コ
ードを記憶するためのものであり前現状コードはDMA
転送の現状は前記D M Aコントローラによって行な
われていることを示すことを特徴とするデータ処理シス
テム。
12、特許請求の範囲第11項に記載のシステムにおい
て、前記現状コードの第1の値は前記DMAコントロー
ラはデータを前記バスに書き込むことを完了したことを
示すことを特徴とするシステム。
13、特許請求の範囲第12項に記載のマイクロ・コン
ビ二一夕において、前記現状コードの第2の値は前記D
MAコントローラは前記バスにデータ、の書き込みを完
了したことを示すことを特徴とするマイクロコンピュー
タ。
14、特許請求の範囲第9項に記載のシステムにおいて
、前記マイクロコンピュータはさらに前記内部バスに接
続される内部メモリーを持ち、前記内部メモリーは前記
内部バスのうえのアドレス信号によってアドレス指定が
できることを特徴とするシステム。
15、 特許請求の範囲第9項に記載のシステムにおい
て、該システムは、 前記メモリーと前記マイクロコンピュータのあいだに前
記メモリーから前記マイクロコンピュータへ割り込み信
号を通信するため接続される割り込み線を含み、 前記マイクロコンビ二一夕、 CPU割り込み可能コードを記憶するため前記中央処理
装置に接続される中央処理装置割り込み可能レジスター
、及び 前記中央処理装置に接続され、DMA割り込み可能コー
ドを記憶するためのDMA割り込み可能レジスターを含
み、 前記DMAコントロール・レジスターはさらに同期化コ
ードを記憶のためのものであり、また 前記DMAコントローラは前記DMA割り込み可能コー
ドによって可能にされるが前記CPU割り込み可能コー
ドによっては可能にされない前記メモリーから前記割り
込み線のうえの割り込み信号を待っている前記DMAコ
ントロール・レジスターのなかの前記同期化コードの第
1の値に応答して前記DMA転送を中止することを特徴
とするシステム。
16、特許請求の範囲第15項に記載のシステムにおい
て、前記DMAコントローラは前記DMA割り込み可能
コードによって可能とされるが前記CPU割り込み可能
コードによって可能にされない前記メモリーから前記割
り込み線のうえの割り込み信号を待っている前記DMA
転送を前記同期コードの前記第1の値に応答して読み取
りと書き込みのあいだに中止し、また前記DMA割り込
み可能コードによって可能とさせられるが前記CPU割
り込み可能コードによって可能とされない前記メモリー
からの前記割り込み線上の割り込み信号を侍っている前
記DMA転送を前記同期化コードの第2の値に応答して
書き込みと読み取りのあいだに中止することを特徴とす
るデータ処理システム。
17、特許請求の範囲第16項に記載のシステムにおい
て、前記DMAコントローラは前記DMA割り込み可能
コードによって可能とされるが前記CPU割り込み可能
コードによって可能とならない前記メモリーから前記割
り込み線のうえの割り込み信号を待っている前記DMA
転送を前記同期化の第3の値に応答して読み取りと書き
込みのあいだ及び書き込みと読み取りのあいだの両者に
おいて中断することを特徴とするデータ処理システム。
18、マイクロコンピュータにおいて、該マイクロコン
ピュータは、 データ処理命令を実行する中央処理装置、前記中央処理
装置に接続した内部バス、前記中央処置装置に接続され
前記マイクロコンピュータへの割り込み信号を受けるた
めの割り込み端子、 前記中央処理装置に接続されCPU割り込み可能コード
を記憶するためのCPU割り込み可能レジスター、 前記中央処理装置に接続されDMA割り込み可能コード
を記憶するためのDMA割り込み可能レジスター 同期化コードを記憶するためのDMAコントロール・レ
ジスター、及び 前記内部バスと前記DMAコントロール・レジスターに
接続され、そのうえにソース・メモリー・アドレス信号
を置きまたそれからデータを受けることにより前記内部
バスからのデータを読み取るため、及びそのうえに目的
地メモリー・アドレス信号を置きまたそれにデータを提
供することによって前記内部バスにデータを書き込むた
めのDMAコントローラを含み、前記読み取りと前記書
き込みはDMA転送を構成し、前記DMAコントローラ
は前記DMA割り込み可能コードによって可能とされる
が前記CPU割り込み可能コードによっては可能とされ
ない前記割り込み端子のところで割り込み信号を待って
いるU記DMAコントロール・レジスターのなかで前記
同期化コードの第1の値に応答して前記DMA転送を中
心することを特徴とするマイクロコンピュータ。
19、特許請求の範囲第18項に記載のマイクロコンピ
ュータにおいて、前記DMAコントローラは前記DMA
割り込み可能コードによって可能とされ前記CPU割り
込み可能ケーブルによっては可能とされない前記割り込
み端子のところで割り込み信号を待っている前記DMA
転送を前記同期化コードの前記第2の値に応答して読み
取りと書き込みのあいだに中止することを特徴とするマ
イクロコンビ二一夕。
2、特許請求の範囲第19項に記載のマイクロコンピュ
ータにおいて、前記DMAコントローラは前記DMA割
り込み可能コードによって可能とされるが前記CPU割
り込み可能コードによって可能とされない前記割り込み
ターミナルのところで割り込み信号を待っている前記D
MA転送を前記同期化の第3の値に応答して読み取りと
書き込みのあいだ及び書き込みと読み取りのあいだに中
心することを特徴とするマイクロコンピュータ。
2、特許請求の範囲第18項に記載のマイクロコンピュ
ータにおいて、前記DMAコントロール・レジスターは
さらに少なくとも2個のビットの開始コードを記憶する
ためのものであり、また 前記DMAコントローラは前記DMA転送を前記開始コ
ードの第1の値に応答して開始し、前記開始コードの第
2の値に応答して前記DMA転送をアボートし、また前
記開始コードの第3の値に応答して前記書き込みの完成
のとき前記DMA転送をアボートすることを特徴とする
マイクロコンピュータ。
2、特許請求の範囲第21項に記載のマイクロコンピュ
ータにおいて、前記DMAコントローラは現在の読み取
りまたは書き込みの段階を前記現状コードの第4の値に
応答して完了したとき前記DMA転送をアボートするこ
とを特徴とするマイクロコンピュータ。
2、特許請求の範囲第21項に記載のマイクロコンピュ
ータにおいて、前記DMAコントロール・レジスターは
さらに前記DMAコントローラによってそれに書き込ま
れた現状コードを記憶するためのものであり、前記現状
コードはDMA転送の現状が前記DMAコントローラに
よって行なわれることを示すことを特徴とするマイクロ
コンピュータ。
2、特許請求の範囲第23項に記載のマイクロコンピュ
ータにおいて、前記現状コードの第1の値は前記DMA
コントローラが前記内部バスからデータの読み取りを完
了したことを示すことを特徴とするマイクロコンピュー
タ。
2、特許請求の範囲第24項に記載のマイクロコンピュ
ータにおいて、前記現状コードの第2の値は前記DMA
コントローラが前記内部バスにデータの書き込みを完了
したことを示すことを特徴とするマイクロコンピュータ
2、特許請求の範囲第21項に記載のマイクロコンビ二
一夕において、前記内部バスのうえのアドレス信号によ
ってアドレス指定ができまたデータを前記内部バスに向
かって及び前記内部バスから通信する前記内部バスに接
続されるメモリーをさらに含むことを特徴とするマイク
ロコンピュータ。
2、特許請求の範囲第26項に記載のマイクロコンピュ
ータにおいて、それに接続される外部メモリーへの信号
のアドレス信号、及び外部メモリーへのまた外部メモリ
ーからのデータを通信するため前記内部バスに接続した
周辺ポートをさらに含むことを特徴とするマイクロコン
ピュータ。
2、特許請求の範囲第21項に記載のマイクロコンピュ
ータにおいて、それに接続される外部メモリーへのアド
レス信号及び外部メモリーへの及び外部メモリーからの
データを通信するため前記内部バスに接続された周辺ボ
ートを含むことを特徴とするマイクロコンピュータ。
29、DMAデータとオン・チップDMAコントローラ
を入力/出力装置へのアクセスのためオン・チップ・メ
モリーと、またオン・チップ・ポートと接続するアドレ
ス・バスを設けるマイクロコンピュータが開示されてい
る。DMAコントローラは2個のスタート・ビットを持
ち、4個のスタート・コードを表現することのできるコ
ントロール・レジスターを含む。4個のスタート・コー
ドは無条件始動とDMA転送をアボートすることのみな
らず現在の読み取りまたは書き込み操作のあとまたは次
の書き込み操作のあと(即ちデータ・ワード転送の完了
)DMAを停止することを許す。コントロール・レジス
ターはまたDMAコントローラがD M A 操作の現
状を共に書き込む2個の現状ビットを含み、またソース
・モード、目的地モード、またはソースと目的地のモー
ド(または何もない)のなかでD M A m作を同期
化するための2つの同期化ビットを含む。2個の割り込
み可能レジスターはCPUとDMAに対して割り込みを
独立して可能にするためマイクロコンピュータのなかに
設けられている。同期モードのいずれにおいても、DM
Aは、CPUに対しては可能にされないがDMAの目的
には可能になっている割り込みを待っているその操作を
中断する。システム割り込みをDMA同期化に使用する
ことはマイクロコンピュ〒りに対して専用のDMA割り
込みを要求しない。
【図面の簡単な説明】
第1図は、ブロックの形での、本発明によって構築され
たマイクロコンピュータの電気的図式図、第2図は、ブ
ロックの形での、第1図のマイクロコンピュータの中央
処理装置の電気的図式図、第2a図は、ブロックの形で
の、第2図の中央処理装置のなかに取り入れた補助算術
論理ユニット、 第3図は、ブロックの形での、第1図のマイクロコンピ
ュータの周辺ボートの電気的図式図、第4図は、ブロッ
クの形での、第1図のマイクロコンピュータのコントロ
ーラの電気的図式図、第4a図は、第4図に図示したコ
ントローラによって行なわれるパイプライン特徴を図示
するタイミング図、 第4b図は、第1図のマイクロコンピュータの中央処理
装置とDMAコントローラに対する割り込み可能レジス
ターを図示する図、 第5図は、第1図のマイクロコンピュータのなかにある
種々のメモリー実態へのアクセスのアービトレーション
において有用である第4図のコントローラ内にある論理
の概念図の形を取った電気的図式図、 第5a図は、第1図のマイクロコンピュータ内で行なわ
れるメモリー・アクセスのタイミング図で、第5図の論
理の操作を図示する図、第6図は、ブロックの形での、
第1図のマイクロコンピュータのDMAコントローラの
電気的図式図、 第7図は、第6図のDMAコントローラのコントロール
・レジスタの内容を図示する図、第8図は、ブロックの
形での、第6図のDMAコントローラのなかの制御論理
の構築の電気的図式図、 第9a図と第9b図は、第6図のDMAコントローラの
DMAF作の操作シーケンスを図示するフローチャート
、及び 第10図は、ブロックの形での、第1図のマイクロコン
ピュータを取り入れたシステムの電気的図式図である。 図において、 10 − マイクロコンピュータ、 12 −−CP U (中央処理装置)、14   コ
ントローラ、 16.18   メモリー 16 、、、、−、、、、、RAM、 20   ・ 
ROM。 24   インターフェース・ボート 30 ・−データ・バス、 34   プログラムバス。 F/′1 /θ

Claims (1)

  1. 【特許請求の範囲】 マイクロコンピュータにおいて、該マイクロコンピュー
    タは下記のユニット: データ処理命令を実行する中央処理装置、 前記中央処理装置に接続した母線、 少なくとも2ビットの開始コードをストアする前記中央
    処理装置に接続される直接メモリ・アクセス方式制御レ
    ジスーター、及び 前記母線と前記直接メモリ・アクセス制御レジスターに
    接続される直接メモリ・アクセス制御を含み、該直接メ
    モリ・アクセス制御器は前記母線からそのうえにソース
    記憶アドレス信号を置きまたそれからデータを受けるこ
    とによってデータを読み込み、またそのうえに目的メモ
    リ・アドレス信号を置きまたそれにデータを提示するこ
    とによって前記母線にデータを書き込むためのものであ
    り、前記読み取りと書き込みは直接メモリ・アクセス転
    送を構成し、前記直接メモリ・アクセス方式制御器は前
    記開始コードの第1の値に応じた前記直接メモリ・アク
    セス方式転送を開始し、前記開始コードの第2の値に応
    じて前記直接メモリ・アクセス転送をアボートし、また
    前記開始コードの第3の値に応じて前記書き込みが完了
    したとき前記直接メモリ・アクセス方式転送をアボート
    することを特徴とするマイクロ・コンピュータ。
JP33274588A 1987-12-28 1988-12-28 改良された転送制御による直接メモリ・アクセス方式を持つデータ処理装置 Expired - Lifetime JP2777387B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US138419 1987-12-28
US07/138,419 US4989113A (en) 1987-03-13 1987-12-28 Data processing device having direct memory access with improved transfer control

Publications (2)

Publication Number Publication Date
JPH0221350A true JPH0221350A (ja) 1990-01-24
JP2777387B2 JP2777387B2 (ja) 1998-07-16

Family

ID=22481921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33274588A Expired - Lifetime JP2777387B2 (ja) 1987-12-28 1988-12-28 改良された転送制御による直接メモリ・アクセス方式を持つデータ処理装置

Country Status (1)

Country Link
JP (1) JP2777387B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007100957A (ja) * 2005-09-30 2007-04-19 Carl Freudenberg Kg 液圧式ダンパを備えている弾性軸受

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007100957A (ja) * 2005-09-30 2007-04-19 Carl Freudenberg Kg 液圧式ダンパを備えている弾性軸受

Also Published As

Publication number Publication date
JP2777387B2 (ja) 1998-07-16

Similar Documents

Publication Publication Date Title
US4989113A (en) Data processing device having direct memory access with improved transfer control
US5099417A (en) Data processing device with improved direct memory access
JP2519226B2 (ja) プロセツサ
US4912636A (en) Data processing device with multiple on chip memory buses
US4908748A (en) Data processing device with parallel circular addressing hardware
US4862407A (en) Digital signal processing apparatus
US5179689A (en) Dataprocessing device with instruction cache
US5056000A (en) Synchronized parallel processing with shared memory
US6219775B1 (en) Massively parallel computer including auxiliary vector processor
US5036453A (en) Master/slave sequencing processor
US7020673B2 (en) Reconfigurable arithmetic device and arithmetic system including that arithmetic device and address generation device and interleave device applicable to arithmetic system
US5032986A (en) Data processing device with parallel circular addressing hardware
JP3559046B2 (ja) データ処理マネージメントシステム
JP2514296B2 (ja) パ―ソナルコンピュ―タのためのディジタル信号処理サブシステム
EP0127508A2 (en) Full floating point vector processor
JPS62229359A (ja) 情報処理装置
US5175841A (en) Data processing device with multiple on-chip memory buses
JPS6015771A (ja) ベクトルプロセッサ
GB2159309A (en) Vector processor
US5983328A (en) Data processing device with time-multiplexed memory bus
EP2132645B1 (en) A data transfer network and control apparatus for a system with an array of processing elements each either self- or common controlled
US5907864A (en) Data processing device with time-multiplexed memory bus
US6327648B1 (en) Multiprocessor system for digital signal processing
JP2518293B2 (ja) デ−タフロ−プロセツサ
JPH0221350A (ja) 改良された転送制御による直接メモリ・アクセス方式を持つデータ処理装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080501

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090501

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090501

Year of fee payment: 11