計算機組成原理第一章
計算機組成原理的相關筆記是我根據老師上課所講,以及課后查找資料所寫
一、計算機系統概述
1. 定義
計算機是由硬件和軟件組成的一種能夠按照事先存儲程序自動,高速進行大量數值運算以及各種信息處理的現代化智能電子設備
看得見摸得著的是硬件,軟件是虛的概念。
注意:
軟件并不是僅僅只包含我們寫的那些程序,還包括文檔
,這些文檔可能是軟件開發前的分析,以及開發后 進行維護等的文檔,因為軟件開發不是一個人的事,還要被其他人看,如果沒有文檔的話,別人單純看程序的話,很有可能就不知道你在干什么。
2.分類
1.計算機按照處理信息的方式不同來劃分
數字計算機和模擬計算機的主要區別
2.計算機按照通用性差異分類
3.按照計算機性能分
3.計算機系統的抽象層次
1.從編程語言角度
機器語言—>匯編語言—>高級語言
2.語言虛擬機抽象
3.從軟硬件功能轉換角度
4.計算機硬件的邏輯等價性
計算機中的許多功能,可以直接由專門硬件實現,也可以在基礎硬件支持下依靠軟件實現,對用戶而言在功能上是等價的
舉例:以電風扇的開關為例子,我們可以通過一個按鈕,通過按鈕可以控制電流大小來控制風扇的開關,也可以是一個程序來控制風扇的開關,這對于用戶來說是等價的,因為他們看到的效果是一樣的,就是風扇的開或關
計算機性能的好壞取決于"軟 "硬“件功能的總和
軟件技術發展,硬件功能軟件化——降低造價
集成電路技術發展,軟件功能硬件化——提高性能
二、計算機系統的組成
在接下來的舉例中,主存和內存是一樣的
1.計算機系統的硬件組成
1.1馮.諾依曼計算機(重點)
世界上第一臺計算機是ENIAC,馮.諾依曼是當時的顧問
缺點:
ENIAC:每一步的操作要執行什么指令,都要程序員手動接線去告訴計算機,ENIAC的運算速度就被手工操作的耗時給抵消了
1945年,美國數學家馮·諾依曼提出
“存儲程序”
概念,可以很好解決當時出現的問題,以此為基礎研制的計算機叫馮·諾依曼機
存儲程序:將指令以二進制代碼的形式事先輸入計算機的主存儲器(內存),然后按其在存儲器的首地址執行程序的第一條指令,以后就按照該程序的規定順序執行其他指令,直到程序執行結束
第一臺采用馮諾依曼結構的計算機EDVAC
計算機是用來處理數據的,所以我們應該要有一個輸入設備把數據輸入到計算機中,這里面的數據包含我們要處理的數據,也包含指令。
控制器通過電信號來協調其他器件相互配合工作,控制器也用來解析存儲器中存儲的程序指令。比如說,控制器從存儲器中讀取加法指令,那么就可以控制運算器進行相應的加法操作。
馮諾依曼計算機特點:
ps:看到這么大的字大家也知道這個很重要吧,馮諾依曼結構也叫普林斯頓結構,因為他是普林斯頓的教授
1.計算機由五大部分組成
2.指令和數據以同等地位存在存儲器,可以按照地址來訪問
3.指令和數據用二進制來表示,可以很方便的用0,1表示電信號的兩種狀態,同等地位存放于存儲器,按地址訪問
4.指令由操作碼和地址碼來組成,在存儲器中按順序存放,默認順序執行
操作碼:指明要進行什么操作,比如加減乘除。
地址碼:我們要操作的數據存放在哪一個位置。
5.存儲程序
6.以運算器為中心–輸入設備和輸出設備與存儲器之間的數據傳送通過運算器來完成,會影響計算機的效率
1.2現代計算機結構
存儲器分成了主存儲器(內存)和輔助存儲器(外存),系統以主存儲器為中心
合并運算器和控制器,構成中央處理器CPU——CPU和主存儲器構成主機
輸入設備和輸出設備變得多樣化和復雜化,合稱外部設備或I/O設備
主存儲器和CPU統稱為主機
主存就是主存儲器,也是我們大家熟悉的內存
輔存是輔助存儲器,在電腦里面就是機械硬盤,固態硬盤
手機里面安裝的app放在輔存,app需要啟動運行的時候,才會把app里面的相關數據讀到主存,
輔存應該看成IO設備
運行內存指的是主存
機身存儲是輔存
1.3哈佛結構
將指令和數據分開存儲的一種存儲器并行的組成結構
特點
1)使用兩個獨立的存儲器,分別用于存儲指令和數據
2)使用兩套獨立的總線,作為CPU與每個存儲器間專用通信線路
應用——在嵌入式系統設計中廣泛使用
1.4各個組成部件的功能
2.計算機系統的工作過程
1.基本的計算機系統模型
地址總線:傳輸數據在主存里面的存放位置
目前這個圖看著還很懵,可以等后面學習以后再看。
2.工作過程
在了解工作過程之前,要先知道指令是什么
指令的執行過程
控制器將某個存儲地址送往存儲器,從對應的存儲單元取回指令,控制器根據指令內容的含義,發出相應的操作命令,各部件根據操作命令,進行相應的操作,完成指令對應的功能
再來復習一下,控制器,存儲器的相關內容
控制器可以協調各個器件的運行
存儲器是存儲數據和程序的
以我自己的理解來說:
一條指令想要運行,我們應該先把它存儲起來, 所以第一步把存儲地址送到存儲器–相當于存儲數據
想要執行操作,肯定要發布命令,就比如說,在家里面,你媽媽說,大家干活了,要大掃除了。 所以要取回指令。
有了指令以后,我們是不是還得告訴具體的部件要做什么操作,還是以家里大掃除為例。如果沒有進行分工,只是說干活,就會導致分工不明確,我們人當然是可以做相應的事情。但是要注意的是,計算機需要的是明確的指令操作,也就是說每一步要做什么事情,必須是明確的,不能是含糊的,因為計算機沒有我們人那樣聰明,
如果沒有具體明確的要求,各個部件瞬間就蒙圈了,他們不知道自己要做什么事情
后面學習相關的內容以后,理解得會更加的透徹,上面那個只是我個人的一個理解。
指令執行過程的階段劃分
下面的劃分可以有不同的情況,不是固定的,就像語文劃分自然段一樣,每一個人都會有不一樣的理解,劃分出來的也就不一樣了。
兩階段——取指、執行
三階段——取指、分析、執行
五階段——取指、譯碼/讀寄存器、執行/計算有效地址(數據存放的地址)、訪存取數、結果寫回
3.指令執行過程示例
ADD R1, (R2)
實現10+18=28的加法計算。假定10存放在通用寄存器R1,18存放在存儲器中,其存放地址2n-1存放在通用寄存器R2,計算結果存放到通用寄存器R1
18存儲在存儲器中,就有存放位置,也就是它的地址,我們又把存放的地址存儲在通用寄存器R2,數本身存儲在主存里面
通用寄存器可用于傳送和暫存數據,也可參與算術邏輯運算,并保存運算結果
三、計算機硬件的性能指標
1.字長
定義:能夠一次性處理的二進制數的位數
分類:根據對象的不同,分為機器字長、存儲字長、指令字長、數據字長
接下來,我以其中的存儲字長來說一下我自己的理解,其他概念也是類似的。
字長直接反映了計算機的計算精度,也影響計算速度和硬件成本
為協調計算精度和硬件成本間的制約關系,很多計算機采用
變字長
設計
各類字長可能各不相同,但必須是
字節的整數倍
2.存儲容量
定義:計算機存儲器中所能存儲信息的總量
分為主存容量和輔存容量
單位
位(bit)——最小單位,1個0或1占1b
字節(Byte)——基本單位,1B = 8b
主存容量的表示
主存容量 = 存儲單元數×存儲字長
3.運算速度
周期T和頻率f
計算機系統時鐘就是一個典型的頻率相當精確和穩定的脈沖信號發生器
計算機中為什么要有系統時鐘?
計算機工作時,各個設備必須相互配合,但每個設備工作都有各自的工作速度(工作時鐘),為使整個系統能協調運行,就需要有統一的系統時鐘對各設備作同步,各設備的工作時鐘都基于系統時鐘產生。
CPU主頻和時鐘周期
時鐘——按一定電壓幅度和時間間隔連續發出的脈沖信號
公式
4.計算機性能評測方法
四、計算機的發展
匯編語言
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。