264.IOポートは、モード定義&&&符号化されたアドレス割り当てをアドレッシング

1.IOポートの定義

1.1 I/O端口

ポート(ポート)インターフェース回路のCPUはレジスタを直接アクセスすることができます。即ち、CPUポートによってステータスを読み取り、データを送信する、インターフェース回路レジスタコマンドにこれらのアドレスを送信し、したがって、インタフェースは、それぞれステータスレジスタに対応し、そのようなポート状態、ポートのデータおよびコマンドポートとして複数のポートを有することができ、データ・レジスタそして、コマンドレジスタ。


●ステータスポート
ステータスポート(州ポート)は、主に外部機器の現在の状態を示すために使用されます。各状態は、バイナリビットで表され、各外部装置は、CPUによって読み取り可能ないくつかの状態ビットを有することができる外部装置、プログラム決意の流れの状態をテストまたは確認します。一般的な共通のインタフェース回路ステータスビットビット(レディ)レディ、外部デバイスビジービット(ビジー)、ビットエラー(エラー)など。

 

●データポート

データの外部装置にCPUに送信されたデータ、およびCPUの出力を格納するためのデータポート(データポート)外部デバイス。これらのデータは、ホストと外部デバイスとの間の情報の基本的な交換であり、長さは、典型的には1~4バイトです。データポートバッファからメインデータ。

 

●portコマンド

ポートコマンド(コマンドポート)は、また、界面のCPU、またはデバイスの動作を制御するためのインタフェースによって発行された種々のコマンドおよび制御ワードを格納するための、制御ポート(制御ポート)としても知られています。異なる機能をインターフェイス、インターフェイスチップ構造は、制御ワードのフォーマットとコンテンツ異なる性質異なります。プログラマブルインタフェースチップは、一般的に作業コマンドワード、操作のコマンド・ワードなどを持っている傾向があります。

 

1.2 I / O操作

一般的にI / O操作と呼ぶ代わりに、I / Oデバイスの操作のI / Oポート、アクセスI / Oポートデバイスではなく、I / Oデバイス自体に関連付けられている、すなわちCPUの動作を指し。I / O操作は、ポート上のCPUレジスタの読み取りおよび書き込み操作です。CPUステータスポートは、読み出し動作、外部デバイスまたはインターフェース自体のステータス・コードを得ることが可能である; CPUデータポートは、動作がインタフェースに接続された外部機器とのデータ転送後に行われる読み取りまたは書き込みビット制御の複数のCPU制御ポートへのコードは、インタフェース手段又は外部装置は、外部装置インターフェースまたはワークの要件によって必要とされる制御指令を発します。

 

 

 

 

2.アドレッシングモード

メモリやI / Oポートアドレス指定を統一し、I / Oポートは個別にアドレス:I / Oポートは、主に2つの方法があります対処します。

 

(1)アドレッシング統一

記憶部、同じアドレス指定されたメモリセルのようなI / Oポート、すなわち、それぞれ、全メモリ空間に使用周辺ポートのアドレス空間の一部を分割する手段をアドレッシング統一、すべての命令は、メモリにアクセスするために利用することができますアクセスI / Oポートは、いわゆる専用のI / O命令、設けることなくモード、図1-9に示した分布のアドレス空間をアドレス指定するI / Oメモリにマップされました。モトローラMC6800と、このようなこのアクセスI / Oデバイスの使用上のよう68HC05プロセッサ。
これの利点は:大きなI / Oポートアドレス空間、ポートの取扱説明書には、強力な、機能的、柔軟かつ便利に使用することです。
この方法の欠点は、メモリ容量によって占められるメモリのポートアドレス空間が低減され、追加の命令長/ O命令を実行するために、長い特別な私よりもこれより遅くなることです。

 

 

(2)独立したアドレッシング

独立したアドレッシングが個別にアドレス指定可能なシステムI / Oポートを指し、メモリセルのアドレス空間は、I独立空間/ Oポートアドレス空間分布にアクセスするために特殊なI / O命令を使用して、それぞれ独立して、互いに分離されています図1-10に示されている場合。アドレッシングモードでは、このシステムの利用に関する8088分の8086。
利点:メモリセルは、より単純な、短いポート長指示操作が高速化されたアドレスデコーダ、実効アドレス空間を占有しません。
二つ以上のI / Oアドレッシングモードは、長所と短所は、CPUの異なる種類の外部機器の特性に応じて様々な方法で調製することができる持っています。

 

 

 

符号化技術3. I / Oポートアドレスの割り当てアドレス

プロジェクト名:

セットI / Oポートアドレスデコーダ回路の6デザイン

 

プロジェクトの要件と目的:

(1)プロジェクトの要件:方法およびアドレスデコードは74LS138デコーダを理解することにより、プロジェクトの作品。
:(2)プロジェクトは、を目指して
真理値表74LS138デコーダを理解します●。
●方法デコーダI / Oポートアドレスを理解しています。

 

プロジェクトの説明:

74LS138デコーダは、8つの出力、の項目のみ6を有しています。そしてA5〜A9 74LS138デコーダを介して、高アドレス線5は、DMAコントローラ8237A、8259A割り込みコントローラ、タイマ/カウンタ8254、インターフェースチップ8255Aのチップセレクト信号等のパラレルインタフェース、及び下位アドレス線5を発生させます内部インタフェースチップアクセスアドレスレジスタとしてビットA0〜A4。真理値表から明らか74LS138デコーダ、アドレスが000〜01XHである場合、出力が低く、8237Aを選択するには、A0〜A3は8237Aを受信下位アドレス線ので、8237Aはそうポートアドレス000H〜01FHです。このよう8259Aチップ選択アドレス02X〜03XH、020〜03FHのポートアドレスなど、その他の類似およびポート。

 

 プロジェクト回路図:

図1-9に示されているI / Oポートアドレスデコーダ回路の6群。回路は、アドレスバス、制御バス、及びゲート74LS138デコーダ回路で構成されています。

 

 

 

3.1アドレス割り当て

I / Oポートアドレスの割り当て

異なるIを使用してコンピュータシステムの異なる種類/ Oは分裂I / Oアドレス空間のプレゼンテーションに取り組むも異なっています。80×86に、独立した、16ビットのプレゼンテーションでは、I / Oポートアドレスの最大アドレス範囲は64Kに対処します。しかし、IBM-PC互換機およびその設計、マザーボードのみ10ビットI / Oポートアドレスライン、したがってI / Oデジタルポート1024、アドレス空間0000H〜03FFH、フロントをサポートマザーボードに割り当てられた512のポートは、ポート512は、従来の拡張スロットの周辺に割り当てられています。後でPC内/システムAT、調整は、表1-2に示すように、システムボードI / Oインターフェースチップの最初の256個のポート(000〜0FFH)が、使用された、なされてきました。768後(100〜3FFH)表1-2に示すように、溝を使用して拡張I / Oインタフェース制御カード。I / Oデバイスの構成によれば、I / Oハードウェアインタフェースは2つのカテゴリに分類されます。

(1)システムボードI / Oインタフェース

システムボードは、I / Oインターフェースは、内側パネルのインタフェースと呼ばれ、対応する動作内に完了するようにプログラム可能なLSI、インタフェースボードにアドレス指定されます。タイマ/カウンタ、割り込みコントローラ、DMAコントローラ、パラレルインターフェース。大規模集積回路の開発により、I / Oインターフェースチップやコントローラ等サウス/ノースブリッジ、MCH / ICHを、という名前の、マザーボードのチップセットを形成し、一つまたはいくつかの作品LSIチップに統合されています。表1-2に示す各種インタフェースチップは、マザーボード上の目に見えるが、それでも(一般的にサウスブリッジで)マザーボードチップセットで完全に存在しないが、そのボードアドレスは変わりません。

 

 

I(2)拡張カード/ Oインターフェイスで

主にシステムバスとCPUシステムを介して接続され、マザーボード・インターフェース・カード上の拡張カードコネクタソケットを指します。これらの拡張カードは、一般的にいくつかの集積回路で構成され、表1-3に示すように、フロッピー(登録商標)カード、ハードドライブカード、グラフィックカード、サウンドカード、印刷されたカード、シリアル通信カード、等のように、特定のメンバーによって得られた論理を形成します。

 

 

3.2デコード

I / Oポートアドレスデコーダ

マイクロコンピュータシステムは、複数のインタフェースを有する内部インタフェースは、多くの場合、CPUは、別のポートアドレスによって区別される、複数のポートを含みます。CPUは、チップ選択ポートにアドレスを送信し、アドレスデコード回路に基づいて区別されます。CPUは、あなたが良いポートアドレス変換を置くことができるように、その後、I / O、効果的な制御信号やTORを読み書き、I / Oポートは、サイクルを読み書き入力し、ポートアドレスは最初、この時点で有効であり、入力と出力命令を実行するたびにコード生成手段の信号を復号化またはI / Oポートは、読み取りまたは書き込みの制御と組み合わせます。多くのインタフェースアドレス復号方法は、次のように二種類を記載しています。
(1)ゲート回路I / Oポートアドレスデコーダ
ゲート回路は、デコードANDゲート、NANDゲート、インバータ、論理ゲートを使用することでも、そのような74LS20,74LS30,74LS32,74LS08,74LS04などの他の単純な装置、等、デコーダ回路を構成します。これは、基本的なI / Oポートアドレス復号化方法は、一例として、設計方法により、以下に説明するあります。

 

[実施例1-5] 74LS20 / 30/32 74LS04を使用して設計し、I / Oポートアドレスは、読み取り専用である2F8H回路を復号します。
分析:2F8Hポート・アドレスを生成するために、表1-4に示すように、入力されたアドレスデコード回路は、値を有するべきです。

设计:按照表1-4中地址表的值,采用门电路就可以设计出译码电路,如图1-10(a)所示。
图1-10(a)中AEN信号必须参加译码,因为AEN为高电平时,I/O处于DMA方式,或信号由DMA控制器发出;AEN为低电平时,I/O处于正常方式,或信号由CPU发出。因为该接口电路中I/O处于正常方式,AEN必须为低电平,故用AEN信号参加译码来区分这两种方式。

同理可设计出能执行读/写操作的2E2H端口地址的译码电路,如图1-10(b)所示。

 

 

(2)译码器进行I/O端口地址译码

若接口电路中需要使用多个端口地址,则可采用译码器来进行译码。译码器的型号有很多,常用的译码器有3-8译码器74LS138;4-16译码器74LS154;双2-4译码器74LS139、74LS155等。下面通过举例来说明设计方法。

【例1-6】 使用74LS138设计一个系统板是上接口芯片的I/O端口地址译码电路,并且让每个接口芯片内部的端口数目为32个。
分析:由于系统板上的I/O端口地址分配在000~0FFH范围内,故只使用低8位地址线,这意味着A9和A8两位应赋0值。为了让每个被选中的芯片内部拥有32个端口,只要留出5根低地址线不参加译码,其余的高位地址线作为74LS138的输入线,参加译码,或作为74LS138的控制线与AEN一起,控制74LS138的译码是否有效。由上述分析,可以得到译码电路输入地址线的值,如表1-5所示。

 

对于译码器74LS138的分析有两点:一是它的控制信号线G1、和。只有当满足控制信号线G1为高电平, ==0时,74LS138才能进行译码。二是译码的逻辑关系,即输入(C,B,A)与输入(Y0~Y7)的对应关系。74LS138输入/输出的逻辑关系,如表1-6所示。

 

从表1-6可知,若满足控制条件,即G1为高电平, ==0,则由输入端C、B、A的编码来决定输出:CBA=000,则为低电平,其他输出端为高电平;CBA=001,为低电平,其他输出端为高电平;…;CBA=111,为低电平,其他输出端为高电平。由此可分别产生8个译码输出信号(低电平)。若控制条件不满足,则输出全“1”,不产生译码输出信号,即译码无效。

 

おすすめ

転載: www.cnblogs.com/ZanderZhao/p/11488775.html