📄 8_4.htm
字号:
</blockquote>
<p align="left"><font color="#666666" size="4"><b>下图中a
型是单总线型,三种类型合用一根总线(基板,I/O,CPU-Memory),I/O主存统一编址,异步方式工作,便于扩展。</b></font></p>
<p align="left"><font color="#666666" size="4"><b>多总线目的是使I/0总线与CPU-Memory总线隔离,有关I/O通信交I/O处理器(适配器)控制处理。</b></font></p>
<blockquote>
<p align="left"><font color="#666666" size="4"><b>a、<img border="0" src="_derived/buses总线.htm_txt_h.gif" align="top" width="612" height="176"></b></font></p>
</blockquote>
</blockquote>
<p align="left"> </p>
<blockquote>
<blockquote>
<p align="left"><font color="#666666" size="4"><b>b、<img border="0" src="_derived/buses总线.htm_txt_i.gif" align="top" width="645" height="279"></b></font></p>
</blockquote>
</blockquote>
<p align="left"> </p>
<blockquote>
<blockquote>
<p align="left"><font color="#666666" size="4"><b>c、<img border="0" src="_derived/buses总线.htm_txt_j.gif" align="top" width="608" height="323"></b></font></p>
</blockquote>
</blockquote>
<p align="left"><b><font color="#666666" size="4">4、通信协议分类:同步与异步(Synchronous
and Asynchronous Buses)</font></b></p>
<blockquote>
<p align="left"><font color="#666666" size="4"><b>1)同步通信:通信双方按照固定的时钟序列传递信息,例如:<img border="0" src="_derived/buses总线.htm_txt_k.gif" width="608" height="309"></b></font></p>
<p align="left"><font color="#666666" size="4"><b>缺点:代价高,同步偏移;优点:方便,速度快。</b></font></p>
<p align="left"><font color="#666666" size="4"><b>2)、异步总线,不要时钟同步,适合各种设备,总线长度不受限制,发送者和接收者之间要有握手协议handshaking
protocol</b></font></p>
<blockquote>
<p align="left"><font color="#666666" size="4"><b>例如:数据输出</b></font></p>
<blockquote>
<p align="left"><font color="#666666" size="4"><b>原理图:<img border="0" src="_derived/buses总线.htm_txt_l.gif" width="427" height="156"></b></font></p>
<p align="left"><b><font color="#666666" size="4">ReadReq——读请求,由接收器--->发送器;</font></b></p>
<p align="left"><b><font color="#666666" size="4">ACK——assert信号,回答送给请求方,确证ReadReq收到;</font></b></p>
<p align="left"><b><font color="#666666" size="4">DataRdy——数据准备好,送接收方,可从数据线上取走数据。</font></b></p>
<p align="left"><font color="#666666" size="4"><b>异步通信握手协议工作波形图:</b></font></p>
<p align="left"><font color="#666666" size="4"><b><img border="0" src="_derived/buses总线.htm_txt_m.gif" width="608" height="287"></b></font></p>
<p align="left"><b><font color="#666666" size="4">通讯过程通过握手信号上升,下降沿互锁,确定过程完整性。</font></b></p>
</blockquote>
</blockquote>
</blockquote>
<h1 align="left"><font color="#666666" size="4"><b>
<a name="图"><img border="0" src="_derived/buses总线.htm_txt_n.gif" width="533" height="581"></a></b></font></h1>
<blockquote>
<p align="left"><font color="#666666" size="4"><b>异步通信问题:产生同步失效(sychronization
failure),握手协议(handshaking protocol)不解决异步通信的所有问题;</b></font></p>
</blockquote>
<p align="left"> </p>
<blockquote>
<p align="left"><font color="#666666" size="4"><b>采样异步信号(sample)产生问题,解决方法之一:<img border="0" src="_derived/buses总线.htm_txt_o.gif" width="668" height="237"></b></font></p>
<p align="left"><font color="#666666" size="4"><b>之二:</b></font></p>
</blockquote>
<p align="left"><font color="#666666" size="4"><b> <img border="0" src="_derived/buses总线.htm_txt_P.gif" width="415" height="172"></b></font></p>
<blockquote>
<p align="left"><font color="#666666" size="4"><b>异步通信问题:亚稳定性meta
stability</b></font></p>
<blockquote>
<p align="left"><font color="#666666" size="4"><b>(1)同步失效 synchronization
failure</b></font></p>
<blockquote>
<p align="left"><font color="#666666" size="4"><b>
因为接受方,发送方所用的时钟不同,sample 采 样的异步信号就要出问题 </b></font></p>
<p align="left"><font color="#666666" size="4"><b> 同步器:synchromizer常用方法:用时钟采样,保存在触发器中,再来检测触发器状态,确证ReadReq</b></font></p>
<blockquote>
<p align="left"><b><font size="4"><font color="#666666">例1:用有限状态机表达异步通信请求应答过程,</font><a href="#图"><font size="3" color="#0099FF">见图</font></a></font></b></p>
<p align="left"><b><font color="#666666" size="4">例2:试比较同步与异步总线的最大带宽。</font></b></p>
<p align="left"><b><font color="#666666" size="4">设同步总线的时钟周期时间是50ns,每个总线事务花一个时钟周期,异步总线每一次握手协议联络需40ns。</font></b></p>
<p align="left"><b><font color="#666666" size="4">例:总线数据部分宽度32位,当从200ms的存储器读一个字时,每一种总线的带宽是多少?</font></b></p>
<p align="left"><b><font color="#666666" size="4">解:1)同步通信:发送地址:50ns;读数据200ns;从存储器送数据到设备:50ns。因此,传送4字节需300ns。</font></b></p>
<p align="left"><b><font color="#666666" size="4">输出最大带宽=4Bytes/300ns=4MB/0.3s=13.3MB/秒</font></b></p>
</blockquote>
</blockquote>
</blockquote>
<p align="left"><font color="#666666" size="4"><b>3)
异步通信:初看起来要慢很多</b></font></p>
</blockquote>
<p align="left"><font color="#666666" size="4"><b>
第1步:40 ns;</b></font></p>
<p align="left"><font color="#666666" size="4"><b>
第2,3,4步:(3次握手检测:3*40,读出数据:200ns)=200ns(取最大)</b></font></p>
<blockquote>
<blockquote>
<p align="left"><font color="#666666" size="4"><b>第 5,6,7步:3*40=120ns</b></font></p>
</blockquote>
</blockquote>
<p align="left"><font color="#666666" size="4"><b>
总和:300ns</b></font></p>
<blockquote>
<p align="left"><font color="#666666" size="4"><b> 传输带宽(bandwidth)=4B/360ns=4MB/0.36秒=11.1MB/秒</b></font></p>
<p align="left"><font color="#666666" size="4"><b> (13.3-11.1)/11=0.198=0.20=20%</b></font></p>
<p align="left"><font color="#666666" size="4"><b> 可见同步总线比异步总线传递数据快20%左右。</b></font></p>
<p align="left"><font color="#666666" size="4"><b>选择总线设计方案有哪些因素:</b></font></p>
<p align="left"><font color="#666666" size="4"><b>(1)吞吐率——带宽;(2)I/O系统的能力、距离、连接到总线的设备数量。</b></font></p>
<p align="left"><font color="#666666" size="4"><b>异步总线的显著特征是:(1)对技术改变的伸缩性强;(2)能支持响应速度各异的各类设备。</b></font></p>
<p align="left"><font color="#666666" size="4"><b>因此:I/O总线通常用Asynchronous
buses。</b></font></p>
</blockquote>
<p align="left"><b><font color="#666666" size="4">4、增加总线频带宽度的方法:传输速率</font></b></p>
<p align="left"><font color="#666666" size="4"><b> (1)增加数据总线宽度,用多字传送,只花拆、拼字的少量开销;</b></font></p>
<p align="left"><font color="#666666" size="4"><b> (2)使地址线与数据线分开传送,增加信号线;</b></font></p>
<p align="left"><font color="#666666" size="4"><b> (3)成块传送,不要每传送一个发送一个地址,发一个地址后,成块传送。</b></font></p>
<p align="left"><b><font color="#666666" size="4">5、分离式总线协议splite
protocol</font></b></p>
<p align="left"><font color="#666666" size="4"><b>总线的传输活动可以归结为主要的三项活动:</b></font></p>
<p align="left"><font color="#666666" size="4"><b> (1)主模板向属模板发送地址和请求命令;</b></font></p>
<p align="left"><font color="#666666" size="4"><b> (2)属模板依据命令进行读写的必要准备和活动;</b></font></p>
<p align="left"><font color="#666666" size="4"><b> (3)属模板向主模板提供数据。</b></font></p>
<p align="left"><font color="#666666" size="4"><b>上述第二步系统总线需等属模板读出数据,因此,分离式总线要充分利用这点,特别对高速系统,即在总线空等时,让其他请求者是使用,能提高整个系统的效率和带宽。</b></font></p>
<p align="left"><font color="#666666" size="4"><b><img border="0" src="_derived/buses总线.htm_txt_q.gif" width="685" height="176"></b></font></p>
<p align="left"><font color="#666666" size="4"><b>地址、命令与传送数据,在总线上分为二个非连接的时间片。</b></font></p>
<p align="left"><b><font color="#666666"><font size="4">
<a href="#一"></a></font></font>
<font size="4">
<a href="#一"><font color="#66CCFF">返回页首</font></a></font></b></p>
<p align="left"> </p>
<p align="left"><b><font size="4"><a name="三、总线判优控制"><font color="#666666">三、总线判优控制</font></a><font color="#666666">(obtaiming Access
to the Bus)</font></font></b></p>
<p align="left"><font color="#666666" size="4"><b>名词解释:总线主模块Bus master,总线从模块Bus
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -