【正文】
B總線具有使用方便靈活、速率高等優(yōu)點(diǎn),已受到用戶的廣泛歡迎。目前,它可以連接多種不同速率、不同要求的外設(shè),包括鍵盤、鼠標(biāo)、掃描儀、打印機(jī)、光驅(qū)、移動(dòng)盤、數(shù)碼相機(jī)等。 2. USB總線的特點(diǎn) ① 連接靈活、使用方便。 ② 速度快。 ③ 低成本電纜(和 Hub)連接。 3. USB總線的系統(tǒng)結(jié)構(gòu) ?USB系統(tǒng)中的設(shè)備與主機(jī)的連接方式采用星形結(jié)構(gòu),其總線的拓?fù)浣Y(jié)構(gòu)如圖所示。 ?USB上所掛接的外設(shè)通過由主機(jī)調(diào)度的、基于令牌的協(xié)議來共享 USB帶寬。主機(jī)與設(shè)備端點(diǎn)之間的 USB數(shù)據(jù)傳輸模型稱為管道。管道有兩種類型:消息(具有 USB定義的結(jié)構(gòu))和流(沒有 USB定義的結(jié)構(gòu))。 ?管道和數(shù)據(jù)帶寬、傳輸服務(wù)類型(有控制傳輸、塊傳輸、中斷傳輸和等時(shí)傳輸 4種類型)、端點(diǎn)特點(diǎn)(如方向性、緩沖區(qū)大小)有關(guān)。當(dāng) USB設(shè)備配置時(shí),大多數(shù)管道已形成。一旦設(shè)備加電,總是形成一個(gè)被稱為默認(rèn)控制管道的消息管道,以便提供對(duì)設(shè)備配置、狀態(tài)和控制信息的訪問。 4. USB通信 ?USB設(shè)備不直接消耗資源, USB設(shè)備不映射到內(nèi)存或 I/O地址空間,也不使用 IRQ或 DMA通道。所有的事務(wù)處理都是由主機(jī)系統(tǒng)完成的, USB系統(tǒng)需要的系統(tǒng)資源僅僅是給出一定的內(nèi)存緩沖區(qū)。 IEEE 1394總線 1. IEEE 1394總線的由來 ?IEEE 1394高性能串行總線由 Apple公司于 1993年首先提出,用以取代 SCSI的高速串行總線“ Firewire”。但是,直到1995年 SONY公司推出的數(shù)碼攝像機(jī)加上了 IEEE 1394接口以后,才真正引起人們的廣泛重視。后經(jīng) IEEE協(xié)會(huì)于 1995年 12月正式接納成為工業(yè)標(biāo)準(zhǔn),且先后在 1997年和 1998年兩次由 Microsoft, Intel和 Compaq幾家公司共同制定的 PC97和PC98系統(tǒng)設(shè)計(jì)指南中,規(guī)定把 USB, IEEE 1394作為外設(shè)的新接口標(biāo)準(zhǔn)加以推廣。 2. IEEE 1394總線的特點(diǎn) ① 傳輸?shù)乃俾矢摺? ② 連接簡單、使用方便。 ③ 采用對(duì)等結(jié)構(gòu)( Peer to Peer)。 ?IEEE 1394總線的重要特點(diǎn)是指定了一組三層協(xié)議來標(biāo)準(zhǔn)化主機(jī)與外設(shè),通過串行總線進(jìn)行數(shù)據(jù)交互。協(xié)議的三層包括物理層、鏈接層和交換層,總線管理將這三個(gè)層次連接起來,如圖所示。 3. IEEE 1394協(xié)議結(jié)構(gòu) ?IEEE 1394總線的設(shè)備地址為 64位寬 。 ?IEEE 1394支持異步和同步(等時(shí))兩種數(shù)據(jù)傳輸方式。 4. IEEE 1394總線工作過程 首先, IEEE 1394總線必須初始化,才能使用交換層來傳送命令、數(shù)據(jù)和狀態(tài)。當(dāng)總線順利完成初始化以后,每個(gè)節(jié)點(diǎn)都得到一個(gè)各不相同的節(jié)點(diǎn)標(biāo)志 NodeID。 然后,啟動(dòng)設(shè)備讀第一個(gè)節(jié)點(diǎn)的構(gòu)造 ROM來尋找實(shí)現(xiàn)串行總線協(xié)議 SBP( Serial Bus Protocol)的節(jié)點(diǎn)。尋找結(jié)束后,SBP被初始化。接著開始同步或異步注冊(cè)( Login)過程,注冊(cè)完畢,就可以進(jìn)行數(shù)據(jù)傳輸了。若傳輸過程中出現(xiàn)錯(cuò)誤,則必須進(jìn)行異常處理。 5. IEEE 1394總線與 USB總線的性能比較 指 標(biāo) IEEE 1394總線 USB總線 傳輸速率 100Mb/s, 200Mb/s, 400Mb/s 12Mb/s, 480Mb/s 可連接節(jié)點(diǎn)數(shù) 63 127 節(jié)點(diǎn)間距離 5m 信號(hào)線數(shù) 6條 ( 電源線 2條 、 信號(hào)線 4條 ) 4條 ( 電源線 2條 、 信號(hào)線 2條 ) 編碼方式 DSLink ZRZI IEEE 1394總線與 USB總線性能比較表 7. 5 多總線分級(jí)結(jié)構(gòu) ■ 一個(gè)計(jì)算機(jī)系統(tǒng)中采用兩個(gè)以上總線的情況就是 多總線分層結(jié)構(gòu) 。 單總線結(jié)構(gòu) ? 早期的計(jì)算機(jī)采用單總線結(jié)構(gòu)方式。 ? 它將 CPU、主存、 I/O模塊都掛接在一個(gè)總線上, ? CPU與主存、 CPU與 I/O模塊、主存與 I/O模塊之間的傳送都通過一組總線進(jìn)行。 ? PDP11和國產(chǎn) DJS183機(jī)采用這種單總線結(jié)構(gòu)。 ? 單總線結(jié)構(gòu)如圖 CPUMM I/ O……I/ O圖 單總線結(jié)構(gòu) ? 單一總線體系 結(jié)構(gòu)簡單 、 便于擴(kuò)充 。 ? 總線上掛接了大量的 高速設(shè)備 (如:視頻和圖形控制器、LAN控制器等)后,單一總線就再也無法滿足系統(tǒng)的要求。 ? 所有傳送都共享一組總線,極易使總線 成為整個(gè)系統(tǒng)的瓶頸 。 ? 大量設(shè)備 接到總線上后,性能就會(huì)急劇下降 雙總線結(jié)構(gòu) ? 在單總線的基礎(chǔ)上再開辟一條 CPU與主存之間的通路,形成 以主存儲(chǔ)器為中心 的雙總線結(jié)構(gòu)。 C P U MM I / O …… 系統(tǒng)總線 I / O I / O 主存總線 圖 (a) 以主存為中心的雙總線結(jié)構(gòu) ? CPU與主存間的通路稱為主存總線。 ? 主存總線的速度較高 ,由于只在主存與 CPU之間傳輸信息,因而速度快,效率高,又減輕了系統(tǒng)總線的負(fù)擔(dān)。 ? 主存與 I/O之間能直接傳送,而 不需通過 CPU。 ? 國產(chǎn) DJS184機(jī)采用該總線結(jié)構(gòu)。 ? 采用 IOP方式的雙總線結(jié)構(gòu) ? 主要用在 采用輸入 /出處理器 ( IOP)方式進(jìn)行 I/O傳送的計(jì)算機(jī)系統(tǒng)中; ? 基本思想是 將 I/O設(shè)備從單總線上分離出來 ,將原先的單總線分成主存總線和 I/O總線。 ? CPU、主存和輸入 /出處理器之間的信息傳送 在主存總線上進(jìn)行 ; ? I/O設(shè)備與主機(jī)之間的信息交換 通過 I/O總線和主存總線進(jìn)行 。 C P U MM I / O …… I O P I / O 總線 主存總線 I / O I / O 圖 (b) 采用 IOP方式的雙總線結(jié)構(gòu) ? 通過 IOP將 CPU和 I/O分離開來。減輕了 CPU參與 I/O的負(fù)擔(dān)。 ? 這種總線結(jié)構(gòu)是一種分層的總線結(jié)構(gòu),會(huì)將不同特性的外設(shè)分類掛接在輸入 /出處理器的不同通道上。 ? 輸入 /出處理器是一種專門用于進(jìn)行輸入 /出控制的特殊處理器,它將 CPU中大部分 I/O控制任務(wù)接管過來,從而具有對(duì)各種 I/O設(shè)備進(jìn)行統(tǒng)一管理的功能。 三總線結(jié)構(gòu) ? 在主存和高速的磁盤等設(shè)備之間引入一個(gè) DMA總線 ,那么系統(tǒng)可構(gòu)造一種三總線結(jié)構(gòu)。 (圖 ) ? 在三總線結(jié)構(gòu)中,主存總線用于 CPU和主存之間的信息傳送; ? I/O總線用于 CPU和各個(gè) I/O之間進(jìn)行信息傳輸; ? DMA總線用于 高速外設(shè)和主存之間 的信息交換; ? 在三總線結(jié)構(gòu)中, DMA總線和主存總線 不能同時(shí)用于訪問主存 。 C P U MM I /O …… I /O 總線 D M A 總線 主存總線 高速I/O I /O I /O 圖 三總線結(jié)構(gòu) ? 這種結(jié)構(gòu)引入了一條或多條擴(kuò)充 I/O總線 (如 ISA、 EISA、MCA總線等 ),主存總線和 擴(kuò)充 I/O總線 上 I/O設(shè)備之間的數(shù)據(jù)傳送可以通過擴(kuò)充總線接口來緩沖,將 I/O設(shè)備 主存間的通信與處理器的活動(dòng)隔離開來。 ? 傳統(tǒng)的總線結(jié)構(gòu)采用 處理器 Cache總線 、主存總線、I/O總線三級(jí)總線結(jié)構(gòu)。(圖 ) ? 處理器和高速緩存之間通過專門的 局部總線相連 ,并且可將其他靠近 CPU的局部設(shè)備連接到該總線。 ? 高速緩存同時(shí)還與主存儲(chǔ)器一起 連接到主存總線 上,它們之間通過主存總線進(jìn)行數(shù)據(jù)傳輸。 ? 傳統(tǒng)總線結(jié)構(gòu)在 I/O設(shè)備性能都相差不大 的情況下比較有效; ? 高速的視頻圖形設(shè)備、 LAN和 SCSI 設(shè)備等如果還和低速的串行接口、打印機(jī)等連在同一個(gè)總線上的話,勢(shì)必 會(huì)影響系統(tǒng)的效率 。 C PUCache局部總線局部 I / O 控制器主存主存總線擴(kuò)展總線接口L AN SCSI F AX 串口擴(kuò)展總線圖 傳統(tǒng)的三級(jí)總線結(jié)構(gòu) ? 高性能多級(jí)總線結(jié)構(gòu) ? 在主存總線和擴(kuò)充 I/O總線之間引入一種 高速總線 (如 VL總線、PCI總線等 ),將那些高速的大容量 I/O設(shè)備掛接在這種高速總線上。而低速 I/O設(shè)備仍然由擴(kuò)充 I/O總線支持。(圖 ) CPUCa c h e / 橋局部總線SCSI高速總線擴(kuò)展總線接口Mo d e m F A X 串口擴(kuò)展主存L A N 圖形設(shè)備主存總線線圖 高性能多級(jí)總線結(jié)構(gòu) 多總線分級(jí)結(jié)構(gòu)舉例 ? 典型的多處理器系統(tǒng)的 PCI配置(圖 ) ? Host/PCI橋,常稱為北橋( North Bridge),用于連接 主處理器總線和第一級(jí) PCI總線 。 ? PCI/ E(ISA)橋常稱為南橋( South Bridge),用于連接 PCI總線和 E(ISA)總線 。南橋中通常含有中斷控制器、 IDE控制器、 USB主控制器和 DMA控制器。 ? 北橋和南橋構(gòu)成一個(gè)芯片組。在 PCI總線和 PCI總線之間可以 嵌入一個(gè)或多個(gè) PCI/PCI橋 。 CPU CPUN ort hB ri dgeMainMem oryA G PG raphic sA ccel erat orAGPPortV i deoB IO SL ocalV i deoMem oryDVDH ost P or tV i deo P or tMonit orV MI( V i deo Module I / F )C C I R 60 1E t hern et SC SIH B ASouthB ri dgeI nt er r uptcontr ol l erI D EH ar dD r i v ePC I Sl ot sI D E C D R O MI R Q sU S BIOA PI CPC I I R Q sSuperIOI SA B usSyst emB IO SI SA Sl ot sSoun dC l i p setC O M2C O M1軟盤打印機(jī)鍵盤鼠標(biāo)麥克風(fēng)音箱耳機(jī)R T CPC I B us圖7.23 典型的多處理器系統(tǒng)的PCI配置 ? 一種典型的多總線分級(jí)結(jié)構(gòu)( Pentium Pro服務(wù)器系統(tǒng)體系結(jié)構(gòu)框圖) E( I SA ) 總線P e ni t um P r o 總線A P I C 總線PCI 總線PCI 總線CP U3( B SP)主存PC I /E( I SA) 橋I O A P I CM odu l e輔助 PBHost/P CI 橋CP U2( AP )CP U1( AP )CP U0( AP )Host/P CI 橋兼容 PB圖7.24 Pentium Pro服務(wù)器系統(tǒng)體系結(jié)構(gòu)框圖 ? 圖 1.何為處理器簇? ? “ 處理器簇 (Processor Cluster)”是指掛接在 Pentium Pro處理器總線上的所有處理器的集合,它由一個(gè)到四個(gè)處理器組成。 2.什么是 BSP處理器? ? BSP處理器 (BootStrap processor)是指系統(tǒng)啟動(dòng)時(shí)讀取并執(zhí)行 POST( PowerOn SelfTest)程序的那個(gè)處理器。 3. BSP如何啟動(dòng)其他處理器? ? 在 BSP中執(zhí)行的代碼中有部分代碼是用來檢測(cè)存在的其他處理器的。 檢測(cè)到的這個(gè)信息以 MP表(多處理器表)的形式被存儲(chǔ)到一個(gè)非易失性存儲(chǔ)器中 ,一個(gè)多處理器操作系統(tǒng)用這個(gè)信息來確定可用的處理器及其類型和特征; ? MP OS會(huì)指示一個(gè)總線主控設(shè)備(即:磁盤控制器) 裝入一個(gè)任務(wù)到主存 ; ? 在 BSP中執(zhí)行的 OS內(nèi)核就會(huì)讓 BSP的內(nèi)部 APIC通過 APIC總線向其他某個(gè)處理器發(fā)出一個(gè) StartupIPI( IntelProcessor Interrupt)中斷或消息,在這個(gè)消息包中包含了 剛裝入到主存中的程序的起始地址 ; ? 接收到 StartupIPI消息的處理器立即退出等待 IPI狀態(tài),開始讀取并 執(zhí)行主存中的程序 。 4.處理器和主存的關(guān)系 ? 處理器都含有 L2 Cache以及 L1 Data Cache和 L1 Code Cache 。 ? 一旦軟件使處理器的 Cache處于使能狀態(tài),那么 Cache就開始從主存儲(chǔ)器復(fù)制信息 ; ? 在從主存復(fù)制信息時(shí),處理器總是每次傳送 32個(gè)字節(jié)的數(shù)據(jù)塊 ;每個(gè)數(shù)據(jù)塊稱為一頁。 ▲ 在處理器的 L2 Cache和 L1 Data Cache中的每一頁必須是以下 四種狀態(tài)之一 ? I( Invalid)態(tài):