JPH044618B2 - - Google Patents
Info
- Publication number
- JPH044618B2 JPH044618B2 JP1064974A JP6497489A JPH044618B2 JP H044618 B2 JPH044618 B2 JP H044618B2 JP 1064974 A JP1064974 A JP 1064974A JP 6497489 A JP6497489 A JP 6497489A JP H044618 B2 JPH044618 B2 JP H044618B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- bits
- segment
- instruction
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/342—Extension of operand address space
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
- G06F11/106—Correcting systematically all correctable errors, i.e. scrubbing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/261—Microinstruction address formation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
- G06F9/30174—Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30196—Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
Description
本発明はデータ処理システムに関し、特に現在
の僅か16ビツトの論理アドレスを取扱うシステム
のそれよりもそれ程増加しないサイズおよびコス
トで32ビツトの論理アドレスの取扱いが可能なシ
ステムに関する。 屡々「ミニ・コンピユータ」クラスに属するも
のとされる今日使用可能なデータ処理システム
は、通常長さが16ビツトである論理アドレスおよ
びデータ・ワードを取扱う。当業者により時に
「仮想」アドレスと呼ばれる本文中に用いた用語
「論理アドレス」は、プログラマが操作すること
ができるアドレスであるプログラマ・ビジブルな
アドレスを示すため使用される。これと対照的
に、「物理的」アドレスは1つのデータ処理シス
テムの主記憶装置におけるデータの場所のアドレ
スである。データ処理システムの操作は論理アド
レスを物理アドレスに変換するための適当な変換
テーブルを使用する。 このようなミニ・コンピユータは多くの用途に
おいて成功裡に使用され、合理的なコストで高度
のデータ処理能力を提供する。市場において好評
を博したこのようなシステムの事例としては、米
国のマサチユーセツツ州ウエストボロ市のData
General Corp.が設計開発した「Nova」および
「Eclipse」システムとして知られるものがある。
NavaおよびEclipseシリーズのミニ・コンピユー
タについては、本明細書の一部として含まれる別
表1に列挙されたData General Corp.から入手
可能な文献に記載されている。 このNovaシステムは64キロバイト(この接頭
辞「キロ」とは更に正確には1024即ち210を示す)
の論理アドレス・スペースを提供し、Eclipseシ
ステムも又64ビツトの論理アドレス・スペースを
提供し、この両者は共に合理的なコストにおいて
多くの用途に向くシステムであることが証明され
ている。改良システムの開発においては、現在
NovaおよびEclipseシステムにおいて利用可能な
ものより更に大きな論理アドレス・スペースに然
るべき拡大をもたらすことが望ましい。このよう
な拡張された論理アドレス基底により更に大きな
命令セツトをシステムが使用することを可能に
し、この拡張された命令セツトは、従来のNova
およびEclipseシステムにおいて現在使用可能な
実質的に全ての利用可能な基本命令を含むと共
に、増加した即ち拡張された論理アドレス・スペ
ースの利点を有する多数の余分な即ち拡張された
命令をも含むことが可能である。 従つて、このような改善されたシステムは、実
質的な投資であるNovaおよびEclipseのソフトウ
エア・ライブラリを現在保有する者が更に又改善
された拡張アドレス・システムにおいてこのよう
なソフトウエアを使用できるようにNovaおよび
Eclipseシステムにおいて使用するため既に設計
されたソフトウエアに応答するように構成される
べきである。この改良されたシステムは又、更に
多数のオン・ライン・ターミナルにおける更に多
くのオン・ライン・ユーザがこのシステムを利用
できるように、合理的なコストで性能における更
に大きな適応性を提供することになろう。拡張さ
れたアドレス・スペースは更に、システムが特に
そのために構成された更に広範囲で複雑なプログ
ラムを維持すると共に、拡張されないNova又は
Eclipseシステムにより維持される以前のプログ
ラム全てを維持することを許容することになる。 本発明のシステムは中央処理装置と記憶装置の
独特な組合せを使用し、この中央処理装置はアド
レス変換装置と命令処理装置と演算論理装置とマ
イクロ順序付け装置を含み、記憶装置はシステ
ム・カツシエ装置と主記憶装置とその間のデータ
転送を制御するためのバンク制御装置を含む。本
システムは、16ビツト又は32ビツトのアドレスか
ら得ることができる32ビツトの論理アドレスを取
扱う。32ビツトの論理アドレスを変換するための
専用装置が設けられる。本システムは、情報は異
なるセグメントの記憶域(リング)に記憶される
階層記憶域を使用し、このリングに対するアクセ
スは異なるリングに対するアクセスが異なる特権
レベルにより支配されるように特権方式で制御さ
れる。 記憶システムは各々が複数の記憶面を有する複
数の記憶モジユールを含む主記憶装置を使用す
る。主記憶装置は通常2重ポート・システム・カ
ツシエ記憶装置を介してシステムの残部とインタ
ーフエースし、主記憶装置とシステム・カツシエ
間のブロツク・データ転送はバンク制御装置によ
つて制御される。 マイクロ命令は、2つのタイプの命令、即ち第
1の基本命令セツトからの命令又は第2の拡張命
令セツトからの命令の復号が可能な独自のプログ
ラム可能読出し専用記憶装置を用いて復号され、
復号されつゝある命令はどのタイプの命令が復号
されるかを一義的に識別する選択されたビツト・
パターンを自蔵する。 復号された命令は1つ以上のマイクロ命令の開
始アドレスを提供し、この開始アドレスは独自の
マイクロ命令順序付け装置に与えられ、この順序
付け装置は次に続くマイクロ命令のアドレスを決
定するため各マイクロ命令の選択されたフイール
ドを適当に復号し、このようなアドレスは適当に
複数個のマイクロアドレス・ソースから選択され
る。 本システム全体は、この全システム本来の独自
の諸操作を実施するあるマクロ命令に応答する装
置を含む。 本発明については添付図面の助けにより更に詳
細に説明する。 特定の図面が1枚以上の図を必要とする前記図
面について注意すれば、後続の各図は同じ図番に
続いて接尾辞を付して示される(例、第5図(最
初の図に対して)、第5A図(2枚目の図に対し
て)……等となる。)。特に、マイクロ制御ストア
170を示す第146図については、56枚の図が
使用される。これ等には、146,146A,1
46B,146C,146D,146E,146
F,146.1,146.1A,146.1B,
146.1C,146.1D,146.1E,1
46.1F,146.2,146.2A,14
6.2B,146.2B……等とし、更に14
6.8,146.8A,146.8B……14
6.8Fに至る。 本発明のシステムの特定の構成について説明す
る前に、必要な特性が説明できかつ特定の構成の
説明が更に良く説明できるように、比較的一般的
な事柄について全体的概念を論述することが有益
であろう。 本発明のシステムの重要な特質は、前述の如
く、利用可能な論理アドレス・スペースのサイズ
である。従来のNovaおよびEclipseシステムの間
の識別に便利なように、本文に論述の如き拡張シ
ステムは屡々「Eagle」システムと呼ばれる。
Eagleシステムにおいては、例えば、論理アドレ
ス・スペースは、1つのバイトが8ビツトの精度
を有する如く定義される4ギカバイト(より正確
には、接頭辞「ギガ」とは1073741824即ち230で、
従つて4ギガバイトとはより正確には、
4294967296である)もに達し得る。本文に用いた
「ワード」とは、16ビツトの精度(即ち、2バイ
トに等しい)および32ビツトの精度(即ち、2ワ
ード即ち4バイト)を有する如き「2倍ワード」
を有する如く定義される。増加された論理アドレ
ス・スペースの故に、本システム全体は、例えば
遥かに小さな論理アドレス・スペースを有する
Novaシステム又はEclipseシステムにより維持さ
れるものよりも大きな命令セツトを維持すること
ができる。本システムの全能力は、これにより実
施可能な拡張された命令のセツトを調べれば当業
者は完全に理解することがでる。本発明によるこ
のような命令セツトは、本明細書の一部として含
まれる別表2に示されている。このような命令セ
ツトは拡張された命令セツト(Eagle命令セツト
と呼ぶことができる)と、Eclipse C−350命令
セツトならびにNova命令セツトを含み、その全
てが本システムにより取扱い可能であり、後者の
2つの命令セツトは既に前述の文献の一部として
開示されている。全てのNovaおよびEclipse命令
は前述の文献に示される原理および仕様に従つて
実行される。 本発明のシステムにより維持される拡張された
命令の2進符号化については別表2に示される。
本発明により拡張された命令を有するシステムと
他の方法で示唆された拡張命令を有するシステム
との間には大きな差が存在する。有効にセツトさ
れた拡張命令が従来の即ち元の命令セツトの「上
位の」セツトを示すシステムにおいて、全ての命
令は機械の操作に対し適当に復号されなければな
らない。通常、このようなシステムは元の命令セ
ツトと拡張された命令セツトの両方の復号のため
の復号サブシステムを使用する。このデコーダは
一時にこれ等命令セツトの片方の復号しか許容し
ないように作動し、元の命令セツトおよび拡張さ
れた命令セツトは作用的に相互に排他的である。
どの命令が復号されるべきかを判定するために、
「モード・ビツト」即ち1つの状態では元の命令
セツトが復号されるべきこと、又他の状態では拡
張命令セツトが復号されるべきことを表示する単
一のビツトをセツトするための独自の命令を用い
なければならない。しかし、いずれの場合にも、
この両方のセツトのいずれか一方を同時に復号す
るため復号サブシステムを使用できるようにする
ことができない。このような方法は、その全体の
上位のセツトの異なる命令セツトからの命令を同
時に復号することは不可能であるため、全機械操
作についての制約となる。 しかし、本発明のシステムはこのような相互の
排他性を避け、いつでも一時に片方のセツト又は
両方のセツトからの命令の復号が可能なように構
成される。デコーダのPROM(プログラム可能な
読出し専用メモリー)システムは、拡張された
Eagle命令セツトと、例えば元のNovaおよび
Eclipse命令セツトの如き元の即ち基本命令セツ
トの相方を復号するために使用される。復号され
る各命令はどのデコーダが使用されるかを判定す
る情報を含み、このような判定はこれにより復号
されるべき各命令ワードにおいて本来的に実施さ
れる。別表2に示される如く、例えば、この情報
はビツト0および12〜15に含まれる。このよう
に、拡張されたEagle命令セツトにおいて、ビツ
ト0は常に1であるが、ビツト0における「1」
とビツト10〜15における符号「011000」とビツト
「0」における「1」とビツト5における「0」
とビツト10〜15における符号「111000」を使用す
る如き拡張された命令を除いて、ビツト12〜15は
常に拡張命令セツトの全命令に対し常に「1001」
である。一方、元のEclipse命令はビツト0が0
でありビツト12〜15が「1000」となる如きもので
ある。更に、命令がEagle符号化ビツト又は
Eclipse符号化コードのいずれかを保持しない場
合には、このような命令はNova命令として解釈
される。 各命令がどの命令セツトに帰属するかについて
の識別を伴うため、システムは相互に排他性を有
することなく命令を復号するように作動する。 本システムの拡張されたオペレーシヨンを維持
するためには、その形態は新らしいシステムがそ
の拡張である元のシステムにおいて既に使用可能
であつたレジスタの増補を要求する。本システム
においては下記のレジスタが使用され、特定の図
に関して以下に説明する特定の構成に関して更に
詳細に後で論述される。 レジスタ・セツトは、固定小数点レジスタ、浮
動小数点レジスタ、スタツク管理レジスタ、およ
びメモリー管理レジスタを含む。 固定小数点レジスタ 本システムは4個の固定小数点アキユムレータ
(ACC0〜3)、1個のプログラム・カウンタ
(PC)および1個のプロセサ状況レジスタ
(PSR)を含む。各アキユムレータは32ビツトの
精度を有し、(1)32ビツトの拡張された符号であり
得る16ビツトのオペランド、(2)28ビツト迄拡張さ
れた零であり得る15ビツト・アドレスを含むこと
ができ、あるいは(3)アキユムレータへの記憶に先
立ち32ビツト迄拡張された零であり得る8ビツ
ト・バイトを含むことができる。 プログラム・カウンタは31ビツトの精度を有
し、ビツト1〜3は8つのその時の記憶リング
(以下に詳細に説明する)の1つを識別し、その
ビツト4〜31は命令アドレスに対してオフセツト
された1つのアドレスを含む。例えば、通常15ビ
ツトのプログラム・カウンタしか必要としない
Eclipseの命令の場合は、ビツト1〜3が31ビツ
トの拡張された命令操作における如くその時の記
憶リングを識別し、15の最下位ビツト17〜31は15
ビツトのEclipseプログラム・カウンタを表わし、
ビツト4〜16は全て零である。 プロセサの状況レジスタは16ビツトのレジスタ
で、もしセツトされるならば固定小数点のオーバ
ーフローをもたらすオーバーフローマスク・ビツ
トを提供する。更に、このレジスタは固定小数点
オーバーフロー標識ビツトとマイクロ割込みが生
じたことを示すビツトとを含む。このレジスタに
おける他のビツトは予約され、このため将来の使
用のため使用可能である。 浮動小数点レジスタ 本システムは4個の浮動小数点アキユムレータ
(FPAC0〜3)と1個の浮動小数点状況レジスタ
(FPSR)を含む。この浮動小数点アキユムレー
タの各々は、2倍精度の浮動小数点の値を完全に
含むに十分な精度の64ビツトを含む。拡張システ
ムの浮動小数点状況レジスタは、前掲の文献にお
いて論述されるEclipse浮動小数点アキユムレー
タ(FPAC)と同じものである。 浮動小数点状況レジスタは又64ビツトの精度を
有し、その32ビツトは浮動小数点プログラム・カ
ウンタとして作動する。浮動小数点の障害の場合
には、浮動小数点プログラム・カウンタ・ビツト
はこの障害を生じた浮動小数点命令のアドレスを
規定する。他の4つのビツトはそれぞれ指数のオ
ーバーフロー条件、指数のアンダーフロー条件、
零で除算条件、および仮数オーバーフロー条件を
表示するため使用される。別のカウンタ・ビツト
は、もし前記の後の4ビツトのどれかも又セツト
されるならば、浮動小数点の障害をもたらす。こ
の浮動小数点カウンタも又状況レジスタにおいて
一般に用いられる如き零ビツトと負のビツトを含
むと共に、浮動小数点のまるめ操作モードと割込
み再開操作とを表示するためのビツトを含む。 スタツク管理レジスタ 本発明のシステムはメモリー・スタツクを管理
する4つの32ビツト・レジスタを用い、このレジ
スタはスタツク・ポインタ、スタツク・リミツ
ト、スタツク・ベースおよびフレーム・ポインタ
を含む。このスタツク・ポインタ・レジスタはこ
のスタツクの最上部における2倍ワードのエント
リを示す。「プツシユ」操作が生じる時、スタツ
ク・ポインタの全ビツトは2だけ増分され、「プ
ツシユされた」相手はスタツク・ポインタの新ら
しい値によりアドレス指定された2倍ワードにお
かれる。「ポツプ」操作においては、スタツク・
ポインタのその時の値によりアドレス指定された
2倍ワードは表示されたレジスタにおかれ、この
スタツク・ポインタの全ての32ビツトはその時2
だけ減分される。 フレーム・ポインタ・レジスタはその時のフレ
ームにおける最初に使用可能な2倍ワードマイナ
ス2を示す。スタツク・リミツトはスタツクのオ
ーバーフローの判定に用いられる1つのアドレス
を含む。スタツク操作が目的物をスタツク上にプ
ツシユした後、スタツク・ポインタはスタツク・
リミツトと比較される。もしスタツク・ポインタ
がスタツク・リミツトよりも大きくなると、スタ
ツクの障害が信号される。スタツク・ベースはス
タツクがアンダーフローを判定するために用いら
れる1つのアドレスを含む。目的別をスタツクか
らポツプするスタツク操作の後、スタツク・ポイ
ンタはスタツク・ベースと比較される。もしスタ
ツク・ポインタがスタツク・ベースより小さけれ
ば、スタツク障害が信号される。 メモリー管理レジスタ 各レジスタはメモリーの管理のため使用され、
このようなレジスタはそれぞれ32ビツトの精度を
有するセグメント基底レジスタ(SBR)として
表示され、メモリーはその8つのセグメント即ち
リングに分割される。本文に説明したシステムの
SBRは、以下に更に詳細に説明するように、本
システムのアドレス変換装置(ATU)における
スクラツチ・パツド・メモリーの一部として形成
される。各SBRの1ビツトは、これと関連する
セグメントは照合され得るかどうか(即ち、この
ようなセグメントに対する基準が妥当かどうか)
を表示する。別のビツトは、以下に更に詳細に説
明するように、セグメント・オフセツト・フイー
ルドの最大長さ、即ちこの基準が1のレベルのペ
ージ表であるか、2のレベルのページ表であるか
を表示する。各セグメントの基底レジスタの第3
のビツトは、Nova/EclipseI/Oの有効アドレ
スをロードするためのNova/Eclipse命令が実行
中であるかどうかを表示する。別のビツトは「保
護」ビツトを表わし、これはI/O命令が実行可
能かどうか、あるいはその実行がこのセグメント
に与えられた保護に対する違反となるかどうかを
表示する。ビツトの内の19は表示されたページ表
のメモリーにおける物理的アドレスを識別する物
理的アドレスを含む。メモリーにおけるページ表
のアドレス指定の論議は、各セグメントにおける
記憶場所の論議を含み以下に更に詳細に示され
る。 全体システム 本発明の望ましい実施態様のブロツク図は第1
図に示される。本システムの中央処理装置
(CPU)部分は、演算論理装置(ALU)11と、
命令処理装置12と、マイクロ順序付け装置13
と、アドレス変換装置(ATU)14を含む。記
憶システムは、主記憶装置16と、補助カツシエ
記憶装置17と、バンク制御装置18として識別
されるメモリー制御装置とを含む。CPUのアド
レス・バス19は、命令処理装置12と、アドレ
ス変換装置14および記憶システム間のアドレス
の転送を許容する。制御プロセサ・メモリー
(CPM)バス20は、演算論理装置11と、命令
処理装置12と、アドレス変換装置14と、記憶
システム15間の命令およびオペランドの転送を
許容する。 I/Oアドレス・バス21およびI/Oメモリ
ー/データ・バス22は、I/Oチヤネル装置2
3を介するI/O素子に対するアドレスおよびデ
ータのそれぞれの転送、および記憶システムと制
御盤制御処理装置24間のこれ等の転送を可能に
する。システム全体の各装置間の制御信号の転送
のための適当な制御バスは、以下に更に詳細に説
明するバス25〜31として提供される。適当な
テレタイプおよびフロツピー・デイスクシステム
33と34はそれぞれ、特に適当なマイクロセ
サ・コンピユータ35による制御盤制御処理装置
24を介する診断操作モードにおいて本システム
により使用可能である。 本文において説明される本システムの進歩性の
ある特質については、記憶システム、アドレス変
換装置、命令処理装置およびマイクロ順序付け装
置の更に詳細な論議を必要とする。演算論理装
置、制御盤制御処理装置およびその関連する制御
部を有するI/Oチヤネル装置は詳細に説明する
必要はない。 記憶システム 本発明の望ましい実施態様によれば、記憶シス
テムは、2メガバイト以下に主記憶装置16を含
み、必要に応じて本システムは例えば4メガバイ
ト等に更に拡張可能である。1000万バイトのメモ
リー迄システムの拡張を可能にするため物理アド
レス・フイールドには十分なビツトが残されるこ
とに注目すべきである。主記憶装置16とシステ
ムの残部の間のインターフエースは2重ポート・
カツシエ記憶装置17を介し、データは主記憶装
置と16バイトのブロツクにおけるカツシエ記憶装
置間に転送される。このカツシエ記憶装置は、こ
れを命令処理装置における別個のカツシエ・メモ
リーと識別するため通常「システム・カツシエ」
(SYS CACHE)と呼ばれ、この別のカツシエ・
メモリーは通常「命令カツシエ」(ICACHE)装
置と呼ばれる。このシステムカツシエ装置17
は、その2つのポートのポート17Aにおけるデ
ータ転送のためのCPU要求を取扱い、かつその
ポート17BにおけるI/Oシステムからの要求
を取扱う。CUPデータ転送は、「バイト同志整合
された」転送、「ワード同志整合された」転送お
よび2倍ワード転送を含み得る。I/Oデータ転
送は、「ワード同志整合された」転送、「2倍ワー
ド同志整合された」転送および16バイトのブロツ
ク転送を含み得る。 主記憶装置16は第4図に示す如く、1乃至8
個の256キロバイトの記憶モジユールを含み得る。
各記憶モジユールは、各々16Kの39ビツト・ワー
ドの4つの面0〜3の形態で各モジユールに構成
された156の16K動的ランダム・アクセス・メ
モリー(RAM)のメモリー列を含む。各ワード
は、以下に更に詳細に論述するようにデータの32
ビツトと7つの誤り訂正ビツトからなる。各記憶
モジユールのRAMに対する記憶タイミングおよ
び制御はメモリーのバンク制御盤18上で行われ
る。メモリー・バンク制御盤からの制御信号は各
記憶モジユールにおけるレジスタにクロツクさ
れ、その出力は「面0」RAMを駆動する。この
ようなレジスタからの出力はある固定時間後「面
1」RAMを駆動する別のレジスタにクロツクさ
れる。このようなパイプライン操作は「面2」
RAMと「面3」RAMを介して続行し、その結
果4つの全ての面が固定された間隔(例、110ナ
ノ秒の間隔)で同じ制御信号を受取り、その結果
4つの連続する39ビツト・ワードのブロツクの転
送を生じる。 メモリー・バンク制御盤18は3つの主な機能
を有する。先ず第1に、これはシステム・カツシ
エ17と主記憶装置16の記憶モジユールとの間
のインターフエースを提供する。第2に、この制
御盤は必要な誤り検査および訂正操作を行い、第
3に各記憶モジユールの動的RAMのリフレツシ
ユ操作を制御する。システム・カツシエとバンク
制御盤との間にインターフエースの詳細について
は以下に更に詳細に論述する。 バンク制御盤の誤り検査および訂正ロジツクは
当技術において周知の如く7ビツトの誤り訂正ハ
ミング・コードを用いて単ビツトの誤り訂正と2
倍ビツトの誤り検出を行う。各ビツト・データ・
ワードに対して生成された7ビツトの検査ビツト
は主記憶操作モジユールにおけるこのようなワー
ドと共に記憶される。このワードがその後メモリ
ーから読出される時、39ビツトの全てが復号され
て7ビツトの症候群ビツトのパターンを生じるよ
う復号され、このパターンはもし単一ビツトが誤
りであるならばどれが誤りであるかを識別し、1
つ以上のビツトが誤りである時を表示する。訂正
可能な単ビツトが生じる時、制御盤の制御処理装
置24が障害のあるビツトのアドレスおよび症候
群ビツト・パターンを与えられる。このデータは
これと同時に訂正され、システムのクロツク期
間、例えば公知の誤り訂正操作によれば特定の実
施態様では100ナノ秒と等しい固定された時間的
遅延の後システム・カツシエに対して送られ、パ
イプライン操作における残るワードは、信号BL
ERRORとして識別される適当な禁止信号の使用
により訂正された信号が使用可能となる迄転送さ
れることを阻止される。 単一ビツトの誤りが多重ビツトの誤りにならな
いように単一ビツトの誤りの実質的に即時の訂正
が望ましい。訂正されたデータが読出されて誤り
であることが判つた時だけこのデータがメモリー
に書戻される従来周知の手法が使用可能である。
このような手法の場合2つの問題が生じる。第一
に、瀕繁には読出されない記憶場所は瀕繁に訂正
されず、第二にもし故障が瀕繁にアクセスされる
記憶場所において生じるならばこの故障の訂正の
試みにかなりの時間が浪費され得ることである。
本発明のシステムは、各々の主記憶場所が検査さ
れて必要に応じて2秒毎に1回訂正されるように
全ての主記憶装置の場所をモニターするための別
のプロセスを用いることによりこのような問題を
避けることができる。このような検査はメモリー
のリフレツシエ・サイクルの間行われ、システム
に対するメモリーの可用度を減殺することはな
い。このような手法の詳細な説明は、参考のため
本文に引用される同時に出願されたM.Ziegler.
M.Druke.W.BaxerおよびJ.Van Roecklの米国特
許出願第 号に開示されている。 システム・カツシエ装置17は主記憶装置16
と本システムの残部との間の全結合を表わし、一
方は主としてCPUの要求を取扱うため、他方は
主としてI/O要求を取扱うための前記の如き2
つの要求側ポート17A,17Bと主記憶装置と
結合するための記憶システム・ポート38からな
る。システム・カツシエ盤も又、I/Oポート
と、その間の直接のブロツク転送を行う記憶シス
テム・ポートとの間に直接的なアクセス経路39
を提供する。カツシエ・ポート17も又、I/O
ポートとCPU要求ポートのいずれかからアクセ
ス可能な16バイトのブロツク・バイトを有する16
キロバイトの直接マツプされた高速カツシエ・デ
ータ・ストア40を含む。システム・カツシエ装
置17、バンク制御装置18および主記憶装置1
6の典型的な記憶モジユールにおいて使用される
ロジツクのブロツク図は第2図乃至第4図に示さ
れる。 第2図において示される如く、システム・カツ
シエ・データ・ストア40は、主記憶装置により
直接取扱われるI/Oポートからのブロツク転送
要求以外のメモリーからのデータに対する全ての
要求を受取る。前述の特定の実施態様において
は、カツシエ・データ・ストアはC PORT17A
又はI PORT17Bのアドレス入力におけるデー
タ・アドレスを受取り、このアドレスはC
PORTアドレス・レジスタ41又はI PORT
アドレス・レジスタ42のいずれかにおかれる。
入力アドレスは下記の如くタツグ部分と、指標部
分と、ワード・ポインタ部分とを含む。即ち、 このカツシエ・データ・ストア・アドレスの3つ
の最下位ビツト29〜31はワード・ポインタを指示
し、これはデータ・ストアの16バイトの8ワー
ド・ブロツクのブロツク内にある所要のワードを
識別する。残りのビツト9〜28は、主記憶装置か
ら所要のブロツクを取出すため使用されるアドレ
スと正確に対応するブロツク・アドレスを識別す
る。後者のビツトは図示の如くタツグ・ビツト9
〜18と指標ビツト19〜28に分割される。 第2図に示されるシステム・カツシエは「タツ
グ」ストア装置43を含む。データ・ストア40
は4K×32ビツト・ワード(即ち、1Kの16バイ
ト・ブロツク)の高速メモリー列であり、主記憶
装置からの1ブロツクのワードの複写を保持す
る。このデータ・ストアはカツシエ・データ・ス
トアのアドレス・ワードの指標およびワード・ポ
イント・ビツトによりアドレス指定され、前述の
如く、指標はデータ・ストア40内のブロツクの
10ビツト・アドレスであり、3ワードのポイン
タ・ビツトは選択されたブロツク内の所要ワード
を指示する。データ・ストア・ブロツクは同じ指
標を共用する主記憶装置のどのデータ・ブロツク
でも緩衝するため使用できる。 タツグ・ストア43の機能は、主記憶装置から
の可能な多くのブロツクのどれがデータ・ストア
40の各16ビツトのブロツクにおいて緩衝される
かを識別することである。タツグ・ストア43は
高速の1Kの12ビツト・ワード列であり、記憶ア
ドレスの10ビツトの指標部分によつてアドレス指
定される。各12ビツト・ワードは、データ・スト
ア40において緩衝される主記憶装置からのブロ
ツク識別する10ビツトを含む。主記憶装置が4メ
ガバイト以下である時、このタツグの最初の2ビ
ツトは主記憶装置の容量の将来の拡張用としての
み必要であり、零でよい。ビツト10と11はデータ
の状況を表示するフラツグである。このように、
「妥当」フラツグVは識別可能なストア・ブロツ
クが妥当なデータを含むことを表示する。例え
ば、もしI/Oポート操作が仮にデータ・ストア
40において既に緩衝されたブロツクの内容を修
飾する主記憶装置に対するブロツク「書込み」を
要求するものとすれば、このブロツクの妥当フラ
ツグはそのデータがもはや妥当ではないことを表
示するようにリセツトされることになる。 「修飾」フラツグMは、データ・ストア・ブロ
ツクの内容が修飾されたことを表示する。このよ
うに、もしあるデータ・ブロツクがデータ・スト
ア40から取除かれて主記憶装置からの新らしい
データ・ブロツクに対する余地を作るならば、こ
の取除かれたデータ・ブロツクは、修飾されたデ
ータ・フラツグがセツトされるとすれば、主記憶
装置に書戻される。 第2のタツグ・ストア装置44はシステム・カ
ツシエ盤上に示されるが、このタツグ・ストアは
以下に説明する命令カツシエ(I CACHE)の
タツグ・ストアと同じものである。I CACHE
タツグ・ストアは、メモリーに対する書込みが何
時命令処理装置における命令カツシエの内容に影
響を及ぼすかを判定するためシステム・カツシエ
盤上で使用される。このような効果が入力アドレ
スおよびI CACHEアドレスのコンパレータ4
5における比較により示される如く生じるなら
ば、システム・カツシエは第2図に示される如く
「命令カツシエ書込み」信号を存続させることに
より命令処理装置に警告し、命令処理盤における
命令カツシエ(I CACHE)にこのように修飾
されたブロツクの場所を通知する。 システム・カツシエの作用においては全ての要
求は「読出し」要求であるものと最初に仮定され
るが、これは仮に「書込み」要求が生じても、書
込み操作が実施される前に書込まれるべきデータ
が読出されて修飾される(「読出し/修飾/書込
み」操作)ことを必要とすることがあり得るため
である。もし1つの要求が入力ポートに受取られ
る時システム・カツシエが使用中でなければ、デ
ータ・ストア40とタツグ・ストア43は前述の
如く受取つた入力アドレスの適当部分を用いて同
時にアクセスされる。アドレス指定されたデー
タ・ストア40における場所からのデータは、書
込みデータ・レジスタ46の内容が次のサイクル
においてマルチプレクサ47およびバス・ドライ
バ装置49を介してバス上に使用可能になり得る
ようにデータ転送が記憶操作に対する書込みであ
るならば、マルチプレクサ48を介してカツシエ
書込みデータ・レジスタ46にロードされる。も
しこのデータが読出し操作であれば、データ・ス
トア40からのデータ出力は要求される如くそれ
ぞれマルチプレクサ48およびドライバ装置5
0,51を介してC PORT又はI PORTに
提供される。 タツグ・ストア43からのデータは最初に要求
されたデータが実際にデータ・ストア40にある
かどうかを判定するため検査される。タツグスト
アから読出されるワードのタツグ部分は、要求側
により提供されたアドレスのタツグ部分とコンパ
レータ52において比較され、有効フラツグはこ
れがセツトされることを知るため検査される。も
しこのような比較が成功すれば(システム・カツ
シエの「的中」)、データ・ストア40からのデー
タは所要のデータであり、要求側はこれを受取る
こと、あるいはこれをメモリーに書込むことを許
容される。もしこの比較が失敗すれば(システ
ム・カツシエの「外れ」)、要求されたデータ・ブ
ロツクはカツシエ・データ・ストア40にはな
く、主記憶装置から持つて来なければならない。
このような状態の発生は「カツシエ障害」条件と
呼ばれ、このような障害が生じる時は、要求側は
この障害が解消された後迄データにローデイング
することを禁止される。 一たん要求側に対してデータが使用可能となれ
ば要求側はデータの受入れを要求することを信号
しなければならず、データが最初に使用可能にな
る時要求側がこの動作を行わなければ、要求側が
データを受入れる意図を表示する迄読出し操作は
反復される。 データ・ストア40におけるデータに対するア
クセスは完了迄に2システム・クロツク・サイク
ルを必要とするため、要求側から受取る如きカツ
シエ・アドレスが2つのアクセスが何時でも進行
中であり得るように「パイプ・ライン」化するこ
とができる。入力ポートの1つのアクセスを他の
入力ポートのそれと関連付けることによつてアク
セス要求をパイプ・ライン化すると云うこの能力
が長所となる。基本的なシステム・クロツクの周
波数の半分の周波数を有する適当なクロツキング
信号を用いてどの要求側ポートがいかなる時にも
カツシエ・データ・ストアをアクセスすることを
許容されるかを表示する。その結果、カツシエ障
害期間中を除いてCPUとI/Oポート・アクセ
ス間には干渉がない。唯一のの例外は、I/Oポ
ートおよびCPUポートの相方が同時に同じデー
タ・ストア・ブロツクをアクセスするプロセスに
あることは許されないことである。読出し操作で
対するポート間の関連付け操作の一例を以下に論
述する。記述する特定の事例においては、CPU
ポートの要求側は、読出し反復が生じるように
CPUポートの要求側は最初の機会にデータをと
ることは選択しない。
の僅か16ビツトの論理アドレスを取扱うシステム
のそれよりもそれ程増加しないサイズおよびコス
トで32ビツトの論理アドレスの取扱いが可能なシ
ステムに関する。 屡々「ミニ・コンピユータ」クラスに属するも
のとされる今日使用可能なデータ処理システム
は、通常長さが16ビツトである論理アドレスおよ
びデータ・ワードを取扱う。当業者により時に
「仮想」アドレスと呼ばれる本文中に用いた用語
「論理アドレス」は、プログラマが操作すること
ができるアドレスであるプログラマ・ビジブルな
アドレスを示すため使用される。これと対照的
に、「物理的」アドレスは1つのデータ処理シス
テムの主記憶装置におけるデータの場所のアドレ
スである。データ処理システムの操作は論理アド
レスを物理アドレスに変換するための適当な変換
テーブルを使用する。 このようなミニ・コンピユータは多くの用途に
おいて成功裡に使用され、合理的なコストで高度
のデータ処理能力を提供する。市場において好評
を博したこのようなシステムの事例としては、米
国のマサチユーセツツ州ウエストボロ市のData
General Corp.が設計開発した「Nova」および
「Eclipse」システムとして知られるものがある。
NavaおよびEclipseシリーズのミニ・コンピユー
タについては、本明細書の一部として含まれる別
表1に列挙されたData General Corp.から入手
可能な文献に記載されている。 このNovaシステムは64キロバイト(この接頭
辞「キロ」とは更に正確には1024即ち210を示す)
の論理アドレス・スペースを提供し、Eclipseシ
ステムも又64ビツトの論理アドレス・スペースを
提供し、この両者は共に合理的なコストにおいて
多くの用途に向くシステムであることが証明され
ている。改良システムの開発においては、現在
NovaおよびEclipseシステムにおいて利用可能な
ものより更に大きな論理アドレス・スペースに然
るべき拡大をもたらすことが望ましい。このよう
な拡張された論理アドレス基底により更に大きな
命令セツトをシステムが使用することを可能に
し、この拡張された命令セツトは、従来のNova
およびEclipseシステムにおいて現在使用可能な
実質的に全ての利用可能な基本命令を含むと共
に、増加した即ち拡張された論理アドレス・スペ
ースの利点を有する多数の余分な即ち拡張された
命令をも含むことが可能である。 従つて、このような改善されたシステムは、実
質的な投資であるNovaおよびEclipseのソフトウ
エア・ライブラリを現在保有する者が更に又改善
された拡張アドレス・システムにおいてこのよう
なソフトウエアを使用できるようにNovaおよび
Eclipseシステムにおいて使用するため既に設計
されたソフトウエアに応答するように構成される
べきである。この改良されたシステムは又、更に
多数のオン・ライン・ターミナルにおける更に多
くのオン・ライン・ユーザがこのシステムを利用
できるように、合理的なコストで性能における更
に大きな適応性を提供することになろう。拡張さ
れたアドレス・スペースは更に、システムが特に
そのために構成された更に広範囲で複雑なプログ
ラムを維持すると共に、拡張されないNova又は
Eclipseシステムにより維持される以前のプログ
ラム全てを維持することを許容することになる。 本発明のシステムは中央処理装置と記憶装置の
独特な組合せを使用し、この中央処理装置はアド
レス変換装置と命令処理装置と演算論理装置とマ
イクロ順序付け装置を含み、記憶装置はシステ
ム・カツシエ装置と主記憶装置とその間のデータ
転送を制御するためのバンク制御装置を含む。本
システムは、16ビツト又は32ビツトのアドレスか
ら得ることができる32ビツトの論理アドレスを取
扱う。32ビツトの論理アドレスを変換するための
専用装置が設けられる。本システムは、情報は異
なるセグメントの記憶域(リング)に記憶される
階層記憶域を使用し、このリングに対するアクセ
スは異なるリングに対するアクセスが異なる特権
レベルにより支配されるように特権方式で制御さ
れる。 記憶システムは各々が複数の記憶面を有する複
数の記憶モジユールを含む主記憶装置を使用す
る。主記憶装置は通常2重ポート・システム・カ
ツシエ記憶装置を介してシステムの残部とインタ
ーフエースし、主記憶装置とシステム・カツシエ
間のブロツク・データ転送はバンク制御装置によ
つて制御される。 マイクロ命令は、2つのタイプの命令、即ち第
1の基本命令セツトからの命令又は第2の拡張命
令セツトからの命令の復号が可能な独自のプログ
ラム可能読出し専用記憶装置を用いて復号され、
復号されつゝある命令はどのタイプの命令が復号
されるかを一義的に識別する選択されたビツト・
パターンを自蔵する。 復号された命令は1つ以上のマイクロ命令の開
始アドレスを提供し、この開始アドレスは独自の
マイクロ命令順序付け装置に与えられ、この順序
付け装置は次に続くマイクロ命令のアドレスを決
定するため各マイクロ命令の選択されたフイール
ドを適当に復号し、このようなアドレスは適当に
複数個のマイクロアドレス・ソースから選択され
る。 本システム全体は、この全システム本来の独自
の諸操作を実施するあるマクロ命令に応答する装
置を含む。 本発明については添付図面の助けにより更に詳
細に説明する。 特定の図面が1枚以上の図を必要とする前記図
面について注意すれば、後続の各図は同じ図番に
続いて接尾辞を付して示される(例、第5図(最
初の図に対して)、第5A図(2枚目の図に対し
て)……等となる。)。特に、マイクロ制御ストア
170を示す第146図については、56枚の図が
使用される。これ等には、146,146A,1
46B,146C,146D,146E,146
F,146.1,146.1A,146.1B,
146.1C,146.1D,146.1E,1
46.1F,146.2,146.2A,14
6.2B,146.2B……等とし、更に14
6.8,146.8A,146.8B……14
6.8Fに至る。 本発明のシステムの特定の構成について説明す
る前に、必要な特性が説明できかつ特定の構成の
説明が更に良く説明できるように、比較的一般的
な事柄について全体的概念を論述することが有益
であろう。 本発明のシステムの重要な特質は、前述の如
く、利用可能な論理アドレス・スペースのサイズ
である。従来のNovaおよびEclipseシステムの間
の識別に便利なように、本文に論述の如き拡張シ
ステムは屡々「Eagle」システムと呼ばれる。
Eagleシステムにおいては、例えば、論理アドレ
ス・スペースは、1つのバイトが8ビツトの精度
を有する如く定義される4ギカバイト(より正確
には、接頭辞「ギガ」とは1073741824即ち230で、
従つて4ギガバイトとはより正確には、
4294967296である)もに達し得る。本文に用いた
「ワード」とは、16ビツトの精度(即ち、2バイ
トに等しい)および32ビツトの精度(即ち、2ワ
ード即ち4バイト)を有する如き「2倍ワード」
を有する如く定義される。増加された論理アドレ
ス・スペースの故に、本システム全体は、例えば
遥かに小さな論理アドレス・スペースを有する
Novaシステム又はEclipseシステムにより維持さ
れるものよりも大きな命令セツトを維持すること
ができる。本システムの全能力は、これにより実
施可能な拡張された命令のセツトを調べれば当業
者は完全に理解することがでる。本発明によるこ
のような命令セツトは、本明細書の一部として含
まれる別表2に示されている。このような命令セ
ツトは拡張された命令セツト(Eagle命令セツト
と呼ぶことができる)と、Eclipse C−350命令
セツトならびにNova命令セツトを含み、その全
てが本システムにより取扱い可能であり、後者の
2つの命令セツトは既に前述の文献の一部として
開示されている。全てのNovaおよびEclipse命令
は前述の文献に示される原理および仕様に従つて
実行される。 本発明のシステムにより維持される拡張された
命令の2進符号化については別表2に示される。
本発明により拡張された命令を有するシステムと
他の方法で示唆された拡張命令を有するシステム
との間には大きな差が存在する。有効にセツトさ
れた拡張命令が従来の即ち元の命令セツトの「上
位の」セツトを示すシステムにおいて、全ての命
令は機械の操作に対し適当に復号されなければな
らない。通常、このようなシステムは元の命令セ
ツトと拡張された命令セツトの両方の復号のため
の復号サブシステムを使用する。このデコーダは
一時にこれ等命令セツトの片方の復号しか許容し
ないように作動し、元の命令セツトおよび拡張さ
れた命令セツトは作用的に相互に排他的である。
どの命令が復号されるべきかを判定するために、
「モード・ビツト」即ち1つの状態では元の命令
セツトが復号されるべきこと、又他の状態では拡
張命令セツトが復号されるべきことを表示する単
一のビツトをセツトするための独自の命令を用い
なければならない。しかし、いずれの場合にも、
この両方のセツトのいずれか一方を同時に復号す
るため復号サブシステムを使用できるようにする
ことができない。このような方法は、その全体の
上位のセツトの異なる命令セツトからの命令を同
時に復号することは不可能であるため、全機械操
作についての制約となる。 しかし、本発明のシステムはこのような相互の
排他性を避け、いつでも一時に片方のセツト又は
両方のセツトからの命令の復号が可能なように構
成される。デコーダのPROM(プログラム可能な
読出し専用メモリー)システムは、拡張された
Eagle命令セツトと、例えば元のNovaおよび
Eclipse命令セツトの如き元の即ち基本命令セツ
トの相方を復号するために使用される。復号され
る各命令はどのデコーダが使用されるかを判定す
る情報を含み、このような判定はこれにより復号
されるべき各命令ワードにおいて本来的に実施さ
れる。別表2に示される如く、例えば、この情報
はビツト0および12〜15に含まれる。このよう
に、拡張されたEagle命令セツトにおいて、ビツ
ト0は常に1であるが、ビツト0における「1」
とビツト10〜15における符号「011000」とビツト
「0」における「1」とビツト5における「0」
とビツト10〜15における符号「111000」を使用す
る如き拡張された命令を除いて、ビツト12〜15は
常に拡張命令セツトの全命令に対し常に「1001」
である。一方、元のEclipse命令はビツト0が0
でありビツト12〜15が「1000」となる如きもので
ある。更に、命令がEagle符号化ビツト又は
Eclipse符号化コードのいずれかを保持しない場
合には、このような命令はNova命令として解釈
される。 各命令がどの命令セツトに帰属するかについて
の識別を伴うため、システムは相互に排他性を有
することなく命令を復号するように作動する。 本システムの拡張されたオペレーシヨンを維持
するためには、その形態は新らしいシステムがそ
の拡張である元のシステムにおいて既に使用可能
であつたレジスタの増補を要求する。本システム
においては下記のレジスタが使用され、特定の図
に関して以下に説明する特定の構成に関して更に
詳細に後で論述される。 レジスタ・セツトは、固定小数点レジスタ、浮
動小数点レジスタ、スタツク管理レジスタ、およ
びメモリー管理レジスタを含む。 固定小数点レジスタ 本システムは4個の固定小数点アキユムレータ
(ACC0〜3)、1個のプログラム・カウンタ
(PC)および1個のプロセサ状況レジスタ
(PSR)を含む。各アキユムレータは32ビツトの
精度を有し、(1)32ビツトの拡張された符号であり
得る16ビツトのオペランド、(2)28ビツト迄拡張さ
れた零であり得る15ビツト・アドレスを含むこと
ができ、あるいは(3)アキユムレータへの記憶に先
立ち32ビツト迄拡張された零であり得る8ビツ
ト・バイトを含むことができる。 プログラム・カウンタは31ビツトの精度を有
し、ビツト1〜3は8つのその時の記憶リング
(以下に詳細に説明する)の1つを識別し、その
ビツト4〜31は命令アドレスに対してオフセツト
された1つのアドレスを含む。例えば、通常15ビ
ツトのプログラム・カウンタしか必要としない
Eclipseの命令の場合は、ビツト1〜3が31ビツ
トの拡張された命令操作における如くその時の記
憶リングを識別し、15の最下位ビツト17〜31は15
ビツトのEclipseプログラム・カウンタを表わし、
ビツト4〜16は全て零である。 プロセサの状況レジスタは16ビツトのレジスタ
で、もしセツトされるならば固定小数点のオーバ
ーフローをもたらすオーバーフローマスク・ビツ
トを提供する。更に、このレジスタは固定小数点
オーバーフロー標識ビツトとマイクロ割込みが生
じたことを示すビツトとを含む。このレジスタに
おける他のビツトは予約され、このため将来の使
用のため使用可能である。 浮動小数点レジスタ 本システムは4個の浮動小数点アキユムレータ
(FPAC0〜3)と1個の浮動小数点状況レジスタ
(FPSR)を含む。この浮動小数点アキユムレー
タの各々は、2倍精度の浮動小数点の値を完全に
含むに十分な精度の64ビツトを含む。拡張システ
ムの浮動小数点状況レジスタは、前掲の文献にお
いて論述されるEclipse浮動小数点アキユムレー
タ(FPAC)と同じものである。 浮動小数点状況レジスタは又64ビツトの精度を
有し、その32ビツトは浮動小数点プログラム・カ
ウンタとして作動する。浮動小数点の障害の場合
には、浮動小数点プログラム・カウンタ・ビツト
はこの障害を生じた浮動小数点命令のアドレスを
規定する。他の4つのビツトはそれぞれ指数のオ
ーバーフロー条件、指数のアンダーフロー条件、
零で除算条件、および仮数オーバーフロー条件を
表示するため使用される。別のカウンタ・ビツト
は、もし前記の後の4ビツトのどれかも又セツト
されるならば、浮動小数点の障害をもたらす。こ
の浮動小数点カウンタも又状況レジスタにおいて
一般に用いられる如き零ビツトと負のビツトを含
むと共に、浮動小数点のまるめ操作モードと割込
み再開操作とを表示するためのビツトを含む。 スタツク管理レジスタ 本発明のシステムはメモリー・スタツクを管理
する4つの32ビツト・レジスタを用い、このレジ
スタはスタツク・ポインタ、スタツク・リミツ
ト、スタツク・ベースおよびフレーム・ポインタ
を含む。このスタツク・ポインタ・レジスタはこ
のスタツクの最上部における2倍ワードのエント
リを示す。「プツシユ」操作が生じる時、スタツ
ク・ポインタの全ビツトは2だけ増分され、「プ
ツシユされた」相手はスタツク・ポインタの新ら
しい値によりアドレス指定された2倍ワードにお
かれる。「ポツプ」操作においては、スタツク・
ポインタのその時の値によりアドレス指定された
2倍ワードは表示されたレジスタにおかれ、この
スタツク・ポインタの全ての32ビツトはその時2
だけ減分される。 フレーム・ポインタ・レジスタはその時のフレ
ームにおける最初に使用可能な2倍ワードマイナ
ス2を示す。スタツク・リミツトはスタツクのオ
ーバーフローの判定に用いられる1つのアドレス
を含む。スタツク操作が目的物をスタツク上にプ
ツシユした後、スタツク・ポインタはスタツク・
リミツトと比較される。もしスタツク・ポインタ
がスタツク・リミツトよりも大きくなると、スタ
ツクの障害が信号される。スタツク・ベースはス
タツクがアンダーフローを判定するために用いら
れる1つのアドレスを含む。目的別をスタツクか
らポツプするスタツク操作の後、スタツク・ポイ
ンタはスタツク・ベースと比較される。もしスタ
ツク・ポインタがスタツク・ベースより小さけれ
ば、スタツク障害が信号される。 メモリー管理レジスタ 各レジスタはメモリーの管理のため使用され、
このようなレジスタはそれぞれ32ビツトの精度を
有するセグメント基底レジスタ(SBR)として
表示され、メモリーはその8つのセグメント即ち
リングに分割される。本文に説明したシステムの
SBRは、以下に更に詳細に説明するように、本
システムのアドレス変換装置(ATU)における
スクラツチ・パツド・メモリーの一部として形成
される。各SBRの1ビツトは、これと関連する
セグメントは照合され得るかどうか(即ち、この
ようなセグメントに対する基準が妥当かどうか)
を表示する。別のビツトは、以下に更に詳細に説
明するように、セグメント・オフセツト・フイー
ルドの最大長さ、即ちこの基準が1のレベルのペ
ージ表であるか、2のレベルのページ表であるか
を表示する。各セグメントの基底レジスタの第3
のビツトは、Nova/EclipseI/Oの有効アドレ
スをロードするためのNova/Eclipse命令が実行
中であるかどうかを表示する。別のビツトは「保
護」ビツトを表わし、これはI/O命令が実行可
能かどうか、あるいはその実行がこのセグメント
に与えられた保護に対する違反となるかどうかを
表示する。ビツトの内の19は表示されたページ表
のメモリーにおける物理的アドレスを識別する物
理的アドレスを含む。メモリーにおけるページ表
のアドレス指定の論議は、各セグメントにおける
記憶場所の論議を含み以下に更に詳細に示され
る。 全体システム 本発明の望ましい実施態様のブロツク図は第1
図に示される。本システムの中央処理装置
(CPU)部分は、演算論理装置(ALU)11と、
命令処理装置12と、マイクロ順序付け装置13
と、アドレス変換装置(ATU)14を含む。記
憶システムは、主記憶装置16と、補助カツシエ
記憶装置17と、バンク制御装置18として識別
されるメモリー制御装置とを含む。CPUのアド
レス・バス19は、命令処理装置12と、アドレ
ス変換装置14および記憶システム間のアドレス
の転送を許容する。制御プロセサ・メモリー
(CPM)バス20は、演算論理装置11と、命令
処理装置12と、アドレス変換装置14と、記憶
システム15間の命令およびオペランドの転送を
許容する。 I/Oアドレス・バス21およびI/Oメモリ
ー/データ・バス22は、I/Oチヤネル装置2
3を介するI/O素子に対するアドレスおよびデ
ータのそれぞれの転送、および記憶システムと制
御盤制御処理装置24間のこれ等の転送を可能に
する。システム全体の各装置間の制御信号の転送
のための適当な制御バスは、以下に更に詳細に説
明するバス25〜31として提供される。適当な
テレタイプおよびフロツピー・デイスクシステム
33と34はそれぞれ、特に適当なマイクロセ
サ・コンピユータ35による制御盤制御処理装置
24を介する診断操作モードにおいて本システム
により使用可能である。 本文において説明される本システムの進歩性の
ある特質については、記憶システム、アドレス変
換装置、命令処理装置およびマイクロ順序付け装
置の更に詳細な論議を必要とする。演算論理装
置、制御盤制御処理装置およびその関連する制御
部を有するI/Oチヤネル装置は詳細に説明する
必要はない。 記憶システム 本発明の望ましい実施態様によれば、記憶シス
テムは、2メガバイト以下に主記憶装置16を含
み、必要に応じて本システムは例えば4メガバイ
ト等に更に拡張可能である。1000万バイトのメモ
リー迄システムの拡張を可能にするため物理アド
レス・フイールドには十分なビツトが残されるこ
とに注目すべきである。主記憶装置16とシステ
ムの残部の間のインターフエースは2重ポート・
カツシエ記憶装置17を介し、データは主記憶装
置と16バイトのブロツクにおけるカツシエ記憶装
置間に転送される。このカツシエ記憶装置は、こ
れを命令処理装置における別個のカツシエ・メモ
リーと識別するため通常「システム・カツシエ」
(SYS CACHE)と呼ばれ、この別のカツシエ・
メモリーは通常「命令カツシエ」(ICACHE)装
置と呼ばれる。このシステムカツシエ装置17
は、その2つのポートのポート17Aにおけるデ
ータ転送のためのCPU要求を取扱い、かつその
ポート17BにおけるI/Oシステムからの要求
を取扱う。CUPデータ転送は、「バイト同志整合
された」転送、「ワード同志整合された」転送お
よび2倍ワード転送を含み得る。I/Oデータ転
送は、「ワード同志整合された」転送、「2倍ワー
ド同志整合された」転送および16バイトのブロツ
ク転送を含み得る。 主記憶装置16は第4図に示す如く、1乃至8
個の256キロバイトの記憶モジユールを含み得る。
各記憶モジユールは、各々16Kの39ビツト・ワー
ドの4つの面0〜3の形態で各モジユールに構成
された156の16K動的ランダム・アクセス・メ
モリー(RAM)のメモリー列を含む。各ワード
は、以下に更に詳細に論述するようにデータの32
ビツトと7つの誤り訂正ビツトからなる。各記憶
モジユールのRAMに対する記憶タイミングおよ
び制御はメモリーのバンク制御盤18上で行われ
る。メモリー・バンク制御盤からの制御信号は各
記憶モジユールにおけるレジスタにクロツクさ
れ、その出力は「面0」RAMを駆動する。この
ようなレジスタからの出力はある固定時間後「面
1」RAMを駆動する別のレジスタにクロツクさ
れる。このようなパイプライン操作は「面2」
RAMと「面3」RAMを介して続行し、その結
果4つの全ての面が固定された間隔(例、110ナ
ノ秒の間隔)で同じ制御信号を受取り、その結果
4つの連続する39ビツト・ワードのブロツクの転
送を生じる。 メモリー・バンク制御盤18は3つの主な機能
を有する。先ず第1に、これはシステム・カツシ
エ17と主記憶装置16の記憶モジユールとの間
のインターフエースを提供する。第2に、この制
御盤は必要な誤り検査および訂正操作を行い、第
3に各記憶モジユールの動的RAMのリフレツシ
ユ操作を制御する。システム・カツシエとバンク
制御盤との間にインターフエースの詳細について
は以下に更に詳細に論述する。 バンク制御盤の誤り検査および訂正ロジツクは
当技術において周知の如く7ビツトの誤り訂正ハ
ミング・コードを用いて単ビツトの誤り訂正と2
倍ビツトの誤り検出を行う。各ビツト・データ・
ワードに対して生成された7ビツトの検査ビツト
は主記憶操作モジユールにおけるこのようなワー
ドと共に記憶される。このワードがその後メモリ
ーから読出される時、39ビツトの全てが復号され
て7ビツトの症候群ビツトのパターンを生じるよ
う復号され、このパターンはもし単一ビツトが誤
りであるならばどれが誤りであるかを識別し、1
つ以上のビツトが誤りである時を表示する。訂正
可能な単ビツトが生じる時、制御盤の制御処理装
置24が障害のあるビツトのアドレスおよび症候
群ビツト・パターンを与えられる。このデータは
これと同時に訂正され、システムのクロツク期
間、例えば公知の誤り訂正操作によれば特定の実
施態様では100ナノ秒と等しい固定された時間的
遅延の後システム・カツシエに対して送られ、パ
イプライン操作における残るワードは、信号BL
ERRORとして識別される適当な禁止信号の使用
により訂正された信号が使用可能となる迄転送さ
れることを阻止される。 単一ビツトの誤りが多重ビツトの誤りにならな
いように単一ビツトの誤りの実質的に即時の訂正
が望ましい。訂正されたデータが読出されて誤り
であることが判つた時だけこのデータがメモリー
に書戻される従来周知の手法が使用可能である。
このような手法の場合2つの問題が生じる。第一
に、瀕繁には読出されない記憶場所は瀕繁に訂正
されず、第二にもし故障が瀕繁にアクセスされる
記憶場所において生じるならばこの故障の訂正の
試みにかなりの時間が浪費され得ることである。
本発明のシステムは、各々の主記憶場所が検査さ
れて必要に応じて2秒毎に1回訂正されるように
全ての主記憶装置の場所をモニターするための別
のプロセスを用いることによりこのような問題を
避けることができる。このような検査はメモリー
のリフレツシエ・サイクルの間行われ、システム
に対するメモリーの可用度を減殺することはな
い。このような手法の詳細な説明は、参考のため
本文に引用される同時に出願されたM.Ziegler.
M.Druke.W.BaxerおよびJ.Van Roecklの米国特
許出願第 号に開示されている。 システム・カツシエ装置17は主記憶装置16
と本システムの残部との間の全結合を表わし、一
方は主としてCPUの要求を取扱うため、他方は
主としてI/O要求を取扱うための前記の如き2
つの要求側ポート17A,17Bと主記憶装置と
結合するための記憶システム・ポート38からな
る。システム・カツシエ盤も又、I/Oポート
と、その間の直接のブロツク転送を行う記憶シス
テム・ポートとの間に直接的なアクセス経路39
を提供する。カツシエ・ポート17も又、I/O
ポートとCPU要求ポートのいずれかからアクセ
ス可能な16バイトのブロツク・バイトを有する16
キロバイトの直接マツプされた高速カツシエ・デ
ータ・ストア40を含む。システム・カツシエ装
置17、バンク制御装置18および主記憶装置1
6の典型的な記憶モジユールにおいて使用される
ロジツクのブロツク図は第2図乃至第4図に示さ
れる。 第2図において示される如く、システム・カツ
シエ・データ・ストア40は、主記憶装置により
直接取扱われるI/Oポートからのブロツク転送
要求以外のメモリーからのデータに対する全ての
要求を受取る。前述の特定の実施態様において
は、カツシエ・データ・ストアはC PORT17A
又はI PORT17Bのアドレス入力におけるデー
タ・アドレスを受取り、このアドレスはC
PORTアドレス・レジスタ41又はI PORT
アドレス・レジスタ42のいずれかにおかれる。
入力アドレスは下記の如くタツグ部分と、指標部
分と、ワード・ポインタ部分とを含む。即ち、 このカツシエ・データ・ストア・アドレスの3つ
の最下位ビツト29〜31はワード・ポインタを指示
し、これはデータ・ストアの16バイトの8ワー
ド・ブロツクのブロツク内にある所要のワードを
識別する。残りのビツト9〜28は、主記憶装置か
ら所要のブロツクを取出すため使用されるアドレ
スと正確に対応するブロツク・アドレスを識別す
る。後者のビツトは図示の如くタツグ・ビツト9
〜18と指標ビツト19〜28に分割される。 第2図に示されるシステム・カツシエは「タツ
グ」ストア装置43を含む。データ・ストア40
は4K×32ビツト・ワード(即ち、1Kの16バイ
ト・ブロツク)の高速メモリー列であり、主記憶
装置からの1ブロツクのワードの複写を保持す
る。このデータ・ストアはカツシエ・データ・ス
トアのアドレス・ワードの指標およびワード・ポ
イント・ビツトによりアドレス指定され、前述の
如く、指標はデータ・ストア40内のブロツクの
10ビツト・アドレスであり、3ワードのポイン
タ・ビツトは選択されたブロツク内の所要ワード
を指示する。データ・ストア・ブロツクは同じ指
標を共用する主記憶装置のどのデータ・ブロツク
でも緩衝するため使用できる。 タツグ・ストア43の機能は、主記憶装置から
の可能な多くのブロツクのどれがデータ・ストア
40の各16ビツトのブロツクにおいて緩衝される
かを識別することである。タツグ・ストア43は
高速の1Kの12ビツト・ワード列であり、記憶ア
ドレスの10ビツトの指標部分によつてアドレス指
定される。各12ビツト・ワードは、データ・スト
ア40において緩衝される主記憶装置からのブロ
ツク識別する10ビツトを含む。主記憶装置が4メ
ガバイト以下である時、このタツグの最初の2ビ
ツトは主記憶装置の容量の将来の拡張用としての
み必要であり、零でよい。ビツト10と11はデータ
の状況を表示するフラツグである。このように、
「妥当」フラツグVは識別可能なストア・ブロツ
クが妥当なデータを含むことを表示する。例え
ば、もしI/Oポート操作が仮にデータ・ストア
40において既に緩衝されたブロツクの内容を修
飾する主記憶装置に対するブロツク「書込み」を
要求するものとすれば、このブロツクの妥当フラ
ツグはそのデータがもはや妥当ではないことを表
示するようにリセツトされることになる。 「修飾」フラツグMは、データ・ストア・ブロ
ツクの内容が修飾されたことを表示する。このよ
うに、もしあるデータ・ブロツクがデータ・スト
ア40から取除かれて主記憶装置からの新らしい
データ・ブロツクに対する余地を作るならば、こ
の取除かれたデータ・ブロツクは、修飾されたデ
ータ・フラツグがセツトされるとすれば、主記憶
装置に書戻される。 第2のタツグ・ストア装置44はシステム・カ
ツシエ盤上に示されるが、このタツグ・ストアは
以下に説明する命令カツシエ(I CACHE)の
タツグ・ストアと同じものである。I CACHE
タツグ・ストアは、メモリーに対する書込みが何
時命令処理装置における命令カツシエの内容に影
響を及ぼすかを判定するためシステム・カツシエ
盤上で使用される。このような効果が入力アドレ
スおよびI CACHEアドレスのコンパレータ4
5における比較により示される如く生じるなら
ば、システム・カツシエは第2図に示される如く
「命令カツシエ書込み」信号を存続させることに
より命令処理装置に警告し、命令処理盤における
命令カツシエ(I CACHE)にこのように修飾
されたブロツクの場所を通知する。 システム・カツシエの作用においては全ての要
求は「読出し」要求であるものと最初に仮定され
るが、これは仮に「書込み」要求が生じても、書
込み操作が実施される前に書込まれるべきデータ
が読出されて修飾される(「読出し/修飾/書込
み」操作)ことを必要とすることがあり得るため
である。もし1つの要求が入力ポートに受取られ
る時システム・カツシエが使用中でなければ、デ
ータ・ストア40とタツグ・ストア43は前述の
如く受取つた入力アドレスの適当部分を用いて同
時にアクセスされる。アドレス指定されたデー
タ・ストア40における場所からのデータは、書
込みデータ・レジスタ46の内容が次のサイクル
においてマルチプレクサ47およびバス・ドライ
バ装置49を介してバス上に使用可能になり得る
ようにデータ転送が記憶操作に対する書込みであ
るならば、マルチプレクサ48を介してカツシエ
書込みデータ・レジスタ46にロードされる。も
しこのデータが読出し操作であれば、データ・ス
トア40からのデータ出力は要求される如くそれ
ぞれマルチプレクサ48およびドライバ装置5
0,51を介してC PORT又はI PORTに
提供される。 タツグ・ストア43からのデータは最初に要求
されたデータが実際にデータ・ストア40にある
かどうかを判定するため検査される。タツグスト
アから読出されるワードのタツグ部分は、要求側
により提供されたアドレスのタツグ部分とコンパ
レータ52において比較され、有効フラツグはこ
れがセツトされることを知るため検査される。も
しこのような比較が成功すれば(システム・カツ
シエの「的中」)、データ・ストア40からのデー
タは所要のデータであり、要求側はこれを受取る
こと、あるいはこれをメモリーに書込むことを許
容される。もしこの比較が失敗すれば(システ
ム・カツシエの「外れ」)、要求されたデータ・ブ
ロツクはカツシエ・データ・ストア40にはな
く、主記憶装置から持つて来なければならない。
このような状態の発生は「カツシエ障害」条件と
呼ばれ、このような障害が生じる時は、要求側は
この障害が解消された後迄データにローデイング
することを禁止される。 一たん要求側に対してデータが使用可能となれ
ば要求側はデータの受入れを要求することを信号
しなければならず、データが最初に使用可能にな
る時要求側がこの動作を行わなければ、要求側が
データを受入れる意図を表示する迄読出し操作は
反復される。 データ・ストア40におけるデータに対するア
クセスは完了迄に2システム・クロツク・サイク
ルを必要とするため、要求側から受取る如きカツ
シエ・アドレスが2つのアクセスが何時でも進行
中であり得るように「パイプ・ライン」化するこ
とができる。入力ポートの1つのアクセスを他の
入力ポートのそれと関連付けることによつてアク
セス要求をパイプ・ライン化すると云うこの能力
が長所となる。基本的なシステム・クロツクの周
波数の半分の周波数を有する適当なクロツキング
信号を用いてどの要求側ポートがいかなる時にも
カツシエ・データ・ストアをアクセスすることを
許容されるかを表示する。その結果、カツシエ障
害期間中を除いてCPUとI/Oポート・アクセ
ス間には干渉がない。唯一のの例外は、I/Oポ
ートおよびCPUポートの相方が同時に同じデー
タ・ストア・ブロツクをアクセスするプロセスに
あることは許されないことである。読出し操作で
対するポート間の関連付け操作の一例を以下に論
述する。記述する特定の事例においては、CPU
ポートの要求側は、読出し反復が生じるように
CPUポートの要求側は最初の機会にデータをと
ることは選択しない。
【表】
カツシエ書込み操作に対しては、メモリー書込
みアクセスが開始される時カツシエは読出し/修
飾/書込み操作が実施され従つて前述の如く読出
しを行うものと仮定する。しかし、もし仮に転送
が簡単な書込み操作であるならば、タツグ・スト
ア情報は、入力するデータが実際に無駄なデー
タ・ストア読出し操作の実施に時間が浪費されな
いよいに書込まれる記憶場所を決定するため読出
されなければならない。単純な書込み操作、又は
読出し/修飾/書込み操作の書込み部分に対して
は、要求側は書込み転送(WT)信号を存続させ
て転送の完了を表示する。データを出力しレジス
タから記憶ポート38へ駆動する代りに、システ
ム・カツシエは入力レジスタ53に、サイクルの
終りにデータ・バスから書込まれるべきデータを
ロードし、これを次のサイクルの間にデータ・ス
トア40に書込む。もしカツシエの障害がこのよ
うな書込み要求の結果生じるならば、システム・
カツシエは入力レジスタに書込まれるべきデータ
を受入れるが、これを前記障害が解消される迄デ
ータ・ストア40に書込まない。読出し要求につ
いて既に述べた方法と同様な方法によるCPUポ
ート書込み要求の一例は以下に示される。
みアクセスが開始される時カツシエは読出し/修
飾/書込み操作が実施され従つて前述の如く読出
しを行うものと仮定する。しかし、もし仮に転送
が簡単な書込み操作であるならば、タツグ・スト
ア情報は、入力するデータが実際に無駄なデー
タ・ストア読出し操作の実施に時間が浪費されな
いよいに書込まれる記憶場所を決定するため読出
されなければならない。単純な書込み操作、又は
読出し/修飾/書込み操作の書込み部分に対して
は、要求側は書込み転送(WT)信号を存続させ
て転送の完了を表示する。データを出力しレジス
タから記憶ポート38へ駆動する代りに、システ
ム・カツシエは入力レジスタ53に、サイクルの
終りにデータ・バスから書込まれるべきデータを
ロードし、これを次のサイクルの間にデータ・ス
トア40に書込む。もしカツシエの障害がこのよ
うな書込み要求の結果生じるならば、システム・
カツシエは入力レジスタに書込まれるべきデータ
を受入れるが、これを前記障害が解消される迄デ
ータ・ストア40に書込まない。読出し要求につ
いて既に述べた方法と同様な方法によるCPUポ
ート書込み要求の一例は以下に示される。
【表】
以上論述した事例は単一読出し又は単一書込み
の操作を示す。又、要求側が読出し転送(RT)
および(又は)書込み転送(WT)信号と共に新
らしいアドレスおよび開始信号を提供することも
可能であり、イの結果単一ポートからの連続的な
読出し操作又は連続的な書込み操作は、カツシエ
障害が生じなければ、2カツシエ・サイクル毎に
(例えば、1CPUサイクルは2カツシエ・サイク
ルに等しい)に実施することが可能である。しか
も、もし読出しアクセスが書込み転送が行われる
と同時に開始されるならば、データ・ストア40
はこの時書込まれつゝあるため次のサイクルにお
いて読出しは不可能である。このような条件が生
じると、読出し操作は完了のため更に2カツシ
エ・サイクルを必要とする。もし要求側が読出し
操作が書込み転送に続くことを知り無駄なサイク
ルを避けることを欲するならば、要求側は次のサ
イクル迄読出し要求の開始を遅れさせるか、ある
いは読出し要求を開始してデータ転送を要求する
前に別なサイクルを待機することができる。いず
れの場合も、早期にカツシエ障害の検出を可能に
するため別のサイクルの待機が後に続く読出しの
開始が通常は更に望ましいが、さもなければ無駄
になるサイクルにおいて有効な作業を行うことが
できる。 後のサイクルにおける読出し転送および更に後
のサイクルにおける書込み転送が後続するアドレ
スと共にSTART信号およびWRITE信号を存続
させることによつて読出し/修飾/書込み操作が
実施可能である。信号WRITEがあるアクセスの
開始時に信号される時、システム・カツシエは書
込み転送が実施される迄にアクセスが完了したこ
とを考慮に入れない。このような操作の間、他の
全ての要求側は同じデータをアクセスすることを
禁止される。このため、全読出し/修飾/書込み
操作の間最初の要求側がバスを制御すると云う事
実によつて、同じ入力ポートを使用する要求側は
アクセスを行うことを禁止される。両方のポート
が同時に同じデータ・ストア・ブロツクをアクセ
スすることを禁止されると云う事実にて、他のポ
ートにおける要求側はアクセスすることを阻止さ
れる。このような禁止動作は又、システム・カツ
シエがある操作の途中にある時別のポートにおけ
る要求側がカツシエ・データ・ストアからあるデ
ータ・ブロツクを取出すことを阻止する。 書込み操作が前に表示されなかつた時システ
ム・カツシエ盤が書込み転送要求を受取るなら
ば、あるいはこのカツシエ盤が読出しおよび書込
みの転送要求を同時に受取るならば、システム・
カツシエ・データ・ストアへのアクセスはどのデ
ータの転送も生じることなく打切られる。もしこ
のような同時の読出しおよび書込み転送要求が開
始要求後の次のサイクルの始めに存続させられる
ならば、アクセスは不要なカツシエ障害表示を開
始することさえなく避けることができる。 前記の転送に加えて、システム・カツシエ盤は
入力ポートと主記憶装置間の直接書込み転送を行
う能力を有し、このようなデータ通信量はカツシ
エ・データ・ストア40の内容に影響を与えるこ
となく取扱いが可能である。もし要求された転送
がブロツク書込み転送であれば、データはデータ
書込みレジスタ40A、マルチプレクサ48およ
び書込みデータ・レジスタ46を介して主記憶装
置に直接書込まれる。I/Oポートにおけるデー
タ転送は、転送されるべきI/Oブロツクと同じ
指標を有するデータのアクセスの過程にCPUポ
ートがある時は許容されない。データ取出し/修
飾/書込み転送も又本システムにより許容されな
い。 第2図に示される全システム・カツシエのブロ
ツク図において、CPU要求ポートおよびI/O
要求ポートに対する入力レジスタはデータ・レジ
スタ54と55として示される。このようなレジ
スタにおけるデータと関連するアドレスはCPU
アドレス・レジスタ41とI/Oアドレス・レジ
スタ42に与えられ、各アドレスは前に述べた如
き指標、タツグおよびワードの各ポインタを含ん
でいる。 第2図に示されたシステム・カツシエ盤17の
特定ロジツク図は第5図乃至第44図に示され、
これ等の図にはこれに示されるシステム・カツシ
エ17の各部分の特定の実施態様を更に詳細に示
すように適当な表示がなされている。 第5図はカツシエ・データ・ストア40を示
し、第6図はタツグ・ストア43を、第7図はI
CACHEタツグ・ストア複写装置44を、第8
図はタツグ・ストア・コンパレータ52を、第9
図はI CACHEタツグ・ストア・コンパレータ
45を、第10図はC PORTおよびI
PORTレジスタ41,42と書戻しタツグ装置
を、第11図および第12図は第2図のINDEX
SV WP SV装置を、第13図はINDEXおよび
WPマルチプレクサ装置を、第14図はデータ書
込みレジスタ40Aを、第15図はマルチプレク
サ装置48とこのマルチプレクサに入力を与える
指標ドライバ装置48′を、第16図は書込みデ
ータ・レジスタ46を、第17図はマルチプレク
サ装置47を、第18図はドライバ装置50,5
1とこれに関連するドライバ・ロジツクを、第1
9図はINDEX/INDEX SVコンパレータ装置
を、第20図はCPUバツフア・データ・レジス
タ54とI/Oバツフア・データ・レジスタ55
とCRD INレジスタ53を示す。特定のシステ
ム・カツシエ・パリテイ・ロジツクは第21図乃
至第25図に示される。主記憶装置および他のイ
ンターフエース制御ロジツクは第26図乃至第2
8図に示される。いずれのデータ処理システム盤
におけるように、その種々の装置についての十分
な制御信号が提供されねばならず、第5図乃至第
27図に示されるシステム・カツシエ盤の特定の
実施態様に対する制御ロジツクは第29乃至第4
3図に示される。 第3図は、図の左側のシステム・カツシエと図
の右側の記憶モジユールとの間をインターフエー
スするバンク制御盤18の全体ブロツク図を示し
ている。7つのパリテイ・ビツトを含むRD0〜
38を如く識別される記憶モジユールから読出され
るワードはシステム・カツシエに転送するためバ
ンク制御盤に与えられ、このワードはCAD
PAR0〜3として識別される。これも又4つのパ
リテイ・ビツトを与える誤り訂正ロジツク70を
介して第3図におけるCRD0〜31として識別され
る。主記憶装置モジユールに書込まれるべきアド
レスおよびデータ・ワードはシステム・カツシエ
から与えられ、これ等のワードはCA/WD
PAR0〜3として識別される。そのためのパリテ
イ・ビツトと共に、CA/WR0〜31として識別さ
れ、このデータは誤り訂正ロジツク70を介して
WO0〜31およびパリテイ・ビツトWD32〜38の
如き記憶モジユールに対する書込みデータ・バス
に与えられる。このためのアドレスは、所要の記
憶モジユール(MODSEL0〜3)(16個以下のモ
ジユールを識別)を選択し、選択されたモジユー
ル(ADDR0〜7)内の所要のRAMを選択する
ため必要とされる情報の形態で与えられる。 更に、バンク制御盤は、必要に応じてこれに応
答する主記憶装置に対して以降の制御信号を与え
る。信号RASおよびCASは、主記憶装置のRAM
に対する行アドレスおよび列アドレスのストロー
ブ信号を表わす。信号LDOUTはその時のサイク
ルの終りにおいて選択されたモジユールをその出
力レジスタにロードさせ、次のサイクルの間この
モジユールをしてレジスタが出力レジスタの内容
を読出しデータ・バスに置くことを可能にさせ
る。信号LDINは、選択されたモジユールをして
次のサイクルの間書込みバスからデータを受入れ
させ、このデータを続くサイクルの間RAMに書
込ませる。信号REFRESHは行アドレス・スト
ローブ(RAS)信号のみに対するモジユール選
択をオーバーライドする。リフレツシユ操作の間
は通常1つのモジユール読出しされ、他の全ての
モジユールはRASリフレツシユを実施するのみ
である。 バンク制御盤は又システム・カツシエをインタ
ーフエースして、32ビツトのワード(CRD0〜
31)をバイト・パリテイに対する4パリテイ・ビ
ツト(CRD PAR0〜3)と共にカツシエへ与え、
バイト・パリテイ・ビツト(CA/WD PAR0〜
3と共にカツシエから32ビツトのアドレスおよび
データ・ワード(CA/WD0〜31)を受取る。バ
ンク制御盤は又下記の制御信号をカツシエへ与え
る。BC BUSY信号は、バンク制御盤がBC
START(下記参照)要求を受入れることが不能
であることを表示する。信号BC ERRORは、最
終サイクルにおける読出しデータ・バスにおかれ
たデータ・ワードが訂正可能な誤りを含み、その
時のサイクルの間バス上にあるデータに対する訂
正されたワードと置換されねばならないことを表
示する。信号BC ERRORが一たん存続させられ
ると、同じブロツク転送の全ての後続ワードも又
誤り訂正ロジツクを通過させらる。従つて、信号
BC ERRORは各ブロツク転送毎に1回だけ存続
させられることが必要である。 信号BC DATABACKは、転送される4ワー
ド・ブロツクの最初のワードが次のサイクルの読
出しデータ・バスに存在することを表示する。信
号BC REJECTは、バンク制御盤がその時のサ
イクルの終りに書込みデータ・バスの内容を受入
れることができないことを表示する。信号BC
STARTは、バンク制御盤の転送操作が開始する
ことを表示する。 第3図のバンク制御盤18の特定の装置に対す
る特定ロジツク図が第44図乃至第63図に示さ
れ、これ等の図はこれに示されたバンク制御装置
(コントローラ)18の各部の特定の実施態様を
更に詳細に示すよう適当に表示される。 誤り訂正ロジツク70は第44図乃至第63図
に示され、第44図に示されたマルチプレクサ・
ストア装置と、Cビツト生成装置45と、第46
図に示す(32ビツト)レジスタと(8ビツト)レ
ジスタと、第47図に示した書込みデータ・バス
に対するドライバと、第48図に示したSビツ
ト・生成装置を含む。又、第49図に示した読出
し保管レジスタと、第50図に示したS保管レジ
スタと、第51図に示した読出しパリテイ保管レ
ジスタおよびパリテイ・ロジツクと、第52図に
示した誤正ロジツクとを含む。直接読出しドライ
バ装置は第53図に示される。 第3図の下部の制御装置に関してR/Wモジユ
ール選択装置とRADDRおよびCADR装置が第5
4図に示され、MODSEL装置およびそのドライ
バは第55図に示され、ADDRESS装置とその
ドライバは第56図に示される。 アドレスおよびデータ転送およびメモリーリフ
レツシユ操作のための適当なタイミング兼制御ロ
ジツクが第57図乃至59図に示され、記憶モジ
ユールに与えられる主な制御信号に対するドライ
バは第60図に示され、種々のバス・インターフ
エース・ロジツクは第61図乃至第63図に示す
如くである。 第4図は本発明の主記憶装置の典型的な記憶モ
ジユールに対する全体ブロツク図で、各々16Kの
39ビツト・ワードの面0〜3で識別できる4面と
して構成される動的なNMOSランダムアクセ
ス・メモリー(RAM)のメモリー列60を示
す。このメモリー列に書込まれるワードはバツフ
ア62を介してWD0〜38としてバンク・コント
ローラから受取られる。偶数の面0および2に記
憶されるワードは偶数面のデータ・レジスタ63
に記憶され、奇数の面1および3に記憶されるワ
ードは奇数面データ・レジスタ64に記憶され
る。制御信号はバンク・コントローラから制御ロ
ジツク65に与えられる。モジユール選択コー
ド・ビツトMODSEL0〜3はコンパレータ66に
与えられて、もし特定のモジユールが選択された
ならば信号MODSELを提供する。制御ロジツク
65からの制御信号は適当なラツチング回路67
に与えられて、ドライバ61を介してメモリー列
の作用を制御するための適当は信号を提供する。
メモリー・バンク・コントローラからの制御信号
は最初面0のラツチング・レジスタ67Aにクロ
ツクされ、その出力はドライバ61Aを介して面
0のRAMを駆動する。最初のラツチ・レジスタ
の出力は、固定された期間後に面1のRAMを駆
動する次のラツチ・レジスタ・セツト67Bにク
ロツクされるものである。このようなパイプライ
ン操作は、4つの全てのRAM面が固定された間
隔で同じ制御信号を受取るように面2と面3の
RAMを駆動するため続行し、その結果4つの連
続する39ビツト・ワードのブロツクの転送を生じ
る。バンク・コントローラからのRAMアドレス
は8ビツトを含むが、前述の16KのRAMに対し
ては僅かに7ビツトのアドレスが使用されるに過
ぎず、別のビツトは将来の可能性のある拡張を可
能にする。このように、アドレス指定されたビツ
トADR0〜5は固定された間隔の面0〜3のラツ
チ67A〜67Dの各々に対し固定された間隔で
ロツクされる。ADR6は面0のラツチ信号
RPLORASと共にRAM選択ロジツク68に与え
られ、面0のラツチ・レジスタ67Aに対する
JADR6信号を提供する。信号RASとCASは、
RAMに対する行アドレス・ストローブ(RAS)
と列アドレス・ストローブ(CAS)信号を駆動
するための制御ロジツク65とラツチ・レジスタ
67を介して必要な制御信号を提供する。 制御ロジツク65の入力側に対する信号
LDOUTは、その時のサイクルの終りにモジユー
ルをしてその出力レジスタにロードさせ、次のサ
イクルの間データ・アウト・レジスタおよびマル
チプレクサ・ロジツク69および読出しバス・ド
ライバ69Aを介してこれを読出しデータ・バス
に対して使用可能にさせる。制御ロジツク65に
対する入力側の信号LDINは、以降のサイクルに
おいてRAMに書込ませるため、モジユールをし
て書込みデータ・バスからレジスタ63と64を
介してデータを受入れさせる。以下のタイミング
図は、各々の固定された時間間隔におけるブロツ
ク読出しおよびブロツク書込みの諸操作のための
種々の信号の状態を示す(これ迄に述べた特定の
実施態様においては、例えば各サイクルは110ns
であり得る)。明らかなように、面0〜3のデー
タは読出し操作において順次に与えられ、入力デ
ータはこの面に順次書込まれる。
の操作を示す。又、要求側が読出し転送(RT)
および(又は)書込み転送(WT)信号と共に新
らしいアドレスおよび開始信号を提供することも
可能であり、イの結果単一ポートからの連続的な
読出し操作又は連続的な書込み操作は、カツシエ
障害が生じなければ、2カツシエ・サイクル毎に
(例えば、1CPUサイクルは2カツシエ・サイク
ルに等しい)に実施することが可能である。しか
も、もし読出しアクセスが書込み転送が行われる
と同時に開始されるならば、データ・ストア40
はこの時書込まれつゝあるため次のサイクルにお
いて読出しは不可能である。このような条件が生
じると、読出し操作は完了のため更に2カツシ
エ・サイクルを必要とする。もし要求側が読出し
操作が書込み転送に続くことを知り無駄なサイク
ルを避けることを欲するならば、要求側は次のサ
イクル迄読出し要求の開始を遅れさせるか、ある
いは読出し要求を開始してデータ転送を要求する
前に別なサイクルを待機することができる。いず
れの場合も、早期にカツシエ障害の検出を可能に
するため別のサイクルの待機が後に続く読出しの
開始が通常は更に望ましいが、さもなければ無駄
になるサイクルにおいて有効な作業を行うことが
できる。 後のサイクルにおける読出し転送および更に後
のサイクルにおける書込み転送が後続するアドレ
スと共にSTART信号およびWRITE信号を存続
させることによつて読出し/修飾/書込み操作が
実施可能である。信号WRITEがあるアクセスの
開始時に信号される時、システム・カツシエは書
込み転送が実施される迄にアクセスが完了したこ
とを考慮に入れない。このような操作の間、他の
全ての要求側は同じデータをアクセスすることを
禁止される。このため、全読出し/修飾/書込み
操作の間最初の要求側がバスを制御すると云う事
実によつて、同じ入力ポートを使用する要求側は
アクセスを行うことを禁止される。両方のポート
が同時に同じデータ・ストア・ブロツクをアクセ
スすることを禁止されると云う事実にて、他のポ
ートにおける要求側はアクセスすることを阻止さ
れる。このような禁止動作は又、システム・カツ
シエがある操作の途中にある時別のポートにおけ
る要求側がカツシエ・データ・ストアからあるデ
ータ・ブロツクを取出すことを阻止する。 書込み操作が前に表示されなかつた時システ
ム・カツシエ盤が書込み転送要求を受取るなら
ば、あるいはこのカツシエ盤が読出しおよび書込
みの転送要求を同時に受取るならば、システム・
カツシエ・データ・ストアへのアクセスはどのデ
ータの転送も生じることなく打切られる。もしこ
のような同時の読出しおよび書込み転送要求が開
始要求後の次のサイクルの始めに存続させられる
ならば、アクセスは不要なカツシエ障害表示を開
始することさえなく避けることができる。 前記の転送に加えて、システム・カツシエ盤は
入力ポートと主記憶装置間の直接書込み転送を行
う能力を有し、このようなデータ通信量はカツシ
エ・データ・ストア40の内容に影響を与えるこ
となく取扱いが可能である。もし要求された転送
がブロツク書込み転送であれば、データはデータ
書込みレジスタ40A、マルチプレクサ48およ
び書込みデータ・レジスタ46を介して主記憶装
置に直接書込まれる。I/Oポートにおけるデー
タ転送は、転送されるべきI/Oブロツクと同じ
指標を有するデータのアクセスの過程にCPUポ
ートがある時は許容されない。データ取出し/修
飾/書込み転送も又本システムにより許容されな
い。 第2図に示される全システム・カツシエのブロ
ツク図において、CPU要求ポートおよびI/O
要求ポートに対する入力レジスタはデータ・レジ
スタ54と55として示される。このようなレジ
スタにおけるデータと関連するアドレスはCPU
アドレス・レジスタ41とI/Oアドレス・レジ
スタ42に与えられ、各アドレスは前に述べた如
き指標、タツグおよびワードの各ポインタを含ん
でいる。 第2図に示されたシステム・カツシエ盤17の
特定ロジツク図は第5図乃至第44図に示され、
これ等の図にはこれに示されるシステム・カツシ
エ17の各部分の特定の実施態様を更に詳細に示
すように適当な表示がなされている。 第5図はカツシエ・データ・ストア40を示
し、第6図はタツグ・ストア43を、第7図はI
CACHEタツグ・ストア複写装置44を、第8
図はタツグ・ストア・コンパレータ52を、第9
図はI CACHEタツグ・ストア・コンパレータ
45を、第10図はC PORTおよびI
PORTレジスタ41,42と書戻しタツグ装置
を、第11図および第12図は第2図のINDEX
SV WP SV装置を、第13図はINDEXおよび
WPマルチプレクサ装置を、第14図はデータ書
込みレジスタ40Aを、第15図はマルチプレク
サ装置48とこのマルチプレクサに入力を与える
指標ドライバ装置48′を、第16図は書込みデ
ータ・レジスタ46を、第17図はマルチプレク
サ装置47を、第18図はドライバ装置50,5
1とこれに関連するドライバ・ロジツクを、第1
9図はINDEX/INDEX SVコンパレータ装置
を、第20図はCPUバツフア・データ・レジス
タ54とI/Oバツフア・データ・レジスタ55
とCRD INレジスタ53を示す。特定のシステ
ム・カツシエ・パリテイ・ロジツクは第21図乃
至第25図に示される。主記憶装置および他のイ
ンターフエース制御ロジツクは第26図乃至第2
8図に示される。いずれのデータ処理システム盤
におけるように、その種々の装置についての十分
な制御信号が提供されねばならず、第5図乃至第
27図に示されるシステム・カツシエ盤の特定の
実施態様に対する制御ロジツクは第29乃至第4
3図に示される。 第3図は、図の左側のシステム・カツシエと図
の右側の記憶モジユールとの間をインターフエー
スするバンク制御盤18の全体ブロツク図を示し
ている。7つのパリテイ・ビツトを含むRD0〜
38を如く識別される記憶モジユールから読出され
るワードはシステム・カツシエに転送するためバ
ンク制御盤に与えられ、このワードはCAD
PAR0〜3として識別される。これも又4つのパ
リテイ・ビツトを与える誤り訂正ロジツク70を
介して第3図におけるCRD0〜31として識別され
る。主記憶装置モジユールに書込まれるべきアド
レスおよびデータ・ワードはシステム・カツシエ
から与えられ、これ等のワードはCA/WD
PAR0〜3として識別される。そのためのパリテ
イ・ビツトと共に、CA/WR0〜31として識別さ
れ、このデータは誤り訂正ロジツク70を介して
WO0〜31およびパリテイ・ビツトWD32〜38の
如き記憶モジユールに対する書込みデータ・バス
に与えられる。このためのアドレスは、所要の記
憶モジユール(MODSEL0〜3)(16個以下のモ
ジユールを識別)を選択し、選択されたモジユー
ル(ADDR0〜7)内の所要のRAMを選択する
ため必要とされる情報の形態で与えられる。 更に、バンク制御盤は、必要に応じてこれに応
答する主記憶装置に対して以降の制御信号を与え
る。信号RASおよびCASは、主記憶装置のRAM
に対する行アドレスおよび列アドレスのストロー
ブ信号を表わす。信号LDOUTはその時のサイク
ルの終りにおいて選択されたモジユールをその出
力レジスタにロードさせ、次のサイクルの間この
モジユールをしてレジスタが出力レジスタの内容
を読出しデータ・バスに置くことを可能にさせ
る。信号LDINは、選択されたモジユールをして
次のサイクルの間書込みバスからデータを受入れ
させ、このデータを続くサイクルの間RAMに書
込ませる。信号REFRESHは行アドレス・スト
ローブ(RAS)信号のみに対するモジユール選
択をオーバーライドする。リフレツシユ操作の間
は通常1つのモジユール読出しされ、他の全ての
モジユールはRASリフレツシユを実施するのみ
である。 バンク制御盤は又システム・カツシエをインタ
ーフエースして、32ビツトのワード(CRD0〜
31)をバイト・パリテイに対する4パリテイ・ビ
ツト(CRD PAR0〜3)と共にカツシエへ与え、
バイト・パリテイ・ビツト(CA/WD PAR0〜
3と共にカツシエから32ビツトのアドレスおよび
データ・ワード(CA/WD0〜31)を受取る。バ
ンク制御盤は又下記の制御信号をカツシエへ与え
る。BC BUSY信号は、バンク制御盤がBC
START(下記参照)要求を受入れることが不能
であることを表示する。信号BC ERRORは、最
終サイクルにおける読出しデータ・バスにおかれ
たデータ・ワードが訂正可能な誤りを含み、その
時のサイクルの間バス上にあるデータに対する訂
正されたワードと置換されねばならないことを表
示する。信号BC ERRORが一たん存続させられ
ると、同じブロツク転送の全ての後続ワードも又
誤り訂正ロジツクを通過させらる。従つて、信号
BC ERRORは各ブロツク転送毎に1回だけ存続
させられることが必要である。 信号BC DATABACKは、転送される4ワー
ド・ブロツクの最初のワードが次のサイクルの読
出しデータ・バスに存在することを表示する。信
号BC REJECTは、バンク制御盤がその時のサ
イクルの終りに書込みデータ・バスの内容を受入
れることができないことを表示する。信号BC
STARTは、バンク制御盤の転送操作が開始する
ことを表示する。 第3図のバンク制御盤18の特定の装置に対す
る特定ロジツク図が第44図乃至第63図に示さ
れ、これ等の図はこれに示されたバンク制御装置
(コントローラ)18の各部の特定の実施態様を
更に詳細に示すよう適当に表示される。 誤り訂正ロジツク70は第44図乃至第63図
に示され、第44図に示されたマルチプレクサ・
ストア装置と、Cビツト生成装置45と、第46
図に示す(32ビツト)レジスタと(8ビツト)レ
ジスタと、第47図に示した書込みデータ・バス
に対するドライバと、第48図に示したSビツ
ト・生成装置を含む。又、第49図に示した読出
し保管レジスタと、第50図に示したS保管レジ
スタと、第51図に示した読出しパリテイ保管レ
ジスタおよびパリテイ・ロジツクと、第52図に
示した誤正ロジツクとを含む。直接読出しドライ
バ装置は第53図に示される。 第3図の下部の制御装置に関してR/Wモジユ
ール選択装置とRADDRおよびCADR装置が第5
4図に示され、MODSEL装置およびそのドライ
バは第55図に示され、ADDRESS装置とその
ドライバは第56図に示される。 アドレスおよびデータ転送およびメモリーリフ
レツシユ操作のための適当なタイミング兼制御ロ
ジツクが第57図乃至59図に示され、記憶モジ
ユールに与えられる主な制御信号に対するドライ
バは第60図に示され、種々のバス・インターフ
エース・ロジツクは第61図乃至第63図に示す
如くである。 第4図は本発明の主記憶装置の典型的な記憶モ
ジユールに対する全体ブロツク図で、各々16Kの
39ビツト・ワードの面0〜3で識別できる4面と
して構成される動的なNMOSランダムアクセ
ス・メモリー(RAM)のメモリー列60を示
す。このメモリー列に書込まれるワードはバツフ
ア62を介してWD0〜38としてバンク・コント
ローラから受取られる。偶数の面0および2に記
憶されるワードは偶数面のデータ・レジスタ63
に記憶され、奇数の面1および3に記憶されるワ
ードは奇数面データ・レジスタ64に記憶され
る。制御信号はバンク・コントローラから制御ロ
ジツク65に与えられる。モジユール選択コー
ド・ビツトMODSEL0〜3はコンパレータ66に
与えられて、もし特定のモジユールが選択された
ならば信号MODSELを提供する。制御ロジツク
65からの制御信号は適当なラツチング回路67
に与えられて、ドライバ61を介してメモリー列
の作用を制御するための適当は信号を提供する。
メモリー・バンク・コントローラからの制御信号
は最初面0のラツチング・レジスタ67Aにクロ
ツクされ、その出力はドライバ61Aを介して面
0のRAMを駆動する。最初のラツチ・レジスタ
の出力は、固定された期間後に面1のRAMを駆
動する次のラツチ・レジスタ・セツト67Bにク
ロツクされるものである。このようなパイプライ
ン操作は、4つの全てのRAM面が固定された間
隔で同じ制御信号を受取るように面2と面3の
RAMを駆動するため続行し、その結果4つの連
続する39ビツト・ワードのブロツクの転送を生じ
る。バンク・コントローラからのRAMアドレス
は8ビツトを含むが、前述の16KのRAMに対し
ては僅かに7ビツトのアドレスが使用されるに過
ぎず、別のビツトは将来の可能性のある拡張を可
能にする。このように、アドレス指定されたビツ
トADR0〜5は固定された間隔の面0〜3のラツ
チ67A〜67Dの各々に対し固定された間隔で
ロツクされる。ADR6は面0のラツチ信号
RPLORASと共にRAM選択ロジツク68に与え
られ、面0のラツチ・レジスタ67Aに対する
JADR6信号を提供する。信号RASとCASは、
RAMに対する行アドレス・ストローブ(RAS)
と列アドレス・ストローブ(CAS)信号を駆動
するための制御ロジツク65とラツチ・レジスタ
67を介して必要な制御信号を提供する。 制御ロジツク65の入力側に対する信号
LDOUTは、その時のサイクルの終りにモジユー
ルをしてその出力レジスタにロードさせ、次のサ
イクルの間データ・アウト・レジスタおよびマル
チプレクサ・ロジツク69および読出しバス・ド
ライバ69Aを介してこれを読出しデータ・バス
に対して使用可能にさせる。制御ロジツク65に
対する入力側の信号LDINは、以降のサイクルに
おいてRAMに書込ませるため、モジユールをし
て書込みデータ・バスからレジスタ63と64を
介してデータを受入れさせる。以下のタイミング
図は、各々の固定された時間間隔におけるブロツ
ク読出しおよびブロツク書込みの諸操作のための
種々の信号の状態を示す(これ迄に述べた特定の
実施態様においては、例えば各サイクルは110ns
であり得る)。明らかなように、面0〜3のデー
タは読出し操作において順次に与えられ、入力デ
ータはこの面に順次書込まれる。
【表】
【表】
前述の如き所要動作を得る第4図のブロツク図
に示した諸装置の構成のための更に詳細な論理回
路は第64図乃至第78図に示される。データ・
イン・レジスタ63と64はそれぞれ第64図と
第65図に示される。メモリー列60は第66図
乃至第73図に示され、その内面0RAMおよび
そのための制御入力回路は第66図および第67
図に示され、面1RAMとその制御入力回路は第
68図と第69図に示され、面2RAMとその制
御入力回路は第70図と第71図に示され、面
3RAMとその制御入力回路は第72図と第73
図に示される。データ・アウト・レジスタとマル
チプレクサ装置69は第74図に示される。ラツ
チング兼ドライバ・ロジツクは第75図に示され
る。RAM選択論理装置(RAMSELLOGIC)は
第76図に示され、MODSELコンパレータ装置
66と種々の制御ロジツク装置とこれと関連する
ラツチング回路およびバンク・コントローラ装置
18からの入力制御信号は第77図に示される。
記憶モジユール・タイミング・ロジツクは第78
図に示される。 アドレス変換装置 アドレス変換装置(ATU)14は第79図乃
至第81図に全体的に示され、この装置の主な機
能はユーザの論理アドレス(LA)を前述のプロ
セサの記憶モジユールの物理的アドレス・スペー
スにおける対応する物理的アドレス(PA)に変
換することである。このような変換操作は2つの
方法、即ち1つはシステム・カツシエから又は論
理アドレスのフイールド内に指定された特定のペ
ージ表のエントリにおける主記憶装置からのペー
ジをアクセスして、このアクセスされたページを
アドレス変換の実施に使用するため変換ストア装
置におくことにより、又他の方法はLATが実施
された後アクセスのため既に選択されたページお
よび変換ストアに既に存在するLATにより選択
されたページに対する更なる照合をアクセスする
ことによつて有効に行われる。後者の変換は加速
されたアドレス照合を提供し、各長いアドレス変
換の終りにアクセスされた物理的ページのアドレ
スを保管することにより達成可能である。前述の
如く、関与する物理的ページはATU変換ストア
100における第79図に示された拘束のランダ
ム・アクセス・メモリー(RAM)フアイルに記
憶される。 ATU変換ストア100に記憶される物理的ペ
ージにおけるアドレスの変換はCPUの1つの操
作時間サイクル内でプロセサにとつてち使用可能
であるが、長いアドレス変換は通常、問題のペー
ジがシステム・カツシエ・メモリーにおいて使用
可能である単レベル・ページ表照合(例、サイク
ル)又は2レベル・ページ表照合(例、5サイク
ル)を必要とする照合のための複数のこのような
サイクルを要する。もし関与するページがシステ
ム・カツシエ・メモリーに見出すことができず、
主記憶装置からアクセスされねばならないなら
ば、更に長い時間が必要とされる。 ATUの2次的機能は、例えば、これ迄に述べ
たシステムにおいては有効かつコンパテイブルな
方法でこのようなシステムについての前掲の文献
に述べた如く全てのEclipseのメモリー管理処理
装置(MMPU1)のアドレス変換装置を行うため
本システムがその拡張である前のシステムのあら
ゆる操作をエミユレートすることである。 論理ワード・アドレス(1つの位置により右寄
せされる時あるバイト・アドレスは1つのワー
ド・アドレスを生じる)の変換について更に明瞭
に理解するためには、論理ワード・アドレスは下
記の如く定義することができる。即ち、 こゝで明らかように、セグメント・アドレスと
論理ページ・アドレスは21ビツトの長さであり、
このセグメントと論理ページ・アドレスは2つの
フイールド、即ちタツグ・フイールドと指標フイ
ールドとに分割される。タツグ・フイールドはビ
ツトLA2〜14と定義され、指標フイールドはビツ
トLA1プラスLA15〜21と定義される。 第79図に判るように、論理ワード・アドレス
LA0〜31が論理アドレス・バス26における演算
論理装置(ALU)から受取られる時、これは論
理アドレス・レジスタ(LAR)101にラツチ
される。指標ビツトLA15〜21は直接論理アドレ
ス・バスから得て4つのRAMストアをアドレス
指定し、その最初のものはATUの物理的アドレ
ス(PA)変換ストア100に保管された物理的
アドレスと対応する論理アドレスのタツグ部分を
保持する。指標ビツトLA15〜21は又以下に論述
するように妥当性記憶RAM装置103と保護記
憶RAM装置104にも与えられる。 もし物理的アドレス変換ストア100が妥当な
アドレス変換を含むならば、メモリー・アクセス
が開始される時論理アドレスは論理アドレス・レ
ジスタ101にロードされ、指標(ビツトLA15
〜21)はこのストアにおける1つの場所を選択す
るため使用される。 前述の特定のシステムにおいては、仮に変換ス
トア100のこのような場所に妥当なアドレス変
換が存在しても、このアドレス変換は適正なもの
ではないかもしれない。論理アドレスの各指標
(および変換ストアにおける各アドレスの場所)
と対応して、各々が独自の物理的ページ・アドレ
スと対応する選択された数の可能な「タツグ」が
存在する。このよううなタツグの唯一つとその対
応する物理的ページ・アドレスは指標により選択
された場所において変換ストア100に保管可能
である。従つて、問題となる指標と対応しその時
タツグ・ストア102に記憶される「タツグ」
(TAG2〜14)はコンパレータ105において論
理アドレス・レジスタ(LA2〜14)における「タ
ツグ」と比較される。もしこの「タツグ」が対応
すれば、変換ストア100に含まれたアドレス変
換は適正なものであり、所要の物理的アドレス
(コンパレータ105の出力側のATU HIT信号
により示される)を与えるため使用することがで
きる。もしこれ等のタツグが整合しなければ、シ
ステム・カツシエ又は主記憶装置から所要の物理
的ページ・アドレスを得るため長いアドレス変換
操作が行われなければならない。ATU変換スト
ア100において前に含まれていた物理的ペー
ジ・アドレスを置換するためこのLAT手順によ
つてアクセスされる物理的ページ・アドレスは、
適当な転送バス(CPMバス20)におかれる。
長いアドレス変換の完了時に、論理アドレス・レ
ジスタ(LAR2〜14)から得られる「タツグ」は
指標によつて選択される場所によりタツグ・スト
ア102に書込まれ、記憶データ・レジスタ10
6(MD18〜31)からの物理的ページ・アドレス
は指標によつて指定される場所における変換スト
ア100に書込まれる。 第79図に示されるATUの構成は又、物理的
ページ・アドレス(PA)バス27に所望の物理
的ページ・アドレス表の変換された物理的アドレ
スをおくために使用される。物理的ページ表のア
ドレスの他の可能性のある3つのソースが存在
し、その第1はこれも又アドレス変換装置のスク
ラツチ・パツド装置におくことができるセグメン
ト基底レジスタのビツトSBR18〜31である。こ
のアドレスは、2レベルのページ表の上位のペー
ジ表(HOPT)又は1レベルのページ表の下位
のページ表(LOPT)を照合するため使用され
る。セグメント基底レジスタはATUにおかれる
ため、このようなアドレスはLA18〜31の如き論
理的アドレス・バス26から得ることができる。 下記の別表A、Bは、物理的アドレスが主記憶
装置における1レベルおよび2レベルのページ表
を横行探索することにより論理アドレスから得ら
れる長いアドレス変換を実施するため演算変換装
置(ATU)によつて開始される制御動作の結果
を示している。別表Aは1レベルのページ表の横
行探索を示し、別表Bは2レベルのページ表の横
行探索を示し、最終的な物理的アドレスの物理的
アドレス・ビツト3〜21(即ち、所要のメモリー
割当てデータ)は変換ストア100におかれ、そ
の結果対応する論理アドレスがその後変換を要求
する時、物理的アドレスが使用可能であり
(ATU HITが生じる)、その後の長いアドレス
変換に対する必要はなくなる。 1レベルのページ表変換のため変換されるべき
論理ワード・アドレスは別表Aに示される書式を
有する。このワード・アドレスのビツト1〜3は
8つのセグメント基底レジスタ(SBR)の1つ
を指定する。ATUはこの妥当SBRの内容を用い
て別表の点に示される如くあるページ表エント
リ(PTE)の物理的アドレスを形成する。 選択されたSBRは、ページ表の横行探索が1
レベル(ビツト1が零)のページ表であるか、2
レベル(ビツト1が1)のページ表であるかを指
定するビツト(ビツト1)を含む。別表Aにおい
ては、ページ表エントリ・アドレスは選択された
ページ表の開始アドレスを含みページ表エント
リ・オフセツトはその内のページ・アドレスを指
定する。 この物理的ページ・アドレスを形成するため、
ATUは別表の点で示す物理的アドレスから開
始する。このアドレスはPTEアドレスのビツト
3〜21となる。論理ワード・アドレスのビツト13
〜21はPTEアドレスのビツト22〜30となる。
ATUはPTEアドレスの右側に零を付属させ、29
ビツトのワード・アドレスを形成する。 PTEアドレスのビツト3〜21(前記ステツプで
は不変)は1つのページ表の開始アドレスを指定
する。PTEアドレスのビツト22〜31はこの表の
始めからあるPTE(別表ではPTEoと表示)への
オフセツトを指定する。このPTEは別表ので
示される如くメモリーの1つのページの開始アド
レスを指定する。 ページ・アドレスであるPTEoビツト13〜31は
別表Aので示す如く物理的アドレスのビツト3
〜21となる。論理ワード・アドレスのビツト22〜
31に指定されたページ・オフセツト・フイールド
は物理的アドレスのビツト22〜31となる。これは
元のワード・アドレスから変換された物理的ワー
ド・アドレスである。物理的アドレス・ビツト3
〜21は、同じワード・アドレスが以降の交換を要
求するならば、後で使用するまめのメモリー割当
てデータとして変換ストアにおかれる。1レベル
のページ表を使用する時に論理ワード・アドレス
のビツト4〜12は零でなければならないことは注
目されたい。もしこれ等のビツトが零でなく
SBRのビツト1が1レベルのページ表が要求さ
れることを表示するならば、ページ障害が生じ
る。 丁度1レベルのページ表変換プロセスにおける
如く、別表Bに示された2レベルのページ表変換
においてはプロセサが物理的アドレスを生成す
る。変換される論理ワード・アドレスは別表に示
された書式を有し、ステツプ1乃至4は、論理ワ
ード・アドレスのビツト4〜12がPTEアドレス
のビツト22〜30となる点を除けば、別表Aにおけ
るものと実質的に同じである。ATUはPTEアド
レスの右側に零を付属させ、29ビツトのワード・
アドレスを形成する。このワード・アドレスのビ
ツト1〜3は8つのセグメント基底レジスタ
(SBR)の1つを指定する。 PTEアドレスのビツト3〜21はページ表の開
始アドレスを指定する。PTEアドレスのビツト
22〜31は表の始めからあるPTE(PTEoで表示)
へのオフセツトを指定する。PTEはあるページ
表の開始アドレスを指定する。このように、
ATUはこゝでにおけるアドレスから第2の
PTEのアドレスを構成する。第1(PTEo)のビ
ツト13〜31において指定された物理的アドレスは
第2のPTEnのアドレスのビツト13〜31となる。
論理ワード・アドレスのビツト13〜21は第2の
PTEのアドレスのビツト22〜30になる。ATUは
29ビツトのワード・アドレスを形成するため第2
のPTEアドレスの右側に零を付加する。 第2のPTEアドレスのビツト3〜21は第2の
ページ表の開始アドレスを指定する。第2の
PTEアドレスのビツト22〜31は第2の表の始め
からあるPTE(別表BではPTEnと表示)へのオ
セセツトを指定する。第2のPTEは別表Bに
で示す如くあるページの開始アドレスを指定す
る。 ページ・アドレスである第2のPTEnのビツト
13〜31は物理的アドレスのビツト3〜21となり、
論理ワード・アドレスのビツト22〜31に指定され
た。ページ・オフセツトは別表Bので示される
如く物理的アドレスのビツト22〜31となる。この
最終値が最終的な物理的ワード・アドレスであ
る。 2レベルのページ表の下位のページ表に対する
物理的ページ表アドレスは、主記憶装置から取出
されねばならない上位のページ表エントリ
(HOPTE)のビツト18〜31にある。このように、
物理的ページ表アドレスの第2の可能なソース
は、MD18〜31の如き物理的記憶データ(CPM)
バス20に到達するデータを保持する記憶デー
タ・レジスタ(MD)105である。適当なペー
ジ表のマルチプレクサ107は、2つのソースの
内のどちらがその出力が使用可能状態にされる時
物理的アドレス・バスを駆動するか選択するため
使用される。 第3の最後のソースは物理的モード・バツフア
108を介して直接物理的ページ・アドレス・バ
ス27を駆動しようとし、このようなバツフアは
論理アドレス・バスのバツトLA8〜21から直接物
理的メモリー(PHY8〜21)をアドレス指定する
ため使用される。このバツフアは、このモードに
おける物理的アドレスが論理アドレスと同じであ
つて変換は不要であるため、ATU装置がOFFに
切換えられる(即ち、アドレス変換が必要とされ
ない)時使用可能状態にされる。 物理的アドレスのビツトPHY22〜31は変位ビ
ツトによりオフセツトされ、このオフセツトに対
する可能性のある3つの起点がある。このオフセ
ツトの第1のソースは、目的ページにおけるオフ
セツトと共に、物理的モードにある間(アドレス
変換は不要)ビツトが使用される論理アドレス・
バスのビツトLA22〜31からのものである。オフ
セツトの第2のソースは、長いアドレス変換にお
いて上位のページ表内のオフセツトとして使用さ
れる論理アドレス・レジスタのビツトLAR4〜12
(別表Bにおける2レベルのページ表のビツトと
呼ばれる)。このソースは僅かに9ビツトの長さ
であり、ページ表のエントリは偶数ワードの境界
に整合される2倍ワードであるため、最下位ビツ
トに零ビツトを付加することにより10ビツトのオ
フセツト(PHY22〜31を形成する)が構成され
る。オフセツトに対する最終ソースは、長いアド
レス変換において下位のページ表内のオフセツト
として使用される論理アドレス・レジスタのビツ
トLAR13〜21(前掲の別表Bにおける1レベルの
ページ表ビツトと呼ばれる)である。零のビツト
はこのソースの最下位ビツトに対しても付加され
る。オフセツト・マルチプレクサ109はこのよ
うな3つのオフセツト・ソースの所要の1つを選
択するため使用される。 以下の論議は、長いアドレス変換を行う際主記
憶装置における下位および上位のページ表エント
リ・アドレスを形成するためのアドレス・ビツ
ト・ソースを要約するものである。このページ表
エントリのアドレスは、セグメント基底アドレス
におけるアドレス・フイールドおよび論理アドレ
ス・レジスタにおけるアドレスフイールドから形
成される。セグメント基底レジスタのアドレス・
フイールドは下記の如く表わすこことができる。
即ち、 1レベル(下位)又は2レベル(上位)のペー
ジ表エントリのどちらが呼出されるかに従つて、
ビツト4〜12を含むSBRアドレス・フイールド
又はビツト13〜21を含むSBRアドレス・フイー
ルドが記憶デーア・レジスタ105に転送されて
ページ表エントリの上位ビツトを形成する。前述
の如く、8つのSBRレジスタがATUにおけるス
クラツチ・パツド・レジスタの256の場所の内
の8つに配置される。セグメント基底レジスタの
ためのこのようなスクラツチ・パツドの場所の使
用は、セグメント即ちリングの保護記憶システム
におけるセグメント基底レジスタ(又はこれと比
較し得るレジスタ)は全て主記憶装置における指
定された場所におかれる。これ等を本システムの
処理装置におかれたスクラツチ・パツド・メモリ
ーにおくことにより、ATU装置における如く、
上位のページ表エントリ・ビツトが、主記憶装置
から取出すのに必要なよりも更に早く取得され、
従つてページ表エントリが可能な早さがかなり改
善される。 あるSBR(前に「V」として識別される)9ビ
ツトの1つはSBRの内容が妥当かどうかを判定
するため試験される。別のビツト(「L」ビツト
として識別)は、適正なフイールドが記憶デー
タ・レジスタに与えられるように1レベル又は2
レベルのページ表エントリのどちらが要求される
かを判定するため試験される。 SBRの他のビツト・フイールドは、ロード有
効アドレス(LEF)命令(このLEF命令は本分
で引用した文献において更に詳細に説明されるよ
うにセツトされたEclipse命令の一部である)と
I/O命令のどちらが要求されるかを判定するた
め使用される。このように選択された状態におい
ては、LEF使用可能ビツトがLEF命令を使用可
能状態にし、I/O保護ビツトの選択された状態
はI/O命令が許容されるかどうかを判定する。
SBRの残りのフイールドはアドレス・オフセツ
ト・ビツトを含む。 第79図でも判るように、メモリーの照合毎に
種々の保護検査が行われ、この保護検査は、どん
な障害が生じたかに従つて適当な障害マイクロ・
コード・ルーチンを開始するためCPDバス25
におけるドライバ112を介してマイクロ・シー
ケンサ(以下に述べる)に対し与えられる適正な
障害コード・ビツト(FLTCD0〜3)を提供す
るため、保護記憶装置104、保護ロジツク装置
110およびリング保護ロジツク装置111の使
用によつて行われる。 下記の6つの保護検査を行うことができる。即
ち、 1 妥当性記憶保護 2 読出し保護 3 書込み保護 4 実行の保護 5 措置き保護 6 リング最大化保護 妥当性記憶保護検査は、記憶照合が行われるメ
モリーの対応ブロツクが割当てられておりかつシ
ステムその時のユーザにとつてアクセス可能であ
るかどうかを判定する。この妥当性記憶フイール
ドは、例えば、セグメント基底レジスタ(前述の
如くATU盤上にある)の各々のビツト零、又は
上位ページ表エントリ・アドレスおよび下位ペー
ジ表エントリ・アドレスの各々におけるビツト零
におかれる1ビツトのフイールドである。特定の
実施態様においては、例えば、「1」は対応する
ブロツクがそのように割当てられてアクセス可能
であることを表示し、「0」はユーザがこのよう
な記憶ブロツクを使用できないことを表示する。 一般に、新らしいユーザがシステムに入る時、
オペレーテイング・システムを含むものを除いて
このユーザに割当てられる論理アドレス・スペー
スにおける全てのページおよびセグメントは無効
であると表示される。この時妥当性ビツトはシス
テムが論理的メモリーをこの新らしいユーザに割
当てを開始する時妥当であるとセツトされる。も
しユーザが無効なページ、又は無効なページ表、
又は無効なセグメントに対するメモリー照合を行
うならば、このメモリー照合は打切られて次に妥
当性記憶保護の誤りがCPDバス上の障害コー
ド・ビツトにより信号される。 読出し保護フイールドは下位ページ表エント
リ・アドレスの各々における選択されたビツト
(例えば、ビツト2)に通常おかれる1ビツト・
フイールドであり、その検査は対応する目的ペー
ジがその時のユーザにより読出され得るかどうか
を判定する。もしこのページが読出し不能であれ
ば、CPDバス上の障害ビツトにより読出し誤差
が信号される。同様に、書込み保護誤りフイール
ドの検査が対応する目的ページがその時のユーザ
により書込み可能であるかどうかを判定し、もし
ユーザが許容されないページに対し書込みを試み
るならば、適当な書込み誤りが障害コード・ビツ
トにより信号される。 実行保護フイールドは下位のページ表エント
リ・アドレスの各々における選択されたビツト
(例、ビツト4)におかれる1ビツトのフイール
ドであり、その検査は対応する目的ページからの
命令がその時のユーザにより実行可能かどうかを
判定する。もしこの命令取出しが許容されなけれ
ば、CPDバス上の障害コード・ビツトにより実
行の誤りが信号される。実行の保護は通常1つの
ページの内の最初の取出しの間だけ検査され、こ
の目的のために命令プロセサにより保持される最
初の取出しからの物理的ページ・アドレスを用い
て別の命令取出しが実施される。 ユーザがメモリーのある場所を照合しようとし
てこのため間接アドレスのチエーンを使用中、選
択された数の前記間接アドレス以上のチエーンに
遭遇するならば、システムはそのオペレーシヨン
を打切る。例えば、論議中のシステムにおいて16
以上のか間接アドレスのチエーンと遭遇するなら
ば、そのオペレーシヨンは適宜打切られてCPD
バス上の障害コード・ビツトにより措置き誤りが
信号される。このような保護は、例えばシステム
がループ操作を行う時に通常用いられ、システム
はそのオペレーシヨンにおける障害の故に、ルー
プ操作から遮断可能ではなく間接ループ・アドレ
ス指定プロセスを反復し続ける。 ユーザがその時の実行リング(CRE1〜3)よ
りも下位のリング(セグメント)におけるメモリ
ーの論理場所を照合することを試みる時、リング
最大化保護を用いる。このような操作はシステム
により許されないため、この操作は、その時使用
中のものより下位のリングをユーザが照合しよう
としかつリング最大化誤りがCPDバス上に信号
されるならば打切られなければならない。論理ア
ドレス・スペースが8つのリング又はセグメント
に分割されるため、ユーザが照合を欲するリング
は例えば論理アドレスのビツト1〜3によつて表
示され得る。 このような保護検査に対して使用される特定の
論理回路(即ち、保護ストア104、保護ロジツ
ク110、およびこれと関連する保護ロジツク1
11)を第80図および第81図に示す。このよ
うに、読出し誤差、書込み誤差、実行誤差および
妥当性誤差の信号の生成のためのロジツクは第8
0図に示され、措置誤差およびリング最大化誤差
の信号の生成のためのロジツクは第81図に示さ
れる。 保護システムに関しては、論理アドレス・スペ
ースが8つの階層域(即ち、「リング」又は「セ
グメント」)に区分されるため、この区分は論理
アドレスのセグメント・フイールドによつて描く
ことができる。このように、セグメント番号0は
常にリング0に割当てられ(リング0は特権化さ
れた命令のみが実行可能なリングである)、セグ
メント1は常にリング1に割当てられる如きであ
る。このような試みは、リング番号が論理アドレ
ス・スペースから独立しないセグメント化された
階層的なアドレス・スペースが用いる前のシステ
ムとは異なる。対照的に、こゝで述べるシステム
においては、各リングは、セグメント0が常にリ
ング0に割当てられ、セグメント1がリング1に
割当てられる如くにスペース内に直接結びつけら
れている。 あるページ表のエントリにおけるアクセス・フ
イールドは第79図に示す如く3つのビツト
(MD2〜4)を含み、論理アドレス・スペースに
おける照合されたデータ項目の能力、即ち照合さ
れたデータ項目が読出しアクセス、書込みアクセ
ス、又は実行アクセスのいずれであるかを表示
し、保護ストア104はこのようなビツトに応答
して読出し可能信号(RDENB)又は書込み可能
信号(WRENB)又は実行可能信号(EXENB)
のいずれかを生じる。リング保護作用は特定のリ
ングに対するユーザのアクセス特権の適正な解釈
を支配し、ユーザは選択された連続的に番号を付
したリングのみに対するアクセスを許容される。
このように、もしこのような照合に対する有効な
ソースが適当なアクセス・ブラケツト内にあるな
らば、アクセスはリングのブラケツト(アクセス
のブラケツト)に対してのみ行うことができる。
例えば、どれかのリングのデータ照合の読出しブ
ラケツトはリング番号である。即ち、例えばセグ
メント5(リング5)に対するデータ・アドレス
照合は、決して5より大きな有効ソースから合理
的に生じ得ない。換言すれば、セグメント5にお
ける有効ソースはリング5より下位のリングを決
して照合し得ず、従つてもし5より大きな有効ソ
ースからの照合がリング5へのアクセスを試みる
ならば、第13図におけるロジツクにより示され
る如くリング最大誤り(MAXERR)が信号され
ることになる。このようなリング保護を示す表は
下記の如くである。即ち、
に示した諸装置の構成のための更に詳細な論理回
路は第64図乃至第78図に示される。データ・
イン・レジスタ63と64はそれぞれ第64図と
第65図に示される。メモリー列60は第66図
乃至第73図に示され、その内面0RAMおよび
そのための制御入力回路は第66図および第67
図に示され、面1RAMとその制御入力回路は第
68図と第69図に示され、面2RAMとその制
御入力回路は第70図と第71図に示され、面
3RAMとその制御入力回路は第72図と第73
図に示される。データ・アウト・レジスタとマル
チプレクサ装置69は第74図に示される。ラツ
チング兼ドライバ・ロジツクは第75図に示され
る。RAM選択論理装置(RAMSELLOGIC)は
第76図に示され、MODSELコンパレータ装置
66と種々の制御ロジツク装置とこれと関連する
ラツチング回路およびバンク・コントローラ装置
18からの入力制御信号は第77図に示される。
記憶モジユール・タイミング・ロジツクは第78
図に示される。 アドレス変換装置 アドレス変換装置(ATU)14は第79図乃
至第81図に全体的に示され、この装置の主な機
能はユーザの論理アドレス(LA)を前述のプロ
セサの記憶モジユールの物理的アドレス・スペー
スにおける対応する物理的アドレス(PA)に変
換することである。このような変換操作は2つの
方法、即ち1つはシステム・カツシエから又は論
理アドレスのフイールド内に指定された特定のペ
ージ表のエントリにおける主記憶装置からのペー
ジをアクセスして、このアクセスされたページを
アドレス変換の実施に使用するため変換ストア装
置におくことにより、又他の方法はLATが実施
された後アクセスのため既に選択されたページお
よび変換ストアに既に存在するLATにより選択
されたページに対する更なる照合をアクセスする
ことによつて有効に行われる。後者の変換は加速
されたアドレス照合を提供し、各長いアドレス変
換の終りにアクセスされた物理的ページのアドレ
スを保管することにより達成可能である。前述の
如く、関与する物理的ページはATU変換ストア
100における第79図に示された拘束のランダ
ム・アクセス・メモリー(RAM)フアイルに記
憶される。 ATU変換ストア100に記憶される物理的ペ
ージにおけるアドレスの変換はCPUの1つの操
作時間サイクル内でプロセサにとつてち使用可能
であるが、長いアドレス変換は通常、問題のペー
ジがシステム・カツシエ・メモリーにおいて使用
可能である単レベル・ページ表照合(例、サイク
ル)又は2レベル・ページ表照合(例、5サイク
ル)を必要とする照合のための複数のこのような
サイクルを要する。もし関与するページがシステ
ム・カツシエ・メモリーに見出すことができず、
主記憶装置からアクセスされねばならないなら
ば、更に長い時間が必要とされる。 ATUの2次的機能は、例えば、これ迄に述べ
たシステムにおいては有効かつコンパテイブルな
方法でこのようなシステムについての前掲の文献
に述べた如く全てのEclipseのメモリー管理処理
装置(MMPU1)のアドレス変換装置を行うため
本システムがその拡張である前のシステムのあら
ゆる操作をエミユレートすることである。 論理ワード・アドレス(1つの位置により右寄
せされる時あるバイト・アドレスは1つのワー
ド・アドレスを生じる)の変換について更に明瞭
に理解するためには、論理ワード・アドレスは下
記の如く定義することができる。即ち、 こゝで明らかように、セグメント・アドレスと
論理ページ・アドレスは21ビツトの長さであり、
このセグメントと論理ページ・アドレスは2つの
フイールド、即ちタツグ・フイールドと指標フイ
ールドとに分割される。タツグ・フイールドはビ
ツトLA2〜14と定義され、指標フイールドはビツ
トLA1プラスLA15〜21と定義される。 第79図に判るように、論理ワード・アドレス
LA0〜31が論理アドレス・バス26における演算
論理装置(ALU)から受取られる時、これは論
理アドレス・レジスタ(LAR)101にラツチ
される。指標ビツトLA15〜21は直接論理アドレ
ス・バスから得て4つのRAMストアをアドレス
指定し、その最初のものはATUの物理的アドレ
ス(PA)変換ストア100に保管された物理的
アドレスと対応する論理アドレスのタツグ部分を
保持する。指標ビツトLA15〜21は又以下に論述
するように妥当性記憶RAM装置103と保護記
憶RAM装置104にも与えられる。 もし物理的アドレス変換ストア100が妥当な
アドレス変換を含むならば、メモリー・アクセス
が開始される時論理アドレスは論理アドレス・レ
ジスタ101にロードされ、指標(ビツトLA15
〜21)はこのストアにおける1つの場所を選択す
るため使用される。 前述の特定のシステムにおいては、仮に変換ス
トア100のこのような場所に妥当なアドレス変
換が存在しても、このアドレス変換は適正なもの
ではないかもしれない。論理アドレスの各指標
(および変換ストアにおける各アドレスの場所)
と対応して、各々が独自の物理的ページ・アドレ
スと対応する選択された数の可能な「タツグ」が
存在する。このよううなタツグの唯一つとその対
応する物理的ページ・アドレスは指標により選択
された場所において変換ストア100に保管可能
である。従つて、問題となる指標と対応しその時
タツグ・ストア102に記憶される「タツグ」
(TAG2〜14)はコンパレータ105において論
理アドレス・レジスタ(LA2〜14)における「タ
ツグ」と比較される。もしこの「タツグ」が対応
すれば、変換ストア100に含まれたアドレス変
換は適正なものであり、所要の物理的アドレス
(コンパレータ105の出力側のATU HIT信号
により示される)を与えるため使用することがで
きる。もしこれ等のタツグが整合しなければ、シ
ステム・カツシエ又は主記憶装置から所要の物理
的ページ・アドレスを得るため長いアドレス変換
操作が行われなければならない。ATU変換スト
ア100において前に含まれていた物理的ペー
ジ・アドレスを置換するためこのLAT手順によ
つてアクセスされる物理的ページ・アドレスは、
適当な転送バス(CPMバス20)におかれる。
長いアドレス変換の完了時に、論理アドレス・レ
ジスタ(LAR2〜14)から得られる「タツグ」は
指標によつて選択される場所によりタツグ・スト
ア102に書込まれ、記憶データ・レジスタ10
6(MD18〜31)からの物理的ページ・アドレス
は指標によつて指定される場所における変換スト
ア100に書込まれる。 第79図に示されるATUの構成は又、物理的
ページ・アドレス(PA)バス27に所望の物理
的ページ・アドレス表の変換された物理的アドレ
スをおくために使用される。物理的ページ表のア
ドレスの他の可能性のある3つのソースが存在
し、その第1はこれも又アドレス変換装置のスク
ラツチ・パツド装置におくことができるセグメン
ト基底レジスタのビツトSBR18〜31である。こ
のアドレスは、2レベルのページ表の上位のペー
ジ表(HOPT)又は1レベルのページ表の下位
のページ表(LOPT)を照合するため使用され
る。セグメント基底レジスタはATUにおかれる
ため、このようなアドレスはLA18〜31の如き論
理的アドレス・バス26から得ることができる。 下記の別表A、Bは、物理的アドレスが主記憶
装置における1レベルおよび2レベルのページ表
を横行探索することにより論理アドレスから得ら
れる長いアドレス変換を実施するため演算変換装
置(ATU)によつて開始される制御動作の結果
を示している。別表Aは1レベルのページ表の横
行探索を示し、別表Bは2レベルのページ表の横
行探索を示し、最終的な物理的アドレスの物理的
アドレス・ビツト3〜21(即ち、所要のメモリー
割当てデータ)は変換ストア100におかれ、そ
の結果対応する論理アドレスがその後変換を要求
する時、物理的アドレスが使用可能であり
(ATU HITが生じる)、その後の長いアドレス
変換に対する必要はなくなる。 1レベルのページ表変換のため変換されるべき
論理ワード・アドレスは別表Aに示される書式を
有する。このワード・アドレスのビツト1〜3は
8つのセグメント基底レジスタ(SBR)の1つ
を指定する。ATUはこの妥当SBRの内容を用い
て別表の点に示される如くあるページ表エント
リ(PTE)の物理的アドレスを形成する。 選択されたSBRは、ページ表の横行探索が1
レベル(ビツト1が零)のページ表であるか、2
レベル(ビツト1が1)のページ表であるかを指
定するビツト(ビツト1)を含む。別表Aにおい
ては、ページ表エントリ・アドレスは選択された
ページ表の開始アドレスを含みページ表エント
リ・オフセツトはその内のページ・アドレスを指
定する。 この物理的ページ・アドレスを形成するため、
ATUは別表の点で示す物理的アドレスから開
始する。このアドレスはPTEアドレスのビツト
3〜21となる。論理ワード・アドレスのビツト13
〜21はPTEアドレスのビツト22〜30となる。
ATUはPTEアドレスの右側に零を付属させ、29
ビツトのワード・アドレスを形成する。 PTEアドレスのビツト3〜21(前記ステツプで
は不変)は1つのページ表の開始アドレスを指定
する。PTEアドレスのビツト22〜31はこの表の
始めからあるPTE(別表ではPTEoと表示)への
オフセツトを指定する。このPTEは別表ので
示される如くメモリーの1つのページの開始アド
レスを指定する。 ページ・アドレスであるPTEoビツト13〜31は
別表Aので示す如く物理的アドレスのビツト3
〜21となる。論理ワード・アドレスのビツト22〜
31に指定されたページ・オフセツト・フイールド
は物理的アドレスのビツト22〜31となる。これは
元のワード・アドレスから変換された物理的ワー
ド・アドレスである。物理的アドレス・ビツト3
〜21は、同じワード・アドレスが以降の交換を要
求するならば、後で使用するまめのメモリー割当
てデータとして変換ストアにおかれる。1レベル
のページ表を使用する時に論理ワード・アドレス
のビツト4〜12は零でなければならないことは注
目されたい。もしこれ等のビツトが零でなく
SBRのビツト1が1レベルのページ表が要求さ
れることを表示するならば、ページ障害が生じ
る。 丁度1レベルのページ表変換プロセスにおける
如く、別表Bに示された2レベルのページ表変換
においてはプロセサが物理的アドレスを生成す
る。変換される論理ワード・アドレスは別表に示
された書式を有し、ステツプ1乃至4は、論理ワ
ード・アドレスのビツト4〜12がPTEアドレス
のビツト22〜30となる点を除けば、別表Aにおけ
るものと実質的に同じである。ATUはPTEアド
レスの右側に零を付属させ、29ビツトのワード・
アドレスを形成する。このワード・アドレスのビ
ツト1〜3は8つのセグメント基底レジスタ
(SBR)の1つを指定する。 PTEアドレスのビツト3〜21はページ表の開
始アドレスを指定する。PTEアドレスのビツト
22〜31は表の始めからあるPTE(PTEoで表示)
へのオフセツトを指定する。PTEはあるページ
表の開始アドレスを指定する。このように、
ATUはこゝでにおけるアドレスから第2の
PTEのアドレスを構成する。第1(PTEo)のビ
ツト13〜31において指定された物理的アドレスは
第2のPTEnのアドレスのビツト13〜31となる。
論理ワード・アドレスのビツト13〜21は第2の
PTEのアドレスのビツト22〜30になる。ATUは
29ビツトのワード・アドレスを形成するため第2
のPTEアドレスの右側に零を付加する。 第2のPTEアドレスのビツト3〜21は第2の
ページ表の開始アドレスを指定する。第2の
PTEアドレスのビツト22〜31は第2の表の始め
からあるPTE(別表BではPTEnと表示)へのオ
セセツトを指定する。第2のPTEは別表Bに
で示す如くあるページの開始アドレスを指定す
る。 ページ・アドレスである第2のPTEnのビツト
13〜31は物理的アドレスのビツト3〜21となり、
論理ワード・アドレスのビツト22〜31に指定され
た。ページ・オフセツトは別表Bので示される
如く物理的アドレスのビツト22〜31となる。この
最終値が最終的な物理的ワード・アドレスであ
る。 2レベルのページ表の下位のページ表に対する
物理的ページ表アドレスは、主記憶装置から取出
されねばならない上位のページ表エントリ
(HOPTE)のビツト18〜31にある。このように、
物理的ページ表アドレスの第2の可能なソース
は、MD18〜31の如き物理的記憶データ(CPM)
バス20に到達するデータを保持する記憶デー
タ・レジスタ(MD)105である。適当なペー
ジ表のマルチプレクサ107は、2つのソースの
内のどちらがその出力が使用可能状態にされる時
物理的アドレス・バスを駆動するか選択するため
使用される。 第3の最後のソースは物理的モード・バツフア
108を介して直接物理的ページ・アドレス・バ
ス27を駆動しようとし、このようなバツフアは
論理アドレス・バスのバツトLA8〜21から直接物
理的メモリー(PHY8〜21)をアドレス指定する
ため使用される。このバツフアは、このモードに
おける物理的アドレスが論理アドレスと同じであ
つて変換は不要であるため、ATU装置がOFFに
切換えられる(即ち、アドレス変換が必要とされ
ない)時使用可能状態にされる。 物理的アドレスのビツトPHY22〜31は変位ビ
ツトによりオフセツトされ、このオフセツトに対
する可能性のある3つの起点がある。このオフセ
ツトの第1のソースは、目的ページにおけるオフ
セツトと共に、物理的モードにある間(アドレス
変換は不要)ビツトが使用される論理アドレス・
バスのビツトLA22〜31からのものである。オフ
セツトの第2のソースは、長いアドレス変換にお
いて上位のページ表内のオフセツトとして使用さ
れる論理アドレス・レジスタのビツトLAR4〜12
(別表Bにおける2レベルのページ表のビツトと
呼ばれる)。このソースは僅かに9ビツトの長さ
であり、ページ表のエントリは偶数ワードの境界
に整合される2倍ワードであるため、最下位ビツ
トに零ビツトを付加することにより10ビツトのオ
フセツト(PHY22〜31を形成する)が構成され
る。オフセツトに対する最終ソースは、長いアド
レス変換において下位のページ表内のオフセツト
として使用される論理アドレス・レジスタのビツ
トLAR13〜21(前掲の別表Bにおける1レベルの
ページ表ビツトと呼ばれる)である。零のビツト
はこのソースの最下位ビツトに対しても付加され
る。オフセツト・マルチプレクサ109はこのよ
うな3つのオフセツト・ソースの所要の1つを選
択するため使用される。 以下の論議は、長いアドレス変換を行う際主記
憶装置における下位および上位のページ表エント
リ・アドレスを形成するためのアドレス・ビツ
ト・ソースを要約するものである。このページ表
エントリのアドレスは、セグメント基底アドレス
におけるアドレス・フイールドおよび論理アドレ
ス・レジスタにおけるアドレスフイールドから形
成される。セグメント基底レジスタのアドレス・
フイールドは下記の如く表わすこことができる。
即ち、 1レベル(下位)又は2レベル(上位)のペー
ジ表エントリのどちらが呼出されるかに従つて、
ビツト4〜12を含むSBRアドレス・フイールド
又はビツト13〜21を含むSBRアドレス・フイー
ルドが記憶デーア・レジスタ105に転送されて
ページ表エントリの上位ビツトを形成する。前述
の如く、8つのSBRレジスタがATUにおけるス
クラツチ・パツド・レジスタの256の場所の内
の8つに配置される。セグメント基底レジスタの
ためのこのようなスクラツチ・パツドの場所の使
用は、セグメント即ちリングの保護記憶システム
におけるセグメント基底レジスタ(又はこれと比
較し得るレジスタ)は全て主記憶装置における指
定された場所におかれる。これ等を本システムの
処理装置におかれたスクラツチ・パツド・メモリ
ーにおくことにより、ATU装置における如く、
上位のページ表エントリ・ビツトが、主記憶装置
から取出すのに必要なよりも更に早く取得され、
従つてページ表エントリが可能な早さがかなり改
善される。 あるSBR(前に「V」として識別される)9ビ
ツトの1つはSBRの内容が妥当かどうかを判定
するため試験される。別のビツト(「L」ビツト
として識別)は、適正なフイールドが記憶デー
タ・レジスタに与えられるように1レベル又は2
レベルのページ表エントリのどちらが要求される
かを判定するため試験される。 SBRの他のビツト・フイールドは、ロード有
効アドレス(LEF)命令(このLEF命令は本分
で引用した文献において更に詳細に説明されるよ
うにセツトされたEclipse命令の一部である)と
I/O命令のどちらが要求されるかを判定するた
め使用される。このように選択された状態におい
ては、LEF使用可能ビツトがLEF命令を使用可
能状態にし、I/O保護ビツトの選択された状態
はI/O命令が許容されるかどうかを判定する。
SBRの残りのフイールドはアドレス・オフセツ
ト・ビツトを含む。 第79図でも判るように、メモリーの照合毎に
種々の保護検査が行われ、この保護検査は、どん
な障害が生じたかに従つて適当な障害マイクロ・
コード・ルーチンを開始するためCPDバス25
におけるドライバ112を介してマイクロ・シー
ケンサ(以下に述べる)に対し与えられる適正な
障害コード・ビツト(FLTCD0〜3)を提供す
るため、保護記憶装置104、保護ロジツク装置
110およびリング保護ロジツク装置111の使
用によつて行われる。 下記の6つの保護検査を行うことができる。即
ち、 1 妥当性記憶保護 2 読出し保護 3 書込み保護 4 実行の保護 5 措置き保護 6 リング最大化保護 妥当性記憶保護検査は、記憶照合が行われるメ
モリーの対応ブロツクが割当てられておりかつシ
ステムその時のユーザにとつてアクセス可能であ
るかどうかを判定する。この妥当性記憶フイール
ドは、例えば、セグメント基底レジスタ(前述の
如くATU盤上にある)の各々のビツト零、又は
上位ページ表エントリ・アドレスおよび下位ペー
ジ表エントリ・アドレスの各々におけるビツト零
におかれる1ビツトのフイールドである。特定の
実施態様においては、例えば、「1」は対応する
ブロツクがそのように割当てられてアクセス可能
であることを表示し、「0」はユーザがこのよう
な記憶ブロツクを使用できないことを表示する。 一般に、新らしいユーザがシステムに入る時、
オペレーテイング・システムを含むものを除いて
このユーザに割当てられる論理アドレス・スペー
スにおける全てのページおよびセグメントは無効
であると表示される。この時妥当性ビツトはシス
テムが論理的メモリーをこの新らしいユーザに割
当てを開始する時妥当であるとセツトされる。も
しユーザが無効なページ、又は無効なページ表、
又は無効なセグメントに対するメモリー照合を行
うならば、このメモリー照合は打切られて次に妥
当性記憶保護の誤りがCPDバス上の障害コー
ド・ビツトにより信号される。 読出し保護フイールドは下位ページ表エント
リ・アドレスの各々における選択されたビツト
(例えば、ビツト2)に通常おかれる1ビツト・
フイールドであり、その検査は対応する目的ペー
ジがその時のユーザにより読出され得るかどうか
を判定する。もしこのページが読出し不能であれ
ば、CPDバス上の障害ビツトにより読出し誤差
が信号される。同様に、書込み保護誤りフイール
ドの検査が対応する目的ページがその時のユーザ
により書込み可能であるかどうかを判定し、もし
ユーザが許容されないページに対し書込みを試み
るならば、適当な書込み誤りが障害コード・ビツ
トにより信号される。 実行保護フイールドは下位のページ表エント
リ・アドレスの各々における選択されたビツト
(例、ビツト4)におかれる1ビツトのフイール
ドであり、その検査は対応する目的ページからの
命令がその時のユーザにより実行可能かどうかを
判定する。もしこの命令取出しが許容されなけれ
ば、CPDバス上の障害コード・ビツトにより実
行の誤りが信号される。実行の保護は通常1つの
ページの内の最初の取出しの間だけ検査され、こ
の目的のために命令プロセサにより保持される最
初の取出しからの物理的ページ・アドレスを用い
て別の命令取出しが実施される。 ユーザがメモリーのある場所を照合しようとし
てこのため間接アドレスのチエーンを使用中、選
択された数の前記間接アドレス以上のチエーンに
遭遇するならば、システムはそのオペレーシヨン
を打切る。例えば、論議中のシステムにおいて16
以上のか間接アドレスのチエーンと遭遇するなら
ば、そのオペレーシヨンは適宜打切られてCPD
バス上の障害コード・ビツトにより措置き誤りが
信号される。このような保護は、例えばシステム
がループ操作を行う時に通常用いられ、システム
はそのオペレーシヨンにおける障害の故に、ルー
プ操作から遮断可能ではなく間接ループ・アドレ
ス指定プロセスを反復し続ける。 ユーザがその時の実行リング(CRE1〜3)よ
りも下位のリング(セグメント)におけるメモリ
ーの論理場所を照合することを試みる時、リング
最大化保護を用いる。このような操作はシステム
により許されないため、この操作は、その時使用
中のものより下位のリングをユーザが照合しよう
としかつリング最大化誤りがCPDバス上に信号
されるならば打切られなければならない。論理ア
ドレス・スペースが8つのリング又はセグメント
に分割されるため、ユーザが照合を欲するリング
は例えば論理アドレスのビツト1〜3によつて表
示され得る。 このような保護検査に対して使用される特定の
論理回路(即ち、保護ストア104、保護ロジツ
ク110、およびこれと関連する保護ロジツク1
11)を第80図および第81図に示す。このよ
うに、読出し誤差、書込み誤差、実行誤差および
妥当性誤差の信号の生成のためのロジツクは第8
0図に示され、措置誤差およびリング最大化誤差
の信号の生成のためのロジツクは第81図に示さ
れる。 保護システムに関しては、論理アドレス・スペ
ースが8つの階層域(即ち、「リング」又は「セ
グメント」)に区分されるため、この区分は論理
アドレスのセグメント・フイールドによつて描く
ことができる。このように、セグメント番号0は
常にリング0に割当てられ(リング0は特権化さ
れた命令のみが実行可能なリングである)、セグ
メント1は常にリング1に割当てられる如きであ
る。このような試みは、リング番号が論理アドレ
ス・スペースから独立しないセグメント化された
階層的なアドレス・スペースが用いる前のシステ
ムとは異なる。対照的に、こゝで述べるシステム
においては、各リングは、セグメント0が常にリ
ング0に割当てられ、セグメント1がリング1に
割当てられる如くにスペース内に直接結びつけら
れている。 あるページ表のエントリにおけるアクセス・フ
イールドは第79図に示す如く3つのビツト
(MD2〜4)を含み、論理アドレス・スペースに
おける照合されたデータ項目の能力、即ち照合さ
れたデータ項目が読出しアクセス、書込みアクセ
ス、又は実行アクセスのいずれであるかを表示
し、保護ストア104はこのようなビツトに応答
して読出し可能信号(RDENB)又は書込み可能
信号(WRENB)又は実行可能信号(EXENB)
のいずれかを生じる。リング保護作用は特定のリ
ングに対するユーザのアクセス特権の適正な解釈
を支配し、ユーザは選択された連続的に番号を付
したリングのみに対するアクセスを許容される。
このように、もしこのような照合に対する有効な
ソースが適当なアクセス・ブラケツト内にあるな
らば、アクセスはリングのブラケツト(アクセス
のブラケツト)に対してのみ行うことができる。
例えば、どれかのリングのデータ照合の読出しブ
ラケツトはリング番号である。即ち、例えばセグ
メント5(リング5)に対するデータ・アドレス
照合は、決して5より大きな有効ソースから合理
的に生じ得ない。換言すれば、セグメント5にお
ける有効ソースはリング5より下位のリングを決
して照合し得ず、従つてもし5より大きな有効ソ
ースからの照合がリング5へのアクセスを試みる
ならば、第13図におけるロジツクにより示され
る如くリング最大誤り(MAXERR)が信号され
ることになる。このようなリング保護を示す表は
下記の如くである。即ち、
【表】
要約すれば、リング・アクセスを行うため、リ
ング最大化機能を用いて照合が妥当なリング照合
であるかどうかを判断し、もしそうならば、アド
レス・データを照合するページ表エントリを検査
してこのページが妥当なものかどうかを調べる。
次にもし読出し保護ビツトがこの妥当なページが
読出し可能であることを表示するならば、読出し
は実施できる。もしこの検査のどれかが保護誤り
(即ち、リング最大化誤差、妥当性誤差、又は読
出し誤差)を示すならば、読出しは出切られて適
当な障害コード・ルーチンを呼出される。同様
に、書込みアクセスおよび実行アクセスのための
保護誤りについての適当な検査も又実施可能であ
る。 前述の如き階層アドレス・スペースにおいて
は、リングを切換べる試み、即ちその時使用中の
リング以外のリング(セグメント)に対するアク
セスを得る(「リング交換」操作)試みを中介し
て確保することが望ましい。リング交換操作の実
施は下記の如く確保される。 プログラム制御命令によりリング交換を行う明
示の試みの結果としてのみリング交換の試みが生
じ、このような明示の試みは下記の条件が満たさ
れるだけで生じ得る。 (1) プログラム制御命令は、1つのサブルーチン
「呼出し」形態即ち別のリングにおけるサブル
ーチン(LCALL、別表2参照)に対するアク
セスが要求される形態、又はサブルーチン「戻
り」即ち別のリングにおけるサブルーチンがア
クセスされて元のリングへの戻り(WRTNお
よびWPOPB、別表2参照)が要求される形態
である。他の全てのプログラム制御命令(例、
JUMP)は命令に対して必要とされる有効アド
レスのリング・フイールドを無視し、この命令
は適正なセグメント内の場所への転位のみが可
能である。 (2) サブルーチン呼出し交換の方向は下位のリン
グがより高い保護順位を有する下位リング番号
に向う(即ち、リング0に向つて内方)もので
なければならず、その時の実行リングおよびサ
ブルーチン戻り交換の方向は更に上位のリング
がサブルーチンを含む呼出されたリングよりも
低い保護順位を有するより高いリング番号(即
ち、リング0から外方)に向わなければならな
い。外方向の呼出しおよび内方向への戻しは保
護障害としてトラツプされる。 (3) 有効分岐アドレスの目標セグメントは、プロ
グラム・カウンタのビツト1〜3により識別さ
れるセグメントには存在しない。 前記条件が満たされた時、外方への戻りのため
の戻りアドレスは単に通常のワード・アドレスと
して解釈されるのみである。しかし、もし前記条
件が内方の呼出しに対して満されるならば、分岐
アドレスは下記の如く解釈される。即ち、 ゲート16〜31は目的スペースにおける指定され
たセグメント(ビツト1〜3のSBR)への「ゲ
ート」として解釈される。このゲート番号は、指
定されたゲートが呼出されたセグメントにあるこ
とを検査し、この検査の結果以下に述べるように
呼出されたセグメントにおける「ゲート列」を介
して指定されたゲートと命令アドレスにおいて関
連するように使用される。 呼出されたセグメントにおけるゲート列の場所
は呼出されたセグメントの特定の場所に含まれる
ポインタによつて表示される(例、特定の実施例
においては、ポインタ場所は各セグメントにおけ
る場所34と35として指定され得る)。ゲート
列の構造は下記の如くである。即ち、 目的セグメントを照合したポインタのゲート番
号はゲート列の最初の32ビツトのビツト16〜31と
比較される。もしこのゲート番号がゲート列にお
ける最大ゲート番号より大きいかあるいはこれと
等しければ、リング交換呼出しは許されず、保護
障害が生じる(もしゲートの最大番号が0であれ
ば、関与するセグメントは1つの内方向のリング
交換呼出し操作の妥当な目的ではあり得ない)。 もしゲート番号が最大ゲート番号より小さけれ
ば、このゲート番号はその最初の32ビツトに続く
ゲート列のゲートの1つに指示するため使用され
る。指示されたゲートの内容を読出して2つの動
作を制御するため使用される。第一に、有効ソー
スは指示されたゲートのゲート・ブラケツト・ビ
ツト1〜3と比較される。有効ソースは照合され
たゲート・ビツトより小さいかあるいはこれと等
しくなければならず、もしそうならば、PCオフ
セツト・ビツト4〜31はプログラム・カウンタの
最下位の28ビツトとなり、プログラム・カウンタ
のビツト1〜3はゲート列を含むセグメントにセ
ツトされる。 前述の如くリング交換操作におけるゲートが交
換が行われるリングに対する許容されたエントリ
点であるならば、新らしいスタツクが構成され
る。このためには、リング当り1つのスタツクし
かないため、スタツク切換え操作が生じなければ
ならない。このように、新らしいスタツクが形成
できる前に、その時のスタツク管理レジスタの内
容は呼出し側のリングの指定された記憶場所に保
管されねばならない。呼出し側のスタツクはこの
時形成でき、呼出し側のスタツクからの増補は新
らしく形成される呼出し側のスタツクに複写さ
れ、この増補数はX即ちL CALL命令(別表2
参照)により指定される。最初、全ての増補の複
写がスタツクのオーバーフロー条件を形成するか
どうかを判定する適当な検査がなされる。もしそ
うならば、スタツク障害が信号され、リング交換
は許容され障害は呼出されたリング内で処理され
る。 Eclipseアドレス変換操作をエミユレートする
ため、ATUをEclipse操作モードにおくための適
当なエミユレーシヨン制御信号がエミユレーシヨ
ン制御論理装置115により示される如く要求さ
れ、この論理装置はマイクロ順序付け盤13によ
り生成される符号化命令に応答して、それについ
ての前掲の文献に記載の如くEclipseコンパレー
タの記憶管理保護装置(MMPU)と等しい16ビ
ツトのアドレスに対する操作を許容するためこの
ような信号を生成する。 第79図乃至第81図に示されるアドレス変換
装置の種々のブロツクを構造するための特定の論
理回路は第82図乃至100図に示される。第8
2図は、記憶データ・レジスタ105からのビツ
トMD18〜31が供給される変換ストア装置100
を示し、更に論理アドレス・ビツトLA15〜21の
変換から生じた変換された物理的アドレス・ビツ
ト8〜21を供給する。第82図は又、ページ表ア
ドレス・マルチプレクサ装置107および物理的
モード・バツフア装置108を示す。更に、この
図はECLIPSE MMPUエミユレーシヨン操作の
間物理的アドレス・ビツトPHY8〜21を提供する
「最終ブロツク」レジスタ装置116を含む。第
82図も又LMPデータ・レジスタを示す。第8
3図はタツグ・ストア102および保護ストア1
04を示す。タツグ・コンパレータ装置105は
第84図に示される。第85図は論理アドレス・
レジスタ101を示し、物理的アドレス・オフセ
ツト・マルチプレクサ109および論理アドレ
ス・レジスタCPDバス・ドライバ装置はそれぞ
れ第86図および第87図に示される。適当な物
理的アドレス・ビツトPHY8〜21を検索するため
の物理的アドレス・バス・ドライバ装置は第88
図に示される。 障害検出およびカツシエ・ブロツク交換トラツ
ク・ロジツクを含む保護ロジツクは第89図乃至
第92図に示され、保護ロジツク識別エンコーダ
装置110は第89図に、障害コード・ビツト駆
動装置112は第90図に、リング保護論理回路
111は第91図に示され、障害検出兼カツシ
エ・ブロツク交換ロジエツクは第92図および第
93図に示される。 妥当性ストア装置103は、これと関連する変
換パージ・ロジツクおよびマルチプレクサと共に
第94図に示される。第79の変換レジスタは第
95図に詳細に示される。照合/修飾記憶兼制御
論理装置は第96図に示され、これと関連する状
況保管駆動装置は第97図に示される。16ビツト
MMPUエミユレーシヨン制御ロジツクは第98
図に示される。 ATUタイミング・ロジツクは第99図に示さ
れ、適当なシステム・コード・インターフエー
ス・ロジツクは第100図に示される。 命令処理装置 命令処理装置(IP)12は本発明のデータ処
理システム用のマイクロ命令の取出しおよび復号
の取扱いに使用される。本命令処理装置はプログ
ラム・カウンタにおいて、かつそれに先立つて作
動し、その主要機能は、マイクロ順序付け装置1
3に与えられる各マイクロ命令用開始マイクロ・
アドレス(STμAD)の提供にある。この命令処
理装置の補助的機能は、(1)ソースおよび行先きア
キユムレータ表示の提供、(2)演算論理装置に対す
る有効アドレス計算パラメータの提供、および(3)
演算論理装置(ALU)に対するメモリー照合又
はイン・ライン・リテラル(即時)を行うための
信号又は零拡張変位の提供である。 第101図に示す如く、命令処理装置は、以下
に述べる如く命令カツシエ・ロジツク120
(ICACHE)、マイクロ命令復号ロジツク121
(第103図に示す如き命令復号レジスタを含
む)、およびプログラム・カウンタ/変比ロジツ
ク122を含む。I CACHEロジツク120
は、先取り装置として機能する。即ち、その命令
カツシエ(I CACHE)が復号のための以降の
マクロ命令のブロツクを得、このブロツクは前の
マクロ命令が実行中にメモリーから既にアクセス
される。I CACHEは、仮にこのようなマクロ
命令がマイクロ順序付け装置により即時に使用中
でなくても、以降のマクロ命令ブロツクを記憶す
る。命令処理装置の復号ロジツク121はI
CACHEからのマクロ命令に応答し、その命令コ
ード(OPコード)を復合して制御兼状況ロジツ
ク123に対するOPコード既述情報を提供し、
これから必要な情報を開始マイクロ・アドレス
(STμAD)レジスタ124に与えて所要のマイ
クロ命令の開始マイクロ・アドレスを識別する。 変位ロジツク122は、この変位に対する指標
がALU盤上にあれば、変位データをALUに与え
る。もしこの変位に対する指標がIPプログラ
ム・カウンタであれば、変位ロジツクがこの変位
情報を命令処理装置において使用可能なプログラ
ム・カウンタ情報と組合せてLAバスに与えるた
めの論理アドレスを形成する。 このように、全IP操作シーケンスにおいて、
マクロ命令がI CACHEロジツク120のI
CACHE記憶装置から復号ロジツク121に読込
まれ、このロジツクはこれと同時に命令OPコー
ドを復号し、マイクロ順序付け装置に対する開始
マイクロ・アドレスを生成する。復号および開始
マイクロ・アドレス生成プロセスの間、命令処理
装置は同時に次のマクロ命令をI CACHEから
復号ロジツクへ読込む。マイクロ順序付け装置が
第1のマイクロ命令を読出し中、復号ロジツクは
次の開始マイロ・アドレスの生成のための次のマ
クロ命令を復号する。開始マイクロ・アドレスに
おけるマイクロ命令が実行中、マイクロ順序付け
装置は次の開始マイクロ・アドレスから次のマイ
クロ命令がを読出す。その結果、パイプライン復
号および実行プロセスが生じる。 更に詳細に第102図に示される如く、I
CACHEロジツク120はI CACHEデータ・
ストア装置130と、タツグ・ストア装置131
と、妥当性ストア装置132を含む。記憶システ
ムのシステム・カツシエ17に関して記載した如
く、I CACHEの操作は実質的に、マクロ命令
の各々の所要ワードのアドレスのタツグ部分
(PHY ICP8〜21)がコンパレータ133におい
てI CACHEデータ・ストア130に記憶され
たワードのタツグ・ストア装置131に記載され
たアドレスのタツグ命令と比較される点で実質的
に類似している。更に、妥当性ストア装置は所要
のアドレスが妥当な位置であるかどうかを判定す
る。もしこのアドレスが妥当であり、又もしタツ
グの「突合せ」が生じるならば、このようなアド
レスの32ビツトの2倍ワードはI CACHEデー
タ・ストア130から復号ロジツク121へ与え
られる。 もし適当なI CACHEブロツクにおける所要
のマクロ命令がI CACHEデータ・ストア13
0に記載される(即ち、タツグの突合せが生じな
い)その時の物理的ページ(即ち、プログラム・
カウンタのその時の値の論理ページ値と対応する
物理的ページ)に存在しなければ、あるいはもし
妥当性ビツトがセツトされなければ、I
CACHEの「外れ」が生じマクロ命令を含むカツ
シエブロツクがメモリーから照合されねばならな
い。もしシステム・カツシエのアクセスも又外れ
るならば、このようなI CACHEブロツク・メ
モリー照合がシステム・カツシエ(SYS
CACHE)又は主記憶装置に対するものでよい。
アクセスされたI CACHEブロツクが取出され
るならば、その所要のマクロ命令はCPMレジス
タ134からI CACHEデータ・ストア130
に書込まれ、このブロツクは同時にバイパス経路
135を介して直接復号ロジツクへ送られる。こ
の時I CACHEロジツクはその命令ブロツクと
して取出されたページからマクロ命令の残りを先
取りし続けることができ、これ等マクロ命令がア
クセスされる時1つ宛I CACHEデータ・スト
ア130に入れる。I CACHEロジツク120
に対する制御ロジツクはI CACHE/ICP制御
論理装置136である。 第103図に更に詳細に示される復号ロジツク
は、マクロ命令のOPコード部分を復号するため
命令復号装置140と141を含む。復号装置1
40は、本システムがその拡張であるシステムに
対する元の基本命令のOPコードの復号のために
使用される。このように、前述の如く特定の実施
例においては、この基本命令はDate General
Carp.の前のNovaおよびEclipseシステムのため
のNovaおよびEclipse命令でよい。復号装置14
1は拡張された命令セツト、例えば前述の
「Eagle」マクロ命令のOPコードを復号するため
に使用される。 OPコードはレジスタの3つの記憶域を有する
命令復号レジスタ(IDR)142から与えられ、
前記記憶域の各々は1つのワードを記憶すること
ができ、IDR A、IDR BおよびIDR Cとして
識別される。各マクロ命令のOPコードはIDR A
セクシヨンに記憶され、変位はIDR Bおよび
IDR Cセクシヨンに記憶される。IDRシフター
装置143は、I CACHEデータ・ストア13
0からIDR142のIDR Aセクシヨンにアクセ
スされた命令の所要のOPコード部分をシフトし、
もし命令が存在すればその適当な変位ワードをそ
のIDR BおよびIDR Cセクシヨンにシフトす
る。IDRおよびIDRシフター装置に対する制御ロ
ジツクは第102図に示されるIDR/シフター制
御装置137である。 マクロ命令が復号ロジツクに送られた時、必要
に応じて復号装置140又は141はそのOPコ
ード部分を復号して、命令の長さ(即ち、命令が
単ワード、2倍ワード、3倍ワードのどれからな
るか)を含むOPコード記述(OPCDDSCR)情
報を提供する。命令全体が(I CACHEデータ
ストア130から)復号ロジツクへ与えられた
時、信号SET IDR VIDが生成されてIDR/シフ
ター制御装置137(第102図)に信号IDR
VLDを生じる。復号プロセスに続いて、マクロ
命令が基本命令か拡張命令かに従つて、開始マイ
クロ・アドレスが復号PORM140と141の
いずれかからSTμADレジスタ144へロードさ
れる。STμADレジスタ64のローデイングの制
御はSTμADロード制御装置145に常駐する。 変位ワード(単数又は複数)が存在する場合
は、第104図に示される如く変位ロジツク14
6から抽出されるIDR B又はCに通常存在する
(あるNova命令に対しては、他の殆んど全ての
命令変位がIDR BおよびIDRから抽出されるが、
IDR Aからバイト変位が抽出される)。変位は必
要に応じて符号又は零拡張され、以下に述べるよ
うにALU装置において使用されるため直接論理
アドレス(LA)バス又はCPDバスにとつて使用
可能になるようにその変位レジスタにクロツクさ
れる。 開始マイクロ・アドレスがSTμADレジスタ1
4にクロツクされた時、信号UPDATEがIP状況
ロジツク装置138(第102図)により発され
てIDR/シフター制御装置143に対し復号情報
が使用されてIDR140/141からシフト可能
であることを通知する。直線状復号操作における
不連続性が生じる迄それ以降のマクロ命令の復号
が継続する。直線状操作における飛越しが生じる
と、新らしいプログラム・カウンタ・アドレス
(LA4〜31)が論理アドレス・バスからのプログ
ラム・カウンタ・レジスタにおくことができるよ
うにマイクロ順序付け装置が命令処理装置のプロ
グラム・カウンタ・レジスタ147(第20図)
に対し信号IPSTRTを発する。開始マイクロ・
アドレス・レジスタ144がリセツトされ、例え
ば適当な待機ルーチンの開始マイクロ・アドレス
は新らしいプログラム・カウンタと関連する命令
に対する復合プロセスが開始できる迄その内部に
おかれる。 ある状態においては、復号されつゝある一連の
マクロ命令が1つ以上の物理的ページに存在す
る。I CACHE制御装置がI CACHEデー
タ・ストア130に記憶されるページの終りを検
出する如き条件下では、次のページI CACHE
ストア130に取出して新らしいページにおける
先取り操作を続行するために特殊なルーチンが含
まれねばならない。このように、特定のページの
最終命令が復号されて復号パイプラインが有効に
空になる時、要求される新らしいページをアクセ
スして命令処理装置がマクロ命令の復号と共に続
行し得るように、物理的ページ・レジスタ134
を介して次のページがI CACHEストア130
にロードされることを可能にする適当なページ制
御ルーチンの開始マイクロ・アドレスで開始マイ
クロ・アドレス・レジスタがロードされる。 もしマクロ命令がI CACHEストア130に
含まれるページ上になければ、命令処理装置にお
けるI CACHEの「外」の故に、適正なページ
がシステム・カツシエと主記憶装置のいずれから
アクセスされねばならない。システム・カツシエ
に対するアクセスは、アドレス変換装置(ATU)
により使用されるものと同じシステムカツシエ入
力ポートにおいて行われる。しかし、本発明のシ
ステムにおいては、I CACHEはATUよりも
低い優先順位が与えられ、そのためもしATUが
システム・カツシユのアクセスを欲しても、
ATUがそのアクセスを完了する迄命令処理装置
はそのアクセス要求を保持しなければならない。 本文に述べる如きI CACHEロジツクの使用
は、短い分岐を逆方向に用いるプログラムにおい
て非常に有利となる。もしマクロ命令分岐変位が
I CACHEデータ・ストアにおけるワード数よ
り少ければ、所要のマクロ命令は依然としてI
CACHEデータ・ストアに局部的に記憶されてこ
れ以上のシステム・カツシエ又は主記憶装置の照
合は不必要となる機会は十分である。 特定の実施態様においては、例えば、I
CACHEロジツク120全体はデータ・ストア1
30の1セツトの直接マツプされた256の2倍
ワード列、プラスタツグ・ストア131と妥当性
ストア132におけるタツグおよび妥当性ビツト
を含み得る。データは整合された2倍ワードとし
てデータ・ストアに入れられ、I CACHEデー
タ・ストアは、第105図に示された命令カツシ
エ・ポインタ(ICP)装置150からのビツト
ICP23〜27および装置139からのビツト
ADR28、29、30を含む8つのビツトでアドレス
指定される。 命令処理装置のI CACHE装置のタツグ・ス
トア131のコピーは又はシステム・カツシエに
も保持され、後者のカツシエはデータがI
CACHEに書込まれた時命令処理装置に通知でき
るようにこの情報を必要とする。 妥当性ストア132は、例えば、ある特定の実
施例においては、I CACHEデータ・ストアに
おける各2倍ワードの妥当性を表示するため64の
2倍ワード×4妥当性ビツトの如く構成される。
命令ワードの新らしいブロツクの各々の初期取出
しは2倍ワードに対する対応する妥当性ビツトを
セツトし、残りの3つの妥当性ビツトをリセツト
する。同じブロツクへの先取り操作の間、先取り
2倍ワードに対する対応する妥当性ビツトがセツ
トされ、残りの3つの妥当性ビツトは同じ状態を
維持する。ブロツクにおける最終2倍ワードが不
必要なシステム・カツシエの障害を避けるため先
取りされる時、先取り操作は停止する。 もしI CACHE操作が物理的ページの終りに
達しプログラム・カウンタ(PCビツト4〜21)
の次の論理ページに対する次の物理的ページ・ア
ドレスを得ることが必要となる如きものであれ
ば、I CACHE制御論理装置136(第102
図)は、STμADロード制御ロジツク145(第
103図)に与えられる信号(信号ICATとして
識別)を存続させる。その時のページの終りにお
ける最終のマクロ命令が復号された時、STμAD
ロジツク145はICATマイクロコード・ルーチ
ンに対する開始マイクロ・アドレスを与え、この
ルーチンはこれと同時にI CACHEデータ・ス
トア130に対する次の物理ページの転送のため
必要なアドレス変換装置を許容する。 命令処理装置は命令ストリームに対する2つの
ポインタを使用する。第1のポインタは実行中の
命令の論理アドレスを保持するプログラム・カウ
ンタ・レジスタ147(第104図)であり、第
2のポインタは復号ロジツクに必要な次のマクロ
命令の論理アドレスを保持する命令カツシエ・ポ
インタ(ICP)150(第106図)である。別
のレジスタPICP152(物理的命令カツシエ・
ポインタ)は命令カツシエ・ポインタ(ICP)の
ビツト4〜21により表示される論理ページの物理
的ページ・アドレスを保持する。このため、
ICP150は先取り論理アドレス・ポインタとして
機能し、PICPは先取り物理的アドレス・ポイン
タとして機能する。プログラム・カウンタ147
とICP150は、命令処理装置の動作の開始時に
論理アドレス・バスからロードされる。復号パイ
プライン操作が充填される時、ICPはプログラ
ム・カウンタの前に増分される。I CACHE障
害又は「外れ」と同時にPICP物理的アドレスは
メモリーの照合に使用され、ICPアドレスは適正
ページの終りに達した時アドレス変換のための次
の論理ページ・アドレスにするポインタとして使
用される。 命令処理装置の動作によれば、命令が局部的に
I CACHEにおいて使用可能である時最適の性
能が得られ、これによりこの命令はマイクロ順序
付け装置がこの命令を要求する時略々即時に使用
可能となる。I CACHEにおいて局部的に使用
可能でない命令は、システム・カツシエ・アクセ
ス操作およびページ障害ルーチン操作に依存する
時間量を要する。 マクロ命令復号ロジツクは前述の如くIDR A、
IDR B、IDR Cフイールドとして識別される3
つの16ビツト・フイールドを使用する。「A」の
フイールドはOPコードを含むが、「B」と「C」
のフイールド「A」フイールド又は命令ストリー
ムにおいて追従するマクロ命令の1つ以上のフイ
ールドにおける命令に対する変位を含む。命令復
号レジスタIDR142は、もし可能ならば、3つ
のIDRフイールドのどれかが空である時、I
CACHE(ICP制御装置136)に対してワード要
求に送ることにより3つの全てのフイールドを充
満状態に保持するように構成される。前述の如
く、もしI CACHEワード要求がI CACHE
の「外れ」を結果として生じるならば、システ
ム・カツシエ取出しが開始される。 命令復号レジスタ142の「A」フイールドは
復号ロジツクPROM140又は141によつて
使用されてマクロ命令のOPコードを復号し、又
要求されるマクロ命令の開始アドレスを提供す
る。 「B」および「C」フイールドはもしあれば要
求される変位の判定する。各フイールドは長さが
1ワードであり、従つて命令処理装置が変位を復
号して正規化し得る最も長い命令は3ワードの最
大長さを有する。 命令復号レジスタのAフイールドが充填状態で
ある時、復号PROM140又は141は命令の
OPコードを復号する。OPコード、プラグ変位を
含む命令全体が命令復号レジスタにあるならば、
信号IDR VLDがIDRシフター制御ロジツク13
7により存続させられて、STμADレジスタ14
4に対する開始マイクロ・アドレスを与えるよう
に命令全体が復号される用意があることをIP状
況ロジツク138に通知する。変位を抽出する変
位ロジツク146は必要に応じてこれを符号拡張
又は零拡張し、次にこれを変位レジスタにロード
する。もし変位の指標がALU盤上にあるならば、
変位はラツチ装置153を介してCPDバスに与
えるためこれに対してラツチされる。変位の指標
がPCレジスタ147であるならば、変位は加算
器148におけるPCビツトに加えられ、第10
4図に示す如くラツチ149を介して論理アドレ
ス・バスに与えられる。 前記ローデイング・プロセスの間、命令復号レ
ジスタ142は、次の命令即ち1又は2又は3ワ
ードのシフトを受取る用意のできるように復号さ
れた命令の長さによつてシフトされる。IDRシフ
ター装置143は命令復号レジスタ142の内容
のこのようなシフトを提供するように作用する。
3ワードのシフトは、例えば、I CACHEから
(又はI CACHEの「外れ」と同時に直接メモ
リーから)次の命令を受取る用意のある命令復号
レジスタを完全に空にする。例えば、シフター
は、I CACHEからアクセスされた2倍ワード
命令のどちらかのワードを直接命令復号レジスタ
のどこかにロードさせる。IDR142における位
置決めはIDRの妥当ビツトの検査によつてなされ
る。このように、もし「A」フイールドが無効で
あれば、入力命令データが「A」のフイールドに
ロードされる。命令復号レジスタ142における
3つのフイールドのどれかが空である時に常に、
そのビツト23〜27がI CACHEにおけるどの2
倍ワードがアクセスされるかを一義的に判定する
I CACHEポインタ(ICP)150により判定
される如き次の命令のアクセスのためI
CACHE制御ロジツク136を介してワード要求
がI CACHEになされる。もしこの命令が単ワ
ード命令であるならば、取出し要求から得たICP
ビツト28〜30およびICP Xビツト28〜30が、ワ
ード・ポインタ・ロジツク139(第102図)
に示す如き命令として2倍ワードのどのワードが
使用されるべきかを一義的に決定する。 もし命令復号レジスタ142が少くとも2つの
フイールドを空にし、ワード・ポインタ偶数の2
倍ワードを指示するならば、この2倍ワードは
IDRの2つの空のフイールドにロードされること
になる。ローデイングの後、I CACHEポイン
タ150はこれが次の2倍ワードを指示するよう
に増分されることになる。もしIDRが唯1つの空
のフイールドしかもたず、ワードポインタが偶数
の2倍ワードを指示するならば、第1のワードは
IDRにロードされ、ワード・ポインタは2倍ワー
ドの第2のワードを指示するように送られ、I
CACHEポインタは同じ状態を維持する。ワード
ポインタが第2のワードを指示する時、唯1つの
ワードがI CACHEからアクセスすることがで
き、命令復号レジスタにロードされる。 復号ロジツクは、2セツトの復号PROM14
0と141の内の一方における場所を選択するた
め使用される事前復号ロジツク154(第103
図)を使用する。前述の如く、1セツトの
PROM140は1セツトの基本命令(例、
Nova/Eclipse命令)を保持し、第2のセツトの
PROM141は拡張命令(例、Eagla命令)を保
持する。基本セツトの復号PROM140に対す
る復号プロセスは2つの段階で行われ、第1のレ
ベルは、復号ロジツク140がOPコードを復号
して適正な形態とシーケンスを変位情報により使
用可能であるように基本マクロ命令を適正形態に
おくため使用されるシケターの出力側で事前復号
ロジツク154において実施される。このような
ロジツクは第122図に更に詳細に示される。拡
張されたセツトに対する命令は既に所望の形態に
あつて、復号PROM141に与えられる前に事
前に復号される必要はない。いずれの場合も各入
力マクロ命令が復号PROM140又は141の
選択された一方の少くとも1つの場所にマツプし
てマイクロ順序付け装置に対して与えるための所
要のOPコード記述子および所望の開始マイク
ロ・アドレスを生じる。 復号PROM140(例、Nova/Eclipse)又
は復号PROM141(例、Eagle)の出力を選択
する判定はIDR Aの選択されたビツト(例、前
述の如く、ビツト0、12〜15)を検査することに
よりなされる。前述の如く、復号PORMの選択
は前のシステムにおける如く別個に表示された
「モード」ビツトによつては決定されず、従来の
プロセスでは復号操作を相互に排他的なものにす
る。対照的に、本システムは適当な復号操作の選
定において命令単位でこのような操作を行うが、
これは各命令がこのような復号の選択を決定する
のに必要な情報を本来自ら保持しているためであ
る。 第101図乃至第106図に関して先に述べた
操作を行うため命令処理装置のブロツク図を構成
する特定の論理回路は第107図乃至第136図
に示される。I CACHEデータ・ストア130
およびI CACHEデータ・ストア・アドレス入
力ロジツクはそれぞれ第107図および第108
図に示され、メモリーからカツシエ・ブロツク・
ワードを供給するCMPレジスタ134は第10
9図および第109A図に示される。I
CACHEタツグ・ストア131は又第109B図
および第109C図に示され、I CACHE妥当
性ストア132は妥当性ストア・アドレス入力と
共にそれぞれ第110図と第111図に示され
る。コンパレータ133と信号SET IDR VLD
を与えるロジツクは第112図に示される。 第113図はIDRシフター143を示し、IDR
シフター制御ロジツク137は第114図に示さ
れる。命令復号レジスタ(IDR)装置142は第
115図に示され、図示の如くIDRセクシヨン
A、B、Cを含む。 I CACHE論理回路に関しては、第106図
のI CACHEポインタ(ICP)ロジツク150
およびICP論理アドレスドライバ・ロジツクは更
に詳細に第116図および117図にそれぞれ示
される。第105図のI CACHEポインタ先取
り要求制御ロジツク151および物理的ICP変換
レジスタ152はそれぞれ更に詳細に第118図
および第119図に示される。他の汎用I
CACHE制御ロジツクは更に第120図に示され
る。 第103図に示す如きCPDバスからIDR Aへ
入力FASO0〜15を与えるドライバ・ロジツクは
第121図に示され、命令先取りロジツクおよび
そのための制御が第122図に示される。有効に
STμADレジスタ144を含む擢号PROM140
と141は、IP状況ロジツク138と共に第1
23図に示される。回路マイクロ・アドレス制御
ロジツク145は詳細に第124図に示される。 命令処理装置の変位およびプログラム・カウン
タ部に関して変位ロジツク146が第125に示
され、これに関連する変位マルチプレクサは第1
26図に示される。信号拡張(SEX)ロジツク
は第127図に示され、零/1拡張ロジツクは第
128図に示される。第129図は第104図の
変位増分バツフアを示し、変位ラツチおよびドラ
イバ153は第130図に示される。第131図
はプログラム・カウンタ・レジスタ147および
第104図のCPDバス・ドライバを示し、加算
器148およびPC+DISPラツチおよびドライバ
装置149はそれぞれ第132図および第133
図に示される。プログラム・カウンタクロツク・
ロジツクは第134図に示される。 汎用命令処理装置のタイミング兼制御論理回路
は第135図に示された、システム・カツシエ1
7をインターフエースする命令処理装置12に必
要なシステム・カツシエ・インターフエース・ロ
ジツクは第136図に示される。 マイクロ順序付け装置 マイクロ順序付け装置の主要機能は、マイクロ
順序付け盤上のランダム・アクセス・メモリー
(RAM)記憶装置に与えられる開始マイクロ・
アドレスからマイクロ命令を生成することで本文
に説明する本発明のシステムの特定の実施態様の
ためのマイクロ順序付け装置盤の全体ブロツク図
は第137図および第138図に示される。明ら
かなように、RAM記憶装置はマイクロ制御記憶
装置170として識別され、4K80ビツト以下
(79ビツトプラス1パリテイ・ビツト)のマイク
ロ命令を記憶することができ、説明するシステム
に必要な全てのマイクロ命令を記憶するに十分で
ある。マイクロ命令は、最初適当な制御盤インタ
ーフエース論理装置171を経て適当な制御盤か
ら記憶装置170に対して適当にロードすること
ができる(即ち、システムの使用前に)。一たん
全マイクロ命令セツトがマイクロ制御記憶装置1
70にロードされた後、制御盤インターフエー
ス・ロジツクは、もしマイクロ命令が変更され
ず、あるいは別のマイクロ命令が記憶されなけれ
ば、もはや使用される必要はない。マイクロ命令
に対するアドレスはマイクロ順序付け装置盤に対
するRA入力側に与えられる。 一たん全マイクロ命令セツトがマイクロ制御ス
トア170にロードされると、本システムは命令
処理装置12により決定される如くマイクロ命令
を実行する用意があり、この処理装置は前述の如
くマイクロ命令ルーチンに対する開始マイクロ・
アドレス(STμAD)を提供する。第137図に
示される如く、開始マイクロ・アドレス
(STβAD)はバツフア172とAND回路173
を介してマイクロ制御ストア170のアドレス入
力側に与えられる。開始マイクロ・アドレスはマ
イクロ制御ストアの適当な場所における開始マイ
クロ命令を選択し、どんなデータ処理システムに
対して命令を供給する場合と同様な方法でこのよ
うな命令を必要とする諸操作に含まれる全データ
処理システム内の適当な場所に対して、バツフア
174を介して前記命令と関連する制御信号を供
給する。 マイクロ順序付け装置は、その時のマイクロ命
令の「次のアドレス制御」フイールド(NAC0〜
19)の適当な復号を介して次の順位のマイクロ命
令(もしあれば)を必要とする次のアドレスを決
定する。これ迄に説明した特定の実施例における
のこのフイールドは、マイクロ制御ストアから得
た80ビツトのマイクロ命令の20ビツト・フイール
ドである。NACフイールドばNAC復号ロジツク
175により適当に復号されて次のマイクロ・ア
ドレスを得るのに必要な制御信号(その内のいく
つかは識別される)を提供する。この復号プロセ
スは、1つのモードにおいて条件付きの1であり
得、即ちこの場合NACフイールドの復号はもし
あればどの条件が真であるかを判定するため適当
にテストされねばならない複数の可能性のある条
件の内の1つを条件とする。例えば前に説明した
特定の実施例においては、各々がテスト可能な合
計64条件に対して8つの条件を表わす8つのテス
ト信号がある。あるいは又、別のモードにおいて
次のマイクロ・アドレスの選択は関与する64条件
のどれかを条件とすることができない。適当なテ
ストの後、ADDRマルチプレクサ装置176を
介してマイクロ制御ストア170に与えるため、
復号および条件テスト・ロジツク182によつて
決定される如くアドレスが4つのソースの内の1
つから選択される。復号兼条件テスト・ロジツク
182は更に詳細に第138図に示される。 このように、アドレス・マルチプレクサ出力
は、(μPC+1)装置177と、前のマイクロ命
令(RA4〜15)を受入れ、これを1だけ増分し、
これをアドレス・マルチプレクサ装置176の入
力側に与える増分ロジツク178とから得る如き
1だけ増分される前のマイクロ・アドレスを表わ
す次の順位のプログラム・カウンタ・アドレス
(μPC4〜15)から選択することができる。 あるいは又、次のマイクロ・アドレスは、スタ
ツクRAM記憶装置179に記憶された特定のマ
イクロコード・ルーチンに対する複数のマイク
ロ・アドレスの一時的記憶から得ることができ、
次のアドレスは直接スタツク頂部(TOS)レジ
スタ180を介してスタツク頂部(TOS4〜15)
におけるアドレスとして与えられる。あるいは
又、スタツク頂部のアドレスは既にスタツクから
アクセス(ポツプ)され、TOS保管レジスタ1
81(特に、割込みプロセスの後全文脈の復元に
使用される)における前の操作において保管さ
れ、その結果次のマイクロ命令アドレスはSTOS
レジスタに以前に保管されたスタツクデータの頂
部(STOS4〜15)から代替的に得ることができ
る。 アドレス・マルチプレクサに対する次のマイク
ロ・アドレスの別のソースは第138図に更に詳
細に示した復号兼条件テスト・ロジツク182か
らの絶対アドレスでもよく、このアドレスはマイ
クロ命令ワード自体により指定され、あるいはこ
のアドレスをマイクロ順序付け装置に対して送出
するマイクロ順序付け装置盤に対して外部の別の
ソースから、即ちその選択されたビツトがその時
のマイクロ命令からの絶対アドレス・ビツトと適
当に連結されて次のマイクロ・アドレスを形成す
ることができアドレス変換装置(ATU)又は演
算論理装置(ALU)からのビツトにより識別可
能な絶対アドレスでよい。第138図に示される
如く、後者のビツトは適当なレジスタ183と1
84(第138図参照)を介してATU指名
(ATUD)レジスタ183におけるATU又は
CPDレジスタ184におけるCPDバス上のALU
から受取ることができる。このように、第138
図から判るように、このようなビツト
(ATUD13〜14およびCPD20〜31)はNACビツ
ト0〜2、8〜19により識別されるマイクロ命令
自体からのビツトと連結されて連結論理装置18
5によつて5つの可能なマイクロ・アドレスを形
成することができる。5つの連結されたアドレス
の1つは指名マルチプレクサ装置186において
選択可能であり、これと同時にアドレス・マルチ
プレクサ176に対して与えることが可能であ
る。 次の可能なマイクロ・アドレス(TOS4〜1
5又はSTS4〜15)に対する所要スタツク・
データを得るため、適当なスタツク・ポインタ・
ロジツク187とスタツク制御ロジツク188が
スタツクRAM装置179と共に使用される。ス
タツク・ポインタ・ロジツク187を介して与え
られるスタツク・アドレスは一連のマイクロ命令
アドレスの場所を決定し、このマイクロ命令アド
レスはマイクロコード・ルーチンのため必要であ
り、そのシーケンスは既にスタツク・マルチプレ
クサ装置189を介してスタツクに与えられ、そ
の入力はその時処理中のマイクロ命令からの絶対
アドレス(AA4〜15)として、あるいはマイ
クロプログラム・カウンタ77(μPC+1)か
ら、又はCPDバスを介して指名されたALUソー
ス(CPD20〜31)から、又は以前に保管レ
ジスタ190に保管されたアドレス(AD4〜1
5)から得られるアドレスとして得られる。 スタツクRAM記憶されたマイクロコード・ル
ーチンが完了した時にこのスタツクは空になり、
スタツク・ポインタ・ロジツク187からの
STKMT信号は、新らしい開始マイクロ・アド
レス(STμAD)が次のマイクロ命令即ちそのシ
ーケンスのを提供するため必要とされることを表
示するよう命令処理装置に対して与えるため
IPOP検出兼ラツチ・ロジツク191の出力側に
適当なIPOP OUT信号を生じる。 条件付け飛越し命令(CJMP)において同じこ
とを示すマイクロ順序付け装置の作用の簡単なな
一例として、次のマイクロ命令のアドレスが、条
件が真ならばマイクロプログマウが飛越しを行わ
ねばならないタスク指名マルチプレクサからの絶
対アドレスとして、あるいは条件が真でなければ
マイクロプログラム・カウンタ(PC+1)から
の次の順位のプログラム・アドレスとして与えら
れるものと仮定しよう。例えば、もしその時のマ
イクロ・アドレスがマイクロ制御ストア170の
選択された場所(例、場所「100」にあるものと
すれば、次のマイクロ・アドレスは、条件が真で
なければ次の順位のプログラム・カウンタ・アド
レスにより示される場所(例、場所「101」とな
るか、条件が真であれば指定された絶対アドレス
(例、場所「500」)への飛越しとなる。マイクロ
順序付け装置が2つの場所のどちらか、即ち絶対
アドレス(ADD4〜15)又はマイクロプログ
ラム・カウンタ・アドレス(μPC4〜15)のど
ちらかが選択されるかを判定するために、条件が
「真」であるかどうかの判定のためテストされね
ばならない。 もしこの条件のテストが条件アウト・ロジツク
192における真を見出すならば、絶対アドレス
(AAD4〜15)はアドレス・マルチプレクサ1
76からの適正なアドレスとして選択され、もし
この条件が真でなければ、次のマイクロプログラ
ム・カウンタ・アドレス(μPC4〜15)が選択
される。テスト・ロジツク198は第138図に
示される。 これ迄に説明した第137図と第138図のブ
ロツク図に示される如きマイクロ順序付け装置1
3の構成のための特定の論理回路は第139図乃
至第153図に示される。スタツク・ラム179
と、スタツク・マルチプレクサ189と、スタツ
ク・ポインタ装置187と、スタツク頂部装置1
80を含むスタツク・ロジツク回路は特に第13
9図に示される。スタツク保管頂部装置181は
第140図に示される。アドレス・マルチプレク
サ176は第141図に示され、アドレス保管レ
ジスタは第142図に示され、マイクロ制御スト
ア170にアドレスを提供するアドレス・ロジツ
ク173は第143図に示される。第144図は
開始マイクロ・アドレス(STμAD)ドライバ装
置172を示す。増分されたマイクロプログラ
ム・カウンタ(μPC+1)装置177と増分装置
178は第145図に示される。 マイクロ制御ストア170は特に第146図*
に示され、次のアドレス制御(NAC)復号論理
回路175は特に第147図に示される。パリテ
イ・ロジツクは第148図に示される。 (注)*第146A図乃至第146F図および第
146.7A図乃至第146.7F図 特に第138図に示される復号兼条件テスト論
理回路182に関して、このような回路を構成す
る特定の論理回路は第149図乃至第153図に
示される。このように、連結ロジツク185とタ
スク指名マルチプレクサ186は第149図に示
され、CPDマルチプレクサ197は第150図
に示され、6ビツト・カウンタ196は第151
図に示され、8フラツグ装置193は第152図
に示され、テスト0およびテスト1マルチプレク
サ194は条件マルチプレクサ195と条件出力
装置192は全て第153図に示される。 演算論理装置 マイクロ命令ワードの書式について詳細に論述
する前に、当業者にとつて周知の全体的構成を有
する典型的な演算論理装置のブロツク図を示す第
153図について論述すれば助けになろう。同図
に示される如く、演算論理操作を行うALU装置
200は、それぞれ1対のマルチプレクサ201
と202から提供される入力RおよびSで識別さ
れる2つの入力を有する。マルチプレクサ202
に対する入力はレジスタ・フアイル203の出力
AおよびBから得られる。第3の入力は全ての31
ビツト位置において零をマルチプレクサに与える
ソースから得ることができ、第4の入力はQレジ
スタ204から得ることができる。 レジスタ・フアイル203は16ビツトと32ビツ
トのレジスタを含み、4個の固定小数点レジスタ
(ACC0〜3)と、4個の浮動小数点レジスタ
(FPAC0〜3)と、8個の盤要レジスタ(GR0〜
7)を含む。ALU200に対してAおよびB入
力を与えるため適当なレジスタの選択は、以下に
更に詳細に論述するように、マイクロ命令フイー
ルドのARE0〜7およびBREG0〜3ビツトによ
つて決定される。マルチプレクサ201の入力
は、マルチプレクサ202に関して論述するよう
に、レジスタ・フアイルのA出力、又はDバス2
05、又は全て零入力から得られる。ALU20
0の出力は、その出力とレジスタ・フアイル20
3のAターミナルから直接与えられる出力のいず
れかを選択するマルチプレクサ206に与えられ
る。マルチプレクサ206の出力は、もし計算が
アドレス計算であれば論理アドレス・バスへ与え
ることができ、又は選択された内部のレジスタに
書戻すためレジスタ・フアイル203に、又はQ
レジスタ204へ、又は演算論理盤上の複数の他
の装置へ与えることができ、これ等装置の主な例
としては、シフター装置207又はデータ・スト
ア・レジスタ208からあるいは直接Dバス20
5又は記憶データ・バスに対するものとして識別
される。シフターの出力はDバスに与えられ、デ
ータ・ストア・レジスタ208はデータをCPD
バスへ、又はCPDレジスタ209を介してDバ
スへ与える。Dバスに与えられたデータは、マル
チプレクサ201を介してそれ以降の演算操作又
は論理操作において使用することができる。この
システムの他のソースも又必要に応じてデータを
Dバス205に与える。第154図に示す如く、
演算論理装置盤11の全体的形態は、以下に論述
するマイクロ命令の理解に役立とう。 マイクロ命令の書式 マイクロ順序付け装置13に関して既に述べた
ように、そのマイクロ制御ストア170は80ビツ
トのマイクロ命令を提供し、その書式は以下に示
される。 書式全体は18のフイールドからなり、その1フ
イールドは将来の使用のための予約ビツトとして
器用可能な5ビツトを有する。使用される17のフ
イールドは以下に説明する。 次のアドレス制御フイールド(NAC0〜19) マイクロ順序付け装置の構造および作用につい
て既に論議した如く、マイクロ命令書式の最初の
20ビツトは次のマイクロ命令に対するアドレスの
選択を制御するためのフイールドを含み、このア
ドレスは「条件付き」アドレス即ちその選択がテ
ストされ指定条件が真であるか偽であるかに依存
するアドレス、又は「無条件」アドレス即ちどん
な条件とも無関係に選択されるアドレスのいずれ
かである。 条件付きアドレスの選択のためのマイクロ命令
のNACフイールドは、指定された条件が真か偽
かを判定するため64迄の条件のどれかをテストさ
れねばならないかを識別する6ビツトのテスト・
フイールドを保有する。条件付きアドレスの選択
のためのNACフイールドの基本的書式は以下に
示す。即ち、 テスト可能な条件は演算論理装置、アドレス変
換装置、命令処理装置、マイクロ順序付け装置自
体の動作に関する条件、又は入出力(I/O)の
条件と関連し得る。典型的な条件の一例として、
別表3の本文に説明した特定のシステム設計にお
いてテスト可能であり、ALU、ATU、IPおよび
マイクロ順序付け装置に関するテストならびにあ
るI/Oテストを含む53の条件を列挙する。 種々のタイプの条件付きアドレスが以下に論理
する如く選択可能であるが、マイクロ順序付け装
置ロジツクの広範囲のブロツク構成を示す第33
図および第34図に関して以下の論議を考察する
ことが役立とう。 第1の条件付きアドレスは条件付きの絶対アド
レス、即ちタスク指名マルチプレクサ186によ
り適当に選択されて第4図に示す如くアドレス・
マルチプレクサ176に与えられる絶対アドレ
ス・ビツトAA4〜15を用いるアドレスである。 このような条件付き絶対アドレスに対する書式
は、モード・ビツト、極性ビツトおよびテスト・
ビツトについて前に示したものと同じ書式を用
い、10の絶対アドレス・ビツトはその最初の2ビ
ツト(時に「ページ・ビツト」と呼ばれる)とし
てその時のマイクロプログラム・カウンタの最上
位ビツトを連結することによつて完全2ビツトに
拡張される。条件付き絶対アドレスは別表4(そ
の「条件付き絶対アドレス」参照)に記載される
如き5つの異なるモードに使用することができ
る。「条件付き飛越しコード」(CJMP)の如きモ
ードの一例は以下に例示的に要約することができ
る。 モード ―――― 000 簡略記号 ――――― CJMP 説明 ――――――――― 条件付き飛越し 真の動作 ――――――― PC←AA(10) 偽の動作 ―――――――― PC←PC+1 このような条件付き飛越しモードに対しては、
もし指定されたテスト条件が真であれば、2つの
ページ・ビツトで連結された10の絶対アドレス・
ビツトは絶対アドレス・ビツトAA4〜15を形成
し、このアドレスはこの時アドレス・マルチプレ
クサ176において選択される(第33図および
第34図)。もしこのような指定された条件が偽
ならば、選択されたアドレスは1だけ増分された
その時のプログラムカウンタ・アドレス(即ち、
μPC+1)である。「条件付き絶対アドレス」の
書式に対する他のモードは別表4に示される。 別の条件付きアドレスは条件付きタスク指名ア
ドレスであり、この場合アドレス・ビツトの一部
はマイクロ順序付け装置に対して外部のソース
(例えば、演算論理装置又はアドレス変換装置等)
から得られ(又は指名され)、このタクス指名ビ
ツトは第34図に示す如く最初の8つの絶対アド
レス・ビツト(AA0〜7)のあるもの又は全て
と連結することができる。このような条件付きの
タスク指名アドレスに対しては、下記の書式が使
用される。即ち タスク指名ビツトが得られるソースは4つの異な
るソースの識別に対する2つのDRRCビツトによ
つて識別される。 このように、アドレスは、以下に示す如く
CPDバスの下位の8ビツトによる形成された絶
対アドレスの下位の8ビツトの直接の置換により
形成できる。 あるいは又、アドレスは以下に示す如く、
CPDバスの下位の4ビツトによる形成された絶
対アドレスの下位の4ビツトの直接の置換によつ
て形成することができる。即ち、 あるいは又最後に、アドレスは形成された絶対
アドレスの下位の3ビツトの最下位ビツト位置に
零を有するアドレス変換装置の妥当性指名からの
2ビツトによる直接置換によつて以下の如く形成
できる。即ち、 あるアドレスは、増分されたプログラムカウン
タ・アドレス又はスタツク・アドレス頂部(スタ
ツクの頂部は適当にポツプされ、又はアドレスが
使用される時除去される)のいずれか一方の使用
を必要とし、この目的のため下位の12ビツト
(NAC−19)はアドレス生成プロセスに含まれる
必要がない。従つて、このような8ビツトは必要
に応じて他の目的のため使用可能である。そのた
めの書式は以下に示す。即ち、 このような3つの特殊な条件アドレス選択の説
明は別表4でLCNT、CPOPおよびLOOPとして
更に詳細に示される。 あるアドレスは含まれる8つのフラツグのセツ
テイングに関連して選択でき、このようなフラツ
ク制御指令は下記の書式に従つてNACフイール
ドにより識別可能である。即ち、 別表4(これに記載されたフラツグ制御参照)
に示される如く、各々がPOPビツトにより識別
されかつ各々が2つのSETビツトにより識別さ
れる4つの異なる命令を有する2つのセツトに前
記命令が分割される。各命令は2つのフラツグの
セツテンインを含み、各フラツグは下記の如くフ
イールドCNTL1およびCNTL2に従つてセツト
される。即ち、CNTL1又はCNTL2 動 作 00 変化なし 01 「偽」にセツト 10 「真」にセツト 11 トグル動作 前記フラツグ制御の各場合において、もし指定
されるテスト条件が「真」であることが判定され
るならば増分されたマイクロプログラム・カウン
タ・アドレスが使用される(μPC+1)が、もし
この条件が「偽」であればスタツク・アドレスの
頂部が使用されてスタツクは適当にポツプされ
る。前述の如く、フラツグ制御の要約は別表4に
記載される。 NACフイールドの命令の2つは、下記の書式
に従つてスタツクをポツプすることなくスタツク
の条件付き使用を可能にする(前述のスタツクの
使用およびポツピングとは対照的に)。即ち、 2つの命令が含まれ、フラツグ制御はフラツグ
0と1のセツト又はフラツグ2と3のセツトのい
ずれかに対して行われる。SPLIT命令として識
別されるこのような命令の要約は別表4に示され
る。この別表に示される如く、もし条件が「偽」
であればスタツクアドレスの頂部が使用されるが
このアドレスはスタツクの頂部においてその侭で
ある(即ち、スタツクの頂部はポツプされない)。
最終的な条件付き命令は文脈復元命令である。こ
の命令は、例えば、障害ルーチンが構成された後
使用でき、機械をその前の状態に復元することが
必要である。これに従つて、機械の状態が復元さ
れるのみならず、テストされる条件が真であるか
偽であるかに従つて使用されるべき次のマイク
ロ・アドレスについての判定もなされる。文脈の
復元命令の書式は下記の如くである。即ち、 含まれる2つの命令の要約は別表4において文
脈復元命令として示される。 前述の条件付きアドレス命令に加えて、これ迄
に述べたシステムの特定の実施例においては、無
条件のアドレス命令も又存在する(8つの無条件
命令を用いる特定の一実施例は別表4において無
条件の命令として記載される。その書式によれ
ば、各操作モードに対して唯1つの動作しか指定
されず、選択された選択は行われる必要がないよ
うにテストされるべき条件はない。 ある絶対アドレス・ビツトとタスク指名ソー
ス・ビツト(無条件タスク指名)の組合せを用い
る無条件命令における12ビツトの絶対アドレスを
用いる無条件命令に分割可能な無条件アドレス命
令の要約は別表4に示される。 AREG、BREGフイールド これ等2つフイールドの8ビツトは、演算論理
装置におけるレジスタ・フアイルのどのレジスタ
が演算論理装置200の入力AとBを提供するた
め使用されるべきかを識別する。このように、レ
ジスタ・フアイルは16のレジスタ、即ち下記の選
択コードに従つてアキユムレータAC0〜3、浮
動小数点レジスタFRAC0〜3、又は他の汎用レ
ジスタGR0〜7の1つを選択することが可能で
ある。
ング最大化機能を用いて照合が妥当なリング照合
であるかどうかを判断し、もしそうならば、アド
レス・データを照合するページ表エントリを検査
してこのページが妥当なものかどうかを調べる。
次にもし読出し保護ビツトがこの妥当なページが
読出し可能であることを表示するならば、読出し
は実施できる。もしこの検査のどれかが保護誤り
(即ち、リング最大化誤差、妥当性誤差、又は読
出し誤差)を示すならば、読出しは出切られて適
当な障害コード・ルーチンを呼出される。同様
に、書込みアクセスおよび実行アクセスのための
保護誤りについての適当な検査も又実施可能であ
る。 前述の如き階層アドレス・スペースにおいて
は、リングを切換べる試み、即ちその時使用中の
リング以外のリング(セグメント)に対するアク
セスを得る(「リング交換」操作)試みを中介し
て確保することが望ましい。リング交換操作の実
施は下記の如く確保される。 プログラム制御命令によりリング交換を行う明
示の試みの結果としてのみリング交換の試みが生
じ、このような明示の試みは下記の条件が満たさ
れるだけで生じ得る。 (1) プログラム制御命令は、1つのサブルーチン
「呼出し」形態即ち別のリングにおけるサブル
ーチン(LCALL、別表2参照)に対するアク
セスが要求される形態、又はサブルーチン「戻
り」即ち別のリングにおけるサブルーチンがア
クセスされて元のリングへの戻り(WRTNお
よびWPOPB、別表2参照)が要求される形態
である。他の全てのプログラム制御命令(例、
JUMP)は命令に対して必要とされる有効アド
レスのリング・フイールドを無視し、この命令
は適正なセグメント内の場所への転位のみが可
能である。 (2) サブルーチン呼出し交換の方向は下位のリン
グがより高い保護順位を有する下位リング番号
に向う(即ち、リング0に向つて内方)もので
なければならず、その時の実行リングおよびサ
ブルーチン戻り交換の方向は更に上位のリング
がサブルーチンを含む呼出されたリングよりも
低い保護順位を有するより高いリング番号(即
ち、リング0から外方)に向わなければならな
い。外方向の呼出しおよび内方向への戻しは保
護障害としてトラツプされる。 (3) 有効分岐アドレスの目標セグメントは、プロ
グラム・カウンタのビツト1〜3により識別さ
れるセグメントには存在しない。 前記条件が満たされた時、外方への戻りのため
の戻りアドレスは単に通常のワード・アドレスと
して解釈されるのみである。しかし、もし前記条
件が内方の呼出しに対して満されるならば、分岐
アドレスは下記の如く解釈される。即ち、 ゲート16〜31は目的スペースにおける指定され
たセグメント(ビツト1〜3のSBR)への「ゲ
ート」として解釈される。このゲート番号は、指
定されたゲートが呼出されたセグメントにあるこ
とを検査し、この検査の結果以下に述べるように
呼出されたセグメントにおける「ゲート列」を介
して指定されたゲートと命令アドレスにおいて関
連するように使用される。 呼出されたセグメントにおけるゲート列の場所
は呼出されたセグメントの特定の場所に含まれる
ポインタによつて表示される(例、特定の実施例
においては、ポインタ場所は各セグメントにおけ
る場所34と35として指定され得る)。ゲート
列の構造は下記の如くである。即ち、 目的セグメントを照合したポインタのゲート番
号はゲート列の最初の32ビツトのビツト16〜31と
比較される。もしこのゲート番号がゲート列にお
ける最大ゲート番号より大きいかあるいはこれと
等しければ、リング交換呼出しは許されず、保護
障害が生じる(もしゲートの最大番号が0であれ
ば、関与するセグメントは1つの内方向のリング
交換呼出し操作の妥当な目的ではあり得ない)。 もしゲート番号が最大ゲート番号より小さけれ
ば、このゲート番号はその最初の32ビツトに続く
ゲート列のゲートの1つに指示するため使用され
る。指示されたゲートの内容を読出して2つの動
作を制御するため使用される。第一に、有効ソー
スは指示されたゲートのゲート・ブラケツト・ビ
ツト1〜3と比較される。有効ソースは照合され
たゲート・ビツトより小さいかあるいはこれと等
しくなければならず、もしそうならば、PCオフ
セツト・ビツト4〜31はプログラム・カウンタの
最下位の28ビツトとなり、プログラム・カウンタ
のビツト1〜3はゲート列を含むセグメントにセ
ツトされる。 前述の如くリング交換操作におけるゲートが交
換が行われるリングに対する許容されたエントリ
点であるならば、新らしいスタツクが構成され
る。このためには、リング当り1つのスタツクし
かないため、スタツク切換え操作が生じなければ
ならない。このように、新らしいスタツクが形成
できる前に、その時のスタツク管理レジスタの内
容は呼出し側のリングの指定された記憶場所に保
管されねばならない。呼出し側のスタツクはこの
時形成でき、呼出し側のスタツクからの増補は新
らしく形成される呼出し側のスタツクに複写さ
れ、この増補数はX即ちL CALL命令(別表2
参照)により指定される。最初、全ての増補の複
写がスタツクのオーバーフロー条件を形成するか
どうかを判定する適当な検査がなされる。もしそ
うならば、スタツク障害が信号され、リング交換
は許容され障害は呼出されたリング内で処理され
る。 Eclipseアドレス変換操作をエミユレートする
ため、ATUをEclipse操作モードにおくための適
当なエミユレーシヨン制御信号がエミユレーシヨ
ン制御論理装置115により示される如く要求さ
れ、この論理装置はマイクロ順序付け盤13によ
り生成される符号化命令に応答して、それについ
ての前掲の文献に記載の如くEclipseコンパレー
タの記憶管理保護装置(MMPU)と等しい16ビ
ツトのアドレスに対する操作を許容するためこの
ような信号を生成する。 第79図乃至第81図に示されるアドレス変換
装置の種々のブロツクを構造するための特定の論
理回路は第82図乃至100図に示される。第8
2図は、記憶データ・レジスタ105からのビツ
トMD18〜31が供給される変換ストア装置100
を示し、更に論理アドレス・ビツトLA15〜21の
変換から生じた変換された物理的アドレス・ビツ
ト8〜21を供給する。第82図は又、ページ表ア
ドレス・マルチプレクサ装置107および物理的
モード・バツフア装置108を示す。更に、この
図はECLIPSE MMPUエミユレーシヨン操作の
間物理的アドレス・ビツトPHY8〜21を提供する
「最終ブロツク」レジスタ装置116を含む。第
82図も又LMPデータ・レジスタを示す。第8
3図はタツグ・ストア102および保護ストア1
04を示す。タツグ・コンパレータ装置105は
第84図に示される。第85図は論理アドレス・
レジスタ101を示し、物理的アドレス・オフセ
ツト・マルチプレクサ109および論理アドレ
ス・レジスタCPDバス・ドライバ装置はそれぞ
れ第86図および第87図に示される。適当な物
理的アドレス・ビツトPHY8〜21を検索するため
の物理的アドレス・バス・ドライバ装置は第88
図に示される。 障害検出およびカツシエ・ブロツク交換トラツ
ク・ロジツクを含む保護ロジツクは第89図乃至
第92図に示され、保護ロジツク識別エンコーダ
装置110は第89図に、障害コード・ビツト駆
動装置112は第90図に、リング保護論理回路
111は第91図に示され、障害検出兼カツシ
エ・ブロツク交換ロジエツクは第92図および第
93図に示される。 妥当性ストア装置103は、これと関連する変
換パージ・ロジツクおよびマルチプレクサと共に
第94図に示される。第79の変換レジスタは第
95図に詳細に示される。照合/修飾記憶兼制御
論理装置は第96図に示され、これと関連する状
況保管駆動装置は第97図に示される。16ビツト
MMPUエミユレーシヨン制御ロジツクは第98
図に示される。 ATUタイミング・ロジツクは第99図に示さ
れ、適当なシステム・コード・インターフエー
ス・ロジツクは第100図に示される。 命令処理装置 命令処理装置(IP)12は本発明のデータ処
理システム用のマイクロ命令の取出しおよび復号
の取扱いに使用される。本命令処理装置はプログ
ラム・カウンタにおいて、かつそれに先立つて作
動し、その主要機能は、マイクロ順序付け装置1
3に与えられる各マイクロ命令用開始マイクロ・
アドレス(STμAD)の提供にある。この命令処
理装置の補助的機能は、(1)ソースおよび行先きア
キユムレータ表示の提供、(2)演算論理装置に対す
る有効アドレス計算パラメータの提供、および(3)
演算論理装置(ALU)に対するメモリー照合又
はイン・ライン・リテラル(即時)を行うための
信号又は零拡張変位の提供である。 第101図に示す如く、命令処理装置は、以下
に述べる如く命令カツシエ・ロジツク120
(ICACHE)、マイクロ命令復号ロジツク121
(第103図に示す如き命令復号レジスタを含
む)、およびプログラム・カウンタ/変比ロジツ
ク122を含む。I CACHEロジツク120
は、先取り装置として機能する。即ち、その命令
カツシエ(I CACHE)が復号のための以降の
マクロ命令のブロツクを得、このブロツクは前の
マクロ命令が実行中にメモリーから既にアクセス
される。I CACHEは、仮にこのようなマクロ
命令がマイクロ順序付け装置により即時に使用中
でなくても、以降のマクロ命令ブロツクを記憶す
る。命令処理装置の復号ロジツク121はI
CACHEからのマクロ命令に応答し、その命令コ
ード(OPコード)を復合して制御兼状況ロジツ
ク123に対するOPコード既述情報を提供し、
これから必要な情報を開始マイクロ・アドレス
(STμAD)レジスタ124に与えて所要のマイ
クロ命令の開始マイクロ・アドレスを識別する。 変位ロジツク122は、この変位に対する指標
がALU盤上にあれば、変位データをALUに与え
る。もしこの変位に対する指標がIPプログラ
ム・カウンタであれば、変位ロジツクがこの変位
情報を命令処理装置において使用可能なプログラ
ム・カウンタ情報と組合せてLAバスに与えるた
めの論理アドレスを形成する。 このように、全IP操作シーケンスにおいて、
マクロ命令がI CACHEロジツク120のI
CACHE記憶装置から復号ロジツク121に読込
まれ、このロジツクはこれと同時に命令OPコー
ドを復号し、マイクロ順序付け装置に対する開始
マイクロ・アドレスを生成する。復号および開始
マイクロ・アドレス生成プロセスの間、命令処理
装置は同時に次のマクロ命令をI CACHEから
復号ロジツクへ読込む。マイクロ順序付け装置が
第1のマイクロ命令を読出し中、復号ロジツクは
次の開始マイロ・アドレスの生成のための次のマ
クロ命令を復号する。開始マイクロ・アドレスに
おけるマイクロ命令が実行中、マイクロ順序付け
装置は次の開始マイクロ・アドレスから次のマイ
クロ命令がを読出す。その結果、パイプライン復
号および実行プロセスが生じる。 更に詳細に第102図に示される如く、I
CACHEロジツク120はI CACHEデータ・
ストア装置130と、タツグ・ストア装置131
と、妥当性ストア装置132を含む。記憶システ
ムのシステム・カツシエ17に関して記載した如
く、I CACHEの操作は実質的に、マクロ命令
の各々の所要ワードのアドレスのタツグ部分
(PHY ICP8〜21)がコンパレータ133におい
てI CACHEデータ・ストア130に記憶され
たワードのタツグ・ストア装置131に記載され
たアドレスのタツグ命令と比較される点で実質的
に類似している。更に、妥当性ストア装置は所要
のアドレスが妥当な位置であるかどうかを判定す
る。もしこのアドレスが妥当であり、又もしタツ
グの「突合せ」が生じるならば、このようなアド
レスの32ビツトの2倍ワードはI CACHEデー
タ・ストア130から復号ロジツク121へ与え
られる。 もし適当なI CACHEブロツクにおける所要
のマクロ命令がI CACHEデータ・ストア13
0に記載される(即ち、タツグの突合せが生じな
い)その時の物理的ページ(即ち、プログラム・
カウンタのその時の値の論理ページ値と対応する
物理的ページ)に存在しなければ、あるいはもし
妥当性ビツトがセツトされなければ、I
CACHEの「外れ」が生じマクロ命令を含むカツ
シエブロツクがメモリーから照合されねばならな
い。もしシステム・カツシエのアクセスも又外れ
るならば、このようなI CACHEブロツク・メ
モリー照合がシステム・カツシエ(SYS
CACHE)又は主記憶装置に対するものでよい。
アクセスされたI CACHEブロツクが取出され
るならば、その所要のマクロ命令はCPMレジス
タ134からI CACHEデータ・ストア130
に書込まれ、このブロツクは同時にバイパス経路
135を介して直接復号ロジツクへ送られる。こ
の時I CACHEロジツクはその命令ブロツクと
して取出されたページからマクロ命令の残りを先
取りし続けることができ、これ等マクロ命令がア
クセスされる時1つ宛I CACHEデータ・スト
ア130に入れる。I CACHEロジツク120
に対する制御ロジツクはI CACHE/ICP制御
論理装置136である。 第103図に更に詳細に示される復号ロジツク
は、マクロ命令のOPコード部分を復号するため
命令復号装置140と141を含む。復号装置1
40は、本システムがその拡張であるシステムに
対する元の基本命令のOPコードの復号のために
使用される。このように、前述の如く特定の実施
例においては、この基本命令はDate General
Carp.の前のNovaおよびEclipseシステムのため
のNovaおよびEclipse命令でよい。復号装置14
1は拡張された命令セツト、例えば前述の
「Eagle」マクロ命令のOPコードを復号するため
に使用される。 OPコードはレジスタの3つの記憶域を有する
命令復号レジスタ(IDR)142から与えられ、
前記記憶域の各々は1つのワードを記憶すること
ができ、IDR A、IDR BおよびIDR Cとして
識別される。各マクロ命令のOPコードはIDR A
セクシヨンに記憶され、変位はIDR Bおよび
IDR Cセクシヨンに記憶される。IDRシフター
装置143は、I CACHEデータ・ストア13
0からIDR142のIDR Aセクシヨンにアクセ
スされた命令の所要のOPコード部分をシフトし、
もし命令が存在すればその適当な変位ワードをそ
のIDR BおよびIDR Cセクシヨンにシフトす
る。IDRおよびIDRシフター装置に対する制御ロ
ジツクは第102図に示されるIDR/シフター制
御装置137である。 マクロ命令が復号ロジツクに送られた時、必要
に応じて復号装置140又は141はそのOPコ
ード部分を復号して、命令の長さ(即ち、命令が
単ワード、2倍ワード、3倍ワードのどれからな
るか)を含むOPコード記述(OPCDDSCR)情
報を提供する。命令全体が(I CACHEデータ
ストア130から)復号ロジツクへ与えられた
時、信号SET IDR VIDが生成されてIDR/シフ
ター制御装置137(第102図)に信号IDR
VLDを生じる。復号プロセスに続いて、マクロ
命令が基本命令か拡張命令かに従つて、開始マイ
クロ・アドレスが復号PORM140と141の
いずれかからSTμADレジスタ144へロードさ
れる。STμADレジスタ64のローデイングの制
御はSTμADロード制御装置145に常駐する。 変位ワード(単数又は複数)が存在する場合
は、第104図に示される如く変位ロジツク14
6から抽出されるIDR B又はCに通常存在する
(あるNova命令に対しては、他の殆んど全ての
命令変位がIDR BおよびIDRから抽出されるが、
IDR Aからバイト変位が抽出される)。変位は必
要に応じて符号又は零拡張され、以下に述べるよ
うにALU装置において使用されるため直接論理
アドレス(LA)バス又はCPDバスにとつて使用
可能になるようにその変位レジスタにクロツクさ
れる。 開始マイクロ・アドレスがSTμADレジスタ1
4にクロツクされた時、信号UPDATEがIP状況
ロジツク装置138(第102図)により発され
てIDR/シフター制御装置143に対し復号情報
が使用されてIDR140/141からシフト可能
であることを通知する。直線状復号操作における
不連続性が生じる迄それ以降のマクロ命令の復号
が継続する。直線状操作における飛越しが生じる
と、新らしいプログラム・カウンタ・アドレス
(LA4〜31)が論理アドレス・バスからのプログ
ラム・カウンタ・レジスタにおくことができるよ
うにマイクロ順序付け装置が命令処理装置のプロ
グラム・カウンタ・レジスタ147(第20図)
に対し信号IPSTRTを発する。開始マイクロ・
アドレス・レジスタ144がリセツトされ、例え
ば適当な待機ルーチンの開始マイクロ・アドレス
は新らしいプログラム・カウンタと関連する命令
に対する復合プロセスが開始できる迄その内部に
おかれる。 ある状態においては、復号されつゝある一連の
マクロ命令が1つ以上の物理的ページに存在す
る。I CACHE制御装置がI CACHEデー
タ・ストア130に記憶されるページの終りを検
出する如き条件下では、次のページI CACHE
ストア130に取出して新らしいページにおける
先取り操作を続行するために特殊なルーチンが含
まれねばならない。このように、特定のページの
最終命令が復号されて復号パイプラインが有効に
空になる時、要求される新らしいページをアクセ
スして命令処理装置がマクロ命令の復号と共に続
行し得るように、物理的ページ・レジスタ134
を介して次のページがI CACHEストア130
にロードされることを可能にする適当なページ制
御ルーチンの開始マイクロ・アドレスで開始マイ
クロ・アドレス・レジスタがロードされる。 もしマクロ命令がI CACHEストア130に
含まれるページ上になければ、命令処理装置にお
けるI CACHEの「外」の故に、適正なページ
がシステム・カツシエと主記憶装置のいずれから
アクセスされねばならない。システム・カツシエ
に対するアクセスは、アドレス変換装置(ATU)
により使用されるものと同じシステムカツシエ入
力ポートにおいて行われる。しかし、本発明のシ
ステムにおいては、I CACHEはATUよりも
低い優先順位が与えられ、そのためもしATUが
システム・カツシユのアクセスを欲しても、
ATUがそのアクセスを完了する迄命令処理装置
はそのアクセス要求を保持しなければならない。 本文に述べる如きI CACHEロジツクの使用
は、短い分岐を逆方向に用いるプログラムにおい
て非常に有利となる。もしマクロ命令分岐変位が
I CACHEデータ・ストアにおけるワード数よ
り少ければ、所要のマクロ命令は依然としてI
CACHEデータ・ストアに局部的に記憶されてこ
れ以上のシステム・カツシエ又は主記憶装置の照
合は不必要となる機会は十分である。 特定の実施態様においては、例えば、I
CACHEロジツク120全体はデータ・ストア1
30の1セツトの直接マツプされた256の2倍
ワード列、プラスタツグ・ストア131と妥当性
ストア132におけるタツグおよび妥当性ビツト
を含み得る。データは整合された2倍ワードとし
てデータ・ストアに入れられ、I CACHEデー
タ・ストアは、第105図に示された命令カツシ
エ・ポインタ(ICP)装置150からのビツト
ICP23〜27および装置139からのビツト
ADR28、29、30を含む8つのビツトでアドレス
指定される。 命令処理装置のI CACHE装置のタツグ・ス
トア131のコピーは又はシステム・カツシエに
も保持され、後者のカツシエはデータがI
CACHEに書込まれた時命令処理装置に通知でき
るようにこの情報を必要とする。 妥当性ストア132は、例えば、ある特定の実
施例においては、I CACHEデータ・ストアに
おける各2倍ワードの妥当性を表示するため64の
2倍ワード×4妥当性ビツトの如く構成される。
命令ワードの新らしいブロツクの各々の初期取出
しは2倍ワードに対する対応する妥当性ビツトを
セツトし、残りの3つの妥当性ビツトをリセツト
する。同じブロツクへの先取り操作の間、先取り
2倍ワードに対する対応する妥当性ビツトがセツ
トされ、残りの3つの妥当性ビツトは同じ状態を
維持する。ブロツクにおける最終2倍ワードが不
必要なシステム・カツシエの障害を避けるため先
取りされる時、先取り操作は停止する。 もしI CACHE操作が物理的ページの終りに
達しプログラム・カウンタ(PCビツト4〜21)
の次の論理ページに対する次の物理的ページ・ア
ドレスを得ることが必要となる如きものであれ
ば、I CACHE制御論理装置136(第102
図)は、STμADロード制御ロジツク145(第
103図)に与えられる信号(信号ICATとして
識別)を存続させる。その時のページの終りにお
ける最終のマクロ命令が復号された時、STμAD
ロジツク145はICATマイクロコード・ルーチ
ンに対する開始マイクロ・アドレスを与え、この
ルーチンはこれと同時にI CACHEデータ・ス
トア130に対する次の物理ページの転送のため
必要なアドレス変換装置を許容する。 命令処理装置は命令ストリームに対する2つの
ポインタを使用する。第1のポインタは実行中の
命令の論理アドレスを保持するプログラム・カウ
ンタ・レジスタ147(第104図)であり、第
2のポインタは復号ロジツクに必要な次のマクロ
命令の論理アドレスを保持する命令カツシエ・ポ
インタ(ICP)150(第106図)である。別
のレジスタPICP152(物理的命令カツシエ・
ポインタ)は命令カツシエ・ポインタ(ICP)の
ビツト4〜21により表示される論理ページの物理
的ページ・アドレスを保持する。このため、
ICP150は先取り論理アドレス・ポインタとして
機能し、PICPは先取り物理的アドレス・ポイン
タとして機能する。プログラム・カウンタ147
とICP150は、命令処理装置の動作の開始時に
論理アドレス・バスからロードされる。復号パイ
プライン操作が充填される時、ICPはプログラ
ム・カウンタの前に増分される。I CACHE障
害又は「外れ」と同時にPICP物理的アドレスは
メモリーの照合に使用され、ICPアドレスは適正
ページの終りに達した時アドレス変換のための次
の論理ページ・アドレスにするポインタとして使
用される。 命令処理装置の動作によれば、命令が局部的に
I CACHEにおいて使用可能である時最適の性
能が得られ、これによりこの命令はマイクロ順序
付け装置がこの命令を要求する時略々即時に使用
可能となる。I CACHEにおいて局部的に使用
可能でない命令は、システム・カツシエ・アクセ
ス操作およびページ障害ルーチン操作に依存する
時間量を要する。 マクロ命令復号ロジツクは前述の如くIDR A、
IDR B、IDR Cフイールドとして識別される3
つの16ビツト・フイールドを使用する。「A」の
フイールドはOPコードを含むが、「B」と「C」
のフイールド「A」フイールド又は命令ストリー
ムにおいて追従するマクロ命令の1つ以上のフイ
ールドにおける命令に対する変位を含む。命令復
号レジスタIDR142は、もし可能ならば、3つ
のIDRフイールドのどれかが空である時、I
CACHE(ICP制御装置136)に対してワード要
求に送ることにより3つの全てのフイールドを充
満状態に保持するように構成される。前述の如
く、もしI CACHEワード要求がI CACHE
の「外れ」を結果として生じるならば、システ
ム・カツシエ取出しが開始される。 命令復号レジスタ142の「A」フイールドは
復号ロジツクPROM140又は141によつて
使用されてマクロ命令のOPコードを復号し、又
要求されるマクロ命令の開始アドレスを提供す
る。 「B」および「C」フイールドはもしあれば要
求される変位の判定する。各フイールドは長さが
1ワードであり、従つて命令処理装置が変位を復
号して正規化し得る最も長い命令は3ワードの最
大長さを有する。 命令復号レジスタのAフイールドが充填状態で
ある時、復号PROM140又は141は命令の
OPコードを復号する。OPコード、プラグ変位を
含む命令全体が命令復号レジスタにあるならば、
信号IDR VLDがIDRシフター制御ロジツク13
7により存続させられて、STμADレジスタ14
4に対する開始マイクロ・アドレスを与えるよう
に命令全体が復号される用意があることをIP状
況ロジツク138に通知する。変位を抽出する変
位ロジツク146は必要に応じてこれを符号拡張
又は零拡張し、次にこれを変位レジスタにロード
する。もし変位の指標がALU盤上にあるならば、
変位はラツチ装置153を介してCPDバスに与
えるためこれに対してラツチされる。変位の指標
がPCレジスタ147であるならば、変位は加算
器148におけるPCビツトに加えられ、第10
4図に示す如くラツチ149を介して論理アドレ
ス・バスに与えられる。 前記ローデイング・プロセスの間、命令復号レ
ジスタ142は、次の命令即ち1又は2又は3ワ
ードのシフトを受取る用意のできるように復号さ
れた命令の長さによつてシフトされる。IDRシフ
ター装置143は命令復号レジスタ142の内容
のこのようなシフトを提供するように作用する。
3ワードのシフトは、例えば、I CACHEから
(又はI CACHEの「外れ」と同時に直接メモ
リーから)次の命令を受取る用意のある命令復号
レジスタを完全に空にする。例えば、シフター
は、I CACHEからアクセスされた2倍ワード
命令のどちらかのワードを直接命令復号レジスタ
のどこかにロードさせる。IDR142における位
置決めはIDRの妥当ビツトの検査によつてなされ
る。このように、もし「A」フイールドが無効で
あれば、入力命令データが「A」のフイールドに
ロードされる。命令復号レジスタ142における
3つのフイールドのどれかが空である時に常に、
そのビツト23〜27がI CACHEにおけるどの2
倍ワードがアクセスされるかを一義的に判定する
I CACHEポインタ(ICP)150により判定
される如き次の命令のアクセスのためI
CACHE制御ロジツク136を介してワード要求
がI CACHEになされる。もしこの命令が単ワ
ード命令であるならば、取出し要求から得たICP
ビツト28〜30およびICP Xビツト28〜30が、ワ
ード・ポインタ・ロジツク139(第102図)
に示す如き命令として2倍ワードのどのワードが
使用されるべきかを一義的に決定する。 もし命令復号レジスタ142が少くとも2つの
フイールドを空にし、ワード・ポインタ偶数の2
倍ワードを指示するならば、この2倍ワードは
IDRの2つの空のフイールドにロードされること
になる。ローデイングの後、I CACHEポイン
タ150はこれが次の2倍ワードを指示するよう
に増分されることになる。もしIDRが唯1つの空
のフイールドしかもたず、ワードポインタが偶数
の2倍ワードを指示するならば、第1のワードは
IDRにロードされ、ワード・ポインタは2倍ワー
ドの第2のワードを指示するように送られ、I
CACHEポインタは同じ状態を維持する。ワード
ポインタが第2のワードを指示する時、唯1つの
ワードがI CACHEからアクセスすることがで
き、命令復号レジスタにロードされる。 復号ロジツクは、2セツトの復号PROM14
0と141の内の一方における場所を選択するた
め使用される事前復号ロジツク154(第103
図)を使用する。前述の如く、1セツトの
PROM140は1セツトの基本命令(例、
Nova/Eclipse命令)を保持し、第2のセツトの
PROM141は拡張命令(例、Eagla命令)を保
持する。基本セツトの復号PROM140に対す
る復号プロセスは2つの段階で行われ、第1のレ
ベルは、復号ロジツク140がOPコードを復号
して適正な形態とシーケンスを変位情報により使
用可能であるように基本マクロ命令を適正形態に
おくため使用されるシケターの出力側で事前復号
ロジツク154において実施される。このような
ロジツクは第122図に更に詳細に示される。拡
張されたセツトに対する命令は既に所望の形態に
あつて、復号PROM141に与えられる前に事
前に復号される必要はない。いずれの場合も各入
力マクロ命令が復号PROM140又は141の
選択された一方の少くとも1つの場所にマツプし
てマイクロ順序付け装置に対して与えるための所
要のOPコード記述子および所望の開始マイク
ロ・アドレスを生じる。 復号PROM140(例、Nova/Eclipse)又
は復号PROM141(例、Eagle)の出力を選択
する判定はIDR Aの選択されたビツト(例、前
述の如く、ビツト0、12〜15)を検査することに
よりなされる。前述の如く、復号PORMの選択
は前のシステムにおける如く別個に表示された
「モード」ビツトによつては決定されず、従来の
プロセスでは復号操作を相互に排他的なものにす
る。対照的に、本システムは適当な復号操作の選
定において命令単位でこのような操作を行うが、
これは各命令がこのような復号の選択を決定する
のに必要な情報を本来自ら保持しているためであ
る。 第101図乃至第106図に関して先に述べた
操作を行うため命令処理装置のブロツク図を構成
する特定の論理回路は第107図乃至第136図
に示される。I CACHEデータ・ストア130
およびI CACHEデータ・ストア・アドレス入
力ロジツクはそれぞれ第107図および第108
図に示され、メモリーからカツシエ・ブロツク・
ワードを供給するCMPレジスタ134は第10
9図および第109A図に示される。I
CACHEタツグ・ストア131は又第109B図
および第109C図に示され、I CACHE妥当
性ストア132は妥当性ストア・アドレス入力と
共にそれぞれ第110図と第111図に示され
る。コンパレータ133と信号SET IDR VLD
を与えるロジツクは第112図に示される。 第113図はIDRシフター143を示し、IDR
シフター制御ロジツク137は第114図に示さ
れる。命令復号レジスタ(IDR)装置142は第
115図に示され、図示の如くIDRセクシヨン
A、B、Cを含む。 I CACHE論理回路に関しては、第106図
のI CACHEポインタ(ICP)ロジツク150
およびICP論理アドレスドライバ・ロジツクは更
に詳細に第116図および117図にそれぞれ示
される。第105図のI CACHEポインタ先取
り要求制御ロジツク151および物理的ICP変換
レジスタ152はそれぞれ更に詳細に第118図
および第119図に示される。他の汎用I
CACHE制御ロジツクは更に第120図に示され
る。 第103図に示す如きCPDバスからIDR Aへ
入力FASO0〜15を与えるドライバ・ロジツクは
第121図に示され、命令先取りロジツクおよび
そのための制御が第122図に示される。有効に
STμADレジスタ144を含む擢号PROM140
と141は、IP状況ロジツク138と共に第1
23図に示される。回路マイクロ・アドレス制御
ロジツク145は詳細に第124図に示される。 命令処理装置の変位およびプログラム・カウン
タ部に関して変位ロジツク146が第125に示
され、これに関連する変位マルチプレクサは第1
26図に示される。信号拡張(SEX)ロジツク
は第127図に示され、零/1拡張ロジツクは第
128図に示される。第129図は第104図の
変位増分バツフアを示し、変位ラツチおよびドラ
イバ153は第130図に示される。第131図
はプログラム・カウンタ・レジスタ147および
第104図のCPDバス・ドライバを示し、加算
器148およびPC+DISPラツチおよびドライバ
装置149はそれぞれ第132図および第133
図に示される。プログラム・カウンタクロツク・
ロジツクは第134図に示される。 汎用命令処理装置のタイミング兼制御論理回路
は第135図に示された、システム・カツシエ1
7をインターフエースする命令処理装置12に必
要なシステム・カツシエ・インターフエース・ロ
ジツクは第136図に示される。 マイクロ順序付け装置 マイクロ順序付け装置の主要機能は、マイクロ
順序付け盤上のランダム・アクセス・メモリー
(RAM)記憶装置に与えられる開始マイクロ・
アドレスからマイクロ命令を生成することで本文
に説明する本発明のシステムの特定の実施態様の
ためのマイクロ順序付け装置盤の全体ブロツク図
は第137図および第138図に示される。明ら
かなように、RAM記憶装置はマイクロ制御記憶
装置170として識別され、4K80ビツト以下
(79ビツトプラス1パリテイ・ビツト)のマイク
ロ命令を記憶することができ、説明するシステム
に必要な全てのマイクロ命令を記憶するに十分で
ある。マイクロ命令は、最初適当な制御盤インタ
ーフエース論理装置171を経て適当な制御盤か
ら記憶装置170に対して適当にロードすること
ができる(即ち、システムの使用前に)。一たん
全マイクロ命令セツトがマイクロ制御記憶装置1
70にロードされた後、制御盤インターフエー
ス・ロジツクは、もしマイクロ命令が変更され
ず、あるいは別のマイクロ命令が記憶されなけれ
ば、もはや使用される必要はない。マイクロ命令
に対するアドレスはマイクロ順序付け装置盤に対
するRA入力側に与えられる。 一たん全マイクロ命令セツトがマイクロ制御ス
トア170にロードされると、本システムは命令
処理装置12により決定される如くマイクロ命令
を実行する用意があり、この処理装置は前述の如
くマイクロ命令ルーチンに対する開始マイクロ・
アドレス(STμAD)を提供する。第137図に
示される如く、開始マイクロ・アドレス
(STβAD)はバツフア172とAND回路173
を介してマイクロ制御ストア170のアドレス入
力側に与えられる。開始マイクロ・アドレスはマ
イクロ制御ストアの適当な場所における開始マイ
クロ命令を選択し、どんなデータ処理システムに
対して命令を供給する場合と同様な方法でこのよ
うな命令を必要とする諸操作に含まれる全データ
処理システム内の適当な場所に対して、バツフア
174を介して前記命令と関連する制御信号を供
給する。 マイクロ順序付け装置は、その時のマイクロ命
令の「次のアドレス制御」フイールド(NAC0〜
19)の適当な復号を介して次の順位のマイクロ命
令(もしあれば)を必要とする次のアドレスを決
定する。これ迄に説明した特定の実施例における
のこのフイールドは、マイクロ制御ストアから得
た80ビツトのマイクロ命令の20ビツト・フイール
ドである。NACフイールドばNAC復号ロジツク
175により適当に復号されて次のマイクロ・ア
ドレスを得るのに必要な制御信号(その内のいく
つかは識別される)を提供する。この復号プロセ
スは、1つのモードにおいて条件付きの1であり
得、即ちこの場合NACフイールドの復号はもし
あればどの条件が真であるかを判定するため適当
にテストされねばならない複数の可能性のある条
件の内の1つを条件とする。例えば前に説明した
特定の実施例においては、各々がテスト可能な合
計64条件に対して8つの条件を表わす8つのテス
ト信号がある。あるいは又、別のモードにおいて
次のマイクロ・アドレスの選択は関与する64条件
のどれかを条件とすることができない。適当なテ
ストの後、ADDRマルチプレクサ装置176を
介してマイクロ制御ストア170に与えるため、
復号および条件テスト・ロジツク182によつて
決定される如くアドレスが4つのソースの内の1
つから選択される。復号兼条件テスト・ロジツク
182は更に詳細に第138図に示される。 このように、アドレス・マルチプレクサ出力
は、(μPC+1)装置177と、前のマイクロ命
令(RA4〜15)を受入れ、これを1だけ増分し、
これをアドレス・マルチプレクサ装置176の入
力側に与える増分ロジツク178とから得る如き
1だけ増分される前のマイクロ・アドレスを表わ
す次の順位のプログラム・カウンタ・アドレス
(μPC4〜15)から選択することができる。 あるいは又、次のマイクロ・アドレスは、スタ
ツクRAM記憶装置179に記憶された特定のマ
イクロコード・ルーチンに対する複数のマイク
ロ・アドレスの一時的記憶から得ることができ、
次のアドレスは直接スタツク頂部(TOS)レジ
スタ180を介してスタツク頂部(TOS4〜15)
におけるアドレスとして与えられる。あるいは
又、スタツク頂部のアドレスは既にスタツクから
アクセス(ポツプ)され、TOS保管レジスタ1
81(特に、割込みプロセスの後全文脈の復元に
使用される)における前の操作において保管さ
れ、その結果次のマイクロ命令アドレスはSTOS
レジスタに以前に保管されたスタツクデータの頂
部(STOS4〜15)から代替的に得ることができ
る。 アドレス・マルチプレクサに対する次のマイク
ロ・アドレスの別のソースは第138図に更に詳
細に示した復号兼条件テスト・ロジツク182か
らの絶対アドレスでもよく、このアドレスはマイ
クロ命令ワード自体により指定され、あるいはこ
のアドレスをマイクロ順序付け装置に対して送出
するマイクロ順序付け装置盤に対して外部の別の
ソースから、即ちその選択されたビツトがその時
のマイクロ命令からの絶対アドレス・ビツトと適
当に連結されて次のマイクロ・アドレスを形成す
ることができアドレス変換装置(ATU)又は演
算論理装置(ALU)からのビツトにより識別可
能な絶対アドレスでよい。第138図に示される
如く、後者のビツトは適当なレジスタ183と1
84(第138図参照)を介してATU指名
(ATUD)レジスタ183におけるATU又は
CPDレジスタ184におけるCPDバス上のALU
から受取ることができる。このように、第138
図から判るように、このようなビツト
(ATUD13〜14およびCPD20〜31)はNACビツ
ト0〜2、8〜19により識別されるマイクロ命令
自体からのビツトと連結されて連結論理装置18
5によつて5つの可能なマイクロ・アドレスを形
成することができる。5つの連結されたアドレス
の1つは指名マルチプレクサ装置186において
選択可能であり、これと同時にアドレス・マルチ
プレクサ176に対して与えることが可能であ
る。 次の可能なマイクロ・アドレス(TOS4〜1
5又はSTS4〜15)に対する所要スタツク・
データを得るため、適当なスタツク・ポインタ・
ロジツク187とスタツク制御ロジツク188が
スタツクRAM装置179と共に使用される。ス
タツク・ポインタ・ロジツク187を介して与え
られるスタツク・アドレスは一連のマイクロ命令
アドレスの場所を決定し、このマイクロ命令アド
レスはマイクロコード・ルーチンのため必要であ
り、そのシーケンスは既にスタツク・マルチプレ
クサ装置189を介してスタツクに与えられ、そ
の入力はその時処理中のマイクロ命令からの絶対
アドレス(AA4〜15)として、あるいはマイ
クロプログラム・カウンタ77(μPC+1)か
ら、又はCPDバスを介して指名されたALUソー
ス(CPD20〜31)から、又は以前に保管レ
ジスタ190に保管されたアドレス(AD4〜1
5)から得られるアドレスとして得られる。 スタツクRAM記憶されたマイクロコード・ル
ーチンが完了した時にこのスタツクは空になり、
スタツク・ポインタ・ロジツク187からの
STKMT信号は、新らしい開始マイクロ・アド
レス(STμAD)が次のマイクロ命令即ちそのシ
ーケンスのを提供するため必要とされることを表
示するよう命令処理装置に対して与えるため
IPOP検出兼ラツチ・ロジツク191の出力側に
適当なIPOP OUT信号を生じる。 条件付け飛越し命令(CJMP)において同じこ
とを示すマイクロ順序付け装置の作用の簡単なな
一例として、次のマイクロ命令のアドレスが、条
件が真ならばマイクロプログマウが飛越しを行わ
ねばならないタスク指名マルチプレクサからの絶
対アドレスとして、あるいは条件が真でなければ
マイクロプログラム・カウンタ(PC+1)から
の次の順位のプログラム・アドレスとして与えら
れるものと仮定しよう。例えば、もしその時のマ
イクロ・アドレスがマイクロ制御ストア170の
選択された場所(例、場所「100」にあるものと
すれば、次のマイクロ・アドレスは、条件が真で
なければ次の順位のプログラム・カウンタ・アド
レスにより示される場所(例、場所「101」とな
るか、条件が真であれば指定された絶対アドレス
(例、場所「500」)への飛越しとなる。マイクロ
順序付け装置が2つの場所のどちらか、即ち絶対
アドレス(ADD4〜15)又はマイクロプログ
ラム・カウンタ・アドレス(μPC4〜15)のど
ちらかが選択されるかを判定するために、条件が
「真」であるかどうかの判定のためテストされね
ばならない。 もしこの条件のテストが条件アウト・ロジツク
192における真を見出すならば、絶対アドレス
(AAD4〜15)はアドレス・マルチプレクサ1
76からの適正なアドレスとして選択され、もし
この条件が真でなければ、次のマイクロプログラ
ム・カウンタ・アドレス(μPC4〜15)が選択
される。テスト・ロジツク198は第138図に
示される。 これ迄に説明した第137図と第138図のブ
ロツク図に示される如きマイクロ順序付け装置1
3の構成のための特定の論理回路は第139図乃
至第153図に示される。スタツク・ラム179
と、スタツク・マルチプレクサ189と、スタツ
ク・ポインタ装置187と、スタツク頂部装置1
80を含むスタツク・ロジツク回路は特に第13
9図に示される。スタツク保管頂部装置181は
第140図に示される。アドレス・マルチプレク
サ176は第141図に示され、アドレス保管レ
ジスタは第142図に示され、マイクロ制御スト
ア170にアドレスを提供するアドレス・ロジツ
ク173は第143図に示される。第144図は
開始マイクロ・アドレス(STμAD)ドライバ装
置172を示す。増分されたマイクロプログラ
ム・カウンタ(μPC+1)装置177と増分装置
178は第145図に示される。 マイクロ制御ストア170は特に第146図*
に示され、次のアドレス制御(NAC)復号論理
回路175は特に第147図に示される。パリテ
イ・ロジツクは第148図に示される。 (注)*第146A図乃至第146F図および第
146.7A図乃至第146.7F図 特に第138図に示される復号兼条件テスト論
理回路182に関して、このような回路を構成す
る特定の論理回路は第149図乃至第153図に
示される。このように、連結ロジツク185とタ
スク指名マルチプレクサ186は第149図に示
され、CPDマルチプレクサ197は第150図
に示され、6ビツト・カウンタ196は第151
図に示され、8フラツグ装置193は第152図
に示され、テスト0およびテスト1マルチプレク
サ194は条件マルチプレクサ195と条件出力
装置192は全て第153図に示される。 演算論理装置 マイクロ命令ワードの書式について詳細に論述
する前に、当業者にとつて周知の全体的構成を有
する典型的な演算論理装置のブロツク図を示す第
153図について論述すれば助けになろう。同図
に示される如く、演算論理操作を行うALU装置
200は、それぞれ1対のマルチプレクサ201
と202から提供される入力RおよびSで識別さ
れる2つの入力を有する。マルチプレクサ202
に対する入力はレジスタ・フアイル203の出力
AおよびBから得られる。第3の入力は全ての31
ビツト位置において零をマルチプレクサに与える
ソースから得ることができ、第4の入力はQレジ
スタ204から得ることができる。 レジスタ・フアイル203は16ビツトと32ビツ
トのレジスタを含み、4個の固定小数点レジスタ
(ACC0〜3)と、4個の浮動小数点レジスタ
(FPAC0〜3)と、8個の盤要レジスタ(GR0〜
7)を含む。ALU200に対してAおよびB入
力を与えるため適当なレジスタの選択は、以下に
更に詳細に論述するように、マイクロ命令フイー
ルドのARE0〜7およびBREG0〜3ビツトによ
つて決定される。マルチプレクサ201の入力
は、マルチプレクサ202に関して論述するよう
に、レジスタ・フアイルのA出力、又はDバス2
05、又は全て零入力から得られる。ALU20
0の出力は、その出力とレジスタ・フアイル20
3のAターミナルから直接与えられる出力のいず
れかを選択するマルチプレクサ206に与えられ
る。マルチプレクサ206の出力は、もし計算が
アドレス計算であれば論理アドレス・バスへ与え
ることができ、又は選択された内部のレジスタに
書戻すためレジスタ・フアイル203に、又はQ
レジスタ204へ、又は演算論理盤上の複数の他
の装置へ与えることができ、これ等装置の主な例
としては、シフター装置207又はデータ・スト
ア・レジスタ208からあるいは直接Dバス20
5又は記憶データ・バスに対するものとして識別
される。シフターの出力はDバスに与えられ、デ
ータ・ストア・レジスタ208はデータをCPD
バスへ、又はCPDレジスタ209を介してDバ
スへ与える。Dバスに与えられたデータは、マル
チプレクサ201を介してそれ以降の演算操作又
は論理操作において使用することができる。この
システムの他のソースも又必要に応じてデータを
Dバス205に与える。第154図に示す如く、
演算論理装置盤11の全体的形態は、以下に論述
するマイクロ命令の理解に役立とう。 マイクロ命令の書式 マイクロ順序付け装置13に関して既に述べた
ように、そのマイクロ制御ストア170は80ビツ
トのマイクロ命令を提供し、その書式は以下に示
される。 書式全体は18のフイールドからなり、その1フ
イールドは将来の使用のための予約ビツトとして
器用可能な5ビツトを有する。使用される17のフ
イールドは以下に説明する。 次のアドレス制御フイールド(NAC0〜19) マイクロ順序付け装置の構造および作用につい
て既に論議した如く、マイクロ命令書式の最初の
20ビツトは次のマイクロ命令に対するアドレスの
選択を制御するためのフイールドを含み、このア
ドレスは「条件付き」アドレス即ちその選択がテ
ストされ指定条件が真であるか偽であるかに依存
するアドレス、又は「無条件」アドレス即ちどん
な条件とも無関係に選択されるアドレスのいずれ
かである。 条件付きアドレスの選択のためのマイクロ命令
のNACフイールドは、指定された条件が真か偽
かを判定するため64迄の条件のどれかをテストさ
れねばならないかを識別する6ビツトのテスト・
フイールドを保有する。条件付きアドレスの選択
のためのNACフイールドの基本的書式は以下に
示す。即ち、 テスト可能な条件は演算論理装置、アドレス変
換装置、命令処理装置、マイクロ順序付け装置自
体の動作に関する条件、又は入出力(I/O)の
条件と関連し得る。典型的な条件の一例として、
別表3の本文に説明した特定のシステム設計にお
いてテスト可能であり、ALU、ATU、IPおよび
マイクロ順序付け装置に関するテストならびにあ
るI/Oテストを含む53の条件を列挙する。 種々のタイプの条件付きアドレスが以下に論理
する如く選択可能であるが、マイクロ順序付け装
置ロジツクの広範囲のブロツク構成を示す第33
図および第34図に関して以下の論議を考察する
ことが役立とう。 第1の条件付きアドレスは条件付きの絶対アド
レス、即ちタスク指名マルチプレクサ186によ
り適当に選択されて第4図に示す如くアドレス・
マルチプレクサ176に与えられる絶対アドレ
ス・ビツトAA4〜15を用いるアドレスである。 このような条件付き絶対アドレスに対する書式
は、モード・ビツト、極性ビツトおよびテスト・
ビツトについて前に示したものと同じ書式を用
い、10の絶対アドレス・ビツトはその最初の2ビ
ツト(時に「ページ・ビツト」と呼ばれる)とし
てその時のマイクロプログラム・カウンタの最上
位ビツトを連結することによつて完全2ビツトに
拡張される。条件付き絶対アドレスは別表4(そ
の「条件付き絶対アドレス」参照)に記載される
如き5つの異なるモードに使用することができ
る。「条件付き飛越しコード」(CJMP)の如きモ
ードの一例は以下に例示的に要約することができ
る。 モード ―――― 000 簡略記号 ――――― CJMP 説明 ――――――――― 条件付き飛越し 真の動作 ――――――― PC←AA(10) 偽の動作 ―――――――― PC←PC+1 このような条件付き飛越しモードに対しては、
もし指定されたテスト条件が真であれば、2つの
ページ・ビツトで連結された10の絶対アドレス・
ビツトは絶対アドレス・ビツトAA4〜15を形成
し、このアドレスはこの時アドレス・マルチプレ
クサ176において選択される(第33図および
第34図)。もしこのような指定された条件が偽
ならば、選択されたアドレスは1だけ増分された
その時のプログラムカウンタ・アドレス(即ち、
μPC+1)である。「条件付き絶対アドレス」の
書式に対する他のモードは別表4に示される。 別の条件付きアドレスは条件付きタスク指名ア
ドレスであり、この場合アドレス・ビツトの一部
はマイクロ順序付け装置に対して外部のソース
(例えば、演算論理装置又はアドレス変換装置等)
から得られ(又は指名され)、このタクス指名ビ
ツトは第34図に示す如く最初の8つの絶対アド
レス・ビツト(AA0〜7)のあるもの又は全て
と連結することができる。このような条件付きの
タスク指名アドレスに対しては、下記の書式が使
用される。即ち タスク指名ビツトが得られるソースは4つの異な
るソースの識別に対する2つのDRRCビツトによ
つて識別される。 このように、アドレスは、以下に示す如く
CPDバスの下位の8ビツトによる形成された絶
対アドレスの下位の8ビツトの直接の置換により
形成できる。 あるいは又、アドレスは以下に示す如く、
CPDバスの下位の4ビツトによる形成された絶
対アドレスの下位の4ビツトの直接の置換によつ
て形成することができる。即ち、 あるいは又最後に、アドレスは形成された絶対
アドレスの下位の3ビツトの最下位ビツト位置に
零を有するアドレス変換装置の妥当性指名からの
2ビツトによる直接置換によつて以下の如く形成
できる。即ち、 あるアドレスは、増分されたプログラムカウン
タ・アドレス又はスタツク・アドレス頂部(スタ
ツクの頂部は適当にポツプされ、又はアドレスが
使用される時除去される)のいずれか一方の使用
を必要とし、この目的のため下位の12ビツト
(NAC−19)はアドレス生成プロセスに含まれる
必要がない。従つて、このような8ビツトは必要
に応じて他の目的のため使用可能である。そのた
めの書式は以下に示す。即ち、 このような3つの特殊な条件アドレス選択の説
明は別表4でLCNT、CPOPおよびLOOPとして
更に詳細に示される。 あるアドレスは含まれる8つのフラツグのセツ
テイングに関連して選択でき、このようなフラツ
ク制御指令は下記の書式に従つてNACフイール
ドにより識別可能である。即ち、 別表4(これに記載されたフラツグ制御参照)
に示される如く、各々がPOPビツトにより識別
されかつ各々が2つのSETビツトにより識別さ
れる4つの異なる命令を有する2つのセツトに前
記命令が分割される。各命令は2つのフラツグの
セツテンインを含み、各フラツグは下記の如くフ
イールドCNTL1およびCNTL2に従つてセツト
される。即ち、CNTL1又はCNTL2 動 作 00 変化なし 01 「偽」にセツト 10 「真」にセツト 11 トグル動作 前記フラツグ制御の各場合において、もし指定
されるテスト条件が「真」であることが判定され
るならば増分されたマイクロプログラム・カウン
タ・アドレスが使用される(μPC+1)が、もし
この条件が「偽」であればスタツク・アドレスの
頂部が使用されてスタツクは適当にポツプされ
る。前述の如く、フラツグ制御の要約は別表4に
記載される。 NACフイールドの命令の2つは、下記の書式
に従つてスタツクをポツプすることなくスタツク
の条件付き使用を可能にする(前述のスタツクの
使用およびポツピングとは対照的に)。即ち、 2つの命令が含まれ、フラツグ制御はフラツグ
0と1のセツト又はフラツグ2と3のセツトのい
ずれかに対して行われる。SPLIT命令として識
別されるこのような命令の要約は別表4に示され
る。この別表に示される如く、もし条件が「偽」
であればスタツクアドレスの頂部が使用されるが
このアドレスはスタツクの頂部においてその侭で
ある(即ち、スタツクの頂部はポツプされない)。
最終的な条件付き命令は文脈復元命令である。こ
の命令は、例えば、障害ルーチンが構成された後
使用でき、機械をその前の状態に復元することが
必要である。これに従つて、機械の状態が復元さ
れるのみならず、テストされる条件が真であるか
偽であるかに従つて使用されるべき次のマイク
ロ・アドレスについての判定もなされる。文脈の
復元命令の書式は下記の如くである。即ち、 含まれる2つの命令の要約は別表4において文
脈復元命令として示される。 前述の条件付きアドレス命令に加えて、これ迄
に述べたシステムの特定の実施例においては、無
条件のアドレス命令も又存在する(8つの無条件
命令を用いる特定の一実施例は別表4において無
条件の命令として記載される。その書式によれ
ば、各操作モードに対して唯1つの動作しか指定
されず、選択された選択は行われる必要がないよ
うにテストされるべき条件はない。 ある絶対アドレス・ビツトとタスク指名ソー
ス・ビツト(無条件タスク指名)の組合せを用い
る無条件命令における12ビツトの絶対アドレスを
用いる無条件命令に分割可能な無条件アドレス命
令の要約は別表4に示される。 AREG、BREGフイールド これ等2つフイールドの8ビツトは、演算論理
装置におけるレジスタ・フアイルのどのレジスタ
が演算論理装置200の入力AとBを提供するた
め使用されるべきかを識別する。このように、レ
ジスタ・フアイルは16のレジスタ、即ち下記の選
択コードに従つてアキユムレータAC0〜3、浮
動小数点レジスタFRAC0〜3、又は他の汎用レ
ジスタGR0〜7の1つを選択することが可能で
ある。
【表】
【表】
上記において、符号化値は16進法に従い、特殊
なコーデイングACSR又はACDRの場合にはレジ
スタ・フアイルの制御は、ソース・アキユムレー
タを指定するレジスタから、又は行先アキユムレ
ータを指定するレジスタから得られる。ソース・
アキユムレータのACSR0〜3又は行先アキユム
レータのACDR0〜3が16進数Eと等しければ、
汎用レジスタGR6が選択される。ACSR0〜3
又はACDR0〜3が16進数Fと等しい時、汎用
レジスタGR7が選択される。 制御ストア・モード 制御ストア・モードの4ビツト・フイールドが
他の6つのマイクロ命令フイールド即ちALUS、
ALUOP、ALUD、DIST、CRYIN、および
RANDの各フイールドの機能を規定する。以下
の表は制御ストア・モード・フイールドに対する
16の制御モードを要約する。
なコーデイングACSR又はACDRの場合にはレジ
スタ・フアイルの制御は、ソース・アキユムレー
タを指定するレジスタから、又は行先アキユムレ
ータを指定するレジスタから得られる。ソース・
アキユムレータのACSR0〜3又は行先アキユム
レータのACDR0〜3が16進数Eと等しければ、
汎用レジスタGR6が選択される。ACSR0〜3
又はACDR0〜3が16進数Fと等しい時、汎用
レジスタGR7が選択される。 制御ストア・モード 制御ストア・モードの4ビツト・フイールドが
他の6つのマイクロ命令フイールド即ちALUS、
ALUOP、ALUD、DIST、CRYIN、および
RANDの各フイールドの機能を規定する。以下
の表は制御ストア・モード・フイールドに対する
16の制御モードを要約する。
【表】
上表において、下記の略記が用いられている。
即ち、
μI:指定されたマイクロ命令の適当なフイールド
からのμオーダーを表わす。 #:クロツク発生なし ∂:μオーダーが事前復号値即ち「強制」値に抑
制される。これ以上の内容については以下を参
照されたい。 *:CRYINはモードQDECおよびQADDにおけ
る最初の半サイクルを零に強制され、モード
QINCの最初の半部においては1に強制され
る。 明らかなように、諸操作はシステムの稼動時間
サイクルのどちらかの半分において生じ得、例え
ば、CPUに関する操作がサイクルの半分で生じ、
I/O装置に関する操作がサイクルの残りの半分
で生じる。上表は、制御ストア・モード・フイー
ルドに対する制御モードは生じつゝある半分のサ
イクルに従つて規定されねばならないことを示し
ている。このように、全マイクロ命令書式におけ
るあるフイールドはこのサイクルのどの半部が生
じつゝあるに従つて変化し、CSMフイールドは
このようなフイールドの各々がどのように関与す
る各半サイクルにおいて影響されるかを規定す
る。 そのそれぞれのフイールドにより決定される
ALUソース入力(RおよびS)、ALUの操作お
よびALUの行先については以下に論述するが、
上表は前記の略記により説明される如き機能の定
義を提供する。最初の半サイクルに対するDバス
のソース(第53図のALU参照)については
D1STフイールドの題目の下で以下に論述する
CRYNINの定義は以下に述べる如き桁送り入力
選択フイールドに対する使用のタイプを決定し、
ランダム・フイールド(RAND)タイプも又こ
のフイールドに関して以下に述べる如く定義され
る。乗算(MPY)、除算(DIV)、予め基準化さ
れた仮数(PRESC)およびNORMの諸モードの
更に詳細な説明は別表5に示される。 D1STフイールド この2ビツトのフイールドは、最初の半サイク
ルの間演算論理装置(第53図参照)のDバス2
05におかれた31ビツトに対するソースを規定す
る。このフイールドの機能は前述の如きCSMフ
イールドに符号化されたものに依存する。この2
つのタイプ(MATH又はGENとして識別)につ
いては、D1STフイールドの値に従つて下記のソ
ースが定義される。
からのμオーダーを表わす。 #:クロツク発生なし ∂:μオーダーが事前復号値即ち「強制」値に抑
制される。これ以上の内容については以下を参
照されたい。 *:CRYINはモードQDECおよびQADDにおけ
る最初の半サイクルを零に強制され、モード
QINCの最初の半部においては1に強制され
る。 明らかなように、諸操作はシステムの稼動時間
サイクルのどちらかの半分において生じ得、例え
ば、CPUに関する操作がサイクルの半分で生じ、
I/O装置に関する操作がサイクルの残りの半分
で生じる。上表は、制御ストア・モード・フイー
ルドに対する制御モードは生じつゝある半分のサ
イクルに従つて規定されねばならないことを示し
ている。このように、全マイクロ命令書式におけ
るあるフイールドはこのサイクルのどの半部が生
じつゝあるに従つて変化し、CSMフイールドは
このようなフイールドの各々がどのように関与す
る各半サイクルにおいて影響されるかを規定す
る。 そのそれぞれのフイールドにより決定される
ALUソース入力(RおよびS)、ALUの操作お
よびALUの行先については以下に論述するが、
上表は前記の略記により説明される如き機能の定
義を提供する。最初の半サイクルに対するDバス
のソース(第53図のALU参照)については
D1STフイールドの題目の下で以下に論述する
CRYNINの定義は以下に述べる如き桁送り入力
選択フイールドに対する使用のタイプを決定し、
ランダム・フイールド(RAND)タイプも又こ
のフイールドに関して以下に述べる如く定義され
る。乗算(MPY)、除算(DIV)、予め基準化さ
れた仮数(PRESC)およびNORMの諸モードの
更に詳細な説明は別表5に示される。 D1STフイールド この2ビツトのフイールドは、最初の半サイク
ルの間演算論理装置(第53図参照)のDバス2
05におかれた31ビツトに対するソースを規定す
る。このフイールドの機能は前述の如きCSMフ
イールドに符号化されたものに依存する。この2
つのタイプ(MATH又はGENとして識別)につ
いては、D1STフイールドの値に従つて下記のソ
ースが定義される。
【表】
D2STフイールド
このフイールドに対する4ビツトは、下記の定
義による2番目の半サイクルの間Dバスにおかれ
るべき31ビツトのソースを規定する。 D<0−31>2番目の半サイクルの間のD<0−
31>ソース
義による2番目の半サイクルの間Dバスにおかれ
るべき31ビツトのソースを規定する。 D<0−31>2番目の半サイクルの間のD<0−
31>ソース
【表】
SHFTフイールド
SHFTフイールドの4ビツトは2つの基本的機
能、即ち、演算論理装置のQレジスタ又はBレジ
スタ(第53図)に対するビツト・シフトのため
の入力の制御、およびALUのシフター207に
おける4ビツトのシフト(「ニブル」シフト)の
制御を規定する。後者のシフトは、前述の如くこ
のフイールドが右側のニブル・シフト(NSHR)
又は左側のニブル・シフト(NSHL)を生じる
よう符号化される時のみ生じるようにD2NDフイ
ールドによつて制御される。このビツト・シフト
は、D2NDフイールドがNSHR又はNSHLコー
ド以外の何かを含む場合のみ、Qレジスタに存在
するデータ、又はBレジスタにおかれるデータの
いずれかに関して生じる。別表6の図は、いかに
してニブル・シフトおよびビツト・シフトのハー
ドウエアがシフト・フイールドによつて制御され
るかを更に詳細に説明する。 ALUSフイールド、ALUOPフイールドおよび
ALUDフイールド ALUSフイールドの3ビツトは下のチヤートに
従つて演算論理回路200(第53図)のRおよ
びS入力に対してどのバスが与えられるかを判定
する。 ALUSフイールド (R、S) AQ 0 AB 1 ZQ 2 ZB 3 ZA 4 DA 5 DQ 6 DZ 7 前記チヤートにおいては、Aはレジスタ・フア
イルのA出力、Bはレジスタ・フアイルのB出
力、QはQレジスタからのQ出力、Zは全て零の
入力、Dは第53図のDバスを示す。このよう
に、例えば、零のALUSフイールドに対してR入
力がQレジスタから入る…の如くである。 ALUOPフイールドの3ビツトは、下記のチヤ
ートに従つて演算論理回路200により行われる
動作を規定する。ALUOPフイールド ADD 0 (R+S) SUB 1 (R−R) RSB 2 (R−S) OR 3 (R or S) AND 4 (R*S) ANC 5 (R′*S) XOR 6 (R xor S) XNR 7 (R xnr S)′ ALUDフイールドの3ビツトは、下記のチヤ
ートに従つて演算論理回路200の出力のための
行先(即ち、算術演算又は論理演算の結果がおか
れる処)を規定する。 ALUDフイールド
能、即ち、演算論理装置のQレジスタ又はBレジ
スタ(第53図)に対するビツト・シフトのため
の入力の制御、およびALUのシフター207に
おける4ビツトのシフト(「ニブル」シフト)の
制御を規定する。後者のシフトは、前述の如くこ
のフイールドが右側のニブル・シフト(NSHR)
又は左側のニブル・シフト(NSHL)を生じる
よう符号化される時のみ生じるようにD2NDフイ
ールドによつて制御される。このビツト・シフト
は、D2NDフイールドがNSHR又はNSHLコー
ド以外の何かを含む場合のみ、Qレジスタに存在
するデータ、又はBレジスタにおかれるデータの
いずれかに関して生じる。別表6の図は、いかに
してニブル・シフトおよびビツト・シフトのハー
ドウエアがシフト・フイールドによつて制御され
るかを更に詳細に説明する。 ALUSフイールド、ALUOPフイールドおよび
ALUDフイールド ALUSフイールドの3ビツトは下のチヤートに
従つて演算論理回路200(第53図)のRおよ
びS入力に対してどのバスが与えられるかを判定
する。 ALUSフイールド (R、S) AQ 0 AB 1 ZQ 2 ZB 3 ZA 4 DA 5 DQ 6 DZ 7 前記チヤートにおいては、Aはレジスタ・フア
イルのA出力、Bはレジスタ・フアイルのB出
力、QはQレジスタからのQ出力、Zは全て零の
入力、Dは第53図のDバスを示す。このよう
に、例えば、零のALUSフイールドに対してR入
力がQレジスタから入る…の如くである。 ALUOPフイールドの3ビツトは、下記のチヤ
ートに従つて演算論理回路200により行われる
動作を規定する。ALUOPフイールド ADD 0 (R+S) SUB 1 (R−R) RSB 2 (R−S) OR 3 (R or S) AND 4 (R*S) ANC 5 (R′*S) XOR 6 (R xor S) XNR 7 (R xnr S)′ ALUDフイールドの3ビツトは、下記のチヤ
ートに従つて演算論理回路200の出力のための
行先(即ち、算術演算又は論理演算の結果がおか
れる処)を規定する。 ALUDフイールド
【表】
CRYINSフイールド
このフイールドは演算論理装置桁送り入力選択
フイールドを表わし、どんな種類の桁送りが用い
られるかを判定する。このフイールドに対する4
タイプの使用(タイプ0〜3として識別)があ
り、その使用は前述のCSMフイールドおよび以
下に述べるRANDフイールドにより左右される。
各タイプに対する別表7のチヤートはCRYINS
フイールドにより行われる決定を要約する。 RANDフイールド 10ビツトのランダム・フイールドは多機能フイ
ールドで、前述の如くCSMフイールドによつて
制御される。MATH、FIXP、GENおよびALU
として識別される4つの使用タイプがある。 MATHタイプの使用は下記の書式を有する。
即ち、 これは、浮動小数点計算のまるめの制御する1
ビツトと、使用される指数、乗算および切捨てに
関する浮動小数点演算を規定する4つのFPOPビ
ツトを含む。残りの5ビツトは必要に応じ他の演
算論理装置の動作のため使用可能である。ランダ
ム・フイールドに対するMATHタイプの使用は
別表8に記載された要約に指示される。 固定小数点タイプの使用(FIXP)は下記の書
式を有する。即ち 明らかなように、このタイプの使用におけるフ
イールドの最初のビツトはCRYINSフイール
ド・タイプと組合されて下記の如きあるマイクロ
順位を形成する。即ち、
フイールドを表わし、どんな種類の桁送りが用い
られるかを判定する。このフイールドに対する4
タイプの使用(タイプ0〜3として識別)があ
り、その使用は前述のCSMフイールドおよび以
下に述べるRANDフイールドにより左右される。
各タイプに対する別表7のチヤートはCRYINS
フイールドにより行われる決定を要約する。 RANDフイールド 10ビツトのランダム・フイールドは多機能フイ
ールドで、前述の如くCSMフイールドによつて
制御される。MATH、FIXP、GENおよびALU
として識別される4つの使用タイプがある。 MATHタイプの使用は下記の書式を有する。
即ち、 これは、浮動小数点計算のまるめの制御する1
ビツトと、使用される指数、乗算および切捨てに
関する浮動小数点演算を規定する4つのFPOPビ
ツトを含む。残りの5ビツトは必要に応じ他の演
算論理装置の動作のため使用可能である。ランダ
ム・フイールドに対するMATHタイプの使用は
別表8に記載された要約に指示される。 固定小数点タイプの使用(FIXP)は下記の書
式を有する。即ち 明らかなように、このタイプの使用におけるフ
イールドの最初のビツトはCRYINSフイール
ド・タイプと組合されて下記の如きあるマイクロ
順位を形成する。即ち、
【表】
残りのビツトは雑用操作に関し、最初の4つの
雑用ビツト(MISC1)はALUローデイング制御
に関し、次の5つの雑用ビツト(MISC2)は桁
送り、オーバーフローおよび状況の諸操作に関す
る種々のランダム操作に関し、別表9に記載され
る。 汎用タイプ(GEN)の使用は下記の書式を用
いる。即ち、 最初の4ビツト(REGS)は、別表10に記載の
汎用ソースおよび行先きアキユムレータの諸操作
を取扱う。2つのSPARスクラツチ・パツド・ビ
ツトは別表10に記載の諸操作を扱う。4つの
SPADスクラツチ・パツド・ビツトは別表10に指
定された種々のスクラツチ・パツドの諸操作を扱
う。 ランダム・フイールドのための最後の使用タイ
プは種々のアドレス変換装置の操作を扱い、下記
の書式を有する。 別表11に全ての記載の通り、最初の5ビツト
(ATU0)はアドレス変換装置の諸操作を扱い、
次の2つのATUビツト(ATU1)は更に別の
ATU操作を規定し、最後の3つのATUビツト
(ATU2)は汎用操作を規定する。 LACフイールド この2ビツトの論理アドレス制御フイールド
は、論理アドレス・バスにおかれるデータを制御
し、即ちこのフイールドは下記のチヤートに従つ
てLAビツト1〜31に対するソースを指定する。 <A<1−31>のソースの指定
雑用ビツト(MISC1)はALUローデイング制御
に関し、次の5つの雑用ビツト(MISC2)は桁
送り、オーバーフローおよび状況の諸操作に関す
る種々のランダム操作に関し、別表9に記載され
る。 汎用タイプ(GEN)の使用は下記の書式を用
いる。即ち、 最初の4ビツト(REGS)は、別表10に記載の
汎用ソースおよび行先きアキユムレータの諸操作
を取扱う。2つのSPARスクラツチ・パツド・ビ
ツトは別表10に記載の諸操作を扱う。4つの
SPADスクラツチ・パツド・ビツトは別表10に指
定された種々のスクラツチ・パツドの諸操作を扱
う。 ランダム・フイールドのための最後の使用タイ
プは種々のアドレス変換装置の操作を扱い、下記
の書式を有する。 別表11に全ての記載の通り、最初の5ビツト
(ATU0)はアドレス変換装置の諸操作を扱い、
次の2つのATUビツト(ATU1)は更に別の
ATU操作を規定し、最後の3つのATUビツト
(ATU2)は汎用操作を規定する。 LACフイールド この2ビツトの論理アドレス制御フイールド
は、論理アドレス・バスにおかれるデータを制御
し、即ちこのフイールドは下記のチヤートに従つ
てLAビツト1〜31に対するソースを指定する。 <A<1−31>のソースの指定
【表】
CPDSフイールド
この5ビツトのCPDソース選択フイールドは、
CPDバスに何がおかれるか、即ちCPD0〜31ビツ
トに対するソースを判定する。このフイールドは
又演算論理装置に対するCPDRレジスタのローデ
イングを制御する。 NCPDRランダム・フイールド(GENタイプ
のランダム・フイールド参照)はCPDRレジスタ
のローデイングにオーバーライドしてこのローデ
イングを阻止する。CPDRフイールドに対するソ
ース選択および他の制御操作は別表12に示される
チヤートに従つて指定される。 MEMSフイールド この3ビツトのフイールドは、下記のチヤート
に従つてメモリーに対して開始される操作サイク
ルのタイプ(例、読出しサイクル、書込みサイク
ル、読出し/修飾/書込みサイクル)を規定す
る。即ち、
CPDバスに何がおかれるか、即ちCPD0〜31ビツ
トに対するソースを判定する。このフイールドは
又演算論理装置に対するCPDRレジスタのローデ
イングを制御する。 NCPDRランダム・フイールド(GENタイプ
のランダム・フイールド参照)はCPDRレジスタ
のローデイングにオーバーライドしてこのローデ
イングを阻止する。CPDRフイールドに対するソ
ース選択および他の制御操作は別表12に示される
チヤートに従つて指定される。 MEMSフイールド この3ビツトのフイールドは、下記のチヤート
に従つてメモリーに対して開始される操作サイク
ルのタイプ(例、読出しサイクル、書込みサイク
ル、読出し/修飾/書込みサイクル)を規定す
る。即ち、
【表】
MEMCフイールド
この2ビツト・フイールドは下記チヤートに従
つて記憶操作の完了を規定する。即ち、
つて記憶操作の完了を規定する。即ち、
【表】
URARフイールド
この単一ビツト・フイールドはマイクロワード
の奇数パリテイを含む。もし偶数パリテイ誤りが
検出されるならば、全操作は+1だけ増分された
その時のマイクロ場所に停止する。 前記の論議は本発明によるマイクロ命令書式の
各フイールドを要約する。以下において規定可能
な8フラツグの使用について説明することも又役
立とう。 フラツグ0は幅のフラツグで、狭域(16ビツ
ト)の演算論理装置の操作と、広域(32ビツト)
の演算論理装置の操作のいずれかを規定する。フ
ラツグ1はアドレス・フラツグで、論理アドレス
が基本命令アドレスとして駆動される(例、
Nova/Eclipse操作用)かどうかを規定し、この
場合論理アドレスのビツト17〜31のみが演算論理
装置、又はアドレス変換装置又は命令処理装置に
対する論理アドレス・ラツチによつて駆動され
る。もしフラツプが1つの命令の拡張されたアド
レスを表示するならば、拡張された論理アドレス
の全てのビツト0〜31はそのように駆動される。 フラツグ2〜7は汎用フラツグで、汎用マイク
ロ・コードにより必要とされる如く順次使用可能
である。例えば、フラツグ4は「シフト間接」フ
ラツグとして使用され、マイクロ命令書式(それ
についての論述参照)のSHFTフイールドに
NSHが符号化される時、フラツグ4のセツテイ
ングに従つて左右にシフトが行われる。更に、フ
ラツグ5を用いて浮動小数点が2倍精度の演算を
必要とするかどうかを規定する。 独特なマクロ命令 本発明の独特な拡張処理システムによれば、前
述の如く、本システムの全操作能力にそれ自体独
特に固有なものである操作が本システムにより実
施される。このような操作については、以下に更
に詳細に説明し、別表2に示されたシステムの命
令セツトに関して最もよく理解することができ
る。 考慮すべき第1の操作は例えばある周辺装置に
よりその時の実行プログラムの割込みを含み、又
適当な割込み操作シーケンスに対するシステムの
制御を転送する必要を含む。このような1つの独
特な割込み操作は、別表2における「割込み装置
におけるEAGLEベクトル」(関略記憶コード記
述機能XVCTを有する)と呼ばれる命令に関連
する(別表2の命令セツトにおける命令はその簡
略記憶コード表示に従つてアルフアベツト順にリ
ストされる)。XVCT割込みの操作の理解は、第
155図に示された記憶場所の略図の助けによつ
て得ることができる。 割込み要求はその時実行中のプログラムのマク
ロ命令の復号操作間で検査され識別され、もし割
込み要求が生ずれば、その時のプログラムに対す
るスタツク・レジスタの内容はその時の実行リン
グにおけるこのような目的のために設けられる選
択された場所(例えば、その時のリングのページ
0において選択された場所)に最初に保管され
る。 リング0は特殊な操作、例えば割込み操作のた
めに予約されたリングであるため、システムはリ
ング0と交換し(SBAのCREビツト1〜3を変
更してリング0を識別する)、新らしい空のスタ
ツク・レジスタをリング0の選択された場所の割
込み手順と関連する内容でロードしなければなら
ない。更に、リング0の選択された場所、例えば
場所0は、割込みが「基本レベル」の割込み、即
ち他の前の割込みが処理中でない割込み操作であ
るか、あるいは他の1つ以上の割込みが既に継続
中である「高レベル」の割込みかを判定するため
に検査される。もし継続中に場所0が例えば第1
55図に示される如き基本レベルの割込みである
ことを表示する(例、場所0は「零」である)な
らば、割込みコードはリング0の選択された場所
(例、場所1)を検査してこの場所がXVCTコー
ドを含むかどうかを判定する(この場所1の最初
の16ビツトは別表2に指定されたXVCTコード
の最初の16ビツトと対応する)。もしこの割込み
がXVCT割込みであるならば、スタツク・レジ
スタはXVCT情報でロードされてXVCTスタツ
ク即ち第156図に示される如きXVCTスタツ
ク「プツシユ」をセツトアツプする。 この時場所1の変位ビツト17〜31(別表2に示
されるXVCT命令の変位ビツト17〜31と対応)
は主記憶装置の予めロードされたXVCT表にお
ける選択された場所を指示するアドレスを表わ
す。(第 図参照)「装置コード」情報(割込み要
求が受取ることができる各I/O装置に対し独自
の16ビツトのオフセツト・コード)が特定の装置
から受取られ、この装置はこの装置と関連する主
記憶装置の特定装置制御表(DCT)(例、XVCT
表で識別される装置Nと関連するDCT)を指定
する選択されたアドレスに対する割込みおよびオ
フセツトを要求する。この装置制御表は、割込み
中の装置により要求される割込みルーチンを実行
するため必要な主記憶装置におけるマクロ命令を
指示するアドレスを含む。 このDCTは又、他のどの装置が「マスク・ア
ウト」(即ち、問題の特定装置について割込みが
継続中である間割込みを行うことを禁止)され得
るかを識別する符号化されたワード(「MASK」)
をも含む。問題の装置よりも高に割込み順位を有
するある他の装置はこのようなマクス操作は行わ
れない。 DCTは更に、システムのPSRにロードされる
PSR(処理装置の状況レジスタ)ワードによつて
システムの状態を規定し、固定小数点のオーバー
フロー条件が可能になるかどうかを判定する。 問題の特定装置により要求される特定の割込み
ルーチンに対するマクロ命令が一たん実行される
と、この割込み先立ちシステムによつてその時実
行されつゝあるプログラムに関するシステムのス
タツク・レジスタの前に記憶された内容がシステ
ムのスタツク・レジスタに復元され、このプログ
ラムその実行に続行する。この全体的な操作は第
156図に略図的に示される。 本文に説明したシステムにとつて独特の別の操
作は、別表2の命令セツトに記載されたLSBRA
命令と関連し、システムのセグメント基底レジス
タ(SBR)のローデイングを含む。既に説明し
たように、システムのSBRは主記憶装置にはお
かれず、システムのATU盤上において更に容易
に使用できる。システムの8つのセグメント基底
レジスタはそれぞれ8つの2倍ワードのブロツク
の1つの2倍ワードを含む。こゝで述べる操作は
メモリーからの8つの2倍ワードのブロツクによ
るこのSBRのローデイングに関し、その開始ア
ドレスはシステムの選択されたアキユムレータ
(例、AC0)に含まれる。LSBRA動作は、この
ブロツクを別表2のLSBRA命令と関連して示し
た表により示される方法でSBRにロードする。 本文に述べるとシステムに固有の別の操作にお
いて、命令処理装置(第20図)に関して既に論
述した如きプログラム・カウンタ(PC)に含ま
れる31ビツトの値は特定の命令ワードに含まれた
変位の値に加算され、その結果は第20図のアド
レス148およびPCレジスタ147に関して示
された如きプログラム・カウンタにおかれる。変
位は別表2における命令セツトにWBR(広域分
岐)として示された命令に含まれる。このような
操作は効果的にプログラム・カウンタの「相対的
飛越し」であり、16ビツトのEAGLEアドレス
(PC)と8ビツトのオフセツトを含み、後者は
WBR命令のビツト1〜8として含まれる。 本発明の拡張されたシステムにおけるEAGLE
操作に関して、16ビツトのデータを32ビツトに拡
張する(即ち、妥当化する)ための操作が行われ
る。このような操作は、別表2のZEX又はSEX
命令に示される如き16ビツト・データの零拡張
(ZEX)又は符号拡張(SEX)を含む。このよう
に、零拡張操作に対しては、命令のビツト1、2
により識別されるソース・アキユムレータに含ま
れる16ビツトの整数が32ビツトに零拡張され、そ
の結果は命令のビツト3、4により識別される行
先きアキユムレータ(ACD)にロードされ、こ
のアキユムレータが同じアキユムレータでなけれ
ばACSの内容は変化しない侭である。符号拡張
操作の場合は、ACSにおける16ビツトの整数が
符号拡張されて前述の如くACDにおかれる。 本発明の拡張されたシステムに独特の更に別の
操作は、ACDのビツト16〜31における符号付き
16ビツトの整数がACSのビツト16〜31における
符号付きの16ビツト整数により乗算される演算を
含む。このような演算は別表2の狭域乗算
(NMUL)と関連するとシステムは32ビツトのア
キユムレータを使用するため、16ビツト・ワード
(即ち、「狭域の」ワード)の乗算が要求される
時、32ビツトのアキユムレータの内容の内16ビツ
トのみを使用することが必要である。もし回答が
16ビツトより大きければオーバーフローが生じ、
従つてもしオーバーフロー・ビツト「OVK」が
選択された状態(零、OVKが1)にあるならば
オーバーフロー表示が生じ、機械の稼動は停止さ
れ(「トラツプ」が生じる)、オーバーフロー取扱
いルーチンが呼出されねばならない。 本発明のシステムのこれ迄に述べた独特の作用
はその構成および作用にとつて全く本来的なもの
であり、他の以前から公知のデータ処理システム
では必要とされずあるいは示唆されない諸操作を
提供するものである。
の奇数パリテイを含む。もし偶数パリテイ誤りが
検出されるならば、全操作は+1だけ増分された
その時のマイクロ場所に停止する。 前記の論議は本発明によるマイクロ命令書式の
各フイールドを要約する。以下において規定可能
な8フラツグの使用について説明することも又役
立とう。 フラツグ0は幅のフラツグで、狭域(16ビツ
ト)の演算論理装置の操作と、広域(32ビツト)
の演算論理装置の操作のいずれかを規定する。フ
ラツグ1はアドレス・フラツグで、論理アドレス
が基本命令アドレスとして駆動される(例、
Nova/Eclipse操作用)かどうかを規定し、この
場合論理アドレスのビツト17〜31のみが演算論理
装置、又はアドレス変換装置又は命令処理装置に
対する論理アドレス・ラツチによつて駆動され
る。もしフラツプが1つの命令の拡張されたアド
レスを表示するならば、拡張された論理アドレス
の全てのビツト0〜31はそのように駆動される。 フラツグ2〜7は汎用フラツグで、汎用マイク
ロ・コードにより必要とされる如く順次使用可能
である。例えば、フラツグ4は「シフト間接」フ
ラツグとして使用され、マイクロ命令書式(それ
についての論述参照)のSHFTフイールドに
NSHが符号化される時、フラツグ4のセツテイ
ングに従つて左右にシフトが行われる。更に、フ
ラツグ5を用いて浮動小数点が2倍精度の演算を
必要とするかどうかを規定する。 独特なマクロ命令 本発明の独特な拡張処理システムによれば、前
述の如く、本システムの全操作能力にそれ自体独
特に固有なものである操作が本システムにより実
施される。このような操作については、以下に更
に詳細に説明し、別表2に示されたシステムの命
令セツトに関して最もよく理解することができ
る。 考慮すべき第1の操作は例えばある周辺装置に
よりその時の実行プログラムの割込みを含み、又
適当な割込み操作シーケンスに対するシステムの
制御を転送する必要を含む。このような1つの独
特な割込み操作は、別表2における「割込み装置
におけるEAGLEベクトル」(関略記憶コード記
述機能XVCTを有する)と呼ばれる命令に関連
する(別表2の命令セツトにおける命令はその簡
略記憶コード表示に従つてアルフアベツト順にリ
ストされる)。XVCT割込みの操作の理解は、第
155図に示された記憶場所の略図の助けによつ
て得ることができる。 割込み要求はその時実行中のプログラムのマク
ロ命令の復号操作間で検査され識別され、もし割
込み要求が生ずれば、その時のプログラムに対す
るスタツク・レジスタの内容はその時の実行リン
グにおけるこのような目的のために設けられる選
択された場所(例えば、その時のリングのページ
0において選択された場所)に最初に保管され
る。 リング0は特殊な操作、例えば割込み操作のた
めに予約されたリングであるため、システムはリ
ング0と交換し(SBAのCREビツト1〜3を変
更してリング0を識別する)、新らしい空のスタ
ツク・レジスタをリング0の選択された場所の割
込み手順と関連する内容でロードしなければなら
ない。更に、リング0の選択された場所、例えば
場所0は、割込みが「基本レベル」の割込み、即
ち他の前の割込みが処理中でない割込み操作であ
るか、あるいは他の1つ以上の割込みが既に継続
中である「高レベル」の割込みかを判定するため
に検査される。もし継続中に場所0が例えば第1
55図に示される如き基本レベルの割込みである
ことを表示する(例、場所0は「零」である)な
らば、割込みコードはリング0の選択された場所
(例、場所1)を検査してこの場所がXVCTコー
ドを含むかどうかを判定する(この場所1の最初
の16ビツトは別表2に指定されたXVCTコード
の最初の16ビツトと対応する)。もしこの割込み
がXVCT割込みであるならば、スタツク・レジ
スタはXVCT情報でロードされてXVCTスタツ
ク即ち第156図に示される如きXVCTスタツ
ク「プツシユ」をセツトアツプする。 この時場所1の変位ビツト17〜31(別表2に示
されるXVCT命令の変位ビツト17〜31と対応)
は主記憶装置の予めロードされたXVCT表にお
ける選択された場所を指示するアドレスを表わ
す。(第 図参照)「装置コード」情報(割込み要
求が受取ることができる各I/O装置に対し独自
の16ビツトのオフセツト・コード)が特定の装置
から受取られ、この装置はこの装置と関連する主
記憶装置の特定装置制御表(DCT)(例、XVCT
表で識別される装置Nと関連するDCT)を指定
する選択されたアドレスに対する割込みおよびオ
フセツトを要求する。この装置制御表は、割込み
中の装置により要求される割込みルーチンを実行
するため必要な主記憶装置におけるマクロ命令を
指示するアドレスを含む。 このDCTは又、他のどの装置が「マスク・ア
ウト」(即ち、問題の特定装置について割込みが
継続中である間割込みを行うことを禁止)され得
るかを識別する符号化されたワード(「MASK」)
をも含む。問題の装置よりも高に割込み順位を有
するある他の装置はこのようなマクス操作は行わ
れない。 DCTは更に、システムのPSRにロードされる
PSR(処理装置の状況レジスタ)ワードによつて
システムの状態を規定し、固定小数点のオーバー
フロー条件が可能になるかどうかを判定する。 問題の特定装置により要求される特定の割込み
ルーチンに対するマクロ命令が一たん実行される
と、この割込み先立ちシステムによつてその時実
行されつゝあるプログラムに関するシステムのス
タツク・レジスタの前に記憶された内容がシステ
ムのスタツク・レジスタに復元され、このプログ
ラムその実行に続行する。この全体的な操作は第
156図に略図的に示される。 本文に説明したシステムにとつて独特の別の操
作は、別表2の命令セツトに記載されたLSBRA
命令と関連し、システムのセグメント基底レジス
タ(SBR)のローデイングを含む。既に説明し
たように、システムのSBRは主記憶装置にはお
かれず、システムのATU盤上において更に容易
に使用できる。システムの8つのセグメント基底
レジスタはそれぞれ8つの2倍ワードのブロツク
の1つの2倍ワードを含む。こゝで述べる操作は
メモリーからの8つの2倍ワードのブロツクによ
るこのSBRのローデイングに関し、その開始ア
ドレスはシステムの選択されたアキユムレータ
(例、AC0)に含まれる。LSBRA動作は、この
ブロツクを別表2のLSBRA命令と関連して示し
た表により示される方法でSBRにロードする。 本文に述べるとシステムに固有の別の操作にお
いて、命令処理装置(第20図)に関して既に論
述した如きプログラム・カウンタ(PC)に含ま
れる31ビツトの値は特定の命令ワードに含まれた
変位の値に加算され、その結果は第20図のアド
レス148およびPCレジスタ147に関して示
された如きプログラム・カウンタにおかれる。変
位は別表2における命令セツトにWBR(広域分
岐)として示された命令に含まれる。このような
操作は効果的にプログラム・カウンタの「相対的
飛越し」であり、16ビツトのEAGLEアドレス
(PC)と8ビツトのオフセツトを含み、後者は
WBR命令のビツト1〜8として含まれる。 本発明の拡張されたシステムにおけるEAGLE
操作に関して、16ビツトのデータを32ビツトに拡
張する(即ち、妥当化する)ための操作が行われ
る。このような操作は、別表2のZEX又はSEX
命令に示される如き16ビツト・データの零拡張
(ZEX)又は符号拡張(SEX)を含む。このよう
に、零拡張操作に対しては、命令のビツト1、2
により識別されるソース・アキユムレータに含ま
れる16ビツトの整数が32ビツトに零拡張され、そ
の結果は命令のビツト3、4により識別される行
先きアキユムレータ(ACD)にロードされ、こ
のアキユムレータが同じアキユムレータでなけれ
ばACSの内容は変化しない侭である。符号拡張
操作の場合は、ACSにおける16ビツトの整数が
符号拡張されて前述の如くACDにおかれる。 本発明の拡張されたシステムに独特の更に別の
操作は、ACDのビツト16〜31における符号付き
16ビツトの整数がACSのビツト16〜31における
符号付きの16ビツト整数により乗算される演算を
含む。このような演算は別表2の狭域乗算
(NMUL)と関連するとシステムは32ビツトのア
キユムレータを使用するため、16ビツト・ワード
(即ち、「狭域の」ワード)の乗算が要求される
時、32ビツトのアキユムレータの内容の内16ビツ
トのみを使用することが必要である。もし回答が
16ビツトより大きければオーバーフローが生じ、
従つてもしオーバーフロー・ビツト「OVK」が
選択された状態(零、OVKが1)にあるならば
オーバーフロー表示が生じ、機械の稼動は停止さ
れ(「トラツプ」が生じる)、オーバーフロー取扱
いルーチンが呼出されねばならない。 本発明のシステムのこれ迄に述べた独特の作用
はその構成および作用にとつて全く本来的なもの
であり、他の以前から公知のデータ処理システム
では必要とされずあるいは示唆されない諸操作を
提供するものである。
【表】
〓〓〓 〓
Claims (1)
- 【特許請求の範囲】 1 複数の異なるデータ・グループを記憶する記
憶装置を使用し、該記憶装置はその異なる指定さ
れた場所に前記の異なるデータ・グループを記憶
することが可能であり、前記の指定された場所は
オペレータによるデータ参照アクセスに関する逓
減する保護順位を有する記憶セグメントの場所と
して識別可能であり、その各グループ内のデータ
のアドレスは前記データが記憶される記憶セグメ
ント場所を識別する複数の選択されたセグメン
ト・ビツトを有するデータ処理システムにおい
て、 データ参照アクセスが要求された記憶セグメン
ト場所を識別するアドレスの前記の選択されたセ
グメントビツトに応答して、該選択されたセグメ
ント・ビツトを、要求されたデータ参照アクセス
が既に先行のアドレスに関して与えられた記憶セ
グメント場所を識別する複数の以前に選択された
セグメントビツトと比較する装置と、 前記比較装置に応答して、前記の選択されたセ
グメント・ビツトが前記の以前に選択されたセグ
メント・ビツトにより識別されるセグメンソト場
所より低次の保護を有するセグメント場所として
識別される記憶セグメント場所におけるアドレス
に対するデータ参照アクセスを禁止する装置とを
設けることを特徴とするデータ処理システム。 2 前記比較装置が、 アクセスされたアドレスと対応するデータ基準
が記憶される記憶セグメントを識別するアクセス
されたアドレスの選択されたセグメント・ビツト
と対応する複数の選択されたセグメント・ビツト
を提供する装置と、 アクセスされたアドレスのセグメント・ビツト
とアクセスされるべき次のアドレスのセグメン
ト・ビツトとに応答して、前にアクセスされたア
ドレスに関する前記の次のアドレスの記憶セグメ
ントの保護の順位を判定して、前記の次のアドレ
スが前にアクセスされたアドレスにおけるデータ
基準の記憶セグメント場所より低い保護順位を有
する記憶セグメント場所に記憶されたデータ基準
と対応する時、セグメント制御信号を与える装置
とを含むことを特徴とする特許請求の範囲第1項
記載のシステム。 3 前記データ参照アクセス禁止装置は、 前記セグメント制御信号に応答して前記の次の
アドレスにおけるデータ基準がアクセスを行うこ
とを禁止される記憶セグメント場所にあることを
表示する符号化されあ誤り保護信号を生じる装置
と、 符号化された誤り信号に応答して指定された障
害が前記の符号化誤り保護信号の存在のために生
じたことを識別する符号化誤り信号を生成する装
置とを含むことを特徴とする特許請求の範囲第2
項記載のシステム。 4 その時の記憶セグメントにおけるデータ基準
に対するアクセスを行う装置と、 その時データ参照のため使用中である記憶場所
とは異なる記憶セグメント場所に記憶されたサブ
ルーチンに対するアクセスを要求するプログラム
制御命令に提供する装置と、 前記プログラム制御命令に応答してサブルーチ
ンがおかれる特定の呼出された記憶セグメントが
前記のその時の記憶セグメントよりも高い保護順
位を有するかどうかを判定する装置と、 更に、前記の呼出された記憶セグメントが前記
の更に高い保護順位を有する時前記プログラム制
御命令に応答して前記の呼出された記憶セグメン
トへのエントリおよびその内部のサブルーチンへ
のアクセスを行う装置とを更に設けることを特徴
とする特許請求の範囲第1項記載のシステム。 5 前記の呼出された記憶セグメントが前記のそ
の時の記憶セグメントよりも低い保護順位を有す
る時サブルーチン呼出し障害条件を表示する装置
を更に含むことを特徴とする特許請求の範囲第4
項記載のシステム。 6 呼出された記憶セグメントに関する操作から
前に使用されたその時の記憶セグメントに関する
操作への戻しを要求するプログラム制御命令を提
供する装置と、 前記の前に使用したその時の記憶セグメントが
前記の呼出された記憶セグメントよりも低い保護
順位を有するかどうかを判定する装置と、 前記の前に使用したその時の記憶セグメントに
おける戻りアドレスに応答して、前記の前に使用
したその時の記憶セグメントが前記低い保護順位
を有する間前記戻りアドレスに対するアクセスを
行う装置とを更に設けることを特徴とする特許請
求の範囲第4項記載のシステム。 7 前記の前に使用したその時の記憶セグメント
が前記の呼出された記憶セグメントよりも高い保
護順位を有する時戻り障害条件を表示する装置を
更に設けることを特徴とする特許請求の範囲第6
項記載のシステム。 8 前記エントリ提供装置が、 前記プログラム制御命令に応答して呼出された
記憶セグメントを識別する第1のフイールドと符
号化されたゲート番号を指定する第2のフイール
ドとを含む分岐アドレスを提供する装置を含み、 前記の呼出された記憶セグメントが前記の呼出
された記憶セグメントに常駐するゲート番号列を
識別する記憶場所を有し、 前記分岐アドレスの符号化ゲート番号を前記の
呼出された記憶セグメントに常駐する最大ゲート
番号と比較する装置と、 前記の符号化ゲート番号が前記最大ゲート番号
よりも小さいと判定される時前記の呼出された記
憶セグメントへの前記エントリとその内部にサブ
ルーチンへのアクセスを許容する装置とを含むこ
とを特徴とする特許請求の範囲第4項記載のシス
テム。 9 前記の符号化ゲート番号が前記最大ゲート番
号と等しいかあるいはこれより大きいと判定され
る時呼出し障害条件を表示する装置を更に設ける
ことを特徴とする特許請求の範囲第8項記載のシ
ステム。
Applications Claiming Priority (14)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14368180A | 1980-04-25 | 1980-04-25 | |
| US14371080A | 1980-04-25 | 1980-04-25 | |
| US14397480A | 1980-04-25 | 1980-04-25 | |
| US06/143,982 US4434459A (en) | 1980-04-25 | 1980-04-25 | Data processing system having instruction responsive apparatus for both a basic and an extended instruction set |
| US143982 | 1980-04-25 | ||
| US143974 | 1980-04-25 | ||
| US06/143,561 US4386399A (en) | 1980-04-25 | 1980-04-25 | Data processing system |
| US143981 | 1980-04-25 | ||
| US143651 | 1980-04-25 | ||
| US143710 | 1980-04-25 | ||
| US06/143,981 US4409655A (en) | 1980-04-25 | 1980-04-25 | Hierarchial memory ring protection system using comparisons of requested and previously accessed addresses |
| US143681 | 1980-04-25 | ||
| US06/143,651 US4398243A (en) | 1980-04-25 | 1980-04-25 | Data processing system having a unique instruction processor system |
| US143561 | 1988-01-26 |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6155681A Division JPS5727336A (en) | 1980-04-25 | 1981-04-24 | Data processing system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02153446A JPH02153446A (ja) | 1990-06-13 |
| JPH044618B2 true JPH044618B2 (ja) | 1992-01-28 |
Family
ID=27568959
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1064974A Granted JPH02153446A (ja) | 1980-04-25 | 1989-03-18 | データ処理システム |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP0039227A3 (ja) |
| JP (1) | JPH02153446A (ja) |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| AU549632B2 (en) | 1981-04-23 | 1986-02-06 | Data General Corporation | Floating point notation |
| EP0309068A3 (en) * | 1982-11-15 | 1990-08-16 | Data General Corporation | Digital data processing system |
| AU562373B2 (en) * | 1982-11-15 | 1987-06-11 | Data General Corporation | Digital data processing system |
| JPS59117800A (ja) * | 1982-12-25 | 1984-07-07 | Fujitsu Ltd | バツフア・ストレ−ジの1ビツトエラ−処理方式 |
| JPS62164133A (ja) * | 1986-01-16 | 1987-07-20 | Toshiba Corp | マイクロプログラム制御装置 |
| US4755936A (en) * | 1986-01-29 | 1988-07-05 | Digital Equipment Corporation | Apparatus and method for providing a cache memory unit with a write operation utilizing two system clock cycles |
| US4710903A (en) * | 1986-03-31 | 1987-12-01 | Wang Laboratories, Inc. | Pseudo-static memory subsystem |
| JPS63240657A (ja) * | 1987-03-28 | 1988-10-06 | Toshiba Corp | 記憶保護装置 |
| EP0503514B1 (en) * | 1991-03-11 | 1998-11-18 | Silicon Graphics, Inc. | Backward-compatible computer architecture with extended word size and address space |
| US6643765B1 (en) | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
| US10223002B2 (en) * | 2017-02-08 | 2019-03-05 | Arm Limited | Compare-and-swap transaction |
| US10698816B2 (en) * | 2018-06-29 | 2020-06-30 | Micron Technology, Inc. | Secure logical-to-physical caching |
| CN115080116B (zh) * | 2022-07-25 | 2022-11-29 | 广州智慧城市发展研究院 | 兼容多种存储器接口的微控制器、方法、芯片和显示器 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3786427A (en) * | 1971-06-29 | 1974-01-15 | Ibm | Dynamic address translation reversed |
| US4056845A (en) * | 1975-04-25 | 1977-11-01 | Data General Corporation | Memory access technique |
| US4084234A (en) * | 1977-02-17 | 1978-04-11 | Honeywell Information Systems Inc. | Cache write capacity |
-
1981
- 1981-04-27 EP EP81301836A patent/EP0039227A3/en not_active Ceased
-
1989
- 1989-03-18 JP JP1064974A patent/JPH02153446A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPH02153446A (ja) | 1990-06-13 |
| EP0039227A2 (en) | 1981-11-04 |
| EP0039227A3 (en) | 1982-09-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0578050B2 (ja) | ||
| US4434459A (en) | Data processing system having instruction responsive apparatus for both a basic and an extended instruction set | |
| JP2796590B2 (ja) | メモリ装置及びそれを使用したデータ処理装置 | |
| US4398243A (en) | Data processing system having a unique instruction processor system | |
| US5367705A (en) | In-register data manipulation using data shift in reduced instruction set processor | |
| KR100271947B1 (ko) | 프로세서의 명령어 집합간의 변환 방법 및 장치 | |
| US4591972A (en) | Data processing system with unique microcode control | |
| US5454091A (en) | Virtual to physical address translation scheme with granularity hint for identifying subsequent pages to be accessed | |
| US6266755B1 (en) | Translation lookaside buffer with virtual address conflict prevention | |
| US4268907A (en) | Cache unit bypass apparatus | |
| US5247639A (en) | Microprocessor having cache bypass signal terminal | |
| US5796972A (en) | Method and apparatus for performing microcode paging during instruction execution in an instruction processor | |
| US4378591A (en) | Memory management unit for developing multiple physical addresses in parallel for use in a cache memory | |
| US4569018A (en) | Digital data processing system having dual-purpose scratchpad and address translation memory | |
| US4445172A (en) | Data steering logic for the output of a cache memory having an odd/even bank structure | |
| US5469551A (en) | Method and apparatus for eliminating branches using conditional move instructions | |
| JPH02207351A (ja) | データ路の巾が予め定められたコンピュータシステムのデータ記憶レートを増加する方法及び装置 | |
| US4392201A (en) | Diagnostic subsystem for a cache memory | |
| EP0066084B1 (en) | Microinstruction substitution mechanism in a control store | |
| US4363095A (en) | Hit/miss logic for a cache memory | |
| JPH044618B2 (ja) | ||
| US4597041A (en) | Method and apparatus for enhancing the operation of a data processing system | |
| US4991083A (en) | Method and system for extending address space for vector processing | |
| US6757809B1 (en) | Data processor having 2n bits width data bus for context switching functions | |
| US5414821A (en) | Method of and apparatus for rapidly loading addressing environment by checking and loading multiple registers using a specialized instruction |