專利名稱:與總線位數(shù)相匹配的存貯器直接存取結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明有關(guān)于微電腦(microcomputer)系統(tǒng)的存貯器直接存貯結(jié)構(gòu),特別是有關(guān)于一種與總線位數(shù)相匹配的存貯器直接存取(DMA,Direct Memory Access)結(jié)構(gòu)。
在微電腦系統(tǒng)中,存貯器直接存取(DMA)是一重要結(jié)構(gòu)。它是于瞬間接管原為微處理器(microprocessor)所控制的數(shù)據(jù)與地址總線,從而使外圍設(shè)備,如磁盤機(jī)等輸入/輸出裝置,能夠經(jīng)總線直接與存貯器裝置進(jìn)行數(shù)據(jù)交換傳輸,提高數(shù)據(jù)流通效率。
請參照
圖1,它是描繪DMA結(jié)構(gòu)于一微電腦系統(tǒng)中的方塊示意圖。當(dāng)控制信號線8使微處理器單元(microprocessor unit)1交出總線6、7的控制權(quán),DMA即開始進(jìn)行。此時(shí)由DMA控制單元(DMA controlunit)3控制操作它一方面接受請求信號(request),仲裁安排適當(dāng)?shù)臄?shù)據(jù)傳輸通道(channel),一方面產(chǎn)生關(guān)于待傳數(shù)據(jù)在存貯器裝置2內(nèi)的地址及位組(bytes)數(shù)等相關(guān)信息,藉以經(jīng)由總線6、7,直接在存貯器裝置2和輸入/輸出裝置5之間進(jìn)行數(shù)據(jù)傳輸。
然而傳統(tǒng)的DMA結(jié)構(gòu),是利用一較低位數(shù),a位的DMA控制器,加上一個(gè)b位的頁面寄存器(page registor),共同構(gòu)成一較大位數(shù)的所謂n位DMA控制單元,其中n=a+b。
在一486個(gè)人電腦系統(tǒng)中,依照上述DMA結(jié)構(gòu),為了提供32位的DMA,必須先執(zhí)行下列動(dòng)作1.規(guī)劃a位的基本地址(base address)寄存器;2.規(guī)劃b位的頁面地址(page address)寄存器;3.規(guī)劃a位的基本計(jì)數(shù)(base count)寄存器;4.規(guī)劃控制寄存器;5.清除屏蔽(mask)寄存器;以及6.發(fā)出DMA請求(request)。
其中,步驟1、2是作為構(gòu)成n位的基本地址,以決定數(shù)據(jù)開始傳輸?shù)牡刂?;步驟3是決定有多少位組的數(shù)據(jù)待傳輸,步驟4是決定其控制模式,步驟5、6是啟動(dòng)DMA動(dòng)作。
依照上述DMA結(jié)構(gòu),因其地址寄存器僅8位,32位的DMA共須規(guī)劃6次寄存器,包括2次基本地址寄存器、2次頁面寄存器及2次基本計(jì)數(shù)寄存器。同時(shí),當(dāng)其處理數(shù)據(jù)地址模式時(shí),受限于頁面寄存器,只能提供8位和16位兩種,不能與總線的位數(shù)相匹配,以致無法處理雙字(double word)的地址對準(zhǔn)(alignment)。
隨著微處理器處理數(shù)據(jù)的能力逐步加大,其具有的數(shù)據(jù)運(yùn)算位數(shù)不斷提高,加之現(xiàn)今多媒體系統(tǒng)所賴以運(yùn)作的大量數(shù)據(jù)交換環(huán)境需求殷切,均使上述已知DMA結(jié)構(gòu)漸露窘狀。其復(fù)雜的規(guī)劃寄存器、缺乏靈活性的地址模式以及有限度的地址對準(zhǔn)功能皆無法滿足需求。
本發(fā)明的主要目的是提出一種與總線位數(shù)相匹配的存貯器直接存取結(jié)構(gòu),能夠提高基本地址寄存器位數(shù),減少寄存器規(guī)劃的次數(shù),提高效率。
本發(fā)明的另一目的是提出一種與總線位數(shù)相匹配的存貯器直接存取結(jié)構(gòu),能夠增加地址模式,能處理較高位數(shù)地址的對準(zhǔn),強(qiáng)化功能。
本發(fā)明是一種與總線位數(shù)相匹配的存貯器直接存取結(jié)構(gòu),本發(fā)明的第一種技術(shù)方案以具有第一位數(shù)的一存貯器直接存取控制器,依據(jù)一數(shù)據(jù)的基本地址及基本計(jì)數(shù),接受請求信號,產(chǎn)生命令信號,使數(shù)據(jù)經(jīng)由具有第二位數(shù)的總線直接傳輸于存貯器裝置與輸入/輸出裝置之間。其中,第一位數(shù)相當(dāng)于第二位數(shù)。上述存貯器直接存取結(jié)構(gòu)能以雙字地址對準(zhǔn)能力大幅提高傳輸效能,并以最少的寄存器規(guī)劃次數(shù)加速存貯器直接存取動(dòng)作。其包括一基本地址寄存器,具有所述第一位數(shù),耦合總線以貯存數(shù)據(jù)的基本地址;一基本計(jì)數(shù)存貯器,具有所述第一位數(shù),耦合總線以貯存數(shù)據(jù)的基本計(jì)數(shù);一存貯器直接存取控制器,具有所述第一位數(shù),藉所述基本地址寄存器提供的數(shù)據(jù)的基本地址與所述基本計(jì)數(shù)寄存器提供的數(shù)據(jù)的基本計(jì)數(shù),配合輸入/輸出裝置和存貯器裝置的請求與命令信號,執(zhí)行存貯器直接存取控制動(dòng)作。
本發(fā)明的第二種技術(shù)方案包括一第一對準(zhǔn)控制器、一第二對準(zhǔn)控制器、一第一多路選擇器、一第二多路選擇器、一基本地址寄存器、一基本計(jì)數(shù)寄存器、一存貯器直接存取控制器,以具有第一位數(shù)的所述寄存器直接存取控制器,分別依據(jù)一從總線采集經(jīng)所述第一或第二對準(zhǔn)控制器進(jìn)入所述第一或第二多路選擇器的第一類數(shù)據(jù)的位組數(shù)、地址、頁面值及一由總線采集直接進(jìn)入所述第一或第二多路選擇器的第二類數(shù)據(jù)的基本地址、基本計(jì)數(shù),并接受請求信號,產(chǎn)生命令信號,使輸入/輸出裝置能經(jīng)由具有所述第二位數(shù)的總線直接與存貯器裝置進(jìn)行數(shù)據(jù)交換,所述第二位數(shù)是與所述第一位數(shù)相當(dāng);其中,所述存貯器直接存取控制結(jié)構(gòu)包括一第一對準(zhǔn)控制器,耦合總線,用以取得所述第一類數(shù)據(jù)的地址及頁面值,排序?qū)?zhǔn)而形成基本地址;一第二對準(zhǔn)控制器,耦合總線,用以取得所述第一類數(shù)據(jù)的位組數(shù)及頁面值,排序?qū)?zhǔn)而形成基本計(jì)數(shù);一第一多路選擇器,具有二選擇輸入端,分別耦合總線而取得所述第二類數(shù)據(jù)的基本地址,以及耦合所述第一對準(zhǔn)控制器而取得所述第一類數(shù)據(jù)的基本地址,并且接受一啟動(dòng)信號控制,提供所述第一類數(shù)據(jù)的基本地址或所述第二類數(shù)據(jù)的基本地址中之一輸出;一第二多路選擇器,具有二選擇輸入端,分別耦合總線而取得所述第二類數(shù)據(jù)的基本計(jì)數(shù),以及耦合所述第二對準(zhǔn)控制器而取得所述第一類數(shù)據(jù)的基本計(jì)數(shù),并且接受一啟動(dòng)信號控制,提供所述第一類數(shù)據(jù)的基本計(jì)數(shù)或所述第二類數(shù)據(jù)的基本計(jì)數(shù)其中之一輸出;一基本地址寄存器,具有所述第一位數(shù),耦合所述第一多路選擇器,用以貯存基本地址;一基本計(jì)數(shù)寄存器,具有所述第一位數(shù),耦合所述第二多路選擇器,用以貯存基本計(jì)數(shù);以及一存貯器直接存取控制器,具有所述第一位數(shù),耦合所述基本地址寄存器與所述基本計(jì)數(shù)寄存器,讀取基本地址與基本計(jì)數(shù),并依基本地址與基本計(jì)數(shù),配合輸入/輸出裝置和存貯器裝置之請求與命令信號,執(zhí)行存貯器直接存取控制動(dòng)作;所述存貯器直接存取控制器并產(chǎn)生啟動(dòng)信號以控制所述第一對準(zhǔn)控制器、所述第二對準(zhǔn)控制器、所述第一多路選擇器、及所述第二多路選擇器,以于(1)傳送所述第一類數(shù)據(jù)時(shí),啟動(dòng)所述第一對準(zhǔn)控制器和所述第二對準(zhǔn)控制器的動(dòng)作,關(guān)閉所述第一多路選擇器與所述第二多路選擇器耦合至總線的通路,使所述第一類數(shù)據(jù)的基本地址和基本計(jì)數(shù)傳至所述基本地址寄存器與所述基本計(jì)數(shù)寄存器;以及(2)傳送所述第二類數(shù)據(jù)時(shí),停止所述第一對準(zhǔn)控制器和所述第二對準(zhǔn)控制器的動(dòng)作,關(guān)閉所述第一多路選擇器耦合所述第一對準(zhǔn)控制器的通路,關(guān)閉所述第二多路選擇器耦合所述第二對準(zhǔn)控制器的通路,以使所述第二類數(shù)據(jù)的基本地址及基本計(jì)數(shù)能得直接由總線傳至寄存器。
為進(jìn)一步說明本發(fā)明的目的和特點(diǎn),本文特舉一較佳實(shí)施例,并配合附圖,作詳細(xì)說明如下附圖簡要說明圖1為表示存貯器直接存取控制結(jié)構(gòu)位于一微電腦系統(tǒng)中的方塊示意圖;圖2是本發(fā)明一較佳實(shí)施例的方塊示意圖;圖3是圖2中存貯器直接存取控制器內(nèi)部方塊示意圖;圖4是圖2中對準(zhǔn)控制器內(nèi)部方塊示意圖。
首先,參照圖2,本發(fā)明的存貯器直接存取結(jié)構(gòu),是由具有第一位數(shù)的DMA控制結(jié)構(gòu)3,與具有第二位數(shù)的總線6、7連接,以提供存貯器裝置與輸入/輸出裝置直接交換數(shù)據(jù),其中第一位數(shù)是相當(dāng)于第二位數(shù)。
在上述DMA控制單元3中包括第一對準(zhǔn)控制器15,從總線6、7取得數(shù)據(jù)的地址和頁面值,利用一寄存器序列組,將之排序?qū)?zhǔn)以成為基本地址,于稍后輸出。
第二對準(zhǔn)控制器16,其亦從總線6、7取得數(shù)據(jù)的位組數(shù)和頁面值,以形成基本計(jì)數(shù),其運(yùn)作方式將在下文更進(jìn)一步描述。
第一多路選擇器13有兩個(gè)選擇輸入端,分別接至總線6、7和前述第一對準(zhǔn)控制器。當(dāng)系統(tǒng)以熟知的頁面寄存器模式傳送DMA信息時(shí),此多路選擇器即通過前級的第一對準(zhǔn)控制器15取得基本地址,否則,就直接從總線6、7取得基本地址。第二多路選擇器14亦如第一多路選擇器13的操作,用以取得基本計(jì)數(shù)。請注意,前述第一對準(zhǔn)控制器15、第二對準(zhǔn)控制器16、第一多路選擇器13、以及第二多路選擇器的設(shè)置,均是為了與熟知系統(tǒng)兼容。
基本地址寄存器11具有第一位數(shù),接受第一多路選擇器13提供的基本地址并將之貯存,它是數(shù)據(jù)開始傳輸?shù)牡刂贰?br>
基本計(jì)數(shù)寄存器12具有第一位數(shù),接受第二多路選擇器14提供的基本計(jì)數(shù)而予以貯存,它是數(shù)據(jù)待傳的位組數(shù)。
以及存貯器直接存取控制器10,具有第一位數(shù),根據(jù)基本地址寄存器11做基本地址數(shù)據(jù)存取動(dòng)作,根據(jù)基本計(jì)數(shù)寄存器12做基本計(jì)數(shù)數(shù)據(jù)存取動(dòng)作,配合存貯器裝置及輸入/輸出裝置的請求而執(zhí)行控制DMA的動(dòng)作。
為了更清楚存貯器直接存取控制器的動(dòng)作,請參閱圖3,它是由若干模式(mode)寄存器22、一個(gè)仲裁器24、一個(gè)控制器26及一個(gè)地址產(chǎn)生器28組成。模式寄存器22與前述基本地址寄存器11、基本計(jì)數(shù)寄存器12交換數(shù)據(jù),產(chǎn)生各種控制模式,如地址模式及其它相關(guān)的讀/寫動(dòng)作等,藉以規(guī)劃DMA動(dòng)作模式。仲裁器24則依前述模式,仲裁DMA的服務(wù)請求(service request)20,決定優(yōu)先權(quán)(priority),以維持?jǐn)?shù)據(jù)傳輸通道的秩序??刂破?6則發(fā)出控制信號以控制輸入/輸出裝置4及存貯器裝置2,使完成其各自必需的動(dòng)作,另以一啟動(dòng)信號控制前述第一對準(zhǔn)控制器、第二對準(zhǔn)控制器、第一多路選擇器以及第二多路選擇器,以決定依本發(fā)明的數(shù)據(jù)地址模式進(jìn)行DMA動(dòng)作,還是與熟知DMA結(jié)構(gòu)兼容運(yùn)作。而地址產(chǎn)生器28是依地址控制模式產(chǎn)生所需存貯器裝置的讀取位置以備讀取及傳輸數(shù)據(jù)。
上述存貯器直接存取控制器還必須由地址產(chǎn)生器28控制第一條及最后一條數(shù)據(jù)的傳輸位組數(shù),以使每次傳輸?shù)牡刂肪梦挥?m邊緣位置,其中m為自然數(shù),且2m小于等于第一位數(shù),藉以滿足地址對準(zhǔn)的要求。
而對于熟知規(guī)劃傳輸數(shù)據(jù)的起始位置及個(gè)數(shù)的相容要求,是于對準(zhǔn)控制器15、16中處理,請參照圖4。對準(zhǔn)控制器15、16自總線6、7取得數(shù)據(jù)后,根據(jù)DMA控制器的啟動(dòng)信號指示,由地址比較器32,選擇適當(dāng)?shù)募拇嫫饔诩拇嫫餍蛄薪M34安置。如此,將使得原來應(yīng)用于傳統(tǒng)結(jié)構(gòu)的驅(qū)動(dòng)程序(driver)不須更改,就可使用于本結(jié)構(gòu)。
依照上述DMA結(jié)構(gòu),例如在486個(gè)人電腦系統(tǒng)中,第一位數(shù)為32位,由執(zhí)行DMA動(dòng)作時(shí),僅需規(guī)劃兩次寄存器,即一次32位的基本地址寄存器和一次32位的基本計(jì)數(shù)寄存器,因此可大幅減少微處理器規(guī)劃DMA控制單元的次數(shù),并且可因?qū)?zhǔn)的地址,一次用足32位地址,無須受限于傳統(tǒng)DMA結(jié)構(gòu)的頁面寄存器。這些優(yōu)點(diǎn)在現(xiàn)今局部總線協(xié)議(local bus protocol)盛行及多媒體系統(tǒng)需求殷切的情況下,就顯得更為重要。
雖然本發(fā)明已以一較佳實(shí)施例揭露如上,然其并非用以限定本發(fā)明,任何本領(lǐng)域的技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),均能作出少許的更動(dòng)與潤飾,因此本發(fā)明的保護(hù)范圍當(dāng)由后附的權(quán)利要求所界定的為準(zhǔn)。
權(quán)利要求
1.一種與總線位數(shù)相匹配的存貯器直接存取結(jié)構(gòu),用于電腦系統(tǒng)中,通過總線與微處理單元、存貯器裝置和輸入輸出裝置相連,包括一基本地址寄存器,一基本計(jì)數(shù)寄存器和一存貯器直接存取控制器,是以具有第一位數(shù)的所述存貯器直接存取控制器,依據(jù)一條數(shù)據(jù)的基本地址及基本計(jì)數(shù),接受請求信號,產(chǎn)生命令信號,使數(shù)據(jù)能經(jīng)由具有一第二位數(shù)的總線直接傳輸于存貯器裝置與輸入/輸出裝置之間,所述第二位數(shù)相當(dāng)于所述第一位數(shù);所述存貯器直接存取控制結(jié)構(gòu)包括一基本地址寄存器,具有所述第一位數(shù),耦合總線以貯存數(shù)據(jù)的基本地址;一基本計(jì)數(shù)存貯器,具有所述第一位數(shù),耦合總線以貯存數(shù)據(jù)的基本計(jì)數(shù);一存貯器直接存取控制器,具有所述第一位數(shù),藉所述基本地址寄存器提供的數(shù)據(jù)的基本地址與所述基本計(jì)數(shù)寄存器提供的數(shù)據(jù)的基本計(jì)數(shù),配合輸入/輸出裝置和存貯器裝置的請求與命令信號,執(zhí)行存貯器直接存取控制動(dòng)作。
2.一種與總線位數(shù)相匹配的存貯器直接存取結(jié)構(gòu),包括一第一對準(zhǔn)控制器、一第二對準(zhǔn)控制器、一第一多路選擇器、一第二多路選擇器、一基本地址寄存器、一基本計(jì)數(shù)寄存器、一存貯器直接存取控制器,以具有第一位數(shù)的所述存貯器直接存取控制器,分別依據(jù)一從總線采集經(jīng)所述第一或第二對準(zhǔn)控制器進(jìn)入所述第一或第二多路選擇器的第一類數(shù)據(jù)的位組數(shù)、地址、頁面值及一由總線采集直接進(jìn)入所述第一或第二多路選擇器的第二類數(shù)據(jù)的基本地址、基本計(jì)數(shù),并接受請求信號,產(chǎn)生命令信號,使輸入/輸出裝置能經(jīng)由具有所述第二位數(shù)的總線直接與存貯器裝置進(jìn)行數(shù)據(jù)交換,所述第二位數(shù)是與所述第一位數(shù)相當(dāng);其中,所述存貯器直接存取控制結(jié)構(gòu)包括一第一對準(zhǔn)控制器,耦合總線,用以取得所述第一類數(shù)據(jù)的地址及頁面值,排序?qū)?zhǔn)而形成基本地址;一第二對準(zhǔn)控制器,耦合總線,用以取得所述第一類數(shù)據(jù)的位組數(shù)及頁面值,排序?qū)?zhǔn)而形成基本計(jì)數(shù);一第一多路選擇器,具有二選擇輸入端,分別耦合總線而取得所述第二類數(shù)據(jù)的基本地址,以及耦合所述第一對準(zhǔn)控制器而取得所述第一類數(shù)據(jù)的基本地址,并且接受一啟動(dòng)信號控制,提供所述第一類數(shù)據(jù)的基本地址或所述第二類數(shù)據(jù)的基本地址中之一輸出;一第二多路選擇器,具有二選擇輸入端,分別耦合總線而取得所述第二類數(shù)據(jù)的基本計(jì)數(shù),以及耦合所述第二對準(zhǔn)控制器而取得所述第一類數(shù)據(jù)的基本計(jì)數(shù),并且接受一啟動(dòng)信號控制,提供所述第一類數(shù)據(jù)的基本計(jì)數(shù)或所述第二類數(shù)據(jù)的基本計(jì)數(shù)其中之一輸出;一基本地址寄存器,具有所述第一位數(shù),耦合所述第一多路選擇器,用以貯存基本地址;一基本計(jì)數(shù)寄存器,具有所述第一位數(shù),耦合所述第二多路選擇器,用以貯存基本計(jì)數(shù);以及一存貯器直接存取控制器,具有所述第一位數(shù),耦合所述基本地址寄存器與所述基本計(jì)數(shù)寄存器,讀取基本地址與基本計(jì)數(shù),并依基本地址與基本計(jì)數(shù),配合輸入/輸出裝置和存貯器裝置的請求與命令信號,執(zhí)行存貯器直接存取控制動(dòng)作;所述存貯器直接存取控制器并產(chǎn)生啟動(dòng)信號以控制所述第一對準(zhǔn)控制器、所述第二對準(zhǔn)控制器、所述第一多路選擇器、及所述第二多路選擇器,以于(1)傳送所述第一類數(shù)據(jù)時(shí),啟動(dòng)所述第一對準(zhǔn)控制器和所述第二對準(zhǔn)控制器之動(dòng)作,關(guān)閉所述第一多路選擇器與所述第二多路選擇器耦合至總線的通路,使所述第一類數(shù)據(jù)的基本地址和基本計(jì)數(shù)傳至所述基本地址寄存器與所述基本計(jì)數(shù)寄存器;以及(2)傳送所述第二類數(shù)據(jù)時(shí),停止所述第一對準(zhǔn)控制器和所述第二對準(zhǔn)控制器的動(dòng)作,關(guān)閉所述第一多路選擇器耦合所述第一對準(zhǔn)控制器的通路,關(guān)閉所述第二多路選擇器耦合所述第二對準(zhǔn)控制器的通路,以使所述第二類數(shù)據(jù)的基本地址及基本計(jì)數(shù)能直接由總線傳至寄存器。
3.如權(quán)利要求2所述的對準(zhǔn)控制器,其中,所述第一對準(zhǔn)比較器與所述第二對準(zhǔn)比較器分別包括一地址比較器,受所述啟動(dòng)信號控制,依數(shù)據(jù)的頁面值產(chǎn)生控制信號;以及多個(gè)寄存器形成一寄存器序列組,寄存器數(shù)即所述第一位數(shù),依所述地址比較器的所述控制信號選擇適當(dāng)?shù)募拇嫫髦梅艛?shù)據(jù)的地址或位組數(shù),以排序及對準(zhǔn)形成基本地址或基本計(jì)數(shù)。
4.如權(quán)利要求1、2或3所述的一種與總線位數(shù)相匹配的存貯器直接存取結(jié)構(gòu),其中,所述存貯器直接存取控制器包括至少一模式寄存器,耦合所述基本地址寄存器與所述基本計(jì)數(shù)寄存器,以規(guī)劃存貯器直接存取的控制模式,并發(fā)出模式控制信號;一仲裁器,接受所述模式控制信號控制,根據(jù)仲裁請求信號,提出確認(rèn)信號,依優(yōu)先權(quán)關(guān)系維持?jǐn)?shù)據(jù)傳輸?shù)闹刃?;一控制器,接受所述模式控制信號控制,產(chǎn)生命令信號以控制輸入/輸出裝置及存貯器裝置;以及一地址產(chǎn)生器,接受所述模式控制信號控制,產(chǎn)生數(shù)據(jù)的地址。
5.如權(quán)利要求4所述的一種與總線位數(shù)相匹配的存貯器直接取結(jié)構(gòu),其中,所述存貯器直接存取控制器還控制第一條及最后一條數(shù)據(jù)的傳輸位組數(shù),以使每次傳輸?shù)牡刂肪芪挥?m邊緣位置,其中m為自然數(shù),且2m小于等于所述第一位數(shù)。
全文摘要
一種與總線位數(shù)相匹配的存貯器直接存取結(jié)構(gòu),用于電腦系統(tǒng),經(jīng)總線與微處理單元、存貯器裝置和輸入輸出裝置相連,是以具有第一位數(shù)的一存貯器直接存取控制器,依據(jù)一數(shù)據(jù)的基本地址及基本計(jì)數(shù),接受請求信號,產(chǎn)生命令信號,使數(shù)據(jù)經(jīng)具有第二位數(shù)的總線直接傳輸于存貯器裝置與輸入/輸出裝置之間,其中第一位數(shù)相當(dāng)于第二位數(shù),本結(jié)構(gòu)能以雙字地址對準(zhǔn)能力大幅提高傳輸效能,并以最少寄存器規(guī)劃次數(shù)加速存貯器直接存取動(dòng)作。
文檔編號G06F13/00GK1123931SQ9411898
公開日1996年6月5日 申請日期1994年11月29日 優(yōu)先權(quán)日1994年11月29日
發(fā)明者高樹仁, 黃世忠 申請人:聯(lián)華電子股份有限公司