JPH02285426A - マイクロプロセツサおよびフオーマット変換方法 - Google Patents
マイクロプロセツサおよびフオーマット変換方法Info
- Publication number
- JPH02285426A JPH02285426A JP2084796A JP8479690A JPH02285426A JP H02285426 A JPH02285426 A JP H02285426A JP 2084796 A JP2084796 A JP 2084796A JP 8479690 A JP8479690 A JP 8479690A JP H02285426 A JPH02285426 A JP H02285426A
- Authority
- JP
- Japan
- Prior art keywords
- data
- format
- memory
- bits
- data item
- 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.)
- Pending
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 title claims description 15
- 230000008878 coupling Effects 0.000 abstract 1
- 238000010168 coupling process Methods 0.000 abstract 1
- 238000005859 coupling reaction Methods 0.000 abstract 1
- 239000011159 matrix material Substances 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 230000005669 field effect Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 2
- 241001397104 Dima Species 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 235000009508 confectionery Nutrition 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 101150090341 dst1 gene Proteins 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- UPBAOYRENQEPJO-UHFFFAOYSA-N n-[5-[[5-[(3-amino-3-iminopropyl)carbamoyl]-1-methylpyrrol-3-yl]carbamoyl]-1-methylpyrrol-3-yl]-4-formamido-1-methylpyrrole-2-carboxamide Chemical compound CN1C=C(NC=O)C=C1C(=O)NC1=CN(C)C(C(=O)NC2=CN(C)C(C(=O)NCCC(N)=N)=C2)=C1 UPBAOYRENQEPJO-UHFFFAOYSA-N 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/768—Data position reversal, e.g. bit reversal, byte swapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30025—Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Memory System (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は半導体マイクロプロセッサの分野に関する。
本発明は、マイクロプロセッサのアーキテクチャ内で実
現できるようなバイトスワップ命令を扱うものである。
現できるようなバイトスワップ命令を扱うものである。
本発明と共に利用されるマイクロプロセッサは、486
”プロセッサと呼ばれることが多いfatel 804
86 マイクロプロセッサである。486プロセツサ
は、同様に386 プロセッサと呼ばれている工nts
+180386 マイクロプロセッサの改良バージ
ョンである。(Int・1゜80386 、386 、
80488及び486はfatel Corporat
ion の商標である。) 一般に、情報は、通常8ビツト長から64ビツト長まで
の範囲内で変化するデータ構造で、マイクロプロセッサ
システムのメモリに記憶される。
”プロセッサと呼ばれることが多いfatel 804
86 マイクロプロセッサである。486プロセツサ
は、同様に386 プロセッサと呼ばれている工nts
+180386 マイクロプロセッサの改良バージ
ョンである。(Int・1゜80386 、386 、
80488及び486はfatel Corporat
ion の商標である。) 一般に、情報は、通常8ビツト長から64ビツト長まで
の範囲内で変化するデータ構造で、マイクロプロセッサ
システムのメモリに記憶される。
486マイクロプロセツサの場合、「語」は16ビツト
幅で6シ、倍長路、すなわち+ rd語」 は32ビッ
ト幅であると規定されている。語は2つの連続する8ビ
ツトバイトとしてメモリに記憶されるが、その際、下位
のバイトは最下位アドレスに位置し、上位のバイ゛トは
上位のアドレスに位置している。alFIは4つの連続
するバイトとしてメモリに記憶され、下位のバイトは最
下位のアドレスに位置し、上位のバイトは最上位アドレ
スに位置している。マイクロプロセッサ内の語データ項
目又はd語データ項目のアドレスは、最下位バイトのバ
イトアドレスである。この種のアドレス指定は、特にd
語データ項目に関して、1バイトより長いデータの型を
記憶する丸めの「小エンジアン」方法として知られてい
る。IntelのX86シリーズのマイクロプロセッサ
は、全て、データの型を記憶する丸めに小エンジアン方
法を採用している。
幅で6シ、倍長路、すなわち+ rd語」 は32ビッ
ト幅であると規定されている。語は2つの連続する8ビ
ツトバイトとしてメモリに記憶されるが、その際、下位
のバイトは最下位アドレスに位置し、上位のバイ゛トは
上位のアドレスに位置している。alFIは4つの連続
するバイトとしてメモリに記憶され、下位のバイトは最
下位のアドレスに位置し、上位のバイトは最上位アドレ
スに位置している。マイクロプロセッサ内の語データ項
目又はd語データ項目のアドレスは、最下位バイトのバ
イトアドレスである。この種のアドレス指定は、特にd
語データ項目に関して、1バイトより長いデータの型を
記憶する丸めの「小エンジアン」方法として知られてい
る。IntelのX86シリーズのマイクロプロセッサ
は、全て、データの型を記憶する丸めに小エンジアン方
法を採用している。
マイクロプロセッサのメモリの中にデータの型を記憶す
る別の方法は、「大エンジアン」方法と呼ばれている。
る別の方法は、「大エンジアン」方法と呼ばれている。
大エンジアン方法では、データは、上位のビットが最下
位アドレスのバイトに位置するように記憶される。この
ように、大エンジアンフォーマットは対応する小エンジ
アンフォーマットとは逆になる。2つのフォーマットの
相違点は、単に、複数バイト量のどのバイトが最下位ア
ドレスに割当てられ、どのバイトが最上位アドレスに割
当てられるかということでらる。大エンジアンフォーマ
ットにおいては、その名前が示す通り、大きなバイトが
最初に来る。すなわち、上位のビットが下位アドレスに
おる。大エンジアンメモリフォーマットはIBMの37
0シリーズのコンビュ−夕と、Motorola、In
c製の68000シリーズのマイクロプロセッサによシ
採用されている。さらに、R工SCプロセッサの多くの
大エンジアンフォーマットを使用している。
位アドレスのバイトに位置するように記憶される。この
ように、大エンジアンフォーマットは対応する小エンジ
アンフォーマットとは逆になる。2つのフォーマットの
相違点は、単に、複数バイト量のどのバイトが最下位ア
ドレスに割当てられ、どのバイトが最上位アドレスに割
当てられるかということでらる。大エンジアンフォーマ
ットにおいては、その名前が示す通り、大きなバイトが
最初に来る。すなわち、上位のビットが下位アドレスに
おる。大エンジアンメモリフォーマットはIBMの37
0シリーズのコンビュ−夕と、Motorola、In
c製の68000シリーズのマイクロプロセッサによシ
採用されている。さらに、R工SCプロセッサの多くの
大エンジアンフォーマットを使用している。
プログラマ−は、データメモリフォーマットを組合せて
データベースを形成することを望む場合が非常に多い。
データベースを形成することを望む場合が非常に多い。
また、整数データを大エンジアンフォーマットを記憶し
ている1つのコンピュータから、整数データを小エンジ
アンフォーマットで記憶する別のコンピュータへ、ネッ
トワークを介してデータを送信したいと考えることも多
い。従って、ある時点で、一方のメモリフォーマットで
記憶されているデータを他方のメモリフォーマットに変
換するために、変換を実行する必要がおる。
ている1つのコンピュータから、整数データを小エンジ
アンフォーマットで記憶する別のコンピュータへ、ネッ
トワークを介してデータを送信したいと考えることも多
い。従って、ある時点で、一方のメモリフォーマットで
記憶されているデータを他方のメモリフォーマットに変
換するために、変換を実行する必要がおる。
16ビツトm境においては、メモリフォーマット間の変
換は簡単でおる。マイクロプロセッサ内では、8ビツト
レジスタを単に回転、すなわち交換するために、一般に
いくつかの命令を利用することができる。言いかえれば
、16ビツトデータ項目を形成する8ビツト量を簡単に
スワップする。
換は簡単でおる。マイクロプロセッサ内では、8ビツト
レジスタを単に回転、すなわち交換するために、一般に
いくつかの命令を利用することができる。言いかえれば
、16ビツトデータ項目を形成する8ビツト量を簡単に
スワップする。
すなわち、交換することが可能である。
さらに多くの数のビット、すなわち、32ビツト量又は
64ビツト量のバイトスワップには、問題が多い。たと
えば、従来のマイクロプロセッサが32ビツト項目につ
いてこのバイトスワップ動作を実行すると考えられる方
法の1つは、まず、下位の2つのバイトのバイトスワッ
プを実行し、次に16だけ回転させ、さらに、残る2つ
のバイトについて2回目のバイトスワップを実行するこ
とから成る。従って、1回の変換を実行するために、3
つの別個の命令が必要でめる。それぞれの命令は実現に
2つのクロックを要するので、変換全体としては、合わ
せて6つのクロックを必要とする。また、それぞれの命
令は一般に2バイトから3バイトの長さを有するので、
これら3つの回転命令のために、例えば、約9つの命令
バイトという大量のコードを発生させなければならない
。
64ビツト量のバイトスワップには、問題が多い。たと
えば、従来のマイクロプロセッサが32ビツト項目につ
いてこのバイトスワップ動作を実行すると考えられる方
法の1つは、まず、下位の2つのバイトのバイトスワッ
プを実行し、次に16だけ回転させ、さらに、残る2つ
のバイトについて2回目のバイトスワップを実行するこ
とから成る。従って、1回の変換を実行するために、3
つの別個の命令が必要でめる。それぞれの命令は実現に
2つのクロックを要するので、変換全体としては、合わ
せて6つのクロックを必要とする。また、それぞれの命
令は一般に2バイトから3バイトの長さを有するので、
これら3つの回転命令のために、例えば、約9つの命令
バイトという大量のコードを発生させなければならない
。
別の方法は、メモリフォーマットの変換をマイクロコー
ドにより連続するステップで実行させるものであると考
えられるが、マイクロコードを使用すると、6つ以上の
クロックが必要になると共に、命令バイトの数も多くな
ってしまうであろう。
ドにより連続するステップで実行させるものであると考
えられるが、マイクロコードを使用すると、6つ以上の
クロックが必要になると共に、命令バイトの数も多くな
ってしまうであろう。
このため、従来の機械で大エンジアンから小エンジアン
へ、又は小エンジアンから大エンジアンへのメモリフォ
ーマット変換を実行するときには、相当な量の内部メモ
リスペースが必要になり、また、性能の著しい低下は免
れない。
へ、又は小エンジアンから大エンジアンへのメモリフォ
ーマット変換を実行するときには、相当な量の内部メモ
リスペースが必要になり、また、性能の著しい低下は免
れない。
RISCプロセッサのいくつかで採用されている別の方
法は「ピンストラッピング」と呼ばれる。
法は「ピンストラッピング」と呼ばれる。
ピンストラッピングを構成するのは、マイクロプロセッ
サを収容しているプリント回路にハードワイヤードされ
ている単なるスタティックスイッチであるにすぎない。
サを収容しているプリント回路にハードワイヤードされ
ている単なるスタティックスイッチであるにすぎない。
ピンストラップオプションは、コンピュータに、メモリ
を1つの方式又は別の方式で、すなわち、大エンジアン
フォーマット又は小エンジアンフォーマットで、強制的
に処理させる。このハードワイヤード方法は、静的であ
るために、マイクロプロセッサ又はユーザーによる動的
なプログラミング又は制御が不可能であるという明らか
な欠点を有する。
を1つの方式又は別の方式で、すなわち、大エンジアン
フォーマット又は小エンジアンフォーマットで、強制的
に処理させる。このハードワイヤード方法は、静的であ
るために、マイクロプロセッサ又はユーザーによる動的
なプログラミング又は制御が不可能であるという明らか
な欠点を有する。
以下の説明かられかるように、本発明は、このような従
来の方法に代えて、大量ンジアンd語を小エンジアンフ
ォーマットに変換することができル単一ノハイドスワッ
プ命令を使用する。この命令は、ハードウェアを余分に
追加したシ、性能をそこなわせたシすることなく、2つ
のフォーマットの間の変換を急速に実行させる。大エン
ジアンデータを大量に利用するプログラムに関して、4
86プロセツサ(たとえば、小エンジアン機械)で実行
したときに、約10%のスピードアップが得られること
が報告されている。
来の方法に代えて、大量ンジアンd語を小エンジアンフ
ォーマットに変換することができル単一ノハイドスワッ
プ命令を使用する。この命令は、ハードウェアを余分に
追加したシ、性能をそこなわせたシすることなく、2つ
のフォーマットの間の変換を急速に実行させる。大エン
ジアンデータを大量に利用するプログラムに関して、4
86プロセツサ(たとえば、小エンジアン機械)で実行
したときに、約10%のスピードアップが得られること
が報告されている。
32ビツトのデータ型についてその場でのバイトスワッ
プを実行するために最適化された特殊化マイクロプロセ
ッサ命令を説明する。このバイトスワップ動作は、大エ
ンジアンメモリフォーマットで記憶されたデータを小エ
ンジアンメモリフォーマットに変換するとき又はその逆
の変換を実行するときに特に有用である。本発明は、1
つ又は複数Q人カパスからのデータを出力パスに選択的
に結合する複数のマルチプレクサを含む変形されたバレ
ルシフタを具備する。データバスの個々のビット線の結
合は、入力バスのビット0〜7.8〜15.16〜23
及び24〜31が対応するビット24〜31.16〜2
3,8〜15及びO〜7にそれぞれ結合されるように配
列されている。
プを実行するために最適化された特殊化マイクロプロセ
ッサ命令を説明する。このバイトスワップ動作は、大エ
ンジアンメモリフォーマットで記憶されたデータを小エ
ンジアンメモリフォーマットに変換するとき又はその逆
の変換を実行するときに特に有用である。本発明は、1
つ又は複数Q人カパスからのデータを出力パスに選択的
に結合する複数のマルチプレクサを含む変形されたバレ
ルシフタを具備する。データバスの個々のビット線の結
合は、入力バスのビット0〜7.8〜15.16〜23
及び24〜31が対応するビット24〜31.16〜2
3,8〜15及びO〜7にそれぞれ結合されるように配
列されている。
それぞれのマルチプレクサに接続する制御線は、バイト
スワップ動作を制御する手段を構成する。
スワップ動作を制御する手段を構成する。
ここで説明するバイトスワップ命令によれば、プログラ
マ−は、従来のマイクロプロセッサに関連して生じてい
た性能の低下を招くことなく、ブータラ大エンジアンメ
モリフォーマットかう小エンジアンデータフォーマット
に変換し、また、元の大エンジアンフォーマットに戻す
ことができる。
マ−は、従来のマイクロプロセッサに関連して生じてい
た性能の低下を招くことなく、ブータラ大エンジアンメ
モリフォーマットかう小エンジアンデータフォーマット
に変換し、また、元の大エンジアンフォーマットに戻す
ことができる。
さらに、この命令は、1つで、変換を実行するために唯
一つの実行うロックサイクルしか必要とせず、3つの命
令と、6つのクロックとを通常要求する従来のマイクロ
プロセッサとは対照的である。
一つの実行うロックサイクルしか必要とせず、3つの命
令と、6つのクロックとを通常要求する従来のマイクロ
プロセッサとは対照的である。
本発明は、以下に挙げる本発明の好ましい実施例の詳細
な説明及びそれを示す添付の図面からさらに十分に理解
されるであろう。ただし、以下の説明及び添付の図面は
本発明を特定の実施例に限定するものと解釈されてはな
らず、単に説明と、理解を助けるためにのみ提示される
にすぎない。
な説明及びそれを示す添付の図面からさらに十分に理解
されるであろう。ただし、以下の説明及び添付の図面は
本発明を特定の実施例に限定するものと解釈されてはな
らず、単に説明と、理解を助けるためにのみ提示される
にすぎない。
メモリデータ7オーマツトを1つの型から別の型に変換
するバイトスワップ命令を含むマイクロプロセッサを説
明する。以下の説明中、本発明を完全に理解させるため
に、ビット長さなどの多数の事項を詳細に特定して挙げ
るが、本発明の実施に際して、そのような詳細な特定の
事項を使用する必要はないことは当業者には自明であろ
う。また、場合によっては、本発明を無用にわかりにく
くするのを避ける丸め、周知の構造や回路を詳細に示さ
ないこともある。
するバイトスワップ命令を含むマイクロプロセッサを説
明する。以下の説明中、本発明を完全に理解させるため
に、ビット長さなどの多数の事項を詳細に特定して挙げ
るが、本発明の実施に際して、そのような詳細な特定の
事項を使用する必要はないことは当業者には自明であろ
う。また、場合によっては、本発明を無用にわかりにく
くするのを避ける丸め、周知の構造や回路を詳細に示さ
ないこともある。
第1図は、32ビツトの長さを有するd語に関して、大
エンジアンメモリフォーマットと、小エンジアンメモリ
フォーマットとの相違を示す。第1図には、小エンジア
ンメモリフォーマットと、大エンジアンメモリフォーマ
ットの双方について、下位ビットを0番のビットとし、
上位のビットを31番のビットとし、上から順にメモリ
アドレスに番号付けした32ピツトのデータを示してい
る。
エンジアンメモリフォーマットと、小エンジアンメモリ
フォーマットとの相違を示す。第1図には、小エンジア
ンメモリフォーマットと、大エンジアンメモリフォーマ
ットの双方について、下位ビットを0番のビットとし、
上位のビットを31番のビットとし、上から順にメモリ
アドレスに番号付けした32ピツトのデータを示してい
る。
図示する通シ、各32ピツ)d語は、第1図では大文字
のA〜Dによって表示されている4つの8ビツトバイト
に分割される。小エンジアンメそりフォーマットでは、
d@はメモリに4つの連続するバイトとして記憶され、
そのうち下位のバイトは最下位のアドレスに位置し、上
位のバイトは最上位のアドレスに位置している。このこ
とは、第1図には、小エンジアンメモリフォーマットに
おいて、ビットO〜7がメモリアドレスMに記憶され、
ビット8〜15はメモリアドレスM+1に記憶され、ビ
ット16〜22はメそリアドレスM+2に記憶され、ビ
ット24〜31はメモリアドレスM+3に記憶される形
態として示されている。
のA〜Dによって表示されている4つの8ビツトバイト
に分割される。小エンジアンメそりフォーマットでは、
d@はメモリに4つの連続するバイトとして記憶され、
そのうち下位のバイトは最下位のアドレスに位置し、上
位のバイトは最上位のアドレスに位置している。このこ
とは、第1図には、小エンジアンメモリフォーマットに
おいて、ビットO〜7がメモリアドレスMに記憶され、
ビット8〜15はメモリアドレスM+1に記憶され、ビ
ット16〜22はメそリアドレスM+2に記憶され、ビ
ット24〜31はメモリアドレスM+3に記憶される形
態として示されている。
小エンジアンフォーマットによるd語データ項目のアド
レスは、最下位のバイトのバイトアドレス(たとえば、
メモリアドレス1M」)である。
レスは、最下位のバイトのバイトアドレス(たとえば、
メモリアドレス1M」)である。
大エンジアンメモリデータフォーマットによれば、ビッ
トは逆の順序で配列される。すなわち、大エンジアンデ
ータは、上位ビットが最上位のアドレスバイトにあり、
最下位ビットは最上位のメそリアドレスバイトになるよ
うな形で記憶される。
トは逆の順序で配列される。すなわち、大エンジアンデ
ータは、上位ビットが最上位のアドレスバイトにあり、
最下位ビットは最上位のメそリアドレスバイトになるよ
うな形で記憶される。
従って、第1図に示すように、ビット0〜Tはメモリア
ドレスM+3に記憶され、ビット8〜15はメモリアド
レスM+2に記憶され、ビット16〜23はメモリアド
レスM+1に記憶され、ビット24〜31はメモリアド
レスMに記憶される。
ドレスM+3に記憶され、ビット8〜15はメモリアド
レスM+2に記憶され、ビット16〜23はメモリアド
レスM+1に記憶され、ビット24〜31はメモリアド
レスMに記憶される。
大エンジアンメモリフォーマットによるdaデタ項目の
アドレスは、最上位のバイトのアドレスである。
アドレスは、最上位のバイトのアドレスである。
大エンジアンメモリフォーマットから小エンジアンメモ
リフォーマットへの変換を実行するためには、次のプロ
セスが起こらなければならない。
リフォーマットへの変換を実行するためには、次のプロ
セスが起こらなければならない。
まず、データ項目をメモリから内部レジスタに移す。次
に、大エンジアンフォーマットのビット24〜31に対
応するバイトAを、ビットO〜7に対応するパイ)Dの
内容へ転送する、すなわち、バイトDとスワップするこ
とが必要である。同様に、バイトBをバイトCとスワラ
プレなければならない。このバイトスワップ動作は、好
ましい″S、施例では、マイクロプロセッサの整数実行
装置の内部に配置されたバレルシフタを使用して実行さ
れる。
に、大エンジアンフォーマットのビット24〜31に対
応するバイトAを、ビットO〜7に対応するパイ)Dの
内容へ転送する、すなわち、バイトDとスワップするこ
とが必要である。同様に、バイトBをバイトCとスワラ
プレなければならない。このバイトスワップ動作は、好
ましい″S、施例では、マイクロプロセッサの整数実行
装置の内部に配置されたバレルシフタを使用して実行さ
れる。
最後に、スワップしたデータ項目を一時ラッチ又はレジ
スタにランチし、続いて、メモリ内の転送元/宛先レジ
スタに戻して書込む。
スタにランチし、続いて、メモリ内の転送元/宛先レジ
スタに戻して書込む。
次に、第2図に関して説明する。第2図には、本発明の
バイトスワップ命令を実現するために利用されるバレル
シフタを通過するデータの流れがブロック線図で示され
ている。バレルシフタ20は当該技術では一般に広く知
られている装置であり、多くのマイクロプロセッサに通
常は設けられている。バレルシフタ20は、1飴分のデ
ータを1回の動作で位置N個だけシフト/回転させるこ
とができる。尚、Nは0から語のサイズまでの範囲にあ
る。通常、バレルシフタ20は多様な動作に使用される
。九とえは、シフト命令9囲転命令。
バイトスワップ命令を実現するために利用されるバレル
シフタを通過するデータの流れがブロック線図で示され
ている。バレルシフタ20は当該技術では一般に広く知
られている装置であり、多くのマイクロプロセッサに通
常は設けられている。バレルシフタ20は、1飴分のデ
ータを1回の動作で位置N個だけシフト/回転させるこ
とができる。尚、Nは0から語のサイズまでの範囲にあ
る。通常、バレルシフタ20は多様な動作に使用される
。九とえは、シフト命令9囲転命令。
ビット走査などの目的で、バレルシフタ2oを使用する
。
。
本発明のマイクロプロセッサにおいテハ、バレルシフタ
20は2つの部分、すなわち、マトリクス素子23と、
トリー24とから構成される。マトリクス23は、ds
ma 、 dumbとそれぞれラベル付けされている3
2ビツトバス21及び22を介して、データ入力を受信
する。一般に、バス21を介して供給されるデータはバ
ス22を介して供給されるデータと同一である。これに
よって、データの急速な回転、すなわち、シフトは、後
述するように、容易になる。マトリクス23はそれらの
データ入力を受信し、ニブル細分方式でシフト動作を実
行する(すなわち、データは、40倍数ずつシフトされ
るり。このようにして、データは、当初、シフト動作の
第1段階では、4の倍数(たとえば、4,8,12.1
6等々)ずつシフトされることになる。4より小さいい
ずれかの数(す彦わち、0〜3)の追加シフトは、トリ
ー24で実行される。マトリクス23は、DsTとラベ
ル付けされたバス25を介して、トリー24に供給され
ている。) IJ −24は、DSLとラベル付けされ
た32ビツトパス26を介して、出力をALU出カシカ
レジスタ2フ給する。
20は2つの部分、すなわち、マトリクス素子23と、
トリー24とから構成される。マトリクス23は、ds
ma 、 dumbとそれぞれラベル付けされている3
2ビツトバス21及び22を介して、データ入力を受信
する。一般に、バス21を介して供給されるデータはバ
ス22を介して供給されるデータと同一である。これに
よって、データの急速な回転、すなわち、シフトは、後
述するように、容易になる。マトリクス23はそれらの
データ入力を受信し、ニブル細分方式でシフト動作を実
行する(すなわち、データは、40倍数ずつシフトされ
るり。このようにして、データは、当初、シフト動作の
第1段階では、4の倍数(たとえば、4,8,12.1
6等々)ずつシフトされることになる。4より小さいい
ずれかの数(す彦わち、0〜3)の追加シフトは、トリ
ー24で実行される。マトリクス23は、DsTとラベ
ル付けされたバス25を介して、トリー24に供給され
ている。) IJ −24は、DSLとラベル付けされ
た32ビツトパス26を介して、出力をALU出カシカ
レジスタ2フ給する。
次に、第3図Aから第3図りに関して説明する。
これらの図には、本発明の一般に好ましい実施例で利用
するバレルシフタ2oの詳細な回路図が示されている。
するバレルシフタ2oの詳細な回路図が示されている。
バレルシフタ2oは、dimaバス21と、d smb
バス22とにそれぞれ結合された複数の垂直データ入力
線を含む。それらのデータ入力線は、図では、個々のビ
ット線DSMAO〜31及びDSMBO〜31 から構
成されるものとして示されている。各ビット線は複数の
4×4マルチプレクサの入力端子に結合される。たとえ
ば、damb3iは、マルチプレクサ42〜49014
入力端子に結合されている。
バス22とにそれぞれ結合された複数の垂直データ入力
線を含む。それらのデータ入力線は、図では、個々のビ
ット線DSMAO〜31及びDSMBO〜31 から構
成されるものとして示されている。各ビット線は複数の
4×4マルチプレクサの入力端子に結合される。たとえ
ば、damb3iは、マルチプレクサ42〜49014
入力端子に結合されている。
第3図A〜第3図りには、複数の水平データ出力線も含
まれている。それらの水平データビット線はDSTバス
25を構成しており、複数のマルチプレクサの出力端子
に結合される。DSTバス25の個々のビット線はDS
T O〜31とラベル付けされており、第2図に関連し
て先に説明したように、ALU出力レジスタ27に接続
される( DST 35などの追加の線も示されている
が、それらの線は本発明とは密接に関係するものではな
いので、ここでは説明を省く)。たとえばDST31は
、マルチプレクサ42,59,68,77.86,95
,104及び113に接続するものとし5て示されてい
る。バレルシフタ20のそれぞれのマルチプレクサに対
する制御は、DSMCO〜22とラベル付けされた制御
線を介して与えられる。
まれている。それらの水平データビット線はDSTバス
25を構成しており、複数のマルチプレクサの出力端子
に結合される。DSTバス25の個々のビット線はDS
T O〜31とラベル付けされており、第2図に関連し
て先に説明したように、ALU出力レジスタ27に接続
される( DST 35などの追加の線も示されている
が、それらの線は本発明とは密接に関係するものではな
いので、ここでは説明を省く)。たとえばDST31は
、マルチプレクサ42,59,68,77.86,95
,104及び113に接続するものとし5て示されてい
る。バレルシフタ20のそれぞれのマルチプレクサに対
する制御は、DSMCO〜22とラベル付けされた制御
線を介して与えられる。
マルチプレクサ41〜119f、)、!J−24との関
連でのみ使用される装置1157,66.75,84゜
93 、102及び111を除く)は、それぞれ、4つ
の入力ビン(すなわち、11〜14)と、4つの出力ビ
ン(すなわち、01〜04)と、制御ビン(すなわち、
C)とを有するマルチプレクサである。製作中、個々の
マルチプレクサの制御線に信号が印加されると、入力デ
ータ線は出力データ線に電気的に結合される。1例を挙
げると、マルチプレクサ110への制御入力線に信号が
印加されると、入力ビンI、(たとえば、DSMB Q
)にあるデータは出力ビン0.(友とえは、DSTQ
)に電気的に結合される。同様にして、ビンI2. I
、及びI+(タト、tij、DSMB l 、 DSM
B 2及びDSMB3)と関連するデータは、出力ビン
o2 + o、及び04 (たとえば、DST 1 、
DST 2及びDST3)に、それぞれ、電気的に結
合される。このように、バレルシフタ20の内部の個々
のマルチプレクサは、それぞれ、データ入力群を対応す
る出力線に接続するスイッチング素子として動作する。
連でのみ使用される装置1157,66.75,84゜
93 、102及び111を除く)は、それぞれ、4つ
の入力ビン(すなわち、11〜14)と、4つの出力ビ
ン(すなわち、01〜04)と、制御ビン(すなわち、
C)とを有するマルチプレクサである。製作中、個々の
マルチプレクサの制御線に信号が印加されると、入力デ
ータ線は出力データ線に電気的に結合される。1例を挙
げると、マルチプレクサ110への制御入力線に信号が
印加されると、入力ビンI、(たとえば、DSMB Q
)にあるデータは出力ビン0.(友とえは、DSTQ
)に電気的に結合される。同様にして、ビンI2. I
、及びI+(タト、tij、DSMB l 、 DSM
B 2及びDSMB3)と関連するデータは、出力ビン
o2 + o、及び04 (たとえば、DST 1 、
DST 2及びDST3)に、それぞれ、電気的に結
合される。このように、バレルシフタ20の内部の個々
のマルチプレクサは、それぞれ、データ入力群を対応す
る出力線に接続するスイッチング素子として動作する。
次に、第4図に関して説明する。第4図には、本発明の
一般に好ましい実施例で使用する4×4マルチプレクサ
の回路図が示されている。このマルチプレクサは電界効
果デバイス120〜123’e含む。電界効果デバイス
120〜123は通常のれチャネルMO8デバイスであ
るのが好ましい。それぞれの電界効果トランジスタのゲ
ートは制御線124に結合されている。各トランジスタ
のドレイン領域と、ソース領域は異なる1対の入力線と
、出力線とに結合される。たとえば、トランジスタ12
3のソースはI、とラベル付けされた入力線128に接
続し、ドレインは01 とラベル付けされた出力線12
9に接続している。制御線124を正の高電位とするこ
とにより、制御線124が動作されると、デバイス12
0〜123のソース領域とドレイ/領域トの間に導通チ
ャネルが形成される。この導通チャネルは、対応する入
力ビンと出力ビンとを電気的に接続させる。このように
、制御線124の正の高電位は、128と129 、1
27と130 、126と131125と132の各線
を電気的に接続させる。
一般に好ましい実施例で使用する4×4マルチプレクサ
の回路図が示されている。このマルチプレクサは電界効
果デバイス120〜123’e含む。電界効果デバイス
120〜123は通常のれチャネルMO8デバイスであ
るのが好ましい。それぞれの電界効果トランジスタのゲ
ートは制御線124に結合されている。各トランジスタ
のドレイン領域と、ソース領域は異なる1対の入力線と
、出力線とに結合される。たとえば、トランジスタ12
3のソースはI、とラベル付けされた入力線128に接
続し、ドレインは01 とラベル付けされた出力線12
9に接続している。制御線124を正の高電位とするこ
とにより、制御線124が動作されると、デバイス12
0〜123のソース領域とドレイ/領域トの間に導通チ
ャネルが形成される。この導通チャネルは、対応する入
力ビンと出力ビンとを電気的に接続させる。このように
、制御線124の正の高電位は、128と129 、1
27と130 、126と131125と132の各線
を電気的に接続させる。
本発明のマイクロプロセッサのバレルシフタ2゜は、本
発明のフォーマツ)f換に対応するためにいくつかの制
御信号が分割されているという点を除いて、80386
のような従来のマイクロプロセッサに見られるバレルシ
フタに類似シている。386プロセツサ本来のマトリク
ス制御信号DSMC2は、バイトスワップ(BSWAP
)命令を1つの実行うロックで実現するのを助けるため
に、3つの制御信号DSMC2a 、 DSMC2b及
びDSMC2cに分割されている。同様に、DSMC1
7は3つの信号DSMC17&〜Cに分割されるものと
して示されている。
発明のフォーマツ)f換に対応するためにいくつかの制
御信号が分割されているという点を除いて、80386
のような従来のマイクロプロセッサに見られるバレルシ
フタに類似シている。386プロセツサ本来のマトリク
ス制御信号DSMC2は、バイトスワップ(BSWAP
)命令を1つの実行うロックで実現するのを助けるため
に、3つの制御信号DSMC2a 、 DSMC2b及
びDSMC2cに分割されている。同様に、DSMC1
7は3つの信号DSMC17&〜Cに分割されるものと
して示されている。
通常の動作(BSWAPを除くあらゆる動作)に対して
は、それらは制御線は元の形に組合され、バレルシフタ
20は通常通り動作する。分割された別個の線が重要に
なるのは、BSWAP命令の実行中だけである。
は、それらは制御線は元の形に組合され、バレルシフタ
20は通常通り動作する。分割された別個の線が重要に
なるのは、BSWAP命令の実行中だけである。
BSWAP命令の実行うロックサイクルの段階1におい
ては、マトリクス制御信号のうち4つが印加される。マ
l−IJクスの他の全ての制御信号は否定される。印加
される4つのマトリクス制御41号は、dame 21
(dumbパスのビット24〜31をマトリクス出力
バスC8Tのビットo〜7にマルチプレクスする)と、
dsmo 17b (dambハスノヒット16〜23
をマトリクス出力バスDSTのビット8〜15にマルチ
プレクスする)と、dsmc2b(damnバスのビッ
ト8〜15をマトリクス出力バスDSTのビット16〜
23にマルチプレクスする)と、dame 17 c
(dsmaバスのビット0〜7をマトリクス出力バスD
STのビット24〜31にマルチプレクサする)とであ
る。実行うロックの段階2においては、バレルシフタは
、dsmaのバス及びdsmbバスを介してデータ入力
を受信し、単ニDSMAハス、DsABハス及びDST
出カ1m k M切に電気的に接続するだけで、バイト
をスヮッンする。従って、メモリ項目データフォーマッ
トは大エンジアンから小エンジアンに、又は小エンジア
ンから大エンジアンに自動的に変換される。マトリクス
により出力された変換データはそれ以上シフトすること
なく、シフタのトリーを通過し、続いて、ALU出力レ
ジスタ27にロードされる。
ては、マトリクス制御信号のうち4つが印加される。マ
l−IJクスの他の全ての制御信号は否定される。印加
される4つのマトリクス制御41号は、dame 21
(dumbパスのビット24〜31をマトリクス出力
バスC8Tのビットo〜7にマルチプレクスする)と、
dsmo 17b (dambハスノヒット16〜23
をマトリクス出力バスDSTのビット8〜15にマルチ
プレクスする)と、dsmc2b(damnバスのビッ
ト8〜15をマトリクス出力バスDSTのビット16〜
23にマルチプレクスする)と、dame 17 c
(dsmaバスのビット0〜7をマトリクス出力バスD
STのビット24〜31にマルチプレクサする)とであ
る。実行うロックの段階2においては、バレルシフタは
、dsmaのバス及びdsmbバスを介してデータ入力
を受信し、単ニDSMAハス、DsABハス及びDST
出カ1m k M切に電気的に接続するだけで、バイト
をスヮッンする。従って、メモリ項目データフォーマッ
トは大エンジアンから小エンジアンに、又は小エンジア
ンから大エンジアンに自動的に変換される。マトリクス
により出力された変換データはそれ以上シフトすること
なく、シフタのトリーを通過し、続いて、ALU出力レ
ジスタ27にロードされる。
一般に好ましい実施例においては、BSWAP命令は2
つの8ビツト命令バイトから構成される。
つの8ビツト命令バイトから構成される。
命令のビットのうち13は演算コードであり、第2のバ
イトの下位の4ビツトは、動作に参加すべきレジスタを
指定する。
イトの下位の4ビツトは、動作に参加すべきレジスタを
指定する。
本発明の重要な面の1つは、先に変換されたフォーマッ
トから元に戻すための変換に別の命令を不要にするよう
に、BSWAP命令が自身の逆の命令として作用するこ
とである。言いかえれば、デ−夕入カバス21及び22
に供給されたデータは、同じ命令を使用して、大から小
、小から犬のいずれにも変換が可能なのである。
トから元に戻すための変換に別の命令を不要にするよう
に、BSWAP命令が自身の逆の命令として作用するこ
とである。言いかえれば、デ−夕入カバス21及び22
に供給されたデータは、同じ命令を使用して、大から小
、小から犬のいずれにも変換が可能なのである。
BSWAP命令が有用であるとわかる別の動作は、ロー
ド/記憶動作においてである。ユーザーが、全てのデー
タを小エンジアンフォーマットで記憶する機械で演算を
実行したいと思っている場合を考えてみる。ユーザーが
BSWAP命令を伴なってレジスタに通常のロードを実
行する場合、大エンジアンフォーマットは自動的に小エ
ンジアンフォーマットに変換されるので、プロセッサは
iちにそのデータを処理(すなわち、加算、減算2乗算
など)することがで自る。全ての算術演算が完了した後
、プログラマ−は別のBSWAPを実行し、続いて、メ
モリに通常の記憶をすることによシ、メモリ内に当初の
フォーマットによるデータを復元しても良いであろう。
ド/記憶動作においてである。ユーザーが、全てのデー
タを小エンジアンフォーマットで記憶する機械で演算を
実行したいと思っている場合を考えてみる。ユーザーが
BSWAP命令を伴なってレジスタに通常のロードを実
行する場合、大エンジアンフォーマットは自動的に小エ
ンジアンフォーマットに変換されるので、プロセッサは
iちにそのデータを処理(すなわち、加算、減算2乗算
など)することがで自る。全ての算術演算が完了した後
、プログラマ−は別のBSWAPを実行し、続いて、メ
モリに通常の記憶をすることによシ、メモリ内に当初の
フォーマットによるデータを復元しても良いであろう。
80386のような従来のマイクロプロセッサでこれと
同じ動作シーケンスを実行するには、より多くの時間と
記憶領域を必要とする。
同じ動作シーケンスを実行するには、より多くの時間と
記憶領域を必要とする。
本発明のバイトスワップ命令は一般には32ビットd語
用として規定されているが、それより高次のメモリフォ
ーマット変換(たとえば、64ビツト以上)をも可能に
する基本ビルディングブロックでもある。64ビツトス
ワツプの場合、機械は、まず、64ビツトの址を2つの
レジスタにロードする。次に、機械は各レジスタについ
てBSWAPを実行する。その後、プロセッサは、単に
、レジスタを逆の順序で新たに名前付けするだけである
。言いかえれば、上位のビットを蓄積しているレジスタ
を下位レジスタと新たに名前付けし、下位ビットを蓄積
しているレジスタを上位レジスタとする。この種の改名
方式では、レジスタを物理的にスワップする必要がない
。64ビツト以上の変換に利用すると、性能コストの節
約は倍増する。
用として規定されているが、それより高次のメモリフォ
ーマット変換(たとえば、64ビツト以上)をも可能に
する基本ビルディングブロックでもある。64ビツトス
ワツプの場合、機械は、まず、64ビツトの址を2つの
レジスタにロードする。次に、機械は各レジスタについ
てBSWAPを実行する。その後、プロセッサは、単に
、レジスタを逆の順序で新たに名前付けするだけである
。言いかえれば、上位のビットを蓄積しているレジスタ
を下位レジスタと新たに名前付けし、下位ビットを蓄積
しているレジスタを上位レジスタとする。この種の改名
方式では、レジスタを物理的にスワップする必要がない
。64ビツト以上の変換に利用すると、性能コストの節
約は倍増する。
以上、マイクロプロセッサにおいてメモリプタフォーマ
ットを変換するバイトスワップ命令を説明した。
ットを変換するバイトスワップ命令を説明した。
第1図は、小エンジアンメモリフォーマツトド、大エン
ジアンメモリフォーマットとを比較する図であり、2つ
のメモリフォーマットを対応するメモリアドレス及びビ
ット番号と共に示し、最上位のビットをビット31とし
て表わし、最下位のビットをビット0として表わした図
、 第2図は、本発明によるマイクロプロセッサのバレルシ
フタを通過するデータの流れを示すブロック線図、 第3図A〜第3図りは、組合されて、本発明の現時点で
好ましい実施例で利用するバレルシフタの回路図を構成
する図、及び 第4図は、第3図のバレルシフタの内部で利用される4
>4マルチプレクサを示す回路図である。 20・・・・バレルシフタ、21.22−・・・32ビ
ツトバス、23・e・φマトリクス、24・ 拳 轡
拳 ト IJ −25、26φ ・ 拳 ・ 32
ビ ッ トバス、27−―・・ALU出力レジスタ、4
1〜56゜58〜65 、 67〜74 、 76
〜83.85〜92.94〜101 、 103〜1
10 、 112〜119 ・ 傘 ・ −4X4マ
ルチプレクサ、120〜123・Φ・・電界効果トラン
ジスタ、124・・・・制御線、125〜12B・・・
・入力線、129〜132◆串・・出力線。
ジアンメモリフォーマットとを比較する図であり、2つ
のメモリフォーマットを対応するメモリアドレス及びビ
ット番号と共に示し、最上位のビットをビット31とし
て表わし、最下位のビットをビット0として表わした図
、 第2図は、本発明によるマイクロプロセッサのバレルシ
フタを通過するデータの流れを示すブロック線図、 第3図A〜第3図りは、組合されて、本発明の現時点で
好ましい実施例で利用するバレルシフタの回路図を構成
する図、及び 第4図は、第3図のバレルシフタの内部で利用される4
>4マルチプレクサを示す回路図である。 20・・・・バレルシフタ、21.22−・・・32ビ
ツトバス、23・e・φマトリクス、24・ 拳 轡
拳 ト IJ −25、26φ ・ 拳 ・ 32
ビ ッ トバス、27−―・・ALU出力レジスタ、4
1〜56゜58〜65 、 67〜74 、 76
〜83.85〜92.94〜101 、 103〜1
10 、 112〜119 ・ 傘 ・ −4X4マ
ルチプレクサ、120〜123・Φ・・電界効果トラン
ジスタ、124・・・・制御線、125〜12B・・・
・入力線、129〜132◆串・・出力線。
Claims (4)
- (1)レジスタに記憶された32ビットデータ項目のバ
イト順序をスワップするマイクロプロセッサにおいて、 前記データ項目を複数の入力データ線を介して対応する
複数の出力データ線に結合し、その結合は、前記データ
項目のビット0〜7、8〜15、16〜23及び24〜
31が前記出力データ線の対応するビット位置24〜3
1、16〜23、8〜15及び0〜7にそれぞれ結合さ
れるように配列されている結合手段と; 前記結合手段に結合され、前記データ項目の前記バイト
順序の前記スワップを制御する制御手段とを具備するこ
とを特徴とするマイクロプロセッサ。 - (2)メモリと、d語1つ分のデータをシフトし、第1
のバス及び第2のバスを介してデータ入力を受信して、
第3のバスを介してシフト出力、すなわち、回転出力を
発生するバーレルシフタと、32ビットデータ項目のフ
ォーマットを第1のフォーマットから第2のフォーマッ
トに変化させる命令とを有するマイクロプロセッサにお
いて、前記命令は、 複数の入力線と、複数の出力線と、複数のマルチプレク
サとを含み、前記マルチプレクサは、イネーブルされた
とき、順序通りに配列されたビット0〜7、8〜15、
16〜23及び24〜31を前記出力線の対応する順序
通りに配列されたビット位置24〜31、16〜23、
8〜15、0〜7にそれぞれ結合するバレルシフタと; 前記複数のマルチプレクサに結合され、前記マルチプレ
クサをイネーブルする制御手段とを具備するマイクロプ
ロセッサ。 - (3)内部レジスタセットと、バレルシフタとを有する
マイクロプロセッサにおいて、第1のメモリフォーマッ
トで記憶されているデータ項目を第2のメモリフォーマ
ットに変換する方法であつて前記データ項目を1対の入
力バスを介して前記バレルシフタに入力する過程と; 変換を開始するために、前記バレルシフタに接続される
いくつかの制御信号を印加する過程と;前記データ項目
の順序通りに配列されたビット0〜7、8〜15、16
〜23及び24〜31を、前記入力バスを介して、前記
出力データバスの対応する順序通りに配列されたビット
位置24〜31、16〜23、8〜15及び0〜7にそ
れぞれ接続することにより、変換データ項目を発生する
過程とから成ることを特徴とするフォーマット変換方法
。 - (4)データが第1のメモリフォーマットで記憶される
メモリを有するコンピュータにおいて、32ビットデー
タ項目を第2のメモリフォーマットに変換する方法であ
つて、 前記データ項目を前記メモリからレジスタに移す過程と
; 前記第1のメモリフォーマットによる前記データ項目の
順序通りに配列されたビット0〜7、8〜15、16〜
23及び24〜31が前記レジスタの順序通りに配列さ
れたビット位置24〜31、16〜23、8〜15及び
0〜7にそれぞれ対応するように前記データ項目のバイ
ト順序をスワップし、前記スワップされたデータ項目は
前記第2のメモリフォーマットである過程と; 前記スワップされたデータ項目をラッチにラッチングす
る過程とから成ることを特徴とするフォーマット変換方
法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US33164089A | 1989-03-30 | 1989-03-30 | |
US331.640 | 1989-03-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02285426A true JPH02285426A (ja) | 1990-11-22 |
Family
ID=23294766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2084796A Pending JPH02285426A (ja) | 1989-03-30 | 1990-03-30 | マイクロプロセツサおよびフオーマット変換方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US5948099A (ja) |
JP (1) | JPH02285426A (ja) |
DE (1) | DE4010119C2 (ja) |
FR (1) | FR2645293A1 (ja) |
GB (1) | GB2229832B (ja) |
HK (1) | HK107293A (ja) |
IT (1) | IT1239828B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998044409A1 (fr) * | 1997-04-03 | 1998-10-08 | Seiko Epson Corporation | Micro-ordinateur, dispositif electronique et procede de traitement d'information |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5446482A (en) * | 1991-11-13 | 1995-08-29 | Texas Instruments Incorporated | Flexible graphics interface device switch selectable big and little endian modes, systems and methods |
US5687337A (en) * | 1995-02-24 | 1997-11-11 | International Business Machines Corporation | Mixed-endian computer system |
US5928349A (en) * | 1995-02-24 | 1999-07-27 | International Business Machines Corporation | Mixed-endian computing environment for a conventional bi-endian computer system |
US5778406A (en) * | 1995-06-30 | 1998-07-07 | Thomson Consumer Electronics, Inc. | Apparatus for delivering CPU independent data for little and big endian machines |
US6643765B1 (en) | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
US5819117A (en) * | 1995-10-10 | 1998-10-06 | Microunity Systems Engineering, Inc. | Method and system for facilitating byte ordering interfacing of a computer system |
US6243808B1 (en) * | 1999-03-08 | 2001-06-05 | Chameleon Systems, Inc. | Digital data bit order conversion using universal switch matrix comprising rows of bit swapping selector groups |
KR20020074564A (ko) * | 2001-03-20 | 2002-10-04 | 엘지전자 주식회사 | Cpu 코어와 외부 호스트의 인터페이스 장치 및 방법 |
NL1017870C2 (nl) * | 2001-04-18 | 2002-10-25 | Marc Van Oldenborgh | Werkwijze voor invers multiplexen. |
US20030014616A1 (en) * | 2001-07-02 | 2003-01-16 | Thavatchai Makphaibulchoke | Method and apparatus for pre-processing a data collection for use by a big-endian operating system |
NL1018463C2 (nl) * | 2001-07-04 | 2003-01-08 | Marc Van Oldenborgh | Werkwijze, inrichting en programmatuur voor digitaal inverse multiplexen. |
US6877019B2 (en) * | 2002-01-08 | 2005-04-05 | 3Dsp Corporation | Barrel shifter |
US6670895B2 (en) * | 2002-05-01 | 2003-12-30 | Analog Devices, Inc. | Method and apparatus for swapping the contents of address registers |
US6996735B2 (en) * | 2002-11-22 | 2006-02-07 | Texas Instruments Incorporated | Apparatus for alignment of data collected from multiple pipe stages with heterogeneous retention policies in an unprotected pipeline |
US6889311B2 (en) * | 2002-11-22 | 2005-05-03 | Texas Instruments Incorporated | Pipeline stage single cycle sliding alignment correction of memory read data with integrated data reordering for load and store instructions |
US7051197B2 (en) | 2002-11-22 | 2006-05-23 | Texas Instruments Incorporated | Tracing through reset |
US7720977B1 (en) * | 2003-02-11 | 2010-05-18 | Foundry Networks, Inc. | Cookie invalidation or expiration by a switch |
US20040221274A1 (en) * | 2003-05-02 | 2004-11-04 | Bross Kevin W. | Source-transparent endian translation |
US7181562B1 (en) * | 2004-03-31 | 2007-02-20 | Adaptec, Inc. | Wired endian method and apparatus for performing the same |
US8719837B2 (en) | 2004-05-19 | 2014-05-06 | Synopsys, Inc. | Microprocessor architecture having extendible logic |
US7552427B2 (en) * | 2004-12-13 | 2009-06-23 | Intel Corporation | Method and apparatus for implementing a bi-endian capable compiler |
US20070073925A1 (en) | 2005-09-28 | 2007-03-29 | Arc International (Uk) Limited | Systems and methods for synchronizing multiple processing engines of a microprocessor |
US8595452B1 (en) | 2005-11-30 | 2013-11-26 | Sprint Communications Company L.P. | System and method for streaming data conversion and replication |
US7721077B2 (en) * | 2006-12-11 | 2010-05-18 | Intel Corporation | Performing endian conversion |
US8667250B2 (en) * | 2007-12-26 | 2014-03-04 | Intel Corporation | Methods, apparatus, and instructions for converting vector data |
JP2009230591A (ja) * | 2008-03-25 | 2009-10-08 | Panasonic Corp | 情報処理装置 |
US20120191956A1 (en) * | 2011-01-26 | 2012-07-26 | Advanced Micro Devices, Inc. | Processor having increased performance and energy saving via operand remapping |
CN103460180B (zh) * | 2011-03-25 | 2017-04-26 | 飞思卡尔半导体公司 | 带有断言寄存器的处理器系统、计算机系统和用于管理断言的方法 |
CN104011672A (zh) * | 2011-12-30 | 2014-08-27 | 英特尔公司 | 转置指令 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02291888A (ja) * | 1989-05-02 | 1990-12-03 | Takeya:Kk | パチンコ島台における呼出表示装置 |
JPH0451981A (ja) * | 1990-06-19 | 1992-02-20 | San Denshi Kk | 自動表示装置 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3348207A (en) * | 1963-12-20 | 1967-10-17 | Control Data Corp | Data exchanger |
US3930232A (en) * | 1973-11-23 | 1975-12-30 | Raytheon Co | Format insensitive digital computer |
US4509144A (en) * | 1980-02-13 | 1985-04-02 | Intel Corporation | Programmable bidirectional shifter |
US4373180A (en) * | 1980-07-09 | 1983-02-08 | Sperry Corporation | Microprogrammed control system capable of pipelining even when executing a conditional branch instruction |
US4437166A (en) * | 1980-12-23 | 1984-03-13 | Sperry Corporation | High speed byte shifter for a bi-directional data bus |
US4556978A (en) * | 1983-07-20 | 1985-12-03 | Sperry Corporation | Error checked high speed shift matrix |
GB8406846D0 (en) * | 1984-03-16 | 1984-04-18 | British Telecomm | Digital filters |
US4653019A (en) * | 1984-04-19 | 1987-03-24 | Concurrent Computer Corporation | High speed barrel shifter |
EP0198341B1 (en) * | 1985-04-03 | 1992-07-15 | Nec Corporation | Digital data processing circuit having a bit reverse function |
ATE82412T1 (de) * | 1986-02-06 | 1992-11-15 | Mips Computer Systems Inc | Funktionseinheit fuer rechner. |
US4814976C1 (en) * | 1986-12-23 | 2002-06-04 | Mips Tech Inc | Risc computer with unaligned reference handling and method for the same |
EP0282969A3 (en) * | 1987-03-18 | 1989-03-15 | Hitachi, Ltd. | Computer system having byte sequence conversion mechanism |
JPS6491228A (en) * | 1987-09-30 | 1989-04-10 | Takeshi Sakamura | Data processor |
JPS6428752A (en) * | 1987-07-24 | 1989-01-31 | Toshiba Corp | Data processor |
US5132898A (en) * | 1987-09-30 | 1992-07-21 | Mitsubishi Denki Kabushiki Kaisha | System for processing data having different formats |
US4918624A (en) * | 1988-02-05 | 1990-04-17 | The United States Of America As Represented By The United States Department Of Energy | Vector generator scan converter |
DE3886739D1 (de) * | 1988-06-02 | 1994-02-10 | Itt Ind Gmbh Deutsche | Einrichtung zur digitalen Signalverarbeitung. |
JP2633331B2 (ja) * | 1988-10-24 | 1997-07-23 | 三菱電機株式会社 | マイクロプロセッサ |
-
1990
- 1990-02-12 GB GB9003070A patent/GB2229832B/en not_active Expired - Lifetime
- 1990-03-27 IT IT19824A patent/IT1239828B/it active IP Right Grant
- 1990-03-28 FR FR9003950A patent/FR2645293A1/fr active Granted
- 1990-03-29 DE DE4010119A patent/DE4010119C2/de not_active Expired - Lifetime
- 1990-03-30 JP JP2084796A patent/JPH02285426A/ja active Pending
-
1991
- 1991-08-12 US US07/744,818 patent/US5948099A/en not_active Expired - Lifetime
-
1993
- 1993-10-14 HK HK1072/93A patent/HK107293A/xx not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02291888A (ja) * | 1989-05-02 | 1990-12-03 | Takeya:Kk | パチンコ島台における呼出表示装置 |
JPH0451981A (ja) * | 1990-06-19 | 1992-02-20 | San Denshi Kk | 自動表示装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998044409A1 (fr) * | 1997-04-03 | 1998-10-08 | Seiko Epson Corporation | Micro-ordinateur, dispositif electronique et procede de traitement d'information |
Also Published As
Publication number | Publication date |
---|---|
GB2229832B (en) | 1993-04-07 |
FR2645293A1 (fr) | 1990-10-05 |
IT9019824A0 (it) | 1990-03-27 |
FR2645293B1 (ja) | 1994-12-02 |
GB2229832A (en) | 1990-10-03 |
US5948099A (en) | 1999-09-07 |
IT9019824A1 (it) | 1991-09-27 |
GB9003070D0 (en) | 1990-04-11 |
IT1239828B (it) | 1993-11-15 |
DE4010119A1 (de) | 1990-10-04 |
DE4010119C2 (de) | 1995-10-26 |
HK107293A (en) | 1993-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH02285426A (ja) | マイクロプロセツサおよびフオーマット変換方法 | |
US5572713A (en) | System and method for obtaining correct byte addresses by using logical operations on 2 least significant bits of byte address to facilitate compatibility between computer architectures having different memory orders | |
US4814976A (en) | RISC computer with unaligned reference handling and method for the same | |
US5826096A (en) | Minimal instruction set computer architecture and multiple instruction issue method | |
US6061783A (en) | Method and apparatus for manipulation of bit fields directly in a memory source | |
US6446190B1 (en) | Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor | |
US6754810B2 (en) | Instruction set for bi-directional conversion and transfer of integer and floating point data | |
TWI544411B (zh) | 緊縮旋轉處理器、方法、系統與指令 | |
EP0743593A1 (en) | Replication of data | |
EP0541678A1 (en) | ARITHMETIC UNIT FOR STRUCTURAL ARITHMETIC. | |
US5682531A (en) | Central processing unit | |
TWI747881B (zh) | 將來源緊縮資料劃分為巷道的處理器、方法、系統及指令 | |
TW201732637A (zh) | 執行向量位元混洗的方法與裝置 | |
JPH11212786A (ja) | レジスタベースデータ処理のためのデータパスおよび方法 | |
KR940005202B1 (ko) | 비트 순서 전환 장치 | |
US6542989B2 (en) | Single instruction having op code and stack control field | |
US6012138A (en) | Dynamically variable length CPU pipeline for efficiently executing two instruction sets | |
US4771376A (en) | Processor | |
EP1088266B1 (en) | Parallel data processing | |
JP2003502753A (ja) | レジスタスタックを備えるデータプロセッサ | |
EP4011051B1 (en) | A network packet processor for processing a data packet | |
CN100465880C (zh) | 移动位字段的方法和程控单元 | |
Jacob | The risc-16 instruction-set architecture | |
JPS59106047A (ja) | マイクロコンピユ−タ | |
JPH0319029A (ja) | データ処理装置 |