JPS6217876Y2 - - Google Patents

Info

Publication number
JPS6217876Y2
JPS6217876Y2 JP1984140787U JP14078784U JPS6217876Y2 JP S6217876 Y2 JPS6217876 Y2 JP S6217876Y2 JP 1984140787 U JP1984140787 U JP 1984140787U JP 14078784 U JP14078784 U JP 14078784U JP S6217876 Y2 JPS6217876 Y2 JP S6217876Y2
Authority
JP
Japan
Prior art keywords
storage level
stack
storage
level
information
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
JP1984140787U
Other languages
Japanese (ja)
Other versions
JPS6065847U (en
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 filed Critical
Publication of JPS6065847U publication Critical patent/JPS6065847U/en
Application granted granted Critical
Publication of JPS6217876Y2 publication Critical patent/JPS6217876Y2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)

Description

【考案の詳細な説明】 (関連出願) 本願は、本考案の譲受人に譲渡された同期日出
願の米国特許第4151598号(日本特許第1263901
号)「メモリー・コントローラ用優先順位指定装
置」に関連するものである。
[Detailed description of the invention] (Related applications) This application is filed in US Patent No. 4151598 (Japanese Patent No. 1263901
No.) This is related to "priority designation device for memory controller."

A 考案の属する技術分野 本考案はデータ処理装置において使用されるメ
モリー・システムに関し、特に所定の受取り側装
置が情報を受取ることが可能になる迄要求側装置
によつて生成された指令、命令又はデータを受入
れて記憶するメモリー・コントローラスタツク装
置に関する。
A. Technical field to which the invention pertains The present invention relates to a memory system used in a data processing device, and more particularly, to a memory system for use in a data processing device, and in particular to a memory system used in a data processing device to store commands, commands, or The present invention relates to a memory controller stack device that accepts and stores data.

B 従来技術の説明 最近のデータ処理システムはデータの操作、記
憶および通信の諸機能を実施するため種々のサブ
システムを内蔵している。このようなシステム
は、例えば、中央プロセサ、メモリー、複数個の
入出力(I/O)装置、および制御装置を含む。
このようなデータ処理システムは構成において非
常に相異し、即ち特定の設計基準に従つて種々の
機能性が異なるサブシステムに配置される。同様
に、種々のサブシステム間の通信に必要とされる
インターフエース回路はその機能性および作用の
両方において異なる。
B. Description of the Prior Art Modern data processing systems incorporate various subsystems to perform data manipulation, storage, and communication functions. Such systems include, for example, a central processor, memory, a plurality of input/output (I/O) devices, and a controller.
Such data processing systems vary widely in configuration, ie, various functionalities are arranged in different subsystems according to specific design criteria. Similarly, the interface circuits required for communication between the various subsystems differ in both their functionality and operation.

典型的には、中央プロセサはプログラムと呼ば
れる一連の復号可能な命令に従つてデータを操作
する。これ等のプログラム命令はプロセサによつ
て順次検索され、操作されるべきデータと一緒に
記憶装置に記憶される。
Typically, a central processor operates on data according to a series of decodable instructions called a program. These program instructions are sequentially retrieved by the processor and stored in the storage device along with the data to be manipulated.

このような記憶装置にはいくつかの公知のタイ
プがあるが、主記憶装置として最も一般的に使用
されているのは別個にアドレス指定可能な記憶場
所を有するランダム・アクセス装置であつて、前
記記憶場所の各々は、データおよび(又は)指令
からなり、種々の操作において使用できる特定の
フイールドを含むワードに対する記憶を提供す
る。一般に、プロセサがデータ又は命令を必要と
する時、記憶サイクルを生成してあるアドレスに
記憶されたデータ又はワードを検索するためのメ
モリーにこのアドレスを与える。
Although there are several known types of such storage devices, the most commonly used main storage devices are random access devices with separately addressable storage locations, and Each of the memory locations provides storage for words containing particular fields that may consist of data and/or instructions and may be used in various operations. Generally, when a processor needs data or instructions, it generates a store cycle to provide this address to memory for retrieving the data or word stored at that address.

プログラムを構成する一連の命令は通常各操作
の始めにメモリーにロードされてメモリーの1ブ
ロツクを占有し、このブロツクはプログラムが完
了する迄通常外乱即ち変更を受けてはならない。
記憶された命令に従つてプロセサにより操作され
るべきデータはメモリーの他の部位に記憶され、
プログラム命令に従つて検索されて置換される。
The sequence of instructions that make up a program is typically loaded into memory at the beginning of each operation and occupies a block of memory, which block typically must not be disturbed or modified until the program is complete.
Data to be manipulated by the processor according to the stored instructions is stored in other parts of the memory;
Searched and replaced according to program instructions.

外部とデータ処理システム間の通信は通常磁気
テープ・ハンドラ、紙テープ読取装置、パンチ・
カード読取装置、および遠隔端末装置等の装置を
含む複数個のI/O装置の使用によつて行われ
る。I/O装置間の情報の転送を制御するため、
種々のI/O装置をプロセサに結合する入出力制
御装置が設けられる。この入出力制御装置(コン
トローラ)は種々のI/O装置に関して出入りす
る情報の流れを調整し、1個以上のI/O装置が
システムの他の部分と通信しようとする時優先順
位を与える。このI/O装置は通常電気機械的な
性格を有するためにデータ処理システムの他の部
分よりも遥かに遅い動作速度を特徴とするので、
入出力コントローラは処理システムの他の部分が
その通常速度で作用を進行し得るように緩衝作用
を提供する。多くの用途において、1個以上のプ
ロセサおよび1個以上のメモリーを使用すること
が有利である。同様に、このようなシステムは通
常多数のI/O装置を必要とし、従つて多くの入
出力コントローラを必要とする。
Communication between the outside world and the data processing system is typically provided by magnetic tape handlers, paper tape readers, punchers, etc.
This is accomplished through the use of multiple I/O devices, including devices such as card readers and remote terminals. To control the transfer of information between I/O devices,
An input/output controller is provided that couples various I/O devices to the processor. The input/output controller coordinates the flow of information to and from the various I/O devices and provides priority when one or more I/O devices attempt to communicate with other parts of the system. This I/O device is typically electromechanical in nature and is therefore characterized by a much slower operating speed than other parts of the data processing system.
The input/output controller provides a buffer so that other parts of the processing system can proceed at their normal speed. In many applications, it is advantageous to use one or more processors and one or more memories. Similarly, such systems typically require a large number of I/O devices and therefore many input/output controllers.

プロセサ、記憶装置およびI/Oコントローラ
間の通信を調整するためメモリー・コントローラ
が設けられている。この装置は、メモリーへのア
クセス要求と共に他のサブシステムに対する特定
の通信要求を受取る。メモリー・コントローラ
は、操作の実行および情報の転送を調整し、又メ
モリーに対するアクセス要求が1個以上のサブシ
ステムにより生成される時優先順位を指定する手
段も提供する。
A memory controller is provided to coordinate communications between the processor, storage, and I/O controller. This device receives requests for access to memory as well as specific communication requests for other subsystems. The memory controller coordinates the execution of operations and transfer of information and also provides a means for specifying priorities when requests for access to memory are generated by one or more subsystems.

典型的なデータ処理システムでは1個のメモリ
ー・コントローラを含むが、多重コンピユータ構
成ではいくつかのメモリー・コントローラを使用
する。
A typical data processing system includes one memory controller, but multiple computer configurations use several memory controllers.

1個以上のメモリー・コントローラが用いられ
る環境においては、各メモリー・コントローラは
相互に独立し、同時に作用してメモリー・システ
ムのアクセスにおける並列性を提供する。各メモ
リー・コントローラはプロセサおよび入出力コン
トローラからの要求を一時的に記憶し、ある優先
方式に従つてこれ等のサブシステムのサービスを
行うのが通常である。種々の通信装置およびメモ
リーコントローラ間のデータ転送はワード形態、
例えば40ビツトのものである。メモリー・コント
ローラを用いる典型的なデータ処理システムにつ
いては、米国特許第3413613号「再構成可能なデ
ータ処理システム」において記載されている。
In environments where more than one memory controller is used, each memory controller is independent of the other and operates simultaneously to provide parallelism in memory system access. Each memory controller temporarily stores requests from processors and input/output controllers and typically services these subsystems according to some priority scheme. Data transfer between various communication devices and memory controllers is in word format,
For example, it is 40 bits. A typical data processing system using a memory controller is described in US Pat. No. 3,413,613, "Reconfigurable Data Processing System."

メモリー・コントローラに対して転送される命
令および(又は)指令および(又は)データは、
該当する宛先装置がその情報を処理するため使用
可能となる迄複数個のレジスタからなるスタツク
に受入れられて一時的に記憶される。一たんスタ
ツクされると、命令又は指令は一般に先入れ先出
し方式に従つて宛先装置に対して転送される。書
込みカウンタは、スタツクのどのレジスタが入力
情報を受取るかを決定し、読出しカウンタは次に
その内容がその宛先装置に対し送られるべきレジ
スタを選択する。スタツクにおける指令の存在
は、通常書込みカウンタの内容を読出しカウンタ
の内容と比較することにより検出される。もしこ
れ等の内容が等しくなければ、このことはスタツ
クが送られるべき情報を含むことを表示する。要
求がメモリー・コントローラによつて受取られる
時書込みカウンタが前進させられ、情報がスタツ
クから宛先装置へ送られる時読出しカウンタが前
進させられる。もしスタツクから読出されるべき
次の指令に対応する宛先装置が使用中であれば、
スタツクのそれより下位の位置を占める他の指令
はたとえそれらの対応する宛先装置が空いていて
も転送されることはできない。従つて、ある使用
中の宛先装置が自由な状態の装置を宛先とする指
令を実際上ブロツクすることがある。これは明ら
かに非能率的であり速度が最も重要な技術におい
て不当な遅延をもたらすことになる。
Instructions and/or instructions and/or data transferred to the memory controller are
The information is received and temporarily stored in a stack of registers until the appropriate destination device is available to process the information. Once stacked, instructions or commands are generally forwarded to the destination device on a first-in, first-out basis. The write counter determines which register on the stack receives the input information, and the read counter selects the register whose contents are then sent to the destination device. The presence of a command in the stack is normally detected by comparing the contents of the write counter with the contents of the read counter. If their contents are not equal, this indicates that the stack contains information to be sent. A write counter is advanced when a request is received by the memory controller, and a read counter is advanced when information is sent from the stack to the destination device. If the destination device corresponding to the next command to be read from the stack is busy,
Other commands occupying positions lower on the stack cannot be forwarded even if their corresponding destination devices are free. Thus, a busy destination device may effectively block commands destined for a free device. This is clearly inefficient and results in undue delays in a technology where speed is paramount.

更に、スタツクは有限の長さを有するため、書
込みカウンタがスタツクにおける全ての使用可能
な記憶場所を充当し尽して自ら循環することにな
り、このためスタツクの記憶場所の内容がその宛
先装置に転送される前に新らしい情報を前記記憶
場所に書込むことになる危険がある。もしこのオ
ーバーフローが生じると、問題のレジスタ(単数
又は複数)の内容は消失してシステムの誤りを生
じることになる。前述の方法を用いて、各宛先装
置にまだ転送されていない情報でスタツクが充填
状態になる時を確定することは困難である。更
に、この構成は順次的に作用するため、スタツク
の実際の使用頻度の決定即ちスループツトの表示
が難かしい。
Furthermore, because the stack has a finite length, the write counter will fill all available storage locations in the stack and cycle through itself, causing the contents of the stack's storage locations to be transferred to its destination device. There is a risk of writing new information to the memory location before it is transferred. If this overflow occurs, the contents of the register(s) in question will be lost, resulting in a system error. Using the methods described above, it is difficult to determine when the stack becomes full with information that has not yet been transferred to each destination device. Furthermore, because this arrangement operates sequentially, it is difficult to determine the actual frequency of use of the stack, or to indicate throughput.

C 考案の目的 本考案の目的は、オーバーフローによる誤りが
実質的に克服されるメモリー・コントローラ用ス
タツク装置の提供にある。
C. OBJECTS OF THE INVENTION It is an object of the invention to provide a stack arrangement for a memory controller in which overflow errors are substantially overcome.

本考案の別の目的は、本考案のスタツク装置で
スタツクのスループツトの容易な決定を可能にす
ることにある。
Another object of the invention is to enable easy determination of stack throughput with the stack apparatus of the invention.

D 考案の要約 本考案の広義の特質によれば、順序付けされ、
その順番に識別用のレベル番号を付された多数の
レジスタから成る多重レベル記憶スタツクにおけ
る未占有の最も低い、即ちレベル番号の最も小さ
い記憶レベルを決定するための検出装置と、入力
データを前記の最も低い未占有の記憶レベル(以
下単にレベルと略称する)にロードするため前記
の検出装置およびスタツクに結合された使用可能
化装置とを含む、多重レベル記憶スタツク内の前
記記憶レベルに入力データを記憶する装置が提供
される。
D Summary of the invention According to the broad characteristics of the invention, the invention is ordered;
a detection device for determining the lowest unoccupied storage level, i.e. the lowest level number, in a multi-level storage stack consisting of a number of registers which are sequentially numbered for identification; input data to a storage level in a multi-level storage stack comprising a detection device and an enabling device coupled to the stack for loading into the lowest unoccupied storage level (hereinafter simply referred to as level); A storage device is provided.

本考案の前述および他の目的については、添付
図面に関する以下の詳細な記述から更に明らかに
なるであろう。
The foregoing and other objects of the present invention will become more apparent from the following detailed description taken in conjunction with the accompanying drawings.

E 実施例の説明 第1図は単一のメモリー・コントローラ構成の
データ処理システムのブロツク図である。このデ
ータ処理システムは、データ・プロセサ2と、記
憶装置4,6と、入出力コントローラ10と、複
数個のI/O装置12,14,16を内蔵する。
プロセサとI/Oコントローラとメモリーは、記
憶装置4と6に対するアクセスを制御し更にプロ
セサ2および(又は)I/Oコントローラ10の
間の通信制御を行うメモリー・コントローラ8に
よつて相互に接続されている。前述の如く、メモ
リー・コントローラ8は、システム間の通信の監
視と共にそれ自体のある機能を実施するためのデ
ータ処理調整装置として作用する。スタツク装置
は、前記記憶装置4と6のいずれか一方又は両方
が使用不可能である該記憶装置を宛先とする指
令、命令およびデータの情報を受入れて一時的に
記憶するためメモリー・コントローラ8に設けら
れている。
E. DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 is a block diagram of a data processing system with a single memory controller configuration. This data processing system includes a data processor 2, storage devices 4 and 6, an input/output controller 10, and a plurality of I/O devices 12, 14, and 16.
The processor, I/O controller and memory are interconnected by a memory controller 8 which controls access to storage devices 4 and 6 and also controls communications between processor 2 and/or I/O controller 10. ing. As previously mentioned, memory controller 8 acts as a data processing coordinator to perform certain functions of its own as well as oversee communication between systems. The stack device is connected to a memory controller 8 for accepting and temporarily storing information of commands, commands, and data destined for one or both of the storage devices 4 and 6 which are unavailable. It is provided.

第2図は、本考案によるスタツク装置の機能的
ブロツク図である。第2図によれば、4レベルの
スタツク42が示される。この点につき留意すべ
きことは、スタツク42はどんな長さでもよく、
4つのレベルを用いるのは単に例示のためである
ことである。スタツク42は、簡便のためレベル
0に対する入力のみ示されるが実際にはスタツク
の各レベル毎に与えられる指令アドレスおよびデ
ータを受取る。該当する受取り側装置が使用可能
になると直ちに、スタツクの対応するレベルの内
容が転送され、同時に複数の受取り側装置が使用
可能になつた場合は本願と同月日に出願された係
属中の米国特許第4151598号(日本特許第1263901
号)「メモリー・コントローラ用優先順位指定装
置」の主題である優先順位方式に従つて時間的に
より長くスタツク内にあつたものから順に受取り
装置に対して転送されるが、スタツクからの内容
の取り出しは本考案の主題ではないのでこれ以上
説明しない。
FIG. 2 is a functional block diagram of a stacking device according to the present invention. Referring to FIG. 2, a four level stack 42 is shown. In this regard, it should be noted that the stack 42 can be of any length;
The use of four levels is for illustration purposes only. Stack 42 actually receives command addresses and data provided for each level of the stack, although only the input for level 0 is shown for simplicity. As soon as the applicable receiving device becomes available, the contents of the corresponding level of the stack are transferred, and if multiple receiving devices become available at the same time, pending U.S. patents filed on the same date as this application. No. 4151598 (Japanese Patent No. 1263901
Items that have been in the stack longer are transferred to the receiving device according to the priority system, which is the subject of ``Priority Designation Device for Memory Controllers.'' Since this is not the subject of this invention, it will not be further explained.

スタツクの各レベルはこれと関連する使用中フ
リツプフロツプを夫々有する。第2図において
は、これ等はフリツプフロツプ20,22,2
4,26として示されている。スタツク内の1つ
のレベルに指令、アドレスおよび(又は)データ
が記憶される時、その関連するレベル使用中フリ
ツプフロツプがセツトされる。受取り側の装置に
よつてスタツクの対応するレベルからデータが読
出される時、対応するレベル使用中フリツプフロ
ツプをリセツトする信号が受取り側装置により生
成される。レベル使用中フリツプフロツプ20,
22,24,26の出力はレベル使用中復号装置
28の入力側に与えられ、この復号装置は内蔵さ
れたロジツクにより占有されていないスタツクの
最も低い(即ち最もレベル番号の小さい)レベル
を決定する。もし全てのレベルが占有されている
と、即ち全てのレベル使用中フリツプフロツプが
セツトされていると、レベル使用中復号装置(デ
コーダ)28はスタツク使用中信号を生成して、
これを要求側装置に転送し、その要求がこの時処
理され得ない即ち受け入れられないことを要求装
置側に通知する。
Each level of the stack has an active flip-flop associated with it. In FIG. 2, these are flip-flops 20, 22, 2.
4,26. When a command, address and/or data is stored at one level in the stack, its associated level busy flip-flop is set. When data is read from a corresponding level of the stack by a receiving device, a signal is generated by the receiving device that resets the corresponding level busy flip-flop. Level in use flip-flop 20,
The outputs of 22, 24, and 26 are applied to the inputs of a level-in-use decoder 28, which determines the lowest level (i.e., lowest level number) of the stack that is not occupied by any built-in logic. . If all levels are occupied, that is, all level busy flip-flops are set, the level busy decoder 28 generates a stack busy signal.
This is forwarded to the requesting device, informing the requesting device that the request cannot be processed or accepted at this time.

レベル使用中デコーダ28の出力は2つの方法
で使用される。第1に、この出力はマルチプレク
サ18の入力側に帰還される。要求側装置から受
取つた要求も同様にマルチプレクサ18に与えら
れ、このマルチプレクサは適当する回線に出力を
生じてスタツクにおける最も低い未占有のレベル
のレベル使用中フリツプフロツプをセツトする。
第2に、レベル使用中デコーダ28の出力はスタ
ツク・アドレス・ゼネレータ32に与えられる。
アドレス・ゼネレータ32は使用可能信号を生成
し、この信号は要求信号と合成されてスタツクの
最も低い未占有レベルに対する指令、アドレスお
よび(又は)データのエントリを可能にする。こ
れはAND装置34,36,38,40を介して
行われる。
The output of level busy decoder 28 is used in two ways. First, this output is fed back to the input of multiplexer 18. Requests received from requesting devices are similarly applied to multiplexer 18, which produces an output on the appropriate line to set the level busy flip-flop to the lowest unoccupied level in the stack.
Second, the output of level busy decoder 28 is provided to stack address generator 32.
Address generator 32 generates an enable signal, which is combined with the request signal to enable command, address and/or data entry to the lowest unoccupied level of the stack. This is done via AND devices 34, 36, 38, 40.

前述のように、スタツクのオーバーフロー状態
が生じる時、それがスタツクにより高位の追加の
レベルを付加すべきほどに頻繁であるか、あるい
は逆に使用頻度が低くてスタツク中の現用の高位
のレベルが削除されるべきかを決定するためにス
タツクの使用頻度の表示を得ることが望ましい。
これは、レベル使用中フリツプフロツプの出力を
第2図にスループツト・インジケータ30として
示された論理装置に結合することによつて行うこ
とができる。この装置は、占有されたスタツクに
おける最も高いレルを表示する論理装置である。
スループツト・インジケータ30は、スタツクに
レベルの加除する本考案の一部を構成するもので
はないスタツク・レベル制御装置に接続される信
号を生成する。
As mentioned above, when a stack overflow condition occurs, it is either so frequent that additional higher levels should be added to the stack, or conversely, it is used so infrequently that the current higher levels in the stack are It is desirable to obtain an indication of the frequency of use of a stack in order to determine whether it should be deleted.
This can be accomplished by coupling the output of the level busy flip-flop to a logic device shown as throughput indicator 30 in FIG. This device is the logical device that represents the highest rel in the occupied stack.
The throughput indicator 30 generates a signal that is connected to a stack level controller, which adds and subtracts levels to the stack, and which does not form part of the present invention.

次に第3図においては本考案によるスタツク装
置の詳細な論理図が示されている。第2図におけ
るのと同様、スタツクは単に説明の便のため4つ
のレベルに限定されている。スタツク42のレベ
ル0,1,2,3はそれぞれAND装置66,6
8,70,72の出力によつて使用可能となる。
再び、第2図に示したのと同様、指令および(又
は)データは最初のレベルのみに与えられるよう
に示される。しかし、指令およびアドレスのデー
タは同様にスタツクにおける各レベルにも与えら
れることを理解すべきである。
Referring now to FIG. 3, a detailed logic diagram of a stacking device according to the present invention is shown. As in FIG. 2, the stack is limited to four levels solely for convenience of explanation. Levels 0, 1, 2, and 3 of stack 42 are connected to AND devices 66 and 6, respectively.
It becomes usable by the outputs of 8, 70, and 72.
Again, as shown in FIG. 2, commands and/or data are shown as being provided to the first level only. However, it should be understood that command and address data are provided at each level in the stack as well.

各スタツク・レベルと関連しているのはレベル
使用中フリツプフロツプである。フリツプフロツ
プ44がセツトされる時、レベル「0」が占有さ
れたことを表示する。フリツプフロツプ46,4
8,50はそれぞれレベル1,2,3に関して同
様な機能を行う。
Associated with each stack level is a level busy flip-flop. When flip-flop 44 is set, it indicates that level "0" is occupied. flipflop 46,4
8 and 50 perform similar functions for levels 1, 2, and 3, respectively.

AND論理装置52,54,56,58はスタ
ツクにおける占有されていない最も低いレベルを
識別するよう作用する。例えば、AND装置52
はその入力の一方に対しフリツプフロツプ44の
Q出力を又他方に対してフリツプフロツプ46の
出力を与えられる。従つて、AND装置52の
出力はレベル「0」が占有されレベル「1」が占
有されない場合にのみハイとなる。同様に、
AND、ゲート54は、レベル「0」と「1」が
占有されレベル「2」が占有されない場合に出力
f2を生じるようにレベル使用中フリツプフロツプ
の出力側に結合されている。AND装置56の出
力(f3)はスタツクの最後のレベルを除く全レベ
ルが占有されていることを表示する。これ等関数
(f1,f2,f3)はそれぞれAND装置76,78,
80の入力側に帰還され結合される。アクセス要
求はAND装置74,76,78,80の第2の
入力側に結合される。このように、要求が受取ら
れて、どれがスタツクにおける最も低い未占有の
レベルであるかが決定されると、適当なレベル使
用中フリツプフロツプがセツトされる。例えば、
もしレベル「1」がスタツクにおいて最も低い未
占有レベルであれば、f1がハイとなつてAND装
置76をして要求をフリツプフロツプ46のセツ
ト入力に送らせる。もしレベル「2」が最も低い
未占有レベルであれば、f2はAND装置78をし
て要求をレベル使用中フリツプフロツプ48のセ
ツト入力に送らせる。同様に、もしレベル「3」
が最も低い末占有レベルであれば、f3は要求信号
をフリツプフロツプ50のセツト入力にゲートさ
せる。
AND logic 52, 54, 56, 58 serves to identify the lowest unoccupied level in the stack. For example, AND device 52
is given the Q output of flip-flop 44 on one of its inputs and the output of flip-flop 46 on the other. Therefore, the output of AND device 52 will be high only if level "0" is occupied and level "1" is not. Similarly,
AND, gate 54 outputs when levels "0" and "1" are occupied and level "2" is not occupied.
The level is coupled to the output side of the flip-flop in use to yield f2. The output (f3) of AND device 56 indicates that all levels of the stack except the last level are occupied. These functions (f1, f2, f3) are connected to AND devices 76, 78, respectively.
It is fed back and coupled to the input side of 80. The access request is coupled to second inputs of AND devices 74, 76, 78, 80. Thus, when a request is received and it is determined which is the lowest unoccupied level in the stack, the appropriate level busy flip-flop is set. for example,
If level "1" is the lowest unoccupied level in the stack, f1 goes high causing AND device 76 to send the request to the set input of flip-flop 46. If level "2" is the lowest unoccupied level, f2 causes AND device 78 to send a request to the set input of level busy flip-flop 48. Similarly, if level "3"
If is the lowest terminal occupancy level, f3 gates the request signal to the set input of flip-flop 50.

AND論理装置74は、第1の入力を要求信号
に接続され、又第2の入力をスタツクの第1のレ
ベルと関連するレベル使用中フリツプフロツプで
あるフリツプフロツプ44の出力に接続され
る。従つて、もしフリツプフロツプ44がセツト
されずスタツクにおけるレベル「0」が占有され
ていないことを表示するならば、要求信号は
ANDゲート74をゲートされてフリツプフロツ
プ44をセツトする。
AND logic device 74 has a first input connected to the request signal and a second input connected to the output of flip-flop 44, which is a level busy flip-flop associated with the first level of the stack. Therefore, if flip-flop 44 is not set to indicate that a level "0" in the stack is not occupied, the request signal is
AND gate 74 is gated to set flip-flop 44.

AND論理装置58は入力をレベル使用中フリ
ツプフロツプ44,46,48,50の各々のQ
出力に結合されている。従つて、AND装置58
は、レベル使用中フリツプフロツプの全てがセツ
トされる時、即ちスタツクの全てのレベルが占有
される場合にのみ出力を生成する。この出力は要
求側装置に転送されてその要求が処理できないこ
とを通知する。これによつてオーバーフロー誤り
が防止される。
AND logic device 58 inputs the input level to the Q of each of flip-flops 44, 46, 48, and 50.
is coupled to the output. Therefore, AND device 58
produces an output only when all level-occupied flip-flops are set, ie, when all levels of the stack are occupied. This output is forwarded to the requesting device to notify it that the request cannot be processed. This prevents overflow errors.

適当なレベル使用中フリツプフロツプのセツテ
イングと同時に、指令、アドレスおよび(又は)
データはそのセツトされたレベル使用中フリツプ
フロツプに対応する、スタツクの最も低い未占有
のレベルに受入れられて記憶される。これは下記
の如くに行われる。
At the same time as setting the flip-flop in use at the appropriate level, the command, address and/or
Data is accepted and stored in the lowest unoccupied level of the stack corresponding to its set level busy flip-flop. This is done as follows.

AND装置60はその入力側にAND装置52と
56の出力即ちf1とf3を結合される。
AND device 60 has its inputs coupled with the outputs of AND devices 52 and 56, namely f1 and f3.

AND装置62はその入力側にAND装置54と
56の出力即ちf2とf3を結合される。このよう
に、AND装置60と62により生成された出力
の4通りの可能な組合せ(00,01,10,11)は、
2ビツト・デコーダであるアドレス・ゼネレータ
64において復号される。スタツクのレベル
「0」に対応するアドレスが復号された時、使用
可能信号は回線88上をAND装置66に伝送さ
れ、このAND装置は指令、アドレスおよび(又
は)データをレベル「0」にクロツクするためそ
の第2の入力側に与えられる実際の要求信号を可
能化する。同様に、レベル1,2,3と対応する
アドレスはそれぞれ回線86,84,82上でア
ドレス・レジスタ64により使用可能信号が生成
される結果生ずる。スタツクのあるレベルにおけ
る情報がその適当する宛先装置に送られた時リセ
ツト信号が宛先装置によつて生成されて回線91
を介して対応するレベル使用中フリツプフロツプ
に与えられてこれをリセツトする。図示の如く唯
1つの回線であるけれども、各々が他に影響を及
ぼすことなくリセツトできるように各宛先装置が
各レベルの使用中フリツプフロツプに対して個別
にアクセスを行うことが明らかであろう。
AND device 62 has its inputs coupled with the outputs of AND devices 54 and 56, namely f2 and f3. Thus, the four possible combinations (00, 01, 10, 11) of outputs produced by AND devices 60 and 62 are:
It is decoded at address generator 64, which is a 2-bit decoder. When the address corresponding to level "0" of the stack is decoded, an enable signal is transmitted on line 88 to AND device 66, which clocks the command, address and/or data to level "0". It enables the actual request signal to be applied to its second input in order to do so. Similarly, addresses corresponding to levels 1, 2, and 3 result from generation of enable signals by address register 64 on lines 86, 84, and 82, respectively. When information at a certain level of the stack is sent to its appropriate destination device, a reset signal is generated by the destination device on line 91.
via the corresponding level to the busy flip-flop to reset it. Although there is only one line as shown, it will be clear that each destination device has separate access to each level of busy flip-flops so that each can be reset without affecting the others.

AND装置52,54,56,58の出力を監
視することによつて、追加のレベルがスタツクに
付加されるべきかあるいは現行レベルを削除すべ
きかを決定するためのスタツクの使用頻度即ちス
ループツトの表示が得られる。更に、もしスタツ
クの内1つのレベルが故障している場合、このレ
ベルをバイパスすることは比較的簡単な事柄であ
ることは判るであろう。これは、関連するレベル
の使用中フリツプフロツプをセツト状態に強制す
るだけで行うことができる。
By monitoring the outputs of the AND devices 52, 54, 56, 58, an indication of the frequency of use or throughput of the stack to determine whether additional levels should be added to the stack or the current level should be deleted. is obtained. Furthermore, if one level of the stack is failing, bypassing this level will prove to be a relatively simple matter. This can be done by simply forcing the busy flip-flops of the relevant level into the set state.

本考案については特に望ましい実施態様に関し
て説示したが、本考案の主旨および範囲から逸脱
することなしに形態および詳細における変更が可
能であることは理解されよう。
Although the invention has been described with reference to particularly preferred embodiments, it will be understood that changes may be made in form and detail without departing from the spirit and scope of the invention.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は従来技術によるメモリー・コントロー
ラを用いるデータ処理システムのブロツク図、第
2図は本考案によるメモリー・コントローラのス
タツク装置のブロツク図、および第3図は本考案
によるメモリー・コントローラ用のスタツク装置
の更に詳細な論理図である。 2……データ・プロセス、4,6……記憶装
置、8……メモリー・コントローラ、10……
I/Oコントローラ、12,14,16……I/
O装置、18……マルチブレクサ、20,22,
24,26……フリツプフロツプ、28……レベ
ル使用中デコダ、30……スループツト・インジ
ケータ、32……スタツク・アドレス・ゼネレー
タ、34,36,38,40,52,54,5
6,58,60,62,66,68,70,7
2,74,76,78,80……AND装置、4
2……スタツク、44,46,48,50……フ
リツプフロツプ、64……アドレス・ゼネレー
タ、82,84,86,88,91……回線。
FIG. 1 is a block diagram of a data processing system using a memory controller according to the prior art, FIG. 2 is a block diagram of a stack device for a memory controller according to the present invention, and FIG. 3 is a block diagram of a stack device for a memory controller according to the present invention. Figure 3 is a more detailed logic diagram of the device; 2...Data process, 4, 6...Storage device, 8...Memory controller, 10...
I/O controller, 12, 14, 16...I/
O device, 18...multiplexer, 20, 22,
24, 26...Flip-flop, 28...Level in use decoder, 30...Throughput indicator, 32...Stack address generator, 34, 36, 38, 40, 52, 54, 5
6, 58, 60, 62, 66, 68, 70, 7
2, 74, 76, 78, 80...AND device, 4
2...Stack, 44, 46, 48, 50...Flip-flop, 64...Address generator, 82, 84, 86, 88, 91...Line.

Claims (1)

【実用新案登録請求の範囲】 (1) メモリー・コントローラが少くとも1個の記
憶装置と少くとも1個の要求側装置との間の情
報の転送を調整し、前記要求側装置が情報の供
給と同時に前記記憶装置への情報の転送の要求
をするタイプのデータ処理システムにおいて、 前記の少くとも1個の記憶装置が使用不可能
である時、前記情報を一時的に記憶するための
スタツク装置であつて、 個々の前記要求に夫々関連する情報を夫々記
憶することが可能な複数個の別個の記憶レベル
と、 前記各記憶レベルと関連しており、該記憶レ
ベルが占有されている時それを表示する表示装
置と、 前記表示装置の状態に応答して前記情報を最
も低い未占有の記憶レベルにロードするための
装置とから成るスタツク装置。 (2) 前記ロードするための装置が、 最も低い未占有の記憶レベルを決定するため
前記表示装置に結合された復号装置と、 最も低い未占有の記憶レベルと対応するアド
レスを生成するため前記復号装置に結合された
生成装置と、 前記情報を最も低い未占有の記憶レベルにロ
ードするため前記生成装置に結合された使用可
能化装置と、 前記の最も低い未占有の記憶レベルと関連す
る前記表示装置を変更してその占有状態を反映
させるため前記復号装置に結合された装置とか
ら成ることを特徴とする実用新案登録請求の範
囲第1項記載のスタツク装置。 (3) 前記表示装置が、情報がその関連する記憶レ
ベルにロードされる時セツトされ、又その関連
する記憶レベルにおける情報が前記の少くとも
1個の記憶装置に送られる時リセツトされる前
記記憶レベルの各々と関連する記憶レベル使用
中フリツプフロツプから成ることを特徴とする
実用新案登録請求の範囲第2項記載のスタツク
装置。 (4) 前記復号装置が前記記憶レベル使用中フリツ
プフロツプの出力側に結合された入力を有する
論理装置を有し、該論理装置は最も低い未占有
の記憶レベルを表示する第1の出力を生成し、
前記記憶レベルの総てが占有されている時第2
の出力を生成することを特徴とする実用新案登
録請求の範囲第3項記載のスタツク装置。 (5) 前記スタツクが第1と第2と第3と第4の記
憶レベルからなり、前記表示装置が第1と第2
と第3と第4の記憶レベル使用中フリツプフロ
ツプからなり、前記論理装置が、 前記第2の記憶レベルが最も低い未占有の記
憶レベルであることを表示する第1の装置と、 前記第3の記憶レベルが最も低い未占有の記
憶レベルであることを表示する第2の装置と、 前記第4の記憶レベルが最も低い未占有の記
憶レベルであることを表示する第3の装置と、 前記第1と第2と第3と第4の記憶レベルが
占有されていることを表示する第4の装置を有
することを特徴とする実用新案登録請求の範囲
第4項記載のスタツク装置。 (6) 前記第1、第2、第3、および第4の装置が
AND装置であることを特徴とする実用新案登
録請求の範囲第5項記載のスタツク装置。 (7) 前記の変更装置が適当な記憶レベル使用中フ
リツプフロツプをセツトするため前記第1出力
に応答する論理装置を有することを特徴とする
実用新案登録請求の範囲第4項記載のスタツク
装置。
[Claims for Utility Model Registration] (1) A memory controller coordinates the transfer of information between at least one storage device and at least one requesting device, and the requesting device provides information. In a data processing system of the type that requests the transfer of information to said storage device at the same time, a stack device for temporarily storing said information when said at least one storage device is unavailable. a plurality of separate storage levels each capable of storing information respectively associated with each of said requests; and associated with each said storage level, said storage level being configured to a display device for displaying information; and a device for loading said information into the lowest unoccupied storage level in response to the state of said display device. (2) said device for loading comprises: a decoding device coupled to said display device for determining a lowest unoccupied storage level; and a decoding device coupled to said display device for determining a lowest unoccupied storage level; a generating device coupled to the device; an enabling device coupled to the generating device for loading the information into the lowest unoccupied storage level; and the display associated with the lowest unoccupied storage level. and a device coupled to said decoding device for changing the device to reflect its occupancy status. (3) said display device is set when information is loaded into its associated storage level and reset when information in its associated storage level is sent to said at least one storage device; 3. A stacking device as claimed in claim 2, characterized in that it comprises a storage level-in-use flip-flop associated with each of the levels. (4) said decoding device having a logic device having an input coupled to an output of said storage level occupied flip-flop, said logic device producing a first output indicative of the lowest unoccupied storage level; ,
the second when all of the storage levels are occupied;
4. The stack device according to claim 3, wherein the stack device generates an output of . (5) the stack comprises first, second, third and fourth storage levels, and the display device comprises first and second storage levels;
and a third and fourth storage level occupied flip-flop, the logic device indicating that the second storage level is the lowest unoccupied storage level; a second device that displays that the storage level is the lowest unoccupied storage level; a third device that displays that the fourth storage level is the lowest unoccupied storage level; 5. A stack device according to claim 4, further comprising a fourth device for indicating that the first, second, third and fourth storage levels are occupied. (6) The first, second, third, and fourth devices are
The stack device according to claim 5, which is an AND device. 7. A stack device according to claim 4, wherein said changing device includes logic device responsive to said first output for setting a busy flip-flop to an appropriate storage level.
JP1984140787U 1978-03-27 1984-09-17 Command stack device for memory controller Granted JPS6065847U (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US890006 1978-03-27
US05/890,006 US4228500A (en) 1978-03-27 1978-03-27 Command stacking apparatus for use in a memory controller

Publications (2)

Publication Number Publication Date
JPS6065847U JPS6065847U (en) 1985-05-10
JPS6217876Y2 true JPS6217876Y2 (en) 1987-05-08

Family

ID=25396103

Family Applications (2)

Application Number Title Priority Date Filing Date
JP3616379A Pending JPS54133844A (en) 1978-03-27 1979-03-27 Instruction stack device for memory controller
JP1984140787U Granted JPS6065847U (en) 1978-03-27 1984-09-17 Command stack device for memory controller

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP3616379A Pending JPS54133844A (en) 1978-03-27 1979-03-27 Instruction stack device for memory controller

Country Status (6)

Country Link
US (1) US4228500A (en)
JP (2) JPS54133844A (en)
AU (1) AU529936B2 (en)
CA (1) CA1132716A (en)
DE (1) DE2912073A1 (en)
FR (1) FR2421439B1 (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5616248A (en) * 1979-07-17 1981-02-17 Matsushita Electric Ind Co Ltd Processing system for interruption
US4366538A (en) * 1980-10-31 1982-12-28 Honeywell Information Systems Inc. Memory controller with queue control apparatus
US4366539A (en) * 1980-10-31 1982-12-28 Honeywell Information Systems Inc. Memory controller with burst mode capability
US4410943A (en) * 1981-03-23 1983-10-18 Honeywell Information Systems Inc. Memory delay start apparatus for a queued memory controller
US4433391A (en) * 1981-08-17 1984-02-21 Burroughs Corporation Buffered handshake bus with transmission and response counters for avoiding receiver overflow
US4608633A (en) * 1983-04-01 1986-08-26 Honeywell Information Systems Inc. Method for decreasing execution time of numeric instructions
US4837785A (en) * 1983-06-14 1989-06-06 Aptec Computer Systems, Inc. Data transfer system and method of operation thereof
US4757440A (en) * 1984-04-02 1988-07-12 Unisys Corporation Pipelined data stack with access through-checking
US4722052A (en) * 1984-04-02 1988-01-26 Sperry Corporation Multiple unit adapter
JPS61650U (en) * 1985-05-02 1986-01-06 三菱電機株式会社 Information processing device with multiple virtual memory method
US4821177A (en) * 1986-09-02 1989-04-11 Honeywell Bull Inc. Apparatus for controlling system accesses having multiple command level conditional rotational multiple port servicing priority hierarchy
US4942553A (en) * 1988-05-12 1990-07-17 Zilog, Inc. System for providing notification of impending FIFO overruns and underruns
US5418971A (en) * 1992-04-20 1995-05-23 International Business Machines Corporation System and method for ordering commands in an automatic volume placement library
US6065093A (en) * 1998-05-15 2000-05-16 International Business Machines Corporation High bandwidth narrow I/O memory device with command stacking
CN100416494C (en) * 2003-04-15 2008-09-03 威盛电子股份有限公司 Method for reading out stored data in system storage by display controller
US8074019B2 (en) * 2007-11-13 2011-12-06 Network Appliance, Inc. Preventing data loss in a storage system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS522343A (en) * 1975-06-23 1977-01-10 Ibm Mechanism for determining priority order of memory hierarchy
JPS5221736A (en) * 1975-08-08 1977-02-18 Western Electric Co Multiprocessor processor and device for poling memory request

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1483564A (en) * 1965-06-18 1967-09-06
US3413613A (en) * 1966-06-17 1968-11-26 Gen Electric Reconfigurable data processing system
US3449723A (en) * 1966-09-12 1969-06-10 Ibm Control system for interleave memory
BE755666A (en) * 1969-09-18 1971-02-15 Burroughs Corp BUFFER MEMORY FOR COMPUTER INPUT
US3623006A (en) * 1970-06-29 1971-11-23 Burroughs Corp Queueing device for the selection of requests for access to a storage medium
US3825902A (en) * 1973-04-30 1974-07-23 Ibm Interlevel communication in multilevel priority interrupt system
JPS5247638A (en) * 1975-10-15 1977-04-15 Toshiba Corp Information processing device
US4023143A (en) * 1975-10-28 1977-05-10 Cincinnati Milacron Inc. Fixed priority interrupt control circuit
JPS52130246A (en) * 1976-04-24 1977-11-01 Fujitsu Ltd Memory access control system
US4151598A (en) * 1978-03-27 1979-04-24 Honeywell Information Systems Inc. Priority assignment apparatus for use in a memory controller

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS522343A (en) * 1975-06-23 1977-01-10 Ibm Mechanism for determining priority order of memory hierarchy
JPS5221736A (en) * 1975-08-08 1977-02-18 Western Electric Co Multiprocessor processor and device for poling memory request

Also Published As

Publication number Publication date
US4228500A (en) 1980-10-14
DE2912073A1 (en) 1979-10-31
FR2421439A1 (en) 1979-10-26
CA1132716A (en) 1982-09-28
FR2421439B1 (en) 1986-11-07
AU529936B2 (en) 1983-06-23
JPS54133844A (en) 1979-10-17
JPS6065847U (en) 1985-05-10
AU4525879A (en) 1979-10-04
DE2912073C2 (en) 1989-05-03

Similar Documents

Publication Publication Date Title
JPS6217876Y2 (en)
US4354232A (en) Cache memory command buffer circuit
US4130865A (en) Multiprocessor computer apparatus employing distributed communications paths and a passive task register
EP0090026A1 (en) Cache memory using a lowest priority replacement circuit.
US5392442A (en) Data-driven processor having an output unit for providing only operand data in a predetermined order
US4151598A (en) Priority assignment apparatus for use in a memory controller
US5146572A (en) Multiple data format interface
JPH0358150A (en) Memory controller
US5343557A (en) Workstation controller with full screen write mode and partial screen write mode
JPS5832427B2 (en) multiplex information processing system
JPS616759A (en) Multiprocessor system with common memory
US7240144B2 (en) Arbitration of data transfer requests
US6658525B1 (en) Concurrent access of an unsegmented buffer by writers and readers of the buffer
GB2037466A (en) Computer with cache memory
JPS6148745B2 (en)
JPS6156546B2 (en)
US7216194B2 (en) Methods and systems for improving delayed read handling
US6742073B1 (en) Bus controller technique to control N buses
JP3183250B2 (en) Queue management system
JP2735400B2 (en) Asynchronous I / O control method
JP2505021B2 (en) Main memory controller
KR0171771B1 (en) Address bus lock control apparatus of computer system
JPH05225406A (en) Ic card extension device
JPH10171771A (en) Associative storage device
JPH01106138A (en) Associative memory