JPS62208130A - 電子計算機 - Google Patents
電子計算機Info
- Publication number
- JPS62208130A JPS62208130A JP5058486A JP5058486A JPS62208130A JP S62208130 A JPS62208130 A JP S62208130A JP 5058486 A JP5058486 A JP 5058486A JP 5058486 A JP5058486 A JP 5058486A JP S62208130 A JPS62208130 A JP S62208130A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- register
- data
- stack
- 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
Links
- 230000015654 memory Effects 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims description 12
- 102100034761 Cilia- and flagella-associated protein 418 Human genes 0.000 abstract description 2
- 101100439214 Homo sapiens CFAP418 gene Proteins 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 9
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 description 5
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 description 5
- 230000000630 rising effect Effects 0.000 description 4
- 102100040856 Dual specificity protein kinase CLK3 Human genes 0.000 description 3
- 101000749304 Homo sapiens Dual specificity protein kinase CLK3 Proteins 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000011157 data evaluation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明はオブジェクト指向言語を実行する電子計算機に
関し、更に詳細にはSmalltalk−80の専用電
子計算機のデータを保持するハードウェア・スタックに
関する。
関し、更に詳細にはSmalltalk−80の専用電
子計算機のデータを保持するハードウェア・スタックに
関する。
(従来の技術)
近年、電子計算機の分野においては、従来から広く用い
られている手続き指向言語(手続きでプログラムを記述
する)に代えて、オブジェクト指向言語(内部状態とし
ての値と手続きを持つオブジェクトでプログラムを記述
する)の使用が提案されている。オブジェクト指向言語
としては、Smalltalk−80が代表的なものと
して知られている。
られている手続き指向言語(手続きでプログラムを記述
する)に代えて、オブジェクト指向言語(内部状態とし
ての値と手続きを持つオブジェクトでプログラムを記述
する)の使用が提案されている。オブジェクト指向言語
としては、Smalltalk−80が代表的なものと
して知られている。
これに関しては、次の文献に詳しい:スモールト−クー
80=ザラングエッジアンドイッツインプレメンテーシ
ョン、アディソンーウエスレイ11371、1983年
5月(Smalltalk−80: THE LANG
UAGEAND ITS IMPLEMENTATIO
N、 ADDISON−リESLEY 11371゜M
ay 1983)。
80=ザラングエッジアンドイッツインプレメンテーシ
ョン、アディソンーウエスレイ11371、1983年
5月(Smalltalk−80: THE LANG
UAGEAND ITS IMPLEMENTATIO
N、 ADDISON−リESLEY 11371゜M
ay 1983)。
第3図は、Smalltalk−80実行用計算機の一
構成例を示すブロック図である。同図において、シーケ
ンサ101はCバス102とNバス103に接続され、
マイクロ・プログラム・メモリ104はNバス103と
Cバス102に接続される。レジスタA 105はAバ
ス106とYバス107に接続され、レジスタB108
はBバス109とYバス107に接続される。ALUI
IOはAバス106、Bバス109、Yバス107どN
バス103に接続される。また、Cバス102からは、
レジスタAlO3、レジスタB108、ALUIIOへ
接続される。
構成例を示すブロック図である。同図において、シーケ
ンサ101はCバス102とNバス103に接続され、
マイクロ・プログラム・メモリ104はNバス103と
Cバス102に接続される。レジスタA 105はAバ
ス106とYバス107に接続され、レジスタB108
はBバス109とYバス107に接続される。ALUI
IOはAバス106、Bバス109、Yバス107どN
バス103に接続される。また、Cバス102からは、
レジスタAlO3、レジスタB108、ALUIIOへ
接続される。
メモリ・インターフェース111はAバス106. Y
バス107と外部バス112に接続される。メモリ11
3は外部バス112に接続される。制御部114は計算
機全体をコントロールしている。
バス107と外部バス112に接続される。メモリ11
3は外部バス112に接続される。制御部114は計算
機全体をコントロールしている。
次に1本計算機を動作させるには、第4図に示すような
3相のクロックを制御部114から全体へ ″供給する
。計算機はこのクロックに同期して動作する。3相のク
ロックをCLKI、CLK2.CLK3と表わすと、C
LKIとCLK2の差はクロック周期の20%に設定す
る。又CLK2とCLK3の差も、クロック周期の20
%に設定する。パイプライン・ステージ内のタイミング
として、CLK2の立上りをTO1CLK3の立上りを
Tl。
3相のクロックを制御部114から全体へ ″供給する
。計算機はこのクロックに同期して動作する。3相のク
ロックをCLKI、CLK2.CLK3と表わすと、C
LKIとCLK2の差はクロック周期の20%に設定す
る。又CLK2とCLK3の差も、クロック周期の20
%に設定する。パイプライン・ステージ内のタイミング
として、CLK2の立上りをTO1CLK3の立上りを
Tl。
CLKIの立下りをT2、CLK2の立下りをT3、C
LK3の立下りをT4、CLKIの立上りをT5.CL
K2の立上りをT6と定義する。第5図はこの構成全体
の時間関係を表わした図である。まず、シーケンサ10
1から1ステージ目のTOからT4までの間、Nバス1
03へ、マイクロ・プログラムのアドレスを出力する。
LK3の立下りをT4、CLKIの立上りをT5.CL
K2の立上りをT6と定義する。第5図はこの構成全体
の時間関係を表わした図である。まず、シーケンサ10
1から1ステージ目のTOからT4までの間、Nバス1
03へ、マイクロ・プログラムのアドレスを出力する。
Nバス103は、オープンコレクタのバスであり負論理
である。1ステージ目のT4から2ステージ目のToま
での間は、Nバス103はかならず「0」状態を保つ。
である。1ステージ目のT4から2ステージ目のToま
での間は、Nバス103はかならず「0」状態を保つ。
マイクロ・プログラム・メモリ104はNバス103か
らマイクロ・プログラムのアドレスを入力し、メモリの
アクセスを開始する。マイクロ・プログラム・メモリ1
04はマイクロ・プログラムのアドレスをT1からT3
のタイミングでトランスペレントにラッチし、2ステー
ジ目のT1まで保持する。マイクロ・プログラム・メモ
リ104は、メモリアクセスの結果得たマイクロ命令を
、1ステージ目のT3から2ステージ目のT1までCバ
ス102に出力する。
らマイクロ・プログラムのアドレスを入力し、メモリの
アクセスを開始する。マイクロ・プログラム・メモリ1
04はマイクロ・プログラムのアドレスをT1からT3
のタイミングでトランスペレントにラッチし、2ステー
ジ目のT1まで保持する。マイクロ・プログラム・メモ
リ104は、メモリアクセスの結果得たマイクロ命令を
、1ステージ目のT3から2ステージ目のT1までCバ
ス102に出力する。
Cバス102はスリーステートのバスであり、T1から
T3まではハイ・インピーダンス状態であり、複数のマ
イクロ・プログラム・メモリ104からの出力をゆるし
ている。次に、レジスタAlO3は1ステージ目のT3
から2ステージ目のTOのタイミングで、Cバス102
の内容をトランスペレントラッチする。Cバス102は
、1ステージ目のT5には確定している。ラッチしたマ
イクロ命令がレジスタAlO3からの出力を指定してい
るなら、レジスタA 105は、メモリアクセスを1ス
テージ目のT5から2ステージ目のT1までに行ない、
2ステージ目のTOからT4までの間得られたデータを
Aバス106に出力する。同様に、レジスタ8108は
1ステーシロのT3から2ステージ目のTOのタイミン
グで、Cバス102の内容をトランスベレントラッチす
る。ラッチしたマイクロ命令がレジスタB108からの
出力を指定しているなら、レジスタ8108はメモリア
クセスを1ステージのT5から2ステージ目のT1まで
に行ない、2ステージ目のTOからT4までの間、得ら
れたデータをBバス109に出力する。次にマイクロ命
令で指定された場合、ALUIIOはAバス106、B
バス109の内容を2ステージ目のT1からT3までの
タイミングでトランスベレントラッチし、ALUオペレ
ーションを行なう、演算は3ステージ目のT2までに行
ない、結果をラッチし、3ステージ目のT2から3ステ
ージ目のT6までの間Yバス107に出力する。Yバス
107はスリーステートのバスであり、TOからT2ま
ではハイ・インピーダンス状態であり、複数の演算ユニ
ットからの出力をゆるしている。Aバス106、Bバス
109も同様にスリーステートのバスであり、T4から
次のTOまではハイ・インピーダンス状態であり、複数
のしジスタなどからの出力をゆるしている。ALUll
oは演算の結果条件フラッグをNバス103に出力する
。出力するタイミングは、3ステージ目のTOからT4
までの間である。Nバス103上では。
T3まではハイ・インピーダンス状態であり、複数のマ
イクロ・プログラム・メモリ104からの出力をゆるし
ている。次に、レジスタAlO3は1ステージ目のT3
から2ステージ目のTOのタイミングで、Cバス102
の内容をトランスペレントラッチする。Cバス102は
、1ステージ目のT5には確定している。ラッチしたマ
イクロ命令がレジスタAlO3からの出力を指定してい
るなら、レジスタA 105は、メモリアクセスを1ス
テージ目のT5から2ステージ目のT1までに行ない、
2ステージ目のTOからT4までの間得られたデータを
Aバス106に出力する。同様に、レジスタ8108は
1ステーシロのT3から2ステージ目のTOのタイミン
グで、Cバス102の内容をトランスベレントラッチす
る。ラッチしたマイクロ命令がレジスタB108からの
出力を指定しているなら、レジスタ8108はメモリア
クセスを1ステージのT5から2ステージ目のT1まで
に行ない、2ステージ目のTOからT4までの間、得ら
れたデータをBバス109に出力する。次にマイクロ命
令で指定された場合、ALUIIOはAバス106、B
バス109の内容を2ステージ目のT1からT3までの
タイミングでトランスベレントラッチし、ALUオペレ
ーションを行なう、演算は3ステージ目のT2までに行
ない、結果をラッチし、3ステージ目のT2から3ステ
ージ目のT6までの間Yバス107に出力する。Yバス
107はスリーステートのバスであり、TOからT2ま
ではハイ・インピーダンス状態であり、複数の演算ユニ
ットからの出力をゆるしている。Aバス106、Bバス
109も同様にスリーステートのバスであり、T4から
次のTOまではハイ・インピーダンス状態であり、複数
のしジスタなどからの出力をゆるしている。ALUll
oは演算の結果条件フラッグをNバス103に出力する
。出力するタイミングは、3ステージ目のTOからT4
までの間である。Nバス103上では。
シーケンサ101からのマイクロ・プログラムのアドレ
スとALUIIOからの条件フラッグがワイヤードOR
され条件スキップを行なう。外部バス112に接続され
たメモ1月13などにデータを書き込む場合、メモリ・
インターフェース111はYバス107からアドレス情
報と、書き込むデータを受は取り。
スとALUIIOからの条件フラッグがワイヤードOR
され条件スキップを行なう。外部バス112に接続され
たメモ1月13などにデータを書き込む場合、メモリ・
インターフェース111はYバス107からアドレス情
報と、書き込むデータを受は取り。
外部バス112に出力する。外部バス112に接続され
たメモリなどからデータを読み出す場合、メモリ・イン
ターフェース111はYバス107からアドレス情報を
受けとり、外部バス112に出力する。メモリ・インタ
ーフェース111はメモリアクセスの結果得られたデー
タを外部バス112を通じて受は取り、Aバス106に
出力する。そのタイミングは上記のとうりである。なお
、外部バスの一例としてはVMEバスなどがあげられる
。
たメモリなどからデータを読み出す場合、メモリ・イン
ターフェース111はYバス107からアドレス情報を
受けとり、外部バス112に出力する。メモリ・インタ
ーフェース111はメモリアクセスの結果得られたデー
タを外部バス112を通じて受は取り、Aバス106に
出力する。そのタイミングは上記のとうりである。なお
、外部バスの一例としてはVMEバスなどがあげられる
。
SmalltalkJOを実行する場合、パラメータを
データ評価用スタックに積み、メツセージセンドを行な
う。メツセージセンドは、従来のサブルーチンコールに
相当する。メツセージセンドにより起動されたメソッド
は、パラメータをスタックから取り除き、演算を行ない
、結果をスタックに積み、リターンする。この場合、演
算とは、スタック操作とメツセージセンドである。スタ
ックはメモリ113に置かれる。スタックポインタはレ
ジスタAlO3に置かれる。
データ評価用スタックに積み、メツセージセンドを行な
う。メツセージセンドは、従来のサブルーチンコールに
相当する。メツセージセンドにより起動されたメソッド
は、パラメータをスタックから取り除き、演算を行ない
、結果をスタックに積み、リターンする。この場合、演
算とは、スタック操作とメツセージセンドである。スタ
ックはメモリ113に置かれる。スタックポインタはレ
ジスタAlO3に置かれる。
スタックにデータをブツシュする場合、レジスタAlO
3からスタックポインタをAバス106に出力し、A
L UIIOでスタックポインタ+1の値を計算し、Y
バス107に出力する。スタックポインタ+1の値をレ
ジスタAlO3とメモリ・インターフェース111に書
き込む。次にブツシュするデータをALUIIO1Yバ
ス107を通じメモリ・インターフェース111に書き
込む。メモリ・インターフェース111では、外部バス
112を通じ、メモリ113にデータを書き込む。
3からスタックポインタをAバス106に出力し、A
L UIIOでスタックポインタ+1の値を計算し、Y
バス107に出力する。スタックポインタ+1の値をレ
ジスタAlO3とメモリ・インターフェース111に書
き込む。次にブツシュするデータをALUIIO1Yバ
ス107を通じメモリ・インターフェース111に書き
込む。メモリ・インターフェース111では、外部バス
112を通じ、メモリ113にデータを書き込む。
スタックからデータをポツプする場合は、レジスタAl
O3からスタックポインタをAバス106に出力する。
O3からスタックポインタをAバス106に出力する。
次に、スタックポインタをA L UIIO1Yバス1
07を通じメモリ・インターフェース111に書き込む
。メモリ・インターフェース111は外部バス112を
通じメモリ113からデータを読む。一方、レジスタA
lO3からスタックポインタをAバス106に出力し、
ALUIIOでスタックポインター1の値を計算し、Y
バス107を通じレジスタAlO3に書き込む。
07を通じメモリ・インターフェース111に書き込む
。メモリ・インターフェース111は外部バス112を
通じメモリ113からデータを読む。一方、レジスタA
lO3からスタックポインタをAバス106に出力し、
ALUIIOでスタックポインター1の値を計算し、Y
バス107を通じレジスタAlO3に書き込む。
(発明が解決しようとする問題点)
しかしながら上記構成の装置では、5Llalltal
k−80を実行する上で、スタック操作を行なう頻度が
高いのにもかかわらず、スタック操作に時間がかかり、
Smalltalk−80を高速に実行できないとい
う問題点があった。
k−80を実行する上で、スタック操作を行なう頻度が
高いのにもかかわらず、スタック操作に時間がかかり、
Smalltalk−80を高速に実行できないとい
う問題点があった。
本発明は、以上述べたスタックを操作するのに時間がか
かるという問題点を除去し、高速のsmalltalk
−80実行用電子計算機を提供することを目的にする。
かるという問題点を除去し、高速のsmalltalk
−80実行用電子計算機を提供することを目的にする。
(問題点を解決するための手段)
本発明はオブジェクト指向言話を実行する電子計算機を
対象とし、前記従来技術の問題点を解決するため、プロ
セス番号を保持する第1の手段と、スタックポインタの
保持と読み出しをする第2の手段と、スタックポインタ
に1を加算又は減算する第3の手段と、スタックポイン
タにデータを書き込む第4の手段と、スタックポインタ
にオフセット値を加算する第5の手段と、スタック本体
となるメモリからなる第6の手段と、スタックトップと
同一の内容を保持する第7の手段と、スタックトップと
同一の内容を第7の手段からバスに出力する第8の手段
と、第7の手段のデータの一部をバスに出力し、マイク
ロ命令のシーケンスを制御する第9の手段から成るデー
タスタックを設けたものである。
対象とし、前記従来技術の問題点を解決するため、プロ
セス番号を保持する第1の手段と、スタックポインタの
保持と読み出しをする第2の手段と、スタックポインタ
に1を加算又は減算する第3の手段と、スタックポイン
タにデータを書き込む第4の手段と、スタックポインタ
にオフセット値を加算する第5の手段と、スタック本体
となるメモリからなる第6の手段と、スタックトップと
同一の内容を保持する第7の手段と、スタックトップと
同一の内容を第7の手段からバスに出力する第8の手段
と、第7の手段のデータの一部をバスに出力し、マイク
ロ命令のシーケンスを制御する第9の手段から成るデー
タスタックを設けたものである。
(作用)
本発明では、データスタックに第1の手段ないし第9の
手段を設けたことにより、これらの働きがあいまってス
タック操作時間の短縮化に寄与する。とりわけ、第7の
手段はデータのポツプ時に早期にデータの出力を可能と
する。また、第4の手段はスタックポインタの値を直接
設定可能とし、第2の手段はスタックポインタの値の読
み出しを可能とする。更に第5の手段はスタックポイン
タにオフセット値の加算を可能とする。一方、第9の手
段はデータがスモールインチジャーかポインタかのチェ
ックを行ない、その結果に基づいてマイクロプログラム
の内容を変えるように働く。したがって、スタック操作
時間が短縮化されることにより、Small−talk
−80を高速で実行可能となり前記従来技術の問題点が
解決される。
手段を設けたことにより、これらの働きがあいまってス
タック操作時間の短縮化に寄与する。とりわけ、第7の
手段はデータのポツプ時に早期にデータの出力を可能と
する。また、第4の手段はスタックポインタの値を直接
設定可能とし、第2の手段はスタックポインタの値の読
み出しを可能とする。更に第5の手段はスタックポイン
タにオフセット値の加算を可能とする。一方、第9の手
段はデータがスモールインチジャーかポインタかのチェ
ックを行ない、その結果に基づいてマイクロプログラム
の内容を変えるように働く。したがって、スタック操作
時間が短縮化されることにより、Small−talk
−80を高速で実行可能となり前記従来技術の問題点が
解決される。
(実施例)
以下、本発明の実施例を図面を参照して詳細に説明する
。
。
第1図は本実施例の電子計算機の特徴部分であるデータ
スタックの構成を詳細に示すブロック図。
スタックの構成を詳細に示すブロック図。
第2図は本実施例の電子計算機の概略ブロック図である
。まず、第2図により電子計算機の全体構成を説明する
。
。まず、第2図により電子計算機の全体構成を説明する
。
シーケンサ101はCバス102とNバス103に接続
され、マイクロ・プログラム・メモリ104はNバス1
03とCバス102に接続される。レジスタAlO3は
Aバス106とYバス107に接続され、レジスタB1
08はBバス109とYバス107に接続される。AL
UlloはAバス106、Bバス109. Yバス10
7とNバス103に接続される。また、Cバス102か
らは、レジスタAlO3、レジスタB108、ALUl
loへ接続される。メモリ・インターフェース111は
Aバス106、 Yバス107と外部バス112に接続
される。データスタック115は、Aバス106. Y
バス107.Cバス102. Nバス103に接続され
る。メモリ113は外部バス112に接続される。制御
部114は全体をコントロールしている。データスタッ
ク115以外は従来の電子計算機と同一である。
され、マイクロ・プログラム・メモリ104はNバス1
03とCバス102に接続される。レジスタAlO3は
Aバス106とYバス107に接続され、レジスタB1
08はBバス109とYバス107に接続される。AL
UlloはAバス106、Bバス109. Yバス10
7とNバス103に接続される。また、Cバス102か
らは、レジスタAlO3、レジスタB108、ALUl
loへ接続される。メモリ・インターフェース111は
Aバス106、 Yバス107と外部バス112に接続
される。データスタック115は、Aバス106. Y
バス107.Cバス102. Nバス103に接続され
る。メモリ113は外部バス112に接続される。制御
部114は全体をコントロールしている。データスタッ
ク115以外は従来の電子計算機と同一である。
次に、データスタック115の内部構成について第1図
に基づき詳細に説明する。
に基づき詳細に説明する。
第1図に示すように、データスタック115は。
プロセス番号レジスタ201、スタックポインタレジス
タ202.マルチプレクサ(1)203、レジスタ(1
)204、ドライバ205.マルチプレクサ(2) 2
06、ALU207、メモリ208、ドライバ209、
レジスタ(2)210、ドライバ211、オープンコレ
クタドライバ212より構成される。各要素の接続関係
について述べると、プロセス番号レジスタ201の入力
はYバス107に接続され、プロセス番号レジスタ20
1の出力はメモリ208のアドレス線に接続される。マ
ルチプレクサ(1)203の一方の入力はYバス107
に接続され、もう一方の入力はALU207の出力に接
続される。マルチプレクサ(1)203の出力はスタッ
クポインタレジスタ202の入力に接続され、スタック
ポインタレジスタ202の出力はメモリ208のアドレ
ス線とALU207の入力とドライバ209の入力に接
続される。レジスタ(1)204の入力はCバス102
に接続され、レジスタ(1)204の出力はマルチプレ
クサ(2) 206の一方の入力に接続される。マルチ
プレクサ(2) 206のもう一方の入力は数値1であ
る。
タ202.マルチプレクサ(1)203、レジスタ(1
)204、ドライバ205.マルチプレクサ(2) 2
06、ALU207、メモリ208、ドライバ209、
レジスタ(2)210、ドライバ211、オープンコレ
クタドライバ212より構成される。各要素の接続関係
について述べると、プロセス番号レジスタ201の入力
はYバス107に接続され、プロセス番号レジスタ20
1の出力はメモリ208のアドレス線に接続される。マ
ルチプレクサ(1)203の一方の入力はYバス107
に接続され、もう一方の入力はALU207の出力に接
続される。マルチプレクサ(1)203の出力はスタッ
クポインタレジスタ202の入力に接続され、スタック
ポインタレジスタ202の出力はメモリ208のアドレ
ス線とALU207の入力とドライバ209の入力に接
続される。レジスタ(1)204の入力はCバス102
に接続され、レジスタ(1)204の出力はマルチプレ
クサ(2) 206の一方の入力に接続される。マルチ
プレクサ(2) 206のもう一方の入力は数値1であ
る。
マルチプレクサ(2) 206の出力はALU207の
もう一方の入力に接続される。またYバス107はドラ
イバ205を通じメモリ208のI10線とレジスタ(
2) 210に接続される。レジスタ(2) 210の
出力は、ドライバ211に接続される。又、レジスタ(
2) 210のLSBはオープンコレクタドライバ21
2を通じNバス103に接続される。ドライバ209及
びドライバ211の出力はそれぞれAバス106に接続
される。
もう一方の入力に接続される。またYバス107はドラ
イバ205を通じメモリ208のI10線とレジスタ(
2) 210に接続される。レジスタ(2) 210の
出力は、ドライバ211に接続される。又、レジスタ(
2) 210のLSBはオープンコレクタドライバ21
2を通じNバス103に接続される。ドライバ209及
びドライバ211の出力はそれぞれAバス106に接続
される。
次に動作について説明する。まずALUIIOからYバ
ス107を通じプロセス番号レジスタ201にプロセス
番号Oを書き込む。プロセス番号レジスタ201へのラ
ッチのタイミングは3ステージ目のT5(第5図参照)
である。次にマルチプレクサ(1)203をYバス10
7側に切り換え、ALUIIOからYバス107を通じ
、スタックポインタレジスタ202に−1を書き込む。
ス107を通じプロセス番号レジスタ201にプロセス
番号Oを書き込む。プロセス番号レジスタ201へのラ
ッチのタイミングは3ステージ目のT5(第5図参照)
である。次にマルチプレクサ(1)203をYバス10
7側に切り換え、ALUIIOからYバス107を通じ
、スタックポインタレジスタ202に−1を書き込む。
ラッチのタイミングは3ステージ目のT5である。
次にデータスタック115にデータをブツシュする場合
、マルチプレクサ(1)203をALU207側に切り
換え、マルチプレクサ(2)206をrlJ側に切り換
え、ALU207を加算モードにしてスタックポインタ
レジスタ202の内容に1を加えた値をスタックポイン
タレジスタ202にラッチする。ラッチのタイミングは
3ステージ目のT3である。次にドライバ205をアク
ティブにして、Yバス107上のデータをメモリ208
と、レジスタ(2)210に書き込む。書き込むタイミ
ングは3ステージ目のT5である。
、マルチプレクサ(1)203をALU207側に切り
換え、マルチプレクサ(2)206をrlJ側に切り換
え、ALU207を加算モードにしてスタックポインタ
レジスタ202の内容に1を加えた値をスタックポイン
タレジスタ202にラッチする。ラッチのタイミングは
3ステージ目のT3である。次にドライバ205をアク
ティブにして、Yバス107上のデータをメモリ208
と、レジスタ(2)210に書き込む。書き込むタイミ
ングは3ステージ目のT5である。
次にデータスタック115からデータをポツプする場合
、ドライバ211を2ステージ目のToからT4までア
クティブにして、レジスタ(2)210の内容をAバス
106に出力する。同時に、マルチプレクサ(1)20
3をALU207側に切り換え、マルチプレクサ(2)
206を「1」側に切り換え、ALU207を減算モ
ードにして、スタックポインタレジスタ202の内容−
1の値をスタックポインタレジスタ202にラッチする
。ラッチのタイミングは2ステージ目のT3である。次
にドライバ205をディスエーブル状態にして、メモリ
208をアクセスし、データを出力し、レジスタ(2)
210にラッチする。ラッチのタイミングは2ステージ
目のT5である。
、ドライバ211を2ステージ目のToからT4までア
クティブにして、レジスタ(2)210の内容をAバス
106に出力する。同時に、マルチプレクサ(1)20
3をALU207側に切り換え、マルチプレクサ(2)
206を「1」側に切り換え、ALU207を減算モ
ードにして、スタックポインタレジスタ202の内容−
1の値をスタックポインタレジスタ202にラッチする
。ラッチのタイミングは2ステージ目のT3である。次
にドライバ205をディスエーブル状態にして、メモリ
208をアクセスし、データを出力し、レジスタ(2)
210にラッチする。ラッチのタイミングは2ステージ
目のT5である。
データスタック115からデータをポツプする時。
そのデータがポインタであるかスモールインチジャーで
あるかどうかをチェックする場合は、2ステージ目のT
oからT4の間にレジスタ(2)210のLSBをオー
プンコレクタドライバ212を通じNバス103に出力
することにより、マイクロプログラムの流れをかえる。
あるかどうかをチェックする場合は、2ステージ目のT
oからT4の間にレジスタ(2)210のLSBをオー
プンコレクタドライバ212を通じNバス103に出力
することにより、マイクロプログラムの流れをかえる。
次にスタックポインタの値を読み出す場合、2ステージ
目のToからT4までドライバ209をアクティブにし
て、スタックポインタの値をAバス106に出力する。
目のToからT4までドライバ209をアクティブにし
て、スタックポインタの値をAバス106に出力する。
次にスタックポインタにオフセットを加算する場合、マ
ルチプレクサ(1)203をA L U 207側に切
り換え、マルチプレクサ(2) 206をレジスタ(1
)204側に切り換える。同時にCバス102上のオフ
セット値をレジスタ204にラッチする。ラッチのタイ
ミングは2ステージ目のToである。次にALU207
を加算モードにして、スタックポインタの値にオフセッ
トを加算し、スタックポインタレジスタ202にラッチ
する。ラッチのタイミングは2ステージ目のT3である
。次にドライバ205をディスエーブル状態にして、メ
モリ208をアクセスし、データを出力し、レジスタ(
2) 210にラッチする。
ルチプレクサ(1)203をA L U 207側に切
り換え、マルチプレクサ(2) 206をレジスタ(1
)204側に切り換える。同時にCバス102上のオフ
セット値をレジスタ204にラッチする。ラッチのタイ
ミングは2ステージ目のToである。次にALU207
を加算モードにして、スタックポインタの値にオフセッ
トを加算し、スタックポインタレジスタ202にラッチ
する。ラッチのタイミングは2ステージ目のT3である
。次にドライバ205をディスエーブル状態にして、メ
モリ208をアクセスし、データを出力し、レジスタ(
2) 210にラッチする。
ラッチのタイミングは2ステージ目のT5である。
次にスタックトップのデータを読む場合、2ステージ目
のTOからT4までドライバ211をアクティブにして
、レジスタ(2)210の内容をAバス106に出力す
る。
のTOからT4までドライバ211をアクティブにして
、レジスタ(2)210の内容をAバス106に出力す
る。
次に、スタックトップにデータを書き込む時は。
ドライバ205をアクティブにして、Yバス107上の
データをメモリ208とレジスタ(2)210に書き込
む。
データをメモリ208とレジスタ(2)210に書き込
む。
書き込むタイミングは3ステージ目のT5である。
以上、本発明の一実施例について詳細に述べてきたが、
この実施例によれば、スタックトップのデータを保持す
るレジスタ(2) 210を設けたことにより、データ
をポツプする場合、2ステージ目のToからデータをA
バス106に出力することができる。又、2つの連続す
るマイクロ命令で、ブツシュ又は書き込みとポツプ又は
読み取りを連続して実行することも可能である。又、オ
ープンコレクタドライバ212によりポツプと同時にデ
ータがスモールインチジャーかポインタかのチェックが
可能である。又、マルチプレクサ(1)203によりス
タックポインタの値を直接設定することができ、ドライ
バ209によりスタックポインタの読み出しが可能であ
る。又、レジスタ(1)204、マルチプレクサ(2)
206. ALU207、マルチプレクサ(1)203
によりスタックポインタへのオフセット値の加算が可能
となる。したがって本実施例はSmalltalk−8
0を高速に実行可能である。
この実施例によれば、スタックトップのデータを保持す
るレジスタ(2) 210を設けたことにより、データ
をポツプする場合、2ステージ目のToからデータをA
バス106に出力することができる。又、2つの連続す
るマイクロ命令で、ブツシュ又は書き込みとポツプ又は
読み取りを連続して実行することも可能である。又、オ
ープンコレクタドライバ212によりポツプと同時にデ
ータがスモールインチジャーかポインタかのチェックが
可能である。又、マルチプレクサ(1)203によりス
タックポインタの値を直接設定することができ、ドライ
バ209によりスタックポインタの読み出しが可能であ
る。又、レジスタ(1)204、マルチプレクサ(2)
206. ALU207、マルチプレクサ(1)203
によりスタックポインタへのオフセット値の加算が可能
となる。したがって本実施例はSmalltalk−8
0を高速に実行可能である。
(発明の効果)
以上詳細に説明したように、本発明によれば。
スタック操作を短い時間で行なうことができるので、S
mallta−1に−80を高速に実行する電子計算機
を提供することができる。
mallta−1に−80を高速に実行する電子計算機
を提供することができる。
第1図は本発明の一実施例におけるデータスタックの構
成を示すブロック図、第2図は本発明の一実施例の全体
構成を示すブロック図、第3図は従来のSmallta
lk−80実行用計算機の構成を示すブロック図、第4
図は第3図の計算機で用いられる3相クロツクを示す図
、第5図は第3図の計算機におけるマイクロプログラム
によるバスのタイミングを示す図である。 101・・・シーケンサ、 102・・・Cバス、10
3・・・Nバス、 104・・・マイクロ・プログラム・メモリ、105・
・・レジスタA、 106・・・Aバス、107・・
・Yバス、 10g・・・レジスタB、109・
・・Bバス、110・・・ALU、111・・・メモリ
・インターフェース。 112・・・外部バス、 113・・・メモリ、11
4・・・制御部、 115・・・データスタック、
201・・・プロセス番号レジスタ、 202・・・スタックポインタレジスタ、203・・・
マルチプレクサ(1)。 204・・・レジスタ(1)、 205・・・ドライバ
、206・・・マルチプレクサ(2)。 207・・・A L 0 、 208・・・メモ
リ、209・・・ドライバ、 210・・・レジスタ
(2)、211・・・ドライバ、 212・・・オープンコレクタドライバ6第1図 従来やSmalltσIK−80実マを出官士算磯′の
楕A鷲テずフ゛ビック図第3図 To TIT2 T3 T4T5 T6隼
3図1=示イ構八で用いられや3木目クロ・ンクとプラ
t□ず図第4図 ステージ 1 ステージ2 ステ
ージ3TOTo To
T。
成を示すブロック図、第2図は本発明の一実施例の全体
構成を示すブロック図、第3図は従来のSmallta
lk−80実行用計算機の構成を示すブロック図、第4
図は第3図の計算機で用いられる3相クロツクを示す図
、第5図は第3図の計算機におけるマイクロプログラム
によるバスのタイミングを示す図である。 101・・・シーケンサ、 102・・・Cバス、10
3・・・Nバス、 104・・・マイクロ・プログラム・メモリ、105・
・・レジスタA、 106・・・Aバス、107・・
・Yバス、 10g・・・レジスタB、109・
・・Bバス、110・・・ALU、111・・・メモリ
・インターフェース。 112・・・外部バス、 113・・・メモリ、11
4・・・制御部、 115・・・データスタック、
201・・・プロセス番号レジスタ、 202・・・スタックポインタレジスタ、203・・・
マルチプレクサ(1)。 204・・・レジスタ(1)、 205・・・ドライバ
、206・・・マルチプレクサ(2)。 207・・・A L 0 、 208・・・メモ
リ、209・・・ドライバ、 210・・・レジスタ
(2)、211・・・ドライバ、 212・・・オープンコレクタドライバ6第1図 従来やSmalltσIK−80実マを出官士算磯′の
楕A鷲テずフ゛ビック図第3図 To TIT2 T3 T4T5 T6隼
3図1=示イ構八で用いられや3木目クロ・ンクとプラ
t□ず図第4図 ステージ 1 ステージ2 ステ
ージ3TOTo To
T。
Claims (1)
- 【特許請求の範囲】 オブジェクト指向言語を実行する電子計算機において、 プロセス番号を保持する第1の手段と、 スタックポインタの保持と読み出しをする第2の手段と
、 スタックポインタに1を加算又は減算する第3の手段と
、 スタックポインタにデータを書き込む第4の手段と、 スタックポインタにオフセット値を加算する第5の手段
と。 スタック本体となるメモリからなる第6の手段と、 スタックトップと同一の内容を保持する第7の手段と、 スタックトップと同一の内容を第7の手段からバスに出
力する第8の手段と、 第7の手段のデータの一部をバスに出力し、マイクロ命
令のシーケンスを制御する第9の手段とから成るデータ
スタックを有することを特徴とする電子計算機。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5058486A JPS62208130A (ja) | 1986-03-10 | 1986-03-10 | 電子計算機 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5058486A JPS62208130A (ja) | 1986-03-10 | 1986-03-10 | 電子計算機 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS62208130A true JPS62208130A (ja) | 1987-09-12 |
Family
ID=12863024
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5058486A Pending JPS62208130A (ja) | 1986-03-10 | 1986-03-10 | 電子計算機 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS62208130A (ja) |
-
1986
- 1986-03-10 JP JP5058486A patent/JPS62208130A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4149242A (en) | Data interface apparatus for multiple sequential processors | |
| US5311458A (en) | CPU with integrated multiply/accumulate unit | |
| US4407016A (en) | Microprocessor providing an interface between a peripheral subsystem and an object-oriented data processor | |
| JPH0571986B2 (ja) | ||
| JPS61110254A (ja) | パルス入出力プロセッサ及びそれを用いたマイクロコンピュータ | |
| JPH0248747A (ja) | マイクロプロセツサ | |
| JPS5925254B2 (ja) | デイジタル・デ−タ処理装置 | |
| JPH0511977A (ja) | マイクロコンピユータのレジスタ間データ転送方式 | |
| JPS5837883A (ja) | メモリ・アドレシング装置 | |
| US6874049B1 (en) | Semaphores with interrupt mechanism | |
| JPS62208130A (ja) | 電子計算機 | |
| US5058007A (en) | Next microinstruction generator in a microprogram control unit | |
| JP2668215B2 (ja) | マイクロコンピユータ | |
| JPS62159237A (ja) | 電子計算機 | |
| EP0335502A2 (en) | Microcontroller and associated method | |
| JPS62208131A (ja) | 電子計算機 | |
| JPH0551931B2 (ja) | ||
| JPS6120172A (ja) | マルチマイクロプロセツサシステム | |
| JP3355057B2 (ja) | Dmaコントローラ | |
| JPS62251829A (ja) | シンボリツク処理システムおよび方法 | |
| JP2657947B2 (ja) | データ処理装置 | |
| JP2707256B2 (ja) | マイクロコンピユータ | |
| JPH0212358A (ja) | データ転送方式 | |
| JPS62208132A (ja) | 電子計算機 | |
| JPH0325656A (ja) | コプロセッサ |