專利名稱:微處理器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及微處理器,特別是涉及在內(nèi)部裝有存儲器及超高速緩沖存儲器的微處理器中,從外部訪問該存儲器,并將指令/數(shù)據(jù)登記在超高速緩存器中的總線接口。
迄今,內(nèi)部裝有存儲器的微處理器是已知的。例如,圖27是表示內(nèi)部裝有RAM的微處理器的結(jié)構(gòu)框圖。微處理器201備有CPU1、內(nèi)裝RAM29、總線59及總線接口裝置(BIU)39。內(nèi)裝RAM29例如是程序RAM(包括ROM),或是數(shù)據(jù)RAM(包括ROM)。但在內(nèi)裝RAM29中能使用SRAM,以便能用1個時鐘進行訪問。用地址指定內(nèi)裝RAM29的存儲區(qū),用指令指示對它的訪問。
也有把外部存儲器4通過總線60設(shè)在微處理器201的外部的。外部存儲器4例如使用RAM,為了控制它,往往將DRAM控制器、DMAC(DMA控制器)等安裝在微處理器201內(nèi)。
圖28是表示內(nèi)部裝有超高速緩沖存儲器(與下簡稱"超高速緩存器")的微處理器的結(jié)構(gòu)框圖。微處理器202備有CPU1、超高速緩存器28、總線59及BIU39,外部存儲器4通過總線60設(shè)在微處理器202的外部。超高速緩存器28對微處理器202使用的指令或數(shù)據(jù)從外部存儲器4進行超高速緩存。
當然,也可將內(nèi)部RAM29和超高速緩存器28兩者裝在內(nèi)部,超高速緩存器28從內(nèi)部RAM29進行緩存??墒?,內(nèi)部RAM29由ROM或SRAM構(gòu)成,用大約1個時鐘就能進行訪問,所以不需要進行超高速緩存。
SRAM的1單元面積比DRAM的大,不可能集成大容量。因此,必須將CPU核心和DRAM集成在1個芯片上,成為集成了大容量存儲器的微處理器。這時DRAM的訪問速度慢,存儲器訪問的時間成為CPU性能下降的重大原因。
不僅有微處理器內(nèi)部安裝的CPU,而且外部還有總線主控器(能通過總線訪問存儲器的控制裝置)時,如果在各總線主控器和存儲器之間個別地傳遞信號,則存在微處理器上所必要的管腳數(shù)增多的問題。
本申請的發(fā)明就是要解決這個問題,其目的在于將DRAM及超高速緩存器安裝在內(nèi)部,將大容量、低速的DRAM和小容量、高速的超高速緩存器集成在1個芯片上,發(fā)揮CPU的性能。另一個目的在于提供一種通過選擇其緩存器形態(tài)而能選擇緩存器數(shù)據(jù)種類的微處理器、及即使將用于裝在內(nèi)部的存儲器總線主控器設(shè)在外部或連接外部存儲器,不增加管腳數(shù)也能改變內(nèi)部存儲器和外部存儲器使用方法(將主程序、數(shù)據(jù)等存入哪個存儲器)的微處理器、以及內(nèi)部有多個總線主控器的微處理器。
本發(fā)明的第1方面所述的微處理器備有內(nèi)部存儲器;連接到上述存儲器上的內(nèi)部總線;通過上述內(nèi)部總線訪問上述內(nèi)部存儲器的內(nèi)部總線主控器;以及控制上述內(nèi)部總線工作的總線接口。而且外部總線主控器及外部存儲器通過外部總線連接在上述微處理器的外部。上述微處理器還備有登記上述內(nèi)部存儲器和上述外部存儲器數(shù)據(jù)的超高速緩沖存儲器。上述總線接口的特點為(a)具有與上述內(nèi)部總線寬度相等的緩沖器,(b)協(xié)調(diào)來自上述外部總線主控器對內(nèi)部存儲器的訪問請求和上述內(nèi)部總線主控器對內(nèi)部存儲器的訪問請求,(c)上述緩沖器和外部總線主控器在通過上述外部總線訪問期間,接受來自內(nèi)部總線主控器對上述內(nèi)部存儲器和上述超高速緩存器的訪問請求。
根據(jù)本發(fā)明的第2方面,在第1方面所述的微處理器中,上述外部總線主控器訪問上述內(nèi)部存儲器時和上述內(nèi)部總線主控器訪問上述外部存儲器時,使控制兩者的訪問的控制信號共用。
根據(jù)本發(fā)明的第3方面,在第1方面所述的微處理器中,當上述外部總線主控器指定的多個地址越過由上述緩沖器的容量決定的地址邊界時,存儲在上述緩沖器中的數(shù)據(jù)被暫時放出來。
本發(fā)明的第4方面所述的微處理器備有內(nèi)部存儲器;連接到上述存儲器上的內(nèi)部總線;通過上述內(nèi)部總線訪問上述內(nèi)部存儲器的第1及第2內(nèi)部總線主控器;以及控制上述內(nèi)部總線工作的總線接口。而且上述總線接口有存儲器訪問控制裝置,用來當上述第1內(nèi)部總線主控器對上述內(nèi)部存儲器的訪問請求有效時,便使上述第2內(nèi)部總線主控器對上述內(nèi)部存儲器的訪問請求無效。
本發(fā)明的第5方面所述的微處理器備有內(nèi)部存儲器;連接到上述內(nèi)部存儲器上的內(nèi)部總線;連接到上述內(nèi)部總線上的超高速緩沖存儲器;通過上述內(nèi)部總線訪問上述內(nèi)部存儲器的內(nèi)部總線主控器;以及控制上述內(nèi)部總線工作的總線接口。而且外部總線主控器及外部存儲器通過外部總線連接在上述微處理器的外部。上述微處理器還備有登記上述內(nèi)部存儲器和上述外部存儲器數(shù)據(jù)的超高速緩沖存儲器。上述總線接口根據(jù)上述內(nèi)部總線主控器對上述內(nèi)部存儲器的訪問請求及上述外部總線主控器對上述內(nèi)部存儲器的訪問請求和指定超高速緩存器方式的信息,產(chǎn)生指定上述超高速緩沖存儲器的緩存器對象的登記信號。
圖1是本發(fā)明的實施例1的框圖;圖2是指令的結(jié)構(gòu)例的模式圖;圖3是指令的處理模式圖;圖4是指令的輸送框圖;圖5是指令的輸送框圖;圖6是表示CPU1從外部存儲器4讀出數(shù)據(jù)時的通信規(guī)定的時間圖;圖7是表示CPU1將數(shù)據(jù)寫入外部存儲器4時的通信規(guī)定的時間圖;圖8是表示將數(shù)據(jù)從外部總線主控器41寫入DRAM27時的通信規(guī)定的時間圖;圖9是表示依靠外部總線主控器41的訪問結(jié)束時的時間圖;圖10是緩沖器301的結(jié)構(gòu)框圖;圖11是表示外部總線主控器41從DRAM27讀出數(shù)據(jù)時的通信規(guī)定的時間圖;圖12是當?shù)刂吩竭^地址邊界時進行工作的裝置框圖;圖13是當?shù)刂吩竭^地址邊界時表示工作的時間圖;圖14是當?shù)刂吩竭^地址邊界時表示工作的時間圖;圖15是表示微處理器101的地址空間的模式圖;圖16是表示內(nèi)部控制寄存器的地址空間的一部分的模式圖;圖17是數(shù)據(jù)MSPR、MDRR、MCCR的詳細結(jié)構(gòu)的模式圖;圖18是控制塊303的局部結(jié)構(gòu)框圖;圖19是模式地表示微處理器101的結(jié)構(gòu)的框圖;圖20是模式地表示微處理器101的結(jié)構(gòu)的框圖;圖21是模式地表示微處理器101的結(jié)構(gòu)的框圖;圖22是表示更新計時器26的連接關(guān)系的框圖23是表示外部主控器41及CPU1的讀出時間圖;圖24是微處理器102的結(jié)構(gòu)例的框圖;圖25是采用哈佛結(jié)構(gòu)的微處理器的結(jié)構(gòu)例的框圖;圖26是表示2個微處理器并存形態(tài)的框圖;圖27是表示現(xiàn)有技術(shù)的框圖;圖28是表示現(xiàn)有技術(shù)的框圖。
實施例1圖1是表示本發(fā)明的實施例1的微處理器的簡要結(jié)構(gòu)的框圖。微處理器101有DRAM27、超高速緩存器28、CPU1、指令排隊(IQ)8、選擇器7、積和運算部(MACMultiply and Accumulater)6、BIU3及PLL11。
CPU1例如是處理32位數(shù)據(jù)的RISC型的微處理器核心,指令長度為16位或32位。IQ8有例如128位×2個入口的結(jié)構(gòu),從總線ID<0127>輸入數(shù)據(jù)(包括指令),以16位或32位的形態(tài)通過總線I<031>輸送給CPU1。
圖2是表示指令結(jié)構(gòu)例的模式圖。因為不允許越過地址邊界的指令,所以指令的配置方法只有圖2所示的2種。
選擇器7從載于總線ID<0127>上的128位的數(shù)據(jù)中只選擇必要的32位數(shù)據(jù),輸送給CPU1,或?qū)腃PU1輸出的32位的數(shù)據(jù)輸出到總線ID<0127>上的適當位置。這些32位數(shù)據(jù)的傳遞是通過總線DO<031>進行的。MAC6用1個時鐘處理例如32位×16位+56位的積和運算,它跟隨著CPU1設(shè)置。
超高速緩存器28例如由SRAM構(gòu)成,采用寫回(write back)方式,即只對超高速緩存器進行寫入,當由超高速緩存器變更了的數(shù)據(jù)成為置換對象時,將其寫入主要存儲裝置的方式。有TAG部,這時保持應(yīng)該超高速緩存的數(shù)據(jù)地址的一部分(tag)(特征)和valid(臟)位(有效位)、dirty位。數(shù)據(jù)一被登記(fill)(填寫)到超高速緩存器28中,valid位便被置位,如果把新的數(shù)據(jù)存入登記了的區(qū)域中,則dirty位被置位。在超高速緩存器命中了(cache hit)的情況下,用1個時鐘就能夠把數(shù)據(jù)引出來。DRAM27有例如2M字節(jié)的容量。
選擇器7通過有128位的寫緩沖器5、還有,DRAM27、超高速緩存器28、IQ8分別連接在總線ID<0127>上。在該總線ID<0127>、和微處理器101與其外部(例如外部存儲器4、外部總線主控器41)連接的數(shù)據(jù)總線D<015>之間,設(shè)有BIU3。微處理器101還通過地址總線58、控制總線56、57,分別與外部存儲器4、外部總線主控器41連接。
BIU3控制對微處理器內(nèi)部安裝的存儲器及連接到其外部上的存儲器的訪問。為了對16位的總線D<015>和128位的總線ID<0127>進行匹配,BIU3有128位的緩沖器301。BIU3還有被設(shè)置在緩沖器301與總線ID<0127>之間的ID總線驅(qū)動器302,由控制塊303控制302的工作??刂茐K303具有向DRAM27、超高速緩存器28提供寫入/讀出指令(信號R/W)、登記指令的功能。
PLL11生成微處理器的工作時鐘脈沖。例如,生成頻率為內(nèi)部CPU等工作時4倍頻了的時鐘,并生成與外部訪問用的輸入時鐘頻率相同的時鐘。
圖3(a)~(d)是指令處理模式圖。通過流水線控制來處理指令。流水線控制由例如指令取出(IF)、指令譯碼(D)、執(zhí)行(E)、存儲器訪問(MEM)、向共用寄存器的寫回(WB)這樣5個階段構(gòu)成。
CPU1有RISC型結(jié)構(gòu),只以load/store(裝入/存儲)系統(tǒng)的指令產(chǎn)生對存儲器的操作數(shù)存取。圖3(a)示出了用load指令操作數(shù)命中超高速緩沖器,用1個周期就能輸送已存在于存儲器中數(shù)據(jù)的情況。該圖(b)示出了用多個時鐘存取已存在于存儲器中數(shù)據(jù)的情況。該圖(c)示出了不產(chǎn)生訪問存儲器的指令的情況。該圖(d)示出了執(zhí)行時需要多個時鐘的指令、例如乘法指令、除法指令的情況。
(1)指令/數(shù)據(jù)的輸送當取出的指令命中超高速緩存器28時,CPU1便用時鐘的1個周期從超高速緩存器28通過總線ID<0127>把該指令送給IQ8。
當DRAM27中有取出指令時,CPU1使用1次訪問(例如需要時鐘的5個周期),從DRAM通過總線ID<0127>把該指令輸送給IQ8。
當外部存儲器4中有取出指令時,CPU1以脈沖串輸送方式從外部存儲器4取出,依次存入BIU3的緩沖器301中。如果緩沖器301已存滿(如果存儲了128位的指令),便將128位的指令輸送給IQ8。當該指令被超高速緩存器時,還同時將其輸送給超高速緩存器28。
圖4是表示IQ8例如有2個入口×128位的容量時指令輸送情況的框圖。表示指令從DRAM27(或超高速緩存器28)及從有128位容量的緩沖器301輸送的情況。
圖5是表示CPU1立刻需要指令時(IQ8呈空狀態(tài)時),從外部存儲器4輸送指令的情況的框圖。BIU3所具有的控制塊303從CPU1輸入表示取出指令請求的信號IFetch,該信號若被認定,便對外部存儲器4認定總線起動信號BS(總線起動信號BS由例如圖1所示的控制總線56傳遞)。此后,指令通過總線D<015>被輸送給BIU3所具有的緩沖器301。如果從IQ8傳遞給控制塊303的、表示IQ8呈空狀態(tài)的信號IQempty被認定,則驅(qū)動信號及驅(qū)動大小信號便被從控制塊303提供給ID總線驅(qū)動器302。
驅(qū)動尺寸信號由16位構(gòu)成,存儲在緩沖器301中的128位的數(shù)據(jù)被作為16個8位的數(shù)據(jù)管理,以8位為單位指定必要的信息。然后根據(jù)驅(qū)動信號,該指定的信息被輸送給總線ID<0127>。例如驅(qū)動尺寸信號的2位被活化,8×2=16位通過總線ID<0127>被輸送給IQ8。如果CPUI再請求取出指令,則再將16位輸送給IQ8。其后,如果CPUI不立刻需要指令(信號IQempty被取消),則從外部存儲器4以脈沖串方式輸送來的數(shù)據(jù)充滿緩沖器301,然后輸送給IQ8。在控制塊303中還通過控制總線56從外部存儲器4接受數(shù)據(jù)輸送結(jié)束信號DC。
當然,也可以不檢查IQ8是否為空狀態(tài),經(jīng)常首先只輸送開始的指令,如果緩沖器301已滿,便將128位輸送并寫入超高速緩存器28。
回到圖1,CPU1讀取數(shù)據(jù)時,如果數(shù)據(jù)存在于DRAM27或超高速緩存器28中,則包含必要數(shù)據(jù)的128位通過總線ID<0127>被輸送給選擇器7。由選擇器7將必要的32位數(shù)據(jù)送給CPU1。如果必要的數(shù)據(jù)在外部存儲器4中時,32位的數(shù)據(jù)便被存入緩沖器301中,它被通過總線ID<0127>輸送給CPU1。
數(shù)據(jù)的尺寸有8位/16位/32位共3種,從外部存儲器讀出時,若為32位,則必須進行2次外部訪問,若為8位/16位時,通過1次訪問就能從緩沖器301通過總線ID<0127>輸送給CPU1。
當CPU1將32位的數(shù)據(jù)寫入存儲器(DRAM27或超高速緩存器28)中時,選擇器7將該數(shù)據(jù)輸出到對應(yīng)的總線ID<0127>的對應(yīng)位置上。這時,在把應(yīng)該寫入的數(shù)據(jù)存儲到寫入緩沖器5內(nèi)之后,也能夠輸送。就是說,當總線ID<0127>呈空狀態(tài)時,便從寫入緩沖器5輸送數(shù)據(jù)。若輸出給外部存儲器4時,便被暫時鎖存在緩沖器301中,16位16位地輸出給總線ID<0127>。
(2)從外部總線主控器訪問微處理器內(nèi)部的DRAM。
微處理器101內(nèi)部的DRAM27不僅可以從CPU1、也可以從外部總線主控器,與微處理器101的指令無關(guān)地直接訪問??偩€主控器有權(quán)通過總線訪問存儲器,例如可以舉出DMAC(直接存儲器存取控制器)、處理器、存儲控制器等。
如圖1所示,外部總線主控器41通過數(shù)據(jù)總線D<015>、地址總線58及控制總線57,與微處理器101連接。外部總線主控器41向微處理器101輸出訪問請求信號,一旦被接受,便可直接訪問DRAM27。以下說明CPU1及外部總線主控器41訪問DRAM27和外部存儲器4時各訪問的通信規(guī)定。
(2-a)CPU1訪問DRAM27時以下是以往所執(zhí)行的通信規(guī)定,首先,①輸出來自CPU1的訪問請求,②BIU3對此發(fā)出允許,③在BIU3的控制下,利用ID<0127>總線將DRAM27中的數(shù)據(jù)輸送給CPU1。
(2-b)CPU1從外部存儲器4讀出數(shù)據(jù)時圖6是表示CPU1從外部存儲器4讀出數(shù)據(jù)時的通信規(guī)定的時間圖。時鐘表示輸入時鐘。首先,①從CPU1向BIU3輸出訪問請求,②從BIU3向CPU1輸出訪問允許。然后,③認定通過控制總線56從BIU3送給外部存儲器4的總線起動信號BS,讀寫信號R/W請求外部存儲器4進行讀出工作,確定字節(jié)控制信號BC[將傳遞給總線D<015>、ID<0127>的16位作為2個8位(=1字節(jié))的信號管理,指定其中的一者或兩者的信號]的值。另外,通過地址總線58從微處理器101輸出地址A1、A2、A3。字節(jié)控制信號BC對應(yīng)于地址A1、A2、A3變化,即可。
接受了來自微處理器101的訪問請求后,④外部存儲器4將與地址A1、A2、A3對應(yīng)的讀出數(shù)據(jù)D1、D2、D3傳遞給總線D<015>,每次認定數(shù)據(jù)輸送結(jié)束信號DC。然后,⑤數(shù)據(jù)D1、D2、D3通過總線ID<0127>被輸送給CPU1。
(2-c)CPU1將數(shù)據(jù)寫入外部存儲器4時圖7是表示CPU1將數(shù)據(jù)寫入外部存儲器4時的通信規(guī)定的時間圖。程序①、②與(2-b)相同。然后,③應(yīng)寫入的數(shù)據(jù)(寫入數(shù)據(jù))從CPU1通過總線ID<0127>被輸送給BIU3。再后,④認定總線起動信號BS,讀寫信號R/W請求對外部存儲器4進行寫入工作,確定字節(jié)控制信號BC的值。地址A1、A2、A3通過地址總線58,而與這些地址對應(yīng)的寫入數(shù)據(jù)D1、D2、D3通過總線D<015>,被分別從微處理器101輸出。
接受來自微處理器101的訪問請求后,⑤數(shù)據(jù)D1、D2、D3被寫入外部存儲器4,每次認定數(shù)據(jù)輸送結(jié)束信號DC。
(2-d)將數(shù)據(jù)從外部總線主控器41寫入DRAM27時圖8是表示將數(shù)據(jù)從外部總線主控器41寫入DRAM27時的通信規(guī)定的時間圖。首先,①認定表示來自外部總線主控器41的請求接受停機請求(Halt Request)的信號HREQ。與此對應(yīng),從微處理器101認定允許接受的HREQ確認(Acknowledge)信號HACK。然后,從外部總線主控器41認定芯片選擇信號CS。這些信號通過控制總線57在微處理器101與外部總線主控器41之間傳遞。
其次,②從外部總線主控器41傳遞給微處理器101的讀寫信號R/W請求對DRAM27進行寫入工作,地址A1、A2、A3及與它們對應(yīng)的寫入數(shù)據(jù)D1、D2、D3被傳遞給微處理器101。然后,③從微處理器101認定數(shù)據(jù)輸送結(jié)束信號DC。
圖9是表示依靠外部總線主控器41的訪問結(jié)束時的時間圖。④取消芯片選擇信號CS、停機請求信號HREQ,⑤微處理器101的接受也結(jié)束(取消HREQ Ack信號HACK)。
圖10是緩沖器301的結(jié)構(gòu)框圖。緩沖器301有128位的容量,另一方面,數(shù)據(jù)總線D<015>有16位的位長度。因此,緩沖器301有容量為16位的8個鎖存器301a~301h、以及分別與它們對應(yīng)的選擇器301p~301w,根據(jù)外部總線主控器41提供的地址值,將載于總線D<015>上的數(shù)據(jù)存入鎖存器301a~301h。
例如,對一個地址指定的數(shù)據(jù)的長度為8位,一個鎖存器中能存儲2個地址的數(shù)據(jù)。即與一對相鄰的地址對應(yīng)的數(shù)據(jù)被存入同一個鎖存器中。為了實現(xiàn)這樣的工作,緩沖器301還有選擇控制部301x,它根據(jù)地址的低位的4位中除去最低的1位后的3位的值,將各選擇控制信號B0~B7分別提供給選擇器301p~301w。選擇控制信號B0~B7擇一地被活化,將載于總線D<015>上的8位數(shù)據(jù)存入鎖存器301a~301h中的某一個。
(2-e)外部總線主控器41從CRAM27讀出數(shù)據(jù)時圖11是表示外部總線主控器41從DRAM27讀出數(shù)據(jù)時的通信規(guī)定的時間圖。程序①與(2-d)相同。然后,②從外部總線主控器41傳遞給微處理器101的讀寫信號R/W請求對CRAM27進行讀出工作,地址A1、A2、A3被傳遞給微處理器101。然后,③讀出與這些地址對應(yīng)的數(shù)據(jù)D1、D2、D3,從微處理器101輸出這些數(shù)據(jù),認定數(shù)據(jù)輸送結(jié)束信號DC。程序④、⑤也與(2-d)相同。
外部總線主控器41和緩沖器301通過總線D<015>進行讀/寫時,BIU3接受對CPU1的超高速緩存器28、DRAM27的訪問。外部總線主控器41從DRAM27讀出時,DRAM27中的數(shù)據(jù)或超高速緩存器命中時超高速緩存器28的數(shù)據(jù)被輸送給緩沖器301。緩沖器301為128位,總線D<015>為16位,當外部總線主控器41的請求是讀出緩沖器301中的幾個數(shù)據(jù)時,不使用總線ID<0127>。因此,例如CPU1從DRAM27取出了指令時,BIU3接受該請求,從DRAM27(超高速緩存器命中時,從超高速緩存器28)通過總線ID<0127>輸送指令。
外部總線主控器41對DRAM27進行寫入時也同樣,將數(shù)據(jù)存入緩沖器301時使用總線ID<0127>,能進行CPU1、DRAM27、超高速緩存器28之間的數(shù)據(jù)/指令的輸送。圖23是表示來自外部主控器41的讀出及CPU1的讀出訪問請求的形態(tài)的時間圖。由外部總線主控器41指定的地址A1、A2、A3不越過地址邊界〔是各地址存在于規(guī)定的范圍內(nèi)的情況,將在(2-f)中詳述〕,一次讀出與這些地址對應(yīng)的數(shù)據(jù)D1、D2、D3(DRAM(超高速緩存器)訪問請求的左端的認定),載于總線ID<0127>上,然后,存入緩沖器301。
此后,由于未使用總線ID<0127>,與來自CPU的訪問請求不同,認定DRAM訪問請求(位于正中的認定),讀出與該請求對應(yīng)的數(shù)據(jù)D_CPU,載于總線ID<0127>。另一方面,從緩沖器301向外部總線主控器41輸送數(shù)據(jù)D1、D2、D3。
然后,與地址A1、A2、A3不同,認定有關(guān)越過了邊界的地址A5的DRAM(超高速緩存器)訪問請求(位于右端的認定),讀出與該地址對應(yīng)的數(shù)據(jù)D5,載于總線ID<0127>上,存入緩沖器301。
由后文所述的圖22所示的外部訪問控制電路303g接受地址比較結(jié)果、訪問種類檢測結(jié)果及更新請求,并生成外部訪問請求及內(nèi)部總線未使用信號。該內(nèi)部總線未使用信號表示外部總線訪問時不使用內(nèi)部總線的狀態(tài)、或外部總線主控器41的訪問地址不越過地址邊界的訪問的處理中,未使用內(nèi)部總線。在認定該信號期間,接受CPU1的訪問請求,訪問DRAM27、超高速緩存器28。
(2-f)外部總線主控器41提供的地址越過地址邊界時從外部總線主控器寫入DRAM27用圖10說明過,與低位的4位連續(xù)的地址對應(yīng)的16個8位長的數(shù)據(jù)被存入緩沖器301??墒牵缂俣ǖ刂烽L度為24位時,如果高位的20位相同時,雖然可將這些16個×8位=128位的數(shù)據(jù)一并輸送給DRAM27,但地址的高位20位不同時,如果將它們一并輸送,數(shù)據(jù)就會被提供給錯誤的地址,必須避免。就是說,外部總線主控器41的地址值如果越過16位的邊界(換算成數(shù)據(jù)的話,為16×8=128位的邊界在本說明書中簡稱"地址邊界")時,必須將至此存入緩沖器301中的數(shù)據(jù)暫時放出。
圖12是用于進行這種工作用的裝置的框圖,微處理器101還備有地址緩沖器51和地址比較器52。地址緩沖器51從地址總線58接受24位長的地址的高位20位,經(jīng)常輸出當前地址的前一個地址的高位20位。地址比較器52將地址緩沖器51的輸出同當前地址的高位20位進行比較。
兩者如果一致,則外部總線主控器41的地址值不越過16位的地址邊界,所以繼續(xù)對緩沖器301進行數(shù)據(jù)存儲。可是,當不一致時,控制緩沖器301,以便通過總線ID<0127>將當前存儲的數(shù)據(jù)輸送給DRAM27。這時,控制塊303將讀寫信號R/W提供給DRAM27,以便DRAM27進行寫入工作。
圖l3是表示上述工作的時間圖。設(shè)想地址A1~A4的高位20位是一樣的,地址A5的高位20位與它們不同的情況。緩沖器301存儲了與地址A1~A4對應(yīng)的數(shù)據(jù)D1~D4,但在提供給地址A5的時刻(越過地址邊界的時刻)這些數(shù)據(jù)D1~D4被一并提供給總線ID<0127>。在認定芯片選擇信號CS期間,認定信號HREQ、HACK。
此后,認定對DRAM27的訪問請求,這些數(shù)據(jù)被寫入DRAM27,取消從控制塊303提供給外部總線主控器41的數(shù)據(jù)輸送結(jié)束信號DC(時刻t4~t5)。
然后,與地址A5對應(yīng)的數(shù)據(jù)D5被存入緩沖器301,在來自外部總線主控器41的訪問請求結(jié)束的時刻(取消芯片選擇信號CS),緩沖器301中存儲的數(shù)據(jù)A5通過總線ID<0127>被輸送給DRAM27(認定數(shù)據(jù)輸送結(jié)束信號DC,此后,取消對DRAM27的訪問請求時刻t5~t6)。
(2-g)外部總線主控器41提供的地址越過地址邊界時,外部總線主控器41從DRAM27的讀出圖14是表示外部總線主控器41從DRAM27讀出數(shù)據(jù)時,該地址的高位20位發(fā)生了變化時(越過地址邊界時)的工作時間圖。發(fā)出外部總線主控器41的讀出請求(認定芯片選擇信號CS)后,控制塊303將讀寫信號R/W提供給DRAM27,以便DRAM27進行讀出工作。
認定對DRAM27的訪問請求,任何一個分別與24位地址A1、A2、A3對應(yīng)的、高位20位相等的數(shù)據(jù)D1、D2、D3被提供給總線ID<0127>(時刻t0~時刻t1)。但由于地址A5的高位20位與地址A1、A2、A3不同,所以在時刻t1還不載于總線ID<0127>。仍在認定數(shù)據(jù)輸送結(jié)束信號DC后的狀態(tài)下,數(shù)據(jù)D1、D2、D3通過緩沖器301被輸送到外部。暫時取消對DRAM27的訪問請求(時刻t1)。
地址A5被輸送給外部總線主控器41時,由于越過了地址邊界,所以暫時取消數(shù)據(jù)輸送結(jié)束信號DC,再次認定對DRAM27的訪問請求(時刻t2)。然后,與地址A5對應(yīng)的數(shù)據(jù)D5被從DRAM27提供給總線ID<0127>,它被存入緩沖器301。另一方面,如果數(shù)據(jù)D5被送到外部,則訪問請求結(jié)束(取消芯片選擇信號CS。時刻t3)大體上說,最大128位的數(shù)據(jù)被從DRAM27讀出后存入緩沖器301(例如上述數(shù)據(jù)D1、D2、D3)。根據(jù)從外部總線主控器41請求的地址值,輸出對應(yīng)的16位(一個鎖存器存儲的2個地址)的數(shù)據(jù)。當從外部總線主控器41請求的地址越過了地址邊界時,新的數(shù)據(jù)(例如,上述數(shù)據(jù)D5)被從DRAM27輸送給緩沖器301,16位16位地輸出給外部總線主控器。
如上所述,如果采用與本實施例有關(guān)的微處理器,則不僅本身的CPU1而且還能由外部總線主控器41訪問內(nèi)部安裝的DRAM27,另外,還能由CPU1訪問外部存儲器4。而且,由于能共用讀寫信號R/W和字節(jié)控制信號BC,所以不需要增多必要的管腳數(shù)。
另外,即使內(nèi)部的數(shù)據(jù)總線ID<0127>與外部的數(shù)據(jù)總線D<015>的位長度不同,也能通過控制緩沖器301將數(shù)據(jù)輸送到內(nèi)部。
另外,即使地址越過了規(guī)定的地址邊界,也能避免進行錯誤的數(shù)據(jù)輸送。
實施例2在實施例2中說明各種方式的變更方法。圖15是表示微處理器101的地址空間的模式圖。邏輯地址用16進制的32位的數(shù)(32/log216=8位)表示。在作為用戶空間的邏輯空間地址00000000~80000000(SID=0)中,分配出地址00000000~001FFFFF作為微處理器101內(nèi)部安裝的DRAM27的物理空間。另外,分配出地址00200000~00FFFFFF作為外部存儲器4用的空間。因此,對于這2個存儲器的地址空間,能用在(2)中說明過的24位的地址(邏輯地址的低位6位)來指定。
另外,還分別分配地址FF00000~FF7FFFFF作為用戶用的I/O空間,分配地址FF800000~FFBFFFFF作為ICE(In Circuit Emulator)用的空間,而且,在地址FFC00000~FFFFFFFF中分配內(nèi)部安裝的控制寄存器用的物理空間。這些分配都在I/O空間(SID=1)中進行。
圖16是表示內(nèi)部安裝的控制寄存器的地址空間的一部分的模式圖。在地址FFFFFFF4、FFFFFFF8、FFFFFFFC中,分別存儲著超高速緩存器清除控制、DRAM更新控制、存儲器控制用的數(shù)據(jù)MSPR、MDRR、MCCR(各1字節(jié))。
圖17是表示數(shù)據(jù)MSPR、MDRR、MCCR的詳細結(jié)構(gòu)的模式圖。在數(shù)據(jù)MSPR的第7位上存儲著表示是否進行清除控制的1位的值,在數(shù)據(jù)MDRR的第7位上存儲著表示是否進行更新控制的1位的值,在數(shù)據(jù)MCCR的第6位及第7位上存儲著表示超高速緩存器方式的種類的2位的值。
在以下的實施例中,說明根據(jù)這些數(shù)據(jù)MSPR、MDRR、MCCR進行的控制。
(3)超高速緩存器方式的變更通過根據(jù)上述數(shù)據(jù)MCCR進行控制,微處理器101根據(jù)超高速緩存器數(shù)據(jù)的種類,能切換超高速緩存器方式。例如,作為超高速緩存器方式可以考慮以下方式。
i)超高速緩存器切斷方式;是不進行超高速緩存器的方式。
ii)全部存儲器共用超高速緩存器方式;是超高速緩存CPU1訪問外部存儲器4、DRAM27的指令/數(shù)據(jù)及外部總線主控器41對DRAM27進行讀/寫的數(shù)據(jù)的方式。
iii)共用超高速緩存器方式;是超高速緩存,不管是外部存儲器4、還是DRAM27的,CPU1訪問的指令/數(shù)據(jù)的方式。
iV)指令超高速緩存器方式;是超高速緩存,不管是外部存儲器4、還是DRAM27的,CPU1訪問的指令的方式。
V)數(shù)據(jù)超高速緩存器方式;是超高速緩存,不管是外部存儲器4、還是DRAM27的CPU1訪問的數(shù)據(jù)的方式。
Vi)內(nèi)部共用超高速緩存器方式;是超高速緩存在DRAM27中CPU1訪問的指令/數(shù)據(jù)的方式。
Vii)內(nèi)部指令超高速緩存器方式;是超高速緩存在DRAM27中CPU1訪問的指令的方式。
Viii)內(nèi)部數(shù)據(jù)超高速緩存器方式;是超高速緩存在DRAM27中CPU1訪問的數(shù)據(jù)的方式。
iX)外部共用超高速緩存器方式;是超高速緩存在外部存儲器4中CPU1訪問的指令/數(shù)據(jù)的方式。
X)外部指令超高速緩存器方式;是超高速緩存在外部存儲器4中CPU1訪問的指令的方式。
Xi)外部數(shù)據(jù)超高速緩存器方式;是超高速緩存在外部存儲器4中CPU1訪問的數(shù)據(jù)的方式。
Xii)外部存儲器超高速緩存器方式;是超高速緩存在外部存儲器4中CPU1訪問的指令/數(shù)據(jù)及外部總線主控器41寫入DRAM27中的數(shù)據(jù)的方式。
Xiii)內(nèi)部存儲器超高速緩存器方式;是超高速緩存在DRAM27中CPU1訪問的指令/數(shù)據(jù)及外部總線主控器41從DRAM27中讀出的數(shù)據(jù)的方式。
XiV)外部總線主控器超高速緩存器方式;是超高速緩存器外部總線主控器41對DRAN27進行讀/寫的數(shù)據(jù)的方式。
通過參照數(shù)據(jù)MCCR的第6及第7位中存儲的2位的值,可以從這些超高速緩存器方式中選擇i)非超高速緩存器切斷方式,Vi)內(nèi)部共用超高速緩存器方式,X)外部指令超高速緩存器方式,及iV)指令超高速緩存器方式這4種。
圖18是表示控制塊303的結(jié)構(gòu)的一部分的框圖。由于DRAM27和外部存儲器4劃分為用圖15表示的地址空間,所以能利用地址譯碼器303b判斷兩者中的哪一個成為訪問對象。該判斷結(jié)果被提供給訪問種類檢測電路303d。另外,訪問主體判斷部303c判斷訪問的主體是CPU1還是外部總線主控器41,將其判斷結(jié)果提供給訪問種類檢測電路303d。
訪問種類檢測電路303d根據(jù)地址譯碼器303b的判斷結(jié)果及訪問主體判斷部303c的判斷結(jié)果,將載于總線ID<0127>上的信號中哪一個是請求指令或哪一個是數(shù)據(jù)等的信息C3提供給超高速緩存器訪問控制電路303e。
另一方面,超高速緩存器方式譯碼電路303a根據(jù)數(shù)據(jù)MCCR的低位2位的值,將有關(guān)請求什么樣的超高速緩存器方式的信息C1提供給超高速緩存器訪問控制電路303e。超高速緩存器訪問控制電路303e根據(jù)信息C1、C3,把控制對DRAM27的數(shù)據(jù)進行超高速緩存器〔Vi)內(nèi)部共用超高速緩存器方式〕,或?qū)ν獠看鎯ζ?的指令進行超高速緩存器[X)外部指令超高速緩存器方式〕,或?qū)Σ还苁峭獠看鎯ζ?還是DRAM27的CPU1訪問的指令進行超高速緩存 [iV)指令超高速緩存器方式〕,或完全不進行超高速緩存〔i)超高速緩存器切斷方式〕的登記信號C2提供給超高速緩存器28。
圖19至圖21分別是模式地表示采用Vi)內(nèi)部共用超高速緩存器方式、X)外部指令超高速緩存器方式、iV)指令超高速緩存器方式時的微處理器101的結(jié)構(gòu)框圖。超高速緩存器28在圖19中模式地采取位于DRAM27與總線ID<0127>之間的形態(tài),在圖20中模式地采取位于BIU3與總線ID<0127>之間的形態(tài),在圖21中模式地采取位于CPU1與DRAM27及BIU3之間的形態(tài)。
雖然數(shù)據(jù)總線D<015>、控制總線56、57以及地址總線58是一并描述的,但是上述那樣的各個信號HREQ、HACK、地址、數(shù)據(jù)(還包括指令)、其它信號BC、R/W、以及CS等控制信號通過這些總線進行傳遞。
(3-a)關(guān)于Vi)內(nèi)部共用超高速緩存器方式是超高速緩存CPU1對DRAM27訪問的指令/數(shù)據(jù)的方式,在將程序存入DRAM27中時使用(圖19)。
當取出的指令位于DRAM27中時,CPU1在BIU3的控制下首先檢查超高速緩存器是否命中。命中時,該指令從超高速緩存器28輸出給總線ID<0127>,并輸送給IQ8(在圖19中,是作為包含在CPU1中表示的)。
超高速緩存器失誤時,則從DRAM27輸送給超高速緩存器28及CPU1。例如超高速緩存器28具有256(=28)個入口×128位=4K字節(jié)的容量。24位的地址IAD<731>內(nèi)的8位IAD<2027>成為入口地址。地址IAD<731>內(nèi)的13位IAD<719>作為特征登記下來。從DRAM27讀出的128位的數(shù)據(jù)被寫入超高速緩存器28中。這時,IAD<2027>表示的入口的有效位被置位。
CPU1讀DRAM27中的數(shù)據(jù)時,與取出指令時一樣,檢查超高速緩存器的命中,命中時從超高速緩存器28讀出,失誤時從DRAM27讀出。
CPU1將數(shù)據(jù)寫入DRAM27中時,檢查超高速緩存器是否命中。命中時,將寫入數(shù)據(jù)寫入超高速緩存器28對應(yīng)的入口128位的一部分中,該入口的“臟”位被置位。“臟”位被置位的數(shù)據(jù)在登記下一個超高速緩存器數(shù)據(jù)時被寫返到該入口中(寫回)。失誤時,寫入數(shù)據(jù)被寫入DRAM27。
也可以用圖17所示的信號MSPR的第7位的清除(purge)指令寫返到DRAM27中,以代替寫回。
(3-b)X)外部指令超高速緩存器方式位于外部存儲器4內(nèi)的指令被超高速緩存到超高速緩存器28中。
例如設(shè)置指令ROM作為外部存儲器4、將數(shù)據(jù)置于DRAM27中時采用(圖20)。
CPU1對外部存儲器4取出指令時,檢查超高速緩存器的命中,命中時從超高速緩存器28取出,失誤時從外部存儲器4取出。為了將從外部存儲器4取出的指令登記在超高速緩存器28中,通過脈沖串輸送,傳遞給微處理器101,將128位保存在BIU3中,再輸送給超高速緩存器28。
(3-c)iV)指令超高速緩存器方式是超高速緩存CPU1取出的指令的方式,當將指令置于DRAM27及外部存儲器4中時采用(圖21)。CPU1請求取出的指令檢查超高速緩存器是否命中,命中時從超高速緩存器28取出,失誤時從DRAM27或從外部存儲器4取出。從外部存儲器4取出指令與(3-b)相同,從DRAM27取出指令,以1次讀出,128位被登記在超高速緩存器28中。
在各超高速緩存器方式中,也可以用地址指定非超高速緩存器的區(qū)域,以便超高速緩存器28不超高速緩存器DRAM27及外部存儲器4中不應(yīng)該進行超高速緩存器的區(qū)域(例如,即使進行超高速緩存器,寫回反而變得頻繁,存儲處理速度惡化的數(shù)據(jù)的區(qū)域)。當然,這樣的區(qū)域被訪問后,通過認定通常微處理器中設(shè)定的可非超高速緩存器管腳,也能避免超高速緩存器。
如上所述,如果采用與本實施例有關(guān)的微處理器,將DRAM27及超高速緩存器28設(shè)在內(nèi)部,可以選擇其超高速緩存的形態(tài)。
實施例3(4)更新在微處理器101中還可以附加更新控制用的更新計時器26。圖22表示控制塊303的結(jié)構(gòu)與將更新請求提供給它的更新計時器26的關(guān)系。在圖22中,控制塊303與圖18所示的結(jié)構(gòu)不同,它還有DRAM訪問控制電路303f、外部訪問控制電路303g,更新計時器26直接將更新請求提供給DRAM訪問控制電路303f。
圖24是微處理器102的結(jié)構(gòu)例框圖,該微處理器102備有包含更新計時器26和控制塊303的BIU3。更新計時器26每隔規(guī)定的期間,便請求DRAM27進行更新,更新計時器26獨立于CPU1和外部總線主控器41,成為對DRAM7的總線主控器。即CPU1起第1內(nèi)部總線主控器的作用,更新計時器26起第2總線主控器的作用。這樣的更新請求是根據(jù)數(shù)據(jù)MDRR中的第7位的值進行的。
圖24表示DRAM27在被更新的狀態(tài)下的訪問形態(tài)。即DRAM27正在更新中,其它總線主控器例如CPU1和外部總線主控器41不能訪問DRAM27。可是由于總線ID<0127>并未被占用,所以可從CPU1訪問超高速緩存器28和訪問外部存儲器4。另外,外部總線主控器41訪問DRAM27的處理在超高速緩存器28命中后也能進行。
回過來說明圖22,當來自更新計時器26的更新請求被取消時,DRAM訪問控制電路303f根據(jù)信息C3,將DRAM訪問請求提供給DRAM27??墒钦J定更新請求時,DRAM訪問請求無效,認定提供給DRAM27的更新信號,更新DRAM27。這樣一來,在DRAM27更新過程中,禁止其它總線主控器訪問DRAM27。
超高速緩存器訪問控制電路303e、外部訪問控制電路303g也根據(jù)信息C3,分別將超高速緩存器登記信號提供給超高速緩存器28,將外部訪問請求傳遞給外部存儲器4、外部總線主控器41。在認定更新信號時,利用這些信號禁止從DRAM27向超高速緩存器28進行超高速緩存器,也禁止從外部總線主控器41訪問DRAM27。即在更新過程中只接受不伴隨訪問DRAM27的訪問請求。
如上所述,如果采用與本實施例有關(guān)的微處理器,則即使內(nèi)部存在多個總線主控器(例如CPU1和更新計時器26),也能控制微處理器的工作。
(5)清除當數(shù)據(jù)MCPR的第7位的值指定進行清除控制時,如果超高速緩存器是寫回方式時,則在超高速緩存器中“臟”位被置位的數(shù)據(jù)被寫返DRAM27。然后解除有效位的置位。這時,由于從超高速緩存器28向DRAM27或從超高速緩存器28向外部存儲器4輸送數(shù)據(jù)而占用總線ID<0127>,故總線主控器不能訪問DRAM27和外部存儲器4。
如果超高速緩存器是寫通過方式,則更新的數(shù)據(jù)也被自入DRAM27和外部存儲器4中,如果進行清除控制,便解除對超高速緩存器28的入口的有效位的置位。
其它變形(6)分開的超高速緩存器圖25是表示本發(fā)明中采用所謂哈佛結(jié)構(gòu)時的結(jié)構(gòu)例的框圖。在微處理器103中能使超高速緩沖存儲器分開成為都是2KB的、指令超高速緩存器28b和數(shù)據(jù)超高速緩存器28a的結(jié)構(gòu)。指令超高速緩存器28b通過只載置指令的指令總線II<0127>、而數(shù)據(jù)超高速緩存器28a則通過只載置指令以外的數(shù)據(jù)的數(shù)據(jù)總線ID<0127>,分別與DRAM27、CPU1、BIU3連接。
超高速緩存器方式可以對超高速緩存器28a、28b設(shè)定將DRAM27、外部總線主控器41中的哪一個作為超高速緩存的對象。
(7)多個微處理器并存圖26是表示2個微處理器101a、101b(任何一個都可以采用與微處理器101相同的結(jié)構(gòu))通過地址總線58、數(shù)據(jù)總線D<015>與同一個外部總線主控器41、外部存儲器4連接的形態(tài)的框圖。第1微處理器101a、第2微處理器101b各自使用存在于內(nèi)部安裝的DRAM27中的指令/數(shù)據(jù),進行程序處理。
停機請求信號HREQ1、芯片選擇信號CS1從外部總線主控器41被提供給第1微處理器101a。另外,從第1微處理器101a將允許接受的HREQ確認信號HACK1提供給外部總線主控器41。通過這些信號的互相往來,由外部總線主控器41對第1微處理器101a所具有的DRAM27進行寫入、讀出。同樣,根據(jù)停機請求信號HREQ2、芯片選擇信號CS2、HREQ確認信號HACK2的互相往來,由外部總線主控器41對第2微處理器101b所具有的DRAM27進行寫入、讀出。
將第1及第2微處理器101a、101b共用的數(shù)據(jù)存入外部存儲器4中,根據(jù)第1、第2微處理器101a、101b的訪問請求,也能讀出其內(nèi)容。這時,將主/從信號MS1、MS2提供給各第1、第2微處理器101a、101b,以便兩個微處理器101a、101b不競爭訪問,通過不相容地認定這些信號,就能具有確定一個微處理器為主,另一個為從的功能。這時,成為主/從的微處理器有分別能與不能訪問外部存儲器4的區(qū)別。
當然,主/從信號MS1、MS2的認定/取消是可以互相切換的。但應(yīng)在現(xiàn)正執(zhí)行中的總線操作結(jié)束后才能進行切換。
微處理器101a、101b能將數(shù)據(jù)分別存入各自內(nèi)部安裝的DRAM27中。
用圖14已說明過,在各微處理器101a、101b的地址空間中,DRAM27被分配在地址00000000~001FFFFF,必須對這些物理地址加以區(qū)別。
例如,可將32位的地址空間(對一個地址存儲1字節(jié)的數(shù)據(jù),有4G字節(jié)的容量)中的地址00000000~001FFFFF分配給第1微處理器101a的內(nèi)部DRAM27,將地址01000000~011FFFFF分配給第2微處理器101b的內(nèi)部DRAM27。它們都被分配在邏輯空間內(nèi)的用戶空間(SID-0)中。通過如上分配地址空間,2個微處理器101a/101b能各利用24位的地址并行地對各自的內(nèi)部DRAM27進行不同的處理。
如上所述,如果采用本發(fā)明,則由于具有多種超高速緩存器方式,所以用一個芯片就能適應(yīng)各種用途,能降低成本。另外,由于減少了管腳婁,從而降低了成本。通過控制向CPU進行的脈沖串的輸送,能提高比內(nèi)部數(shù)據(jù)總線的位長度短的外部數(shù)據(jù)總線的性能。
如果采用本發(fā)明的第1方面所述的微處理器,則不僅第1內(nèi)部總線主控器,而且外部總線主控器也能對上述存儲器進行數(shù)據(jù)的讀、寫。
如果采用本發(fā)明的第2方面所述的微處理器,則由于控制信號共用,所以不增加微處理器所必要的管腳數(shù),就能做到不僅第1內(nèi)部總線主控器、而且外部總線主控器也能對內(nèi)部存儲器進行訪問,還能由第1內(nèi)部總線主控器訪問外部存儲器。
如果采用本發(fā)明的第3方面所述的微處理器,則即使地址越過了規(guī)定的地址邊界,也能避免輸送錯誤的數(shù)據(jù)。
如果采用本發(fā)明的第4方面所述的微處理器,則即使裝有多個內(nèi)部總線主控器,也能控制微處理器的工作。
如果采用本發(fā)明的第5方面所述的微處理器,則能選擇指令超高速緩存器方式或內(nèi)部共用超高速緩存器方式等多種超高速緩存器方式進行超高速緩存,或不進行超高速緩存。
權(quán)利要求
1.一種微處理器,它備有內(nèi)部存儲器;連接到上述存儲器上的內(nèi)部總線;通過上述內(nèi)部總線訪問上述內(nèi)部存儲器的內(nèi)部總線主控器;以及控制上述內(nèi)部總線工作的總線接口,該微處理器的特征在于外部總線主控器及外部存儲器通過外部總線連接在上述微處理器的外部,上述微處理器還備有登記上述內(nèi)部存儲器和上述外部存儲器的數(shù)據(jù)的超高速緩沖存儲器,上述總線接口的特點為(a)具有與上述內(nèi)部總線寬度相等的緩沖器,(b)協(xié)調(diào)來自上述外部總線主控器對內(nèi)部存儲器的訪問請求和上述內(nèi)部總線主控器對內(nèi)部存儲器的訪問請求,(c)上述緩沖器和外部總線主控器在通過上述外部總線訪問期間,接受來自內(nèi)部總線主控器對上述內(nèi)部存儲器和上述超高速緩存器的訪問請求。
2.根據(jù)權(quán)利要求1所述的微處理器,其特征在于上述外部總線主控器訪問上述內(nèi)部存儲器時和上述內(nèi)部總線主控器訪問上述外部存儲器時,使控制兩者的訪問的控制信號共用。
3.根據(jù)權(quán)利要求1所述的微處理器,其特征在于當上述外部總線主控器指定的多個地址越過由上述緩沖器的容量決定的地址邊界時,存儲在上述緩沖器中的數(shù)據(jù)被暫時放出來。
4.一種微處理器,其特征在于備有內(nèi)部存儲器;連接到上述存儲器上的內(nèi)部總線;通過上述內(nèi)部總線訪問上述內(nèi)部存儲器的第1及第2內(nèi)部總線主控器;以及控制上述內(nèi)部總線工作的總線接口,上述總線接口有存儲器訪問控制裝置,用來當上述第1內(nèi)部總線主控器對上述內(nèi)部存儲器的訪問請求有效時,便使上述第2內(nèi)部總線主控器對上述內(nèi)部存儲器的訪問請求無效。
5.一種微處理器,它備有內(nèi)部存儲器;連接到上述內(nèi)部存儲器上的內(nèi)部總線;連接到上述內(nèi)部總線上的超高速緩沖存儲器;通過上述內(nèi)部總線訪問上述內(nèi)部存儲器的內(nèi)部總線主控器;以及控制上述內(nèi)部總線工作的總線接口,該微處理器的特征在于外部總線主控器及外部存儲器通過外部總線連接在上述微處理器的外部,上述微處理器還備有登記上述內(nèi)部存儲器和上述外部存儲器數(shù)據(jù)的超高速緩沖存儲器,上述總線接口根據(jù)上述內(nèi)部總線主控器對上述內(nèi)部存儲器的訪問請求及上述外部總線主控器對上述內(nèi)部存儲器的訪問請求和指定超高速緩存器方式的信息,產(chǎn)生指定上述超高速緩沖存儲器的緩存器對象的登記信號。
全文摘要
一種外部也有總線主控器的微處理器,它將DRAM及超高速緩存器安裝在內(nèi)部。在微處理器101中,通過寫入緩沖器5、選擇器7或DRAM27、超高速緩存器28、IQ8分別連接在總線D〈0∶127〉上。用數(shù)據(jù)總線D〈0∶15〉連接總線ID〈0∶127〉、微處理器101和外部存儲器4、外部總線主控器41,中間裝有BIU3。用地址總線58、控制總線56、57連接微處理器101、外部存儲器4、外部總線主控器41。BIU3控制對微處理器的內(nèi)部存儲器及其外部連接的存儲器的訪問。
文檔編號G06F15/78GK1177143SQ9711340
公開日1998年3月25日 申請日期1997年5月23日 優(yōu)先權(quán)日1996年9月13日
發(fā)明者高田由香里, 佐藤貢, 近藤弘郁, 澤井克典 申請人:三菱電機株式會社