|
|
| 1: |
什么是OCP传输? |
| A: |
在OCP1.0有两种OCP传输,写传输和读传输。
当OCP主机给从机发出一个写请求,指定了与请求相关的从机存储数据的地址。当从机接受到请求、数据和数据地址后,写传输就开始了。同样,当主机发出一个读请求,同样定义了与请求相关的读取数据的地址。当主机接受到数据后,读传输就开始了。最后,OCP定义了一个广播传输,与写传输类似,但它将请求广播给与接受从机接口相连的所有实体。 |
|
| 2: |
什么是OCP事务? |
| A: |
多个相同类型的请求传输可以组成为一个事务,也称为突发模式。需要注意的是它不是一个长传输(象PCI一样),而是一个连接在一起的单个传输序列。 |
|
| 3: |
什么是OCP的簇模型? |
| A: |
OCP1.0定义了两个簇地址序列模型,一个是给存储簇(递增),一个是给FIFO簇(流动)。它也允许两个额外的面向应用的簇模型。在上面四个模型的每一个模型中,一个簇代码将各自独立的传输和一次单独的簇事件联系在一起。OCP2.0在簇模型方面有了重要的改进,包括增加的簇地址序列模型,还有精确的簇和单请求多数据(SRMD)簇模型。另外,在簇地址数列模型的设置中加入了Wrapping,
Exclusive-Or (XOR) and
Unknown地址序列。OCP2.0提供了3种常规簇模型:使用OCP1.0的不精确簇模型,精确模型和单请求多数据(SRMD)簇模型。
|
|
| 4: |
递增突发模式和流线突发模式的区别是什么? |
| A: |
在增量突发模式中目标地址随着突发模式中的每个传输递增。增量值为OCP的字长。在流线(streaming)突发模式中,目标地址保持不变。无论哪种突发模式,OCP主机需要提供每个突发模式传输的正确地址,表明最后一个传输为LAST。 |
|
| 5: |
这些触发代码意味着什么? |
| A: |
在不精确簇的情况下,簇的代码只不过是从发起者到目的地的,指示一次簇事务处理多长时间的线索。最后一次簇传输有一个值为LAST的簇传输标签。这是唯一一个完全确定可以被解释的值。在精确簇的情况下,每一次传输都给出请求信息,但是整个事务处理过程中,簇的长度是固定的。
|
|
| 6: |
是不是触发读时间图表定义传输的数量或者字节的数量? |
| A: |
主设备簇长度定义包含在触发中的OCP字的数量,不是字节的数量。既然OCP接口能够被赋予1到16字节的任何值,那么这个触发代码指定了一个即将要被传输的触发的OCP字的数量。 |
|
| 7: |
为什么触发代码不等于剩下的字的数量? |
| A: |
在不精确簇的情况下,簇长度的代码仅仅代表一条线索。目标设备并不要求一定要使用线索。在精确簇的情况下,簇长度的代码是一个代表着簇事务的精确长度的常数。
|
|
| 8: |
主机怎么保证写突发模式在数据完全准备好之前已经提交给从机? |
| A: |
写数据的主机需要读回并检查写突发模式信号的正确性,以保证数据正确被写。 |
|
| 9: |
该怎么选择突发模式大小? |
| A: |
原则上可以任意选择突发模式的大小,然而,busrt会阻塞与该突发模式不相关的所有传输直到突发模式传输完成。但也有通过限制突发模式为OCP字的二进制幂长来获得性能优势。 |
|
| 10: |
如果我的内核的突发模式代码大小与OCP的突发模式代码不匹配,该怎么办? |
| A: |
Burst只是个提示,不是保证。所以对除了最后一个传输外的所有传输,都可以用CONT的突发模式标志位,最后一个应用LAST标识。可以选择最大可用的突发模式大小,只要不超过突发模式长度的。例如,6个字的突发模式可以多次使用4个字的突发模式代码,直到剩余的字长小于4。 |
|
| 11: |
能否传输超过8个OCP字的突发模式? |
| A: |
能。见上。同样,传输可以继续设置突发模式标志位为8,只要剩余的传输数目超过8。 |
|
| 12: |
可以提早终止突发模式传输吗? |
| A: |
主机可以通过标志中间的传输为LAST来提前终止突发模式请求。然而,在提前终止突发模式后如果还需要进行另外的传输,应该对一些目标机进行逻辑清零。 |
|
| 13: |
OCP发起机在开始以后可以中断突发模式传输吗? |
| A: |
只要把一个传输标志为LAST,就可以终止突发模式。这和中断突发模式又是不一样的。在OCP规范里,在传输开始后中断突发模式是不允许的。 |
|
| 14: |
为什么我要在我的初始器代码中激活触发? |
| A: |
在OCP内核可用的Burst信息类型主要用以表示从内存预取数据(读)或者保持内存体或页可写(写),另一个作用是资源锁定,一旦突发模式在OCP开始一个线程(端口),该线程(端口)只用于突发模式传输,同时锁住来自其他线程的所有命令直到突发模式完成。 |
|
| 15: |
什么是单请求多数据(SRMD)burst? |
| A: |
单请求多数据(SRMD)簇和精确簇一样,但是整个簇事务过程中只给出一次请求信息。这种SRMD
簇可以看做是“数据包”簇事务。
|
|
| 16: |
二维block burst序列是如何处理的? |
| A: |
在OCP2.2版本中,加入了新的二维模块簇地址序列。这种新的簇地址序列提供了详细指定的模块子序列的功能,每一个子序列遵循一般的递增簇地址序列模型。
|
|
|
|
|
|
|
|
|
|