工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 産業技術

ルックアップテーブル

前の章でデジタルメモリデバイスについて学習したことで、ソリッドステートデバイス内にバイナリデータを格納できることがわかりました。ソリッドステートメモリデバイス内のこれらのストレージ「セル」は、デバイスの「アドレス」ラインを適切なバイナリ値で駆動することにより、簡単にアドレス指定できます。

ROMのアドレスラインが入力として機能し、ROMのデータラインが出力として機能し、特定の論理関数の特徴的な応答を生成するように、特定のデータで書き込まれた、またはプログラムされたROMメモリ回路があるとします。理論的には、このROMチップをプログラムして、ワイヤ接続やゲートを変更することなく、必要な論理機能をエミュレートすることができます。

ハーフアダーの機能でプログラムされた4x 2ビットROMメモリ(非常に小さなメモリ!)の次の例を考えてみましょう。

このROMが上記のデータ(半加算器の真理値表を表す)で書き込まれている場合、AおよびBアドレス入力を駆動すると、ROMチップ内のそれぞれのメモリセルが有効になり、対応するデータがΣ(合計)およびC out ビット。ゲートやリレーで構成された半加算器回路とは異なり、このデバイスは、半加算器機能だけでなく、2つの入力と2つの出力ですべての論理機能を実行するように設定できます。

ロジック機能を変更するには、別のデータテーブルを別のROMチップに書き込むだけです。自由に書き直すことができるEPROMチップを使用することもでき、機能に究極の柔軟性をもたらします。

デジタル回路に適用されるこの原理の重要性を認識することは非常に重要です。一方、ゲートまたはリレーから構築されたハーフアダーはプロセス 特定の出力に到達するための入力ビット、ROMは単に覚えている 入力の任意の組み合わせに対する出力はどうあるべきか。

これは、小学校で記憶されている「九九」と大差ありません。5×6(5 + 5 + 5 + 5 + 5 + 5 =30)の積を計算するのではなく、学童は覚えておくように教えられています。その5x 6 =30であり、必要に応じてこの製品をメモリから呼び出すことが期待されます。同様に、ハードワイヤードゲートまたはリレー(ハードウェア)の機能配置に依存する論理機能ではなく、メモリ(ソフトウェア)に書き込まれるデータのみに依存します。

すべての入力に対して明確な出力を持つこのような単純なアプリケーションは、ルックアップテーブルと呼ばれます。 、メモリデバイスは、入力状態の任意の組み合わせに対して出力がどうあるべきかを単に「検索」するためです。

論理機能を実行するためのメモリデバイスのこのアプリケーションは、いくつかの理由で重要です。

ルックアップテーブルの有用性は、関数の複雑さが増すにつれてますます明らかになります。 ROMを使用して4ビット加算回路を構築したいとします。 8本のアドレスライン(2本の4ビット数を足し合わせる)と4本のデータライン(符号付き出力用)を備えたROMが必要です:

このROMチップに256のアドレス可能なメモリ位置があるので、かなりの量のプログラミングを行う必要があり、バイナリ入力のすべての組み合わせに対してどのバイナリ出力を生成するかを指示します。

また、注意しないと、プログラミングを間違えるリスクがあり、誤った合計が出力されることになります。ただし、ソフトウェアだけでこの機能(または任意の機能)を構成できる柔軟性は、通常、そのコストを上回ります。

上記の「加算器」で実装できる高度な機能のいくつかを考えてみましょう。 2の補数の符号付き表記で2セットの数値を追加すると、答えがオーバーフローするリスクがあることがわかっています。

たとえば、4ビットの数値フィールドのみを使用して0111(10進数の7)を0110(10進数の6)に追加しようとすると、正しい値13(7)ではなく1001(10進数の-7)が返されます。 + 6)、4つの符号付きビットを使用して表現することはできません。必要に応じて、オーバーフローが発生することがわかっている条件(つまり、実際の合計が+7を超える場合)で他の何かを出力するようにこのルックアップテーブル回路をプログラミングすることで、オーバーフロー条件で与えられる奇妙な答えを回避できます。または-8)。

1つの代替方法は、数量0111(4つの符号付きビットで表すことができる最大の正の値)または通常のオーバーフローされた「エラー」値よりもアプリケーションに適していると判断したその他の値を出力するようにROMをプログラムすることです。通常の加算回路が出力します。論理ゲート機能の制約に制限されなくなったため、この回路で何をしたいかを決めるのはプログラマー次第です。

可能性は、カスタマイズされたロジック機能にとどまりません。 256 x 4 ROMチップにアドレス行を追加することで、ルックアップテーブルを拡張して複数の機能を含めることができます。

アドレスラインがさらに2つあると、ROMチップのアドレス数は以前の4倍になります(256ではなく1024)。このROMは、A8とA9の両方がローのときに、出力データが sum を表すようにプログラムできます。 以前の256x 4 ROM回路と同じように、アドレスラインA0からA7に入力された2つの4ビット2進数の組み合わせ。

アドレスA8 =1およびA9 =0の場合、を出力するようにプログラムできます。 (減算)最初の4ビットの2進数(A0からA3)と2番目の2進数(A4からA7)の間。アドレスA8 =0およびA9 =1の場合、ROMをプログラムして、2つの数値の差(減算)を逆の順序(2番目-最初の-秒ではなく最初の-秒)で出力し、最後にアドレスA8 =1の場合に出力します。 A9 =1の場合、ROMは、2つの入力を比較し、等式または不等式の表示を出力するようにプログラムできます。

その場合、プログラムされた回答をすべて「検索」することにより、4ビットの2進数に対して4つの異なる算術演算を実行できるデバイスが得られます。

2つ以上のアドレスラインが追加されたROMチップを使用した場合は、2つの4ビット入力で実行するさまざまな機能を使用してプログラムすることができます。バイナリデータに固有の操作(パリティチェックやビットの排他的OR処理など)がいくつかあり、このようなルックアップテーブルにプログラムしておくと便利です。

このようなデバイスは、バイナリ入力コードで指定されたさまざまな算術タスクを実行でき、算術論理演算装置と呼ばれます。 (ALU)であり、コンピューター技術の重要なコンポーネントの1つを構成します。最近のALUは、速度の理由から非常に複雑な組み合わせ論理(ゲート)回路で構成されていることがよくありますが、適切なルックアップテーブルでプログラムされた「ダム」ROMチップを使用すると、まったく同じ機能が複製される可能性があることを知っておくと安心です。 (s)。

実際、この正確なアプローチは、1959年にIBMのエンジニアが、バイナリ加算器回路ではなくルックアップテーブルを使用して加算を実行するIBM1401および1620コンピューターの開発に使用されました。このマシンは、「 C 」の略である「CADET」として親しまれていました。 A dd、 D E ではありません ven T ry。」

ルックアップテーブルROMの非常に一般的なアプリケーションは、カスタム数学関数を表す必要がある制御システムです。このようなアプリケーションは、自動車エンジン用のコンピューター制御燃料噴射システムに見られます。このシステムでは、効率的でクリーンな操作のための適切な空燃比が、いくつかの環境変数および操作変数によって変化します。

研究所でエンジンに対して実行されたテストは、エンジン負荷、周囲温度、および気圧のさまざまな条件に対するこれらの理想的な比率が何であるかを決定します。変数はセンサートランスデューサーで測定され、それらのアナログ出力はA / D回路でデジタル信号に変換され、これらの並列デジタル信号は、空気/燃料比の最適なデジタル値を出力するようにプログラムされた大容量ROMチップへのアドレス入力として使用されます。これらの特定の条件のいずれか。

ROMは、デジタル化された信号値を「修正」して実際の重要性をより正確に表すために、1次元のルックアップテーブル関数を提供するために使用される場合があります。このようなデバイスの例は、熱電対送信機です。 、異種金属の接合部によって生成されたミリ電圧信号を測定し、直接するはずの信号を出力します。 その接合部温度に対応します。

残念ながら、熱電対接合部は完全に線形の温度/電圧応答を持たないため、生の電圧信号は温度に完全に比例しません。電圧信号をデジタル化し(A / D変換)、そのデジタル値を必要な補正値でプログラムされたROMのアドレスに送信することにより、ROMのプログラミングにより、熱電対の温度とミリ電圧の関係の非線形性の一部を排除できます。デバイスの最終出力はより正確になります。

このようなルックアップテーブルの一般的なインストルメンテーション用語は、デジタル特性化です。 。

ルックアップテーブルのもう1つのアプリケーションは、特別なコード変換です。たとえば、128 x 8 ROMを使用して、7ビットASCIIコードを8ビットEBCDICコードに変換できます。

繰り返しになりますが、必要なのは、ROMチップを必要なデータで適切にプログラムして、有効な各ASCII入力が対応するEBCDIC出力コードを生成するようにすることだけです。

関連ワークシート:


産業技術

  1. リフティングテーブルの紹介
  2. デジタルメモリの用語と概念
  3. 読み取り専用メモリ(ROM)
  4. マイクロプロセッサ
  5. C 動的メモリ割り当て
  6. Cervozは次世代DDR4-2666メモリをアップグレードします
  7. AIは磁気を使用して人間のような効率を達成できます
  8. C - メモリ管理
  9. C++ 動的メモリ
  10. Java 10 - ヒープ割り当て
  11. ラダーロジック202:メモリ構成