專利名稱:計(jì)算機(jī)系統(tǒng)的制作方法
本發(fā)明涉及計(jì)算機(jī)系統(tǒng),特別是涉及(但不僅僅局限于)控制數(shù)字電話交換局中用以控制數(shù)字?jǐn)?shù)據(jù)傳輸?shù)挠?jì)算機(jī)系統(tǒng)。本發(fā)明所涉及的計(jì)算機(jī)系統(tǒng)包括一主處理器,主處理器工作時(shí)必須訪問(wèn)一個(gè)或多個(gè)裝有復(fù)雜微處理器線路的外圍設(shè)備,且系統(tǒng)中,在主處理器與各個(gè)外圍設(shè)備之間的I/O(輸入/輸出)接口上存在若干編址限制。應(yīng)該理解的是,采用“主處理器”一詞本身并不意味著主處理器比該或各外圍設(shè)備能力強(qiáng)或具有更大的存儲(chǔ)容量。因此在本說(shuō)明書的范圍內(nèi),“主處理器”是從處理器的功能級(jí)別意義上加以使用的。
因此,本發(fā)明的一個(gè)目的是提供上述那種在經(jīng)過(guò)具有編址限制的I/O接口訪問(wèn)外圍設(shè)備的問(wèn)題上,能以較先進(jìn)的方法進(jìn)行處理的計(jì)算機(jī)系統(tǒng)。
因此本發(fā)明主要涉及一種包括下列各部分的計(jì)算機(jī)系統(tǒng)一主處理器,具有一條雙向并行的數(shù)據(jù)總線;一個(gè)或多個(gè)外圍設(shè)備,各個(gè)外圍設(shè)備具有一隨機(jī)存取存儲(chǔ)器和一個(gè)輔助處理器以及一用以控制主處理器與各個(gè)外圍設(shè)備之間的訪問(wèn)的輸入/輸出控制器,該輸入/輸出控制器裝有控制寄存器和狀態(tài)寄存器,且能對(duì)從主處理器引出的輸入/輸出總線編址范圍作出響應(yīng),該總線編址范圍被劃分成許多區(qū),每一區(qū)代表與一個(gè)外圍設(shè)備通信的一個(gè)軟件進(jìn)程,各區(qū)又進(jìn)一步再劃分,以便將其中一部分留給由主處理器向輔助外圍設(shè)備傳輸信息之用,另一部分留給由該外圍設(shè)備向主處理器傳輸信息之用。
為更易理解本發(fā)明的內(nèi)容,現(xiàn)參照附圖通過(guò)舉例說(shuō)明本發(fā)明的一個(gè)實(shí)施例。附圖中圖1是本發(fā)明計(jì)算機(jī)系統(tǒng)的方框圖;
圖2是表示圖1系統(tǒng)中所采用的尋址方法的方框圖;
圖3是表示信息獲取方法的示意圖。
現(xiàn)在參看圖1。從圖中可以看到主處理器10和從主處理器10引出的I/O雙向總線11。在本實(shí)施例中,該I/O總線11能并行載送16個(gè)數(shù)據(jù)位。還提供有13個(gè)地址位,因而編址范圍為8k字。不言而喻,這些數(shù)字僅僅是舉例而已,還可以采用其它配置方式。
I/O總線11接到一組叫做輸入/輸出控制器(IOC)的線路12上。IOC 12裝有控制寄存器和狀態(tài)寄存器,并具有從I/O總線進(jìn)行輸入/輸出訪問(wèn)的定序功能。IOC電路12既可以為主處理10對(duì)13中的一個(gè)處圍設(shè)備的訪問(wèn)排序,也可以經(jīng)過(guò)IOC總線14進(jìn)行自身對(duì)外圍設(shè)備13的訪問(wèn)。這些IOC訪問(wèn)是為從外圍設(shè)備13獲取狀態(tài)信息而進(jìn)行的。
從主處理器10引出的總線編址范圍被劃分成許多等份區(qū)。各區(qū)代表其中一個(gè)需要與外圍設(shè)13通信的軟件進(jìn)程。然后將各區(qū)進(jìn)一步再分成兩半,一半留給從主處理器10到外圍設(shè)備13傳輸信息之用,另一半留給從外圍設(shè)備13到主處理器10傳輸信息之用。
這些半?yún)^(qū)叫做“窗口”。在各窗口中配置有履行控制功能用的備用地址。這些地址可以具有或不具有有關(guān)數(shù)據(jù)字段。
在這里介紹的系統(tǒng)中,不言而喻,在任何方向傳輸信息之前,在主處理器10上運(yùn)行的適當(dāng)軟件進(jìn)程必須寫入IOC12中與該窗口有關(guān)的控制寄存器上。適當(dāng)?shù)腎OC控制寄存器有兩個(gè)字段。這些字段如圖2所示,其中主處理器仍以編號(hào)10表示,IOC電路一般以編號(hào)12表示。和前面一樣,11表示總線。這樣,IOC電路12中的各寄存器包括兩個(gè)字段,圖2中分別以編號(hào)20和21表示。字段20叫做外圍碼字段,該字段允許相應(yīng)的外圍設(shè)備對(duì)其譯碼,以便讀/寫信息。字段21叫做信息類型,此字段識(shí)別待由該外圍設(shè)備的讀出或?qū)懭氲木唧w信息隊(duì)列。在本實(shí)施例中,外圍設(shè)備碼系統(tǒng)為3位,信息類型字段為8位。因此,利用外圍碼可以從多達(dá)八個(gè)外圍設(shè)備中選取一個(gè)外圍設(shè)備。在實(shí)際窗口中,一個(gè)地址留作往控制寄存器上書寫數(shù)據(jù)用,由地址寄存器解碼22加以識(shí)別。IOC電路中適合特定窗口的控制寄存器由5位的控制寄存器選擇器25選擇。這就是說(shuō),在本實(shí)施例的IOC電路12中控制寄存器的數(shù)目最多可達(dá)32個(gè)。
從圖2中還可看出,總線11上的8位地址取捷徑直接通到外圍設(shè)備13中。
因此五條控制寄存器選擇地址線路26由控制寄存器選擇器25予以解碼,同時(shí)存儲(chǔ)在所選擇的控制寄存器中的數(shù)據(jù)被驅(qū)送到外圍選擇地址線路27和信息類型地址線路28上,往下進(jìn)入外圍設(shè)備中。
各外圍設(shè)備裝有一基址寄存器控制電路30,該電路則由在微處理器31上運(yùn)行的固件構(gòu)成,其中含有一表明外圍設(shè)備RAM(隨機(jī)存取存儲(chǔ)器)32中一個(gè)地址的地址,現(xiàn)在就這一點(diǎn)加以說(shuō)明。此地址叫做長(zhǎng)基址指示器,系由與外圍設(shè)備有關(guān)的固件加上8位來(lái)自主處理器10的位移組成。該長(zhǎng)基址指示器由IOC電路12中相應(yīng)選擇的控制寄存器的5位字段進(jìn)行選擇,在各外圍設(shè)備中有一組不同的基址寄存器。
如果信息類型包含有由主處理器向外圍設(shè)備傳輸?shù)男畔?,則外圍設(shè)備RAM中的地址指向RAM32有關(guān)隊(duì)列中的下一個(gè)空的存儲(chǔ)位置。
另一方面,若信息類型字段包含有從外圍設(shè)備至主處理器傳輸過(guò)程的信息,則地址指向待傳輸?shù)南乱粋€(gè)信息的第一個(gè)位置。
當(dāng)開(kāi)始對(duì)所選擇的外圍設(shè)備進(jìn)行讀出或?qū)懭朐L問(wèn)時(shí),基址寄存器控制電路通過(guò)將基址寄存器的值與從IOC12接收到的位移量相加來(lái)計(jì)算存儲(chǔ)器地址。
這里介紹的計(jì)算機(jī)系統(tǒng)的另一個(gè)特點(diǎn)在于,所有從主處理器10出來(lái)的信息都取道所選擇的外圍設(shè)備的RAM中的所謂桶形隊(duì)列。這是存儲(chǔ)器的這樣一個(gè)區(qū)此區(qū)滿時(shí)會(huì)朝存儲(chǔ)器的始端繞轉(zhuǎn),然后再繼續(xù)從該點(diǎn)填充。此程序叫卷繞(Wrap-around)。為檢測(cè)出隊(duì)列何時(shí)滿額,需要三個(gè)指示器可用存儲(chǔ)空間開(kāi)始指示器(SAMS)、可用存儲(chǔ)空間終止指示器(EAMS)和下一個(gè)SAMS指示器。當(dāng)從隊(duì)列中除去一個(gè)信息時(shí),EAMS指示器更新,指示出由此騰出的可供使用的存儲(chǔ)空間。同樣,當(dāng)往隊(duì)列中加信息塊時(shí),SAMS更新,指示出可用存儲(chǔ)空間的變化。下一個(gè)SAMS指示器包括當(dāng)前的信息通過(guò)之后的SAMS地址。此指示器可藉F/W固件處理過(guò)程加以更新,以使輸出隊(duì)列中含F(xiàn)/W信息。
為檢測(cè)隊(duì)列是否滿,應(yīng)進(jìn)行試驗(yàn)。各傳輸是從零進(jìn)行到絕對(duì)位移地址,其中零為第一個(gè)字地地址,“N”為最后一個(gè)字地址。留出一些位移地址供一些控制功能用。留出一個(gè)地址來(lái)表示新信息的開(kāi)始。在該第一次傳輸中通過(guò)的數(shù)據(jù)為整個(gè)信息的長(zhǎng)度。在第一次傳輸時(shí),信息長(zhǎng)度加到下一個(gè)SAMS上,以產(chǎn)生合量。比較下一步SAMS和EAMS指示器以確定哪一個(gè)值大。同樣將合量與EAMS進(jìn)行比較以確定哪一個(gè)大。
這些比較得出的結(jié)果與所加值的進(jìn)位狀態(tài)一起可用以進(jìn)行“隊(duì)列滿檢測(cè)”。若檢測(cè)出隊(duì)列滿,則廢棄整個(gè)信息直到開(kāi)始訪問(wèn)新信息為止。若檢測(cè)不出隊(duì)列滿,則將合量作為新的下一個(gè)SAMS存儲(chǔ)起來(lái),而將舊的下一個(gè)SAMS作為新SAMS存儲(chǔ)起來(lái)。
在隊(duì)列滿檢過(guò)程中應(yīng)考慮兩種情況情況1,這時(shí)EAMS大于SAMS。若在加法運(yùn)算過(guò)程中產(chǎn)生進(jìn)位,就可即刻檢測(cè)出隊(duì)列滿。沒(méi)有進(jìn)位時(shí),必須將含量與EAMS進(jìn)行比較。若EAMS大,則檢測(cè)不出隊(duì)列滿,若EAMS小于或等于合量,就可檢測(cè)出隊(duì)列滿。
情況2,這時(shí)SAMS大于或等于EAMS。若沒(méi)有進(jìn)位,則檢測(cè)不出隊(duì)列滿。若有進(jìn)位產(chǎn)生,則應(yīng)考慮對(duì)合量進(jìn)行比較。若合量大于或等于EAMS,則可檢測(cè)出隊(duì)列滿。若EAMS大,則檢測(cè)不出隊(duì)列滿。若在以上任何情況下已檢測(cè)出隊(duì)列滿,則一定不能進(jìn)行訪問(wèn),因?yàn)檫@種訪問(wèn)會(huì)將現(xiàn)有信息重寫入隊(duì)列中。
窗口中的第二地址留給信息塊在窗口中傳輸結(jié)束之后使用。此只寫地址是在它完成一信息塊的傳輸之后由主處理器軟件書寫的。訪問(wèn)是對(duì)外圍設(shè)備進(jìn)行的,且由基址寄存器控制電路進(jìn)行解碼。在窗口中所傳輸?shù)男畔K長(zhǎng)度加到SAMS以產(chǎn)生新的SAMS值。
另一書寫訪問(wèn)是由主處理器軟件對(duì)窗口中的第一存儲(chǔ)單元進(jìn)行的。此單元在信息中始終留作零,同時(shí)主處理器軟件寫入對(duì)應(yīng)于下列其中一個(gè)狀態(tài)的值一完整信息;某一信息的第一部分;某一信息的繼續(xù)部分;某一信息的最后部分。這種裝置可用以傳輸比最大窗口大小還長(zhǎng)的信息。外圍微處理器固件會(huì)周期性掃描該單元,并檢測(cè)何時(shí)有信息或部分存在。然后由固件提取該信息或部分信息。這時(shí)固件就會(huì)知道,或者是信息已由主處理器讀取,或者有新信息等待處理。
為告知主處理器在外圍設(shè)備的一隊(duì)列中存在待傳輸?shù)街魈幚砥鞯男畔?,我們提供了一種專用的裝置,其配置方式如圖3所示。
各外圍設(shè)備都配備有可獲取輸入信息的寄存器40(主處理器的外圍設(shè)備)。該寄存器40含有主處理器用于訪問(wèn)外圍設(shè)備的各個(gè)軟件模塊的一個(gè)位。當(dāng)外圍設(shè)備中的微處理器在隊(duì)列中已設(shè)置輸入信息、且已設(shè)置帶有地址的基址寄存器后,有效信息寄存器中的數(shù)據(jù)由運(yùn)行在外圍設(shè)備的微處理器上固化軟件來(lái)設(shè)置。
在IOC12中還提供另一組有效信息寄存器50。各IOC有效信息寄存器含有可以配備給各外圍設(shè)備13的一個(gè)位。各個(gè)主處理器軟件進(jìn)程都設(shè)有一寄存器,且出現(xiàn)在各輸入“窗口”中。
外圍微處理器在如上所述設(shè)置輸入信息和寄存信息的寄存器時(shí),就啟動(dòng)一去IOC上的按制序列發(fā)生器S1的“nudge”信號(hào)。這促使序列發(fā)生器S1開(kāi)始在IOC總線上訪問(wèn),并讀出適當(dāng)可獲取信息的外圍寄存器40的內(nèi)容。返回的數(shù)據(jù)用以控制對(duì)相應(yīng)于各IOC可獲取信息的寄存器中的外圍設(shè)備的二進(jìn)制位進(jìn)行置位。
因此,在主處理器上運(yùn)行的各軟件就可以通過(guò)IOC的一次讀出對(duì)所有外圍設(shè)備狀態(tài)確定輸入信息的可用性。
在IOC可獲取信息的寄存器及其外圍設(shè)備中各二進(jìn)制位的清除是在主處理器的軟件模塊往窗口中寫備用地址、以表明信息已被成功傳輸時(shí)進(jìn)行的。
權(quán)利要求
1.一種計(jì)算機(jī)系統(tǒng)包括一具有雙向數(shù)據(jù)總線(11)的主處理器(10)和一具有隨機(jī)存取存儲(chǔ)器(32)及一輔助處理器(31)的外圍設(shè)備,該計(jì)算機(jī)系統(tǒng)的特征在于,該系統(tǒng)包括一輸入/輸出控制器12,用以控制主處理器(10)與外圍設(shè)備之間的訪問(wèn),且外圍控制器(12)裝有一控制寄存器和一狀態(tài)寄存器,該輸入/輸出控制器對(duì)從主處理器(10)引出的總線編址范圍作出響應(yīng),總線編址范圍被劃分成許多區(qū),各區(qū)代表其中一個(gè)要與外圍設(shè)備通信的軟件進(jìn)程,各區(qū)又進(jìn)一步再被劃分為兩部分,一個(gè)部分留給從主處理器到外圍設(shè)備傳輸信息之用,另一部分則留給從外圍設(shè)備到主處理器傳輸信息之用。
2.如權(quán)利要求
1所述的計(jì)算機(jī)系統(tǒng),其特征還在于,各部分構(gòu)成一在處圍設(shè)備RAM存取存儲(chǔ)器中限定可移動(dòng)單元組的窗口。
3.如權(quán)利要求
2所述的計(jì)算機(jī)系統(tǒng),其特征還在于,各窗口的參數(shù)由所述輸入/輸出控制器(12)中的控制信號(hào)限定。
4.如權(quán)利要求
3所述的計(jì)算機(jī)系統(tǒng),其特征還在于,有多個(gè)各個(gè)具有輔助處理器(31)和RAM寄存器(32)的外圍設(shè)備(13),且輸入/輸出控制器的控制寄存器也確定所選擇外設(shè)備和在該外圍設(shè)備中適當(dāng)?shù)幕芳拇嫫魇欠褚恢隆?br>5.如權(quán)利要求
3或權(quán)利要求
4中的計(jì)算機(jī)系統(tǒng),其特征還在于,預(yù)定在所述輸入/輸出控制器(12)控制下應(yīng)讀入外圍組件中的所有來(lái)自主處理器的輸出信息都讀入構(gòu)成一個(gè)桶形隊(duì)列的外圍存儲(chǔ)器的一個(gè)區(qū)中。
6.如權(quán)利要求
5所述的計(jì)算機(jī)系統(tǒng),其特征在于,在該或各桶形隊(duì)列區(qū)中狀態(tài)的檢測(cè)是通過(guò)三個(gè)與隊(duì)列有關(guān)的指示器,即現(xiàn)有存儲(chǔ)空間開(kāi)始指示器(SAMS)、現(xiàn)有存儲(chǔ)空間終止指示器(EAMS)和下一個(gè)SAMS指示器實(shí)現(xiàn)的,采取這樣的配置方式,使得當(dāng)從隊(duì)列中除去一個(gè)信息時(shí),EAMS指示器就更新,表明有可利用的存儲(chǔ)空間,當(dāng)加入了存儲(chǔ)塊時(shí),SAMS指示器就更新。
專利摘要
本發(fā)明涉及一種計(jì)算機(jī)系統(tǒng),在該系統(tǒng)中,主處理器(10)能通過(guò)一寬度上受限制的雙向數(shù)據(jù)總線(11)與一個(gè)或多個(gè)外圍設(shè)備(13)通信。輸入/輸出控制器(12)裝有控制寄存器和狀態(tài)寄存器,且能對(duì)總線(11)的范圍作出反應(yīng),此總線范圍被劃分成許多區(qū),各區(qū)代表其中一個(gè)要與外圍設(shè)備(13)通信的軟件進(jìn)程。
文檔編號(hào)H04Q11/04GK87106651SQ87106651
公開(kāi)日1988年4月6日 申請(qǐng)日期1987年9月24日
發(fā)明者約翰·安德魯·尼布洛克, 克里斯托弗·約翰·萊昂·米爾納, 戴維·約翰·蒂斯代爾, 蒂莫西·約翰·博伊爾, 阿倫·斯圖爾特·威爾遜 申請(qǐng)人:通用電氣公眾有限公司導(dǎo)出引文BiBTeX, EndNote, RefMan