JPH0831033B2 - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH0831033B2
JPH0831033B2 JP61258917A JP25891786A JPH0831033B2 JP H0831033 B2 JPH0831033 B2 JP H0831033B2 JP 61258917 A JP61258917 A JP 61258917A JP 25891786 A JP25891786 A JP 25891786A JP H0831033 B2 JPH0831033 B2 JP H0831033B2
Authority
JP
Japan
Prior art keywords
instruction
address
signal
circuit
address register
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
Application number
JP61258917A
Other languages
English (en)
Other versions
JPS63111535A (ja
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.)
NEC Corp
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP61258917A priority Critical patent/JPH0831033B2/ja
Priority to EP87115910A priority patent/EP0265948B1/en
Priority to DE3750014T priority patent/DE3750014T2/de
Publication of JPS63111535A publication Critical patent/JPS63111535A/ja
Publication of JPH0831033B2 publication Critical patent/JPH0831033B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/324Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address using program counter relative addressing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/321Program or instruction counter, e.g. incrementing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address

Landscapes

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はストアドプログラム方式のデジタル計算機、
特にマイクロコンピュータのような小規模なデジタル計
算機に用いられるデータ処理装置に関する。
〔従来の技術〕
一般に、ストアドプログラム方式のデジタル計算機は
記憶装置から命令、データを取り出し、処理を行ってい
る。記憶装置内の命令の番地を指定する方式として現在
はプログラムカウンタ方式が一般的であり、1つの命令
を実行する毎に次番地の命令を読み出し、順次処理を行
なっている。この方式においては一連の処理の流れを変
えるための分岐命令が必要である。分岐命令の種類には
絶対番地分岐命令と相対番地分岐命令の2種類がある
が、初期の頃の小規模なマイクロコンピュータにおいて
は絶対番地分岐命令しか持たないものが主流を占めてい
た。これは初期の頃のマイクロコンピュータでは、処理
すべき仕事量がプログラム量にして数キロバイト以下で
あり、プログラム開発にさほど支障が無かったこと、お
よび相対番地分岐命令を実行するためのハードウェアの
制御が複雑であることによる。
しかしながら、64キロバイト以上のメモリ空間を扱う
マイクロコンピュータが出現するようになってくると、
プログラム開発においてプログラムの編集、修正等の容
易さからリロケータブルなプログラムが構成できること
が必要最低条件となっている。そしてこのためには分岐
命令は相対分岐命令である必要がある。
なお、相対分岐命令を実行する手法として従来から用
いられているものとしてはデータ処理用の論理演算装置
を用いて分岐先番地を計算し、プログラムカウンタにセ
ットする方法が用いられている。
〔発明が解決しようとする問題点〕
一般のマイクロコンピュータにおいては処理するデー
タのビット長よりも記憶装置をアクセスするためのアド
レス情報のビット長の方が大きいために、前述したデー
タ処理用の演算装置では1回の演算処理で相対分岐先番
地を計算することができず、複数回の演算処理を必要と
するので、計算機の処理速度の高速化に対して障害とな
ってしまう。また、実際の計算機プログラムの中での相
対分岐命令の使われ方を統計的に見てみると、分岐先番
地は現在番地に近い範囲に分布しており、この計算機が
アクセスできる広い範囲の番地に分岐することはまれで
ある。このことは相対分岐命令としてはある限られた範
囲内に分岐する機能を持つだけでも十分な効果を有する
ことを示している。しかしながら、このような相対分岐
命令であっても分岐先番地の計算には複数回の演算処理
を必要とするため従来技術によって分岐先計算の高速化
をはかろうとすればデータ処理用の演算装置を用いず、
分岐先番地を計算するための演算器を別途用意する必要
があった。
〔問題点を解決するための手段〕
本発明のデータ処理装置は、記憶装置に格納された命
令をアクセスするためのアドレス情報の上位側および下
位側をそれぞれ一時格納する第1および第2の命令アド
レスレジスタと、前記第1の命令アドレスレジスタの内
容をインクリメント指示信号に応答してインクリメント
しデクリメント指示信号に応答してデクリメントして出
力する第1の手段と、プログラムカウント時には前記第
2の命令アドレスレジスタの内容を更新して出力すると
ともに桁上げが生じたときは桁上げ信号を発生する第2
の手段と、前記第1および第2の手段の出力を前記アド
レス情報として出力すると共に前記第1および第2の命
令アドレスレジスタにそれぞれ格納する第3の手段と、
相対分岐命令時には、相対分岐命令中のオフセット値と
前記第2の命令アドレスレジスタの内容とに対してデー
タ処理用の演算回路を用いて演算処理を実行しその結果
を前記第2の手段に転送して前記第2の手段に相対分岐
先アドレスの下位側として出力させる第4の手段と、プ
ログラムカウント時は前記第2の手段からの前記桁上げ
信号に応答して前記第1の手段に対し前記インクリメン
ト指示信号を発生し、相対分岐命令時は前記オフセット
値の符号情報および前記演算処理において桁上げが発生
した否かの情報に応答して前記第1の手段に対し前記イ
ンクリメント指示信号およびデクリメント指示信号を選
択的に発生する制御手段とを備えている。
〔実施例〕
次に、本発明の実施例について図面を参照して説明す
る。
第1図は本発明のデータ処理装置の一実施例の要部構
成を示すブロック図である。
アドレスバス10は記憶装置(不図示)をアクセスする
ためのアドレス情報を送出するもので、本実施例では16
ビット長を有し、命令アドレスレジスタ30,31とアドレ
スラッチ回路50,51に接続されている。データバス20は
計算機内の各種データの送受信に用いられ、本実施例で
は8ビット長を有し、命令アドレスレジスタ30,31と、
増減回路40,41と、入力テンポラリレジスタ61,62と、出
力テンポラリレジスタ63に接続されている。命令アドレ
スレジスタ30,31は記憶装置内の命令語の番地を格納す
るもので、番地の下位側8ビットが命令アドレスレジス
タ30に格納され、番地の上位側8ビットが命令アドレス
レジスタ31に格納される。入力テンポラリレジスタ61,6
2は論理演算回路(以下ALUと称す)60への入力データを
データバス20を介して受け取り、一時保持した後論理AL
U60へ出力する。また、この動作と同時に、制御回路70
には入力テンポラリレジスタ61から最上位ビット信号64
が送出される。ALU60は入力テンポラリレジスタ60,61の
データを加算し、出力テンポラリレジスタ63を介してデ
ータ信号をデータバス20に送出する。また、ALU60はこ
の動作と同時に、桁上げ信号65を制御回路70へ送出す
る。テンポラリレジスタ63を介してデータバス20に出力
されたデータは、下位側増減算回路40に転送される。こ
のとき上位側を受け持つ増減回路41は制御回路70から送
られてくるインクリメント指示信号71またはデクリメン
ト指示信号72が発生した場合にはその指示に従って上位
側命令アドレスレジスタの内容をインクリメントもしく
はデクリメントしてアドレスラッチ回路51へ送出する。
アドレスラッチ回路50,51は送られてくるアドレス内容
をラッチした後アドレスバス10へ送出する。
第2図は制御回路70の回路図である。3入力のアンド
回路74は相対分岐命令中であることを示す制御信号67
と、ALU60からの桁上げ信号65と、インバータ76を介す
る入力テンポラリレジスタ61の最上位ビット信号64の反
転信号を入力して、その論理積をオア回路73の一方の入
力に出力する。オア回路73の他方の入力には増減回路40
が出力する桁上げ信号66が接続されていて、オア回路73
はその論理和をデクリメント信号72として増減回路41へ
出力する。また、アンド回路75は制御信号67と、最上位
ビット信号64と、インバータ17を介する桁上げ信号65の
反転信号を入力し、その論理和をインクリメント信号71
として増減回路41へ出力する。
第3図は本実施例で用いられる相対分岐命令の機械語
の構成を示している。1バイト目はオペレーションコー
ド(OPC)からなり、その動作は2バイト目の最上位ビ
ットが“0"のときは現在番地に2バイト目の下位7ビッ
トのデータを加えた番地に分岐し、2バイト目の最上位
ビットが“1"のときは現在番地から2バイト目の下位7
ビットの補数データを減じた番地に分岐するように定義
されている。この分岐命令の動作は1バイト目のオペレ
ーションコードに基き命令解読、手順制御装置(不図
示)によって実行されるものである。
次に、本実施例の動作を説明する。
まず、2バイト目のデータは入力テンポラリレジスタ
61へ、命令アドレスレジスタ30のデータは入力テンポラ
リレジスタ62へデータバス20を介してそれぞれ格納され
る。入力テンポラリレジスタ61,62内に格納されたデー
タはALU60へ出力され加算される。この加算データは出
力テンポラリレジスタ63,データバス20を介して下位側
増減回路40に転送される。このとき下位側増減回路40は
増減動作を行なわないので、加算データがそのままアド
レスラッチ回路50に入力される。この動作と平行して、
信号64,65が入力された制御回路70は上位側増減回路41
に対してインクリメント指示信号71またはデクリメント
指示信号72を発生する。入力テンポラリレジスタ61の最
上位ビット信号64が“0"でALU60から桁上げ信号65が発
生したときにはインクリメント指示信号71を発生し、入
力テンポラリレジスタ61の最上位ビット信号64が“1"で
ALU60から桁上げ信号65が発生しないときにはデクリメ
ント指示信号72を発生する。インクリメント指示信号71
が上位側増減回路41へ入力された場合、上位側命令アド
レスレジスタ31の内容がインクリメントされ、アドレス
ラッチ回路51へ入力される。また、デクリメント指示信
号72が上位側増減回路41へ入力された場合、上位側命令
アドレスレジスタ31の内容がデクリメントされ、アドレ
スラッチ回路51へ入力される。このようにして、インク
リメント指示があったときには命令アドレスレジスタ3
0,31に相対分岐命令の2バイト目のデータが16ビット長
で加算された分岐先番地がアドレスラッチ回路50,51へ
格納され、アドレスバス10に送出される。また、デクリ
メント指示があった場合には命令アドレスレジスタ30,3
1に相対分岐命令の2バイト目のデータが16ビット長で
減算された分岐先番地がアドレスラッチ回路50,51へ格
納され、アドレスバス10に送出される。
上記以外の場合は下位側8ビットのアドレス演算が上
位に対して影響を与えないのでインクリメント指示信号
71およびデクリメント指示信号72は発生しない。したが
って、上位側命令アドレスレジスタ31の内容がそのまま
アドレスラッチ回路51に入力される。
〔発明の効果〕
以上説明したように本発明は、相対分岐命令による制
御信号に基いて論理演算装置による演算結果からデータ
増減手段に対する増減指示信号を発生する手段を有する
ことにより、相対分岐先番地の計算に際して論理演算装
置とデータ増減手段を併用することが出来、分岐先番地
の計算を高速に行える効果があり、また増減指示信号の
発生手段は簡単な論理回路で構成できるのでハードウェ
アの増加をまねくことは無い。
【図面の簡単な説明】
第1図は本発明のデータ処理装置の一実施例の要部構成
を示すブロック図、第2図は第1図に示されている制御
回路70のブロック図、第3図は本実施例に用いられる相
対分岐命令の機械語の構成図である。 10…アドレスバス、20…データバス、30,31…命令アド
レスレジスタ、40,41…増減回路、50,51…アドレスラッ
チ回路、60…論理演算回路(ALU)、61,62…入力テンポ
ラリレジスタ、63…出力テンポラリレジスタ、64…最上
位ビット信号、65,66…桁上げ信号、67…相対分岐命令
中であることを示す制御信号、70…制御回路、71…イン
クリメント指示信号、72…デクリメント指示信号、73…
オア回路、74,75…アンド回路、76,77…インバータ。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】記憶装置に格納された命令をアクセスする
    ためのアドレス情報の上位側および下位側をそれぞれ一
    時格納する第1および第2の命令アドレスレジスタと、
    前記第1の命令アドレスレジスタの内容をインクリメン
    ト指示信号に応答してインクリメントしデクリメント指
    示信号に応答してデクリメントして出力する第1の手段
    と、プログラムカウント時には前記第2の命令アドレス
    レジスタの内容を更新して出力するとともに桁上げが生
    じたときは桁上げ信号を発生する第2の手段と、前記第
    1および第2の手段の出力を前記アドレス情報として出
    力すると共に前記第1および第2の命令アドレスレジス
    タにそれぞれ格納する第3の手段と、相対分岐命令時に
    は、相対分岐命令中のオフセット値と前記第2の命令ア
    ドレスレジスタの内容とに対してデータ処理用の演算回
    路を用いて演算処理を実行しその結果を前記第2の手段
    に転送して前記第2の手段に相対分岐先アドレスの下位
    側として出力させる第4の手段と、プログラムカウント
    時は前記第2の手段からの前記桁上げ信号に応答して前
    記第1の手段に対し前記インクリメント指示信号を発生
    し、相対分岐命令時は前記オフセット値の符号情報およ
    び前記演算処理において桁上げが発生した否かの情報に
    応答して前記第1の手段に対し前記インクリメント指示
    信号およびデクリメント指示信号を選択的に発生する制
    御手段とを備えていることを特徴とするデータ処理装
    置。
JP61258917A 1986-10-29 1986-10-29 データ処理装置 Expired - Lifetime JPH0831033B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP61258917A JPH0831033B2 (ja) 1986-10-29 1986-10-29 データ処理装置
EP87115910A EP0265948B1 (en) 1986-10-29 1987-10-29 Data processor capable of immediately calculating branch address in relative address branch
DE3750014T DE3750014T2 (de) 1986-10-29 1987-10-29 Datenprozessor mit der Fähigkeit, die Verzweigungsadresse sofort zu berechnen in einer Relativadressenverzweigung.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61258917A JPH0831033B2 (ja) 1986-10-29 1986-10-29 データ処理装置

Publications (2)

Publication Number Publication Date
JPS63111535A JPS63111535A (ja) 1988-05-16
JPH0831033B2 true JPH0831033B2 (ja) 1996-03-27

Family

ID=17326823

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61258917A Expired - Lifetime JPH0831033B2 (ja) 1986-10-29 1986-10-29 データ処理装置

Country Status (3)

Country Link
EP (1) EP0265948B1 (ja)
JP (1) JPH0831033B2 (ja)
DE (1) DE3750014T2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4340551A1 (de) * 1993-11-29 1995-06-01 Philips Patentverwaltung Programmspeichererweiterung für einen Mikroprozessor
EP0730220A3 (en) * 1995-03-03 1997-01-08 Hal Computer Systems Inc Method and device for quickly executing branch instructions
US5958039A (en) * 1997-10-28 1999-09-28 Microchip Technology Incorporated Master-slave latches and post increment/decrement operations
JP4920960B2 (ja) * 2005-11-24 2012-04-18 朝日ウッドテック株式会社 木質床構造および木質床の施工方法
JP2007327290A (ja) * 2006-06-09 2007-12-20 Yuka Sansho Kenzai Kk 床構造の構築方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3774166A (en) * 1963-09-30 1973-11-20 F Vigliante Short-range data processing transfers
JPS5343448A (en) * 1976-10-01 1978-04-19 Hitachi Ltd Lsi sequence control circuit
JPS5563442A (en) * 1978-11-07 1980-05-13 Fujitsu Ltd Address set control system
JPS55103653A (en) * 1979-01-31 1980-08-08 Nec Corp Data processing unit
US4449185A (en) * 1981-11-30 1984-05-15 Rca Corporation Implementation of instruction for a branch which can cross one page boundary
JPS617945A (ja) * 1984-06-22 1986-01-14 Usac Electronics Ind Co Ltd 実効アドレス計算方式

Also Published As

Publication number Publication date
EP0265948A3 (en) 1990-05-02
EP0265948A2 (en) 1988-05-04
JPS63111535A (ja) 1988-05-16
EP0265948B1 (en) 1994-06-08
DE3750014T2 (de) 1995-01-12
DE3750014D1 (de) 1994-07-14

Similar Documents

Publication Publication Date Title
KR940009094B1 (ko) 데이타처리 시스템
EP0118781A2 (en) Control flow parallel computer system
JPH0248931B2 (ja)
US5757685A (en) Data processing system capable of processing long word data
JPH0414385B2 (ja)
US4754424A (en) Information processing unit having data generating means for generating immediate data
JPH0831033B2 (ja) データ処理装置
EP0240606A2 (en) Pipe-line processing system and microprocessor using the system
US4723258A (en) Counter circuit
US4785414A (en) Computer system with automatic range checking and conversion of data words
JPH0528431B2 (ja)
JP2553200B2 (ja) 情報処理装置
US5596761A (en) Central processing unit with internal register initializing means
JPH0560629B2 (ja)
JPH0619700B2 (ja) 演算装置
JP2557629B2 (ja) 割込方式
JPS6242301B2 (ja)
JPH04195629A (ja) 演算フラグ生成装置
JPS59188900A (ja) デ−タ処理装置
JPH0233173B2 (ja)
JP2922979B2 (ja) 中央演算処理装置
JPS63118839A (ja) 命令処理装置の命令アドレス歩進制御方式
JPS6111493B2 (ja)
JPH081596B2 (ja) マイクロプロセッサ
JPS604499B2 (ja) デ−タ処理装置におけるアドレス指定装置