JPH0578050B2 - - Google Patents
Info
- Publication number
- JPH0578050B2 JPH0578050B2 JP8161556A JP6155681A JPH0578050B2 JP H0578050 B2 JPH0578050 B2 JP H0578050B2 JP 8161556 A JP8161556 A JP 8161556A JP 6155681 A JP6155681 A JP 6155681A JP H0578050 B2 JPH0578050 B2 JP H0578050B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- bits
- instruction
- bit
- logic
- 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
- 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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
- G06F12/0857—Overlapped cache accessing, e.g. pipeline by multiple requestors
-
- 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
-
- 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/14—Error detection or correction of the data by redundancy in operations
-
- 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/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
-
- 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
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
-
- 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/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (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
およびEllipseシステムにおいて現在使用可能な
実質的に全ての利用可能な基本命令を含むと共
に、増加した即ち拡張された論理アドレス・スペ
ースの利点を有する多数の余分な即ち拡張された
命令をも含むことが可能である。 従つて、このような改善されたシステムは、実
質的な投資であるNovaおよびEllipseのソフトウ
エア・ライブラリを現在保有する者が、更に改善
された拡張アドレス・システムにおいてこのよう
なソフトウエアを使用できるように、Novaおよ
びEclipseシステムにおいて使用するため既に設
計されたソフトウエアに応答するよう構成される
べきである。この改良されたシステムは又、更に
多数のオン・ライン・ターミナルにおける更に多
くのオン・ライン・ユーザがこのシステムを利用
できるように、合理的なコストで性能における更
に大きな適応性を提供することになろう。拡張さ
れたアドレス・スペースは更に、システムが特に
そのために構成された更に広範囲で複雑なプログ
ラムを維持すると共に、拡張されないNova又は
Eclipseシステムにより維持される以前のプログ
ラム全てを維持することを許容することになる。 本発明のシステムは中央処理装置と記憶装置の
独特な組合せを使用し、この中央処理装置はアド
レス変換装置と命令処理装置と演算論理装置とマ
イクロ順序付け(シーケンス)装置を含み、記憶
装置はシステム・カツシエ装置と主記憶装置とそ
の間のデータ転送を制御するためのバンク制御装
置を含む。本システムは、16ビツト又は32ビツト
のアドレスから得ることができる32ビツトの論理
アドレスを取扱う。32ビツトの論理アドレスを変
換するための専用装置が設けられる。本システム
は、情報が異なるセグメントの記憶域(リング)
に記憶される階層記憶域を使用し、このリングに
対するアクセスは異なるリングに対するアクセス
が異なる特権レベルにより支配されるように特権
方式で制御される。 記憶システムは各々が複数の記憶面を有する複
数の記憶モジユールを含む主記憶装置を使用す
る。主記憶装置は通常2重ポート・システム・カ
ツシエ記憶装置を介してシステムの残部とインタ
ーフエースし、主記憶装置とシステム・カツシエ
間のブロツク・データ転送はバンク制御装置によ
つて制御される。 マクロ命令は、2つのタイプの命令、即ち第1
の基本命令セツトからの命令又は第2の拡張命令
セツトからの命令の復号が可能な独自のプログラ
ム可能読出し専用記憶装置を用いて復号され、復
号されつゝある命令はどのタイプの命令が復号さ
れるかを一義的に識別する選択されたビツト・パ
ターンを自蔵する。 復号された命令は1つ以上のマイクロ命令の開
始アドレスを提供し、この開始アドレスは独自の
マイクロ命令順序付け装置に与えられ、この順序
付け装置は次に続くマイクロ命令のアドレスを決
定するため各マイクロ命令の選択されたフイール
ドを適当に復号し、このようなアドレスは適当に
複数個のマイクロアドレス・ソースから選択され
る。 本システム全体は、この全システム本来の独自
の諸操作を実施するあるマクロ命令に応答する装
置を含む。 本発明については添付図面の助けにより更に詳
細に説明する。 特定の図面が1枚以上の図を必要とする前記図
面について注意すれば、後続の各図は同じ図番に
続いて接尾辞を付して示される(例、第5図(最
初の図に対して)、第5A図(2枚目の図に対し
て)……等となる。)。 本発明のシステムの特定の構成について説明す
る前に、必要な特性が説明できかつ特定の構成の
説明が更に良く説明できるように、比較的一般的
な事柄について全体的概念を論述することが有益
であろう。 本発明のシステムの重要な特質は、前述の如
く、利用可能な論理アドレス・スペースのサイズ
である。従来の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)アキユムレータへの記憶の
ために付加され得る1つの零のビツトとともに、
プログラムカウンタの上位3ビツトを付加され
る、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つのアドレスを含む。目的物をスタツクか
らポツプするスタツク操作の後、スタツク・ポイ
ンタはスタツク・ベースと比較される。もしスタ
ツク・ポインタがスタツク・ベースより小さけれ
ば、スタツク障害が信号される。 メモリー管理レジスタ 8つのレジスタがメモリーの管理のため使用さ
れ、このようなレジスタはそれぞれ32ビツトの精
度を有するセグメント基底レジスタ(SBR)と
して表示され、メモリーはその8つのセグメント
即ちリングに分割される。本文に説明したシステ
ムのSBRは、本システムのアドレス変換装置
(ATU)におけるスクラツチ・パツド・レジスタ
の一部として形成される。各SBRの1ビツトは、
これと関連するセグメントが参照され得るかどう
か(即ち、このようなセグメントに対する参照が
妥当かどうか)を表示する。別のビツトは、セグ
メント・オフセツト・フイールドの最大長さ、即
ちこの参照が1レベルのページ表であるか、2レ
ベルのページ表であるかを表示する。各セグメン
トの基底レジスタの第3のビツトは、Nova/
Eclipse I/0命令の有効アドレスをロードする
ためのNova/Eclipse命令が実行中であるかどう
かを表示する。別のビツトは「保護」ビツトを表
わし、これはI/0命令が実行可能かどうか、あ
るいはその実行がこのセグメントに与えられた保
護に対する違反となるかどうかを表示する。ビツ
トの内の19ビツトは表示されたページ表のメモリ
ーにおける物理的アドレスを識別する物理的アド
レスを含む。 全体システム 本発明の望ましい実施態様のブロツク図は第1
図に示される。本システムの中央処理装置
(CPU)部分は、演算論理装置(ALU)11と、
命令処理装置12と、マイクロ順序付け装置13
と、アドレス変換装置(ATU)14を含む。記
憶システムは、主記憶装置16と、補助カツシエ
記憶装置17と、バンク制御装置18として識別
されるメモリ−制御装置とを含む。CPUのアド
レス・バス19は、命令処理装置12と、アドレ
ス変換装置14および記憶システム間のアドレス
の転送を許容する。制御プロセサ・メモリー
(CPM)バス20は、演算論理装置11と、命令
処理装置12と、アドレス変換装置14と、記憶
システム15間の命令およびオペランドの転送を
許容する。 I/0アドレス・バス21およびI/0メモリ
ー/データ・バス22は、I/0チヤネル装置2
3を介するI/0素子に対するアドレスおよびデ
ータのそれぞれの転送、および記憶システムと制
御盤制御処理装置24間のこれ等の転送を可能に
する。システム全体の各装置間の制御信号の転送
のための適当な制御バスは、以下に更に詳細に説
明するバス25〜31として提供される。適当な
テレタイプおよびフロツピー・デイスクシステム
33と34はそれぞれ、特に適当なマイクロプロ
セサ・コンピユータ35による制御盤制御処理装
置24を介する診断操作モードにおいて本システ
ムにより使用可能である。 本文において説明される本システムの進歩性の
ある特質については、記憶システム、アドレス変
換装置、命令処理装置およびマイクロ順序付け装
置の更に詳細な論議を必要とする。演算論理装
置、制御盤制御処理装置およびその関連する制御
部を有するI/0チヤネル装置は詳細に説明する
必要はない。 記憶システム 本発明の望ましい実施態様によれば、記憶シス
テムは、2メガバイト以下の主記憶装置16を含
み、必要に応じて本システムは例えば4メガバイ
ト等に更に拡張可能である。1000万バイトのメモ
リー迄システムの拡張を可能にするため物理アド
レス・フイールドには十分なビツトが残されるこ
とに注目すべきである。主記憶装置16とシステ
ムの残部の間のインターフエースは2重ポート・
カツシエ記憶装置17を介し、データは16バイト
のブロツクで主記憶装置とカツシエ記憶装置間で
転送される。このカツシエ記憶装置は、これを命
令処理装置における別個のカツシエ・メモリーと
識別するため通常「システム・カツシエ」(SYS
CACHE)と呼ばれ、この別のカツシエ・メモリ
ーは通常「命令カツシエ」(I CACHE)装置
と呼ばれる。このシステムカツシエ装置17は、
その2つのポートの内のポート17Aでデータ転
送のためのCPU要求を取扱い、かつそのポート
17BでI/0システムからの要求を取扱う。
CPUデータ転送は、「バイト同志整合された」転
送、「ワード同志整合された」転送および2倍ワ
ード転送を含み得る。I/0データ転送は、「ワ
ード同志整合された」転送、「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つの主な
機能を有する。先ず第一に、これはシステム・カ
ツシエ17と主記憶装置16の記憶モジユールと
の間のインターフエースを提供する。第2に、こ
の制御ボードは必要な誤り検査および訂正操作を
行い、第3に各記憶モジユールの動的RAMのリ
フレツシユ操作を制御する。システム・カツシエ
とバンク制御ボードとの間のインターフエースの
詳細については以下に更に詳細に論述する。 バンク制御ボードの誤り検査および訂正ロジツ
クは当技術において周知の如く7ビツトの誤り訂
正ハミング・コードを用いて単一ビツトの誤り訂
正と2ビツトの誤り検出を行う。各ビツト・デー
タ・ワードに対して生成された7ビツトの検査ビ
ツトは主記憶装置モジユールにおけるこのような
ワードと共に記憶される。このワードがその後メ
モリーから読出される時、39ビツトの全てが復号
されて7ビツトの症候群ビツトのパターンを生じ
るよう復号され、このパターンはもし単一ビツト
が誤りであるならばどれが誤りであるかを識別
し、1つ以上のビツトが誤りである時はそれを表
示する。訂正可能な単一ビツト誤りが生じる時、
制御ボードの制御処理装置24が障害のあるビツ
トのアドレスおよび症候群ビツト・パターンを与
えられる。このデータはこれと同時に訂正され、
システムのクロツク期間、例えば公知の誤り訂正
操作によれば特定の実施態様では110ナノ秒と等
しい固定された時間的遅延の後システム・カツシ
エに対して送られ、パイプライン操作における残
るワードは、信号BL ERRORとして識別される
適当な禁止信号の使用により訂正された信号が使
用可能となる迄転送されることを阻止される。 単一ビツトの誤りが多重ビツトの誤りにならな
いように単一ビツトの誤りの実質的に即時の訂正
が望ましい。訂正されたデータが読出されて誤り
であることが判つた時だけこのデータがメモリー
に書戻される従来周知の手法が使用可能である。
このような手法の場合2つの問題が生じる。第一
に、瀕繁には読出されない記憶場所は瀕繁に訂正
されず、第二にもし故障が瀕繁にアクセスされる
記憶場所において生じるならばこの故障の訂正の
試みにかなりの時間が浪費され得ることである。
本発明のシステムは、各々の主記憶場所が検査さ
れて必要に応じて2秒毎に1回訂正されるように
全ての主記憶装置の場所をモニターするための別
のプロセスを用いることによりこのような問題を
避けることができる。このような検査はメモリー
のリフレツシユ・サイクルの間行われ、システム
に対するメモリーの可用度を減殺することはな
い。このような手法の詳細な説明は、参考のため
本文に引用される同時に出願されたM.Ziegler.
M.Druke.W.BaxerおよびJ.Van Roeckleの米国
特許出願に開示されている。 システム・カツシエ装置17は主記憶装置16
と本システムの残部との間の唯一の結合を表わ
し、一方は主としてCPUの要求を取扱うため、
他方は主としてI/0要求を取扱うための前記の
如き2つの要求側ポート17A,17Bと主記憶
装置とを結合するための記憶システム・ポート3
8からなる。システム・カツシエボードは又、
I/0ポートと、その間の直接のブロツク転送を
行う記憶システム・ポートとの間に間接的なアク
セス経路39を提供する。カツシエ・ボード17
は又、I/0又はCPU要求ボートのいずれかか
らアクセス可能な16バイトのブロツク・サイズを
有する16キロバイトの直接マツプされた高速カツ
シエ・データ・ストア40を含む。システム・カ
ツシエ装置17、バンク制御装置18および主記
憶装置16の典型的な記憶モジユールにおいて使
用されるロジツクのブロツク図は第2図乃至第4
図に示される。 第2図において示される如く、システム・カツ
シエ・データ・ストア40は、主記憶装置により
直接取扱われるI/0ポートからのブロツク転送
要求以外の、メモリーからのデータに対する全て
の要求を受取る。前述の特定の実施態様において
は、カツシエ・データ・ストアはCPORT17A
又はIPORT17Bのアドレス入力でデータ・ア
ドレスを受取り、このアドレスはCPORTアドレ
ス・レジスタ41又はIPORTアドレス・レジス
タ42のいずれかにおかれる。入力アドレスは下
記の如くタツグ部分と、指標部分と、ワード・ポ
インタ部分とを含む。即ち、
の僅か16ビツトの論理アドレスを取扱うシステム
のそれよりもそれ程増加しないサイズおよびコス
トで32ビツトの論理アドレスの取扱いが可能なシ
ステムに関する。 屡々「ミニ・コンピユータ」クラスに属するも
のとされる今日使用可能なデータ処理システム
は、通常長さが16ビツトである論理アドレスおよ
びデータ・ワードを取扱う。当業者により時に
「仮想」アドレスと呼ばれる本文中に用いた用語
「論理アドレス」は、プログラマが操作すること
ができるアドレスであるプログラマ・ビジブルな
アドレスを示すために使用される。これと対照的
に、「物理」アドレスは1つのデータ処理システ
ムの主記憶装置におけるデータの場所のアドレス
である。データ処理システムの操作は論理アドレ
スを物理アドレスに変換するための適当な変換テ
ーブルを使用する。 このようなミニ・コンピユータは多くの用途に
おいて成功裡に使用され、合理的なコストで高度
のデータ処理能力を提供する。市場において好評
を拍したこのようなシステムの事例としては、米
国のマサチユーセツツ州ウエストボロ市のData
General Corp.が設計開発した「Nova」および
「Eclipse」システムとして知られるものがある。
NavaおよびEclipseシリーズのミニ・コンピユー
タについては、本明細書の一部として含まれる別
紙1に列挙されたData General Corp.から入手
可能な文献に記載されている。 このNovaシステムは64キロバイト(この接頭
辞「キロ」とは更に正確には1024即ち210を示す)
の論理アドレス・スペースを提供し、Eclipseシ
ステムは又64ビツトの論理アドレス・スペースを
提供し、この両者は共に合理的なコストにおいて
多くの用途に向くシステムであることが証明され
ている。改良システムの開発においては、現在
NovaおよびEclipseシステムにおいて利用可能な
ものより更に大きな論理アドレス・スペースに然
るべき拡大をもたらすことが望ましい。このよう
な拡張された論理アドレス基底により更に大きな
命令セツトをシステムが使用することを可能に
し、この拡張された命令セツトは、従来のNova
およびEllipseシステムにおいて現在使用可能な
実質的に全ての利用可能な基本命令を含むと共
に、増加した即ち拡張された論理アドレス・スペ
ースの利点を有する多数の余分な即ち拡張された
命令をも含むことが可能である。 従つて、このような改善されたシステムは、実
質的な投資であるNovaおよびEllipseのソフトウ
エア・ライブラリを現在保有する者が、更に改善
された拡張アドレス・システムにおいてこのよう
なソフトウエアを使用できるように、Novaおよ
びEclipseシステムにおいて使用するため既に設
計されたソフトウエアに応答するよう構成される
べきである。この改良されたシステムは又、更に
多数のオン・ライン・ターミナルにおける更に多
くのオン・ライン・ユーザがこのシステムを利用
できるように、合理的なコストで性能における更
に大きな適応性を提供することになろう。拡張さ
れたアドレス・スペースは更に、システムが特に
そのために構成された更に広範囲で複雑なプログ
ラムを維持すると共に、拡張されないNova又は
Eclipseシステムにより維持される以前のプログ
ラム全てを維持することを許容することになる。 本発明のシステムは中央処理装置と記憶装置の
独特な組合せを使用し、この中央処理装置はアド
レス変換装置と命令処理装置と演算論理装置とマ
イクロ順序付け(シーケンス)装置を含み、記憶
装置はシステム・カツシエ装置と主記憶装置とそ
の間のデータ転送を制御するためのバンク制御装
置を含む。本システムは、16ビツト又は32ビツト
のアドレスから得ることができる32ビツトの論理
アドレスを取扱う。32ビツトの論理アドレスを変
換するための専用装置が設けられる。本システム
は、情報が異なるセグメントの記憶域(リング)
に記憶される階層記憶域を使用し、このリングに
対するアクセスは異なるリングに対するアクセス
が異なる特権レベルにより支配されるように特権
方式で制御される。 記憶システムは各々が複数の記憶面を有する複
数の記憶モジユールを含む主記憶装置を使用す
る。主記憶装置は通常2重ポート・システム・カ
ツシエ記憶装置を介してシステムの残部とインタ
ーフエースし、主記憶装置とシステム・カツシエ
間のブロツク・データ転送はバンク制御装置によ
つて制御される。 マクロ命令は、2つのタイプの命令、即ち第1
の基本命令セツトからの命令又は第2の拡張命令
セツトからの命令の復号が可能な独自のプログラ
ム可能読出し専用記憶装置を用いて復号され、復
号されつゝある命令はどのタイプの命令が復号さ
れるかを一義的に識別する選択されたビツト・パ
ターンを自蔵する。 復号された命令は1つ以上のマイクロ命令の開
始アドレスを提供し、この開始アドレスは独自の
マイクロ命令順序付け装置に与えられ、この順序
付け装置は次に続くマイクロ命令のアドレスを決
定するため各マイクロ命令の選択されたフイール
ドを適当に復号し、このようなアドレスは適当に
複数個のマイクロアドレス・ソースから選択され
る。 本システム全体は、この全システム本来の独自
の諸操作を実施するあるマクロ命令に応答する装
置を含む。 本発明については添付図面の助けにより更に詳
細に説明する。 特定の図面が1枚以上の図を必要とする前記図
面について注意すれば、後続の各図は同じ図番に
続いて接尾辞を付して示される(例、第5図(最
初の図に対して)、第5A図(2枚目の図に対し
て)……等となる。)。 本発明のシステムの特定の構成について説明す
る前に、必要な特性が説明できかつ特定の構成の
説明が更に良く説明できるように、比較的一般的
な事柄について全体的概念を論述することが有益
であろう。 本発明のシステムの重要な特質は、前述の如
く、利用可能な論理アドレス・スペースのサイズ
である。従来の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)アキユムレータへの記憶の
ために付加され得る1つの零のビツトとともに、
プログラムカウンタの上位3ビツトを付加され
る、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つのアドレスを含む。目的物をスタツクか
らポツプするスタツク操作の後、スタツク・ポイ
ンタはスタツク・ベースと比較される。もしスタ
ツク・ポインタがスタツク・ベースより小さけれ
ば、スタツク障害が信号される。 メモリー管理レジスタ 8つのレジスタがメモリーの管理のため使用さ
れ、このようなレジスタはそれぞれ32ビツトの精
度を有するセグメント基底レジスタ(SBR)と
して表示され、メモリーはその8つのセグメント
即ちリングに分割される。本文に説明したシステ
ムのSBRは、本システムのアドレス変換装置
(ATU)におけるスクラツチ・パツド・レジスタ
の一部として形成される。各SBRの1ビツトは、
これと関連するセグメントが参照され得るかどう
か(即ち、このようなセグメントに対する参照が
妥当かどうか)を表示する。別のビツトは、セグ
メント・オフセツト・フイールドの最大長さ、即
ちこの参照が1レベルのページ表であるか、2レ
ベルのページ表であるかを表示する。各セグメン
トの基底レジスタの第3のビツトは、Nova/
Eclipse I/0命令の有効アドレスをロードする
ためのNova/Eclipse命令が実行中であるかどう
かを表示する。別のビツトは「保護」ビツトを表
わし、これはI/0命令が実行可能かどうか、あ
るいはその実行がこのセグメントに与えられた保
護に対する違反となるかどうかを表示する。ビツ
トの内の19ビツトは表示されたページ表のメモリ
ーにおける物理的アドレスを識別する物理的アド
レスを含む。 全体システム 本発明の望ましい実施態様のブロツク図は第1
図に示される。本システムの中央処理装置
(CPU)部分は、演算論理装置(ALU)11と、
命令処理装置12と、マイクロ順序付け装置13
と、アドレス変換装置(ATU)14を含む。記
憶システムは、主記憶装置16と、補助カツシエ
記憶装置17と、バンク制御装置18として識別
されるメモリ−制御装置とを含む。CPUのアド
レス・バス19は、命令処理装置12と、アドレ
ス変換装置14および記憶システム間のアドレス
の転送を許容する。制御プロセサ・メモリー
(CPM)バス20は、演算論理装置11と、命令
処理装置12と、アドレス変換装置14と、記憶
システム15間の命令およびオペランドの転送を
許容する。 I/0アドレス・バス21およびI/0メモリ
ー/データ・バス22は、I/0チヤネル装置2
3を介するI/0素子に対するアドレスおよびデ
ータのそれぞれの転送、および記憶システムと制
御盤制御処理装置24間のこれ等の転送を可能に
する。システム全体の各装置間の制御信号の転送
のための適当な制御バスは、以下に更に詳細に説
明するバス25〜31として提供される。適当な
テレタイプおよびフロツピー・デイスクシステム
33と34はそれぞれ、特に適当なマイクロプロ
セサ・コンピユータ35による制御盤制御処理装
置24を介する診断操作モードにおいて本システ
ムにより使用可能である。 本文において説明される本システムの進歩性の
ある特質については、記憶システム、アドレス変
換装置、命令処理装置およびマイクロ順序付け装
置の更に詳細な論議を必要とする。演算論理装
置、制御盤制御処理装置およびその関連する制御
部を有するI/0チヤネル装置は詳細に説明する
必要はない。 記憶システム 本発明の望ましい実施態様によれば、記憶シス
テムは、2メガバイト以下の主記憶装置16を含
み、必要に応じて本システムは例えば4メガバイ
ト等に更に拡張可能である。1000万バイトのメモ
リー迄システムの拡張を可能にするため物理アド
レス・フイールドには十分なビツトが残されるこ
とに注目すべきである。主記憶装置16とシステ
ムの残部の間のインターフエースは2重ポート・
カツシエ記憶装置17を介し、データは16バイト
のブロツクで主記憶装置とカツシエ記憶装置間で
転送される。このカツシエ記憶装置は、これを命
令処理装置における別個のカツシエ・メモリーと
識別するため通常「システム・カツシエ」(SYS
CACHE)と呼ばれ、この別のカツシエ・メモリ
ーは通常「命令カツシエ」(I CACHE)装置
と呼ばれる。このシステムカツシエ装置17は、
その2つのポートの内のポート17Aでデータ転
送のためのCPU要求を取扱い、かつそのポート
17BでI/0システムからの要求を取扱う。
CPUデータ転送は、「バイト同志整合された」転
送、「ワード同志整合された」転送および2倍ワ
ード転送を含み得る。I/0データ転送は、「ワ
ード同志整合された」転送、「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つの主な
機能を有する。先ず第一に、これはシステム・カ
ツシエ17と主記憶装置16の記憶モジユールと
の間のインターフエースを提供する。第2に、こ
の制御ボードは必要な誤り検査および訂正操作を
行い、第3に各記憶モジユールの動的RAMのリ
フレツシユ操作を制御する。システム・カツシエ
とバンク制御ボードとの間のインターフエースの
詳細については以下に更に詳細に論述する。 バンク制御ボードの誤り検査および訂正ロジツ
クは当技術において周知の如く7ビツトの誤り訂
正ハミング・コードを用いて単一ビツトの誤り訂
正と2ビツトの誤り検出を行う。各ビツト・デー
タ・ワードに対して生成された7ビツトの検査ビ
ツトは主記憶装置モジユールにおけるこのような
ワードと共に記憶される。このワードがその後メ
モリーから読出される時、39ビツトの全てが復号
されて7ビツトの症候群ビツトのパターンを生じ
るよう復号され、このパターンはもし単一ビツト
が誤りであるならばどれが誤りであるかを識別
し、1つ以上のビツトが誤りである時はそれを表
示する。訂正可能な単一ビツト誤りが生じる時、
制御ボードの制御処理装置24が障害のあるビツ
トのアドレスおよび症候群ビツト・パターンを与
えられる。このデータはこれと同時に訂正され、
システムのクロツク期間、例えば公知の誤り訂正
操作によれば特定の実施態様では110ナノ秒と等
しい固定された時間的遅延の後システム・カツシ
エに対して送られ、パイプライン操作における残
るワードは、信号BL ERRORとして識別される
適当な禁止信号の使用により訂正された信号が使
用可能となる迄転送されることを阻止される。 単一ビツトの誤りが多重ビツトの誤りにならな
いように単一ビツトの誤りの実質的に即時の訂正
が望ましい。訂正されたデータが読出されて誤り
であることが判つた時だけこのデータがメモリー
に書戻される従来周知の手法が使用可能である。
このような手法の場合2つの問題が生じる。第一
に、瀕繁には読出されない記憶場所は瀕繁に訂正
されず、第二にもし故障が瀕繁にアクセスされる
記憶場所において生じるならばこの故障の訂正の
試みにかなりの時間が浪費され得ることである。
本発明のシステムは、各々の主記憶場所が検査さ
れて必要に応じて2秒毎に1回訂正されるように
全ての主記憶装置の場所をモニターするための別
のプロセスを用いることによりこのような問題を
避けることができる。このような検査はメモリー
のリフレツシユ・サイクルの間行われ、システム
に対するメモリーの可用度を減殺することはな
い。このような手法の詳細な説明は、参考のため
本文に引用される同時に出願されたM.Ziegler.
M.Druke.W.BaxerおよびJ.Van Roeckleの米国
特許出願に開示されている。 システム・カツシエ装置17は主記憶装置16
と本システムの残部との間の唯一の結合を表わ
し、一方は主としてCPUの要求を取扱うため、
他方は主としてI/0要求を取扱うための前記の
如き2つの要求側ポート17A,17Bと主記憶
装置とを結合するための記憶システム・ポート3
8からなる。システム・カツシエボードは又、
I/0ポートと、その間の直接のブロツク転送を
行う記憶システム・ポートとの間に間接的なアク
セス経路39を提供する。カツシエ・ボード17
は又、I/0又はCPU要求ボートのいずれかか
らアクセス可能な16バイトのブロツク・サイズを
有する16キロバイトの直接マツプされた高速カツ
シエ・データ・ストア40を含む。システム・カ
ツシエ装置17、バンク制御装置18および主記
憶装置16の典型的な記憶モジユールにおいて使
用されるロジツクのブロツク図は第2図乃至第4
図に示される。 第2図において示される如く、システム・カツ
シエ・データ・ストア40は、主記憶装置により
直接取扱われるI/0ポートからのブロツク転送
要求以外の、メモリーからのデータに対する全て
の要求を受取る。前述の特定の実施態様において
は、カツシエ・データ・ストアはCPORT17A
又はIPORT17Bのアドレス入力でデータ・ア
ドレスを受取り、このアドレスはCPORTアドレ
ス・レジスタ41又はIPORTアドレス・レジス
タ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/0ポート操作が仮
にデータ・ストア40において既に緩衝されたブ
ロツクの内容を修飾する主記憶装置に対するブロ
ツク「書込み」を要求するものとすれば、このブ
ロツクの妥当フラツグはそのデータがもはや妥当
ではないことを表示するようにリセツトされるこ
とになる。 「修飾」フラツグMは、データ・ストア・ブロ
ツクの内容が修飾されたことを表示する。もしあ
るデータ・ブロツクが主記憶装置からの新しいデ
ータ・ブロツクに対する余地を作るためにデー
タ・ストア40から取除かれるならば、この取り
除かれるデータ・ブロツクは、修飾されたデー
タ・フラツグがセツトされているとすれば、主記
憶装置に書戻される。 第2のタツグ・ストア装置44はシステム・カ
ツシエボード上に示されるが、このタツグ・スト
アは以下に説明する命令カツシエ(ICACHE)
のタツグ・ストアと同じものである。ICACHE
タツグ・ストアは、メモリーに対する書込みが何
時命令処理装置における命令カツシエの内容に影
響を及ぼすかを判定するためシステム・カツシエ
ボード上で使用される。このような効果が入力ア
ドレスおよびICACHEアドレスのコンパレータ
45における比較により示される如く生じるなら
ば、システム・カツシエは第2図に示される如く
「命令カツシエ書込み」信号を存続させることに
より命令処理装置に警告し、命令処理ボードにお
ける命令カツシエ(ICACHE)にこのように修
飾されたブロツクの場所を通知する。 システム・カツシエの作用においては全ての要
求は「読出し」要求であるものと最初に仮定され
るが、これは仮に「書込み」要求が生じても、書
込み操作が実施される前に書込まれるべきデータ
が読出されて修飾される(「読出し/修飾/書込
み」操作)ことを必要とすることがあり得るため
である。もし1つの要求が入力ポートに受取られ
る時システム・カツシエが使用中でなければ、デ
ータ・ストア40とタツグ・ストア43は前述の
如く受取つた入力アドレスの適当部分を用いて同
時にアクセスされる。アドレス指定されたデー
タ・ストア40における場所からのデータは、書
込みデータ・レジスタ46の内容が次のサイクル
においてマルチプレクサ47およびバス・ドライ
バ装置49を介してバス上に使用可能になり得る
ようなデータ転送が記憶装置に対する書き込み操
作であるならば、マルチプレクサ48を介してカ
ツシエ書込みデータ・レジスタ46にロードされ
る。もしこのデータが読出し操作であれば、デー
タ・ストア40からのデータ出力は要求される如
くそれぞれマルチプレクサ48およびドライバ装
置50,51を介してCPORT又はIPORTに提
供される。 タツグ・ストア43からのデータは最初に要求
されたデータが実際にデータ・ストア40にある
かどうかを判定するため検査される。タツグスト
アから読出されるワードのタツグ部分は、要求側
により提供されたアドレスのタツグ部分とコンパ
レータ52において比較され、有効フラツグはこ
れがセツトされたことを知るため検査される。も
しこのような比較が成功すれば(システム・カツ
シエの「的中」)、データ・ストア40からのデー
タは所要のデータであり、要求側はこれを受取る
こと、あるいはこれをメモリーに書込むことを許
容される。もしこの比較が失敗すれば(システ
ム・カツシエの「外れ」)、要求されたデータ・ブ
ロツクはカツシエ・データ・ストア40にはな
く、主記憶装置から持つて来なければならない。
このような状態の発生は「カツシエ障害」条件と
呼ばれ、このような障害が生じる時は、要求側は
この障害が解消された後迄データにローデイング
することを禁止される。 一たん要求側に対してデータが使用可能となれ
ば要求側はデータの受入れを要求することを信号
しなければならず、データが最初に使用可能にな
る時要求側がこの動作を行わなければ、要求側が
データを受入れる意図を表示する迄読出し操作は
反復される。 データ・ストア40におけるデータに対するア
クセスは完了迄に2システム・クロツク・サイク
ルを必要とするため、要求側から受取る如きカツ
シエ・アドレスが2つのアクセスが何時でも進行
中であり得るように「パイプ・ライン」化するこ
とができる。入力ポートの1つのアクセスを他の
入力ポートのそれと関連付けることによつてアク
セス要求をパイプ・ライン化すると云うこの能力
が長所となる。基本的なシステム・クロツクの周
波数の半分の周波数を有する適当なクロツキング
信号を用いて任意の時刻にどちらの要求側ポート
がカツシエ・データ・ストアをアクセスすること
を許容されたかを表示する。その結果、カツシエ
障害期間中を除いてCPUとI/0ポート・アク
セス間には干渉がない。唯一の例外は、I/0ポ
ートおよびCPUポートの相方が同時に同じデー
タ・ストア・ブロツクをアクセスするプロセスに
あることが許されないことである。読出し操作に
対するポート間の関連する操作の一例を以下に論
述する。記述する特定の事例においては、CPU
ポートの要求側は、読出し反復が生じるように
CPUポートの要求側は最初の機会にデータをと
ることは選択しない。
つの最下位ビツト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/0ポート操作が仮
にデータ・ストア40において既に緩衝されたブ
ロツクの内容を修飾する主記憶装置に対するブロ
ツク「書込み」を要求するものとすれば、このブ
ロツクの妥当フラツグはそのデータがもはや妥当
ではないことを表示するようにリセツトされるこ
とになる。 「修飾」フラツグMは、データ・ストア・ブロ
ツクの内容が修飾されたことを表示する。もしあ
るデータ・ブロツクが主記憶装置からの新しいデ
ータ・ブロツクに対する余地を作るためにデー
タ・ストア40から取除かれるならば、この取り
除かれるデータ・ブロツクは、修飾されたデー
タ・フラツグがセツトされているとすれば、主記
憶装置に書戻される。 第2のタツグ・ストア装置44はシステム・カ
ツシエボード上に示されるが、このタツグ・スト
アは以下に説明する命令カツシエ(ICACHE)
のタツグ・ストアと同じものである。ICACHE
タツグ・ストアは、メモリーに対する書込みが何
時命令処理装置における命令カツシエの内容に影
響を及ぼすかを判定するためシステム・カツシエ
ボード上で使用される。このような効果が入力ア
ドレスおよびICACHEアドレスのコンパレータ
45における比較により示される如く生じるなら
ば、システム・カツシエは第2図に示される如く
「命令カツシエ書込み」信号を存続させることに
より命令処理装置に警告し、命令処理ボードにお
ける命令カツシエ(ICACHE)にこのように修
飾されたブロツクの場所を通知する。 システム・カツシエの作用においては全ての要
求は「読出し」要求であるものと最初に仮定され
るが、これは仮に「書込み」要求が生じても、書
込み操作が実施される前に書込まれるべきデータ
が読出されて修飾される(「読出し/修飾/書込
み」操作)ことを必要とすることがあり得るため
である。もし1つの要求が入力ポートに受取られ
る時システム・カツシエが使用中でなければ、デ
ータ・ストア40とタツグ・ストア43は前述の
如く受取つた入力アドレスの適当部分を用いて同
時にアクセスされる。アドレス指定されたデー
タ・ストア40における場所からのデータは、書
込みデータ・レジスタ46の内容が次のサイクル
においてマルチプレクサ47およびバス・ドライ
バ装置49を介してバス上に使用可能になり得る
ようなデータ転送が記憶装置に対する書き込み操
作であるならば、マルチプレクサ48を介してカ
ツシエ書込みデータ・レジスタ46にロードされ
る。もしこのデータが読出し操作であれば、デー
タ・ストア40からのデータ出力は要求される如
くそれぞれマルチプレクサ48およびドライバ装
置50,51を介してCPORT又はIPORTに提
供される。 タツグ・ストア43からのデータは最初に要求
されたデータが実際にデータ・ストア40にある
かどうかを判定するため検査される。タツグスト
アから読出されるワードのタツグ部分は、要求側
により提供されたアドレスのタツグ部分とコンパ
レータ52において比較され、有効フラツグはこ
れがセツトされたことを知るため検査される。も
しこのような比較が成功すれば(システム・カツ
シエの「的中」)、データ・ストア40からのデー
タは所要のデータであり、要求側はこれを受取る
こと、あるいはこれをメモリーに書込むことを許
容される。もしこの比較が失敗すれば(システ
ム・カツシエの「外れ」)、要求されたデータ・ブ
ロツクはカツシエ・データ・ストア40にはな
く、主記憶装置から持つて来なければならない。
このような状態の発生は「カツシエ障害」条件と
呼ばれ、このような障害が生じる時は、要求側は
この障害が解消された後迄データにローデイング
することを禁止される。 一たん要求側に対してデータが使用可能となれ
ば要求側はデータの受入れを要求することを信号
しなければならず、データが最初に使用可能にな
る時要求側がこの動作を行わなければ、要求側が
データを受入れる意図を表示する迄読出し操作は
反復される。 データ・ストア40におけるデータに対するア
クセスは完了迄に2システム・クロツク・サイク
ルを必要とするため、要求側から受取る如きカツ
シエ・アドレスが2つのアクセスが何時でも進行
中であり得るように「パイプ・ライン」化するこ
とができる。入力ポートの1つのアクセスを他の
入力ポートのそれと関連付けることによつてアク
セス要求をパイプ・ライン化すると云うこの能力
が長所となる。基本的なシステム・クロツクの周
波数の半分の周波数を有する適当なクロツキング
信号を用いて任意の時刻にどちらの要求側ポート
がカツシエ・データ・ストアをアクセスすること
を許容されたかを表示する。その結果、カツシエ
障害期間中を除いてCPUとI/0ポート・アク
セス間には干渉がない。唯一の例外は、I/0ポ
ートおよび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/0ポートにおける
データ転送は、転送されるべきI/0ブロツクと
同じ指標を有するデータのアクセスの過程に
CPUポートがある時は許容されない。データ読
出し/修飾/書込み転送も又本システムにより許
容されない。 第2図に示される全システム・カツシエのブロ
ツク図において、CPU要求ポートおよびI/0
要求ポートに対する入力レジスタはデータ・レジ
スタ54と55として示される。このようなレジ
スタにおけるデータと関連するアドレスはCPU
アドレス・レジスタ41とI/0アドレス・レジ
スタ42に与えられ、各アドレスは前に述べた如
き指標、タツグおよびワードの各ポインタを含ん
でいる。 第2図に示されたシステム・カツシエボード1
7の特定ロジツク図は第5図乃至第43図に示さ
れ、これ等の図にはこれに示されるシステム・カ
ツシエ17の各部分の特定の実施態様を更に詳細
に示すように適当な表示がなされている。 第5図はカツシエ・データ・ストア40を示
し、第6図はタツグ・ストア43を、第7図は
ICACHEタツグ・ストア複写装置44を、第8
図はタツグ・ストア・コンパレータ52を、第9
図はICACHEタツグ・ストア・コンパレータ4
5を、第10図はCPORTおよびIPORTレジス
タ41,42と書戻しタツグ装置を、第11図お
よび第12図は第2図のINDEX SV WP SV装
置を、第13図はINDEXおよびWPマルチプレ
クサ装置を、第14図はデータ書込みレジスタ4
0Aを、第15図はマルチプレクサ装置48とこ
のマルチプレクサに入力を与える指標ドライバ装
置48′を、第16図は書込みデータ・レジスタ
46を、第17図はマルチプレクサ装置47を、
第18図はドライバ装置50,51とこれに関連
するドライバ・ロジツクを、第19図は
INDEX/INDEX SVコンパレータ装置を、第2
0図はCPUバツフア・データ・レジスタ54と
I/0バツフア・データ・レジスタ55とCRD
INレジスタ53を示す。特定のシステム・カツ
シエ・パリテイ・ロジツクは第21図乃至第25
図に示される。主記憶装置および他のインターフ
エース制御ロジツクは第26図乃至第28図に示
される。すべてのデータ処理システムボードにお
けるように、その種々の装置についての十分な制
御信号が提供されねばならず、第5図乃至第27
図に示されるシステム・カツシエボードの特定の
実施態様に対する制御ロジツクは第29図乃至第
43図に示される。 第3図は、図の左側のシステム・カツシエと図
の右側の記憶モジユールとの間をインターフエー
スするバンク制御ボード18の全体ブロツク図を
示している。7つのパリテイ・ビツトを含むRD
0〜38の如く識別される記憶モジユールから読
出されるワードはシステム・カツシエに転送する
ためバンク制御ボードに与えられ、このワードは
CRDPAR0〜3として識別されるこれも又4つ
のパリテイ・ビツトを与える誤り訂正ロジツク7
0を介して第3図におけるCRD0〜31として
識別される。主記憶装置モジユールに書込まれる
べきアドレスおよびデータ・ワードはシステム・
カツシエから与えられ、これ等のワードはCA/
WD PAR0〜3として識別されるそのためのパ
リテイ・ビツトと共に、CA/WR0〜31とし
て識別され、このデータは誤り訂正ロジツク70
を介してWD0〜31およびパリテイ・ビツト
WD32〜38の如き記憶モジユールに対する書
込みデータ・バスに与えられる。このためのアド
レスは、所要の記憶モジユール(MODSEL0〜
3)(16個以下のモジユールを識別)を選択し、
選択されたモジユール(ADDR0〜7)内の所
要のRAMを選択するため必要とされる情報の形
態で与えられる。 更に、バンク制御ボードは、必要に応じてこれ
に応答する主記憶装置に対して以降の制御信号を
与える。信号RASおよびCASは、主記憶装置の
RAMに対する行アドレスおよび列アドレスのス
トローブ信号を表わす。信号LDOUTはその時の
サイクルの終りにおいて選択されたモジユールを
その出力レジスタにロードさせ、次のサイクルの
間このモジユールをしてレジスタが出力レジスタ
の内容を読出しデータ・バスに置くことを可能に
させる。信号LDINは、選択されたモジユールを
して次のサイクルの間書込みバスからデータを受
入れさせ、このデータを続くサイクルの間RAM
に書込ませる。信号REFRESHは行アドレス・
ストローブ(RAS)信号のみに対するモジユー
ル選択をオーバーライドする。リフレツシユ操作
の間は通常1つのモジユールが読出され、他の全
てのモジユールはRASリフレツシユを実施する
のみである。 バンク制御ボードは又システム・カツシエをイ
ンターフエースして、32ビツトのワード(CRD
0〜31)をバイト・パリテイに対する4パリテ
イ・ビツト(CRD PAR0〜3)と共にカツシエ
へ与え、バイト・パリテイ・ビツト(CA/WD
PAR0〜3)と共にカツシエから32ビツトのア
ドレスおよびデータ・ワード(CA/WA0−3
1)を受取る。バンク制御ボードは又下記の制御
信号をカツシエへ与える。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図に示した読出しパリテイ
保管レジスタおよびパリテイ・ロジツクと、第5
2図に示した誤り訂正ロジツクとを含む。直接読
出しドライバ装置は第53図に示される。 第3図の下部の制御装置に関してはR/Wモジ
ユール選択装置とRADDRおよびCADR装置が第
54図に示され、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からの制御信号は適当なラツチング回路6
7に与えられて、ドライバ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とラツチ、レジスタ6
7を介して必要な制御信号を提供する。 制御ロジツク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/0ポートにおける
データ転送は、転送されるべきI/0ブロツクと
同じ指標を有するデータのアクセスの過程に
CPUポートがある時は許容されない。データ読
出し/修飾/書込み転送も又本システムにより許
容されない。 第2図に示される全システム・カツシエのブロ
ツク図において、CPU要求ポートおよびI/0
要求ポートに対する入力レジスタはデータ・レジ
スタ54と55として示される。このようなレジ
スタにおけるデータと関連するアドレスはCPU
アドレス・レジスタ41とI/0アドレス・レジ
スタ42に与えられ、各アドレスは前に述べた如
き指標、タツグおよびワードの各ポインタを含ん
でいる。 第2図に示されたシステム・カツシエボード1
7の特定ロジツク図は第5図乃至第43図に示さ
れ、これ等の図にはこれに示されるシステム・カ
ツシエ17の各部分の特定の実施態様を更に詳細
に示すように適当な表示がなされている。 第5図はカツシエ・データ・ストア40を示
し、第6図はタツグ・ストア43を、第7図は
ICACHEタツグ・ストア複写装置44を、第8
図はタツグ・ストア・コンパレータ52を、第9
図はICACHEタツグ・ストア・コンパレータ4
5を、第10図はCPORTおよびIPORTレジス
タ41,42と書戻しタツグ装置を、第11図お
よび第12図は第2図のINDEX SV WP SV装
置を、第13図はINDEXおよびWPマルチプレ
クサ装置を、第14図はデータ書込みレジスタ4
0Aを、第15図はマルチプレクサ装置48とこ
のマルチプレクサに入力を与える指標ドライバ装
置48′を、第16図は書込みデータ・レジスタ
46を、第17図はマルチプレクサ装置47を、
第18図はドライバ装置50,51とこれに関連
するドライバ・ロジツクを、第19図は
INDEX/INDEX SVコンパレータ装置を、第2
0図はCPUバツフア・データ・レジスタ54と
I/0バツフア・データ・レジスタ55とCRD
INレジスタ53を示す。特定のシステム・カツ
シエ・パリテイ・ロジツクは第21図乃至第25
図に示される。主記憶装置および他のインターフ
エース制御ロジツクは第26図乃至第28図に示
される。すべてのデータ処理システムボードにお
けるように、その種々の装置についての十分な制
御信号が提供されねばならず、第5図乃至第27
図に示されるシステム・カツシエボードの特定の
実施態様に対する制御ロジツクは第29図乃至第
43図に示される。 第3図は、図の左側のシステム・カツシエと図
の右側の記憶モジユールとの間をインターフエー
スするバンク制御ボード18の全体ブロツク図を
示している。7つのパリテイ・ビツトを含むRD
0〜38の如く識別される記憶モジユールから読
出されるワードはシステム・カツシエに転送する
ためバンク制御ボードに与えられ、このワードは
CRDPAR0〜3として識別されるこれも又4つ
のパリテイ・ビツトを与える誤り訂正ロジツク7
0を介して第3図におけるCRD0〜31として
識別される。主記憶装置モジユールに書込まれる
べきアドレスおよびデータ・ワードはシステム・
カツシエから与えられ、これ等のワードはCA/
WD PAR0〜3として識別されるそのためのパ
リテイ・ビツトと共に、CA/WR0〜31とし
て識別され、このデータは誤り訂正ロジツク70
を介してWD0〜31およびパリテイ・ビツト
WD32〜38の如き記憶モジユールに対する書
込みデータ・バスに与えられる。このためのアド
レスは、所要の記憶モジユール(MODSEL0〜
3)(16個以下のモジユールを識別)を選択し、
選択されたモジユール(ADDR0〜7)内の所
要のRAMを選択するため必要とされる情報の形
態で与えられる。 更に、バンク制御ボードは、必要に応じてこれ
に応答する主記憶装置に対して以降の制御信号を
与える。信号RASおよびCASは、主記憶装置の
RAMに対する行アドレスおよび列アドレスのス
トローブ信号を表わす。信号LDOUTはその時の
サイクルの終りにおいて選択されたモジユールを
その出力レジスタにロードさせ、次のサイクルの
間このモジユールをしてレジスタが出力レジスタ
の内容を読出しデータ・バスに置くことを可能に
させる。信号LDINは、選択されたモジユールを
して次のサイクルの間書込みバスからデータを受
入れさせ、このデータを続くサイクルの間RAM
に書込ませる。信号REFRESHは行アドレス・
ストローブ(RAS)信号のみに対するモジユー
ル選択をオーバーライドする。リフレツシユ操作
の間は通常1つのモジユールが読出され、他の全
てのモジユールはRASリフレツシユを実施する
のみである。 バンク制御ボードは又システム・カツシエをイ
ンターフエースして、32ビツトのワード(CRD
0〜31)をバイト・パリテイに対する4パリテ
イ・ビツト(CRD PAR0〜3)と共にカツシエ
へ与え、バイト・パリテイ・ビツト(CA/WD
PAR0〜3)と共にカツシエから32ビツトのア
ドレスおよびデータ・ワード(CA/WA0−3
1)を受取る。バンク制御ボードは又下記の制御
信号をカツシエへ与える。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図に示した読出しパリテイ
保管レジスタおよびパリテイ・ロジツクと、第5
2図に示した誤り訂正ロジツクとを含む。直接読
出しドライバ装置は第53図に示される。 第3図の下部の制御装置に関してはR/Wモジ
ユール選択装置とRADDRおよびCADR装置が第
54図に示され、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からの制御信号は適当なラツチング回路6
7に与えられて、ドライバ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とラツチ、レジスタ6
7を介して必要な制御信号を提供する。 制御ロジツク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図と第7
3図に示される。データ・アウト・レジスタとマ
ルチプレクサ装置69は第74図に示される。ラ
ツチング兼ドライバ・ロジツクは第75図に示さ
れる。RAM選択論理装置(RAMSEL LOGIC)
は第76図に示され、MODSELコンパレータ装
置66と種々の制御ロジツク装置とこれと関連す
るラツチング回路およびバンク・コントローラ装
置18からの入力制御信号は第77図に示され
る。記憶モジユール・タイミング・ロジツクは第
78図に示される。 アドレス変換装置 アドレス変換装置(ATU)14は第79図乃
至第81図に全体的に示され、この装置の主な機
能はユーザの論理アドレス(LA)を前述のプロ
セサの記憶モジユールの物理 アドレス・スペー
スにおける対応する物理 アドレス(PA)に変
換することである。このような変換操作は実際上
2つの方法で為される。即ち1つはシステム・カ
ツシエ又は論理アドレスのフイールド内に指定さ
れた特定のページ表のエントリにおける主記憶装
置からページをアクセスして、このアクセスされ
たページを、通常そのシーケンスを長いアドレス
変換(LAT)と呼ぶアドレス変換の実施に使用
するため変換ストア装置におくことにより、又他
の方法はLATが実施された後アクセスのため既
に選択されたページおよび変換ストアに既に存在
するLATにより選択されたページに対する更な
る照合をアクセスすることによつて行われる。後
者の変換は加速されたアドレス照合を提供し、各
長いアドレス変換(LAT)の終わりに、アクセ
スされた物理 ページのアドレスを保管すること
により達成可能である。前述の如く、関与する物
理 ページは第79図に示されたATU変換スト
ア100における高速のランダム・アクセス・メ
モリー(RAM)フアイルに記憶される。 ATU変換ストア100に記憶される物理 ペ
ージにおけるアドレスの変換はCPUの1つの操
作時間サイクル内でプロセサにとつて使用可能で
あるが、長いアドレス変換は通常、問題のページ
がシステム・カツシエ・メモリーにおいて使用可
能である単一レベル・ページ表照合(例、3サイ
クル)又は2レベル・ページ表照合(例、5サイ
クル)を必要とする照合のための複数のこのよう
なサイクルを要する。もし関与するページがシス
テム・カツシエ・メモリーに見出すことができ
ず、主記憶装置からアクセスされねばならないな
らば、更に長い時間が必要とされる。 ATUの2次的機能は、本システムがその拡張
である従来のシステムのあらゆる操作、例えば、
これ迄に述べたシステムにおいて有効かつコンパ
テイブルな方法で前掲の文献に述べた如き全ての
Eclipseのメモリー管理処理装置(MMPU1)の
アドレス変換操作をエミユレートすることであ
る。 このエミユレートされた動作については後によ
り詳細に記述する。 論理ワード・アドレス(1つの位置右寄せされ
る時バイト・アドレスは1つのワード・アドレス
を生じる)の変換について更に明瞭に理解するた
めに、論理ワード・アドレスは下記の如く定義す
ることができる。即ち、
に示した諸装置の構成のための更に詳細な理論回
路は第64図乃至第78図に示される。データ・
イン・レジスタ63と64はそれぞれ第64図と
第65図に示される。メモリー配列60は第66
図乃至第73図に示され、その内の面0RAMお
よびそのための制御入力回路は第66図および第
67図に示され、面1RAMとその制御入力回路
は第68図と第69図に示され、面2RAMとそ
の制御入力回路は第70図と第71図に示され、
面3RAMとその制御入力回路は第72図と第7
3図に示される。データ・アウト・レジスタとマ
ルチプレクサ装置69は第74図に示される。ラ
ツチング兼ドライバ・ロジツクは第75図に示さ
れる。RAM選択論理装置(RAMSEL LOGIC)
は第76図に示され、MODSELコンパレータ装
置66と種々の制御ロジツク装置とこれと関連す
るラツチング回路およびバンク・コントローラ装
置18からの入力制御信号は第77図に示され
る。記憶モジユール・タイミング・ロジツクは第
78図に示される。 アドレス変換装置 アドレス変換装置(ATU)14は第79図乃
至第81図に全体的に示され、この装置の主な機
能はユーザの論理アドレス(LA)を前述のプロ
セサの記憶モジユールの物理 アドレス・スペー
スにおける対応する物理 アドレス(PA)に変
換することである。このような変換操作は実際上
2つの方法で為される。即ち1つはシステム・カ
ツシエ又は論理アドレスのフイールド内に指定さ
れた特定のページ表のエントリにおける主記憶装
置からページをアクセスして、このアクセスされ
たページを、通常そのシーケンスを長いアドレス
変換(LAT)と呼ぶアドレス変換の実施に使用
するため変換ストア装置におくことにより、又他
の方法はLATが実施された後アクセスのため既
に選択されたページおよび変換ストアに既に存在
するLATにより選択されたページに対する更な
る照合をアクセスすることによつて行われる。後
者の変換は加速されたアドレス照合を提供し、各
長いアドレス変換(LAT)の終わりに、アクセ
スされた物理 ページのアドレスを保管すること
により達成可能である。前述の如く、関与する物
理 ページは第79図に示されたATU変換スト
ア100における高速のランダム・アクセス・メ
モリー(RAM)フアイルに記憶される。 ATU変換ストア100に記憶される物理 ペ
ージにおけるアドレスの変換はCPUの1つの操
作時間サイクル内でプロセサにとつて使用可能で
あるが、長いアドレス変換は通常、問題のページ
がシステム・カツシエ・メモリーにおいて使用可
能である単一レベル・ページ表照合(例、3サイ
クル)又は2レベル・ページ表照合(例、5サイ
クル)を必要とする照合のための複数のこのよう
なサイクルを要する。もし関与するページがシス
テム・カツシエ・メモリーに見出すことができ
ず、主記憶装置からアクセスされねばならないな
らば、更に長い時間が必要とされる。 ATUの2次的機能は、本システムがその拡張
である従来のシステムのあらゆる操作、例えば、
これ迄に述べたシステムにおいて有効かつコンパ
テイブルな方法で前掲の文献に述べた如き全ての
Eclipseのメモリー管理処理装置(MMPU1)の
アドレス変換操作をエミユレートすることであ
る。 このエミユレートされた動作については後によ
り詳細に記述する。 論理ワード・アドレス(1つの位置右寄せされ
る時バイト・アドレスは1つのワード・アドレス
を生じる)の変換について更に明瞭に理解するた
めに、論理ワード・アドレスは下記の如く定義す
ることができる。即ち、
【化】
こゝで明らかなように、セグメント・アドレス
と論理ページ・アドレスは21ビツトの長さであ
り、このセグメントと論理ページ・アドレスは2
つのフイールド・即ちタツグ・フイールドと指標
フイールドとに分割される。タツグ・フイールド
はビツトLA2〜14と定義され、指標フイール
ドはビツトLA1プラスビツト15〜21と定義
される。 第79図で判るように、論理ワード・アドレス
LA0〜31が論理アドレス・バス26における
演算論理装置(ALU)から受取られる時、これ
は論理アドレス・レジスタ(LAR)101にラ
ツチされる。指標ビツトLA15〜21は直接論
理アドレス・バスから得られて4つのRAMスト
アをアドレス指定し、その最初のものはATUの
物理 アドレス(PA)変換ストア100に保管
された物理 アドレスと対応する論理アドレスの
タツグ部分を保持するタツグストア102であ
る。指標ビツトLA15〜21は又以下に論述す
るように妥当性記憶RAM装置103と保護記憶
RAM装置104にも与えられる。 もし物理 アドレス変換ストア100が妥当な
アドレス変換を含むならば、メモリー・アクセス
が開始される時論理アドレスは論理アドレス・レ
ジスタ101にロードされ、指標(ビツトLA1
5〜21)はこのストアにおける1つの場所を選
択するため使用される。 前述の特定のシステムにおいては、仮に変換ス
トア100のこのような場所に妥当なアドレス変
換が存在しても、このアドレス変換は適正なもの
ではないかもしれない。論理アドレスの各指標
(および変換ストアにおける各アドレスの場所)
と対応して、各々が独自の物理 ページ・アドレ
スと対応する選択された数の可能な「タツグ」が
存在する。このようなタツグの唯一つとその対応
する物理 ページ・アドレスが変換ストア100
の指標により選択された場所に保管可能である。
従つて、問題となる指標と対応しその時タツグ・
ストア102に記憶されている「タツグ」(TAG
2−14)はコンパレータ105において論理ア
ドレス・レジスタ(LA2〜14)における「タ
ツグ」と比較される。もしこの「タツグ」が対応
すれば、変換ストア100に含まれたアドレス変
換は適正なものであり、所要の物理 アドレス
(コンパレータ105の出力側のATU HIT信号
により示される)を与えるため使用することがで
きる。もしこれ等のタツグが整合しなければ、シ
ステム・カツシエ又は主記憶装置から所要の物理
ページ・アドレスを得るため長いアドレス変換
操作が行われなければならない。ATU変換スト
ア100に以前に含まれていた物理 ページ・ア
ドレスを置換するためこのLAT手順によつてア
クセスされる物理 ページ・アドレスは、適当な
転送バス(CPMバス20)におかれる。長いア
ドレス変換の完了時に、論理アドレス・レジスタ
(LAR2〜14)から得られる「タツグ」はタツ
グ・ストア102の指標によつて選択される場所
に書込まれ、記憶データ・レジスタ106(MD
18〜31)からの物理 ページ・アドレスは変
換ストア100の指標によつて指定される場所に
書込まれる。 第79図に示されるATUの構成は又、物理
ページ・アドレス(PA)バス27に所望の物理
ページ・アドレス表の変換された物理 アドレ
スをおくために使用される装置を含む。物理 ペ
ージ表のアドレスの他の可能性のある3つのソー
スが存在し、その第1はこれも又アドレス変換装
置のスクラツチ・パツド装置におくことができる
セグメント基底レジスタのビツトSBR18〜3
1である。このアドレスは、2レベルのページ表
の上位のページ表(HOPT)又は1レベルのペ
ージ表の下位のページ表(LOPT)を照合するた
め使用される。セグメント基底レジスタはATU
におかれるため、このようなアドレスはLA18
〜31として論理アドレス・バス26から得るこ
とができる。 下記の表A,Bは、主記憶装置における1レベ
ルおよび2レベルのページ表を横行探索すること
により論理アドレスから物理アドレスが得られる
長いアドレス変換を実施するためアドレス変換装
置(ATU)によつて開始される制御動作の結果
を示している。表Aは1レベルのページ表の横行
探索を示し、表Bは2レベルのページ表の横行探
索を示し、最終的な物理 アドレスの物理 アド
レス・ビツト3〜21(即ち、所要のメモリー割
当てデータ)は変換ストア100におかれ、その
結果対応する論理アドレスがその後変換を要求す
る時、物理 アドレスが使用可能であり
(ATUHITが生じる)、その後の長いアドレス変
換に対する必要はなくなる。
と論理ページ・アドレスは21ビツトの長さであ
り、このセグメントと論理ページ・アドレスは2
つのフイールド・即ちタツグ・フイールドと指標
フイールドとに分割される。タツグ・フイールド
はビツトLA2〜14と定義され、指標フイール
ドはビツトLA1プラスビツト15〜21と定義
される。 第79図で判るように、論理ワード・アドレス
LA0〜31が論理アドレス・バス26における
演算論理装置(ALU)から受取られる時、これ
は論理アドレス・レジスタ(LAR)101にラ
ツチされる。指標ビツトLA15〜21は直接論
理アドレス・バスから得られて4つのRAMスト
アをアドレス指定し、その最初のものはATUの
物理 アドレス(PA)変換ストア100に保管
された物理 アドレスと対応する論理アドレスの
タツグ部分を保持するタツグストア102であ
る。指標ビツトLA15〜21は又以下に論述す
るように妥当性記憶RAM装置103と保護記憶
RAM装置104にも与えられる。 もし物理 アドレス変換ストア100が妥当な
アドレス変換を含むならば、メモリー・アクセス
が開始される時論理アドレスは論理アドレス・レ
ジスタ101にロードされ、指標(ビツトLA1
5〜21)はこのストアにおける1つの場所を選
択するため使用される。 前述の特定のシステムにおいては、仮に変換ス
トア100のこのような場所に妥当なアドレス変
換が存在しても、このアドレス変換は適正なもの
ではないかもしれない。論理アドレスの各指標
(および変換ストアにおける各アドレスの場所)
と対応して、各々が独自の物理 ページ・アドレ
スと対応する選択された数の可能な「タツグ」が
存在する。このようなタツグの唯一つとその対応
する物理 ページ・アドレスが変換ストア100
の指標により選択された場所に保管可能である。
従つて、問題となる指標と対応しその時タツグ・
ストア102に記憶されている「タツグ」(TAG
2−14)はコンパレータ105において論理ア
ドレス・レジスタ(LA2〜14)における「タ
ツグ」と比較される。もしこの「タツグ」が対応
すれば、変換ストア100に含まれたアドレス変
換は適正なものであり、所要の物理 アドレス
(コンパレータ105の出力側のATU HIT信号
により示される)を与えるため使用することがで
きる。もしこれ等のタツグが整合しなければ、シ
ステム・カツシエ又は主記憶装置から所要の物理
ページ・アドレスを得るため長いアドレス変換
操作が行われなければならない。ATU変換スト
ア100に以前に含まれていた物理 ページ・ア
ドレスを置換するためこのLAT手順によつてア
クセスされる物理 ページ・アドレスは、適当な
転送バス(CPMバス20)におかれる。長いア
ドレス変換の完了時に、論理アドレス・レジスタ
(LAR2〜14)から得られる「タツグ」はタツ
グ・ストア102の指標によつて選択される場所
に書込まれ、記憶データ・レジスタ106(MD
18〜31)からの物理 ページ・アドレスは変
換ストア100の指標によつて指定される場所に
書込まれる。 第79図に示されるATUの構成は又、物理
ページ・アドレス(PA)バス27に所望の物理
ページ・アドレス表の変換された物理 アドレ
スをおくために使用される装置を含む。物理 ペ
ージ表のアドレスの他の可能性のある3つのソー
スが存在し、その第1はこれも又アドレス変換装
置のスクラツチ・パツド装置におくことができる
セグメント基底レジスタのビツトSBR18〜3
1である。このアドレスは、2レベルのページ表
の上位のページ表(HOPT)又は1レベルのペ
ージ表の下位のページ表(LOPT)を照合するた
め使用される。セグメント基底レジスタはATU
におかれるため、このようなアドレスはLA18
〜31として論理アドレス・バス26から得るこ
とができる。 下記の表A,Bは、主記憶装置における1レベ
ルおよび2レベルのページ表を横行探索すること
により論理アドレスから物理アドレスが得られる
長いアドレス変換を実施するためアドレス変換装
置(ATU)によつて開始される制御動作の結果
を示している。表Aは1レベルのページ表の横行
探索を示し、表Bは2レベルのページ表の横行探
索を示し、最終的な物理 アドレスの物理 アド
レス・ビツト3〜21(即ち、所要のメモリー割
当てデータ)は変換ストア100におかれ、その
結果対応する論理アドレスがその後変換を要求す
る時、物理 アドレスが使用可能であり
(ATUHITが生じる)、その後の長いアドレス変
換に対する必要はなくなる。
【化】
1レベルのページ表変換のため変換されるべき
論理ワード・アドレスは表Aに示される書式を有
する。このワード・アドレスのビツト1〜3は8
つのセグメント基底レジスタ(SBR)の1つを
指定する。ATUはこの妥当SBRの内容を用いて
表の点に示される如くあるページ表エントリ
(PTE)の物理 アドレスを形成する。 選択されたSBRは、ページ表の横行探索が1
レベル(ビツト1が零)のページ表であるか、2
レベル(ビツト1が1)のページ表であるかを指
定するビツト(ビツト1)を含む。表Aにおいて
は、ページ表エントリ・アドレスは選択されたペ
ージ表の開始アドレスを含みページ表エントリ・
オフセツトはその内のページ・アドレスを指定す
る。 この物理 ページ・アドレスを形成するため、
ATUは表の点で示す物理 アドレスから開始
する。このアドレスはPTEアドレスのビツト3
〜21となる。論理ワード・アドレスのビツト1
3〜21はPTEアドレスのビツト22〜30と
なる。ATUはPTEアドレスの右側に零を付属さ
せ、29ビツトのワード・アドレスを形成する。 PTEアドレスのビツト3〜21(前記ステツ
プでは不変)は1つのページ表の開始アドレスを
指定する。PTEアドレスのビツト22〜31は
この表の始めからあるPTE(表でPTEoと表示)
へのオフセツトを指定する。このPTEは表の
で示される如くメモリーの1つのページの開始ア
ドレスを指定する。 ページ・アドレスであるPTEoビツト13〜3
1は表Aので示す如く物理 アドレスのビツト
3〜21となる。論理ワード・アドレスのビツト
22〜31に指定されたページ・オフセツト・フ
イールドは物理 アドレスのビツト22〜31と
なる。これは元のワード・アドレスから変換され
た物理 ワード・アドレスである。物理 アドレ
ス・ビツト3〜21は、同じワード・アドレスが
以降の変換を要求するならば、後で使用するため
のメモリー割当てデータとして変換ストアにおか
れる。1レベルのページ表を使用する時に論理ワ
ード・アドレスのビツト4〜12は零でなければ
ならないことは注目されたい。もしこれ等のビツ
トが零でなくSBRのビツト1が1レベルのペー
ジ表が要求されることを表示するならば、ページ
障害が生じる。
論理ワード・アドレスは表Aに示される書式を有
する。このワード・アドレスのビツト1〜3は8
つのセグメント基底レジスタ(SBR)の1つを
指定する。ATUはこの妥当SBRの内容を用いて
表の点に示される如くあるページ表エントリ
(PTE)の物理 アドレスを形成する。 選択されたSBRは、ページ表の横行探索が1
レベル(ビツト1が零)のページ表であるか、2
レベル(ビツト1が1)のページ表であるかを指
定するビツト(ビツト1)を含む。表Aにおいて
は、ページ表エントリ・アドレスは選択されたペ
ージ表の開始アドレスを含みページ表エントリ・
オフセツトはその内のページ・アドレスを指定す
る。 この物理 ページ・アドレスを形成するため、
ATUは表の点で示す物理 アドレスから開始
する。このアドレスはPTEアドレスのビツト3
〜21となる。論理ワード・アドレスのビツト1
3〜21はPTEアドレスのビツト22〜30と
なる。ATUはPTEアドレスの右側に零を付属さ
せ、29ビツトのワード・アドレスを形成する。 PTEアドレスのビツト3〜21(前記ステツ
プでは不変)は1つのページ表の開始アドレスを
指定する。PTEアドレスのビツト22〜31は
この表の始めからあるPTE(表でPTEoと表示)
へのオフセツトを指定する。このPTEは表の
で示される如くメモリーの1つのページの開始ア
ドレスを指定する。 ページ・アドレスであるPTEoビツト13〜3
1は表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のアドレスのビツト3〜3
1となる。論理ワード・アドレスのビツト13〜
21は第2のPTEのアドレスのビツト22〜3
0になる。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つを選択するため使用され
る。 以下の論議は、長いアドレス変換を行う際主記
憶装置における下位および上位のページ表エント
リ・アドレスを形成するためのアドレス・ビツ
ト・ソースを要約するものである。このページ表
エントリのアドレスは、セグメント基底レジスタ
(SBR)におけるアドレス・フイールドおよび論
理アドレス・レジスタにおけるアドレスフイール
ドから形成される。セグメント基底レジスタのア
ドレス・フイールドは下記の如く表わすことがで
きる。即ち、
如く、表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のアドレスのビツト3〜3
1となる。論理ワード・アドレスのビツト13〜
21は第2のPTEのアドレスのビツト22〜3
0になる。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つを選択するため使用され
る。 以下の論議は、長いアドレス変換を行う際主記
憶装置における下位および上位のページ表エント
リ・アドレスを形成するためのアドレス・ビツ
ト・ソースを要約するものである。このページ表
エントリのアドレスは、セグメント基底レジスタ
(SBR)におけるアドレス・フイールドおよび論
理アドレス・レジスタにおけるアドレスフイール
ドから形成される。セグメント基底レジスタのア
ドレス・フイールドは下記の如く表わすことがで
きる。即ち、
【化】
1レベル(下位)又は2レベル(上位)のペー
ジ表エントリのどちらが呼出されるかに従つて、
ビツト4〜12を含むSBRアドレス・フイール
ド又はビツト13〜21を含むSBRアドレス・
フイールドが記憶データ・レジスタ105に転送
されてページ表エントリの上位ビツトを形成す
る。前述の如く、8つのSBRレジスタがATUに
おけるスクラツチ・パツド・レジスタの256の場
所の内の8つに配置される。セグメント基底レジ
スタのためのこのようなスクラツチ・パツドの場
所の使用は、セグメント即ちリングの保護記憶シ
ステムにおけるセグメント基底レジスタ(又はこ
れと比較し得るレジスタ)が全て主記憶装置にお
ける指定された場所におかれる従来公知のシステ
ムと対比できる。これ等を本システムの処理装置
におかれたスクラツチ・パツド・メモリーにおく
事により、ATU装置における如く、上位のペー
ジ表エントリ・ビツトが、主記憶装置から取出す
のに必要なよりも更に早く取得され、従つてペー
ジ表エントリが可能な早さがかなり改善される。 あるSBR(前に「V」ビツトとして識別され
た)のビツトの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は
常にリングOに割当てられ(リングOは特権化さ
れた命令のみが実行可能なリングである)、セグ
メント1は常にリング1に割当てられる如きであ
る。このような試みは、リング番号が論理アドレ
ス・スペースから独立しないセグメント化された
階層的なアドレス・スペースを用いる従来のシス
テムとは異なる。対照的に、こゝで述べるシステ
ムにおいては、各リングは、セグメント0が常い
にリングOに割当てられ、セグメント1がリング
1に割当てられる如くにスペース内に直接結びつ
けられている。 あるページ表のエントリにおけるアクセス・フ
イールドは第79図に示す如く3つのビツト
(MD2〜4)を含み、論理アドレス・スペース
における参照されたデータ項目の能力、即ち参照
されたデータ項目が読出しアクセス、書込みアク
セス、又は実行アクセスのいずれであるかを表示
し、保護ストア104はこのようなビツトに応答
して読出し可能信号(RDENB)又は書込み可能
信号(WRENB)又は実行可能信号(EXENB)
のいずれかを生じる。リング保護作用は特定のリ
ングに対するユーザのアクセス特権の適正な解釈
を支配し、ユーザは選択された連続的に番号を付
したリングのみに対するアクセスを許容される。
このように、もしこのような参照に対する有効な
ソースが適当なアクセス・ブラケツト内にあるな
らば、アクセスはリングのブラケツト(アクセス
のブラケツト)に対してのみ行うことができる。
例えば、どれかのリングのデータ参照の読出しブ
ラケツトはリング番号である。即ち、例えばセグ
メント5(リング5)に対するデータ・アドレス
参照は、決して5より大きな有効ソースから合法
的に生じ得ない。換言すれば、セグメント5にお
ける有効ソースはリング5より下位のリングを決
して参照し得ず、従つてもし5より大きな有効ソ
ースからの参照がリング5へのアクセスを試みる
ならば、第13図におけるロジツクにより示され
る如くリング最大誤り(MAXERR)が信号され
ることになる。このようなリング保護を示す表は
下記の如くである。即ち、
ジ表エントリのどちらが呼出されるかに従つて、
ビツト4〜12を含むSBRアドレス・フイール
ド又はビツト13〜21を含むSBRアドレス・
フイールドが記憶データ・レジスタ105に転送
されてページ表エントリの上位ビツトを形成す
る。前述の如く、8つのSBRレジスタがATUに
おけるスクラツチ・パツド・レジスタの256の場
所の内の8つに配置される。セグメント基底レジ
スタのためのこのようなスクラツチ・パツドの場
所の使用は、セグメント即ちリングの保護記憶シ
ステムにおけるセグメント基底レジスタ(又はこ
れと比較し得るレジスタ)が全て主記憶装置にお
ける指定された場所におかれる従来公知のシステ
ムと対比できる。これ等を本システムの処理装置
におかれたスクラツチ・パツド・メモリーにおく
事により、ATU装置における如く、上位のペー
ジ表エントリ・ビツトが、主記憶装置から取出す
のに必要なよりも更に早く取得され、従つてペー
ジ表エントリが可能な早さがかなり改善される。 あるSBR(前に「V」ビツトとして識別され
た)のビツトの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は
常にリングOに割当てられ(リングOは特権化さ
れた命令のみが実行可能なリングである)、セグ
メント1は常にリング1に割当てられる如きであ
る。このような試みは、リング番号が論理アドレ
ス・スペースから独立しないセグメント化された
階層的なアドレス・スペースを用いる従来のシス
テムとは異なる。対照的に、こゝで述べるシステ
ムにおいては、各リングは、セグメント0が常い
にリングOに割当てられ、セグメント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により識別さ
れるセグメントには存在しない。 前記条件が満たされた時、外方への戻りのため
の戻りアドレスは単に通常のワード・アドレスと
して解釈されるのみである。しかし、もし前記条
件が内方の呼出しに対して満たされるならば、分
岐アドレスは下記の如く解釈される。即ち、
ング最大化機能を用いて参照が妥当なリング参照
であるかどうかを判断し、もしそうならば、アド
レス・データを参照するページ表エントリを検査
してこのページが妥当なものかどうかを調べる。
次にもし読出し保護ビツトがこの妥当なページが
読出し可能であることを表示するならば、読出し
は実施できる。もしこの検査のどれかが保護誤り
(即ち、リング最大化誤り、妥当性誤り、又は読
出し誤り)を示すならば、読出しは打切られて適
当な障害コード・ルーチンが呼出される。同様
に、書込みアクセスおよび実行アクセスのための
保護誤りについての適当な検査も又実施可能であ
る。 前述の如き階層アドレス・スペースにおいて
は、リングを切換える試み、即ちその時使用中の
リング以外のリング(セグメント)に対するアク
セスを得る(「リング横断」操作)試みを中介し
て認証することが望ましい。リング横断操作の実
施は下記の如く認証される。 プログラム制御命令によるリング横断を行う明
示の試みの結果としてのみリング横断の試みが生
じ、このような明示の試みは下記の条件が満たさ
れる場合にのみ生じ得る。 (1) プログラム制御命令は、1つのサブルーチン
「呼出し」形態即ち別のリングにおけるサブル
ーチン(LCALL。別紙2参照)に対するアク
セスが要求される形態、又はサブルーチン「戻
り」即ち別のリングにおけるサブルーチンがア
クセスされて元のリングへの戻り(WRTNお
よびWPOPB。別紙2参照)が要求される形態
である。他の全てのプログラム制御命令(例、
JUMP)は命令に対して必要とされる有効アド
レスのリング・フイールドを無視し、この命令
は適当なセグメント内の場所への転位のみが可
能である。 (2) サブルーチン呼出し横断の方向は下位のリン
グがより高い保護順位を有する下位リング番号
に向う(即ち、リング0に向つて内方)もので
なければならず、その時の実行リングおよびサ
ブルーチン戻り横断の方向は、更に上位のリン
グがサブルーチンを含む呼出されたリングより
も低い保護順位を有する、より高いリング番号
(即ち、リング0から外方)に向わなければな
らない。外方向の呼出しおよび内方向への戻し
は保護障害としてトラツプされる。 (3) 有効分岐アドレスの目標セグメントは、プロ
グラム・カウンタのビツト1〜3により識別さ
れるセグメントには存在しない。 前記条件が満たされた時、外方への戻りのため
の戻りアドレスは単に通常のワード・アドレスと
して解釈されるのみである。しかし、もし前記条
件が内方の呼出しに対して満たされるならば、分
岐アドレスは下記の如く解釈される。即ち、
【化】
ゲート16〜31は目的スペースにおける指定
されたセグメント(ビツト1〜3のSBR)への
「ゲート」として解釈される。このゲート番号は、
指定されたゲートが呼出されたセグメントにある
ことを検査し、この検査の結果以下に述べるよう
に呼出されたセグメントにおける「ゲート配列」
を介して指定されたゲートと命令アドレスにおい
て関連するように使用される。 呼出されたセグメントにおけるゲート配列の場
所は呼出されたセグメントの特定の場所に含まれ
るポインタによつて表示される(例、特定の実施
例においては、ポインタ場所は各セグメントにお
ける場所34と35として指定され得る)。ゲート配
列の構造は下記の如くである。即ち、
されたセグメント(ビツト1〜3のSBR)への
「ゲート」として解釈される。このゲート番号は、
指定されたゲートが呼出されたセグメントにある
ことを検査し、この検査の結果以下に述べるよう
に呼出されたセグメントにおける「ゲート配列」
を介して指定されたゲートと命令アドレスにおい
て関連するように使用される。 呼出されたセグメントにおけるゲート配列の場
所は呼出されたセグメントの特定の場所に含まれ
るポインタによつて表示される(例、特定の実施
例においては、ポインタ場所は各セグメントにお
ける場所34と35として指定され得る)。ゲート配
列の構造は下記の如くである。即ち、
【化】
目的セグメントを参照したポインタのゲート番
号はゲート配列の最初の32ビツトのビツト16〜
31と比較される。もしこのゲート番号がゲート
配列における最大ゲート番号より大きいかあるい
はこれと等しければ、リング横断呼出しは許され
ず、保護障害が生じる(もしゲートの最大番号が
0であれば、関与するセグメントは1つの内方向
のリング横断呼出し操作の妥当な目的ではあり得
ない)。 もしゲート番号が最大ゲート番号より小さけれ
ば、このゲート番号はその最初の32ビツトに続く
ゲート配列のゲート内の1つを指示するため使用
される。指示されたゲートの内容を読出して2つ
の動作を制御するため使用される。第一に、有効
ソースは指示されたゲートのゲート・ブラケツ
ト・ビツト1〜3と比較される。有効ソースは参
照されたゲート・ビツトより小さいかあるいはこ
れと等しくなければなず、もしそうならば、PC
オフセツト・ビツト4〜31はプログラム・カウ
ンタの下位の28ビツトとなり、プログラム・カウ
ンタのビツト1〜3はゲート配列を含むセグメン
トにセツトされる。 前述の如くリング横断操作におけるゲートが横
断が行われるリングに対する許容されたエントリ
点であるならば、新らしいスタツクが構成され
る。このためには、リング当り1つのスタツクし
かないため、スタツク切換え操作が生じなければ
ならない。このように、新らしいスタツクが形成
できる前に、その時のスタツク管理レジスタの内
容は呼出し側のリングの指定された記憶場所に保
管されねばならない。呼出し側のスタツクはこの
時形成でき、呼出し側のスタツクからの引数が新
らしく形成される呼出し側のスタツクに複写さ
れ、この引数の数はX即ちLCALL命令(別紙2
参照)により指定される。最初、全ての引数の複
写がスタツクのオーバーフロー条件を形成するか
どうかを判定する適当な検査がなされる。もしそ
うならば、スタツク障害が信号され、リング横断
は許容され障害は呼出されたリング内で処理され
る。 Eclipseアドレス変換操作をエミユレートする
ため、ATUをEclipse 操作モードにおくための
適当なエミユレーシヨン制御信号がエミユレーシ
ヨン制御論理装置115により示される如く要求
され、この論理装置はマイクロ順序付けボード1
3により生成される符号化命令に応答して、それ
についての前掲の文献に記載の如くEclipseコン
パレータの記憶管理保護装置(MMPU)と等価
な16ビツトのアドレスに対する操作を許容するた
めこのような信号を生成する。 第79図乃至第81図に示されるアドレス変換
装置の種々のブロツクを実現するための特定の論
理回路は第82図乃至100に示される。第82
図は、記憶データ・レジスタ105からのビツト
MD18〜31が供給される変換ストア装置10
0を示し、更に論理アドレス・ビツトLA15〜
21の変換から生じた変換された物理 アドレ
ス・ビツト8〜21を供給する。第82図は又、
ページ表アドレス・マルチプレクサ装置107お
よび物理 モード・バツフア装置108を示す。
更に、この図はECLIPSEMMPUエミユレーシヨ
ン操作の間物理 アドレス・ビツトPHY8〜2
1を提供する「最終ブロツク」レジスタ装置11
6を含む。第82図は又LMPデータ・レジスタ
を示す。第83図はタツグ・ストア102および
保護ストア104を示す。タツグ・コンパレータ
装置105は第84図に示される。第85図は論
理アドレス・レジスタ101を示し、物理 アド
レス・オフセツト・マルチプレクサ109および
論理アドレス・レジスタCPDバス・ドライバ装
置はそれぞれ第86図および第87図に示され
る。適当な物理 アドレス・ビツトPHY8〜2
1を出力するための物理 アドレス・バス・ドラ
イバ装置は第88図に示される。 障害検出およびカツシエ・ブロツク横断トラツ
プ・ロジツクを含む保護ロジツクは第89図乃至
第92図に示され、保護ロジツク識別エンコーダ
装置110は第89図に、障害コード・ビツト駆
動装置112は第90図に、リング保護論理回路
111は第91図に示され、障害検出兼カツシ
エ・ブロツク横断ロジツクは第92図および第9
3図に示される。 妥当性ストア装置103は、これと関連する変
換パージ・ロジツクおよびマルチプレクサと共に
第94図に示される。第79図の変換レジスタは
第95図に詳細に示される。参照/修飾記憶兼制
御論理装置は第96図に示され、これと関連する
状態保管駆動装置は第97図に示される。16ビツ
トMMPUエミユレーシヨン制御ロジツクは第9
8図に示される。 ATUタイミング・ロジツクは第99図に示さ
れ、適当なシステム・コード・インターフエー
ス・ロジツクは第100図に示される。 命令処理装置 命令処理装置(IP)12は本発明のデータ処
理システム用のマクロ命令の取出しおよび復号の
取扱いに使用される。本命令処理装置はプログラ
ム・カウンタと同時か又はそれに先立つて作動
し、その主要機能は、マイクロ順序付け装置13
に与えられる各マイクロ命令用開始マクロアドレ
ス(STμAD)の提供にある。この命令処理装置
の補助的機能は、(1)ソースおよび行先きアキユム
レータの指定、(2)演算論理装置に対する実効アド
レス計算パラメータの提供、および(3)メモリー参
照又はインライン・リテラル(即値)を行うため
の演算論理装置(ALU)に対する符号又は零拡
張変位の提供である。 第101図に示す如く、命令処理装置は、以下
に述べる如く命令カツシエ・ロジツク120
(ICACHE)、マクロ命令復号ロジツク121
(第103図に示す如き命令復号レジスタを含
む)、およびプログラム・カウンタ/変位ロジツ
ク122を含む。ICACHEロジツク120は、
先取り装置として機能する。即ち、その命令カツ
シエ(ICACHE)が復号のための以降のマクロ
命令のブロツクを得、このブロツクは前のカクロ
命令の実行中にメモリーから予めアクセスされ
る。ICACHEは、仮にこのようなマクロ命令が
マイクロ順序付け装置により即時に使用中されな
くても、以降のマクロ命令ブロツクを記憶する。
命令処理装置の復号ロジツク121はICACHE
からマクロ命令に応答し、その命令コード(OP
コード)を復号して制御兼状況ロジツク123に
対するOPコード記述情報を提供し、これから必
要な情報を開始マイクロアドレス(STμAD)レ
ジスタ124に(及びそこからマイクロ順序付け
装置へ)与えて所要のマイクロ命令の開始マイク
ロアドレスを識別する。 変位ロジツク122は、この変位に対する指標
がALUボード上にあれば、変位データをALUに
与える。もしこの変位に対する指標がIPプログ
ラム・カウンタであれば、変位ロジツクがこの変
位情報を命令処理装置において使用可能なプログ
ラム・カウンタ情報と組合せてLAバスに与える
ための論理アドレスを形成する。 このように、全IP操作シーケンスにおいて、
マクロ命令がICACHEロジツク120の
ICACHE記憶装置から復号ロジツク121に読
込まれ、このロジツクはこれと同時に命令OPコ
ードを復号し、マイクロ順序付け装置に対する開
始マイクロアドレスを生成する。復号および開始
マイクロアドレス生成プロセスの間、命令処理装
置は同時に次のマクロ命令をICACHEから復号
ロジツクへ読込む。マイクロ順序付け装置が初め
のマイクロ命令を読出し中、復号ロジツクは次の
開始マイクロアドレスの生成のため次のマクロ命
令を復号する。開始マイクロアドレスにおけるマ
イクロ命令が実行中、マイクロ順序付け装置は次
の開始マイクロアドレスから次のマイクロ命令を
読出す。その結果、パイプライン復号および実行
プロセスが生じる。 更に詳細に第102図に示される如く、
ICACHEロジツク120はICACHEデータ・ス
トア装置130と、タツグ・ストア装置131
と、妥当性ストア装置132を含む。記憶システ
ムのシステム・カツシエ17に関して記載した如
く、ICACHEの操作は実質的に、マクロ命令の
各々の所要ワードのアドレスのタツグ部分
(PHYICP8〜21)がコンパレータ133にお
いてICACHEデータ・ストア130に記憶され
たワードのタツグ・ストア装置131に記憶され
たアドレスのタツグ部分と比較される点で実質的
に類似している。更に、妥当性ストア装置は所要
のアドレスが妥当なものであるかどうかを判定す
る。もしこのアドレスが妥当であり、又もしタツ
グの「一致」が生じるならば、このようなアドレ
スの32ビツトの2倍ワードはICACHEデータ・
ストア130から復号ロジツク121へ与えられ
る。 もし適当なICACHEブロツクにおける所要の
マクロ命令がICACHEデータ・ストア130に
記憶されるその時の物理 ページ(即ち、プログ
ラム・カウンタのその時の値の論理ページ値と対
応する物理 ページ)に存在しなければ(即ち、
タツグの一致が生じない)、あるいはもし妥当性
ビツトがセツトされていなければ、ICACHEの
「外れ」が生じマクロ命令を含むカツシエブロツ
クがメモリーから参照されねばならない。もしシ
ステム・カツシエのアクセスも又外れるならば、
このようなICACHEブロツク・メモリー参照は
システム・カツシエ(SYSCACHE)又は主記憶
装置に対するものでよい。アクセスされた
ICACHEブロツクが取出されるならば、その所
要のマクロ命令はCPMレジスタ134から
ICACHEデータ・ストア130に書込まれ、こ
のブロツクは同時にバイパス経路135を介して
直接復号ロジツクへ送られる。この時ICACHE
ロジツクはその命令ブロツクとして取出されたペ
ージからマクロ命令の残りを先取りし続けること
ができ、これ等マクロ命令がアクセスされる時1
つ宛ICACHEデータ・ストア130に入れる。
ICACHEロジツク120に対する制御ロジツク
はICACHE/ICP制御論理装置136である。 第103図に更に詳細に示される復号ロジツク
は、マクロ命令のOPコード部分を復号するため
命令復号装置140と141を含む。復号装置1
40は、本システムがその拡張であるシステムに
対する元の基本命令のOPコードの復号のために
使用される。このように、前述の如く特定の実施
例においては、この基本命令はDate General
Carp.の従来のNovaおよびEclipse システムの
ためのNovaおよびEclipse 命令でよい。復号装
置141は拡張された命令セツト、例えば前述の
「Eagle」マクロ命令のOPコードを復号するため
に使用される。 OPコードは3つの記憶レジスタ域を有する命
令復号レジスタ(IDR)142から与えられ、前
記記憶レジスタ域の各々は1つのワードを記憶す
ることができ、IDRA,IDRBおよびIDRCとして
識別される。各マクロ命令のOPコードはIDRA
セクシヨンに記憶され、変位はIDRBおよび
IDRCセクシヨンに記憶される。IDRシフター装
置143は、ICACHEデータ・ストア130か
らIDR142のIDRAセクシヨンにアクセスされ
た命令の所要のOPコード部分をシフトし、もし
命令が存在すればその適当な変位ワードをその
IDRBおよびIDRCセクシヨンにシフトする。
IDRおよびIDRシフター装置に対する制御ロジツ
クは第102図に示されるIDR/シフター制御装
置137である。 マクロ命令が復号ロジツクに送られた時、必要
に応じて復号装置140又は141はそのOPコ
ード部分を復号して、命令の長さ(即ち、命令が
単ワード、2倍ワード、3倍ワードのどれからな
るか)を含むOPコード記述(OPCDDSCR)情
報を提供する。命令全体が(ICACHEデータス
トア130から)復号ロジツクへ与えられた時、
信号SET IDR VLDが生成されてIDR/シフタ
ー制御装置137(第102図)に信号IDR
VLDを生じる。復号プロセスに続いて、マクロ
命令が基本命令が拡張命令かに従つて、開始マイ
クロアドレスが復号PROM140と141のい
ずれかからSTμADレジスタ144へロードされ
る。 STμADレジスタ144のローデイングの制御
はSTμADロード制御装置145に常駐する。 変位ワード(単数又は複数)が存在する場合
は、第104図に示される如く変位ロジツク14
6から抽出されるIDR B又はCに通常存在する
(あるNova命令に対しては、他の殆んど全ての
命令変位がIDRBおよびIDRから抽出されるが、
バイト変位はIDRAから抽出される)。変位は必
要に応じて符号又は零拡張され、以下に述べるよ
うにALU装置において使用されるため直接論理
アドレス(LA)バス又はCPDバスにとつて使用
可能になるようにその変位レジスタにクロツクさ
れる。 開始マイクロ・アドレスがSTμADレジスタ1
44にクロツクされた時、信号UPDATEがIP状
態ロジツク装置138(第102図)により発さ
れて、IDR/シフター制御装置143に対して復
号された情報が使用されてIDR140/141か
らシフト出力可能であることを通知する。直線状
復号操作における不連続性が生じる迄それ以降の
マクロ命令の復号が継続する。直線状操作におけ
る飛越しが生じると、新らしいプログラム・カウ
ンタ・アドレス(LA4〜31)が論理アドレ
ス・バスからのプログラムカウンタ・レジスタに
おくことができるようにマイクロ順序付け装置が
命令処理装置のプログラム・カウンタ・レジスタ
147(第104図)に対し信号IPSTRTを発
する。開始マイクロアドレスレジスタ144がリ
セツトされ、例えば適当な待機ルーチンの開始マ
イクロアドレスが新らしいプログラム・カウンタ
と関連する命令に対する復号プロセスが開始でき
る迄その内部におかれる。 ある状態においては、復号されつゝある一連の
マクロ命令が1つ以上の物理 ページに存在す
る。そのような条件下では、ICACHE制御装置
がICACHEデータ・ストア130に記憶される
ページの終りを検出する時、次のページを
ICACHEストア130に取出して新らしいペー
ジにおける先取り操作を続行するために特殊なル
ーチンが含まれねばならない。このように、特定
のページの最終命令が復号されて復号パイプライ
ンが事実上空になる時、命令処理装置がマクロ命
令の復号を続行し得るように、要求される新しい
ページをアクセスして物理 ページ・レジスタ1
34を介してこの次のページをICACHEストア
130にロードすることを可能にする適当なペー
ジ制御ルーチンの開始マイクロアドレスを開始マ
イクロアドレス・レジスタにロードする。 もしマクロ命令がICACHEストア130に含
まれるページ上になければ、命令処理装置におけ
るICACHEの「外れ」の故に、適正なページが
システム・カツシエか主記憶装置のいずれかから
アクセスされねばならない。システム・カツシエ
に対するアクセスは、アドレス変換装置(ATU)
により使用されるものと同じシステムカツシエ入
力ポートにおいて行われる。しかし、本発明のシ
ステムにおいては、ICACHEはATUよりも低い
優先順位が与えられ、そのためもしATUがシス
テム・カツシエのアクセスを欲すれば、ATUが
そのアクセスを完了する迄命令処理装置はそのア
クセス要求を保持しなければならない。 本文に述べる如きICACHEロジツクの使用は、
短い分岐を逆方向に用いるプログラムにおいて非
常に有利となる。もしマクロ命令分岐変位が
ICACHEデータ・ストアにおけるワード数より
少なければ、所要のマクロ命令が依然として
ICACHEデータ・ストアに局部的に記憶されて
おり、これ以上のシステム・カツシエ又は主記憶
装置の参照が不必要となる機会が十分ある。 特定の実施態様においては、例えば、
ICACHEロジツク120全体はデータ・ストア
130内の1セツトの直接マツプされた256の2
倍ワード配列と、タツグ・ストア131と妥当性
ストア132におけるタツグおよび妥当性ビツト
を含み得る。データは整合された2倍ワードとし
てデータ・ストアに入れられ、ICACHデータ・
ストアは、第105図に示された命令カツシエ・
ポインタ(ICP)装置150からのビツトICP2
3〜27および装置139からのビツトADR2
8,29,30を含む8つのビツトでアドレス指
定される。 命令処理装置のICACHE装置のタツグ・スト
ア131のコピー又はシステム・カツシエにも保
持され、後者のカツシエはデータがICACHEに
書込まれた時命令処理装置に通知できるようにこ
の情報を必要とする。 妥当性ストア132は、例えば、ある特定の実
施例においては、ICACHEデータストアにおけ
る各2倍ワードの妥当性を表示するため64の2倍
ワード×4妥当性ビツトの如く構成される。命令
ワードの新らしいブロツクの各々への初期取出し
は2倍ワードに対する対応する妥当性ビツトをセ
ツトし、残りの3つの妥当性ビツトをリセツトす
る。同じブロツクへの先取り操作の間、先取り2
倍ワードに対する対応する妥当性ビツトがセツト
され、残りの3つの妥当性ビツトは同じ状態を維
持する。ブロツクにおける最終2倍ワードが不必
要なシステム・カツシエの障害を避けるため先取
りされる時、先取り操作は停止する。 もしICACHE操作が物理 ページの終りに達
しプログラム・カウンタ(PCビツト4〜21)
の次の論理ページに対する次に物理 ページ・ア
ドレスを得ることが必要となる如きものであれ
ば、ICACHE制御論理装置136(第102図)
は、STμADロード制御ロジツク145(第10
3図)に与えられる信号(信号ICATとして識
別)を存続させる。その時のページの終りにおけ
る最後のマクロ命令が復号された時、STμAD制
御ロジツク145はICATマイクロコード・ルー
チンに対する開始マイクロアドレスを与え、この
ルーチンはこれと同時にICACHEデータ・スト
ア130に対する次の物理 ページの転送のため
必要なアドレス変換操作を実行する。 命令処理装置は命令ストリームに対する2つの
ポインタを使用する。第1のポインタは実行中の
命令の論理アドレスを保持するプログラム・カウ
ンタ・レジスタ147(第104図)であり、第
2のポインタは復号ロジツクに必要な次のマクロ
命令の論理アドレスを保持する命令カツシエ・ポ
インタ(ICP)150(第106図)である。別
のレジスタPICP152(物理 命令カツシエ・
ポインタ)は命令カツシエ・ポインタ(ICP)の
ビツト4〜21により表示される論理ページの物
理 ページ・アドレスを保持する。このため、
ICP150は先取り論理アドレス・ポインタとし
て機能し、PICPは先取り物理 アドレス・ポイ
ンタとして機能する。プログラム・カウンタ14
7とICP150は、命令処理装置の動作の開始時
に論理アドレス・バスからロードされる。復号パ
イプライン操作が充填される時、ICPはプログラ
ム・カウンタの前に増分される。ICACHE障害
又は「外れ」と同時にPICP物理 アドレスはメ
モリーの参照に使用され、ICPアドレスは適正ペ
ージの終りに達した時アドレス変換のための次の
論理ページ・アドレスに対するポインタとして使
用される。 命令処理装置の動作によれば、命令が局部的に
ICACHEにおいて使用可能である時最適の性能
が得られ、これによりこの命令はマイクロ順序付
け装置がこの命令を要求する時略々即時に使用可
能となる。ICACHEにおいて局部的に使用可能
でない命令は、システム・カツシエ・アクセス操
作およびページ障害ルーチン操作に依存する時間
量を要する。 マクロ命令復号ロジツクは前述の如くIDRA,
IDRB,IDRCフイールドとして識別される3つ
の16ビツト・フイールドを使用する。「A」のフ
イールドはOPコードを含むが、「B」と「C」の
フイールドは「A」フイールド又は命令ストリー
ムにおいて追従するマクロ命令の1つ以上のフイ
ールドにおける命令に対する変位を含む。命令復
号レジスタIDR142は、もし可能ならば、3つ
のIDRフイールドのどれかが空である時、
ICACHE(ICP制御装置136)に対してワード
要求を送ることにより3つの全てのフイールドを
充填状態に保持するように構成される。前述の如
く、もしICACHEワード要求がICACHEの「外
れ」を結果として生じるならば、システム・カツ
シエ取出しが開始される。 命令復号レジスタ142の「A」フイールドは
復号ロジツクPROM140又は141によつて
使用されてマクロ命令のOPコードを復号し、又
要求されるマクロ命令の開始アドレスを提供す
る。 「B」および「C」フイールドはもしあれば要求
される変位を決定する。各フイールドは長さが1
ワードであり、従つて命令処理装置が変位を復号
して正規化し得る最も長い命令は3ワードの最大
長さを有する。 命令復号レジスタのAフイールドが充填状態で
ある時、復号PROM140又は141は命令の
OPコードを復号する。OPコードと変位を含む命
令全体を命令復号レジスタにあるならば、信号
IDRVLDがIDRシフター制御ロジツク137に
より存続させられて、STμADレジスタ144に
対する開始マイクロアドレスを与えるように命令
全体が復号される用意があることをIP状態ロジ
ツク138に通知する。変位を抽出する変位ロジ
ツク146は必要に応じてこれを符号拡張又は零
拡張し、次にこれを変位レジスタにロードする。
もし変位の指標がALUボード上にあるならば、
変位はラツチ装置153を介してCPDバスに与
えるためこれに対してラツチされる。変位の指標
がPCレジスタ147であるならば、変位は加算
器148におけるPCビツトに加えられ、第10
4図に示す如くラツチ149を介して論理アドレ
ス・バスに与えられる。 前記ローデイング・プロセスの間、命令復号レ
ジスタ142は、次の命令を受取る用意のできる
ように復号された命令の長さによつて即ち1又は
2又は3ワードシフトされる。IDRシフター装置
143は命令復号レジスタ142の内容のこのよ
うなシフトを提供するように作用する。3ワード
のシフトは、例えば、ICACHEから(又は
ICACHEの「外れ」と同時に直接メモリーから)
次の命令を受取る用意のため命令復号レジスタを
完全に空にする。例えば、シフターは、
ICACHEからアクセスされた2倍ワード命令の
どちらかのワードを直接命令復号レジスタのどこ
かにロードさせ得る。IDR142における位置決
めはIDRの妥当ビツトの検査によつてなされる。
このように、もし「A」フイールドが無効であれ
ば、入力命令データは「A」のフイールドにロー
ドされる。命令復号レジスタ142における3つ
のフイールドのどれかが空である時は常に、その
ビツト23〜27がICACHEにおけるどの2倍
ワードがアクセスされるかを一義的に決定する
ICACHEポインタ(ICP)150により決定され
るように、次の命令のアクセスのためICACHE
制御ロジツク136を介してワード要求が
ICACHEになされる。もしこの命令が単ワード
命令であるならば、取出し要求制御ロジツク15
1(第105図)から得たICPビツト28〜30
およびICPXビツト28〜30が、ワード・ポイ
ンタ・ロジツク139(第102図)に示す如き
命令として2倍ワードのどのワードが使用される
べきかを一義的に決定する。 もし命令復号レジスタ142が少くとも2つの
フイールドを空にし、ワード・ポインタが偶数の
2倍ワードを指示するならば、この2倍ワードは
IDRの2つの空のフイールドにロードされること
になる。ローデイングの後、ICACHEポインタ
150はこれが次の2倍ワードを指示するように
増分されることになる。もしIDRが唯1つの空の
フイールドしかもたず、ワードポインタが偶数の
2倍ワードを指示するならば、第1のワードが
IDRにロードされ、ワード・ポインタは2倍ワー
ドの第2のワードを指示するよう送られ、
ICACHEポインタは同じ状態を維持する。ワー
ドポインタが第2のワードを指示する時、唯1つ
のワードがICACHEからアクセスすることがで
き、命令復号レジスタにロードされる。 復号ロジツクは、2セツトの復号PROM14
0と141の内の一方における場所を選択するた
め使用される事前復号ロジツク154(第103
図)を使用する。前述の如く、1セツトの
PROM140は1セツトの基本命令(例、
Nova/Eclipse命令)を保持し、第2のセツトの
PROM141は拡張命令(例、Eagle命令)を保
持する。基本セツトの復号PROM140に対す
る復号プロセスは2つの段階で行われ、第1のレ
ベルは、復号ロジツク140がOPコードを復号
して適正な形態とシーケンスの変位情報により使
用可能になるように、基本マクロ命令を適正形態
におくため使用されるシフターの出力側で事前復
号ロジツク154において実施される。このよう
なロジツクは第122図に更に詳細に示される。
拡張されたセツトに対する命令は既に所望の形態
にあつて、復号PROM141に与えられる前に
事前復号される必要はない。いずれの場合も各入
力マクロ命令が復号PROM140又は141の
選択された一方の少くとも1つの場所にマツプし
てマイクロ順序付け装置に対して与えるための所
要のOPコード記述子および所要の開始マイクロ
アドレスを生じる。 復号PROM140(例、Nova/Eclipse)又
は復号PROM141(例、Eagle)の出力を選択
する判定はIDRAの選択されたビツト(例、前述
の如く、ビツト0,12〜15)を検査すること
によりなされる。前述の如く、復号PROMの選
択は従来システムにおける如く別個に表示された
「モード」ビツトによつて決定さるのではない。
従来のプロセスでは復号操作を相互に排他的なも
のにする。対照的に、本システムは適当な復号操
作の選定を命令単位で行うが、これは各命令がこ
のような復号の選択を決定するのに必要な情報を
本来自ら保持しているためである。 第101図乃至第106図に関して先に述べた
操作を行うため命令処理装置のブロツク図を構成
する特定の論理回路は第107図乃至第136図
に示される。ICACHEデータ・ストタ130お
よびICACHEデータ・ストア・アドレス入力ロ
ジツクはそれぞれ第107図および第108図に
示され、メモリーからカツシエ・ブロツク・ワー
ドを供給するCMPレジスタ134は第109図
および第109A図に示される。ICACHEタツ
グ・ストア131は又第109B図および第10
9C図に示され、ICACHE妥当性ストア132
は妥当性ストア・アドレス入力と共にそれぞれ第
110図と第111図に示される。コンパレータ
133と信号SET IDR VLDを与えるロジツク
は第112図に示される。 第113図はIDRシフター143を示し、IDR
シフター制御ロジツク137は第114図に示さ
れる。命令復号レジスタ(IDR)装置142は第
115図に示され、図示の如くIDRセクシヨン
A,B,Cを含む。 ICACHE論理回路に関しては、第106図の
ICACHEポインタ(ICP)ロジツク150および
ICP論理アドレスドライバ・ロジツクは更に詳細
に第116図および第117図にそれぞれ示され
る。第105図のICACHEポインタ先取り要求
制御ロジツク151および物理ICP変換レジスタ
152はそれぞれ更に詳細に第118図および第
119図に示される。他の汎用ICACHE制御ロ
ジツクは更に第120図に示される。 第103図に示す如きCPDバスからIDRAへ入
力FASA0〜15を与えるドライバ・ロジツクは
第121図に示され、命令事前復号ロジツクおよ
びそのための制御が第122図に示される。有効
にSTμADレジスタ144を含む復号PROM14
0と141は、IP状態ロジツク138と共に第
123図に示される。開始マイクロアドレス制御
ロジツク145は詳細に第124図に示される。 命令処理装置の変位およびプログラム・カウン
タ部に関して変位ロジツク146が第125図に
示され、これに関連する変位マルチプレクサは第
126図に示される。信号拡張(SEX)ロジツ
クは第127図に示され、零/1拡張ロジツクは
第128図に示される。第129図は第104図
の変位増分バツフアを示し、変位ラツチおよびド
ライバ153は第130図に示される。第131
図は第104図のプログラム・カウンタ・レジス
タ147およびCPDバス・ドライバを示し、加
算器148およびPC+DISPラツチおよびドライ
バ装置149はそれぞれ第132図および第13
3図に示される。プログラム・カウンタクロツ
ク・ロジツクは第134図に示される。 汎用命令処理装置のタイミング兼制御論理回路
は第135図に示され、システム・カツシエ17
をインターフエースする命令処理装置12に必要
なシステム・カツシエ・インターフエース・ロジ
ツクは第136図に示される。 マイクロ順序付け装置 マイクロ順序付け装置の主要機能は、マイクロ
順序付けボード上のランダム・アクセス・メモリ
ー(RAM)記憶装置に与えられる開始マイクロ
アドレスからマイクロ命令を生成することであ
る。本文に説明する本発明のシステムの特定の実
施態様のためのマイクロ順序付け装置ボードの全
体ブロツク図は第137図および第138図に示
される。明らかなように、RAM記憶装置はマイ
クロ制御記憶装置170として識別され、4Kま
での80ビツト(79ビツトプラス1パリテイ・ビツ
ト)のマイクロ命令を記憶することができ、説明
するシステムに必要な全てのマイクロ命令を記憶
するに十分である。マイクロ命令は、最初に(即
ち、システムの使用前に)適当な制御ボード・イ
ンターフエース論理装置171を経て適当な制御
ボードから記憶装置170に対して適当にロード
することができる。一たん全マイクロ命令セツト
がマイクロ制御記憶装置170にロードされた後
は、制御ボード・インターフエース・ロジツク
は、マイクロ命令が変更されず、あるいは別のマ
イクロ命令が記憶されなければ、もはや使用され
る必要はない。マイクロ命令に対するアドレスは
マイクロ順序付け装置ボードに対するRA入力側
に与えられる。 一たん全マイクロ命令セツトがマイクロ制御ス
トア170にロードされると、本システムは命令
処理装置12により決定される如くマイクロ命令
を実行する用意ができ、この処理装置は前述の如
くマイクロ命令ルーチンに対する開始マイクロア
ドレス(STμAD)を提供する。第137図に示
される如く、開始マイクロアドレス(STμAD)
はバツフア172とAND回路173を介してマ
イクロ制御ストア170のアドレス入力側に与え
られる。開始マイクロアドレスはマイクロ制御ス
トアの適当な場所における開始マイクロ命令を選
択し、どんなデータ処理システムに対して命令を
供給する場合とも同様な方法でこのような命令が
必要とする諸操作に含まれる全データ処理システ
ム内の適当な場所に対して、バツフア174を介
して前記命令と関連する制御信号を供給する。 マイクロ順序付け装置は、その時のマイクロ命
令の「次のアドレス制御」フイールド(NAC0
〜19)の適当な復号を介して次の順番のマイク
ロ命令(もしあれば)が必要とする次のアドレス
を決定する必要がある。これ迄に説明した特定の
実施例におけるこのフイールドは、マイクロ制御
ストアから得た80ビツトのマイクロ命令の20ビツ
ト・フイールドである。NACフイールドはNAC
復号ロジツク175により適当に復号されて次の
マイクロアドレスを得るのに必要な制御信号(そ
の内のいくつかは識別される)を提供する。この
復号プロセスは、1つのモードにおいては条件付
きのものであり得、即ちこの場合NACフイール
ドの復号は、もしあればどの条件が真であるかを
判定するため適当にテストされねばならない複数
の可能性のある条件の内の1つを条件とする。例
えば前に説明した特定の実施例においては、各々
がテスト可能な合計64条件に対して8つの条件を
表わす8つのテスト信号がある。あるいは又、別
のモードにおいては次のマイクロアドレスの選択
は関与する64条件のどれをも条件とすることがで
きない。適当なテストの後、ADDRマルチプレ
クサ装置176を介してマイクロ制御ストア17
0に与えるため、復号および条件テスト・ロジツ
ク182によつて決定される如くアドレスが4つ
のソースの内の1つから選択される。復号兼条件
テスト・ロジツク182は更に詳細に第138図
に示される。 このように、アドレス・マルチプレクサ出力
は、(μPC+1)装置177と、以前のマイクロ
命令(RA4〜15)を受入れ、これを1だけ増
分し、これをアドレス・マルチプレクサ装置17
6の入力側に与える増分ロジツク178とから得
る如き1だけ増分された以前のマイクロアドレス
を表わす次の順番のプログラム・カウンタ・アド
レス(μPC4〜15)から選択することができ
る。 あるいは又、次のマイクロ・アドレスは、スタ
ツクRAM記憶装置179に記憶された特定のマ
イクロコード・ルーチンに対する複数のマイクロ
アドレスの一時的記憶から得ることができ、次の
アドレスはスタツク頂部(TOS)レジスタ18
0を介してスタツク頂部(TOS4〜15)にお
けるアドレスとして直接与えられる。あるいは
又、スタツク頂部のアドレスは既にスタツクから
アクセス(ポツプ)され、TOS保管レジスタ1
81(特に、割込みプロセスの後全文脈の復元に
使用される)における以前の操作において保管さ
れ、その結果次のマイクロ命令アドレスはSTOS
レジスタに以前に保管されたスタツクデータの頂
部(STOS4〜15)から代替的に得ることがで
きる。 アドレス・マルチプレクサに対する次のマイク
ロアドレスの別のソースは第138図に更に詳細
に示した復号兼条件テスト・ロジツク182から
の絶対アドレスでもよく、このアドレスはマイク
ロ命令ワード自体により指定される、あるいはこ
のアドレスをマイクロ順序付け装置に対して送出
するマイクロ順序付け装置ボードに対する外部の
別のソースからの、即ちその選択されたビツトが
その時のマイクロ命令からの絶対アドレス・ビツ
トと適当に連結されて次のマイクロアドレスを形
成することができる、アドレス変換装置(ATU)
又は演算論理装置(ALU)からのビツトにより
識別可能な絶対アドレスでもよい。第138図に
示される如く、後者のビツトは適当なレジスタ1
83と184(第138図参照)を介してATU
送出(ATUD)レジスタ183におけるATU又
はCPDレジスタ184におけるCPDバス上の
ALUから受取ることができる。このように、第
138図から判るように、このようなビツト
(ATUD13〜14およびCPD20〜31)は
NACビツト0〜2,8〜19により識別される
マイクロ命令自体からのビツトと連結されて連結
論理装置185によつて5つの可能なマイクロア
ドレスを形成することができる。5つの連結され
たアドレスの1つは送出マルチプレクサ装置18
6において選択可能であり、これと同時にアドレ
ス・マルチプレクサ176に対して与えることが
可能である。 次の可能なマイクロアドレス(TOS4〜15
又はSTOS4〜15)に対する所要のスタツク・
データを得るため、適当なスタツク・ポインタ・
ロジツク187とスタツク制御ロジツク188が
スタツクRAM装置179と共に使用される。ス
タツク・ポインタ・ロジツク187を介して与え
られるスタツク・アドレスは一連のマイクロ命令
アドレスの場所を決定し、このマイクロ命令アド
レスはマイクロコード・ルーチンのため必要であ
り、そのシーケンスは既にスタツク・マルチプレ
クサ装置189を介してスタツクに与えられ、そ
の入力はその時処理中のマイクロ命令からの絶対
アドレス(AA4〜15)として、あるいはマイ
クロプログラム・カウンタ177(μPC+1)か
ら、又はCPDバスを介して送出されたALUソー
ス(CPD20〜31)から、又は以前に保管レ
ジスタ190に保管されたアドレス(AD4〜1
5)から得られるアドレスとして得られる。 スタツクRAMに記憶されたマイクロ・コード
ルーチンが完了した時にこのスタツクは空にな
り、スタツク・ポインタ・ロジツク187からの
STKMT信号は、新らしい開始マイクロアドレ
ス(STμAD)が次のマイクロ命令又はそのシー
ケンスを提供するため必要とされることを表示す
るよう命令処理装置に対して与えるためIPOP検
出兼ラツチ・ロジツク191の出力側に適当な
IPOPOUT信号を生じる。 条件付き飛越し命令(CJMP)において同じこ
とを示すマイクロ順序付け装置の作用の簡単な一
例として、次のマイクロ命令のアドレスが、条件
が真ならばマイクロプログラムがそこへ飛越しを
行わねばならない送出マルチプレクサからの絶対
アドレスとして、あるいは条件が真でなければマ
イクロプログラム・カウンタ(PC+1)からの
次の順番のプログラム・アドレスとして与えられ
るものと仮定しよう。例えば、もし現在のマイク
ロアドレスがマイクロ制御ストア170の選択さ
れた場所(例、場所「100」)にあるものとすれ
ば、次のマイクロアドレスは、条件が真でなけれ
ば次の順番のプログラム・カウンタ・アドレスに
より示される場所(例、場所「101」)となるか、
条件が真であれば指定された絶対アドレス(例、
場所「500」)への飛越しとなる。マイクロ順序付
け装置が2つの場所のどちらが、即ち絶対アドレ
ス(ADD4〜15)又はマイクロプログラム・
カウンタ・アドレス(μPC4〜15)のどちらが
選択されるかを判定するために、条件が「真」で
あるかどうかの判定のテストをしなければならな
い。 もしこの条件のテストが条件アウト・ロジツク
192における真を見出すならば、絶対アドレス
(AAD4〜15)はアドレス・マルチプレクサ1
76からの適正なアドレスとして選択され、もし
この条件が真でなければ、次のマイクロプログラ
ム・カウンタ・アドレス(μPC4〜15)が選択
される。テスト・ロジツク198は第138図に
示される。 以上に説明したように、このシステムは、論理
アドレス・バス上の2つの異なるビツト数を有す
る論理アドレスに応答して、物理アドレス・バス
上に前記2つの内の1つのビツト数を有する物理
アドレスを与えることが出来る。例えば、このシ
ステムは従来のシステムにおいて用いられていた
16ビツトの論理アドレスと32ビツトの論理アドレ
スの両方に応答することができ、これによつて16
ビツト・システム(NOVA及びECLIPSEシステ
ム)に対する命令セツトの命令と32ビツト・シス
テム(現在MVシリーズ・システムとして知られ
ているEAGLEシステム)に対する命令セツトの
命令の双方を互換性を持つて動作させられる。論
理アドレス・バスは16ビツト及び32ビツトの論
理アドレスを扱い、これらは32ビツトの物理アド
レスに変換されて、従来の16ビツト・システムの
主メモリーで収容可能な命令より多くの命令を収
容するように拡張された主メモリーをアクセスす
るために用いられる。 16ビツト及び32ビツトの論理アドレスを扱うた
めのシステムを用いることによつて、このシステ
ムは従来のシステム用に設計された16ビツト・ソ
フトウエアを拡張された32ビツト・ソフトウエア
と同様に用いることができ、システムのデータ処
理能力を劇的に増大することができた。 本発明のシステムのこれまでに述べた独特の作
用は、その構成および作用にとつて全く本来的な
ものであり、他の以前からの公知のデータ処理シ
ステムでは必要とされずあるいは示唆されない諸
操作を提供するものである。
号はゲート配列の最初の32ビツトのビツト16〜
31と比較される。もしこのゲート番号がゲート
配列における最大ゲート番号より大きいかあるい
はこれと等しければ、リング横断呼出しは許され
ず、保護障害が生じる(もしゲートの最大番号が
0であれば、関与するセグメントは1つの内方向
のリング横断呼出し操作の妥当な目的ではあり得
ない)。 もしゲート番号が最大ゲート番号より小さけれ
ば、このゲート番号はその最初の32ビツトに続く
ゲート配列のゲート内の1つを指示するため使用
される。指示されたゲートの内容を読出して2つ
の動作を制御するため使用される。第一に、有効
ソースは指示されたゲートのゲート・ブラケツ
ト・ビツト1〜3と比較される。有効ソースは参
照されたゲート・ビツトより小さいかあるいはこ
れと等しくなければなず、もしそうならば、PC
オフセツト・ビツト4〜31はプログラム・カウ
ンタの下位の28ビツトとなり、プログラム・カウ
ンタのビツト1〜3はゲート配列を含むセグメン
トにセツトされる。 前述の如くリング横断操作におけるゲートが横
断が行われるリングに対する許容されたエントリ
点であるならば、新らしいスタツクが構成され
る。このためには、リング当り1つのスタツクし
かないため、スタツク切換え操作が生じなければ
ならない。このように、新らしいスタツクが形成
できる前に、その時のスタツク管理レジスタの内
容は呼出し側のリングの指定された記憶場所に保
管されねばならない。呼出し側のスタツクはこの
時形成でき、呼出し側のスタツクからの引数が新
らしく形成される呼出し側のスタツクに複写さ
れ、この引数の数はX即ちLCALL命令(別紙2
参照)により指定される。最初、全ての引数の複
写がスタツクのオーバーフロー条件を形成するか
どうかを判定する適当な検査がなされる。もしそ
うならば、スタツク障害が信号され、リング横断
は許容され障害は呼出されたリング内で処理され
る。 Eclipseアドレス変換操作をエミユレートする
ため、ATUをEclipse 操作モードにおくための
適当なエミユレーシヨン制御信号がエミユレーシ
ヨン制御論理装置115により示される如く要求
され、この論理装置はマイクロ順序付けボード1
3により生成される符号化命令に応答して、それ
についての前掲の文献に記載の如くEclipseコン
パレータの記憶管理保護装置(MMPU)と等価
な16ビツトのアドレスに対する操作を許容するた
めこのような信号を生成する。 第79図乃至第81図に示されるアドレス変換
装置の種々のブロツクを実現するための特定の論
理回路は第82図乃至100に示される。第82
図は、記憶データ・レジスタ105からのビツト
MD18〜31が供給される変換ストア装置10
0を示し、更に論理アドレス・ビツトLA15〜
21の変換から生じた変換された物理 アドレ
ス・ビツト8〜21を供給する。第82図は又、
ページ表アドレス・マルチプレクサ装置107お
よび物理 モード・バツフア装置108を示す。
更に、この図はECLIPSEMMPUエミユレーシヨ
ン操作の間物理 アドレス・ビツトPHY8〜2
1を提供する「最終ブロツク」レジスタ装置11
6を含む。第82図は又LMPデータ・レジスタ
を示す。第83図はタツグ・ストア102および
保護ストア104を示す。タツグ・コンパレータ
装置105は第84図に示される。第85図は論
理アドレス・レジスタ101を示し、物理 アド
レス・オフセツト・マルチプレクサ109および
論理アドレス・レジスタCPDバス・ドライバ装
置はそれぞれ第86図および第87図に示され
る。適当な物理 アドレス・ビツトPHY8〜2
1を出力するための物理 アドレス・バス・ドラ
イバ装置は第88図に示される。 障害検出およびカツシエ・ブロツク横断トラツ
プ・ロジツクを含む保護ロジツクは第89図乃至
第92図に示され、保護ロジツク識別エンコーダ
装置110は第89図に、障害コード・ビツト駆
動装置112は第90図に、リング保護論理回路
111は第91図に示され、障害検出兼カツシ
エ・ブロツク横断ロジツクは第92図および第9
3図に示される。 妥当性ストア装置103は、これと関連する変
換パージ・ロジツクおよびマルチプレクサと共に
第94図に示される。第79図の変換レジスタは
第95図に詳細に示される。参照/修飾記憶兼制
御論理装置は第96図に示され、これと関連する
状態保管駆動装置は第97図に示される。16ビツ
トMMPUエミユレーシヨン制御ロジツクは第9
8図に示される。 ATUタイミング・ロジツクは第99図に示さ
れ、適当なシステム・コード・インターフエー
ス・ロジツクは第100図に示される。 命令処理装置 命令処理装置(IP)12は本発明のデータ処
理システム用のマクロ命令の取出しおよび復号の
取扱いに使用される。本命令処理装置はプログラ
ム・カウンタと同時か又はそれに先立つて作動
し、その主要機能は、マイクロ順序付け装置13
に与えられる各マイクロ命令用開始マクロアドレ
ス(STμAD)の提供にある。この命令処理装置
の補助的機能は、(1)ソースおよび行先きアキユム
レータの指定、(2)演算論理装置に対する実効アド
レス計算パラメータの提供、および(3)メモリー参
照又はインライン・リテラル(即値)を行うため
の演算論理装置(ALU)に対する符号又は零拡
張変位の提供である。 第101図に示す如く、命令処理装置は、以下
に述べる如く命令カツシエ・ロジツク120
(ICACHE)、マクロ命令復号ロジツク121
(第103図に示す如き命令復号レジスタを含
む)、およびプログラム・カウンタ/変位ロジツ
ク122を含む。ICACHEロジツク120は、
先取り装置として機能する。即ち、その命令カツ
シエ(ICACHE)が復号のための以降のマクロ
命令のブロツクを得、このブロツクは前のカクロ
命令の実行中にメモリーから予めアクセスされ
る。ICACHEは、仮にこのようなマクロ命令が
マイクロ順序付け装置により即時に使用中されな
くても、以降のマクロ命令ブロツクを記憶する。
命令処理装置の復号ロジツク121はICACHE
からマクロ命令に応答し、その命令コード(OP
コード)を復号して制御兼状況ロジツク123に
対するOPコード記述情報を提供し、これから必
要な情報を開始マイクロアドレス(STμAD)レ
ジスタ124に(及びそこからマイクロ順序付け
装置へ)与えて所要のマイクロ命令の開始マイク
ロアドレスを識別する。 変位ロジツク122は、この変位に対する指標
がALUボード上にあれば、変位データをALUに
与える。もしこの変位に対する指標がIPプログ
ラム・カウンタであれば、変位ロジツクがこの変
位情報を命令処理装置において使用可能なプログ
ラム・カウンタ情報と組合せてLAバスに与える
ための論理アドレスを形成する。 このように、全IP操作シーケンスにおいて、
マクロ命令がICACHEロジツク120の
ICACHE記憶装置から復号ロジツク121に読
込まれ、このロジツクはこれと同時に命令OPコ
ードを復号し、マイクロ順序付け装置に対する開
始マイクロアドレスを生成する。復号および開始
マイクロアドレス生成プロセスの間、命令処理装
置は同時に次のマクロ命令をICACHEから復号
ロジツクへ読込む。マイクロ順序付け装置が初め
のマイクロ命令を読出し中、復号ロジツクは次の
開始マイクロアドレスの生成のため次のマクロ命
令を復号する。開始マイクロアドレスにおけるマ
イクロ命令が実行中、マイクロ順序付け装置は次
の開始マイクロアドレスから次のマイクロ命令を
読出す。その結果、パイプライン復号および実行
プロセスが生じる。 更に詳細に第102図に示される如く、
ICACHEロジツク120はICACHEデータ・ス
トア装置130と、タツグ・ストア装置131
と、妥当性ストア装置132を含む。記憶システ
ムのシステム・カツシエ17に関して記載した如
く、ICACHEの操作は実質的に、マクロ命令の
各々の所要ワードのアドレスのタツグ部分
(PHYICP8〜21)がコンパレータ133にお
いてICACHEデータ・ストア130に記憶され
たワードのタツグ・ストア装置131に記憶され
たアドレスのタツグ部分と比較される点で実質的
に類似している。更に、妥当性ストア装置は所要
のアドレスが妥当なものであるかどうかを判定す
る。もしこのアドレスが妥当であり、又もしタツ
グの「一致」が生じるならば、このようなアドレ
スの32ビツトの2倍ワードはICACHEデータ・
ストア130から復号ロジツク121へ与えられ
る。 もし適当なICACHEブロツクにおける所要の
マクロ命令がICACHEデータ・ストア130に
記憶されるその時の物理 ページ(即ち、プログ
ラム・カウンタのその時の値の論理ページ値と対
応する物理 ページ)に存在しなければ(即ち、
タツグの一致が生じない)、あるいはもし妥当性
ビツトがセツトされていなければ、ICACHEの
「外れ」が生じマクロ命令を含むカツシエブロツ
クがメモリーから参照されねばならない。もしシ
ステム・カツシエのアクセスも又外れるならば、
このようなICACHEブロツク・メモリー参照は
システム・カツシエ(SYSCACHE)又は主記憶
装置に対するものでよい。アクセスされた
ICACHEブロツクが取出されるならば、その所
要のマクロ命令はCPMレジスタ134から
ICACHEデータ・ストア130に書込まれ、こ
のブロツクは同時にバイパス経路135を介して
直接復号ロジツクへ送られる。この時ICACHE
ロジツクはその命令ブロツクとして取出されたペ
ージからマクロ命令の残りを先取りし続けること
ができ、これ等マクロ命令がアクセスされる時1
つ宛ICACHEデータ・ストア130に入れる。
ICACHEロジツク120に対する制御ロジツク
はICACHE/ICP制御論理装置136である。 第103図に更に詳細に示される復号ロジツク
は、マクロ命令のOPコード部分を復号するため
命令復号装置140と141を含む。復号装置1
40は、本システムがその拡張であるシステムに
対する元の基本命令のOPコードの復号のために
使用される。このように、前述の如く特定の実施
例においては、この基本命令はDate General
Carp.の従来のNovaおよびEclipse システムの
ためのNovaおよびEclipse 命令でよい。復号装
置141は拡張された命令セツト、例えば前述の
「Eagle」マクロ命令のOPコードを復号するため
に使用される。 OPコードは3つの記憶レジスタ域を有する命
令復号レジスタ(IDR)142から与えられ、前
記記憶レジスタ域の各々は1つのワードを記憶す
ることができ、IDRA,IDRBおよびIDRCとして
識別される。各マクロ命令のOPコードはIDRA
セクシヨンに記憶され、変位はIDRBおよび
IDRCセクシヨンに記憶される。IDRシフター装
置143は、ICACHEデータ・ストア130か
らIDR142のIDRAセクシヨンにアクセスされ
た命令の所要のOPコード部分をシフトし、もし
命令が存在すればその適当な変位ワードをその
IDRBおよびIDRCセクシヨンにシフトする。
IDRおよびIDRシフター装置に対する制御ロジツ
クは第102図に示されるIDR/シフター制御装
置137である。 マクロ命令が復号ロジツクに送られた時、必要
に応じて復号装置140又は141はそのOPコ
ード部分を復号して、命令の長さ(即ち、命令が
単ワード、2倍ワード、3倍ワードのどれからな
るか)を含むOPコード記述(OPCDDSCR)情
報を提供する。命令全体が(ICACHEデータス
トア130から)復号ロジツクへ与えられた時、
信号SET IDR VLDが生成されてIDR/シフタ
ー制御装置137(第102図)に信号IDR
VLDを生じる。復号プロセスに続いて、マクロ
命令が基本命令が拡張命令かに従つて、開始マイ
クロアドレスが復号PROM140と141のい
ずれかからSTμADレジスタ144へロードされ
る。 STμADレジスタ144のローデイングの制御
はSTμADロード制御装置145に常駐する。 変位ワード(単数又は複数)が存在する場合
は、第104図に示される如く変位ロジツク14
6から抽出されるIDR B又はCに通常存在する
(あるNova命令に対しては、他の殆んど全ての
命令変位がIDRBおよびIDRから抽出されるが、
バイト変位はIDRAから抽出される)。変位は必
要に応じて符号又は零拡張され、以下に述べるよ
うにALU装置において使用されるため直接論理
アドレス(LA)バス又はCPDバスにとつて使用
可能になるようにその変位レジスタにクロツクさ
れる。 開始マイクロ・アドレスがSTμADレジスタ1
44にクロツクされた時、信号UPDATEがIP状
態ロジツク装置138(第102図)により発さ
れて、IDR/シフター制御装置143に対して復
号された情報が使用されてIDR140/141か
らシフト出力可能であることを通知する。直線状
復号操作における不連続性が生じる迄それ以降の
マクロ命令の復号が継続する。直線状操作におけ
る飛越しが生じると、新らしいプログラム・カウ
ンタ・アドレス(LA4〜31)が論理アドレ
ス・バスからのプログラムカウンタ・レジスタに
おくことができるようにマイクロ順序付け装置が
命令処理装置のプログラム・カウンタ・レジスタ
147(第104図)に対し信号IPSTRTを発
する。開始マイクロアドレスレジスタ144がリ
セツトされ、例えば適当な待機ルーチンの開始マ
イクロアドレスが新らしいプログラム・カウンタ
と関連する命令に対する復号プロセスが開始でき
る迄その内部におかれる。 ある状態においては、復号されつゝある一連の
マクロ命令が1つ以上の物理 ページに存在す
る。そのような条件下では、ICACHE制御装置
がICACHEデータ・ストア130に記憶される
ページの終りを検出する時、次のページを
ICACHEストア130に取出して新らしいペー
ジにおける先取り操作を続行するために特殊なル
ーチンが含まれねばならない。このように、特定
のページの最終命令が復号されて復号パイプライ
ンが事実上空になる時、命令処理装置がマクロ命
令の復号を続行し得るように、要求される新しい
ページをアクセスして物理 ページ・レジスタ1
34を介してこの次のページをICACHEストア
130にロードすることを可能にする適当なペー
ジ制御ルーチンの開始マイクロアドレスを開始マ
イクロアドレス・レジスタにロードする。 もしマクロ命令がICACHEストア130に含
まれるページ上になければ、命令処理装置におけ
るICACHEの「外れ」の故に、適正なページが
システム・カツシエか主記憶装置のいずれかから
アクセスされねばならない。システム・カツシエ
に対するアクセスは、アドレス変換装置(ATU)
により使用されるものと同じシステムカツシエ入
力ポートにおいて行われる。しかし、本発明のシ
ステムにおいては、ICACHEはATUよりも低い
優先順位が与えられ、そのためもしATUがシス
テム・カツシエのアクセスを欲すれば、ATUが
そのアクセスを完了する迄命令処理装置はそのア
クセス要求を保持しなければならない。 本文に述べる如きICACHEロジツクの使用は、
短い分岐を逆方向に用いるプログラムにおいて非
常に有利となる。もしマクロ命令分岐変位が
ICACHEデータ・ストアにおけるワード数より
少なければ、所要のマクロ命令が依然として
ICACHEデータ・ストアに局部的に記憶されて
おり、これ以上のシステム・カツシエ又は主記憶
装置の参照が不必要となる機会が十分ある。 特定の実施態様においては、例えば、
ICACHEロジツク120全体はデータ・ストア
130内の1セツトの直接マツプされた256の2
倍ワード配列と、タツグ・ストア131と妥当性
ストア132におけるタツグおよび妥当性ビツト
を含み得る。データは整合された2倍ワードとし
てデータ・ストアに入れられ、ICACHデータ・
ストアは、第105図に示された命令カツシエ・
ポインタ(ICP)装置150からのビツトICP2
3〜27および装置139からのビツトADR2
8,29,30を含む8つのビツトでアドレス指
定される。 命令処理装置のICACHE装置のタツグ・スト
ア131のコピー又はシステム・カツシエにも保
持され、後者のカツシエはデータがICACHEに
書込まれた時命令処理装置に通知できるようにこ
の情報を必要とする。 妥当性ストア132は、例えば、ある特定の実
施例においては、ICACHEデータストアにおけ
る各2倍ワードの妥当性を表示するため64の2倍
ワード×4妥当性ビツトの如く構成される。命令
ワードの新らしいブロツクの各々への初期取出し
は2倍ワードに対する対応する妥当性ビツトをセ
ツトし、残りの3つの妥当性ビツトをリセツトす
る。同じブロツクへの先取り操作の間、先取り2
倍ワードに対する対応する妥当性ビツトがセツト
され、残りの3つの妥当性ビツトは同じ状態を維
持する。ブロツクにおける最終2倍ワードが不必
要なシステム・カツシエの障害を避けるため先取
りされる時、先取り操作は停止する。 もしICACHE操作が物理 ページの終りに達
しプログラム・カウンタ(PCビツト4〜21)
の次の論理ページに対する次に物理 ページ・ア
ドレスを得ることが必要となる如きものであれ
ば、ICACHE制御論理装置136(第102図)
は、STμADロード制御ロジツク145(第10
3図)に与えられる信号(信号ICATとして識
別)を存続させる。その時のページの終りにおけ
る最後のマクロ命令が復号された時、STμAD制
御ロジツク145はICATマイクロコード・ルー
チンに対する開始マイクロアドレスを与え、この
ルーチンはこれと同時にICACHEデータ・スト
ア130に対する次の物理 ページの転送のため
必要なアドレス変換操作を実行する。 命令処理装置は命令ストリームに対する2つの
ポインタを使用する。第1のポインタは実行中の
命令の論理アドレスを保持するプログラム・カウ
ンタ・レジスタ147(第104図)であり、第
2のポインタは復号ロジツクに必要な次のマクロ
命令の論理アドレスを保持する命令カツシエ・ポ
インタ(ICP)150(第106図)である。別
のレジスタPICP152(物理 命令カツシエ・
ポインタ)は命令カツシエ・ポインタ(ICP)の
ビツト4〜21により表示される論理ページの物
理 ページ・アドレスを保持する。このため、
ICP150は先取り論理アドレス・ポインタとし
て機能し、PICPは先取り物理 アドレス・ポイ
ンタとして機能する。プログラム・カウンタ14
7とICP150は、命令処理装置の動作の開始時
に論理アドレス・バスからロードされる。復号パ
イプライン操作が充填される時、ICPはプログラ
ム・カウンタの前に増分される。ICACHE障害
又は「外れ」と同時にPICP物理 アドレスはメ
モリーの参照に使用され、ICPアドレスは適正ペ
ージの終りに達した時アドレス変換のための次の
論理ページ・アドレスに対するポインタとして使
用される。 命令処理装置の動作によれば、命令が局部的に
ICACHEにおいて使用可能である時最適の性能
が得られ、これによりこの命令はマイクロ順序付
け装置がこの命令を要求する時略々即時に使用可
能となる。ICACHEにおいて局部的に使用可能
でない命令は、システム・カツシエ・アクセス操
作およびページ障害ルーチン操作に依存する時間
量を要する。 マクロ命令復号ロジツクは前述の如くIDRA,
IDRB,IDRCフイールドとして識別される3つ
の16ビツト・フイールドを使用する。「A」のフ
イールドはOPコードを含むが、「B」と「C」の
フイールドは「A」フイールド又は命令ストリー
ムにおいて追従するマクロ命令の1つ以上のフイ
ールドにおける命令に対する変位を含む。命令復
号レジスタIDR142は、もし可能ならば、3つ
のIDRフイールドのどれかが空である時、
ICACHE(ICP制御装置136)に対してワード
要求を送ることにより3つの全てのフイールドを
充填状態に保持するように構成される。前述の如
く、もしICACHEワード要求がICACHEの「外
れ」を結果として生じるならば、システム・カツ
シエ取出しが開始される。 命令復号レジスタ142の「A」フイールドは
復号ロジツクPROM140又は141によつて
使用されてマクロ命令のOPコードを復号し、又
要求されるマクロ命令の開始アドレスを提供す
る。 「B」および「C」フイールドはもしあれば要求
される変位を決定する。各フイールドは長さが1
ワードであり、従つて命令処理装置が変位を復号
して正規化し得る最も長い命令は3ワードの最大
長さを有する。 命令復号レジスタのAフイールドが充填状態で
ある時、復号PROM140又は141は命令の
OPコードを復号する。OPコードと変位を含む命
令全体を命令復号レジスタにあるならば、信号
IDRVLDがIDRシフター制御ロジツク137に
より存続させられて、STμADレジスタ144に
対する開始マイクロアドレスを与えるように命令
全体が復号される用意があることをIP状態ロジ
ツク138に通知する。変位を抽出する変位ロジ
ツク146は必要に応じてこれを符号拡張又は零
拡張し、次にこれを変位レジスタにロードする。
もし変位の指標がALUボード上にあるならば、
変位はラツチ装置153を介してCPDバスに与
えるためこれに対してラツチされる。変位の指標
がPCレジスタ147であるならば、変位は加算
器148におけるPCビツトに加えられ、第10
4図に示す如くラツチ149を介して論理アドレ
ス・バスに与えられる。 前記ローデイング・プロセスの間、命令復号レ
ジスタ142は、次の命令を受取る用意のできる
ように復号された命令の長さによつて即ち1又は
2又は3ワードシフトされる。IDRシフター装置
143は命令復号レジスタ142の内容のこのよ
うなシフトを提供するように作用する。3ワード
のシフトは、例えば、ICACHEから(又は
ICACHEの「外れ」と同時に直接メモリーから)
次の命令を受取る用意のため命令復号レジスタを
完全に空にする。例えば、シフターは、
ICACHEからアクセスされた2倍ワード命令の
どちらかのワードを直接命令復号レジスタのどこ
かにロードさせ得る。IDR142における位置決
めはIDRの妥当ビツトの検査によつてなされる。
このように、もし「A」フイールドが無効であれ
ば、入力命令データは「A」のフイールドにロー
ドされる。命令復号レジスタ142における3つ
のフイールドのどれかが空である時は常に、その
ビツト23〜27がICACHEにおけるどの2倍
ワードがアクセスされるかを一義的に決定する
ICACHEポインタ(ICP)150により決定され
るように、次の命令のアクセスのためICACHE
制御ロジツク136を介してワード要求が
ICACHEになされる。もしこの命令が単ワード
命令であるならば、取出し要求制御ロジツク15
1(第105図)から得たICPビツト28〜30
およびICPXビツト28〜30が、ワード・ポイ
ンタ・ロジツク139(第102図)に示す如き
命令として2倍ワードのどのワードが使用される
べきかを一義的に決定する。 もし命令復号レジスタ142が少くとも2つの
フイールドを空にし、ワード・ポインタが偶数の
2倍ワードを指示するならば、この2倍ワードは
IDRの2つの空のフイールドにロードされること
になる。ローデイングの後、ICACHEポインタ
150はこれが次の2倍ワードを指示するように
増分されることになる。もしIDRが唯1つの空の
フイールドしかもたず、ワードポインタが偶数の
2倍ワードを指示するならば、第1のワードが
IDRにロードされ、ワード・ポインタは2倍ワー
ドの第2のワードを指示するよう送られ、
ICACHEポインタは同じ状態を維持する。ワー
ドポインタが第2のワードを指示する時、唯1つ
のワードがICACHEからアクセスすることがで
き、命令復号レジスタにロードされる。 復号ロジツクは、2セツトの復号PROM14
0と141の内の一方における場所を選択するた
め使用される事前復号ロジツク154(第103
図)を使用する。前述の如く、1セツトの
PROM140は1セツトの基本命令(例、
Nova/Eclipse命令)を保持し、第2のセツトの
PROM141は拡張命令(例、Eagle命令)を保
持する。基本セツトの復号PROM140に対す
る復号プロセスは2つの段階で行われ、第1のレ
ベルは、復号ロジツク140がOPコードを復号
して適正な形態とシーケンスの変位情報により使
用可能になるように、基本マクロ命令を適正形態
におくため使用されるシフターの出力側で事前復
号ロジツク154において実施される。このよう
なロジツクは第122図に更に詳細に示される。
拡張されたセツトに対する命令は既に所望の形態
にあつて、復号PROM141に与えられる前に
事前復号される必要はない。いずれの場合も各入
力マクロ命令が復号PROM140又は141の
選択された一方の少くとも1つの場所にマツプし
てマイクロ順序付け装置に対して与えるための所
要のOPコード記述子および所要の開始マイクロ
アドレスを生じる。 復号PROM140(例、Nova/Eclipse)又
は復号PROM141(例、Eagle)の出力を選択
する判定はIDRAの選択されたビツト(例、前述
の如く、ビツト0,12〜15)を検査すること
によりなされる。前述の如く、復号PROMの選
択は従来システムにおける如く別個に表示された
「モード」ビツトによつて決定さるのではない。
従来のプロセスでは復号操作を相互に排他的なも
のにする。対照的に、本システムは適当な復号操
作の選定を命令単位で行うが、これは各命令がこ
のような復号の選択を決定するのに必要な情報を
本来自ら保持しているためである。 第101図乃至第106図に関して先に述べた
操作を行うため命令処理装置のブロツク図を構成
する特定の論理回路は第107図乃至第136図
に示される。ICACHEデータ・ストタ130お
よびICACHEデータ・ストア・アドレス入力ロ
ジツクはそれぞれ第107図および第108図に
示され、メモリーからカツシエ・ブロツク・ワー
ドを供給するCMPレジスタ134は第109図
および第109A図に示される。ICACHEタツ
グ・ストア131は又第109B図および第10
9C図に示され、ICACHE妥当性ストア132
は妥当性ストア・アドレス入力と共にそれぞれ第
110図と第111図に示される。コンパレータ
133と信号SET IDR VLDを与えるロジツク
は第112図に示される。 第113図はIDRシフター143を示し、IDR
シフター制御ロジツク137は第114図に示さ
れる。命令復号レジスタ(IDR)装置142は第
115図に示され、図示の如くIDRセクシヨン
A,B,Cを含む。 ICACHE論理回路に関しては、第106図の
ICACHEポインタ(ICP)ロジツク150および
ICP論理アドレスドライバ・ロジツクは更に詳細
に第116図および第117図にそれぞれ示され
る。第105図のICACHEポインタ先取り要求
制御ロジツク151および物理ICP変換レジスタ
152はそれぞれ更に詳細に第118図および第
119図に示される。他の汎用ICACHE制御ロ
ジツクは更に第120図に示される。 第103図に示す如きCPDバスからIDRAへ入
力FASA0〜15を与えるドライバ・ロジツクは
第121図に示され、命令事前復号ロジツクおよ
びそのための制御が第122図に示される。有効
にSTμADレジスタ144を含む復号PROM14
0と141は、IP状態ロジツク138と共に第
123図に示される。開始マイクロアドレス制御
ロジツク145は詳細に第124図に示される。 命令処理装置の変位およびプログラム・カウン
タ部に関して変位ロジツク146が第125図に
示され、これに関連する変位マルチプレクサは第
126図に示される。信号拡張(SEX)ロジツ
クは第127図に示され、零/1拡張ロジツクは
第128図に示される。第129図は第104図
の変位増分バツフアを示し、変位ラツチおよびド
ライバ153は第130図に示される。第131
図は第104図のプログラム・カウンタ・レジス
タ147およびCPDバス・ドライバを示し、加
算器148およびPC+DISPラツチおよびドライ
バ装置149はそれぞれ第132図および第13
3図に示される。プログラム・カウンタクロツ
ク・ロジツクは第134図に示される。 汎用命令処理装置のタイミング兼制御論理回路
は第135図に示され、システム・カツシエ17
をインターフエースする命令処理装置12に必要
なシステム・カツシエ・インターフエース・ロジ
ツクは第136図に示される。 マイクロ順序付け装置 マイクロ順序付け装置の主要機能は、マイクロ
順序付けボード上のランダム・アクセス・メモリ
ー(RAM)記憶装置に与えられる開始マイクロ
アドレスからマイクロ命令を生成することであ
る。本文に説明する本発明のシステムの特定の実
施態様のためのマイクロ順序付け装置ボードの全
体ブロツク図は第137図および第138図に示
される。明らかなように、RAM記憶装置はマイ
クロ制御記憶装置170として識別され、4Kま
での80ビツト(79ビツトプラス1パリテイ・ビツ
ト)のマイクロ命令を記憶することができ、説明
するシステムに必要な全てのマイクロ命令を記憶
するに十分である。マイクロ命令は、最初に(即
ち、システムの使用前に)適当な制御ボード・イ
ンターフエース論理装置171を経て適当な制御
ボードから記憶装置170に対して適当にロード
することができる。一たん全マイクロ命令セツト
がマイクロ制御記憶装置170にロードされた後
は、制御ボード・インターフエース・ロジツク
は、マイクロ命令が変更されず、あるいは別のマ
イクロ命令が記憶されなければ、もはや使用され
る必要はない。マイクロ命令に対するアドレスは
マイクロ順序付け装置ボードに対するRA入力側
に与えられる。 一たん全マイクロ命令セツトがマイクロ制御ス
トア170にロードされると、本システムは命令
処理装置12により決定される如くマイクロ命令
を実行する用意ができ、この処理装置は前述の如
くマイクロ命令ルーチンに対する開始マイクロア
ドレス(STμAD)を提供する。第137図に示
される如く、開始マイクロアドレス(STμAD)
はバツフア172とAND回路173を介してマ
イクロ制御ストア170のアドレス入力側に与え
られる。開始マイクロアドレスはマイクロ制御ス
トアの適当な場所における開始マイクロ命令を選
択し、どんなデータ処理システムに対して命令を
供給する場合とも同様な方法でこのような命令が
必要とする諸操作に含まれる全データ処理システ
ム内の適当な場所に対して、バツフア174を介
して前記命令と関連する制御信号を供給する。 マイクロ順序付け装置は、その時のマイクロ命
令の「次のアドレス制御」フイールド(NAC0
〜19)の適当な復号を介して次の順番のマイク
ロ命令(もしあれば)が必要とする次のアドレス
を決定する必要がある。これ迄に説明した特定の
実施例におけるこのフイールドは、マイクロ制御
ストアから得た80ビツトのマイクロ命令の20ビツ
ト・フイールドである。NACフイールドはNAC
復号ロジツク175により適当に復号されて次の
マイクロアドレスを得るのに必要な制御信号(そ
の内のいくつかは識別される)を提供する。この
復号プロセスは、1つのモードにおいては条件付
きのものであり得、即ちこの場合NACフイール
ドの復号は、もしあればどの条件が真であるかを
判定するため適当にテストされねばならない複数
の可能性のある条件の内の1つを条件とする。例
えば前に説明した特定の実施例においては、各々
がテスト可能な合計64条件に対して8つの条件を
表わす8つのテスト信号がある。あるいは又、別
のモードにおいては次のマイクロアドレスの選択
は関与する64条件のどれをも条件とすることがで
きない。適当なテストの後、ADDRマルチプレ
クサ装置176を介してマイクロ制御ストア17
0に与えるため、復号および条件テスト・ロジツ
ク182によつて決定される如くアドレスが4つ
のソースの内の1つから選択される。復号兼条件
テスト・ロジツク182は更に詳細に第138図
に示される。 このように、アドレス・マルチプレクサ出力
は、(μPC+1)装置177と、以前のマイクロ
命令(RA4〜15)を受入れ、これを1だけ増
分し、これをアドレス・マルチプレクサ装置17
6の入力側に与える増分ロジツク178とから得
る如き1だけ増分された以前のマイクロアドレス
を表わす次の順番のプログラム・カウンタ・アド
レス(μPC4〜15)から選択することができ
る。 あるいは又、次のマイクロ・アドレスは、スタ
ツクRAM記憶装置179に記憶された特定のマ
イクロコード・ルーチンに対する複数のマイクロ
アドレスの一時的記憶から得ることができ、次の
アドレスはスタツク頂部(TOS)レジスタ18
0を介してスタツク頂部(TOS4〜15)にお
けるアドレスとして直接与えられる。あるいは
又、スタツク頂部のアドレスは既にスタツクから
アクセス(ポツプ)され、TOS保管レジスタ1
81(特に、割込みプロセスの後全文脈の復元に
使用される)における以前の操作において保管さ
れ、その結果次のマイクロ命令アドレスはSTOS
レジスタに以前に保管されたスタツクデータの頂
部(STOS4〜15)から代替的に得ることがで
きる。 アドレス・マルチプレクサに対する次のマイク
ロアドレスの別のソースは第138図に更に詳細
に示した復号兼条件テスト・ロジツク182から
の絶対アドレスでもよく、このアドレスはマイク
ロ命令ワード自体により指定される、あるいはこ
のアドレスをマイクロ順序付け装置に対して送出
するマイクロ順序付け装置ボードに対する外部の
別のソースからの、即ちその選択されたビツトが
その時のマイクロ命令からの絶対アドレス・ビツ
トと適当に連結されて次のマイクロアドレスを形
成することができる、アドレス変換装置(ATU)
又は演算論理装置(ALU)からのビツトにより
識別可能な絶対アドレスでもよい。第138図に
示される如く、後者のビツトは適当なレジスタ1
83と184(第138図参照)を介してATU
送出(ATUD)レジスタ183におけるATU又
はCPDレジスタ184におけるCPDバス上の
ALUから受取ることができる。このように、第
138図から判るように、このようなビツト
(ATUD13〜14およびCPD20〜31)は
NACビツト0〜2,8〜19により識別される
マイクロ命令自体からのビツトと連結されて連結
論理装置185によつて5つの可能なマイクロア
ドレスを形成することができる。5つの連結され
たアドレスの1つは送出マルチプレクサ装置18
6において選択可能であり、これと同時にアドレ
ス・マルチプレクサ176に対して与えることが
可能である。 次の可能なマイクロアドレス(TOS4〜15
又はSTOS4〜15)に対する所要のスタツク・
データを得るため、適当なスタツク・ポインタ・
ロジツク187とスタツク制御ロジツク188が
スタツクRAM装置179と共に使用される。ス
タツク・ポインタ・ロジツク187を介して与え
られるスタツク・アドレスは一連のマイクロ命令
アドレスの場所を決定し、このマイクロ命令アド
レスはマイクロコード・ルーチンのため必要であ
り、そのシーケンスは既にスタツク・マルチプレ
クサ装置189を介してスタツクに与えられ、そ
の入力はその時処理中のマイクロ命令からの絶対
アドレス(AA4〜15)として、あるいはマイ
クロプログラム・カウンタ177(μPC+1)か
ら、又はCPDバスを介して送出されたALUソー
ス(CPD20〜31)から、又は以前に保管レ
ジスタ190に保管されたアドレス(AD4〜1
5)から得られるアドレスとして得られる。 スタツクRAMに記憶されたマイクロ・コード
ルーチンが完了した時にこのスタツクは空にな
り、スタツク・ポインタ・ロジツク187からの
STKMT信号は、新らしい開始マイクロアドレ
ス(STμAD)が次のマイクロ命令又はそのシー
ケンスを提供するため必要とされることを表示す
るよう命令処理装置に対して与えるためIPOP検
出兼ラツチ・ロジツク191の出力側に適当な
IPOPOUT信号を生じる。 条件付き飛越し命令(CJMP)において同じこ
とを示すマイクロ順序付け装置の作用の簡単な一
例として、次のマイクロ命令のアドレスが、条件
が真ならばマイクロプログラムがそこへ飛越しを
行わねばならない送出マルチプレクサからの絶対
アドレスとして、あるいは条件が真でなければマ
イクロプログラム・カウンタ(PC+1)からの
次の順番のプログラム・アドレスとして与えられ
るものと仮定しよう。例えば、もし現在のマイク
ロアドレスがマイクロ制御ストア170の選択さ
れた場所(例、場所「100」)にあるものとすれ
ば、次のマイクロアドレスは、条件が真でなけれ
ば次の順番のプログラム・カウンタ・アドレスに
より示される場所(例、場所「101」)となるか、
条件が真であれば指定された絶対アドレス(例、
場所「500」)への飛越しとなる。マイクロ順序付
け装置が2つの場所のどちらが、即ち絶対アドレ
ス(ADD4〜15)又はマイクロプログラム・
カウンタ・アドレス(μPC4〜15)のどちらが
選択されるかを判定するために、条件が「真」で
あるかどうかの判定のテストをしなければならな
い。 もしこの条件のテストが条件アウト・ロジツク
192における真を見出すならば、絶対アドレス
(AAD4〜15)はアドレス・マルチプレクサ1
76からの適正なアドレスとして選択され、もし
この条件が真でなければ、次のマイクロプログラ
ム・カウンタ・アドレス(μPC4〜15)が選択
される。テスト・ロジツク198は第138図に
示される。 以上に説明したように、このシステムは、論理
アドレス・バス上の2つの異なるビツト数を有す
る論理アドレスに応答して、物理アドレス・バス
上に前記2つの内の1つのビツト数を有する物理
アドレスを与えることが出来る。例えば、このシ
ステムは従来のシステムにおいて用いられていた
16ビツトの論理アドレスと32ビツトの論理アドレ
スの両方に応答することができ、これによつて16
ビツト・システム(NOVA及びECLIPSEシステ
ム)に対する命令セツトの命令と32ビツト・シス
テム(現在MVシリーズ・システムとして知られ
ているEAGLEシステム)に対する命令セツトの
命令の双方を互換性を持つて動作させられる。論
理アドレス・バスは16ビツト及び32ビツトの論
理アドレスを扱い、これらは32ビツトの物理アド
レスに変換されて、従来の16ビツト・システムの
主メモリーで収容可能な命令より多くの命令を収
容するように拡張された主メモリーをアクセスす
るために用いられる。 16ビツト及び32ビツトの論理アドレスを扱うた
めのシステムを用いることによつて、このシステ
ムは従来のシステム用に設計された16ビツト・ソ
フトウエアを拡張された32ビツト・ソフトウエア
と同様に用いることができ、システムのデータ処
理能力を劇的に増大することができた。 本発明のシステムのこれまでに述べた独特の作
用は、その構成および作用にとつて全く本来的な
ものであり、他の以前からの公知のデータ処理シ
ステムでは必要とされずあるいは示唆されない諸
操作を提供するものである。
第1図は本文に説明される本発明のデータ処理
システム全体を示すブロツク図、第2図は第1図
のシステムのシステム・カツシエ装置のブロツク
図、第3図は第1図のシステムのバンク制御装置
のブロツク図、第4図は第1図のシステムの主記
憶装置のモジユールのブロツク図、第5図乃至第
43図は第2図のシステム・カツシエを構成する
特定の論理回路、第44図乃至第63図は第3図
のバンク制御装置を構成する特定の論理回路、第
64図乃至第78図は第4図の主記憶装置モジユ
ールを構成する特定の論理回路、第79図乃至第
81図は第1図のシステムのアドレス変換装置を
示すブロツク図、第82図乃至第100図は第7
9図乃至第81図のアドレス変換装置を構成する
特定の論理回路、第101図乃至第106図は第
1図のシステムの命令処理装置を示すブロツク
図、第107図乃至第136図は第101図乃至
第106図の命令処理装置を構成する特定の論理
回路、第137図および第138図は第1図のシ
ステムのマイクロ順序付け装置のブロツク図であ
る。 11……演算論理装置(ALU)、12……命令
処理装置、13……マイクロ順序付け装置、14
……アドレス変換装置(ATU)、15……記憶シ
ステム、16……主記憶装置、17……補助カツ
シエ記憶装置、18……バンク制御装置、19…
…中央処理装置アドレスバス、20……制御処理
メモリー(CPM)バス、21……I/Oアドレ
ス・バス、22……I/Oメモリー/データ・バ
ス、23……I/Oチヤネル装置、24……制御
ボード制御処理装置、25〜31……バス、33
……テレタイプ・システム、34……フロツピ
ー・デイスク・システム、35……マイクロ・プ
ロセサ・コンピユータ、38……記憶システム・
ポート、39……直接アクセス経路、40……高
速カツシエ・データ・ストア、41……CPORT
アドレス・レジスタ、42……IPORTアドレ
ス・レジスタ、43,44……タツグストア装
置、45,52……コンパレータ、46……カツ
シエ書込みデータ・レジスタ、47,48……マ
ルチプレクサ、50,51……ドライバ装置、5
3〜55……レジスタ、60……メモリー列、6
2……バツフア、63……レジスタ、65……制
御ロジツク、66……コンパレータ、67……ラ
ツチング回路、69……マルチプレクサ、70…
…誤り訂正ロジツク、100……ATU変換スト
ア、101……レジスタ、102……タツグ・ス
トア、130,104……RAM、105……コ
ンパレータ、106……レジスタ、107,10
9……マルチプレクサ、110……エンコーダ、
111……リング保護論理回路、120……命令
カツシエ・ロジツク、121……復号ロジツク、
122……プログラム・カウンタ/変位ロジツ
ク、123……制御兼状況ロジツク、130……
データ・ストア、131……タツグ・ストア、1
32……妥当性ストア、133……コンパレー
タ、140,141……命令復号装置、142…
…命令復号レジスタ(IDR)、143……IDRシ
フター装置、144……レジスタ、146……変
位ロジツク、147……プログラム・カウンタ・
レジスタ、150……命令カツシエ・ポインタ
(ICP)、151……取出し要求制御ロジツク、1
54……事前復号ロジツク、170……マイク
ロ・ストア装置、171……制御ボード・インタ
ーフエース論理装置、175……NAC復号ロジ
ツク、176……ADDRマルチプレクサ、17
9……スタツクRAM記憶装置、180……スタ
ツク・レジスタ、181……保管TOSレジスタ、
182……テスト・ロジツク、187……スタツ
ク・ポインタ・ロジツク、188……スタツク制
御ロジツク、189……スタツク・マルチプレク
サ、190……保管レジスタ、192……条件ア
ウト・ロジツク、195……条件マルチプレク
サ。
システム全体を示すブロツク図、第2図は第1図
のシステムのシステム・カツシエ装置のブロツク
図、第3図は第1図のシステムのバンク制御装置
のブロツク図、第4図は第1図のシステムの主記
憶装置のモジユールのブロツク図、第5図乃至第
43図は第2図のシステム・カツシエを構成する
特定の論理回路、第44図乃至第63図は第3図
のバンク制御装置を構成する特定の論理回路、第
64図乃至第78図は第4図の主記憶装置モジユ
ールを構成する特定の論理回路、第79図乃至第
81図は第1図のシステムのアドレス変換装置を
示すブロツク図、第82図乃至第100図は第7
9図乃至第81図のアドレス変換装置を構成する
特定の論理回路、第101図乃至第106図は第
1図のシステムの命令処理装置を示すブロツク
図、第107図乃至第136図は第101図乃至
第106図の命令処理装置を構成する特定の論理
回路、第137図および第138図は第1図のシ
ステムのマイクロ順序付け装置のブロツク図であ
る。 11……演算論理装置(ALU)、12……命令
処理装置、13……マイクロ順序付け装置、14
……アドレス変換装置(ATU)、15……記憶シ
ステム、16……主記憶装置、17……補助カツ
シエ記憶装置、18……バンク制御装置、19…
…中央処理装置アドレスバス、20……制御処理
メモリー(CPM)バス、21……I/Oアドレ
ス・バス、22……I/Oメモリー/データ・バ
ス、23……I/Oチヤネル装置、24……制御
ボード制御処理装置、25〜31……バス、33
……テレタイプ・システム、34……フロツピ
ー・デイスク・システム、35……マイクロ・プ
ロセサ・コンピユータ、38……記憶システム・
ポート、39……直接アクセス経路、40……高
速カツシエ・データ・ストア、41……CPORT
アドレス・レジスタ、42……IPORTアドレ
ス・レジスタ、43,44……タツグストア装
置、45,52……コンパレータ、46……カツ
シエ書込みデータ・レジスタ、47,48……マ
ルチプレクサ、50,51……ドライバ装置、5
3〜55……レジスタ、60……メモリー列、6
2……バツフア、63……レジスタ、65……制
御ロジツク、66……コンパレータ、67……ラ
ツチング回路、69……マルチプレクサ、70…
…誤り訂正ロジツク、100……ATU変換スト
ア、101……レジスタ、102……タツグ・ス
トア、130,104……RAM、105……コ
ンパレータ、106……レジスタ、107,10
9……マルチプレクサ、110……エンコーダ、
111……リング保護論理回路、120……命令
カツシエ・ロジツク、121……復号ロジツク、
122……プログラム・カウンタ/変位ロジツ
ク、123……制御兼状況ロジツク、130……
データ・ストア、131……タツグ・ストア、1
32……妥当性ストア、133……コンパレー
タ、140,141……命令復号装置、142…
…命令復号レジスタ(IDR)、143……IDRシ
フター装置、144……レジスタ、146……変
位ロジツク、147……プログラム・カウンタ・
レジスタ、150……命令カツシエ・ポインタ
(ICP)、151……取出し要求制御ロジツク、1
54……事前復号ロジツク、170……マイク
ロ・ストア装置、171……制御ボード・インタ
ーフエース論理装置、175……NAC復号ロジ
ツク、176……ADDRマルチプレクサ、17
9……スタツクRAM記憶装置、180……スタ
ツク・レジスタ、181……保管TOSレジスタ、
182……テスト・ロジツク、187……スタツ
ク・ポインタ・ロジツク、188……スタツク制
御ロジツク、189……スタツク・マルチプレク
サ、190……保管レジスタ、192……条件ア
ウト・ロジツク、195……条件マルチプレク
サ。
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【式】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【式】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
【化】
Claims (1)
- 【特許請求の範囲】 1 16個のアドレス・ビツトを有する第1の論理
アドレスと、32個のアドレス・ビツトを有する第
2の論理アドレスとを用いるデータ処理システム
において、 前記第1の論理アドレスを用いることが必要な
第1の組と、前記第2の論理アドレスを用いるこ
とが必要な第2の組とからなる、2組の命令ワー
ドを供給する手段120,142,143と、 マイクロ命令の先頭アドレスと、論理アドレス
を発生するのに用いる論理アドレス情報とを供給
するために、それが前記第1の論理アドレスと第
2の論理アドレスのどちらの論理アドレスを用い
ることが必要かを識別する選択されたビツトパタ
ーンを夫々含む前記命令ワードをデコードする手
段140,141を含む命令処理装置と、 前記先頭アドレスに応答して、論理アドレスの
発生などの所要の処理を実行するための複数のマ
イクロ制御信号を発生するために、1つ以上のマ
イクロ命令のシーケンスを供給する、マイクロシ
ーケンス装置13と、 前記論理アドレス情報に応答して、16個のビツ
トを有する第1の論理アドレスとして認識された
論理アドレスを32個のビツトを有する論理アドレ
スに変換する手段(第104図の146,14
9)(第101図の122)と、 前記マイクロ制御信号の内の選択されたものに
応答して、32ビツトの論理アドレスを32ビツトの
物理アドレスに変換するアドレス変換装置14
と、 前記マイクロ制御信号の内の選択されたものに
応答して、算術または論理演算を実行する算術論
理演算装置11と、 データ処理システムで用いるデータ情報を記憶
し、このデータ情報の記憶場所が前記32ビツトの
物理アドレスで識別される主メモリー装置16
と、前記データ情報の選択された一部を記憶し、
少なくとも1組の入力および出力ポートを有する
一時記憶装置17とを含む、メモリー装置15
と、 前記主メモリー装置と前記一時記憶装置との間
に接続され、両者の間のデータ情報の転送および
転送の制御をするための制御装置16と、 前記少なくとも1組の入力および出力ポートを
前記命令処理装置と前記算術論理演算装置と前記
アドレス変換装置とに接続し、それらの間で情報
を転送するための第1の手段17Aと、 からなるデータ処理システム。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/143,561 US4386399A (en) | 1980-04-25 | 1980-04-25 | Data processing system |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1064974A Division JPH02153446A (ja) | 1980-04-25 | 1989-03-18 | データ処理システム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5727336A JPS5727336A (en) | 1982-02-13 |
| JPH0578050B2 true JPH0578050B2 (ja) | 1993-10-28 |
Family
ID=22504598
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6155681A Granted JPS5727336A (en) | 1980-04-25 | 1981-04-24 | Data processing system |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US4386399A (ja) |
| JP (1) | JPS5727336A (ja) |
| AU (6) | AU542127B2 (ja) |
| CA (1) | CA1167569A (ja) |
| IL (1) | IL62704A (ja) |
Families Citing this family (36)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4386399A (en) * | 1980-04-25 | 1983-05-31 | Data General Corporation | Data processing system |
| US4654777A (en) * | 1982-05-25 | 1987-03-31 | Tokyo Shibaura Denki Kabushiki Kaisha | Segmented one and two level paging address translation system |
| US4597041A (en) * | 1982-11-15 | 1986-06-24 | Data General Corp. | Method and apparatus for enhancing the operation of a data processing system |
| IN165278B (ja) * | 1984-09-21 | 1989-09-09 | Digital Equipment Corp | |
| AU588389B2 (en) | 1985-11-14 | 1989-09-14 | Data General Corporation | Multiprocessor data processing system |
| US5146575A (en) * | 1986-11-05 | 1992-09-08 | International Business Machines Corp. | Implementing privilege on microprocessor systems for use in software asset protection |
| US5218712A (en) * | 1987-07-01 | 1993-06-08 | Digital Equipment Corporation | Providing a data processor with a user-mode accessible mode of operations in which the processor performs processing operations without interruption |
| EP0503514B1 (en) * | 1991-03-11 | 1998-11-18 | Silicon Graphics, Inc. | Backward-compatible computer architecture with extended word size and address space |
| US5537609A (en) * | 1993-06-22 | 1996-07-16 | Unisys Corporation | Mini cache operational module for enhancement to general cache |
| US5640531A (en) * | 1993-06-22 | 1997-06-17 | Unisys Corporation | Enhanced computer operational system using auxiliary mini-cache for enhancement to general cache |
| US5805475A (en) * | 1995-02-10 | 1998-09-08 | International Business Machines Corporation | Load-store unit and method of loading and storing single-precision floating-point registers in a double-precision architecture |
| US6643765B1 (en) | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
| US5841446A (en) * | 1996-11-01 | 1998-11-24 | Compaq Computer Corp. | Method and apparatus for address mapping of a video memory using tiling |
| US20060095726A1 (en) * | 2004-08-31 | 2006-05-04 | Ivivity, Inc. | Independent hardware based code locator |
| US8561037B2 (en) * | 2007-08-29 | 2013-10-15 | Convey Computer | Compiler for generating an executable comprising instructions for a plurality of different instruction sets |
| US8156307B2 (en) * | 2007-08-20 | 2012-04-10 | Convey Computer | Multi-processor system having at least one processor that comprises a dynamically reconfigurable instruction set |
| US8095735B2 (en) * | 2008-08-05 | 2012-01-10 | Convey Computer | Memory interleave for heterogeneous computing |
| US9015399B2 (en) | 2007-08-20 | 2015-04-21 | Convey Computer | Multiple data channel memory module architecture |
| US9710384B2 (en) * | 2008-01-04 | 2017-07-18 | Micron Technology, Inc. | Microprocessor architecture having alternative memory access paths |
| US8122229B2 (en) * | 2007-09-12 | 2012-02-21 | Convey Computer | Dispatch mechanism for dispatching instructions from a host processor to a co-processor |
| US8205066B2 (en) * | 2008-10-31 | 2012-06-19 | Convey Computer | Dynamically configured coprocessor for different extended instruction set personality specific to application program with shared memory storing instructions invisibly dispatched from host processor |
| US20100115233A1 (en) * | 2008-10-31 | 2010-05-06 | Convey Computer | Dynamically-selectable vector register partitioning |
| US8423745B1 (en) | 2009-11-16 | 2013-04-16 | Convey Computer | Systems and methods for mapping a neighborhood of data to general registers of a processing element |
| US10430190B2 (en) | 2012-06-07 | 2019-10-01 | Micron Technology, Inc. | Systems and methods for selectively controlling multithreaded execution of executable code segments |
| GB2532545B (en) * | 2014-08-19 | 2017-04-19 | Imagination Tech Ltd | Processors and methods for cache sparing stores |
| US20160103707A1 (en) * | 2014-10-10 | 2016-04-14 | Futurewei Technologies, Inc. | System and Method for System on a Chip |
| US10496622B2 (en) | 2015-10-09 | 2019-12-03 | Futurewei Technologies, Inc. | System and method for real-time data warehouse |
| US10783160B2 (en) | 2015-10-09 | 2020-09-22 | Futurewei Technologies, Inc. | System and method for scalable distributed real-time data warehouse |
| US11481241B2 (en) | 2018-08-30 | 2022-10-25 | Micron Technology, Inc. | Virtual machine register in a computer processor |
| US10915465B2 (en) | 2018-08-30 | 2021-02-09 | Micron Technology, Inc. | Memory configured to store predefined set of domain registers for instructions being executed in computer processors |
| US10915457B2 (en) | 2018-08-30 | 2021-02-09 | Micron Technology, Inc. | Memory access control through permissions specified in page table entries for execution domains |
| US11500665B2 (en) | 2018-08-30 | 2022-11-15 | Micron Technology, Inc. | Dynamic configuration of a computer processor based on the presence of a hypervisor |
| US10942863B2 (en) | 2018-08-30 | 2021-03-09 | Micron Technology, Inc. | Security configurations in page table entries for execution domains using a sandbox application operation |
| US11182507B2 (en) | 2018-08-30 | 2021-11-23 | Micron Technology, Inc. | Domain crossing in executing instructions in computer processors |
| US11914726B2 (en) | 2018-08-30 | 2024-02-27 | Micron Technology, Inc. | Access control for processor registers based on execution domains |
| JP7087918B2 (ja) * | 2018-10-31 | 2022-06-21 | 富士通株式会社 | 演算処理装置及びその制御方法 |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB1426748A (en) * | 1973-06-05 | 1976-03-03 | Burroughs Corp | Small micro-programme data processing system employing multi- syllable micro instructions |
| FR2258112A5 (ja) * | 1973-11-30 | 1975-08-08 | Honeywell Bull Soc Ind | |
| US4050058A (en) * | 1973-12-26 | 1977-09-20 | Xerox Corporation | Microprocessor with parallel operation |
| US3934232A (en) * | 1974-04-25 | 1976-01-20 | Honeywell Information Systems, Inc. | Interprocessor communication apparatus for a data processing system |
| US4056845A (en) * | 1975-04-25 | 1977-11-01 | Data General Corporation | Memory access technique |
| JPS51127626A (en) * | 1975-04-30 | 1976-11-06 | Hitachi Ltd | Information processor |
| JPS5230129A (en) * | 1975-09-03 | 1977-03-07 | Hitachi Ltd | Storage control unit |
| JPS5849881B2 (ja) * | 1975-12-05 | 1983-11-07 | 株式会社日立製作所 | デ−タシヨリソウチ |
| IT1123613B (it) * | 1976-10-07 | 1986-04-30 | Sits Soc It Telecom Siemens | Unita' di controllo a microprogrammi per elaboratori di dati |
| US4084234A (en) * | 1977-02-17 | 1978-04-11 | Honeywell Information Systems Inc. | Cache write capacity |
| AU522666B2 (en) * | 1977-12-22 | 1982-06-17 | Honeywell Information Systems | Outof store indicator fora cache store |
| JPS54128636A (en) * | 1978-03-30 | 1979-10-05 | Toshiba Corp | Cash memory control system |
| JPS5515526A (en) * | 1978-07-17 | 1980-02-02 | Nec Corp | Microprogram control circuit |
| US4386399A (en) * | 1980-04-25 | 1983-05-31 | Data General Corporation | Data processing system |
-
1980
- 1980-04-25 US US06/143,561 patent/US4386399A/en not_active Expired - Lifetime
-
1981
- 1981-04-21 AU AU69701/81A patent/AU542127B2/en not_active Ceased
- 1981-04-23 IL IL62704A patent/IL62704A/xx not_active IP Right Cessation
- 1981-04-24 JP JP6155681A patent/JPS5727336A/ja active Granted
- 1981-04-24 CA CA000376128A patent/CA1167569A/en not_active Expired
-
1985
- 1985-04-12 AU AU41204/85A patent/AU582151B2/en not_active Ceased
- 1985-04-12 AU AU41205/85A patent/AU582152B2/en not_active Ceased
- 1985-04-12 AU AU41202/85A patent/AU594643B2/en not_active Ceased
- 1985-04-12 AU AU41203/85A patent/AU582572B2/en not_active Ceased
-
1988
- 1988-12-23 AU AU27442/88A patent/AU601092B2/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| AU582151B2 (en) | 1989-03-16 |
| AU594643B2 (en) | 1990-03-15 |
| AU6970181A (en) | 1981-10-29 |
| CA1167569A (en) | 1984-05-15 |
| AU4120485A (en) | 1985-08-15 |
| AU542127B2 (en) | 1985-02-07 |
| AU4120285A (en) | 1985-08-15 |
| AU582572B2 (en) | 1989-04-06 |
| AU601092B2 (en) | 1990-08-30 |
| AU2744288A (en) | 1989-04-27 |
| AU582152B2 (en) | 1989-03-16 |
| IL62704A (en) | 1988-04-29 |
| AU4120585A (en) | 1985-08-15 |
| JPS5727336A (en) | 1982-02-13 |
| AU4120385A (en) | 1985-08-15 |
| US4386399A (en) | 1983-05-31 |
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) | メモリ装置及びそれを使用したデータ処理装置 | |
| US4591972A (en) | Data processing system with unique microcode control | |
| US4398243A (en) | Data processing system having a unique instruction processor system | |
| US5517651A (en) | Method and apparatus for loading a segment register in a microprocessor capable of operating in multiple modes | |
| US4569018A (en) | Digital data processing system having dual-purpose scratchpad and address translation memory | |
| KR101839479B1 (ko) | 더 넓은 레지스터에의 모드 의존형 부분 폭 로드 프로세서들, 방법들, 및 시스템들 | |
| JPS6339931B2 (ja) | ||
| JPH02207351A (ja) | データ路の巾が予め定められたコンピュータシステムのデータ記憶レートを増加する方法及び装置 | |
| EP0066084B1 (en) | Microinstruction substitution mechanism in a control store | |
| 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 | |
| US5333287A (en) | System for executing microinstruction routines by using hardware to calculate initialization parameters required therefore based upon processor status and control parameters | |
| US5414821A (en) | Method of and apparatus for rapidly loading addressing environment by checking and loading multiple registers using a specialized instruction | |
| TWI791086B (zh) | 在資料處理設備中的位址轉換 | |
| EP0149858B1 (en) | Data processing system | |
| EP0150522A2 (en) | Data processing system with hierarchical memory protection | |
| US5117491A (en) | Ring reduction logic using parallel determination of ring numbers in a plurality of functional units and forced ring numbers by instruction decoding | |
| EP0110613B1 (en) | Digital data processing system | |
| EP0150523A2 (en) | Data processing system with improved memory system | |
| EP0312183A2 (en) | Digital data processing system | |
| EP0066083B1 (en) | An address substitution apparatus | |
| KR102953825B1 (ko) | 데이터 처리장치의 어드레스 변환 |