專利名稱:信息處理裝置和存儲器存取安排方法
技術領域:
本發(fā)明涉及一種包括外部輸入/輸出機制的信息處理裝置,該外部輸入/輸出機制可以在處理器中提供的存儲器裝置與外部裝置之間執(zhí)行高速讀或寫,本發(fā)明還涉及一種在產生對存儲器裝置的存取爭用情況下的存儲器存取安排方法。
背景技術:
通常,在由多個控制裝置從一個存儲器裝置執(zhí)行讀或向一個存儲器裝置執(zhí)行寫時,使用雙端口存儲器作為最簡便的實現(xiàn)方法。然而,近幾年,把重點放在了LSI市場中的系統(tǒng)LSI上,并且電路的規(guī)模增加了。為此,在需要具有大容量存儲器的系統(tǒng)LSI中占據(jù)大面積芯片的雙端口存儲器在費用方面是不利的。因此,為了減小芯片面積,可以建議使用單端口存儲器。然而,根據(jù)多個控制設備存取的計時,會發(fā)生存取爭用情況。為此,有必要對存取進行安排。
通常,根據(jù)多個控制設備存取的安排方法,存取是以下列方式進行安排的。在具有比第一控制裝置的優(yōu)先級高的第二控制裝置進行存取、同時第一控制裝置允許對存儲器的存取的情況下,使第二控制裝置等待(待命),直到第一控制裝置結束對所述存儲器的存取為止。當?shù)谝豢刂蒲b置結束對所述存儲器的存取時,開始第二控制裝置對所述存儲器的存取。此外,當?shù)诙刂蒲b置存取所述存儲器時,完全禁止第一控制裝置存取所述存儲器。從而,第二控制裝置可以以高于第一控制裝置的優(yōu)先級存取所述存儲器(例如,參見JP-A-9-198298)。
更具體地說,在由先允許存取的控制裝置執(zhí)行存取期間,后允許存取的控制裝置不能存取所述存儲器,直到先允許存取的控制裝置結束存取為止。
然而,假定允許控制裝置中任何一個具有優(yōu)先級的裝置進行存取。比如說,在允許外部處理器通過外部輸入/輸出機制存取處理器內置存儲器的情況下,例如,外部處理器對處理器內置存儲器的存取不需要花費很長時間。但是,外部處理器需要高速操作。為此,需要總是由具有優(yōu)先級的外部處理器進行存取。
在應用上述技術到包括需要對處理器中提供的存儲器進行高速存取的外部輸入/輸出機制的處理器時,當從外部輸入/輸出機制對存儲器產生存取同時處理器核心存取存儲器時,使外部輸入/輸出機制進行等待直到處理器核心結束存取為止。因此,外部輸入/輸出機制的存取速度降低了。
更具體地說,在某些情況下,外部輸入/輸出機制的存取速度根據(jù)處理器對存儲器的存取狀態(tài)而降低。在應用此機制通過外部輸入/輸出機制從外部處理器向處理器中提供的存儲器傳送數(shù)據(jù)的情況下,外部存取速度因此而降低,此外,終集的運算速度也會降低。
發(fā)明內容
為了解決所述傳統(tǒng)問題,本發(fā)明的一個目的是提供一種實現(xiàn)外部輸入/輸出機制的信息處理裝置,所述外部輸入/輸出機制可以總是給具有優(yōu)先級的裝置高速存取而無需等待,也不考慮處理器對存儲器的存取狀態(tài),本發(fā)明還提供一種存儲器存取安排方法。
本發(fā)明的第一個方面在于一種信息處理裝置,該裝置包括數(shù)據(jù)存儲裝置,第一和第二數(shù)據(jù)輸入/輸出裝置,用于存取所述數(shù)據(jù)存儲裝置,時鐘發(fā)生裝置,用于向第二數(shù)據(jù)輸入/輸出裝置提供時鐘,切換裝置,用于切換第一數(shù)據(jù)輸入/輸出裝置和第二數(shù)據(jù)輸入/輸出裝置對所述數(shù)據(jù)存儲裝置的存取,以及存取安排裝置,用于當發(fā)生第一數(shù)據(jù)輸入/輸出裝置和第二數(shù)據(jù)輸入/輸出裝置對所述數(shù)據(jù)存儲裝置的存取爭用時,使用于第二數(shù)據(jù)輸入/輸出裝置的時鐘等待并先執(zhí)行第一數(shù)據(jù)輸入/輸出裝置的存取,并用于在結束第一數(shù)據(jù)輸入/輸出裝置的存取之后開始第二數(shù)據(jù)輸入/輸出裝置的存取。
根據(jù)上述結構,當對于容許對數(shù)據(jù)存儲裝置存取的第一和第二數(shù)據(jù)輸入/輸出裝置中發(fā)生存取爭用時,使一個數(shù)據(jù)輸入/輸出裝置的時鐘等待以執(zhí)行存取安排。從而,第一和第二數(shù)據(jù)輸入/輸出裝置中的任何一個可以總是以優(yōu)先級實現(xiàn)高速存取而無需等待。
本發(fā)明的第二個方面在于一種信息處理裝置,該裝置包括內置存儲器,處理器,用于處理存儲在所述內置存儲器中的數(shù)據(jù),時鐘發(fā)生裝置,用于向所述處理器提供時鐘信號,輸入/輸出控制裝置,用于在從外部控制裝置接收到指令后執(zhí)行對所述內置存儲器的存取,以及存取安排裝置,用于當發(fā)生所述處理器和輸入/輸出控制裝置對所述內置存儲器的存取爭用時,產生等待請求信號以使所述時鐘信號等待并執(zhí)行具有優(yōu)先級的輸入/輸出控制裝置的存取。
根據(jù)上述結構,當對于容許對所述內置存儲器存取的處理器和外部控制裝置發(fā)生存取爭用時,給外部控制裝置的存取優(yōu)先級,從而執(zhí)行存取安排。因此,可以增加從外部控制裝置對內置存儲器的數(shù)據(jù)傳送速度。
本發(fā)明的第三個方面在于根據(jù)本發(fā)明第二個方面的信息處理裝置,進一步包括選擇裝置,用于切換處理器和輸入/輸出控制裝置對所述內置存儲器的存取,其中當在處理器存取內置存儲器期間產生輸入/輸出控制裝置對所述內置存儲器的存取請求時,所述存取安排裝置輸出控制信號給選擇裝置,并且接收該控制信號的選擇裝置切換處理器對內置存儲器的存取到輸入/輸出控制裝置對內置存儲器的存取。
根據(jù)上述結構,在處理器存取內置存儲器的情況下,當在內置存儲器和外部控制裝置之間讀或寫數(shù)據(jù)時,處理器的存取被切換為輸入/輸出控制裝置的存取。從而,可以實現(xiàn)優(yōu)先于處理器的外部控制裝置的高速存取。
本發(fā)明的第四個方面在于根據(jù)本發(fā)明第二個方面的信息處理裝置,進一步包括保存裝置,用于在處理器的等待操作期間保存在處理器等待操作之前從內置存儲器輸出的讀數(shù)據(jù),其中所述存取安排裝置在從內置存儲器輸出的讀數(shù)據(jù)與由所述保存裝置保存的讀數(shù)據(jù)之間切換將提供給處理器的讀數(shù)據(jù)。
根據(jù)上述結構,同樣地在處理器連續(xù)存取所述存儲器的情況下,切換從內置存儲器輸出的讀數(shù)據(jù)和由所述保存裝置保存的讀數(shù)據(jù)。從而,可以實現(xiàn)高速存取而不依靠存取狀態(tài)。
本發(fā)明的第五個方面在于一種信息處理裝置的存儲器存取安排方法,所述信息處理裝置包括數(shù)據(jù)存儲裝置和用于存取所述數(shù)據(jù)存儲裝置的第一及第二數(shù)據(jù)輸入/輸出裝置,所述方法包括以下步驟當發(fā)生第一數(shù)據(jù)輸入/輸出裝置和第二數(shù)據(jù)輸入/輸出裝置對所述數(shù)據(jù)存儲裝置的存取爭用時,使用于第二數(shù)據(jù)輸入/輸出裝置的時鐘等待,先執(zhí)行第一數(shù)據(jù)輸入/輸出裝置的存取,并在結束第一數(shù)據(jù)輸入/輸出裝置的存取之后取消第二數(shù)據(jù)輸入/輸出裝置的時鐘等待,并執(zhí)行第二數(shù)據(jù)輸入/輸出裝置的存取。
根據(jù)上述結構,當對于容許對數(shù)據(jù)存儲裝置存取的第一和第二數(shù)據(jù)輸入/輸出裝置中發(fā)生存取爭用時,使任一個數(shù)據(jù)輸入/輸出裝置的時鐘等待以執(zhí)行存取安排。從而,第一和第二數(shù)據(jù)輸入/輸出裝置中的任何一個可以總是以優(yōu)先級實現(xiàn)高速存取而無需等待。
本發(fā)明的第六個方面在于一種信息處理裝置的存儲器存取安排方法,所述信息處理裝置包括用于通過指令執(zhí)行流水線處理的處理器,在所述處理器中提供的存儲器,以及用于以比所述處理器更高的優(yōu)先級執(zhí)行對所述存儲器進行存取的輸入/輸出控制裝置,所述方法包括以下步驟當發(fā)生處理器和輸入/輸出控制裝置對所述存儲器的存取爭用時產生等待請求信號,用于使提供給所述處理器的時鐘等待,切換處理器對存儲器的存取到輸入/輸出控制裝置對存儲器的存取,并在結束輸入/輸出控制裝置對存儲器的存取之后取消所述處理器的時鐘等待,并執(zhí)行所述處理器對存儲器的存取。
根據(jù)上述結構,在處理器存取內置存儲器的情況下,當在內置存儲器與外部設備之間讀或寫數(shù)據(jù)時,處理器的存取被切換到輸入/輸出控制裝置的存取。從而,可以實現(xiàn)優(yōu)先于處理器的優(yōu)先級的高速存取。此外,在發(fā)生處理器和外部輸入/輸出裝置的存取爭用時,通過簡單執(zhí)行流水線級等待可以實現(xiàn)重新開始存取的高速存取。
本發(fā)明的第七個方面在于一種信息處理裝置的存儲器存取安排方法,所述信息處理裝置具有用于通過指令執(zhí)行流水線處理的處理器,在所述處理器中提供的存儲器,用于以比處理器更高的優(yōu)先級對所述存儲器執(zhí)行存取的輸入/輸出控制裝置,以及保存裝置,用于在處理器的等待操作期間保存在處理器的等待操作之前從內置存儲器輸出的讀數(shù)據(jù),所述方法包括以下步驟當在處理器連續(xù)讀取所述存儲器的一段時間內發(fā)生輸入/輸出控制裝置的讀取爭用時,保存在處理器的等待操作之前從所述存儲器輸出的讀數(shù)據(jù),使提供給所述處理器的時鐘等待,執(zhí)行輸入/輸出控制裝置對所述存儲器的存取,并在結束輸入/輸出控制裝置對存儲器的存取之后取消處理器的時鐘等待,將保存在所述保存裝置中的數(shù)據(jù)提供給所述處理器,并重新開始處理器對所述存儲器的存取。
根據(jù)上述結構,同樣地在處理器連續(xù)存取所述存儲器的情況下,保存在保存裝置中的數(shù)據(jù)被提供給所述處理器,并且重新開始處理器對所述存儲器的存取。從而,可以實現(xiàn)高速存取而不依靠存取狀態(tài)。
圖1是表示根據(jù)本發(fā)明的第一個實施例的信息處理裝置的結構框圖;圖2是表示圖1所示的信息處理裝置的操作流程圖;圖3是表示根據(jù)本發(fā)明的第二個實施例的信息處理裝置的示意結構框圖;圖4是表示根據(jù)本發(fā)明的所述實施例的讀數(shù)據(jù)保存部分的結構電路圖;圖5是表示圖3所示信息處理裝置的操作流程圖;圖6是表示圖3所示信息處理裝置的操作的一個例子的計時圖(處理器單獨存取的情況),以及圖7是表示圖3所示信息處理裝置的操作的一個例子的計時圖(處理器連續(xù)存取的情況)。
具體實施例方式
下面將參照附圖對本發(fā)明的實施例進行說明。
(第一實施例)附圖1是表示根據(jù)本發(fā)明的第一個實施例的信息處理裝置的結構框圖。在附圖1中,信息處理裝置150包括數(shù)據(jù)存儲裝置101,第一數(shù)據(jù)輸入/輸出裝置102,具有對數(shù)據(jù)存儲裝置101的高存取優(yōu)先級,第二數(shù)據(jù)輸入/輸出裝置103,具有低存取優(yōu)先級,時鐘發(fā)生裝置104,用于向第二數(shù)據(jù)輸入/輸出裝置103提供時鐘,存取安排裝置109,以及控制信號選擇器112。
存取安排裝置109監(jiān)控第一數(shù)據(jù)輸入/輸出裝置102的控制信號106和第二數(shù)據(jù)輸入/輸出裝置103的控制信號108,并產生存取選擇信號110,用于在第一數(shù)據(jù)輸入/輸出裝置102與第二數(shù)據(jù)輸入/輸出裝置103之間切換都將提供給數(shù)據(jù)存儲裝置101的控制信號114和寫數(shù)據(jù)113,并且當發(fā)生第一數(shù)據(jù)輸入/輸出裝置102與第二數(shù)據(jù)輸入/輸出裝置103對數(shù)據(jù)存儲裝置101的存取爭用時,產生時鐘等待請求信號111,用于使第二數(shù)據(jù)輸入/輸出裝置103等待。
在接收到從存取安排裝置109輸出的存取選擇信號110之后,控制信號選擇器112切換將從第一數(shù)據(jù)輸入/輸出裝置102提供給數(shù)據(jù)存儲裝置101的寫數(shù)據(jù)105和控制信號106,以及切換將從第二數(shù)據(jù)輸入/輸出裝置103提供給數(shù)據(jù)存儲裝置101的寫數(shù)據(jù)107和控制信號108。
參考具有上述結構的實施例,下面將參照圖2的流程圖來說明其操作。存取安排裝置109監(jiān)控第一數(shù)據(jù)輸入/輸出裝置102和第二數(shù)據(jù)輸入/輸出裝置103對數(shù)據(jù)存儲裝置101的存取狀態(tài)(S201)。如果在不允許存取數(shù)據(jù)存儲裝置101的狀態(tài)下(S200)僅允許第一數(shù)據(jù)輸入/輸出裝置102存取(S201的A),存取安排裝置109切換控制信號選擇器112到第一數(shù)據(jù)輸入/輸出裝置102側(S202),并且第一數(shù)據(jù)輸入/輸出裝置102執(zhí)行對數(shù)據(jù)存儲裝置101的存取(S203)。當?shù)谝粩?shù)據(jù)輸入/輸出裝置102結束對數(shù)據(jù)存儲裝置101的存取時(S203的A),則結束對數(shù)據(jù)存儲裝置101的存取(S204)。
另一方面,如果在第一數(shù)據(jù)輸入/輸出裝置102結束對數(shù)據(jù)存儲裝置101的存取之前第二數(shù)據(jù)輸入/輸出裝置103要進行存取(S203的B),則存取安排裝置109檢測存取爭用并輸出時鐘等待請求信號111給第二數(shù)據(jù)輸入/輸出裝置103,第二數(shù)據(jù)輸入/輸出裝置103進入等待狀態(tài)(S205)。其后,第一數(shù)據(jù)輸入/輸出裝置102執(zhí)行對數(shù)據(jù)存儲裝置101的存取(S206)。
當?shù)谝粩?shù)據(jù)輸入/輸出裝置102結束對數(shù)據(jù)存儲裝置101的存取時,取消第二數(shù)據(jù)輸入/輸出裝置103的等待狀態(tài)(S207),并且存取安排裝置109切換控制信號選擇器112到第二數(shù)據(jù)輸入/輸出裝置103側(S208),第二數(shù)據(jù)輸入/輸出裝置103執(zhí)行對數(shù)據(jù)存儲裝置101的存取(S209)。
如果在不允許存取數(shù)據(jù)存儲裝置101的狀態(tài)下(S200)僅允許第二數(shù)據(jù)輸入/輸出裝置102存取(S201的C),類似地,存取安排裝置109切換控制信號選擇器112到第二數(shù)據(jù)輸入/輸出裝置103側(S208),并且第二數(shù)據(jù)輸入/輸出裝置103執(zhí)行對數(shù)據(jù)存儲裝置101的存取(S209)。如果第二數(shù)據(jù)輸入/輸出裝置103對數(shù)據(jù)存儲裝置101的存取結束(S209的B),則結束對數(shù)據(jù)存儲裝置101的存取(S204)。
另一方面,如果在第二數(shù)據(jù)輸入/輸出裝置103對數(shù)據(jù)存儲裝置101的存取結束之前第一數(shù)據(jù)輸入/輸出裝置102要進行存取(S209的A)或者在不允許存取數(shù)據(jù)存儲裝置101的狀態(tài)下(S200)第一數(shù)據(jù)輸入/輸出裝置102和第二數(shù)據(jù)輸入/輸出裝置103同時允許存取數(shù)據(jù)存儲裝置101時(S201的B),存取安排裝置109檢測存取爭用并輸出時鐘等待請求信號111給第二數(shù)據(jù)輸入/輸出裝置103,第二數(shù)據(jù)輸入/輸出裝置103進入到等待狀態(tài)(S210)。然后,存取安排裝置109切換控制信號選擇器112到第一數(shù)據(jù)輸入/輸出裝置102側(S211),第一數(shù)據(jù)輸入/輸出裝置102執(zhí)行對數(shù)據(jù)存儲裝置101的存取(S206)。在步驟S207之后將執(zhí)行的操作已在上面描述過。
如上所述,根據(jù)所述實施例,提供了數(shù)據(jù)存儲裝置101作為數(shù)據(jù)存儲裝置,第一數(shù)據(jù)輸入/輸出裝置102作為第一數(shù)據(jù)輸入/輸出裝置,第二數(shù)據(jù)輸入/輸出裝置102作為第二數(shù)據(jù)輸入/輸出裝置,時鐘發(fā)生裝置104作為時鐘發(fā)生裝置,控制信號選擇器112作為用于切換存取的切換裝置,并且提供了存取安排裝置109作為用于安排存取的存取安排裝置。當發(fā)生第一數(shù)據(jù)輸入/輸出裝置102和第二數(shù)據(jù)輸入/輸出裝置103對數(shù)據(jù)存儲裝置101的存取爭用時,使第二數(shù)據(jù)輸入/輸出裝置103的時鐘等待,并先執(zhí)行第一數(shù)據(jù)輸入/輸出裝置102的存取。當?shù)谝粩?shù)據(jù)輸入/輸出裝置102的存取結束時,取消第二數(shù)據(jù)輸入/輸出裝置103的時鐘等待,并執(zhí)行第二數(shù)據(jù)輸入/輸出裝置103的存取。因此,可以以這種小規(guī)模的電路結構相對簡便地執(zhí)行時鐘的等待控制來實現(xiàn)存取安排,在所述存取安排中,第一數(shù)據(jù)輸入/輸出裝置102能夠總是以優(yōu)先級存取數(shù)據(jù)存儲裝置101。
(第二實施例)附圖3是表示根據(jù)本發(fā)明的第二個實施例的信息處理裝置的示意結構框圖。在附圖3中,信息處理裝置350包括時鐘發(fā)生部分301,在處理器中提供并可以從處理器外部進行存取的處理器內置存儲器部分304,處理器核心部分305,用于通過指令執(zhí)行流水線處理,外部輸入/輸出控制部分310,具有比處理器核心部分305對處理器內置存儲器304的存取優(yōu)先級更高的存取優(yōu)先級,讀數(shù)據(jù)保存部分322,用于保存從外部輸入/輸出控制部分310輸出的處理器側讀數(shù)據(jù)320,以及存取安排部分315,用于當處理器核心部分305和外部輸入/輸出控制部分310同時發(fā)生存取時,產生等待請求信號316。
時鐘發(fā)生部分301包括時鐘振蕩部分338,和時鐘等待控制部分337,用于在輸入等待請求信號316期間停止從時鐘振蕩部分338提供時鐘,并且用于產生具有整數(shù)倍那樣的周期的時鐘。時鐘302沒有從時鐘振蕩部分338輸出的等待控制。時鐘303是從時鐘等待控制部分337輸出的等待控制時鐘。
處理器核心部分305具有用于接收來自存儲器部分304的讀數(shù)據(jù)323的存儲器存取控制部分330,和多個觸發(fā)器331、332、333和334,所述處理器核心部分305產生用于存取存儲器部分304的處理器側地址306、處理器側片選(CS)信號307、存儲裝置控制信號308,例如讀使能信號(RE)和寫使能信號(WE),并產生處理器側寫數(shù)據(jù)309。
外部輸入/輸出控制部分310具有外部輸入/輸出信號同步部分336和存儲器存取選擇器部分335。外部輸入/輸出信號同步部分336接收外部輸入/輸出地址325、外部輸入/輸出讀使能/寫使能(RE/WE)信號326和外部輸入/輸出寫數(shù)據(jù)327,并產生存儲裝置控制信號,例如同步以存取處理器內置存儲器部分304的外部輸入/輸出側地址311、外部輸入/輸出側片選(CS)信號312和外部輸入/輸出側寫使能/讀使能(WE/RE)信號313,以及外部輸入/輸出側寫數(shù)據(jù)314。存儲器存取選擇器部分335切換從外部輸入/輸出信號同步部分336發(fā)送的存儲器控制信號和寫數(shù)據(jù)以及從處理器核心部分305發(fā)送的存儲器控制信號和寫數(shù)據(jù),將寫數(shù)據(jù)317和存儲器控制信號318提供給處理器內置存儲器304,并切換從處理器內置存儲器304發(fā)送的讀數(shù)據(jù)319給處理器核心部分305和外部處理器328,從而將處理器側讀數(shù)據(jù)(未保存)320提供給讀數(shù)據(jù)保存部分322并將外部輸入/輸出側讀數(shù)據(jù)321提供給外部處理器328。處理器內置存儲器304輸出讀數(shù)據(jù)319給存儲器存取選擇器部分335。
存取安排部分315監(jiān)控從處理器核心部分305發(fā)送的寫/讀使能信號308以及在外部輸入/輸出控制部分310中產生的寫/讀使能信號313,并將選擇器控制信號324提供給外部輸入/輸出控制部分310中的存儲器存取選擇器部分335,以便切換處理器核心部分305側的存儲器控制信號和寫/讀數(shù)據(jù)以及外部輸入/輸出控制部分310側的存儲器控制信號和寫/讀數(shù)據(jù)。此外,當同時發(fā)生處理器核心部分305及外部輸入/輸出控制部分310對處理器內置存儲器部分304的存取時,存取安排部分315產生等待請求信號316,用于使提供給處理器核心部分305的時鐘等待。
讀數(shù)據(jù)保存部分322保存從外部輸入/輸出控制部分310中的存儲器存取選則器部分335輸出的處理器側讀數(shù)據(jù)(未保存)320,并提供處理器側讀數(shù)據(jù)323給處理器核心部分305。
附圖4是表示所述讀數(shù)據(jù)保存部分322的結構電路圖;在附圖4中,讀數(shù)據(jù)保存部分322包括觸發(fā)器401,用于在周期內下一個時鐘的上升沿更新數(shù)據(jù),在該周期內觸發(fā)器的使能信號411為“1”,并且該觸發(fā)器用于保存從外部輸入/輸出控制部分310中的存儲器存取選擇器部分335輸出的讀數(shù)據(jù)320,所述讀數(shù)據(jù)保存部分322還包括觸發(fā)器403,用于延遲對應于沒有等待控制的時鐘302的一個周期的處理器側讀使能(RE)信號308的計時,以及觸發(fā)器405,用于延遲對應于沒有等待控制的時鐘302的一個周期的等待請求信號316的計時。此外,讀數(shù)據(jù)保存部分322包括與門407,用于對處理器側讀使能(RE)信號308、延遲一個周期的處理器側讀使能信號404以及延遲一個周期的等待請求信號406進行取與(邏輯運算),選擇器409,用于當作為與門407的輸出信號的選擇器控制信號408是“1”時,發(fā)送保存數(shù)據(jù)輸出402給處理器側讀數(shù)據(jù)323并且用于當選擇器控制信號408為“0”時輸出讀數(shù)據(jù)320給處理器側讀數(shù)據(jù)323,以及與門410,用于對延遲一個周期的處理器側讀使能信號404與延遲一個周期的等待請求信號的負邏輯406進行與運算,并用于產生觸發(fā)器使能信號。
參照具有上述結構的實施例,下面將參照附圖5的流程圖來說明其操作。存儲器304監(jiān)控外部輸入/輸出控制部分310和處理器核心部分305對存儲器304的存取狀態(tài)(S501)。如果在不允許存取存儲器304的狀態(tài)下(S500)僅允許外部輸入/輸出控制部分310存取(S501的A),則存取安排部分315切換外部輸入/輸出控制部分310中的存儲器存取選擇器部分335到外部輸入/輸出控制部分310側(S502),并且外部輸入/輸出控制部分310執(zhí)行對存儲器304的存取(S503)。當外部輸入/輸出控制部分310對存儲器304的存取結束時(S503的A),則結束對存儲器304的存取(S504)。
另一方面,如果在外部輸入/輸出控制部分310對存儲器304的存取結束之前處理器核心部分305進行存取(S503的B),則存取安排部分315檢測存取爭用并輸出等待請求信號316給處理器核心部分305,并且處理器核心部分305進入到等待狀態(tài)(S505)。之后,外部輸入/輸出控制部分310執(zhí)行對存儲器304的存取(S506)。當外部輸入/輸出控制部分310對存儲器304的存取結束時,取消處理器核心部分305的等待狀態(tài)(S507)。
如果在發(fā)生處理器核心部分305連續(xù)讀取存儲器304期間引起存取爭用(S508的Y),則提供由讀數(shù)據(jù)保存部分322保存的數(shù)據(jù)作為處理器核心部分305的讀數(shù)據(jù)(S509)。
另一方面,如果在處理器核心部分305連續(xù)讀取存儲器304期間沒有引起存取爭用(S508的N),則提供處理器側讀數(shù)據(jù)(未保存)320作為處理器核心部分305的讀數(shù)據(jù)。然后,存取安排部分315切換外部輸入/輸出控制部分310中的存儲器存取選擇器部分335到處理器核心部分305側(S510),并且處理器核心部分305執(zhí)行對存儲器305的存取(S511)。
如果在不允許存取存儲器304的狀態(tài)下(S500)僅允許處理器核心部分305存取(S501的C),則類似地,存取安排部分315切換外部輸入/輸出控制部分310中的存儲器存取選擇器部分335到處理器核心部分305側(S510),并且處理器核心部分305執(zhí)行對存儲器304的存取(S511)。如果處理器核心部分305對存儲器304的存取結束(S511的B),則結束對存儲器304的存取(S504)。
另一方面,如果在處理器核心部分305對存儲器304的存取結束之前外部輸入/輸出控制部分310要進行存取(S511的A),或者在不允許存取存儲器304的狀態(tài)下(S500)外部輸入/輸出控制部分310和處理器核心部分305同時存取存儲器304(S501的B)時,則存取安排部分315檢測存取爭用并輸出等待請求信號316給處理器核心部分305,并且處理器核心部分305進入到等待狀態(tài)(S512)。然后,存取安排部分315切換外部輸入/輸出控制部分310中的存儲器存取選擇器部分335到外部輸入/輸出控制部分310側(S513),并且外部輸入/輸出控制部分310執(zhí)行對存儲器304的存取(S506)。接下來的操作已在上面描述過。
參照根據(jù)本發(fā)明所述實施例的信息處理裝置,更進一步地,將參照附圖6和7對其操作的詳細情況進行說明。附圖6的計時圖說明了當處理器核心部分305單獨存取處理器內置存儲器304時,外部輸入/輸出控制部分310對處理器內置存儲器304的存取引起爭用的情況。附圖7的計時圖說明了處理器核心部分305連續(xù)讀取處理器內置存儲器304的一段時間內外部輸入/輸出控制部分310對處理器內置存儲器304的存取引起爭用的情況。
在附圖6中,當處理器側讀使能信號308和外部輸入/輸出側讀使能信號313在圖6的時間A同時產生時,圖3中的存取安排部分315檢測存取爭用并將等待請求信號316提供給圖3中的時鐘發(fā)生部分301。
因此,圖3中的時鐘發(fā)生部分301使待提供給處理器核心部分305的等待控制時鐘303等待在圖6所示時間B的一個周期。從處理器核心部分305輸出的處理器側地址306、處理器側CS信號307以及處理器側讀使能(RE)信號308分別通過處理器核心部分305中提供的觸發(fā)器331-334發(fā)送。因此,在時間A的輸出狀態(tài)保持在時間B作為處理器核心部分305的等待時間。
此時,圖3中的存取安排部分315控制圖3中外部輸入/輸出控制部分310中的存儲器存取選擇器部分335。然后,外部輸入/輸出控制部分310中的存儲器存取選擇器部分335在圖6的時間A的一段時間將存儲器控制信號從外部輸入/輸出控制部分310提供給處理器內置存儲器304。也就是,在一個周期內提供的一段時間,在此時間之前處理器核心部分305執(zhí)行等待操作,并且在圖6的時間B的一段時間從處理器核心部分305提供存儲器控制信號,即處理器核心部分305執(zhí)行等待操作的時間。
因此,處理器內置存儲器304輸出通過外部輸入/輸出控制部分310在圖6的時間B的一段時間,即處理器核心部分305執(zhí)行等待操作的一段時間存取所獲得的讀數(shù)據(jù)作為讀數(shù)據(jù)319,并輸出通過處理器核心部分305在圖6的時間C的一段時間,即處理器從等待返回的第一個周期內的一段時間存取所獲得的讀數(shù)據(jù)作為讀數(shù)據(jù)319。對于圖6中時間C的一段時間,圖4中的選擇器控制信號408為“0”,并且讀數(shù)據(jù)319通過處理器側讀數(shù)據(jù)(未保存)320被提供給處理器側讀數(shù)據(jù)323。
在圖7的計時圖中,當外部數(shù)據(jù)/輸出控制部分310在圖7的時間A的一段時間要存取處理器內置存儲器304,同時處理器核心部分305連續(xù)執(zhí)行對處理器內置存儲器304的讀取時,在圖7的時間A的一段時間內產生等待請求信號316,并且處理器核心部分305以與圖6的情況相同的方式在時間B的一段時間內開始等待操作。
此時,處理器內置存儲器304以與圖6相同的方式輸出通過外部數(shù)據(jù)輸入/輸出控制部分310在圖7的時間B的一段時間內存取讀數(shù)據(jù)319所獲得的讀數(shù)據(jù),并輸出通過處理器核心部分305在圖7的時間C的一段時間內存取讀數(shù)據(jù)319所獲得的讀數(shù)據(jù)。
然而,此時,在發(fā)生處理器核心部分305對處理器內置存儲器304的存取以及外部輸入/輸出控制部分310的存取爭用之前的一個周期內從處理器核心部分305發(fā)送給處理器內置存儲器304的讀指令中,關于此指令的讀數(shù)據(jù)在圖7的時間A輸出,并且處理器核心部分305在下一個時間B開始等待操作。從而,在處理器核心部分305從等待返回的時間C,處理器核心部分305不能獲取必要的讀數(shù)據(jù)。
因此,在時間A輸出的讀數(shù)據(jù)一直由圖4中的觸發(fā)器401保存到時間B,并且輸出給保存數(shù)據(jù)輸出402,此外,通過圖4中的與門407檢測在處理器核心部分305的連續(xù)讀取期間設置的等待操作狀態(tài),并且選擇器控制信號408在時間B被設置為“1”。因此,選擇器409提供保存數(shù)據(jù)輸出402給處理器側讀數(shù)據(jù)323,以便處理器核心部分305可以在時間C獲取數(shù)據(jù)。
另一方面,在時間C取消等待狀態(tài)。因此,選擇器控制信號408返回到“0”,并且選擇器409提供讀數(shù)據(jù)319給處理器側讀數(shù)據(jù)323。
同時在處理器核心部分305連續(xù)存取處理器內置存儲器部分304期間產生外部輸入/輸出控制部分310存取的爭用情況下,如圖7所示,因此可以執(zhí)行存取安排。
如上所述,根據(jù)所述實施例,提供了處理器核心部分305作為用于通過指令執(zhí)行流水線處理的處理器,處理器內置存儲器304作為處理器中提供的存儲器,外部輸入/輸出控制部分310作為以優(yōu)先級對存儲器執(zhí)行存取的輸入/輸出控制裝置,時鐘發(fā)生部分301作為用于向處理器核心部分305提供時鐘的時鐘發(fā)生裝置,以及存取安排部分315作為用于監(jiān)控處理器核心部分305以及外部輸入/輸出控制部分310對處理器內置存儲器304的存取并用于執(zhí)行存取安排的存取安排裝置。在外部輸入/輸出控制部分310引起存取爭用一段時間的情況下,在該時間內處理器核心部分305存取處理器內置存儲器304,使提供給處理器核心部分305的時鐘等待并且執(zhí)行外部輸入/輸出控制部分310對處理器內置存儲器304的存取。當外部輸入/輸出控制部分310對處理器內置存儲器304的存取結束時,取消處理器核心部分305的時鐘等待,并且執(zhí)行處理器核心部分305的存取。
在處理器核心部分305單獨允許存取處理器內置存儲器304的情況下,通過簡單添加一個用于使提供給處理器核心部分305的時鐘等待的電路所獲得的小規(guī)模的電路,可以實現(xiàn)外部輸入/輸出控制部分310能夠以高速存取處理器內置存儲器而無需等待。
在發(fā)生處理器核心部分305與外部輸入/輸出裝置的存取爭用的情況下,更進一步地,處理器核心部分305簡單經歷一流水線級等待從而可以實現(xiàn)能夠重新開始存取的存取安排。此外,提供了讀數(shù)據(jù)保存部分322作為用于保存存儲器輸出的數(shù)據(jù)的保存裝置。同樣地在外部輸入/輸出控制部分310存取處理器內置存儲器304以致于當處理器核心部分305連續(xù)存取處理器內置存儲器304時產生存取爭用的情況下,保存在讀數(shù)據(jù)保存部分322中的數(shù)據(jù)被提供給處理器核心部分305,并且重新開始對處理器內置存儲器304的存取,在處理器核心部分305的連續(xù)存取期間外部輸入/輸出控制部分310也可以存取。
根據(jù)本發(fā)明的第一和第五個方面,可以以小規(guī)模的電路實現(xiàn)存取安排電路,用于在存取數(shù)據(jù)存儲裝置的數(shù)據(jù)輸入/輸出裝置中發(fā)生存取爭用的情況下通過簡單使兩個數(shù)據(jù)輸入/輸出裝置中的任何一個的時鐘等待來執(zhí)行存取安排。
根據(jù)本發(fā)明的第二和第六個發(fā)面,可以通過在處理器單獨允許存取內置存儲器的情況下,當在處理器內置存儲器與外部之間讀或寫數(shù)據(jù)時通過簡單添加用于使提供給處理器的時鐘等待的電路所得到的小規(guī)模電路以高于處理器的優(yōu)先級實現(xiàn)高速存取而無需等待。此外,可以實現(xiàn)能夠在處理器與外部輸入/輸出裝置發(fā)生存取爭用時通過簡單執(zhí)行一流水線級等待來重新開始存取的存取安排電路。
根據(jù)本發(fā)明的第三和第七個方面,可以實現(xiàn)在處理器連續(xù)存取存儲器的情況下不依靠存取狀態(tài)而執(zhí)行的外部輸入/輸出裝置。
權利要求
1.一種信息處理裝置,包括數(shù)據(jù)存儲裝置;第一和第二數(shù)據(jù)輸入/輸出裝置,用于允許對所述數(shù)據(jù)存儲裝置進行存取;時鐘發(fā)生裝置,用于向第二數(shù)據(jù)輸入/輸出裝置提供時鐘;切換裝置,用于切換第一數(shù)據(jù)輸入/輸出裝置和第二數(shù)據(jù)輸入/輸出裝置對所述數(shù)據(jù)存儲裝置的存?。灰约按嫒“才叛b置,用于當發(fā)生第一數(shù)據(jù)輸入/輸出裝置和第二數(shù)據(jù)輸入/輸出裝置對所述數(shù)據(jù)存儲裝置的存取爭用時,使第二數(shù)據(jù)輸入/輸出裝置的時鐘等待,以及較早地執(zhí)行第一數(shù)據(jù)輸入/輸出裝置的存取,并且在結束第一數(shù)據(jù)輸入/輸出裝置的存取之后開始第二數(shù)據(jù)輸入/輸出裝置的存取。
2.一種信息處理裝置,包括內置存儲器;處理器,用于處理存儲在所述內置存儲器中的數(shù)據(jù);時鐘發(fā)生裝置,用于向所述處理器提供時鐘信號;輸入/輸出控制裝置,用于在從外部控制裝置接收到指令時,執(zhí)行對所述內置存儲器的存??;以及存取安排裝置,用于當發(fā)生所述處理器和輸入/輸出控制裝置對所述內置存儲器的存取爭用時,產生等待請求信號以使所述時鐘信號等待,以及執(zhí)行具有優(yōu)先級的輸入/輸出控制裝置的存取。
3.根據(jù)權利要求2所述的信息處理裝置,進一步包括選擇裝置,用于切換處理器和輸入/輸出控制裝置對所述內置存儲器的存取,其中當在處理器對所述內置存儲器進行存取期間產生輸入/輸出控制裝置對內置存儲器的存取請求時,所述存取安排裝置向選擇裝置輸出控制信號,并且接收該控制信號的選擇裝置把處理器對內置存儲器的存取切換到輸入/輸出控制裝置對內置存儲器的存取。
4.根據(jù)權利要求2所述的信息處理裝置,進一步包括保存裝置,用于在處理器的等待操作期間保存在處理器的等待操作之前從內置存儲器輸出的讀數(shù)據(jù),其中所述存取安排裝置在從內置存儲器輸出的讀數(shù)據(jù)與由所述保存裝置保存的讀數(shù)據(jù)之間切換將提供給處理器的讀數(shù)據(jù)。
5.一種信息處理裝置的存儲器存取安排方法,所述信息處理裝置包括數(shù)據(jù)存儲裝置和用于存取所述數(shù)據(jù)存儲裝置的第一及第二數(shù)據(jù)輸入/輸出裝置,所述方法包括以下步驟當發(fā)生第一數(shù)據(jù)輸入/輸出裝置和第二數(shù)據(jù)輸入/輸出裝置對所述數(shù)據(jù)存儲裝置的存取爭用時,使用于第二數(shù)據(jù)輸入/輸出裝置的時鐘等待;先執(zhí)行第一數(shù)據(jù)輸入/輸出裝置的存?。灰约霸诮Y束第一數(shù)據(jù)輸入/輸出裝置的存取之后取消第二數(shù)據(jù)輸入/輸出裝置的時鐘等待,并執(zhí)行第二數(shù)據(jù)輸入/輸出裝置的存取。
6.一種信息處理裝置的存儲器存取安排方法,所述信息處理裝置包括用于通過指令執(zhí)行流水線處理的處理器、在所述處理器中提供的存儲器、以及用于以比處理器高的優(yōu)先級對存儲器執(zhí)行存取的輸入/輸出控制裝置,所述方法包括以下步驟當發(fā)生處理器和輸入/輸出控制裝置對所述存儲器的存取爭用時產生等待請求信號,用于使提供給所述處理器的時鐘等待;把處理器對存儲器的存取切換到輸入/輸出控制裝置對存儲器的存??;以及在結束輸入/輸出控制裝置對存儲器的存取之后取消處理器的時鐘等待,并執(zhí)行處理器對存儲器的存取。
7.一種信息處理裝置的存儲器存取安排方法,所述信息處理裝置具有用于通過指令執(zhí)行流水線處理的處理器,在所述處理器中提供的存儲器,用于以比處理器高的優(yōu)先級對所述存儲器執(zhí)行存取的輸入/輸出控制裝置,以及保存裝置,用于在處理器的等待操作期間保存在處理器的等待操作之前從內置存儲器輸出的讀數(shù)據(jù),所述方法包括以下步驟當在處理器連續(xù)讀取存儲器的一段時間內發(fā)生輸入/輸出控制裝置的讀取爭用時,保存在處理器的等待操作之前從存儲器輸出的讀數(shù)據(jù);使提供給所述處理器的時鐘等待;執(zhí)行輸入/輸出控制裝置對所述存儲器的存?。灰约霸诮Y束輸入/輸出控制裝置對存儲器的存取之后取消處理器的時鐘等待,將保存在所述保存裝置中的數(shù)據(jù)提供給所述處理器,并重新開始處理器對所述存儲器的存取。
全文摘要
本發(fā)明的一個目的在于實現(xiàn)小規(guī)模的數(shù)據(jù)輸入/輸出機制,對于在處理器中提供的存儲器任何時候都可以以優(yōu)先級對存儲器高速存取。在信息處理裝置中,包括用于通過指令執(zhí)行流水線處理的處理器,在所述處理器中提供的存儲器,以及用于允許以高優(yōu)先級對存儲器進行存取的輸入/輸出控制裝置,一種存儲器存取安排方法,包括當發(fā)生處理器和輸入/輸出控制裝置對存儲器的存取爭用時,使提供給處理器的時鐘等待的步驟(S512),執(zhí)行輸入/輸出控制裝置對存儲器的存取步驟(S506),以及在結束輸入/輸出控制裝置對存儲器的存取之后取消處理器的時鐘等待,并執(zhí)行處理器對存儲器的存取步驟(S507,S511)。
文檔編號G06F13/36GK1530839SQ200410035239
公開日2004年9月22日 申請日期2004年1月27日 優(yōu)先權日2003年1月27日
發(fā)明者森敦弘 申請人:松下電器產業(yè)株式會社