JPS58182754A - 演算処理装置 - Google Patents

演算処理装置

Info

Publication number
JPS58182754A
JPS58182754A JP57065200A JP6520082A JPS58182754A JP S58182754 A JPS58182754 A JP S58182754A JP 57065200 A JP57065200 A JP 57065200A JP 6520082 A JP6520082 A JP 6520082A JP S58182754 A JPS58182754 A JP S58182754A
Authority
JP
Japan
Prior art keywords
operand
word length
addition
preshifter
subtraction
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.)
Granted
Application number
JP57065200A
Other languages
English (en)
Other versions
JPS6227412B2 (ja
Inventor
Motoyoshi Nagafuji
長藤 元宜
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP57065200A priority Critical patent/JPS58182754A/ja
Priority to US06/484,846 priority patent/US4677582A/en
Priority to GB08310288A priority patent/GB2120426B/en
Priority to DE19833314035 priority patent/DE3314035A1/de
Publication of JPS58182754A publication Critical patent/JPS58182754A/ja
Publication of JPS6227412B2 publication Critical patent/JPS6227412B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 発明の対象 本発明はマイクロプログラム制御と命令先行制御を採用
した情報処理装置内の演算処理装置に関し、特に半語長
オペランドの加減算命令を高速に実行する演算処理装置
に関するものである。
従来技術 第1図は、語長あるいは半語長のオペランドを加減算す
る命令の一形式を示す。第1図においてOPは加算か減
算かの演算種類、および第2オペランドが語長か半語長
であるかの両方を示すための命令コードを示し、R1は
語長の第1オペランドの存在するレジスタ番号を、AD
D2は語あるいは半語長の第2オペランドの存在するメ
モリ上のアドレスを示す。
第2図は、オペランドの形式を示している。第2図にお
いて、Sはオペランドの符号を示し、例えばS=0なら
ばオペランドが正数、S=1ならば負数との約束をもつ
ものとする。Bは符号を除く数値を表わし、半語長オペ
ランドの場合、Bは15ビツト、語長オペランドの場合
31ピツトを有するものとする。演算は語長の第1オペ
ランドと半語あるいは語長の第2オペランドを加算ある
いは減算して、第1図のR1で示される語長のレジスタ
内に格納される。
第3図は、正の符号をもつ語長オペランド(同図(a)
)と負の符号をもつ半語長オペランド(同図(+)) 
)の−例である。これらは周知の固定小数点数であり、
本例の正の語長オペランドは10進で「+25」を表わ
し、負の半語長オペランドは「−2」を表わしている。
さて、従来技術にお′いては、半語長オペランドの加減
算命令の実行には最低でも2サイクルを要していた。す
なわら、最初のザイクルで、加数あるいは減数の符号を
上位バイトに例えばシフタ等を用いて拡張し、2サイク
ル目に演算器に入力して加減算を完了していた。以下、
この従来技術について説明する。
第4図は従来の演算器周辺のブロック図であり、第5図
は該演算器等を使用して第3図に示すオペランドの半語
長加算命令を実行する手順を示したものである。なお、
す、下の説明では、ワークレジスタ、シフタおよび演算
器の処理長は語長とするが、勿論、これは倍語長でもよ
い。
まず、第1図に示す半語長加算命令が周知の命令先行制
御装置により解読されて、第1および第2オペランドの
データが読み出され、マイクロプログラムニよル実行に
先立って各々ワークレジスタ(B)40とワークレジス
タ(A、 ) 30の先頭にセットされろ。すなわら、
第3図(a)の語長オペランドがワークレジスタ40に
、第3図(b)の半語長オペランドがワークレジスタ3
0にセットされる。これらのワークレジスタ30と40
では最下位のピッt−位置が異っており、そのま\では
演算器10に入力できない。このため、マイクロプログ
ラムの第1芙行ザイクルでは、ワークレジスタ30の内
容をシフタ20に入れ、そこで代数的な右16ビツトシ
フトを行い、シフト結果を出力レジスタ21. 、4百
号線5oを介してワークレジスタ30に再転送する。第
6図は転送前後のワークレジスタ30の内容で、(a)
は最初に第2オペランドをセットした状態、わ)はそれ
を右へ16ビツトシフトした状態を示す。シフタ20に
よる右16ビツトシフトでは算術的シフトすなわら  
 □符号を考慮したシフトを行なうため、第6図(b)
に示す如くワークレジスタ30は、転送後には」1位1
6ビツトに新たに負の符号1が付加されている。
こうして、ワークレジスタ30と40の最下位ビット位
置が一致したあと、マイクロプログラムの第2実行サイ
クルでは、ワークレジスタ30と40の内容が、各々プ
リシフタ(A ) 1.3、プリシフタ(B)14を介
して演算器10に入力される。プリシフタ13.14は
、こ2では′単純にデータを通すだけのスルーの働きを
している。演算器10で加算した結果は、第7図に示す
如く、周知の固定小数点数の加算規則により10進数で
「23」を示す数値となる。この加算器の出力を第2実
行サイクルの最終ステージで、出力レジスタ11を介し
て第1オペランドレジスタへ転送、格納することにより
、命令は完了する。
なお、半語長減算の場合は、第2実行サイクルでプリシ
フタ(A)13がコンブリメント(補数)として働き、
演算器10の最下位ビット位置に初期キャIJ  −L
 1−゛を与える点が異なるのみで、第1実行サイクル
の動作は加算の場合と同じである。
以上が従来技術による半語長加減算命令の実行処理で、
実行に2サイクルを要すことが分かる。
一方、符号拡張の必要のない語長オペランドの加減算命
令の場合には、第2オペランドは、ワークレジスタにセ
ットされた状態ですでに先頭に符号を有し、第1オペラ
ンドと最下位ビット位置を同じくする語長の形式をもっ
ており、そのま\演算器に入力できるため、シフタで右
シフトする手順が不要で、1fイクルで実行できる。こ
のため、ソフトウェア設計者がメモリ節約の為に半語長
のオペランドを用意しても、その加減算実行には語長オ
ペランドに比し倍の時間を要するという問題があった。
従来、半語長オペランドの加減算命令の実行を1サイク
ルに短縮する方法として、先行制御装置が第2オペラン
ドをワークレジスタにセットする場合に、符号ビットに
該当するビットを、あらかじめ16ビツト分拡張してお
き、半語長のオペランド自身をワークレジスタの後半に
セットし、前半には上記拡張された符号16ビツトをセ
ットする方法が提案されている。しかし、この方法では
、半語長加減算命令時のみのために、符号拡張用のケー
ト回路を余分に必要と12、このため、先行制御装置側
ではメモリから読出してきた第2オペランドを一刻も早
く送りたいときに、ワークレジスタへの転送に遅れを生
じ、その結果、全体の処理速度が遅れる欠点がある。
発明の目的 本発明の目的は、全体の処理速度に遅れを生じることな
く、半語長オペランドの加減算を語長オペランドの加減
算と全く同じ速度で実行することのできる演算処理装置
を提供することにある。
」−記したように、半語長オペランドを語長あるいは倍
語長の演算器に入力させる場合、オペランドの符号を拡
張して入力させる必要があり、このため、従来はシフタ
によりオペランドの符号を拡張した後、演算器に入力し
て加減算を実行していた。これに対して、本発明は演算
器のプリシフタに着目し、前記シフタ処理に該当する部
分を演算器のプリシフタを用いて処理しようとするもの
である。これには・・−ドウエアの増加が伴うが、大幅
なLSIの採用という最近の傾向を考えれば、十分吸収
できる。
発明の実施例 第8図に本発明による演算器周辺の一実施例のブロック
図を示す。第4図と比べ、プリシフタ(A) 100が
改良され、該プリシフタ100に第2オペランドデータ
の符号部の転送線60が追加されているのが特徴である
第9図はプリシフタ(A)100の構成を、第1ピツl
 (Ai )について詳細に示した図である。第4図の
プリシフタA(13)などのように、通常のプリシフタ
の機能は、スルー(TRUE 、そのまま)、コンブリ
メント(COMP ;補数、反転)、シフトレフトある
いはライト↓・〜3(左あるいは右に1ないし3ビツト
シフト)程度である。第9図に示すAND回路902 
、903 、904などが、これに対応する。たゾし、
シフトレフト1以外のシフトは、図面の簡単化のため示
されていない。
本発明の改良されたプリシフタ(A)100は、0〜]
5ビツト(0≦1≦15)について半語長加減算命令に
対して動作するAND回路901を有することを特徴と
している。すなわち、第9図のAND回路9旧は、第1
図の命令のOPのデコード信号あるいはそれに該当する
信号により半語長加算演算モードが指定され、第2オペ
ランドが負符号であれば、OR回路910′より1″′
を演算器人力AiINとして出力する。逆に半語長減算
命令実行中には、第2オペランドが正符号のと@ ” 
1 ”を出力する。これらの加減算時には、902〜9
04のA、 N D回路は閉じたままで付勢されない。
このAND回路901を有するのは、ワークレジスタ(
A)30の前半16ビツトに対応するプリシフタのみで
、後半16ビツトは有しない。すなわち、後半16ビツ
トは第4図に示す従来のプリシフタA (13)と全く
同様の構成である。
第10図は第3図のデータ例の場合のプリンフタ(A、
)100の動作を示し、第11図はその手順を示したも
のである。
先行制御装置によりワークレジスタ(A)30の前半(
ビット0−15)には°゛0″′が、後半(同16−3
1)には第2オペランドデータ(111・・・ 10)
カセットされるが、これらが改良されたプリシフタ(A
、)100に入力される。プリシフタ100の前半に対
しては、制御信号として半語長加算演算モードのみが与
えられ、他はすべて抑止される。この結果、第9図の一
1二側のAND回路901が、第2オペランドが負符号
であるため付勢され、OR回路旧0の出力、すなわち演
算器への入力は“1″′となる。プリシフタ100の後
半に対しては、制御信号として加算であるとTR’UE
(スルー)が与えられ、セットされた第2オペランドデ
ータがそのま\演算器入力となる。この改良されたプリ
シフタ100の出力により、第7図に示したのと同様の
パターンが発生されたことになる。以下は従来技術と同
じ動作により、加算が実行され結果が格納される。
半語長減算の場合は、プリシフタ100の前半16ビツ
トに対しては、符号が正のときに第9図の下側のAND
回路によりプリシフタ出力は” 1 ”となり、後半1
6ビツトにはCOMP (補数)制御信号が与えられ、
第2オペランドの補数が演算器10の入力に現れる。こ
のときは、さらに演算器1oの最下位ビット位置に初期
キャリーが入力される。この動作により、正常に減算が
実行される。
発明の効果 以上の説明から明らかな如く、本発明では、第1実行サ
イクルのみを使用して、第2オペランドの符号拡張のた
めのプリシフトを従来のプリシフトの速度と同じ速度で
行ない、プリシフトの性能を落すことなく半語長加減算
命令を終了させることができる。また、プリシフタに追
加するハードウェアは、例えば16ビツト分についてA
NDゲートが32個で済み、周辺の制御回路も含めて極
めて僅かな増追で済むため、コスト上からも実現は容易
なものである。
【図面の簡単な説明】
第1図は語長あるいは半語長オペランドの加減算命令の
一形式を示す図、第2図は語長および半語長オペランド
の一形式を示す図、第3図は語長および半語長オペラン
ドの具体例を示す図、第4(ロ) 図は従来の演算処理装置のブロック図、第5図は従来の
半語長加算命令の実行手順を示す図、第6図および第7
図は従来の具体的数値例を示す図、第8図は本発明の演
算処理装置の一実施例を示すブロック図、第9図は本発
明により改良されたプリシフタの具体的構成図、第10
図は本発明におけるプリシフタの動作を示す図、第11
図は本発明による半語長加算命令の実行手順を示す図で
ある。 10・・・演算器、11・・・出力レジスタ、14・・
・プリシフタ、100・・・改良されたプリシフタ、3
0 、40・・・ワークレジスタ。 (2) 才3図 第1図 第2図 レンヌタ入力へ 第5図 第6図 牙7図 第8図 第9図 オlO図

Claims (1)

    【特許請求の範囲】
  1. (1)符号を含む特定の長さを有するオペランド同志の
    加減算を行う演算器を具備し、命令先行制御によりオペ
    ランドをワークレジスタヘセットし、マイクロプログラ
    ム制御により一方のオペランドの符号拡張、両オペラン
    ドの加減算を行う演算処理装置において、前記命令先行
    制御により指定される加減算命令の一方のオペランドに
    基き、前記演算器の上位部分に“1″あるいは”o”の
    連続するパターンを発生する手段を設け、オペランドの
    符号拡張と加減算を同一サイクルで実行することを特徴
    とする演算処理装置。
JP57065200A 1982-04-19 1982-04-19 演算処理装置 Granted JPS58182754A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP57065200A JPS58182754A (ja) 1982-04-19 1982-04-19 演算処理装置
US06/484,846 US4677582A (en) 1982-04-19 1983-04-14 Operation processing apparatus
GB08310288A GB2120426B (en) 1982-04-19 1983-04-15 Operation processing apparatus
DE19833314035 DE3314035A1 (de) 1982-04-19 1983-04-18 Operationsverarbeitungseinrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57065200A JPS58182754A (ja) 1982-04-19 1982-04-19 演算処理装置

Publications (2)

Publication Number Publication Date
JPS58182754A true JPS58182754A (ja) 1983-10-25
JPS6227412B2 JPS6227412B2 (ja) 1987-06-15

Family

ID=13280029

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57065200A Granted JPS58182754A (ja) 1982-04-19 1982-04-19 演算処理装置

Country Status (4)

Country Link
US (1) US4677582A (ja)
JP (1) JPS58182754A (ja)
DE (1) DE3314035A1 (ja)
GB (1) GB2120426B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62269228A (ja) * 1986-05-16 1987-11-21 Matsushita Electric Ind Co Ltd 算術論理演算ユニツト

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4809166A (en) * 1986-08-27 1989-02-28 Advanced Micro Devices, Inc. Data assembly apparatus and method
US5307474A (en) * 1987-09-30 1994-04-26 Mitsubishi Denki Kabushiki Kaisha Apparatus and method for processing literal operand computer instructions
GB2215880A (en) * 1988-03-23 1989-09-27 Benchmark Technologies Variable length data field processing
US5101370A (en) * 1990-07-26 1992-03-31 Unisys Corporation Programmable digital accumulate and scale circuit
US5440504A (en) * 1993-02-19 1995-08-08 Matsushita Electric Industrial Co., Ltd. Arithmetic apparatus for digital signal processor
US7395298B2 (en) * 1995-08-31 2008-07-01 Intel Corporation Method and apparatus for performing multiply-add operations on packed data
US6385634B1 (en) * 1995-08-31 2002-05-07 Intel Corporation Method for performing multiply-add operations on packed data
US6230257B1 (en) * 1998-03-31 2001-05-08 Intel Corporation Method and apparatus for staggering execution of a single packed data instruction using the same circuit
US6230253B1 (en) * 1998-03-31 2001-05-08 Intel Corporation Executing partial-width packed data instructions
US7430578B2 (en) * 2001-10-29 2008-09-30 Intel Corporation Method and apparatus for performing multiply-add operations on packed byte data
KR20070088190A (ko) * 2006-02-24 2007-08-29 삼성전자주식회사 멀티미디어 데이터 처리를 위한 서브워드 병렬 처리 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54159831A (en) * 1978-06-07 1979-12-18 Fujitsu Ltd Adder and subtractor for numbers different in data length using counter circuit

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1245441A (en) * 1968-08-27 1971-09-08 Int Computers Ltd Improvements in or relating to adders operating on variable fields within words
US4109310A (en) * 1973-08-06 1978-08-22 Xerox Corporation Variable field length addressing system having data byte interchange
US3935572A (en) * 1973-11-23 1976-01-27 Hughes Aircraft Company System for resolving velocity ambiguity in pulse-doppler radar
US4021655A (en) * 1976-03-30 1977-05-03 International Business Machines Corporation Oversized data detection hardware for data processors which store data at variable length destinations
US4135242A (en) * 1977-11-07 1979-01-16 Ncr Corporation Method and processor having bit-addressable scratch pad memory
DE2806452C3 (de) * 1978-02-15 1981-11-12 Ščetinin, Jurij Ivanovič Anordnung zur Verarbeitung von Mehrbytefeldern mit Daten veränderlicher Länge
US4296469A (en) * 1978-11-17 1981-10-20 Motorola, Inc. Execution unit for data processor using segmented bus structure
US4434459A (en) * 1980-04-25 1984-02-28 Data General Corporation Data processing system having instruction responsive apparatus for both a basic and an extended instruction set
US4491910A (en) * 1982-02-22 1985-01-01 Texas Instruments Incorporated Microcomputer having data shift within memory
US4507731A (en) * 1982-11-01 1985-03-26 Raytheon Company Bidirectional data byte aligner

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54159831A (en) * 1978-06-07 1979-12-18 Fujitsu Ltd Adder and subtractor for numbers different in data length using counter circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62269228A (ja) * 1986-05-16 1987-11-21 Matsushita Electric Ind Co Ltd 算術論理演算ユニツト

Also Published As

Publication number Publication date
GB8310288D0 (en) 1983-05-18
GB2120426A (en) 1983-11-30
GB2120426B (en) 1986-06-18
US4677582A (en) 1987-06-30
DE3314035C2 (ja) 1987-06-19
DE3314035A1 (de) 1983-10-27
JPS6227412B2 (ja) 1987-06-15

Similar Documents

Publication Publication Date Title
EP0130377B1 (en) Condition register architecture for a primitive instruction set machine
JPH0135366B2 (ja)
JPS6014341A (ja) 基本命令セツト計算機システムにおけるトラツプ割込み方式
JPS58182754A (ja) 演算処理装置
JPH06202850A (ja) データ処理装置
JPS6014338A (ja) 計算機システムにおける分岐機構
JPH034936B2 (ja)
JPH0346024A (ja) 浮動小数点演算器
JPS605977B2 (ja) マイクロプログラム制御装置
US6035310A (en) Method and circuit for performing a shift arithmetic right operation
JP2001216136A (ja) 加算回路およびプロセッサ
JP2520484B2 (ja) 除算回路
JPS59184944A (ja) 丸め演算方式
JP3139011B2 (ja) 固定小数点プロセッサ
JP2615746B2 (ja) ビット操作回路
Rojas The Architecture of the Z3
JP3110072B2 (ja) 事前正規化回路
Rojas Sixty Years of Computation-The Machines of Konrad Zuse
JPS6149234A (ja) 浮動小数点乗算回路
JPS59201144A (ja) 10進数演算回路
JPH05100818A (ja) バレルシフタ
JPH02109130A (ja) 演算回路
JPS61296435A (ja) マイクロプログラム制御方式
JPH03255524A (ja) 加算回路
JP2003177911A (ja) 演算装置及びその演算装置を用いた情報処理装置