寄存器基本原理介紹(上篇)


存儲器被划分為多個存儲單元,從零開始編號,就像是一條街上的門牌號一樣,那么 CPU 要讀取這些數據,就像是在這一條街里找這個門牌號一樣,先要確定在哪里住。

由此可見,CPU 要相對數據進行讀寫,必須和芯片進行下面 3 類交互:

  • 存儲單元的地址(地址信息)
  • 器件的選擇,讀或者寫命令(控制信息)
  • 讀或寫的數據(數據信息)

那么,CPU 是如何讓將這些新詞傳輸到存儲器的芯片中的,這就涉及到一個概念,我們都知道,計算機能夠處理的信息都是電信號,也就是高低電平,電信號當然是由導線來傳送。在計算機中,由專門連接 CPU 和其他芯片的導線,我們通常稱為總線,總線從物理的概念來講,就是一根根導線的集合。根據傳出信息的不同,總線從邏輯上講主要分為 3 類:地址總線,控制總線以及數據總線。

寄存器基本原理介紹(上篇)

分析上圖,三個基礎導線首先 CPU 通過地址線將信息發出,然后通過控制線發出內存讀寫任務,選中存儲器芯片,並命令從中讀取數據,最后通過數據線將數據送入 CPU。

接下來,詳細介紹一下。

地址總線

現在,我們知道 CPU 是通過地址總線來指定存儲單元的,那么可見地址總線上能傳遞多少不同的信息,就能對多少個存貯單元進行尋址。

現在假設,一個 CPU 有 10 根地址線,一根導線能傳遞的狀態只有兩種,一種是高電平,一種是低電平,就是二進制的 0 和 1,那么 10 根導線就是 10 位 2 進制數據,那么 10 位進制能組成多少不同的數據呢?2 的 10 次方個,最小為 0,最大是 1023。如果一個 CPU 由 N 根地址總線,那么可以說這個 CPU 的地址總線的寬度為 N,這樣的 CPU 最多可以尋找 2 的 N 次方個內存單元。

地址總線由微處理器產生,主要用來存儲輸入輸出接口,傳送地址信息,是一條單向總線。

寄存器基本原理介紹(上篇)

上圖就是對地址總線一個簡單的概述,幫助大家理解。上圖共有 5 條地址線,一次傳輸五位二進制數。

數據總線

數據總線主要負責 CPU 與其他部件的數據傳送,數據總線的寬度決定了 CPU 和外界的數據傳輸速度,8 根數據線一次性可傳送一個 8 位二進制數,也就是一根一個數據,共一個字節,16 根就是傳輸兩個字節。

數據總線是一條雙向總線,CPU 和其他部件的雙向傳輸信號。

8088CPU 的數據總線寬度為 8,8086CPU 的數據總線寬度為 16,8086 的數據傳送要快一些。

控制總線

控制總線控制外部器件,控制總線只是一個總稱,其實是由一些不同的控制線集合,有多少根控制總線就意味着對外部器件有多少種控制,控制總線決定着 CPU 對外部器件的控制能力。

控制總線主要傳輸控制信號、時序信號和狀態信號,也是一條雙向總線。

 

https://www.infoq.cn/article/1j3QiETdjtBbSjeKV6Wi


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM