計算機的組成,總線概述

不僅是記錄我的半吊子基礎知識,也是一次再學習,不敢保證都對

前言

  前邊我們知道了馮諾依曼體系結構是現代計算機的基礎,它有一個控制器,運算器,存儲器,輸入輸出設備就不說了吧,大家都知道。那麼他們之間是怎麼進行數據傳輸呢?沒錯,就是通過總線,書上一些概念總會讓人疑惑,每個字都認識,連成一句話就不認識了。總線就是數據線,USB,內存卡,顯卡,硬盤,統統都是通過總線來連接的。

總線的分類

  當然,我們知道,顯卡插槽,硬盤插槽,內存卡插槽都是不一樣的,不能隨便插,不同元器件之間交流需要不同的總線,功能不一樣,傳輸的數據不一樣,使用的總線自然也就不一樣。CPU內部有運算器,控制器,存儲器,這種CPU內部的總線叫做內部總線,CPU同計算機的其他元器件之間連接的總線叫做系統總線。然後呢,計算機與其他輸入輸出設備之間連接的總線叫做I/O總線
  如果按照功能來分,有的總線是用來傳輸數據的,叫做數據總線,它是有位數的,跟CPU位數相同,CPU一次處理64位的數據,那數據總線可不就得64位。還有地址總線,組成原理總是說尋址尋址,那地址總線是不是就是用來尋址的呢。說到這裏,就不得不提一句,控制器來執行指令的,而每條指令都明確的告訴控制器,要從哪裏取數據,要做哪一種計算,是加法,還是減法,指令都清清楚楚明明白白的告訴了控制器。有數據有地址,還得有控制信號,比如要啓動打印機,關閉打印機,這種控制信號怎麼傳輸呢,這就用到了控制總線

總線的仲裁

  不知道是不是我腦子不夠聰明,書上的概念總是覺得對新手不太友好,有點抽象。不知道可不可以這樣理解:我電腦裏有硬盤,還外接一個移動硬盤,又外接一個U盤,並且都已經準備就緒,現在我要把CPU處理過的文件寫入存儲器裏,那這裏有三個存儲器,那我應該存到哪一個裏面?這是不是就需要仲裁來決定CPU使用哪個總線?
  這樣理解可能不對。或許是不是可以這樣理解:現在你把一個文檔打開了,然後你又想給這個文件換換地方,把它挪到另外一個硬盤裏,這時候,就會提示你,文檔被佔用,這中間是不是總線仲裁起的作用呢?你想移動文件,總線仲裁器發現,與文件連接的總線已經被使用了,所以,總線仲裁器就判定,移動文件操作不能使用該文件的總線。
  總之,根據我的理解,總線仲裁就是判定總線的使用權的。

仲裁方式

  總線的仲裁方式有好幾個,什麼鏈式查詢方式,計數器定時查詢方式,獨立請求方式,分佈式仲裁,我們就撿幾個簡單的說一說
  鏈式查詢方式
在這裏插入圖片描述
  由總線仲裁器發送授權信號,給組件1,組件1表示我現在不用,於是就把授權信息給了組件2,組件2表示,我也不用,於是就把授權信息給了組件3,假如組件3表示我要用,那麼就不會往下傳遞了,如果它不用,就一直往下傳遞,直到有某個組件使用。
我們都能察覺到,這樣的方式有點問題,肯定不是每個情況都適用,誰離總線仲裁器近,誰的優先級就高,近水樓臺先得月。
  計數器定時查詢方式就不一樣了,總線仲裁器與每個組件之間都有數據線連接着,而不是像鏈式查詢似的,總線仲裁器起個頭,往下傳遞。總線仲裁器要發送授權信息,就會給所有的組件都發送,但是呢會攜帶一個計數值,每個組件都會判斷這個計數值是不是自己,如果是自己,就獲得了總線使用權,如果不是,就什麼也不幹,繼續等着。
在這裏插入圖片描述
  就說這麼兩個方式意思意思就行了,對了還要補充一下,總線仲裁器怎麼知道什麼時候發送授權信息呢?那肯定就是組件先向總線仲裁器發送請求,我要使用總線了,總線仲裁器才發送授權信息。

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