JPH0436416B2 - - Google Patents

Info

Publication number
JPH0436416B2
JPH0436416B2 JP60282418A JP28241885A JPH0436416B2 JP H0436416 B2 JPH0436416 B2 JP H0436416B2 JP 60282418 A JP60282418 A JP 60282418A JP 28241885 A JP28241885 A JP 28241885A JP H0436416 B2 JPH0436416 B2 JP H0436416B2
Authority
JP
Japan
Prior art keywords
bus
register
data
alu
address
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
JP60282418A
Other languages
English (en)
Other versions
JPS62140137A (ja
Inventor
Yuriko Fukuda
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.)
Toshiba Corp
Original Assignee
Tokyo Shibaura 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 Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP60282418A priority Critical patent/JPS62140137A/ja
Priority to EP86117406A priority patent/EP0226991B1/en
Priority to DE3650154T priority patent/DE3650154T2/de
Publication of JPS62140137A publication Critical patent/JPS62140137A/ja
Priority to US07/404,066 priority patent/US5125094A/en
Publication of JPH0436416B2 publication Critical patent/JPH0436416B2/ja
Granted legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48—Methods 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/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804—Details
    • G06F2207/386—Special constructional features
    • G06F2207/3868—Bypass control, i.e. possibility to transfer an operand unchanged to the output

Landscapes

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

Description

【発明の詳細な説明】 [発明の技術分野] 本発明は、CPUからの命令の処理に係わるも
ので、特にALUを用いてデータの保持を行なう
ためのデータ保持方法に関する。
[発明の技術的背景とその問題点] 一般に、CPUからの命令処理過程において、
ALUの果たす役割は以下の通りである。まず第
1に命令の論理演算、第2にフラグの変化のため
の演算、第3にアドレス設定のための演算等であ
る。なお、演算を行なう必要のないサイクルで
は、ALUには無意味なデータが存在している。
ところで、CPUの開発にあつては、限られた
内部バス、およびレジスタ等でいかに効率良く、
且つ実行サイクル数の少ない命令を実現するかが
課題となつている。しかし、現状ではテンポラリ
レジスタや内部バス等のハードウエアの追加なし
に効率良く命令を処理することはほぼ限界にあ
る。
[発明の目的] 本発明は上記のような事情に鑑みてなされたも
ので、その目的とするところは、ALUの無機能
サイクルを利用してこのALUにデータの保持機
能を持たせることによりハードウエアを追加する
ことなく、より効率の良い命令の処理を実現でき
るALUを用いたデータ保持方法を提供すること
である。
[発明の概要] すなわち、本発明においては、上記の目的を達
成するために、ALUが演算の必要のないサイク
ルでは全く機能しておらず、無意味なデータが存
在していることに着目し、このALUにデータの
保持を行なわせるようにしたもので、ALUの無
機能サイクル(空サイクル)にこのALUにデー
タをロードし、ALUによる演算結果が入力デー
タと同じになるようにALUのフアンクシヨンを
コントロールするようにしている。
[発明の実施例] 以下、本発明の一実施例について図面を参照し
て説明する。第1図は本発明方法を実現するにあ
たり必要となるハードウエア構成を示しており、
ここでは説明を簡単にするために必要な機能ブロ
ツクのみを抽出して示している。第1図に示すシ
ステムは、ALU11、8つの8ビツトレジスタ
20a,20b,21a,21b,22,23,
24a,24bおよび5本の内部バス12,1
4,15,17,19から構成されている。そし
て、アドレスは16ビツトから成り、上位8ビツト
は内部バスのBHバス12からAHバス13に出
力され、下位8ビツトは内部バスのBLバス14
またはBIバス15からALバス16に出力され
る。一方、データは8ビツトで、内部バスのBY
バス17からDBバス18へ出力され、このDB
バス18から内部バスのBYバス17あるいはBI
バス15に入力されるようになつている。
上記ALU11のX入力はBXバス19から、Y
入力はBYバス17からそれぞれ供給されるよう
になつており、このALU11の演算結果はBIバ
ス15あるいはBYバス17へ出力される。
上記8つの8ビツトレジスタ20a,20b,
21a,21b,22,23,24a,24bは
それぞれ、プログラムカウンタが2バイトでPHレ
ジスタ20a(上位バイト)とPLレジスタ20b
(下位バイト)、インクリメンタデクリメンタが2
バイトでIHレジスタ21a(上位バイト)とILレ
ジスタ21b(下位バイト)、汎用レジスタが2バ
イトでTレジスタ22とUレジスタ23、および
アドレス修飾レジスタが2バイトでXHレジスタ
24a(上位バイト)とXLレジスタ24b(下位
バイト)から成る。また、上記BXバス19と上
記BIバス15はEXIパス25によつて接続され
ており、上記BXバス19と上記BLバス14は
EXLパス26によつて接続されている。なお、
RBXパス27は、BXバス19のデータを全て零
(“00”)にするためのものである。
次に、AIM(And Immidiate Data)命令のイ
ンデツクスモードを例にとつて、本発明によるデ
ータ保持方法について説明する。この命令は、
RAMの内容とイミデイエイトデータとの論理積
を取り、その結果をRAMに格納するものであ
る。
すなわち、AIM命令は、 RAMのデータをアキユームレータに格納す
る。
アキユームレータのデータとイミデイエイト
データとの論理積を取り、その結果をアキユー
ムレータに格納する。
アキユームレータのデータをRAMに格納す
る。
という3つの命令をひとつにまとめた複合命令で
ある。通常、インデツクスモードの命令は2バイ
トから成り、1バイトめはオペレーシヨンコー
ド、2バイトめはインデツクスオフセツトデータ
というフオーマツトになつている。しかし、
AIM命令の場合は、イミデイエイトデータのオ
ペランドが1バイト増加して3バイト命令であ
る。従つて、このAIM命令でもインデツクスモ
ードの例にならつて2バイトめをインデツクスオ
フセツトデータとするのが自然であり、必然的に
3バイトめがイミデイエイトデータということに
なる。このフオーマツトに従い、本発明方法によ
るAIM命令の処理過程を説明する。なお、第2
図にこれから説明するサイクル1〜8の動作を概
略的な図として一括して示す。第2図において、
R/はリードモードからライトモードかを表す
もので、リードモードを1で、ライトモードを0
で、ライトモード以外を1で表わしている。具体
例にはサイクル1,2,3,5,8がリードモー
ド、サイクル4,6がライトモード以外、サイク
ル7がライトモードである。
サイクル1 オペレーシヨンコードに附随するアドレスが、
上位バイトはAHバス13を介してBHバス12
上に出力され、下位バイトはALバス16を介し
てBLバス14上に出力される。インクリメンタ
デクリメンタとして働くIHレジスタ21a、IL
レジスタ21bには、上記アドレスの上位バイト
がBHバス12からIHレジスタ21aに、BLバ
ス14からILレジスタ21bにそれぞれ読み込
まれ、これらIHレジスタ21aおよびILレジス
タ21bに読み込まれたアドレスデータが1イン
クリメントされる。
サイクル2 上記IHレジスタ21aおよびILレジスタ21
bに読み込まれて1インクリメントされたアドレ
スデータは、インデツクスオフセツトデータアド
レスとして、BHバス12、AHバス13および
BLバス14、ALバス16をそれぞれ介してメモ
リに供給される。これによつて、メモリからDB
バス18上にインデツクスオフセツトデータが読
み出される。その後、上記インデツクスオフセツ
トデータアドレスは、AHバス13、BHバス1
2およびALバス16、BLバス14を介してIH
レジスタ21a、ILレジスタ21bに読み込ま
れ、このインデツクスオフセツトデータアドレス
が1インクリメントされる。
サイクル3 前サイクル2でIHレジスタ21aおよびILレ
ジスタ21bに読み込まれ1インクリメントされ
たインデツクスオフセツトデータアドレスは、イ
ミデイエイトデータアドレスとしてBHバス1
2、AHバス13およびBLバス14、ALバス1
6をそれぞれ介してメモリに供給される。これに
よつて、DBバス18上にはメモリからイミデイ
エイトデータが読み出される。次に、RBXパス
27を介してBXバス19を“00”に設定して
ALU11のX入力として、前サイクル2でDBバ
ス18上に読み出したインデツクスオフセツトデ
ータをY入力としてBYバス17を介してALU1
1に供給し加算する。このALU11による演算
結果は、インデツクスオフセツトデータそのもの
である。従つて、このサイクル3では、ALU1
1はデータを保持するという機能を果たしている
ことになる。次に、上記メモリに供給したイミデ
イエイトデータアドレスが、AHバス13、BH
バス12を介して1Hレジスタ21aに、ALバス
16、BLバス14を介してILレジスタ21bに
それぞれ読み込まれ、これら1Hレジスタ21a
およびILレジスタ21bに読み込まれたイミデ
イエイトデータアドレスが1インクリメントされ
る。
サイクル4 前サイクル3でIHレジスタ21a、およびIL
レジスタ21bに読み込まれ1インクリメントさ
れたイミデイエイトデータアドレスが、次のオペ
レーシヨンコードアドレスとしてPHレジスタ20
a、PLレジスタ20bにそれぞれロードされる。
このロードされたアドレスは、AIM命令の実行
サイクルが終了し、次の命令をフエツチするサイ
クルまで保持される。前サイクル3でDBバス1
8上に読み出されたイミデイエイトデータは、
BIバス15を介してUレジスタ23に格納され
る。このイミデイエイトデータは、後述するサイ
クル6でRAMのデータとの論理積を取る時まで
保持される。次に、XLレジスタ24bに予め格
納されているデータがBHバス19を介してALU
11のX入力端に供給され、前サイクル3で
ALU11により得られた演算結果(インデツク
スオフセツトデータ)がBYバス17を介して
ALU11のY入力端に供給され、ALU11によ
り加算が実行される。XLレジスタ24bに予め
格納されているデータがBXバス19、EXLパス
26およびBLバス14を介してILレジスタ21
bに格納される。XHレジスタ24aに予め格納
されているデータがBHバス12を介してTレジ
スタ22およびIHレジスタ21aに格納される。
そして、上位1バイトの1Hレジスタ21aデー
タのみが1インクリメント(第2図ではこれを
“+1(H)”と表記している)される。
サイクル5 前サイクル4におけるALU11の演算結果が
BIバス15、ALバス16を介してメモリに供給
される。この演算結果は、RAMデータのアドレ
スの下位バイトとなつている。前サイクル4にお
けるALU11の演算結果にキヤリーがあれば、
RAMデータのアドレスの上位バイトはIHレジス
タ21aからBHバス12に出力され、キヤリー
がなければTレジスタ22からBHバス12に出
力され、AHバス13を介してメモリに供給され
る。これによつて、DBバス18上には、メモリ
の中の上記RAMアドレスに対応するRAMから
データが読み出される。そして、IHレジスタ2
aにはAHバス13、BHバス12を介して、IL
レジスタ21bにはALバス16、BIバス15を
介して、上記RAMデータのアドレスが読み込ま
れ、このアドレスが保持される。
サイクル6 前サイクル5で1Hレジスタ21a、ILレジス
タ21bに格納されているRAMデータのアドレ
スがBHバス12、BLバス14上にそれぞれ出
力される。また、前サイクル5でDBバス18上
に読み出されたRAMのデータは、BIバス15、
EXIパス25、BXバス19を介してALU11の
X入力端に供給される。一方、Uレジスタ23に
格納されているイミデイエイトデータは、BYバ
ス17を介してALU11のY入力端に供給され、
ALU11により論理積の演算が実行される。上
記BHバス12、BLバス14上のRAMデータの
アドレスは、IHレジスタ21a、ILレジスタ2
1bに再び読み込まれ、このアドレスが保持され
る。
サイクル7 上記IHレジスタ21a、ILレジスタ21bに
格納されたRAMのデータのアドレスがBHバス
12、BLバス14上に出力され、AHバス13、
ALバス16をそれぞれ介してメモリに供給され
る。また、前サイクル6におけるALU11の演
算結果が、BYバス17、DBバス18をそれぞ
れ介して、上記IHレジスタ21a、ILレジスタ
21bから出力されたRAMアドレスに対応する
メモリ中のRAMに書き込まれる。
上述したサイクル1〜7でAIM命令の実行が
終了する。
サイクル8 プログラムカウンタとして働くPHレジスタ20
a、PLレジスタ20bに格納されているデータ
が、次の命令のオペレーシヨンコードアドレスと
して上位バイトはBHバス12に、下位バイトは
BLバス14に出力される。
上述したように、本発明ではALU11にデー
タ保持の機能を持たせているので、AIM命令の
実行サイクル数は7で済む。もし、本発明の方法
を使用せず現状のハードウエアで「オペレーシヨ
ンコード+インデツクスオフセツトデータ+イミ
デイエイトデータ」のフオーマツトでAIM命令
を実行すると、汎用レジスタをRAMに求めてデ
ータを保持することになり、実行サイクル数は12
となる。すなわち、この場合にはオフセツトデー
タを一時退避するときに、RAMのスタツクエリ
アを使用する。このためのアドレスポインタとし
て例えば第3図に示すようにスタツクポインタ
(SHレジスタ30a、SLレジスタ30b)が必
要となる。第3図において上記第1図と同一構成
部には同じ符号を付してその詳細な説明は省略す
る。第4図は、上記第3図に示した回路の動作を
概略的な図として一括して示すものであり、上記
第3図と同様に表現している。
上述したように、本発明によれば、ハードウエ
アを追加することなく、より効率の良い命令の処
理を実行できる。
なお、AIM命令のフオーマツトを「オペレー
シヨンコード+イミデイエイトデータ+インデツ
クスオフセツトデータ」の順に変更することによ
り、実行サイクル数が7で処理を実行できるが、
インデツクスモードの命令は前述したように通常
2バイトから成り、1バイトめはオペレーシヨン
コード、2バイトめはインデツクスオフセツトデ
ータというフオーマツトになつているので、オペ
レーシヨンコードとインデツクスオフセツトデー
タとの間にイミデイエイトデータが入るフオーマ
ツトは、インデツクスモードのフオーマツトとし
ては例外的な存在となり、プログラムの際の混乱
を招く恐れがあるので好ましくはない。
[発明の効果] 以上説明したように本発明によれば、ALUの
無機能サイクルを利用してこのALUにデータの
保持機能を持たせることにより、ハードウエアを
追加することなく、より効率の良い命令の処理を
実現できるALUを用いたデータ保持方法が得ら
れる。
【図面の簡単な説明】
第1図は本発明の一実施例に係わるALUを用
いたデータ保持方式について説明するための図、
第2図は上記第1図の回路の動作を説明するため
の図、第3図は従来のAIM命令の実行について
説明するための図、第4図は上記第3図の回路の
動作を説明するための図である。 11……ALU、12……BHバス、13……
AHバス、14……BLバス、15……BIバス、
16……ALバス、17……BYバス、18……
DBバス、19……BXバス、20a……PHレジ
スタ、20b……PLレジスタ、21a……IHレ
ジスタ、21b……ILレジスタ、22……Tレ
ジスタ、23……Uレジスタ、24a……XHレ
ジスタ、24b……XLレジスタ、25……EXI
パス、26……EXLパス、27……RBXパス。

Claims (1)

    【特許請求の範囲】
  1. 1 CPUの命令処理過程において、ALUがCPU
    の命令を実行していない無機能サイクルに、
    ALUの第1入力に演算データとして零を供給す
    ると共に第2入力に保持対象の入力データを供給
    し、上記ALUで演算結果が上記入力データと同
    一になる演算を行ない、上記ALUの演算結果を
    出力することによつて、上記入力データを上記
    ALUの無機能サイクル期間中保持することを特
    徴とするデータ保持方法。
JP60282418A 1985-12-16 1985-12-16 Aluを用いたデータ保持方法 Granted JPS62140137A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP60282418A JPS62140137A (ja) 1985-12-16 1985-12-16 Aluを用いたデータ保持方法
EP86117406A EP0226991B1 (en) 1985-12-16 1986-12-15 Data-processing device
DE3650154T DE3650154T2 (de) 1985-12-16 1986-12-15 Datenverarbeitendes Gerät.
US07/404,066 US5125094A (en) 1985-12-16 1989-09-08 Apparatus for using an ALU as a temporary storage for data during an otherwise idle cycle of the ALU

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60282418A JPS62140137A (ja) 1985-12-16 1985-12-16 Aluを用いたデータ保持方法

Publications (2)

Publication Number Publication Date
JPS62140137A JPS62140137A (ja) 1987-06-23
JPH0436416B2 true JPH0436416B2 (ja) 1992-06-16

Family

ID=17652150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60282418A Granted JPS62140137A (ja) 1985-12-16 1985-12-16 Aluを用いたデータ保持方法

Country Status (4)

Country Link
US (1) US5125094A (ja)
EP (1) EP0226991B1 (ja)
JP (1) JPS62140137A (ja)
DE (1) DE3650154T2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07113884B2 (ja) * 1985-12-28 1995-12-06 株式会社東芝 論理回路
IT1247640B (it) * 1990-04-26 1994-12-28 St Microelectronics Srl Operazioni booleane tra due qualsiasi bit di due qualsiasi registri
US5625557A (en) * 1995-04-28 1997-04-29 General Motors Corporation Automotive controller memory allocation
US6367003B1 (en) 1998-03-04 2002-04-02 Micron Technology, Inc. Digital signal processor having enhanced utilization of multiply accumulate (MAC) stage and method
US6175911B1 (en) * 1998-08-21 2001-01-16 Advanced Micro Devices, Inc. Method and apparatus for concurrently executing multiplication and iterative operations
US6791564B1 (en) 2000-05-05 2004-09-14 Ipfirst, Llc Mechanism for clipping RGB value during integer transfer
US6785847B1 (en) * 2000-08-03 2004-08-31 International Business Machines Corporation Soft error detection in high speed microprocessors
CN100350389C (zh) * 2003-10-24 2007-11-21 英特尔公司 用于检测软错误的方法、设备和处理器
US8250337B2 (en) * 2006-04-28 2012-08-21 Qualcomm Incorporated Array processor with two parallel processing paths of multipliers and ALUs with idle operation capability controlled by portions of opcode including indication of valid output

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3818202A (en) * 1973-02-20 1974-06-18 Sperry Rand Corp Binary bypassable arithmetic linear module
US4155118A (en) * 1977-09-20 1979-05-15 Burroughs Corporation Organization for an integrated circuit calculator/controller
JPS5654546A (en) * 1979-10-08 1981-05-14 Hitachi Ltd Arithmetic device

Also Published As

Publication number Publication date
JPS62140137A (ja) 1987-06-23
DE3650154D1 (de) 1995-01-12
EP0226991A2 (en) 1987-07-01
US5125094A (en) 1992-06-23
EP0226991A3 (en) 1990-01-10
DE3650154T2 (de) 1995-04-06
EP0226991B1 (en) 1994-11-30

Similar Documents

Publication Publication Date Title
US7206924B2 (en) Microcontroller instruction set
US8539210B2 (en) Context switching with automatic saving of special function registers memory-mapped to all banks
US4255785A (en) Microprocessor having instruction fetch and execution overlap
JPH0827716B2 (ja) データ処理装置及びデータ処理方法
US7996651B2 (en) Enhanced microprocessor or microcontroller
JPH0414385B2 (ja)
JPH0673105B2 (ja) 命令パイプライン方式のマイクロプロセッサ
JPS62140137A (ja) Aluを用いたデータ保持方法
JP2685245B2 (ja) プログラマブルコントローラ
JPS6212529B2 (ja)
EP0361497B1 (en) Program/data memory employed in microcomputer system
JP2883488B2 (ja) 命令処理装置
JPS622332B2 (ja)
JPS6226728B2 (ja)
JPS63163634A (ja) 命令フエツチ方式
JP2781779B2 (ja) 分岐制御回路
JPH02100142A (ja) 任意のレジスタ退避、復帰方式
JPS59165143A (ja) デ−タ処理装置
JPS6217840A (ja) 属性フラグによるマイクロプログラム制御方式
JPH0364903B2 (ja)
JPH0399321A (ja) 命令制御方式
JPS61123937A (ja) データ処理装置のデータ駆動型制御方式
JPH01196639A (ja) 情報処理装置
US20120246445A1 (en) Central processing unit and microcontroller
JPH03257572A (ja) マルチプロセッサシステム

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term