cpu 只能識別機器碼,如110001010。每一位只有兩種狀態,分別表示高電平和低電平。如果用這種法式去編碼,就顯得不便記憶和理解。所以隨著時代的發展,就產生了組合語言。相對機器碼,組合語言就好理解多了。它主要通過彙編指令集來實現編碼。不過cpu還是不能直接來識別出彙編碼,要通過編譯器來對組合語言轉換成機器碼,從而使cpu能夠正常工作。
上面我們已經了解了cpu只能通過一系列的二進位製碼來進行工作,那cpu如何和記憶體裝置進行資料交換的操作呢?
cpu和記憶體裝置的操作涉及到儲存器,指令和資料,儲存單元。
儲存器:
指令和資料都存放在儲存器中,也就是我們說的記憶體。記憶體和磁碟不同,磁碟中的資料不能直接被cpu使用,要把磁碟中的資料讀到記憶體中才能被cpu使用。
指令和資料:
cpu要工作必須給它提供指令和資料,記憶體和磁碟上的指令和資料沒什麼不同,都是二進位制資訊。cpu工作時,把有點資訊看作指令,有點資訊看作資料。同樣的二進位制資訊,它們的意義是不同的。
儲存單元:
儲存器被分為若干個儲存單元,每個儲存單元從0開始順序編號,例如乙個儲存器有128個儲存單元,編號就是0~128.
8個bit組成乙個byte,也就是乙個位元組,即8個2進製位。微型機乙個儲存單元存放乙個byte,也就是乙個位元組。若乙個儲存器有128個儲存單元,它就可以存放128byte的資訊。
微型儲存器的容量是以位元組(乙個儲存單元)為單位來計算的,譬如對於128個儲存單元的儲存器,我們就說它的容量是128byte。
對於大容量的儲存器,一般用以下單位來計算:
1kb = 1024byte 1mb = 1024kb 1gb=1024mb 1tb=1024gb
cpu對儲存器的讀寫:
儲存器被分為若干個單元,從0開始順序編號,這些編號就是儲存器的位址。
cpu要從記憶體中讀資料,首先要指定儲存單元的位址,也就是要讀哪乙個儲存單元的資料。
cpu要進行資料讀寫,必須和外部器件進行下面3類資訊的互動:
1.儲存單元的位址
2.器件的選擇,讀或寫的命令(控制資訊)
3.讀寫的資料
匯流排:
cpu通過導線,專業術語叫做匯流排來進行cpu和其他晶元的電訊號的傳輸。
匯流排一般分為位址匯流排,資料匯流排和控制匯流排。
cpu通過位址匯流排將位址尋找到要操作的位址
cpu通過控制匯流排,告訴記憶體要讀還是寫
cpu通過資料匯流排,傳送資料
cpu有多根位址匯流排,每一根位址匯流排有兩種狀態:高電平或低電平,二進位制表示就是0或1。這樣位址匯流排能傳輸多個不同的資訊,cpu就可以對多個儲存單元進行定址。它決定了cpu的定址能力,位址匯流排寬度越大,就表示它能定址的範圍就越大。
假設cpu有10根位址匯流排,那它可以尋找到2的10次方等於1024個儲存單元(位址編號從0~1023)。乙個儲存單元等於一位元組,可以推算出儲存器的容量為1024位元組,也就是1kb。
乙個cpu上有n根位址線,那麼我們說它的cpu的位址匯流排寬度為n。這樣的cpu就可以尋找到2的n次方個儲存單元。
資料匯流排:
cpu和記憶體裝置之間的資料是通過資料匯流排來傳輸的。它決定了cpu的記憶體裝置之間的資料傳輸速度。8根資料線的匯流排一次可以傳輸8位的二進位制數(即乙個位元組)。16根資料線的匯流排一次可以傳輸16位的二進位制數(即2個位元組)。對於8088cpu來說,它的資料匯流排有8根,也就是資料匯流排寬度為8,它傳輸乙個16位的二進位制數,如89a8,它需要傳兩次才能完成傳輸,先傳低8位a8,再傳高8位89。對於8986cpu來說,它的資料匯流排寬度為16,用它來傳輸乙個16位的資料只需要一次,就能傳輸完成。一般的89c51微控制器是8位,也就是說它的資料匯流排有8根,所以使用它來進行資料的讀寫操作,盡量使用char型別的資料,這樣可以減少它的資料傳輸次數,cpu的工作效率就提高了。
控制匯流排:
cpu對外部對外部器件的控制是通過控制匯流排來進行的。控制匯流排是一些不同控制線的集合,有多少根控制線,就意味著cpu對外部器件有多少種控制方法。所以控制匯流排的寬度決定了cpu對外部器件的控制能力。
記憶體的讀寫是通過幾根控制線綜合發出的。其中一根為「讀訊號輸出」的控制線,就是cpu對記憶體裝置發出讀訊號,cpu通過向讀控制線上發出低電平0,表示讀訊號。「一根為寫訊號輸出」的控制線負責發出寫訊號。
如果乙個cpu的位址匯流排寬度為10,那麼就構成了cpu的記憶體位址空間為1024個儲存單元。
主機板:
在pc機上都有一塊主機板,主機板上的核心器件都是通過匯流排(位址匯流排,資料匯流排和控制匯流排)相連。這些器件有cpu、儲存器、外圍晶元組、擴充套件插槽等。擴充套件插槽上一般插有ram記憶體條和各類介面卡。
介面卡:
在計算機系統中,所有可用程式控制其工作的裝置,必須受到cpu的控制。cpu對外設都不能直接控制,如顯示器、信箱、印表機等。直接控制這些裝置進行工作的是插在擴充套件插槽上的介面卡。擴充套件插槽通過匯流排和cpu相連,所以介面卡也通過匯流排通cpu相連。cpu可以直接控制這些介面卡,從而實現cpu對外設的間接控制。也就是cpu通過匯流排向介面卡傳送命令,介面卡根據cpu的命令控制外設進行工作。
cpu和記憶體裝置直接有三根匯流排,分別是位址匯流排,資料匯流排和控制匯流排。
cpu通過位址匯流排來指定儲存單元(即位址資訊)。可見位址匯流排上能傳送多少不同的資訊,cpu就可以對多少個儲存單元進行定址。
CPU 的工作原理
cpu 的根本任務就是執行指令,對計算機來說最終都是一串由 0 和 1 組成的序列。cpu 從邏輯上可以劃分成 3 個模組,分別是控制單元 運算單元和儲存單元 其內部架構如下 控制單元 控制單元是整個cpu的指揮控制中心,由指令暫存器ir instruction register 指令解碼器id i...
cpu工作原理
眾所周知,cpu是電腦的 心臟 是整個微機系統的核心,因此,它也往往成了各種檔次微機的代名詞,如昔日的286 386 486,奔騰 pii k6到今天的piii p4 k7等。回顧cpu發展歷史,cpu在製造技術上已經獲得了極大的提高,主要表現在整合的電子元件越來越多,從開始整合幾千個電晶體,到現在...
CPU快取的工作原理
當cpu要讀取乙個資料時,首先會從快取 cache 中查詢,如果找到就立即讀取並送給cpu處理 如果沒有找到,就用相對慢的速度從記憶體中讀取並送給cpu處理,同時把這個資料所在的資料塊調入快取中,可以使得以後對整塊資料的讀取都從快取中進行,不必再呼叫記憶體。通過優化的的讀取機制,可以使cpu讀取快取...