編碼:總線

1 前言

??本文是基于《編碼》、《穿越計算機的迷霧》兩部著作進行讀后整理的記錄性博客敛瓷。對書中較為重要的內(nèi)容進行歸納整理進行二次創(chuàng)作河哑,略去了繁瑣的講述細節(jié),力求簡明扼要风皿。


編碼:一種由若干符號和規(guī)則組成的系統(tǒng)河爹,用來向計算機表述指令。

2 正文

2.1 總線

??在前面介紹自動加法機時桐款,我們針對當時的電路設(shè)備說過咸这,為了簡化電路,針對電路中各個位置的指令控制電路進行了省略魔眨。本文中我們著重解決兩個問題:通過怎樣的方法才能把指令加載到 RAM 中炊苫?怎樣才能把程序的結(jié)果變得可見呢?

??在前面介紹 RAM 陣列時冰沙,我們了解到:RAM 是易失性存儲器——當?shù)綦姷臅r候其中的內(nèi)容就會丟失。所以执虹,長期存儲設(shè)備也是一臺計算機必不可少的部件拓挥,只有這樣,代碼和數(shù)據(jù)才能夠被永久保存袋励,不會因為掉電而丟失重要的數(shù)據(jù)侥啤。

??搭建一臺完整的計算機還需要很多集成電路,這些集成電路都必須掛載(mounted)到電路板上茬故。在一些小型的機器中盖灸,一塊電路板足以容納所有的集成電路,但這種情況并不常見磺芭。我們通常所看到的是另一種情況:計算機中各部件按照功能被分別安裝在兩個或更多的電路板上赁炎。這些電路板之間通過總線(bus)通信。如果對總線做一個簡單的概括钾腺,可以認為總線就是數(shù)字信號的集合徙垫,而這些信號被提供給計算機上的每塊電路板。通常把這些信號劃分為如下四類放棒。

  • 地址信號姻报。這些信號是由微處理器產(chǎn)生,通常用來對 RAM 進行尋址操作间螟,當然也可以用來對連接到計算機的其他設(shè)備進行尋址操作吴旋。
  • 數(shù)據(jù)輸出信號损肛。這些信號也是由微處理器產(chǎn)生的,用來把數(shù)據(jù)寫入到 RAM 或其他設(shè)備荣瑟。這里特別要注意區(qū)分術(shù)語輸入和輸出治拿,來自微處理器的數(shù)據(jù)輸出信號會變成 RAM 和其他設(shè)備的數(shù)據(jù)輸入信號。
  • 數(shù)據(jù)輸入信號褂傀。這些信號是由計算機的其他部分提供的忍啤,并由微處理器讀取。通常情況下仙辟,數(shù)據(jù)輸入信號由 RAM 輸出同波,這就解釋了微處理器是怎樣從內(nèi)存中讀取內(nèi)容的。其實叠国,其他部件也可以給微處理器提供數(shù)據(jù)輸入信號未檩。
  • 控制信號。這些信號是多種多樣的粟焊,通常與計算機內(nèi)所用的特定的微處理器相對應(yīng)冤狡。控制信號可以產(chǎn)生于微處理器项棠,也可以由與微處理器通信的其他設(shè)備產(chǎn)生悲雳。比如,當微處理器要把一些數(shù)據(jù)寫入到特定內(nèi)存單元時香追,它所使用的信號就是控制信號合瓢。

??計算機上的各種不同的部件是如何工作的呢?為了能更好地理解透典,讓我們再次回到 20 世紀 70 年代中期去看一看晴楔。想象一下,我們正在為 Altair 設(shè)計電路板峭咒,或者是在為自己設(shè)計的 8080 或 6800 計算機做這樣的事情税弃。我們不僅要考慮為計算機設(shè)計一些存儲器,用鍵盤作為輸入凑队,用電視機作為輸出则果;還要考慮關(guān)上計算機時,如何把存儲器中的內(nèi)容保存下來顽决。如何把這些部件添加到計算機中呢短条?下面就來看看能實現(xiàn)這個功能的各種接口(Interface)。

??現(xiàn)在回想一下前面所介紹的 RAM 陣列才菠,RAM 陣列有地址輸入茸时、數(shù)據(jù)輸入,以及數(shù)據(jù)輸出信號赋访,另外還有一個用來把數(shù)據(jù)寫入存儲器的控制信號可都。RAM 陣列能存放的數(shù)據(jù)的數(shù)量是和地址輸入信號的個數(shù)有關(guān)的缓待,它們之間有著 2 的冪次的關(guān)系。

??20 世紀 70 年代中期渠牲,2102 是用于家用計算機的一款流行的存儲器芯片旋炒。其管腳分布如下圖所示。

??這款芯片與 8080 和 6800 微處理器所采用的技術(shù)相同签杈。它的存儲容量可以達到 1024 位瘫镇,這個數(shù)值可以根據(jù)地址信號(A0~A9)、數(shù)據(jù)輸出(DO)和數(shù)據(jù)輸入(DI)信號(輸入和輸出復(fù)用一個信號線)的數(shù)目計算出來答姥。使用 2102 芯片型號不同铣除,訪問時間(read access time,指從芯片接收到地址信息到輸出有效數(shù)據(jù)所需的時間)也是各有差異鹦付,從 350 ns~1000 ns 不等尚粘。當需要從存儲器中讀取數(shù)據(jù)時,R/\overline{W}(讀/寫)信號置 1敲长;當向芯片中寫入數(shù)據(jù)的時候郎嫁,這個信號要置 0,而且至少要持續(xù) 170~550 ns 的時間祈噪,也是由所使用的 2102 芯片的型號決定的泽铛。

??這里我們不得不提到的一個信號就是 \overline{CS} 信號,也稱片選信號辑鲤。該信號置 1 時厚宰,芯片不被選中,意思就是說遂填,不會響應(yīng) \overline{CS} 信號。

??如果想存儲整個字節(jié)澈蝙,則至少需要 8 個這樣的 2102 芯片吓坚。具體的做法就是,把 8 個芯片對應(yīng)的地址信號灯荧、R/\overline{W}\overline{CS} 信號連接起來礁击,如下圖所示。

??實際上逗载,這是一個 1024×8 位的 RAM 陣列哆窿,或者說是容量為 1 KB 的 RAM。

??把存儲器芯片安裝在一塊電路板上厉斟,這是很符合實際的做法挚躯。那么,到底一塊電路板上能安裝多少塊這樣的芯片呢擦秽?我們可以選擇將它們緊密排列在一起码荔,但一般我們不這么做漩勤,更合適的方法是用 32 個芯片組成一個 4 KB 的存儲器。這種為了存儲完整的字節(jié)缩搅,而連接在一起的芯片的集合越败,稱為存儲體(bank)。例如硼瓣,一個 4 KB大小的存儲器板就由 4 個存儲體組成究飞,而每個存儲體又包含 8 個芯片。

??8 位微處理器堂鲤,例如 8080亿傅、6800,有 16 位地址筑累,可用來尋址 64 KB 的存儲空間袱蜡。存儲器板上的 16 位地址信號就有如下所示的功能:

下面詳細解釋一下這 16 位地址信號。A0~A9 直接與 RAM 芯片相連接慢宗;A10 和 A11 用來選擇 4 個存儲體中要被尋址的那一個坪蚁;A12~A15 確定哪些地址申請用這塊存儲器板,換言之镜沽,就是這塊存儲器板響應(yīng)哪些地址敏晤。

??微處理器整個存儲空間的大小是 64 KB,被劃分成 16 個不同的區(qū)域缅茉,每個區(qū)域的大小是 4 KB婚瓜,我們設(shè)計的 4 KB 存儲器板占用了其中一個區(qū)域。這16個區(qū)域劃分情況如下:0000h~0FFFh扳抽、1000h~1FFFh佑淀、...、F000h~FFFFh拇颅。

??在一種稱為比較器(comparator)的電路中奏司,你可以把這個開關(guān)和總線上地址信號的高4位連接起來,就像下面這樣樟插。

??異或(XOR)門電路在兩個輸入端中只有一個是高電平時韵洋,輸出才為高電平;當兩個輸入端同時為低電平或高電平時黄锤,輸出是低電平搪缨。

??例如,如果把 A13 和 A15 對應(yīng)的開關(guān)閉合鸵熟,就意味著讓存儲器板能響應(yīng)存儲器空間 A000h~AFFFh副编。若總線上的地址信號 A12、A13流强、A14 和 A15與開關(guān)上設(shè)置的值相同的話齿桃,四個異或(XOR)門的輸出都是 0惑惶,或非(NOR)門的輸出為 1,如下圖所示短纵。

??接下來我們把 Equal 信號和一個 2-4 譯碼器聯(lián)合起來使用带污,就能為四個存儲體中的每一個都產(chǎn)生一個 \overline{CS} 信號,便于對存儲體進行選擇香到。具體連接圖如下圖所示鱼冀。

??例如,若想選擇第三個存儲體悠就,把 A10千绪、A11 分別置 0 和 1 就可以了。

[了解] 存儲器
在將存儲體構(gòu)成存儲器時梗脾,可以選擇將存儲體按照矩陣的形式進行排列:


矩陣式排列

要啟用某個存儲體荸型,就可以選擇啟用存儲體所在位置的行線和列線:


單個存儲器

這里的行線和列線對應(yīng)著存儲體的讀寫操作,我們可以利用行線和列線對存儲體進行讀寫炸茧。而針對每個線的操作需要用到一種叫做多路復(fù)用器的設(shè)備瑞妇。
多路復(fù)用

根據(jù)上面的介紹,我們來看一下生活中的存儲設(shè)備:


主板上的內(nèi)存條

單個內(nèi)存條

放大后的內(nèi)存條上的芯片

進一步放大

再放大

3 小結(jié)

??總線篇簡單介紹了處理器如何處理各種接入的設(shè)備梭冠,介紹了系統(tǒng)總線辕狰。文章內(nèi)容僅作了解即可,具體內(nèi)容可以參考《計算機組成原理》控漠,文章對此沒有展開講述蔓倍。為了精簡內(nèi)容刪減了部分較為詳細的書寫,僅作為整理總結(jié)盐捷。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末偶翅,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子碉渡,更是在濱河造成了極大的恐慌倒堕,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件爆价,死亡現(xiàn)場離奇詭異,居然都是意外死亡媳搪,警方通過查閱死者的電腦和手機铭段,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來秦爆,“玉大人序愚,你說我怎么就攤上這事〉认蓿” “怎么了爸吮?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵芬膝,是天一觀的道長。 經(jīng)常有香客問我形娇,道長锰霜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任桐早,我火速辦了婚禮癣缅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘哄酝。我一直安慰自己友存,他們只是感情好,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布陶衅。 她就那樣靜靜地躺著屡立,像睡著了一般。 火紅的嫁衣襯著肌膚如雪搀军。 梳的紋絲不亂的頭發(fā)上膨俐,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天,我揣著相機與錄音奕巍,去河邊找鬼吟策。 笑死,一個胖子當著我的面吹牛的止,可吹牛的內(nèi)容都是我干的檩坚。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼诅福,長吁一口氣:“原來是場噩夢啊……” “哼匾委!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起氓润,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤赂乐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后咖气,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挨措,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年崩溪,在試婚紗的時候發(fā)現(xiàn)自己被綠了浅役。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡伶唯,死狀恐怖觉既,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤瞪讼,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布钧椰,位于F島的核電站,受9級特大地震影響符欠,放射性物質(zhì)發(fā)生泄漏嫡霞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一背亥、第九天 我趴在偏房一處隱蔽的房頂上張望秒际。 院中可真熱鬧,春花似錦狡汉、人聲如沸娄徊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽寄锐。三九已至,卻和暖如春尖啡,著一層夾襖步出監(jiān)牢的瞬間橄仆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工衅斩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留盆顾,地道東北人。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓畏梆,卻偏偏與公主長得像您宪,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子奠涌,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容

  • ![Flask](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAW...
    極客學院Wiki閱讀 7,247評論 0 3
  • 不知不覺易趣客已經(jīng)在路上走了快一年了溜畅,感覺也該讓更多朋友認識知道易趣客捏卓,所以就謝了這篇簡介,已做創(chuàng)業(yè)記事慈格。 易趣客...
    Physher閱讀 3,418評論 1 2
  • 雙胎妊娠有家族遺傳傾向怠晴,隨母系遺傳。有研究表明浴捆,如果孕婦本人是雙胎之一蒜田,她生雙胎的機率為1/58;若孕婦的父親或母...
    鄴水芙蓉hibiscus閱讀 3,701評論 0 2
  • 晴天溜哮,擁抱陽光滔金,擁抱你色解。雨天,想念雨滴餐茵,想念你科阎。 我可以喜歡你嗎可以啊 我還可以喜歡你嗎可以,可是你要知道我們不可...
    露薇霜凝閱讀 1,216評論 1 2