国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      數(shù)據(jù)流水線管理系統(tǒng)和使用該系統(tǒng)的方法

      文檔序號(hào):6567612閱讀:315來(lái)源:國(guó)知局

      專利名稱::數(shù)據(jù)流水線管理系統(tǒng)和使用該系統(tǒng)的方法
      技術(shù)領(lǐng)域
      :本發(fā)明涉及一種數(shù)據(jù)流水線管理系統(tǒng),更具體地說(shuō)涉及一種用于在下述情形中的單向數(shù)據(jù)流水線管理的最低存儲(chǔ)器解決方案,其中所述情形包括發(fā)生者和使用者(ProducerandConsumer)都需要對(duì)流水線進(jìn)行異步訪問(wèn),數(shù)據(jù)是非原子的,只有最后完成的(和驗(yàn)證的)接收信息才是相關(guān)的,以及一旦開(kāi)始從所述流水線進(jìn)行數(shù)據(jù)讀取/對(duì)所述流水線進(jìn)行數(shù)據(jù)寫入,其中那樣的數(shù)據(jù)必須被完全地處理。
      背景技術(shù)
      :在包括一個(gè)主處理器和若干子系統(tǒng)的典型計(jì)算機(jī)系統(tǒng)中,需要向所述子系統(tǒng)進(jìn)行數(shù)據(jù)傳輸和從所述子系統(tǒng)進(jìn)行數(shù)據(jù)傳輸。已知在網(wǎng)絡(luò)應(yīng)用中子系統(tǒng)之間的數(shù)據(jù)傳輸常常成為瓶頸。由于其它競(jìng)爭(zhēng)子系統(tǒng)或處理器任務(wù),所述處理器和所述子系統(tǒng)不能在接口總線上形成同步連接。US5,325,492披露了一種分布在總線接口處的管道(pipe),其允許處理器異步地發(fā)送和接收指定操作的參數(shù)。所述處理器和所述子系統(tǒng)中的存儲(chǔ)器被所述系統(tǒng)用作共享存儲(chǔ)器,其被配置為分布式的先入先出(FIFO)循環(huán)隊(duì)列。通過(guò)在所述管道上放置表示請(qǐng)求、應(yīng)答和狀態(tài)信息的附加自描述控制組件來(lái)實(shí)現(xiàn)通信。在FIF0環(huán)境中,舊的條目仍將被讀取,因?yàn)樗鼈冏兂赡莻€(gè)可用的最后條目,并且因此要求較高的隊(duì)列深度以及大容量存儲(chǔ)要求。本發(fā)明的背景是網(wǎng)絡(luò)應(yīng)用,其中協(xié)議處理器與微控制器集成到一起。所述微控制器利用網(wǎng)絡(luò)配置對(duì)所述協(xié)議處理器進(jìn)行編程,并設(shè)立一個(gè)流水線,通過(guò)該流水線將能夠把數(shù)據(jù)傳遞到協(xié)議處理器上/從該協(xié)議處理器接收數(shù)據(jù)。通過(guò)讀取器和記錄器對(duì)流水線進(jìn)行的數(shù)據(jù)存取彼此是異步的。因?yàn)榫W(wǎng)絡(luò)配置可能必須被即時(shí)地適應(yīng),所以配置數(shù)據(jù)和數(shù)據(jù)流水線被放置在一個(gè)共享存儲(chǔ)器中而非放置在協(xié)議處理器本身中。這克服了需要共享的數(shù)據(jù)的容量的限制。微控制器和協(xié)議處理器有專權(quán)訪問(wèn)到用于原子訪問(wèn)的共享存儲(chǔ)區(qū)。原子對(duì)于該微控制器來(lái)說(shuō)意味著32位訪問(wèn)。然而在兩個(gè)原子訪問(wèn)之間另一方可能訪問(wèn)其自身而進(jìn)行中斷。網(wǎng)絡(luò)配置和流水線中的數(shù)據(jù)都是(可能地)非原子的。數(shù)據(jù)流水線在哪個(gè)方向上都可能存在,但每個(gè)數(shù)據(jù)流水線將只被微控制器讀取和被協(xié)議處理器寫入,或者只被協(xié)議處理器讀取和被微控制器寫入。那么對(duì)于每個(gè)流水線,只有一個(gè)發(fā)生者和一個(gè)使用者。所述協(xié)議要求只有在信息被完成和驗(yàn)證(如果它來(lái)自所述協(xié)議處理器)之后,其才可以被讀取,并且只有所述最后完成的信息是相關(guān)的。己經(jīng)被完全接收但還沒(méi)讀取的所有其它信息并不具有意義。這與標(biāo)準(zhǔn)的排隊(duì)機(jī)構(gòu)(例如FILO(先入后出))形成鮮明的對(duì)照。那么必須使該最后的信息對(duì)于使用者可專用并且在發(fā)生者處不能被任何新進(jìn)來(lái)的信息重寫。在相反的情形中,還沒(méi)有被完全地接收(并驗(yàn)證)的進(jìn)來(lái)的信息可能不會(huì)開(kāi)始被讀取。對(duì)該問(wèn)題的解決方案是使流水線形成所需的尺寸作為隊(duì)列,所述隊(duì)列的深度是根據(jù)輸入和輸出數(shù)據(jù)的速率確定的。然而這是不確定的,并且如果讀取和寫入速率是非常不同的,則可導(dǎo)致極大的隊(duì)列深度,從而導(dǎo)致非常大的存儲(chǔ)要求或非常大的CPU負(fù)荷。
      發(fā)明內(nèi)容本發(fā)明的一個(gè)目的是提供一種數(shù)據(jù)流水線管理系統(tǒng)和一種使用該系統(tǒng)的方法,其結(jié)合同步交換機(jī)制只使用少量的存儲(chǔ)器。根據(jù)本發(fā)明的一個(gè)方面,為了實(shí)現(xiàn)上述目的,提供一種數(shù)據(jù)流水線管理系統(tǒng),其包括發(fā)生者和使用者,和用于數(shù)據(jù)傳輸?shù)膯蜗蛄魉€,其中所述流水線中的所有條目都可通過(guò)所述發(fā)生者和使用者進(jìn)行訪問(wèn),只有最后的條目是有效的,并且對(duì)流水線的讀和寫動(dòng)作是異步的,所述數(shù)據(jù)流水線管理系統(tǒng)的特征在于所述流水線被實(shí)現(xiàn)為至少三個(gè)條目的循環(huán)隊(duì)列,并且提供一種同步交換機(jī)制作為適合最小六位的一組變址。所述變址組包括分別用于所述發(fā)生者和使用者的2位變址,其用于指示它們?cè)谒鲫?duì)列中的位置,并包括分別用于所述發(fā)生者和使用者的l位二進(jìn)制值,其用于指示一種特殊情形。所述隊(duì)列優(yōu)選的是共享存儲(chǔ)器并且所述數(shù)據(jù)可以是非原子的。在一個(gè)優(yōu)選實(shí)施例中,所述流水線被實(shí)現(xiàn)為三個(gè)條目的循環(huán)隊(duì)列。本實(shí)施例的一個(gè)優(yōu)點(diǎn)是存儲(chǔ)要求被減到最小。優(yōu)選地,所述發(fā)生者是微控制器而所述使用者是子系統(tǒng),或者反之亦然。在一個(gè)優(yōu)選實(shí)施例中,所述發(fā)生者是微控制器而所述使用者是拐射線數(shù)據(jù)鏈路控制器,或者反之亦然。在另一個(gè)優(yōu)選實(shí)施例中,所述發(fā)生者是微控制器而所述使用者是本地互連網(wǎng)絡(luò)控制器,或者反之亦然。在另一個(gè)優(yōu)選實(shí)施例中,所述發(fā)生者是微控制器而所述使用者是控制器區(qū)域網(wǎng)控制器。上述的優(yōu)選實(shí)施例的一個(gè)優(yōu)點(diǎn)是根據(jù)本發(fā)明的數(shù)據(jù)流水線管理系統(tǒng)可被用于汽車應(yīng)用,其中由于不斷增加的負(fù)載,有效的數(shù)據(jù)流水線管理系統(tǒng)是重要的。因此,提供一種使用數(shù)據(jù)流水線管理系統(tǒng)的方法,所述數(shù)據(jù)流水線管理系統(tǒng)包括發(fā)生者和使用者,以及用于數(shù)據(jù)傳輸?shù)膯蜗蛄魉€,其中所述流水線中的所有條目都可通過(guò)所述發(fā)生者和使用者進(jìn)行訪問(wèn),只有最后的條目是有效的,并且對(duì)所述流水線的讀和寫動(dòng)作是異步的,所述方法的特征在于步驟-提供至少三個(gè)條目的循環(huán)隊(duì)列;-提供一種同步交換機(jī)制作為適合最小六位的一組變址,該步驟包括使2位變址分別與所述發(fā)生者和與所述使用者相關(guān),其用于指示它們?cè)谒鲫?duì)列中的各自位置,以及包括使1位二進(jìn)制值分別與所述發(fā)生者和與所述使用者相關(guān),其用于指示一種特殊情形;-通過(guò)將其2位變址設(shè)置為相應(yīng)的值而將一個(gè)隊(duì)列條目標(biāo)記為屬于所述發(fā)生者并且使所述使用者不能從那個(gè)條目進(jìn)行讀??;-通過(guò)將其2位變址設(shè)置為相應(yīng)的值而將一個(gè)隊(duì)列條目標(biāo)記為屬于所述使用者并且使所述發(fā)生者不能對(duì)那個(gè)條目進(jìn)行寫入;以及-訪問(wèn)所述隊(duì)列,其中所述發(fā)生者使用先寫入-后更新機(jī)制而所述使用者使用先更新變址-后讀取機(jī)制。根據(jù)本發(fā)明的方法有利地確保能夠使用用于有效數(shù)據(jù)流水線管理的最小存儲(chǔ)器解決方案,同時(shí)能防止數(shù)據(jù)丟失。有利地,所述發(fā)生者只被允許改變其變址組,即2位變址P和1位二進(jìn)制值wr鄰P,并且其按以下步驟訪問(wèn)所述隊(duì)列-如果所述使用者2位變址C等于所述發(fā)生者2位變址P+l,即C=P+1,則所述發(fā)生者對(duì)與其2位變址P相關(guān)的隊(duì)列條目進(jìn)行寫入,并且其2位變址P被設(shè)置為P+2,其一位二進(jìn)制值wr即P被設(shè)置為使用者的1位二進(jìn)制值wrapC的取反,即wrapP=!wrapC;-如果C!二P+1,則寫入P,并將隨后的變址值設(shè)置為P=P+1,wrapP=wrapC。所述使用者也只被允許改變其變址組,即2位變址C和1位二進(jìn)制值wrapC,并且其按以下步驟訪問(wèn)所述隊(duì)列-如果C==P且wrapP==wrapC,則不執(zhí)行更新和讀?。?如果C=P_1且wrapP-二wr即C,那么將所述最新的數(shù)據(jù)變址值設(shè)置為C=C、wrapOwrapC并執(zhí)行讀取C,之后緊跟讀取后更新,所述讀取后更新包括如果wrapC==wrapP,那么將所述最新數(shù)據(jù)變址值設(shè)置為C=C+1,否貝0C二C、wrapC=wrapC;-如果C!=P-1且wr鄰P二wr叩C,那么將所述最新數(shù)據(jù)變址值設(shè)置為C=P-1、wrapC=wrapC并執(zhí)行讀取C;以及-如果C!=P-1且wraPP!=wrapC,那么將所述最新數(shù)據(jù)變址值設(shè)置為C=P、wrapOwrapP并且不執(zhí)行讀取。有利地如果所述隊(duì)列變成空的,則所述發(fā)生者占先。本發(fā)明的前述和其它目的、特征和優(yōu)點(diǎn)通過(guò)下面如附圖所示的本發(fā)明的優(yōu)選實(shí)施例的更具體的說(shuō)明將是顯而易見(jiàn)的。現(xiàn)在將參照附圖借助例子說(shuō)明本發(fā)明,其中圖1表示根據(jù)本發(fā)明的數(shù)據(jù)流水線管理系統(tǒng)的示意圖2表示在讀取前后的對(duì)于最小隊(duì)列長(zhǎng)度為三個(gè)的根據(jù)本發(fā)明的數(shù)據(jù)流水線管理系統(tǒng)的變址和隊(duì)列的示意圖3表示在寫入前后的對(duì)于最小隊(duì)列長(zhǎng)度為三個(gè)的根據(jù)本發(fā)明的數(shù)據(jù)流水線管理系統(tǒng)的變址和隊(duì)列的示意圖4表示對(duì)于隊(duì)列長(zhǎng)度為四個(gè)和讀取的用于根據(jù)本發(fā)明的數(shù)據(jù)流水線管理系統(tǒng)的變址和隊(duì)列的示意圖5表示對(duì)于隊(duì)列長(zhǎng)度為四個(gè)和寫入的用于根據(jù)本發(fā)明的數(shù)據(jù)流水線管理系統(tǒng)的變址和隊(duì)列的示意具體實(shí)施例方式圖1表示根據(jù)本發(fā)明的數(shù)據(jù)流水線管理系統(tǒng)IOO,其包括發(fā)生者IO和使用者12,它們通過(guò)一個(gè)單向隊(duì)列14彼此連接用于以一個(gè)同步交換機(jī)制16進(jìn)行數(shù)據(jù)傳輸,其中所述隊(duì)列中的所有條目都可由發(fā)生者IO和使用者12訪問(wèn),只有最后的條目是有效的,并且對(duì)流水線的讀和寫動(dòng)作是異步的。根據(jù)本發(fā)明的數(shù)據(jù)流水線管理系統(tǒng)可被實(shí)現(xiàn)為小至具有三個(gè)條目20和一個(gè)附加同步交換機(jī)制16的隊(duì)列14,所述附加同步交換機(jī)制16被實(shí)現(xiàn)為能夠適應(yīng)最小六位(2X2+2X1)的一組變址18。發(fā)生者10和使用者12都將具有一個(gè)2位變址和一個(gè)1位二進(jìn)制值,所述2位變址指示它們?cè)谒鲫?duì)列中處于什么位置,相應(yīng)的變址被標(biāo)記為P和C,所述1位二進(jìn)制值指示由wrapP和wrapC表示的特殊情形。兩方都能讀取所有變址,但只能對(duì)它們自己進(jìn)行寫入,即對(duì)于發(fā)生者10寫入P和wrapP,對(duì)于使用者12寫入C和wrapC。隊(duì)列14對(duì)于所有效果都被看作是一個(gè)循環(huán)隊(duì)列14,這意味著條目0跟隨最后的條目,即如果隊(duì)列長(zhǎng)度最小為3,那么條目0跟隨條目2。在下面的算法中,如果變址是2并且它增加1,則結(jié)果將是0,或者如果它增加2,則結(jié)果將是l。變址18的管理背后的基本原理是基于這樣的事實(shí)即每個(gè)實(shí)體必須有專權(quán)訪問(wèn)它需要的條目。所以通過(guò)將其變址設(shè)置為任何值,發(fā)生者IO將它標(biāo)記為其自己并使使用者12不能讀取那個(gè)條目。對(duì)于使用者12同樣如此,除了所述條目被標(biāo)記用于讀取和發(fā)生者IO被阻止對(duì)它進(jìn)行寫入。如果兩個(gè)變址具有相同的值,那么發(fā)生者io占先。這只有在隊(duì)列14變?yōu)榭盏臅r(shí)候才發(fā)生。這實(shí)際上意味著發(fā)生者10具有"先寫入-后更新變址"機(jī)制,而使用者12具有"先更新變址-后讀取"機(jī)制。只有一個(gè)例外使用者12在讀取之后也需要更新其變址。根據(jù)本發(fā)明的最小存儲(chǔ)器解決方案對(duì)于隊(duì)列14僅使用三個(gè)條目,一個(gè)可由使用者12使用,一個(gè)由發(fā)生者IO使用以及一個(gè)作為緩存器。然而,這種最小存儲(chǔ)器解決方案需要精細(xì)的同步交換機(jī)制16以便確信在任何情況中都不會(huì)丟失數(shù)據(jù)。與大多數(shù)FIFO相反,所述整個(gè)流水線是存儲(chǔ)映射的,這意味著在沒(méi)有同步交換機(jī)制16的情況下,通過(guò)任何一個(gè)部分都能夠讀取所有條目。通過(guò)對(duì)每一個(gè)通信方使用一組隊(duì)列變址,對(duì)于兩者的讀取都可訪問(wèn),但是每個(gè)都只能寫入其自己的變址組,每方都能確定將要讀/寫的下一個(gè)條目。本發(fā)明的效果是所述總線架構(gòu)確定雙方將不會(huì)同時(shí)訪問(wèn)所述存儲(chǔ)器。用于訪問(wèn)隊(duì)列14的規(guī)則如表1和2所示。表1描述了發(fā)生者對(duì)隊(duì)列14的訪問(wèn),其中發(fā)生者只被允許改變其變址組,即P和wrapP。在C等于P+1的情況下,對(duì)與P的值相關(guān)的隊(duì)列條目執(zhí)行寫入P,下一個(gè)變址值被設(shè)置為P=P+2并將wrapP設(shè)置為等于非wrapC(!wrapC)。在情形2中,如果C不等于P+l,即C!=P+1,其中符號(hào)"!="意味著"不等于",則寫入P被執(zhí)行并且P被向后設(shè)置為P+l并將wrapP設(shè)置為等于wrapC。<table>tableseeoriginaldocumentpage11</column></row><table>表l:發(fā)生者10(只被允許改變P和wrapP)表2列出了用于訪問(wèn)所述隊(duì)列的用于使用者12的規(guī)則。使用者12也只被允許改變其變址組,即所述兩位變址C和二進(jìn)制值wrapC。在情形3中,即表2的行1,C正好等于P(C==P)且wrapP正好等于wrapC(wrapP==wrapC),這說(shuō)明了隊(duì)列14是空的并且因此不執(zhí)行讀取的情形。然而,如果C等于P-l且wrapP等于wrapC,那么執(zhí)行讀取。通常在更新變址之后執(zhí)行讀取。在這一非常特殊的情形中,在讀取之前保持變址不變并進(jìn)行讀取后更新。在wrapC等于wrapP的情況下,C被設(shè)置為C+1,否則C和wrapC保持不變。因?yàn)樽x取動(dòng)作可能是非原子的,所以在讀取動(dòng)作期間可能己經(jīng)有寫入動(dòng)作,這使得需要向后改變變址。如果C等于P-l且wrapP不等于wr鄧C(情形5),則也執(zhí)行讀取C。在讀取之前更新的最新變址值是C=C_1并且wrapC保持不變。在C不等于P-1且wrapP和wrapC相等的情形6中,wrapC保持不變、C被設(shè)置為P-1且發(fā)生讀取C。如果C不等于P-l且wrapP也不等于wrapC,那么不發(fā)生讀取并且最新的數(shù)據(jù)變址值是C二P禾口wrapC等于wrapP。<table>complextableseeoriginaldocumentpage12</column></row><table>表2:使用者(只被允許改變C和wrapC圖1和2表示用于最小長(zhǎng)度為3個(gè)條目(即0、1和2)的隊(duì)列14的根據(jù)本發(fā)明的變址18和隊(duì)列條目20。這在下述情形中是用于單向數(shù)據(jù)流水線管理的最小存儲(chǔ)器解決方案所述情況包括發(fā)生者10和使用者12需要對(duì)流水線14進(jìn)行異步訪問(wèn),數(shù)據(jù)可以是非原子的,只有最后完成的(和驗(yàn)證的)接收信息才是相關(guān)的,以及一旦開(kāi)始從所述流水線進(jìn)行數(shù)據(jù)讀取/對(duì)所述流水線進(jìn)行數(shù)據(jù)寫入,其中那樣的數(shù)據(jù)必須被完全地處理。注意根據(jù)本發(fā)明的隊(duì)列14是一個(gè)循環(huán)隊(duì)列。圖1顯示用于通過(guò)使用者12對(duì)隊(duì)列14進(jìn)行讀取的算法的結(jié)果。第一行的開(kāi)始位置是所有變址等于零,即wr鄰P、wrapC、C和P等于零。這對(duì)應(yīng)于表2的情形1。沒(méi)有讀取發(fā)生、不執(zhí)行更新且所述隊(duì)列的元素O被標(biāo)記為屬于發(fā)生者P10,所述發(fā)生者PIO在這種情形中占先,所述隊(duì)列14是空的。第二行對(duì)應(yīng)于表2的情形4,其中wr叩C、C和wrapP是零且P是一,即OP-l且wrapP等于wrapC。在所述開(kāi)始位置,所述隊(duì)列的條目0被標(biāo)記為使用者12的條目,因?yàn)镃等于0,而條目1被標(biāo)記為發(fā)生者10的條目,因?yàn)镻等于1。讀取C發(fā)生,從而清空和改變隊(duì)列14的元素0。讀取后更新發(fā)生,并且因?yàn)閣rapC等于wrapP,所以C被設(shè)置為C+l。現(xiàn)在通過(guò)使用者12來(lái)標(biāo)記隊(duì)列14的條目1。第三行對(duì)應(yīng)于表2的情形6。WrapC、C和wrapP全部是零,但P為二,即C不等于P-1而wrapC等于wrapP。因此我們開(kāi)始于這樣的配置其中隊(duì)列條目0被與使用者12相關(guān)聯(lián),而2與發(fā)生者10相關(guān)聯(lián)。最新的變址值是C二P-1,即1,而wrapC保持不變。所述隊(duì)列的元素0現(xiàn)在被清空并通過(guò)所述讀取而改變,元素1被與使用者12相關(guān)聯(lián)。圖1的行7涉及所述隊(duì)列14的循環(huán)是有效的情形?,F(xiàn)在,wrapC和wrapP都是O,P也一樣是0,但C是2,即隊(duì)列14的元素0通過(guò)發(fā)生者10標(biāo)記,元素2通過(guò)使用者12標(biāo)記。這對(duì)應(yīng)于表2的情形4。因?yàn)樗鲫?duì)列是圓周的,所以C等于P-1,其實(shí)際上是-1或者在循環(huán)隊(duì)列2中。執(zhí)行讀取C并將C設(shè)置為C+l,即2+l,其處于具有三個(gè)條目0的循環(huán)隊(duì)列中。在寫或讀之后永遠(yuǎn)不能發(fā)生的情形連同根本不能發(fā)生的情形在表1和2中一起被分別指出。圖2表示用于對(duì)隊(duì)列H進(jìn)行寫入的相同處理。第一行對(duì)應(yīng)于表2的情形2。C是零且P是零。P在此情況中占先。C不等于P+1,發(fā)生對(duì)條目0寫入P且元素1現(xiàn)在被標(biāo)記用于發(fā)生者10,而己經(jīng)寫入信息的元素0被標(biāo)記供使用者12讀取,并因此阻止由發(fā)生者10的寫入。因此,隨后的變址值是P=l和wrapP=wrapC。圖3和4表示與多于三個(gè)的條目(這里為四個(gè))的隊(duì)列14相同的情形。例如,圖3中的行l(wèi)對(duì)應(yīng)于在圖1的行1中的配置,即在表2中說(shuō)明的情形。根據(jù)本發(fā)明的算法不限制于任何特定的協(xié)議。能夠用于需要數(shù)據(jù)傳輸?shù)囊话銘?yīng)用,其中下面的條件被校驗(yàn)一個(gè)方向流水線14、流水線14中的所有條目20可被發(fā)生者IO和使用者12訪問(wèn),只有最后的條目是有效的,并且讀和寫動(dòng)作是異步的。所述傳送的數(shù)據(jù)可以包含命令、參數(shù)或所述系統(tǒng)的任何相關(guān)信息。所述數(shù)據(jù)流水線管理系統(tǒng)100可用于具有子系統(tǒng)的任何主計(jì)算機(jī)系統(tǒng)。所述主計(jì)算機(jī)是發(fā)生者10,子系統(tǒng)是使用者12,反之亦然。還可以用于包括一個(gè)主機(jī)和通過(guò)根據(jù)本發(fā)明的數(shù)據(jù)流水線管理系統(tǒng)100與所述主機(jī)連接的若干子系統(tǒng)。根據(jù)本發(fā)明的數(shù)據(jù)流水線管理系統(tǒng)100優(yōu)選的用于汽車的通信系統(tǒng)。例如,拐射線是用于汽車的串行和容錯(cuò)高速總線。在一個(gè)優(yōu)選實(shí)施例中,本發(fā)明用于在微控制器(例如A賜9)與拐射線數(shù)據(jù)鏈路控制器DLC之間進(jìn)行通信。在本實(shí)施例中,所述微控制器是發(fā)生者10,DLC是使用者12,反之亦然。然而,還可以應(yīng)用任何其它數(shù)據(jù)鏈路控制器,例如本地互連網(wǎng)絡(luò)(LIN)控制器或控制器區(qū)域網(wǎng)(CAN)控制器。雖然已經(jīng)結(jié)合特定的實(shí)施例說(shuō)明了本發(fā)明,但很明顯許多替換、修改和變化對(duì)于本領(lǐng)域技術(shù)人員將是顯而易見(jiàn)的。因此此處闡述的本發(fā)明的優(yōu)選實(shí)施例趨于是說(shuō)明性的,而不是限制。在不脫離權(quán)利要求定義的本發(fā)明的精神的情況下可做出各種改變。參考符號(hào)表100數(shù)據(jù)流水線管理系統(tǒng)10發(fā)生者12使用者14流水線/隊(duì)列16同步交換機(jī)制18變址組20隊(duì)列條目權(quán)利要求1.一種數(shù)據(jù)流水線管理系統(tǒng)(100),包括發(fā)生者(10)和使用者(12),以及用于數(shù)據(jù)傳輸?shù)膯蜗蛄魉€(14),其中所述流水線中的所有條目都可由發(fā)生者(10)和使用者(12)訪問(wèn),只有最后的條目是有效的,并且對(duì)所述流水線的讀和寫動(dòng)作是異步的,所述數(shù)據(jù)流水線管理系統(tǒng)(100)的特征在于所述流水線被實(shí)現(xiàn)為至少三個(gè)條目(20)的循環(huán)隊(duì)列(14),并且一個(gè)同步交換機(jī)制(16)被提供作為適合最小六位的一組變址(18)。2.根據(jù)權(quán)利要求1所述的系統(tǒng)(100),其特征在于所述變址組(18)包括分別用于所述發(fā)生者(10)和使用者(12)以指示它們?cè)谒鲫?duì)列(14)中的位置的2位變址以及分別用于發(fā)生者(10)和使用者(12)以指示一種特殊情形的1位二進(jìn)制值。3.根據(jù)權(quán)利要求1或2所述的系統(tǒng)(100),其特征在于所述隊(duì)列(14)是共享存儲(chǔ)器。4.根據(jù)權(quán)利要求1至3中的至少一個(gè)所述的系統(tǒng)(100),其特征在于所述數(shù)據(jù)是非原子的。5.根據(jù)權(quán)利要求1至4中的至少一個(gè)所述的系統(tǒng)(100),其特征在于所述流水線被實(shí)現(xiàn)為三個(gè)條目(20)的循環(huán)隊(duì)列(14)。6.根據(jù)權(quán)利要求1至5中的至少一個(gè)所述的系統(tǒng)(100),其特征在于所述流水線被實(shí)現(xiàn)為四個(gè)條目(20)的循環(huán)隊(duì)列(14)。7.根據(jù)權(quán)利要求1至6中的至少一個(gè)所述的系統(tǒng)(100),其特征在于所述同步交換機(jī)制(16)被提供作為適合六位的一組變址(18)。8.根據(jù)權(quán)利要求1至7中的至少一個(gè)所述的系統(tǒng)(100),其特征在于所述發(fā)生者(10)是微控制器而所述使用者(12)是子系統(tǒng),或者所述發(fā)生者(10)是子系統(tǒng)而所述使用者(12)是微控制器。9.根據(jù)權(quán)利要求1至8中的至少一個(gè)所述的系統(tǒng)(100),其特征在于所述發(fā)生者(10)是微控制器而所述使用者(12)是拐射線數(shù)據(jù)鏈路控制器,或者所述發(fā)生者(10)是拐射線數(shù)據(jù)鏈路控制器而所述使用者(12)是微控制器。10.根據(jù)權(quán)利要求1至9中的至少一個(gè)所述的系統(tǒng)(100),其特征在于所述發(fā)生者(10)是微控制器而所述使用者(12)是本地互連網(wǎng)絡(luò)控制器,或者所述發(fā)生者(10)是本地互連網(wǎng)絡(luò)控制器而所述使用者(12)是微控制器。11.根據(jù)權(quán)利要求1至10中的至少一個(gè)所述的系統(tǒng)(100),其特征在于所述發(fā)生者(10)是微控制器而所述使用者(12)是控制器區(qū)域網(wǎng)控制器,或者所述發(fā)生者(10)是控制器區(qū)域網(wǎng)控制器而所述使用者(12)是微控制器。12.—種使用數(shù)據(jù)流水線管理系統(tǒng)(100)的方法,所述數(shù)據(jù)流水線管理系統(tǒng)包括發(fā)生者(10)和使用者(12),以及用于數(shù)據(jù)傳輸?shù)膯蜗蛄魉€(14),其中所述流水線中的所有條目都可由發(fā)生者(10)和使用者(12)訪問(wèn),只有最后的條目是有效的,并且對(duì)流水線的讀和寫動(dòng)作是異步的,所述方法的特征在于包括步驟-提供至少三個(gè)條目的循環(huán)隊(duì)列(14);-提供一個(gè)同步交換機(jī)制(16)作為適合最小六位的一組變址(18),該步驟包括使2位變址分別與所述發(fā)生者(10)和與所述使用者(12)相關(guān),用于指示在所述隊(duì)列中的各自位置;以及使1位二進(jìn)制值分別與所述發(fā)生者(10)和與所述使用者(12)相關(guān),用于指示一種特殊的情形;-通過(guò)將其2位變址設(shè)置為相應(yīng)的值而將一個(gè)隊(duì)列條目標(biāo)記為屬于所述發(fā)生者(10),并且使所述使用者(12)不能從那個(gè)條目進(jìn)行讀?。?通過(guò)將其2位變址設(shè)置為相應(yīng)的值而將一個(gè)隊(duì)列條目標(biāo)記為屬于所述使用者(12),并且使所述發(fā)生者(10)不能對(duì)那個(gè)條目進(jìn)行寫入;和-訪問(wèn)所述隊(duì)列,其中所述發(fā)生者(10)使用先寫入-后更新機(jī)制而所述使用者(12)使用先更新變址-后讀取機(jī)制;13.根據(jù)權(quán)利要求12所述的方法,其特征在于所述發(fā)生者(10)只被允許改變其變址組,即2位變址P和l位二進(jìn)制值wrapP,并且其按以下步驟訪問(wèn)所述隊(duì)列-如果使用者(12)2位變址C等于所述發(fā)生者(10)2位變址P+l,即OP+l,則所述發(fā)生者對(duì)與其2位變址P相關(guān)的隊(duì)列條目進(jìn)行寫入,并且將其2位變址P設(shè)置為P+2,將其一位二進(jìn)制值wrapP設(shè)置為所述使用者(12)的l位二進(jìn)制值wrapC的取反,即wrapP=!wrapC;-如果C!二P+1,則寫入P,并且將隨后的變址值設(shè)置為P二P+1,wrapP二wrapC。14.根據(jù)權(quán)利要求12或13所述的方法,其特征在于所述使用者(12)只被允許改變其變址組,即2位變址C和1位二進(jìn)制值wrapC,并且其按以下步驟訪問(wèn)所述隊(duì)列-如果O-P且wrapP==wrapC,則不執(zhí)行更新和讀??;-如果C=P-1且wrapP二]rapC,那么將所述最新的數(shù)據(jù)變址值設(shè)置為C=C,wrapOwrapC,并且執(zhí)行讀取C,之后緊跟著讀取后更新,所述讀取后更新包括如果wrapO二wrapP,那么將所述最新數(shù)據(jù)變址值設(shè)置為C《+1,否則OC,wrapOwrapC;-如果C!:P-1且wrapP=,rapC,那么將所述最新數(shù)據(jù)變址值設(shè)置為OP-1,wrapC-wrapC,并執(zhí)行讀取C;以及-如果C'.=P-1且wrapP!-wrapC,那么將所述最新數(shù)據(jù)變址值設(shè)置為OP,wrapOwrapP,并且不執(zhí)行讀取。15.根據(jù)權(quán)利要求12至14中的至少一個(gè)所述的方法,其特征在于在讀取之后還更新所述使用者(12)變址。16.根據(jù)權(quán)利要求12至15中的至少一個(gè)所述的方法,其特征在于如果所述隊(duì)列變成空的,即如果C==P且wrapP==wrapC,則發(fā)生者(10)占先。17.—種與計(jì)算機(jī)裝置結(jié)合使用的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和嵌入計(jì)算機(jī)中的計(jì)算機(jī)程序機(jī)制,所述計(jì)算機(jī)程序機(jī)制包括這樣一個(gè)模塊,其被配置使得一旦將所述程序加載到所述計(jì)算機(jī)裝置的存儲(chǔ)器中,則多個(gè)蛋白(protein)抽樣序列被調(diào)整以執(zhí)行在權(quán)利要求12至16的任何一個(gè)中所述的步驟。18.—種計(jì)算機(jī)裝置,其適于執(zhí)行根據(jù)前述權(quán)利要求12至16中任何一個(gè)所述的方法。19.一種計(jì)算機(jī)可讀介質(zhì),其存儲(chǔ)了用于實(shí)現(xiàn)如在前述權(quán)利要求1至16中的任何一個(gè)所述的系統(tǒng)或者方法的指令。全文摘要本發(fā)明涉及一種數(shù)據(jù)流水線管理系統(tǒng),更具體地說(shuō)涉及一種用于在下述情形中的單向數(shù)據(jù)流水線管理的最小存儲(chǔ)器解決方案,其中所述情形包括發(fā)生者和使用者都需要對(duì)流水線進(jìn)行異步訪問(wèn),數(shù)據(jù)是非原子的,并且只有最后完成的(和驗(yàn)證的)接收信息才是相關(guān)的,以及一旦開(kāi)始從所述流水線進(jìn)行數(shù)據(jù)讀取/對(duì)所述流水線進(jìn)行數(shù)據(jù)寫入,其中那樣的數(shù)據(jù)必須被完全地處理。根據(jù)本發(fā)明的數(shù)據(jù)流水線管理系統(tǒng)可被實(shí)現(xiàn)為小至具有三個(gè)條目和一個(gè)附加同步交換機(jī)制的循環(huán)隊(duì)列,所述附加同步交換機(jī)制被實(shí)現(xiàn)為能夠適應(yīng)最小六位(2×2+2×1)的一組變址。所述發(fā)生者和使用者都將具有一個(gè)2位變址和一個(gè)1位二進(jìn)制值,所述2位變址指示它們?cè)谒鲫?duì)列中的位置,所述1位二進(jìn)制值指示一種特殊情形。兩方能夠讀取所有變址,但只能對(duì)它們自己進(jìn)行寫入,即對(duì)于發(fā)生者寫入P和wrapP,對(duì)于使用者寫入C和wrapC。提供一組用于管理所述同步交換的規(guī)則。文檔編號(hào)G06F5/06GK101185056SQ200680019010公開(kāi)日2008年5月21日申請(qǐng)日期2006年5月22日優(yōu)先權(quán)日2005年5月30日發(fā)明者弗朗西斯庫(kù)斯·馬里亞·韋爾蒙特,湯姆·沃斯,里卡多·卡斯塔尼亞申請(qǐng)人:Nxp股份有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1