Adressbuss vs Data Bus
Enligt datorarkitektur definieras en buss som ett system som överför data mellan hårdvarukomponenter i en dator eller mellan två separata datorer. Från början byggdes bussar upp med hjälp av elektriska ledningar, men nu används termen buss mer brett för att identifiera alla fysiska delsystem som ger samma funktionalitet som de tidigare elektriska bussarna. Datorbussar kan vara parallella eller seriella och kan anslutas som multidrop, daisy chain eller med switchade nav. Systembuss är en enda buss som hjälper alla huvudkomponenter i en dator att kommunicera med varandra. Den består av en adressbuss, databuss och en styrbuss. Databussen bär data som ska lagras, medan adressbussen bär platsen dit den ska lagras.
Adressbuss
Adressbussen är en del av datorsystembussen som är dedikerad för att ange en fysisk adress. När datorprocessorn behöver läsa eller skriva från eller till minnet, använder den adressbussen för att specificera den fysiska adressen för det individuella minnesblocket den behöver komma åt (den faktiska datan skickas längs databussen). Närmare bestämt, när processorn vill skriva en del data till minnet, kommer den att hävda skrivsignalen, ställa in skrivadressen på adressbussen och överföra data till databussen. På liknande sätt, när processorn vill läsa en del data som finns i minnet, kommer den att bekräfta lässignalen och ställa in läsadressen på adressbussen. Efter att ha mottagit denna signal kommer minnesstyrenheten att hämta data från det specifika minnesblocket (efter att ha kontrollerat adressbussen för att få läsadressen) och sedan placerar den data från minnesblocket på databussen.
Storleken på minnet som kan adresseras av systemet bestämmer databussens bredd och vice versa. Om till exempel adressbussens bredd är 32 bitar kan systemet adressera 232 minnesblock (det är lika med 4 GB minnesutrymme, givet att ett block innehåller 1 byte data).
Databus
En databuss bär helt enkelt data. Interna bussar bär information inom processorn, medan externa bussar bär data mellan processorn och minnet. Typiskt används samma databuss för båda läs-/skrivoperationerna. När det är en skrivoperation kommer processorn att lägga data (som ska skrivas) på databussen. När det är läsoperationen kommer minneskontrollern att hämta data från det specifika minnesblocket och lägga in det i databussen.
Vad är skillnaden mellan adressbuss och databuss?
Databussen är dubbelriktad, medan adressbussen är enkelriktad. Det betyder att data färdas i båda riktningarna men adresserna kommer bara att färdas i en riktning. Anledningen till detta är att till skillnad från data anges adressen alltid av processorn. Databussens bredd bestäms av storleken på det enskilda minnesblocket, medan adressbussens bredd bestäms av storleken på minnet som ska adresseras av systemet.