JPS6229815B2 - - Google Patents

Info

Publication number
JPS6229815B2
JPS6229815B2 JP55010177A JP1017780A JPS6229815B2 JP S6229815 B2 JPS6229815 B2 JP S6229815B2 JP 55010177 A JP55010177 A JP 55010177A JP 1017780 A JP1017780 A JP 1017780A JP S6229815 B2 JPS6229815 B2 JP S6229815B2
Authority
JP
Japan
Prior art keywords
line
data
bus
address
pla
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
Application number
JP55010177A
Other languages
English (en)
Other versions
JPS55115143A (en
Inventor
Kaaru Roogu Josefu
Yu Ueiiwa
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS55115143A publication Critical patent/JPS55115143A/ja
Publication of JPS6229815B2 publication Critical patent/JPS6229815B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7864Architectures of general purpose stored program computers comprising a single central processing unit with memory on more than one IC chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/223Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microcomputers (AREA)
  • Bus Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】
〔本発明の技術分野〕 本発明はマイクロプロセツサの既存の機能的能
力を容易に拡張する技術に関する。具体的には、
本発明はマイクロプロセツサ及び共通システム・
バスを使用して接続された1個又はそれ以上のプ
ログラム論理アレイに関する。 〔背景の技術〕 プログラム論理アレイ(PLA)はコンピユー
タ・システムで命令を実行するために使用されて
来た。それに関する特許として、例えば米国特許
3949370(特開昭51−852)、同3962683、同
4074351がある。これら特許に示されたPLAは2
つのレベルに配列されている。1つのPLMは命
令又はアドレスを発生し、他の全てのPLAはそ
れに応答して最初のPLAよりも低いレベルでサ
ブルーチンを実行する。実際に、前記特許の各々
に開示されたPLAはCPUの順序制御を行うこと
ができる。もつと一般的に云えば、順序処理は米
国特許3983538に示されるようにPLAとそれに接
続されたメモリとを含むモジユールによつても広
範囲に行われた。モジユールは個別的に特殊化さ
れた(即ち、個性化された)動作能力及びレパー
トリを有する選択的にプログラム化されたミニプ
ロセツサとして自律的に動作するよう構成されて
いる。PLA及びメモリの組合せは高パフオーマ
ンスのエミユレータを形成しているとは云え、
PLAが比較的大きいため、それは本発明に比較
してコストが高いという欠点を有する。本発明に
従うPLA及びマイクロプロセツサの組合せは、
PLAが比較的小型であり、低価格のマイクロプ
ロセツサが市場で入手できるという点で、低コス
トで実現でいるという利点を有する。 〔本発明の要約〕 本発明は、命令の所与の標準セツトを実行する
に当り、マイクロプロセツサの機能的能力を拡張
して少なくとも1個の追加的命令を実行せしめる
システムに関する。このシステムはマイクロプロ
セツサ及び少なくとも1個のプログラム論理アレ
イ(PLA)を含む。これらはマイクロプロセツ
サに関連した標準システム・バス(制御、アドレ
ス、データ)を介して相互に通信する。各PLA
は機能実行ユニツトとして使用される。即ち、こ
のユニツトはマイクロプロセツサから受取られた
各々のアドレスを命令として解釈し、それに応答
して命令を実行し、その結果をデータ・バス上に
置く。この構成によりシステムのモジユラ性及び
機能的柔軟性が与えられる。又、システムのコス
ト/パフオーマンスを改善し設計のターンアラウ
ンド時間を早くするため、特別注文の命令を付加
することが可能である(即ち、マイクロプロセツ
サの既存のCPU能力が拡張される)。更に、マシ
ン動作が容易になる。マイクロプロセツサの機能
的能力は、マイクロプロセツサを改造することな
く拡張され、開発コストは低くなり、PLA設計
に伴うターンアラウンド時間の早さを十分に亨受
することができる。 第1図は本発明のシステム・ブロツク図を示
す。システムの構成要素は標準システム・バス
(制御バス1、アドレス・バス2、データ・バス
3)を介して相互に通信する。このようなバス構
造は、マイクロコンピユータ応用業務に必要なハ
ードウエア及びソフトウエアを単純化するため
に、市販のマイクロプロセツサ(MPU7)で採
用されてる特徴である。PLA4、5、6は機能
実行ユニツトとして使用される。それらはシステ
ム構成ブロツクの1部であり、高レベル命令を実
行するためにシステム・バスへ直接にプラグイン
できる構造を有する。MPU7、ROM8、メイ
ン・メモリ9はモトローラ6800、インテル8080の
如き市販の標準マイクロコンピユータの構成要素
である。6800及び8080マイクロコンピユータの構
成要素の数は異つているが、それらのバス構造は
同一であり、10本の制御線と16本のアドレス線と
8つの双方向性データ・バスとを有する。第2図
は6800プロセツサ・ユニツトの機能ブロツク図を
示す。マイクロの数、周辺入出力ポートの数、直
接メモリ・アクセス・アドレス・ビツト数などの
機能的能力を拡張するため、同一設計思想を有す
る2つ又はそれ以上のPLAが並列に接続されて
よい。 本発明の装置はMP、PIO、DMAの3つの形式
で構成することができる。MP構成はサブルーチ
ン、乗算、変換テーブル、特殊アルゴリズム、カ
ウンタ/タイマ機能、パリテイ検査/発生、
CRC(巡回冗長検査)、ポーリング・シーケン
ス、ピンポン・バツフア制御、比較/ブランチ機
能等の高レベル・マクロ機能を実行する(例え
ば、第1図のPLA4)。PIO構成は周辺装置10
をMPU7へインターフエイスし、SERDES
(SERIALIZER/DESERIALIZER)処理、デー
タ・フオーマツト発生、タイム・インターバル解
読データ検出、変移パルス発生、モデム(変調装
置/復調装置)動作、加算/挿入/削除処理など
の入出力機能を実行する(例えば、PLA5)。
DMA構成はメイン・メモリ9と外部装置(図示
せず)との間で直接にデータを転送する(例え
ば、PLA6)。PLA4,5,6がプログラム制御
の下でどのようにしてマイクロプロセツサ
(MPU)7と通信するかの例を示そう。 マクロプロセツサ(MP)構成 マイクロプロセツサ(MPU)7によつて制御
されるPLA4の適当な動作は、或る種の制御及
びタイミング信号が与えられ、PLA4が特定の
機能(組合せ又か順次の)を有効に遂行できるよ
うPLA4の周辺回路を区分することを要する。
MP構成として形成されたPLA4のブロツク図は
第3図に示される。 双方向性データ・バス3はMPU7との間でデ
ータを転送する。データ出力駆動器11はTSC
線12によつて制御される3状態駆動器である。
TSC線がオンになると、出力は実際上開放回路
となる(高インピーダンス状態)。これは出力ラ
ツチ13中に記憶されたデータをデータ・バスか
ら絶縁する。データ入力ラツチ14は、入力バツ
フアとして使用されかつILC線15によつて制御
されるゲーテツド・ラツチ(D形又は極性保持)
である。ILC線が高になると、入力はゲートされ
ない。これはデータ・バス上のデータがPLAを
通つてシンキング(処理)されることを禁止す
る。 マクロをアドレスするため、8つの入力が使用
される。マクロは特定の機能を実行するビツト・
パターン(即ち、product terms)の群である。
本質的には、アドレス自体はマクロ動作コードと
して使用され、アドレス・バス2に関連した8個
の入力ラツチ14は命令レジスタとして使用され
る。8つの入力がどのようにしてアドレス・バス
2へ接続されるかに従つて、アドレス可能なマク
ロの数は異なる。第4図は典型的なMPシステム
のメモリ・マツプを示す。このマツプは各々のシ
ステム構成要素が置かれているメモリ・ロケーシ
ヨンを表わす。例えば、アドレス・ビツト15及
び14はPLA4アドレス入力へ結合される。従
つてアドレス・ビツト15が高でアドレス・ビツ
ト14が低である時、PLA4はデータ・バス3
上でMPU7と通信している。PLA4を決定する
ために2ビツトが使用されるので、残りの6ビツ
トは最大64個のマクロ動作コードを使用可能にす
る。2つ又はそれ以上のマクロが常に連続して生
じるのであれば、マクロの数はそれよりも多くて
よい。これらのマクロはいくつかのPLA中に配
分される。ここで注意すべきは、第4図に示され
るようなメモリ・マツプの方法を使用すれば、無
用なメモリ・アドレスは非常に少なくなることで
ある。もし利用可能なメモリ・アドレスの全ての
ビツトが使用されるのであれば、16本の線より成
るアドレス・バス又は外部解読回路が使用されね
ばならない。 第3図のリセツト入力16は、電源故障の時に
生じるパワーダウン条件又はプロセツサに初期起
動の時に、PLA4をリセツトしスタートするこ
とを可能にする。リセツト入力線16がアツプに
なると、PLA4にあるORアレイ17の全てのレ
ジスタ及びラツチはクリアされ、停止線23は
「高」状態になる。読出し書込み(R/W)入力
線21は第2図のMPU7のR/W制御線21へ
接続されている。第2図はモトローラ6800マイク
ロプロセツサの機能ブロツク図である。入力21
は、MPU7が読出し(高)状態又は書込み
(低)状態のいずれにあるかをPLM4へ知らせ
る。更にこの入力は、MPU7又はPLA4のいず
れへデータ・フローが生じるかを制御するため、
ILC線15へ接続される。読出しサイクルの場
合、ILC線15は「高」状態にあり、入力ラツチ
14へのゲート入力は閉じられる。書込みサイク
ルの場合、それらは開らかれる。 データ・バス能動線22は第2図のMPU7の
データ・バス能動線22へ接続される。この線は
通常の動作においては位相2クロツク(φ2)に
よつて駆動される。それはマクロの実行を能動化
するための有効なデータがデータ・バス3上に存
在することをPLA4へ知らせる。 停止線23は第2図のMPU7の停止線23へ
接続される。停止線23が低状態にある時、
MPU7における全ての活動は停止され、MPU7
は命令の終了時に停止する。MPU7とPLA4は
非同期して動作するから、停止信号はPLA4が
そのタスクを完了するまでMPU7を待ち状態に
おく。PLA4が1つのマクロを実行するのに、
そのマクロが順次機能であれば、1サイクルより
多くのサイクルを取るかも知れない。そのマクロ
が組合せ機能であれば、PLA4は1サイクルを
取り、停止信号は必要でない。 走査イン線24と走査アウト線25はテスト目
的のため設けられている。ORアレイ17中の全
てのラツチ(即ちアキユームレータ26、マクロ
命令レジスタ27、出力ラツチ13)は直列に接
続されてシフト・レジスタを形成しているから、
テスト・データは走査イン線からシフトインさ
れ、テスト結果は走査アウト線からシフトアウト
されることができる。 ANDアレイ26の制御入力部分及びアドレス
入力部分のためには、2ビツトの区分は必要でな
い。何故ならば、それらは厳密に解読のために使
用され、論理を実行するためには使用されないか
らである。今まで説明した入力は位相スプリツタ
27へ接続される。ANDアレイ26の「2→
4」解読器(データ・バス部分)28及び「2→
4」解読器(フイードバツク部分)29は論理機
能を高めるために2ビツトの区分をされている。
ANDアレイは100個のproduct termsを有し、80
×100ビツトとして構成されている。ここで注意
すべきは、高レベル命令を実行する適用業務にお
いては、product termsの数は入力の数より重要
であることである。「2→4」解読器29は論理
フイールド30及びマクロ選択フイールド31に
分割される。論理フイールド30は16ビツトの幅
を有し、組合せ機能及び順次機能を実行し、マク
ロ選択フイールド31は4ビツトの幅を有し、マ
クロを選択するために使用される(全部で16個の
マクロ)。 ORアレイ17のフイードバツク部分はアキユ
ームレータ(ACCUM)126及びマクロ命令レ
ジスタ(MIR)127のフイールドに分割され
る。アキユームレータ・フイールドは16ビツトの
幅を有し、2つのアキユームレータ部分より成
り、2ビツトずつ区分されている(A0B0、
A1B1、A2B2など)。マクロ命令レジスタ・フイ
ールドはアドレス・バス2と同じようにマクロを
選択するためのものである。しかし、1つのマク
ロが次のマクロに続いているような順次機能を実
行するためには、マクロ命令レジスタ127はそ
の実行を早くする。何故ならば、プロセツサはア
ドレス・バス2を介してPLA4へマクロ命令動
作コードを送る必要はないからである。アレイの
出力ラツチ13はJK形のラツチを出力バツフア
(11ビツト)として使用する。出力ラツチ13の
次には、3状態能力を有するデータ出力駆動器
(オフチツプドライバ)が続いている。ORアレイ
17は62×100ビツトの構成を有する。 PIO(周辺入出力)構成 第5図のPIO構成において、握手(hand−
shake)信号に関連した入出力ポートがPLA5へ
付加される。周辺入力32及び周辺出力33はキ
ーボード、CRTデイスプレー、プリンタ、磁気
記憶装置(テープ又はデイスク)センサ及びアク
チユエータ群の如き周辺装置へ接続されている。
通常の動作において、これらの入出力ポートは外
部装置(図示せず)とMPU7(第1図)との間
でPLA5を介してデータ(1バイト又は2バイ
ト)を転送するために使用される。線34上の入
力準備完了信号は周辺装置から来る。それはデー
タが周辺入力で利用可能であることをPLA5へ
知らせる。線35上の入力通知信号は周辺装置へ
行く。それはデータが受取られたことを周辺装置
へ知らせる。出力要求線36は周辺装置がデータ
を要求していることをPLA5へ知らせる。出力
準備完了線37はデータがPLA5の周辺回路出
力で利用可能であることを周辺装置へ知らせる。
割込み要求1線38はマシン内でハードウエア割
込みシーケンスが発生されることを要求する。ハ
ードウエア割込みシーケンスのプログラム・フロ
ーは第6図に示される。MPU7がこの要求を認
識する前に、それは実行されている現在の命令を
完了するまで(第6図の46)待機しなければな
らない。現在の命令が完了された時点で、MPU
7(第1図、第2図)の条件コード・レジスタの
割込みマスク・ビツトがセツトされていなければ
(第6図の47)、マシンは割込みシーケンスを開
始する。第2図のインデツクス・レジスタ39及
び40(XREG(XH)及びXREG(XL))、プロ
グラム・カウンタ41及び42(PC(n+1)
H及びPC(n+1)L)、アキユームレータ43
及び44(ACCA及びACCB)、条件コード・レ
ジスタ45(COND、CODE)の内容はスタツク
上に記憶される(第6図の48)。次いで、MPU
7は高の割込みマスク・ビツトをセツトしてそれ
以上の割込みが生じないようにすることによつ
て、割込み要求に応答する(第6図の49)。サ
イクルの終りに、プログラム・カウンタは16ビツ
ト・アドレスをロードされる(第6図の50)。
この16ビツト・アドレスはメモリ・ロケーシヨン
FFF8及びFFF9の内容であり、ベクトル・ア
ドレスを指定する。これらのロケーシヨンでロー
ドされたアドレスは、MPU7をメモリ中の割込
みチーチンへブランチさせる。停止線23は割込
みを認識するために高状態になければならない。
2本以上の割込み要求線を使用する場合、外部割
込み優先順位回路をマシンへ付加することができ
る。 第5図を参照すると、ANDアレイ51の周辺
回路は入力ラツチ52、位相スプリツタ53、
「2→4」解読器54及び55を含み、これらは
前述した第3図のPLA4におけるANDアレイ2
6の対応する部分と類似している。ここで注意す
べきは、入力バツフアとして使用される入力ラツ
チ52(D形)は、周辺装置からの信号が安定し
ていないかも知れないので必要となることであ
る。即ち、パルス幅は狭いかも知れず又は大きい
かも知れない。入力ラツチは入力信号が利用可能
な最小の時間を有することを許す。入力ポートが
8本であるか16本であるかによつて、ANDアレ
イ51は96×80ビツト又は112×80ビツトとして
構成される。 ORアレイ56の周辺回路はアキユームレータ
57(A及びB)、マクロ命令レジスタ58、出
力ラツチ59、データ出力駆動器60、TSC線
61を含む。これらは前述した第3図のPLA4
におけるORアレイ17の対応する部分と類似し
ている。ORアレイ56は、出力ポートにある線
の数に従つて84×80ビツト又は100×80ビツトと
して構成されている。 DMA(直接メモリ・アクセス)構成 デイスプレー、プリンタ、デイスク又はテープ
記憶装置を使用する適用業務においては、メイ
ン・メモリ9(第1図)と外部装置(図示せず)
との間でデータ・ブロツクが頻繁に転送される。 DMA手法は、MPU7を使用しないで、メイ
ン・メモリ9との間でデータを転送することがで
きる。これによつて、MPU7のスループツトは
改善される。DMA構成をとるPLA6は第7図に
示される。この構成において、PLA6の出力に
出力線(16ビツト・アドレス・バス)62が必要で
あり、かつバス利用可能線63、有効メモリ・ア
ドレス線64、読出し書込み線67に制御信号が
必要である。 バス利用可能線63は第2図のMPU7から接
続され、DMA許可を与える。MPU7が停止さ
れ、3状態線の全てが高インピーダンス状態にな
つてDMA転送の開始が可能であることを示す
時、線63が高状態になる。 有効メモリ・アドレス線64はデータ出力駆動
器65の開放コレクタ・ゲートから与えられ、
MPU7が停止した時に低となる。この線はMPU
7(第2図)の有効メモリ・アドレス線とワイヤ
OR結合されており、DMA転送の間に第1図のメ
イン・メモリ9を能動化するのに使用される。読
出し書込み線67はDMA動作の間に転送方向を
制御するために使用される。この出力はTSC2線
70によつて制御される。PLA6の入力におけ
る線67の信号は反転してバス利用可能線63へ
ゲートされる。バス利用可能線63が高である
時、読出し書込み線67はPLA6のANDアレイ
68における対応する列へ何の影響も及ぼさな
い。 ここで注意すべきはアドレス・バス2、デー
タ・バス3、線67へ接続されたPLA出力線6
2,69,70は3状態出力を有することであ
る。この出力は、バス利用可能線63が低であり
かつMPU7がアドレス・バス、データ・バス、
制御バスを制御している時、高インピーダンス状
態にある。停止信号線23はDMA要求を出すた
めに使用される。このDMA要求はMPU7が停止
して3状態線の全てを高インピーダンス状態にす
ることを命じる。MPU7の停止によつて生じる
DMA転送の動作及びタイミングの詳細は当技術
分野で周知である。PLA6の残りの入出力線及
び周辺回路は前述したMP及びPIO構成の場合と
同じである。 プログラム制御 各々のPLAの中には、マクロと呼ばれるビツ
ト・パターン又はproduct termsの群が存在す
る。マクロは特定の機能を実行する。各マクロは
高レベル命令の動作コードを与えられ、この動作
コードはアドレス・バスを介してANDアレイに
よつて対比(即ち解読)される。対比が得られた
時、そのマクロは実行され、その結果は実行され
ている機能に従つてアキユームレータ又は出力ラ
ツチへ一時的に記憶される。次いで、その結果は
プロセツサへ戻されるか、外部装置へ転送されね
ばならない。 各PLAは高レベル命令を実行するための高速
機能実行ユニツトである。元来、高レベル命令は
プロセツサ内でサブルーチンを介してステツプ順
序に従つて実行される。MPU7がモトローラ
6800マイクロプロセツサとした場合、MPU7と
PLA4,5,6(第1図)との間のデータ転送
制御は、1つの例として次のような命令を使用す
ることによつて達成される。
【表】
【表】 上に列記された6800の命令の使用法を説明する
ために、PLAマクロ命令とそれらの動作コード
が次の表に示される。
【表】 次の例は上記の命令の使用法を示す。 例 1 MPU7のアキユームレータAに記憶された2
進データの1バイトがPLA4(第1図)にある
テーブルを介して変換され、その結果がMPU7
のアキユームレータBへ戻されるものとする。こ
の動作のプログラム・フローは第8図に示され
る。第2図のプログラム・カウンタ(PC)41
及び42がROM8のロケーシヨンnにあるJMP
命令のところまで来ると、JMP命令が実行された
後にそれはサブルーチン・ロケーシヨンKへジヤ
ンプする。同時に、次のメイン命令のロケーシヨ
ンn+2がスタツクに記憶される。これが終つた
後、MPUはSTAA、CNV(変換命令、10000001
とコード化される。第3図参照)をフエツチしこ
れらを実行することによつて、サブルーチンを実
行し始める。そのタイミングは第9A図に示され
る。この書込みサイクルの間に、アキユームレー
タAの内容は、データ・バス3を介してPLA4
(第3図)へ送られ、ANDアレイ26のCNV1テ
ーブルを介して変換され、変換された結果は出力
ラツチ13に記憶される。第1変換サイクル
(CNV1)の終りに、停止線23及びデータ出力
駆動器(3状態駆動器)11はオンにされる。第
2変換サイクル(CNV2)が完了した時に、停止
線23はオフにされる。しかしデータ出力駆動器
11は高インピーダンス状態にとどまる。 ここで指摘しておきたいことは、フエツチ・サ
イクルの間、STAA動作コード(1バイト)は
MPU7の命令レジスタ中に記憶され、CNV動作
コード(2バイト)はMPU7の一時的レジスタ
に記憶されていることである。実行サイクルの
間、STAA動作コードとCNV動作コードとはそ
れぞれMPU7の解読回路とPLA4のANDアレイ
26を介して解読される。停止信号が能動化され
た時、MPU7は停止信号がオフにされるまで待
ち状態におかれる。その後、プログラム・カウン
タPCが増進され、MPU7は次の命令LDAB及び
P1OLO(PLA4の出力ラツチ開放命令、
10000010とコード化される。第3図参照)をフエ
ツチしそれらを実行し始める。P1OLO命令が実
行される時、線12上のTSC信号が低になる。
これは出力ラツチ13の出力を高インピーダンス
状態から通常の状態へ戻し、出力ラツチ13の内
容はデータ・バス3で利用可能となる。この読出
しサイクルのタイミングは第9B図に示される。
このサイクルが完了した後、出力ラツチ13の内
容はアキユームレータBへロードされ、サブルー
チンからの戻り(RTS)が生じる。次いで、PC
は次のメイン命令のロケーシヨンn+2へ行く。
その間に、スタツク・ポインタSPは第8図に示
されるように前のロケーシヨンmを指示する。 例 2 第1図の周辺装置10(例えば、センサ)から
のデータが先ず第5図のPLA5にあるCNVテー
ブルを使用して変換され、その結果が「CMP&
AJS」マクロを使用して比較及び調整を行うため
にPLA4へ送られるものと仮定する。調整され
たデータは、周辺装置10がそれに付加された機
械的スイツチを能動化するためにそのデータを要
求するまで、MPU7のアキユームレータA中に
記憶されるものとする。 第6図及び第10図はこの動作のプログラム・
フローを示す。第5図を参照して、周辺装置10
からのデータが利用可能になり、線34上の入力
準備完了信号がアツプになると、データはAND
アレイ51のCNVテーブルを介して処理され
る。その結果は出力ラツチ59に記憶される。同
時に、線38上の割込み要求信号が下降する。
MPU7が割込み要求信号を感知した時、それは
第6図に示されるハードウエア割込みシーケンス
を通り、プログラム・カウンタPCは第10図に
示される割込みルーチン・ロケーシヨンKへジヤ
ンプする。MPU7は命令LDAA、P2OLO(PLA
出力ラツチ開放命令、第5図では10000100とコー
ド化される。)をフエツチしそれらを実行し始め
る。P2OLO命令の機能は前述したP1OLO命令の
機能と同じである。それらを実行した後、MPU
7はPLA5の出力ラツチ59の内容をアキユー
ムレータAへロードする。 第11図はPLA5とMPU7とに関して制御線
のタイミングを示す。第10図に示されるよう
に、PCがロケーシヨンK+2に進んだ時、MPU
7はSTAA及び「CMP&AJS」(比較及び調整)
命令をフエツチしかつ実行しようとする。これは
アキユームレータAの内容をPLA4へ転送さ
せ、「CMP&AJS」マクロ(動作コードは第3図
に示されるように10000011)を通らせる。その結
果はPLA4の出力ラツチ13に記憶される。こ
れらのデータはMPU7が次の命令LDAA及び
P1OLOを実行する時、アキユームレータAへ戻
される。最後に、割込みからの戻り」(RTI)命
令の実行は割込みルーチンを終らせ、MPU7の
制御をメイン・プログラムへ戻す。 周辺装置10及びMPU7(6800)は非同期的
に動作するから、周辺装置によるデータの要求は
RTI命令が実行される前又は後のいずれにおいて
もなされてよい。もしそれがRTI命令が実行され
る前に起り、周辺装置10からの出力要求線36
(第5図)を上昇させることによつて、線71上
の「割込要求2」が信号が能動化されると、
MPU7は第1の割込み要求が完全にサービスを
受けるまで、次の割込みを認知しない。「割込み
要求2」信号がMPU7によつて認識された時、
外部割込み優先順位回路は、第10図の下部に示
されるようなベクトルを得るために、MPU7を
メモリ(ROM8)中の適当なロケーシヨンLへ
導く。MPUの次のステツプは命令STAA及び
DBPO(「データ→バスから周辺装置への出力」
命令、第5図では10000101とコード化される。)
をフエツチして、それらを実行することである。
これはデータ・バス3を介してアキユームレータ
Aの内容を周辺出力ポートへ転送する。同時に、
第5図の出力準備完了線37が能動化される。 第11図のBの部分はMPU7から周辺装置1
0へのデータ・フローのタイミングを示す。ここ
で注意すべきは、通常の握手モード動作におい
て、第5図の入力準備完了信号(線34)及び出
力要求信号(線36)(共に周辺装置から来る)
は、出力準備完了信号(線37)及び入力通知信
号(線35)(共にPLA5から出る)が高状態に
置かれた後に到着することである。第12図は
PLA4及び5を介して起る周辺装置とMPU7と
の間の全てのデータ・フローを示す。そこには、
フローを制御するために使用される命令も示され
る。 例 3 第1図のメイン・メモリ9からCRTデイスプ
レー(図示せず)へ、データ・ブロツクの最初の
ロケーシヨンをM1と指定し、最後のロケーシヨ
ンM2と指定してデータ・ブロツクを転送するも
のと仮定する。通常の動作において、キーボード
の如き入力装置は周辺装置10の入力へ接続さ
れ、CRTは周辺装置10の出力へ接続されてい
る。周辺装置10はPLA5へ接続され(第1
図)、直接メモリ・アクセス(DMA)動作は第7
図のPLA6によつて実行される。 割込みサービス・ルーチンを使用したDMA転
送のプログラムは次の表に示される。
【表】
【表】 キーボードがデータ転送の信号を発生すると、
プロセツサは割込みルーチンのサービスを開始す
る。先ず、M1及びM2アドレスがPLA6(第7
図)のアキユームレータA及びB(A0B0、
A1B1、…)へロードされる。次に、PLA5(第
5図)のORアレイ56にある「データ・バスか
ら周辺出力」(DBPO)マクロ及びPLA6(第7
図)のORアレイ72にある「増進、比較、アド
レス・アウト選択」(INCMPS)マクロが選択さ
れる。DBPOマクロは第5図のデータ・バス3か
ら周辺出力33(CRT)へメモリ・データを転
送する通路を与える。INCMPSマクロは第7図に
おけるPLA6のアキユームレータAからPLA出
力線62(アドレス・バス)へデータを転送する
ためカウンタ、比較器及び通路を組合せる。線6
3上のバス利用可能(DMA許可)信号が高にな
つた後にマクロが実行される時、カウンタはM1
からM2への計数を開始し、次いで停止する。し
ばらくして、一連のメモリ・アドレスが発生さ
れ、メイン・メモリからデータがフエツチされ、
次いでPLA5のDBPO通路を介してCRTデイス
プレーへ移される。 第7図の線23上にある停止(DMA要求)信
号は現在実行されている命令と同期していないか
も知れないので、停止信号が低になつてから線6
3上のバス利用可能(DMA許可)信号が高にな
るまで変動する時間遅延を生じるかも知れない。
停止線23がソフトウエア割込み(SWI)命令の
ような長い命令(12サイクル長)の第1サイクル
で低になると、最大の時間遅延が生じる。MPU
7のアドレス、データ及び読出き書込み信号が高
インピーダンス状態になるために必要な1サイク
ルが、SWI命令を完了するのに必要な12サイクル
へ加えられる。DMA転送の動作においては、こ
の遅延を考慮に入れなければならない。
【図面の簡単な説明】
第1図は本発明に従うモジユラー形マクロ処理
システムのシステム・ブロツク図、第2図は本発
明で使用するのに適した市販されているマイクロ
プロセツサの機能ブロツク図、第3図は本発明に
従うマイクロプロセツサ構成のブロツク図、第4
図は第3図の実施例に関連したメモリ・マツプ、
第5図は本発明に従う周辺入出力構成のブロツク
図、第6図は第2図のマイクロプロセツサに関連
したプログラム流れ図、第7図は本発明に従う直
接メモリ・アクセス構成のブロツク図、第8図は
第3図の実施例に関連したプログラムの流れ図、
第9A図及び第9B図は第3図の実施例に関連し
たタイミング図、第10図は第5図の実施例に関
連したプログラムの流れ図、第11図及び第12
図は第5図の実施例に関連したタイミング図であ
る。 1……制御バス、2……アドレス・バス、3…
…データ・バス、4,5,6……プログラム論理
アレイ(PLA)、7……マイクロプロセツサ、8
……ROM、9……メイン・メモリ、10……周
辺装置、11……データ出力駆動器、13……出
力ラツチ、14……データ入力ラツチ、17……
ORアレイ、26……ANDアレイ、27……位相
スプリツタ、28,29……「2→4」解読器、
126…アキユームレータ、127…マクロ命令
レジスタ。

Claims (1)

    【特許請求の範囲】
  1. 1 マイクロプロセツサが制御バス、アドレス・
    バス、データ・バスを含む標準バス・システムを
    介してシステム構成要素と通信するシステムにお
    いて所与の標準命令セツトをマイクロプロセツサ
    が実行する能力以上に少なくとも1個の追加的命
    令を実行するようマイクロプロセツサの機能的能
    力を拡張する装置であつて、少なくとも1個のプ
    ログラム論理アレイが上記制御バス、アドレス・
    バス、データ・バスへ接続されていること、上記
    標準命令セツトを上記制御バスへ与えアドレスを
    上記アドレス・バスへ与えるように上記マイクロ
    プロセツサが上記標準バス・システムへ接続され
    ていること、上記プログラム論理アレイは上記ア
    ドレスを追加的命令として解釈する手段を有する
    こと、上記プログラム論理アレイは上記アドレス
    に応答して上記追加的命令に対応するマイクロ命
    令を実行し結果の信号を発生する手段を有するこ
    とより成るマイクロプロセツサ能力拡張装置。
JP1017780A 1979-02-26 1980-02-01 Microprocessor capability expander Granted JPS55115143A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/015,505 US4268908A (en) 1979-02-26 1979-02-26 Modular macroprocessing system comprising a microprocessor and an extendable number of programmed logic arrays

Publications (2)

Publication Number Publication Date
JPS55115143A JPS55115143A (en) 1980-09-04
JPS6229815B2 true JPS6229815B2 (ja) 1987-06-29

Family

ID=21771796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1017780A Granted JPS55115143A (en) 1979-02-26 1980-02-01 Microprocessor capability expander

Country Status (9)

Country Link
US (1) US4268908A (ja)
EP (1) EP0014850B1 (ja)
JP (1) JPS55115143A (ja)
AU (1) AU537064B2 (ja)
BR (1) BR8001032A (ja)
CA (1) CA1136768A (ja)
DE (1) DE3069537D1 (ja)
ES (1) ES488841A1 (ja)
IT (1) IT1148853B (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4482953A (en) * 1980-05-30 1984-11-13 Fairchild Camera & Instrument Corporation Computer with console addressable PLA storing control microcode and microinstructions for self-test of internal registers and ALU
US4467409A (en) * 1980-08-05 1984-08-21 Burroughs Corporation Flexible computer architecture using arrays of standardized microprocessors customized for pipeline and parallel operations
USRE32858E (en) * 1981-02-10 1989-02-07 American Telephone And Telegraph Company, At&T Bell Laboratories Stored-program control machine
US4399516A (en) * 1981-02-10 1983-08-16 Bell Telephone Laboratories, Incorporated Stored-program control machine
US4583193A (en) * 1982-02-22 1986-04-15 International Business Machines Corp. Integrated circuit mechanism for coupling multiple programmable logic arrays to a common bus
US4575794A (en) * 1982-02-22 1986-03-11 International Business Machines Corp. Clocking mechanism for multiple overlapped dynamic programmable logic arrays used in a digital control unit
US4447813A (en) * 1982-06-04 1984-05-08 Control Resources Corporation Programmable bus for the control of electronic apparatus
DE3233343A1 (de) * 1982-09-08 1984-03-08 Siemens AG, 1000 Berlin und 8000 München Prozessoreinheit eines rechners
JPS6065342A (ja) * 1983-09-20 1985-04-15 Fujitsu Ltd マイクロコンピユ−タ
USRE34363E (en) * 1984-03-12 1993-08-31 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
GB2161001B (en) * 1984-06-25 1988-09-01 Rational Distributed microcode address apparatus for computer
US4670835A (en) * 1984-10-19 1987-06-02 Honeywell Information Systems Inc. Distributed control store word architecture
DE3508984A1 (de) * 1985-03-13 1986-09-18 Siemens AG, 1000 Berlin und 8000 München Verarbeitungseinheit fuer befehle, bestehend aus ausfuehrungseinheit und zusatzausfuehrungseinheit
US4789957A (en) * 1986-03-28 1988-12-06 Texas Instruments Incorporated Status output for a bit slice ALU
JP2845433B2 (ja) * 1987-09-07 1999-01-13 日本電気株式会社 集積回路装置
FR2633407B1 (fr) * 1988-06-27 1990-11-02 Crouzet Sa Dispositif programmable de commande de relais
GB9223226D0 (en) 1992-11-05 1992-12-16 Algotronix Ltd Improved configurable cellular array (cal ii)
US5455525A (en) * 1993-12-06 1995-10-03 Intelligent Logic Systems, Inc. Hierarchically-structured programmable logic array and system for interconnecting logic elements in the logic array
JPH07168803A (ja) * 1994-07-25 1995-07-04 Seiko Epson Corp 半導体装置
JPH07168802A (ja) * 1994-07-25 1995-07-04 Seiko Epson Corp 半導体装置
US5893040A (en) * 1996-05-15 1999-04-06 The Boeing Company Method and apparatus for automatically providing jet engine thrust ratings to avionic systems
US6085317A (en) * 1997-08-15 2000-07-04 Altera Corporation Reconfigurable computer architecture using programmable logic devices
US7035948B1 (en) * 2001-03-19 2006-04-25 Transdimension, Inc. System and method for USB controllers
US6511867B2 (en) * 2001-06-30 2003-01-28 Ovonyx, Inc. Utilizing atomic layer deposition for programmable device
US7577726B1 (en) * 2002-02-07 2009-08-18 Cisco Technology, Inc. Method for updating a hardware configuration of a networked communications device
EP1559146A1 (en) * 2002-08-21 2005-08-03 Ovonyx Inc. Utilizing atomic layer deposition for programmable device

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT314225B (de) * 1969-05-02 1974-03-25 Internat Business Maschines Co Modulares elektronisches Datenverarbeitungssystem
US3962683A (en) * 1971-08-31 1976-06-08 Max Brown CPU programmable control system
US3916169A (en) * 1973-09-13 1975-10-28 Texas Instruments Inc Calculator system having a precharged virtual ground memory
US3983538A (en) * 1974-05-01 1976-09-28 International Business Machines Corporation Universal LSI array logic modules with integral storage array and variable autonomous sequencing
US3949370A (en) * 1974-06-06 1976-04-06 National Semiconductor Corporation Programmable logic array control section for data processing system
US3959774A (en) * 1974-07-25 1976-05-25 California Institute Of Technology Processor which sequences externally of a central processor
US4074351A (en) * 1974-12-02 1978-02-14 Texas Instruments Incorporated Variable function programmed calculator
US3988717A (en) * 1975-08-06 1976-10-26 Litton Systems, Inc. General purpose computer or logic chip and system
US4040032A (en) * 1976-02-27 1977-08-02 Data General Corporation Peripheral device controller for a data processing system

Also Published As

Publication number Publication date
BR8001032A (pt) 1980-10-29
JPS55115143A (en) 1980-09-04
AU537064B2 (en) 1984-06-07
ES488841A1 (es) 1980-09-16
EP0014850B1 (de) 1984-10-31
US4268908A (en) 1981-05-19
AU5453980A (en) 1980-09-04
EP0014850A1 (de) 1980-09-03
IT1148853B (it) 1986-12-03
CA1136768A (en) 1982-11-30
IT8019451A0 (it) 1980-01-25
DE3069537D1 (en) 1984-12-06

Similar Documents

Publication Publication Date Title
JPS6229815B2 (ja)
US4112490A (en) Data transfer control apparatus and method
EP0556314B1 (en) Method and apparatus for providing down-loaded instructions for execution by a peripheral controller
US5280283A (en) Memory mapped keyboard controller
CA2004485C (en) Computer with improved keyboard password functions
EP0313848B1 (en) Data processor with development support features
US4144562A (en) System and method for increasing microprocessor output data rate
JP3105223B2 (ja) マイクロコンピュータ,マイクロプロセッサおよびコア・プロセッサ集積回路用デバッグ周辺装置
US4438492A (en) Interruptable microprogram controller for microcomputer systems
US4674089A (en) In-circuit emulator
US4933941A (en) Apparatus and method for testing the operation of a central processing unit of a data processing system
EP0180476B1 (en) Microprogramme sequence controller
JPS6053899B2 (ja) デ−タ処理システム
JPS6361691B2 (ja)
US20020144235A1 (en) Debugging embedded systems
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
JPS6218936B2 (ja)
CA1109161A (en) Processor for a data processing system
US5742842A (en) Data processing apparatus for executing a vector operation under control of a master processor
JPS5833965B2 (ja) コンピュ−タ診断方法およびその装置
EP0378242A2 (en) Integrated circuit with a debug environment
JP3547012B2 (ja) マイクロコンピュータ
SU1124316A1 (ru) Микро-ЭВМ
JPH05334460A (ja) シングルチップマイクロコンピュータ
Nishimukai et al. Universal To Device Controller By Using Programmable Logic Arrays (pla)