計算機按照指令和數據流的分類:
(1)單指令單數據流:SISD,傳統馮諾依曼體系
(2)單指令多數據流:SIMD,
(3)多指令單數據流:這種計算機實際上不存在
(3)多指令多數據流:MIMD,編程
軟硬件邏輯上等效:
若是一個功能,既能用軟件實現,又能用硬件實現,則稱其爲軟硬件邏輯等效性能
高級語言-類天然語言 -> 虛擬機器M4
彙編語言-符號語言 -> 虛擬機器M3
----------------------------------
操做系統 - 虛擬機M2
(一開始計算機並無設計這一層,後來爲了把每次編程都須要用到的文件管理,內存管理等抽取出來而造成)
----------------------------------
機器語言-二進制 -> 實際機器M1
微指令系統 -> 微程序機器M0
【注】一條機器指令就是一條微程序,這條微程序是由多條微指令構成的,每一個微指令發送一個微命令進行一個微操做讓計算機前行。spa
計算機硬件基本組成:馮諾依曼機器
(1)運算器,控制器,存儲器,輸入輸出設備
(2)採用存儲程序的方式執行,數據用二進制形式表示
(3)指令由操做碼和地址碼組成
(4)指令在存儲器中按照執行順序存放,由PC致命要執行的指令的存儲單元。通常爲按順序遞增
(5)馮諾依曼機以運算器爲核心,而現代機器以存儲器爲核心(總線結構能看出來)操作系統
CPU:運算器ALU+控制器CU
主機:CPU+主存
硬件:外存
IO設備:輸入輸出設備設計
存儲器
(1)存儲器由多個小房間組成,一個小房間存儲8bit數據,也就是1byte
(2)\(2^{10}\)差生一個單位遞進
(3)MAR:存儲地址的寄存器
MDR:存儲數據的寄存器
(4)MAR的位數和MDR的位數能夠算出整個主存的大小。
MAR的位數給出了主存中有幾個小房間,而MDR的位數給出了每一個小房間的大小是多少。eg:MAR10位,MDR8位,則主存總共\(2^10 * 8bit\) 3. 控制器
(1)任務:按照必定順序逐條取指令,對指令譯碼,而後執行指令的操做
(2)控制器在一個取值週期到來後從內存讀取信息流(指令流),流向執行器
(3)執行器再週期的從內存中讀取信息流(數據流),流向運算器內存
計算機的全過程
(1)輸入程序和數據
(2)程序首地址放到pc
(3)啓動應用程序
(4)把PC寄存器的值放到MAR寄存器中
(5)按照MAR的地址從主存取得數據放到MDR
(6)此時取得的數據是指令,因此再把MDR的數據放到IR(指令寄存器)
(7)分析指令OP(IR):分解開操做數和操做碼,把IR的操做碼放到CU(控制碼)
(9)執行指令:把IR的操做數(須要操做的數的地址)部分拿出來放到mar,按照mar的地址去主存取數放到MDR,再把MDR的數據放到ACC(ALU中的累加器)
(10)最後執行PC+1放到PC
(11)打印結果
(12)卸載程序虛擬機