這周看了一下唐朔飛計算機組成原理,看的比較粗略,但大概知道計算機組成原理講的是什麼東西啦,現在做一下筆記。記錄個這本書大概的內容框架。

第一章:講計算機的系統概論,我很快的過去了,不過有一點仔細看了就是

計算機體系結構和計算機組成原理的區別:計算機體系結構講的是機器的屬性,功能等抽象性概念,而組成原理講的是如何實現這些屬性和功能。比如一臺機器是否具有乘法指令這一功能屬於計算機體系結構的內容,而是採用乘法電路還是加法電路實現這個乘法功能屬於計算機組成原理的內容。這也算是解答了我的一點疑惑吧。

第二章計算機的發展與應用(略)

第三章系統匯流排

什麼是匯流排?為什麼要有匯流排?

匯流排是連接多個部件之間的公共信息傳輸線。為什麼要有匯流排?我的理解是早期採用分散連接方式,如果計算機增加一個外設,那你就必須給這個外設和CPU,主存建立連線,設備越來越多,就得單獨的加越來越多的連線。也就越來越複雜。採用匯流排連接可以很大程度減少複雜度,將所有的部件的信息傳輸都放在一組公共路線當中,你需要添加或減少外設只需讓設備接入或斷開匯流排即可。打個比方就是這裡有許多村落,村子之間需要兩兩需要聯通,你可以兩兩之間修一條路,也可以修一條大馬路,然後每個村子修條路接通大馬路。哪個更加方便省力不言而喻了吧。

一、匯流排分類:

不同角度有分類不同

1.連接部件不同

片內匯流排:晶元內部的匯流排。如在CPU內部,寄存器與寄存器之間,寄存器與算邏單元ALU之間都採用片內匯流排。

系統匯流排:指CPU、主存、I/O設備各大部件之間的信息傳輸線。

然後系統匯流排的分類:

按傳輸信息內容的不同:

1、數據匯流排:傳輸數據信息,雙向

2、地址匯流排:傳輸地址信息,由CPU輸出,單向

3、控制匯流排:傳輸各種控制信號,對於單根線來說是單向傳輸,總體來看是雙向傳輸。

二、關於匯流排結構:

匯流排結構有單匯流排結構,雙匯流排結構,多匯流排結構,還有以CPU為中心的多匯流排結構,也有以存儲器為中心的匯流排結構。

三、匯流排判優控制

如果多個主設備同時要使用匯流排的話,就要有匯流排控制器判優、仲裁邏輯來按一定順序確定設備使用匯流排的先後。方法有:

1、鏈式查詢

2、計數器定時查詢

3、獨立請求方式查詢

第四章:存儲器

講了一些存儲器的分類,什麼按介質分類有半導體、磁性材料、光碟存儲器。

按存取方式分類有隨機存儲器(RAM)、只讀存儲器(ROM)等

按在計算機中的作用不同有:主存,緩存,輔助存儲器

比較重要的就是存儲器的層次結構啦吧

總要有緩存--主存和主存--輔存兩個層次結構

緩存--主存解決的是CPU和主存速度不匹配的問題。由於緩存的速度比主存高,只要將CPU近期需要調用的數據提前存入緩存,CPU就能直接從緩存中獲取信息,提高訪問存儲速度。

主存--輔存解決的是容量問題。輔存的速度比主存低且不能和CPU進行數據交換但是容量大,當CPU需要用到輔存信息時提前將其放入主存中。

從CPU角度看,緩存--主存這一層次的速度接近緩存,容量接近主存。主存--輔存這一層次速度接近主存,容量接近輔存。計算機的這種層次結構很好的緩解了速度,容量,價格之間的矛盾。

然後在主存--輔存這一層次的不斷發展中,產生了虛擬存儲系統。在這個系統中程序員可以使用的內存空間要比實際內存空間大的多。

還有就是高速緩衝存儲器Cache的工作原理吧

為什麼可以利用CACHE提高訪問速度呢?

因為通過大量典型程序分析發現CPU在從主存取指令或者數據時,在一定時間內只是對主存局部地址區域的訪問,即指令和數據在主存的位置不是隨機的而是相對的簇聚,使得CPU在訪問時具有相對的局部性。也就是程序訪問的局部性原理。

Cache在和主存進行數據交換的時候是按塊進行的,塊的大小主存和Cache一樣大,但是主存的塊數更多。任何時刻都有一些主存的塊存放在Cache中。CPU先從Cache中提取數據,如果Cache中有,則稱為命中。否則不命中,則需要將給數據所在的主存塊調入Cache中。

評價Cache有個指標便是命中率。

當高速緩存Cache滿了時,但是CPU訪問數據時還是未命中這時候就需要替換策略將Cache中的某塊替換出去,替換策略有:

1、先進先出演算法。

2、近期最少使用。

3、隨機法。

第五章:輸入輸出系統

輸入輸出系統的發展:

1、早期階段:I/O設備較少,與主存交換信息都必須通過CPU。

2、介面模塊和DMA階段

3、通道結構階段

4、具有I/O處理機階段

主要講第二個階段

1、I/O設備的編址方式:講IO設備碼看成地址碼,對IO設備地址碼編碼有兩種方式,即統一編碼和不統一編碼。統一編碼就是將IO地址看成存儲器地址的一部分。例如將64K地址的存儲空間劃出8K作為設備的地址。凡是在這8K地址範圍內的訪問就是對IO設別的訪問。非統一編碼就是指IO地址和設備地址是分開的,所有對IO設備的訪問都必須有專用的IO指令。

2、IO設備和主機信息傳送的控制方式。

1、程序查詢方式

程序查詢方式是由CPU通過程序不斷查詢IO設備是否已經做好準備,從而控制IO設備與主機交換信息。即只要CPU啟動IO設備,便停止執行原有程序,轉入執行查詢程序,不斷查詢IO設備是否已經做好準備。若查得IO設備未準備就緒,就繼續查詢,若查得IO設備準備就緒就將數據從IO介面送至CPU,再由CPU送至主存。這樣一個一個位元組傳送,直至這個數據塊的內容全部傳送完畢,CPU又重新回到原有程序執行。

這種工作方式CPU和IO設備處於串列工作狀態,CPU效率不高。

2、程序中斷方式

CPU在啟動IO設備後,不查詢設備是否已經準備就緒,繼續執行自身程序,只是當IO設備準備就緒並向CPU發送中斷指令後才予以響應。響應後執行中斷處理程序,處理完之後返回原程序斷點繼續執行。這就是程序中斷方式。可以大大提高CPU執行效率。

3、DMA方式(直接存儲器存取方式)

第六章:計算機的運算方法

主要講了計算機中數的表示,計算機數的乘法運算怎麼計算的等等。。。這部分我沒細看,就這樣吧

第七章:指令系統

之前看了彙編的指令系統,這個就沒看了需要時候在細看。

第八章:CPU的結構和功能

裡面有CPU 的結構,功能等知識,還有指令週期,指令流水等概念以後再細看

第九章:控制單元的功能

第十章:控制單元的設計

總結:這次是帶著粗略過的心態看的,畢竟現在還用不到,到時候需要的話再深究。如有不當之處歡迎指出。

推薦閱讀:

相關文章