1: 什么是OCP傳輸?
A: 在OCP1.0有兩種OCP傳輸,寫(xiě)傳輸和讀傳輸。當(dāng)OCP主機(jī)給從機(jī)發(fā)出一個(gè)寫(xiě)請(qǐng)求,指定了與請(qǐng)求相關(guān)的從機(jī)存儲(chǔ)數(shù)據(jù)的地址。當(dāng)從機(jī)接受到請(qǐng)求、數(shù)據(jù)和數(shù)據(jù)地址后,寫(xiě)傳輸就開(kāi)始了。同樣,當(dāng)主機(jī)發(fā)出一個(gè)讀請(qǐng)求,同樣定義了與請(qǐng)求相關(guān)的讀取數(shù)據(jù)的地址。當(dāng)主機(jī)接受到數(shù)據(jù)后,讀傳輸就開(kāi)始了。最后,OCP定義了一個(gè)廣播傳輸,與寫(xiě)傳輸類(lèi)似,但它將請(qǐng)求廣播給與接受從機(jī)接口相連的所有實(shí)體。
2: 什么是OCP事務(wù)?
A: 多個(gè)相同類(lèi)型的請(qǐng)求傳輸可以組成為一個(gè)事務(wù),也稱(chēng)為突發(fā)模式。需要注意的是它不是一個(gè)長(zhǎng)傳輸(象PCI一樣),而是一個(gè)連接在一起的單個(gè)傳輸序列。
3: OCP的觸發(fā)模型是什么?
A: OCP1.0定義了兩個(gè)觸發(fā)地址序列模型,存儲(chǔ)器觸發(fā)(增量)和FIFO觸發(fā)(流)。它也允許兩個(gè)額外的應(yīng)用---定義觸發(fā)模型。在四個(gè)模型當(dāng)中的每一個(gè)模型,觸發(fā)代碼的各自傳輸都與信號(hào)觸發(fā)交易相關(guān)聯(lián)。OCP2.0針對(duì)觸發(fā)模型有了顯著的增強(qiáng),包含物外的觸發(fā)抵制序列模型,同時(shí)增加了精確的觸發(fā)和單請(qǐng)求多數(shù)據(jù)(single-request multiple-data)觸發(fā)模型。此外,封包,轉(zhuǎn)悠的或(異或)和未知抵制序列都被增加到了一系列的觸發(fā)地址序列模型當(dāng)中。OCP2.0提供三個(gè)常用的觸發(fā)模型:OCP1.0使用的非精確觸發(fā)模型,精確的觸發(fā)模型和單請(qǐng)求多數(shù)據(jù)觸發(fā)(single-request multiple-data)模型。
4: 遞增突發(fā)模式和流線突發(fā)模式的區(qū)別是什么?
A: 在增量突發(fā)模式中目標(biāo)地址隨著突發(fā)模式中的每個(gè)傳輸遞增。增量值為OCP的字長(zhǎng)。在流線(streaming)突發(fā)模式中,目標(biāo)地址保持不變。無(wú)論哪種突發(fā)模式,OCP主機(jī)需要提供每個(gè)突發(fā)模式傳輸?shù)恼_地址,表明最后一個(gè)傳輸為L(zhǎng)AST。
5: 這些觸發(fā)代碼意味著什么?
A: 在這些非精確觸發(fā)的事例中,觸發(fā)代碼僅僅是來(lái)自于初始器的線索,以確認(rèn)這個(gè)觸發(fā)交易將持續(xù)多長(zhǎng)時(shí)間。最后一個(gè)傳輸將與一個(gè)有LAST觸發(fā)標(biāo)簽值的觸發(fā)相關(guān)聯(lián)。這是唯一能夠非常明確說(shuō)明的觸發(fā)值。在精確觸發(fā)的事例中,可以提供每個(gè)傳輸要求的信息,但是在一個(gè)完整的交易中觸發(fā)長(zhǎng)度是固定的。
6: 是不是觸發(fā)讀時(shí)間圖表定義傳輸?shù)臄?shù)量或者字節(jié)的數(shù)量?
A: MBurstLength定義包含在觸發(fā)中的OCP字的數(shù)量,不是字節(jié)的數(shù)量。既然OCP接口能夠被賦予1到16字節(jié)的任何值,那么這個(gè)觸發(fā)代碼指定了一個(gè)即將要被傳輸?shù)挠|發(fā)的OCP字的數(shù)量。
8: 主機(jī)怎么保證寫(xiě)突發(fā)模式在數(shù)據(jù)完全準(zhǔn)備好之前已經(jīng)提交給從機(jī)?
A: 寫(xiě)數(shù)據(jù)的主機(jī)需要讀回并檢查寫(xiě)突發(fā)模式信號(hào)的正確性,以保證數(shù)據(jù)正確被寫(xiě)。
9: 該怎么選擇突發(fā)模式大小?
A: 原則上可以任意選擇突發(fā)模式的大小,然而,busrt會(huì)阻塞與該突發(fā)模式不相關(guān)的所有傳輸直到突發(fā)模式傳輸完成。但也有通過(guò)限制突發(fā)模式為OCP字的二進(jìn)制冪長(zhǎng)來(lái)獲得性能優(yōu)勢(shì)。
10: 如果我的內(nèi)核的突發(fā)模式代碼大小與OCP的突發(fā)模式代碼不匹配,該怎么辦?
A: Burst只是個(gè)提示,不是保證。所以對(duì)除了最后一個(gè)傳輸外的所有傳輸,都可以用CONT的突發(fā)模式標(biāo)志位,最后一個(gè)應(yīng)用LAST標(biāo)識(shí)?梢赃x擇最大可用的突發(fā)模式大小,只要不超過(guò)突發(fā)模式長(zhǎng)度的。例如,6個(gè)字的突發(fā)模式可以多次使用4個(gè)字的突發(fā)模式代碼,直到剩余的字長(zhǎng)小于4。
11: 能否傳輸超過(guò)8個(gè)OCP字的突發(fā)模式?
A: 能。見(jiàn)上。同樣,傳輸可以繼續(xù)設(shè)置突發(fā)模式標(biāo)志位為8,只要剩余的傳輸數(shù)目超過(guò)8。
12: 可以提早終止突發(fā)模式傳輸嗎?
A: 主機(jī)可以通過(guò)標(biāo)志中間的傳輸為L(zhǎng)AST來(lái)提前終止突發(fā)模式請(qǐng)求。然而,在提前終止突發(fā)模式后如果還需要進(jìn)行另外的傳輸,應(yīng)該對(duì)一些目標(biāo)機(jī)進(jìn)行邏輯清零。
13: OCP發(fā)起機(jī)在開(kāi)始以后可以中斷突發(fā)模式傳輸嗎?
A: 只要把一個(gè)傳輸標(biāo)志為L(zhǎng)AST,就可以終止突發(fā)模式。這和中斷突發(fā)模式又是不一樣的。在OCP規(guī)范里,在傳輸開(kāi)始后中斷突發(fā)模式是不允許的。
14: 為什么我要在我的初始器代碼中激活觸發(fā)?
A: 在OCP內(nèi)核可用的Burst信息類(lèi)型主要用以表示從內(nèi)存預(yù)取數(shù)據(jù)(讀)或者保持內(nèi)存體或頁(yè)可寫(xiě)(寫(xiě)),另一個(gè)作用是資源鎖定,一旦突發(fā)模式在OCP開(kāi)始一個(gè)線程(端口),該線程(端口)只用于突發(fā)模式傳輸,同時(shí)鎖住來(lái)自其他線程的所有命令直到突發(fā)模式完成。
15: 什么是單請(qǐng)求多數(shù)據(jù) (SRMD) 觸發(fā)?
A: 單請(qǐng)求多數(shù)據(jù)觸發(fā) (SRMD) 與精確觸發(fā)一樣,但請(qǐng)求信息在整個(gè)觸發(fā)流程中只給出一次。這種SRMD觸發(fā)可以被認(rèn)為是一種“數(shù)據(jù)包”觸發(fā)。
了解更多關(guān)于OCP在突發(fā)模式方面的知識(shí),請(qǐng)?jiān)L問(wèn)http://www.ocpip.org/chinese/faqs/bursting。