特許
J-GLOBAL ID:200903055397194340

パック・データを処理する1組の命令

発明者:
出願人/特許権者:
代理人 (1件): 山川 政樹 (外4名)
公報種別:公表公報
出願番号(国際出願番号):特願平9-510252
公開番号(公開出願番号):特表平11-511575
出願日: 1996年07月17日
公開日(公表日): 1999年10月05日
要約:
【要約】典型的なマルチメディア・アプリケーションで必要とされるパック・データに対する演算をサポートする1組の命令をプロセッサに含める装置。本発明は、一実施形態では、記憶域(150)と、デコーダ(165)と、複数の回路(130)とを有するプロセッサを含む。この複数の回路によって、いくつかの命令を実行しパック・データを処理することができる。この実施形態では、これらの命令にパック、アンパック、パック乗算、パック加算、パック減算、パック比較、パック・シフトが含まれる。
請求項(抜粋):
25.プロセッサであって、 第1の複数のデータ要素の各データ要素が第2の複数のデータ要素のあるデータ要素に対応する、それぞれ、第1の複数のデータ要素と第2の複数のデータ要素とを含む、第1のパック・データと第2のパック・データとを含むように構成された記憶域と、 命令を復号するように構成されたデコーダと、 記憶域およびデコーダに結合され、アンパック命令に応答して、第1および第2の複数のデータ要素のうちのある対応するデータ要素を同時に、第3のパック・データ内の複数の結果データ要素として記憶域にコピーするように構成された第1の回路と、 記憶域およびデコーダに結合され、パック命令に応答して、第1および第2の複数のデータ要素の各データ要素の一部を同時に、第3のパック・データ内の複数の結果データ要素として記憶域にコピーするように構成された第2の回路と、 記憶域およびデコーダに結合され、乗算命令に応答して、第1の複数のデータ要素の各データ要素を同時に第2の複数のデータ要素の対応するデータ要素に乗算し、各結果データ要素が上位ビットまたは下位ビットのみを含む第3のパック・データ内の複数の結果データ要素を生成するように構成された第3の回路と、 記憶域およびデコーダに結合され、加算命令に応答して、第1の複数のデータ要素の各データ要素を同時に第2の複数のデータ要素の対応するデータ要素に加算し、第3のパック・データ内の複数の結果データ要素を生成するように構成された第4の回路と、 記憶域およびデコーダに結合され、減算命令に応答して、第1の複数のデータ要素の各データ要素を同時に第2の複数のデータ要素の対応するデータ要素から減算し、第3のパック・データ内の複数の結果データ要素を生成するように構成された第5の回路と、 記憶域およびデコーダに結合され、第1のパック・データ内の各データ要素を同時に第2の複数のデータ要素の対応するデータ要素と比較するように構成され、さらに、各マスク要素が、対応する比較を表し、かつ対応する比較が真であるか、それとも偽であるかに基づいて第1の所定の値と第2の所定の値のどちらかをすべてのビットが有する複数のビットを含む、複数のマスク要素を有するパック・マスクを生成するように構成された第6の回路と、 記憶域およびデコーダに結合され、シフト命令に応答して、第1の複数のデータ要素の各データ要素を独立にシフト・カウントだけシフトするように構成された第7の回路とを備えることを特徴とするプロセッサ。26.さらに、 記憶域およびデコーダに結合され、乗算-加算命令に応答して、第1の複数のデータ要素の各データ要素を同時に第2の複数のデータ要素の対応するデータ要素に乗算して複数の中間結果データ要素を生成し、隣接する中間結果データ要素を同時に加算して第3のパック・データ内の複数の結果データ要素を生成するように構成された第8の回路を備えることを特徴とする請求項25に記載のプロセッサ。27.さらに、記憶域およびデコーダに結合され、ポピュレーション・カウント命令に応答して、少なくとも第1および第2の結果データ要素を有する結果パック・データを同時に生成するように構成された第9の回路を備え、第1の結果データ要素が、第1の複数のデータ要素の第1のデータ要素内の総数ビット・セットを表し、第2の結果データ要素が、第1の複数のデータ要素の第2のデータ要素内の総数ビット・セットを表すことを特徴とする請求項25に記載のプロセッサ。28.さらに、 記憶域およびデコーダに結合され、論理AND命令に応答して、第1の複数のデータ要素の各データ要素と第2の複数のデータ要素の対応するデータ要素との論理ANDを同時にとり第3のパック・データ内の複数の結果データ要素を生成するように構成された第10の回路と、 記憶域およびデコーダに結合され、第2の論理AND命令に応答して、第1の複数のデータ要素の各データ要素の逆数と第2の複数のデータ要素の対応するデータ要素との論理ANDを同時にとり第3のパック・データ内の複数の結果データ要素を生成するように構成された第11の回路と、 記憶域およびデコーダに結合され、論理OR命令に応答して、第1の複数のデータ要素の各データ要素と第2の複数のデータ要素の対応するデータ要素との論理ORを同時にとり第3のパック・データ内の複数の結果データ要素を生成するように構成された第12の回路と、 記憶域およびデコーダに結合され、論理OR命令に応答して、第1の複数のデータ要素の各データ要素の逆数と第2の複数のデータ要素の対応するデータ要素との論理ORを同時にとり第3のパック・データ内の複数の結果データ要素を生成するように構成された第13の回路とを備えることを特徴とする請求項25に記載のプロセッサ。29.第7の回路がさらに、各データ要素において、シフト・カウント数のビットに零を充填するように構成されることを特徴とする請求項25に記載のプロセッサ。30.第7の回路がさらに、各データ要素において、シフト・カウント数のビットにそれぞれのデータ要素の符号ビットを充填するように構成されることを特徴とする請求項25に記載のプロセッサ。31.第1の回路がさらに、第1の複数のデータ要素のうちの半数のデータ要素を同時に第2の複数のデータ要素のうちの半数のデータ要素にコピーするように構成されることを特徴とする請求項25に記載のプロセッサ。32.第1および第2の複数のデータ要素からコピーされる対応するデータ要素が、記憶域に、複数の結果データ要素として互いに隣接してコピーされることを特徴とする請求項31に記載のプロセッサ。33.第1の複数のデータ要素が、第1のパック・データ内と同じ順序でコピーされることを特徴とする請求項32に記載のプロセッサ。34.第2の回路によってコピーされる各データ要素の一部が、第1および第2の複数のデータ要素の各データ要素の下位ビットと上位ビットのどちらかであることを特徴とする請求項25に記載のプロセッサ。35.第1の複数のデータ要素の各部が、第3のパック・データに、複数の結果データ要素として互いに隣接してコピーされることを特徴とする請求項34に記載のプロセッサ。36.第1および第2の複数のデータ要素が、第1および第2のパック・データ内と同じ順序で第3のパック・データにコピーされることを特徴とする請求項35に記載のプロセッサ。37.第1および第2の複数のデータ要素がそれぞれ、各データ要素が32ビットを表す2つのデータ要素を含むことを特徴とする請求項25に記載のプロセッサ。38.第1および第2の複数のデータ要素がそれぞれ、各データ要素が16ビットを表す4つのデータ要素を含むことを特徴とする請求項25に記載のプロセッサ。39.第1および第2の複数のデータ要素がそれぞれ、各データ要素が8ビットを表す8つのデータ要素を含むことを特徴とする請求項25に記載のプロセッサ。40.プロセッサであって、 第1の複数のデータ要素を有する第1のパック・データを含むように構成された第1の記憶域と、 それぞれ、第1の複数のデータ要素のそれぞれの異なるデータ要素に対応する、第2の複数のデータ要素を有する第2のパック・データを含むように構成された第2の記憶域と、 第1の記憶域に対応する第1のアドレスと、第2の記憶域に対応する第2のアドレスと、第3の記憶域に対応する宛先アドレスと、少なくとも第1の複数のデータ要素に対して実行される演算とを示す命令を復号するように構成されたデコーダと、 記憶域およびデコーダに結合され、アンパック命令に応答して、第1および第2の複数のデータ要素のうちのある対応するデータ要素を、第3のパック・データ内の複数の結果データ要素として第3の記憶域に並行してコピーするように構成された第1の回路と、 記憶域およびデコーダに結合され、パック命令に応答して、第1および第2の複数のデータ要素の各データ要素の一部を、第3のパック・データ内の複数の結果データ要素として第3の記憶域に並行してコピーするように構成された第2の回路と、 記憶域およびデコーダに結合され、乗算命令に応答して、第1の複数のデータ要素の各データ要素を並行して第2の複数のデータ要素のそれぞれの異なる対応するデータ要素に乗算し、各データ要素が上位ビットまたは下位ビットのみを含む第3のパック・データ内の複数のデータ要素を生成するように構成された第3の回路と、 記憶域およびデコーダに結合され、加算命令に応答して、第1の複数のデータ要素の各データ要素を並行して第2の複数のデータ要素のそれぞれの異なる対応するデータ要素に加算し、第3のパック・データ内の複数のデータ要素を生成するように構成された第4の回路と、 記憶域およびデコーダに結合され、減算命令に応答して、第1の複数のデータ要素の各データ要素を並行して第2の複数のデータ要素のそれぞれの異なる対応するデータ要素から減算し、第3のパック・データ内の複数のデータ要素を生成するように構成された第5の回路と、 記憶域およびデコーダに結合され、第1のパック・データ内の各データ要素を並行して第2の複数のデータ要素のそれぞれの異なる対応するデータ要素と比較するように構成され、さらに、各マスク要素が、第6の回路が第1のパック・データ内の各データ要素を並行して第2の複数のデータ要素のそれぞれの異なる対応するデータ要素と比較することによって生成された対応する比較を表し、各マスク要素が、対応する比較が真であるか、それとも偽であるかに基づいて第1の所定の値と第2の所定の値のどちらかをすべてのビットが有する複数のビットを含む、複数のマスク要素を有するパック・マスクを生成するように構成された第6の回路と、 記憶域およびデコーダに結合され、シフト命令に応答して、第1の複数のデータ要素の各データ要素を独立にシフト・カウントだけシフトするように構成された第7の回路とを備えることを特徴とするプロセッサ。41.さらに、 記憶域およびデコーダに結合され、乗算-加算命令に応答して、第1の複数のデータ要素の各データ要素を並行して第2の複数のデータ要素のそれぞれの異なる対応するデータ要素に乗算して複数のデータ要素を生成し、第3の複数のデータ要素の隣接するデータ要素を並行して加算して第3のパック・データ内の第4の複数のデータ要素を生成するように構成された、第8の回路を備えることを特徴とする請求項40に記載のプロセッサ。42.さらに、記憶域およびデコーダに結合され、ポピュレーション・カウント命令に応答して、少なくとも第1および第2の結果データ要素を有する結果パック・データを並行して生成するように構成された、第9の回路を備え、第1の結果データ要素が、第1の複数のデータ要素の第1のデータ要素内の総数ビット・セットを表し、第2の結果データ要素が、第1の複数のデータ要素の第2のデータ要素内の総数ビット・セットを表すことを特徴とする請求項41に記載のプロセッサ。43.さらに、 記憶域およびデコーダに結合され、論理AND命令に応答して、第1の複数のデータ要素の各データ要素と第2の複数のデータ要素のそれぞれの異なる対応するデータ要素との論理ANDを並行してとり第3のパック・データ内の複数のデータ要素を生成するように構成された第10の回路と、 記憶域およびデコーダに結合され、第2の論理AND命令に応答して、第1の複数のデータ要素の各データ要素の逆数と第2の複数のデータ要素のそれぞれの異なる対応するデータ要素との論理ANDを並行してとり第3のパック・データ内の複数のデータ要素を生成するように構成された第11の回路と、 記憶域およびデコーダに結合され、論理OR命令に応答して、第1の複数のデータ要素の各データ要素と第2の複数のデータ要素のそれぞれの異なる対応するデータ要素との論理ORを並行してとり第3のパック・データ内の複数のデータ要素を生成するように構成された第12の回路と、 記憶域およびデコーダに結合され、論理OR命令に応答して、第1の複数のデータ要素の各データ要素の逆数と第2の複数のデータ要素のそれぞれの異なる対応するデータ要素との論理ORを並行してとり第3のパック・データ内の複数のデータ要素を生成するように構成された第13の回路とを備えることを特徴とする請求項42に記載のプロセッサ。44.第7の回路がさらに、論理シフト命令に応答して、第1の複数のデータ要素の各データ要素を並行して論理的にシフトするように構成され、各データ要素内のシフト・カウント数のビットに零が充填されることを特徴とする請求項40に記載のプロセッサ。45.第7の回路がさらに、演算シフト命令に応答して、第1の複数のデータ要素の各データ要素に対して演算シフトを独立にかつ並行して実行するように構成され、各データ要素内のシフト・カウント数のビットにそれぞれのデータ要素の符号ビットが充填されることを特徴とする請求項40に記載のプロセッサ。46.第1の回路がさらに、アンパック命令に応答して、第1の複数のデータ要素のうちの半数のデータ要素と第2の複数のデータ要素のうちの半数のデータ要素を並行してコピーするように構成されることを特徴とする請求項40に記載のプロセッサ。47.第1および第2の複数のデータ要素からコピーされる対応するデータ要素が、第1の回路によって、第3の記憶域に、第3の複数のデータ要素として互いに隣接して配置されることを特徴とする請求項46に記載のプロセッサ。48.第1の回路によってコピーされる第1の複数のデータ要素がそれぞれ、第1のパック・データ内と同じ順序で第3のパック・データにコピーされることを特徴とする請求項47に記載のプロセッサ。49.第2の回路によってコピーされる各データ要素の一部が、第1および第2の複数のデータ要素の各データ要素内の半数のビットであることを特徴とする請求項40に記載のプロセッサ。50.第2の回路によってコピーされる各データ要素の一部が、第1および第2の複数のデータ要素の下位ビットと上位ビットのどちらかであることを特徴とする請求項49に記載のプロセッサ。51.第2の回路によって第1の複数のデータ要素のデータ要素からコピーされる部分が、第3の複数のデータ要素内に隣接して配置されることを特徴とする請求項50に記載のプロセッサ。52.第1および第2の複数のデータ要素からコピーされる部分が、第1および第2のパック・データ内と同じ順序で第3のパック・データにコピーされることを特徴とする請求項51に記載のプロセッサ。53.第1および第2の複数のデータ要素がそれぞれ、各データ要素が32ビットを表す2つのデータ要素を含むことを特徴とする請求項40に記載のプロセッサ。54.第1および第2の複数のデータ要素がそれぞれ、各データ要素が16ビットを表す4つのデータ要素を含むことを特徴とする請求項40に記載のプロセッサ。55.第1および第2の複数のデータ要素がそれぞれ、各データ要素が8ビットを表す8つのデータ要素を含むことを特徴とする請求項40に記載のプロセッサ。
IPC (2件):
G06F 9/30 350 ,  G06F 5/00
FI (2件):
G06F 9/30 350 E ,  G06F 5/00 D
引用特許:
審査官引用 (2件)
  • マイクロプロセッサ
    公報種別:公開公報   出願番号:特願平5-056792   出願人:株式会社日立製作所
  • 特開平3-268024

前のページに戻る