JPH01500065A - Apparatus and method for microprogram information processing system with multiple control stores - Google Patents

Apparatus and method for microprogram information processing system with multiple control stores

Info

Publication number
JPH01500065A
JPH01500065A JP62501061A JP50106187A JPH01500065A JP H01500065 A JPH01500065 A JP H01500065A JP 62501061 A JP62501061 A JP 62501061A JP 50106187 A JP50106187 A JP 50106187A JP H01500065 A JPH01500065 A JP H01500065A
Authority
JP
Japan
Prior art keywords
micro
command
segment
microcommand
processing unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP62501061A
Other languages
Japanese (ja)
Inventor
ストワート,ロバート イー.
フ−パ−,ドナルド エフ.
Original Assignee
ディジタル エクイプメント コ−ポレ−ション
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 ディジタル エクイプメント コ−ポレ−ション filed Critical ディジタル エクイプメント コ−ポレ−ション
Publication of JPH01500065A publication Critical patent/JPH01500065A/en
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • 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

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。 (57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】 複数制御ストアを有するミクロプログラム情報処理システムの装置と方法 発明の背景 1、発明の分野 本発明は一般に情報処理システムに関し、特にミクロプログラミング技術を使用 する様になされている中央処理サブシステムに関する。同一ミクロインストラク ション(slcrolnstruction;以下ミクロ指令と称す)によって 別の時間にアクセスされる複数個の制御ストアを設備する事によって、中央処理 サブシステムの完成の容易化が成し遂げ得る。 2、関連技術の説明 第1図を参照すると、典型的な情報処理システムが図示されている。本情報処理 システムは少なくとも一つの中央処理ユニット又はサブシステム10(又は11 )と、少なくとも一つの入/出カニニット13(又は14)と、主メモリユニッ トあるいはサブシステム15と、複数個のユニット又はサブシステムを結合して いるシステムバス19とを含んでいる。中央処理ユニットは、ソフトウェア又は ハードウェアに記憶されているプログラム内のインストラクション(1,n5t ruction)のシーケンス(sequence ;以下順序と称す)に従っ て論理信号群を操作する。典型的には、論理信号群とプログラム自体は少なくと もプログラムの実行中はメモリユニット内に記憶される。入/出カニニットは情 報処理システムと端末ユニット、大量記憶ユニット、通信ユニット、及びその他 のユニットで情報処理システムと結合する事を要求しているものとの間のインタ フェースを成している。コンソールユニットは情報処理システムの起動、試験及 び診断処理の制御の為中央処理ユニットに接続可能であり、システムが動作中の 場合端末ユニットとして使用されるものである。システムバスは情報処理システ ム、サブシステム間の接続をなすものであるが、各種の処理要求に適合する為に 情報処理システムの形状の変更のための適当な技術を提供する。本発明は中央処 理ユニットによるインストラクション(instruction ;以下指令と 称す)の実行に関する。 例えば第1図に示す様な情報処理システムにおいて、情報信号群の実際の操作は 通常プログラムと呼ばれる関係指令の群の制御の下に行われる。これらの指令は 順番に行われる。次に第2a図を見ると、相関連する技術による指令の列の実行 が図示されている。最初の時間T。 の間に、指令#1が中央処理ユニットサブシステムによって実行される。第1指 令が実行された後、次の指令#2が順に第2時間Toの間に中央処理ユニットサ ブシステムで実行される。指令#2の完了によって情報処理ユニットは第3時間 Toの間に指令#3の実行がされる。 指令の命令通りの実行を確保する為に、情報処理ユニットは任意指令の実行の為 の期間として所定の時間を要求する。指令の為の実行時間が別々の長さを持ち得 るならば、中央処理ユニット内の論理部品群間で、及び情報処理システムの中央 処理ユニットとその他のサブシステムとの間で情報信号群の交換を調整するのに 中央処理ユニット内に複雑な装置を含ませる必要がある。即ち、3指令を実行す る時間は基本時間の3倍である。基本期間は指令セット中の最長指令の実行を可 能とするのに十分な時間でなければならない。中央処理ユニットによってより迅 速な指令の実行を行わせる為に、通常マクロインストラクシジン(macroi nstruction;以下マクロ指令と称す)と称される指令の実行を、少な くとも1ミクロ指令の実行に分割する技術が作られている。各ミクロ指令は、一 方、ミクロ指令セグメントに分割され、各セグメントは中央処理ユニットによっ て順番に実行される。ミクロ指令セグメントを実行している装置の適当な組織化 によって、ミクロ指令の実行をオーバーラツプした要領で行う事が出来る。この 技術は指令セットの実行をパイプライン化すると称されている。各セグメント化 ミクロ指令の実行は非セグメント化ミクロ指令の実行に比較して必然的ではない にしても長い時間を取る可能性があるものの、ミクロ指令のミクロ指令セグメン トに分割するのに必要な付加装置のため、指令の流れは非セグメント化ミクロ指 令で可能なよりも迅速に実行される可能性がある。第2b図においてミクロ指令 の複数個へのセグメントの分割が図示されている。各セグメントは中央処理ユニ ット内の別々の独立して動作するグループに関係するものと理解されたい。情報 処理システム設計の分野で公知の原理によるレジスタとゲートとは、特定のセグ メントを実行する部品グループの動作を分離している。各セグメント用のサブ区 間toは各装置グループ内で全可能セグメントの実行を可能とするのに十分な時 間でなければならない。 次に第2c図を参照すると、パイプライン化技術の使用によって可能なミクロ指 令の順序の実行のレートの増加の結果が図示されている。指令#1がここでは1 0のn倍であるTo。の新(恐らく長い)時間で完成されるが、ここに10は各 ミクロ指令セグメントの実行の為に要求されるサブ時間間隔であり、nは各ミク ロ指令の実行の為に必要なミクロ指令セグメントの数である。次の順番のミクロ 指令、ミクロ指令#2はミクロ指令#1の開始後の時間t。で開始される。次の 第3ミクロ指令、ミクロ指令#3は、その後の時間t。で始まる。各ミクロ指令 は実行の為に時間を増加させる事が出来る。しかし第1ミクロ指令の完成のため の最初の時間間隔が経過した後は、ミクロ指令は各時間間隔t。で完成されてし まう。即ち、ミクロ指令の順序としては、順序の実行は、個々のミクロ指令の実 行が時間の増加を取り得るとしても、加速の可能性がある。 次に第3a図を参照すると、ミクロ指令順序のパイプライン化実行を行う中央処 理ユニット10の組織が図示されている。中央処理ユニットは指令サブユニット 31と付属制御ユニット32.実行サブユニット33とカッシ(cache)  (又はローカル)メモリサブユニット34とに分解される。カッシメモリサブユ ニット34はシステムバス19に結合されて、制御ユニット32の制御の下にシ ステムバスによって情報処理システムの他のサブシステムと論理信号グループを 交換する。実行サブユニット33は、やはり制御ユニット32の制御によって実 行中の指令によって定義された情報信号群の操作を行う。 指令サブユニット31は実行すべきマクロ指令を受取り、中央処理ユニット10 の操作の制御に使用出来る様に指令を変形する。マクロ指令に対応する信号は制 御ユニット32のランダムアクセスメモリ(以下RAMと略称)又はロジックに 加えられ、マクロ指令信号でアドレスされる制御ユニット32内のRA Mの一 部にはアドレスを含んでいる。このアドレスは次に制御ユニット32内の制御ス トアに加えられ、この制御ストアはアドレス可能メモリである。制御ストアから の出力信号はミクロ指令であり、中央処理システムの論理素子に加えられる論理 信号である。ミクロ指令で供給された信号は中央処理ユニットの動作を制御する 。ミクロ指令からの信号はミクロオーダーと称するグループに配列され、各ミク ロオーダーは中央処理ユニットの一部の制御、例えばミクロ指令の実行に使用し 得る。 第3a図に示し本発明の説明の目的である単純化分割した情報処理ユニットを参 照すると、その指令の一部を完成する為の中央処理ユニットの各ユニットの為の 時間の長さは等しく取られている。即ち、情報処理ユニットで実行する指令とし ては、指令のセットの実行を第2c図に示している。ここでの「サイクル」なる 用語の使用は、中央処理ユニットの完全1クロツクサイクルを意味すると限定す べきではないと了解されたい。第3b図、第4a図、第4b図の時間間隔は当該 技術分野において通常の技術を有する者が十分に理解される様にロジック設計で の考慮に応じて、中央処理ユニットの完全サイクル又はサイクルの一部のどちら かを示しうる。第2C図及び第3b図の両者を参照すると、最初の指令は第1時 間間隔10の間に指令ユニットによって処理される。第2の時間間隔10の間に 、情報処理ユニットの実行サブユニット33は第1指令を処理され得るが、その 間に中央処理システムの指令サブユニット31は第2指令を処理し得る。第3期 間10の間に、カッシメモリユニットは指令#1を処理し得、実行ユニットは指 令#2を処理し得、又、指令ユニットは指令#3を処理し得ている。 カッシメモリサブユニット、実行サブユニット、及び指令サブユニットでの同時 処理を伴うこの3レベルパイプラインは、指令が指令サブユニット31に到着す る限り、あるいはアドレスがミクロブランチ及びシーケンサユニットで作られる 限り継続される(第4b図に示す)。 情報処理ユニットを図示の機能ユニットに分割する事は、一般的には、実行可能 なパイプライン形状を作るのに十分ではない事は明瞭である。上述した機能的サ ブユニット31.32.33、及び34は、各指令の実行を完成する為に必要と する動作を完成する為に複数個のサブユニットを必要とし得る。与えられたミク ロ指令を順次の要領で実行する複数個のサブユニットに中央処理ユニット10を 分割するのに伴って、信号のグループは、時としてミクロオーダとも呼ばれて、 個々のユニットを制御するが、これはミクロオーダを中央処理ユニット10の中 のサブユニットで処理される信号グループの流れと連動させるために系統的に遅 延しなければならない。 第3b図を参照すると、ミクロオーダの出現の遅延に使用される制御ユニット3 2′が示されている。第3b図に見られる様に、ミクロ指令は例えば指令バッフ ァの様なユニット(図示せず)から指令サブユニット(第3a図参照)に引出さ れてデコーダーRAM50に加えられる。時間T3の間に、RAM50の出力は 、マクロ指令を実施するミクロ指令のセットの最初のアドレスであるが、ラッチ 70及びバッファ80の様な一時的記憶素子を介して制御ストア60に加えられ る。(以下、「ラッチ」又は「バッファ」なる用語の使用は限定的なものではな く、任意の一時的記憶素子、例えばフリップ−フロップ回路又はトリガ回路で置 換可能である。)制御ストア60は関連する一連のミクロオーダを発生するが、 これは次にラッチ62に加えられる。 ラッチ62は第2C図に図示の3レベルパイプラインに適合させる為に3部分に 分割されている。即ち期間T4の間にラッチ62はミクロオーダとしてその中に 記憶された論理信号群の3セツトの中の一つを中央処理ユニットのサブユニット に出力し、残り2セツトをラッチ64に加える。期間T5の間に、ラッチ64は ミクロオーダの残りの一方を中央処理ユニットのサブユニットに出力し、最後の 残りセットをラッチ68に記憶する。次いで、期間Teに、ラッチ68はミクロ オーダの残りセットを出力する。 見られる様に、中央処理ユニットの複雑さが増えると、制御ユニットの複雑さも 増加する。ミクロ指令は次第に大きくなり手に負えなくなるのに伴ってユニット 32内のラッチの数と寸法も増加する。従って、更に管理容品なミクロ指令制御 を提供し、中央処理ユニット10のサブユニットにミクロオーダを適時に与える 事を含む問題を解決する事の必要性が感じられる。 発明の要約 従って改良情報処理システムの提供が本発明の目的である。 改良ミクロプログラム情報処理システムを提供する事が本発明の別の目的である 。 複数個の中央ストアを有する中央処理ユニットを提供する事が本発明の更に別の 目的である。 等しいミクロアドレスを複数個の制御ストアの特定のものに印加し得る複数個の 制御ストアを提供する事が本発明の更に特殊な目的である。 別のシステムクロックサイクルの間にアドレスを与え得る複数個の制御ストアを 提供する事が本発明の更に別の特別な目的である。 上述の、及びその他の目的は、本発明によれば、ミクロプログラム制御の下に動 作する中央処理ユニットによって完成される。制御ユニットは情報信号群を処理 している装置を制御する信号を提供する。制御ユニットはアドレス信号群をミク ロ指令セグメントに変換する複数個の制御ストアユニットを含んでいる。複数個 の制御ストアを使用する事によって、ミクロ指令セグメントの発生が別のクロッ クサイクル中に行い得、個々のミクロ指令の実行のアクチビテイとタイミングを 合せる事が出来る。 複数個の制御ストアは複数個のミクロ指令セグメントを成し、各ミクロ指令は単 一制御ストアからのミクロ指令よりも狭い範囲を持っている。違うタイミングで (所定のアドレスで)ミクロ指令を発生する事によって、セグメントの実行を伴 うミクロ指令の調整に使用する素子の数を減少する事が出来る。 これらの、及びその他の本発明の長所は図面を参照しての以下の説明の読了によ って理解されよう。 図面の簡単な説明 第1図は本発明を使用する事の可能な情報処理システムのブロック図である。 第2a図1第2b図及び第2C図は指令をセグメントに分割する事の図式表現で ある。 第3a図はセグメント化指令の実行を行う事の出来る付属制御ユニットを有する 中央処理ユニットのブロック図である。 第3b図は第3a図の中央処理ユニット内で使用する制御ユニットのブロック図 である。 第4a図は本発明による複数個の制御ユニットを有する情報処理システムのブロ ック図である。 第4b図はタイミングチャートと重ね合せた第4a図に示す制御ユニットのブロ ック図である。 好ましい実施例の説明 4、 DETAILED DESCRIPTION OF THE INVENTION Apparatus and Method for a Microprogrammed Information Processing System with Multiple Control Stores Background of the Invention 1. Field of the Invention The present invention relates generally to information processing systems and is particularly adapted to use microprogramming techniques. Concerning central processing subsystems. Same micro-instruction Easier implementation of a central processing subsystem can be accomplished by providing multiple control stores that are accessed at different times by slcronstructions (hereinafter referred to as microcommands). 2. Description of Related Art Referring to FIG. 1, a typical information processing system is illustrated. The information processing system includes at least one central processing unit or subsystem 10 (or 11), at least one input/output unit 13 (or 14), and a main memory unit. 15, and a system bus 19 coupling the plurality of units or subsystems. The central processing unit follows a sequence of instructions (1,n5 instructions) in a program stored in software or hardware. to manipulate logical signals. Typically, the logic signals and the program itself are at least are also stored in the memory unit while the program is running. Input/output crab knit is emotional interfaces between the information processing system and terminal units, mass storage units, communication units, and other units that require interaction with the information processing system. It forms a face. The console unit is used for starting, testing, and It can be connected to a central processing unit for control of diagnostic and diagnostic processing, and is used as a terminal unit when the system is in operation. The system bus is an information processing system. It provides the appropriate technology for changing the shape of an information processing system to meet various processing requirements. The present invention This relates to the execution of instructions (hereinafter referred to as commands) by the management unit. For example, in an information processing system as shown in FIG. 1, the actual manipulation of a group of information signals is usually performed under the control of a group of related commands called a program. These commands are executed in sequence. Turning now to Figure 2a, the execution of a sequence of commands by related techniques is illustrated. First time T. During this time, instruction #1 is executed by the central processing unit subsystem. 1st finger After the command is executed, the next command #2 is sequentially executed by the central processing unit during the second time To. system. Upon completion of command #2, the information processing unit executes command #3 during the third time To. In order to ensure that the command is executed as instructed, the information processing unit requests a predetermined period of time for the execution of the arbitrary command. Execution times for commands can have different lengths complex equipment within the central processing unit to coordinate the exchange of information signals between the logical components within the central processing unit and between the central processing unit and other subsystems of the information processing system. must be included. In other words, execute 3 commands. The time taken is three times the basic time. The basic period allows execution of the longest command in the command set. The time must be sufficient to enable the performance of the test. Central processing unit allows for faster In order to execute commands quickly, the execution of commands usually called macro instructions (hereinafter referred to as macro commands) is reduced. Techniques have been created to divide the execution into at least one microcommand. Each micro-directive On the other hand, it is divided into micro-command segments, and each segment is processed by a central processing unit. are executed in order. By appropriate organization of the equipment executing the microcommand segments, the execution of the microcommands can be carried out in an overlapping manner. This technique is referred to as pipelining the execution of a set of instructions. Although the execution of each segmented micro-directive can take longer, if not necessarily longer, than the execution of a non-segmented micro-directive, the micro-directive segment of a micro-directive Because of the additional equipment required to segment the instructions into non-segmented micro instructions, It may be implemented more quickly than is possible under the Ordinance. In FIG. 2b, the segmentation of the microcommand into multiple segments is illustrated. Each segment is a central processing unit. should be understood as relating to separate and independently operating groups within a set. Registers and gates, according to principles well known in the field of information processing system design, are The operations of the component groups that execute the ment are separated. Sub-districts for each segment The interval to is sufficient time to allow execution of all possible segments within each device group. Must be between. Referring now to Figure 2c, the microindications possible through the use of pipelining techniques. The result of increasing the rate of execution of the order of instructions is illustrated. To where command #1 is n times 10 here. is completed in a new (possibly long) time of This is the number of micro-command segments required for the execution of the micro-command. The next sequential micro-command, micro-command #2, is at time t after the start of micro-command #1. will be started. The next third micro-command, micro-command #3, occurs at a subsequent time t. It starts with Each micro-command can increase the amount of time it takes to execute. However, after the first time interval for completion of the first micro-command has elapsed, the micro-command continues each time interval t. It was completed in Mau. In other words, as for the order of micro-commands, the execution of the order depends on the execution of each micro-directive. Even though the line may take an increase in time, there is a possibility of acceleration. Referring now to Figure 3a, the central processing unit that performs the pipelined execution of the microcommand order The organization of the management unit 10 is illustrated. The central processing unit includes a command subunit 31 and an attached control unit 32. It is broken down into an execution subunit 33 and a cache (or local) memory subunit 34. cassi memory subu The unit 34 is coupled to the system bus 19 and operates under the control of the control unit 32. A system bus exchanges groups of logical signals with other subsystems of an information handling system. The execution subunit 33 also executes under the control of the control unit 32. Manipulates information signals defined by the current command. Command subunit 31 receives macro commands to be executed and transforms the commands for use in controlling the operation of central processing unit 10. Signals corresponding to macro commands are controlled. A portion of the RAM within the control unit 32 that is added to the random access memory (RAM) or logic of the control unit 32 and that is addressed by the macro command signal contains an address. This address is then used as the control address in the control unit 32. This control store is addressable memory. The output signals from the control store are microinstructions, which are logic signals applied to the logic elements of the central processing system. The signals provided by the microcommands control the operation of the central processing unit. Signals from micro commands are arranged into groups called micro orders, and each Loorders can be used to control parts of a central processing unit, such as executing micro-commands. Refer to the simplified divided information processing unit shown in FIG. 3a and which is the purpose of explanation of the present invention. In comparison, each unit of the central processing unit takes an equal amount of time to complete its part of the command. In other words, as a command to be executed by the information processing unit. The execution of the set of instructions is illustrated in FIG. 2c. It should be understood that the use of the term "cycle" herein should not be limited to meaning one complete clock cycle of the central processing unit. The time intervals in Figures 3b, 4a, and 4b may be a complete cycle or cycle of the central processing unit, depending on logic design considerations, as will be well understood by those of ordinary skill in the art. It can indicate either part of. Referring to both Figure 2C and Figure 3b, the first command is Processed by the command unit during interval 10. During the second time interval 10, the execution subunit 33 of the information processing unit may process the first command, In the meantime, the command subunit 31 of the central processing system may process the second command. 3rd period During interval 10, the Cassi memory unit may process instruction #1 and the execution unit may process instruction #1. Command #2 can be processed and the command unit can process command #3. This three-level pipeline, with simultaneous processing in the cache memory subunit, execution subunit, and command subunit, or as long as the address is created in the microbranch and sequencer unit (as shown in Figure 4b). It is clear that dividing the information processing unit into the functional units shown is generally not sufficient to create a workable pipeline configuration. The functional support mentioned above Subunits 31, 32, 33, and 34 may require multiple subunits to complete the operations required to complete the execution of each command. given miku With the division of central processing unit 10 into a plurality of subunits that execute commands in a sequential manner, groups of signals, sometimes referred to as microorders, control individual units. is systematically slowed down to coordinate micro-orders with the flow of signal groups processed by subunits within central processing unit 10. must be postponed. Referring to FIG. 3b, there is shown a control unit 32' used for delaying the appearance of micro-orders. As seen in Figure 3b, micro-commands are stored in e.g. (not shown) to the command subunit (see Figure 3a). and added to the decoder RAM 50. During time T3, the output of RAM 50, which is the address of the first of the set of microinstructions that implement the macroinstruction, is applied to control store 60 via temporary storage elements such as latch 70 and buffer 80. Ru. (Hereinafter, the use of the terms "latch" and "buffer" is not intended to be limiting. may be placed in any temporary storage element, e.g. a flip-flop circuit or a trigger circuit. It is possible to exchange. ) Control store 60 generates a series of associated micro-orders, which are then applied to latch 62. Latch 62 is divided into three sections to accommodate the three-level pipeline shown in Figure 2C. That is, during period T4, latch 62 outputs one of the three sets of logic signals stored therein in micro-order to a subunit of the central processing unit and applies the remaining two sets to latch 64. During period T5, latch 64 outputs the remainder of the micro-order to a subunit of the central processing unit and stores the last remaining set in latch 68. Then, during period Te, latch 68 outputs the remaining set of micro orders. As can be seen, as the complexity of the central processing unit increases, so does the complexity of the control unit. As microcommands become increasingly large and unwieldy, the number and size of latches within unit 32 also increase. Therefore, there is a need to provide more manageable micro-command control and to solve problems involving timely provision of micro-orders to the subunits of central processing unit 10. SUMMARY OF THE INVENTION It is therefore an object of the present invention to provide an improved information handling system. It is another object of the present invention to provide an improved microprogram information processing system. It is yet another object of the invention to provide a central processing unit having multiple central stores. It is a more particular object of the invention to provide a plurality of control stores to which the same microaddress can be applied to a particular one of the plurality of control stores. It is yet another special object of the present invention to provide multiple control stores that can be addressed during separate system clock cycles. The above and other objects are achieved according to the invention by operating under microprogram control. is completed by a central processing unit. A control unit provides signals that control devices processing the information signals. The control unit mixes the address signals. The control store unit includes a plurality of control store units for converting the data into command segments. By using multiple control stores, the generation of microcommand segments can occur on different clocks. This can be done during a micro-command cycle, allowing the timing of the execution of individual micro-commands to be synchronized. The multiple control stores form multiple microcommand segments, each microcommand having a narrower scope than the microcommands from a single control store. Accompany segment execution by issuing microcommands at different times (at predetermined addresses). It is possible to reduce the number of elements used for adjusting microcommands. These and other advantages of the invention will be apparent from reading the following description with reference to the drawings. That's what I understand. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of an information processing system in which the present invention can be used. Figures 2a, 2b, and 2c are graphical representations of dividing commands into segments. Figure 3a is a block diagram of a central processing unit with an attached control unit capable of executing segmentation commands. Figure 3b is a block diagram of a control unit for use within the central processing unit of Figure 3a. FIG. 4a shows a block diagram of an information processing system having a plurality of control units according to the present invention. This is a diagram. Figure 4b is a block diagram of the control unit shown in Figure 4a superimposed on the timing chart. This is a diagram. Description of preferred embodiments 4.

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

第1図、第2図及び第3図は関連技術と関連して既に説明した。 次に第4a図 を見ると、本発明による複数個の制御ストアを有する制御ユニット32を有する 中央処理ユニットのブロック図を示す。第4b図は本発明の制御ユニット32の 更に詳細な図を示す。第4a図及び第4b図において、複数個の期間、特にT1 乃至T6が図示されている。これ等の期間はミクロ指令の実行に対する中央処理 ユニットの制御の流れに全体的に関係している、即ち、各期間はミクロ指令セグ メントの実行に全体的に係わっている。指令はカッシメモリサブユニット34で 検索されて指令バッファ401に到着する。所定の時間に、与えられた(マクロ )指令は指令バッファ401から引出されて、期間T2に、ラッチ410を介し てデコーダRAM402に加えられる。デコーダRAM402からの出力はマル チプレクサ/ラッチ回路403の第1端子セツトに加えられる。期間T3の間に 、マルチプレクサ/ラッチ回路403からの出力信号は第1制御ストア404に 加えられると同時にラッチ回路416に加えられるが、しかし、信号は期間T4 まではラッチ回路416には到着しない。制御ストア404の出力信号はミクロ ブランチと順序論理ユニット405とラッチ回路411に直接に加えられる。期 間T4の間に、ラッチ回路416からの出力信号は制御ストア402とラッチ回 路414とに加えられる。制御ストア402の出力信号はラッチ回路413に直 接に加えられる。期間T5内に、ラッチ回路414からの出力信号は第3制御ス トア409に加えられて、第3制御ストア409からの出力はラッチ回路419 に直接に加えられる。即ち、ラッチ411、ラッチ413及びラッチ419の出 力信号は、同一アドレスでかつ引き続いてのクロックサイクル、夫々期間T 、 T 及びT6に発生されたミクロ指令である事が判明しよう。 付属ラッチ回路426を有する実行論理ユニット425と、付属ラッチ回路42 1を有するレジスタファイル420とは、ミクロオーダを違った時間に受取り、 各種の制御ストアからミクロ指令セグメントを受取り得る主要中央処理装置の例 を示すものである。ラッチ回路410.403.411.413.414.41 6及び419はラッチ回路421と426と共に装置グルービング及び時間に関 しての隔離を強調するために存在している。 ミクロブランチと順序論理405は制御ストアからの早期の信号受信を要求する 装置の例として含まれているものである。ミクロブランチシーケンサは他の操作 と共にブランチ操作とサブルーチンを行う為に使用される。 ユニット405に加えられた制御ストア404からのミクロ指令のセグメントは この種のブランチ操作又はサブルーチンの一つの操作に当たって使用されよう。 制御ストア404から引出され、マルチプレクサ/ラッチ回路403に加えられ る信号は、回路403にミクロブランチと順序論理ユニット405からの信号を 選択させる。 回路403がミクロブランチと順序論理ユニット405からの信号を選択すると 直ちに、制御ユニット32は期間T3の間に開始される新ミクロ指令を開始する 様に方向変換される。 2、好ましい実施例の動作 実行論理ユニット425、このユニットは通常情報信号群に論理操作を加えるも のであるが、これは通常若干のユニットを含んでおり、複数モードで動作可能で ある。 各種の論理信号のセット(ミクロオーダ)が適当なモードで動作している各ユニ ットの制御の為に必要とされる。 サイクルで完了する。同様に、実行論理ユニットとこれに付属する装置の効果的 な動作は、操作すべき情報が実行論理ユニットの適当な位置に容易に得られる事 を要求する。最新の中央処理システム設計においては、実行論理ユニットは通常 複数個の操作を行うが、操作の希望の実施例に於いては、第1システムクロツク サイクル中に操作すべき情報信号群、次のシステムクロックサイクル中に情報信 号群に加える操作、及びさらに後のシステムクロックサイクルの間の結果の使用 及び伝送は比較的狭いバンドのクロックサイクルで起こる。しかし、これらの操 作は当業者周知の原理によって分離される。 即ち、複数個の制御ストアはミクロ指令順序生情報信号群の順序操作と同期させ 得る。制御ストアに加えられたアドレス信号は更に適切なミクロ指令セグメント 同期が達成され得るならば、各制御ストアの1クロツクサイクルを越えて遅延さ せる事も出来る。全ミクロ指令の幅に対する節約は出来ないものの、ミクロ指令 を少なくとも2個の小ミクロ指令に分離する事によって実行に当たっての便宜が 実現出来る事は明らかであろう。 特別な例示として、中央処理ユニットの原初の制御ストアが150ビレトフイー ルドと15ビツトのアドレスフィールドを持っていたとすると、約50ビツトフ イールドと、1サイクルのアドレスフィールドの遅延を有する3制御ストアの使 用は、第3b図のラッチ62で約100ラツチを不要とする。更にこれはラッチ 64で50ラツチを削除し、ラッチ414で只の15ラツチを追加させる。 ラッチ403.416及び414のカスケード接続は、アドレスの制御ストアへ の印加によって直ちに駆動されねばならぬ素子の数の減少を達成する事も又明ら かである。この減少は信号分配ファンアウトにおいて顕著である。即ち、中央処 理ユニットの複雑性が増加し、パイプライン中のレベルの数又はミクロ指令のサ イズの増加は、本発明の使用によって中央処理ユニットの制御ユニットの論理回 路配置の複雑性を相当に減少させる事が明らかとなろう。 FIG / FIG 2υ FIG、2c 補正書の翻訳文提出書(特許法第184条の8) FIGS. 1, 2, and 3 have already been described in connection with the related art. Next, Figure 4a , which includes a control unit 32 having a plurality of control stores according to the present invention. A block diagram of a central processing unit is shown. FIG. 4b shows the control unit 32 of the present invention. A more detailed diagram is shown. In Figures 4a and 4b, several time periods, in particular T1 thru T6 are illustrated. During these periods, central processing for the execution of micro-commands takes place. related to the control flow of the unit as a whole, i.e. each period is divided into microcommand segments. is overall involved in the execution of the project. The command is sent by Cassi memory subunit 34. It is searched and arrives at the command buffer 401. At a given time, a given (macro ) command is pulled from the command buffer 401 and passed through latch 410 during period T2. and is added to the decoder RAM 402. The output from decoder RAM 402 is is added to the first set of terminals of multiplexer/latch circuit 403. During period T3 , the output signal from the multiplexer/latch circuit 403 is sent to the first control store 404. However, the signal is applied to the latch circuit 416 at the same time as the signal is applied during the period T4. It does not reach the latch circuit 416 until then. The output signal of control store 404 is Directly applied to branch and sequential logic unit 405 and latch circuit 411. Period During interval T4, the output signal from latch circuit 416 is connected to control store 402 and the latch circuit. path 414. The output signal of control store 402 is directly connected to latch circuit 413. added to the connection. During period T5, the output signal from latch circuit 414 is In addition to the third control store 409, the output from the third control store 409 is applied to the latch circuit 419. added directly to. That is, the outputs of latch 411, latch 413, and latch 419 The input signal is transmitted at the same address and in successive clock cycles, each with a period T, It will turn out to be a microcommand issued to T and T6. Execution logic unit 425 with attached latch circuit 426 and attached latch circuit 42 1, the register file 420 with 1 receives micro orders at different times, Example of a main central processing unit that can receive microcommand segments from various control stores This shows that. Latch circuit 410.403.411.413.414.41 6 and 419, together with latch circuits 421 and 426, are connected to device grooving and time. It exists to emphasize the isolation of people. Microbranch and sequential logic 405 require early signal reception from control store This is included as an example of a device. Microbranch sequencer can perform other operations used to perform branch operations and subroutines. The segment of microcommand from control store 404 added to unit 405 is This type of branch operation or subroutine may be used in one operation. pulled from control store 404 and added to multiplexer/latch circuit 403. The signals from the microbranch and the sequential logic unit 405 are sent to the circuit 403. Let them choose. When circuit 403 selects the microbranch and the signal from sequential logic unit 405 Immediately, the control unit 32 starts a new micro-command, which starts during the period T3. The direction is changed as follows. 2. Operation of the preferred embodiment Execution logic unit 425, which typically performs logical operations on information signals. , which usually contains several units and can operate in multiple modes. be. Each unit has a set of various logic signals (micro-order) operating in an appropriate mode. required for control of the cut. Complete in cycles. Similarly, the effective This operation ensures that the information to be manipulated is easily available at the appropriate location in the execution logic unit. request. In modern central processing system designs, the execution logical unit is typically Although multiple operations are performed, in the desired embodiment of the operation, the first system clock A set of information signals to be manipulated during a cycle, information signals to be manipulated during the next system clock cycle. operations on the signal group and use of the results during further system clock cycles. and transmission occurs in a relatively narrow band of clock cycles. However, these operations The operations are separated according to principles well known to those skilled in the art. That is, the multiple control stores are synchronized with the sequential operation of the microcommand ordered raw information signals. obtain. The address signal applied to the control store is then added to the appropriate micro-command segment. If synchronization can be achieved, each control store may be delayed for more than one clock cycle. You can also do it. Although it is not possible to save on the width of all micro-directives, micro-directives By separating the command into at least two small micro-commands, it becomes easier to execute It is clear that this can be achieved. As a specific example, the original control store of the central processing unit is 150 billet fees. If you have an address field of 15 bits and an address field of about 50 bits, Yield and the use of a 3-control store with a one-cycle address field delay. This eliminates the need for approximately 100 latches in latches 62 of FIG. 3b. Furthermore, this is a latch At 64, 50 latches are deleted, and at latch 414, only 15 latches are added. Cascading latches 403, 416 and 414 to control store of addresses It is also clear that a reduction in the number of elements that must be driven immediately by the application of That's it. This reduction is noticeable in the signal distribution fanout. In other words, the central As the complexity of the management unit increases, the number of levels in the pipeline or the support for micro-commands increases. By using the present invention, the logic circuit of the control unit of the central processing unit can be increased. It will be clear that the complexity of the path layout is considerably reduced. FIG/ FIG 2υ FIG, 2c Submission of translation of written amendment (Article 184-8 of the Patent Law)

Claims (6)

【特許請求の範囲】[Claims] 1.マクロ指令に従って情報信号群の処理が可能な複数個の要素であって、中央 処理ユニットがミクロ指令セグメントに付属してこれに応動する論理要素群に分 割され、各セグメントが夫々の論理要素群に所定の時間順序で印加される複数個 の要素と、 前記ミクロ指令に附随し少なくとも一つの第1ミクロ指令セグメントに設けられ た第1アドレス信号群に応動する第1制御ストアユニットと、 前記第1アドレス信号群に関連する第2アドレス信号群を受信して少なくとも1 個の第2ミクロ指令セグメントを提供する第2制御ストアユニットであって前記 第2ミクロ指令セグメントは前記第1ミクロ指令セグメントとは別のクロックサ イクルに発生される第2制御ストアユニットと、 を有するミクロプログラム化中央処理ユニット。1. A plurality of elements capable of processing a group of information signals according to macro instructions, with a central The processing unit is divided into logical elements that are attached to and respond to the microcommand segment. each segment is applied to each logical element group in a predetermined time order. and the elements of attached to the micro-command and provided in at least one first micro-command segment; a first control store unit responsive to a first set of address signals; receiving at least one second group of address signals related to the first group of address signals; a second control store unit for providing second microcommand segments of said The second microcommand segment is a clock circuit separate from the first microcommand segment. a second control store unit that is generated every cycle; A micro-programmed central processing unit with. 2.更に前記第2アドレス信号群に関連するアドレス信号第3群に応動して少な くとも一つの第3ミクロ指令セグメントを発生する第3制御ストアを有し、前記 ミクロ指令セグメントが前記第1及び第2セグメントとは違うクロックサイクル に発生される、請求の範囲第1項に記載の中央処理ユニット。2. Further, in response to a third group of address signals related to the second group of address signals, a third control store generating at least one third microcommand segment; a clock cycle in which the microcommand segment is different from said first and second segments; A central processing unit according to claim 1, which is generated in a central processing unit. 3.前記第1、前記第2、及び前記第3群のアドレス信号はほぼ均等である、請 求の範囲第2項に記載の中央処理ユニット。3. The first, second, and third groups of address signals are substantially equal. The central processing unit according to claim 2. 4.第1システムクロックサイクル内において第1制御ストア内で少なくとも第 1ミクロ指令セグメントを発生し、 第2システムクロックサイクル内において第2制御ストアによって第2ミクロ指 令セグメントを発生する、各工程を有するミクロプログラム化情報処理システム の制御用ミクロ指令セグメントの発生方法。4. at least the first control store within the first system clock cycle. Generates 1 micro command segment, A second micro-instruction is performed by a second control store within a second system clock cycle. A micro-programmed information processing system having each process that generates an order segment. How to generate microcommand segments for control. 5.更に、第3システムクロックサイクル内において第3制御ストア内で少なく とも第3ミクロ指令セグメントを発生する工程を有する、請求の範囲第4項に記 載のミクロ指令セグメントの発生方法。5. Additionally, within the third system clock cycle, the The method according to claim 4 also includes the step of generating a third microcommand segment. How the micro command segments are generated. 6.ほぼ同一アドレス信号群を前記第1、前記第2、及び前記第3制御ストアに 加える工程を更に有する、請求の範囲第5項に記載のミクロ指令の発生方法。6. substantially identical address signals to the first, second, and third control stores; 6. The method of generating microcommands according to claim 5, further comprising the step of adding.
JP62501061A 1986-01-29 1987-01-29 Apparatus and method for microprogram information processing system with multiple control stores Pending JPH01500065A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US823,804 1986-01-29
US06/823,804 US4794527A (en) 1986-01-29 1986-01-29 Microprogrammed data processing system using latch circuits to access different control stores with the same instruction at different times

Publications (1)

Publication Number Publication Date
JPH01500065A true JPH01500065A (en) 1989-01-12

Family

ID=25239772

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62501061A Pending JPH01500065A (en) 1986-01-29 1987-01-29 Apparatus and method for microprogram information processing system with multiple control stores

Country Status (10)

Country Link
US (1) US4794527A (en)
EP (1) EP0290467A1 (en)
JP (1) JPH01500065A (en)
KR (1) KR910001054B1 (en)
CN (1) CN1008667B (en)
AU (1) AU6932187A (en)
CA (1) CA1278385C (en)
ES (1) ES2004200A6 (en)
IL (1) IL81428A (en)
WO (1) WO1987004819A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4825356A (en) * 1987-03-27 1989-04-25 Tandem Computers Incorporated Microcoded microprocessor with shared ram
US4875160A (en) * 1988-07-20 1989-10-17 Digital Equipment Corporation Method for implementing synchronous pipeline exception recovery
US5006980A (en) * 1988-07-20 1991-04-09 Digital Equipment Corporation Pipelined digital CPU with deadlock resolution
US5019967A (en) * 1988-07-20 1991-05-28 Digital Equipment Corporation Pipeline bubble compression in a computer system
JPH04140892A (en) * 1990-02-05 1992-05-14 Internatl Business Mach Corp <Ibm> Apparatus and method for encoding control data
CN102243578A (en) * 2010-05-10 2011-11-16 北京凡达讯科技有限公司 Method, system and device for decoding command of chip

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS49123544A (en) * 1973-03-30 1974-11-26
JPS5068747A (en) * 1973-10-22 1975-06-09
JPS522242A (en) * 1975-06-24 1977-01-08 Hitachi Ltd Information processing apparatus

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1426749A (en) * 1973-06-05 1976-03-03 Burroughs Corp Micro programme data processor having parallel instruction flow streams for plural level of subinstruction sets
US3953833A (en) * 1974-08-21 1976-04-27 Technology Marketing Incorporated Microprogrammable computer having a dual function secondary storage element
US4131941A (en) * 1977-08-10 1978-12-26 Itek Corporation Linked microprogrammed plural processor system
US4370709A (en) * 1980-08-01 1983-01-25 Tracor, Inc. Computer emulator with three segment microcode memory and two separate microcontrollers for operand derivation and execution phases
US4390946A (en) * 1980-10-20 1983-06-28 Control Data Corporation Lookahead addressing in a pipeline computer control store with separate memory segments for single and multiple microcode instruction sequences
US4574394A (en) * 1981-06-01 1986-03-04 Environmental Research Institute Of Mi Pipeline processor
US4586127A (en) * 1982-11-03 1986-04-29 Burroughs Corp. Multiple control stores for a pipelined microcontroller
US4591972A (en) * 1982-11-15 1986-05-27 Data General Corp. Data processing system with unique microcode control
US4574344A (en) * 1983-09-29 1986-03-04 Tandem Computers Incorporated Entry control store for enhanced CPU pipeline performance
US4812970A (en) * 1983-11-10 1989-03-14 Fujitsu Limited Microprogram control system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS49123544A (en) * 1973-03-30 1974-11-26
JPS5068747A (en) * 1973-10-22 1975-06-09
JPS522242A (en) * 1975-06-24 1977-01-08 Hitachi Ltd Information processing apparatus

Also Published As

Publication number Publication date
AU6932187A (en) 1987-08-25
KR910001054B1 (en) 1991-02-23
CN1008667B (en) 1990-07-04
ES2004200A6 (en) 1988-12-16
KR880700966A (en) 1988-04-13
CN87102161A (en) 1987-09-09
IL81428A0 (en) 1987-08-31
CA1278385C (en) 1990-12-27
US4794527A (en) 1988-12-27
IL81428A (en) 1990-11-05
WO1987004819A1 (en) 1987-08-13
EP0290467A1 (en) 1988-11-17

Similar Documents

Publication Publication Date Title
US4310880A (en) High-speed synchronous computer using pipelined registers and a two-level fixed priority circuit
US4443848A (en) Two-level priority circuit
JPS6120013B2 (en)
US4980819A (en) Mechanism for automatically updating multiple unit register file memories in successive cycles for a pipelined processing system
JPS6029402B2 (en) Clock control signal generator
EP0295646A2 (en) Arithmetic operation processing apparatus of the parallel processing type and compiler which is used in this apparatus
JPS6134182B2 (en)
US5081609A (en) Multiprocessor controller having time shared control store
JPH01500065A (en) Apparatus and method for microprogram information processing system with multiple control stores
EP0164418B1 (en) Microprogram control system
US4053947A (en) Method and apparatus for executing sequential data processing instructions in function units of a computer
JPS6315628B2 (en)
JP2638613B2 (en) Programmable accelerator and method thereof
JPS63316133A (en) Arithmetic processor
JP2758624B2 (en) Speed control method of micro program
JP2747353B2 (en) Address generator
JP2544015B2 (en) Micro program processor
JP2652640B2 (en) Asynchronous micromachine / interface
JPS58114250A (en) Common microprocessor
JPS63208124A (en) Microprogram controller
JPS62251829A (en) Symbolic processing system and method
JPS6337412B2 (en)
JPS6368924A (en) System for controlling data processing of microprocessor
JPS619728A (en) Microprogram controller
JPH0325810B2 (en)