專利名稱:通過(guò)總線進(jìn)行數(shù)據(jù)讀取的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通過(guò)總線進(jìn)行數(shù)據(jù)存取的裝置和方法,特別地,涉及通過(guò)總線進(jìn)行數(shù)據(jù)讀取的裝置和方法。
背景技術(shù):
隨著科技發(fā)展的日新月異,電子設(shè)備對(duì)嵌入式存儲(chǔ)器的需求越來(lái)越大,由于設(shè)備內(nèi)部的各個(gè)功能部件都需要對(duì)存儲(chǔ)器進(jìn)行訪問(wèn),這樣就有了總線的概念。各個(gè)功能部件都掛在設(shè)備內(nèi)部的總線上,當(dāng)需要訪問(wèn)存儲(chǔ)器時(shí),首先向總線控制器提出請(qǐng)求,如果總線處于空閑狀態(tài)或者提出請(qǐng)求的功能部件的優(yōu)先級(jí)較高,則被授予總線的控制權(quán),通過(guò)總線來(lái)完成部件對(duì)存儲(chǔ)器的訪問(wèn)。
由于所有的功能部件與嵌入式存儲(chǔ)器都掛在總線上,因此嵌入式存儲(chǔ)器也可以看作是一個(gè)功能部件,只不過(guò)它完成的功能是數(shù)據(jù)的存取罷了。而功能部件與功能部件之間也會(huì)進(jìn)行通信,完成數(shù)據(jù)的交換。
一般地,功能部件與總線控制器之間的通信機(jī)制是建立在握手協(xié)議的基礎(chǔ)上,所有的功能部件都可以看作是總線控制器的客戶。當(dāng)功能部件需要通過(guò)總線傳輸數(shù)據(jù)時(shí),首先向總線控制器提出總線請(qǐng)求,要求占有總線進(jìn)行數(shù)據(jù)傳輸,當(dāng)總線控制器經(jīng)過(guò)優(yōu)先級(jí)仲裁認(rèn)為當(dāng)前功能部件的優(yōu)先級(jí)最高時(shí),向當(dāng)前功能部件提供應(yīng)答信號(hào),允許其占有總線,數(shù)據(jù)開始傳輸。如果在傳輸過(guò)程中有更高優(yōu)先級(jí)的功能部件提出總線請(qǐng)求,則中止當(dāng)前功能部件的應(yīng)答信號(hào),停止這一次數(shù)據(jù)傳輸,并同時(shí)向更高優(yōu)先級(jí)的功能部件提供總線占有權(quán)。
可以看到,在總線控制過(guò)程中,如果某一功能部件的優(yōu)先級(jí)最高,那么從這個(gè)功能部件提出總線請(qǐng)求到它開始利用總線傳輸數(shù)據(jù)的時(shí)間內(nèi),總線并沒有傳輸數(shù)據(jù),屬于額外的開銷。這段時(shí)間越短,總線的利用效率越高,總線的性能也就越高。在這段時(shí)間內(nèi),總線控制器從接收到總線請(qǐng)求信號(hào)到給出總線應(yīng)答信號(hào)的延時(shí)是相對(duì)固定的,這一過(guò)程也就是總線控制器進(jìn)行優(yōu)先級(jí)仲裁的過(guò)程。因此,從功能部件接收到總線應(yīng)答信號(hào)到真正占有總線,開始數(shù)據(jù)傳輸這段時(shí)間的延時(shí)越短,總線的利用效率也就越高。
而常規(guī)的電路由于結(jié)構(gòu)的限制,無(wú)法充分利用總線的數(shù)據(jù)傳輸能力。參照?qǐng)D1,圖1示出了常規(guī)的總線請(qǐng)求和應(yīng)答及相應(yīng)的數(shù)據(jù)信號(hào)時(shí)序關(guān)系。其中,CLOCK代表總線時(shí)鐘;BUS_REQ代表功能部件發(fā)出的總線請(qǐng)求信號(hào);BUS_ACK代表總線控制器產(chǎn)生的總線應(yīng)答信號(hào),表示總線占有權(quán)的成功轉(zhuǎn)移;DATA信號(hào)代表在總線上傳輸?shù)臄?shù)據(jù)。由于常規(guī)的電路設(shè)計(jì)都是基于同步電路設(shè)計(jì),輸出必須經(jīng)過(guò)觸發(fā)器鎖存,所以從功能部件接收到總線應(yīng)答信號(hào)后開始驅(qū)動(dòng)內(nèi)部數(shù)據(jù)輸出到總線,最快也只能在下個(gè)時(shí)鐘跳變時(shí)將第一個(gè)數(shù)據(jù)D0送到數(shù)據(jù)總線上。也就是說(shuō),功能部件從接收到總線應(yīng)答信號(hào)到占有總線傳輸數(shù)據(jù)總是要耗費(fèi)一個(gè)時(shí)鐘周期以上的時(shí)間,這樣,就有一個(gè)時(shí)鐘周期被白白浪費(fèi)掉了,降低了總線的利用效率。
發(fā)明內(nèi)容
本發(fā)明的目的在于,提高總線的利用效率。
根據(jù)本發(fā)明的第一方面,提供一種總線系統(tǒng)中的存儲(chǔ)裝置,所述存儲(chǔ)裝置連接在總線上進(jìn)行數(shù)據(jù)存取并且包括同步存儲(chǔ)器,其特征在于,所述存儲(chǔ)裝置還包括先進(jìn)先出存儲(chǔ)器,該先進(jìn)先出存儲(chǔ)器連接在同步存儲(chǔ)器和總線之間;在所述存儲(chǔ)裝置接收到總線控制器發(fā)出的總線應(yīng)答信號(hào)之前,所述先進(jìn)先出存儲(chǔ)器緩存來(lái)自同步存儲(chǔ)器的需要通過(guò)總線讀出的數(shù)據(jù),其中位于所述先進(jìn)先出存儲(chǔ)器最上面的數(shù)據(jù)驅(qū)動(dòng)著總線;當(dāng)所述存儲(chǔ)裝置接收到所述總線應(yīng)答信號(hào)的時(shí)候,所述先進(jìn)先出存儲(chǔ)器開始工作。
在第一方面中,優(yōu)選地,所述先進(jìn)先出存儲(chǔ)器在存儲(chǔ)裝置向總線控制器發(fā)出總線請(qǐng)求信號(hào)之前或同時(shí),緩存來(lái)自同步存儲(chǔ)器的數(shù)據(jù)。
優(yōu)選地,當(dāng)所述先進(jìn)先出存儲(chǔ)器不滿的時(shí)候,所述同步存儲(chǔ)器中的數(shù)據(jù)補(bǔ)入先進(jìn)先出存儲(chǔ)器。
優(yōu)選地,所述先進(jìn)先出存儲(chǔ)器由D觸發(fā)器構(gòu)成。
優(yōu)選地,所述先進(jìn)先出存儲(chǔ)器具有小存儲(chǔ)容量。
根據(jù)第二方面,提供一種總線系統(tǒng),包括根據(jù)本發(fā)明第一方面的存儲(chǔ)裝置。
根據(jù)第三方面,提供一種總線系統(tǒng)中的功能部件,所述功能部件連接在總線上進(jìn)行數(shù)據(jù)傳輸,其特征在于,所述功能部件包括先進(jìn)先出存儲(chǔ)器,在所述功能部件接收到總線控制器發(fā)出的總線應(yīng)答信號(hào)之前,所述先進(jìn)先出存儲(chǔ)器緩存需要讀出的數(shù)據(jù),其中位于所述先進(jìn)先出存儲(chǔ)器最上面的數(shù)據(jù)驅(qū)動(dòng)著總線;當(dāng)所述功能部件接收到所述總線應(yīng)答信號(hào)的時(shí)候,所述先進(jìn)先出存儲(chǔ)器開始工作。
在第三方面中,優(yōu)選地,所述功能部件包括同步存儲(chǔ)器,用于存儲(chǔ)向所述先進(jìn)先出存儲(chǔ)器緩存前的數(shù)據(jù)。
優(yōu)選地,所述先進(jìn)先出存儲(chǔ)器在功能部件向總線控制器發(fā)出總線請(qǐng)求信號(hào)之前或同時(shí),緩存需要讀出的數(shù)據(jù)。
優(yōu)選地,當(dāng)所述先進(jìn)先出存儲(chǔ)器不滿的時(shí)候,所述功能部件中需要讀出的數(shù)據(jù)補(bǔ)入先進(jìn)先出存儲(chǔ)器。
優(yōu)選地,所述先進(jìn)先出存儲(chǔ)器由D觸發(fā)器構(gòu)成。
優(yōu)選地,所述先進(jìn)先出存儲(chǔ)器具有小存儲(chǔ)容量。
根據(jù)第四方面,提供一種總線系統(tǒng),包括根據(jù)本發(fā)明第三方面的功能部件。
根據(jù)第五方面,提供一種通過(guò)總線對(duì)功能部件進(jìn)行數(shù)據(jù)讀取的方法,功能部件連接在總線上進(jìn)行數(shù)據(jù)傳輸,其特征在于,所述功能部件具有先進(jìn)先出存儲(chǔ)器,在接收到總線控制器發(fā)出的總線應(yīng)答信號(hào)之前,所述功能部件利用該先進(jìn)先出存儲(chǔ)器來(lái)緩存需要讀出的數(shù)據(jù),其中位于所述先進(jìn)先出存儲(chǔ)器最上面的數(shù)據(jù)驅(qū)動(dòng)著總線;當(dāng)所述功能部件接收到所述總線應(yīng)答信號(hào)的時(shí)候,所述先進(jìn)先出存儲(chǔ)器開始工作。
在第五方面中,優(yōu)選地,在向總線控制器發(fā)出總線請(qǐng)求信號(hào)之前或同時(shí),所述功能部件利用該先進(jìn)先出存儲(chǔ)器來(lái)緩存需要讀出的數(shù)據(jù)。
優(yōu)選地,當(dāng)所述先進(jìn)先出存儲(chǔ)器不滿的時(shí)候,向其中補(bǔ)入需要讀出的數(shù)據(jù)。
優(yōu)選地,所述先進(jìn)先出存儲(chǔ)器由D觸發(fā)器構(gòu)成。
優(yōu)選地,所述先進(jìn)先出存儲(chǔ)器具有小存儲(chǔ)容量。
根據(jù)本發(fā)明,在功能部件中加入容量較小的先進(jìn)先出存儲(chǔ)器來(lái)進(jìn)行數(shù)據(jù)傳輸,由于先進(jìn)先出存儲(chǔ)器無(wú)需尋址,所以可在最短時(shí)間內(nèi)響應(yīng)總線應(yīng)答信號(hào),將數(shù)據(jù)在總線應(yīng)答有效的當(dāng)前時(shí)鐘內(nèi)就驅(qū)動(dòng)到總線上,從而提高了總線的利用效率。
圖1示出了常規(guī)的總線請(qǐng)求和應(yīng)答及相應(yīng)的數(shù)據(jù)信號(hào)時(shí)序關(guān)系;圖2示出了本發(fā)明一個(gè)實(shí)施例的總線系統(tǒng)結(jié)構(gòu)框圖;圖3示出了本發(fā)明的總線請(qǐng)求和應(yīng)答及相應(yīng)的數(shù)據(jù)信號(hào)時(shí)序關(guān)系。
為更好地理解本發(fā)明,下面僅以一個(gè)實(shí)施例結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
具體實(shí)施例方式
參照?qǐng)D2,圖2示出了本發(fā)明一個(gè)實(shí)施例的總線系統(tǒng)結(jié)構(gòu)框圖。該總線系統(tǒng)包括總線控制器、總線以及多個(gè)功能部件10、20。功能部件10、20可以是具有某種特定功能的任何模塊,如存儲(chǔ)裝置、MP3解碼器、編解碼器(codec)等。為簡(jiǎn)明起見,與常規(guī)總線系統(tǒng)的工作原理、過(guò)程相同的部分,這里不再贅述。
功能部件10包括同步存儲(chǔ)器11,還包括先進(jìn)先出存儲(chǔ)器(FIFO)12,先進(jìn)先出存儲(chǔ)器12連接在同步存儲(chǔ)器11和總線之間。優(yōu)選地,使用D觸發(fā)器來(lái)實(shí)現(xiàn)先進(jìn)先出存儲(chǔ)器,因此其輸出也滿足經(jīng)過(guò)觸發(fā)器鎖存的條件。D觸發(fā)器的特點(diǎn)是比較靈活,可以在當(dāng)前時(shí)鐘周期就輸出數(shù)據(jù)。最好該先進(jìn)先出存儲(chǔ)器的容量較小,由此帶來(lái)的面積開銷可以忽略不計(jì)。
當(dāng)有數(shù)據(jù)需要通過(guò)總線進(jìn)行傳輸時(shí),功能部件10一方面向總線控制器發(fā)出總線請(qǐng)求信號(hào)BUS_REQ1;另一方面,在接收到總線控制器發(fā)出的總線應(yīng)答信號(hào)BUS_ACK1之前,將同步存儲(chǔ)器11中的數(shù)據(jù)讀出并存儲(chǔ)在先進(jìn)先出存儲(chǔ)器12中,直到它滿為止。優(yōu)選地,在向總線控制器發(fā)出總線請(qǐng)求信號(hào)BUS_REQ1之前或同時(shí),將數(shù)據(jù)讀出并緩存在先進(jìn)先出存儲(chǔ)器12中。先進(jìn)先出存儲(chǔ)器12最上面的數(shù)據(jù)始終驅(qū)動(dòng)著總線,無(wú)論總線是否給予它使用權(quán)。
當(dāng)總線應(yīng)答信號(hào)BUS_ACK1產(chǎn)生時(shí),總線占有權(quán)被轉(zhuǎn)移給功能部件10,先進(jìn)先出存儲(chǔ)器12開始工作。由于位于該先進(jìn)先出存儲(chǔ)器最上面的數(shù)據(jù)始終驅(qū)動(dòng)著總線,因此這個(gè)數(shù)據(jù)可以被立刻使用而不會(huì)浪費(fèi)一個(gè)時(shí)鐘周期,在下一個(gè)時(shí)鐘周期,根據(jù)先進(jìn)先出存儲(chǔ)器的特性,其第二個(gè)數(shù)據(jù)將被彈到上面來(lái),繼續(xù)總線傳輸。同時(shí)只要先進(jìn)先出存儲(chǔ)器12不滿,就從同步存儲(chǔ)器11中讀出數(shù)據(jù)寫入先進(jìn)先出存儲(chǔ)器12。這樣,總線到功能部件10內(nèi)部的同步存儲(chǔ)器11之間的內(nèi)部開銷被節(jié)省掉了。
由于先進(jìn)先出存儲(chǔ)器的讀寫速度等于總線傳輸速度,因此除了功能器件的數(shù)據(jù)傳輸結(jié)束的情況以外,不會(huì)出現(xiàn)由于先進(jìn)先出存儲(chǔ)器的讀寫速度慢而影響總線效率的情況。
參照?qǐng)D3,圖3示出了本發(fā)明的總線請(qǐng)求和應(yīng)答及相應(yīng)的數(shù)據(jù)信號(hào)時(shí)序關(guān)系。D0代表先進(jìn)先出存儲(chǔ)器12中最上面的數(shù)據(jù),它始終驅(qū)動(dòng)著總線,即使沒有BUS_ACK1。這樣當(dāng)BUS_ACK1有效的第一個(gè)時(shí)鐘周期內(nèi),D0就可以通過(guò)總線傳輸。對(duì)比圖1和圖3,在同樣長(zhǎng)的總線應(yīng)答時(shí)間內(nèi),改進(jìn)前的常規(guī)結(jié)構(gòu)只能傳輸3個(gè)數(shù)據(jù),而改進(jìn)后的結(jié)構(gòu)可以傳輸4個(gè)數(shù)據(jù),提高了總線的利用效率。
在此實(shí)施例中,雖然先進(jìn)先出存儲(chǔ)器通過(guò)D觸發(fā)器實(shí)現(xiàn),但是在滿足總線應(yīng)答信號(hào)有效前讀出第一個(gè)數(shù)據(jù)的前提下,先進(jìn)先出存儲(chǔ)器也可采用RAM來(lái)實(shí)現(xiàn)。另外,功能部件10具有同步存儲(chǔ)器,然而,本領(lǐng)域技術(shù)人員能夠理解的是,功能部件10也可以不具有同步存儲(chǔ)器,而只要其中存在需要通過(guò)總線讀數(shù)據(jù)來(lái)實(shí)現(xiàn)數(shù)據(jù)交換的情況,均適用本發(fā)明。
顯而易見,在此描述的本發(fā)明可以有許多變化,這種變化不能認(rèn)為偏離本發(fā)明的精神和范圍。因此,所有對(duì)本領(lǐng)域技術(shù)人員顯而易見的改變,都包括在本權(quán)利要求書的涵蓋范圍之內(nèi)。
權(quán)利要求
1.一種總線系統(tǒng)中的存儲(chǔ)裝置,所述存儲(chǔ)裝置連接在總線上進(jìn)行數(shù)據(jù)存取并且包括同步存儲(chǔ)器,其特征在于,所述存儲(chǔ)裝置還包括先進(jìn)先出存儲(chǔ)器,該先進(jìn)先出存儲(chǔ)器連接在同步存儲(chǔ)器和總線之間;在所述存儲(chǔ)裝置接收到總線控制器發(fā)出的總線應(yīng)答信號(hào)之前,所述先進(jìn)先出存儲(chǔ)器緩存來(lái)自同步存儲(chǔ)器的需要通過(guò)總線讀出的數(shù)據(jù),其中位于所述先進(jìn)先出存儲(chǔ)器最上面的數(shù)據(jù)驅(qū)動(dòng)著總線;當(dāng)所述存儲(chǔ)裝置接收到所述總線應(yīng)答信號(hào)的時(shí)候,所述先進(jìn)先出存儲(chǔ)器開始工作。
2.如權(quán)利要求1所述的存儲(chǔ)裝置,其特征在于,所述先進(jìn)先出存儲(chǔ)器在存儲(chǔ)裝置向總線控制器發(fā)出總線請(qǐng)求信號(hào)之前或同時(shí),緩存來(lái)自同步存儲(chǔ)器的數(shù)據(jù)。
3.如權(quán)利要求1所述的存儲(chǔ)裝置,其特征在于,當(dāng)所述先進(jìn)先出存儲(chǔ)器不滿的時(shí)候,所述同步存儲(chǔ)器中的數(shù)據(jù)補(bǔ)入先進(jìn)先出存儲(chǔ)器。
4.如權(quán)利要求1至3中任一項(xiàng)所述的存儲(chǔ)裝置,其特征在于,所述先進(jìn)先出存儲(chǔ)器由D觸發(fā)器構(gòu)成。
5.如權(quán)利要求1至3中任一項(xiàng)所述的存儲(chǔ)裝置,其特征在于,所述先進(jìn)先出存儲(chǔ)器具有小存儲(chǔ)容量。
6.一種總線系統(tǒng),其特征在于,包括權(quán)利要求1至5中任一項(xiàng)所述的存儲(chǔ)裝置。
7.一種總線系統(tǒng)中的功能部件,所述功能部件連接在總線上進(jìn)行數(shù)據(jù)傳輸,其特征在于,所述功能部件包括先進(jìn)先出存儲(chǔ)器,在所述功能部件接收到總線控制器發(fā)出的總線應(yīng)答信號(hào)之前,所述先進(jìn)先出存儲(chǔ)器緩存需要讀出的數(shù)據(jù),其中位于所述先進(jìn)先出存儲(chǔ)器最上面的數(shù)據(jù)驅(qū)動(dòng)著總線;當(dāng)所述功能部件接收到所述總線應(yīng)答信號(hào)的時(shí)候,所述先進(jìn)先出存儲(chǔ)器開始工作。
8.如權(quán)利要求7所述的功能部件,其特征在于,所述功能部件包括同步存儲(chǔ)器,用于存儲(chǔ)向所述先進(jìn)先出存儲(chǔ)器緩存前的數(shù)據(jù)。
9.如權(quán)利要求7所述的功能部件,其特征在于,所述先進(jìn)先出存儲(chǔ)器在功能部件向總線控制器發(fā)出總線請(qǐng)求信號(hào)之前或同時(shí),緩存需要讀出的數(shù)據(jù)。
10.如權(quán)利要求7所述的功能部件,其特征在于,當(dāng)所述先進(jìn)先出存儲(chǔ)器不滿的時(shí)候,所述功能部件中需要讀出的數(shù)據(jù)補(bǔ)入先進(jìn)先出存儲(chǔ)器。
11.如權(quán)利要求7至10中任一項(xiàng)所述的功能部件,其特征在于,所述先進(jìn)先出存儲(chǔ)器由D觸發(fā)器構(gòu)成。
12.如權(quán)利要求7至10中任一項(xiàng)所述的功能部件,其特征在于,所述先進(jìn)先出存儲(chǔ)器具有小存儲(chǔ)容量。
13.一種總線系統(tǒng),其特征在于,包括權(quán)利要求7至12中任一項(xiàng)所述的功能部件。
14.一種通過(guò)總線對(duì)功能部件進(jìn)行數(shù)據(jù)讀取的方法,所述功能部件連接在總線上進(jìn)行數(shù)據(jù)傳輸,其特征在于,所述功能部件具有先進(jìn)先出存儲(chǔ)器,在接收到總線控制器發(fā)出的總線應(yīng)答信號(hào)之前,所述功能部件利用所述先進(jìn)先出存儲(chǔ)器來(lái)緩存需要讀出的數(shù)據(jù),其中位于所述先進(jìn)先出存儲(chǔ)器最上面的數(shù)據(jù)驅(qū)動(dòng)著總線;當(dāng)所述功能部件接收到所述總線應(yīng)答信號(hào)的時(shí)候,所述先進(jìn)先出存儲(chǔ)器開始工作。
15.如權(quán)利要求14所述的方法,其特征在于,在向總線控制器發(fā)出總線請(qǐng)求信號(hào)之前或同時(shí),所述功能部件利用所述先進(jìn)先出存儲(chǔ)器來(lái)緩存需要讀出的數(shù)據(jù)。
16.如權(quán)利要求14所述的方法,其特征在于,當(dāng)所述先進(jìn)先出存儲(chǔ)器不滿的時(shí)候,向其中補(bǔ)入需要讀出的數(shù)據(jù)。
17.如權(quán)利要求14至16中任一項(xiàng)所述的方法,其特征在于,所述先進(jìn)先出存儲(chǔ)器由D觸發(fā)器構(gòu)成。
18.如權(quán)利要求14至16中任一項(xiàng)所述的方法,其特征在于,所述先進(jìn)先出存儲(chǔ)器具有小存儲(chǔ)容量。
全文摘要
本發(fā)明公開了一種總線系統(tǒng)中的存儲(chǔ)裝置及相應(yīng)的數(shù)據(jù)讀取方法。該存儲(chǔ)裝置連接在總線上進(jìn)行數(shù)據(jù)存取并且包括同步存儲(chǔ)器,還包括先進(jìn)先出存儲(chǔ)器,該先進(jìn)先出存儲(chǔ)器連接在同步存儲(chǔ)器和總線之間;在該存儲(chǔ)裝置接收到總線控制器發(fā)出的總線應(yīng)答信號(hào)之前,該先進(jìn)先出存儲(chǔ)器緩存來(lái)自同步存儲(chǔ)器的需要通過(guò)總線讀出的數(shù)據(jù),其中位于該先進(jìn)先出存儲(chǔ)器最上面的數(shù)據(jù)驅(qū)動(dòng)著總線;當(dāng)該存儲(chǔ)裝置接收到總線應(yīng)答信號(hào)時(shí),該先進(jìn)先出存儲(chǔ)器開始工作。本發(fā)明可有效提高總線的利用效率。
文檔編號(hào)G06F13/16GK1687908SQ20051007087
公開日2005年10月26日 申請(qǐng)日期2005年5月20日 優(yōu)先權(quán)日2005年5月20日
發(fā)明者劉健, 周芬, 周天夷 申請(qǐng)人:北京中星微電子有限公司