JPH0844620A - マスク発生に関する改良 - Google Patents
マスク発生に関する改良Info
- Publication number
- JPH0844620A JPH0844620A JP7021971A JP2197195A JPH0844620A JP H0844620 A JPH0844620 A JP H0844620A JP 7021971 A JP7021971 A JP 7021971A JP 2197195 A JP2197195 A JP 2197195A JP H0844620 A JPH0844620 A JP H0844620A
- Authority
- JP
- Japan
- Prior art keywords
- mask
- endian
- generator
- mask generator
- byte
- 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
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/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/764—Masking
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4013—Coupling between buses with data restructuring with data re-ordering, e.g. Endian conversion
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Executing Machine-Instructions (AREA)
- Memory System (AREA)
Abstract
トル・エンディアン・マスク操作が単一のマスク発生器
と回転器から達成可能な機構を提供する。 【構成】 マスク発生器は、マスクすべきバイト数を表
す制御信号を受け取る装置と、アドレシング方式を表す
単数または複数のモード信号を受け取る装置と、マスク
値を発生するため前記モード信号に応答する装置と、前
記マスク値をマスク・バイト位置に選択的に配置して前
記マスクを発生するため前記制御信号に応答する装置
と、を含む。
Description
に例えばバス接続されたまたはメモリ・マップのメモリ
・アレイまたは素子のようなアドレス可能な空間で箇所
を選択的に選択するためのマスク発生に関係する。
一時に4、8又は16バイトでアクセスすることを可能
とする幅広のデータバスを有する。例えば、TI486
DLCプロセッサは32ビット幅のデータバスを有して
おり、従って一時に4つの8ビット・バイト(2つの1
6ビット語)がアクセスされる。しかしながら、特定の
メモリ語に全てのバイトを書き込むことが常に必要であ
るまたは望ましいことではなく、所要バイトのみに書き
込むことを保証するため選択アドレス機構が用いられ
る。これは標準的には別々の書き込み付勢を各バイトに
関連づけることにより達成される。
るためには、2種の情報が必要である、すなわち書き込
むべきバイト数と最初のバイトのバイト・アドレスであ
る。バイト数を用いて、書き込むべきバイトがある所に
同数の連続した1を含むマスクを発生する。次いでバイ
ト・アドレスを用いて、このマスクを回転させ、これに
従って書き込むべき語の部分内のバイト位置へ整列させ
る。マスクを発生させ、回転を実行する技術は従来技術
に存在する。
アンとして知られている2種類の一般的なアドレシング
機構がある。例えば、TI486DLC素子では、低位
ビットが低位(リトル・エンドの)アドレス・バイトで
あるリトル・エンディアン形式が使用されている。
アドレシング・モードはマスク及び回転機能を実装する
方法に影響を与える。例えば、メモリ語に記憶される数
を考えると、数字のより左のビットが数値的に右のもの
より有効数字が大きい。
低位アドレスのバイトは数値的には最上位(左側)であ
り、一方語内の最高位アドレスのバイトは数値的には最
下位(右側)である。このことは語内のバイトは左から
インデックスされることを意味する。バイト選択には、
この方式はそれ故左詰めの1のマスクを必要とし、これ
は右へ(時計方向)回転されてバイト・アドレスに応じ
て整列される。
低位アドレスのバイトは数値的には最下位(右側)であ
り、一方語内の最高位アドレスのバイトは数値的には最
上位(左側)である。このことは語内のバイトは右から
インデックスされることを意味する。バイト選択には、
この方式はそれ故右詰めの1のマスクを必要とし、これ
は左へ(反時計方向)回転されてバイト・アドレスに応
じて整列される。
能とする必要性があり、このため例えばTI486DL
Cプロセッサはデータを一方の形式から他方へ変換する
命令BSWAPを有する。もちろん、命令の使用は素子
が使用していない形式の使用には重大な処理負担を与
え、両方の形式を支持すべき場合は両方式のマスク発生
器と回転が設けられているハードウェア的解決が望まし
い。例えばいくつかのマイクロプロセッサはビッグまた
はリトル・エンディアン・モードのどちらでも動作する
よう構成可能であり、プログラム不能な素子のみでハー
ドウェア的解決が可能である。
レスを実行するいくつかの方法がある、例えば:
を各エンディアン毎に1個使用できる。次いでマルチプ
レクサを使用して適切な方を選択する。これは簡単では
あるが、所要ハードウェア量に関して高価である。
単一の回転器を使用することもできる。マルチプレクサ
は回転器の入力として左または右詰めマスク発生器から
(エンディアンに従って)出力を選択可能である。これ
はハードウェアをより使用しないが、単一の回転器は時
計方向と反時計方向の両方は回転不可能であり、これを
実行するためには一方のエンディアン又は他方で2の補
数をとった量を回転する必要とする。これは、N位の時
計方向回転は(Nの2の補数)位の反時計方向回転と等
価であるためである。この場合の欠点は、2の補数演算
は演算を実行するのに要する時間量を増加させる減算を
必要とする点である。これは回路の演算速度に有害な効
果を有する。これはまた単一の回転器の使用によるいく
つかのトランジスタの節約を相殺する。
同じマスク発生器を使用する場合にはさらなる減少が達
成可能である。N個の左詰め1を発生するマスク発生器
はまたNの2の補数個の右詰め0を発生するものと考え
ることもできる。それ故、マスク発生器への入力が2の
補数で出力が一方のエンディアンまたは他方で反転され
る場合、両方のマスク構成を得ることが可能である。再
びこの欠点は2の補数は回路を遅延させいくつかのトラ
ンジスタ節約を相殺する減算を必要とする点である。
によると、特許請求の範囲に定めるマスク発生器が提供
される。
要性なしにビッグおよびリトル・エンディアン・マスク
操作が単一のマスク発生器と回転器から達成可能な機構
を提供する点である。
実例として添付概略図面を参照して以下に実施例を説明
する。
例えばNMOSトランジスタ11とPMOSトランジス
タ12のようなMOSトランジスタのマイクロプロセッ
サに形成される。トランジスタは組み合わせ論理装置と
して互いに接続され、この装置は3本の入力、すなわち
左及び右マスク値と2進数の右マスクビット数を指示す
る3ビット値を有する。これらは各々L R とN
(2:0)と呼ばれる。出力Mは9ビット幅で、その最
上位及び最下位ビットは各々LとRである。加えて、全
ての出力はRとLを等しくすることにより同じ値に設定
可能である。図1のマスク発生器セルの真理値表は以下
に与えられる。
理的に得られる4本の制御信号(G0,G1,G2,G
3)に応答して動作する。
し、一方のエンディアンまたは他方で2の補数を受ける
場合には、このマスク発生器を2重モード装置に使用可
能であることが理解できる。
(2:0)=001はL L L LL L L Rを
発生するが、ビッグ・エンディアンでは、N(2:0)
=001は結果R L L L L L L Lを発生
しなければならない。これはマスク発生器への入力がN
(2:0)の2の補数、すなわち
2の補数は全加算器を必要とするため相対的に遅く実装
は高価である。
操作の両方の理想的な真理値表は各々以下の表Aと表B
に図示されている。両方の場合で、N(2:0)=00
0は0ではなく8ビットを指示するよう定義される。
発生器セルの出力M(8:1)を取り、
ことにより本発明に従って発生される。この真理値表は
以下の通りである:
数がゼロの場合にK=1であるように定義された出力K
と共にN(2:0)に応答してマスク発生器セルの出力
N(7:1)を取り、
ことにより発生される。このモードの真理表は以下の通
りである。
ク発生器セルの最初のビットM(8)と同一であること
が解る。出力としてK次いでセルのビットM(7:1)
を取り、入力LE=1(リトル・エンディアン)とLE
=0(ビッグ・エンディアン)を与えると、Lは(L=
LEまたはK)として定義されRは
理表が構成される。この論理的実装は図3に示され、こ
こではマスク発生器30と回転器31が識別される。
エンディアンの両方に対して正しいことが理解できる。
しかしながら、ビッグ・エンディアン・マスクは正しく
整列させるためには1桁反時計方向に回転させなければ
ならない。本発明によると、これはマスクを整列させる
以後の回転器論理で実行される。
むべき第1バイトのバイト・アドレスに応じて回転され
なければならない。これは、回転論理真理表である以下
の表DのA(2:0)、バイト整列により指示される。
は整列量A(2:0)だけ反時計方向でなければならな
い。ビッグ・エンディアン・モードでは回転は時計方向
でなければならないが、しかしながら実施例では整列量
の反時計方向等価、マイナス1でマスクが右へ1桁オフ
セットしていることを補償している。
な実装は2段階を使用していた、すなわち最初に0また
は1桁回転し、2番目に0、2、4または6桁回転させ
る。これらを直列に接続することにより、0と7の間の
任意の回転量が達成可能である。しかしながら、第1段
で0または2桁回転し、2番目に0、1、4または5桁
回転した場合でも同様の結果が達成できることを理解さ
れたい。さらに、第1段に「4桁回転」オプションを追
加することにより、回転器中の遅延を増加させることな
くビッグ・エンディアンに必要な余分な2ビット回転を
達成可能である。リトル・エンディアン・モードでは、
第1段は0または2桁のどちらか回転させる。ビッグ・
エンディアンでは、第1段は2または4桁のどちらか回
転させる。図2は1ビット、回転器の「ビットx」の概
略を図示する。
いてビッグ及びリトル・エンディアンの両方のマスク発
生と回転機能をいかに実行可能であるか、さらにこれが
2の補数演算を実行する加算器の必要性なしに達成可能
であるかを示している。代わりに、簡単で効率的な1の
補数が用いられ、これと共にマスク出力の最上位ビット
に対する特別な項Kを発生し、第1段で0、2、4ビッ
ト回転し第2段で0、1、3、5ビット回転する回転器
を構成する。これは回転器に対してビット当たり1個の
余分なトランジスタを追加するのみであり、性能に影響
を与えることなくビッグ・エンディアン演算を実行する
ために必要な余分な2ビット回転が可能となる。
御論理は最小であり、従来技術で必要とされた全加算器
より大分少ない。
と回転器43(図4)はマイクロプロセッサ装置に用い
られ、ここで中央プロセッサ40がメモリ・モジュール
41のアレイをタイミング制御部42を介してアドレス
し、データはビッグ・エンディアンまたはリトル・エン
ディアン形式のどちらかであり、他の制御信号は説明の
都合上除外してある。
半導体素子(集積回路)に集積化される。
る。 (1)少なくとも第1及び第2のアドレシング方式で使
用可能なマスクを発生するマスク発生器において、マス
クすべきバイト数を表す制御信号を受け取る装置と、ア
ドレシング方式を表す単数または複数のモード信号を受
け取る装置と、マスク値を発生するため前記モード信号
に応答する装置と、前記マスク値をマスク・バイト位置
に選択的に配置して前記マスクを発生するため前記制御
信号に応答する装置と、を含む少なくとも第1及び第2
のアドレシング方式で使用可能なマスクを発生するマス
ク発生器。 (2)第1項記載のマスク発生器において、第1のマス
ク値は前記バイト数信号から得られ、第2マスク値は前
記モード信号から得られるマスク発生器。 (3)第1項〜第2項記載のマスク発生器において、所
定のビット位置のマスク値は前記バイト位置残りのマス
ク値から得られるマスク発生器。 (4)第1項〜第3項記載のマスク発生器において、整
列量を定める信号から得られる桁数だけ前記マスクを回
転させる回転器を含むマスク発生器。 (5)第4項記載のマスク発生器において、前記回転器
は第1のアドレシング方式では第1の方向に、第2のア
ドレシング方式では第2の方向に操作するマスク発生
器。 (6)第5項記載のマスク発生器において、前記第2の
アドレシング方式に対して、前記桁数は前記整列量より
少ないマスク発生器。 (7)第1項〜第6項記載のマスク発生器において、前
記第1のアドレシング方式はリトル・エンディアンで、
前記第2のアドレシング方式はビッグ・エンディアンで
あるマスク発生器。 (8)本明細書で実質的に記載されているマスク発生
器。 (9)第1項〜第8項記載のマスク発生器のソフトウェ
ア実装。 (10)第1項〜第9項記載のマスク発生器を含むメモ
リ・アドレス装置。 (11)第10項記載のメモリ・アドレス装置を含むプ
ロセッサ装置。 (12)第1項〜第8項記載のマスク発生器、第9項記
載の実装、または第10項記載のメモリ・アドレス装置
を含む半導体素子。 (13)第12項記載の半導体素子において、集積回路
である半導体素子。
に例えばバス接続されたまたはメモリ・マップのメモリ
・アレイまたは素子のようなアドレス可能な空間で箇所
を選択的に選択するためのマスク発生に関係する。マス
ク発生器は、マスクすべきバイト数を表す制御信号を受
け取る装置と、アドレシング方式を表す単数または複数
のモード信号を受け取る装置と、マスク値を発生するた
め前記モード信号に応答する装置と、前記マスク値をマ
スク・バイト位置に選択的に配置して前記マスクを発生
するため前記制御信号に応答する装置と、を含む。本発
明の特別な利点は、2の補数演算の必要性なしにビッグ
およびリトル・エンディアン・マスク操作が単一のマス
ク発生器と回転器から達成可能な機構を提供する点であ
る。
る。
器/回転器を図示する。
Claims (1)
- 【請求項1】 少なくとも第1及び第2のアドレシング
方式で使用可能なマスクを発生するマスク発生器におい
て、 マスクすべきバイト数を表す制御信号を受け取る装置
と、 アドレシング方式を表す単数または複数のモード信号を
受け取る装置と、 マスク値を発生するため前記モード信号に応答する装置
と、 前記マスク値をマスク・バイト位置に選択的に配置して
前記マスクを発生するため前記制御信号に応答する装置
と、を含む少なくとも第1及び第2のアドレシング方式
で使用可能なマスクを発生するマスク発生器。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB94024700 | 1994-02-09 | ||
| GB9402470A GB9402470D0 (en) | 1994-02-09 | 1994-02-09 | Improvements in or relating to mask generation |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0844620A true JPH0844620A (ja) | 1996-02-16 |
| JP4106097B2 JP4106097B2 (ja) | 2008-06-25 |
Family
ID=10750104
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP02197195A Expired - Lifetime JP4106097B2 (ja) | 1994-02-09 | 1995-02-09 | マスク発生器 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5655065A (ja) |
| EP (1) | EP0667569B1 (ja) |
| JP (1) | JP4106097B2 (ja) |
| DE (1) | DE69523490T2 (ja) |
| GB (1) | GB9402470D0 (ja) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5928349A (en) * | 1995-02-24 | 1999-07-27 | International Business Machines Corporation | Mixed-endian computing environment for a conventional bi-endian computer system |
| US5907865A (en) * | 1995-08-28 | 1999-05-25 | Motorola, Inc. | Method and data processing system for dynamically accessing both big-endian and little-endian storage schemes |
| JP2904099B2 (ja) * | 1996-02-19 | 1999-06-14 | 日本電気株式会社 | コンパイル装置およびコンパイル方法 |
| DE19653568A1 (de) * | 1996-12-20 | 1997-07-10 | Bernd Paysan | Zugriffsnetzwerk zur Adressierung von Teilwörtern für aufsteigende und absteigende Byte-Reihenfolge im Speicher |
| US5898896A (en) * | 1997-04-10 | 1999-04-27 | International Business Machines Corporation | Method and apparatus for data ordering of I/O transfers in Bi-modal Endian PowerPC systems |
| US6820195B1 (en) * | 1999-10-01 | 2004-11-16 | Hitachi, Ltd. | Aligning load/store data with big/little endian determined rotation distance control |
| JP2001306295A (ja) * | 2000-04-26 | 2001-11-02 | Nec Corp | エンディアン変換装置及びエンディアン変換方法 |
| US6403071B1 (en) * | 2001-03-05 | 2002-06-11 | The Procter & Gamble Company | Anhydrous antiperspirant and deodorant compositions containing solid d-pantothenate salts |
| US20070226469A1 (en) * | 2006-03-06 | 2007-09-27 | James Wilson | Permutable address processor and method |
| US11366668B1 (en) * | 2020-12-08 | 2022-06-21 | Arm Limited | Method and apparatus for comparing predicated load value with masked load value |
| CN112835842B (zh) * | 2021-03-05 | 2024-04-30 | 深圳市汇顶科技股份有限公司 | 端序处理方法、电路、芯片以及电子终端 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5265214A (en) * | 1987-08-28 | 1993-11-23 | Daikin Industries, Ltd. | Filling processing apparatus and method |
| US5271097A (en) * | 1988-06-30 | 1993-12-14 | International Business Machines Corporation | Method and system for controlling the presentation of nested overlays utilizing image area mixing attributes |
| JP2633331B2 (ja) * | 1988-10-24 | 1997-07-23 | 三菱電機株式会社 | マイクロプロセッサ |
| JPH04119473A (ja) * | 1990-09-10 | 1992-04-20 | Dainippon Screen Mfg Co Ltd | カットマスク作成方法 |
| GB2251968B (en) * | 1991-01-15 | 1994-08-10 | Texas Instruments Ltd | Improvements in or relating to decoder circuits |
| US5442737A (en) * | 1991-11-13 | 1995-08-15 | Hewlett-Packard Company | System and method for rendering a display on a computer screen |
| US5410677A (en) * | 1991-12-30 | 1995-04-25 | Apple Computer, Inc. | Apparatus for translating data formats starting at an arbitrary byte position |
| US5471570A (en) * | 1993-12-30 | 1995-11-28 | International Business Machines Corporation | Hardware XOR sprite for computer display systems |
-
1994
- 1994-02-09 GB GB9402470A patent/GB9402470D0/en active Pending
-
1995
- 1995-02-09 US US08/385,851 patent/US5655065A/en not_active Expired - Lifetime
- 1995-02-09 EP EP95300800A patent/EP0667569B1/en not_active Expired - Lifetime
- 1995-02-09 JP JP02197195A patent/JP4106097B2/ja not_active Expired - Lifetime
- 1995-02-09 DE DE69523490T patent/DE69523490T2/de not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| DE69523490D1 (de) | 2001-12-06 |
| DE69523490T2 (de) | 2002-05-23 |
| JP4106097B2 (ja) | 2008-06-25 |
| EP0667569A1 (en) | 1995-08-16 |
| US5655065A (en) | 1997-08-05 |
| EP0667569B1 (en) | 2001-10-31 |
| GB9402470D0 (en) | 1994-03-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6098087A (en) | Method and apparatus for performing shift operations on packed data | |
| US5832288A (en) | Element-select mechanism for a vector processor | |
| AU640813B2 (en) | A data processing system including a memory controller for direct or interleave memory accessing | |
| EP0342832B1 (en) | Dynamic feedback arrangement scrambling technique keystream generator | |
| US6397318B1 (en) | Address generator for a circular buffer | |
| US4833602A (en) | Signal generator using modulo means | |
| JPH0844620A (ja) | マスク発生に関する改良 | |
| KR0177985B1 (ko) | 프로세서의 벡터 데이터 조정 장치 | |
| US6721869B1 (en) | Method for deriving a word address and byte offset information | |
| US6052522A (en) | Method and apparatus for extracting data stored in concatenated registers | |
| US5532947A (en) | Combined decoder/adder circuit which provides improved access speed to a cache | |
| JP4267282B2 (ja) | ユーザによりプログラム可能なアドレス指定モードを有するシステム及びその方法 | |
| US5729482A (en) | Microprocessor shifter using rotation and masking operations | |
| EP0327950B1 (en) | Address modification circuit | |
| JP3433588B2 (ja) | マスクデータ生成回路及びビットフィールド操作回路 | |
| US5671238A (en) | Method and circuitry for generating r-bit parallel CRC code for an l-bit data source | |
| US6055557A (en) | Adder circuit and method therefor | |
| JP2000076866A (ja) | バ―ストタイプのram装置及びそのアドレス発生方法 | |
| US6782467B1 (en) | Method and apparatus for fast limited core area access and cross-port word size multiplication in synchronous multiport memories | |
| GB2108737A (en) | Byte addressable memory for variable length instructions and data | |
| US5506978A (en) | Memory apparatus including a shift circuit for shifting a word select signal by a predetermined number of words | |
| US5625786A (en) | Microprogram memory output circuit for selectively outputting fields of microinstruction word to a plurality of data terminals | |
| US7054894B2 (en) | Generator circuit for generating large numbers | |
| US6131108A (en) | Apparatus, and associated method, for generating multi-bit length sequences | |
| JPS6336017B2 (ja) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040722 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040813 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20041115 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20041118 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050408 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080222 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080331 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110404 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130404 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140404 Year of fee payment: 6 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |