專利名稱:總線系統、對低速總線設備進行讀寫操作的方法及裝置的制作方法
技術領域:
本發明涉及數據傳輸技術領域,尤其涉及一種總線系統、對低速總線設備進行讀 寫操作的方法及裝置。
背景技術:
總線(Bus)是指用于在電子系統內部各功能部件之間傳送信息的公共通信干線, 根據總線應用的具體環境以及承擔的作用不同,總線的組成也不同,例如,對于本地總線 (local bus),它一般由一組導線組成,按照各導線功能的不同,又可以劃分為數據總線、地 址總線和控制總線,分別用來傳輸數據信號、地址信號以及控制信號。在本地總線的一個典型應用環境中,總線用于連接中央處理器以及總線設備,并 負責傳送中央處理器對總線設備進行讀寫操作時的信號,該總線系統如圖1所示,包括中 央處理器(Central Processing Unit, CPU)、總線以及支持中央處理器通過總線進行數據 讀寫的總線設備,圖1中包括了三個總線設備;其中中央處理器為整個硬件系統的核心,它在軟件的控制下調度整個系統的資源,如 通過驅動總線來發起對總線設備的讀寫操作;總線設備一般是具備某些特定功能的模塊,例如,SDRAM (Synchronous Dynamic Random Access Memory,同步動態隨機存儲器)、并行FLASH、串行FLASH等;總線由地址總線、數據總線和控制總線構成,如圖1所示,ADDR為地址總線,DATA 為數據總線,0E#、0E#以及CS#為控制總線,讀使能0E#表明讀操作控制總線,寫使能冊# 表明寫操作控制總線,片選CS[7:0]#用于決定中央處理器要訪問的總線設備為哪個,如圖 1中所示,CS0#有效則表示中央處理器要訪問總線設備3。在中央處理器訪問總線設備的 過程中,各信號必須以一種特定的邏輯關系進行工作,這種不同信號之間的特定邏輯關系 就稱為時序,讀時序即為進行讀操作時的時序,寫時序即為進行寫操作時的時序。因為不同 的總線設備都有其自己的器件特征,例如讀寫數據的速度可能相差很大,因而中央處理器 訪問總線設備時的時序必須符合該總線設備的規定,例如,當CS#與0E#同時有效時,為讀 操作,當cs#與m#同時有效時,為寫操作。在總線系統中,中央處理器一般只有一個,但總線設備經常會有多個,如圖1所 示,各總線設備都是直接與總線中的各條信號線直接相連,這些總線設備共用地址總線 (ADDR)、數據總線(DATA)以及控制總線中的讀使能0E#和寫使能TO#,但是片選信號CS# 是相互獨立的,如圖1所示,總線設備1、總線設備2、總線設備3的片選信號分別為CS2#、 CS1#、CS0#,中央處理器正是利用這些獨立的片選信號來對不同的總線設備進行分辨。基于圖1所示的總線系統,中央處理器訪問總線設備的過程如下當中央處理器要和總線設備1進行數據傳輸時,它就使CS2#有效(通常低電平為 有效),總線設備1檢測到CS2#有效后,進一步檢測是0E#有效還是m#有效,以此來判斷 中央處理器是發起讀操作還是寫操作,判斷完畢后,總線設備1就會響應中央處理器的相 應操作。
總線系統的性能一般通過總線帶寬來體現,總線帶寬指單位時間內總線上傳送的 數據量大小,單位一般用ΜΒ/s表示,即每鈔鐘傳送的兆字節數。與總線帶寬密切相關的兩 個因素是總線的位寬和總線的讀寫周期(即中央處理器對總線設備進行一次讀操作或寫 操作所需要的時間),它們之間的關系如下總線帶寬=總線的位寬/(8*總線讀寫周期)總線設備一般分為高速總線設備和低速總線設備,高速總線設備和低速總線設備 是通過中央處理器執行一次讀操作或寫操作所需的時間來區分,中央處理器訪問高速總線 設備所需的時間相對較短,訪問低速總線設備所需的時間相對較長。高速總線設備與低速 總線設備并沒有嚴格意義上的區分,而只是相對的概念,例如,如果一個總線設備的讀寫周 期大于總線周期的5倍,則可以認為該總線設備是低速總線設備,否則為高速總線設備。如 前所述,中央處理器要訪問總線設備,必須以一定的時序來操作,該時序是被訪問的總線設 備規定的,中央處理器必須發出符合這個規定的信號,才能成功對總線設備進行讀操作或 寫操作,如圖2所示,是中央處理器為某一低速總線設備配置的讀寫時序,其中,Tbusc;1。。k為中 央處理器的總線周期,假設總線頻率為100MHz,那么Tbusc;1。。k = 10ns,假設該低速總線設備 規定一個讀寫周期的最短時間為100ns,則中央處理器需要為該低速總線設備配置10個總 線周期(即100ns,也就是說,中央處理器對此低速總線設備進行一次讀操作或寫操作,必 須耗費IOOns的時間,在這個時間內,中央處理器不能訪問其他的總線設備,也不能進行其 他的操作。假設該低速總線設備的位寬為8bit,則總線帶寬=總線的位寬/ (8*總線的讀寫 周期)=lOMB/s,即中央處理器訪問此低速總線設備時,總線帶寬僅為lOMB/s。而在理想 狀態下,如果總線設備的讀寫周期與中央處理器的總線周期相同,那么總線帶寬可以達到 lOOMB/s,由此可見,中央處理器訪問低速總線設備的效率僅為理想狀態下的10%。綜上所述,傳統總線系統的主要缺點是中央處理器在訪問讀寫周期較長的低速 總線設備時,會耗費過多的總線周期,導致總線帶寬低下,整個系統的性能也因此變差。
發明內容
有鑒于此,本發明實施例提供一種總線系統、對低速總線設備進行讀寫操作的方 法及裝置,采用該技術方案,能夠提高中央處理器訪問低速總線設備時的總線帶寬。本發明實施例通過如下技術方案實現根據本發明實施例的一個方面,提供了一種總線系統,該總線系統包括中央處理 器、邏輯器件以及低速總線設備所述中央處理器,用于向所述邏輯器件發送第一讀數據控制信號以及向第一地址 總線發送用于指示讀取的數據所在地址的地址信號;在經過設定時長后,再次向所述邏輯 器件發送所述第一讀數據控制信號以及向第一地址總線發送所述地址信號,并獲取所述邏 輯器件發送到第一數據總線上的數據;其中,所述第一讀數據控制信號以及所述地址信號 以第一時序關系發送;所述邏輯器件,用于在接收到所述中央處理器發送的第一讀數據控制信號后,鎖 存第一地址總線上傳輸的地址信號,并確定所述第一讀數據控制信號指示讀取的數據是否 存儲在本地寄存器中,若是,則將所述寄存器中存儲的數據發送到第一數據總線上;若否, 則向所述第一讀數據控制信號指示讀取數據的低速總線設備發送第二讀數據控制信號以及向第二地址總線發送鎖存的所述地址信號,并獲取所述低速總線設備發送到第二數據總 線上的數據并存儲在本地寄存器中,其中,所述第二讀數據控制信號以及鎖存的所述地址 信號以第二時序關系發送,并且所述第二時序包括的總線周期數大于所述第一時序包括的 總線周期數;所述低速總線設備,用于在接收所述邏輯器件發送的第二讀數據控制信號后,獲 取第二地址總線上傳輸的地址信號,并將從所述地址信號指示的地址中讀取的數據發送到 第二數據總線上。根據本發明實施例的又一個方面,還提供了一種總線系統,該總線系統包括中央 處理器、邏輯器件以及低速總線設備所述中央處理器,用于向所述邏輯器件發送第一寫數據控制信號、向第一數據總 線發送所述第一寫數據控制信號指示寫入的數據信號以及向第一地址總線發送指示數據 寫入地址的地址信號;其中,所述第一寫數據控制信號、所述數據信號以及所述地址信號以 第一時序關系發送;所述邏輯器件,用于在接收到所述中央處理器發送的第一寫數據控制信號后,鎖 存所述地址信號以及所述數據信號,并向所述第一寫數據控制信號指示寫入數據的低速總 線設備發送第二寫數據控制信號、向第二數據總線發送鎖存的所述數據信號以及向第二地 址總線發送鎖存的所述地址信號,其中,所述第二寫數據控制信號、鎖存的所述數據信號以 及鎖存的所述地址信號以第二時序關系發送,并且所述第二時序包括的總線周期數大于所 述第一時序包括的總線周期數;所述低速總線設備,用于在接收所述邏輯器件發送的第二寫數據控制信號后,獲 取第二數據總線上傳輸的數據信號以及第二地址總線上傳輸的地址信號,并將所述數據信 號對應的數據寫入所述地址信號指示的地址。根據本發明實施例的又一個方面,還提供了一種對低速總線設備進行讀操作的方 法,包括邏輯器件接收中央處理器發送的第一讀數據控制信號,并鎖存所述中央處理器向 第一地址總線發送的用于指示讀取的數據所在地址的地址信號;其中,所述第一讀數據控 制信號以及所述地址信號以第一時序關系發送;邏輯器件確定所述第一讀數據控制信號指示讀取的數據是否存儲在本地寄存器 中;若是,則將所述寄存器中存儲的數據發送到第一數據總線上供所述中央處理器讀 取;若否,則向所述第一讀數據控制信號指示讀取數據的低速總線設備發送第二讀數 據控制信號以及向第二地址總線發送鎖存的所述地址信號,并獲取所述低速總線設備發送 到第二數據總線上的數據并存儲在本地寄存器中,其中,所述低速總線設備發送到第二數 據總線上的數據為所述低速總線設備在接收所述第二讀數據控制信號后從所述第二地址 總線上傳輸的地址信號指示的地址中獲取的;所述第二讀數據控制信號以及鎖存的所述地 址信號以第二時序關系發送,并且所述第二時序包括的總線周期數大于所述第一時序包括 的總線周期數。根據本發明實施例的又一個方面,還提供了一種對低速總線設備進行寫操作的方法,包括邏輯器件接收中央處理器發送的第一寫數據控制信號,并鎖存所述中央處理器向 第一數據總線發送的第一寫數據控制信號指示寫入的數據信號以及所述中央處理器以第 一時序向第一地址總線發送的指示數據寫入地址的地址信號;其中,所述第一寫數據控制 信號、所述數據信號以及所述地址信號以第一時序關系發送;邏輯器件向所述第一寫數據控制信號指示寫入數據的低速總線設備發送第二寫 數據控制信號、向第二數據總線發送鎖存的所述數據信號以及向第二地址總線發送鎖存的 所述地址信號,供所述低速總線設備將所述數據信號對應的數據寫入所述地址信號指示的 地址中,其中,所述第二寫數據控制信號、鎖存的所述數據信號以及鎖存的所述地址信號以 第二時序關系發送,并且所述第二時序包括的總線周期數大于所述第一時序包括的總線周 期數。根據本發明實施例的又一個方面,還提供了一種對低速總線設備進行讀操作的裝 置,包括接收單元,用于接收中央處理器發送的第一讀數據控制信號;信號鎖存單元,用于在所述接收單元接收所述第一讀數據控制信號后,鎖存所述 中央處理器向第一地址總線發送的用于指示讀取的數據所在地址的地址信號;其中,所述 第一讀數據控制信號以及所述地址信號以第一時序關系發送;寄存器狀態確定單元,用于確定所述接收單元接收的第一讀數據控制信號指示讀 取的數據是否存儲在本地寄存器中;數據輸出單元,用于在所述寄存器狀態確定單元的確定結果為是時,將所述寄存 器中存儲的數據發送到第一數據總線上供所述中央處理器讀取;發送單元,用于在所述寄存器狀態確定單元的確定結果為否時,向所述第一讀數 據控制信號指示讀取數據的低速總線設備發送第二讀數據控制信號以及向第二地址總線 發送鎖存的所述地址信號;其中,所述第二讀數據控制信號以及鎖存的所述地址信號以第 二時序關系發送,并且所述第二時序包括的總線周期數大于所述第一時序包括的總線周期 數;數據獲取單元,用于在所述發送單元發送所述第二讀數據控制信號以及所述地址 信號后,獲取所述低速總線設備發送到第二數據總線上的數據并存儲在本地寄存器中,其 中,所述低速總線設備發送到第二數據總線上的數據為所述低速總線設備在接收所述第二 讀數據控制信號后從所述第二地址總線上傳輸的地址信號指示的地址中獲取的。根據本發明實施例的又一個方面,還提供了一種對低速總線設備進行寫操作的裝 置,包括接收單元,用于接收中央處理器發送的第一寫數據控制信號;信號鎖存單元,用于在所述接收單元接收所述第一寫數據控制信號后,鎖存所述 中央處理器向第一數據總線發送的第一寫數據控制信號指示寫入的數據信號以及所述中 央處理器以第一時序向第一地址總線發送的指示數據寫入地址的地址信號;其中,所述第 一寫數據控制信號、所述數據信號以及所述地址信號以第一時序關系發送;發送單元,用于向所述第一寫數據控制信號指示寫入數據的低速總線設備發送第 二寫數據控制信號、向第二數據總線發送鎖存的所述數據信號以及向第二地址總線發送鎖存的所述地址信號,供所述低速總線設備將所述數據信號對應的數據寫入所述地址信號指 示的地址中,其中,所述第二寫數據控制信號、鎖存的所述數據信號以及鎖存的所述地址信 號以第二時序關系發送,并且所述第二時序包括的總線周期數大于所述第一時序包括的總 線周期數。通過本發明實施例提供的上述至少一個技術方案,通過在現有的總線系統中加入 邏輯器件,在中央處理器需要訪問低速總線設備時,可以以高速時序(第一時序)訪問該邏 輯器件,即以高速時序向該邏輯器件發送讀操作控制信號或寫操作控制信號,由該邏輯器 件將高速時序實時地轉化為基于與被訪問的低速總線設備相應的低速時序(第二時序), 并以此來訪問該低速總線設備,在此過程中,邏輯器件根據中央處理器發送的讀操作控制 信號或寫操作控制信號完成相應的處理。根據該技術方案,可以實現中央處理器以高速時 序訪問低速總線設備,減少了中央處理器訪問低速總線設備耗費的總線周期,從而提高了 總線帶寬,使總線系統的性能得到優化。本發明的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變 得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在所寫的說明 書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。
附圖用來提供對本發明的進一步理解,并且構成說明書的一部分,與本發明實施 例一起用于解釋本發明,并不構成對本發明的限制。在附圖中圖1為現有技術提供的傳統總線系統的系統示意圖;圖2為現有技術提供的低速總線設備的讀寫時序示意圖;圖3為本發明實施例一提供的總線系統示意圖;圖4為本發明實施例一提供的包括總線連接關系的總線系統示意圖;圖5為本發明實施例二提供的總線系統示意圖;圖6為本發明實施例二提供的包括總線連接關系的總線系統示意圖;圖7為本發明實施例三提供的對低速總線設備進行讀操作的方法流程圖;圖8為本發明實施例三提供的邏輯器件確定第一讀數據控制信號指示讀取的數 據是否存儲在本地寄存器中的流程圖;圖9為本發明實施例三提供的邏輯器件接收中央處理器第二次發送的讀數據控 制信號以及進行處理的流程圖;圖10為本發明實施例四提供的對低速總線設備進行寫操作的方法流程圖;圖11為本發明實施例五提供的基于圖4提供的總線系統實現讀操作的時序示意 圖;圖12為本發明實施例五提供的CPLD處理中央處理器的讀操作的流程圖;圖13為本發明實施例六提供的基于圖4提供的總線系統實現寫操作的時序示意 圖;圖14為本發明實施例六提供的CPLD處理中央處理器的寫操作的流程圖;圖15為本發明實施例七提供的對低速總線設備進行讀操作的裝置示意圖;圖16為本發明實施例八提供的對低速總線設備進行寫操作的裝置示意圖。
具體實施例方式為了給出提高中央處理器訪問低速總線設備的總線帶寬的實現方案,本發明實施 例提供了一種總線系統、對低速總線設備進行寫讀操作的方法及裝置,以下結合說明書附 圖對本發明的優選實施例進行說明,應當理解,此處所描述的優選實施例僅用于說明和解 釋本發明,并不用于限定本發明。并且在不沖突的情況下,本發明中的實施例及實施例中的 特征可以相互組合。實施例一根據本發明實施例,首先提供了一種總線系統,如圖3所示,該總線系統主要包 括中央處理器301、邏輯器件302以及低速總線設備303 該總線系統可以獨立地作為用于完成讀操作的總線系統,即中央處理器301通過 邏輯器件302對低速總線設備303執行讀操作,具體地,當該總線系統獨立地作為用于完成 讀操作的總線系統時,其包括的各功能模塊的功能如下中央處理器301,用于以第一時序向邏輯器件302發送第一讀數據控制信號以及 向第一地址總線發送用于指示讀取的數據所在地址的地址信號,并在經過設定時長后,再 次以該第一時序向該邏輯器件302發送該第一讀數據控制信號以及向第一地址總線發送 用于指示讀取的數據所在地址的地址信號,并獲取邏輯器件302根據該第一讀數據控制信 號發送到第一數據總線上的數據;其中,第一讀數據控制信號以及地址信號以第一時序關 系發送;邏輯器件302,用于在接收到中央處理器301發送的第一讀數據控制信號后,鎖存 第一地址總線上傳輸的地址信號,并確定該第一讀數據控制信號指示讀取的數據是否存儲 在本地寄存器中,若是,則將該寄存器中存儲的數據發送到第一數據總線上供中央處理器 301讀取;若否,則以第二時序向該第一讀數據控制信號指示讀取數據的低速總線設備303 發送第二讀數據控制信號以及將鎖存的地址信號發送到第二地址總線上,并獲取該低速總 線設備303根據該第二讀數據控制信號發送到第二數據總線上的數據并存儲在本地寄存 器中,其中,第二讀數據控制信號以及鎖存的地址信號以第二時序關系發送,并且第二時序 包括的總線周期數大于第一時序包括的總線周期數;低速總線設備303,用于在接收邏輯器件302發送的第二讀數據控制信號后,獲取 第二地址總線上傳輸的地址信號,并將從該地址信號指示的地址中讀取的數據發送到第二 數據總線上供邏輯器件302讀取。該總線系統還可以獨立地作為用于完成寫操作的總線系統,即中央處理器301通 過邏輯器件302對低速總線設備303執行寫操作,具體地,當該總線系統獨立地作為用于完 成寫操作的總線系統時,其包括的各功能模塊的功能如下中央處理器301,用于以第一時序向邏輯器件302發送第一寫數據控制信號、以向 第一數據總線發送該第一寫數據控制信號指示寫入的數據信號以及向第一地址總線發送 指示數據寫入地址的地址信號;其中,該第一寫數據控制信號、數據信號以及地址信號以第 一時序關系發送;邏輯器件302,用于在接收到中央處理器301發送的第一寫數據控制信號后,鎖存
11所述地址信號以及所述數據信號,并以第二時序向該第一寫數據控制信號指示寫入數據的 低速總線設備303發送第二寫數據控制信號、向第二數據總線發送鎖存的數據信號以及向 第二地址總線發送鎖存的地址信號,其中,該第二寫數據控制信號、鎖存的數據信號以及鎖 存的地址信號以第二時序關系發送,并且該第二時序包括的總線周期數大于該第一時序包 括的總線周期數;低速總線設備303,用于在接收邏輯器件302發送的第二寫數據控制信號后,獲取 第二數據總線上傳輸的數據信號以及第二地址總線上傳輸的地址信號,并將獲取的數據信 號對應的數據寫入獲取的地址信號指示的地址。應當理解,本發明實施例中出現的第一時序、第二時序等僅用于區分不同的時序, 不同實施例中出現的第一時序或第二時序并不能被認為是同一時序,即該總線系統獨立地 作為用于完成寫操作的總線系統中發送第一寫數據控制信號、數據信號以及地址信號時的 第一時序,與上述總線系統獨立地作為用于完成讀操作的總線系統中發送第一讀數據控制 信號以及地址信號時的第一時序可以不為同一時序,該總線系統獨立地作為用于完成寫操 作的總線系統中發送第二寫數據控制信號、鎖存的數據信號以及鎖存的地址信號時的第二 時序,與上述總線系統獨立地作為用于完成讀操作的總線系統中發送第二讀數據控制信號 以及鎖存的地址信號時的第二時序可以不為同一時序,該說明也適用于后續與系統對應的 方法實施例以及裝置實施例中,后續不再贅述。以上實施例分別描述了當總線系統獨立作為用于完成讀操作的總線系統時各功 能模塊具備的功能,以及當總線系統獨立作為用于完成寫操作的總線系統時各功能模塊具 備的功能,本發明一個優選實施例中,總線系統還可以同時作為用于完成讀操作以及用于 完成寫操作的總線系統,相應地,該總線系統中包括的各功能模塊同時具備以上讀操作功 能以及寫操作功能,此處不再贅述。上述實施例一中,邏輯器件302可以優選地選取最大頻率大于等于中央處 理器總線頻率、且具備完成上述時序轉換功能能力的邏輯器件,例如符合上述要求的 CPLD (Complex Programmable Logic Device,復雜可編程邏輯器件),CPLD的主要特點是可 以由用戶根據需要定義其邏輯功能,在電子系統中一般用于實現簡單的用戶定制邏輯,例 如對用戶定制邏輯中的時序進行轉換,具體地,根據本發明上述實施例中邏輯器件302具 備的功能,該邏輯器件302需要將中央處理器301以高速時序(第一時序)發出的讀數據控 制信號或寫數據控制信號,轉換為與被訪問的低速總線設備相應的低速時序(第二時序), 以完成對低速總線設備的訪問,執行數據獲取或寫入的操作。該邏輯器件302可以實現時 序的實時轉換,在進行時序的實時轉換時,邏輯器件302需要鎖存中央處理器301發送的地 址信號或/和數據信號,具體地,在中央處理器301執行讀操作時,該邏輯器件302鎖存地 址信號,在中央處理器301執行寫操作時,該邏輯器件302鎖存地址信號和數據信號。由于 邏輯器件只鎖存當下周期的地址信號或/和數據信號,因此,即使在總線系統中加入了新 的邏輯器件302,也不會對數據的傳輸造成延遲。圖3所示的總線系統中,中央處理器301 與邏輯器件302之間,以及邏輯器件302與低速總線設備303之間通過總線連接,具體的連 接關系如圖4所示,圖4中的邏輯器件302采用CPLD,并且低速總線設備303對應的片選為 CS0#,其中ADDR為中央處理器301與CPLD 302之間的地址總線(即上述的第一地址總線),用于傳輸地址信號;DATA為中央處理器301與CPLD 302之間的數據總線(即上述的第一數據總線),
用于傳輸數據信號;WE#、0E#以及CS0#為中央處理器301與CPLD 302之間的控制總線,WE#用于傳輸 寫數據控制信號、0E#用于傳輸讀數據控制信號、CS0#有效時用于指示被訪問的總線設備;ADDR_CPLD為CPLD 302與低速總線設備303之間的地址總線(即上述的第二地址 總線),用于傳輸地址信號;DATA_CPLD為CPLD 302與低速總線設備303之間的數據總線(即上述的第二數據 總線),用于傳輸數據信號;WE#_CPLD、0E#_CPLD以及CS0#_CPLD為CPLD 302與低速總線設備303之間的控制 總線,TO#_CPLD用于傳輸寫數據控制信號、0E#_CPLD用于傳輸讀數據控制信號、CS0#_CPLD 有效時用于指示被訪問的總線設備。實施例二如圖5所示,該實施例一提供的總線系統在圖3的基礎上,還可以進一步包括高速 總線設備304,該高速總線設備304直接通過總線與中央處理器301相連,用于響應中央處 理器301基于高速時序進行的讀操作以及寫操作,具體地中央處理器301,用于以高速時序向高速總線設備304發送讀數據控制信號以及 向第一地址總線發送用于指示讀取的數據所在地址的地址信號,并接收高速總線設備304 根據讀數據控制信號發送到第一數據總線上的數據,其中,讀數據控制信號以及向第一地 址總線發送的地址信號以高速時序關系發送;還用于以高速時序向高速總線設備304發送 寫數據控制信號、向第一數據總線發送該寫數據控制信號指示寫入的數據信號以及向第一 地址總線發送用于指示數據寫入地址的地址信號,其中,寫數據控制信號、向第一數據總線 發送的數據信號以及向第一地址總線發送的地址信號以高速時序關系發送;高速總線設備304,用于在接收中央處理器301發送的讀數據控制信號后,獲取第 一地址總線上傳輸的地址信號,并將該地址信號指示讀取的數據發送到第一數據總線上以 供中央處理器301讀取;以及在接收中央處理器301發送的寫數據控制信號后,獲取第一數 據總線上傳輸的數據信號以及第一地址總線上傳輸的地址信號,并將獲取的數據信號對應 的數據寫入到獲取的地址信號指示的地址中。根據圖5所示的總線系統,在中央處理器301需要進行數據讀寫操作時,首先確定 要進行讀寫操作的總線設備為高速總線設備還是低速總線設備,若確定要進行讀寫操作的 總線設備為高速總線設備304,則直接將相應的讀數據控制信號或寫數據控制信號以高速 時序發送至該高速總線設備304,若確定要進行讀寫操作的總線設備為低速總線設備303, 則將相應的讀數據控制信號或寫數據控制信號以高速時序發送至用于連接中央處理器301 以及低速總線設備303的邏輯器件302,由該邏輯器件302基于符合低速總線設備303要求 的低速時序向低速總線設備303進行相應的讀寫操作。根據該實施例,中央處理器301能 夠根據要進行讀寫操作的總線設備選擇符合該總線設備的讀寫方式,從而實現了中央處理 器301基于高速時序訪問低速總線設備303。圖5所示的總線系統中,中央處理器301與邏輯器件302之間、邏輯器件302與低 速總線設備303之間以及中央處理器301與高速總線設備304之間通過總線連接,具體的連接關系如圖6所示,該圖6中的邏輯器件302采用CPLD,低速總線設備303對應的片選 為CS0#、高速總線設備304對應的片選為CS1#,其中各總線代表的含義與上述實施例中針 對圖4中各總線代表的含義的說明一致,此處不再贅述。根據上述實施例提供的總線系統,在中央處理器301以及低速總線設備303之間 增加邏輯器件302,由于一般邏輯器件(如CPLD)的時鐘可以高達300MHz,中央處理器301 該邏輯器件302的讀寫速度可以非常快,可控制在IOns以下,當然邏輯器件302也可以以 較慢的速度實現與低速總線設備303的交互。在該總線系統中,中央處理器301可以把邏 輯器件302看成是一個普通的高速總線設備,中央處理器301以高速時序對該邏輯器件302 進行操作;同時,低速總線設備303也可以把邏輯器件302看成是普通的管理模塊,它可以 對這個管理模塊發出的時序進行響應,邏輯器件302則實現中央處理器301的高速時序與 低速總線設備303的低速時序之間的實時轉換。與上述總線系統實施例對應,本發明實施例還提供了一種對低速總線設備進行讀 操作以及寫操作的方法,以下結合具體的實施例對本發明基于上述實施例提供的總線系統 實現對低速總線設備進行讀操作以及寫操作的具體過程進行說明。以上實施例中,第一地址總線即指中央處理器301與邏輯器件302之間的地址總 線,第一數據總線即指中央處理器301與邏輯器件302之間的數據總線;第二地址總線即指 邏輯器件302與低速總線設備303之間的地址總線,第二數據總線即指邏輯器件302與低 速總線設備303之間的數據總線,后續實施例中出現的情況與此相同,不再贅述。實施例三基于上述實施例一中圖3提供的總線系統,該實施例提供了一種對低速總線設備 進行讀操作的方法。如圖7所示,中央處理器301對低速總線設備進行讀操作的方法,主要包括如下步 驟步驟701、邏輯器件302接收中央處理器301以第一時序發送的第一讀數據控制信 號,鎖存中央處理器301以第一時序向第一地址總線發送的用于指示讀取的數據所在地址 的地址信號;具體地,中央處理器301在發送第一讀數據控制信號以及地址信號時,該第一讀 數據控制信號以及地址信號以第一時序關系發送。步驟702、邏輯器件302在接收第一讀數據控制信號后,確定接收的第一讀數據控 制信號指示讀取的數據是否存儲在本地寄存器中,若是,則執行步驟703 ;若否,則執行步 驟704 步驟705 ;步驟703、邏輯器件302將該寄存器中存儲的數據發送到第一數據總線上供中央 處理器301讀取,至此流程結束;步驟704、邏輯器件302以第二時序向第一讀數據控制信號指示讀取數據的低速 總線設備303發送第二讀數據控制信號以及將鎖存的地址信號發送到第二地址總線上;具體地,該步驟中,邏輯器件302在發送第二讀數據控制信號以及鎖存的地址信 號時,該第二讀數據控制信號以及鎖存的地址信號以第二時序關系發送。步驟705、邏輯器件302獲取低速總線設備303根據該第二讀數據控制信號發送到 第二數據總線上的數據并存儲在本地寄存器中,至此流程結束。
具體地,上述步驟705中,低速總線設備303發送到第二數據總線上的數據從第二 地址總線上傳輸的地址信號指示的地址中獲取。上述流程的步驟702中,若邏輯器件302確定接收的第一讀數據控制信號指示讀 取的數據存儲在本地寄存器中,則確定該第一讀數據控制信號為中央處理器301首次發送 的;若邏輯器件302確定接收的第一讀數據控制信號指示讀取的數據未存儲在本地寄存器 中,則確定該第一讀數據控制信號為中央處理器301再次發送的,其中,邏輯器件302接收 的該再次發送的第一讀數據控制信號具體包括中央處理器301在初次發送第一讀數據控制信號的設定時長后再次發送的第一 讀數據控制信號,其中,該設定時長大于等于邏輯器件302向第一讀數據控制信號指示讀 取數據的低速總線設備303發送第二讀數據控制信號,至獲取該低速總線設備發送到第二 數據總線上的數據并存儲在本地寄存器中所間隔的時間;或中央處理器301根據接收的觸發信號再次發送的第一讀數據控制信號,其中,該 觸發信號為邏輯器件302在獲取低速總線設備303發送到第二數據總線上的數據并存儲在 本地寄存器中后發送的。根據本發明實施例,在執行上述步驟704之前,即邏輯器件302在以第二時序向第 一讀數據控制信號指示讀取數據的低速總線設備303發送第二讀數據控制信號時,需要將 第一時序轉換為第二時序,其中,第二時序符合第一讀數據控制信號指示讀取數據的低速 總線設備303對訪問時序的要求,也就是說,需要將中央處理器301訪問邏輯器件302的高 速時序(即第一時序)轉換為根據低速總線設備303的性能能夠正常響應的低速時序(即 第二時序),根據此要求,第二時序包括的總線周期數應當大于第一時序包括的總線周期 數,即第一時序為高速時序,第二時序為低速時序。本發明實施例中,高速時序和低速時序 并沒有嚴格意義上的區分,而只是相對的概念,例如,如果一個時序包括的總線周期數大于 5,則可以認為該時序為低速時序,否則為高速時序。根據本發明實施例,中央處理器301在對低速總線設備303進行讀操作時,需要以 高速時序向邏輯器件302發送兩次第一讀數據控制信號以及向第一地址總線發送相應的 地址信號,該第一讀數據控制信號以及地址信號以高速時序關系發送。具體地,首次發送的 第一讀數據控制信號用于指示邏輯器件302從相應的低速總線設備303中獲取數據,再次 發送的讀數據控制信號用于獲取邏輯器件302從相應的低速總線設備303中獲取的數據。 基于此,上述流程的步驟702中,若邏輯器件302確定接收的第一讀數據控制信號指示讀取 的數據未存儲在本地寄存器中,則說明該第一讀數據控制信號為中央處理器301首次發送 的第一讀數據控制信號;若邏輯器件302根據第一讀數據控制信號確定接收的第一讀數據 控制信號指示讀取的數據存儲在本地寄存器中,則說明該第一讀數據控制信號為中央處理 器301再次發送的第一讀數據控制信號。本發明優選實施例中,邏輯器件302需要判斷接收的第一讀數據控制信號是中央 處理器301首次發送或再次發送,為了達到此目的,上述步驟705中,邏輯器件302在接收 低速總線設備303發送的數據并存儲在本地寄存器中后,還進一步執行如下步驟通過低速總線設備303對應的片選號標識該寄存器,并將用于標識該寄存器中存 儲數據的標識位置為有效;相應地,上述步驟702中,邏輯器件302確定該第一讀數據控制信號指示讀取的數據是否存儲在本地寄存器中,如圖8所述,具體包括如下步驟步驟801、確定第一讀數據控制信號指示讀取數據的低速總線設備對應的片選 號;步驟802、確定與該片選號對應的寄存器;步驟803、判斷該寄存器對應的標識位是否為有效,若是,則執行步驟804;若否, 則執行步驟805 ;步驟804、確定該第一讀數據控制信號指示讀取的數據存儲在本地寄存器中,至此 流程結束;步驟805、確定該第一讀數據控制信號指示讀取的數據未存儲在本地寄存器中,至 此流程結束。本發明優選實施例中,在執行完上述步驟705之后,即在邏輯器件302獲取低速總 線設備303根據第二讀數據控制信號發送到第二數據總線上的數據并存儲在本地寄存器 中后,該方法還包括邏輯器件302接收中央處理器301再次發送的第一讀數據控制信號以 及進行相應處理的步驟,具體如圖9所示,包括如下步驟步驟901、邏輯器件302接收中央處理器301再次以第一時序發送的第一讀數據控 制信號;步驟902、邏輯器件302根據第一讀數據控制信號確定該第一讀數據控制信號指 示讀取的數據對應的寄存器;步驟903、邏輯器件302將該寄存器中存儲的數據發送到第一數據總線上供中央 處理器301讀取。該步驟903中,邏輯器件302將寄存器中存儲的數據發送到第一數據總線上后,進 一步將用于標識該寄存器中存儲數據的標識位置為無效。上述步驟901 步驟903具體在上述圖7所對應流程的步驟705之后執行,即在 邏輯器件302確定接收的第一讀數據控制信號為中央處理器301首次發送的第一讀數據控 制信號,并從相應的低速總線設備中獲取到數據并存儲到寄存器中以后執行,相應地,步驟 901中邏輯器件302接收的第一讀數據控制信號為中央處理器301再次發送的第一讀數據 控制信號。具體地,根據本發明優選實施例,中央處理器301再次以第一時序發送的第一讀 數據控制信號,包括如下兩種方式方式一、中央處理器301在經過設定時長后再次以該第一時序發送第一讀數據控制信號; 其中,該設定時長大于等于邏輯器件302向第一讀數據控制信號指示讀取數據的低速總線 設備303發送第二讀數據控制信號,至獲取低速總線設備303發送到第二數據總線上的數 據并存儲在本地寄存器中所間隔的時間,也即該設定時長根據低速總線設備303進行讀寫 操作的周期確定,至少保證低速總線設備將中央處理器指示獲取的數據發送到第二數據總 線,保證邏輯器件302能夠穩定存儲了該數據。根據此方式,上述步驟901中,邏輯器件302具體接收中央處理器301在初次發送 第一讀數據控制信號的設定時長后,再次以該第一時序發送的第一讀數據控制信號,采用 該方式一,可以保證數據傳輸的實時性。
16
方式二、由邏輯器件302觸發中央處理器301再次以該第一時序發送第一讀數據控制信 號,具體地,邏輯器件302在接收低速總線設備303發送的數據并存儲在本地寄存器中后 (即在執行上述步驟705之后),向中央處理器301發送觸發信號。根據此方式,上述步驟901中,邏輯器件302具體接收中央處理器301在接收邏輯 器件發送的觸發信號后,再次以該第一時序發送的第一讀數據控制信號。實施例四基于上述實施例一中圖3提供的總線系統,該實施例提供了一種對低速總線設備 進行寫操作的方法。如圖10所示,中央處理器301對低速總線設備303進行寫操作的方法,主要包括 如下步驟步驟1001、邏輯器件302接收中央處理器301向邏輯器件發送的第一寫數據控制
信號;步驟1002、鎖存中央處理器301向第一數據總線發送的第一寫數據控制信號指示 寫入的數據信號以及中央處理器301向第一地址總線發送的指示數據寫入地址的地址信 號;具體地,中央處理器301在發送上述第一寫數據控制信號、數據信號以及地址信 號時,該第一寫數據控制信號、數據信號以及地址信號以第一時序關系發送。步驟1003、邏輯器件302以第二時序向第一寫數據控制信號指示寫入數據的低速 總線設備303發送第二寫數據控制信號、向第二數據總線發送鎖存的的數據信號以及向第 二地址總線發送鎖存的地址信號;具體地,該步驟中,第二寫數據控制信號、鎖存的的數據信號以及鎖存的地址信號 以第二時序關系發送。步驟1004、低速總線設備303在接收邏輯器件302發送的第二寫數據控制信號后, 獲取第二數據總線上傳輸的數據信號以及第二地址總線上傳輸的地址信號,并將獲取的數 據信號對應的數據寫入到獲取的地址信號指示的地址中。根據本發明實施例,在執行上述步驟1003時,即邏輯器件302以第二時序關系向 第一寫數據控制信號指示寫入數據的低速總線設備303發送第二寫數據控制信號、鎖存的 地址信號以及數據信號時,還包括將第一時序實時轉換為第二時序的步驟,其中,第二時序 符合第一寫數據控制信號指示寫入數據的低速總線設備303對訪問時序的要求,也就是 說,需要將中央處理器301訪問邏輯器件302的高速時序(即第一時序)轉換為根據低速 總線設備303的性能能夠正常響應的低速時序(即第二時序),根據此要求,第二時序包括 的總線周期數大于第一時序包括的總線周期數,即第一時序為高速時序,第二時序為低速 時序。為了更好地理解本發明實施例提供的對低速總線設備進行讀操作以及寫操作的 方法,以下結合更為具體的實施例進行詳細說明。實施例五基于上述實施例一中圖4提供的包括總線連接關系的總線系統示意圖,該實施例 提供了一種對低速總線設備進行讀操作的方法,該方法針對中央處理器301對低速總線設備303進行讀操作時的具體信號流向進行了詳細說明。如圖11所示,基于圖4提供的總線系統實現讀操作的時序示意圖,其中,
0E#對應的時序為中央處理器301訪問CPLD 302的時序,CS0#_CPLD和0E#_CPLD對應的時 序為CPLD 302將CS0#和0E#對應的高速時序轉換低速時序后,向低速總線設備303發出 的時序。圖11中,中央處理器301訪問CPLD 302的時序為高速時序,占用2個總線周期, CPLD訪問低速總線設備303的時序為低速時序,占用10個總線周期。基于圖11所示的時序,圖4中各實體的具體操作過程如下中央處理器301:用戶可以通過對中央處理器的UPM(User-programmable Machine,用戶可編程控 制器)進行編程,使中央處理器的讀時序周期為2*Tbusc;1。。k。UPM作為中央處理器內部集成控 制器,主要用于控制產生訪問總線設備的時序,用戶通過對UPM里的RAM陣列進行編程,就 可以產生符合不同總線設備所需的各種時序。從圖11可以看出,在中央處理器301對低速 總線設備303進行一次完整的讀操作期間,中央處理器301要對CPLD進行兩次讀操作,即 向CPLD發送兩次讀數據控制信號,在第一次讀CPLD 302時,中央處理器301在發出讀數據 控制信號時還發送該讀數據控制信號指示讀取的數據所在地址的地址信號。由于低速總線 設備303的響應速度較低,中央處理器301無法在第一次訪問CPLD期間讀到數據,所以在 一定的時間后,需要進行對CPLD 302的第二次讀操作,即再次發送讀數據控制信號給CPLD 302,在第二次讀操作期間,中央處理器301從CPLD 302中讀取相應的數據,在中央處理器 301再次發送讀數據控制信號時,可以不發送地址信號,但本發明優選實施例中,為了保證 時序的一致性,可以在再次發送讀數據控制信號時,也發送地址信號,即兩次讀操作發送相 同的信號。具體地,中央處理器301在對低速總線設備303進行的兩次讀操作之間的時間間 隔,由用戶根據實際情況設定,但需要保證中央處理器發起第二次讀數據控制信號時,要讀 取的數據已經保存在CPLD 302的寄存器中,如設定為低速總線設備303對本次訪問的響應 時間。低速總線設備303:CPLD 302以低速時序訪問低速總線設備303,低速總線設備303則把CPLD 302看 成是與傳統系統中的中央處理器一樣功能的模塊,該低速總線設備303也是以和傳統系統 中一樣的行為對CPLD 302發送的讀數據控制信號進行響應,即只要低速總線設備303檢測 到CPLD 302給它發出的讀數據控制信號,則獲取第二地址總線上傳輸的地址信號,并從該 地址信號指示的地址讀取數據。該低速總線設備303在經過一定的響應時間(即讀取數據 的時間)后,就會將相應的數據發送到第二數據總線。邏輯器件302 (以CPLD為例進行說明)如圖12所示,CPLD 302處理中央處理器301的讀操作,主要包括如下步驟步驟1201、CPLD上電初始化;步驟1202、判斷CS0#*0E#是否同時有效,若是,執行步驟1203 ;若否,返回步驟 1202 ;步驟1203、判斷030#對應的寄存器的標識位F = 0是否成立,若否,執行步驟 1204 步驟1205 ;若是,執行步驟1206 步驟1211 ;
18
該步驟中,F為CPLD 302定義的用于標識寄存器中是否存儲數據的標識位,即用 于指示中央處理器301指示讀取的數據是否已準備好,本發明該實施例中,F = 1代表該標 識位有效,說明該寄存器中存儲有數據,中央處理器301指示讀取的數據已準備好,中央處 理器301可以從該寄存器中獲取到相應的數據;相應地,該標識位F也用于為判斷中央處理 器301發送的讀數據控制信號是首次發送還是再次發出,若F = 0 (即無效),則該讀數據控 制信號為首次發出的,若F = 1 (即有效),則該讀數據控制信號為再次發出的。步驟1204、執行DATA = DATA_0N,即獲取DATA_0N寄存器中存儲的數據并發送到 DATA總線上傳輸;本發明實施例中,DATA_0N為CPLD內部定義的寄存器,用來鎖存數據信號。步驟1205、將標識位F置零,至此,本次讀操作流程結束。步驟1206、執行ADDR_0N = ADDR,即將ADDR總線上傳輸的地址信號寫入ADDR_0N
寄存器中;本發明實施例中,ADDR_0N為CPLD內部定義的寄存器,用來鎖存地址信號。步驟1207、使 CS0#_CPLD 和 0E#_CPLD 有效,執行 ADDR_CPLD = ADDR_0N,計數器 C開始計數;該步驟中,ADDR_CPLD = ADDR_0N即將ADDR_0N寄存器中存儲的地址寫入ADDR_ CPLD地址總線中傳輸;C為計數器,用來控制低速總線設備303的時序。步驟1208、判斷C = 7*TbuSCl0Ck是否成立,若是,則執行步驟1209 ;若否,返回步 驟 1208 ;該步驟中,C = 7*Tbusel。。k為CPLD 302等待低速總線設備303響應讀操作的時間, 該時間可以根據低速總線設備303的實際情況設定,只要保證能可靠地鎖存低速總線設備 303響應的數據即可。步驟1209、執行 DATA_0N = DATA_CPLD,并且置位 F=I;該步驟中,DATA_0N = DATA_CPLD即將DATA_CPLD總線上傳輸的數據寫入DATA_0N 寄存器中,并且將該寄存器對應的標識位F置為1 (即設為有效)。步驟1210、判斷C = 8*TbuSCl0Ck是否成立,若是,則執行步驟1211 ;若否,返回步 驟 1210 ;步驟1211、執行DATA = DATA_0N,即將DATA_0N寄存器中保存的數據向DATA總線 發送;步驟1212、判斷C = lO^Tbusclock是否成立,若是,則執行步驟1213 ;若否,返回 步驟1212 ;步驟1213、使CS0#_CPLD、0E#_CPLD無效,計數器C清零,至此流程結束。上述CPLD 302完成的讀操作的基本流程可總結如下CPLD 302檢測到中央處理器301發出的讀數據控制信號,鎖存中央處理器301發 出的地址信號,并向低速總線設備303發出低速時序的控制信號CS#_CPLD、0E#_CPLD,同時 向低速總線設備303發出鎖存的地址信號,計數器C開始計時工作;在C = 7*Tbusclock時, 鎖存低速總線設備303響應的數據信號,同時使F= 1 ;在C = 8*Tbusel。。k時,接收中央處理 器301針對同一個讀周期發出的第二次讀數據控制信號,CPLD 302檢測到該讀數據控制 信號后,將寄存器中保存的數據發送到第一數據總線上以供中央處理器301讀取;在C =IO^Tbusclock時,中央處理器301完成本次讀操作,計數器C清零、標識位F = 0 (即無效),至 此,中央處理器301對低速總線設備303的本次讀操作結束。根據上述實施例,在整個對低速總線設備303的讀操作周期中,中央處理器301要 對CPLD 302進行兩次讀操作,在進行第一個讀操作時,中央處理器301向CPLD 302發出地 址信號以及讀數據控制信號,在進行第二次讀操作時,中央處理器301才真正讀到指示讀 取的數據。根據本發明實施例,雖然在一個完整的讀周期內,中央處理器301需要對CPLD 302進行兩次讀操作,但因為讀寫的速度大大提高,每次讀操作只要20ns,兩次讀操作也只 需要40ns,所以仍然提高了總線帶寬。以總線位寬為8、總線頻率為IOOMHz為例,將根據本 發明實施例得到的總線帶寬與本發明背景技術中基于同樣的參數得到的總線帶寬對比如 下根據傳統總線系統總線帶寬=總線的位寬/(8*總線的讀寫周期)=8/(8*100ns) = 10MB/s根據本發明實施例提供的總線系統總線帶寬=總線的位寬/(8*總線的讀寫周期)=8/(8*40ns) = 25MB/s根據以上對比,本發明實施例得到的總線帶寬為本發明背景技術中基于同樣的參 數得到的總線帶寬的2. 5倍。進一步地,在傳統總線系統中,中央處理器對低速總線設備進行讀操作時,由于低 速總線設備的響應時間長,所以中央處理器只能進行長時間的等待,從而浪費了資源。而根 據本發明實施例,中央處理器301先以高速時序發送第一次讀數據控制信號,然后就可以 去做其他工作,如訪問其他設備,待邏輯器件302將數據準備好后(即存儲至邏輯器件302 的寄存器中),中央處理器301再高速讀取,這樣可以使中央處理器301總是以高速時序來 訪問低速總線設備303,不至于耗費過多的等待時間,所以可以提高帶寬。實施例六基于上述實施例一中圖4提供的包括總線連接關系的總線系統示意圖,該實施例 提供了一種對低速總線設備進行寫操作的方法,該方法針對中央處理器301對低速總線設 備303進行寫操作時的具體信號流向進行了詳細說明。如圖13所示,基于圖4提供的總線系統實現寫操作的時序示意圖,其中,
WE#對應的時序為中央處理器301訪問CPLD 302的時序,CS0#_CPLD和WE#_CPLD對應的時 序為CPLD將CS0#和對應的高速時序轉換為低速時序后,向低速總線設備303發出的時 序。圖13中,中央處理器301訪問CPLD 302的時序為高速時序,占用1個總線周期,CPLD 302訪問低速總線設備303的時序為低速時序,其中,CS0#_CPLD占用10個總線周期,WE#_ CPLD占用9個總線周期。基于圖13所示的時序,圖4中各實體的具體操作過程如下中央處理器301:用戶可以通過對中央處理器301的UPM進行編程,使中央處理器301的寫時序周 期為l*Tbusc;1。。k,中央處理器301發起對CPLD 302的寫操作,同時將寫數據控制信號、地址信 號以及數據信號以高速時序關系送出。低速總線設備303:CPLD 302以符合低速總線設備303的時序對低速總線設備303進行訪問,低速總 線設備303把CPLD 302看成是與傳統總線系統中的中央處理器功能一樣的管理模塊,該低速總線設備303也是以和傳統系統中一樣的行為對CPLD發送的寫數據控制信號進行響應, 在寫操作時,只要低速總線設備303檢測到寫數據控制信號,它就會將第二數據總線上的 數據信號寫到第二地址總線上傳輸的地址信號所指示的地址中去。邏輯器件302 (以CPLD為例進行說明)如圖14所示,CPLD 302處理中央處理器301的寫操作,主要包括如下步驟步驟1401、CPLD上電初始化;步驟1402、判斷是否同時有效,若是,執行步驟1403 ;若否,返回步驟 1402 ;步驟1403、執行 ADDR_0N = ADDR 以及 DATA_0N = DATA ;該步驟中,ADDR_0N = ADDR即將ADDR地址總線上的地址鎖存到用于存儲地址信 號的寄存器ADDR_0N中,DATA_0N = DATA即將DATA數據總線上的數據鎖存到用于存儲數 據信號的寄存器DATA_0N中。步驟1404、使 CS0#_CPLD 和 WE#_CPLD 有效,并執行 ADDR_CPLD = ADDR_0N、DATA_ CPLD = DATA_0N,并且計數器C開始計數;該步驟中,ADDR_CPLD = ADDR_0N即將寄存器ADDR_0N中存儲的地址發送到ADDR_ CPLD地址總線中;DATA_CPLD = DATA_0N即將寄存器DATA_0N中存儲的數據發送到DATA_ CPLD數據總線中傳輸。步驟1405、判斷C = 9*TbuSCl0Ck是否成立,若是,則執行步驟1406 ;若否,返回步 驟 1405 ;該步驟中,C = 9*Tbusclock為CPLD 302等待低速總線設備303響應寫操作的時 間,該時間可以根據低速總線設備303的實際情況而定,只要保證低速總線設備303能可靠 地完成寫入數據的操作即可。步驟1406、使 WE#_CPLD 無效;步驟1407、判斷C = lO^Tbusclock是否成立,若是,則執行步驟1408 ;若否,返回 步驟1407 ;步驟1408、使CS#_CPLD無效,并使計數器C清零,至此流程結束。上述流程中,ADDR_0N為CPLD 302內部定義的寄存器,用來鎖存地址信號;DATA_ ON為CPLD 302內部定義的寄存器,用來鎖存數據信號;C為計數器,用來控制低速總線設備 的時序。上述CPLD 302完成的寫操作的基本流程可總結如下CPLD 302檢測到中央處理器301發出的寫數據控制信號,鎖存中央處理器301 發出的地址信號和數據信號,并向低速總線設備303發出低速時序的控制信號CS#_CPLD、 WE#_CPLD,同時將鎖存的地址信號以及數據信號向低速總線設備303發出,計數器C開始計 時;在 C = 9*Tbusclock 時,使 TO#_CPLD 無效;在 C = IO^Tbusclock 時,使 CS0#_CPLD 無效,至此, 中央處理器301對低速總線設備303的本次寫操作結束。根據上述實施例,在整個對低速總線設備的寫操作周期中,中央處理器301對 CPLD 302進行寫操作所花費的時間是1個總線周期,S卩IOns的時間,與傳統總線系統的寫 操作時間相比,所花費的總線周期數大大減少,從而使得總線帶寬大大提高。以總線位寬為 8、總線頻率為IOOMHz為例,將根據本發明實施例得到的總線帶寬與本發明背景技術中基于同樣的參數得到的總線帶寬對比如下根據傳統總線系統總線帶寬=總線的位寬/(8*總線的讀寫周期)=8/(8*100ns) = 10MB/s根據本發明實施例提供的總線系統總線帶寬=總線的位寬/(8*總線的讀寫周期)=8/(8*10ns) = lOOMB/s基于以 上對比,根據本發明實施例得到的總線帶寬為本發明背景技術中基于同樣的參數得到的總 線帶寬的10倍。實施例七與上述實施例三提供的對低速總線設備進行讀操作的方法對應,本發明實施例還 提供了一種對低速總線設備進行讀操作的裝置,如圖15所示,該裝置包括接收單元1501、信號鎖存單元1502、寄存器狀態確定單元1503、數據輸出單元 1504、發送單元1505以及數據獲取單元1506 ;其中接收單元1501,用于接收中央處理器發送的第一讀數據控制信號;信號鎖存單元1502,用于在接收單元1501接收第一讀數據控制信號后,鎖存所述 中央處理器向第一地址總線發送的用于指示讀取的數據所在地址的地址信號;其中,所述 第一讀數據控制信號以及所述地址信號以第一時序關系發送;寄存器狀態確定單元1503,用于確定接收單元1501接收的第一讀數據控制信號 指示讀取的數據是否存儲在本地寄存器中;數據輸出單元1504,用于在寄存器狀態確定單元1503的確定結果為是時,將所述 寄存器中存儲的數據發送到第一數據總線上供所述中央處理器讀取;發送單元1505,用于在寄存器狀態確定單元1503的確定結果為否時,向所述第一 讀數據控制信號指示讀取數據的低速總線設備發送第二讀數據控制信號以及向第二地址 總線發送鎖存的所述地址信號;其中,所述第二讀數據控制信號以及鎖存的所述地址信號 以第二時序關系發送,并且所述第二時序包括的總線周期數大于所述第一時序包括的總線 周期數;數據獲取單元1506,用于在發送單元1505發送所述第二讀數據控制信號以及所 述地址信號后,獲取所述低速總線設備發送到第二數據總線上的數據并存儲在本地寄存器 中,其中,所述低速總線設備發送到第二數據總線上的數據為所述低速總線設備在接收所 述第二讀數據控制信號后從所述第二地址總線上傳輸的地址信號指示的地址中獲取的。本發明優選實施例中,圖15所述裝置中包括的數據獲取單元1506,還用于在獲取 所述低速總線設備發送到第二數據總線上的數據并存儲在本地寄存器中后,通過所述低速 總線設備對應的片選號標識所述寄存器,并將用于標識所述寄存器中存儲數據的標識位置 為有效;相應地,寄存器狀態確定單元1503,具體用于根據所述第一讀數據控制信號指示 讀取數據的低速總線設備對應的片選號,確定與所述片選號對應的寄存器,并判斷所述寄 存器對應的標識位是否為有效;若是,則確定所述第一讀數據控制信號指示讀取的數據存 儲在本地寄存器中;若否,則確定所述第一讀數據控制信號指示讀取的數據未存儲在本地 寄存器中。
本發明優選實施例中,圖15所述裝置中包括的數據獲取單元1506,還用于在將所述寄存器中存儲的數據發送到第一數據總線上后,將用于標識所述寄存器 中存儲數據的標識位置為無效。本發明優選實施例中,圖15所述裝置中包括的接收單元1501,還用于在數據獲 取單元1506獲取所述低速總線設備發送到第二數據總線上的數據并存儲在本地寄存器中 后,接收所述中央處理器再次發送的所述第一讀數據控制信號;相應地,數據輸出單元1504,還用于根據所述接收單元接收的所述中央處理器再 次發送的所述第一讀數據控制信號,將所述寄存器中存儲的數據發送到第一數據總線上供 所述中央處理器讀取。本發明優選實施例中,圖15所述裝置中包括的接收單元,具體用于接收所述中央處理器在初次發送所述第一讀數據控制信號的設定時長后,再次發 送的所述第一讀數據控制信號,其中,所述設定時長大于等于所述邏輯器件向所述第一讀 數據控制信號指示讀取數據的低速總線設備發送第二讀數據控制信號,至獲取所述低速總 線設備發送到第二數據總線上的數據并存儲在本地寄存器中所間隔的時間;或向所述中央處理器發送觸發信號,并接收所述中央處理器根據接收的所述觸發信 號再次發送的所述第一讀數據控制信號。應當理解,以上對低速總線設備進行讀操作的裝置包括的單元僅為根據該裝置實 現的功能進行的邏輯劃分,實際應用中,可以進行上述單元的疊加或拆分。并且該實施例提 供的對低速總線設備進行讀操作的裝置所實現的功能與上述實施例三提供的對低速總線 設備進行讀操作的方法流程一一對應,對于該裝置所實現的更為詳細的處理流程,在上述 方法實施例中已做詳細描述,此處不再詳細描述。實施例八與上述實施例四提供的對低速總線設備進行寫操作的方法對應,本發明實施例還 提供了一種對低速總線設備進行寫操作的裝置,如圖16所示,該裝置包括接收單元1601、信號鎖存單元1602以及發送單元1603 ;其中接收單元1601,用于接收中央處理器發送的第一寫數據控制信號;信號鎖存單元1602,用于在接收單元1601接收第一寫數據控制信號后,鎖存所述 中央處理器向第一數據總線發送的第一寫數據控制信號指示寫入的數據信號以及所述中 央處理器以第一時序向第一地址總線發送的指示數據寫入地址的地址信號;其中,所述第 一寫數據控制信號、所述數據信號以及所述地址信號以第一時序關系發送;發送單元1603,用于向所述第一寫數據控制信號指示寫入數據的低速總線設備發 送第二寫數據控制信號、向第二數據總線發送鎖存的所述數據信號以及向第二地址總線發 送鎖存的所述地址信號,供所述低速總線設備將所述數據信號對應的數據寫入所述地址信 號指示的地址中,其中,所述第二寫數據控制信號、鎖存的所述數據信號以及鎖存的所述地 址信號以第二時序關系發送,并且所述第二時序包括的總線周期數大于所述第一時序包括 的總線周期數。應當理解,以上對低速總線設備進行寫操作的裝置包括的單元僅為根據該裝置實 現的功能進行的邏輯劃分,實際應用中,可以進行上述單元的疊加或拆分。并且該實施例提供的對低速總線設備進行寫操作的裝置所實現的功能與上述實施例四提供的對低速總線 設備進行寫操作的方法流程一一對應,對于該裝置所實現的更為詳細的處理流程,在上述 方法實施例中已做詳細描述,此處不再詳細描述。通過本發明實施例提供的上述至少一個技術方案,通過在總線系統中加入邏輯器 件,在中央處理器需要訪問低速總線設備時,可以以高速時序(第一時序)訪問該邏輯器 件,即以高速時序向該邏輯器件發送相應的讀操作控制信號或寫操作控制信號,由該邏輯 器件基于與被訪問的低速總線設備相應的低速時序(第二時序)訪問該低速總線設備,完 成相應的讀操作或寫操作。根據該技術方案,可以實現中央處理器以高速時序訪問低速總 線設備,減少了中央處理器訪問低速總線設備耗費的總線周期,從而提高了總線帶寬,使總 線系統的性能得到優化。根據本發明實施例,總線帶寬提高后,中央處理器可以有更多時間去訪問其他的 總線設備,或進行中央處理器內部的其他操作,因而可以提升系統的總體性能。顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精 神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍 之內,則本發明也意圖包含這些改動和變型在內。
權利要求
一種總線系統,其特征在于,包括中央處理器、邏輯器件以及低速總線設備所述中央處理器,用于向所述邏輯器件發送第一讀數據控制信號以及向第一地址總線發送用于指示讀取的數據所在地址的地址信號;在經過設定時長后,再次向所述邏輯器件發送所述第一讀數據控制信號以及向第一地址總線發送所述地址信號,并獲取所述邏輯器件發送到第一數據總線上的數據;其中,所述第一讀數據控制信號以及所述地址信號以第一時序關系發送;所述邏輯器件,用于在接收到所述中央處理器發送的第一讀數據控制信號后,鎖存第一地址總線上傳輸的地址信號,并確定所述第一讀數據控制信號指示讀取的數據是否存儲在本地寄存器中,若是,則將所述寄存器中存儲的數據發送到第一數據總線上;若否,則向所述第一讀數據控制信號指示讀取數據的低速總線設備發送第二讀數據控制信號以及向第二地址總線發送鎖存的所述地址信號,并獲取所述低速總線設備發送到第二數據總線上的數據并存儲在本地寄存器中,其中,所述第二讀數據控制信號以及鎖存的所述地址信號以第二時序關系發送,并且所述第二時序包括的總線周期數大于所述第一時序包括的總線周期數;所述低速總線設備,用于在接收所述邏輯器件發送的第二讀數據控制信號后,獲取第二地址總線上傳輸的地址信號,并將從所述地址信號指示的地址中讀取的數據發送到第二數據總線上。
2.如權利要求1所述的系統,其特征在于,所述中央處理器,還用于向所述邏輯器件發送第一寫數據控制信號、向第一數據總線 發送所述第一寫數據控制信號指示寫入的數據信號以及向第一地址總線發送指示數據寫 入地址的地址信號;其中,所述第一寫數據控制信號、所述數據信號以及所述地址信號以第 三時序關系發送;所述邏輯器件,還用于在接收到所述中央處理器發送的第一寫數據控制信號后,鎖存 所述地址信號以及數據信號,并向所述第一寫數據控制信號指示寫入數據的低速總線設備 發送第二寫數據控制信號、向第二數據總線發送鎖存的所述數據信號以及向第二地址總線 發送鎖存的所述地址信號,其中,所述第二寫數據控制信號、鎖存的所述數據信號以及鎖存 的所述地址信號以第四時序關系發送,并且所述第四時序包括的總線周期數大于所述第三 時序包括的總線周期數;所述低速總線設備,還用于在接收所述邏輯器件發送的第二寫數據控制信號后,獲取 第二數據總線上傳輸的數據信號以及第二地址總線上傳輸的地址信號,并將所述數據信號 對應的數據寫入所述地址信號指示的地址。
3.一種總線系統,其特征在于,包括中央處理器、邏輯器件以及低速總線設備所述中央處理器,用于向所述邏輯器件發送第一寫數據控制信號、向第一數據總線發 送所述第一寫數據控制信號指示寫入的數據信號以及向第一地址總線發送指示數據寫入 地址的地址信號;其中,所述第一寫數據控制信號、所述數據信號以及所述地址信號以第一 時序關系發送;所述邏輯器件,用于在接收到所述中央處理器發送的第一寫數據控制信號后,鎖存所 述地址信號以及所述數據信號,并向所述第一寫數據控制信號指示寫入數據的低速總線設 備發送第二寫數據控制信號、向第二數據總線發送鎖存的所述數據信號以及向第二地址總線發送鎖存的所述地址信號,其中,所述第二寫數據控制信號、鎖存的所述數據信號以及鎖 存的所述地址信號以第二時序關系發送,并且所述第二時序包括的總線周期數大于所述第 一時序包括的總線周期數;所述低速總線設備,用于在接收所述邏輯器件發送的第二寫數據控制信號后,獲取第 二數據總線上傳輸的數據信號以及第二地址總線上傳輸的地址信號,并將所述數據信號對 應的數據寫入所述地址信號指示的地址。
4.一種對低速總線設備進行讀操作的方法,其特征在于,包括邏輯器件接收中央處理器發送的第一讀數據控制信號,并鎖存所述中央處理器向第一 地址總線發送的用于指示讀取的數據所在地址的地址信號;其中,所述第一讀數據控制信 號以及所述地址信號以第一時序關系發送;邏輯器件確定所述第一讀數據控制信號指示讀取的數據是否存儲在本地寄存器中; 若是,則將所述寄存器中存儲的數據發送到第一數據總線上供所述中央處理器讀取; 若否,則向所述第一讀數據控制信號指示讀取數據的低速總線設備發送第二讀數據控 制信號以及向第二地址總線發送鎖存的所述地址信號,并獲取所述低速總線設備發送到第 二數據總線上的數據并存儲在本地寄存器中,其中,所述低速總線設備發送到第二數據總 線上的數據為所述低速總線設備在接收所述第二讀數據控制信號后從所述第二地址總線 上傳輸的地址信號指示的地址中獲取的;所述第二讀數據控制信號以及鎖存的所述地址信 號以第二時序關系發送,并且所述第二時序包括的總線周期數大于所述第一時序包括的總 線周期數。
5.如權利要求4所述的方法,其特征在于,所述邏輯器件在獲取所述低速總線設備發送到第二數據總線上的數據并存儲在本地 寄存器中后,還包括通過所述低速總線設備對應的片選號標識所述寄存器,并將用于標識 所述寄存器中存儲數據的標識位置為有效;所述邏輯器件確定所述第一讀數據控制信號指示讀取的數據是否存儲在本地寄存器 中,具體包括根據所述第一讀數據控制信號指示讀取數據的低速總線設備對應的片選號, 確定與所述片選號對應的寄存器,并判斷所述寄存器對應的標識位是否為有效;若是,則確 定所述第一讀數據控制信號指示讀取的數據存儲在本地寄存器中;若否,則確定所述第一 讀數據控制信號指示讀取的數據未存儲在本地寄存器中;所述邏輯器件將所述寄存器中存儲的數據發送到第一數據總線上后,還包括將用于 標識所述寄存器中存儲數據的標識位置為無效。
6.如權利要求4所述的方法,其特征在于,在邏輯器件確定所述第一讀數據控制信號 指示讀取的數據未存儲在本地寄存器中時,所述邏輯器件接收的所述第一讀數據控制信號 具體包括所述中央處理器在初次發送所述第一讀數據控制信號的設定時長后再次發送的所述 第一讀數據控制信號,其中,所述設定時長大于等于所述邏輯器件向所述第一讀數據控制 信號指示讀取數據的低速總線設備發送第二讀數據控制信號,至獲取所述低速總線設備發 送到第二數據總線上的數據并存儲在本地寄存器中所間隔的時間;或所述中央處理器根據接收的觸發信號再次發送的所述第一讀數據控制信號,其中,所 述觸發信號為所述邏輯器件在獲取所述低速總線設備發送到第二數據總線上的數據并存儲在本地寄存器中后發送的。
7.如權利要求4所述的方法,其特征在于,所述第二時序由所述第一時序轉換得到,并 且所述第二時序符合所述第一讀數據控制信號指示讀取數據的低速總線設備對訪問時序 的要求。
8.一種對低速總線設備進行寫操作的方法,其特征在于,包括邏輯器件接收中央處理器發送的第一寫數據控制信號,并鎖存所述中央處理器向第一 數據總線發送的第一寫數據控制信號指示寫入的數據信號以及所述中央處理器以第一時 序向第一地址總線發送的指示數據寫入地址的地址信號;其中,所述第一寫數據控制信號、 所述數據信號以及所述地址信號以第一時序關系發送;邏輯器件向所述第一寫數據控制信號指示寫入數據的低速總線設備發送第二寫數據 控制信號、向第二數據總線發送鎖存的所述數據信號以及向第二地址總線發送鎖存的所述 地址信號,供所述低速總線設備將所述數據信號對應的數據寫入所述地址信號指示的地址 中,其中,所述第二寫數據控制信號、鎖存的所述數據信號以及鎖存的所述地址信號以第二 時序關系發送,并且所述第二時序包括的總線周期數大于所述第一時序包括的總線周期 數。
9.如權利要求8所述的方法,其特征在于,所述第二時序由所述第一時序轉換得到,并 且所述第二時序符合所述第一寫數據控制信號指示寫入數據的低速總線設備對訪問時序 的要求。
10.一種對低速總線設備進行讀操作的裝置,其特征在于,包括接收單元,用于接收中央處理器發送的第一讀數據控制信號;信號鎖存單元,用于在所述接收單元接收所述第一讀數據控制信號后,鎖存所述中央 處理器向第一地址總線發送的用于指示讀取的數據所在地址的地址信號;其中,所述第一 讀數據控制信號以及所述地址信號以第一時序關系發送;寄存器狀態確定單元,用于確定所述接收單元接收的第一讀數據控制信號指示讀取的 數據是否存儲在本地寄存器中;數據輸出單元,用于在所述寄存器狀態確定單元的確定結果為是時,將所述寄存器中 存儲的數據發送到第一數據總線上供所述中央處理器讀取;發送單元,用于在所述寄存器狀態確定單元的確定結果為否時,向所述第一讀數據控 制信號指示讀取數據的低速總線設備發送第二讀數據控制信號以及向第二地址總線發送 鎖存的所述地址信號;其中,所述第二讀數據控制信號以及鎖存的所述地址信號以第二時 序關系發送,并且所述第二時序包括的總線周期數大于所述第一時序包括的總線周期數;數據獲取單元,用于在所述發送單元發送所述第二讀數據控制信號以及所述地址信號 后,獲取所述低速總線設備發送到第二數據總線上的數據并存儲在本地寄存器中,其中,所 述低速總線設備發送到第二數據總線上的數據為所述低速總線設備在接收所述第二讀數 據控制信號后從所述第二地址總線上傳輸的地址信號指示的地址中獲取的。
11.如權利要求10所述的裝置,其特征在于,所述數據獲取單元,還用于在獲取所述低速總線設備發送到第二數據總線上的數據并 存儲在本地寄存器中后,通過所述低速總線設備對應的片選號標識所述寄存器,并將用于 標識所述寄存器中存儲數據的標識位置為有效;以及還用于在將所述寄存器中存儲的數據發送到第一數據總線上后,將用于標識所述寄存器中存儲數據的標識位置為無效;所述寄存器狀態確定單元,具體用于根據所述第一讀數據控制信號指示讀取數據的低 速總線設備對應的片選號,確定與所述片選號對應的寄存器,并判斷所述寄存器對應的標 識位是否為有效;若是,則確定所述第一讀數據控制信號指示讀取的數據存儲在本地寄存 器中;若否,則確定所述第一讀數據控制信號指示讀取的數據未存儲在本地寄存器中。 12. 一種對低速總線設備進行寫操作的裝置,其特征在于,包括 接收單元,用于接收中央處理器發送的第一寫數據控制信號; 信號鎖存單元,用于在所述接收單元接收所述第一寫數據控制信號后,鎖存所述中央 處理器向第一數據總線發送的第一寫數據控制信號指示寫入的數據信號以及所述中央處 理器以第一時序向第一地址總線發送的指示數據寫入地址的地址信號;其中,所述第一寫 數據控制信號、所述數據信號以及所述地址信號以第一時序關系發送;
12.發送單元,用于向所述第一寫數據控制信號指示寫入數據的低速總線設備發送第二寫 數據控制信號、向第二數據總線發送鎖存的所述數據信號以及向第二地址總線發送鎖存的 所述地址信號,供所述低速總線設備將所述數據信號對應的數據寫入所述地址信號指示的 地址中,其中,所述第二寫數據控制信號、鎖存的所述數據信號以及鎖存的所述地址信號以 第二時序關系發送,并且所述第二時序包括的總線周期數大于所述第一時序包括的總線周 期數。
全文摘要
本發明公開了一種總線系統、對低速總線設備進行讀寫操作的方法及裝置,通過在現有的總線系統中加入邏輯器件,在中央處理器需要訪問低速總線設備時,可以以高速時序訪問該邏輯器件,即以高速時序向該邏輯器件發送讀操作控制信號或寫操作控制信號,由該邏輯器件將高速時序實時地轉化為基于與被訪問的低速總線設備相應的低速時序,并以此來訪問該低速總線設備,在此過程中,邏輯器件根據中央處理器發送的讀操作控制信號或寫操作控制信號完成相應的處理。根據該技術方案,可以實現中央處理器以高速時序訪問低速總線設備,在保證實時性的基礎上減少了中央處理器訪問低速總線設備耗費的總線周期,從而提高了總線帶寬,使總線系統的性能得到優化。
文檔編號G06F13/38GK101944075SQ20101023590
公開日2011年1月12日 申請日期2010年7月21日 優先權日2010年7月21日
發明者黃冠華 申請人:北京星網銳捷網絡技術有限公司