JPS6351294B2 - - Google Patents

Info

Publication number
JPS6351294B2
JPS6351294B2 JP21427181A JP21427181A JPS6351294B2 JP S6351294 B2 JPS6351294 B2 JP S6351294B2 JP 21427181 A JP21427181 A JP 21427181A JP 21427181 A JP21427181 A JP 21427181A JP S6351294 B2 JPS6351294 B2 JP S6351294B2
Authority
JP
Japan
Prior art keywords
register
state
memory
addressing
contents
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
Application number
JP21427181A
Other languages
English (en)
Other versions
JPS58112143A (ja
Inventor
Katsuhiko Ueda
Takashi Sakao
Toshiaki Suzuki
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP21427181A priority Critical patent/JPS58112143A/ja
Publication of JPS58112143A publication Critical patent/JPS58112143A/ja
Publication of JPS6351294B2 publication Critical patent/JPS6351294B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】
本発明は計算機におけるプログラム制御装置に
関する。 ノイマン型デイジタル計算機において、命令コ
ードが格納されている番地の次の番地のメモリの
内容をオペランドとする場合がある。例えば、こ
のメモリの内容を、そのままデータとして用いる
場合(以下、これをイミーデイエツトアドレツシ
ングと呼ぶ)と、アドレス情報として用いる場合
(以下、これをダイレクトアドレツシングと呼ぶ)
などがある。一方、CPU(Central Processing
Unit)に設けられたレジスタを用いて、このレ
ジスタの内容をデータとして用いる場合(以下こ
れをレジスタアドレツシングと呼ぶ)や、レジス
タの内容をアドレス情報として用いる場合(以下
これをレジスタ間接アドレツシングと呼ぶ)もあ
る。しかし一般にメモリのリード、ライトに要す
る時間は、レジスタのリード、ライトに要する時
間よりも長くかかり従つてイミーデイエツトアド
レツシングやダイレクトアドレツシングを用いた
命令の実行時間は、レジスタアドレツシングやレ
ジスタ間接アドレツシングを用いた命令の実行時
間よりも長くなる。このことを第1図に示した例
を用いて述べる。今、メモリの内容を読み出し、
ALU(Arithmetic and Logical Unit)で何らか
の演算を施し、その結果をアキユムレータに格納
するという処理を考える。第1図aはレジスタ間
接アドレツシングを用いてメモリの内容を読み出
す場合を示している。ステイトS0 aでレジスタの
内容をアドレスとしてメモリがアクセスされる。
ステイトS1 aでは、メモリの内容がALUに入り、
その結果がアキユムレータに格納される。一方、
第1図bはダイレクトアドレツシングを用いてメ
モリの内容を読み出す場合を示している。ステイ
トS0 bでアドレス情報をメモリから取出すために、
メモリのアクセスが行われる。ステイトS1 bでは、
メモリからアドレス情報が読み出され、このアド
レスを基に再びメモリがアクセスされる。そして
ステイトS2 bでは、先程述べたステイトS1 aにおけ
る動作と全く同一の動作が行われる。このよう
に、ダイレクトアドレツシングを用いた場合は、
レジスタ間接アドレツシングを用いた場合にくら
べて1ステイト余分に時間がかかり、命令実行速
度が落ちる。また単にアドレツシング方法が異る
というだけでS0 bという余分なステイトが必要と
なり、これは制御装置内のいわゆる制御記憶のワ
ード数が増加することを意味している。また、ワ
ード数の増加を防ぐために、これらのアドレツシ
ング処理の部分をサブルーチンとして制御記憶に
格納しておき、異る命令コードで、このサブルー
チンと共用することも行われているが、これを実
現するためにはサブルーチン処理のためのハード
ウエア等が必要となる。 以上の説明は主としてダイレクトアドレツシン
グとレジスタ間接アドレツシングの場合を例にと
つて説明したが、イミーデイエツトアドレツシン
グとレジスタアドレツシングの場合も、実行速度
及び制御記憶のワード数について同様のことが言
える。何故ならば、イミーデイエツトアドレツシ
ングを用いた場合も、命令の実行は、メモリへの
アクセスという状態から開始される。そこでレジ
スタアドレツシングを用いた場合にくらべて1ス
テイト余分に時間がかかり、命令実行時間の増加
を生じる。また制御記憶のワード数の増加を招
く。 本発明の目的は、上に述べたような従来の欠点
をなくすことにあり、ダイレクトアドレツシング
やイミーデイエツトアドレツシングを用いた命令
の、プログラム全体からみた実行速度を向上させ
るとともに、制御部でデコードされるワード数を
減少させることのできるプログラム制御装置を提
供することにあり、命令を記憶するメモリと、前
記メモリに対して番地信号を与えるプログラムカ
ウンタと、前記プログラムカウンタで示される番
地の前記メモリの内容を順次一時記憶するいくつ
かのレジスタからなるQレジスタ群と、前記プロ
グラムカウンタ及び前記Qレジスタ群の制御を行
うQ制御部と、前記Qレジスタ群の出力のうち、
必要なものを命令コードとして一時記憶するイン
ストラクシヨンレジスタと、命令実行ステイトを
示すステイトカウンタと、前記インストラクシヨ
ンレジスタの出力並びに前記ステイトカウンタの
出力及び前記Q制御部から出力されてQレジスタ
群の状態を示す信号とを入力とし、これらをデコ
ードあるいはさらにエンコードした各種の制御信
号を、前記ステイトカウンタをインクリメントす
ることにより順次出力する制御部とを有せしめた
ことを特徴とするものである。 以下本発明の一実施例を図面に基づいて説明す
る。第2図は本発明の一実施例を示す。プログラ
ムメモリ1は命令を格納するために用いられ、プ
ログラムカウンタ2は前記プログラムメモリ1に
対してアドレス信号3を与える。読み出されたプ
ログラムメモリ1の内容4はQレジスタ5に一時
記憶される。Qレジスタ5を構成するレジスタの
数は、1ステイトの中で使用するプログラムメモ
リ1の内容の最大個数に等しい。今第1回bに示
した場合を考えると、この個数は1となる。Qレ
ジスタ5の内容6はインストラクシヨンレジスタ
7に一時記憶されたり、あるいはバツフア8を通
してバス9に出力される。Q制御部10は、プロ
グラムカウンタ2に対しては、カウンタの内容を
1だけ増加させるインクリメント信号11を出力
し、Qレジスタ5に対しては、書き込み信号12
を与える。この信号は、Qレジスタ5の内容が使
用された時に出力され、プログラムメモリ1から
新しいデータをQレジスタ5に書き込むために用
いられる。また、この時インクリメント信号11
も出力され、プログラムカウンタ2の内容が1だ
け増加される。そしてこの新しいアドレスでプロ
グラムメモリ1がアクセスされる。すなわち、Q
レジスタ5の内容は使用された時点で常に新しい
データに更新されている。ステイトカウンタ13
はインストラクシヨンレジスタ7に新しい命令コ
ードが格納される時にリセツトされ、その後順次
カウントアツプされ、制御部14に対して状態を
示す。制御部14はインストラクシヨンレジスタ
7、ステイトカウンタ13及びQステイタス信号
15を入力とし、これらを適当にデコードあるい
はさらにエンコードして各種の制御信号16を出
力する。Qステイタス信号15はQ制御部10か
ら出力される信号であり、Qレジスタ5の内容が
未使用のものであるかどうかを示している。Qレ
ジスタ5の内容が使用された時、Q制御部10に
は制御部14からこのことを示す制御信号17が
送られる。Q制御部10はこの制御信号17を基
にしてQレジスタ5が常に未使用データで満たさ
れるようにプログラムカウンタ2及びQレジスタ
5を制御する。 次に、第2図に示した回路を用いることにより
第1図のステイトフローが第3図のステイトフロ
ーのようになることを説明する。第1図が示して
いるように、第1図aのレジスタ間接アドレツシ
ングを用いた場合のステイトS1 aと第1図bのダ
イレクトアドレツシングを用いた場合のステイト
S2 bとは全く同じ動作を行つている。そこで両ア
ドレツシングモードでこれらのステイトを共用で
きるように命令コードをハミング距離が1となる
ように割当てる。そして、ステイトが共用できる
場合には、ハミング距離が1であるビツトはデコ
ードしないでおく。今例として第3図aのフロー
に沿う命令コードを(1010)2、第3図bのフロー
に沿う命令コードを(1011)2とした時の制御部1
4のデコードの様子を第1表に示す。ステイトカ
ウンタが1となるステイトは共用できるので、先
に述べたように命令コードのビツトφはデコード
されていない。制御部14には、Qレジスタ5の
内容が未使用のものであることを示すQステイタ
ス信号15も入力されているが、Qレジスタ5の
内容を用いない時には、この信号は必要でない。
従つて第3図aに示すレジスタ間接アドレツシン
グの第1ステイトM1 a及び、共用ステイトM1
は、第1表に示すようにQステイタス信号15は
デコードされていない。
【表】 次にダイレクトアドレツシングの場合について
述べる。従来は、命令の実行に際し、先ずダイレ
クトアドレツシングをメモリから読み出す必要が
あるため、第1図bに示したS0 bというステイト
を必要とした。しかし本発明の場合は、命令の実
行に際し、ダイレクトアドレスは既にQレジスタ
5に格納されているので、ステイトフローは、第
3図bに示すように、ダイレクトアドレスをQレ
ジスタ5からバツフア8を通じてバス9に出力す
る状態M0 bから始めることができる。しかし、Q
レジスタ5の内容はこの時常に未使用データであ
るとは限らないので、ダイレクトアドレツシング
の場合は、第1表のステイトM0 bに示すように、
Qステイタス信号15もデコード対象としてい
る。そこで、ステイタスM0 bでQステイタス信号
が0ならば、制御部14のどのデコード線もセレ
クトされない。従つて制御信号線16は総て非能
動となり、ステイトカウンタ13もカウントアツ
プされない。この状態でQレジスタ5に新しいデ
ータが入ると、Qステイタス信号15は1となつ
てデコードで行われ、ステイトは第1表に示す
M0 bとなる。そして制御信号16によりステイト
カウント13がカウントアツプされると、ステイ
トは第1表に示すM1に遷移する。またステイト
M0 bでQレジスタ5の内容が用いられるので、制
御部14はこのことを制御信号17を用いてQ制
御部10に知らせる。そこでQ制御部10はQレ
ジスタ書き込み信号12をQレジスタ5に送り、
Qレジスタ5の内容を更新するとともに、プログ
ラムカウンタ2にインクリメント信号11を送
り、次の状態に備える。このようにして、ダイレ
クトアドレツシングの場合も、Qレジスタ5にデ
ータが入つている限り、レジスタ間接アドレツシ
ングの場合と同じ速度で命令が実行できる。また
両アドレツシングモードで、ステイトが共用でき
る。 上記説明は、ダイレクトアドレツシングとレジ
スタ間接アドレツシングの場合について行つた
が、イミーデイエツトアドレツシングとレジスタ
アドレツシングの場合についても同様のことが言
える。何故ならば、イミーデイエツトアドレツシ
ングを行うためには、まずメモリにアクセスする
必要があるが、レジスタアドレツシングの場合に
はその必要はない。この関係は、ダイレクトアド
レツシングとレジスタ間接アドレツシングの関係
と同じであり、本発明が適用できる。 以上説明したように、本発明によれば、メモリ
の内容を用いてアドレツシングを行う場合の実行
速度と、レジスタを用いてアドレツシングを行う
場合の実行速度を、Qレジスタにデータが入つて
いるという前提の下で等しくできる。また通常の
プログラムでは、総てのステイトでメモリの内容
を用いてアドレツシングを行つているということ
はなく、大抵の場合Qレジスタにはデータが入つ
ているので、プログラム全体としての実行速度を
向上させることができる。また、アドレツシング
方法のみが異る命令に対しては、その命令コード
をハミング距離が1となるように割当てることに
より、ステイトフローを共用化することが可能と
なり、制御部のデコード線の数を減少させること
ができるとともに、簡単な構成で、いろいろなア
ドレツシングモードが取り扱えるようになつた。
【図面の簡単な説明】
第1図は従来の制御方法によるステイトフロー
の一例を示す図、第2図は本発明の一実施例を示
すブロツク図、第3図は本発明の制御方法による
ステイトフローの一例を示す図である。 1……プログラムメモリ、2……プログラムカ
ウンタ、5……Qレジスタ、7……インストラク
シヨンレジスタ、10……Q制御部、13……ス
テイトカウンタ、14……制御部。

Claims (1)

    【特許請求の範囲】
  1. 1 命令を記憶するメモリと、前記メモリに対し
    て番地信号を与えるプログラムカウンタと、前記
    プログラムカウンタで示される番地の前記メモリ
    の内容を順次一時記憶するいくつかのレジスタか
    らなるQレジスタ群と、前記プログラムカウンタ
    及び前記Qレジスタ群の制御を行うQ制御部と、
    前記Qレジスタ群の出力のうち、必要なものを命
    令コードとして一時記憶するインストラクシヨン
    レジスタと、命令実行ステイトを示すステイトカ
    ウンタと、前記インストラクシヨンレジスタの出
    力並びに前記ステイトカウンタの出力及び前記Q
    制御部から出力されQレジスタ群の状態を示す信
    号とを入力とし、これらをデコードあるいはさら
    にエンコードして各種の制御信号を、前記ステイ
    トカウンタをインクリメントすることにより順次
    出力する制御部とを有し、前記Qレジスタ群を構
    成するレジスタの段数を1実行ステイトで必要と
    するメモリの内容の最大個数に等しくとり、か
    つ、前記制御部でデコードされるビツト数を可変
    にしたことを特徴とするプログラム制御装置。
JP21427181A 1981-12-25 1981-12-25 プログラム制御装置 Granted JPS58112143A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21427181A JPS58112143A (ja) 1981-12-25 1981-12-25 プログラム制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21427181A JPS58112143A (ja) 1981-12-25 1981-12-25 プログラム制御装置

Publications (2)

Publication Number Publication Date
JPS58112143A JPS58112143A (ja) 1983-07-04
JPS6351294B2 true JPS6351294B2 (ja) 1988-10-13

Family

ID=16652962

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21427181A Granted JPS58112143A (ja) 1981-12-25 1981-12-25 プログラム制御装置

Country Status (1)

Country Link
JP (1) JPS58112143A (ja)

Also Published As

Publication number Publication date
JPS58112143A (ja) 1983-07-04

Similar Documents

Publication Publication Date Title
US4777588A (en) General-purpose register file optimized for intraprocedural register allocation, procedure calls, and multitasking performance
JP2539199B2 (ja) デジタルプロセッサ制御装置
KR970011207B1 (ko) 원자 억세스를 제공하는 레지스터가 소프트웨어 인터록 없이 공유된 레지스터의 개별 비트를 세트하고 클리어하기 위한 방법 및 장치
US4446517A (en) Microprogram memory with page addressing and address decode in memory
JP2773471B2 (ja) 情報処理装置
JPH0332818B2 (ja)
US4124892A (en) Data processing systems
JPS6351294B2 (ja)
JPS601655B2 (ja) デ−タプリフェツチ方式
JP2915680B2 (ja) Riscプロセッサ
US3397391A (en) Compact storage control apparatus
JPS6230455B2 (ja)
US5524221A (en) Next instruction pointer calculation system for a microcomputer
JPH05334074A (ja) マイクロプロセッサ
JPS6149695B2 (ja)
JPH0128965B2 (ja)
JPH0567973B2 (ja)
JPS6218937B2 (ja)
JPS6320631A (ja) レジスタ選択方式
JPH0810443B2 (ja) メモリ制御回路
JPH04162135A (ja) データ処理装置
JPH0136198B2 (ja)
JPS62210541A (ja) レジスタ選択方式
JPS6319042A (ja) 命令先取り方法
JPH08110901A (ja) マイクロプロセッサ