本發明專利技術涉及一種雙口RAM的訪問方法及裝置,所述方法包括如下步驟:步驟1):當雙口RAM兩側的主處理器和協處理器在同一時間間隔內發出訪問相同RAM地址的命令時,進行沖突監測;步驟2):沖突監測模塊產生BUSY信號,BUSY信號經過邏輯轉換模塊轉換后,輸出應答信號給遲滯處理器,使遲滯處理器的總線周期延長;所述遲滯處理器是指在主處理器和協處理器中,在同一時間間隔訪問雙口RAM相對滯后的處理器;本發明專利技術提供的一種帶自適應節省了系統開銷,響應時間短。
【技術實現步驟摘要】
本專利技術涉及數據端口設計領域,尤其涉及一種帶自適應避讓機制的搶占式訪問雙口 RAM的方法。
技術介紹
在現代工業控制系統中,由于對系統的功能和性能要求越來越高,一般都采用高性能的處理器來實現控制功能,并將這些智能設備聯網組成分布式系統,雙口 RAM作為共享存儲器。尤其是在綜合任務處理機等
,兩個處理器之間通過雙口 RAM交換數據是常見的數據接口方式。一般雙口RAM都提供了兩個完全獨立的端口,每個端口都有自己的控制線、地址線和數據線,兩側處理器同時訪問雙口 RAM時,即當兩個處理器同時向同一個地址單元寫入數據、或者兩個CPU同時對同一個地址單元操作(一個寫入數據,一個讀出數據)時,會造成沖突,導致讀寫數據錯誤,這是雙口 RAM讀寫控制方案設計時的常見問題。現有控制發難都是圍繞如何避免沖突而設計,需要在軟件層面通過復雜的信號量傳遞機制和握手機制解決,任何一側在訪問前都需查詢總線狀態,這產生了額外的系統開銷,且需占用寶貴的處理器中斷資源。
技術實現思路
本專利技術的目的是提供一種帶自適應避讓機制的搶占式訪問雙口RAM的方法,用以解決現有避讓沖突、避免讀寫失敗的技術方案中,額外的系統開銷大的技術問題。為實現上述目的,本專利技術的方案包括:—種雙口 RAM的訪問方法,包括如下步驟:步驟I):當雙口RAM兩側的主處理器和協處理器在同一時間間隔內發出訪問相同RAM地址的命令時,進行沖突監測;步驟2):沖突監測模塊產生BUSY信號,BUSY信號經過邏輯轉換模塊轉換后,輸出應答信號給遲滯處理器,使遲滯處理器的總線周期延長;所述遲滯處理器是指在主處理器和協處理器中,在同一時間間隔訪問雙口 RAM相對滯后的處理器;進一步的,所述步驟2)中BUSY信號經過邏輯轉換模塊進行的邏輯轉換的設計方法為:邏輯轉換模塊內置計數器,設置BUSYL信號為計數器清零信號,當計數器計數溢出時,使ACK_L信號有效。進一步的,所述步驟2)中BUSY信號經過邏輯轉換模塊進行的邏輯轉換的設計方法為:邏輯轉換模塊內置計數器,設置BUSYR信號為計數器清零信號,當計數器計數溢出時,使ACK_R信號有效。進一步的,主處理器和協處理器沒有在同一時間間隔內訪問相同雙口 RAM時,BUSYR信號和BUSYL無效,兩個處理器的總線周期不變,維持其默認值。一種雙口 RAM的訪問裝置,包括如下模塊:模塊I):用于當雙口RAM兩側的主處理器和協處理器在同一時間間隔內發出訪問相同RAM地址的命令時,進行沖突監測;模塊2):用于沖突監測模塊產生BUSY信號,BUSY信號經過邏輯轉換模塊轉換后,輸出應答信號給遲滯處理器,使遲滯處理器的總線周期延長;所述遲滯處理器是指在主處理器和協處理器中,在同一時間間隔訪問雙口RAM相對滯后的處理器;進一步的,所述模塊2)中BUSY信號經過邏輯轉換模塊進行的邏輯轉換的設計方法為:邏輯轉換模塊內置計數器,設置BUSYL信號為計數器清零信號,當計數器計數溢出時,ACK_L信號有效。進一步的,所述模塊2)中BUSY信號經過邏輯轉換模塊進行的邏輯轉換的設計方法為:邏輯轉換模塊內置計數器,設置BUSYR信號為計數器清零信號,當計數器計數溢出時,ACK_R信號有效。進一步的,主處理器和協處理器沒有在同一時間間隔內訪問相同雙口 RAM時,BUSYR信號和BUSYL無效,兩個處理器的總線周期不變,維持其默認值。本專利技術提供的一種帶自適應避讓機制的搶占式訪問雙口RAM的方法,不需要在軟件層面通過復雜的信號量傳遞機制和握手機制,不需要在訪問雙口RAM前查詢總線狀態,不占用處理器中斷資源,節省了系統開銷,響應時間短。【附圖說明】圖1是本專利技術的框架結構圖;圖2是無訪問沖突時的默認總線周期;圖3是有訪問沖突時的調整總線周期。【具體實施方式】下面結合附圖對本專利技術做進一步詳細的說明。為了克服現有的搶占式訪問雙口RAM會引起總線沖突和讀寫失敗的不足,以及軟件控制方式訪問雙口 RAM引起的系統開銷大、響應延時長的缺點,本專利技術提供一種帶自適應避讓機制的訪問方法,不僅不需要額外的系統開銷,而且能夠有效的避讓沖突,避免讀寫失敗。下面將詳細介紹本專利技術的【具體實施方式】。如圖1所示,是本專利技術的框架結構圖。從圖中可以看出,處理器A和處理器B分別設于雙口 RAM的兩端,其中處理器A和處理器B分別是主處理器和協處理器。處理器A和處理器B分別通過數據總線訪問雙口RAM的數據存儲陣列,進行數據(DATA)的交換;并且處理器A、處理器B分別發出CSL和CSR信號,通過雙口RAM的兩個I/O控制端口對雙口RAM進行I/O控制;在處理器A和處理器B在同一時間間隔訪問雙口 RAM時,雙口 RAM通過沖突監測與指示裝置發出沖突信號BUSYL或BUSYR信號,BUSYL信號和BUSYR信號分別進入相應的邏輯處理模塊邏輯A和邏輯B中,然后分別產生相應的應答信號ACK_U^ACK_R,傳輸給相應的處理器A和處理器B。當處理器A和處理器B沒有在同一時間間隔訪問雙口 RAM時,雙口 RAM按照默認的正常模式對訪問數據進行處理,總線訪問周期不變。當處理器A和處理器B在同一時間間隔訪問雙口 RAM時,雙口 RAM則會產生沖突指示信號。雖然處理器A和處理器B在同一時間間隔訪問雙口 RAM,但他們各自向雙口 RAM發送的訪問信號還是存在一定的時間間隔,在這里,以處理器A發送訪問信號的時間時刻滯后于處理器B為例。此時,由于處理器A和處理器B同時訪問雙口 RAM,且處理器A訪問時間滯后于處理器B,所以沖突監測裝置會發出沖突指示信號BUSYL信號;該BUSYL信號從雙口 RAM出來后傳輸到可編程邏輯芯片模塊邏輯B中,BUSYL信號將邏輯A模塊中內置的計數器清零,然后計數器從零開始計數,當計數器溢出時,應答信號ACK_L被使能有效,引起總線周期延長,同時應答信號ACK_L傳輸到處理器A中,修改處理器A的總線周期配置寄存器,延長處理器A的總線周期,使得處理器A在處理器B訪問結束后再訪問雙口 RAM,從而有效的避免兩個處理器在同一時間間隔訪問雙口 RAM時發生沖突。本專利技術提供的一種帶自適應避讓機制的搶占式訪問雙口RAM的方法,在不發生訪問沖突時,兩側處理器以最快的速度完成數據讀寫,而在發生訪問沖突時,優先保證一側的訪問在最短時間完成,通過延長總線周期使得另外一側處理器也能保證在本次訪問周期內完成正常讀寫,從而有效的減少了額外的系統開銷。從圖2和圖3中可以看出,無訪問沖突時其總線周期明顯小于有訪問沖突時的總線周期。以上給出了本專利技術具體的實施方式,但本專利技術不局限于所描述的實施方式。在本專利技術給出的思路下,采用對本領域技術人員而言容易想到的方式對上述實施例中的技術手段進行變換、替換、修改,并且起到的作用與本專利技術中的相應技術手段基本相同、實現的專利技術目的也基本相同,這樣形成的技術方案是對上述實施例進行微調形成的,這種技術方案仍落入本專利技術的保護范圍內。【主權項】1.一種雙口 RAM的訪問方法,其特征在于,包括如下步驟: 步驟I):當雙口RAM兩側的主處理器和協處理器在同一時間間隔內發出訪問相同RAM地址的命令時,進行沖突監測; 步驟2):沖突監測模塊產生BUSY信號,BUSY信號經過邏輯轉換模塊轉換后,輸出應答信號給遲滯處理器本文檔來自技高網...
【技術保護點】
一種雙口RAM的訪問方法,其特征在于,包括如下步驟:步驟1):當雙口RAM兩側的主處理器和協處理器在同一時間間隔內發出訪問相同RAM地址的命令時,進行沖突監測;步驟2):沖突監測模塊產生BUSY信號,BUSY信號經過邏輯轉換模塊轉換后,輸出應答信號給遲滯處理器,使遲滯處理器的總線周期延長;所述遲滯處理器是指在主處理器和協處理器中,在同一時間間隔訪問雙口RAM相對滯后的處理器。
【技術特征摘要】
【專利技術屬性】
技術研發人員:張豪,
申請(專利權)人:中國航空工業集團公司洛陽電光設備研究所,
類型:發明
國別省市:河南;41
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。