常見I/O總線
ISA(Industry Standard Architecture)工業(yè)標準體系結(jié)構(gòu)總線.
EISA(Extension Industry Standard Architecture)擴展標準體系結(jié)構(gòu)總線.
MCA(Micro Channel)微通道總線.
此外,為了解決CPU與高速外設(shè)之間傳輸速度慢的"瓶頸"問題,出現(xiàn)了兩種局部總線,它們是:
VESA(Video Electronic Standards Association)視頻電子標準協(xié)會局部總線,簡稱VL總線.
PCI(Peripheral Component Interconnect)外圍部件互連局部總線,簡稱PCI總線. 486級的主板多采用VL總線,而奔騰主板多采用PCI總線。 目前,繼PCI之后又開發(fā)了更外圍的接口總線,它們是:USB(Universal Serial Bus)通用串行總線。IEEE1394(美國電氣及電子工程師協(xié)會1394標準)俗稱"火線(Fire Ware)"。
總線方式用來傳輸數(shù)據(jù)的總線線路可以分為三個類型:數(shù)據(jù)線、地址線和控制線。其中控制信號一般包括:同步時序信號或應(yīng)答信號、數(shù)據(jù)傳送控制信號(如地址有效、讀寫控制、M/IO選擇)、中斷請求及響應(yīng)信號、DMA請求及響應(yīng)信號等??刂菩盘栒f明是否執(zhí)行讀或?qū)懖僮鳌Mǔ?,使用單?img src="https://img-xml.kepuchina.cn/images/newsWire/Pvyzz5AdcSo2D65QOnRTzZSR6SXBOwMhn5vo.jpg" alt="" /> 線來傳送控制信號,當它被置1時表示進行讀操作,被置0時表示進行寫操作。在允許傳輸不同長度的操作數(shù)時,如字節(jié)、字或長字,數(shù)據(jù)的長度也被顯示出來。1
總線控制信號還要傳送時序信息。這些信息詳細說明何時處理器和I/O設(shè)備可以將數(shù)據(jù)放到總線上或從總線上接收數(shù)據(jù)。目前有多種傳輸數(shù)據(jù)的方式,大致可以將他們分為同步和異步兩種方式。2
標準I/O接口計算機總線有多種可選擇的設(shè)計,這種多樣性意味著配備著有這種接口電路的I/O設(shè)備適用于一臺計算機不一定就適用與另外一臺計算機。因此,每一種I/O設(shè)備與計算機的連接可能都需要設(shè)計一種不同的接口,這樣就會產(chǎn)生很多不同的接口。最符合實際的解決方法就是開發(fā)出標準的接口信號和協(xié)議。
總線結(jié)構(gòu)與處理器結(jié)構(gòu)密切相關(guān),而且還依賴于處理器芯片的電氣特性,所以不可能為處理器總線定義一個統(tǒng)一標準。但拓展總線就沒有這些限制了,因此可以使用標準的信號方式。事實上,已經(jīng)有I/O總線的標準被制定出來了。其中有些是默認的,當特定的設(shè)計在商業(yè)上取得成功時,這些設(shè)計就成為了事實上的標準。例如,IBM為它的個人計算機PC AT開發(fā)的總線ISA(工業(yè)標準體系結(jié)構(gòu)),由于這種計算機的流行導致其他制造商為他們的I/O設(shè)備生產(chǎn)出與ISA兼容的接口,這樣ISA就成為了事實上的標準。
還有一些標準是行業(yè)共同協(xié)作開發(fā)的,由于在兼容產(chǎn)品上的共同切身利益,即使那些互相競爭的公司也參與了標準的開發(fā)。IEEE(電氣和電子工程師協(xié)會)、ANSI(美國國家標準學會)等組織寄一些國際組織如ISO(國際標準化組織)已經(jīng)承認了這些標準,并授予他們官方的地位。
一臺計算機使用的標準可能不止一個,如典型的Pentium計算機有PCI和ISA兩種總線以提供大范圍的設(shè)備給用戶選擇。
下面來簡單介紹三種廣泛使用的標準。
PCI(外圍部件互連)PCI標準定義了主板上的一種拓展I/O總線。它支持處理器總線的功能,但又以一種標準的形式獨立于任何的處理器。連接到PCI總線的設(shè)備在處理器看來就好像是他們是直接連接到處理器總線上的一樣。它們在處理器的存儲器地址空間內(nèi)分配地址。
PCI是一種廉價且真正獨立于處理器的總線。它的設(shè)計預(yù)見了為支持高速磁盤、圖形和視頻設(shè)備而引起的對總線帶寬需求的快速增長,也預(yù)見了對多處理器系統(tǒng)專業(yè)化需求的快速增長。PCI總線自1992年首次被推出,作為一個工業(yè)標準一直非常流行。
PCI總線首創(chuàng)的一個重要特性是I/O設(shè)備的即插即用。要連接一臺新的設(shè)備,用戶只需將設(shè)備接口板連接到總線上即可,其余操作由軟件來完成。
SCSI(小型計算機系統(tǒng)接口)SCSI標準用來連接機箱內(nèi)外的附加設(shè)備。SCSI總線是高速并行總線,用于像硬盤和視頻顯示器之類的設(shè)備。
SCSI總線標準經(jīng)歷了多次修改,它的數(shù)據(jù)傳輸能力增長的非???,幾乎每兩年就會翻一倍。連接到SCSI總線的設(shè)備不屬于處理器的地址空間,這與連接到處理器總線的設(shè)備是一樣的。SCSI總線通過SCSI控制器連接到處理器總線上。這個控制器采用DMA方式在主存和設(shè)備之間傳送數(shù)據(jù)包。數(shù)據(jù)包可能是一個數(shù)據(jù)塊,也可以是處理發(fā)送給設(shè)備的命令或設(shè)備的狀態(tài)信息。
USB(通用串行總線)USB標準也是用來連接機箱內(nèi)外的附加設(shè)備的,使用串行傳輸,適合鍵盤,游戲控制器和Internet連接等設(shè)備的需求。
USB的設(shè)計達到如下幾個主要目標:
提供一個簡單、廉價、使用方便的互聯(lián)系統(tǒng),克服由于計算機只能提供有限數(shù)量的I/O端口帶來的困難。
能夠滿足I/O設(shè)備的多種數(shù)據(jù)傳送特性,包括電話和Internet連接器。
采用“即插即用”的操作模式,使用戶操作更加方便。2
I/O方式(數(shù)據(jù)傳輸方式)通常,輸入輸出的基本控制方式(簡稱為I/O方式)有以下幾種:程序查詢方式、程序中斷方式、直接存儲器訪問(direct memory access, DMA)方式和通道方式。1
程序查詢方式CPU直接通過I/O指令對I/O接口進行操作訪問,主機與外部設(shè)備交換信息的每一過程均在程序中表示出來。如果接口尚未準備好,CPU就等待,如果已經(jīng)做好準備,CPU才能運行I/O指令。
CPU在讀I/O數(shù)據(jù)時,首先讀取狀態(tài)寄存器中的標志,以判斷I/O數(shù)據(jù)是否準備好。如果還沒準備好,則CPU要繼續(xù)查詢狀態(tài);如果當標志指出數(shù)據(jù)已經(jīng)準備就緒,則CPU讀取I/O數(shù)據(jù)寄存器的內(nèi)容。
CPU在寫數(shù)據(jù)時也采用類似的辦法。CPU首先讀取I/O狀態(tài)寄存器中的標志,以判斷I/O寄存器是否空閑。如果不空閑(還沒準備好),則CPU要一直查詢I/O狀態(tài);當標志指出輸出寄存器已經(jīng)準備空閑,CPU寫數(shù)據(jù)到輸出寄存器。
程序中斷方式CPU首先對I/O接口及一個中斷控制器進行初始化,然后去運行CPU自己的程序(用戶程序)。當I/O設(shè)備準備好時,由中斷控制器向CPU發(fā)出中斷請求。CPU在收到中斷請求后,若能響應(yīng)中斷,則暫時停止當前正在運行的程序,轉(zhuǎn)去運行中斷服務(wù)程序,然后再返回被中斷的程序繼續(xù)運行。顯然,程序中斷方式省去了程序查詢方式下的I/O狀態(tài)查詢時間,因此提高了效率。
DMA方式在主存與I/O設(shè)備之間直接傳輸數(shù)據(jù),傳輸過程中并不需要CPU干預(yù),而是由一個稱為DMA控制器(DMAC,direct memory access controller)的硬件控制器來實現(xiàn)的。這種由硬件來直接實現(xiàn)I/O數(shù)據(jù)傳輸?shù)姆椒ū环Q為直接存儲器訪問方式。
CPU要做的事情就是對DMAC進行初始化,初始化的工作包括I/O數(shù)據(jù)在主存中的地址,每次傳輸?shù)淖止?jié)數(shù),以及數(shù)據(jù)的傳輸方向等。
DMA在存儲器和I/O設(shè)備之間建立數(shù)據(jù)通路,讓I/O設(shè)備和內(nèi)存通過該數(shù)據(jù)通路直接交換數(shù)據(jù),不經(jīng)過CPU的干預(yù),實現(xiàn)內(nèi)存與外設(shè)之間的快速數(shù)據(jù)傳送。減少CPU等待時間。3
通道方式通道是一個專用控制器,它通過運行通道程序來進行I/O操作的管理,為主機和I/O設(shè)備提供一種數(shù)據(jù)傳輸通道。CPU先給通道準備好數(shù)據(jù)和命令,然后發(fā)送簡單的通道命令,啟動通道開始工作。若啟動成功,則CPU可以繼續(xù)運行自己的運算處理。而通道則運行相應(yīng)的通道程序,管理有關(guān)的I/O設(shè)備,當運行完指定的任務(wù)后,再通知CPU。這就使CPU擺脫了大量的I/O管理工作,可以高速的處理其他數(shù)據(jù)。1