減少接線最直覺的方法-資料匯流排與位址匯流排(Data Bus and Address Bus)
使用一組線將微電腦系統的三大部分的每一個可能參與資料存取的元件通通連結在起來,讓每一個欲取得資料的裝置都經過這組共用線。
資料匯流排與位址匯流排(Data Bus and Address Bus)
電腦系統結構是以CPU為中心再加上記憶體及週邊電路組成,他們之間為了訊號傳輸,必需以導線連接訊號傳送者與訊號接收者。訊號傳遞最簡單的方式是直接連線,將許多組資料信號線,分別接到不同的記憶體與I/O裝置上構成整個系統。這種結構雖然簡單易懂,但問題是系統的接線太多了,且每增加一種元件,就要增加一堆信號線,這是很不實際的作法。
減少接線最直覺的方法是,共用接線。亦即使用一組線將微電腦系統的三大部分的每一個可能參與資料存取的元件通通連結在起來,讓每一個欲取得資料的裝置都經過這組共用線。由於這組線是供公共使用的,因此就把它取名為"公共用線"(Bus)或稱為匯流排。因為這些線所傳輸內容是資料DATA,所以再特化稱之為DATA BUS資料匯流排。
大家所熟知的電腦分級為8bits, 16bits, 32bits, 64bits等不同等級的電腦即是依據其資料匯流排的導線數目來區分。
資料線共用,但同一個時間在線上僅能在兩個裝置之間傳輸一筆資料,所以同一時間最多僅有兩個裝置在使用這組DATA BUS。為避免同一時間有兩組以上的使用者在送收資料,必需要有排解機制。由於CPU為電腦的主腦,所以在大部份時間它會佔用其中一端不是CPU寫就是CPU讀。
我們只要有辨法指定與CPU正在溝通的裝置是那一個,就可以排解使用權的問題。現今的電腦都是由CPU以送出位址指標,來決定要讀或寫的裝置。凡是電腦送出指標所指到的裝置,就是有權使用DATA BUS的裝置。至於讀或寫則由CPU經由讀寫控制線來控制。
在電腦上所有可以讓CPU讀寫一筆資料的記憶單元或暫存器,都會有一個編號位址。CPU指定裝置的方式是利用Address Bus位址匯流排送出位址編碼Address給所有的裝置,各裝置在接收到位址後與自己的位址編碼比對,若位址相符,則表示這裝置有DATA BUS目前的使用權。
具有DATA BUS使用權,與不具使用權的裝置之間的不同在於其裝置內部的導線與DATA BUS是否相通,所有裝置都僅在擁有使用權時其內部資料線才能與DATA BUS相通。其相通與否的控制則是透過一種名為三態(Tristate)的元件來控制。三態元件僅在其所服務的裝置具有DATA BUS使用權時,才讓其輸出隨輸入訊號的Hi-Lo變化,其它時間則持高阻抗,也就是輸出入無關。Hi,Lo,及高阻抗即所謂的三個狀態。
不過,在此之前,必須提醒學生標準的AVR 微控器所用的匯流排與常用的匯流排略有不同。由於AVR為微控器,主要接腳兼具有輸出入埠的功能,而且在其接腳在做為匯流排功能用時,也會為節省接腳而有輪時共用的情況,在使用時並不方便。