JPS61500992A - コンピュ−タシステムにおける、またはそれに関する改良 - Google Patents

コンピュ−タシステムにおける、またはそれに関する改良

Info

Publication number
JPS61500992A
JPS61500992A JP60500352A JP50035284A JPS61500992A JP S61500992 A JPS61500992 A JP S61500992A JP 60500352 A JP60500352 A JP 60500352A JP 50035284 A JP50035284 A JP 50035284A JP S61500992 A JPS61500992 A JP S61500992A
Authority
JP
Japan
Prior art keywords
data
circuit
range
value
main memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP60500352A
Other languages
English (en)
Inventor
ヘンダル,ゲラン アンダ−ス ヘンリク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of JPS61500992A publication Critical patent/JPS61500992A/ja
Pending legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003—Arrangements for executing specific machine instructions
    • G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30025—Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)
  • Saccharide Compounds (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 本発明はコンピュータシステムに関し、本発明の全般的目的は、標準のCPU  (Motorala MC6800。
IN置 80286等により代表されるもの)およびこのCPUからアクセスさ れる記憶装置との間に配置される論理回路によシ2進コンピュータの容量及びソ フトウェア安全確保(software 5ecurity)を改善することで ある。
本発明は中央処理装置、2進形態で情報を記憶する主記憶装置、自身の内部記憶 装置から情報を読出すことによシ個別的及び選択的な範囲検査、及び範囲変換を 実行するマスク制御装置を有し、マスク制御装置の内部記憶装置はそれぞれ個別 的にアクセス可能なデータ要素に対するデータディスクリブタテーブル(データ 記述千表)を含み、ディスクリジシランテーブルエントリ(記述子表記連環)の 各個における2つの要素は範囲検査のためと、範囲変換のためとに割当てられ、 2つの要素の一方によシ、データディスクリツクテーブルエントリと関連するデ ータ要素の値範囲の桓限の一方を決定することができ、第2の要素により関連す るデータ要素の値範囲にある値の数を決定することができるようなコンビ、−タ システムを提供し、主記憶装置に対する情報の読出し又は書込みにそれぞれ利用 するために主起。
憶装置に至るデータ経路に挿入される一連の演算回路をさらに含み、それらの演 算回路は主記憶回路と、主記憶装置の1つのデータ要素と関連するデータディス クリブタテーブルエントリとから入力を受取り、主記憶装置から情報を読出すこ とにより中央処理装置に出力を供給すると共に、中央処理装置と、主記憶装置の 1つのデータ要素と関連するデータディスクリプタテーブルエン) IJとから 入力を受取り、主記憶装置に対応する出力を供給し、マスク制御装置は、範囲外 の値が検出された場合に中央処理装置に割込み信号を発生する手段を有する。
従って、本発明は、プログラムに明確にコード化され力ければならないような範 囲検査及び範囲変換の自動的な実行を可能にすることにより、コードボリューム を減少し且つ実行速度をさらに速くすることができる。さらに、本発明によれば 、プログラムの実行をスピードアップするために範囲検査及び範囲変換をグログ ラマーが実行することを忘れたり、計画的に省略することはら)えないって、コ ンピュータ内部のソフトウェア安全確保は向上される。
コンピュータは従来と同様に2進モードで動作する。すなわち、情報は2進形態 で記憶、処理される。
これは第1図、第2図及び第3図に示されている。
第1図は、中央処理装置(CPU)及び主記憶装置(M)゛から構成される代表 的な2進コンピユータを示す。
CPUはに個のアドレスビットを含むアドレスバス(ABUS)、16個のデー タビットを含むデータバス(DBUS )及び2本の制御接続線(R及びW)を 介してMに接続される。
データバスのデータビットの数は主記憶装置(M)の語長、すなわち各記憶語の データビット数と一致し、この実施例においては16ビツトと仮定される。
従って、各記憶語は2”=65536個の異なる値を記憶することができる。
アドレスバスのアドレスビットの数(k)はアドレス可能な記憶語の数、2を限 定する。これらの語のそれぞれのアドレスは対応する値0.1・・・2 により 限定される。
CPUはいくつかの要素から構成されるが、この明細書に関して最も重要な要素 はマイクロプログラムユニッ) (MPU)と、演算1論浬ユニット(ALU  )と、アドレスレジスタ(AR)と、データレジスタ(DR)と、桁上げレジス タ(C)である。
MPUはCPUの様々なレジスタと主記憶装置Mとの間の情報の転送を制御する 。たとえば、アドレスXの記憶語の内容をデータレジスタDRに転送すべき場合 、MPUは、まず、適切な制御信号を印加するととによ!J MPU自体から値 Xをデータバス(DBUS )を介してアドレスレジスタ(AR)に転送する( 第1図の全ての制御信号は黒く太い矢印にょシ示される)。
値XがARに入力されると、主記憶装置の対応する語が指示される。読出し制御 信号(R)を記憶装置に印加することによシ、この記憶語の内容はデータバスに 読出され、それによりDRへ転送可能となる。
記憶装置に書込まれるときは、データは書込み制御信号(W)の印加によ、9D Rからデータバスに取出され、対応する記憶語に書込まれる。
情報は2進形態で記憶、処理されるので、Nビットを有するデータ語は2N個の 異なる値を記憶することができる。第2図は、N=4のときに1つのデータ語に 記憶できる異なる値と、それらの値について考えられるいくつかの表現とを示す 。表現Aにおいては、実際値は対応するビット位置から直接計算される。たとえ ば、2進値1011は次の実際値を表わす: 23X1+2 XO+2 X1+2 X1=8+ 2 +1 =11 表現表現おいては、最上位ビットが符号ビットドして使用され、実際値は残シの ビットによシ示される。正の値の場合、値は表現Aの場合と同様に計算される。
負の値の場合には、いわゆる2:S補数が使用される。すなわち、値は(表現A の値)−16となる。従って、この場合、値1011は次の実際値を表わす: 2 X1+2 XO+2 X1+2 Xl−16(2s=1)=8 + 2+1 −16=−5 表現Cにおいては、値0011・・・1100 は値O〜9を表わすために使用 され、利用できる16個の全ての値のうち6つは使用されない。第3図は、第1 図のALUにより実行される演算動作の代表的な一例を示す。実行される動作は 2進加算でチシ、加算されるべきオペランドはALUの内部の、共にN個のデー タビットを含む2つのレジスタ(IRI及びIR2)に移送されているものと仮 定する。2つのレジスタIRI及びIR2の内容は加算され、その結果はN+1 個のデータビットを含む結果レジスタ(OR)に転送される。結果のビット(N +1)は桁上げフラグ(C)に転送され、結果のN個の最下位ビットはデータバ スDBUSへ転送される。たとえば、第2図の表現。
Aを使用して、値5と値7とを加算すべき場合には:5→ 0101 +7→+0111 この(桁上げの)場合、結果は算術的に正しい結果より大きい。
第2の例として、値7と値11とを加算すべき場合にはニ ア→ 0111 +11→+1011 この(桁上げの)場合、結果は4つのビットによシ表示できるものよシ大きい。
すなわち、結果は関連する回路の制限によってその4つの最下位ビットしいと考 えられる値18ではなく、2となる。この場合、桁あふれの指示を与えるために 桁上げフラグ(C)がセットされる。
その他の演算動作についてもこれに相応することがいえるのは自明でらるニ ア→0111 一5→0101 一11→−1011 以上の例は2進演算の基本的特徴の1つを示す。
すなわち、結果に含まれるビットの数が表示可能なビットの数を越えない限シ、 結果は正しい。通常のデータ語長は8,16,24,32.48又は64であり 、これは使用されるCPUの種類と、所望の値範囲とによって決まる。データ語 長にかかわらず、通常、桁上げフラグは結果がデータ語長を越えたことを指示す るために採用される。桁上げフラグの存在によシカスケート演算、すなわち関連 データ語についての屓次演算が可能になることに注目すべきである。
第2図に示されるようにデータ語長が4であるCPUの内部においては、15を 越える値は連続データ語によシ表示されれば良い。従って、2進7ビツト値11 11101に対応する値125は2つの連続する4ビツトデータ値0111(= 7 )及び1101(=13)として表示されれば良い。同様に、100は7ビ ツト2進値1100100に対応し、2つの4ビツト値0110、(=6)及び 0100(=4 )により表示されれば良い。これらを今度はいわゆる桁上げ伝 搬を利用して4ビツト演算によシ次のように加算することができる。
125→ 0111 1101 + 100→ 0110 0100 0001←(本格上げ) 結果3→01110 桁上げを1つの4ビツト加算から次へ伝播することによ)、最終結果は依然とし て有効となる。
従って、基本NビットALUによシどのような値範囲の演算でも実行することが できる。当然のことながら、値範囲が106にもなる場合には、4ビツトALU によ91回の演算動作を実行するだめのステップの数は大きくなシ、従って、C PUの速度は低くなるが、24ビツトCPUであれば演算を1回のステップで実 行することができる。従って、最新のCPUのALUは、一般に、記憶装置のデ ータ語長に基づいて。
動作し、単一の桁上げフラグによシこの語長を越えたことを指示する。場合によ って、半語1つの値範囲を越えたことを指示するために手招上げフラグが提供さ れ、それにより、1つのデータ語のピッ、トの最下位半分について演算ができる 。第2図の表現Bが使用されるCPUの場合、たとえば7+5=0111’+  0101 = 1100 = −4のような加算による正の値から負の値への桁 あふれ、又は減算による負の値から正の値への桁あぶれを指示する桁あふれフラ グが通常含まれる。2進コンピユータをプログラムするとき、現在は、記憶語に よシ又は記憶語の一部により実現される実際のデータ要素の値範囲が無限である か、又は明確に指定される有限の一組の値を含むものと想定する。
概念上は値範囲が無限である論理データ要素は従来の高レベルプログラミング言 語においては整数として定義され、通常は1つ1つの記憶語によシ実現される。
言語定義では、整数は、通常、インプリメンテーション従属値範囲を有すると定 義される。たとえば、32ビット語長のコンピュータにおいては、値範囲は−2 ,147,483,648から+2.147.483.647となり、第2図の 表現Bによシ値が表示されるものとすれば、32ビット語長のコンピュータにお ける値範囲は−32768から+32767となると考えられる。プログラマは 整数については無限の値範囲を仮定するので、この場合は桁上げフラグユーティ リティは全く使用されない。しかしながら、値範囲を越える可能性は依然として 存在する。32ビツトコンピユータで実行されるプログラムが16ビツトコンピ ユータに移送されなければならず、元のプログラムが100000を越える値に ついて実行される場合には、値範囲の超過は重大であるといえよう。この場合、 範囲一32768〜32767の値のみが正しく表示されるので、プログラムは 16ビツトコンピユータにおいて簡単には正しく実行されない。
論理データ要素が明確に限定される値範囲からの値をとるとき、データ要素は常 に記憶語により又は記憶語の一部によシ実現されるので、全論理値範囲は物理的 に実現される。従って、論理値範囲−100010から100000をもつデー タ要素は32ビツトコンピユータでは単一の記憶語により実現されるが、16ビ ツトコンピユータでは2つの連続する記憶語(伝搬桁上げを伴なう)により実現 されると考えられる。これに対し、前述の整数方法においては、2つの場合共、 単一の記憶語が使用される。値範囲が明確に指定されていれば、対応する可搬性 の問題は起こらない。しかしながら、1つの記憶語の物理的に利用可能な全種範 囲が完全に利用されないときに、別の問題が起こる。このことを以下に述べる: データ要素Xは第2図の表現Aに対応して論理値範囲O〜15を指定されたもの と仮定する。さらに、データ記憶装置の語長Nは4ビツトであると仮定する。こ こで、高水準言語ステートメント:X:X+1 に対応する演算が対応するコンピュータにより実行されるとすれば、これは単一 の機械語命令:ADDX、1 により実行される。
第3図に従った演算を仮定すると、この命令の実行の考えられる結果は下記の表 により示される。
このように、値範囲は周期的に繰返され、桁上げは値範囲を越えたことを指示す ることがわかる。
ここで、第2のデータ要素Yは論理値範囲0〜9を指定されるものと仮定する。
このデータ要素の物理的実現にも4ビツトが必要である。すなわち、Yの物理的 実現はデータ要素Xの物理的実現と区別できない。ここで、高水準言語ステート メント:Y:Y+1 に対応する演算が実行されると、論理的には結果は次のようになると予測される : Yビフォー Yアフターiキャリイ □しかしながら、演算ADDY、1が同様 の機械語命令によシ実行されるとすれば、結果は次のようになると考えられる: ALU単独で実行される演算は所望の結果を提供しないことは直ちに明らかであ ろう。実際には、単一の命令により所望の結果を得ることはできない。単一の命 令ではなく、一連の命令から構成されるプログラムが要求される。たとえば: ADDY、1:Yの内容に1t−加算 CP 10 ; 10と比較 JL RESULT :、 10より小さければRESULTへ飛越す、そうで なければ: 5UBY、10;Yから10を減算 SCF ;桁上げフラグをセット 結 果: 上述の一連の機械語命令により、1の加算後も、値は確実に所望の値範囲O〜9 の中にあシ、さらに、桁上げフラグは値範囲を越えたときに確実にセットされる 。その結果、加算ごとに少なくとも3つの機械語命令、すなわち加算命令、比較 命令及び飛越し。
命令が実行されなければならないので、記憶装置と実行時間オーバーヘッドの双 方を伴なう。
この状況は、O又は2の累乗から始まらない値範囲に対してはさらに複雑になる 。たとえば、値範囲1〜12で日時を指示するためにデータ要素Hが使用される 場合、高水準言語ステートメント二H:H+1 は次のように実行されなければならない:しかしながら、この結果を得るために は、次の機械語命令シーケンスが実行されなければならない:ADDH,1:H の内容に1を加算 CP 13 : 13と比較 JL RESULT : 13より小さければRESULTへ飛越し、そうでな ければ: 5UBH,12;I(から12を減算 scv ”、桁上げフラグをセット RESULT : すなわち、前述のと同じ種類の命令シーク、ンスが実行されなければならない。
さらに、Hの値が一般式:%式% の結果として計算される場合には、この式(EXPR)はどのような種類の計算 を含んでいても良く、その結果得られる式の値は記憶される前に既存の値範囲に 変換されなければならない、 EXPHの計算値が一時的にデータレジスタDR に保持されると仮定すれば、この変換は以下の命令シーケンスによシ実行するこ とができる; SUB DR,1; DRから1を減算Ll :5UBDR,12:DRから1 2を減算JGELI:)OであればLlよシ繰返しL2 :ADDDR,12:  DRに12を加算JLL2:(OならばL2よυ繰返し ADD DR,1: DRに1を加算 LD !(、DR; DRをHに記憶 この場合、特に全ての高水準言語ステートメントが全範囲検査を伴なって変換さ れる場合には、オーバーヘッドは全く実行可能になる。オーバーヘッドを低く保 ち且つプログラム変換を簡単にするために、通常は、自動範囲検査を絶対に実行 しなければならないわけではない。したがって、そのような範囲検査が実行され ないとシステムに致命的でちると考えちれるあらゆる場合に適切で明確な範囲検 査を組込むのはプログラマ−の責任である。しかしながら、その結果、データ要 素に範囲外の値が割当てられ、それによシ偶発的な故障を発生する可能性は依然 として存在する。
本発明によるシステムにおいては、範囲検査及び範囲変換は、プログラマ−がこ れを明確に指定する必要なく、また、グログラマーが範囲検査及び範囲変換を忘 れるおそれもなく、自動的に実行される。
これによりコード発生は簡単になり、プログラムに必要とされる記憶装置は縮小 され、同時に、実行の速度はアップされる。さらに、データ要素はそのデータ要 素に関して範囲外である値をとることが全くないので、ソフトウェア保全性は向 上される。
記述 第4図を参照して本発明の詳細な説明する。
第4図は本発明の一般原理を示す。本発明によるマスク制御装置(MCU)は、 第1図に示される種類のもので良い主記憶装置MとCPUとの間に配置され、C PUからのアドレスバス及びデータバス(ABUS 及ヒDBUS)はMCUに 接続され、MCUは2次アドレスバス及び2次データバス(ABUS 2及びD BUS 2)を介して主記憶装置Mに接続される。CPUからの読出し及び書込 みのための制御信号R及びWはMCUに接続される。MCUは、主記憶装置に対 する実際の読出し及び書込みのときに、独自の2次読出し信号及び2次書込み信 号(R2及びW2)を発生する。MCUはさらに公知の構成の割込み線(INT )を介してCPUに接続される。
MCUは、CPUによシアドレスパス(ADHUS)に発生される仮想アドレス をMCUにより2次アドレスバス(ABUS2)を介して主記憶装置Mに発生さ れる実アドレスに変換するためのデータディスクリブタテーブル(DT)の非形 式記憶装置を含む。データディスクリツクテーブルはアドレス可能なデータ要素 ごと、すなわち主記憶装置Mの構造ごとに1つのエントリを含み、実際のエント リはアドレスデコーダADECIによシ指示される。第4図に示されるように、 各エントリは3つの部分、すなわちADDR部、LL部及びNOV部を含む。A DDR部は仮想アドレス/実アドレス変換に関与する。この変換の厘埋自体は知 られておシ、本発明の主題ではない。
ディスクリブタエントリのLL部は、そのエントリと関連する対応するデータ要 素がとると思われる最も低い値を含む。NOV部は、対応するデータ要素がとる と思われる値の数を含む。値範囲1〜12の時間カウンタHによる我々の以前の 例においては、LLg = 1及びN0VB = 12である。これらの要素の 使用について以下にさらに説明する。
MCUは3つの演算回路、加算器(第4図に■により示される)、減算器(第4 図に○により示される)及びモジューロ抽出器(第4図にModにより示される )をさらに含む。
第4図に示される本発明の実施例によれば、情報は第2@の表現Aに対応する符 号なし絶対表示で記憶装置に記憶され、1つのデータ要素の論理的値範囲の最低 値は2進値0により表示される。各データ要素は明確に限定された値範囲を有し 、最低値(LV)と最高値(HV)の双方が指定されなければならない。
実際の値範囲は周期的に繰返される。すなわち、たとえば: I(V + 1 = LV ”WのLL部及びNOV部は、本発明によれば次のようにセットされなければな らないニーP!!素 LLx = 3、 N(Wx = 5 を有することになり、記憶装置におけるこれらの値の物理的2進表示は次の通り である: 3:0OO CPUがあらゆるデータ要素の論理値について動作できるようにするために、記 憶装置に記憶される物理値は、CPUに転送される前にまずその論理等価値に変 換されなければならない。従って、CPUがアドレスバス(ABUS)にアドレ スを発生し、読出し信号Rを発生すると、MCUは読出し信号に応答し、従来公 知の方法により記述子表記連環を指示するために初期アドレスをADEC1を介 して復号し、同様に従来公知の方法によシ実アドレスを主記憶装置Mに発生し、 同時に2次読出し信号(R2)を主記憶装置に発生する。データは主記憶装置か ら戻されると、MCUのADDER回路■のための記述項の一方に入力されAD DER回路の他方の記述項はその情報をABUSのアドレス情報により指示され る表記連環のLL要素から得る。次にこれら2つの記述項が加算され、結果はデ ータバス(DBUS)を介してCPUへ転送される。記憶装置に記憶される情報 がその物理的値範囲、すなわちO〜(NOV−1)の中にあれば、この簡単な加 算によりCPUかも見た情報の論理的有効性は確保される。
CPUが主記憶装置に値を記憶すると、データ要素の仮想アドレスはアドレスバ ス(ABUS)に発生され、書込み信号(W)はMCUに供給される。MCUは 読出し動作の場合と同様に仮想アドレスを対応する実主記憶装置アドレスに変換 し、このアドレスを二次アドレスバス(ABUS 2)に発生する。しかしなが ら、この場合には二次書込みはまだ発生されない。CPUからデータバス(DB US )を介して得られるデータはMCUの減算器回路θの入力として使用され 、他方の入力は指示される記述子表記連環のLL要素から得られる。
そこで減算の結果は正規化値となる。しかしながら、値が指定される値範囲の中 に実際にあるという保証はない。記憶装置に最終的に記憶される値が実際に値範 囲の中にあるように保証するために、減算の結果はモジューロ抽出器回路(Mo d)の入力として使用され、指示されるディスクリブタテーブルエントリのNO V記述項連環方の入力として使用され、モジューロ抽出器の実際の結果は最終的 に記憶装置に記憶される(この時点で、牒は主記憶装置MにW2信号を発生する )。モジューロ抽出は実際のモノユーロによる除算と同等であり、その結果はこ の除算による余りである。従って、LLx = 3、N0VX = 5のとき、 論理値7の記憶は次のような結果となるであるう : (1)減算: 7− LLX = 7−3 = 4(2)モジューロ抽出: 4  mad N0Vx =4 mod 5=4、すなわち記憶される実際の2進値 は100になるであろう。
論理値9(範囲外)の記憶は次のような結果となるであろう: (1)減算: 9− LLX = 9−3 = 6(2)モジューロ抽出= 6  mod N0VX = 6 mad 5 =615の余り=1 モジューロ抽出により、範囲内の全ての値は商0を生じる。逆に、範囲外のあら ゆる値の商はゼロにならない。本発明によれば、この事実はモジューロ抽出器回 路(Mod)においてCPUに割込み信号(INT)を発生するために利用され 、この割込み信号は割込みルーチンを開始するために使用され、割込みルーチン の唯一のタスクはCPUの桁上げフラグをセットすることである。
データがCPUからMCUを介して主記憶装置Mに転送されると、記憶される値 が常に範囲内の値であるように自動範囲変換が常に得られる。主記憶装置をアク セスする他の手段が存在せず且つ擬似データ誤りの検出又は阻止のための適切な 手段をさらに利用することができるならば、記憶される値は重ね書きされるまで 範囲内にとどまる。このために、主記憶装置MからCPUに至るデータ経路に必 要な加算器は唯一つで良い。記憶装置の機密保護を保証できない場合でも、記憶 装置MとMCUの加算器回路との間のデータ経路に第2のモノユーロ抽出器回路 を挿入するか、あるいは既存のモノユーロ抽出器回路金使用し、その出力端子を 加算器回路に接続することにより、範囲内データ安全確保を依然として保証する ことができる。しかしながら、これらは基本概念の変形であるにすぎない。
基本概念のその他の変形は、適切なアルゴリズムにより同じ又は同等の結果を達 成するために最低値(LU)及び最高値(I(V)tデータ記述子表で直接使用 するか又は最高値があらかじめ限定された絶対2進組合せ(たとえばO)に対応 すると考えられる最高値(MV)及び値の数N0Vt−使用することでおる。
この場合、第4図の加算器回路と減算器回路とを単に交換すればよい。別の変形 例は第2図のB又はCのような他の表現を使用し、相応して演算回路を変更する ものである。このような変形は全て基本概念に含まれると考えられる。
本発明によるMCUをCPUと主記憶装置Mとの間に挿入した場合、あらゆる演 算動作はプログラマ−により簡単に指定されると同じように、CPUにより簡単 に実行される。従って、下記の命令シーケンス:ADDH,1: P13 JL RESULT ; 5UB)(,12; SCF ・ 結 果; このシーケンスは本発明によるMCU t−もたないシステムにおいて値範囲1 〜12t−有する時間カウンタで演算)1:=H+1を実行するために利用され るものであるが、 MM′Uヲ有するシステムにおける単一の命令:ADDH,1; で置換えられることができる。
同様に、命令シーケンス: 5UBDR,1: Ll : 5UBDR,12; JGELI ’ L2 :ADDDR112; JLL2’ ADDDR,1; LDH,DR; は本発明により単一の命令: LDHX DR; で置換えられることができる。
従って、本発明によるMCUの利用によ)プログラムに必要とされる記憶スペー スと、対応する実行時間の丞方が著しく減少されることは明らかである。
さらに、MCUの使用によシ高水準言語プログラムからの機械語命令の発生は簡 単になるので、高水準言語によりコード化されたグログラムからの有効コードの 発生に対する現在の障害の1つは取除かれる。
MCUは、また、記憶される範囲外値が物理的に不可能になることによシシステ ム保全性を直接向上させろ。最後に、MCUなどのようなCPUとでも、たとえ “ば市販のどのようなマイクロプロセッサとでも組合わせて使用され得ることが 想起されるべきであるが、その理由はCPUのノ・−ドウエア変更の必要がない からである。
/2り/ /2タク。
国際調査報告 ANNEX To TBx: !NTERNAτ!0NAL SE入λCEIR EアORτON

Claims (6)

    【特許請求の範囲】
  1. 1.中央処理装置と、情報を2進形態で記憶する主記憶装置と、自身の内部記憶 装置から情報を読出すことにより個別的、選択的な範囲検査及び範囲変換を実行 するマスタ制御装置とを有し、マスタ制御装置の内部記憶装置は個別的にアクセ ス可能な、主記憶装置のそれぞれのデータ要素に対して1つのテーブルエントリ を有するデータディスクリプタテーブルを含み、各ディスクリブションテーブル エントリの2つの要素は範囲検査と、範囲変換の目的のために割当てられ、それ らの要素の一方により、1つのデータディスクリプタテーブルエントリと関連す る主記憶装置の1つのデータ要素の値範囲の極限の一方を決定することができ、 第2の要素により、関連するデータ要素の値範囲の中の値の数を決定することが でき、主記憶装置に至るデータ経路に挿入され、主記憶装置に対する情報の読出 し又は書込みのためにそれぞれ利用される一連の演算回路をさらに含み、それに より、演算回路は主記憶装置と、データ要素に対するデータディスクリプタテー ブルエントリとから入力を受取り、主記憶装置からの情報の読出しにより中央処 理装置に出力を供給すると共に、中央処理装置と、そのデータ要素に対するデー タディスクリプタテーブルエントリとから入力を受取り、主記憶装置に対応する 出力を供給し、マスタ制御装置は、範囲外の値が検出された場合に中央処理装置 に割込み信号を発生する手段を有するコンピュータシステム。
  2. 2.範囲検査及び範囲変換の目的のための1つの特定のデータ要素に対する記述 子表記述項の2つの要素は関連するデータ要素の最低値と、値範囲の中の値の数 とを指定し、主記憶装置から中央処理装置(CPU)に至るデータ経路の演算回 路は主記憶装置自体と同数のビットを有する加算回路から構成され、加算回路は 主記憶装置と、値範囲の最低値を含む記述子表記述項要素とから入力を受取り、 CPUから主記憶装置へのデータ経路における演算回路が減算回路により構成さ れる場合には、出力をCPUのデータバスに直接供給し、それにより、減算回路 はCPUのデータバスと、値範囲の最低値を含むディスクリプタテーブルエント リ要素とから入力を受取り、出力をモジューロ描出回路のデータ入力端子に直接 供給し、この回路のモジューロ入力は値範囲の中の値の数を含むディスクリプタ テーブルエントリ要素から得られる請求の範囲第1項記載のコンピュータシステ ム。
  3. 3.範囲検査及び範囲変換の目的のための1つの特定のデータ要素に対するディ スクリプタテーブルエントリの2つの要素は関達するデータ要素の最高値と、値 範囲の中の値の数とを指定し、記憶装置からCPUに至るデータ経路の演算回路 は主記憶装置自体と同数のビットを有する減算回路から構成され、減算回路は主 記憶装置と、値範囲の最高値を含む記述子表記述項要素とから入力を受取り、C PUおよびCPUから主記憶装置へのデータ経路における演算回路が加算回路に より構成される場合には、出力をCPUのデータバスに直接供給し、加算回路は CPUのデータバスと、値範囲の最低値を含むディスクリプタテーブルエントリ 要素とから入力を受取り、出力をモジューロ抽出回路のデータ入力端子に直接供 給し、この回路のモジューロ入力は関連するデータ要素の値範囲の中の値の数を 含むディスクリプタテーブルエントリ要素から得られ、モジューロ抽出回路のデ ータ出力端子は主記憶装置に接続され、モジューロ抽出端子の桁あふれ標識出力 端子はCPUの割込み線に接続される請求の範囲第1項記載のコンピュータシス テム。
  4. 4.主記憶装置からCPUに至るデータ経路の演算回路は加算回路又は減算回路 の他にモジューロ抽出回路を含み、加算回路又は減算回路の出力端子はモジュー ロ抽出回路のデータ入力端子に接続され、モジューロ抽出回路のモジューロ入力 は関連するデータ要素の値範囲の中の値の数を含むディスクリプタテーブルエン トリ要素から得られ、モジューロ抽出回路の出力端子はCPUのデータバスに接 続され、モジューロ抽出回路の桁あふれ標識出力端子はCPUの、CPUから主 記憶装置に至るデータ経路のモジューロ抽出回路と同じ又は異なる割込み線に接 続される請求の範囲第2項又は第3項記載のコンピュータシステム。
  5. 5.両方向の範囲検査及び範囲変換のために単一の共通ダートモジューロ抽出回 路が使用される請求の範囲第4項記載のコンピュータシステム。
  6. 6.主制御装置の演算回路は中央処理装置の演算論理装置と一体に形成される請 求の範囲第1〜第5項のいずれかに記載のコンピュータシステム。
JP60500352A 1983-12-21 1984-12-20 コンピュ−タシステムにおける、またはそれに関する改良 Pending JPS61500992A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB8334079 1983-12-21
GB838334079A GB8334079D0 (en) 1983-12-21 1983-12-21 Computer systems

Publications (1)

Publication Number Publication Date
JPS61500992A true JPS61500992A (ja) 1986-05-15

Family

ID=10553641

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60500352A Pending JPS61500992A (ja) 1983-12-21 1984-12-20 コンピュ−タシステムにおける、またはそれに関する改良

Country Status (10)

Country Link
US (1) US4785414A (ja)
EP (1) EP0166772B1 (ja)
JP (1) JPS61500992A (ja)
KR (1) KR920006743B1 (ja)
AU (1) AU565149B2 (ja)
CA (1) CA1219681A (ja)
DE (1) DE3481735D1 (ja)
GB (1) GB8334079D0 (ja)
IT (1) IT1177493B (ja)
WO (1) WO1985002922A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8800858A (nl) * 1988-04-05 1989-11-01 Philips Nv Rekenmachinesysteem voorzien van een hoofdbus en een tussen processor en geheugen direkt verbonden extra kommunikatielijn.
CA2006230C (en) * 1989-12-20 1993-10-26 Timothy James Littlewood Method and apparatus for validating character strings
US5197130A (en) * 1989-12-29 1993-03-23 Supercomputer Systems Limited Partnership Cluster architecture for a highly parallel scalar/vector multiprocessor system
US6332171B1 (en) * 1999-02-19 2001-12-18 International Business Machines Corporation Self-contained queues with associated control information for receipt and transfer of incoming and outgoing data using a queued direct input-output device
US6976083B1 (en) 1999-02-19 2005-12-13 International Business Machines Corporation Apparatus for providing direct data processing access using a queued direct input-output device
US7941799B2 (en) 2004-05-27 2011-05-10 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3930232A (en) * 1973-11-23 1975-12-30 Raytheon Co Format insensitive digital computer
US3945002A (en) * 1974-10-25 1976-03-16 Bell Telephone Laboratories, Incorporated Block digital processor for use with nonuniformly encoded digital words
US4542456A (en) * 1982-04-28 1985-09-17 At&T Bell Laboratories Method and apparatus for performing range checks

Also Published As

Publication number Publication date
CA1219681A (en) 1987-03-24
IT1177493B (it) 1987-08-26
KR920006743B1 (ko) 1992-08-17
WO1985002922A1 (en) 1985-07-04
KR850700166A (ko) 1985-10-25
AU565149B2 (en) 1987-09-03
IT8424168A0 (it) 1984-12-21
AU3789385A (en) 1985-07-12
EP0166772A1 (en) 1986-01-08
EP0166772B1 (en) 1990-03-21
US4785414A (en) 1988-11-15
GB8334079D0 (en) 1984-02-01
DE3481735D1 (de) 1990-04-26

Similar Documents

Publication Publication Date Title
US4361868A (en) Device for increasing the length of a logic computer address
EP0465248B1 (en) Pseudo-linear bank switching memory expansion
JPS6259822B2 (ja)
US4926318A (en) Micro processor capable of being connected with a coprocessor
US4446517A (en) Microprogram memory with page addressing and address decode in memory
US4616331A (en) Information processing system consisting of an arithmetic control unit formed into a one-chip typed by application of a highly-integrated semiconductor device
US6230238B1 (en) Method and apparatus for accessing misaligned data from memory in an efficient manner
US4785414A (en) Computer system with automatic range checking and conversion of data words
US5905662A (en) Digital processing system for binary addition/subtraction
KR910001708B1 (ko) 중앙처리장치
US4212058A (en) Computer store mechanism
US5359719A (en) Address range setting method and apparatus for a computer expansion card
JPS6049937B2 (ja) マイクロプログラム制御のデ−タ処理装置
JP2959299B2 (ja) ステータス表示回路
JP2894854B2 (ja) 中央演算処理装置
JP2001100991A (ja) ディジタル信号処理装置
JPH07160498A (ja) マイクロプロセッサ
JPH06301532A (ja) マイクロプロセッサ装置
JPS6146857B2 (ja)
JPH0424836A (ja) マイクロプロセッサ
JPS61217833A (ja) 演算処理装置
JPS599939B2 (ja) デ−タシヨリソウチ
JPS63195756A (ja) メモリシステム
JPH11161559A (ja) パリティチェック機能付き記憶装置
JPS6014335A (ja) 情報処理装置