計算機分層模型:
最初階段:兩層
1.硬件層:邏輯電路:cpu、存儲器
2.軟件層:指令系統
第二階段:微程序設計 & RISC
1.微程序設計:三層 =》簡化控制器,可實現複雜指令
一條指令可分解爲多個微操作
微操作用微指令實現
多條微指令組成微程序實現指令
微程序存儲在ROM中,逐條讀出完成微操作、
2.RISC:兩層
二八定律:80%時間運行的是不到20%的簡單指令;80%的任務是不到20%的電路完成的
所以爲了提高性能
1.減少指令數量:一條複雜指令用多個簡單指令替代
2.取消微程序,指令功能用硬核實現
第三階段:操作系統出現
操作系統負責管理硬件資源和用戶作業,提供人機交互、多條用戶命令和多種子程序調用接口,極大簡化操作、管理的複雜性
第四階段:編程語言(目前)
編程語言發展:
1.與硬件關聯的機器指令:開關
2.基於符號的彙編、
3.面向過程的算法
4.面向對象的可視化編程語言
基於馮諾依曼架構的模型機:
cpu=運算器+控制器
存儲器
1.以CPU爲核心(現代逐漸以存儲器爲核心)
2.單總線系統:類似快慢車道不分,只有一條車道,所以慢
快:存儲器;慢:外設
3.指令和數據使用一條總線(馮諾依曼架構的主要缺陷)
模型機存儲器子系統
存儲器的組織和地址:
計算機可訪問最小存儲單元:字節
每個字節有獨一無二的地址
字節尋址存儲器:按照字節組織存儲器,連續地址對應連續字節單元
例如一個字有4字節,則連續字被給到n、n+4、n+8
每個字節一個地址
總線8位,存儲器也是8位,則cpu訪問存儲器時總線一次可以傳送一個字節數據
若總線寬度16/32/64位。cpu訪問存儲器時,希望一次可以傳送一個完整的字或一部分,存儲器應該如何連接,最大效率提高速度,不造成浪費
:分層
對準存放
一個字平分到各個存儲器,到時候一起出
1.八位沒有該問題
2.16位起始地址是2的倍數
3.32位起始地址是4的倍數
4.64位是8的倍數
對準存放不是必須的,但若是採用,存取一個字只需要一次總線操作
所以,有些計算機指令系統專門提供了對準存放指令
小端格式和大端格式
假設W由B3B2B1B0組成,B3最高字節,B0是最低字節,則存儲W需要四個連續
內存單元
從上往下四個地址:m,m+1,m+2,m+3,m最小是尾部,m+3最大是頭部
小端格式:高位高地址,B0123從上往下
大端格式:B3210從上往下
若採用對等存放,則m是整個字的地址
存儲器操作
讀入(read)和寫入(write)
讀:
將一個指定存儲單元的內容讀出並傳輸到cpu中,之後存儲單元的內容保持不變
過程:CPU發送地址信號和讀命令,被選中單元中的數據被讀出到DB上,CPU採樣數據並存入內部寄存器
寫:
cpu向指定單元傳輸數據,並覆蓋目的單元原有內容
過程:CPU通過AB,DB和CB分別發送地址、數據和寫命令,DB上的數據被寫入到選中單元
連續數據讀寫:只需要在第一次讀寫時發送地址
存儲器的分級:
對存儲器的要求:速度快、容量大、成本低
解決辦法:分級存儲結構
1.外存滿足大容量、低成本、非易失
2.DRAM
3.高速緩存:速度快