專利名稱:處理器芯片與存儲控制系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)存儲技術(shù),特別涉及一種處理器芯片及存儲控制系統(tǒng)及方法。
背景技術(shù):
硬盤作為大多數(shù)CPU系統(tǒng)必不可少的外圍設(shè)備,其控制器的設(shè)計是CPU系統(tǒng)設(shè)計的關(guān)鍵技術(shù)。硬盤的接口類型有多種,電子集成驅(qū)動器(IntegratedDrive Electronics,簡稱IDE)接口類型的硬盤,簡稱其為IDE硬盤,因其生產(chǎn)技術(shù)成熟與成本最低,所以應(yīng)用也最為廣泛。但是IDE硬盤的接口集成到CPU芯片中至少需要使用28個左右的芯片控制管腳。而且,在CPU芯片外圍設(shè)備中與IDE硬盤共存的還有不少其它類型的存儲器,如SRAM、Flash、ROM等,它們也使用了大量的芯片控制管腳。因此導(dǎo)致了管腳太多,芯片封裝過大,這對于日益微型化的電子手持產(chǎn)品來說是一個較嚴(yán)重的問題。所以,實現(xiàn)IDE硬盤與其它存儲器數(shù)據(jù)線與地址線的復(fù)用,是CPU芯片減少管腳、減小封裝的一個好辦法。
某公司提供的現(xiàn)有技術(shù)方案如圖1所示通過系統(tǒng)總線上的一個通用的、可配置的靜態(tài)RAM(Static RAM,簡稱SRAM)控制器來統(tǒng)一控制所有的外部存儲器。且在該技術(shù)方案中,SRAM控制器中設(shè)計有時序寄存器,能夠通過配置時序寄存器來實現(xiàn)為不同的存儲器類型配置正確的訪問時序。因此,包括IDE硬盤,F(xiàn)lash存儲器,壓縮Flash(Compact Flash)存儲器和只讀內(nèi)存(Read Only Memory,簡稱ROM)/SRAM存儲器在內(nèi)的外部存儲器,無需分別在芯片中封裝控制管腳,而是根據(jù)一定的訪問時序在分配的數(shù)據(jù)線和地址線上進(jìn)行數(shù)據(jù)交換,實現(xiàn)控制管腳數(shù)目的降低。
但上述技術(shù)方案中具有以下技術(shù)缺陷
第一、SRAM控制的時序相對簡單,為一般的SRAM時序,對于IDE硬盤而言,為了配合SRAM時序,只能應(yīng)用可編程輸入/輸出(ProgrammingInput/Output,簡稱PIO)模式的數(shù)據(jù)交換方式。
目前硬盤與CPU進(jìn)行數(shù)據(jù)交換的方式主要有PIO模式和直接內(nèi)存訪問(Direct Memory Access,簡稱DMA)模式的增強版本--高級直接內(nèi)存訪問(Ultra Direct Memory Access,簡稱UDMA)模式。
其中,PIO模式是一種通過CPU執(zhí)行I/O端口指令來進(jìn)行數(shù)據(jù)的讀寫的數(shù)據(jù)交換模式,是最早先的硬盤數(shù)據(jù)傳輸模式,分為PIO模式0、PIO模式1、PIO模式2、PIO模式3、PIO模式4等5種模式。由于其數(shù)據(jù)傳輸速率從3.3兆字節(jié)/秒到16.6兆字節(jié)/秒不等,數(shù)據(jù)傳輸速率相對較低;且其硬盤和內(nèi)存之間的數(shù)據(jù)傳輸是由CPU來控制的,導(dǎo)致CPU占有率很高,大量傳輸數(shù)據(jù)時會因為占用過多的CPU資源導(dǎo)致系統(tǒng)停頓,而無法進(jìn)行其它的操作。因此,PIO模式受限于傳輸速率低下和極高的CPU資源占有率。
DMA模式是一種不經(jīng)過CPU而直接從內(nèi)存來存取數(shù)據(jù)的數(shù)據(jù)交換模式CPU向DMA控制器下達(dá)指令,讓DMA控制器來處理數(shù)的傳送,數(shù)據(jù)傳送完畢后DMA控制器再把信息反饋給CPU。這樣不過分依賴CPU,很大程度上減輕了CPU資源占有率,可以大大節(jié)省系統(tǒng)資源。但DMA模式與PIO模式相比,在傳輸速度上的差異并不十分明顯DMA模式分為單字節(jié)DMA和多字節(jié)DMA兩種,其所能達(dá)到的最大傳輸速率也只有16.6兆字節(jié)/秒。為克服這一缺陷,現(xiàn)在硬盤使用的DMA工作模式已基本淘汰單字節(jié)DMA和多字節(jié)DMA,而使用全新的UDMA模式。
UDMA模式采用16位多字節(jié)DMA模式為基準(zhǔn),為DMA模式的增強版本,在包含了DMA模式的優(yōu)點的基礎(chǔ)上,又增加了16比特的循環(huán)冗余碼校驗(Cyclic Redundancy Check,簡稱CRC),提高了數(shù)據(jù)傳輸過程中的準(zhǔn)確性和安全性。而且,數(shù)據(jù)傳輸速度有了極大的提高,其目前最高帶寬已經(jīng)可達(dá)到133兆字節(jié)/秒。
由于硬盤的數(shù)據(jù)交換速度決定了電子設(shè)備的存取速度,因此,硬盤僅能支持PIO模式無疑限制了電子設(shè)備的數(shù)據(jù)存儲速度。隨著高清電視信號等多媒體應(yīng)用的帶寬逐步增加,不支持UDMA模式顯然不能適應(yīng)高帶寬應(yīng)用需求。
第二、SRAM不能實現(xiàn)所控制存儲器的動態(tài)交替訪問,如果需要切換到不同的存儲器,就需要重新配置時序寄存器。例如,如果多媒體芯片同時外掛一個Flash和一個IDE硬盤,則該多媒體芯片無法實現(xiàn)Flash和多媒體IDE硬盤的交替訪問,必需通過CPU干預(yù)的方式重新配置時序寄存器進(jìn)行切換。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種處理器及基于處理器芯片實現(xiàn)的存儲控制系統(tǒng),以減少處理器的封裝管腳。
這實現(xiàn)上述目的,本發(fā)明提供一種處理器芯片,包括至少兩個控制器,分別連接在處理器系統(tǒng)總線上,用于接收處理器系統(tǒng)總線信號,控制處理器外部存儲器的讀寫;一總線選擇器,分別與所述控制器連接,所述總線選擇器包含一接口,所述控制器通過該接口與處理器外部存儲器進(jìn)行數(shù)據(jù)交換;其中,所述控制器之一為硬盤控制器,用于接收處理器系統(tǒng)總線信號,控制處理器外部硬盤的讀寫。
其中所述硬盤控制器為IDE硬盤控制器。
其中所述硬盤控制器包括一可編程輸入輸出PIO控制單元,與處理器芯片的系統(tǒng)總線連接,用于接收處理器芯片的系統(tǒng)總線信號,以PIO模式進(jìn)行指令與數(shù)據(jù)傳輸控制;一直接內(nèi)存訪問UDMA控制單元,與所述處理器芯片系統(tǒng)的總線連接,用于接收處理器芯片的系統(tǒng)總線信號,以UDMA模式進(jìn)行數(shù)據(jù)傳輸控制;一邏輯單元,分別與所述PIO控制單元及所述UDMA控制單元相連接,用于區(qū)分硬盤PIO模式和硬盤UDMA模式,并選通對應(yīng)的PIO控制單元或UDMA控制單元;一接口單元,分別與所述PIO控制單元及所述UDMA控制單元以及所述總線選擇器相連接,用于接收總線連接器發(fā)送的總線允許信號和總線釋放信號,以獲取和釋放對所述總線選擇器接口的控制。
其中所述硬盤控制器還包括一時序單元,分別與所述PIO控制單元和所述UDMA控制單元連接,用于提供硬盤PIO模式和硬盤UDMA模式的實現(xiàn)時序。
其中所述控制器為Flash控制器或者壓縮Flash控制器或者SRAM控制器或ROM控制器。
本發(fā)明還提供一種存儲控制系統(tǒng),包括至少兩個存儲器,用于存儲數(shù)據(jù),所述存儲器之一為硬盤;一處理器芯片;一共享主線,連接處理器芯片和存儲器;所述處理器芯片包括至少兩個控制器,分別連接在處理器系統(tǒng)總線上,用于接收處理器系統(tǒng)總線信號,控制處理器外部存儲器的讀寫;一總線選擇器,分別與所述控制器連接,所述總線選擇器包含一接口,所述控制器通過該接口與處理器外部存儲器進(jìn)行數(shù)據(jù)交換;控制器之一為硬盤控制器,用于接收處理器系統(tǒng)總線信號,控制處理器外部的所述硬盤的讀寫。
其中所述硬盤控制器為IDE硬盤控制器,所述硬盤為IDE硬盤。
其中所述硬盤控制器包括一可編程輸入輸出PIO控制單元,與所述處理器系統(tǒng)總線連接,用于接收處理器系統(tǒng)總線信號,以PIO模式進(jìn)行指令與數(shù)據(jù)傳輸控制;一直接內(nèi)存訪問UDMA控制單元,與所述處理器系統(tǒng)的總線連接,用于接收處理器的系統(tǒng)總線信號,以UDMA模式進(jìn)行數(shù)據(jù)傳輸控制;一邏輯單元,分別與所述PIO控制單元及所述UDMA控制單元相連接,用于區(qū)分PIO模式和UDMA模式,選通對應(yīng)的PIO控制單元或UDMA控制單元;一接口單元,分別與所述PIO控制單元及所述UDMA控制單元以及所述總線選擇器相連接,用于接收總線連接器發(fā)送的總線允許信號和總線釋放信號,以獲取和釋放對所述數(shù)據(jù)與地址共享總線的控制。
其中所述硬盤控制器還包括一時序單元,分別與所述PIO控制單元和所述UDMA控制單元連接,用于提供硬盤PIO模式和硬盤UDMA模式的實現(xiàn)時序。
其中所述控制器為Flash控制器或者壓縮Flash控制器或者SRAM控制器或ROM控制器。
本發(fā)明的另一個目的是提供一種存儲控制方法,實現(xiàn)多種數(shù)據(jù)交換模式的復(fù)用。
為實現(xiàn)上述目的,本發(fā)明提供的存儲控制方法包括以下步驟A、總線選擇器接收控制器的總線請求信號,確認(rèn)共享總線釋放后,向所述控制器發(fā)送總線允許信號,共享總線連通所述控制器與其控制的存儲器;B、當(dāng)連通的控制器為硬盤控制器時,確定當(dāng)前的數(shù)據(jù)交換模式,并選擇該數(shù)據(jù)交換模式所對應(yīng)的控制模塊,然后,該控制模塊控制硬盤進(jìn)行數(shù)據(jù)讀寫;C、當(dāng)連通的控制器為非硬盤控制器時,該控制器直接控制對應(yīng)的存儲器進(jìn)行數(shù)據(jù)讀寫。
其中所述確認(rèn)共享總線釋放具體包括所述總線選擇器判斷共享總線是否被占用,當(dāng)共享總線被占用時,所述總線選擇器向占用共享總線的控制器發(fā)送總線釋放信號;如果所述占用共享總線的控制器還處于預(yù)定的時間周期內(nèi),將所述總線釋放信號設(shè)置為無效,當(dāng)時間周期結(jié)束釋放共享總線。
其中所述步驟B具體包括B1、硬盤控制器中的邏輯單元識別所述硬盤存儲器的工作模式,如果是PIO模式,則執(zhí)行步驟B2,如果是UDMA模式,則執(zhí)行步驟B3;B2、邏輯單元選通PIO控制單元,所述PIO控制單元進(jìn)行PIO模式讀寫訪問控制;B3、邏輯單元選通PIO控制單元的線路,向硬盤發(fā)送UDMA傳輸指令;B4、所述邏輯單元接收到硬盤存儲器的接受反饋指令后,選通UDMA控制單元;B5、所述UDMA控制單元進(jìn)行UDMA模式讀寫訪問控制。
其中所述步驟B4具體包括硬盤存儲器識別命令并準(zhǔn)備好UDMA數(shù)據(jù)傳輸時,產(chǎn)生硬盤中斷信號,處理器接收到所述硬盤中斷信號以后,查詢硬盤的狀態(tài)寄存器,確認(rèn)硬盤控制器可以執(zhí)行UDMA數(shù)據(jù)傳輸,所述處理器切換所述邏輯單元到UDMA模式所對應(yīng)的邏輯值。
其中所述步驟B5具體包括操作模式配置寄存器向UDMA控制單元發(fā)送操作指令,所述UDMA控制單元識別所述操作指令為寫操作指令,判斷是否執(zhí)行過寫初始化,如果沒有執(zhí)行過,則執(zhí)行寫初始化;所述UDMA控制單元檢測是否接收到總線釋放信號;如果接收到總線釋放信號,UDMA控制單元進(jìn)入寫暫停狀態(tài),釋放共享總線,發(fā)出總線請求信號;如果沒有接收到總線釋放信號,UDMA控制單元進(jìn)行寫傳輸一個時鐘周期的數(shù)據(jù);當(dāng)寫傳輸結(jié)束時,發(fā)送循環(huán)冗余碼校驗。
其中所述步驟B5具體包括操作模式配置寄存器向UDMA控制單元發(fā)送操作指令,所述UDMA控制單元識別所述操作指令為讀操作指令,判斷是否執(zhí)行過讀初始化,如果沒有執(zhí)行過,則執(zhí)行讀初始化;所述UDMA控制單元檢測是否接收到總線釋放信號;如果接收到總線釋放信號,UDMA控制單元設(shè)置DMA就緒信號為無效,繼續(xù)0-3個數(shù)據(jù),進(jìn)入讀暫停狀態(tài),釋放共享總線;如果沒有接收到總線釋放信號,UDMA控制單元進(jìn)行讀傳輸一個時鐘周期的數(shù)據(jù);當(dāng)讀傳輸結(jié)束時,發(fā)送循環(huán)冗余碼校驗。
由上述技術(shù)方案可知,本發(fā)明具有以下有益效果1、通過在系統(tǒng)中設(shè)置硬盤控制器,在支持PIO模式的同時實現(xiàn)對IDE硬盤UDMA訪問模式的支持;2、通過在系統(tǒng)設(shè)置總線選擇器,實現(xiàn)了CPU系統(tǒng)中硬盤控制器與其它存儲控制器的數(shù)據(jù)地址的動態(tài)共享;3、通過將包括硬盤控制器在內(nèi)的控制器以及總線選擇器封裝在處理器芯片里,只通過總線器的接口與芯片外部存儲器進(jìn)行數(shù)據(jù)交換,減少了芯片封裝管腳,從而減少了封裝體積;4、在本發(fā)明提供的存儲控制方法中,通過控制器將時鐘周期內(nèi)接收的總線釋放信號設(shè)置為無效,保證了在預(yù)定的時鐘周期內(nèi)能完整傳遞數(shù)據(jù)。
下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
圖1為現(xiàn)有技術(shù)中多媒體處理器的技術(shù)方案示意圖;圖2為本發(fā)明存儲控制系統(tǒng)框圖;圖3為圖2所示硬盤控制器的系統(tǒng)框圖;圖4為本發(fā)明存儲控制系統(tǒng)的實施例2的系統(tǒng)框圖;圖5為本發(fā)明存儲控制方法的總體流程圖;
圖6為本發(fā)明存儲控制方法中硬盤控制器的工作流程圖;圖7為本發(fā)明存儲控制方法中硬盤控制器的寫操作流程圖;圖8為本發(fā)明存儲控制方法中硬盤控制器的讀操作流程圖。
具體實施例方式
為了在減少處理器封裝管腳的同時實現(xiàn)多種數(shù)據(jù)交換模式的復(fù)用,本發(fā)明提供一種處理器芯片,請參見圖2中的A部分,其包括至少兩個控制器,分別連接在處理器系統(tǒng)總線上,控制器之一為硬盤控制器,還包括一總線選擇器,分別與控制器相連,總線選擇器上包含一接口,所述控制器通過該接口與芯片外部進(jìn)行數(shù)據(jù)交換。
處理器芯片中各部分的主要功能為控制器,用于接收處理器總線信號,控制處理器外部存儲器的讀寫。在實施例1中,處理器為CPU,包含兩個控制器第一控制器為IDE硬盤控制器21,第二控制器為SRAM控制器22。IDE硬盤控制器21和SRAM控制器22從CPU系統(tǒng)總線接受指令,分別對硬盤和其他存儲器的讀寫進(jìn)行控制。
總線選擇器,用于控制IDE硬盤控制器21和SRAM控制器22的選路,確定接口的使用權(quán),連通IDE硬盤控制器21與其控制的硬盤,或者連通SRAM控制器22與其他存儲器。
如圖2所示,相應(yīng)地本發(fā)明還提供一種存儲控制系統(tǒng),包括處理器芯片,共享總線,和至少兩個存儲器,共享總線連接處理器芯片和并聯(lián)的存儲器。
在本實施例中,處理器芯片為CPU芯片,共享總線為數(shù)據(jù)與地址共享主線,存儲器分別為SRAM/ROM存儲器32、flash存儲器33和IDE硬盤,存儲控制系統(tǒng)各部分的主要功能為CPU芯片,包括IDE硬盤控制器21、第二控制器為SRAM控制器22和總線選擇器1。IDE硬盤控制器21從CPU系統(tǒng)總線接受指令,對IDE硬盤31的存儲進(jìn)行控制,而SRAM控制器22從CPU系統(tǒng)總線接受指令,對SRAM/ROM存儲器32和flash33按照SRAM控制器內(nèi)部的時序控制器進(jìn)行存儲控制。總線選擇器1分別與IDE硬盤控制器21和SRAM控制器22通過控制器總線連接,控制IDE硬盤控制器21和SRAM控制器22的選路;總線選擇器1通過接口與數(shù)據(jù)與地址共享總線連接,進(jìn)而與IDE硬盤31、SRAM/ROM存儲器32和flash存儲器33連接。總線選擇器確控制器對接口的使用權(quán),進(jìn)而控制器對確定數(shù)據(jù)與地址共享總線的使用權(quán),連通IDE硬盤控制器21與IDE硬盤31,或者連通SRAM控制器22與SRAM/ROM存儲器32和flash存儲器33。
通過引入IDE硬盤控制器21,并進(jìn)行總線選擇器1的選路,克服了僅僅使用具有簡單時序的SRAM控制器無法實現(xiàn)該數(shù)據(jù)與地址共享總線的動態(tài)共享的缺陷。
硬盤控制器不局限于本實施例中的IDE硬盤控制器21,比如SCSI類型的硬盤控制器同樣適用于本發(fā)明。
在本實施例中,不局限于SRAM控制器,第二控制器還可以為Flash控制器或者壓縮Flash控制器或者ROM控制器。
參見圖3,為本發(fā)明實施例1中IDE硬盤控制器的實施例的系統(tǒng)框圖,包括PIO控制單元211,與CPU系統(tǒng)總線連接,用于接收CPU系統(tǒng)總線信號,以PIO模式進(jìn)行指令與數(shù)據(jù)傳輸控制,實現(xiàn)硬盤PIO模式的操作;UDMA控制單元212,與所述CPU系統(tǒng)總線連接,用于接收CPU系統(tǒng)總線信號,以UDMA模式進(jìn)行數(shù)據(jù)傳輸控制,實現(xiàn)硬盤UDMA模式的操作;邏輯單元213,分別與PIO控制單元211及UDMA控制單元212相連接,用于區(qū)分硬盤PIO模式和硬盤UDMA模式,選通對應(yīng)的PIO控制單元或UDMA控制單元,可以通過選通PIO控制單元或UDMA控制單元傳輸線路的方式進(jìn)行;接口單元214,分別與PIO控制單元211、UDMA控制單元212以及總線選擇器1連接,用于獲取和釋放對共享總線的控制權(quán);還包括一時序單元215,分別與PIO控制單元211和UDMA控制單元212連接,用于提供硬盤PIO模式和硬盤UDMA模式的實現(xiàn)時序參數(shù),實現(xiàn)對不同的核心時鐘設(shè)定的支持。
其中,PIO控制單元211及UDMA控制單元212都與CPU系統(tǒng)總線連接,獲取系統(tǒng)指令及數(shù)據(jù),但具體的,PIO控制單元211控制指令及數(shù)據(jù)的傳輸,但UDMA控制單元212只控制數(shù)據(jù)的傳輸,即首先都必須通過PIO控制單元211進(jìn)行系統(tǒng)指令的傳輸。
通過上述本發(fā)明的實施例,可以實現(xiàn)對PIO模式和UDMA模式的復(fù)用支持。
在本發(fā)明中,處理器芯片并不僅僅局限于上述兩個控制器,可以包含多個控制器,統(tǒng)一由總線選擇器進(jìn)行共享總線的選路。參見圖4,為處理器芯片的實施例2,包括總線選擇器1、IDE硬盤控制器21、SRAM控制器22和flash控制器23,其中flash控制器23負(fù)責(zé)Flash的讀寫控制??偩€選擇器1負(fù)責(zé)DE硬盤控制器21、SRAM控制器22和flash控制器23的選路。
本實施例中,還可以包括壓縮Flash控制器或ROM控制器。一般來說,不會出現(xiàn)兩個同樣的控制器,以免造成空間和資源的浪費。
基于上述系統(tǒng),本發(fā)明提供了一種存儲控制方法,其流程圖參見圖5,包括以下步驟步驟101控制器需要控制存儲器的讀寫,向總線選擇器發(fā)送總線請求信號,總線選擇器接收該總線請求信號;步驟102總線選擇器判斷共享總線是否被占用,如果共享總線被占用,執(zhí)行步驟103,否則執(zhí)行步驟104;步驟103總線選擇器向占用共享總線的控制器發(fā)送總線釋放信號,要求占用的控制器釋放共享總線;為了保證各個設(shè)備的公平競爭,以及數(shù)據(jù)處理的完整性,接收到總線釋放指令的控制器如果還處在預(yù)定的時間周期內(nèi),將該總線釋放指令設(shè)置為無效,比如,UDMA模式下進(jìn)行數(shù)據(jù)傳輸時,其預(yù)設(shè)的時間為一個CPU時鐘周期,以滿足UDMA能夠完整進(jìn)行至少一個CPU時鐘的數(shù)據(jù)傳輸。
本步驟還可以包括以下步驟步驟1031如果占用共享總線的控制器還處于預(yù)定的時間周期內(nèi),則將總線釋放信號設(shè)置為無效;步驟1032占用共享總線的控制器一時間周期后進(jìn)入暫停,釋放共享總線;步驟1033總線選擇器檢測共享總線是否獲得釋放,則執(zhí)行步驟104,否則重新執(zhí)行步驟1033,直至確認(rèn)共享總線被釋放。
該步驟中也可以不進(jìn)行總線選擇器的檢測操作,而是由占用共享總線的控制器發(fā)出釋放完成指令,總線選擇器接收到該釋放完成指令后執(zhí)行步驟104。
步驟104占用總線的控制器釋放共享總線后,總線選擇器向請求的控制器總線允許信號;步驟105通過共享總線連通控制器與其控制的存儲器,控制器分為硬盤控制器和非硬盤控制器,當(dāng)連通的控制器為硬盤控制器時,執(zhí)行步驟106,否則執(zhí)行步驟107;步驟106硬盤控制器判斷當(dāng)前的數(shù)據(jù)交換工作模式,如果是UDMA模式,選擇內(nèi)部相應(yīng)的模塊用UDMA模式控制硬盤的讀寫訪問,如果是PIO模式,選擇內(nèi)部相應(yīng)的模塊用PIO模式控制硬盤的讀寫訪問,并結(jié)束讀寫訪問流程;步驟107非硬盤控制器控制存儲器的讀寫訪問,并結(jié)束流程。
參見圖6,為本發(fā)明存儲控制方法中,硬盤控制器被允許使用共享總線時,硬盤控制器進(jìn)行讀寫控制的過程的流程圖,包括以下步驟步驟201、硬盤控制器獲取共享總線;步驟202、硬盤控制器邏輯單元識別所述硬盤存儲器的工作模式,是PIO模式則執(zhí)行步驟203,如果是UDMA模式執(zhí)行步驟204;
步驟203、邏輯單元選通PIO控制單元的線路,進(jìn)行PIO讀寫訪問控制,并執(zhí)行步驟209;步驟204、邏輯單元選通PIO控制單元的線路,采用PIO模式向硬盤存儲器發(fā)送UDMA傳輸指令;步驟205、硬盤存儲器發(fā)送接受反饋指令表示可以適用UDMA模式,邏輯單元接收到硬盤存儲器的接受反饋指令后,選通UDMA控制單元的線路;步驟206、UDMA控制單元判斷UDMA模式類型,是寫訪問則執(zhí)行步驟207,否則執(zhí)行步驟208;步驟207、用UDMA模式進(jìn)行寫訪問控制;步驟208、用UDMA模式進(jìn)行讀訪問控制;步驟209、讀/寫數(shù)據(jù)交換完成,結(jié)束。
下面的實施例詳細(xì)介紹UDMA模式下讀寫訪問控制方法。
圖7為UDMA模式下寫訪問控制的完整流程圖,包括以下步驟步驟401、總線選擇器接收到硬盤控制器發(fā)送的總線請求信號;步驟402、總線選擇器判斷數(shù)據(jù)與地址共享總線是否被占用,是則執(zhí)行步驟403,否則執(zhí)行步驟404;步驟403、總線選擇器向占用所述數(shù)據(jù)與地址共享總線的控制器發(fā)送總線釋放信號;步驟404、所述總線選擇器檢測數(shù)據(jù)與地址共享總線被釋放或空閑后,向硬盤控制器返回總線允許信號;步驟405、總線選擇器通過接口將硬盤控制器連通至數(shù)據(jù)與地址共享總線;步驟406、硬盤控制器邏輯單元識別所述硬盤存儲器的工作模式為UDMA模式,通過PIO控制器發(fā)送UDMA傳輸指令;步驟407、硬盤存儲器識別命令并準(zhǔn)備好UDMA數(shù)據(jù)傳輸時,產(chǎn)生硬盤中斷信號,處理器接收到中斷信號以后,查詢硬盤的狀態(tài)寄存器,確認(rèn)硬盤控制器可以執(zhí)行UDMA數(shù)據(jù)傳輸。處理器切換邏輯單元到UDMA模式所對應(yīng)的邏輯值,并選擇操作模式配置寄存器為寫操作;步驟408、邏輯單元選通UDMA控制單元;步驟409、操作模式配置寄存器向UDMA控制單元發(fā)送操作指令,UDMA控制單元識別該操作指令為寫操作指令;步驟410、UDMA控制單元判斷是否執(zhí)行過UDMA寫初始化,是則執(zhí)行步驟415,否則執(zhí)行步驟411;步驟411、執(zhí)行UDMA寫初始化;步驟412、UDMA控制單元檢測是否接收到總線釋放信號,如是執(zhí)行步驟413,否則執(zhí)行步驟415;步驟413、UDMA控制單元進(jìn)入寫暫停狀態(tài),釋放共享總線;步驟414、發(fā)出總線請求指令,重新執(zhí)行步驟401;步驟415、UDMA控制單元進(jìn)行寫傳輸一個CPU時鐘的數(shù)據(jù);步驟416、判斷寫傳輸是否結(jié)束,是則執(zhí)行步驟417,否則執(zhí)行步驟412;步驟417、發(fā)送循環(huán)冗余碼校驗并結(jié)束。
圖8為UDMA模式下讀訪問控制的完整流程圖,包括以下步驟步驟501、總線選擇器接收到硬盤控制器發(fā)送的總線請求信號;步驟502、總線選擇器判斷數(shù)據(jù)與地址共享總線是否被占用,是則執(zhí)行步驟503,否則執(zhí)行步驟504;步驟503、總線選擇器向占用所述數(shù)據(jù)與地址共享總線的控制器發(fā)送總線釋放信號;步驟504、所述總線選擇器檢測數(shù)據(jù)與地址共享總線被釋放或空閑后,向硬盤控制器返回總線允許信號;步驟505、總線選擇器將硬盤控制器連通至數(shù)據(jù)與地址共享總線;步驟506、硬盤控制器邏輯單元識別所述硬盤存儲器的工作模式為UDMA模式,通過PIO控制器發(fā)送DMA傳輸指令;
步驟507、硬盤存儲器識別命令并準(zhǔn)備好UDMA數(shù)據(jù)傳輸時,產(chǎn)生硬盤中斷信號,處理器接收到中斷信號以后,查詢硬盤的狀態(tài)寄存器,確認(rèn)硬盤控制器可以執(zhí)行UDMA數(shù)據(jù)傳輸。處理器切換邏輯單元到UDMA模式所對應(yīng)的邏輯值,并選擇操作模式配置寄存器為讀操作;步驟508、邏輯單元選通UDMA控制單元;步驟509、操作模式配置寄存器向UDMA控制單元發(fā)送操作指令,UDMA控制單元識別該操作指令為讀操作指令;步驟510、控制單元判斷是否執(zhí)行過UDMA讀初始化,是則執(zhí)行步驟517,否則執(zhí)行步驟511;步驟511、執(zhí)行UDMA讀初始化;步驟512、控制單元檢測是否接收到總線釋放信號,如是執(zhí)行步驟513,否則執(zhí)行步驟517;步驟513、UDMA控制單元將DMA就緒信號設(shè)置為無效;步驟514、按照設(shè)定繼續(xù)接收0-3個數(shù)據(jù);步驟515、UDMA控制單元進(jìn)入讀暫停狀態(tài),釋放共享總線;步驟516、發(fā)出總線請求指令,重新執(zhí)行步驟501;步驟517、UDMA進(jìn)行讀傳輸一個CPU時鐘的數(shù)據(jù);步驟518、判斷讀傳輸是否結(jié)束,是則執(zhí)行步驟519,否則執(zhí)行步驟512;步驟519、發(fā)送循環(huán)冗余碼校驗并結(jié)束。
最后所應(yīng)說明的是,以上實施例僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管參照較佳實施例對本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種處理器芯片,其特征在于,包括至少兩個控制器,分別連接在處理器系統(tǒng)總線上,用于接收處理器系統(tǒng)總線信號,控制處理器外部存儲器的讀寫;一總線選擇器,分別與所述控制器連接,所述總線選擇器包含一接口,所述控制器通過該接口與處理器外部存儲器進(jìn)行數(shù)據(jù)交換;其中,所述控制器之一為硬盤控制器,用于接收處理器系統(tǒng)總線信號,控制處理器外部硬盤的讀寫。
2.根據(jù)權(quán)利要求1所述的處理器芯片,其特征在于,所述硬盤控制器為IDE硬盤控制器。
3.根據(jù)權(quán)利要求1或2所述的處理器芯片,其特征在于,所述硬盤控制器包括一可編程輸入輸出PIO控制單元,與處理器芯片的系統(tǒng)總線連接,用于接收處理器芯片的系統(tǒng)總線信號,以PIO模式進(jìn)行指令與數(shù)據(jù)傳輸控制;一直接內(nèi)存訪問UDMA控制單元,與所述處理器芯片系統(tǒng)的總線連接,用于接收處理器芯片的系統(tǒng)總線信號,以UDMA模式進(jìn)行數(shù)據(jù)傳輸控制;一邏輯單元,分別與所述PIO控制單元及所述UDMA控制單元相連接,用于區(qū)分硬盤PIO模式和硬盤UDMA模式,并選通對應(yīng)的PIO控制單元或UDMA控制單元;一接口單元,分別與所述PIO控制單元及所述UDMA控制單元以及所述總線選擇器相連接,用于接收總線連接器發(fā)送的總線允許信號和總線釋放信號,以獲取和釋放對所述總線選擇器接口的控制。
4.根據(jù)權(quán)利要求3所述的處理器芯片,其特征在于,所述硬盤控制器還包括一時序單元,分別與所述PIO控制單元和所述UDMA控制單元連接,用于提供硬盤PIO模式和硬盤UDMA模式的實現(xiàn)時序。
5.根據(jù)權(quán)利要求1所述的處理器芯片,其特征在于,所述控制器為Flash控制器或者壓縮Flash控制器或者SRAM控制器或ROM控制器。
6.一種存儲控制系統(tǒng),其特征在于,包括至少兩個存儲器,用于存儲數(shù)據(jù),所述存儲器之一為硬盤;一處理器芯片;一共享主線,連接處理器芯片和存儲器;所述處理器芯片包括至少兩個控制器,分別連接在處理器系統(tǒng)總線上,用于接收處理器系統(tǒng)總線信號,控制處理器外部存儲器的讀寫;一總線選擇器,分別與所述控制器連接,所述總線選擇器包含一接口,所述控制器通過該接口與處理器外部存儲器進(jìn)行數(shù)據(jù)交換;控制器之一為硬盤控制器,用于接收處理器系統(tǒng)總線信號,控制處理器外部的所述硬盤的讀寫。
7.根據(jù)權(quán)利要求6所述的存儲控制系統(tǒng),其特征在于,所述硬盤控制器為IDE硬盤控制器,所述硬盤為IDE硬盤。
8.根據(jù)權(quán)利要求6或7所述的存儲控制系統(tǒng),其特征在于,所述硬盤控制器包括一可編程輸入輸出PIO控制單元,與所述處理器系統(tǒng)總線連接,用于接收處理器系統(tǒng)總線信號,以PIO模式進(jìn)行指令與數(shù)據(jù)傳輸控制;一直接內(nèi)存訪問UDMA控制單元,與所述處理器系統(tǒng)的總線連接,用于接收處理器的系統(tǒng)總線信號,以UDMA模式進(jìn)行數(shù)據(jù)傳輸控制;一邏輯單元,分別與所述PIO控制單元及所述UDMA控制單元相連接,用于區(qū)分PIO模式和UDMA模式,選通對應(yīng)的PIO控制單元或UDMA控制單元;一接口單元,分別與所述PIO控制單元及所述UDMA控制單元以及所述總線選擇器相連接,用于接收總線連接器發(fā)送的總線允許信號和總線釋放信號,以獲取和釋放對所述數(shù)據(jù)與地址共享總線的控制。
9.根據(jù)權(quán)利要求8所述的存儲控制系統(tǒng),其特征在于,所述硬盤控制器還包括一時序單元,分別與所述PIO控制單元和所述UDMA控制單元連接,用于提供硬盤PIO模式和硬盤UDMA模式的實現(xiàn)時序。
10.根據(jù)權(quán)利要求9所述的存儲控制系統(tǒng),其特征在于,所述控制器為Flash控制器或者壓縮Flash控制器或者SRAM控制器或ROM控制器。
11.一種存儲控制方法,其特征在于,包括以下步驟A、總線選擇器接收控制器的總線請求信號,確認(rèn)共享總線釋放后,向所述控制器發(fā)送總線允許信號,共享總線連通所述控制器與其控制的存儲器;B、當(dāng)連通的控制器為硬盤控制器時,確定當(dāng)前的數(shù)據(jù)交換模式,并選擇該數(shù)據(jù)交換模式所對應(yīng)的控制模塊,然后,該控制模塊控制硬盤進(jìn)行數(shù)據(jù)讀寫;C、當(dāng)連通的控制器為非硬盤控制器時,該控制器直接控制對應(yīng)的存儲器進(jìn)行數(shù)據(jù)讀寫。
12.如權(quán)利要求11所述的存儲控制方法,其特征在于,所述確認(rèn)共享總線釋放具體包括所述總線選擇器判斷共享總線是否被占用,當(dāng)共享總線被占用時,所述總線選擇器向占用共享總線的控制器發(fā)送總線釋放信號;如果所述占用共享總線的控制器還處于預(yù)定的時間周期內(nèi),將所述總線釋放信號設(shè)置為無效,當(dāng)時間周期結(jié)束釋放共享總線。
13.如權(quán)利要求11所述的存儲控制方法,其特征在于,所述步驟B具體包括B1、硬盤控制器中的邏輯單元識別所述硬盤存儲器的工作模式,如果是PIO模式,則執(zhí)行步驟B2,如果是UDMA模式,則執(zhí)行步驟B3;B2、邏輯單元選通PIO控制單元,所述PIO控制單元進(jìn)行PIO模式讀寫訪問控制;B3、邏輯單元選通PIO控制單元的線路,向硬盤發(fā)送UDMA傳輸指令;B4、所述邏輯單元接收到硬盤存儲器的接受反饋指令后,選通UDMA控制單元;B5、所述UDMA控制單元進(jìn)行UDMA模式讀寫訪問控制。
14.如權(quán)利要求13所述的存儲控制方法,其特征在于,所述步驟B4具體包括硬盤存儲器識別命令并準(zhǔn)備好UDMA數(shù)據(jù)傳輸時,產(chǎn)生硬盤中斷信號,處理器接收到所述硬盤中斷信號以后,查詢硬盤的狀態(tài)寄存器,確認(rèn)硬盤控制器可以執(zhí)行UDMA數(shù)據(jù)傳輸,所述處理器切換所述邏輯單元到UDMA模式所對應(yīng)的邏輯值。
15.如權(quán)利要求14所述的存儲控制方法,其特征在于,所述步驟B5具體包括操作模式配置寄存器向UDMA控制單元發(fā)送操作指令,所述UDMA控制單元識別所述操作指令為寫操作指令,判斷是否執(zhí)行過寫初始化,如果沒有執(zhí)行過,則執(zhí)行寫初始化;所述UDMA控制單元檢測是否接收到總線釋放信號;如果接收到總線釋放信號,UDMA控制單元進(jìn)入寫暫停狀態(tài),釋放共享總線,發(fā)出總線請求信號;如果沒有接收到總線釋放信號,UDMA控制單元進(jìn)行寫傳輸一個時鐘周期的數(shù)據(jù);當(dāng)寫傳輸結(jié)束時,發(fā)送循環(huán)冗余碼校驗。
16.如權(quán)利要求14所述的存儲控制方法,其特征在于,所述步驟B5具體包括操作模式配置寄存器向UDMA控制單元發(fā)送操作指令,所述UDMA控制單元識別所述操作指令為讀操作指令,判斷是否執(zhí)行過讀初始化,如果沒有執(zhí)行過,則執(zhí)行讀初始化;所述UDMA控制單元檢測是否接收到總線釋放信號;如果接收到總線釋放信號,UDMA控制單元設(shè)置DMA就緒信號為無效,繼續(xù)0-3個數(shù)據(jù),進(jìn)入讀暫停狀態(tài),釋放共享總線;如果沒有接收到總線釋放信號,UDMA控制單元進(jìn)行讀傳輸一個時鐘周期的數(shù)據(jù);當(dāng)讀傳輸結(jié)束時,發(fā)送循環(huán)冗余碼校驗。
全文摘要
本發(fā)明提供一種處理器芯片,包括至少兩個控制器,分別連接在處理器系統(tǒng)總線上,用于接收處理器系統(tǒng)總線信號,控制處理器外部存儲器的讀寫;一總線選擇器,分別與所述控制器連接,所述總線選擇器包含一接口,所述控制器通過該接口與處理器外部存儲器進(jìn)行數(shù)據(jù)交換;所述控制器之一為硬盤控制器,用于接收處理器系統(tǒng)總線信號,控制處理器外部硬盤的讀寫。本發(fā)明還提供一種基于該處理器芯片實現(xiàn)的存儲控制系統(tǒng)及方法。通過本發(fā)明在實現(xiàn)多種數(shù)據(jù)交換模式復(fù)用的基礎(chǔ)上減少了封裝管腳的數(shù)目,從而減少了芯片封裝體積。
文檔編號G06F13/40GK1873604SQ20061003278
公開日2006年12月6日 申請日期2006年1月6日 優(yōu)先權(quán)日2006年1月6日
發(fā)明者胡俊, 黃占兵, 董杰明, 吳小敏 申請人:華為技術(shù)有限公司