0944
之所以我们讨论LIP,主从之间,上下游之间,能够互相叫停,互相握手,互相制约,要满足什么样的条件呢?
就是满足一个最基本的条件。最基本的要求。
就是数据传输不会发生错误。这是最基本的。
在满足最基本的条件之下,对它做优化。
什么是不发生错误呢?
上游和下游之间进行传输的时候,或者是主机和从机进行数据传输的时候,数据不多不少,并且主从之间都有叫停。
随时叫停。
主从之间互相制约的情况之下,数据仍然做到不多不少。
也可能我们同学觉得这并不难。
我们自己写一个也能做到这一点。
在保证数据不会丢失的情况之下,你要保证它的效率,能够连续地传输。
0945
什么是连续传输呢?
就是第一个节拍,一个数,第二个节拍,也是一个数。
如果你能保证连续传输,能保证它的效率,每一拍都有数据,就像我们做图像一样,我们做流水线。
如果它支持流水线,支持连续的数据传输,同时主从之间,上下游之间,都可以任意叫停,数据又不丢失,不多也不少。
为了满足这三点,必须要按照一定的规则来做。
现在我们说的一个规则,就是称之为典型的读写时序。
典型的读写时序,指的是什么呢?
0946
刚才我们讲了,主机发主控信号,从机发辅助的控制信号,主机可以叫停从机,在现在我们这张图上,主机发地址。
还有一个信号叫byte enable,字节使能,这个信号的含义我们暂时放一放,稍后再说。
有write data,是写数据。
Q是read data,两个方向。
并且呢,主机发主控的命令。
主控的命令有什么呢?
在这张图上。
有读和写。
0947
读写是主机的主导命令。
是由主机说了算的。
主机说读就读,说不读就不读。
说写就写,说不写就不写。
完全由主机说了算。
主机是老大。
并且呢,这是一个存储器映射。
主机要发地址。
读写是主机说了算,地址一定是主机发。
在这种情况之下,主机如何来控制主导这些传输呢?
主机说读就读,说不读就不读。
说写就写,说不写就不写。
完全由主机说了算。
主机说走就走,说停就停。
所以说主机自然是主导。
主控信号。
主机有叫停从机的权利。
0948
从机有响应主机叫停的义务。
才能做到我刚才说的那三点。
但是在主从传输里面,不仅考虑了主机的权利。
主机有叫停的权利,从机有响应主机叫停的义务。
但是,在这次传输里面,也可以说从机的权利。
从机也可能叫停主机。
如果我们设计里面,存在这样的问题的话,你就可以引用它。
从机叫停主机。
从机怎么叫停主机呢?
这个呢,也可以说是LIP这门课程的重点。
现在我们采用的是第一种方式。
0949
被称为典型的方式。
从机叫停主机,使用的是一个叫做waitrequest的一根线。
这根线是辅助性的一根线。
等待请求。
用这根线来叫停主机。
这根线是从机发的,从机来叫停主机。
主机有叫停从机的权利,从机有响应主机叫停的义务。
从机它有辅助控制的权利。
0950
从机也有叫停主机的权利,就是。
主机这个时候有响应主机叫停的义务。
主从之间都可以叫停。
Waitrequest如何来叫停呢?
这种方式也很有意思。
这个时候,主机和从机之间都满足我刚才说的这三点。
就是数据不丢失,传输的过程中不多不少。
同时呢,数据又满足一定的效率。
所以说在这个传输的过程中呢,采用的是这样一种方式,典型的传输。
主机使用读写,说读就读,说写就写,来叫停从机。
当从机它忙的时候,它想叫停主机的时候,它可以将waitrequest置成为真。
0951
这个英文的含义,等待请求嘛。
当从机将waitrequest置为真的时候,表明从机要求主机停下来。
这种情况之下,构成什么样一种握手的规则呢?
主机在这种典型的模式下面,一旦捕获到了waitrequest为真,主机就知道从机busy,忙了。
于是主机要做的事情,就是保持住,将它的数据、地址、命令保持住。
一直保持到waitrequest为低为止。
当waitrequest为假,说明从机响应了主机的请求,说明从机现在不忙了,从机可以接纳主机的请求。
说到底,这也是一种握手。
0952
之后的握手规则会非常多。
我们将这种规则,这种主从之间,从机waitrequest来叫停主机的这种规则,比喻为储蓄所业务。
当我们到储蓄所,我们去存钱,我们去买理财,我们去挂失,当我们走进储蓄所的时候,储蓄所的工作人员,柜台的工作人员,绝对不可能知道你这时候做什么。
当然热心的大堂经理也可能热心地问一下你做什么,但是她这个时候不会响应你的业务,不会处理你的业务。
大多数情况之下,你走进储蓄所的时候,储蓄所并不知道你的request,可是你自己知道你要干什么。
我要挂失,我要买理财,我要汇款,等等。
我们通常会去取号机,取号。
0953
那个号码会告诉你,前面有多少人等待。
也有一去就办的,大多数的都要取个号。
当你取到号以后,银行还是不知道你要干什么。
这个时候你得做什么?
你得wait。
你得hold,保持住。
银行卡拿到手上,坐着等着。
等到柜台叫号叫到你。
当柜台叫号叫到你的时候,你走到柜台,把你的要求告诉柜台工作人员,银行才会响应你的请求。
