程序存儲器的控制裝置及其處理器系統的制作方法
【技術領域】
[0001]本實用新型屬于計算機技術,更具體地,涉及程序存儲器的控制裝置及其處理器系統。
【背景技術】
[0002]在處理器系統中,程序存儲器用于保存應用程序代碼(指令),同時還可以用于保存程序執行時用到的數據(例如操作數、查找表信息)。對于那些只有一個程序存儲器的處理器系統,CPU往往會有指令緩存。當所需指令不在緩存中時就要讀取程序存儲器上的指令。所以,當處理器系統程序運行起來時,CPU和程序存儲器的接口不斷地進行通信。此時程序存儲器接口的控制權是交給(PU的,因此無法對程序存儲器進行可編程的讀寫操作。
[0003]圖1示出根據現有技術的處理器系統的示意性框圖。處理器系統包括片上系統(SoC) 100和程序存儲器200。片上系統100包括中央處理器(CPU) 101、高速緩沖存儲器(CACHE) 102和接口控制器103。盡管未在圖中示出,片上系統100還可以包括內存(RAM)。接口控制器103負責控制程序存儲器200,將程序存儲器200的一部分數據自動調入高速緩沖存儲器102中。CPU的指令和操作數或者通過高速緩沖存儲器102來獲得,或者經由接口控制器103從程序存儲器200來獲得。
[0004]在工作狀態下,中央處理器101根據當前指令和操作數內容,從程序存儲器200的下一個目標地址獲取新的指令和操作數,反復執行上述操作。因此,在工作狀態下CPU獨占程序存儲器200的接口。
[0005]由于該處理器架構的限制,使得在實現某些應用時顯不方便。例如,在程序升級時,就要使用外部調試設備先讓系統進入調試模式,再進行程序升級,或者需要將程序存儲器件從電路板上焊下,燒錄好新程序后,再將程序存儲器件焊上機器。
[0006]然而,期望能夠在工作狀態下,通過外設設備(比如內置升級文件的U盤)與系統通信來完成程序的升級。
【實用新型內容】
[0007]本實用新型的目的在于提供一種可以在工作狀態下對程序存儲器進行外部操作的程序存儲器的控制裝置及其處理器系統。
[0008]根據本實用新型的一方面,提供一種程序存儲器控制裝置,包括:第一端口,用于與處理器相連;第二端口,用于與高速緩沖存儲器相連;以及第三端口,用于與接口控制器相連,其中,所述程序存儲器控制裝置提供控制信號的路由功能,使得第二端口與第三端口之間的第一控制信號路徑、或者第一端口與第三端口之間的第二控制信號路徑連通。
[0009]優選地,所述第三端口包括第三控制端口和第三數據端口,所述程序存儲器控制裝置還包括:控制寄存器,分別經由第一端口與處理器相連,以及經由第三數據端口與接口控制器相連;以及選擇器,分別經由第二端口與高速緩沖存儲器相連,經由內部的第四端口與控制寄存器相連,以及經由第三控制端口與接口控制器相連,其中,所述選擇器還包括選擇端口,所述控制寄存器向所述選擇器的選擇端口提供選擇信號,使得第二端口和第四端口之一與第三控制端口連通,從而選擇第一控制信號路徑和第二控制信號路徑之一。
[0010]根據本實用新型的另一方面,提供一種處理器系統,包括:程序存儲器,用于存儲程序數據;接口控制器,與程序存儲器連接,并且管理針對程序存儲器的訪問;高速緩沖存儲器,與接口控制器連接,用于經由接口控制器從程序存儲器獲取程序數據,以提供處理器所需的指令和操作數;處理器,與高速緩沖存儲器連接,用于從高速緩沖存儲器獲取指令和操作數;以及程序存儲器控制裝置,包括第一端口,用于與處理器相連;第二端口,用于與高速緩沖存儲器相連;以及第三端口,用于與接口控制器相連,其中,所述程序存儲器控制裝置提供控制信號的路由功能,使得第二端口與第三端口之間的第一控制信號路徑、或者第一端口與第三端口之間的第二控制信號路徑連通,在第一控制信號路徑連通時,所述接口控制器工作于CHJ控制模式,其中,在高速緩沖存儲器與程序存儲器之間自動進行數據緩存,在第二控制信號路徑連通時,所述接口控制器工作于寄存器控制模式,其中處理器對程序存儲器進行讀、寫和擦除操作中的至少一種操作。
[0011 ]優選地,所述第三端口包括第三控制端口和第三數據端口,所述程序存儲器控制裝置還包括:控制寄存器,分別經由第一端口與處理器相連,以及經由第三數據端口與接口控制器相連;以及選擇器,分別經由第二端口與高速緩沖存儲器相連,經由內部的第四端口與控制寄存器相連,以及經由第三控制端口與接口控制器相連,其中,所述選擇器還包括選擇端口,所述控制寄存器向所述選擇器的選擇端口提供選擇信號,使得第二端口和第四端口之一與第三控制端口連通,從而選擇第一控制信號路徑和第二控制信號路徑之一。優選地,處理器為片上系統中的內部處理器。
[0012]優選地,在CPU控制模式中,處理器經由高速緩沖存儲器和接口控制器,從程序存儲器中獲取指令和/或操作數。
[0013]優選地,所述處理器系統還包括內存,所述內存連接在處理器和外設設備之間,用于存儲從外設設備讀取的數據,其中,在寄存器控制模式中,處理器讀取內存的數據,并且經由程序存儲器控制裝置和接口控制器寫入程序存儲器。
[0014]優選地,內存的數據是升級文件的至少一部分。
[0015]優選地,高速緩沖存儲器具有地址鎖定功能,在預先將驅動程序復制到高速緩沖存儲器中并鎖定之后,才執行高速緩沖存儲器中的驅動程序,切換接口控制器的工作模式。
[0016]優選地,程序存儲器的接口為可編程復用的接口。
[0017]優選地,所述程序存儲器為SPI FLASH,并且,所述處理器系統還包括SPI接口設備,所述SPI FLASH和所述SPI設備經由公共的SPI總線連接至接口控制器。
[0018]優選地,通過片選信號的分時控制,實現SPIFLASH和SPI接口設備的復用控制。
[0019]根據本實用新型的又一方面,提供一種程序存儲器的控制方法,包括:在接口控制器的第一模式,將驅動程序復制到高速緩沖存儲器中;將接口控制器從第一模式切換至第二模式;以及在接口控制器的第二模式,將數據從內存寫入程序存儲器,其中,第一模式為接口控制器的CPU控制模式,其中在高速緩沖存儲器與程序存儲器之間自動進行數據緩存,第二模式為接口控制器的寄存器控制模式,其中處理器對程序存儲器進行讀、寫和擦除操作中的至少一種操作。
[0020]優選地,所述程序存儲器包括程序區和保留區,其中,程序區存儲第一復制程序、升級驅動程序以及第二復制程序。
[0021]優選地,將驅動程序復制到高速緩沖存儲器中的步驟包括:執行第一復制程序將驅動程序復制到高速緩沖存儲器中,其中,在預先將驅動程序復制到高速緩沖存儲器中并鎖定之后,才執行高速緩沖存儲器中的驅動程序,切換接口控制器的工作模式,所述高速緩沖存儲器具有地址鎖定功能。
[0022]優選地,將數據從內存寫入程序存儲器的步驟之前還包括:執行第二復制程序將外設設備內的文件讀入內存。
[0023]優選地,通過程序存儲器控制裝置提供控制信號的路由功能,使得接口控制器工作于第一模式和第二模式之一。
[0024]優選地,程序存儲器控制裝置包括分別與處理器、高速緩沖存儲器、接口控制器相連的第一至第三端口,并且程序存儲器控制裝置根據選擇信號