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

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

Info

Publication number
JP2777387B2
JP2777387B2 JP33274588A JP33274588A JP2777387B2 JP 2777387 B2 JP2777387 B2 JP 2777387B2 JP 33274588 A JP33274588 A JP 33274588A JP 33274588 A JP33274588 A JP 33274588A JP 2777387 B2 JP2777387 B2 JP 2777387B2
Authority
JP
Japan
Prior art keywords
bus
dma
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.)
Expired - Lifetime
Application number
JP33274588A
Other languages
English (en)
Other versions
JPH0221350A (ja
Inventor
ジー ハル ジュニア チャールズ
アール シーマー ジュニア ローレンス
エフ ポッツ ジェイムズ
アサル キム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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)

Description

【発明の詳細な説明】 本出願は1987年3月13日提出の特許出願S.N.025,443
の一部継続である。
本出願はすべて1987年3月13日提出の特許出願S.N.02
5,417、S.N.205,756、及びS.N.025,413及び1987年4月
6日提出のS.N.035,413ともまた関係する。
本発明はデータ処理装置に関し、また特に直接メモリ
・アクセス方式(DMA)と関連する単一チップ・マイク
ロコンピュータの構造に関する。
発明の背景 マイクロ・プロセッサ装置はゲイリー・ダブリュ・ブ
ーン(Gary W.Boone)氏に与えらえたテキサスインスト
ルメント社に譲渡された米国特許No.3,757,306に示され
MOS/LSI技術によって形成される単一半導体集積回路即
ち“チップ”のなかに通常含まれるデジタル・プロセッ
サ用中央処理装置即ちCPUである。ブーン氏の特許は単
一チップで8ビットのCPUを示し、これは平行ALU(算術
論理回路)、データとアドレスのレジスタ、命令レジス
タ、及び制御デコーダーを示し、これらすべてはフォン
・ノイマン構造を使いまたデータ・アドレス及び命令用
2方向平行母線を使用して相互に接続する。ゲイリー・
ダブリュ・ブーン氏に与えられテキサス・インストルメ
ント社に譲渡された米国特許第4,074,351は4ビットの
平行ALU及びその制御回路を、ハーバード構造で構成さ
れるプログラム記憶装置に対してはオン・チップBOMを
またデータ記憶装置に対してはオンチップRAMを付け
て、含む単一チップ“マイクロ・コンピュータ”のタイ
プの装置を示す。用語マイクロ・プロセッサは通常プロ
グラムとデータの記憶装置に外部記憶を使用する装置に
使い、一方用語マイクロ・コンピュータはプログラムと
データの記憶装置用オン・チップのROMとRAMを付けた装
置に使う。本発明を記載するとき、用語“マイクロコン
ピュータ”は主にオン・チップROMを持たないマイクロ
コンピュータを指すのに使用されるが、これらの用語は
しばしばこの技術では互いに流用されるので、この記載
ではこれらの用語の一方または他方の用語を使うことは
本発明の特徴について制限を与えるものではないことが
理解されるべきである。
現代のマイクロ・コンピュータは2つの一般的クラス
に分けられる。即ち般用マイクロプロセッサ及び特殊目
的マイクロコンピュータ/マイクロプロセッサである。
般用マイクロプロセッサ、例えばモートロラ社によって
製造されるM68020は広い範囲の仕事のいずれも行なうよ
うユーザーによってプログラムされることができるよう
設計されており、またよってパーソナル・コンピュータ
のような機器のなかで中央処理装置としてしばしば使用
される。そのような般用マイクロプロセッサは、広い範
囲の算術及び論理機能に対して良好な性能を示す一方、
勿論そのような機能のうちユーザーがマイクロコンピュ
ータを使用するのに意図するいずれか特定のものに対し
てまたは適応するように設計されていない。マイクロコ
ンピュータの主たる機能を知ることにより、設計者は、
特殊目的マイクロコンピュータによる特殊な機能の性能
が、ユーザーによって創られるプログラムにはかかわら
ず、般用マイクロ・コンピュータによる同じ機能の性能
をはるかに超えるようにマイクロコンピュータの構造を
決めることができる。
大いに改良した速さで特殊目的マイクロコンピュータ
によって行なわれる1つのそのような機能はデジタル信
号処理であり、特にデジタル・フィルターの実行及び高
速フーリエ変換に対して要求される計算である。そのよ
うな計算は整数の掛け算、複数のビット・シフト、複数
のアンド加算、のような繰り返す操作から大きな程度成
立するため、特殊目的マイクロコンピュータはこれらの
繰り返す機能に特に適応するよう作られることができ
る。そのような特殊目的マイクロコンピュータはテキサ
ス・インストルメントに譲渡された米国特許第4,577,28
2号に記載されている。これらの計算に対するマイクロ
コンピュータの特別の設計は結果として般用マイクロプ
ロセッサに勝る充分な性能改良をもたらして、そのよう
な特殊目的マイクロコンピュータをスピーチと影像の処
理のようなリヤル・タイム適用するような特殊目的マイ
クロコンピュータの使用を許した。
デジタル信号処理の適用は、そのコンピュータ集約的
な性質の故に、また寧ろメモリー・アクセス操作に集約
する。よって、デジタル信号処理機能を行なうことにお
いてのマイクロコンピュータの全体としての性能は単位
時間当たりに行なわれる特殊な計算の数によって決定さ
れるだけでなく、またマイクロコンピュータがシステム
・メモリーからデータを検索しまたシステム・メモリー
にデータを記憶させることができる速度によって決定さ
れる。前記米国特許第4,577,282号に記載のマイクロコ
ンピュータのような以前の特殊目的マイクロコンピュー
タはハーバード構造に変更を加えた構造を利用してい
た。その結果データー・メモリーへのアクセスはプログ
ラム・メモリーへのアクセスから独立してまたはそれと
同時に行なわれることができる。そのような構造は、勿
論追加の性能改良を許した。
しかしながら、フォン・ノイマン構造の代りにハーバ
ード構造を使うことはある制限を与える。これらの制限
のあるものはデジタル信号処理適用においてマイクロコ
ンピュータの性能に悪い影響を与えることができる。例
えば、データとプログラムのメモリーは、それらが異な
る母線によってアクセスを行なわれるので、一般に別々
の物理的位置に存在するのではないとしても別々のアド
レス空間のなかに存在しなければならない。よって、ハ
ーバード構造では第1に与えられるメモリーはデータ・
メモリーに与えらねばならず、また第2に与えられるメ
モリーはプログラムメモリーとして与えられねばならな
い。これはプログラムの記憶に利用されていないデータ
記憶を使用することを禁じることによって、またはその
逆でマイクロコンピュータの融通性を制限する。
直接メモリー・アクセス方式(DMA)は般用と特殊目
的マイクロ・コンピュータの両方に対してもう1つの有
用な機能であり、またデジタル信号処理の適用で特に有
用な機能である。時代と共にマイクロコンピュータの性
能がよくなったので、データと命令がメモリーから与え
られなければならない速さもまた大きくなった。オン・
チップDMA制御器はデータを与えること及びそれ自身へ
の命令を制御する仕事から中央処理装置を免れさせるの
に使われてきた。しかしながら、DMA転送の開始と停止
の制御は単一信号、例えばDMA制御レジスターのなかの
ビットによって達成されている。これはDMA操作の融通
性を小さくする制御を与えた。何故ならば、一度DMA転
送が始まると、ブロックの転送の完全なアボートによる
場合を除いて、全ブロックの完了した転送のまえにそれ
は停止されることができないからである。そのようなDM
A操作の制御の融通性のないことはある状況では、中央
処理装置が全ブロックのDMA転送の完了を待ってアイド
ルしなければならないかまたはDMAは無条件でアボート
されそのあと再びスタート(DMAサイクルの浪費)させ
ねばならないような機械のサイクルの浪費を起こすであ
ろう。
DMA操作が最も効率のよいとき、例えば中央処理装置
と対立しないようなときに起こることを許すようにDMA
操作を操作内で種々の状態に保持されるようDMA操作を
制御することができることは、よって、有利であろう。
そのような制御は中央処理装置が有用な操作を行なって
いない時間の量を小さくし、全体としてのマイクロコン
ピュータの性能を増大することを助けるであろう。
よって、マイクロコンピュータにオン・チップDMAコ
ントローラを設け、そのDMAコントローラーはそのなか
で種々の状態のとき転送を保持する能力を持つようにす
ることは本発明の目的である。
そのような能力を保持状態を選択するため制御レジス
ターのなかに複数ビットを使用することによって与える
ことは本発明のさらに別の目的である。
DMA操作の外部の記憶装置との同期化に対して指定し
た割り込み端子より寧ろシステム割り込みを利用するこ
とは本発明のさらに別の目的である。
さらに別の目的及び本発明の利点はこの技術において
普通の技倆を持つ人々にとって以下の明細書とその添附
図を参照することによって明白となるであろう。
発明の要約 本発明は、中央処理装置の仲介を要求することなしに
DMA転送を行なうためにオン・チップDMAコントローラを
持つマイクロコンピュータのなかに取り入れられること
ができる。DMAコントローラはDMA転送に対して希望する
始動/停止の条件を示すコードを受けるため制御レジス
タを含む。このコードは、DMAコントローラは現在の読
みまたは書き操作が完了したとき停止すべきであるとの
指示に対してまたDMAコントローラは次の書き込み操作
の完了のとき停止すべきであることが示されたとき無条
件にDMA転送をアボートすることができる。それに加え
て、コードはDMAコントローラをしてDMA操作をその現在
の状態から例えばもし読み操作のあと停止したならそれ
を再スタートするようにまたは転送されているブロック
のなかで無条件に再スタートさせることができる。DMA
コントローラは状態表示コードを制御レジスタのなかに
置き、このコードはコンピュータの残りの装置によって
読まれることができる。DMAコントローラはまたシステ
ム割り込みをしてDMA操作だけに影響を与えることがで
きるようにすることによってソース及び/(または)終
端を同期化されることがまたできる。
好ましい実施例の詳細な説明 第1図を参照して、マイクロコンピュータ10の構造が
示され、前記マイクロコンピュータは特にデジタル・シ
グナル処理に適応して本発明を取り入れている。マイク
ロコンピュータ10の主な機能的ブロックは中央処理装置
(CPU)12、コントローラ14、及び直接メモリー・アク
セス(DMA)コントローラ22から構成される。本発明の
実施例によるマイクロコンピュータ10のなかに含まれる
メモリーはランドム・アクセス・メモリー(RAMs)16、
及び18、及びリード・オンリー・メモリー(ROM)20を
含む。RAM16と18は、この実施例では、210即ちIKのワー
ドを含み、ROM20は212即ち4Kのワードを含む。外部との
接続はインターフェース・ポート24と26によって行なわ
れる。外部接続は種々のバス信号をマイクロコンピュー
タ10の外部端子に送りまたそれはそのような外部端子を
経てデータを受けまた送るべき外部装置に通信するため
の特殊目的信号を与える。インターフェース・ポート26
には周辺バス28が接続され、これは以下に説明されるで
あろう種々の機能ブロックに接続されることに適応す
る。
マイクロコンピュータ10内のデータ通信はデータ・バ
ス30によって行なわれることができる。データ・バス30
は、メモリー16、18、及び20、インターフェース・ポー
ト24と26及びCPUのあいたでデータ信号の通信専用に使
われるデータ・ライン30dの組を含む。本発明の実施例
では、データ・バス30は32本のデータ線をセット30dと
して含み、よってメモリー16、18、及び20、インターフ
ェース・ポート24及び26、及びCPU12のあいだで通信さ
れるデータ信号は32ビットのワードと考えられる。デー
タバス30はさらに第1の組のアドレス線30aと第2の組
のアドレス線30bを含む、これら両者はメモリー16、1
8、及び20のなかのメモリーの位置に対応するアドレス
信号の通信のためのものである。この実施例では、デー
タ・バス30は各セット30a及び30bそれぞれに24本のアド
レス線を含む。アドレス線30aと30bはまたCPUインター
フェース・ポート24及び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、及び20のポート32d
に接続されたデータ線34dの組を含む。ブログラム・バ
スのデータ線34dはまたインターフェース24と26、及び
コントローラ14に接続されている。プログラム・バス34
はさらにアドレス線の組34aを含み、これはメモリー1
6、18、及び20のポート32a、インターフェース・ポート
24及び26にまたコントローラ14に接続される。またアド
レス・バス34には、アドレス線34aとデータ線34dにそれ
ぞれ接続されるポート32a及び32dをまた持つ命令置物36
が接続される。命令置場36は小さい(64ワード)高速メ
モリーであり、これは最も最近使用した命令コードを保
持するのに使われるので、もし外部メモリー装置がプロ
グラム記憶に使用されるならば、繰り返し使用される命
令の検索はメモリー16、18、及び20からのときと同じ速
さで行なわれることができる。命令置場36の詳細な構造
と操作は以下に説明する。コントローラ14はプログラム
・バス34のデータ線34dのうえに受けられた命令コード
をマイクロコンピュータ10のすべてのブロックのなかに
含まれる特別の論理回路に制御する制御信号にデコード
する。第1図は線SEL16、SEL18、SEL20、SEL24及びSEL2
6を図示し、これらはこれらの制御信号のあるものをマ
イクロコンピュータのコントロール・アクセスに次いで
メモリー16、18、及び20、及び周辺ポート24と26にそれ
ぞれ運び、他のコントローラ14によって 0発生されるそのような制御信号は明白さのため第1図
には示されていない。命令置場36及びコントローラ14に
それが接続されるために、プログラム・バス34はメモリ
ー16、18、及び20のなかに含まれる命令コードのアドレ
スを与えること及び通信に主として使用される。本発明
によれば、そのような命令コードはプログラム・メモリ
ーに専用となる場合のように何か特別の位置の表示なし
にメモリー16、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はダイレクト・メモリー・アク
セス操作を行ない、これによってマイクロコンピュータ
10のメモリー空間内に記憶されるデータのブロックはメ
モリーの1つの領域(ソース)からもう1つの領域(終
端目的地)に移動させられることができる。メモリーの
ソース領域はメモリー16、18、または20のなかにあるこ
とができ、またはインターフェース・ポート24によるサ
ービスを受ける端子に接続したマイクロコンピュータ10
の外部にあるメモリー装置のなかにあることができ、ま
たデータのブロックの終端はそのようなすべてのメモリ
ーのなかにあることができる(勿論ROM20は除く)。第
1図に示されるコンピュータ10の構造から及び以下に行
なう記載から、そのようなDMA操作はCPU12の仲介を要求
することなくマイクロコンピュータ10のなかのDMAコン
トローラ22によって行なわれることができることは明白
である。
ポート32aは主としてマルチプレクサであり、よって
アドレス線30a、30b、34a、また38aの1つの組をその関
連する記憶16、18、または20に接続するため選択を行な
うことができる。同様にして、ポート32dの各々はデー
タ・バス30のデータ線30dに、アドレス・メモリー位置
によって記憶される(または記憶されるべき)データの
通信のため、接続されている。メモリー16、18、及び20
の各々はアドレス・デコーダー33を含みそれは前記アド
レス線30a、30b、34a、または38aの選ばれた1つにこの
技術では周知のやり方で提示されるメモリー・アドレス
信号をデコードするためそのポート33aに接続されてい
る。アドレス・デコーダー33の出力に基づいて、選ばれ
たアドレス信号によって指定されるメモリー位置にアク
セスが許される。RAM16と18及びROM20はすべてこの技術
では周知のようにして建造されており、よって選ばれた
メモリー位置はそのなかのアドレス・デコーダー33の出
力に基づいて感知され及び/(または)書き込まれる。
そのようなメモリーに対してはこの技術では周知のよう
に、ポート32dは選択されないときそれに接続したバス3
0、34、及び38のデータ線に高インピーダンスの出力を
与え、それによってバス30、34及び38のうえでデータが
互いに妨害することを防ぐ。
データ・バス30、プログラム・バス34及びDMAバス38
のなかのアドレス線の組の各々はこの発明の好ましい実
施例では24個の導体から成り立つ。よって、データ・バ
ス30、プログラム・バス34及びDMAバス38のなかのアド
レス線の組によってアドレスできるメモリー位置の最大
数は32ビットの224ワード(16メガワード)である。し
かしながら、メモリー16、18、及び20のなかのワードの
全数は6Kであるから、マイクロコンピュータ10のアドレ
スできるメモリー空間の大きい量はマイクロコンピュー
タ10に対して外部にあるメモリー装置のなかに存在して
いる。そのような外部のメモリーは勿論またオン・チッ
プ・メモリー16、18、及び20と同じようにアドレス・デ
コーディングをする能力を持つであろう。また同じよう
にしてバス30、34及び38のアドレス線のうえに発生する
アドレス信号に応じるであろう。本発明によれば、単一
メモリー・アドレス空間がマイクロコンピュータ20に対
して設けられるので、バス30、34及び38のアドレス線の
どのような与えられた組のうえに提示される与えられる
アドレス信号もそれはメモリー16、18、及び20の唯1つ
のなかのメモリー位置のアドレスをするであろう。よっ
て、アドレス線30がポート32aによって選ばれる例を使
って、アドレス線上30aのうえの与えられたアドレス信
号はメモリー16、18、及び20の唯1つまたは外部のデー
タ・プログラムまたは入力/出力メモリーのなかのメモ
リー位置に対応するであろう。マイクロコンピュータ
は、外部のデータとプログラムのメモリーが周辺ポート
24によってアクセスされること、及び外部の入力/出力
メモリーは周辺ポート26によってアクセスされることが
好ましいというやり方で組織されていることを注目すべ
きである。
周辺バス28はインターフェース・ポート26及び種々の
周辺機能のあいだに接続されている。よって、周辺バス
はコントローラ14による周辺ポート26の制御によってバ
ス30、34及び38のいずれか1つに選択的に接続できる。
このやり方では、周辺バスはオフ・チップ・バスのよう
にマイクロコンピュータ10の残余のように見える。これ
はマイクロコンピュータ10のなかに取り入れられるべき
周辺装置によって通常与えられるような機能を与え、そ
のような周辺装置との相互通信はオフ・チップ装置と非
常に同じような方法でマイクロコンピュータ10の残余に
よって行なわれるであろう。例として、第1図のマイク
ロコンピュータ10はタイマー40、シーリヤル・ポート4
2、及び周辺バス28に取り付けたフォーマット・コンバ
ータ44を持ち、以上において論じたように、DMAコント
ローラ22はまた周辺バス28に接続されている。上記の他
のバスと同じようにして、周辺バス28はデータ線28dと
アドレス線28aを含む。しかしながら、メモリー16、1
8、及び20とバス30、34、及び38に接続したマイクロコ
ンピュータ10の残余とのあいだの通信とは対照的に、周
辺バス28のアドレス線28aは周辺バス28のデータ線28dか
らまたはそれにデータを受けまたは送るためそれに接続
した前記周辺ユニット40、42、または44の1つを選ぶの
に使われる。それに加えて、以下に記載するように、DM
Aコントローラ22のコントロール・レジスターはまた周
辺バス28によってアクセスされる。
さて第2図を参照して、CPU12の構造と操作を詳細に
説明する。CPU12は専用マルティプライヤー算術論理ユ
ニット(ALU)48、データ・レジスター5aから50h(まと
めてデータ・レジスター50と呼ぶ)、補助算術論理ユニ
ット(ARAU)52aと52b、補助データ・レジスター54aか
ら54hまで(まとめてデータ・レジスター54と呼ぶ)、
データ・バス・コントローラ56、及び以下にさらに記載
されるであろう一連のコントロール・レジスター(イン
デックス・レジスター68aと68b、ブロック・レジスター
70及び現状レジスター71を含むがこれに限定はされな
い)を含む。
マルティプライヤー46への入力の一方はCPUバス60aま
たはレジスター・バス62aのいずれかからマルティプレ
クサ64aを経てデータを受けることに適しており、また
マルティプライヤー46への入力の他方はCPUバス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とALU48の平行組み合わ
せはCPU12が両方の機能を同時に使って演算を行なうこ
とを許す。この演算は掛け算と累算の命令のような速や
かな計算をできるようにする。マルティプライヤー46と
ALU48の出力は各々データ・レジスター50に接続され、
その結果マルティプライヤー46とALU48のいずれかによ
って実行される演算の結果は前記のデータ・レジスター
56の選ばれた1つのなかに記憶されることができる。
データ・レジスター50は40ビット・レジスターであっ
て、ユーザーの適用によってデータを整数または浮動小
数点フォーマットで記憶されるのに使用される。浮動小
数点のフォーマットで記憶するときは、8つの最も有意
義なビットは指数部と考えられ、また32個の意味の最も
少ないビットは假数と考えられる。データ・レジスター
50の主だった機能は累算器機能であるので、複数個のデ
ータ・レジスター50は実質的にCPU12にマッチプル累算
器を設ける。データ・レジスター50はまたレジスター・
バス62aと62bに接続され、それはデータ・バス30にデー
タ・バス・コントローラ56を経て出力を与え、またマル
ティプライヤー46とALU48に再び入力として与えられる
ことができる。よって、掛け算と累算の命令はCPU12に
よって容易にまた効率よく行なわれることができる。例
えば、マルティプライヤー46による掛け算の結果は、デ
ータ・レジスター50のもう1つのなかに記憶されレジス
ター・バス62bを経てALU48に適用されるまえの結果に加
えるため、データ・レジスター50とレジスター・バス62
aの1つを経てALU48に入力されることができる。マルテ
ィプライヤー46とALU48の出力はまたマルティプレクサ6
6の入力に接続され、それはまたコントローラ14によっ
て制御されている。マルティプレクサ66の出力は補助レ
ジスター54に接続され、その結果マルティプライヤー46
またはALU48の演算の結果は補助レジスター54の選ばれ
た1つのなかに記憶されるか、またはインデックス・レ
ジスター68a及び68b、ブロック・レジスター70及び現状
レジスター71を含む制御レジスターのバンクのなかに記
憶される。
補助レジスターは32ビット・レジスターで、このレジ
スターはデータ・バス30のアドレス線30aと30bに適用す
るアドレスを発生しまた補助レジスター54のなかに記憶
されたあとで使用したアドレスの計算のためのアドレス
を発生するためにARAU52との関連のもとで使用される。
補助レジスターはそれぞれ補助レジスター・バス65aと6
5bを通ってARAU52aと52bの各々の1つの入力に接続され
る。ARAU52aと52bの各々はまたコントローラ14に接続し
た入力、インデックス・レジスター68aと68bに接続した
入力、及びブロック・レジスター70に接続した入力を持
ち、すべては実行されている命令コードによって指定さ
れるアドレス・モードによってアドレス修飾信号を受け
るためである。ARAU52aと52bはそれぞれデータ・バス30
のアドレス線30aと30bに接続した出力を持ち、この出力
によってARAU52aと52bはメモリー・アドレス信号を出
す。それに加えてARAU52aと52bは補助レジスター54の選
ばれた1つに以下に説明されるように、メモリー・アド
レスの指定をする過程に発生する修飾の結果を記憶する
ためにバス67aと67bに接続した出力を持つ。第1図を参
照して明らかなように、またこの技術において周知のよ
うに、マイクロ・コンピュータ10によって実行可能な命
令コードは、メモリー16、18、及び20並びに周辺ポート
24と26を経て外部メモリーに複数の寸法でアドレスを指
定するがそのようなアドレス指定の例はCPU12のなかの
個々のレジスター50と54のアドレス指定及びメモリー1
6、18、及び20のなかの1つの位置の直接アドレス指
定、及び周知の直接及び相対的アドレス指定モードであ
る。
間接のメモリー・アドレス指定は補助レジスター54と
の関連でARAU52aと52bによって容易にされる。周知のよ
うに、マイクロコンピュータでの間接アドレス指定はメ
モリー位置のアドレスが指定の位置に含まれるメモリー
・アドレス指定のモードがある。間接メモリー・アドレ
ス指定の例は、『レジスター50aの内容によって指定さ
れるメモリー位置にアドレス指定をせよ。』をマイクロ
・コンピュータに命令することである。間接のアドレス
指定はレジスター54が動的メモリー・アドレス・ポイン
ターとして使用されることを許し、このポインターはプ
ログラム・メモリー位置の内容の変更の必要なしにCPU1
2(またそのレジスター54の1つのなかの記憶)によっ
てメモリー位置の計算を許す。それに加えて、ARAU52a
と52bは命令コードから発生する変位コードを利用する
のに使用でき、この命令コードはARAU52aと52bによる間
接アドレスの計算を修飾する。変位コードはコントロー
ラ14によって命令コードのそのデコードのとき発生され
た8ビット・コードであり、またARAU52aと52bの各々の
入力の1つに入力される。CPU12は変位信号がないこと
を1の意味されている値であると解釈し、これは繰り返
し操作のなかで使用されるレジスター54の内容を自動的
に一段階ずつ増加するまたは減少させるのに有用であ
る。そのようなものとして、ARAU52aと52bはRAM16と18
のなかのデータ位置のアドレス指定、及びデータ・メモ
リーとして使用される外部RAMのなかのデータ位置のア
ドレス指定に主として使用され、第1図に示すように、
ARAU52aと52bによってデータ・バス30のアドレス線30a
と30bのうえに発生させられたアドレスは勿論またROM20
にアクセスすることができる。ARAU52aと52bはこのよう
にしてレジスター54の1つでその入力の1つに接続され
たものの内容に及びコントローラ14によって発生させら
れた変位コードのうえに整数の加算または減算操作を行
なうのに使用できる。表1はレジスター54とコントロー
ラ14との関連でARAU52aと52bによって部分的に支持され
る間接アドレス指定モードのいくつかのタイプをリスト
したものである。メモリー16、18、及び20(または外部
メモリー)のプログラム・メモリー部位/位置のなかに
記憶される命令コードは希望されるメモリー・アドレス
指定モードを表1のなかにリストしたものを含んで指定
する5ビット・コードを含んでいる。表1のなかで、
“加えよ”はアドレスが指定されるべきメモリー位置を
指定し、“ARn"はレジスター54の1つの内容を指定し、
また“変位”はコントローラ14によって発生させられた
変位コードの値を指定する。補助レジスター54の1つの
内容の変更した値は表1のなかでは“ARn"で表わされ
る。
CPU12はインデックス・レジスター68aと68bを含み、
これらはまたマルティプレクサ66の出力に接続され、レ
ジスター・バス62aと62bに接続され、またコントローラ
14から変位コードを受けるARAU52aと52bの入力にまた直
接接続されている。コントローラ14は勿論インデックス
・レジスター68a、インデックス・レジスター68b、また
はARAU52aと52bのこのほかの入力への変位コードを制御
するであろう。インデックス・レジスター68aと68bはAR
AU52aと52bを経由してメモリー16、18、及び20(並びに
外部メモリー)のインデックスされた間接アドレス指定
のなかで利用されるべきインデックス値を記憶するため
にALU48によってロードされる。表2はインデックスさ
れた間接アドレス指定モードを含み、このモードは、コ
ントローラ14によって受けられデコードされた対応する
命令に応じて、ARAU52aと52bによって実行可能である。
表1にリストされたアドレス指定モードと同じように、
これら個々のアドレス指定モードは命令コードのなかの
5ビット・コードの特異な1つによって可能にされる。
表2のなかの用語“IRn"はインデックス・レジスター68
aと68bの1つの内容を示す。
さて第2a図を参照して、ARAU52aの構築が詳細に図示
されている。ARAU52bは同じように構築されていること
は勿論了解されている。第2図に示すように、ARAU52a
は加算器/減算器80の1つの入力に接続されている1つ
の入力の補助レジスター・バス65aのところで受ける。
マルティプレクサ82は3つの入力信号を受ける、これら
の入力信号の1つはコントローラ14によって発生させら
れる変位コードであり、また他の2つの入力信号はイン
デックス・レジスター68aと68bの内容である。マルティ
プレクサ82は、加算器/減算器80の第2の入力に適用の
ためこれら3つの入力の1つを選択するため実行されて
いる命令コードに応じて、コントローラ14によって制御
される。
加算器/減算器80はこの技術でよく知られている複数
ステージ算術論理ユニットであり、これは完全桁上がり
加算または減算のいずれかを行なうことができる。コン
トローラ14は加算器/減算器80が加算または減算操作を
アドレス・モード情報を含む命令コードのデコーディン
グに応じて行なうかどうかを制御する。加算器/減算器
80はさらに前進方向または逆方向のいずれかの方向で共
にステージからステージに桁上がり情報を伝搬する能力
を含んでいる。そのような加算器/減算器は同時出願の
米国特許出願第935,465に記載されており、前記出願は
さらに高速フーリエ変換のアルゴリズムを行なうことに
おいて逆桁上がり伝播の恩恵を記載している。コントロ
ーラ14は同じようにして実行されている命令コードに応
じて加算器/減算器80のなかの桁上がり伝搬の方向を制
御する。
加算器/減算器80の出力はマルティプレクサ84の1つ
の入力に接続され、また比較器86の1つの出力もまた接
続される。マルティプレクサ84の他の入力は補助レジス
ター・バス65aに直接接続され、またマルティプレクサ8
4の出力はデータ・バス30のアドレス線30aに接続され
る。マルティプレクサ84は、データ・バス30のアドレス
線30aに計算したアドレスの正当な値を適用することに
対して、現在の命令コードに対して応じてコントローラ
14によって制御される。加算器/減算器80の出力はマル
ティプレクサ88の第一の入力にまた接続され、マルティ
プレクサはその出力を、希望の通りに補助レジスター54
の内容を更新するため補助レジスター54の選ばれた1つ
にARAU52aからのデータを通信するバス67aに接続させて
いる。マルティプレクサ88の第2の入力は加算器/減算
器90に接続されている。比較器86と加算器/減算器90は
以下に説明されるであろう円形アドレス指定論理を含
む。
第2a図を参照して、表1と表2にリストした種々の間
接アドレス指定モードを達成することにおいてのARAU52
aの操作が明瞭となってくる。実行されている命令コー
ドに応じて、コントローラ14はインデックス・レジスタ
ー68aまたは68b(表2のなかの“IRn")の希望の1つを
選ぶためまたは加算器/減算器80によって補助レジスタ
ー54の選ばれた1の内容に適用するコントローラ14によ
って発生させられた変位コードを選ぶためマルティプレ
クサ82を制御する。上述のように、コントローラ14は加
算器/減算器80が加算または減算を行なうかどうかをま
た制御するであろう、また加算器/減算器80が前方また
逆方向の桁送り伝搬を用いてその出力を計算するかどう
かを制御するであろう。希望するアドレス・モードがイ
ンデックスのあとまたは変位のあとの加算または減算で
ある場合には、コントローラ14はマルティプレクサ84を
してデータ・バス30のアドレス線30aに接続されるべき
補助レジスター・バス65aを選択させる(表1と表2の
操作、“加えよ=ARn"に相当する)。逆に、もし希望す
る間接アドレス・モードがインデックスのまえまたは変
位のまえの間接アドレスであるなら、コントローラ14は
マルティプレクサ84をしてデータ・バス30のアドレス線
30aに適用のため加算器/減算器80の出力を選択させる
(表1と表2の操作“加えよ=ARn +/−IRm/変位”に相
当する)。
ARAU52aは選ばれた間接アドレス指定に従って補助レ
ジスター54の更新をまた決定する。円形の間接アドレス
指定モードが選ばれていない(そのよう円形アドレス指
定は以下において論ずることにする)と假定すると、コ
ントローラ14は補助レジスター54の選ばれた1つの内容
が修飾されるべきかどうかを選ぶであろう。希望の間接
アドレス指定モードが補助レジスター54の内容を修飾し
ないときは、コントローラ14はマルティプレクサ88の出
力無能化(トライ・ステート)し、その結果補助レジス
ター54の選ばれた1つの内容は更新されないであろう。
補助レジスター54の選ばれた1つの内容は更新されない
であろう。補助レジスター54の選ばれた1つの内容が加
算器/減算器80により加算または減算の結果で修飾され
るべきであるならば、コントローラ14はマルティプレク
サ88をしてバス67aに適用のため加算器/減算器80の出
力を選択させるであろう(表1と表2のなかの操作“AR
n′=ARn +/−IRm/変位”に相当する)。
第2図に示すCPU12の構築から、種々の機能の操作は
平行であることは勿論明白である。例えば、ARAU52aはA
RAU52bと平行に操作することができる。何故ならばそれ
への入力はレジスター54に別々に接続されており、また
コントローラ14に接続されているからである(及びイン
デックス・レジスター68aと68bにも)。それに加えて、
ARAU52aの出力はデータ・バス30のアドレス線30aとバス
67aに接続され、一方ARAU52bの出力はデータ・バス30の
アドレス線30bとバス67bに接続される。このようにし
て、ARAU52aと52bの操作は、他による干渉または互いへ
の干渉なしに同時に起きることができる。それに加え
て、一度レジスター・バス62aと62bのまえの状態がマル
ティプライヤー46及びALU48によって希望通りに受けら
れると、マルティプライヤー46とALU48の操作は互いに
だけでなくまたARAU52aと52bと共に同時に起こることが
できる。このようにして、特に乗算と累算のような繰り
返す操作を使うアルゴリズムに対して、CPU12はそのよ
うな平行操作から相当の性能改良を行なうことができ
る。
ブロック・レジスター70はマルティプレクサ66の出力
に接続され、またレジスター・バス62aと62bに接続され
並びにARAU52aと52bに直接接続されている。ブロック・
レジスター70は間接アドレス指定計画のなかの“円形”
特徴を与え、その結果データ・メモリー位置のブロック
はループ状に繰り返してアクセスされることができる。
この技術ではよく知られているように、デジタル信号処
理適用に対して要求されるある計算は記憶されたデータ
のブロックのうえに繰り返す操作で表現されることがで
きる。例えば、有限インパルス応答(FIR)デジタル・
フィルター機能の計算はデータのブロックに対して積算
及び累算操作の繰り返しを要求し、そこでは積算及び累
算の結果はメモリー位置に計算され、そこから演算数の
1つが持って来られる。
第2図に返って、データ・バス・コントローラ56はデ
ータ・バス30のデータ線39dに接続され、またデータ・
バス30からCPU12の種々の部分へのデータの流れを制御
するために働く。CPU12の内部には一対のCPUバス60aと6
0bがあり、また一対のレジスター・バス62aと62bがあ
る。データ・バス・コントローラ56は4対1のマルティ
プレクサから成り立ち、このマルティプレクサはその4
つの入力をCPUバス60aと60bにまたレジスター・バス62a
と62bに接続させている。CPU12からデータ・バス30のデ
ータ線30dへの通信はこのようにしてこれら4個の内部
バスのいずれか1つからどのような与えられた時間に起
こることができるが、そのような通信は勿論対応するア
ドレス信号がアドレス線30aのうえまたはアドレス線30b
のうえにデータ線30dのうえのデータ通信と関連して発
生させることを要求する。ARAU52aの出力はデータ・バ
ス30のアドレス線30aと30bにそれぞれ接続されているの
で、そのようなアドレスはデータ・バス・コントローラ
56を通る希望するデータ通信と関連してCPU12によって
発生させられることができる。
ARAU52aと52bの平行である性質は単一機械サイクル内
のCPU12によって1個以上のメモリー・アドレスの計算
を許す。よって、データ・バス・コントローラ56はCPU
バス60の1個以上とレジスター・バス62をデータ・バス
30のデータ線30dに単一の機械サイクル内に接続するこ
とができる。ARAU52aと52bのデータ・バス30のアドレス
線30aと30bに適用することの制御及びCPU12の内部バス
にデータ線30aの時間マルティプレックシングの制御は
実行されている命令コードによってコントローラ14によ
ってなされる。
第3図を参照して、周辺ポート24と26の構造を詳細に
記載する。周辺ポート24と26はデータ・バス30、プログ
ラム・バス34及びDMAバス38に、第1図を参照して以前
記載したように接続される。周辺ポート24は主としてマ
ルティプレクサ100から成り、これは外部のデータ線Dn
をデータ・バス30のデータ線30d、プログラム・バス34
のデータ線34dまたはDMAバス38のデータ線38dにコント
ローラ14によって線SEL24のうえに発生される制御信号
に応答してマルティプレクサ100は外部のデータ線Dn
データ線30d、34dまたは38dのあいだの2方向接続を作
り、その結果データはそれらのあいだで受けられまたは
提供されるであろう。それに加えて、マルティプレクサ
102は外部のアドレス線Anをデータ・バス30のアドレス
線30のまたは30b、プログラム・バス34のアドレス線34a
またはDMAバス38のアドレス線38aにどのデータ線がマル
ティプレクサ100によってデータ線Dnに接続されている
かによるがコントローラ14にまた応答して接続する。
いくつかの制御線は周辺ポート24のなかのバッファ10
4によって、コントローラ14によって発生される信号に
また応答して駆動される(制御線は明白のため図示され
ていない線のうえにある)。これらの制御線の周辺ポー
ト24による出力は線R/W-を含み、これは周辺ポート24を
通るデータの流れの方向を指定する。例えば、外部のメ
モリー装置は、データ・メモリーとしてそのデータ入力
と出力端子を線Dnに接続させまたそのアドレス端子をAn
線に接続させて働くことができるであろう。マイクロコ
ンピュータ10の周辺ポート24は希望するアドレス線、例
えばデータ・バス30のアドレス線、例えばデータ・バス
30のアドレス線30bを線Anに接続することによってまた
線R/W−を、外部記憶装置はデータ・バス30のアドレス
線30bのうえに指定された位置のところで読み取るべき
であることを示す高い論理状態に駆動することによって
そのような外部メモリーのメモリー読み取りを行なうこ
とができるであろう。逆に、線R/W-の高い論理状態は外
部記憶装置はデータ線30dのうえに存在するデータ状態
をマルティプレクサ100を経て線Dnに接続して書き込ま
れるべきであることを示すであろう。
周辺ポート24に接続された制御線24はさらに線STRB−
(線R/W−に置いてのように、“−”表示は低い能動を
示す)を含み、この線はコントローラ14に応答してバッ
ファ104によって駆動され、それは外部のメモリーにAn
に接続されているアドレス線30a、30b、34a、または38a
はそれぞれに応じて、アドレス・メモリーに有効なアド
レス信号を提供していることを示すクロック信号であ
る。線、保持−及びRDY−は外部装置からのマイクロコ
ンピュータ10への入力である。能動の低い線、保持−は
周辺ポート24をしてそのインターフェースを線Dn、An
R/W−、及びSTRB−に高いインピーダンスの状態で置か
せるので、そのような線に接続された複数個の装置はそ
れらのあいだでマイクロコンピュータ10から干渉される
ことなくまたコンピュータ10に干渉することなく通信で
きる。線、保持A−は周辺ポート24のなかでバッファ10
4を経てコントローラ14によって駆動される承認修号で
あり、またそれはマイクロコンピュータ10はその低い状
態で保持−信号を受けたことまた周辺ポート24を高いイ
ンピーダンス状態に置いたことを示す低い論理状態を持
つ。線、RDY−はマイクロコンピュータへの入力であり
また、その低い論理状態に駆動されたときは、データ線
Dn、アドレス線An、及び制御線R/W−及びSTRB−に接続
された外部装置がマイクロコンピュータと通信サイクル
を完了したことを示す。コントローラ14は周辺ポート24
をして準備できRDY−信号を低くして終った通信サイク
ルに向けられる以外の有効な状態に前記線を駆動するま
えにRDY−信号を要求する。
周辺ポート26は周辺ポート24と同じように構築されて
いるが、周辺ポート24から独立して線SEL26によって制
御され、その結果両方の周辺ポート24と26での通信は、
2つのポートによって使用されるバス30、34及び38が同
時に使用されない限り、同時にまた独立して起きること
ができる。周辺ポート26は外部の入力装置及び出力装置
との通信に主として有用である。よって第3図に示され
るように、周辺ポート26は周辺ポート24の同様の部材に
対応してマルティプレクサ108と110を、またバッファ11
2を含む。同じようにして、周辺ポート26はデータ・バ
ス30、プログラム・バス34及びDMAバス38を線I/ODn、I/
OAn、I/ODRY−、I/OSTRB−、I/OHOLD−、I/OHOLDA、及
びI/O R/W−、にインターフェースさせ、これらの線は
周辺ポート24のところの同じような名称の線と同じ機能
を持つ。周辺ポート24と26に接続されるバス30、34及び
38が複数である故に、周辺ポート24と周辺ポート26は同
時に操作されることができる。
さて第4図を参照して、コントローラ14の構築と操作
が詳細に記載されるであろう。コントローラ14はマイク
ロコンピュータの残りの部分の操作を制御する目的に奉
仕する、その結果命令コードによって指定される希望の
操作は正しく実行されるであろう。
コントローラ14は外部からマイクロ・コンピュータ10
から提供されるクロック信号を受ける。コントローラ14
のなかのクロックゼネレーター200は端子X1とX2に接続
されマイクロコンピュータ10のなかで使用される例えば
線CLKINのうえにあるシステムクロックのような内部ク
ロックの信号を発生する。もしクリスタルが端子X1とX2
のあいだに接続されるならば、クロックゼネレーター20
0は、内部発振機を通って線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によって実行されるべき次の命令
のメモリー・アドレスを記憶することである。命令を持
って来るサイクル(これは線CLKINのうえのシステムク
ロック信号の1つの期間のあいだに起きる)では、プロ
グラム・カウンター92の内容はプログラム・バス34のア
ドレス線34aのうえに置かれまたアドレス信号に対応す
るメモリー位置を含むメモリー16、18、または20のなか
の1つがプログラムバス34のデータ線34dのうえにアド
レス指定した内容を提供するであろう。このときプログ
ラム・カウンター92のなかに含まれるアドレスを持つメ
モリー位置の内容はデコードされるべき次の命令の命令
コードを構成する。命令レジスター94は32ビットのレジ
スターでこれはプログラム・バス34のデータ線34dに接
続され、またそれは命令を持ってくるサイクルのあいだ
プログラム・カウンター92の内容を受け取る。
命令を持って来るサイクルのあと線CLKINのうえのシ
ステムクロック信号の次の期間に起こるデコードするサ
イクルのあいだ、命令レジスター94の内容はコントロー
ラ14からマイクロコンピュータ10の機能的回路に行く信
号を発生するため制御論理によってデコードされる。こ
れを達成するため制御論理202の始めの部分は命令コー
ドをデコードするため組み合わせロジックを含む。その
ような組み合わせロジック(第4図にロジック202aとし
て示される)は異なったいくつかの周知の方法、例えば
プログラムできるロジックの配列またはリード・オンリ
ー・メモリーのようなもので実現されることができる。
命令レジスター94からの32ビットの命令コードはこのよ
うにして組み合わせロジック202aによって複数の出力線
にデコードされる。これらの線のあるものは制御論理20
2の外にある機能例えばプログラム・カウンター制御論
理204に直接接続され、これらの線の他のものは制御論
理202のなかの遂次ロジック202bのなかに入力させられ
る。遂次ロジック202bは、CPU12によってメモリーから
データ演算数を読むことをし許すようにまたCPU12によ
って前記演算数にデータ処理を行なう操作を行なうこと
を制御するようにマイクロコンピュータ10の種々の機能
を制御するのに使用される。遂次ロジック202bはそこか
ら派出している追加の出力線を通って勿論これを達成す
る。制御論理202からの出力線の論理的状態は、組み合
わせロジック202aからであるかまたは遂次ロジック202b
からであるかによらず、このようにして命令レジスター
94から制御論理202によって受けられた命令コードによ
って決定される。ここで述べた図ではコントローラ14と
そのような機能的回路の接続は明白さのために図示され
ていないことに注目すべきである。
よって、制御論理202のなかの組合わせロジック202a
は命令レジスター94のなかに記憶された命令コードをデ
コードしていることができ、一方コントローラ14はメモ
リーから次の命令を持って来させることは明らかであ
る。それに加えて、この技術ではよく知られているよう
に、遂次ロジック202bはまえに持って来た命令の実行を
制御すると同時に与えられた命令に対して読まれる演算
術を制御することに使用できる。よって、制御論理202
は、4つの異なる命令コードの部分が同時に実行される
ようにマイクロコンピュータ10を制御していることがで
きる。そのような命令コードのパイプライン処理は与え
られた一連の命令を行なうのに要求される時間を明らか
に短縮するであろう。
第4a図はどのようにしてパイプラインが満たされる
か、及びよってどのようにしてパイプラインが代表的命
令に対して機能するかを図示する。線CLKINのうえのシ
ステムクロック信号の第1のサイクルでは命令nはコン
トローラ14によって、例えばメモリー16、18、または20
の1つから持って来られる。持って来るサイクルのあい
だ、しかしながら、プログラム・カウンター・制御論理
204はプログラム・カウンターの内容を命令n+1に対
する命令コードのメモリー位置を含むように増加させて
いる。線CLKINのうえのシステムクロック信号の第2の
サイクルにおいて、命令nに対する命令コードは制御論
理202によってデコードされている。尚この第2のサイ
クルのあいだプログラム・カウンター92の内容はプログ
ラム・バス34のアドレス線34aに提供され、また命令n
+1に対する命令コードはプログラム・メモリーから持
って来られ命令レジスター94に負荷として与えられる。
第4a図に示される第3のシステムクロック信号のあい
だ、遂次ロジック202bはデータ・バス30を経て命令nに
対して必要であるデータ演算数のメモリー(例えば、RA
M16)から読み取っている。それに加えて、命令n+1
に対する命令コードが持って来られるので、第4a図のな
かの第3のサイクルは、命令n+1が制御論理202の組
み合わせ論理202aによってデコードされていることを示
す。同時に命令nに対する読み取りサイクルによって、
しかしながら、命令nに対する読み取りサイクルとバス
またはメモリーの争いがないと想定して、命令n+2に
対する命令コードを持って来ることがなされている。以
上において述べたように、一般にデータ演算数はデータ
・バス30を経てCPU12によって読まれ、一方命令コード
はプログラム・バス34を経て読まれ、両方が異なったメ
モリー16、18、または20、または外部メモリーのなかに
あると想定するバスの争いは起こらないであろう。
システム時計の第4のサイクルのあいだ、命令nは制
御論理202のなかの遂次ロジック202bの制御のもとに実
行されるであろう、命令n+2に対する読み取り操作は
遂次ロジック202bによって行なわれるであろう。命令n
+1に対する命令コードはデコードされるであろう、及
び命令n+3に対する命令コードは持って来られるであ
ろう。よってマイクロコンピュータ10に対するパイプラ
インは満たされ、また命令シーケンスの性能は最もよい
状態にあり、バスの争いを受けまたメモリー・アクセス
の争いを受け、それはある命令組み合わせに対しては、
操作の1つに対する待ちサイクルの原因となる。
データ・バス30のデータ線30dはコントローラ14によ
って受けられ、これはブランチ命令のような増加させら
れるやり方とは異なったやり方でプログラムの流れの制
御するためで、プログラム・カウンター92がCPU12によ
ってまたはメモリーからロードをかけられることを要求
する。例えば、無条件ブランチの場合、命令コードのな
かに含まれ、メモリーから読み取られるかまたはCCPU12
のレジスターから読み取られる演算数の値は実行される
べき次の命令を含んでいるメモリー位置のアドレスを含
むであろう。そこでプログラム・カウンター制御論理20
4はデータ線30dのうえに提供される値を受け、またそれ
に従ってプログラム・カウンター92にロードをかけるで
あろう。その結果プログラム・コントロールは希望する
位置に行くことができる。
第4図に示すように、プログラム・カウンター制御論
理204はブログラム・カウンター92の内容を受ける加算
器203を含んでいる。制御論理202(好ましいそのなかに
組み合わせ論理202aを持つ)は加算器203を制御しその
結果次のサイクルに対するプログラム・カウンター92の
内容を発生させるには種々のやり方で行なわれることが
できる。上記の説明のように、加算器203は単にプログ
ラム・カウンター92のまえの内容を大きくして命令シー
ケンスを通り抜けることができる。しかしながら、プロ
グラム・カウンター制御論理204はさらに1つのレジス
ター205を含み、このレジスターはデータ・バス30のデ
ータ線30dから値を受けることができる。このようにし
て、プログラム・カウンター制御論理204は種々の方法
でプログラム・カウンター92の内容を計算することがで
きる。例えば、相対的アドレスの方にブランチすること
がデータ・バス30のデータ線30dのうえに提供される値
をレジスター205にロードとしてかけることによって起
きることができるが、この値はそこでプログラム・カウ
ンター92に対して新しい値を発生させるためプログラム
・カウンター92のまえの値に加えられることができるで
あろう。それに加えて、絶対的ブランチがデータ・バス
30のデータ線30dからの希望のメモリー・アドレスをレ
ジスターにロードをして加えることによって、また加算
器203をしてプログラム・カウンターへの適用のためレ
ジスター205の内容によって“ゼロを与える”ことを行
なわせる制御論理202によって行なわれることができ
る。
マイクロ・コンピュータ10は遅らせたブランチ命令を
行なうことができ、その結果ブランチ命令はそれが実際
に起こるまえに3つの命令が持って来られることをさら
に注目すべきである。遅らされたブランチ命令は、実行
されるとき、レジスター205に直接ブランチのときと同
様にブランチの目的地メモリー・アドレスをロードとし
て加える。しかしながら、制御論理202は遅らされたブ
ランチ命令の実行に続いて次の3つの命令に対してブロ
グラム・カウンター92の内容を増大させることを続け
る。第3の命令のとき、加算器203はレジスター205の内
容をプログラム・カウンター92に適用し、それによって
パイプライン計画を有利に利用することを続けるあいだ
ブランチを行なう。勿論、パイプラインはブランチのあ
と満たされた状態に残るであろう。何故ならば目的地位
置はまえと同じように加算器203によって増大されるこ
とを続けるであろうからである。
コントローラ14はさらに割り込み論理205を含み、こ
れはマイクロコンピュータの複数の外部端子に、コント
ローラ14に、及びマイクロコンピュータ10のなかの種々
の機能に接続されている。割り込み論理250は“再セッ
ト”端子のうえにまたINT0からINT3までの端子のうえに
マイクロコンピュータ10に対して提供される割り込み信
号を受ける目的に、またシーリアル・ポート42及びDMA
コントローラ22のような種々の機能からマイクロコンピ
ュータ10に内部的に発生させる割り込み信号を受ける目
的に奉仕する。そのような内部的割り込み信号の例が第
4図に線312によって示され、この信号はDMAコントロー
ラ22からの割り込み信号である。制御レジスターとして
CPU12のなかに割り込み可能レジスター252とDMA割り込
み可能レジスター253が含まれており、その各々はメモ
リー地図のアドレス指定のできるレジスターであり、ま
たその内容は割り込み信号の各々が可能であるか不可能
であるかを指定する。割り込み可能にするレジスター25
2の内容によって可能とされるCPUの方に向いた割り込み
信号を端子INT0からINT3までの端子からかまたはマイク
ロコンピュータ10に対しての内部から受けることに応答
して、またもしコントローラ14が入力/出力メモリー位
置へのアクセスが現在ないことを示すならば、割り込み
論理250はプログラム・カウンター92をして特定の割り
込み信号(割り込みベクトル)に相当するメモリー・ア
ドレスでロードをかけられるようにし、またプログラム
の実行は割り込みベクトルの位置から前方に続くであろ
う。割り込みベクトルによって呼ばれた割り込み処理ル
ーチンのなかに一般に含まれる命令コードに応答して、
割り込み論理250は外部割り込みに対して線INTAのうえ
にまた、例えば、DMAコントローラ22に対しては内部割
り込み信号に対しては線314のうえに割り込み承認の信
号を発生するであろう。そのような操作に対しては、こ
の技術では周知であるが、コントローラ14はプログラム
92のまえの内容が前以て決められているメモリー位置
(一般に“スタック”と呼ばれる)のなかに記憶される
ようにし、その結果次に持って来られたであろう命令コ
ードの位置は割り込みが奉仕されたあと再度ロードとし
てかけられるであろう。
以下により詳しく説明されるが、DMAコントローラ22
はDMA操作の同期化のなかでCPU12と同じシステム割り込
みを利用し、その結果マイクロコンピュータ10はDMA同
期化に対して専用の外部端子を要求しない。よってDMA
割り込みはレジスター253をしてCPUの割り込み可能レジ
スター25のデータに機能で同じであるデータを含むこと
ができるようにする。システム割り込みを取り扱うとき
に優先権が必要上CPUとDMAのシステム割り込みのあいだ
にそのような割り込みの効果のなかに不明瞭があること
を避けるため割り当てられねばならないことに注目すべ
きである。DMA操作はCPU12の操作に対して透明であるが
意図されている、よってCPU割り込み可能レジスター252
とDMA割り込み可能レジスター253の両者によって可能と
される割り込みはCPU12だけへの割り込みであるとして
扱われるであろう。
第4b図を参照して、割り込み可能レジスター252と253
が図示されている。以上に記載したように、割り込み可
能レジスター252と253の各々はマイクロコンピュータ10
のメモリー・アドレス空間のなかにあり、またよって希
望のように読み取り書き込みができる。勿論、CPUの割
り込み可能レジスター252の内容はDMAの割り込み可能レ
ジスター253の内容の書き込みとは独立して書き込む及
びその逆を行なってCPU12とDMAコントローラ22に対して
独立した割り込み能力を与える。割り込み可能レジスタ
ー252と253の各々の内容は同じであるから、以下の記載
は両方に適用する。
入力線INT0からINT2までの各々とコントローラ14のな
かの割り込みロジック250によって受けられる“リセッ
ト”はそれと関連する可能ビットを割り込み可能レジス
ター252と253のなかに持ち、その結果線の各々のうえの
外部から正当化される割り込みは個々に可能とされまた
不可能とされるであろう。それに加えて、周辺バス38に
周辺から接続される部外的に正当化される割り込みはま
た個々に割り込み可能レジスター252と253によって可能
とされる。これらの割り込みはビットX0とX1に関連して
おり、その中の第1と第2のシーリヤル・ポート・チャ
ンネルに対する伝達レジスターはそれぞれに空であるこ
とを示すシーリヤル・ポート42からの割り込みを可能に
し、ビットR0とR1はまたなかの第1と第2のチャンネル
に対する受け入れレジスターがそれぞれ一杯であること
を示すシーリアル・ポート42に対する割り込みを可能と
する。割り込み可能レジスター252と253のビットTINTは
周辺バス38に接続したタイマー40によって正当化される
割り込みを可能にする。割り込み可能レジスター252と2
53のなかのビットDINTはDMAコントローラ自身によって
与えられる割り込み可能にする。勿論、外的に及び内的
に両方で正当化される追加の割り込みは割り込み可能レ
ジスター252と253のなかのビットの数を大きくすること
によって可能となるであろう。
DMA操作の同期化は、以下において説明されるよう
に、外的線INT0からINT2までを通って主として制御され
るであろう。何故ならば同期化はマイクロコンピュータ
10に接続される外的メモリー装置とのそのような操作の
なかで最もしばしば必要であるからである。しかしなが
ら、DMAコントローラ22に与えられたDMA割り込み可能レ
ジスター253を通って可能とされる内的に正当化される
割り込みとの同期化はある状況のもとではまた有用であ
ろう。
以上で説明したように、CPU割り込み可能レジスター2
52の内容によって可能とされるCPU12に対する割り込み
はDMAコントローラ252に対する割り込みに対して、もし
DMA割り込み可能レジスター253によってまた可能とされ
るならば、優先権を持つ。よってDMA操作のうえに影響
を持つために、特定の割り込みはCPU割り込み可能レジ
スター252によって可能とされずにDMA割り込み可能レジ
スター253によって可能とされなければならない。
第1図と第2図より、マイクロコンピュータ10の内部
にある複数個のバスは、バス30、34、または38の2つが
同じメモリー16、18、または20に同時にアクセスしてい
ない限り、また外部メモリー(周辺ポート24また26を通
って)にアクセスしていない限り、メモリー16、18、及
び20に同時にアクセスすることを許すことができる。こ
の場合には、バス・アービトレーションはコントローラ
14によって制定されることを要求することなく、またメ
モリー・アクセスは独立して起こることがある。
しかしながら、そのような同時アクセスは実行されて
いる命令コードによって要求されることがある。よっ
て、メモリー・アクセスに関してバスの争いを防ぐため
に、コントローラ14はさらにメモリー・アービトレーシ
ョン・ロジック206を含む。メモリー・アービトレーシ
ョン・ロジック206はクロックゼネレーター206からクロ
ック信号Q1とQ2を受けまたバス30、34、及び38のアドレ
ス線の各々のうえのアドレス信号を受ける。メモリー・
アービトレーション・ロジック206はそれぞれメモリー1
6、18、及び20の各々に対して線SEL16、SEL18、SEL20の
うえに出力信号を与え、メモリー・アービトレーション
・ロジック206はさらに周辺ポート24と26のそれぞれに
対して線SEL24とSEL26上の信号を発生する。メモリー・
アービトレーション・ロジック206の目的はメモリー1
6、18、及び20へのアクセス、及び外部メモリー及び入
力/出力メモリーへのアクセスを前以て決められた優先
権によって制御することである。
下記の例の目的に対しては、優先権はデータ・バス30
のアドレス線30a、30b、の順序で最も高い優先権を持つ
と想定され、それに次いで、プログラム・バス34のアド
レス線34aが続き、次いで最も低い優先権を持ったDMAバ
ス38のアドレス線38aが続く。この優先権はマイクロ・
コンピュータ10の構築、特にCPU12のために選ばれてお
り、マルティプライヤー46とALU48の平行接続は、マイ
クロ・コンピュータ10に対して意図されるデジタル信号
処理の適用に対しては、性能はもしデータ通信が命令を
持って来るため待つことを強制されるならば逆の場合よ
りもより重大な影響を受けるであろうことが非常に起こ
り易いことを意味している。DMA操作は最も低い優先権
をとることができる。これは他の操作に対してより遅い
DMAから結果として生れる大抵の適用プログラムに対し
て全体としての性能への最小の影響のためである。しか
しながら、本発明の他の適用は、もし優先権が変更され
たとしたらよりよい条件で行なわれるであろう。例え
ば、グラフィック適用に対しては、DMAは、もしビデオ
表示リフレッシュ機能を与えるように使用されるなら
ば、最も高い水準で優先権を与えられるのが最もよい。
よって、ここで図示される優先権は唯例としてのもので
ある。
さて第5図を参照して、メモリー・アービトレーショ
ン・ロジック206によってコントローラ14のなかでメモ
リー・ポート32aの1つの制御が図示されている。第1
図に関して以上に記載したように、メモリー・ポート32
aの各々はデータ・バス30のアドレス線の組30aと30bか
らのアドレス信号、プログラム・バス34のアドレス線34
aからのアドレス信号及びDMAバス38のアドレス線38aか
らのアドレス信号を受けるために接続されている。第5
図に示されるメモリー・ポート32aは主として複数機能
を行なう。何故ならばそれはその入力のところで前記ア
ドレス線を受け入れアドレス線の選ばれた1つをそれに
関連するメモリー16、18、または20のデコーダー33にコ
ントローラ14からの信号に応答して接続するからであ
る。
第5図はコントローラ14のなかのメモリー・アービト
レーション・ロジック206の一部の論理的図式でありそ
れはポート32aと32dの1つの対を制御し、例で示せば、
第5図に示されるポート32aと32dはRAM16と関連する。
以上において記載したように、単一メモリー・アドレ
ス空間がマイクロコンピュータ10によってコンピュータ
10のなかのメモリー16、18、及び20のすべてに対して利
用されまたマイクロコンピュータ10に対して外部であり
周辺ポート24と26を経て近寄ることのできるメモリーの
アドレスを含む。マイクロコンピュータ10のメモリー・
アドレス空間は16Mワード(224ワード、バス30、34、及
び38のなかのアドレス線の各組のうえに運ばれる24ビッ
トによる)。この単一のメモリー空間を使って、表3は
本発明の好ましい実施例に従うマイクロコンピュータ10
のメモリー地図を示す。
上述のように、I/0とメモリーマップレジスターにつ
いて述べるメモリー・アドレス空間は周辺ポート26に向
けられている(周辺ポートは、以下に論じるように、周
辺バス28を通ってアドレス指定できるレジスターで、DM
Aコントローラ22のなかのもの、タイマー40、シーリヤ
ル・ポート42及びフォーマット変換器44を含む)、一方
外部メモリー・アクセスは一般に周辺ポート24を経て取
り扱われる。
メモリー・アービトレーション・ロジック206のなか
にデコーダー120aから120dまであり、アドレス線30a、3
0b、及び38aの組のうちの関連する1つはそのなかのア
ドレス線の充分の線をデコードして、関連するアドレス
線のうえに指定されたアドレス値はそれによって制御さ
れるメモリー16、18、及び20の与えられた1つに対する
範囲のなかの1つの値である。例を示す目的として、第
5図に示すポート32aの1つがRAM16と関連すると想定し
よう。よって、第5図のポート32aは801000hと8013FFh
のあいだにあるアドレス線30a、30b、34aまたは38aの組
の1つのうえのアドレス値に応答すべきである。勿論、
この技術で普通の技術の人は120aから120dまでのデュー
ダーをアドレス線の最も意味が小さい10ビットの“かま
わない”値を利用するようなやり方で設計することがで
きるであろう。デコーダー120の各々の出力は、それに
接続したアドレス線が801000hと8013FFhのあいだにある
場合には第5図の図示例のなかでロジック“1"である。
デコーダ120aから120dまでのからの出力線はそれぞれM3
0A、M30B、M34A、及びM38Aであり、RAM16と関連するア
ドレスとメモリー・アドレス空間とのあいだの嵌合があ
るかないかを表示している。
以上に記載したように、コントローラ14の時計ゼネレ
ーター200は2つのクロック信号Q1とQ2を発生し、それ
らはポート32aの制御に利用される。以上に述べた如
く、マイクロコンピュータ10のシステムクロックは線CL
KINのうえの時計信号に相当する。クロック信号Q1はシ
ステム時計の第1の1/4サイクルのあいだ“1"であり、
クロック信号Q2はシステム時計の第3の1/4サイクルの
あいだ“1"である。第5図に示すメモリー・アービトレ
ーション・ロジック206はこれら2つのクロック信号Q1
とQ2をアドレス線30aと30bの組のうえのアドレス信号を
相互に時間マルティプレクスするために使用する。第5
図の信号M30AはANDゲート122aの第1の入力に接続さ
れ、一方クロック信号Q1はANDゲート122aの第2の入力
に接続される。ANDゲート122aの出力はよって、データ
・バス30のアドレス線30aのうえに提供されるアドレス
がシステムクロックの第1の1/4サイクルのあいだRAM16
(図示の例で)のメモリー空間のなかにあるときだけ
“1"である。ANDゲートの出力はポート32aに接続され
て、SEL30Aと名付けられる。ポート32aは“1"論理状態
にある線SEL30Aに応じてRAM16のデコーダー33に適用の
ためデータ・バス30のアドレス線30aを選ぶことに使用
できる。逆に、線SEL30BはANDゲート122bの出力に接続
され、それはデコーダー120bとクロック信号Q2の論理的
ANDを行なう。ポート32aはよってシステムクロックの第
3の1/4サイクルのあいだ801000hと8013FFhのあいだに
アドレスの値があるときRAM16のデコーダー33に適用の
ためアドレス線30bのみを選ぶ。よって、この記載と第
5図から、データ・バス30のアドレス線30aと30bの組は
与えられたサイクル中同じメモリー16、18、または20
(または外部メモリー)に向けられることに対して決し
て争いを起こすことはできなことは明らかである。争い
がないのは第5図に示されるようにコントローラ14によ
って行なわれるサイクルのなかの2つのアドレスのタイ
ム・マルティプレキシングのためである。アドレス線30
aと30bの組のうえのアドレスは、プログラム・バス34と
DMAバス38のなかのアドレス線に対して最も高い優先権
を持っていることは明らかであろう。何故ならばバス34
と38のうえのアドレス値の値はコントローラ14による線
SEL30AとSEL30Bのうえの“1"論理状態の発生になかに考
慮されていないからである。
そのような優先権制御はプログラム・バス34のアドレ
ス線34a及びDMAバス38のアドレス線38aに対してコント
ローラ14によって可能となる。入力のところでプログラ
ム・バス34のアドレス線34aを受けるデコーダー122cは
デコーダー122a及び122bと同じように801000hと8013FFh
のあいだにあるアドレス値に応答して線M34Aのうえに
“1"論理状態を発生する。線M34AはANDゲート124aと124
bの各々の1つの入力に接続され、それはその3つの入
力の論理のANDに相当するその出力のところに信号を発
生する。ANDゲート124aの第2の入力はクロック信号Q1
に接続され、またANDゲート124aの第3の逆の入力は線M
30Aに接続され、よってANDゲート124aの出力は、もしデ
ータ・バス30のアドレス線30aのアドレス値がRAM16メモ
リー位置に相当しないならばまた唯そのときだけ、シス
テムクロックの第1の1/4サイクルのあいだRAM16(この
例で)のなかの位置に相当する論理状態“1"のところに
ある。この論理状態“1"は、プログラム・バス34のアド
レス線34aがORゲート126を経てRAM16への適用に対して
選ばれるべきであることを示して線SEL34のうえのポー
ト32aに適用される。アドレス線34aをポート32aによっ
てRAM16に適用することは、線M30Bが低い限り、(即ち
アドレス線30bのうえのアドレスがRAM16に対するメモリ
ー空間の外にあるメモリー位置に対応する)同じように
ANDゲート124bによって可能となる。
DMAバス38のアドレス線38aをポート32aを選ぶことは
線SEL38のうえの論理状態“1"によって可能になる。線S
EL34のうえの論理状態“1"のように、線SEL38の論理状
態“1"はデコーダー120d(これはその出力に線M38Aを持
ち、それは線38aのアドレス値がRAM16のアドレス空間の
なかにあるとき論理状態“1"を持つ)、ANDゲート128a
及び128b、及びORゲート130によって発生させられる。
しかしながら、ANDゲート128aと128bは各々第4の逆に
した入力を持ち、これはデコーダー120cの出力から線M3
4Aに接続される。よってDMAバス38のアドレス線38aを選
ぶことはプログラム・バス34のアドレス線34aよりもよ
り低くさえある優先権を持つことになる。何故ならば、
ラインSEL38のうえに“1"の状態を発生するために、デ
ータ・バス30のアドレス線30a(または30b、どの1/4サ
イクルが現時点であるかによる)及びアドレス線34aの
うえのアドレス値の両方はRAM16(この例で)のなかの
メモリー位置に対応してはならないからである。
第5図に示すように、ポート32dは同じように対応す
るメモリー(この例ではRAM16)に接続のためデータ・
バス30、34または38の正しいデータ線を選ぶ線SEL16
(即ち線SEL30A、SEL30B、SEL30、及びSEL38)によって
可能になる。データ線30dはデータ・バス30のデータ線3
0aとアドレス線30bの両方によってアクセスされるの
で、線SEL30AとSEL30Bはデータ・バス30のデータ線30a
の選択の目的のためORを行なわれる。ポート32aと32dは
アドレス線30a、34b、34aまたは38aのいずれもが相当す
るメモリーのアドレス空間のなかにないとき各々3つの
状態にあることに注目すべきである。これは関連するメ
モリーが選ばれていないときのデータ線30d:34d、また
は38dと干渉する場合を除外する。
第1図と第4図に示すように、コントローラ14のなか
のメモリー・アービトレーション・ロジック206は線SEL
18とSEL20を経てそれぞれメモリー18と20のポート32aと
32dへの選ばれた出力を創り出す。それに加えて、メモ
リー・アービトレーション・ロジック206は線SEL24とSE
L26を経て第5図について以上において記載したのと同
様のやり方で周辺ポート24と26に対する選ばれた出力を
与える。周辺のポート24と26のなかには、第3図のマル
ティプレクサ100、102、106及び108が前記アドレス線30
a、30b、及び38aのうえのアドレス値によって、同じ優
先権計画に基づいて可能とされる。
種々のメモリー装置に対する読み取りと書き込みの制
御は、第4図に示すように、コントローラ14の制御論理
202のなかのシーケンシャル・ロジック202bからのコン
トロール出力のあるものによって達成される。コントロ
ーラ14によって行なわれる他の制御機能のように、この
機能はコントローラ14によって受けられデコードされる
命令コードに応答して起こる。
さて、第5a図を参照して、一連のメモリー・アクセス
のタイミングと優先権を与えることが本発明の平行アク
セスと二重アクセスの特徴を図示するため示されてい
る。第5a図の一番上の線は、以下に記載との相関を容易
にするためサイクルにナンバーを付けて、線CLKINのう
えのシステムクロック信号の操作を図示する。クロック
信号Q1とQ2は以上に記載したように図示されており、ク
ロック信号Q1はシステムクロック期間の第1の1/4サイ
クルのあいだ活動し、クロックQ2はシステムクロック期
間第3の1/4サイクルのあいだ活動する。明白さのた
め、第5a図に示す例はすべて種々のメモリーへの読みア
クセスである。RAM16と18への読みアクセス及び外部メ
モリーへの読みアクセス優先権が与えられ関係するデー
タ線の値で書くことに応答するメモリーだけを一緒に第
5a図に示す読みアクセスと同じ方法で許される。
第5a図に示されるシステムクロックCLKINの第一サイ
クルのあいだ、アドレス線30aはアドレス値J1を持って
おり、これはRAM16のなかのメモリー位置に相当する。
同じように、アドレス線30bはアドレス値J1を運び、こ
れはROM20のなかのアドレス値に相当する。活動するク
ロック信号Q1に応答して、RAM16はデータ・バス30のデ
ータ線30dのうえのメモリー位置I1の内容を提供する。
システムクロックCLKINの第3の1/4サイクルで活動する
クロック信号Q2に応答して、ROM20はデータ・バス30の
データ線30dのうえのメモリー位置J1の内容を提供す
る。勿論、アドレス線30aと30bは違ったメモリーを指す
ので、それらのあいだに争いはない。
第5a図に示されるシステムクロックCLKINの第1のサ
イクルのあいだにはまたプログラム・バス34のアドレス
線34aはアドレス値K1を持ち、これはまたROM20のなかの
メモリー位置に相当する。データ・バス30のアドレス線
30bはプログラム・バス34のアドレス線34aに勝る優先権
を持っているので、ROM20はアドレス線34aに応答しな
い。何故ならば、アドレス線30bはROM30へのアクセスが
許されているからである。よって、プログラム・バス34
のデータ線34dは高いインピーダンスの状態に止まる。
何故ならば、他のメモリーはアドレス値K1によってアク
セスされないからである。またRAM16はその代りアドレ
ス線30aと30bによってアクセスされるからである。同じ
ようにして第1のサイクル中、DMAバス38のアドレス線3
8aはアドレス値I1を持っており、これはRAM16のなかの
メモリー位置に相当する。アドレス線38aはデータ・バ
ス30のアドレス線30aよりも低い優先権を持つので、DMA
バス38のデータ線38dはまた高いインピーダンスの状態
にある。バス30、34、及び38のうちの2つによる単一メ
モリー装置の試みられるアクセスにおいて争いが起きて
いるので、コントローラ14は制御論理202を経て、より
低い優先権のバスの希望するメモリー・アドレスをして
提示されることを続けさせるであろう。その結果メモリ
ーへのアクセスが許されるや否やプログラムの実行はア
クセスを否定されているバス34または38の1つに対する
同じ点から再び始まるであろう。
第5a図に示す第2のサイクルでは、アドレス線30aと3
0bはそれぞれアドレス値i2とj2をRAM18に提供する、よ
ってデータ線30dには第1のサイクルにおいてと同じよ
うにクロック信号Q1とQ2に応答するメモリー位置i2とj2
の内容が提供される。共にRAM16を参照してアドレス線3
0aと30bのために争いは起きない。何故ならばアドレス
線30aと30bの別々の組が第5図に対して記載されたよう
にコントローラ14の操作によってシステムクロックの期
間にRAM16に提供されるように制御されているからであ
る。プログラム・バス34のアドレス線34aはROM20のなか
のメモリー位置に相当するアドレス値K1を運ぶことを続
ける。何故ならば、アドレス線30aと30bはRAM16にアク
セスをしているので、プログラム・バス34は次いでROM2
0へのアクセスを許され、またクロック信号Q1に応答し
て、ROM20のなかのメモリー位置K1の内容はプログラム
・バス34のデータ線34dのうえに提供される。また第5a
図に示す第2のサイクルのあいだ、DMAバス38のアドレ
ス線38aはRAM16のなかのメモリー位置に相当するアドレ
ス値i1を持ち続ける。データ・バス30もプログラム・バ
ス34もRAM16へのアクセスを許されていないので、RAM16
は、クロック信号Q1に応答して、DMAバス38のデータ線3
8dのうえにあるメモリー位置i2の内容を提供する。マイ
クロコンピュータ10は、本発明によって構築されて、3
つの異なるメモリー位置で同時起きているものへの3つ
の平行なアクセスを持つことができる。データ・バス30
のアドレス線30aと30bの組をサイクル内でマルティプレ
ックスすることを考慮に入れると、単一システム時間サ
イクル内に4つのメモリー・アクセスの可能性が行なわ
れることができる。
第5a図に示されるシステムクロックCLKINの第3のサ
イクルはデータ・バス30のアドレス線30aがDMAバス38の
アドレス線38aに勝る優先権を取ることの効果を示す。
クロック信号Q1は活動的になるので、両方のアドレス線
30aと30aはRAM18(それぞれ値はi3とi2)のアドレス空
間のなかのアドレス値を選んでいる。よって、データ・
バス30はDMバス38より勝ってRAM18へのアクセスを許さ
れ、データ・バス30のデータ線30aはメモリー位置i3
内容を提示され、一方DMバス38のデータ線38dは高いイ
ンピーダンスの状態に行く。しかしながら、クロック信
号Q1が活動すると、DMAのアドレス線38aはRAM18にアク
セスが許される。何故ならば、データ・バス30のアドレ
ス線30aはクロック信号Q1に応答するときだけアクセス
を許されるからである。アドレス線30bはRAM16のなかの
メモリー位置に相当するアドレス値j3を持っているの
で、アドレス線38aはRAM18にアクセスし、その結果デー
タ線38dはクロック信号Q2に応答するRAM18のメモリー位
置i2の内容を提供される。
第5a図に示される第4サイクルでは、アドレス線34a
はアドレス値k3を運んでおり、これはRAM18のなかのメ
モリー位置に相当する。同じようにして、アドレス線38
aはアドレス値i3を持っておりこれはまたRAM18のなかの
メモリー位置に相当する。上記のように、プログラム・
バス34はDMAバス38よりうえの優先権を与えられる。よ
って、クロック信号Q1に応答して、プログラム・バス34
のデータ線34aはRAM18のメモリー位置k3の内容が提供さ
れ、一方DMバス38のデータ線38dはその高いインピーダ
ンスの状態にある。第5a図のなかに示す第5番目のサイ
クルは外部メモリーが外部メモリーのなかのメモリー位
置に相当するアドレス値k5を持って、アドレス線34aに
よってアクセスされることができることを示している。
DMAバス38とデータ・バス30はプログラム・バスによっ
ての外部メモリーのアクセスと共に活動状態にある。以
上に述べたように、外部メモリー・アクセスは周辺ポー
ト24を通って起きるであろう。以下に記載するように、
DMA操作のあいだ、周辺ポート26は能力を奪われる。
それに加えて、アドレスとデータの情報のソース、及
びデータの行先で前記バス30、34、及び38によって追求
されるものは第5図と第5a図に関して以上の記載では指
定されていないことを注目すべきである。上記の通り
に、しかしながら、コントローラ14にそのデコードする
ことを及び命令コードを実行することで主な機能の1つ
は2つの機能的ブロック(例えば周辺ポート24とCPU1
2)が同じバス(例えば、データ・バス30)の制御をす
ることを試みることがないようにマイクロコンピュータ
10の種々の機能的ブロック制御をすることである。その
ようなバス制御とメモリー16、18、及び20(または外部
メモリー)から離れたバスの終りのところでのアービト
レーションはこの技術では周知であるやり方でコントロ
ーラ14によって行なわれ、またそれは多くの般用及び特
殊用途のマイクロプロセッサーとマイクロコンピュータ
で現在入手できるものにおいて行なわれている。
よって以上の記載から、メモリー利用の種々の組み合
わせがマイクロコンピュータ10の単一アドレス空間内で
行なわれることが明白である。これは種々のメモリー本
体の各々の3つのバス30、34及び38の各々によってアク
セスできることによって可能である。よって、コントロ
ーラ14はプログラム・バス34を通って命令コードにアド
レスを指定しまたそれを受ける一方、そのようなアドレ
スはデータ・バス30を使ってCPU12によってアクセスで
きるデータ・メモリーと一緒にRAM16のなかに存在する
ことができる。この組織は、よって、この操作を行なう
のにRAM16のなかに仕切りを要求することなくプログラ
ムとメモリーの両方として単一メモリーを使用すること
によりマイクロコンピュータ10に対してフォン・ノイマ
ン適用を可能にする。しかしながらマイクロコンピュー
タ10はまだプログラム・メモリーを例えばROM20のなか
に貯えることによりまたデータ・メモリーをRAM16のな
かに貯えることによりマイクロコンピュータ10の二重特
徴の故にハーバード構成で利用されることがまだでき
る。二重アクセスの特徴は同じメモリーに対してさえデ
ータ・バス30によって使われる時間マルティプレックス
した特徴の故に単一のシステムクロックサイクルのなか
に2つのアクセスを許す。これは同じ物理的メモリー空
間がデータとプログラムのメモリーに対して使用される
ことを許し、一方依然として2つの別々のメモリーの性
能上の利点を達成する。2つの形態に形成することがで
きる外に、マイクロコンピュータ10は動的再形成できる
ので、ある仕事はフォン・ノイマンのやり方で行ないあ
る他の仕事はハーバードのやり方で行なわれることがで
きる。よって本発明に従って構成されたマイクロコンピ
ュータ10はユーザにマイクロコンピュータ10を希望する
適用に基づいて最も適した使用をすることを許す。
第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の出力のところでそれ
ぞれ線I/OAnとI/ODnに相当する。よって、アドレスを提
供するためまたはデータを周辺バス28からまたは周辺バ
ス28の方に通信するためには、希望のアドレスは周辺ポ
ート26によって奉仕されるアドレスに相当するマイクロ
コンピュータ10のメモリー・アドレス空間のなかの値に
相当しなければならない。DMAコントローラのなかのメ
モリーの地図としたレジスターは以下に記載されるが、
それは表3に述べたようによってメモリー・アドレス空
間800000hから800FFFhまでのなかにある。
DMAコントローラ22はコントロール・レジスター300、
トランスファ・カウンタ・レジスター302、目的地アド
レス・レジスター304及びソース・アドレス・レジスタ
ー306を含み、その各々は周辺バス28のアドレス線28aと
データ線28dに接続され、その各々はマイクロコンピュ
ータ10のメモリー・アドレス空間の特異なアドレス位置
に割り付けられる。DMAコントローラ22はデータ・レジ
スター308を含み、これはDMAバス38のデータ線38dに接
続され、DMAバスのアドレス線38aは目的地アドレス・レ
ジスター304とソース・アドレス・レジスター306に接続
される。制御論理310はコントロール・レジスター300に
接続されその結果そのなかのビットの内容はDMAコント
ローラ22の制御を行なうであろう。制御論理310は線DEC
Rのうえのカウンター・レジスター302を移す信号を発生
しまた線ゼロのうえの転送カウンタ・レジスター302か
ら発信を受ける。制御論理310は線“ロード”とINC/DEC
Rのうえの目的地アドレス・レジスター304とソース・レ
ジスター306に信号を与え、制御論理はさらに線WRITEと
STOREのうえのデータ・レジスター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の
内容と目的地アドレス・レジスター304は始めは周辺バ
ス28のデータ線28dの24時間最も少ない意義のあるビッ
トからロードされ、コントロール・レジスター300の内
容によっては、ソース・アドレス・レジスター306と目
的地アドレス・レジスター304は制御論理310から線INC/
DECRのうえのパルスに応じて増加されまたは減少され
る。データ・レジスター308はDMAバス38のデータ線38a
からのデータを緩衝するための一時的レジスターであ
り、データ線38dのうえの価は線WRITEのうえの信号に応
答してデータ・レジスター308のなかにロードされ、ま
たデータ・レジスター308の内容は線STOREのうえの信号
に応答してデータ線38dに提供される。
さて第7図を参照して、コントロール・レジスター30
0の内容がそれによって制御される操作に関して詳細に
記載されるであろう。コントロール・レジスター300は
2つの開始ビット300aと300bを含み、これらはDMA操作
の開始と停止を制御する。一般的に以上で記載されたよ
うに、DMA操作を制御することは有用である。この制御
によってDMAの操作はそのなかの種々の点で、内容を失
なうことなくまたDMA操作の再始動のとき必然的に繰り
返される必要のある読みまたは書きを行なうことなく停
止できる。よって、STARTビット300a/bはマイクロ・コ
ンピュータの使用者によって選ばれる始動と停止の条件
を示すため2ビット・コードを下表4によって含む。
ビット300cと300dは読みだけのビット(マイクロコン
ピュータ10に関して)であり、それをDMAコントローラ2
2は行なわれるDMA操作の状態で書く。表5はコントロー
ル・レジスター300のビット300cと300dのなかに含まれ
ることのできる種々のコードによって示される状態を示
す。
状態10は定義されていない。第8図に関して以下に図
示されるように、ビット300c/dコントロール・レジスタ
ー300の現状はマイクロコンピュータ10の残りの部分に
よって読むことができるばかりでなくDMA操作のコント
ロール・フローのなかでまた使用されるであろう。
ソースINC/DECビット300lと300fは、セットされると
き、ソース・アドレス・レジスター306の内容がDMA読み
取りを終ったときそれぞれ増加させられるべきか減少さ
せられるべきかを示す。もしINC/DECビット300lと300f
が両方ともセットされるかまたは両方とも再セットさせ
れるとき、ソース・アドレス・レジスター306の内容はD
MA読み取りのあと修飾されないであろう。目的地INC/DE
Cビット300gと300hはDMAを書き込み修了後目的地アドレ
ス・レジスター304の修飾を同じように制御する。
Sycビット300iと300jはDMAコントローラを輸送された
データのソースまたは目的地のいずれかと同期化の形状
を許す。DMA操作の割り込み同期化はDMA操作が外部ソー
スからのデータを受けるまたは伝達することはCPU12、D
MAコントローラ22、及び外部ソースのあいだで異なる速
度で操作しているのであるが争いなしに行なわれるよう
に制御されることを許す。上記のように、割り込み同期
化は専用のDMA割り込みピンによってよりも寧ろシステ
ム割り込み(内的または外的に正当化される)に対して
起こり、よって外部端子の数を少なくする。それに加え
て、DMA操作を制御するためにシステム割り込みを使う
ことは必要ならばCPUとDMA割り込み線を正しく正当化す
るために外部装置とマイクロコンピュータと関連するデ
コードする回路のあいだに接続される複数の割り込み線
を要求するより寧ろ外部装置とマイクロコンピュータ10
のあいだの単一の割り込み接続だけをまた要求する。表
6はDMAコントローラ22によって、ビット300iと300jの
状態に従って、行なうことのできる同期モードの表であ
る。
コントロール・レジスター300のTCビット300kの状態
は制御論理310にDMA転送が前以て決められた転送カウン
タ・レジスターのなかに記憶されている数のサイクルに
対して起きるかどうかを示す。TCビット300Kが“1"の状
態にセットされるとき、DMA転送は転送カウンタ・レジ
スター302がゼロに達したとき終らせられ、また“0"の
状態に再セットされるとき、TCビット300KはDMA転送が
転送カウンタ・レジスター302の内容によって制御され
ていない(即ち転送は転送カウンタ・レジスター302が
ゼロに達したとき終らせられない)。
TCINTビット300lは、“1"の状態にセットされると
き、内部の割り込みが制御論理250(即ち内部割り込み
が割り込み可能レジスター252と253のビットDINTによっ
て可能にされる)に、転送カウンタ・レジスター302が
ゼロになるとき、割り込むために発生されるべきである
ことを制御論理310に示す。再セットされるときは、そ
のような割り込みは正当化されない。
制御論理310はコントローラ14と通信しその結果DMAコ
ントローラ22はマイクロコンピュータ10の残りと共に一
貫して操作する。第8図を参照して、制御論理310は準
備ロジック320と操作ロジック330を含むものとして図示
される。準備ロジック320は線312を通ってコントローラ
14と通信し、それを準備ロジック320はDMA転送の終りの
ところの内部割り込み信号として正当化し、また線322
を通ってコントローラ14と通信し、そのとき準備ロジッ
ク320は、以上において記載したようにDMAの目的のため
に可能とされる割り込みロジック250によって受けられ
ている割り込みに応答して割り込みロジック250から受
けた可能とした割り込み信号を受ける。準備ロジック32
0はコントローラ14から線316のうえの再セット信号をさ
らに受ける。DMAコントローラの残余に関しては、準備
ロジック320TCレジスター302から線ゼロを受け、またバ
ス317を経てコントロール・レジスター300と通信する。
準備ロジック320はまた線READYのうえに出力を持ちそれ
はこの出力をDMA操作ロジック330に提供して、DMA転送
が始まることを示し、また線INTのうえに出力を持ち、
それによって準備ロジック320は、線322によって示され
るように可能にしたり割り込みが受けられたことを通信
する。
操作ロジック330はDMA転送中要求される時にDMAコン
トローラ22及びDMAバス38aと38dのあいだの通信を制御
する機能を行なう。操作ロジック330は二方向でバス317
を通ってコントロール・レジスター300に接続されてい
る。線LOADとINC/DECRは操作ロジック330から信号をソ
ース・レジスター306と目的地レジスター304に出す。線
DECRは操作ロジック330をTCレジスター302に接続する。
データ・レジスター308の制御は操作ロジック330によっ
て線WRITEとSTOREを通って達成される。これらの線の操
作は以下に図9aと9bを参照して記載されるであろう。
以上に述べたように、DMAコントローラ22の制御のも
とに行なわれるDMA操作には割り込みと同期化を行なう
ことができる。またコントローラ14に関して以上に述べ
たように、内部で発生した割り込みはそのなかの割り込
みロジック250によって受け取り扱われる。割り込みロ
ジック250がDMA割り込み可能レジスター253によって可
能にされるがCPUの割り込み可能レジスター252のなかの
相当するビットによって可能となる割り込みを受ける場
合は、コントローラ144は終322を通って準備ロジック32
0に信号を出す。準備ロジック320は同じことを操作ロジ
ック330に線INTを経て通信する。操作ロジック330はさ
らにポート24と26から線326のうえに信号をさらに受け
て、メモリーまたはアクセスされている入力/出力装置
が忙しいことを示す。
操作では、転送カウンタ・レジスター302、目的地ア
ドレス・レジスター304、及びソース・レジスター306が
始め希望する始めの条件を負荷としてかけられる。これ
らのレジスター302、304、及び306の各々はマイクロコ
ンピュータ10によって実行される通常のメモリー書き込
み命令を使って周辺バス28のアドレス線28aによってア
ドレスを指定することができる。第6図で暗黙のうちに
分ることであるがレジスター302、304と306の各々に対
しアドレスが指定されたとき前記レジスター302、304及
び306に負荷をかけることを制御するためのデューディ
ング・ロジックがある。コントロール・レジスター300
はまたそのメモリー位置にアドレスを指定することによ
って負荷をかけられることができ、それによって希望通
りにDMAコントローラを構成する。
さて第9a図と第9b図を参照して、DMAコントローラ22
の操作が記載されるであろう。コントロール・ロジック
310内での準備ロジック320と操作ロジック330の詳細な
構造は簡単なためここでは記載されないが、しかし第9a
図と第9b図の流れを参考にして以下に記載される機能を
達成するのに要求されるような組み合わせロジックから
成り立つ。そのなかに含まれる実際のロジックはこの技
術で普通の技術を持つ人によって容易に作られることが
できるようなロジックである。
DMA転送の操作は第8図の線316によって明確になるハ
ードウェア再セットから始めてここに記載されるであろ
う。ステップ800によって示されるように、値00は再セ
ットのときコントロール・レジスター300の現状ビット3
00c/dのなかに書き込まれる。DMA転送の開始をするため
に準備ロジック320は第9a図の開始を調べる。上記のよ
うに、もしビット300a/bの値11がユーザーがDMA転送を
現在の条件から始めることを望むことを示すならば、DM
Aコントローラ22は転送で進行する。もしビット300a/b
のなかの値が10であるなら(ステップ804)、DMA転送が
書き込みの完了後始めて停止されるべきであることを示
して、現状ビット300c/dの内容はステップ806で調べら
れるであろう。もし開始ビット300a/bが00または01コー
ドを含むならば、DMA転送は続かないであろう。表4に
示されるように、00開始コードはDMA転送の無条件停止
を示し、また01コードはDMA転送が現在の操作(そのよ
うな操作は流れのなかでこの点ではまだ始まっていな
い)のあと停止するべきであることを示す。もし転送が
始まるべきでないならば、準備ロジック320はループし
て開始ビット300a/bの内容を繰り返し調べてそのなかへ
の異なったコードの書き込みを発見する。もしビット30
0a/bが01の値をステップ804で含むならばステップ806は
DMA転送が読み取りと書き込みのあいだにある(即ち、
もし現在ビット300c/dが値01を含むならば)かどうかを
決定するために行なわれる。
第8a図に示すステップ868では、コントロール・レジ
スター300のTCビット300Kが調べられてTCレジスター302
の内容がDMAを制御しているかどうかを決める。もしTC
ビット300Kが0を含むならば、転送はTCレジスター302
の内容にかかわらず進行するであろう。もしTCビット30
0Kが1を含んでDMAはTCレジスター302の内容がゼロであ
るとき停止すべきであることを示すならば、第6図と第
8図に示す線ZEROは準備ロジック(ステップ810)によ
って評価され、もしTCレジスター302の内容がゼロであ
ることを示すならば、準備ロジック320はDMAと一緒に進
行せずステップ302に返って開始ビット300a/bの内容を
再評価し、またTCビット300KとTCレジスター302の内容
を再評価する。もしTCレジスター302の内容がゼロでな
いならば、またはもしTCレジスター362がDMAを制御して
いないならば、転送は準備ロジック320によって線READY
を操作ロジック330を明確にして継続するであろう。
ステップ812での操作ロジック330は現状ビット300c/d
の内容を評価して読み取りまたは書き込みが操作ロジッ
ク330によってセットされるべきかどうかを決定する。
表5に示すように、コード11を含む現状ビット300c/dは
DMAが進行中であることを示し、操作ロジック330はよっ
ていずれの条件も再セットすることなしにDMA転送を無
条件に継続するであろう。もし現状ビット300c/dのなか
のコードが11でないならば、ステップ814が転送が書き
込みと読み取りのあいだにある(即ち、新しいDMA転送
の始めのところにある)かまたはRMA転送のなかの読み
取りと書き込みのあいだにあるかどうかを決定する。こ
の再セットの条件から進行する例では、現状ビット300c
/dの内容はステップ800からの値00を含み、またよって
読み取り操作が起きるであろう(ステップ816)。
ステップ818では、操作ロジック330は準備ロジック31
0から線INTを評価して可能とした割り込みが受けられて
いるかどうかを決定する。もしそのような割り込みが受
けられていたなら、操作は第9b図の点Aのところに進
み、そこからのDMAの操作は以下に論じられるであろ
う。もし割り込みが受けられていないならば、操作ロジ
ンク330はコントロール・レジスター300のSYCビット300
i/jを評価して割り込み同期化が望まれているかどうか
(即ち割り込みは受けられていないので、割り込みが継
続する必要があるかどうか)が決定されなければならな
い。ステップ820は始め転送が読み取りまたは書き込み
操作よりまえであるかどうかを決定するために行なわれ
る。もし書き込み操作のまえであるならば、またもしSY
Cビットが目的地同期化もソースと目的地の同期化も明
確にされていないならば、(ビット300i/jは10でも11で
もない)DMA操作は点Aから進行する。
当面の例に返って、DMA転送は再セットから始まって
いるので、転送は読み取り操作に先立つ点にある。SYC
ビット300i/jがこのようにステップ824のなかの操作ロ
ジック330によって評価されて、ソース同期化またはソ
ースと目的地の同期化が希望れているかどうかを決定す
る(即ちSYnCビット300i/jが01または11である)。もし
どちらかが要求されて割り込みは起こっていないなら
ば、操作の制御は第9a図の点Bまで行き、そこで開始ビ
ット300a/bはステップ826で評価されてアボートが呼び
求められているかどうかを決定する。もしそうであれ
ば、DMA操作は再びステップ800から始まり、現状ビット
300c/dの内容を再セットする。もしアボートが求められ
ていないならば、現状ビット300c/dはビジー・コード
(11、表5より)が負荷として加えられ、また操作は再
びステップ802から始まる。コード11を現状ビット300c/
dに負荷とすることは操作が進行することを許し(開始
ビット300a/bをステップ802及びその続きのなかで評価
のあと)、ステップ814、816及び817で読み取りと書き
込みを再セットすることはない。実質的には、もしソー
ス同期化が希望されまた割り込みが起こらないならば、
操作の制御はループを貫通し、割り込みを受けたとき
(ステップ818)転送の完了に脱出するかまたはアボー
ト・コードを受けて(ステップ826)再セットの条件に
脱出する。割り込みが受け入れられているかまたは割り
込みが受け入れられていないとして同期化が要求されて
いない第9b図の点Aから始めて、ステップ830は転送が
読み取りまたは書き込みよりまえであるかどうかを決定
する。読み取りが始めに行なわねばならない再セットか
ら始める例では、DMA操作ロジック330は線LOADの信号を
ソース・レジスター306のうえにその内容をおいてそれ
をしてその内容をDMAバス38のアドレス線38aのうえに置
くようにさせ、操作ロジック330はまたそのような制御
信号のDMA操作に対する(例えば、ポート24を経て)必
要なソースの位置に明確化を行なうようにし、読み取り
操作を行なう。もし外部のメモリーがアドレス指定され
つつあるならば、一般にアクセスを完了するために複数
の時計サイクルを要求し、“ビジー”信号が適当なポー
ト24または26から線326のうえの操作ロジック330によっ
て受けられて、アドレスを指定したソース位置にアクセ
スが進行していることを示す。そのような“ビジー”信
号は例えば第3図のポート24によって受けられるRDY−
信号の共軛から発生させられる。RAM18のような内部メ
モリーはDMA転送のなかでアクセスされることがまたで
きる。尤もアクセスは上記のように機械サイクルのなか
で起こり、DMA転送のなかで“ビジー”時間を最小にす
るであろう。メモリーが“ビジー”である限り(ステッ
プ834)、操作ロジック330は開始ビット300は開始ビッ
ト300a/bを調べてアボート・コード00(ステップ836)
を探す。もし受けていないならば、DMA“ビジー”のコ
ード11をコントロール・レジスター300(ステップ838)
の現状ビット300c/dのなかに置く。このループはアクセ
ス・メモリーからの“ビジー”信号が除かれて、メモリ
ー・アクセスが完了したことを示すまで繰り返して行な
われる。もしアボート・コードがこのループのあいだ開
始ビット300a/bによって受け入れられるならば、DMA操
作は無条件にアボートし制御を第9a図のステップ800に
移す。
メモリー・アクセスを完了したとき、この場合読み取
りであるが、操作ロジック330はデータ・レジスター308
に線STOREを明確にし、その結果、データライン38dのう
えのロジックの状態はデータ・レジスター308のなかに
負荷として加えられるであろう(ステップ844)。もし
アボート・コード00が開始ビット300a/bのなかにないな
らば(ステップ846)、コード01が操作ロジック330によ
ってコントロール・レジスター300の現状ビット300c/d
のなかに荷重として加えられ、DMA転送は今や読み取り
と書き込みの操作のあいだにあることを示す。
一度読み取りが完了すると、準備ロジック320は再び
ステップ802で開始ビット300a/bを分析してそのなかに
あるコードを決定する。表4に示されるように、開始コ
ード11はDMA操作を無条件で続けるであろう。もし開始
ビット300a/bがコード01を含み、DMA操作が現在の操作
の終るところで停止されねばならない(即ち読み取り操
作が丁度終った時点)ことを示すときは、準備ロジック
320はステップ802と804のループに入って開始ビット300
a/bの内容を変更されるまで調べる。ここで記載の例で
は、もし開始ビット300a/bがコード10(DMA転送が現在
の書き込み操作が終るところでアボートされねばならな
いことを示す)を含むならば、現状ビット300c/dはステ
ップ848からコード01を含むので、操作はステップ808と
共に続くであろう。TCレジスターの内容は読み取りを行
なうことで変えられないから、準備ロジックは、ステッ
プ808または810、そのときの状況によるが、を完了した
あと操作ロジック330に対して線READYを明確にするであ
ろう。
現状ビット300c/dはステップ812と814でコード01を含
むので、操作ロジック330は書き込み操作に対して設定
されるであろう(ステップ817)。プログラム・ルー
プ、これによって割り込みが発見されるかまたは発見さ
れるかまた割り込みが必要でないことが決定されるが、
はステップ818、820、及び822において読み取り操作に
対して上記のように行なわれ、その結果書き込み操作は
目的地同期化またはソースと目的地の同期化のいずれか
が望まれているとき割り込みを待った状態に保持され
る。
一度すべての必要な割り込みが受けられると制御は再
び第9b図の点Aで始まる。書き込み操作では、操作ロジ
ック330は目的地レジスター304がDMAバス38のアドレス
線38aのうえにステップ850の線LOADを通ってその内容を
置き、また同じようにデータ・レジスター368をしてそ
の内容をステップ852の線WRITEを通ってDMAバス38のデ
ータ線38dのうえに置かせる。書き込み操作を行なう必
要な制御信号をまたこのとき明確にされる。操作ロジッ
ク330はこのときまた、ステップ854で線DECRをTCレジス
ター302に明確にしてTCレジスター302をしてその内容を
段階的に減少させる。操作ロジック330はそこで、読み
取りの場合と同じように、ステップ834、836及び838の
メモリー・“ビジー”・ループにメモリーが最早“ビジ
ー”でないかまたは操作がアボートされるのいずれかま
で入る。データ・レジスター308のなかに記憶されまた
目的地位置に書き込まれたソースの位置からデータ読み
取りのDMA転送はそこで完了する。操作ロジック330はそ
こでステップ856にあって目的地レジスター304の内容及
びソース・レジスター308の内容をして線INC/DECRを経
て、コントロール・レジスター300のなかで300lから300
hまでのビットによって示されるように段階的に増大さ
せるか減少させる。
メモリーに書み込み操作を完了したあと、準備するロ
ジック320はコントロール・レジスター300のTCINTビッ
ト300lを評価して割り込みがライン312のうえの準備す
みロジック320によって正当化されるかどうか、DMA転送
されるべきデータ・ブロックが完全であるかどうか(即
ちTCレジスター302がゼロにあるかどうか)が決定され
る。割り込みがそのように正常化されないならば、制御
はステップ800の再セットの状態に帰る。もし割り込み
がそのように正当化されるならば(ステップ858によっ
て示されるように)、TCレジスターからの線ゼロが評価
され、もしそれがTCレジスター302の内容がゼロであり
(ステップ860)、準備すみロジック320がステップ862
でライン312のうえに割り込みに正当するならば、再セ
ットの状態に進む。もしTCレジスター302の内容がゼロ
でないならば、制御はステップ800で再セットの状態に
行き次のDMA転送操作を始める。
さて第10図を参照して、マイクロコンピュータ10と外
部メモリーを取り入れた簡単なシステムが図示されてい
る。メモリー400と402は第3図に示すようにポート24に
よって制御されるデータ線Dnとアドレス線Anから成り立
つバスに接続される。制御バスCnは制御信号(例えばRD
Y−,HOLD−,HOLA−,STRB−、及びR/W−)とメモリー400
と402をまた第3図に示すようにポート24か制御するた
めの接続することに奉仕する。メモリー400と402がポー
ト24にそのように接続されまたマイクロコンピュータ10
のアドレス空間のなかメモリーの地図とされているの
で、上記のDMA転送は外部メモリー400と402から、よ
り、またはかとよりの両方で起きる可能性がある。勿
論、内部メモリー、例えばRAM16と18はまた、相当する
ソースまたは目的地を外部メモリー400と402のなかまた
はマイクロコンピュータ10のなかの内部メモリーのなか
にして、DMA転送(実にROM20はソースとして奉仕する)
に対するソースまたは目的の位置として働くことができ
る。再び第10図を参照して、メモリー400はマイクロコ
ンピュータ10への線INTIのうえの信号を与えるとして示
されている。よってメモリー400は上記DMA同期化の目的
のための割り込みを正当とすることができる。このとき
相当するビットが割り込み可能レジスター252と253のな
かにセットされ(またセットされない)ことを假定しま
た希望する同期化が制御レジスター300の同期ビット300
i/jのなかにセットされることを假定している。同じよ
うにして、メモリー402は線INT0をマイクロコンピュー
タ10にそれを、もし希望なら、DNA操作と共に同期化す
るよう駆動することができる。
第1図と第3図から、他の外部のメモリーはポート26
を通ってマイクロコンピュータ10に接続できること、ま
たそのような他の外部メモリーはまたソース、目的地、
または両者としてDMAコントローラ22の制御のもとに上
記のようにDMA転送に対して奉仕することは勿論明白で
ある。
この記載から明らかであるようにDMAコントローラ22
はこのようにして一連のメモリー位置の内容を始めのソ
ース・アドレスで始まるメモリー・ブロックから目的地
あどれすで始まるメモリー・ブロックのなかの一連のメ
モリー位置に移送することに使用できる。この操作はこ
こに記載したようにCPU12の介入を要求せずまたDMAバス
38はDMA目的に別のアドレスとデータ・パッチを与える
ので、そのようなDMA操作がマイクロ・コンピュータ10
の普通の操作のなかでプログラム及びデータ・アクセス
と同時に起きることができる。
複数個の開始ビット300a/bを使用することはDMA操作
の制御の増大する水準を与えることは以上の記載からさ
らに明らかである筈である。マイクロ・コンピュータ10
は操作全体(例えばステップ802、826、836及び846)を
通じ種々のところでDMA操作をアボートすることができ
る。しかしながら、DMAを現在の操作(開始コード01)
の終りのところでアボートする選択は読み取りサイクル
の、一度それが始まったとき、完了を許して、DMA転送
が書き込みと直接一緒にまた読み取りサイクルを繰り返
すことなく再び始まることを許す。それに加えて完全な
読み取り/書き込み転送の完成を許す開始コードを与え
ることによってさらに融通性が与えられ、もし唯完全な
アボートが与えられるならば繰り返す操作の必要をさら
に最小にする。
マイクロ・コンピュータの残りは、コントロール・レ
ジスター300がマイクロ・コンピュータ10のアドレス空
間のなかにメモリーの地図をとされているので、周辺バ
ス28を通って現状ビット300c/dのなかにDMAコントロー
ラ22によって書かれて現状情報を読み取ることができる
ことはさらに明白である筈である。それに加えて、DMA
操作をソースと目的地のメモリーのいずれかまたは両者
と同期化するためのシステム割り込みの使用はDMA同期
化の操作のためにマイクロ・コンピュータの専用の割り
込み端子に対する必要をなくする。
本発明がその好ましい実施例を参照してここに詳細に
記載されたが、この記載は唯例としてであり、また限定
する意味で解釈すべきではないことも理解すべきであ
る。本発明の実施例の詳細に数多くの変更、本発明の追
加の実施例はこの記載を参考として持っているこの技術
において普通の技術を持つ人々によって明白であるその
ような人によってなされることができることをさらに理
解すべきである。そのような変更と追加の実施例は特許
請求の範囲に記載の本発明の精神と真の範囲のなかにあ
ると考えられる。
以上の記載に関連して、以下の各項を開示する。
1. マイクロコンピュータにおいて、該マイクロコンピ
ュータは下記のユニット: データ処理命令を実行する中央処理装置、 前記中央処理装置に接続した母線、 少なくとも2ビットの開始コードをストアする前記中
央処理装置に接続される直接メモリー・アクセス方式制
御レジスター、及び 前記母線と前記直接メモリー・アクセス制御レジスタ
ーに接続される直接メモリー・アクセス制御器を含み、
該直接メモリー・アクセス制御器は前記母線からそのう
えにソース記憶アドレス信号を置きまたそれからデータ
を受けることによってデータを読み込み、またそのうえ
に目的メモリー・アドレス信号を置きまたそれにデータ
を提示することによって前記母線にデータを書き込むた
めのものであり、前記読み取りと書き込みは直接メモリ
ー・アクセス転送を構成し、前記直接メモリー・アクセ
ス方式制御器は前記開始コードの第1の値に応じた前記
直接メモリー・アクセス方式転送を開始し、前記開始コ
ードの第2の値に応じて前記直接メモリー・アクセス転
送をアボートし、また前記開始コードの第3の値に応じ
て前記書き込みが完了したとき前記直接メモリー・アク
セス方式転送をアボートすることを特徴とするマイクロ
・コンピュータ。
2. 特許請求の範囲第1項に記載のマイクロ・コンピュ
ータにおいて前記DMAコントローラは前記開始コードの
第4番目の値に応答して現在の読み取りまたは書き込み
段階の完了のとき前記DMA転送をアボートすることを特
徴とするマイクロ・コンピュータ。
3. 特許請求の範囲第1項に記載のマイクロ・コンピュ
ータにおいて、前記DMAコントロール・レジスターはそ
れにかかる現状コードを前記DMAコントローラによって
記憶するためのものであり、前記現状コードはDMA転送
の現状が前記コントローラによって行なわれていること
を示すものであることを特徴とするマイクロコンピュー
タ。
4. 特許請求の範囲第3項に記載のマイクロコンピュー
タにおいて、前記現状コードの第1の値は前記DMAコン
トローラが前記バスからデータを読むことを完了したこ
とを示すことを特徴とするマイクロコンピュータ。
5. 特許請求の範囲第4項に記載のマイクロコンピュー
タにおいて、前記現状コードの第2の値は前記DMAコン
トローラがデータを前記バスに書き込むことを完了した
ことを特徴とするマイクロコンピュータ。
6. 特許請求の範囲第1項に記載のマイクロコンピュー
タにおいて、前記バスに接続したメモリーをさらに含
み、前記メモリーは前記バスのうえにアドレス信号によ
ってアドレス指定できまた前記メモリーではデータを前
記バスに及び前記バスから通信することを特徴とするマ
イクロコンピュータ。
7. 特許請求の範囲第6項に記載のマイクロコンピュー
タにおいて、アドレス信号をそれに接続した外部メモリ
ーに、またデータをそれに接続した外部メモリーに及び
外部メモリーから通信するため前記バスに接続した周辺
ポートをさらに含むことを特徴とするマイクロコンピュ
ータ。
8. 特許請求の範囲第1項に記載のマイクロコンピュー
タにおいて、それに接続された外部メモリーにアドレス
信号を、また外部メモリーにデータを、及び外部メモリ
ーからデータを通信するため前記バスに接続した周辺ポ
ートをさらに含むことを特徴とするマイクロコンピュー
タ。
9. データ処理システムにおいて、該システムは、メモ
リー、 前記メモリーに接続した外部バス、及び マイクロコンピュータを含み、該マイクロコンピュー
タは データ処理命令を行なうための中央処理装置、 前記中央処理装置に接続される内部バス、 前記内部バスと前記外部バスとのあいだに、それらの
あいだのアドレス信号とデータ信号を通信するため、接
続されるメモリー・ポート、 少なくとも2ビットの開始コードを記憶するため前記
中央処理装置に接続されるDMAコントロール・レジスタ
ー、及び 前記内部バスにまた前記DMAコントロール・レジスタ
ーに接続され、そのうえにソース・メモリー・アドレス
を置きそれからデータを受けることにより前記内部バス
からデータを読み取るためのもの、及びそのうえに目的
地メモリー・アドレス信号を置きまたそれにデータを提
供することにより前記内部バスにデータを書き込むため
のものであるDMAコントローラを含み、前記の読み取り
と書き込みはDMA転送を構成し、前記DMAコントローラは
前記開始コードの第1の値に応答して前記DMA転送を開
始し、前記開始コードの第2の値に応答して前記DMA転
送をアボートし、また前記開始コードの第3の値に応答
して前記書き込みが完成したとき前記DMA転送をアボー
トし、 前記メモリーは前記DMAコントローラによってアドレ
ス指定ができることを特徴とするデータ処理システム。
10. 特許請求の範囲第9項に記載のシステムにおい
て、前記DMAコントローラは前記開始コードの第4の値
に応答して現在の読みまたは書く段階を完了したとき前
記DMA転送をアボートすることを特徴とするデータ処理
システム。
11. 特許請求の範囲第9項に記載のシステムにおい
て、前記DMAコントロール・レジスターはさらに前記DMA
コントローラによってそれに書き込まれた現状コードを
記憶するためのものであり前現状コードはDMA転送の現
状は前記DMAコントローラによって行なわれていること
を示すことを特徴とするデータ処理システム。
12. 特許請求の範囲第11項に記載のシステムにおい
て、前記現状コードの第1の値は前記DMAコントローラ
はデータを前記バスに書き込むことを完了したことを示
すことを特徴とするシステム。
13. 特許請求の範囲第12項に記載のマイクロ・コンピ
ュータにおいて、前記現状コードの第2の値は前記DMA
コントローラは前記バスにデータの書き込みを完了した
ことを示すことを特徴とするマイクロコンピュータ。
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コントローラは前記DM
A割り込み可能コードによって可能とされるが前記CPU割
り込み可能コードによっては可能とされない前記割り込
み端子のところで割り込み信号を待っている前記DMAコ
ントロール・レジスターのなかで前記同期化コードの第
1の値に応答して前記DMA転送を中心することを特徴と
するマイクロコンピュータ。
19. 特許請求の範囲第18項に記載のマイクロコンピュ
ータにおいて、前記DMAコントローラは前記DMA割り込み
可能コードによって可能とされ前記CPU割り込み可能ケ
ーブルによっては可能とされない前記割り込み端子のと
ころで割り込み信号を待っている前記DMA転送を前記同
期化コードの前記第2の値に応答して読み取りと書き込
みのあいだに中止することを特徴とするマイクロコンピ
ュータ。
20. 特許請求の範囲第19項に記載のマイクロコンピュ
ータにおいて、前記DMAコントローラは前記DMA割り込み
可能コードによって可能とされるが前記CPU割り込み可
能コードによって可能とされない前記割り込みターミナ
ルのところで割り込み信号を待っている前記DMA転送を
前記同期化の第3の値に応答して読み取りと書き込みの
あいだ及び書き込みと読み取りのあいだに中心すること
を特徴とするマイクロコンピュータ。
21. 特許請求の範囲第18項に記載のマイクロコンピュ
ータにおいて、前記DMAコントロール・レジスターはさ
らに少なくとも2個のビットの開始コードを記憶するた
めのものであり、また 前記DMAコントローラは前記DMA転送を前記開始コード
の第1の値に応答して開始し、前記開始コードの第2の
値に応答して前記DMA転送をアボートし、また前記開始
コードの第3の値に応答して前記書き込みの完成のとき
前記DMA転送をアボートすることを特徴とするマイクロ
コンピュータ。
22. 特許請求の範囲第21項に記載のマイクロコンピュ
ータにおいて、前記DMAコントローラは現在の読み取り
または書き込みの段階を前記現状コードの第4の値に応
答して完了したとき前記DMA転送をアボートすることを
特徴とするマイクロコンピュータ。
23. 特許請求の範囲第21項に記載のマイクロコンピュ
ータにおいて、前記DMAコントロール・レジスターはさ
らに前記DMAコントローラによってそれに書き込まれた
現状コードを記憶するためのものであり、前記現状コー
ドはDMA転送の現状が前記DMAコントローラによって行な
われることを示すことを特徴とするマイクロコンピュー
タ。
24. 特許請求の範囲第23項に記載のマイクロコンピュ
ータにおいて、前記現状コードの第1の値は前記DMAコ
ントローラが前記内部バスからデータの読み取りを完了
したことを示すことを特徴とするマイクロコンピュー
タ。
25. 特許請求の範囲第24項に記載のマイクロコンピュ
ータにおいて、前記現状コードの第2の値は前記DMAコ
ントローラが前記内部バスにデータの書き込みを完了し
たことを示すことを特徴とするマイクロコンピュータ。
26. 特許請求の範囲第21項に記載のマイクロコンピ
ュータにおいて、前記内部バスのうえのアドレス信号に
よってアドレス指定ができまたデータを前記内部バスに
向かって及び前記内部バスから通信する前記内部バスに
接続されるメモリーをさらに含むことを特徴とするマイ
クロコンピュータ。
27. 特許請求の範囲第26項に記載のマイクロコンピュ
ータにおいて、それに接続される外部メモリーへの信号
のアドレス信号、及び外部メモリーへのまた外部メモリ
ーからのデータを通信するため前記内部バスに接続した
周辺ポートをさらに含むことを特徴とするマイクロコン
ピュータ。
28. 特許請求の範囲第21項に記載のマイクロコンピュ
ータにおいて、それに接続される外部メモリーへのアド
レス信号及び外部メモリーへの及び外部メモリーからの
データを通信するため前記内部バスに接続された周辺ポ
ートを含むことを特徴とするマイクロコンピュータ。
29. DMAデータとオン・チップDMAコントローラを入力
/出力装置へのアクセスのためオン・チップ・メモリー
と、またオン・チップ・ポートと接続するアドレス・バ
スを設けるマイクロコンピュータが開示されている。DM
Aコントローラは2個のスタート・ビットを持ち、4個
のスタート・コードを表現することのできるコントロー
ル・レジスターを含む。4個のスタート・コードは無条
件始動とDMA転送をアボートすることのみならず現在の
読み取りまたは書き込み操作のあとまたは次の書き込み
操作のあと(即ちデータ・ワード転送の完了)DMAを停
止することを許す。コントロール・レジスターはまたDM
AコントローラがDMA操作の現状を共に書き込む2個の現
状ビットを含み、またソース・モード、目的地モード、
またはソースと目的地のモード(または何もない)のな
かでDMA操作を同期化するための2つの同期化ビットを
含む。2個の割り込み可能レジスターはCPUとDMAに対し
て割り込みを独立して可能にするためマイクロコンピュ
ータのなかに設けられている。同期モードのいずれにお
いても、DMAは、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コントローラのDMA操作
の操作シーケンスを図示するフローチャート、及び 第10図は、ブロックの形での、第1図のマイクロコンピ
ュータを取り入れたシステムの電気的図式図である。 図において、 10……マイクロコンピュータ、 12……CPU(中央処理装置)、 14……コントローラ、 16、18……メモリー、 16……RAM、20……ROM、 24……インターフェース・ポート 30……データ・バス、 34……プログラムバス。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ローレンス アール シーマー ジュニ ア アメリカ合衆国 テキサス州 77469 リッチモンド メイプル デイル レー ン 1906 (72)発明者 ジェイムズ エフ ポッツ アメリカ合衆国 テキサス州 77063 ヒューストン ウェスターランド 2502 アパートメント 427 (72)発明者 キム アサル アメリカ合衆国 テキサス州 77479 シュガーランド ウエスト ラングクレ スト プレイス 3207 (56)参考文献 特開 昭59−43430(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 13/28

Claims (1)

    (57)【特許請求の範囲】
  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 JPH0221350A (ja) 1990-01-24
JP2777387B2 true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005047018B4 (de) * 2005-09-30 2014-05-08 Carl Freudenberg Kg Elastomerlager mit hydraulischer Dämpfung

Also Published As

Publication number Publication date
JPH0221350A (ja) 1990-01-24

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
JP2659984B2 (ja) 複数のオンチップメモリバスを備えたデータ処理装置
US5179689A (en) Dataprocessing device with instruction cache
US4908748A (en) Data processing device with parallel circular addressing hardware
US5032986A (en) Data processing device with parallel circular addressing hardware
EP1047989B1 (en) Digital signal processor having data alignment buffer for performing unaligned data accesses
US4862407A (en) Digital signal processing apparatus
US5175841A (en) Data processing device with multiple on-chip memory buses
US6282583B1 (en) Method and apparatus for memory access in a matrix processor computer
US6219775B1 (en) Massively parallel computer including auxiliary vector processor
JP4657455B2 (ja) データプロセッサ
US3983541A (en) Polymorphic programmable units employing plural levels of phased sub-instruction sets
KR100341948B1 (ko) 제어된버스트메모리액세스기능을갖는데이타처리기및그방법
US4558411A (en) Polymorphic programmable units employing plural levels of sub-instruction sets
EP0127508A2 (en) Full floating point vector processor
US5710914A (en) Digital signal processing method and system implementing pipelined read and write operations
US5983328A (en) Data processing device with time-multiplexed memory bus
US5907864A (en) Data processing device with time-multiplexed memory bus
JPS6250856B2 (ja)
JP2777387B2 (ja) 改良された転送制御による直接メモリ・アクセス方式を持つデータ処理装置
JPS58149555A (ja) 並列処理装置
US5832257A (en) Digital signal processing method and system employing separate program and data memories to store data
JP3441085B2 (ja) データ処理装置
JPH01205339A (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 (prs date is renewal date of database)

Year of fee payment: 10

Free format text: PAYMENT UNTIL: 20080501

FPAY Renewal fee payment (prs 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 (prs date is renewal date of database)

Year of fee payment: 11

Free format text: PAYMENT UNTIL: 20090501