JPH0379736B2 - - Google Patents

Info

Publication number
JPH0379736B2
JPH0379736B2 JP60177795A JP17779585A JPH0379736B2 JP H0379736 B2 JPH0379736 B2 JP H0379736B2 JP 60177795 A JP60177795 A JP 60177795A JP 17779585 A JP17779585 A JP 17779585A JP H0379736 B2 JPH0379736 B2 JP H0379736B2
Authority
JP
Japan
Prior art keywords
upper bit
carry
bits
incrementer
bit group
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
JP60177795A
Other languages
English (en)
Other versions
JPS61109141A (ja
Inventor
Toresu Aburahamu
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS61109141A publication Critical patent/JPS61109141A/ja
Publication of JPH0379736B2 publication Critical patent/JPH0379736B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/5055Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination in which one operand is a constant, i.e. incrementers or decrementers
    • 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

Landscapes

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、単一の現アドレスから複数のアドレ
スを生成するための、増分器として実現されるキ
ヤリイ機能に関するものである。
〔開示の概要〕
“ルツクバツク”キヤリイ機能が、2進増分器
中で実現される。従来のルツクアヘツド・キヤリ
イ機能とは異なり、この“ルツクバツク”キヤリ
イ機能は、増分操作中に実際のキヤリイを実現す
る。キヤリイ機能が各レジスタ位置で実現された
後、これに続いて各キヤリイ機能が有効であつた
かどうか、したがつて実行すべきものであつたか
どうかが決定される。有効でなかつたキヤリイ機
能に関しては、後続の回路はかかるキヤリイを除
去して、各レジスタ位置に適切なキヤリイ・パタ
ーンを残す。キヤリイが有効とみなされるために
は、下位のすべてのビツトの増分がキヤリイ出力
を生じていなければならない。
〔従来の技術〕
デイジタル計算機では、現アドレスを増分して
この現アドレスから1個または複数のアドレスを
生成することが必要である。通常はかかる操作に
は論理回路が必要である。アドレスなどの2進数
を増分する場合、キヤリイ・ビツトは現アドレス
を増分して、和または次のアドレスを生成する。
周知のように、大部分の2進増分器は、リツプ
ル・キヤリイまたはルツクアヘツド・キヤリイ方
式を使用している。リツプル・キヤリイ方式で
は、複数のビツトを加算する際に生ずるキヤリイ
出力は、並列2進数(たとえばアドレス)のすべ
ての数値が加算されるまでこれらの2進数を介し
てリツプルする。このリツプル操作の結果、リツ
プル・キヤリイ方式を使用した増分器は非常に時
間がかかる。
この欠点を克服するため、ルツクアヘツド・キ
ヤリイ方式が使用されてきた。このルツクアヘツ
ド・キヤリイ方式を使用すると、各ステージから
のすべてのキヤリイ情報は、そのステージに供給
されるキヤリイ情報とは無関係になる。その結
果、増分器中のすべてのキヤリイ情報はその各ス
テージに同時に印加されるのである。キヤリイ・
データをこのように印加すると、キヤリイ情報が
ステージ間で伝播することがなくなり、したがつ
て増分器の操作速度が増大する。しかしながら、
ルツクアヘツド・キヤリイ方式の重大な欠点は、
複雑な論理設計を要することである。この設計の
複雑さは、増分器の後のステージになるほどます
ます激しくなる。様々なルツクアヘツド・キヤリ
イ方式の例が、米国特許第3511978号、第3465133
号、第3299260号、第3440412号に記述されてい
る。
従来、ルツクアヘツド・キヤリイ方式に必要な
論理を減らそうという試みが行われてきた。しか
し、論理を減らすと、それに付随して速度が落ち
る。かかる一例は、米国特許第3488481号に示さ
れている。ここでは、2進加算が3段階で行われ
る。第1段階では、グループ間のキヤリイに関係
なく、対応するビツトが加算される。第2段階で
は、第1段階で生成されたキヤリイが伝播され、
最終和が得られる。最後の第3段階では、得られ
た和が正しいか否かが決定される。
更に、論理を増やしても速度を増大させようと
いう試みも行われてきた。例えば、米国特許第
4052604号に開示されている2進加算器では、加
算器の各デイジツト・ステージに設けられた個別
論理回路が、対応するデイジツトの状況および加
算器の先行する下位デイジツトからのキヤリイ・
ビツト信号にもとづいて、出力キヤリイの状況を
決定するようにしている。すなわち、対応するデ
イジツトの和が最終的に得られる前に、出力キヤ
リイ・ビツトの状況が決定されるのである。した
がつて、下位デイジツトの加算が完了するまで上
位デイジツトの加算を待つ必要がない。
ルツクアヘツド・キヤリイ方式を使用して速度
を増大させるもう一つの方法は、グループ・キヤ
リイ予測方式である。この方式によると、2つの
和項が作成される。1つの和項では、0のキヤリ
イが仮定されるのに対し、もう一方の和項では、
1のキヤリイが仮定される。したがつて、追加論
理回路によつて生成されるグループ・キヤリイ項
にもとづいて、正しい和が決定される。この方式
は、キヤリイ機能の速度を増大させるものの、必
要な論理回路の量が大幅に増えるという欠点を有
する。
〔発明が解決しようとする問題点〕
以上の説明から明らかなとおり、ルツクアヘツ
ド・キヤリイ方式の速度が大きいという利点とリ
ツプル・キヤリイ方式の論理回路が簡単であると
いう利点を兼ね備えた増分器を提供することが最
も望ましい。増分器中のクリチカルな遅延経路で
あるキヤリイ経路をなくすことによつて、遅延に
対してほとんど影響を与えずに操作できるビツト
数を増やすことできる。
したがつて、本発明の目的は、改良された2進
増分器を提供することである。
本発明の他の目的は、クリチカルな遅延経路と
してのキヤリイ経路が実質的に除去された増分器
を提供することである。
本発明の他の目的は、増分器の遅延に重大な影
響を与えずに、操作できるビツト数を増やすこと
ができる増分器を提供することである。
本発明の他の目的は、通常のリツプル・キヤリ
イ方式と同程度の論理回路を必要とし、しかもル
ツクアヘツド・キヤリイ方式と同程度の速度を提
供する増分器を提供することである。
〔問題点を解決するための手段〕
前記および他の目的は、増分操作中に実際のキ
ヤリイ機能を実現するような“ルツクバツク
(lookback)”キヤリイ機能によつて達成される。
各レジスタ位置でキヤリイ機能が実現された後、
各キヤリイ機能が有効であつたかどうか、したが
つて実行すべきものであつたかどうかが決定され
る。有効でなかつたキヤリイ機能に関しては、か
かるキヤリイを除去して、各レジスタ位置に適切
なキヤリイ・パターンを残すための論理回路が設
けられる。
以下で説明する良好な実施例では、現命令アド
レスを基本データとして使用して、プリフエツチ
命令アドレスと呼ばれる第1のアドレスと、新命
令アドレストと呼ばれる第2のアドレスが生成さ
れる。現命令アドレスは、命令アドレス・レジス
タ(IAR)に記憶されており、該レジスタは4バ
イト幅の増分で31ビツトを並列に出力する。ビツ
ト0〜26はプリフエツチ命令アドレスと新命令ア
ドレスに共通である。プリフエツチ命令アドレス
および新命令アドレスに独自のものは、ビツト27
〜30だけである。
ビツト0〜7は、第1の2ステージ増分器に出
力される。この増分器の第1ステージは、キヤリ
イ項を生成し、その第2シテージは和項を生成す
る。同様に、ビツト8〜15および16〜26は、それ
ぞれ別個の2ステージ増分器に入力され、各増分
器は第1の増分器の場合と同じ方法でキヤリイ項
と和項を生成する。ビツト27〜30は、プリフエツ
チ増分器および命令アドレス増分器に入力され
る。さらに、最初の論理ブロツクからの4ビツト
がピリフエツチ増分器に入力され、第2の論理ブ
ロツクからの2ビツトが命令アドレス増分器に入
力される。
最初の3つの増分器のそれぞれの出力は、相異
なるマリチプレグサの各対に入力される。すなわ
ち、増分されたビツト0〜7は第1および第2の
マルチプレクサに出力され、増分されたビツト8
〜15は、第3および第4のマルチプレクサに入力
され、増分されたビツト16〜26は第5および第6
のマルチプレクサに入力される。増分されないビ
ツト0〜7も第1および第2のマルチプレクサに
入力される。増分されないビツト8〜15が第3お
よび第4のマチルプレクサに入力され、増分され
ないビツト16〜26が第5および第6のマルチプレ
クサに入力される。
プリフエツチ増分器および命令アドレス増分器
はそれぞれ1対の出力をもつている。第1の出力
はデータ出力であり、増分されたビツト27〜30を
もたらす。第2の出力は制御出力であり、6個の
マルチプレクサのそれぞれを制御するのに使用さ
れる。制御出力は、プリフエツチ増分器および命
令アドレス増分器の出力状態に応じて、増分され
たビツトまたは増分されないビツトのどちらが正
しいものであるかを各マルチプレクサに知らせ
る。
〔実施例〕
第1図を参照すると、1対のアドレスを生成す
るための2重増分システムが示されている。各ア
ドレスは、31ビツトの2進情報を含んでいる。ビ
ツト0〜26は出所が共通であるが、ビツト27〜30
は各生成アドレスに独自のものである。現命令ア
ドレスは、引ビツト形式で命令アドレス・レジス
タ11(以下「IAR」と略す)に記憶されてい
る。ビツト0〜7はIAR11から線71を経て増
分器(INCR)12に出力される。ビツト8〜15
は、IAR11から線73を経て増分器13に出力
される。ビツト16〜26はIAR11から線74を経
て増分器14へ出力される。ビツト0〜26は線7
2を経てマルチプレクサ(MUX)17,18,
19に出力される。すなわち、ビツト0〜7はマ
ルチプレクサ17に送られ、ビツト8〜15はマル
チプレクサ18に送られ、ビツト16〜26はマルチ
プレクサ19に送られる。同様に、ビツト0〜26
は線76を経てマルチプレクサ21,22,23
に出力される。この場合も、ビツト0〜7はマル
チプレクサ21に送られ、ビツト8〜15はマルチ
プレクサ22に送られ、ビツト16〜26はマルチプ
レクサ23に送られる。
ビツト27〜30は、IAR11から線75を経てプ
リフエツチ増分器15に、また線77を経て命令
アドレス増分器16に出力される。また、4ビツ
トが線28を経てプリフエツチ増分器15に入力
され、2ビツトが線29を経て命令アドレス増分
器16に入力される。ビツト27〜30は、線28か
らの4ビツトによつて増分された後、線24を経
てプリフエツチ増分器15から出力される。同様
にビツト27〜30は、線29からの2ビツトによつ
て増分された後、線26を経て命令アドレス増分
器16から出力される。ビツト0〜7、8〜15お
よび16〜26は、それぞれ増分器12,13,14
中で1ビツトだけ増分される。命令アドレス増分
器16とプリフエツチ増分器15は、それぞれ制
御出力、すなわち線27および25を持つてい
る。線25および27は、ビツト27〜30の増分に
よりキヤリイ・ビツトが生ずる場合にだけ、2進
値1の出力を生成する。この制御ビツトはマルチ
プレクサ17〜19および21〜23に関連して
使用され、線31〜36を経て増分されたビツト
0〜26が出力されるのか、それとも増分されない
ビツト0〜26が出力されるのかを決定する。これ
らのマルチプレクサに関連する制御線25および
27の操作については後で説明する。
次に、増分器12,13,14の操作につい
て、第2図および第3図を参照しながら詳細に説
明する。説明の便宜上、増分器12中のビツト0
〜7を使用して、増分器12,13,14の操作
を説明する。増分器13中のビツト8〜15の増分
と増分器14中のビツト16〜26の増分も、増分器
12中のビツト0〜7の増分と同様の方法で行わ
れる。したがつて、この説明は増分器12の操作
に限られるが、増分器13および14にもあては
まる。
先に進む前に、次の項を定義する必要がある。
Gjは発生項、Pjは伝播項、Cjはキヤリイ項、Aj
IAR11のj番目のビツト、Bjはプリフエツチ・
ビツトまたは命令アドレス増分ビツトである。こ
れらの基本的定義を使つて、次の3つの式を書く
ことができる。
(1) Gj=Aj・Bj (2) Pj=Aj+Bj (3) Cj=Gj+(Pj・Cj+1) B7は0に等しいので、 (4) G7=IAR7・B7=IAR7・0=0 (5) P7=(IAR7・0)+7・0=IAR7 (6) C7=P7・C8=IAR7 C8は1に等しいので、後者の結果が成り立つ。
かくて、キヤリイ項は次式で表すことができる。
(7) Cj=Pj・Cj+1=IARj ・IARj+1

Claims (1)

  1. 【特許請求の範囲】 1 少なくとも2つの上位ビツトグループと最下
    位ビツトグループとに分割される複数ビツトを有
    する2進数を増分するための2進増分器であつ
    て、 上記2進数の各上位ビツトグループそれぞれ
    別々に予定の増分値だけ増分し、該増分によつて
    上記各上位ビツトグループからそのキヤリイ出力
    が生ずる場合には上記上位ビツトグループごとに
    キヤリイ信号をそれぞれ生成する第1増分手段を
    備え、 該第1増分手段を、上記各上位ビツトグループ
    中の複数のビツトに応答して当該上位ビツトグル
    ープの各ビツト位置ごとにキヤリイ・ビツトをそ
    れぞれ独立に生成する手段と、該各キヤリイ・ビ
    ツトおよび該複数のビツトに応答して当該上位ビ
    ツトグループの各ビツト位置ごとにその和ビツト
    をそれぞれ独立に生成する手段とから構成し、 さらに上記2進数の最下位ビツトグループを増
    分し、該増分によつて該最下位ビツトグループか
    らそのキヤリイ出力が生ずる場合には制御信号を
    送出する第2増分手段と、 上記増分された少なくとも2つの上位ビツトグ
    ループと上記2進数の対応する上位ビツトグルー
    プとを入力として受け取り、上記第1増分手段に
    よつて生成された上記各キヤリイ信号、上記第2
    増分手段によつて生成された上記制御信号に応答
    して上記増分された各上位ビツトグループ、また
    は上記2進数の対応する各上位ビツトグループの
    いずれかをそれぞれ選択し、該選択された各上位
    ビツトグループの内容を上記増分された最下位ビ
    ツトグループと結合して上記2進数の増分出力と
    する結合手段を備え、該結合手段を上記少なくと
    も2つの上位ビツトグループのうち最も下位にあ
    る上位ビツトグループについては上記制御信号が
    生成された場合にのみ上記第1増分手段によつて
    増分された当該上位ビツトグループの内容を選択
    し、 上記少なくとも2つの上位ビツトグループのう
    ち上記最も下位にある上位ビツトグループを除く
    残りの上位ビツトグループについては、上記制御
    信号が生成されかつ当該上位ビツトグループより
    相対的に下位にあるすべての上位ビツトグループ
    からの上記キヤリイ信号が生成された場合にのみ
    上記第1増分手段によつて増分された当該上位ビ
    ツトグループの内容を選択し、さもなければ上記
    2進数の対応する各上位ビツトグループの内容を
    それぞれ選択するように構成した2進増分器。
JP60177795A 1984-10-31 1985-08-14 2進増分器 Granted JPS61109141A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US666703 1984-10-31
US06/666,703 US4685078A (en) 1984-10-31 1984-10-31 Dual incrementor

Publications (2)

Publication Number Publication Date
JPS61109141A JPS61109141A (ja) 1986-05-27
JPH0379736B2 true JPH0379736B2 (ja) 1991-12-19

Family

ID=24675089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60177795A Granted JPS61109141A (ja) 1984-10-31 1985-08-14 2進増分器

Country Status (4)

Country Link
US (1) US4685078A (ja)
EP (1) EP0180005A3 (ja)
JP (1) JPS61109141A (ja)
CA (1) CA1223970A (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5018094A (en) * 1988-08-30 1991-05-21 Siemens Aktiengesellschaft Dual incrementer
JP2504149B2 (ja) * 1988-12-02 1996-06-05 三菱電機株式会社 命令キュ―管理装置
US4996474A (en) * 1989-07-31 1991-02-26 Hewlett-Packard Company Digital gate generation for a signal measurement instrument
US5504867A (en) * 1992-09-29 1996-04-02 Texas Instruments Incorporated High speed microprocessor branch decision circuit
US5689693A (en) * 1994-04-26 1997-11-18 Advanced Micro Devices, Inc. Range finding circuit for selecting a consecutive sequence of reorder buffer entries using circular carry lookahead
US5559975A (en) 1994-06-01 1996-09-24 Advanced Micro Devices, Inc. Program counter update mechanism
US5619441A (en) * 1994-10-14 1997-04-08 International Business Machines Corporation High speed dynamic binary incrementer
US5588127A (en) * 1995-06-07 1996-12-24 Texas Instruments Incorporated High speed microprocessor branch decision circuit
US6516335B1 (en) * 1998-09-03 2003-02-04 Agilent Technologies, Inc. Incrementer/decrementer having a reduced fanout architecture
US6591286B1 (en) 2002-01-18 2003-07-08 Neomagic Corp. Pipelined carry-lookahead generation for a fast incrementer

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3100836A (en) * 1960-02-24 1963-08-13 Ibm Add one adder
US3299260A (en) * 1963-08-06 1967-01-17 Ncr Co Parallel adder using majority decision elements
US3440412A (en) * 1965-12-20 1969-04-22 Sylvania Electric Prod Transistor logic circuits employed in a high speed adder
US3488481A (en) * 1966-04-20 1970-01-06 Fabri Tek Inc Parallel binary adder-subtractor without carry storage
US3465133A (en) * 1966-06-07 1969-09-02 North American Rockwell Carry or borrow system for arithmetic computations
US3511978A (en) * 1968-10-24 1970-05-12 Harry Margulius Parallel binary magnetic addition system by counting
JPS537349B2 (ja) * 1974-03-27 1978-03-16
JPS51113433A (en) * 1975-03-28 1976-10-06 Hitachi Ltd High speed adder
US3993891A (en) * 1975-07-03 1976-11-23 Burroughs Corporation High speed parallel digital adder employing conditional and look-ahead approaches
US4052604A (en) * 1976-01-19 1977-10-04 Hewlett-Packard Company Binary adder
JPS54159831A (en) * 1978-06-07 1979-12-18 Fujitsu Ltd Adder and subtractor for numbers different in data length using counter circuit
US4203157A (en) * 1978-09-05 1980-05-13 Motorola, Inc. Carry anticipator circuit and method
US4417315A (en) * 1981-07-14 1983-11-22 Rockwell International Corporation Method and apparatus for incrementing a digital word
US4525797A (en) * 1983-01-03 1985-06-25 Motorola, Inc. N-bit carry select adder circuit having only one full adder per bit

Also Published As

Publication number Publication date
JPS61109141A (ja) 1986-05-27
EP0180005A3 (en) 1989-04-05
CA1223970A (en) 1987-07-07
EP0180005A2 (en) 1986-05-07
US4685078A (en) 1987-08-04

Similar Documents

Publication Publication Date Title
US4754421A (en) Multiple precision multiplication device
EP0185215B1 (en) Forth-like language microprocessor
US4761760A (en) Digital adder-subtracter with tentative result correction circuit
US4037213A (en) Data processor using a four section instruction format for control of multi-operation functions by a single instruction
US4251860A (en) Virtual addressing apparatus employing separate data paths for segment and offset portions of a virtual address and utilizing only the offset portion to calculate virtual address
US3299261A (en) Multiple-input memory accessing apparatus
US4172288A (en) Binary or BCD adder with precorrected result
JPH0379736B2 (ja)
US5363322A (en) Data processor with an integer multiplication function on a fractional multiplier
US3997771A (en) Apparatus and method for performing an arithmetic operation and multibit shift
JPH0545982B2 (ja)
JPS5837883A (ja) メモリ・アドレシング装置
US5402368A (en) Computing unit and digital signal processor using the same
US5506800A (en) Self-checking complementary adder unit
US5291615A (en) Instruction pipeline microprocessor
EP0670061B1 (en) Enhanced fast multiplier
US3260840A (en) Variable mode arithmetic circuits with carry select
US4707783A (en) Ancillary execution unit for a pipelined data processing system
US5065353A (en) Adder control method and adder control circuit
EP0334131B1 (en) Data processor performing operation on data having length shorter than one-word length
EP0534760A2 (en) High speed multiplier device
US6470374B1 (en) Carry look-ahead for bi-endian adder
CN114365110B (zh) 重复使用相邻simd单元用于快速宽结果生成
US4443876A (en) Fast parity generation for find low order zero circuit
US5018092A (en) Stack-type arithmetic circuit