什麼是前端總線,後端總線,內部總線、系統總線,外部總線,地址總線,數據總線,控制總線

文章
部分內容來自於 電子發燒友 內部總線、系統總線和外部總線彙總
部分內容來自於 知乎 前端總線,系統總線,內部總線,外部總線

本文是在兩篇文章的基礎上進行了二次加工,對兩篇文章的精華內容進行了提煉,刪掉了對理解主題不重要的,或已經過時的內容。並且爲了更好的理解,自己又加了一些文字和圖片。

說在前面的話

對於這樣的概念不需要太過於糾結,看完以後心中有個大體的把握即可,因爲概念性的東西沒有標準答案,而且國內外各種資料相互“打架”,衆說紛紜,造成現在這樣一種概念混亂的局面。重要的是知道了這些概念之後,在以後的實際解決問題中,頭腦能比較清楚就行。


好了,正文開始

什麼是前端總線,內部總線、系統總線和外部總線?

首先把這個問題僅限於x86平臺。其他cpu架構不見得是這麼分。並且僅限於2000-2009年範圍。這些概念也許只有DIYer圈知道。近幾年intel的動作頻頻,把南北橋都要合併了。這個問題,再過幾年也許就沒意義了。
++++++++++++++++++++++++++我是時間線++++++++++++++++++++++++++++++++++++
2009年,英特爾和AMD已採用單芯片組技術,取代原有的南橋/北橋方案。Intel平臺北橋被內置到CPU中。還有一些處理器,比如Intel超低壓CPU、Intel Xeon D等Intel CPU已經內置南橋。


什麼是總線

總線(Bus)是供多個部件分時共享的公共信息傳送線路,一個系統的總線結構決定了該計算機系統的數據通路及系統結構。如今,幾乎所有的計算機系統中都採用了總線結構。

在微型計算機中,總線以及所連接的部件都安放在主板(Main Board)上。計算機在運
行中對於系統內的部件和外部設備的控制都通過主板實現,主板的組成與佈局也影響着系
統的運行速度、穩定性和可擴展性。

從另一個角度來看,如果說主板(Mother Board)是一座城市,那麼總線就像是城市裏的公共汽車(bus),能按照固定行車路線,傳輸來回不停運作的比特(bit)。這些線路在同一時間內都僅能負責傳輸一個比特。因此,必須同時採用多條線路才能發送更多數據,而總線可同時傳輸的數據數就稱爲寬度(width),以比特爲單位,總線寬度愈大,傳輸性能就愈佳。

總結:個人感覺總線就是爲了主板上各種東西的通信,建立的一些邏輯電路。


總線的分類

總線應用很廣,形態多樣,從不同的角度可以有不同的分類方法。下面列舉幾種。

1.按照總線傳遞的信號性質分類

按照總線傳遞的信號性質,可將其分爲 3 種。
(1)地址總線(Address Bus,AB),用來傳遞地址信息。
(2)數據總線(Data Bus,DB),用來傳遞數據信息。
(3)控制總線(Control Bus,CB),用來傳遞各種控制信號。

2.按照總線所處的位置分類

按照總線所處的位置分爲機內總線和機外總線。

機內總線分爲片內總線片外總線片內總線CPU 芯片內部用於在寄存器、ALU 以及控制部件之間傳輸信號的總線;片外總線CPU 芯片之外,用於連接 CPU、內存以及 I/O設備的總線。

機外總線與外圍設備接口的總線,實際上是一種外設的接口標準。目前在微型計算機上流行的接口標準有 IDE、SCSI、USB 和 IEEE 1394 等。

3. 按照總線在系統中連接的主要部件分類

按照總線在系統中連接的主要部件,可以將總線分爲 5 種。
(1)存儲總線:連接存儲器。
(2)DMA 總線:連接 DMA 控制器。
(3)系統總線:連接 I/O 通道總線和各擴展槽。
(4)I/O(設備)總線:連接外部設備控制芯片。
(5)局部總線:通常是一種實現高速數據傳送的高性能總線,用來在高度集成的外設控制器器件,擴展板和處理器/存儲器系統之間提供一種內部連接機制。

4. 按照總線傳輸的數據單位分類

按照總線傳輸的數據單位分爲串行總線和並行總線。圖 3.2 爲兩者示意圖。
在這裏插入圖片描述
(1)串行總線按位進行傳輸,每次傳輸一個位的數據。
(2)並行數據每次傳輸多位,通常有 8b、16b、32b 和 64b 等幾種。所以,並行傳輸除了控制信號、電源等之外,要傳輸多少位數據,就需要多少根數據線。

5. 按照發送端與接收端有無共同的時鐘分類

按照發送端與接收端有無共同的時鐘,總線可以分爲同步總線異步總線等類型。

6. 按照系統中使用的總線數量分類

大多數總線都是以相同方式構成的,其不同之處僅在於總線中數據線和地址線的數目,以及控制線的多少及功能。按照系統中使用的總線的條數可以分爲單總線結構、雙總線結構和多總線結構。

單總線結構

單總線結構使用一組單一的系統總線來連接 CPU、主存和 I/O 設備。在這類系統中,同一類信息在不同部件間傳遞時,通過同一組總線,或者說,所有的模塊都掛在同一組總線上
在這裏插入圖片描述
這種總線結構連接靈活、易於擴充。單總線結構容易擴展成多 CPU 系統,這隻要在總線上掛接多個 CPU 即可。因所有信息都在一組系統總線上傳送,故信息傳輸的吞吐量受到限制。
在這裏插入圖片描述

雙總線結構

雙總線結構保持了單總線結構簡單、易於擴充的優點,又在 CPU 和主存之間有一組專門高速總線,使 CPU 可與主存迅速交換信息,而主存不必經過 CPU 仍可通過總線與外設之間實現 DMA 操作。這樣,緩解了對系統總線和 CPU 的壓力,提高了系統的效率。
在這裏插入圖片描述
由於各種設備對於總線的要求不同,在設備不斷增加的形勢下,總線趨向於分級的總線結構。

三級總線結構。

在雙總線的基礎上增加了I/0總線,這條線就是所有外設與“通道“通信的一條線。”通道“乍一聽好像很抽象,其實就是南橋芯片。各芯片組廠商的南橋名稱都有所不同,例如英特爾稱之爲I/O路徑控制器(ICH)或平臺路徑控制器(PCH)。
在這裏插入圖片描述
上圖中的”通道“就是下圖的局部I/O控制器,I/O總線就是下面的擴展總線。
在這裏插入圖片描述
這種三級總線結構一般用於 I/O 設備性能相差不大的情況。在高速的視頻設備、網絡、硬盤等大量湧現的情況下,將它們與低速設備(如打印機、低速串口設備)接在同一條總線上,非常影響系統的效率。進一步的改進是爲這些高速設備設立一條單獨的高速總線,形成如圖 3.4 所示的由系統總線、局部總線、高速總線和擴展總線組成的四級總線結構
在這裏插入圖片描述

上面已經對總線進行比較全面的分類,不過僅僅只是分了類,缺乏一些詳細的內容,下面的部分就來補充一下,幫助理解的更全面。

補充

1、總線按功能和規範可分爲五大類型:數據總線地址總線控制總線擴展總線局部總線

地址總線:是專門用來傳送地址的,由於地址只能從CPU傳向外部存儲器或I/O端口,所以地址總線總是單向的,這與數據總線不同,地址總線的位數決定了CPU可直接尋址的內存空間大小

控制總線:用來傳送控制信號時序信號。控制信號中,有的是微處理器送往存儲器和I/O接口電路的;也有是其它部件反饋給CPU的,比如:中斷申請信號、復位信號、總線請求信號、設備就緒信號等。

  • 一般規定送入 CPU 的信號稱爲輸入信號(IN),從 CPU 發出的信號稱爲輸出信號(OUT)。例如,地址總線是輸出線,數據總線是雙向傳送,控制總線一般是單向的,有輸出的也有輸入的,如下圖
    在這裏插入圖片描述

數據總線地址總線控制總線也統稱爲系統總線,即通常意義上所說的總線。常見的系統總線看下面的圖
在這裏插入圖片描述
上述這些標準中有些已經被淘汰,有些正在被應用,有些即將被應用

2、按照傳輸數據的方式劃分,可以分爲串行總線並行總線。串行總線中,二進制數據逐位通過一根數據線發送到目的器件;並行總線的數據線通常超過2根。常見的串行總線有SPI、I2C、USB及RS232等。

3、按照時鐘信號是否獨立,可以分爲同步總線異步總線。同步總線的時鐘信號獨立於數據,而異步總線的時鐘信號是從數據中提取出來的。SPI、I2C是同步串行總線,RS232採用異步串行總線。

4、微機中總線一般有內部總線系統總線外部總線內部總線是微機內部各外圍芯片與處理器之間的總線,用於芯片一級的互連;而系統總線是微機中各插件板與系統板之間的總線,用於插件板一級的互連;外部總線則是微機和外部設備之間的總線,微機作爲一種設備,通過該總線和其他設備進行信息與數據交換,它用於設備一級的互連。
在這裏插入圖片描述


內部總線

內部總線原是指南橋芯片與北橋芯片之間的連線。下圖南北橋中間的Internal Bus就是內部總線
在這裏插入圖片描述
在早期的主板上,對於Intel來說,這條內部總線有專門的名字,叫DMI(Direct Media Interface,直接媒體接口)。

現在英特爾和AMD已採用單芯片組技術,取代原有的南橋/北橋方案。所以現在的內部總線不再是原來的意思了。

外部總線上,還有一些零碎的低速小芯片。這個一般用戶接觸不到,是給製造商的開發人員用的。例如網卡需要一片eeprom來存唯一的MAC地址。很多pci卡上都能找到這些小flash。某些pci卡還有溫度傳感器。網卡的MAC和PHY之間也要有總線來讀取鏈接速度、是否link等信息。控制這些小芯片使用諸如I2C SPI總線,即所謂的內部總線。

科普時間

I2C總線:I2C(Inter-IC)總線是同步通信的一種特殊形式,在主從通信中,可以有多個I2C總線器件同時接到I2C總線上,通過地址來識別通信對象。

SPI總線:SPI(Serial Peripheral Interface:串行外設接口)。SPI接口主要應用在EEPROMFLASH,實時時鐘之間。


前端總線

前端總線(FSB,Front Side Bus)是指中央處理器數據總線的專門術語,此總線負責中央處理器和北橋芯片間的數據傳遞。現在的x86處理器內置了存儲器控制器,FSB已被Intel QPI和AMD HyperTransport取代,QPI和HyperTransport在下面有科普。

某些帶有L2和L3緩存(Cache)的CPU,通過後端總線(Back Side Bus,下面會介紹後端總線)實現這些緩存和中央處理器的連接,而此總線的數據傳輸速率總是高於前端總線。

通俗的說,前端總線(FSB)就是CPU和北橋、內存的連接總線了。北橋是PCI/PCIe 總線的發源地。但是由於技術的進步,FSB已經被取代,AMD很早就開始採用自己的HyperTransport(後續版本更改爲HyperTransport Link簡稱HT link)代替了FSB來提高cpu與內存等芯片的數據傳輸速度,而intel亦採用QuickPathInterconnect(QPI)技術。但是總體上講,這兩種技術都是FSB的進化。

科普時間

QPI

快速通道互聯(英語:Intel QuickPath Interconnect,縮寫:QPI),是一種由英特爾開發並使用的點對點處理器互連架構,用來實現CPU之間的互聯。英特爾在2008年開始用QPI取代以往用於至強(Xeon)、安騰處理器的前端總線(FSB)。

HyperTransport

HyperTransport總線技術,簡稱“HT總線”,是AMD開發的一種處理器的互連技術。

前方高能 HT and HTT

賣場中常有“HT總線”與日後英特爾“HT技術”的混淆,然而這兩個是截然不同的技術。HT一般指HyperTransport,或簡稱HT總線,一般情況下HyperTransport聯合會都是使用全稱“HyperTransport”以免造成歧義。而應用於奔騰4處理器、英特爾Nehalem微架構及其後續微架構之處理器的“HT技術”,英特爾的官方簡稱是HTT,Hyper-Threading Technology 或簡稱HT Technology(HT技術)。


後端總線

後端總線(BSB,Back Side Bus):帶有L2和L3緩存(Cache)的計算機中,負責中央處理器和外部緩存(經常爲第二級緩存)之間的數據傳遞的數據通道。後端總線傳輸速率總是高於前端總線。用於處理緩存數據的後端總線實際上是以CPU時鐘速度運行。在在90年代中期,後端總線曾是保持數據移動的重要路徑。Intel公司的Pentium II和Pentium Pro都使用所謂的芯片外緩存(Cache),與保存在傳統內存中的數據相比,這類緩存將經常使用的數據靠近(在訪問數據所需的距離和時間上)主處理單元保存。連線將CPU連接到第二級(L2)緩存並以CPU時鐘速度在CPU與L2緩存之間交換數據。
在這裏插入圖片描述


系統總線

特指 PCI/PCIe 總線。這是Intel主導發展的總線標準。

什麼?還有EISA、VESA總線?請把他們遺忘在20世紀吧。勝者爲王。

人的大腦和其他的器官、四肢,大部分靠脊髓相連。PCI/PCIe 總線 ,就相當於x86架構機器的脊髓。其他內部總線、外部總線,都是掛在系統總線上的。USB、SATA、1394,統統是 PCI/PCIe 總線的下級。主要因爲PCI/PCIe 總線帶寬高;擁有硬件探測能力;改進的標準能熱插拔。順帶提一下,因爲PCI/PCIe 總線的硬件探測能力,加上微軟定義的幾套PC製造標準,我們才能一張xp盤裝無數的x86機器。

科普時間

PCI總線:PCI(Peripheral Component Interconnect)外設元件互連標準。PCI總線是當前最流行的總線之一,它是由Intel公司推出的一種系統總線。它定義了32位數據總線,且可擴展爲64位。PCI總線主板插槽的體積比原ISA總線插槽還小,其功能比VESA、ISA有極大的改善,支持突發讀寫操作,最大傳輸速率可達132MB/s,可同時支持多組外圍設備。PCI總線不能兼容現有的ISA、EISA、MCA總線,但它不受制於處理器,是基於奔騰等新一代微處理器而發展的總線。
在這裏插入圖片描述
在這裏插入圖片描述


外部總線

諸如USB,SATA,IDE,1394,串口,以太網,這些暴露給普通用戶插的,就是外部總線。前面提到過,他們都是PCI/PCIe 總線 的下級。例如在PCI/PCIe 總線上,USB控制器是pci設備。在USB總線上,USB控制器又是頭頭,U盤是設備。 U盤裏的數據想去cpu,得經由 usb總線 -->pci總線–>前端總線–>CPU

科普一下USB
USB總線:通用串行總線USB是由Intel、Compaq、Digital、IBM、Microsoft、NEC、NorthernTelecom等7家世界著名的計算機和通信公司共同推出的一種新型接口標準。它基於通用連接技術,實現外設的簡單快速連接,達到方便用戶、降低成本、擴展PC連接外設範圍的目的。它可以爲外設提供電源,而不像普通的使用串、並口的設備需要單獨的供電系統。
在這裏插入圖片描述

總結:

PC上一般有五種總線:

  • 數據總線(Data Bus):在CPU與RAM之間來回傳送需要處理或是需要儲存的數據。
  • 地址總線(Address Bus):用來指定在RAM(Random Access Memory)之中儲存的數據的地址。
  • 控制總線(Control Bus):將微處理器控制單元(Control Unit)的信號,傳送到周邊設備,一般常見的爲USB Bus和1394 Bus
  • 擴展總線(Expansion Bus):可連接擴展槽和電腦。
  • 局部總線(Local Bus):取代更高速數據傳輸的擴展總線。

PS

做底層開發的,其實根本不關心內部總線、外部總線、系統總線這些叫法,因爲這些叫法都不標準,充滿歧義。真正幹活時,總是明確地指出總線的具體名稱:USB、PCIE、I2C、SPI。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章