JPS6053898B2 - data processing system - Google Patents
data processing systemInfo
- Publication number
- JPS6053898B2 JPS6053898B2 JP52150706A JP15070677A JPS6053898B2 JP S6053898 B2 JPS6053898 B2 JP S6053898B2 JP 52150706 A JP52150706 A JP 52150706A JP 15070677 A JP15070677 A JP 15070677A JP S6053898 B2 JPS6053898 B2 JP S6053898B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- bus
- address
- data
- instruction
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4247—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/32—Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microcomputers (AREA)
- Bus Control (AREA)
- Executing Machine-Instructions (AREA)
- Memory System (AREA)
- Debugging And Monitoring (AREA)
Description
【発明の詳細な説明】
本発明は、データ処理システムに関するものであり、更
に具体的には、中央処理装置(CPU)と複数の記憶装
置及び入出力(I/0)装置との間でデータ、命令その
他の情報を転送するための単方向母線又はループ母線の
アーキテクチヤに関するものである。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a data processing system, and more specifically, to a data processing system, and more specifically to data processing between a central processing unit (CPU) and a plurality of storage devices and input/output (I/0) devices. , a unidirectional bus or loop bus architecture for transferring instructions and other information.
現在、マイクロプロセッサと呼ばれるものは、一般に3
乃至4個の基本的な機能装置から成つている。Currently, what is called a microprocessor generally consists of three
It consists of four basic functional devices.
最初の3つは、増分、ブランチ及び連係(link)の
ためのハードウェアを備えたROS(RAMでもよい)
マイクロ命令アドレス゜レジスタ、関連するレジスタ及
びデータ・バスを備えた中央演算論理ユニット (AL
U)、並びに主記憶装置をアドレス指定して、これとの
間てデータをやりとりするための装置(普通、I/Oユ
ニットとして扱われ、他のシステムI/0装置と結合さ
れる)である。より高度なマイクロプロセッサにおいて
は、ネストされた割込みの切替えを行なうたためのレジ
スタ及びデータ・バスのセクションが4番目の装置とし
て別に設けられる。これは、チIヤネルに相当するもの
である。このチャネルは、多重モード又はバースト・モ
ードのサイクル・スチール制御(直接メモリ・アクセス
又はDMAと呼ばれることがある)を実行するように構
成されてもよい。現用のマイクロプロセッサの構成方法
は、上述の諸機能とチップとの関係に関して、2つに分
けることができる。The first three are ROS (may be RAM) with hardware for incrementing, branching and linking.
A central arithmetic and logic unit (AL) with microinstruction address registers, associated registers, and a data bus.
U), and a device for addressing and transferring data to and from main memory (usually treated as an I/O unit and coupled with other system I/O devices). . In more advanced microprocessors, a fourth device is a separate section of the register and data bus for nested interrupt switching. This corresponds to an I channel. This channel may be configured to perform multimode or burst mode cycle stealing control (sometimes referred to as direct memory access or DMA). Current methods of configuring microprocessors can be divided into two with regard to the relationships between the above-mentioned functions and chips.
最初の方式は、各々の機能をALUチップ、制御チップ
、アドレス・チップ、1/0チップ及びROS/RAM
チップ(アドレス制御回路が組込まれている場合がある
)のような別々のチップに受け持たせるものであり、2
番目の方式は、複数の同一チップに処理機能を分散させ
るものである。この2番目のものは、゛゜ビット・スラ
イス方式゛と呼ばれており、一般に別の1/0制御チッ
プを必要とする。何れの方式も、チップを相互接続する
ための線をかなり必要とするが、使用可能なI/0ピン
の数が限られているために、相互接続線の数も制限され
、従つて、異つたチップに同じ論理機能を持させること
が必要になる。The first method divides each function into ALU chip, control chip, address chip, 1/0 chip and ROS/RAM.
A separate chip such as a chip (which may have an address control circuit built in) is responsible for the
The second method is to distribute processing functions to multiple identical chips. This second one is called the ``bit slicing'' method and generally requires a separate 1/0 control chip. Both schemes require a significant amount of wires to interconnect the chips, but the limited number of I/O pins available also limits the number of interconnect lines, thus limiting the number of interconnect lines. It is necessary to provide the same logical functions to the other chips.
また、オフ・チップ駆動器及び受信器における遅延も問
題になる。もしデータ母線又はアドレス母線が両方向性
であれば、各チップの駆動器と受信器との間において、
すべてオフ状態が設定され次いですべてオンの状態が設
定されるまでは、どのような信号の転送も行なわれず、
従つて、更に遅延が生じることになる。また、各両方向
性母線は、I/Oピン及びオフ・チップ駆動器を必要と
するので、より大きなチップ●レイアウトを必要とし、
更に、各チップにおける電力消費量も大きくなる。これ
らの問題を解決するため、アドレス母線及びデータ母線
を1つの時分割゜“ユニバズにまとめ、更に制御及.び
接続手順(Handshaking)の遅延も1つにま
とめたようなアーキテクチヤが考えられる。従つて、最
適のコスト/パフォーマンスを得るためには、最小数の
駆動器及び受信器を備えて、例えば錫のピン接続を有す
る単一チップにパツケーージされ得るようなマイクロプ
ロセッサ・アーキテクチヤが必要になる。Also, delays in off-chip drivers and receivers are a problem. If the data bus or address bus is bidirectional, between the driver and receiver of each chip,
No signal transfer occurs until the all-off state is set and then the all-on state is set;
Therefore, further delays will occur. Additionally, each bidirectional bus requires I/O pins and off-chip drivers, requiring a larger chip layout;
Furthermore, the power consumption in each chip also increases. In order to solve these problems, an architecture can be considered in which the address bus and the data bus are combined into one time division "unibus" and the delays of control and connection procedures (handshaking) are also combined into one. Therefore, optimal cost/performance requires a microprocessor architecture with a minimum number of drivers and receivers that can be packaged on a single chip with, for example, tin pin connections. Become.
本発明の目的は、上述のような問題を解決するために、
ALUl関連オペランド・レジスタ及び命令解読/実行
装置を有するCPUlローカル記・憶レジスタ装置(以
下、LSRという)、主記憶装置、実行可能制御記憶装
置並びに1以上のI/0装置を含む計算システムのため
の新規な母線アーキテクチヤを提供するにある。The purpose of the present invention is to solve the above-mentioned problems.
For a computing system that includes a CPU local storage register unit (hereinafter referred to as LSR) with ALU related operand registers and an instruction decoding/execution unit, main memory, executable control storage, and one or more I/O devices. The purpose of this invention is to provide a new busbar architecture.
本発明に従えば、少しのI/O線接続しか必要とせず、
従つて単一の集積回路チップにパッケージされ得る十分
に一体化されたマイクロプロセッサのためのループ母線
アーキテクチヤが実現される。According to the present invention, only a few I/O line connections are required;
A loop bus architecture is thus achieved for a fully integrated microprocessor that can be packaged on a single integrated circuit chip.
必要なチャネル駆動器の数は最少にされるが、バイブラ
イン及びオーバーラップ操作を可能にすることにより、
スループットは向上される。本発明の特徴を要約すると
次の通りである。本発明は、命令またはデータを転送す
る単方向゛性の入力母線と、アドレスまたはデータを転
送する単方向性の出力母線とをCPUの内部で接続し、
ループ母線を構成したことを特徴としている。本発明の
第1の態様によれば、入力母線はCPU内部に設けられ
ているALUの一方の入力に接続され、その出力は内部
母線を介して出力母線へ供給される。このようにループ
母線の中間にALUを介在させておくと、入出力装置が
CPU内部のALUを共用できるようになり、また命令
実行のオーバーラップも可能になる。本発明の第2の態
様によれば、入力母線と出力母線の間に3台の記憶装置
が接続され、更にそのうちの第3の記憶装置(■玉)を
アドレス指定する補助アドレス母線が余分に設けられる
。The number of channel drivers required is minimized, but by allowing vibrating and overlapping operation,
Throughput is improved. The features of the present invention are summarized as follows. The present invention connects a unidirectional input bus for transferring instructions or data and a unidirectional output bus for transferring addresses or data inside a CPU,
It is characterized by a loop busbar configuration. According to the first aspect of the present invention, the input bus is connected to one input of an ALU provided inside the CPU, and its output is supplied to the output bus via the internal bus. By interposing the ALU in the middle of the loop bus in this way, input/output devices can share the ALU inside the CPU, and instruction execution can also be overlapped. According to the second aspect of the present invention, three storage devices are connected between the input bus and the output bus, and an extra auxiliary address bus is provided to address the third storage device (■ ball). provided.
第1の記憶装置は、例えば主記憶装置として働くもので
、出力母線上の第1アドレスに応答して入力母線へデー
タを読出したり、入力母線からデータを書込んだりする
。第2の記憶装置はCPUで実行すべき命令を記憶して
おり、出力母線上の第2アドレスに応答して入力母線へ
命令を読出す。これはROSでもよい。第3の記憶装置
は、補助アドレス母線上の第3アドレスに応答して、出
力母線から受取つたデータを入力母線へ読出す。この第
3記憶装置の主機能はLSRとしてのものであるが、本
発明では、CPUから第1記憶装置(主記憶装置)への
直接書込みバスが存在しないので、第1記憶装置への書
込みは第3記憶装置を介して行なうことになる。以上の
ように、本発明はループ母線のアーキテクチヤに特徴が
あり、これにより、CPUが形成されるチップのI/0
ピンおよびオフ・チップ駆動器の数を減らすことができ
る。The first storage device serves, for example, as a main storage device, and reads data to or writes data from the input bus in response to a first address on the output bus. The second storage device stores instructions to be executed by the CPU and reads the instructions to the input bus in response to a second address on the output bus. This may be ROS. A third storage device reads data received from the output bus to the input bus in response to a third address on the auxiliary address bus. The main function of this third storage device is as an LSR, but in the present invention, since there is no direct write bus from the CPU to the first storage device (main storage device), writing to the first storage device is not possible. This will be done via the third storage device. As described above, the present invention is characterized by the architecture of the loop bus, which allows the I/O of the chip on which the CPU is formed.
The number of pins and off-chip drivers can be reduced.
また、各種記憶装置の読出しおよび書込みのタイミング
を制御することによつてオーバラップ処理あるいはバイ
ブライン処理が可能になる。以下、添付図面を参照しな
がら、本発明の良好な実施例について説明する。Furthermore, by controlling the read and write timings of various storage devices, overlap processing or vibe line processing becomes possible. Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.
第1A図乃至第1C図は、本発明に従う計算システムの
アーキテクチヤを示したもので、このシステムは次の4
つの主要ハードウェアを含んでいる。FIGS. 1A to 1C show the architecture of a computing system according to the present invention, which includes the following four steps.
Contains two major pieces of hardware.
(1)ALU22、チャネル(入力母線10、出力母線
20、補助アドレス母線21、共通ボール母線53及ひ
制御線15を含む)、複数のレジスタ、及び制御論理を
含むCPU9。(1) A CPU 9 including an ALU 22, channels (including input bus 10, output bus 20, auxiliary address bus 21, common ball bus 53, and control line 15), a plurality of registers, and control logic.
(2)LSRl4。(2) LSRl4.
(3)主記憶装置12。(3) Main storage device 12.
(4)実行可能記憶装置又はマイクロプログラム記憶装
置とも呼ぱれる読取専用記憶装置(ROS)16。(4) Read-only storage (ROS) 16, also called executable storage or microprogram storage.
CPU9は、例えば、モジュールI/0ピンの数が70
よりも少ないパツケージヘマウントされる単一のLSI
チップに構成されてもよい。For example, the CPU 9 has 70 module I/0 pins.
A single LSI mounted in fewer packages than
It may be configured as a chip.
このようなCPUパッケージは、現在の技術で、ROS
l6のモジュール、LSRl4(例えば32個のレジス
タを有している)のモジュール、支持駆動装置18のた
めの2個のモジュール及び線59に接続された発振器(
図示せず)と共に1枚のカード上にマウントすることが
できる。このカード上には、主記憶装置12の一部もマ
ウントしてよいが、現在の回路技術からすれば、主記憶
装置12は、殆んどの場合、別のカードにマウントされ
ることになろう。データ、命令及びI/0指令は、2つ
の単方向線即ちI/0共通人力母線10及びI/0共通
出力母線20によつてCPU9と他のユニットとの間を
転送される。With current technology, such a CPU package is
16 module, an LSR 14 module (for example with 32 registers), 2 modules for the support drive 18 and an oscillator connected to line 59 (
(not shown) on one card. A portion of main memory 12 may also be mounted on this card, but given current circuit technology, main memory 12 will most likely be mounted on a separate card. . Data, instructions and I/0 commands are transferred between CPU 9 and other units by two unidirectional lines: I/0 common power bus 10 and I/0 common output bus 20.
入力母線10は、I/0装置(図示せず)から、母線1
1を介して主記憶12から、母線17を介してRαI6
から、及び母線13を介してLSRl4から各々データ
を受取る。入力母線10上のデータは、プログラム・レ
ジスタ30及びALU22へ送られる。ここで重要なこ
とは、CPU9は入力母線10からデータ及び情報を受
取るだけで、入力母線10へデータを送り出すための駆
動装置を備えていないということである。これに対し、
主記憶装置12、LSRl4及びROSl6には、入力
母線10へデータを供給するための駆動装置が備えられ
ており、更に主記憶装置12には、LSRl4から母線
13を介して入力母線10へ供給されたデータ又はI/
0装置から入力母線10へ供給されたデータを受取るた
めの装置も備えられている。I/0共通出力母線20は
、出力バッファ・レジスタ26の内容をROSl6、主
記憶装置12、LSRl4及びI/0装置へ供給する。Input bus 10 is connected to bus 1 from an I/0 device (not shown).
1 from the main memory 12 via the bus 17, RαI6
and from LSR14 via bus 13, respectively. Data on input bus 10 is sent to program register 30 and ALU 22. What is important here is that the CPU 9 only receives data and information from the input bus 10 and does not have a drive device for sending data to the input bus 10. In contrast,
The main storage device 12, LSRl4, and ROSl6 are equipped with a drive device for supplying data to the input bus 10, and the main storage device 12 is further equipped with a drive device for supplying data from the LSRl4 to the input bus 10 via the bus 13. data or I/
A device is also provided for receiving data supplied to the input bus 10 from the 0 device. I/0 common output bus 20 provides the contents of output buffer register 26 to ROS16, main memory 12, LSR14, and I/0 devices.
この共通出力母線20は、ROSl6及び主記憶装置1
2に対してはアドレス母線として働くが、LSRl4及
びI/0装置に対してはデータ母線として働く。I/0
装置は、6本のローカル記憶コード出力(LCO)線2
1によつてアドレスされる。これらの江℃線即ち補助ア
ドレス母線21は、本実施例では、LSRl4を構成す
るローカル記憶レジスタを64個まで又はI/0装置0
個まで直接アドレスできるようになつている。前述のよ
うに、入力母線10は、I/0装置又は記憶装置からの
データ又はマイクロ命令を転送する。入力母線10及び
出力母線20を介する転送における源及び行先は、複数
の制御線15によつて選択される。制御線15は、駆動
装置18によつて駆動された後は、制御及びクロック線
19として示されている。これらの制御線には、u重選
択線、ROS選択線、主記憶装置選択線、上位バイト書
込み線、下位バイト書込み線などが含まれる。I/0装
置の選択は、線21上の有効装置アドレス及び非活動状
態にある田R選択出力の組合わせによつて行なわれる。
出力母線20を介するデータ転送の有効化のタイミング
は、先行のクロック1パルス(複数の線15のうちの1
本)によつて決定されノる。LCO及び選択コードの有
効性は、サンプル・アウト信号により表示される。サン
プルイン信号は、入力母線10を介するCPU9へのデ
ータ転送を有効化するためのサンプル・アウトへの応答
又はI/0装置からの指令応答である。これ7らの信号
は、!/O装置にCPUクロックの進行を禁止させるホ
ールド・クロック・インと一緒になつて、非同期1/O
動作を可能にする。1/Oインターフェース線10,1
9,20,21及び53の要約を次に示す。This common output bus 20 is connected to the ROS16 and the main storage device 1.
2, but acts as a data bus for LSR14 and I/0 devices. I/0
The device has six local storage code output (LCO) lines 2
Addressed by 1. These Ecchi lines or auxiliary address bus lines 21, in this embodiment, can store up to 64 local storage registers making up LSR14 or I/0 device 0.
It is now possible to directly address individuals. As previously mentioned, input bus 10 transfers data or microinstructions from I/O devices or storage devices. The sources and destinations for transfer via input bus 10 and output bus 20 are selected by a plurality of control lines 15 . Control line 15 is shown as control and clock line 19 after being driven by driver 18 . These control lines include the u-layer select line, the ROS select line, the main memory select line, the upper byte write line, the lower byte write line, and the like. I/0 device selection is accomplished by a combination of the valid device address on line 21 and the inactive R select output.
The timing for enabling data transfer via the output bus 20 is determined by one preceding clock pulse (one of the plurality of lines 15).
determined by the book). The validity of the LCO and selection code is indicated by the sample out signal. The sample in signal is a response to sample out or a command response from an I/O device to enable data transfer to CPU 9 via input bus 10. These 7 signals are! Together with Hold Clock In, which causes the /O device to prevent the CPU clock from advancing, the asynchronous 1/O
enable operation. 1/O interface line 10,1
9, 20, 21 and 53 are summarized below.
(1)入力母線10:ROSl6からのマイクロ命令、
I/0装置及び?Rl4からの入力データ並びに主記憶
装置12の入出力データを転送するための1PX.の線
から成つている。(1) Input bus 10: microinstruction from ROS16,
I/0 device and? 1PX.1 for transferring input data from Rl4 and input/output data of the main storage device 12. It consists of lines.
(2)出力母線20:I/O装置及びLSRl4ヘデー
タを転送し、主記憶装置12及びROSl6へアドレス
を供給するための1FSXの線から成つている。(2) Output bus 20: Consists of 1FSX lines for transferring data to the I/O device and LSR14 and supplying addresses to the main memory 12 and ROS16.
(3)共通ボール母線53:7本の多重サイクル・スチ
ール線又は7本の割込みレベル●リクエスト線から成つ
ている。(3) Common ball bus line 53: Consists of 7 multi-cycle steal lines or 7 interrupt level request lines.
これについては、あとで詳しく説明する。(4)LCO
線21:LSRl4のロケーションを困個までアドレス
し、サイクル●スチール●レベルを知らせ、又はI/0
装置を槃個までアドレスするための6本の線から成つて
いる。This will be explained in detail later. (4) LCO
Line 21: Addresses the location of LSRl4 up to the limit, informs the cycle steal level, or I/0
It consists of six lines for addressing up to six devices.
あとで述べるLSR選択線が付勢されていると、LCO
線21によつて指定されるアドレス0乃至63は、LS
Rl4のレジスタ●ロケーション0乃至63を各々アド
レス指定する。レジスタ・ロケーション16乃至23は
割込み使用され、レジスタ・ロケーション24乃至31
はサイクル・スチールに使用される。LSR選択線が付
勢されていなければ、LCO線21によるアドレス1乃
至63は、I/0装置1乃至63を各々アト2レス指定
する。この場合、アドレス0はチャネル機能のために予
約されている。(5)制御及びクロック線19:これに
は、次のようなインターフェース線が含まれる。When the LSR selection line, which will be described later, is activated, the LCO
Addresses 0 to 63 specified by line 21 are LS
Address register locations 0 through 63 of Rl4, respectively. Register locations 16-23 are used for interrupts, register locations 24-31
is used for cycle steals. If the LSR select line is not asserted, addresses 1 through 63 on LCO line 21 address I/O devices 1 through 63, respectively. In this case, address 0 is reserved for the channel function. (5) Control and clock lines 19: This includes the following interface lines.
(イ)ボール・サイクル●スチール出力線772(1本
)一共通ボール母線53の割込み優先順位をクリアする
ことによつて割込みの代りにサイクル●スチールのボー
ル共通ボール母線53へリクエストし、そしてサイクル
・スチール優先順位をリクエストするのに用いら3れる
。(a) Ball cycle - Steel output line 772 (one line) - By clearing the interrupt priority of the common ball bus 53, a cycle is made instead of an interrupt - A request is made to the steel ball common ball bus 53, and the cycle - Used to request steal priority.
(ロ)選択出力線(5本)一爲R選択、主記憶装置選択
、ROS選択、上位バイト書込み及び下位バイト書込み
の各線が含まれる。(b) Selection output lines (5 lines) Includes each line for R selection, main memory selection, ROS selection, upper byte write, and lower byte write.
もし書込みが指定されなければ、読取り動作が暗示3.
される。(ハ)サンクル・アウト線(1本)一指令又は
江℃信号が有効であることを表示する。If a write is not specified, a read operation is implied.3.
be done. (c) Suncle/out line (1 line) Indicates that one command or E℃ signal is valid.
これは、あとで述べるように、クロック3及び4並びに
クロック9乃至14の間に生じる。This occurs between clocks 3 and 4 and clocks 9-14, as discussed below.
4((ニ)クロック1又は9出力線(1本)一出力母線
20へ供給された出力バッファ・レジスタ26の前の内
容を有効化するタイミングを与える。4 ((d) Clock 1 or 9 output line (1 line) 1 Provides timing to validate the previous contents of the output buffer register 26 supplied to the output bus 20.
一1り(ホ
)クロック6,7出力又はクロック14,15出力線(
倍サイクル命令用)一命令の終りを表示するタイミング
を与える。11 (e) Clock 6, 7 output or clock 14, 15 output line (
(for double cycle instructions) Gives the timing to display the end of one instruction.
(6)発振器入力線59:連続的な方形波クロック信号
を供給する。(6) Oscillator input line 59: Provides a continuous square wave clock signal.
(7)その他のインターフエースニサンプル●イン(図
示せず)は、選択された装置が入力母線10へ供給した
データをサンプル●アウトに応答して有効化するか、又
は選択された装置が指定に応答するための1本の共通線
を含む。(7) Other interfaces Sample In (not shown) enable data provided by the selected device to the input bus 10 in response to Sample Out, or if the selected device specifies Contains one common line for responding to.
サイクル・スチール入力線68は、I/0装置によつて
使用される。I/0装置は、信号の立上り部分でサイク
ル・スチールのボールをリクエストし、立下り部分でそ
の優先順位が共通ボール母線53上で有効であることを
表示する。割込み入力線70は、1以上の装置が共通ボ
ール母線53で保留状態になつている割込みを有してい
ることを表示する。その優先順位は、共通ボール母線5
3で表示されている。リセット入力(図示せず)は、シ
ステム・リセット及び電源オン・リセットを与える。上
位バイト記憶禁止は、主記憶装置12へ下位バイトだけ
を書込むために、I/0装置から発生される。下位バイ
ト記憶禁止は、主記憶装置12へ上位バイトだけを書込
むために、I/0装置から発生される。もしこれらの両
方が発生されると、主記憶装置12の読取り動作が暗示
される。記憶データ選択は、主記憶装置12から読出さ
れたデータを入力母線10へ供給する。これが禁止され
ると、I/0装置は、LSR(サイクル・スチールアド
レス・レジスタ)への書込みのために、そのデータ(主
記憶装置のアドレスでもよい)を入力母線10へ供給す
ることができる。?R書込み制御は、主記憶装置12に
あるデータ・テーブルを連鎖するため、又は?Rアドレ
スの増分を禁止するために、I/0装置から発生させる
。次に、CPU9について説明する。Cycle steal input line 68 is used by I/0 devices. The I/O device requests a cycle steal ball on the rising edge of the signal and indicates that its priority is valid on the common ball bus 53 on the falling edge. Interrupt input line 70 indicates that one or more devices have an interrupt pending on common ball bus 53. Its priority is common ball bus line 5
It is displayed as 3. A reset input (not shown) provides system reset and power-on reset. The upper byte store inhibit is generated from the I/O device to write only the lower byte to main memory 12. A low byte store inhibit is generated from the I/O device to write only the high byte to main memory 12. If both of these occur, a read operation of main memory 12 is implied. Storage data selection supplies data read from main memory 12 to input bus 10 . When this is inhibited, the I/O device can provide its data (which may be a main memory address) to the input bus 10 for writing to the LSR (Cycle Steal Address Register). ? R write control is used to chain data tables in main memory 12, or? Generated from the I/0 device to inhibit incrementing of the R address. Next, the CPU 9 will be explained.
なお、図にjいて引出し線の付いていない数字はビット
数を乏わしている。CPU9においては、入力母線11
はALU22及びプログラム・レジスタ30に?続され
ている。プログラム・レジスタ30の出jは、線33を
通つてALU22及び命令解読器:2へ送られる。プロ
グラム・レジスタ30に記憶された命令のアドレス部(
6ビット)は、線31を通つてLSR制御出力(LCO
)レジスタ40及び減分レジスタ38にも送られる。減
分レジスタ38の出力は、線39を通つてプログラム・
レジスタ30へ戻され、更に現条件コード・レジスタ4
8及び計数レジスタ50へ送られる。計数レジスタ50
の出力は、線51を通つて減分レジスタ38及びLCO
レジスタ40へ送られる。現条件コード・レジスタ48
の出力は、線49を通つて保管条件コード・レジスタ4
2へ送られる。現条件コード・レジスタ48及び計数レ
ジスタ50の出力は、線43を通つてALU22にも送
られる。CPU9のデータ・フローは、16ビットの7
11d.U22と2個のオペランド・レジスタ即ち線3
5を介してAl.U22の何れの側にもゲートされ得る
累算レジスタ34及び線37を介してAl.U22の何
れの側にもゲートされ得る累算拡張レジスタ36とを含
んでいる。In addition, the number j in the figure without a leader line has a poor number of bits. In the CPU 9, the input bus 11
to ALU 22 and program register 30? It is continued. The output of program register 30 is sent via line 33 to ALU 22 and instruction decoder:2. The address part of the instruction stored in the program register 30 (
6 bits) is passed through line 31 to the LSR control output (LCO
) register 40 and decrement register 38. The output of decrement register 38 is passed through line 39 to the program input signal.
The current condition code register 4 is returned to register 30.
8 and counting register 50. Counting register 50
The output of is passed through line 51 to decrement register 38 and LCO
It is sent to register 40. Current condition code register 48
The output of is sent to storage condition code register 4 through line 49.
Sent to 2. The outputs of current condition code register 48 and count register 50 are also sent to ALU 22 over line 43. The data flow of CPU9 is 16-bit 7
11d. U22 and two operand registers or line 3
5 via Al. Al. and an accumulation extension register 36 that can be gated on either side of U22.
合計レジスタ24は、ALU22の出力バッファであつ
て、母線23からロードされる。Summing register 24 is the output buffer of ALU 22 and is loaded from bus 23.
プログラム・レジスタ30は、解読器62で解読されて
実行されるマイクロ命令を保持する。プログラムレジス
タ30の内容も、線33を通つてALU22へ送られる
。更に、アドレス変更及びブランチ連係操作のために、
マイクロ命令アドレス・レジスタ32の内容が線29を
介してALU22へゲートされる場合がある。計数レジ
スタ50は、シフトの計数及びLSRl4の間接アドレ
ス指定に用いられる。計数レジスタ50の内容は、あと
で説明する種々の操作の遂行のために、線43を介し?
゛てALU22へゲートされ得る。出力バッファレジス
タ26は、内部出力母線28へ供給されるデータを保持
する。この出力母線28は、駆動装置18で駆動された
後、I/0共通出力母線20として扱われる。出力バッ
ファ・レジスタ26の内容は、あとで説明する特定の命
令により、LSRl4のロケーション0に保管され、必
要なときに入力母線10を通つてALU22へ入力され
る。合計レジスタ24の出力(2バイト)は、命令解読
器62の制御のもとに、母線25を通つてマイクロ命令
アドレス●レジスタ32、累算レジスタ3牡拡張レジス
タ36、エラーレジスタ46(下位バイト)、割込みマ
スク・レジスタ44(上位バイト)、計数レジスタ50
(下位バイト)、現条件コード・レジスタ48(上位バ
イト)及び出力バッファ・レジスタ26へ選択的にロー
ドされる。割込みマスク・レジスタ44の出力は、線4
5及び43を通つてALU22へ送られ、更に線45を
通つて割込みゲート(アンド・ゲート)52へ送られる
。エラー・レジスタ46の出力は、線47及び43を通
つてALU22へ送られる。合計レジスタ24の出力の
下位4ビットは、線27を通つて命令アドレス・レジス
タ32の上位4ビット(ページ・レジスタ32aとして
用いられる)へゲートされる場合がある。共通ボール母
線53上の多重化されたサイクル●スチール●リクエス
ト及び割込みリクエストは、割込みゲート52及び優先
順位符号器54へ送られる。Program register 30 holds microinstructions that are decoded and executed by decoder 62. The contents of program register 30 are also sent to ALU 22 over line 33. Furthermore, for address change and branch linkage operations,
The contents of microinstruction address register 32 may be gated to ALU 22 via line 29. Counting register 50 is used for counting shifts and indirectly addressing LSR14. The contents of count register 50 are transferred via line 43 to perform various operations to be described later.
can be gated to ALU 22. Output buffer register 26 holds data supplied to internal output bus 28. After this output bus 28 is driven by the drive device 18, it is treated as the I/0 common output bus 20. The contents of the output buffer register 26 are saved in location 0 of LSRl4 and input to the ALU 22 through the input bus 10 when required by specific instructions to be described below. The output (2 bytes) of the total register 24 is sent through the bus 25 under the control of the instruction decoder 62 to the microinstruction address register 32, the accumulation register 3, the extension register 36, and the error register 46 (lower byte). , interrupt mask register 44 (upper byte), count register 50
(lower byte), current condition code register 48 (higher byte), and output buffer register 26. The output of interrupt mask register 44 is on line 4.
5 and 43 to ALU 22 and further to interrupt gate (AND gate) 52 through line 45. The output of error register 46 is sent to ALU 22 over lines 47 and 43. The lower four bits of the output of summation register 24 may be gated through line 27 to the upper four bits of instruction address register 32 (used as page register 32a). Multiplexed cycle steal requests and interrupt requests on common ball bus 53 are sent to interrupt gate 52 and priority encoder 54 .
サイクル・スチールは割込みよりも優先順位が高い。割
込みゲート52の出力は、線69を通つて優先順位符号
器54へ送られる。優先順位符号器54の出力は、線5
5を通つて現割込みレベル●レジスタ56、上位レベル
割込みテスト回路58及び江℃レジスタ40へ送られる
。テスト回路58の出力線63に信号が生じると、より
上位のレベルの割込みが強制される。現割込みレベル●
レジスタ56の出力は、線57を通つて上位レベル割込
みテスト回路58及びW.Oレジスタ40へ送られる。
単相発振器から線59へ供給されたクロック信号は、4
相発生器60へ送られる。Cycle steals have higher priority than interrupts. The output of interrupt gate 52 is sent to priority encoder 54 over line 69. The output of priority encoder 54 is on line 5
5 to the current interrupt level register 56, upper level interrupt test circuit 58, and register 40. A signal on output line 63 of test circuit 58 forces a higher level interrupt. Current interrupt level●
The output of register 56 is passed through line 57 to upper level interrupt test circuit 58 and W. It is sent to the O register 40.
The clock signal provided on line 59 from the single phase oscillator is 4
It is sent to phase generator 60.
4相発生器60の出力は、線61を通つてクロック装置
66及jび補助クロック装置64へ送られる。The output of the four-phase generator 60 is sent over line 61 to a clock device 66 and to an auxiliary clock device 64.
これらの両クロック装置は、命令解読器62と協働して
、CPU9の動作、例えば種々のオペランド●レジスタ
への母線ゲート動作、種々の母線及びレジスタの時分割
などを制御する。次に第5図を参照して、本発明に従う
計算システムのサイクル・スチール/割込みチャネルに
ついて説明する。Both of these clock devices, in cooperation with the instruction decoder 62, control the operation of the CPU 9, such as bus gating to the various operand registers, time division of the various busses and registers, etc. Referring now to FIG. 5, the cycle steal/interrupt channel of a computing system according to the present invention will now be described.
割込み/サイクル・スチール・ボール線530乃至53
6は、共通ボール母線53を構成するもので、負論理に
従つている。割込みフマスク・レジスタ44は、出力線
450乃至456を有する。サイクル・スチール・ボー
ル専用ラッチ75は、リセット出力線80を有する。こ
のラッチ75のリセット線80への出力は、割込みゲー
ト52において、割込みマスク・レジスタ44のビット
Oに対応する線450上の信号とアンドされ(アンド・
ゲート96)、次いでその結果とボール母線53のビッ
ト位置0を表わす線530上の信号とがノアされる(ノ
ア・ゲート97)。ノア・ゲート97の出力は、線52
0へ供給される。同様に、線451乃至456へ各々出
力された割込みマスク・レジスタ44のビット1乃至6
も、サイクル・スチール●ボール専用ラッチ75のリセ
ット線80上の信号とアンドされ、次いでその結果とボ
ール母線53のビット位置1乃至6に各々対応する線5
31乃至536上の信号とがノアされて、線521乃至
526へ結果の出力が各々供給される。線520はノア
回路86,94及び95に、線521はノア回路86,
90及び95に、線522はノア回路86及びアンド回
路91に、線523はノア回路86及び90に、線52
4はアンド回路87及び92に、線525はアンド回路
88及びノア回路90に、そして線526はアンド回路
93に各々接続されている。ノア回路86の出力は、優
先順位符号器54の最上位ビット出力線544を通つて
アンド回路87,88及び92、現割込みコード回路5
6の重み4のラッチ、テスト回路58並びにアンド・ゲ
ート82へ送られる。ノア回路95の出力は、中位ビッ
ト出力線542を通つてアンド回路一91、現割込みコ
ード回路56の重み2のラッチ、比較テスト回路58及
びアンド◆ゲート82へ送られる。ノア回路90の出力
は、アンド回路93へ送られる。ノア回路95において
は、アンド回路87及び88の出力と線520及び52
1上の信号とがノアされる。ノア回路94においては、
アンド回路91乃至93の出力と線520上の信号とが
ノアされ、その出力は、最下位ビット出力線541を通
つて現割込みコード回路56の重み1のラッチ、比較テ
スト回路58及びアンこド・ゲート82へ送られる。上
述の回路構成から明らかなように、優先順位符号器54
は、所与のレベルを対応する3ビットのコードへ符号化
するものである。サイクル・スチール・リクエストのビ
ット位置47を兼ねる負論理の共通サイクル・スチール
・リクエスト線68上の信号は、反転器Nで反転された
後、サイクル・スチール●ボール専用ラッチ75へ送ら
れ?、これをセットする。Interrupt/Cycle Steel Ball Lines 530-53
6 constitutes a common ball bus line 53, which follows negative logic. Interrupt mask register 44 has output lines 450-456. Cycle steal ball dedicated latch 75 has a reset output line 80. The output of this latch 75 to reset line 80 is ANDed at interrupt gate 52 with the signal on line 450 corresponding to bit O of interrupt mask register 44.
gate 96), and then the result is NOR'd with the signal on line 530 representing bit position 0 of ball bus 53 (NOR gate 97). The output of NOR gate 97 is on line 52
0. Similarly, bits 1 through 6 of interrupt mask register 44 are output on lines 451 through 456, respectively.
is also ANDed with the signal on the reset line 80 of the cycle steal ball-only latch 75, and then the result is ANDed with the signal on the reset line 80 of the ball bus 53, corresponding to bit positions 1 through 6 of the ball bus line 53, respectively.
The signals on lines 31-536 are NOR'ed to provide the resulting outputs on lines 521-526, respectively. Line 520 connects to NOR circuits 86, 94 and 95; line 521 connects to NOR circuit 86,
90 and 95, line 522 to NOR circuit 86 and AND circuit 91, line 523 to NOR circuit 86 and 90, line 52
4 is connected to AND circuits 87 and 92, line 525 is connected to AND circuit 88 and NOR circuit 90, and line 526 is connected to AND circuit 93. The output of the NOR circuit 86 is passed through the most significant bit output line 544 of the priority encoder 54 to the AND circuits 87, 88 and 92, and the current interrupt code circuit 5.
A weight of 4 latch of 6 is sent to a test circuit 58 as well as an AND gate 82. The output of the NOR circuit 95 is sent through the middle bit output line 542 to the AND circuit 91, the weight 2 latch of the current interrupt code circuit 56, the comparison test circuit 58, and the AND♦ gate 82. The output of the NOR circuit 90 is sent to an AND circuit 93. In NOR circuit 95, the outputs of AND circuits 87 and 88 and lines 520 and 52
The signal above 1 is NORed. In the NOR circuit 94,
The outputs of AND circuits 91-93 and the signal on line 520 are NORed, and the output is passed through the least significant bit output line 541 to the weight 1 latch of current interrupt code circuit 56, comparison test circuit 58, and - Sent to gate 82. As is clear from the circuit configuration described above, the priority encoder 54
encodes a given level into a corresponding 3-bit code. The signal on the negative logic common cycle steal request line 68, which also serves as the bit position 47 of the cycle steal request, is inverted by the inverter N and then sent to the cycle steal ball latch 75? , set this.
ラッチ75のセット出力は、線77を通つてサイクル●
スチール応答ラッチ76へ送られ、これをセットする。
線80へ供給されるラッチ75のリセット出力は、割込
みゲート52の各アンド回路を禁止し、更に割込みレベ
ル切替ラッチ84をデゲートする。割込みレベル切替ラ
ッチ84から線79へ供給される出力は、正論理の新割
込みレベル・ロード線72の制御及び正論理の現割込み
レベル設定線73のセットに用いられる。負論理の共通
サイノクル・スチール・リクエスト線68は、サイクル
・スチール応答ラッチ76にも接続されている。サイク
ル●スチール応答ラッチ76のセット出力は、線55へ
供給される。この出力は、アンド回路89において、線
85上の正論理のクロン.ク●パルスとアンドされ、そ
の結果は、線78を通つてアンド●ゲート82並びにL
COレジスタ40の上位入力ビット線834及び835
へ送られる。上位入力ビット線834及び835には、
アンド・ゲート82の出力によつて所定のコードが強制
される。負論理の共通割込みリクエスト線70上の信号
は、サイクル・スチール応答ラッチ76へ送られ、更に
反転器Nで反転された後、割込みレベル切替ラッチ84
へ送られる。The set output of latch 75 is cycled through line 77.
is sent to the steal response latch 76 and sets it.
The reset output of latch 75 provided on line 80 inhibits each AND circuit of interrupt gate 52 and also degates interrupt level switching latch 84. The output from interrupt level switching latch 84 to line 79 is used to control the new interrupt level load line 72 of positive logic and to set the current interrupt level setting line 73 of positive logic. A negative logic common cycle steal request line 68 is also connected to a cycle steal response latch 76 . The set output of cycle-steal response latch 76 is provided on line 55. This output is applied to the positive logic clock on line 85 in AND circuit 89. The result is passed through line 78 to AND gate 82 and L
Upper input bit lines 834 and 835 of CO register 40
sent to. Upper input bit lines 834 and 835 have
The output of AND gate 82 forces a predetermined code. The negative logic signal on the common interrupt request line 70 is sent to the cycle steal response latch 76, and after being inverted by the inverter N, the signal is sent to the interrupt level switching latch 84.
sent to.
正論理の割込み可能線71は、割込みレベル切替ラッチ
84に接続される。正論理線310乃至314は、第1
B図に線31として示されているプログラム・レジスタ
30のアドレス部の下位のビット位置を表わす。The positive logic interrupt enable line 71 is connected to an interrupt level switching latch 84 . The positive logic lines 310 to 314 are the first
B represents the lower bit position of the address portion of program register 30, shown as line 31 in FIG.
線310乃至314上の信号は、アンド・ゲート83で
正論理のマイクロ命令設定線74上の信号と個々にアン
ドされた後、線831乃至835を通つて田0レジスタ
40へ送られる。アンド・ゲート82の出力は、LCO
レジスタ40の入力側において、下位ビット位置の線8
31乃至833とドット・オアされる。The signals on lines 310-314 are individually ANDed with the signal on positive logic microinstruction set line 74 by AND gate 83 and then sent to register 40 through lines 831-835. The output of AND gate 82 is LCO
On the input side of register 40, line 8 in the lower bit position
31 to 833 are dot-ORed.
アンド・ゲート81の3本の入力線も、線831乃至8
33と各々ドット・オアされる。アンド・ゲート81に
おいては、線561,562及び564へ供給される現
割込みコード・レジスタ56の出力と、現割込みレベル
設定線73上の信号とが個々にアンドされる。現割込み
コード・レジスタ56の出力は、比較テスト回路58に
も送られる。現割込みコード●レジスタ56の内容をL
COレジスタ40の下位の入力線へゲートする現割込み
レベル設定線73上の信号は、線78上の信号と同じに
して、上位入力線834及び835へ所定のコードを強
制する。ただし、このコードは、線78上の信号による
強制コードとは異なつており、従つて、LCOレジスタ
40の出力線41には、LSRl4の異なつたレジスタ
・ロケーションを指定するアドレスが供給される。前述
のように、サイクル・スチールの優先順位は割込みより
も高いので、共通サイクル・スチール・リクエスト線6
8上に信号が生じると、サイクル●スチール●ボール専
用ラッチ75がセットされて、通常は連続的に処理され
る割込みポーリングが直ちにキャンセルされ、そしてす
べての1/O装置に対し、それらのサイクル・スチール
優先順位をボール母線53の線530乃至536へ供給
すると共に割込みリクエストを撤回するよう、リクエス
トが出される。The three input lines of AND gate 81 are also connected to lines 831 to 8.
33 and are each dot-ORed. In AND gate 81, the output of current interrupt code register 56 provided on lines 561, 562 and 564 and the signal on current interrupt level setting line 73 are individually ANDed. The output of current interrupt code register 56 is also sent to comparison test circuit 58. Current interrupt code●The contents of register 56 are set to L.
The signal on current interrupt level setting line 73 that gates to the lower input line of CO register 40 is the same as the signal on line 78 to force a predetermined code onto upper input lines 834 and 835. However, this code is different from the forcing code by the signal on line 78, so output line 41 of LCO register 40 is provided with an address specifying a different register location in LSR14. As mentioned above, cycle stealing has a higher priority than interrupts, so the common cycle stealing request line 6
A signal on 8 sets the cycle steal ball-only latch 75, immediately canceling the interrupt polling that would normally be processed continuously, and alerting all 1/O devices to their cycle A request is made to provide steal priority to lines 530-536 of ball bus 53 and to cancel the interrupt request.
共通割込みリクエスト線70上の信号の減勢は、すべて
のI/0装置がそれらの割込み優先順位ビットをボール
母線53から取り除いたことをCPU9に知らせる。共
通サイクル・スチール・リクエスト線68が減勢されて
、サイクル●スチール●ボール専用ラッチ75がリセッ
トされると、優先順位符号器54の出力線541,54
2及び544上の信号は、アンドゲート82並びに下位
入力線831乃至833を通つてLCOアドレス・レジ
スタ40へロードされ、これらと同時に、線78上のサ
イクル・スチール修飾ビットは、上位入力線834及び
835を通つてLCOレジスタ40へロードされる。こ
の時、サイクル●スチール応答ラッチ76がセットされ
ているので、サイクル・スチール応答(線55)がI/
0装置に知らされる。LCOレジスタ40の出力線41
へ供給されたアドレスによつて指定されるu重14中の
サイクル・スチール・レジスタは、関接主記憶装置アド
レスを母線13へ供給する。Deassertion of the signal on common interrupt request line 70 signals CPU 9 that all I/O devices have removed their interrupt priority bits from ball bus 53. When the common cycle steal request line 68 is deenergized and the cycle steal ball specific latch 75 is reset, the output lines 541, 54 of the priority encoder 54
2 and 544 are loaded into LCO address register 40 through AND gate 82 and lower input lines 831-833, while the cycle steal qualification bit on line 78 is loaded into LCO address register 40 through AND gate 82 and lower input lines 831-833; 835 into the LCO register 40. At this time, the cycle steal response latch 76 is set, so the cycle steal response (line 55) is
0 device is notified. Output line 41 of LCO register 40
The cycle steal register in u-plex 14, specified by the address supplied to bus 13, supplies the associated main memory address to bus 13.
この間接アドレスは、I/0データの取出し又は記憶を
するために、ALU22で増分される場合がある。最も
優先順位の低いサイクル・スチール・レベルは、優先順
位ビットを必要とせず、その強制された装置アドレス部
分は、すべての2進装置アドレスを許可するために、0
にされる。サイクル・スチール操作の初期においては、
サイクル・スチール・ボール専用ラッチ75がリセット
されて、連続的な割込みポーリング又はマイクロ命令の
順次実行が再開される。サイクル◆スチール・ボール専
用ラッチ75は、I/0装置が共通サイクル・スチール
・リクエスト線68を再びセットし得るように、まずリ
セットされねばならないだけであるから、順次パースト
●モード●サイクル●スチールが要求される場合には、
ラッチ75は再びセットされることになる。割込みマス
ク・レジスタ44は、サイクル・スチール・ボール専用
ラッチ75がセットされている時は常にデゲートされる
。1/0装置の非同期的なサイクル・スチール・リクエ
ストは、マイクロプロセッサ●クロックのゲート動作に
より、又は優先順位回路を安定化させるように共通ボー
ル母線53をラッチすることにより制御され得る。This indirect address may be incremented by ALU 22 to retrieve or store I/0 data. The lowest priority cycle steal level requires no priority bits and its forced device address portion is set to 0 to allow all binary device addresses.
be made into At the beginning of a cycle steal operation,
The cycle steal ball private latch 75 is reset to resume continuous interrupt polling or sequential execution of microinstructions. The cycle steal ball-specific latch 75 only has to be reset first so that the I/O device can set the common cycle steal request line 68 again, so that sequential burst modes cycle steal If requested,
Latch 75 will be set again. Interrupt mask register 44 is degated whenever cycle steal ball private latch 75 is set. Asynchronous cycle stealing requests for 1/0 devices may be controlled by gating the microprocessor clock or by latching the common ball bus 53 to stabilize the priority circuitry.
次に、本発明に従う計算システムの種々の構成装置につ
いて更に詳しく説明する。Next, various components of the computing system according to the present invention will be explained in more detail.
1/0単方向母線
本発明に従つて、単方向性の外部入力母線及び外部出力
母線を、ALU22を中心とする内部閉ループを構成す
るように接続すると、余分のバッファ・レジスタを用い
ることなく、最小数の制御論理ハードウェアでALU及
びデータ●バスを共用することによつて、内部処理、外
部1/0データ変更、並びにより精妙な多重レベル割込
み及びサイクル・スチールを処理するための割込みレベ
ルの切替え及びサイクル●スチール●アドレスの増分を
行なうことができる。1/0 unidirectional bus According to the present invention, when the unidirectional external input bus and external output bus are connected to form an internal closed loop centered on the ALU 22, without using an extra buffer register, By sharing the ALU and data buses with a minimal amount of control logic hardware, interrupt levels can be increased to handle internal processing, external 1/0 data changes, and more sophisticated multi-level interrupts and cycle stealing. Can switch and cycle ● steal ● address increment.
これは、CPUチップ9の入力用及び出力用に単方向母
線を用いることによつて達成される。This is achieved by using unidirectional busbars for the input and output of the CPU chip 9.
データ及びアドレスは、同じ出力母線20へ供給される
。I/0共通人力母線10は、CPUチップ9への唯一
のデータ入力母線である。この入力母・線10には、主
記憶装置12、LSRl4及びROSl6が接続されて
いる。上述のように、入力母線10は、CPU9へ向か
う単方向性の母線であるが、主記憶装置12は、出力母
線20に主記憶装置アドレスが保持されているときに、
入力)母線10を用いてデータの読取り又は書込みを行
なう。入力母線10は、ALU22の一方の入力に接続
された外部入力線としても働く。Data and addresses are fed to the same output bus 20. The I/0 common power bus 10 is the only data input bus to the CPU chip 9. A main storage device 12, LSR14, and ROS16 are connected to this input bus/line 10. As described above, the input bus 10 is a unidirectional bus heading toward the CPU 9, but the main memory 12 stores the main memory address when the output bus 20 holds the main memory address.
Input) The bus 10 is used to read or write data. Input bus 10 also serves as an external input line connected to one input of ALU 22.
ALU22の出力は、合計レジスタ24に一時記憶され
る。合計レジスタ24は、CPUチップ9の内部のすべ
てのレジスタにつながつている1つの共通出力母線25
を有している。この母線25は、出力をCPUチップ9
の外部へ供給するための出力バッファ・レジスタ26を
介して母線28に接続され、母線28は、駆動装置18
を出るとI/0共通出力母線20になる。本実施例では
、I/O共通出力母線20は2バイトの母線であつて、
LSRl4及び図示していない多数のI/O装置へデー
タを供給する。出力母線20はまた、主記憶装置12及
びROSl6(実行すべき命令が記憶される書込み可能
な制御記憶装置でもよい)のための時分割アドレス母線
としても働く。かくして、本発明に従うデータ処理シス
テムにおいては、データ及び命令を供給する入力母線1
0並びにデータ及びアドレスを供給する出力母線20か
ら成るループ構造の単方向母線アーキテクチヤが使用さ
れる。CPUチップ9から主記憶装置12へ直接データ
を供給するためのデータ・バスはないが、この問題は、
LSRl4中の選択されたレジスタ・ロケーションへC
PU9からの結果をロードするようにすると共に、主記
憶装置12とI−SRl4との間においては、単方向性
の入力母線10を反対方向のデータ転送にも使用する(
第1A図に二重破線で示されている)ことによつて解決
される。The output of ALU 22 is temporarily stored in summation register 24 . The summation register 24 is connected to one common output bus 25 that connects all the registers inside the CPU chip 9.
have. This bus 25 outputs the output to the CPU chip 9.
The bus 28 is connected to the bus 28 via an output buffer register 26 for supplying the driver 18 externally.
When it exits, it becomes the I/0 common output bus 20. In this embodiment, the I/O common output bus 20 is a 2-byte bus, and
Data is supplied to LSRl4 and a number of I/O devices (not shown). Output bus 20 also serves as a time-shared address bus for main memory 12 and ROS16 (which may be a writable control store in which instructions to be executed are stored). Thus, in a data processing system according to the invention, an input bus 1 for supplying data and instructions is provided.
A unidirectional bus architecture is used in a loop structure consisting of an output bus 20 supplying 0 and data and addresses. Although there is no data bus for directly supplying data from the CPU chip 9 to the main memory 12, this problem
C to selected register location in LSRl4
In addition to loading the results from the PU 9, the unidirectional input bus 10 is also used for data transfer in the opposite direction between the main storage device 12 and the I-SR14.
(indicated by a double dashed line in FIG. 1A).
かくして、内部データ変更マイクロ命令が出される度に
、余分の命令又は時間を必要とすることなく、出力母線
20上の結果データをLSRl4の選択されたローカル
記憶レジスタへ任意にセットし得る.ようにすることに
より、CPUチップ9へ向かう入力母線10の単方向性
が維持される。このような構成をとると、両母線即ち入
力母線10及び出力母線20におけるバイブライン操作
及び同時操作が可能になり、前のマイクロ命令が入力母
線10上のデータを用いて実行されている間に、出力バ
ッファ・レジスタ26は次のマイクロ命令をROSl6
から取り出すためのアドレスを保持することができる。
また、出力バッファ●レジスタ26は主記憶装置12を
直接アクセスするのにも・用いられ、そして主記憶装置
12及びROSl6に対するこれら2つのアドレス・モ
ードの間に、ビット幅の狭いデータ●ウインドが、別に
設けられた6ビットのミニ●アドレス母線21によつて
アドレス指定されたローカル記憶レジスタ又は1/0装
置へデータを転送する。このデータ・ウインドは、各サ
イクル・スチール応答の報告及び割込みレベルの切替え
も行なう。64個のローカル記憶レジスタのうちの1つ
を出力母線イメージ・レジスタとしてとつておくことに
より、CPUチップ9の内部におけるデータ・フローを
、共通のAL,Uを中心として構成することができる。Thus, each time an internal data modification microinstruction is issued, the resulting data on output bus 20 can be arbitrarily set into a selected local storage register of LSR14 without requiring any extra instructions or time. By doing so, the unidirectionality of the input bus 10 toward the CPU chip 9 is maintained. Such an arrangement allows vibrate and simultaneous operations on both buses, input bus 10 and output bus 20, while a previous microinstruction is being executed using data on input bus 10. , output buffer register 26 stores the next microinstruction in ROSl6
It can hold an address to retrieve from.
The output buffer register 26 is also used to directly access main memory 12, and between these two address modes for main memory 12 and ROS16, a separate narrow bit-width data window is provided. Data is transferred to the local storage register or 1/0 device addressed by the provided 6-bit mini-address bus 21. This data window also reports each cycle steal response and switches interrupt levels. By setting aside one of the 64 local storage registers as an output bus image register, the data flow within the CPU chip 9 can be organized around the common AL and U.
この場合、合計レジスタ24は、出力レジスタ26をノ
介して他のすべての内部データを供給したり、レジスタ
及び外部の装置をアドレス指定したりする。このように
して、外部のどのようなI/0装置も、,AL,U22
を内部処理のための諸装置と共用することができる。単
方向性の外部ループ母線を利用すると、割込みレベルの
切替え並びに共通のALU及びデータバスを介して記憶
装置アドレスを自動的に増分して行なわれる直接メモリ
・チャネル・アクセス(サイクル●スチール)について
、CPUチップの内部トランスペアレンシーが達成され
る。In this case, the summation register 24 provides all other internal data and addressing registers and external devices via the output register 26. In this way, any external I/O device, AL, U22
can be shared with devices for internal processing. The unidirectional outer loop bus allows direct memory channel accesses (cycle steals) to be performed by switching interrupt levels and automatically incrementing storage addresses over a common ALU and data bus. Internal transparency of the CPU chip is achieved.
ループ母線アーキテクチヤは、命令実行のオーバーラッ
プ及びバイブライン処理を可能にする。The loop bus architecture allows for overlapping instruction execution and bi-line processing.
これの例を幾つか次に挙げておく。第1の例では、RO
S命令が入力母線10上にあるとき(普通は、各マイク
ロ命令サイクルの始め及び終り)には常にバイブライン
処理が行なわれ、このときI/0共通出力母線20は、
I/0装置へデータを送り始める。Here are some examples of this: In the first example, R.O.
Vibration processing occurs whenever an S instruction is on the input bus 10 (usually at the beginning and end of each microinstruction cycle), when the I/0 common output bus 20 is
Start sending data to the I/0 device.
第2の例では、データがI/0装置又は卜玉14から入
力母線10へ送られて、.AL,U22を用いて内部処
理されているときに、オーバーラップ操作が行なわれる
。このとき、出力母線20上にはROSアドレスがあり
、従つて次の命令がアクセスされている。第3の例では
、前の命令実行の結果をLSRl4へ記憶すると共に、
新しい命令の実行を開始するときに、オーバーラップ操
作が行なわれる。In a second example, data is sent from the I/O device or disk 14 to the input bus 10, . An overlap operation is performed during internal processing using AL, U22. At this time, there is a ROS address on the output bus 20, and therefore the next instruction is being accessed. In the third example, the result of the previous instruction execution is stored in LSRl4, and
An overlap operation is performed when starting execution of a new instruction.
LSRl4は、新しい命令サイクルのクロック1の間に
ロードされ、一方、新しい命令の実行はクロック0で開
始される。LCOレジスタ40の6本の出力線41は、
どのような型の命令が実行されているかに応じて、LS
Rl4の64個の半ワード・ロケーション又はI/0装
置を8個までアドレス指定するのに用いられる補助アド
レス母線21を構成する。この補助アドレス母線21及
びループ構造の入出力母線10,20を組合わせて用い
ると、1サイクル中に複数の操作を遂行することができ
る。I/O装置は、1つの命令の実行中において、補助
アドレス母線21を介してアドレス指定されている間に
、入力母線10へデータを供給したり、ALU22で処
理されたデータを受取つたり、出力母線20上の算術的
に又は論理的に変更されたデータを参照したりすること
ができる。これは、ALU操作を伴わない簡単なI/0
データ転送を行なうにも3個の命令を必要とする従来の
チャネルに比べて、優れた点である。従来のチャネルに
よるI/0データ転送においては、まず処理装置から共
通1/O母線アドレスが送られ、続いてI/0装置は、
そのアドレスを認識したことを知らせるために、応答確
認式のインターフェースを介して処理装置に応答する。
処理装置がコマンドを送り出すためには、別の命令が必
要である。I/0装置は、処理装置からのコマンド・ア
ウトにも応答する。これが終ると、処理装置は、何れの
方向にデータを転送すべきかに応じて、3番目の命令即
ち読出し命令又は書込み命令を実行する。1/0共通出
力母線20は、実行されるべきすべての命令についてオ
ーバーラップ操作が行なわれ得るように、多重化される
。LSRl4 is loaded during clock 1 of the new instruction cycle, while execution of the new instruction begins at clock 0. The six output lines 41 of the LCO register 40 are
Depending on what type of instruction is being executed, the LS
It constitutes an auxiliary address bus 21 that is used to address up to eight I/O devices or sixty-four half-word locations of Rl4. By using this auxiliary address bus 21 in combination with the loop-structured input/output buses 10, 20, multiple operations can be performed during one cycle. During the execution of an instruction, an I/O device may supply data to the input bus 10 or receive data processed by the ALU 22 while being addressed via the auxiliary address bus 21. Arithmetic or logically modified data on the output bus 20 can be referenced. This is a simple I/O that does not involve ALU operation.
This is an advantage over conventional channels, which require three instructions to perform a data transfer. In a conventional channel I/0 data transfer, the processing unit first sends the common 1/O bus address, then the I/0 device
It responds to the processing device via an acknowledged interface to indicate that it recognizes the address.
Another instruction is required for the processing unit to issue a command. The I/0 device also responds to commands out from the processing device. Once this is done, the processing unit executes the third instruction, a read instruction or a write instruction, depending on which direction the data is to be transferred. The 1/0 common output bus 20 is multiplexed so that overlapping operations can be performed for all instructions to be executed.
ここで、゜“オーバーラップ゛とは、処理装置が現命令
を内部で処理している間に、次の命令が命令記憶装置即
ちROSl6からアクセスされることを意味する。これ
は、共通母線を介して、例えばクロック0乃至7(8ク
ロック)から成る命令サイクルのうちの5ク的ンクてR
OSl6をアドレス指定し、そして残りの3クロックて
LSRl4又はI/0装置へデータを送るようにするこ
とによつて行なわる。主記憶装置12
主記憶装置12は、マイクロコンピュータ及び1/0装
置の両方からのデータを記憶するための、アドレス指定
変更が可能なメモリである。Here, "overlap" means that while the processing unit is processing the current instruction internally, the next instruction is accessed from the instruction storage device, ROS16. For example, 5 clocks of an instruction cycle consisting of clocks 0 to 7 (8 clocks) R
This is done by addressing OSl6 and allowing the remaining three clocks to send data to LSRl4 or the I/O device. Main Memory 12 Main memory 12 is an addressable memory for storing data from both the microcomputer and the 1/0 device.
データは、読出しモード及び書込みモードの両方におい
て、母線11を介して、主記憶装置12と1/0共通人
力母線10との間を転送される。主記憶装置12のため
のクロック及び制御信号は線19から与えられ、アドレ
スはI/0共通出力母線20から与えられる。主記憶装
置12がアクセスされるときは、命令を倍サイクル命令
にするために、常に余分のサイクルが付加される。Data is transferred between main storage 12 and 1/0 common human power bus 10 via bus 11 in both read and write modes. Clock and control signals for main memory 12 are provided on line 19 and addresses are provided on I/0 common output bus 20. Whenever main memory 12 is accessed, extra cycles are added to make the instruction a double cycle instruction.
あとで説明するように、その第1サイクルにおいては、
爲Rl4又は拡張レジスタ36から得られる主記憶装置
アドレス・ポインタの増分、減分その他のアドレス変更
が行なわれる。(たとえ連続式ポインタが用いられてい
なくても、アドレス指定のための自動増減分システムは
、連続式ポインタと同程程度の機能を有するので、これ
により連続式操作が可能になる。)主記憶装置12の読
出し又は書込みは、主記憶装置アドレス●ポインタが更
新されて、新しい有効アドレスが得られた後に、第2サ
イクルで実行される。このアドレスは、第2サイクル(
主記憶装置メモリ●サイクル)の間、出力バッファ・レ
ジスタ26に保持されており、8クロックで主記憶装置
12をアドレス指定する。主記憶装置12は、次のよう
にして、バイブライン方式で動作する。As explained later, in the first cycle,
Incrementing, decrementing, or other address changes are made to the main memory address pointer obtained from Rl4 or expansion register 36. (Even if continuous pointers are not used, the automatic increment/decrement system for addressing is as functional as continuous pointers, allowing continuous operations.) Main memory A read or write to device 12 is performed in the second cycle after the main memory address pointer has been updated to obtain a new effective address. This address is used in the second cycle (
It is held in the output buffer register 26 during the main memory memory cycles) and addresses the main memory 12 in eight clocks. The main storage device 12 operates in the Vibration system as follows.
主記憶装置12のフエツチ(取出し)操作の間に、デー
タが主記憶装置12から入力母線10へ送られ、そして
CPU9の1つの内部レジスタヘロードされる。このデ
ータは、フエツチ操作の終り(クロック0)において、
次の命令サイクルが開始されていようとしているときに
、AL,U22を通つて合計レジスタ24の方へゲート
され、次いで出力バッファ●レジスタ26へ転送される
。出力バッファ・レジスタ26にデータがセットされる
と、現主記憶装置アドレスが破壊される。ROSl6R
OSl6(実行可能な制御記憶装置と呼ばれることもあ
る)は、マイクロコンピュータの制御プログラムを構成
する実行可能な命令を記憶して.いる。During a main memory 12 fetch operation, data is sent from main memory 12 to input bus 10 and loaded into one internal register of CPU 9. This data is stored at the end of the fetch operation (clock 0).
When the next instruction cycle is about to begin, it is gated through AL, U 22 to the summation register 24 and then transferred to the output buffer register 26. When data is set in the output buffer register 26, the current main memory address is destroyed. ROSl6R
The OS16 (sometimes referred to as executable control storage) stores executable instructions that make up the microcomputer's control program. There is.
これらの命令は、入力母線10へ読出された後、プログ
ラム・レジスタ30に一時記憶され、続いて命令解読器
62で解読される。命令解読器62は、タイミング回路
と協働して、種々の命令を実行するために、ゲート、レ
ジスタ及び操ノ作回路を制御する。ROSl6もバイブ
ライン方式で動作する。After these instructions are read to input bus 10, they are temporarily stored in program register 30 and subsequently decoded by instruction decoder 62. Instruction decoder 62 cooperates with timing circuits to control gates, registers, and manipulation circuits to execute various instructions. ROS16 also operates in a vibrating manner.
通常は各マイクロ命令サイクルの開始時にあたるクロッ
ク0において、入力母線10からプログラムレジスタ3
0へ命令がセットされる。これと同時に、出力バッファ
・レジスタ26にデータがセットされる。かくして、出
力母線20上のアドレスによつてアドレス指定されたR
OSl6から入力母線10へ供給されたデータの受取り
と、出力母線20上のアドレスの破壊とが同時に行なわ
れる。駆動回路及び論理回路を含む回路網中の固有の遅
延のため、これらの操作が同時に遂行されるようなバイ
ブライン処理が行なわれることになる。LSRl4
LSRl4は、アドレス指定及び変更が可能な複数のレ
ジスタ・ロケーションを含んでいる。At clock 0, which is typically the beginning of each microinstruction cycle, input bus 10 to program register 3
The command is set to 0. At the same time, data is set in the output buffer register 26. Thus, R addressed by the address on output bus 20
The reception of data supplied from the OS16 to the input bus 10 and the destruction of the address on the output bus 20 are performed simultaneously. Inherent delays in the circuitry including drive circuits and logic circuits result in vibline processing such that these operations are performed simultaneously. LSRl4 LSRl4 contains multiple addressable and modifiable register locations.
データは、線21を介してアドレス指定されたときに、
出力母線20からLSRl4へ書込まれたり、入力母線
10へ読出されたりする。入力母線10へ読出されたデ
ータは、主記憶装置12又はCPU9へ送られる。LS
Rl4のロケーション0は、あとで説明する条件のもと
で、出力バッファ・レジスタ26のデータを保管するた
めにとつておかれる。AL,U22
ALU22は、データ処理、マイクロ命令アドレスの増
分、変位ブランチ、サブルーチン連結、主記憶装置のア
ドレス指定、アドレス変更、データのフエツチ又は記憶
、割込み処理、及びサイクル・スチール操作を実行する
ために、時分割方式で共用される。When data is addressed via line 21,
It is written to the LSR14 from the output bus 20 or read to the input bus 10. The data read to the input bus 10 is sent to the main storage device 12 or the CPU 9. L.S.
Location 0 of Rl4 is reserved for storing data in output buffer register 26, under conditions described below. AL, U22 The ALU 22 is used to perform data processing, microinstruction address incrementation, displacement branches, subroutine concatenation, main memory addressing, address modification, data fetching or storage, interrupt handling, and cycle stealing operations. , shared in a time-sharing manner.
ALU22でオーバーフローが起こつたときには、線6
5へオーバーフロー信号が出力される。線67には、桁
上げ又は借りが供給される。ALU22の時分割使用は
、アドレス・レジスタ32及びALUデータ・フローを
統合すると共に、LSRl4を用いることによつて可能
になる。When an overflow occurs in ALU 22, line 6
An overflow signal is output to 5. Line 67 is supplied with a carry or borrow. Time-sharing use of ALU 22 is enabled by integrating address registers 32 and ALU data flow and by using LSR14.
アドレス・レジスタ32(非増分型の簡単な極性保持レ
ジスタ)は、ROS命令アドレスを増分又.は変更する
ために、半サイクルおきにAL.U22を時分割する。
正方向変位又は負方向変位のブランチ及び連結は、AL
U22へ至る単一データ・バスにより簡単にされる。A
LU22からの出力は出力母線20の方へ送られるので
、マイクロ・アドレスは、割込み復帰ポインタとしてL
S)Rl4に記憶される場合がある。同様に、u玉14
から入力母線10へ読出されたデータは、ALU22を
通つてアドレス●レジスタ32へゲートされるので、新
しい割込みルーチン・ポインタのロード又は前に割込ま
れたルーチン・ポインタの復帰が可能であり、従つて、
基本ALUデータ・フローの中に、拡張可能な優先割込
み構造を含ませることができる。?Rl4の1つのロケ
ーション(ロケーション0)は、出力バッファ●レジス
タ26の内容の保管及び再生のために用いられる。CP
U9は、アクセス及び更新を同時に行なうために、出力
バッファ・レジスタ26がLSRl4ノの選択されたレ
ジスタ・ロケーションからの又は拡張レジスタ36の如
きオペランド・レジスタからの手記憶装置アドレスを保
持している間に、主記憶装置12からデータをフエツチ
して、入力母線10及びALU22を介して内部オペラ
ンド・・レジスタにこれを記憶する。前のマイクロ命令
の実行から得られた主記憶装置12に記憶されるべきマ
イクロプロセッサ・データは、まず出力バッファ・レジ
スタ26を介して、LSRl4の選択されたレジスタ・
ロケーションへ送られる。LSRl4に記憶されたデー
タは、主記憶装置書込みマイクロ命令により、入力母線
10の方へゲートされ、次いで主記憶装置12に書込ま
れる。加うるに、LSRl4の幾つかのロケーションは
、直接1/O装置サイクル・スチール操作を行なうため
の間接主記憶装置アドレス・レジスタとしても働く。Address register 32 (a non-incremental, simple polarity holding register) stores the ROS instruction address in increments or . is changed every half cycle. U22 is time-divided.
Positive or negative displacement branches and connections are AL
Simplified by a single data bus to U22. A
Since the output from LU 22 is sent towards output bus 20, the micro address is used as an interrupt return pointer.
S) May be stored in Rl4. Similarly, u ball 14
Data read from to input bus 10 is gated through ALU 22 to address register 32 so that a new interrupt routine pointer can be loaded or a previously interrupted routine pointer can be restored; Then,
An extensible priority interrupt structure can be included within the basic ALU data flow. ? One location of Rl4 (location 0) is used for storage and playback of the contents of the output buffer register 26. C.P.
U9 maintains the hand storage address from the selected register location of LSR14 or from an operand register, such as extension register 36, for simultaneous access and update. It then fetches data from main memory 12 and stores it in internal operand registers via input bus 10 and ALU 22. Microprocessor data to be stored in main memory 12 resulting from the execution of a previous microinstruction is first transferred to the selected register of LSR14 via output buffer register 26.
sent to location. Data stored in LSR14 is gated towards input bus 10 and then written to main memory 12 by the main memory write microinstruction. In addition, some locations in LSRl4 also serve as indirect main storage address registers for direct 1/O device cycle steal operations.
この場合、各優先レベルに対して1つのレジスタ・ロケ
ーションが割当てられる。1/0装置は、自身のデータ
長カウンタを有している。In this case, one register location is allocated for each priority level. The 1/0 device has its own data length counter.
主記憶装置12をアドレス指定して、入力母線10上の
I/0データを主記憶装置12に書込むために、又は主
記憶装置12からデータを読出して、これを入力母線1
0、ALU22及び出力母線20を介してI/0装置の
方へ転送するために、LSRl4中の主記憶装置アドレ
ス●レジスタの内容は、ALU22で自動的に増分され
て、出力母線20の方へ送られる。I/0装置は、出力
母線20を介してCPU9からのデータを受取り、また
入力母線10を介してCPU9へデータを送る。被?有
ALU22は、エミユレートされた命令を解読するのに
用いられる。Addresses main memory 12 to write I/0 data on input bus 10 to main memory 12 or to read data from main memory 12 and transfer it to input bus 10.
0, the contents of the main memory address register in LSR14 are automatically incremented in ALU 22 and transferred towards output bus 20 via ALU 22 and output bus 20 towards the I/O device. Sent. The I/0 device receives data from CPU 9 via output bus 20 and sends data to CPU 9 via input bus 10. Covered? ALU 22 is used to decode emulated instructions.
エミユレートされている命令の0Pコードは、ROSl
6内において、実行中の現命令のすぐ下にあるテーブル
を指示する変位ポインタを得るために、ALU22によ
つて、アドレス●レジスタ32にある現命令アドレスに
加えられる。このようにして、エミユレートされた命令
を実行するために、ROSl6の命令に対し256ウェ
イのブランチが得られる。命令アドレス・レジスタ32
を共用することにより、基本命令実行のためにある同じ
データ・バスを介して、割込み切替えが行なわれる。命
令アドレス・レジスタ32にある命令アドレスは、Al
.U22、合計レジスタ2牡内部母線25、出力バッフ
ァ・レジスタ26及び出力母線20を介して、田Rl4
に記憶される。かくして、割込みが起こつたときには、
現プログラム優先レベルにおいて実行されていたはずの
次の命令を示すポインタが?Rl4に保管される。次に
、優先順位符号器54で作られてLCOレジスタ40に
おいてアドレスを発生させる優先順位コードを用いるこ
とにより、実行されるべき最高のレベルが決定される。
LCOレジスタ40は、この割込みレベルに対するRO
Sl6中のサブルーチンを示すポインタを含んでいるL
SRl4中の特定のレジスタ・ロケーションをアドレス
指定する。LSRl4から読出されたポインタは、実行
されるべき割込みレベルのためのサブルーチンをROS
l6から読出すためにアドレス・レジスタ32及び出力
バッファ・レジスタ26に記憶される前に、入力母線1
0を介してCPUチップ9へ送られ、そして,AL.U
22を通つて合計レジスタ24にセットされる。割込み
処理が終ると、現割込みサブルーチン・ポインタはLS
Rl4に記憶され、そして割込まれたプログラムのため
のアドレス●ポインタがそこから取出される。プログラ
ム・レジスタ30
プログラム・レジスタ30は、現命令のためのバッファ
であつて、CPUチップ9で実行されている命令の0P
コードを保持する。The 0P code of the instruction being emulated is ROSl
6 is added by ALU 22 to the current instruction address in address register 32 to obtain a displacement pointer pointing to the table immediately below the current instruction being executed. In this way, a 256-way branch is obtained for the ROS16 instruction to execute the emulated instruction. Instruction address register 32
Interrupt switching occurs via the same data bus for basic instruction execution. The instruction address in the instruction address register 32 is Al
.. U22, total register 2 internal bus 25, output buffer register 26 and output bus 20, Rl4
is memorized. Thus, when an interrupt occurs,
Is there a pointer to the next instruction that would have been executed at the current program priority level? Stored in Rl4. The highest level to be executed is then determined by using the priority code produced by priority encoder 54 to generate an address in LCO register 40.
The LCO register 40 contains the RO register for this interrupt level.
L containing a pointer to a subroutine in Sl6
Addresses a specific register location in SRl4. The pointer read from LSRl4 points to the subroutine for the interrupt level to be executed.
input bus 1 before being stored in address register 32 and output buffer register 26 for reading from l6.
0 to the CPU chip 9, and AL. U
22 to the summation register 24. When interrupt processing is finished, the current interrupt subroutine pointer is set to LS.
It is stored in Rl4 and the address pointer for the interrupted program is retrieved from there. Program Register 30 The program register 30 is a buffer for the current instruction, and is a buffer for the 0P of the instruction being executed by the CPU chip 9.
Keep the code.
プログラム・レジスタ30に記憶されている命令のカウ
ント・フィー.ルド又はアドレス●フィールドは、減分
レジスタ38及びLCOレジスタ40へ直接ゲートされ
らる場合がある。合計レジスタ24
合計レジスタ24は、AL.U22の出力を受取つて、
これを母線25へロードする。Instruction count fee stored in program register 30. The field or address field may be gated directly into the decrement register 38 and LCO register 40. Total Register 24 The total register 24 is the AL. Upon receiving the output of U22,
This is loaded onto the bus bar 25.
この動作は、各命令実行サイクルの間に少なくとも2回
行なわれる。1回は、実行されるべき次の命令のアドレ
スを受取つて母線25へロードするものであり、もう1
回は、命令で指定された演算の結果をAL.U22から
受取つて母線25へロードするものである。This operation is performed at least twice during each instruction execution cycle. Once, the address of the next instruction to be executed is received and loaded onto the bus 25, and once
The AL. It receives it from U22 and loads it to the bus 25.
ALU22からのデータが合計レジスタ24に一時的に
保持された後、出力バッファ・レジスタ26へ送られて
そこに一時記憶されている間、或る操作を入力母線10
上で実行すると同時に、別の操作を出力母線20上で実
行するということが可能である。While the data from the ALU 22 is temporarily held in the summation register 24 and then sent to the output buffer register 26 for temporary storage there, certain operations can be performed on the input bus 10.
It is possible to simultaneously perform another operation on the output bus 20.
ループにおけるこのような2段バッファリングは、オー
バーラップ操作及びバイブライン処理を可能にする。命
令アドレス・レジスタ32
命令アドレス・レジスタ32の内容は、次に実行される
べき命令をROSl6から取出すために、各命令実行の
間にALU22によつて変更される。Such two-stage buffering in the loop enables overlap operations and vibe line processing. Instruction Address Register 32 The contents of instruction address register 32 are modified by ALU 22 during each instruction execution to retrieve the next instruction to be executed from ROS16.
累算レジスタ34及び拡張レジスタ36
累計レジスタ34及び拡張レジスタ36は、各々16ビ
ットの作業用レジスタであつて、算術シフト、左方向若
しくは右方向への論理シフト、左シフト計数、又は左方
向若しくは右方向への回転の如きシフト動作を用いる命
令のために、32ビットの容量を与える。Accumulation Register 34 and Extension Register 36 The accumulation register 34 and the extension register 36 are each 16-bit working registers, and are used for arithmetic shifts, logical shifts left or right, left shift counting, or left or right shifts. Provides 32 bits of capacity for instructions that use shift operations such as rotation in direction.
これらのレジスタは、計数レジスタ50及び出力バッフ
ァ・レジスタ26と同じく内部オペランド・レジスタで
あつて、マイクロプロセッサ内部て算術演算及び論理演
算を実行するために、マイクロ命令によつて直接アドレ
ス指定され得る。These registers, like count register 50 and output buffer register 26, are internal operand registers and can be directly addressed by microinstructions to perform arithmetic and logical operations within the microprocessor.
こjれらのレジスタの内容は、外部のLSRl4又は他
の内部レジスタの1つに記憶されている内容(例えば演
算結果)によつて変更することができる。出力バッファ
●レジスタ26出力バッファ・レジスタ26は二重機能
を有しiている。The contents of these registers can be changed by the contents (eg, operation results) stored in the external LSR14 or one of the other internal registers. Output Buffer Register 26 The output buffer register 26 has dual functionality.
ALU22のためののオペランド●レジスタとして働く
ときには、出力バッファ●レジスタ26は、マイクロプ
ログラムの指示通りにデータを保持する。また、アドレ
ス・ポインタの転送を強制する割込み又はDMAサイク
ル・スチーフル●アクセスにおいては、アドレス及びデ
ータの両方が出力バッファ・レジスタ26を介して転送
されねばならない。マイクロプログラムによつて出力バ
ッファ・レジスタ26に置かれたデータがなくならない
ようにするため、割込み制御又はサイクル・スチール操
作においてマイクロプロセッサが命令、アドレス及びデ
ータを変更するときには、LSRl4のレジスタ●ロケ
ーション0が、出力バッファ・レジスタ26に対応する
イメージ・レジスタとして用いられる。LSRl4のレ
ジスタロケーション0に記憶された出力バッファ●レジ
スタ26の内容(オペランド)は、割込み処理又はサイ
クル・スチール操作の完了後に、出力バッファ・レジス
タ26へ戻すことができる。従つて、出力バッファ・レ
ジスタ26のための余分のバッファ●アップ●レジスタ
をCPUチップ9に設けることは不要である。電力駆動
装置18
母線28上の情報は、チップ9から電力駆動装置18を
介して出力母線20の方へ送られる。When serving as an operand register for ALU 22, output buffer register 26 holds data as directed by the microprogram. Also, on interrupts or DMA cycle stealth accesses that force address pointer transfers, both the address and data must be transferred through the output buffer register 26. To ensure that the data placed in the output buffer register 26 by the microprogram is not lost, register location 0 of LSRl4 is used when the microprocessor changes instructions, addresses, and data during interrupt control or cycle steal operations. is used as an image register corresponding to output buffer register 26. The contents (operands) of the output buffer register 26 stored in register location 0 of LSR14 can be returned to the output buffer register 26 after completion of the interrupt processing or cycle steal operation. Therefore, it is not necessary to provide an extra buffer up register for the output buffer register 26 on the CPU chip 9. Power Drive 18 Information on bus 28 is sent from chip 9 via power drive 18 towards output bus 20 .
LSlチップにおいては、各駆動装置は1つの負荷を駆
動できるだけである。従つて、出力母線20は、多数の
ユニット(負荷)に接続されている共通母線であるから
、再付勢(RepOwer)が必要になる。(この再付
勢を行なうに際し、チャネル・ライン数の拡張は、8ク
ロックから成る各マイクロ命令サイクルの異なつたクロ
ック期間中に現存のラインをアップ●レベル又はダウン
●レベルへ符号化することにより達成される。減分レジ
スタ38
減分レジスタ38は、すべてのシフト命令、乗算命令、
除算命令、減分命令、テスト命令及びブランチ命令にお
いて計数動作を行なうのに用いられる。In LSL chips, each driver can only drive one load. Therefore, since the output bus 20 is a common bus connected to a large number of units (loads), re-energization (RepPower) is required. (In performing this re-energization, the expansion of the number of channel lines is accomplished by encoding the existing lines to up or down levels during different clock periods of each eight-clock microinstruction cycle. Decrement register 38 The decrement register 38 is used for all shift instructions, multiplication instructions,
It is used to perform counting operations in divide, decrement, test, and branch instructions.
減分レジスタ38は、32ビット位置までの直接シフト
が要求されたときに、プログラム・レ.ジスタ30から
入力を受取り、そして減分された値をプログラム・レジ
スタ30へ戻す。計数レジスタ50の内容がシフト計数
値になる間接シフトにおいては、直接シフトの場合と同
じく1ずつの減分が行なわれ、減分レジスタ38は、減
分され一た値が計数レジスタ50へ戻される前に、これ
を保持する。本実施例では、最大シフトは32であるか
ら5ビットの減分レジスタ38で十分である。Decrement register 38 is used to decrement the program level when a direct shift to a 32-bit position is requested. It receives an input from register 30 and returns a decremented value to program register 30. In an indirect shift in which the contents of the count register 50 become the shift count value, decrements by 1 are performed as in the case of a direct shift, and the decrement register 38 is decremented and the reduced value is returned to the count register 50. Hold this before. In this embodiment, the maximum shift is 32, so a 5-bit decrement register 38 is sufficient.
しかしながら、フィールド長の計数に関しては、計数レ
ジースタ50も用いられる。この動作を行なうためには
、8ビットを用いた減分動作が必要である。これは、5
ビットの減分レジスタ38を2回循環させ、最初に計数
レジスタ50から4ビットのキャラクタを取出し、これ
を減分し、そして5桁目のビット位置に桁上げを記憶す
ることによつて行なわれる。記憶された桁上げ(桁上げ
があつた場合)は、8ビットの減分された値を形成する
ために、計数レジスタ50からの上位4ビットのキャラ
クタと共に減分されて、計数レジスタ50へ戻される。
LCOレジスタ40
LC0レジスタ40は、どのデータが転送されノようと
しているいかに応じて、I/0装置又はLSRl4のレ
ジスタ・ロケーションをアドレス指定する。However, for field length counting, counting register 50 is also used. To perform this operation, a decrement operation using 8 bits is required. This is 5
This is accomplished by cycling the bit decrement register 38 twice, first taking a 4-bit character from the count register 50, decrementing it, and storing the carry in the fifth bit position. . The stored carry (if there is a carry) is decremented and returned to the count register 50 along with the upper 4 bit characters from the count register 50 to form an 8-bit decremented value. It will be done.
LCO Register 40 The LC0 register 40 addresses a register location in the I/O device or LSR14, depending on what data is being transferred.
現条件コード・レジスタ48
現条件コード・レジスタ48の上位4ビット・は、4つ
の条件コードを保持し、下位4ビットは、4つのプログ
ラム可能な標識(フラグ)を保持する。Current Condition Code Register 48 The upper four bits of the current condition code register 48 hold four condition codes and the lower four bits hold four programmable indicators (flags).
これらのビットは、計数レジスタ50の非接続上位バイ
トを構成する。4つの条件コードは、あとで行なわれる
フィールド連結操作のため”に、算術演算の度にセット
される。4つの条件は、2進桁上げ、2の補数のオーバ
ーフロー、2の補数のマイナス及び累積的な非零標識で
ある。These bits constitute the unconnected upper byte of counting register 50. Four condition codes are set for each arithmetic operation for subsequent field concatenation operations. The four conditions are binary carry, two's complement overflow, two's complement minus, and accumulation. It is a non-zero indicator.
最後の非零標識は、任意のフィールド長において一旦セ
ットされると、マイクロ命令によつて変更されるまでセ
ットされたままに保たれる。計数レジスタ50
計数レジスタ50は、第2ALUオペランド●レジスタ
であるが、シフト計数器として用いられる場合もある。Once the last non-zero indicator is set for any field length, it remains set until changed by a microinstruction. Count Register 50 The count register 50 is the second ALU operand register, but may also be used as a shift counter.
最初に計数レジスタ50に記憶されたシフト計数値は、
累算レジスタ34又は拡張レジスタ36のシフトの度に
減分される。倍精度シフト動作を行なうためにこれらの
34及び36が相互接続されている場合にも、同様な減
分が行なわれる。左シフト計数命令においては、上位ビ
ットが見つかると直ちにシフト動作は中止され、このと
き計数レジスタ50に保持されている値は、どれ位のシ
フトが行なわれたかを示す。従つて、この値は、多くの
操作において、ROSl6又はLSRl4への間接アド
レス・ポインタになる。かくして、計数レジスタ50は
、内部母線25からロードすることができ、またI/0
装置又はLSRl4をアドレス指定するために、その内
容を,A[.U22で変更することができる。変更され
た結果は田0レジスタ40へロードされ、これにより母
線21を介して上述のアドレス指定が行なわれる。アド
レス計算における指標付け及び有効アドレスの計算のた
め、計数レジスタ50の内容は、Al.U22によつて
データと組合わされる正又は負の変位として用いられる
。The shift count value initially stored in the count register 50 is
It is decremented each time the accumulation register 34 or extension register 36 is shifted. A similar decrement occurs when 34 and 36 are interconnected to perform a double precision shift operation. In the left shift count instruction, the shift operation is aborted as soon as the upper bit is found, and the value held in count register 50 indicates how much of the shift has taken place. Therefore, this value becomes an indirect address pointer to ROSl6 or LSRl4 in many operations. Thus, counting register 50 can be loaded from internal bus 25 and also from I/0
To address the device or LSR14, its contents are A[. It can be changed in U22. The modified result is loaded into the register 40, which causes the above-described addressing via the bus 21. For indexing in address calculations and calculation of effective addresses, the contents of counting register 50 are stored in Al. Used as a positive or negative displacement to be combined with data by U22.
組合わされた結果は、LSRl4又はCPUチップ9上
の任意の内部レジスタに記憶される。保管条件コード・
レジスタ42
現条件コード・レジスタ48の出力は、保管条件コード
・レジスタ42へ選択的にバッファされる。The combined result is stored in any internal register on LSR14 or CPU chip 9. Storage condition code/
Register 42 The output of current condition code register 48 is selectively buffered into save condition code register 42.
ALU操作の結果としてセットされる基本条件コードは
、オーバーフロー、桁上げ一借り、累積的(CumuI
ative)非零、及びマイナスである。現条件コード
は、マイクロ命令による一番新しい演算結果に対してセ
ットされたものである。全左シフトにおいては、上位ビ
ットは、現桁上げ標識の方へシフトされる。左シフト計
数においては、上位ビットが現桁上げ標識をセットする
場合がある。ロード、記憶、論理、増分、減分、飛越し
及びブランチは条件コードを変更しない。レジスタ42
及び48にある条件コードは、別々にクリアすることが
てき、また飛越し命令によつて個々にテストすることが
できる。これらの条件コードの他に4つのプログラム制
御標識ビットがあり、これらは現条件コードと共に現条
件コード・レジスタ48に記憶される。マイクロ命令が
エミユレートされているときには、マイクロレベルでエ
ミユレートされている言語のマイクロレベル条件コード
を保管するため、正しい現マイクロレベル・コードが保
管条件コード・レジスタ42へ転送される。割込みマス
ク・レジスタ44
割込みマスク・レジスタ44は、許された割込みレベル
の現マスク状況を含む。The basic condition codes set as a result of an ALU operation are overflow, carry-borrow, and cumulative (CumuI).
active) is non-zero and negative. The current condition code is set for the latest operation result by the microinstruction. In a full left shift, the high order bits are shifted towards the current carry indicator. In left shift counting, the high order bit may set the current carry indicator. Loads, stores, logic, increment, decrement, jump and branches do not change the condition code. register 42
The condition codes at and 48 can be cleared separately and can be individually tested by jump instructions. In addition to these condition codes there are four program control indicator bits which are stored in the current condition code register 48 along with the current condition code. When a microinstruction is being emulated, the correct current microlevel code is transferred to the save condition code register 42 to save the microlevel condition code of the language being emulated at the microlevel. Interrupt Mask Register 44 The interrupt mask register 44 contains the current mask status of allowed interrupt levels.
このレジスタ44の内容も、AL.U22による変更、
LSRl4への記憶又は田Rl4からの復帰が可能であ
る。エラー●レジスタ46割込みマスク●レジスタ44
の下位ビットは、エラーの制御及び自動記録を行なう1
バイトのエラー・レジスタ46を構成する。The contents of this register 44 are also stored in AL. Changes by U22,
Storing to LSRl4 or returning from LSRl4 is possible. Error ● Register 46 Interrupt mask ● Register 44
The lower bit of 1 is used for error control and automatic recording.
Configure the byte error register 46.
自動記録され得る機械チェック・エラーとしては、例え
ば、ROSl6から取出された命令におけるパリテイ・
エラー、LSRl4からのデータ・エラー、入力母線1
0上でのパリテイ●チェックによつて検出される主記憶
装置12からのデータのパリテイ・エラー、I/0装置
の1つから受取られたデータにおけるパリテイ・エラー
、I/0装置がマイクロプロセッサ9に接続されないか
又はI/0装置がマイクロプロセッサ9を次のマイクロ
命令の方へ進ませないようなチャネル停止条件、及び存
在しないI/O装置に対してI/0命令が出され、従つ
てアドレスが検出不能であるような場合に生じるタイム
・アウト・エラーがある。これらのエラーは何れもエラ
ー・レジスタ46にセットすることができ、またその変
更、保管、テスト又はLSRl4への記憶も可能である
。ハードウェアによつて自動的にセットされるこれらの
エラーは、操作を再試行するか又は現操作を中止して操
作卓へ信号を供給するサブルーチンの方へ進むために、
マイクロプロセッサ9において最高レベル(レベル7)
の割込みを強制する。4相発生器60並びにクロック装
置64及び664相発生器60は、単相発振器(図示せ
す)から線59を介して入力を受取り、2つのクロック
装置即ち基本クロック装置66及び補助のシフト/タイ
ム・アウト・クロック装置64を駆動する。Machine check errors that can be automatically logged include, for example, parity errors in instructions fetched from ROS16.
Error, data error from LSRl4, input bus 1
Parity error in data from main memory 12 detected by parity check on 0, parity error in data received from one of the I/0 devices, when the I/0 device is microprocessor 9 channel stop conditions such that the I/O device is not connected to or the I/O device does not advance the microprocessor 9 to the next microinstruction, and an I/O instruction is issued to an I/O device that does not exist and thus There are time-out errors that occur when the address is not discoverable. Any of these errors can be set in error register 46, and can also be modified, saved, tested, or stored in LSR14. These errors are automatically set by the hardware to either retry the operation or abort the current operation and proceed to a subroutine that provides a signal to the console.
Highest level in microprocessor 9 (level 7)
force an interrupt. The four-phase generator 60 and clock devices 64 and 66 receive input via line 59 from a single-phase oscillator (not shown) and have two clock devices, a basic clock device 66 and an auxiliary shift/timer. - Drive out clock device 64.
基本クロック装置66は2クロック位置毎に停止され得
る2相クロック装置であつて、4つのオーバーラップし
たラッチ状態から与えられる8つのクロック解読位置を
有しており、各マイクロ命令サイクル毎に8つのクロッ
クを発生する。また、基本クロック装置66は、実行さ
れているマlイクロ命令が倍サイクルを必要とするとき
、即ち主記憶装置12がアクセスされるときに用いられ
る上位ラッチ位置(フリップフロップ)66aを有して
いる。主記憶装置12がアクセスされるとき、基本クロ
ック装置66は、倍サイクルの後半・において前半と同
じ8つのクロックを発生するが、このときは上位フリッ
プフロップ66aの働きにより、これら8つのクロック
はクロック8乃至15として出力される。基本クロック
装置66からのクロックの発生は、クロック・デコード
676bにより制御される。補助クロック装置64も、
上位フリップフロップ64a及び補助クロック・デコー
ド64bを有しているが、デコード64bは、4つの分
離したタイム・スロットを与える。また、上位フリップ
フロップ64aは、補助クロック装置64の最大タイム
●アウトである2回のランが実行されるとき、即ちクロ
ック発生サイクルが2回繰返されるとき(1命令実行サ
イクルに等しい)に使用される。補助クロック装置64
は、シフト操作、乗算操作又は除算操作が行なわれると
きには常に使用される。基本クロック装置66は、これ
らの操作が実行される場合は、7番目のクロック位置(
クロック6)で停止される。これは、シフト、乗算又は
除算の拡張操作の途中におけるサイクル・スチール操作
の実行を可能にする。補助クロック装置64は、I/0
装置が応答していない場合のタイム●アウトのため、又
は入力母線10に接続されているI/0装置の1つがデ
ータの交換を行なおうとしている場合の接続手順の実行
のためにも使用される。もしタイム・アウトが、割振ら
れた時間を超えていると、補助クロック装置64はクロ
ックの発生を中止し、そして最高レベルの割込み即ち機
械チェック割込みを開始するためにエラー・レジスタ4
6に標識をセットする。統合サイクル・スチール/割込
み制御チャネル第1A図乃至第1C図と共に第5図を参
照して説明すると、サイクル・スチール及び割込みの処
理は、8つのサイクル・スチール・レベル又は7つの割
込みレベルを与える共通ボール母線53により制御され
る。The basic clock unit 66 is a two-phase clock unit that can be stopped every two clock positions and has eight clock decoding positions provided by four overlapping latched states, and eight clock decoding positions for each microinstruction cycle. Generates a clock. The basic clock device 66 also has an upper latch location (flip-flop) 66a that is used when the microinstruction being executed requires double cycles, that is, when the main memory 12 is accessed. There is. When the main memory device 12 is accessed, the basic clock device 66 generates the same eight clocks as in the first half in the second half of the double cycle, but at this time, these eight clocks are Output as 8 to 15. Clock generation from base clock device 66 is controlled by clock decode 676b. The auxiliary clock device 64 also
It has an upper flip-flop 64a and an auxiliary clock decode 64b, but the decode 64b provides four separate time slots. Furthermore, the upper flip-flop 64a is used when two runs are executed, which is the maximum timeout of the auxiliary clock device 64, that is, when the clock generation cycle is repeated twice (equal to one instruction execution cycle). Ru. Auxiliary clock device 64
is used whenever a shift, multiplication, or division operation is performed. The basic clock device 66 clocks the seventh clock position (
It is stopped at clock 6). This allows performing a cycle steal operation in the middle of a shift, multiply or divide extended operation. Auxiliary clock device 64 is I/0
It is also used for timeouts in case a device is not responding or to perform a connection procedure in case one of the I/0 devices connected to the input bus 10 wants to exchange data. be done. If the timeout exceeds the allotted time, auxiliary clock unit 64 stops generating the clock and registers error register 4 to initiate the highest level interrupt, the machine check interrupt.
Set the indicator to 6. Integrated Cycle Steal/Interrupt Control Channel Referring to FIG. 5 in conjunction with FIG. It is controlled by the ball generatrix 53.
本実施例では、共通ボール母線53は7ビット幅であつ
て、実行可能な現プログラム●レベルよりも上位の7つ
の割込みレベルに対するリクエストを供給し得るように
構成されている。従つて、システム全体としては、8つ
の割.込みレベルが存在することになる。I/O装置と
優先順位付けされた7本の割込みリクエスト線との接続
は自由であつて、どのI/0装置をどの割込みリクエス
ト線に接続してもよい。第5図のサイクル●スチール●
ボール専用ラッチ75がセツ.卜されて、サイクル・ス
チール操作が実行される場合を除き、割込みのためのポ
ーリングは連続的に行なわれる。I/O装置は、CPU
9のサービスを要求するとき、共通ボール母線53の割
当てられた優先順位ビット線530乃至536へその・
リクエストを出す。優先順位符号器54には多数のリク
エストが送られ得るが、ここではそのうちの最高レベル
のリクエストが、8種類の優先順位のうちの1つを指定
する3ビットのコードへ符号化されて、線541,54
2及び544の方へ送られる。割込みの優先順位は、割
込みマスク・レジスタ44によつても制御される。もし
割込みマスク●レジスタ44が割込みを許すようにセッ
トされていると、割込みリクエストは、割込みゲート5
2のアンド回路96を通つて優先順位符号器54の方へ
送られ、そこでこのリクエストされた割込みの優先順位
が符号化される。符号化された割込みレベルは、3ビッ
トの現割込みレベル・レlジスタ56に記憶されている
現割込みレベルと比較装置58で比較される。レジスタ
56の内容は、新しいレベルが現レベルよりも上位であ
るか否かを調べるため、優先順位符号器54から符号化
された新しいレベルが供給される度にこれと比較される
。もし新レベルが現レベルよりも上位であれば、現プロ
グラム・チェーンにおける次の命令は実行されず、命令
アドレス・レジスタ32にある現レジスタ・ポインタは
、LSRl4中の現レベルのためのレジスタ●ロケーシ
ョンへ転送される。続いて、新レベル●ポインタが?R
l4の対応するレジスタ・ロケーションから取出されて
、命令アドレス・レジスタ32へ入れられる。割込みル
ーチンのためのLSRアドレス(8つの可能な割込みポ
インタのうちの1つ)は、次のようにして得られる。ま
ず、現割込みレベル・レジスタ56からの下位3ビット
が、線561,562及び564並びにゲート81を通
つて、LCOレジスタ40の入力線831,832及び
833へ各々送られる。割込まれたポインタを?Rl4
へ記憶させるためのLCOアドレスの残りのビットは、
現割込みレベル設定線73からLCOレジスタ40の上
位入力線834及び835へロードされる。LSRl4
中の割込みレジスタへの新しいポインタも同様にしてL
COレジスタ40へロードされる。この場合、上位入力
線834及び835は、現割込みレベル設定線73から
ロードされ、一方、下位入力線831乃至833は、符
号化された新割込みレベルが新割込みレベル・ロード線
72上の信号により、優先順位符号器54から現割込み
レベル●レジスタ56へ転送された後、このレジスタ5
6からロードされる。この結果、LCOアドレスは、選
択されたレベルの割込みを処理するたまのサブルーチン
(ROSl6にある)へのポインタを含むLSRl4中
のレジス夕・ロケーションのアドレスへ変更される。L
SRl4から取出されたアドレス・ポインタは、.AL
,U22及び合計レジスタ24を通つて、出力母線20
及び命令アドレス・レジスタ32へ送られる。新割込み
レベルのサブルーチンの実行が終了すると、ブランチ・
アウト命令が出される。この命令は、前に割込まれたプ
ログラムのポインタを復帰させるものである。割込みを
処理した上述のサブルーチンは、この割込みをリセット
する合ので、同じ割込みに対するリクエストはないはず
である。もし同じレベル又はより上位のレベルでの別の
割込みがリクエストされると、プログラムは元の割込ま
れた位置には戻らず、この新しい割込みリクエストを処
理する。これは、8つの割込みレベルまでのネスティン
グを可能にする。また、各割込みレベルについて、多数
のサブレベルが存在していてもよい。所与の割込みレベ
ルが一旦検出されると、割込みレベル状況ワード(IL
SW)命令がすべての例えば16個のI/0装置へ出さ
れる。In this embodiment, the common ball bus 53 is 7 bits wide and is configured to serve requests for seven interrupt levels above the current executable program level. Therefore, the system as a whole has a ratio of 8. There will be a level of inclusion. Connections between I/O devices and the seven prioritized interrupt request lines are arbitrary, and any I/O device may be connected to any interrupt request line. Figure 5 Cycle● Steel●
Ball-specific latch 75 is set. Polling for interrupts is continuous, except when a cycle steal operation is performed. The I/O device is the CPU
9, the signal is sent to the assigned priority bit lines 530-536 of the common ball bus 53.
Make a request. A number of requests may be sent to the priority encoder 54, where the highest level request is encoded into a 3-bit code specifying one of eight priorities and sent to the line. 541,54
2 and 544. Interrupt priority is also controlled by interrupt mask register 44. If the interrupt mask register 44 is set to allow interrupts, the interrupt request will be sent to the interrupt gate 5.
2 through an AND circuit 96 to the priority encoder 54 where the priority of this requested interrupt is encoded. The encoded interrupt level is compared in a comparator 58 with the current interrupt level stored in a 3-bit current interrupt level register 56. The contents of register 56 are compared with each new level encoded from priority encoder 54 to see if the new level is superior to the current level. If the new level is higher than the current level, the next instruction in the current program chain is not executed and the current register pointer in instruction address register 32 is the register location for the current level in LSRl4. will be forwarded to. Next, a new level ● pointer? R
l4 and placed into instruction address register 32. The LSR address (one of eight possible interrupt pointers) for the interrupt routine is obtained as follows. First, the three least significant bits from current interrupt level register 56 are sent through lines 561, 562 and 564 and gate 81 to input lines 831, 832 and 833 of LCO register 40, respectively. Interrupted pointer? Rl4
The remaining bits of the LCO address to store are:
Loaded from current interrupt level setting line 73 to upper input lines 834 and 835 of LCO register 40. LSRl4
Similarly, the new pointer to the interrupt register in L
Loaded into CO register 40. In this case, the upper input lines 834 and 835 are loaded from the current interrupt level setting line 73, while the lower input lines 831 to 833 are loaded with the encoded new interrupt level by the signal on the new interrupt level load line 72. , is transferred from the priority encoder 54 to the current interrupt level register 56, and then this register 5
Loaded from 6. As a result, the LCO address is changed to the address of a register location in LSRl4 that contains a pointer to the occasional subroutine (located in ROSl6) that handles the selected level interrupt. L
The address pointer taken from SRl4 is . AL
, U22 and summation register 24, output bus 20
and the instruction address register 32. When the new interrupt level subroutine finishes executing, the branch
An out order is issued. This instruction restores a pointer to a previously interrupted program. Since the above-mentioned subroutine that handled the interrupt resets this interrupt, there should be no request for the same interrupt. If another interrupt at the same level or a higher level is requested, the program does not return to the original interrupted position but processes this new interrupt request. This allows nesting up to eight interrupt levels. Also, for each interrupt level, there may be multiple sublevels. Once a given interrupt level is detected, the interrupt level status word (IL
SW) command is issued to all, for example, 16 I/0 devices.
このうち、何れかの割込みレベルでのサービスをリクエ
ストしている1つのI/0装置は自らこれを識別しなけ
ればならない。(このようにして、8つの割込みレベル
の各々について、16のサブレベルを得ることができ、
割込みサブレベルの総数は128になる。)マイクロプ
ロセッサ中のレジスタの1つに受取られる割込みレベル
状況ワードは、1帽のI/0装置のうちの何れがこのレ
ベルでのサービスをリクエストしているかを決定するの
に用いることができる。これは、1つの左シフト計数命
令によつて行なわれる。最上位の第1ビットは、左シフ
ト計数命令の実行を停止し、このときの計数レジスタ5
0の計数値は、サービスをリクエストしているI/Oの
ためのサブルーチンの位置を表示する。共通ボール母線
53は、サイクル●スチール操作にも使用されるが、こ
の場合はまずすべての割込みリクエストがクリアされね
ばならない。One I/O device requesting service at any interrupt level must identify itself. (In this way, for each of the 8 interrupt levels, 16 sublevels can be obtained,
The total number of interrupt sublevels is 128. ) The interrupt level status word received in one of the registers in the microprocessor can be used to determine which of the I/O devices is requesting service at this level. This is done by one left shift count instruction. The first bit of the most significant bit stops the execution of the left shift counting instruction, and the counting register 5 at this time
A count of 0 indicates the location of the subroutine for the I/O requesting service. The common ball bus 53 is also used for cycle steal operations, in which case all interrupt requests must first be cleared.
サイクル・スチールをリクエストしているI/0装置は
、共通サイクル・スチール・リクエスト線68を負論理
レベルにセットする。これによリサイクル●スチール●
ボール専用ラッチ75がセットされると、サイクル・ス
チール・ボール・リクエスト線77は直ちにアップ・レ
ベルにされ、I/0装置に対し、サイクル・スチール操
作が完了するまでそれらの割込みリクエストを共通ボー
ル母線53から除くように要求する。共通割込リクエス
ト線70及び共通サイクル・スチール・リクエスト線6
8がすべてのI/0装置によつて滅勢されると、サイク
ル・スチール応答ラッチ76が次のクロック0において
セットされる。これは、サイクル●スチールをリクエス
トしているI/0装置のためのサイクル・スチール優先
順位が共通母線53上に存在することを表わす。このサ
イクル・スチール優先順位は、割込みマスク●ゲート5
2を通ることなく、優先順位符号器54へ直接送られる
。優先順位符号器54からは、3ビットの符号化された
LCO優先順位アドレスが発生され、アンド回路89か
らの出力によつて開かれたアンド回路82並びにLCO
レジスタ40の下位入力線831乃至833を通つて、
江℃レジスタ40へ送られる。これと同時に、I/0装
置の制御のもとに主記憶装置12からデータを読出すか
又は主記憶装置12へデータを記憶させるために(半ワ
ード・モードにおける2バイトの代りに、上位バイト又
は下位バイトがセットされるだけでもよい)、リクエス
トされたサイクル・スチールのレベルに関連するLSR
l4中のポインタ(主記憶装置アドレスとして用いられ
る)をアドレス指定する一定の上位ビットも、LCOレ
ジスタ40へロードされる。このモードにおいては、割
込みレベルは、それがプログラム●レベルであるか又は
より上位のレベルであるかには関係なく、サイクル●ス
チール命令の発生によつて遅延されるだ・けであるから
、現割込みレベル・レジスタ56の内容は変更されない
。上述のように、記憶装置のアクセスは、8つのサイク
ル●スチール●レベルのうちのどのレベルが認められて
いるかを示す下位3ビットと、間接・メモリ●アドレス
を保持するLSRl4中の半ワード・レジスタに対する
変位を与える上位ビットとを含む■℃レジスタからのポ
インタにより行なわれる。The I/O device requesting a cycle steal sets the common cycle steal request line 68 to a negative logic level. This will recycle ●Steel●
Once the ball-only latch 75 is set, the cycle steal ball request line 77 is immediately pulled up, forcing I/O devices to pass their interrupt requests to the common ball bus line until the cycle steal operation is complete. Request to be removed from 53. Common interrupt request line 70 and common cycle steal request line 6
8 is disabled by all I/O devices, cycle steal response latch 76 is set on the next clock 0. This indicates that a cycle steal priority exists on common bus 53 for the I/O device requesting cycle steal. This cycle steal priority is interrupt mask ● gate 5
2 and directly to the priority encoder 54. A 3-bit encoded LCO priority address is generated from the priority encoder 54, and the AND circuit 82 opened by the output from the AND circuit 89 and the LCO
Through the lower input lines 831 to 833 of the register 40,
It is sent to the temperature register 40. At the same time, the upper byte or (only the low byte may be set), the LSR associated with the level of cycle stealing requested
Certain high order bits addressing the pointer in l4 (used as the main memory address) are also loaded into the LCO register 40. In this mode, the interrupt level is only delayed by the occurrence of a cycle steal instruction, regardless of whether it is at the program level or a higher level. The contents of interrupt level register 56 remain unchanged. As mentioned above, storage accesses are performed using the lower three bits indicating which of the eight cycle steal levels are allowed, and a half-word register in LSRl4 that holds the indirect memory address. This is done using a pointer from the ■°C register, which contains the high-order bits that give the displacement.
間接メモリ・アドレスは、LSRl4から入力母線10
へ読出され、そしてAL.U22で増)分された後、出
力バッファ・レジスタ26へ送られる。出力母線20上
の増分されたアドレスは、主記憶装置12のアクセスの
間に、?Rl4の対応するサイクル・スチール・レジス
タへ書戻すことができる。また、サイクル・スチール・
アドレスをそのままに保つため、サイクル●スチール●
リクエストに対する肯定応答を受取つたI/0装置は、
この書戻しを禁止することもできる。もし1/0装置が
主記憶装置12の読出し選択を許可すると共に、マイク
ロプロセッサ9から制御線19へ供給される書込みパル
スを禁止すると、主記憶装置12のアクセス後に、デー
タが主記憶装置12から入力母線10へ続出される。I
/0装置は、主記憶装置12への書込みのために、自身
のデータを入力母線10へ供給することができる。この
ように、I/0装置は、ALU22による増分又は非増
分操作及び読出しモード又は書込みモードの制御を自身
で完全に行なう。書込みモードにおいては、書込み操作
の完了後も、I/0装置は、次のクロック1の間出力母
線20上にある自身のデータを検知することができる。
読出しモードにおいては、入力母線10へ読出されたデ
ータは、ALU22及び合計レジスタ24を介して出力
バッファ・レジスタ26へ送られ、然る後出力母線20
の方へ出力される。出力母線20にはすべてのI/0装
置が接続されているが、読出しモードにおいて出力母線
20上のデータを受取るのは、6本のLCOアドレス線
21へ供給されたサイクル●スチール●レベル●コード
を認識した1/0装置だけである。この後、マイクロプ
ロセッサは正規の命令実行シーケンスに戻るか、又はこ
のDMA(即ちサイクル●スチール)サイクルのために
一時中止されていた割込みルーチンの処理に戻る。タイ
ミング
次に、第2A図乃至第4C図を参照しながら、マイクロ
命令を実行するためのタイミングについて説明する。The indirect memory address is from LSRl4 to input bus 10.
and AL. After being incremented by U22, it is sent to the output buffer register 26. The incremented address on output bus 20 is ? during main memory 12 access. Can be written back to the corresponding cycle steal register in Rl4. Also, cycle steel
To keep the address intact, cycle ● steal ●
The I/0 device that receives the acknowledgment for the request shall:
This writeback can also be prohibited. If the 1/0 device allows read selection of main memory 12 and disables write pulses supplied from microprocessor 9 to control line 19, after accessing main memory 12, the data will be removed from main memory 12. It is successively outputted to the input bus 10. I
/0 devices can provide their data to input bus 10 for writing to main memory 12. In this way, the I/0 device is completely in control of incremental or non-incremental operations and read or write modes by the ALU 22. In the write mode, even after the write operation is completed, the I/O device can sense its data on the output bus 20 for the next clock 1.
In read mode, data read to input bus 10 is passed through ALU 22 and summation register 24 to output buffer register 26 and then to output bus 20.
is output towards. Although all I/O devices are connected to the output bus 20, in read mode, data on the output bus 20 is received only by the cycle, steal, level, and code supplied to the six LCO address lines 21. Only the 1/0 device recognized the . After this, the microprocessor either returns to the normal instruction execution sequence or returns to processing the interrupt routine that was suspended due to this DMA (ie, cycle steal) cycle. Timing The timing for executing microinstructions will now be described with reference to FIGS. 2A-4C.
すべてのマイクロ命令は同じような実行タイミング特性
を有しているので、まず一般的な説明を行ない、続いて
各命令タイプの詳細をζ説明することにする。第2A図
乃至第4C図で用いられている記号の意味は次の通りで
ある。Since all microinstructions have similar execution timing characteristics, we will first provide a general description followed by a detailed discussion of each instruction type. The meanings of the symbols used in FIGS. 2A to 4C are as follows.
A =累算レジスタ34
B=拡張レジスタ36
BI=入力母線10
C=現条件コード・レジスタ48
E=エラーレジスタ46
1=割込みマスク・レジスタ44
1/0=I/0装置
L =LSRl4
M=出力バッファ・レジスタ26
N=計数(シフト計数)レジスタ50
P=プログラム●レジスタ30
PCC=保管条件コード●レジスタ42
R=ROSl6
STO=主記憶装置12
T=合計レジスタ24
7U=命令アドレス・レジスタ32
クロック・サイクルは、8つの異なつたクロック0乃至
7に分けられる。A = Accumulation register 34 B = Extension register 36 BI = Input bus 10 C = Current condition code register 48 E = Error register 46 1 = Interrupt mask register 44 1/0 = I/0 device L = LSR14 M = Output Buffer register 26 N = Count (shift count) register 50 P = Program ● register 30 PCC = Storage condition code ● register 42 R = ROS16 STO = Main memory 12 T = Total register 24 7U = Instruction address register 32 Clock The cycle is divided into eight different clocks 0-7.
クロック8乃至15は、クロック0乃至7の繰返しであ
つて、これらが発生されるのは、主記憶装置12の動作
時・(DMAを含む)だけである。8クロックの基本命
令サイクルは、ALU22の利用に関連して2つの部分
に分けられる。Clocks 8 to 15 are repeats of clocks 0 to 7, and are generated only when the main memory device 12 is operating (including DMA). The eight clock basic instruction cycle is divided into two parts related to ALU 22 utilization.
クロック7からクロック2までの間は、AL.U22は
、専ら命令アドレス・レジスタ32の増分又は変更のた
めに用いられ゛る。クロック3乃至6においては、マイ
クロ命令による処理が行なわれらる。このように、1命
令実行サイクルは、ALU22による命令実行のための
半サイクル及び命令ポインタの更新のための半サイクル
に分けられ、そしてALU22は、これらの半サイクル
の繰返しにより連続的に使用される。ROSl6に対す
るアドレスが出力母線20に現われる基本ウインドはク
ロック3に始まり、このとき、計算された新アドレス・
ポインタがALU22から合計レジスタ24へロードさ
れ、そして出力バッファ●レジスタ26の方へ転送され
る。このアドレスは、次のクロック0に達するまで変更
されない。クロック0においては、出力バッファ・レジ
スタ26は、出力母線20を介してLSRl4又は任意
のI/0装置へ送るためのデータを含むように変更され
る。クロック0は、各マイクロ命令サイクルの開始時点
にあり、このときROSl6からプログラム・レジスタ
30へマイクロ命令がロードされる。From clock 7 to clock 2, AL. U22 is used exclusively for incrementing or modifying instruction address register 32. In clocks 3 to 6, microinstruction processing is performed. In this way, one instruction execution cycle is divided into a half cycle for instruction execution by the ALU 22 and a half cycle for updating the instruction pointer, and the ALU 22 is continuously used by repeating these half cycles. . The basic window in which the address for ROS16 appears on the output bus 20 begins at clock 3, when the calculated new address
A pointer is loaded from ALU 22 into summation register 24 and transferred towards output buffer register 26. This address does not change until the next clock 0 is reached. At clock 0, output buffer register 26 is modified to contain data for sending via output bus 20 to LSR14 or any I/O device. Clock 0 is at the beginning of each microinstruction cycle when microinstructions are loaded from ROS16 into program register 30.
このようにプログラム●レジスタ30へマイクロ命令を
バッファすると、次のマイクロ命令をアクセスするため
に、上述のように、クロック3においてROSアドレス
が変更されている間に、マイクロ命令を実行することが
できる。合計レジスタ24は、クロック2において命令
アドレスをロードされ、またクロック6において、命令
の実行に伴つて,AJ.U22で処理されたデータをロ
ードされる。Buffering the microinstruction to program register 30 in this way allows the microinstruction to be executed while the ROS address is being changed at clock 3, as described above, in order to access the next microinstruction. . The summation register 24 is loaded with the instruction address at clock 2 and is loaded with the instruction address at clock 6 as the AJ. The data processed in U22 is loaded.
このデータをLSRl4に書込むことがマイクロ命令に
よつて指示されると、この書込みは、データが計算され
た後のクロック1において行なわれる。この場合、デー
タは、出力バッファ・レジスタ26から駆動装置18を
介して、6本のK℃線によつて選択されたLSRl4の
特定のレジスタ●ロケーションへ直接書込まれる。同じ
ようにして、データをI/0装置の方へ転送することも
できる。この場合は、クロック0においてデータが出力
バッファ・レジスタ26へロードされ、そして出力母線
20上のデータが有効であることを示す信号が、クロッ
ク1において線19へ供給される。このデータは、クロ
ック3の開始時に変更され、このとき、ROSl6のア
ドレスが出力バッファ●レジスタ26に現われる。記憶
又は変更のために入力母線10を通つてマイクロプロセ
ッサ9に入るデータは、クロック3,4.5及び6の間
に、AL.U22に供給されねばならず且つこのとき有
効でなければならない。ALU22は、これらのクロッ
クの間に、実行中の命令によつて指定された処理を行な
う。同じ理由で、?Rl4からのデータは、マイクロプ
ロセッサ9による処理のため、クロック2のときに入力
母線10上におけれる。このデータは、クロック3にお
いて(これは信号遅延を許容する)ALU22での処理
に対し使用可能になる。上述のようにLSRl4からの
データは、クロク2のときに入力母線10上におかれる
が、クロック7からクロック2までの間は、AL.U2
2は命令アドレス・レジスタ32の更新に使用されるの
で、このデータはクロック3になるまでALU22へゲ
ートされない。When a microinstruction directs this data to be written to LSRl4, this writing occurs at clock 1 after the data has been calculated. In this case, data is written directly from output buffer register 26 via driver 18 to a particular register location in LSR14 selected by six K° lines. In a similar manner, data can also be transferred towards an I/0 device. In this case, data is loaded into output buffer register 26 at clock 0 and a signal is provided on line 19 at clock 1 indicating that the data on output bus 20 is valid. This data is changed at the beginning of clock 3, when the address of ROS16 appears in the output buffer register 26. Data entering microprocessor 9 through input bus 10 for storage or modification is sent to AL. It must be supplied to U22 and must be valid at this time. The ALU 22 performs processing specified by the instruction being executed during these clocks. For the same reason? Data from Rl4 is placed on input bus 10 at clock 2 for processing by microprocessor 9. This data is made available for processing in ALU 22 at clock 3 (which allows for signal delays). As mentioned above, the data from LSRl4 is placed on the input bus 10 at clock 2, but from clock 7 to clock 2, it is placed on the AL. U2
2 is used to update the instruction address register 32, so this data is not gated into the ALU 22 until clock 3.
ALU22は、クロック7の開始時にアドレス増分の処
理に移り、かくしてその基本マイクロ命令処理を終える
。第2A図及び第2B図を参照するに、主記憶装置12
を使用するマイクロ命令、特に主記憶装置12からデー
タを取出して、これをマイクロプロセッサ9の1つのレ
ジスタヘロードするマイクロ命令(FS)に対しては、
第2サイクル(クロック8乃至15)は、たとえ現命令
の実行がクロック15から次のクロック0にわたつて続
けられるとしても、次のマイクロ命令がクロック8の間
にRαI6から取出されるという点で僅かに異なつてい
る。ALU 22 transitions to address increment processing at the beginning of clock 7, thus completing its basic microinstruction processing. Referring to FIGS. 2A and 2B, the main storage device 12
For microinstructions (FS) that use
The second cycle (clocks 8 to 15) is in that the next microinstruction is fetched from RαI6 during clock 8, even though execution of the current instruction continues from clock 15 to the next clock 0. It's slightly different.
主記憶装置12から取出されたデータは、最終的にクロ
ック8においてマイクロプロセッサ9の指定されたレジ
スタにセットされるか又はI/O装置の1つに送られる
。上述の場合には、主記憶装置12をアクセスする各命
令に続く新しいマイクロ命令は、先行命令サイクロのク
ロック8において既にトラップされているので、続くク
ロック0のときにプログラム・レジスタ30へゲートさ
れることはない。また、命令アドレス・レジスタ32の
更新は、ALU22を介して行なわれる変更を伴なわな
い直接転送に過ぎないから(先行の主記憶装置命令のク
ロック7乃至10の間に既に変更されている)、この更
新のためのウインドは短縮されて、クロック15よりも
2クロックあとのクロック1で開始し、次のクロックま
で続くだけである。主記憶装置書込み命令は、命令の第
2サイクルのクロック13乃至15の間に、データを主
記憶装置12に書込む。The data retrieved from main memory 12 is finally set in a designated register of microprocessor 9 at clock 8 or sent to one of the I/O devices. In the above case, the new microinstruction following each instruction that accesses main memory 12 is gated into the program register 30 at the following clock 0, since it has already been trapped at clock 8 of the preceding instruction cycle. Never. Also, since updating the instruction address register 32 is just a direct transfer with no changes made through the ALU 22 (already changed between clocks 7 and 10 of the previous main memory instruction), The window for this update is shortened and only starts at clock 1, two clocks after clock 15, and continues until the next clock. The main memory write instruction writes data to main memory 12 during clocks 13-15 of the second cycle of the instruction.
第3A図乃至第3C図を参照するに、w進演算の場合に
は、AL.U22は、最初の4クロックの間に、等価2
進演算を実行して、各バックw進ディジットについて中
間桁上げを記憶させる。Referring to FIGS. 3A to 3C, in the case of w-adic operations, AL. During the first four clocks, U22 has an equivalent value of 2
Perform a base operation to store an intermediate carry for each back w base digit.
続いて、実際の1雉結果を得るための“6゛補正を行な
うため、補助クロック装置64による制御のもとに別の
4クロックの間AL.U22の処理が繰返される。第4
A図乃至第4C図を参照するに、クロック7においてブ
ランチ・アドレスがロードされるようなブランチ操作(
例えば、条件付きブランチ、エミユレートされている目
的言語からの0Pコードを解読する際の多重テーブル・
ブランチ、又は門元のアドレスをu蛋14から命令アド
レス●レジスタ32へ戻すことによるブランチ連係への
復帰)が行なわれる場合には、先行命令の実行時に予め
計算されたルック・アベツト・アドレスがブランチによ
つて変更されているので、ROSl6ノをアクセスする
ために、補助クロック装置64による別の4クロック・
サイクルが付加される。Subsequently, the processing of AL.U22 is repeated for another four clocks under the control of the auxiliary clock device 64 in order to perform the "6" correction to obtain the actual pheasant result.
Referring to Figures A through 4C, a branch operation (such that the branch address is loaded at clock 7)
For example, conditional branches, multiple tables when decoding 0P codes from the target language being emulated.
When a branch or a return to branch linkage by returning the address of the source from the instruction address 14 to the instruction address register 32) is performed, the look-ahead address calculated in advance during the execution of the preceding instruction is , another four clock clocks by the auxiliary clock device 64 are used to access the ROS16.
cycle is added.
シフト操作においては、補助クロック装置64は、累算
レジスタ34又は拡張レジスタ36における1ビットの
シフト毎に2クロックを必要とし、またこれらの両レジ
スタを1つの倍精度レジスタとして用いる場合には、1
ビットのシフト毎に4クロック期間(基本マイクロ命令
実行時間の半分)を必要とする。累算レジスタ34及び
拡張レジスタ36は、ALU22を介して選択的に循環
させることにより、1つの倍精度レジスタとして論理的
に接続される。飛越し操作においては、ALU22の基
本処理時間(クロック3乃至6)の間に、等しいか大き
いかのテストはマスク・テストが行なわれる。For shift operations, auxiliary clock device 64 requires two clocks for each bit shifted in accumulation register 34 or extension register 36, and one clock if both registers are used as one double-precision register.
Each bit shift requires four clock periods (half the basic microinstruction execution time). Accumulation register 34 and extension register 36 are logically connected as one double precision register by selectively cycling through ALU 22. In a jump operation, during the basic processing time of ALU 22 (clocks 3 through 6), the equal or greater test is a mask test.
テストの結果は、クロック7の開始時まで未知であり、
そしてクロック7において飛越しの判断がなされる。も
し飛越しが行なわれないのであれば、既にアクセスされ
ている次の命令の処理が遅れることなく続けられる。も
し飛越し条件が満足されて、1つの命令がスキップされ
るのであれば、基本クロック装置66は別のダミー・マ
イクロ命令サイクルを発生させ、この間に、次のマイク
ロ命令を取出すためのアドレス増分が、飛越されたマイ
クロ命令を実行することなく、行なわれる。無条件ブラ
ンチ命令は、条件をテストする必要がなく、従つて補助
クロックによる遅延がないから、極めて速く実行され得
る。更に、12ビットのブラウチ●アドレスは、クロッ
ク2において、Al.U22を通過して合計レジスタ2
4へ直接ロードされる。このアドレスは、クロック3に
おいて、合計レジスタ24から命令アドレス・レジスタ
32及び出力バッファ・レジスタ26へ転送され、従つ
て、通常のルック・アヘツド・アクセスと同期している
。命令セット
基本機械命令は、エミユレートのために最適に設計され
、そしてROSl6に記憶される。The result of the test is unknown until the beginning of clock 7,
Then, at clock 7, a decision to skip is made. If a jump is not performed, processing of the next instruction that has already been accessed continues without delay. If the jump condition is satisfied and an instruction is skipped, the base clock unit 66 generates another dummy microinstruction cycle during which the address increment for fetching the next microinstruction is , without executing the skipped microinstruction. Unconditional branch instructions can be executed very quickly because there is no need to test conditions and therefore no delay due to auxiliary clocks. Additionally, the 12-bit BROUCH address is input to Al. Pass through U22 and total register 2
4 directly. This address is transferred from summation register 24 to instruction address register 32 and output buffer register 26 at clock 3, thus being synchronous with the normal look-ahead access. Instruction Set Basic machine instructions are optimally designed for emulation and stored in ROS16.
以下の説明では、エミユレートされた目的機械命令とマ
イクロプロセッサ命令とを区別しなければなら5ない場
合を除き゜“マイクロ命令゛の代りに単に“命令゛とい
う術語を使うことがある。すべての命令に共通している
のは、最有意ビット位置(ビットO)にあるパリテイ・
ビット及び3ビットの0Pコード(ビット1乃至3)で
あtる。In the following discussion, the term ``instruction'' may be used instead of ``microinstruction'' unless a distinction must be made between emulated target machine instructions and microprocessor instructions. What all instructions have in common is a parity code in the most significant bit position (bit O).
bit and a 3-bit OP code (bits 1 to 3).
残りのビットは幾つかのフィールドに分けられ、各フィ
ールドの長さ及びその内容は、命令のタイプによつて異
なる。0Pコードは8種類だけであるから、命令タイプ
の幾つかは、付加的な修飾ビットを解読することによつ
て区別される。The remaining bits are divided into several fields, the length and content of each field depending on the type of instruction. Since there are only eight OP codes, some of the instruction types are distinguished by decoding additional qualification bits.
大部分の命令は高度に符号化されていて、様々の操作を
指定又は暗示する。これらの操作の多くは順次に実行さ
れる。このような順次操作の実行は、第2A図乃至第4
C図に示されているような厳密に設定されたタイミング
・パターンにより制御される。次に、第2A図乃至第4
C図を参照しながら、11種類の基本命令について説明
する。Most instructions are highly encoded and specify or imply various operations. Many of these operations are performed sequentially. Execution of such sequential operations is shown in FIGS. 2A to 4.
It is controlled by a precisely set timing pattern as shown in Figure C. Next, Figures 2A to 4
The 11 types of basic commands will be explained with reference to Figure C.
j 各命令は、1ビットのパリテイ及び3ビットの0P
コードを含む16ビットによつて規定され得る。j Each instruction has 1 bit parity and 3 bits 0P
It can be defined by 16 bits containing the code.
ビット1乃至3によつて規定される0Pコードと命令タ
イプとの対も?外?i■゛=5セく。制御命令(CO)
制御命令のためのタイミングは第3C図に示されている
。Also the pair of OP code and instruction type specified by bits 1 to 3? Outside? i■゛ = 5 seconds. Control command (CO)
The timing for the control commands is shown in Figure 3C.
制御命令は、例えば、データ転送、間接実行、割込みマ
スクの設定、ページングの設定、テーブル・ブランチ操
作、任意モード選択、保管条件コード及び現条件コード
に基く操作、プログラム標識、及びI/0転送のような
操作に対して出される。ます最初に、制御命令の様々な
使用について説明する。制御命令の多くは、割込み処理
に関係している。Control instructions include, for example, data transfers, indirect execution, setting interrupt masks, setting paging, table branch operations, arbitrary mode selection, operations based on save condition codes and current condition codes, program indicators, and I/0 transfers. Issued for such operations. First, various uses of control instructions will be described. Many of the control instructions are related to interrupt processing.
このような命令の1つは、各マイクロ命令の終了後に割
込みを起こすことができ、一方では、別の命令が、割込
みウインドを与える。この割込みウインドにおいては、
保留中の任意の割込みの処理が許可され、そして割込み
切替えが行なわれる。このあとは、再び割込みウインド
に出会うまで、割込みは禁止される。他の制御命令は、
ROSI/0ページングに関係している。One such instruction can cause an interrupt after the completion of each microinstruction, while another instruction provides an interrupt window. In this interrupt window,
Processing of any pending interrupts is allowed and interrupt switching occurs. After this, interrupts are disabled until the interrupt window is encountered again. Other control instructions are
Related to ROSI/0 paging.
ROSl6の4ビットのページは、命令アドレス・レジ
スタ32の一部を構成するページ・レジスタ32aによ
つて指定される内部ページである。ページ・レジスタ3
2aは、ROSl6の直接レジスタ指定が可能な命令ロ
ケーションの?の境界を横切る直接ブランチが要求され
たときには何時でも使用される。ALU22は、4Kの
境界を越えて、ROSl6の64Kの半ワードにわたつ
てアドレス増分を行なう。また、割込み切替えポインタ
は、12ビットではなく16ビット全部によるアドレス
指定を行なう。従つて、引Kの命令すべてをアドレス指
定することも可能である。4つの標識ビットを制御する
制御命令もある。The 4-bit page of ROS16 is an internal page specified by page register 32a, which forms part of instruction address register 32. Page register 3
2a is an instruction location where direct register specification of ROSl6 is possible. is used whenever a direct branch across the boundary of is required. ALU 22 increments addresses across the 4K boundary and across the 64K half-words of ROS16. Further, the interrupt switching pointer performs addressing using all 16 bits instead of 12 bits. Therefore, it is also possible to address all of the commands in K. There are also control instructions that control the four indicator bits.
これらの標識ビットは、現条件コード・レジスタ48の
下位の4ビットであつて、4つの条件コードを規定する
レジスタ48の残りのビットと共に、計数レジスタ50
の非接続上位バイトを構成する。標識ビットは、各々異
なつた標識を与えるようにプログラマがセットすること
ができ、そしてサブルーチンにおけるスイッチとして用
いることができる。これらの標識ビットは、割込み切替
え時に、条件コード及び計数レジスタ50の内容(下位
バイトにあたる)と共に、LSRl4に記憶させたり、
そこから復帰させたりすることができる。残りの制御命
令は、条件コードに関係している。These indicator bits are the lower four bits of the current condition code register 48, which, along with the remaining bits of register 48 that define the four condition codes, are used in count register 50.
constitutes the non-connected upper byte of The indicator bits can each be set by the programmer to provide a different indicator and can be used as switches in subroutines. These indicator bits are stored in the LSR14 together with the condition code and the contents of the count register 50 (corresponding to the lower byte) at the time of interrupt switching.
You can restore it from there. The remaining control instructions relate to condition codes.
本実施例では、2レベルの条件コードが用いられ、各条
件コードは、2進桁上げ、2の補数のオーバーフロー、
2の補数の上位マイナス・ビット、及び累積的非零を表
わす4つのビットを有している。現条件コード●レジス
タ48の上位4ビットは、算術操作、論理左シフト、左
シフト計数、乗算及び除算の度に変更される。他の論理
命令の場合には、レジスタ自身は、零、非零、全部6番
R9又は66r9及び46099の混在にっぃてテスト
される。保管条件コード・レジスタ42は、エミユレー
トされているマクロ言語の条件コードの等価コードをマ
イクロプログラム制御のもとに転送したり累算したりし
ている場合を除き、現条件コード・レジスタ48のもの
と同じ4ビットを記憶する。本発明の実施例では、例え
ば次のような制御操作が行なわれる。In this example, two levels of condition codes are used, each condition code including binary carry, two's complement overflow,
It has the high-order minus bit of the two's complement number and four bits representing cumulative non-zero. Current Condition Code The upper four bits of register 48 are changed for each arithmetic operation, logical shift left, count left shift, multiplication, and division. For other logic instructions, the registers themselves are tested for zero, non-zero, all 6R9, or a mix of 66r9 and 46099. The stored condition code register 42 is the current condition code register 48, except when the equivalent code of the emulated macro language condition code is being transferred or accumulated under microprogram control. The same 4 bits are stored. In the embodiment of the present invention, the following control operations are performed, for example.
(イ)即値データのロード(KBUS)
命令のデータ●フィールドが、出力バッファ●レジスタ
26の上位ビット位置にロードされる。(a) Loading immediate data (KBUS) The data field of the instruction is loaded into the upper bit position of the output buffer register 26.
出力バッファ●レジスタ26の下位ビット位置には、L
SRl4のレジスタ0のデータ・ビット0乃至4がロー
ドされ、そして出力バッファ・レジスタ26の内容が、
LSRl4へのレジスタ0に書込まれる。(ロ)LS)
RデータをI/0装置へ転送(KLSR)この命令は、
LSRl4のレジスタ0乃至15をアドレス指定するた
めの4ビット●フィールドを有し、アドレス指定された
ローカル記憶レジスタからのデータは、出力バッファ・
レジスタ26へ、そして出力母線20へ転送される。Output buffer ●Lower bit position of register 26 is L
Data bits 0-4 of register 0 of SRl4 are loaded and the contents of output buffer register 26 are
Written to register 0 to LSRl4. (b)LS)
Transfer R data to I/0 device (KLSR) This command is
It has a 4-bit field for addressing registers 0-15 of LSRl4, and data from the addressed local storage register is sent to the output buffer.
It is transferred to register 26 and then to output bus 20.
このKL.SR命令の6ビット●フィールドは、I/0
装置1乃至63をアドレス指定するために江℃レジスタ
40へロードされる装置アドレスを与える。(ハ)即値
データをI/0装置へ転送(KL,CO)出力バッファ
●レジスタ26の一部に命令コードからの即値データが
ロードされ、残りの部分には、LS)Rl4のレジスタ
0の選択されたビットがロードされる。命令コードの他
のビット位置にあるデータは、装置アドレスのためにL
COレジスタ40へロードされる。出力バッファ・レジ
スタ26の内容は、LSRl4のレジスタ0へロードさ
れる。(ニ)割込みマスク設定(KILM)
解禁されるべき割込みのレベルに対応するビット位置に
゜゜1゛が設定されるようにして、割込み・マスク・レ
ジスタ44に割込みマスク・ビットが供給される。This KL. The 6-bit field of the SR instruction is I/0
Provides a device address that is loaded into the Ec register 40 to address devices 1-63. (c) Transfer immediate data to I/0 device (KL, CO) Output buffer ● Immediate data from the instruction code is loaded into a part of the register 26, and the remaining part is loaded with the selection of register 0 of LS) Rl4. bits are loaded. Data in other bit positions of the instruction code is L for device address.
Loaded into CO register 40. The contents of output buffer register 26 are loaded into register 0 of LSR14. (d) Interrupt mask setting (KILM) An interrupt mask bit is supplied to the interrupt mask register 44 so that ゜゜1゛ is set in the bit position corresponding to the level of the interrupt to be disabled.
この命令コードは、割込みマスク・ビットの保管又は設
定を指定する1ビットを有する。(ホ)ROSl6のペ
ージングの設定(KIAP及び5KRAP)KLAPは
ページ0乃至15を指定するためのフィールドを有し、
一方、KRAPはページ16を指定する。This instruction code has one bit that specifies saving or setting the interrupt mask bit. (E) ROS16 paging settings (KIAP and 5KRAP) KLAP has a field for specifying pages 0 to 15,
On the other hand, KRAP specifies page 16.
各ページは4096(4K)の半ワードから成つている
。ノ(へ)テーブル・ブランチのための制御操作は、R
OSl6における次の順次アドレスを得るために、命令
アドレス・レジスタ32の内容に加算(排他的オア)さ
れるべきレジスタ又はその一部を指定する。これには、
次のようなものがある。一ーーーー ′〜ノにr
グ■ト 暑V7llμムνゝ5(ト)ブランチ●アウト
(KILB)この制御操作は、命令アドレス・レジスタ
32の内容をI−SRl4中の現割込みに対応するレジ
スタ・ロケーションへ転送し、現割込みをリセットし、
新割込みをサンプルし、そしてLSRl4中のサンプル
された新割込みに対応するレジスタ・ロケーションの内
容を命令アドレス・レジスタ32へ転送する。Each page consists of 4096 (4K) half words. The control operation for the table branch is R
Specifies the register or portion thereof to be added (exclusive-OR) to the contents of the instruction address register 32 to obtain the next sequential address in OS16. This includes:
There are the following: 1ーーー ´~ノにr
This control operation transfers the contents of the instruction address register 32 to the register location corresponding to the current interrupt in I-SRl4, and reset and
The new interrupt is sampled and the contents of the register location corresponding to the sampled new interrupt in LSR14 is transferred to the instruction address register 32.
(チ)KSIE
KSIE制御命令は、割込みコード(或る割込みを解禁
又はサンプルし、以後の割込みを禁止する)、エラー・
モード、及び主記憶装置12のバイト・アドレスを指定
するための3つの2ビット・フィールド(11.,EE
及びSS)を与える。(h) KSIE The KSIE control command is used to control interrupt codes (release or sample a certain interrupt and disable future interrupts), error code,
mode, and three 2-bit fields (11.,EE
and SS).
KSIE制御命令の割込みコード(11)●フィールド
、エラー●モード(EE)●フィールド及び主記憶装置
バイト●アドレス(SS)●フィールドの1以上におけ
るコード01は、下記の表に示すように、KSIE制御
命令の割込みコード、エラー・モード又は主記憶装置バ
イト・アドレス・モードに基く操作の代りとなる別の制
御操作を指定する。もし制御コードが、11..EE又
はSSを示していると、KSIE制御命令は、割込みコ
ード、エラー・モード又は主記憶装置バイト・アドレス
・モードによつて指定される操作を各々規定する。(り
) KNTCKNTCによる制御操作は、上記表中のK
TP■の゜機能を遂行し、また、もし次の命令が演算命
令であれば、これに続いてKCSEを実行する。KSIE control instruction interrupt code (11) ● field, error ● mode (EE) ● field and main storage byte ● address (SS) ● code 01 in one or more of the fields is KSIE control instruction as shown in the table below. Specifies an alternative control operation to one based on the instruction's interrupt code, error mode, or main storage byte address mode. If the control code is 11. .. When indicating EE or SS, the KSIE control instructions define operations specified by interrupt code, error mode, or main storage byte address mode, respectively. (ri) Control operations using KNTCKNTC are performed using K in the above table.
It performs the function of TP■, and if the next instruction is an arithmetic instruction, then executes KCSE.
条件コード中の標識4は、結果に基いて6゜偶数゛2に
リセットされるか又は“奇数゛にセットされる。(ヌ)
KPCCKPCC制御命令は、保管条件コード・レジス
タ42の内容を現条件コード・レジスタ48へ直接転送
する。Indicator 4 in the condition code is reset to 6° even number 2 or set to “odd number” based on the result.
The KPCCKPCC control instruction transfers the contents of save condition code register 42 directly to current condition code register 48.
(ル)KFCC
KFCCの制御命令は、現条件コード●レジスタ48が
保管されるべきか設定されるべきかを指定し、そして保
管又は設定されるべき位置、即ち桁上げ一借り、オーバ
ーフロー、マイナス、累積的非零又は標識1乃至4を指
定する。(Le) KFCC The KFCC control instructions specify whether the current condition code ● register 48 is to be saved or set, and the location where it is to be saved or set, i.e. carry, borrow, overflow, minus, Specifies cumulative non-zero or indicators 1-4.
主記憶装置命令
主記憶装置命令の中には、論理書込み(LW)命令及び
記憶装置フエツチ(FS)命令が含まれる。Main Memory Instructions Main memory instructions include logical write (LW) and storage fetch (FS) instructions.
第2A図及び第2B図に示されるこれらの命令において
は、データは主記憶装置12から読出されて、4つの基
本内部データ・レジスタ即ち累.算レジスタ36、拡張
レジスタ36、計数レジスタ50及び出力バッファ・レ
ジスタ26へロードされる。主記憶装置12から取出さ
れるデータは、命令アドレス中での指定に応じて、拡張
レジスタ36又はローカル記憶レジスタの1つによつて
アドレス指定される。In these instructions, shown in FIGS. 2A and 2B, data is read from main memory 12 and stored in four basic internal data registers, i.e., storage. is loaded into count register 36, expansion register 36, count register 50, and output buffer register 26. Data retrieved from main memory 12 is addressed by extension register 36 or one of the local storage registers, depending on the designation in the instruction address.
アドレスは、主記憶装置12に対する連続的に変化する
ポインタを出力母線20へ供給するために、増分又は減
分によつて最初に更新されるか、又は指定されたポイン
タに計数レジスタ50の変位(正又は負)を加算するこ
とによつて、有効アドレスにされる。記憶装置命令に対
しては、半ワード、アドレス指定モード又はバイト・ア
ドレス指定モードを指定することができる。The address is first updated by incrementing or decrementing to provide a continuously changing pointer to main memory 12 to output bus 20, or the displacement of count register 50 ( (positive or negative) into a valid address. For storage instructions, half-word, addressing mode, or byte addressing mode can be specified.
IBMll3Oは、半ワード・モードで主記憶装置のデ
ータをアドレス指定する。IBM36O及び370並び
にIBMシステム/3は、バイト・アドレス指定モード
を使用しているが、1回のアクセスで2バイトを取出す
こともできる。システム/3の命令セットのアーキテク
チヤにおいては、3バイト、4バイト、5バイト又は6
バイトの命令が可能であるため、命令自身は、半ワード
境界と整列していない。従つて、エミュレーションを簡
単にするため、本発明に従うマイクロコンピュータは、
AL,U22において主記憶装置12からのデータの、
特定のバイトが特定の位置にくるように、例えば命令の
0Pコードが常に下位バイトのところに現われるように
、このデータのバイトを配列し直すことにより、半ワー
ド整列を行なう。論理書込み命令(LW)
既に説明したように、本発明においては、出力母線20
は主記憶装置12に対してはアドレス母線として使用さ
れ、主記憶装置12へのデータ転送には使用されないの
で、マイクロプロセッサ9から主記憶装置12への直接
データ転送路は存在しない。IBMll3O addresses data in main memory in half-word mode. The IBM 36O and 370 and IBM System/3 use a byte addressing mode, but can also retrieve two bytes in a single access. In the System/3 instruction set architecture, 3-byte, 4-byte, 5-byte, or 6-byte
Because byte instructions are possible, the instructions themselves are not aligned on half-word boundaries. Therefore, in order to simplify emulation, the microcomputer according to the invention:
At AL, U22, the data from the main storage device 12 is
Half-word alignment is performed by rearranging the bytes of this data so that particular bytes are in particular positions, for example, so that the 0P code of an instruction always appears in the lower byte. Logical Write Command (LW) As already explained, in the present invention, the output bus 20
is used as an address bus for the main memory 12 and is not used for data transfer to the main memory 12, so there is no direct data transfer path from the microprocessor 9 to the main memory 12.
入力母線10は、主記憶装置12に対する関係において
のみ両方向性である。マイクロプロセッサ9との関係に
おいて入力母線10を両方向性にしなかつた理由は、マ
イクロプロセッサ・チップ9の面積を節約するためであ
る。入力母線10へデータを供給するのに必要な出力駆
動装置は、チップ9上において大きな面積及び電力を必
要とし、従つてこれをチップ9に含ませることは望まし
くない。以下で説明する4つの論理書込み命令は、半ワ
ード・モード、下位バイト・モード又は上位バイト●モ
ードを選択し、そしてLSRl4のアドレス指定された
レジスタ・ロケーション又はI/0装置から取出された
データを主記憶装置12へ記憶される。Input bus 10 is bidirectional only in relation to main memory 12 . The reason input bus 10 is not bidirectional in relation to microprocessor 9 is to save area on microprocessor chip 9. The output drivers required to provide data to the input bus 10 require a large amount of area and power on the chip 9, and therefore their inclusion on the chip 9 is undesirable. The four logical write instructions described below select half-word mode, low-byte mode, or high-byte mode and write data retrieved from the addressed register location or I/O device of LSRl4. The data is stored in the main storage device 12.
LSRからの論理書込み
最初の論理書込み命令においては、LSRl4のレジス
タ・ロケーション1から読出されたデータが、LSRl
4のロケーション0乃至63のうち1つによつてアドレ
ス指定された主記憶装置12の特定のロケーションに書
込まれる。Logical Write from LSR In the first logical write instruction, the data read from register location 1 of LSRl4 is written to LSRl4.
4 locations 0 through 63.
LSRl4の1つのレジスタ・ロケーション1乃至63
が選沢され、その内容は、主記憶装置12をアドレス指
定するために、出力バッファ●レジスタ26の設定前に
、1だけ増分若しくは減分されるか、又はそのままに保
たれる。更新されたアドレスは、LSRl4の上述の選
択されたレジスタ●ロケーションへ書き戻される。LS
Rl4のレジスタ・ロケーション0がアドレス源として
指定されると、計数レジスタ50の内容は、主記憶装置
アドレスのための源となるでべき?Rl4のレジスタ・
ロケーションの間接アドレスとして用いられる。記憶装
置ノ書込みサイクルは、入力母線10へ接続されている
LSRl4のレジスタ・ロケーション1から読出された
データを用いて実行さねる。0Pコードのうちの2ビッ
トをアドレス変更コードとして用いて、これが10に設
定されている場合に、下位バイ7卜又は上位バイトのみ
を主記憶装置12へ書込むようにすることもできる。One register location 1-63 of LSRl4
is selected and its contents are incremented or decremented by one, or left unchanged, before setting the output buffer register 26 to address main memory 12. The updated address is written back to the above-mentioned selected register location in LSR14. L.S.
If register location 0 of Rl4 is specified as the address source, should the contents of count register 50 be the source for the main memory address? Rl4 register
Used as an indirect address for a location. A memory write cycle is performed using data read from register location 1 of LSR14, which is connected to input bus 10. It is also possible to use two bits of the 0P code as an address change code so that when this is set to 10, only the lower byte or upper byte is written to main memory 12.
もし、或る制御命令がバイト・アドレス指定モードを設
定していると、すべてのアドレス更新は+2又は−2で
実行され、そして上位バイト選択は−1のアドレス更新
を強制する(下位バイトはアドレスを変更しない)。更
新されたアドレスが偶数の場合には上位バイトが記憶さ
れ、奇数の場合には下位バイトが記憶される。また、出
力バッファ・レジスタ26の最初の内容は、LSRl4
のレジスタ・口ケージヨン0から選択される。拡張レジ
スタ36からのアドレスによる?Rl4のロケーション
0乃至63からの論理書込み2番目の論理書込み命令は
、主記憶装置12へ書込まれるデータがLSRl4のロ
ケーション0乃至63から得られ、且つ主記憶装置12
のアドレスが拡張レジスタ36から得られるという点を
除くと、最初の論理書込み命令と同じである。If a control instruction sets byte addressing mode, all address updates are performed with +2 or -2, and high byte selection forces -1 address updates (low byte is address ). If the updated address is an even number, the upper byte is stored; if the updated address is an odd number, the lower byte is stored. Also, the initial contents of output buffer register 26 are LSRl4
The register is selected from register number 0. By address from extension register 36? Logical Write from Locations 0 to 63 of Rl4 The second logical write command indicates that the data to be written to main memory 12 is obtained from locations 0 to 63 of LSRl4, and
is the same as the first logical write instruction except that the address of is obtained from extension register 36.
上述のような上位バイト又は下位バイトの選択的書込み
も可能である。同じLSRロケーションからのアドレス
を用いた1/0装置0乃至63からの論理書込み3番目
の論理書込み命令も最初の命令と殆んど同じであるが、
アドレス・レジスタの選択及び主記憶装置12へ書込ま
れるデータを供給するI/0装置0乃至63の選択が、
?Rl4の同じレジスタ・ロケーション0乃至63によ
つて行なわれる点が異なつている。Selective writing of the upper byte or lower byte as described above is also possible. Logical write from 1/0 device 0-63 using address from same LSR location The third logical write instruction is also almost the same as the first instruction, but
The selection of address registers and the selection of I/O devices 0 to 63 that supply data to be written to main memory 12 are
? The difference is that they are performed by the same register locations 0-63 of Rl4.
拡張レジスタ36からのアドレスを用いたI/0装置1
乃至63からの書込み4番目の論理書込み命令は、主記
憶装置12へ書込まれるデータが選択されたI/0装置
1乃至63から入力母線10へ供給される点を除くと2
番目の論理書込み命令と同じである。I/0 device 1 using address from extension register 36
Write from 63 to 63 The fourth logical write command is 2 except that the data to be written to main memory 12 is supplied to input bus 10 from selected I/O devices 1 to 63.
It is the same as the th logical write instruction.
記憶装置フエツチ命令(FS)
記憶装置フエツチ命令は、半ワード・モードでフエツチ
操作を実行するように設定されている。Storage Fetch Instruction (FS) The storage fetch instruction is set to perform a fetch operation in half-word mode.
半ワード●アドレス指定の代りにバイト●アドレス指定
を設定する点については、制御命令の説明のところを参
照されたい。(現条件コード・レジ.スタ48と計数レ
ジスタ50、又は割込みマスク●レジスタとエラー●レ
ジスタ46は、バイト・モードにおいては常に一緒に使
用され、そして上位バイトは、記憶装置フエツチにおい
てはOにされない。)LSRアドレスを用いた主記憶装
置12からCPU9のレジスタへのロード(半ワード●
アドレス●モード)LSRl4のレジスタ・ロケーショ
ン1乃至63(ロケーション0は除く)のうち1つが選
択さ−れ、その内容は、主記憶装置12をアドレス指定
するために出力バッファ・レジスタ26が設定される前
に冫0、±1又はオア1により変更される。Regarding setting byte addressing instead of half word addressing, please refer to the description of control instructions. (Current condition code register 48 and count register 50, or interrupt mask register and error register 46, are always used together in byte mode, and the high byte is not brought to O in a storage fetch. .) Loading from main memory 12 to register of CPU 9 using LSR address (half word ●
Address mode) One of register locations 1 through 63 (excluding location 0) of LSRl4 is selected and its contents are set to output buffer register 26 to address main memory 12. Previously changed by 0, ±1 or or1.
もしこの変更が±1であれば、出力バッファ・レジスタ
26の内容は更新されて、LSRl4の選択されたレジ
スタ・ロケーションに書込まれる。これに続いて記憶装
置読出しサイクルが実行され、そして主記憶装置12か
ら入力母線10へ読出されたデータは、累算レジスタ3
4、拡張レジスタ36、出力バッファ・レジスタ26又
は計数レジスタ50/エラー・レジスタ46へ選択的に
ロードされる。現条件コード・レジスタ48及び計数レ
ジスタ50の代りに、KSIE制御命令に)よつて割込
みマスク・レジスタ44及びエラー・レジスタ46が選
択される場合がある。(計数レジスタ50/エラー・レ
ジスタ46は、下位バイトのみを有する。)LSRl4
のレジスタ・ロケーション0は、計数レジスタ50の下
位6ビットか,ら、μSRl4の間接アドレス指定を選
択する。また、出力バッファ●レジスタ26の最初のデ
ータも、LSRl4のレジスタ・ロケーション0から選
択される。母線オペランド・アドレスを用いたもの(半
ワード●アドレス.モード)この命令は、出力バッファ
・レジスタ26(LSRl4のレジスタ●ロケーション
0)が拡張レジスタ36の代りに用いられ、且つ母線2
1を介する補助アドレス転送が、出力バッファ・レジス
タ26かl:)LSRl4のレジスタ●ロケーション1
乃至63のうち1つへの半ワード移動又はLSRl4の
レジスタ●ロケーション0への更新アドレスのロードと
して働くという点を除き、次に述べる命令と同じである
。If the change is ±1, the contents of output buffer register 26 are updated and written to the selected register location of LSR14. Following this, a memory read cycle is performed and the data read from main memory 12 to input bus 10 is transferred to accumulation register 3.
4, selectively loaded into expansion register 36, output buffer register 26 or count register 50/error register 46; Instead of current condition code register 48 and count register 50, interrupt mask register 44 and error register 46 may be selected by the KSIE control instruction. (Count register 50/error register 46 has only the lower byte.) LSRl4
Register location 0 of selects indirect addressing of μSRl4 from the lower six bits of count register 50. The first data in the output buffer register 26 is also selected from register location 0 of LSR14. Using Bus Operand Address (Half-Word Address Mode) This instruction uses output buffer register 26 (register location 0 of LSR14) in place of extension register 36, and bus 2
The auxiliary address transfer via 1 is transferred to output buffer register 26 or l:) register location 1 of LSRl4.
is the same as the next instruction, except that it acts as a half-word move to one of LSRl4 through 63 or a load of the updated address into register location 0 of LSRl4.
拡張レジスタ36からのオペランド・アドレスを用いた
もの(半ワード●アドレス・モード)拡張レジスタ36
の内容は、主記憶装置12をアドレス指定するために出
力バッファ・レジスタ26が設定される前に、0、±1
又は計数レジスタ50にあるオペランド変位の加算によ
つて変更される。Using operand address from extension register 36 (half word address mode) extension register 36
The contents of 0, ±1 before output buffer register 26 is set to address main memory 12.
or by addition of the operand displacements in count register 50.
出力バッファ・レジスタ26の更新された内容は、拡張
レジスタ36へ書き戻される。次いで、主記憶装置12
の読出しサイクルが開始される。LSRl4の選択がレ
ジスタ・ロケーション1乃至63(ロケーション0は含
まない)からのものであれば、主記憶装置12からのデ
ータが使用可能になる前に、補助転送が行なわれる。命
令アドレス・レジスタ32の内容が、LSRl4の選択
されたレジスタ・ロケーションに書込まれるようにして
もよい。最後に、主記憶装置12からのデータは、最初
のFS命令のときと同じように、累算レジスタ34、拡
張レジスタ36、出力バッファ●レジスタ26又は計数
レジスタ50/エラー・レジスタ46へ選択的にロード
するために、入力母線10の方へ送り出される。また、
出力バッファ・レジスタ26の最初のデータは、LSR
l4のレジスタ・ロケーション0から選択される。主記
憶装置12からI/0装置へのロード(半ワード●アド
レス・モード)この命令は、アドレス・レジスタ32の
内容が拡張レジスタ36から又は選択されたI/0装置
に対応す6LSR14のレジスタ●ロケーションから選
択され、且つ更新され得るという点を除き、上述の命令
と同じである。The updated contents of output buffer register 26 are written back to expansion register 36. Next, the main storage device 12
A read cycle is started. If the selection of LSR14 is from register locations 1 through 63 (not including location 0), then the auxiliary transfer will occur before the data from main memory 12 is available. The contents of instruction address register 32 may be written to selected register locations in LSR14. Finally, data from main memory 12 is selectively transferred to accumulation register 34, extension register 36, output buffer register 26, or count register 50/error register 46, as in the first FS instruction. It is sent towards the input bus 10 for loading. Also,
The first data in output buffer register 26 is LSR
Selected from register location 0 of l4. Load from Main Memory 12 to I/0 Device (Half Word Address Mode) This instruction loads the contents of address register 32 from expansion register 36 or the register of 6LSR 14 corresponding to the selected I/0 device. Same as the instructions above except that it can be selected from a location and updated.
主記憶装置12から読出されたデータは、出力バッファ
・レジスタ26へロードされた後(?Rl4のレジスタ
●ロケーション0ではない)、サンプル●アウト●パル
スの発生に伴つて、そこから選択されたI/0装置の方
へ送られる。補助転送は行なわれない。装置0は、計数
レジスタ50の下位6ビットから、装置の間接アドレス
指定を選択する。また、出力バッファ・レジスタ26の
最初の内容は、LSRl4のレジスタ・ロケーション0
から選択される。算術及び論理命令第3A図乃至第3C
図に示される算術及び論理命令は、データ変更(MD)
及びオペランド変更(MO)である。After the data read from main memory 12 is loaded into the output buffer register 26 (not in register location 0 of ?Rl4), the data read from main memory 12 is transferred to the selected I /0 is sent to the device. No auxiliary transfer takes place. Device 0 selects device indirect addressing from the lower six bits of count register 50. Also, the initial contents of output buffer register 26 are stored in register location 0 of LSRl4.
selected from. Arithmetic and Logical Instructions Figures 3A to 3C
The arithmetic and logical instructions shown in the figure are Data Modification (MD)
and change operand (MO).
算術命令には、桁上げ付き又は桁上げなしの加算及び減
算が含まれる。これらは、2の補数の形又はバックw進
数(各4ビット・フィールドに、正負符号のない1つの
托進ディジットが含まれる)の形で実行することができ
る。算術演算は、マイクロプロセッサ内部のレジスタ(
累算レジスタ3牡拡張レジスタ36、計数レジスタ50
及び出力バッファ・レジスタ26)の間て実行すること
ができる。また、累算レジスタ34又は拡張レジスタ3
6は、LSRl4の64のレジスタ●ロケーションのう
ちの1つと算術的に組合わせることができ、この場合、
演算結果は、?Rl4の1つのレジスタ●ロケーション
又は拡張レジスタ36に記憶される。マイクロプロセッ
サ9の内部レジスタ間で実行されるすべての算術命令は
、半ワード・モード、上位モード専用モード、下位バイ
ト・モード又は下位4桁托進ビット・モードで実行され
得る。これらの各モードにおける残りのビットは変更さ
れない。論理命令には、アンド、オア及び排他的オアが
含まれる。Arithmetic instructions include addition and subtraction with or without carry. These can be implemented in two's complement form or in backw-adic form (each 4-bit field contains one modulo digit without sign). Arithmetic operations are performed in microprocessor internal registers (
3 accumulation registers, 36 expansion registers, 50 counting registers
and output buffer register 26). In addition, the accumulation register 34 or the extension register 3
6 can be arithmetically combined with one of the 64 register locations of LSRl4, in which case
What is the calculation result? Stored in one register location of Rl4 or extension register 36. All arithmetic instructions executed between internal registers of the microprocessor 9 may be executed in half-word mode, upper mode only mode, lower byte mode or lower four digits pass-bit mode. The remaining bits in each of these modes are unchanged. Logical instructions include AND, OR, and EXCLUSIVE OR.
これらの論理命令は、内部レジスタ間でのみ実行される
場合には、上述の算術命令のときと同じように、下位4
桁1随ビット・モード、下位バイト・モード、上位バイ
ト・モード又は半ワード・モードで実行され得る。LS
Rl4を使用する場合には、すべての論理命令は、半ワ
ードモードでのみ実行され得る。データ変更(MD)
累算レジスタ34又は拡張レジスタ36の内容は、この
データ変更命令により、L!5R14の内容(これは変
更されない)で変更され得る。If these logical instructions are executed only between internal registers, the lower 4
It can be implemented in digit-by-bit mode, low byte mode, high byte mode, or half word mode. L.S.
When using Rl4, all logic instructions can only be executed in half-word mode. Data change (MD) The contents of the accumulation register 34 or extension register 36 are changed to L! by this data change instruction. The content of 5R14 (which does not change) may be modified.
またLSRl4の指定されたレジスタ・ロケーションの
内容は、拡張レジスタ36の内容を用いて変更すること
ができる。この場合、拡張レジスタ36の内容は変更さ
れず、結果はLSRl4の選択されたレジスタ・ロケー
シヨンヘロードされる。更に、入力母線10へデータを
供給するために、任意の1/0装置が選択され得る。こ
のデータは、拡張レジスタ36にあるデータで変更する
ことができ、そして変更結果は、出力バッファ・レジス
タ26(LSROではない)へデータをセットし、続い
て出力母線20の方へ送り出すことにより(LSRl4
のレジスタ・ロケーション0へも送られる)、同じI/
0装置へ戻される。もしデータ変更命令のアドレス部分
がOに設定されていると、入力母線10上にはOのデー
タが生じる。オ″ア操作を用いることにより、拡張レジ
スタ36から出力バッファ・レジスタ26への移動が行
なわれる。出力バッファ●レジスタ26は、アンド操作
を用いることにより、すべてOに設定される。データ変
更命令によつて指定され得る変更操作、は、桁上げ付き
若しくは桁上げなしの2進加算又は桁上げ付きのバック
w進加算、借り付きの2進又はバックw進減算(?Rl
4又はI/0装置からの減算は行なわれない。この反対
はよい)、アンド、オア及び排他的オアである。LSR
l4が指ノ定される場合には、そのレジスタ・ロケーシ
ョン0は、計数レジスタ50の下位6ビットから?Rl
4又はI/0装置の間接アドレス指定を選択する。オペ
ランド変更(MO)
オペランド変更命令においては、累算レジスタ34又は
拡張レジスタ36が変更される。Additionally, the contents of a designated register location in LSR14 can be modified using the contents of extension register 36. In this case, the contents of extension register 36 are unchanged and the result is loaded into the selected register location of LSR14. Additionally, any 1/0 device may be selected to provide data to input bus 10. This data can be modified with the data in expansion register 36, and the result of the modification can be made by setting the data in output buffer register 26 (not LSRO) and subsequently forwarding it towards output bus 20. LSRl4
), the same I/
0 device. If the address portion of the data modification instruction is set to O, data of O will appear on the input bus 10. A move is made from the expansion register 36 to the output buffer register 26 by using an OR operation.The output buffer register 26 is set to all O's by using an AND operation. Modifying operations that may thus be specified are binary addition with or without carry or back w-adic addition with carry, binary or back w-adic subtraction with borrow (?Rl
No subtraction is done from the 4 or I/0 device. The opposite is good), and, or, and exclusive or. LSR
If l4 is specified, its register location 0 starts from the lower 6 bits of count register 50. Rl
4 or indirect addressing of I/0 devices. Modify Operand (MO) In a modify operand instruction, either the accumulation register 34 or the extension register 36 is modified.
拡張レジスタ36の内容は、出力バッファ●レジスタ2
6によつて変更することができる。拡張レジスタ36が
0であれば、LSRl4のレジスタ・ロケーション0(
出力バッファ●レジスタ26)の内容を拡張レジスタ3
6及びLSRl4のレジスタ・ロケーション1乃至15
の1つへ移動させることができる。オペランド変更命令
は、累算レジスタ34、拡張レジスタ36又は計数レジ
スタ50/エラー・レジスタ46の任意の組合わせの間
での移動操作が付加され、計数レジスタ50/エラー・
レジスタ46からの減算が許されない(逆はよい)とい
う点を除くと、前述のデータ変更命令と同じである。The contents of the extension register 36 are the output buffer ●Register 2
6. If extension register 36 is 0, register location 0 of LSRl4 (
Output buffer ●Extend the contents of register 26) to expansion register 3
6 and LSRl4 register locations 1-15
You can move it to one of the following. The operand change instruction is appended with a move operation between any combination of accumulation register 34, extension register 36, or count register 50/error register 46, and
This is the same as the data modification instruction described above, except that subtraction from register 46 is not allowed (the reverse is allowed).
また、上述のすべての操作は、計数レジスタ50/エラ
ー・レジスタ46の上位バイトが存在しないという点を
除くと、半ワード、上位バイトのみ、下位バイトのみ又
は下位托進ディジットのみで実行され得る。上述の各操
作が終了すると、?Rl4の選択されたレジスタ●ロケ
ーション(1乃至15の1つ)へ半ワード結果(計数レ
ジスタ50/エラー●レジスタ46の上位バイトニ現条
件コード・レジスタ48/割込みマスク・レジスタ44
)が移動され得る。論理シフト
第4A図及び第4B図に示したシフト操作は、一時に1
ビットずつ左方向又は右方向に行なわれる。Also, all of the operations described above can be performed on a half word, only the high byte, only the low byte, or only the low digits, except that the high byte of the count register 50/error register 46 is not present. After each of the above operations is completed? Half-word result (count register 50/error register 46 high byte current condition code register 48/interrupt mask register 44) to selected register location (one of 1 to 15) in Rl4
) may be moved. Logical Shifts The shift operations shown in Figures 4A and 4B are performed one at a time.
This is done bit by bit either to the left or to the right.
シフト回数はレジスタ長によつて異なる。累算レジスタ
34及び拡張レジスタ36は、各々1乃至16ビット位
置のシフトが可能である。乗算及び除算について倍精度
が要求される場合には、累算レジスタ34は拡張レジス
タ36の上位レジスタになり、両レジスタが結合されて
、1つの32ビット・レジスタが構成される。この32
ビットのレジスタは、算術右シフト、左シフト計数、論
理左シフト、論理右シフト、左シフト回転及び右シフト
回転のうちの任意のモードにおいて1乃至32ビット位
置のシフトを行なう。16ビットのレジスタの8ビット
位置の回転と等価なより高速の動作一は、1マイクロ命
令サイクルで実行することができる。The number of shifts depends on the register length. The accumulation register 34 and the expansion register 36 are each capable of shifting 1 to 16 bit positions. If double precision is required for multiplication and division, the accumulation register 34 becomes the upper register of the extension register 36, and both registers are combined to form one 32-bit register. This 32
The register of bits shifts 1 to 32 bit positions in any of the following modes: arithmetic shift right, shift left count, logical shift left, logical shift right, shift left rotate, and shift rotate right. A faster operation equivalent to rotating an 8-bit position in a 16-bit register can be performed in one microinstruction cycle.
この動作は、1バイト入替え(Bytetwist)J
と呼ばれている。即時変更(IM)
即時変更命令のタイミングは第3C図に示されている。This operation is a 1-byte swap (Bytetwist) J
It is called. Immediate Modification (IM) The timing of the immediate modification command is shown in Figure 3C.
プログラム●レジスタ30からの1バイトのデータ(0
Pビット8乃至15)が、先行のKISE制御命令によ
つて選択された累算レジスタ3牡拡張レジスタ36又は
計数/エラー・レジスタ50,46の下位バイトと組合
わされる。累算レジスタ34又は拡張レジスタ36が選
択された場合の組合わせ操作は、減算、ロード、オア、
アンド、排l他的オア及び加算である。加算(減算)の
結果発生された桁上げ(借り)は、上位バイトの方へ伝
播される。計数/エラー・レジスタ50,46の場合の
組合わせ操作は、オア、アンド、ロード及び加算である
。加算操作又は減算操作においては、どのような桁上げ
入力も無視されて、新しい条件コードがセットされる。
条件付ぎ飛越し(JC)第4B図にタイミングが示され
ている飛越し命令は、テストの結果が否定的な場合に実
行され・る。Program●1 byte of data from register 30 (0
P bits 8-15) are associated with the lower byte of the accumulation register 3 expansion register 36 or count/error register 50, 46 selected by the previous KISE control instruction. When the accumulation register 34 or the expansion register 36 is selected, the combination operations are subtraction, load, or,
and, exclusive or, and addition. The carry (borrow) generated as a result of addition (subtraction) is propagated toward the upper byte. The combinatorial operations for count/error registers 50, 46 are or, and, load, and addition. In addition or subtraction operations, any carry input is ignored and a new condition code is set.
Conditional Jump (JC) The jump instruction whose timing is shown in Figure 4B is executed if the result of the test is negative.
命令中のマスク・バイト及び選択されたレジスタの下位
8ビット(下位バイト)を用いて行なわれるテストには
次のようなものがある。(1)マスクと下位バイトとが
等しい。(2)マスクが下位バイトよりも大きい。(3
)マスク・ビットが下位バイト中のオン●ビットについ
てテストされ、残りの非選択ビットは無視される。(4
)マスクが下位バイト中のオフ・ビットについてテスト
され、残りのビットは無視される。4つの条件コード及
び4つのプログラム制御標識ビットを有する現条件コー
ド・レジスタ48は、マスクを用いてテストされ、オン
/オフ・ビットの選択及び条件の任意の組合わせによる
飛越しが行なわれる。The following tests are performed using the mask byte in the instruction and the lower 8 bits (lower byte) of the selected register. (1) The mask and lower byte are equal. (2) The mask is larger than the lower byte. (3
) The mask bits are tested for on bits in the lower byte and the remaining unselected bits are ignored. (4
) The mask is tested for off bits in the low byte and the remaining bits are ignored. The current condition code register 48, which has four condition codes and four program control indicator bits, is tested using a mask to select on/off bits and jump through any combination of conditions.
もしテストの結果が否定的であれば、次の命令はスキッ
プされる。また、累算レジスタ34又は拡張レジスタ3
6の上位托進ゾーン●ディジットも、全6603条件に
ついてテストされ得る。ブランチ操作
ブランチ操作には、条件付きブランチ及び無条件ブラン
チがあるが、これらは、ROSl6の任意の?範囲で実
行され得る。If the result of the test is negative, the next instruction is skipped. In addition, the accumulation register 34 or the extension register 3
The upper digits of 6 can also be tested for all 6603 conditions. Branch operations Branch operations include conditional branches and unconditional branches, which are arbitrary branches in ROS16. Can be performed within a range.
無条件ブランチを行なう前に、現命令アドレス●レジス
タ32の内容に1を加えたものをLSRl4の1つのレ
ジスタ●ロケーションに記憶させることにより、ブラン
チ連係操作が行なわれる。ブランチ連係操作が行なわれ
たサブルーチンへの復帰は、LSRl4に記憶された上
述のアドレスをLSRl4から取出して、命令アドレス
・レジスタ32へ戻すことにより行なわれる。ブランチ
命令の第2のグループは、多重テーブル・ブランチ操作
を実行する。Before taking an unconditional branch, a branch association operation is performed by storing the contents of the current instruction address register 32 plus one in one register location of LSR14. Return to the subroutine in which the branch association operation was performed is accomplished by taking the above-mentioned address stored in LSR14 from LSR14 and returning it to instruction address register 32. A second group of branch instructions performs multi-table branch operations.
この多重テーブル●ブランチ操作は、マイクロプロセッ
サ●レジスタの下位4つの1随ビット、次の4ビット(
これらはゾーン●ビットであつて、下位の4ビット又は
6ビットは無視される)、又は8ビット全部に基いて実
行可能であり、従つて、256ウェイのテーブル・ブラ
ンチが行なわれることになる。これに基き、8ビットの
0Pコードは、テーブルからの無条件ブランチ命令によ
り解読され得る。ブランチ命令の第3のグループは、1
曜数の条件(例えば、レジスタが零か否か、レジスタが
負か否か)に基く符号付き変位ブランチ操作を実行する
。変位ブランチ操作は、命令から8ビットの変位を取出
して、これを正負符号付きの16ビットの数として現命
令アドレス・レジスタ32の内容に加算することによつ
て行なわれる。他の命令は、1又は16だけ減分される
計数レジスタ50の内容に基く変位ブランチ操作を実行
し、結果が全部0であるか否か、下位4ビットが全部0
であるか否か、下位4ビットが全部1であるか否か、上
位4ビットが全部1であるか否かなどに応じて、ブラン
チが行なわれる。This multi-table ●branch operation consists of the lower four bits of the microprocessor register, the next four bits (
These can be done on the zone * bits (the lower 4 or 6 bits are ignored) or on all 8 bits, thus resulting in a 256-way table branch. Based on this, the 8-bit OP code can be decoded by an unconditional branch instruction from the table. The third group of branch instructions is 1
Perform a signed displacement branch operation based on a number of week condition (eg, whether a register is zero or not, whether a register is negative or not). A displacement branch operation is performed by taking an 8-bit displacement from the instruction and adding it to the contents of the current instruction address register 32 as a signed 16-bit number. Other instructions perform displacement branch operations based on the contents of count register 50, which is decremented by 1 or 16, and whether the result is all zeros or not, with the lower four bits being all zeros.
Branching is performed depending on whether the lower four bits are all 1, whether the upper four bits are all 1, and so on.
論理移動一計数(LM)
第3B図にタイミングが示されている論理移動−計数命
令は、LSRl4の指定されたレジスタロケーション1
乃至63の内容を、命令アドレスレジスタ32、累算レ
ジスタ34、拡張レジスタ36、又は組合わされた現条
件コード・レジスタ48及び計数レジスタ50へ選択的
に移動させる。Logical Move-Count (LM) The logical move-count instruction, the timing of which is shown in FIG.
63 are selectively moved to instruction address register 32, accumulation register 34, extension register 36, or the combined current condition code register 48 and count register 50.
移動中の内容は、+1又は−1だけ変更される場合があ
り(累算レジスタ34又は拡張レジスタ36への単一バ
イトの移動を除く)、変更された値は、LSRl4の選
択されたレジスタ・ロケーションL乃至63へ書戻され
る。これと反対に、指定されたレジスタ(命令アドレス
・レジスタ32、累算レジスタ34、拡張レジスタ36
、又は組合わされた現条件コード・レジスタ48及び計
数レジスタ50)の内容が、そのまま又は+1若しくは
−1の変更を伴つて(累算レジスタ34又は拡張レジス
タ36からの単バイトの移動を除く)LSRl4の選択
されたレジスタ●ロケーション1乃至63へ移動される
場合がある。バイト移動においては、累算レジスタ34
又は拡張レジスタ36の上位バイト及び下位バイトの何
れかを指定することができるが、上述のように、移動中
のバイトの変更は行なわれない。命令アドレス・レジス
タ32の内容は、ROSl6のための16ビットのアド
レスを構成する。現条件コード・レジスタ48は、増分
又は減分が指定されていなければ、計数レジスタ50と
の組合わせにおける上位バイトとしてのみ選択され得る
。また、割込みマスク・レジスタ44及びエラー●レジ
スタ46は、もし前述のKSIE制御命令によつてセッ
トされていると、現条件コード・レジスタ48及び計数
レジスタ50に代つて使用され得る。論理移動一計数命
令がLSRl4のレジスタ・ロケーション0を指定して
いると、現条件コード・レジスタ48及び計数レジスタ
50が行先レジスタ又は源レジスタとして選択された場
合を除き(これらとLSRl4のレジスタ・ロケーショ
ン0との間でデータの移動が行なわれるため)、計数レ
ジスタ50の下位6ビットから?Rl4の間接アドレス
指定が選択される。1/0動作
本実施例では、特別のI/0命令は使用されない。The contents being moved may be changed by +1 or -1 (other than moving a single byte to accumulation register 34 or extension register 36), and the changed value is transferred to the selected register of LSRl4. It is written back to locations L through 63. On the contrary, the specified registers (instruction address register 32, accumulation register 34, extension register 36)
, or the contents of the combined current condition code register 48 and count register 50), either unchanged or with a +1 or -1 change (other than a single byte movement from the accumulation register 34 or the extension register 36) LSRl4 may be moved to selected register locations 1-63. For byte movement, the accumulation register 34
Alternatively, either the upper byte or the lower byte of the extension register 36 can be specified, but as described above, the byte being moved is not changed. The contents of instruction address register 32 constitute a 16-bit address for ROS16. Current condition code register 48 may only be selected as the upper byte in combination with count register 50 unless increment or decrement is specified. Interrupt mask register 44 and error register 46 may also be used in place of current condition code register 48 and count register 50 if set by the KSIE control instruction described above. If a logical move-count instruction specifies register location 0 of LSRl4, then current condition code register 48 and count register 50 are selected as destination or source registers (these and register locations of LSRl4 0), from the lower 6 bits of the counting register 50? Indirect addressing of Rl4 is selected. 1/0 Operation No special I/0 instructions are used in this embodiment.
■/O装置との間のプログラム制御によるデータ又は制
御メッセージの直接転送は、記憶装置フエツチ命令、記
憶装置論理書込み命令、データ変更命令及び制御命令に
よつて行なわれる。記憶装置フエツチ命令は、主記憶装
置12から母線23,25及び28によつて構成される
内部データ・バスを介してI/0装置へデータを転送す
る。論理書込み命令は、拡張レジスタ36又は辰蛋14
の1つのレジスタ●ロケーションからのアドレスを用い
て、I/0装置から入力母線10を介して主記憶装置1
2へデータを直接転送する(マイクロプロセッサ9の中
は通らない)。データ”変更命令は、I/O装置からデ
ータを取出して、このデータに対し拡張レジスタ36を
用いたAL.U操作を行ない、その結果を出力ビツフア
・レジスタ26から出力母線20を介して■/0装置へ
戻す。或る制御命令は、LSRl4の指定されたレジス
タ・ロケーション0乃至15又は命令中の即値データ・
フィールドからI/O装置の方へデータを出力するのに
使用することができる。任意のI/0装置から累算レジ
スタ34、拡張レジスタ36又はLSRl4のレジスタ
・ロケーション0乃至15へのデータ転送は、別の制御
命令によつて行なうことができる。何れの場合にも、命
令によつて直接指定されるか又は計数レジスタ50の内
容を用いて間接指定される装置アドレスは、LCO出力
線41及び補助アドレス母線21(LSRl4のアドレ
ス指定にも使用される)を介してI/0装置へ送られる
。(2) Direct program-controlled transfer of data or control messages to and from the /O device is accomplished by storage fetch instructions, storage logic write instructions, data modification instructions, and control instructions. The storage fetch instruction transfers data from main memory 12 to the I/O device via the internal data bus formed by buses 23, 25 and 28. A logical write instruction is executed by writing the extension register 36 or the data register 14.
from the I/O device via the input bus 10 to the main memory 1 using the address from one register location in the
2 (does not pass through the microprocessor 9). The data change command takes data from the I/O device, performs an AL.U operation on this data using the extension register 36, and sends the result from the output bit register 26 to the output bus 20. 0 device. Certain control instructions may return specified register locations 0-15 of LSR14 or the immediate data in the instruction.
It can be used to output data from the field towards an I/O device. Data transfers from any I/O device to accumulation register 34, expansion register 36, or register locations 0 through 15 of LSR14 can be accomplished by separate control instructions. In either case, the device address specified directly by the instruction or indirectly using the contents of count register 50 is also used to address LCO output line 41 and auxiliary address bus 21 (LSR14). () to the I/O device.
1/0転送動作は、一対の接続手順信号即ちサンプル・
イン及びサンプル・アウトによつて同期をとられる。A 1/0 transfer operation involves a pair of connection procedure signals, namely sample and
Synchronized by in and sample out.
これらの接続手順信号は、ホールド・クロック・インと
共に用いられて、線の長さ及び1/O装置の動作の遅延
とは無関係に、非同期1/0転送動作を実行させ得る。These connect procedure signals can be used in conjunction with hold clock in to perform asynchronous 1/0 transfer operations independent of line length and 1/0 device operation delays.
第1図は第1A図乃至第1C図のつながりを示すブロッ
ク図、第1A図乃至第1C図は本発明に従うマイクロコ
ンピュータの一実施例を示すブロック図、第2図は第2
A図及び第2B図のつながりを示すブロック図、第2A
図及び第2B図はFS命令及びLW命令の実行のタイミ
ングを示すタイミング図、第3図は第3A図乃至第3C
図のつながりを示すブロック図、第3A図乃至第3C図
はMD命令、MO命令、LM命令、IM命令及び制御命
令の実行のタイミングを示すタイミング図、第4図は第
4A図乃至第4C図のつながりを示すブロック図、第4
A図乃至第4C図は?命令、JC命令、0命令及びBU
命令の実行のタイミングを示すタイミング図、第5図は
割込み/サイクル・スチール処理機構の詳細を示すブロ
ック図である。
10・・・入力母線、12・・・主記憶装置、14・・
・LSR、16・・・ROSll8・・・駆動装置、2
0・・・出力母線、21・・・補助(ミニ)アドレス母
線、22・・・ALUl24・・・合計レジスタ、23
,25,28・・・内部母線、26・・・出力バッファ
・レジスタ、30・・・プログラム・レジスタ、32・
・・命令アドレス・レジスタ、34・・・累算レジスタ
、36・・・拡張レジスタ、38・・・減分レジスタ、
40・・・江℃レジスタ、42・・・保管条件コード・
レジスタ、44・・・割込みマスク・レジスタ、46・
・・エラー・レジスタ、48・・・現条件コード・レジ
スタ、50・・・計数レジスタ、52・・・割込みゲー
ト、53・・・共通ボール母線、54・・・優先順位符
号器、56・・・現割込みコード●レジスタ、58・・
・比較装置、60・・・4相発生器、62・・・命令解
読装置、64・・・補助クロック装置、66・・・基本
クロック装置。FIG. 1 is a block diagram showing the connection between FIGS. 1A to 1C, FIGS. 1A to 1C are block diagrams showing one embodiment of the microcomputer according to the present invention, and FIG.
Block diagram showing the connection between Figure A and Figure 2B, Figure 2A
2B and 2B are timing diagrams showing the timing of execution of the FS instruction and LW instruction, and FIG.
3A to 3C are timing diagrams showing the timing of execution of MD instructions, MO instructions, LM instructions, IM instructions, and control instructions; FIG. Block diagram showing the connections between
What about Figures A to 4C? Instruction, JC instruction, 0 instruction and BU
FIG. 5 is a timing diagram showing the timing of instruction execution. FIG. 5 is a block diagram showing details of the interrupt/cycle steal processing mechanism. 10... Input bus line, 12... Main storage device, 14...
・LSR, 16... ROSll8... Drive device, 2
0... Output bus, 21... Auxiliary (mini) address bus, 22... ALU124... Total register, 23
, 25, 28... Internal bus line, 26... Output buffer register, 30... Program register, 32...
...Instruction address register, 34...Accumulation register, 36...Extension register, 38...Decrement register,
40... E℃ register, 42... Storage condition code.
Register, 44... Interrupt mask register, 46...
...Error register, 48...Current condition code register, 50...Counting register, 52...Interrupt gate, 53...Common ball bus, 54...Priority encoder, 56...・Current interrupt code●Register, 58...
- Comparison device, 60... Four-phase generator, 62... Instruction decoding device, 64... Auxiliary clock device, 66... Basic clock device.
Claims (1)
、第1アドレス、第2アドレスまたはデータを転送する
単方向性の出力母線と、第3アドレスを転送する補助ア
ドレス母線と、前記入力母線及び前記出力母線に接続さ
れ、前記第1アドレスに応答して、前記入力母線へデー
タを読出したり、前記入力母線からデータを書込んだり
する第1記憶装置と、前記入力母線及び前記出力母線に
接続され、前記第2アドレスに応答して、前記入力母線
へ命令を読出す第2記憶装置と、前記入力母線、前記出
力母線及び前記補助アドレス母線に接続され、前記第3
アドレスに応答して、前記出力母線から受取つたデータ
を前記入力母線へ読出す第3記憶装置と、前記入力母線
を前記出力母線に接続してループ母線を構成するための
手段を備えたCPUと、を有するデータ処理システム。1. A unidirectional input bus that transfers instructions or data, a unidirectional output bus that transfers a first address, a second address, or data, an auxiliary address bus that transfers a third address, and the input bus and a first storage device connected to the output bus and configured to read data to or write data from the input bus in response to the first address; and a first storage device connected to the input bus and the output bus. a second storage device for reading instructions to the input bus in response to the second address; and a third storage device connected to the input bus, the output bus, and the auxiliary address bus;
a third storage device for reading data received from the output bus to the input bus in response to an address; and a CPU comprising means for connecting the input bus to the output bus to form a loop bus. A data processing system having .
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US75446276A | 1976-12-27 | 1976-12-27 | |
| US754462 | 1985-07-12 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5382239A JPS5382239A (en) | 1978-07-20 |
| JPS6053898B2 true JPS6053898B2 (en) | 1985-11-27 |
Family
ID=25034899
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP52150706A Expired JPS6053898B2 (en) | 1976-12-27 | 1977-12-16 | data processing system |
Country Status (10)
| Country | Link |
|---|---|
| JP (1) | JPS6053898B2 (en) |
| AU (1) | AU512868B2 (en) |
| BR (1) | BR7708663A (en) |
| CA (1) | CA1091359A (en) |
| CH (1) | CH623946A5 (en) |
| DE (1) | DE2756767C2 (en) |
| ES (1) | ES465430A1 (en) |
| GB (1) | GB1543279A (en) |
| HK (1) | HK70784A (en) |
| SE (1) | SE427590B (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62175082U (en) * | 1986-04-24 | 1987-11-06 | ||
| JPS63104495U (en) * | 1986-12-25 | 1988-07-06 |
-
1977
- 1977-10-06 CA CA288,231A patent/CA1091359A/en not_active Expired
- 1977-10-11 AU AU29561/77A patent/AU512868B2/en not_active Expired
- 1977-11-29 GB GB49550/77A patent/GB1543279A/en not_active Expired
- 1977-12-15 SE SE7714243A patent/SE427590B/en unknown
- 1977-12-16 JP JP52150706A patent/JPS6053898B2/en not_active Expired
- 1977-12-20 DE DE2756767A patent/DE2756767C2/en not_active Expired
- 1977-12-23 CH CH1596877A patent/CH623946A5/en not_active IP Right Cessation
- 1977-12-26 ES ES465430A patent/ES465430A1/en not_active Expired
- 1977-12-27 BR BR7708663A patent/BR7708663A/en unknown
-
1984
- 1984-09-13 HK HK707/84A patent/HK70784A/en unknown
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62175082U (en) * | 1986-04-24 | 1987-11-06 | ||
| JPS63104495U (en) * | 1986-12-25 | 1988-07-06 |
Also Published As
| Publication number | Publication date |
|---|---|
| DE2756767C2 (en) | 1982-09-09 |
| BR7708663A (en) | 1979-07-24 |
| SE7714243L (en) | 1978-06-28 |
| HK70784A (en) | 1984-09-21 |
| DE2756767A1 (en) | 1978-06-29 |
| AU512868B2 (en) | 1980-10-30 |
| ES465430A1 (en) | 1978-09-16 |
| GB1543279A (en) | 1979-03-28 |
| SE427590B (en) | 1983-04-18 |
| CH623946A5 (en) | 1981-06-30 |
| JPS5382239A (en) | 1978-07-20 |
| CA1091359A (en) | 1980-12-09 |
| AU2956177A (en) | 1979-05-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS6053899B2 (en) | data processing system | |
| US4378589A (en) | Undirectional looped bus microcomputer architecture | |
| EP0169565B1 (en) | Microprocessor compatible with any software represented by different types of instruction formats | |
| US3983539A (en) | Polymorphic programmable units employing plural levels of sub-instruction sets | |
| US4394736A (en) | Data processing system utilizing a unique two-level microcoding technique for forming microinstructions | |
| US5125084A (en) | Control of pipelined operation in a microcomputer system employing dynamic bus sizing with 80386 processor and 82385 cache controller | |
| US6411984B1 (en) | Processor integrated circuit | |
| US4870562A (en) | Microcomputer capable of accessing internal memory at a desired variable access time | |
| KR100279780B1 (en) | Microcomputer and microcomputer system | |
| US4339793A (en) | Function integrated, shared ALU processor apparatus and method | |
| US3983541A (en) | Polymorphic programmable units employing plural levels of phased sub-instruction sets | |
| US4558411A (en) | Polymorphic programmable units employing plural levels of sub-instruction sets | |
| EP0180476B1 (en) | Microprogramme sequence controller | |
| JPS598846B2 (en) | Microprogrammable peripheral controller | |
| US5497459A (en) | System for testing instruction queue circuit and central processing unit having the system | |
| JPS6218936B2 (en) | ||
| EP0010197B1 (en) | Data processing system for interfacing a main store with a control sectron and a data processing section | |
| US4947478A (en) | Switching control system for multipersonality computer system | |
| US4432050A (en) | Data processing system write protection mechanism | |
| EP0010196B1 (en) | Control circuit and process for digital storage devices | |
| EP0110227B1 (en) | Control memory organization | |
| US4217639A (en) | Logic for generating multiple clock pulses within a single clock cycle | |
| US5742842A (en) | Data processing apparatus for executing a vector operation under control of a master processor | |
| JPH0394303A (en) | timing generator | |
| EP0240606A2 (en) | Pipe-line processing system and microprocessor using the system |