1. 程式人生 > >匯流排及微控制器各種線 以及資料匯流排寬度

匯流排及微控制器各種線 以及資料匯流排寬度

匯流排:我們知道,一個電路總是由元器件通過電線連線而成的,在類比電路中,連線並不成為一個問題,因為各器件間一般是序列關係,各器件之間的連線並不很多,但計算機電路卻不一樣,它是以微處理器為核心,各器件都要與微處理器相連,各器件之間的工作必須相互協調,所以就需要的連線就很多了,如果仍如同類比電路一樣,在各微處理器和各器件間單獨連線,則線的數量將多得驚人,所以在微處理機中引入了匯流排的概念,各個器件共同享用連線,所有器件的8根資料線全部接到8根公用的線上,即相當於各個器件並聯起來,但僅這樣還不行,如果有兩個器件同時送出資料,一個為0,一個為1,那麼,接收方接收到的究竟是什麼呢?這種情況是不允許的,所以要通過控制線進行控制,使器件分時工作,任何時候只能有一個器件傳送資料(能有多個器件同時接收)。  

器件的資料線也就被稱為資料匯流排,器件所有的控制線被稱為控制匯流排。  
在微控制器內部或者外部儲存器及其它器件中有儲存單元,這些儲存單元要被分配地址,才能使用,分配地址當然也是以電訊號的形式給出的,由於儲存單元比較多,所以,用於地址分配的線也較多,這些線被稱為地址匯流排。 --------------------- 本文來自 tszy208 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/tszy208/article/details/74625958?utm_source=copy

 

CPU通過地址匯流排定址,然後通過資料匯流排與外部裝置互換資訊。

地址匯流排

地址匯流排的位數決定CPU定址範圍。
若CPU的地址匯流排寬度是32位,那麼CPU的定址範圍是4G,所以最多支援4G記憶體。

資料匯流排

資料匯流排的位數決定CPU單次通訊能交換的資訊數量

資料匯流排的寬度對CPU的效能的影響

  1. 首先,匯流排的速度(即:CPU的主頻,CPU的效能指標之一)決定CPU和外設互換資訊的速度。

  2. 其次,資料匯流排的寬度也是表示CPU效能的引數之一(通常,我們說“64位的CPU”是指CPU的資料匯流排的寬度是64位)。
    如:64位資料匯流排的CPU一次就能取出64bit的資料,8位資料匯流排的CPU一次只能取出8bit的資料,在相同頻率的情況下,8位資料匯流排的CPU就得連續取8次資料,資料量才能和64位資料匯流排一次取出的資料量相同,單就比較取資料的效能就相差8倍。況且,通常CPU中的暫存器的位數與資料匯流排的寬度一樣,所以在資料處理方面,64位的CPU又比8位的CPU快很多。

  3. CPU的地址匯流排位數和資料匯流排可以不同(典型代表就是51微控制器),但是一般都相同。

以下內容摘抄自網友的文章:
地址匯流排寬度不是直接影響到效能的引數。給個例子:
假如說有個36位地址匯流排寬度、32位資料匯流排寬度的A型號的CPU,
假如還有個32位地址匯流排寬度、32位資料匯流排寬度的B型號的CPU。
你覺得這兩個型號的CPU效能上能差到哪嗎?只不過B型號的CPU地址超過了32位可能就不行能,也可能需要用其他的方式組合出更長位寬的地址來,總之不如A型號直接、高效。但是,只要不是這樣的情況,A和B的其他因素相同,你覺得A和B兩個CPU的效能差到哪嗎。

其實,intel的x86CPU就剛好有這樣的情況,36位地址匯流排寬度、32位資料匯流排寬度,暫存器是32位的,你會想,那暫存器放不下36位的地址,那怎麼辦呢,其實它是用某種方法組合出來的36位地址,段地址32位向高位偏移4位後加上偏移地址,就出來36位的地址。
一般,暫存器的寬度和資料匯流排寬度是一致的,地址匯流排可以通過某種方式組合出來,所以可以不一致。畢竟暫存器絕大部分時間是要儲存和處理資料的,不是嗎,地址作為資料使用的情況在整個程式執行中佔的時間是很少數的。

--------------------- 本文來自 QCZTZSWT357 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/qcztzswt357/article/details/52924770?utm_source=copy