計算機(jī)結(jié)構(gòu)
- 計算機(jī)組成=中央處理器、存儲器(內(nèi)存)、輸入/輸出設(shè)備
- CPU 控制器 程序計數(shù)器峡捡、指令寄存器击碗、中斷機(jī)構(gòu)、時序部件
- CPU 運算器 進(jìn)行算數(shù)/邏輯運算们拙、算數(shù)邏輯單元ALU稍途、通用寄存器、數(shù)據(jù)總線
- 存儲器 內(nèi)存儲器 內(nèi)存/主存砚婆、存儲機(jī)器指令和數(shù)據(jù)
- 存儲器 外存儲器 外存/輔存械拍、存儲長期保存信息
- 輸入/輸出設(shè)備
計算機(jī)分類
指令流:機(jī)器執(zhí)行的指令序列(信號)
數(shù)據(jù)流:指令流調(diào)用的數(shù)據(jù)序列(數(shù)據(jù))
多倍性:系統(tǒng)部件上允許并行執(zhí)行的指令或者數(shù)據(jù)的最大可能數(shù)
類型 | 結(jié)構(gòu) | 特征 | 代表 |
---|---|---|---|
SISD 單指令流單數(shù)據(jù)流 | 控制部分:1 處理器:1 | 流水線方式的單處理器系統(tǒng) | |
SIMD 單指令流多數(shù)據(jù)流 | 控制部分:1 處理器:n | 多處理器異步執(zhí)行一條指令 | 并行/矩陣處理機(jī) |
MISD 多指令流單數(shù)據(jù)流 | 控制部分:n 處理器:1 | 理論上不可行 | |
MIMD 多指令流多數(shù)據(jù)流 | 控制部分:n 處理器:n | 指令/處理并行 | 多處理機(jī)系統(tǒng) |
多級存儲器體系
- 存儲器體系 = 寄存器、高速緩存Cache射沟、主存儲器殊者、磁盤、光盤验夯、磁帶
- 存儲器存儲方式
- 順序存取 線性順序猖吴,磁帶
- 隨機(jī)存儲 相同時間訪問任意存儲單元,主存儲器
- 直接存取 每個存儲塊都有地址標(biāo)識挥转、數(shù)組海蔽,磁盤存儲器
- 相聯(lián)存取 高速緩存cache
- 性能取決于: 存取時間、容量绑谣、數(shù)據(jù)傳輸率党窜、價格
主存儲器
-
RAM(隨機(jī)存取存儲器) 斷電后數(shù)據(jù)丟失,暫存數(shù)據(jù)
- SRAM(static ram) 靜態(tài)存儲器 容量小借宵,速度快幌衣,價格高 [cache]
- DRAM(dynamic ram) 動態(tài)存儲器 [主存儲器] 需要不停刷新電路
- ROM(只讀存儲器) 廠家固定好只讀,存放BIOS或者微程序
- PROM(可編程ROM) 可以修改一次
- EPROM(可擦除PROM) 可以多次寫
- flash memory(閃存) 可電擦除壤玫,基于地址的讀寫
- CAM(相聯(lián)存儲器) 基于數(shù)據(jù)內(nèi)容的讀寫豁护,速度快于基于地址的讀寫
輔存儲器
- 磁帶存儲器
-
磁盤存儲器
- 數(shù)據(jù)都是存放在 磁道 上,磁道是同心圓欲间,為了避免干擾楚里,磁道之間存在空隙,最外層磁道是0道
- 磁盤傳輸數(shù)據(jù)單位是塊(扇區(qū))猎贴,扇區(qū)之間也有空隙
- 柱面 是若干個磁盤疊加組成的磁盤組班缎,所有磁盤上同一個 磁道的剖面
- 磁盤格式化容量 = (n * t * s * b);n=總盤數(shù)她渴,t=每面盤的磁道數(shù)达址,s=每磁道的扇區(qū)數(shù),b=每扇區(qū)的存儲字節(jié)數(shù)
-
磁盤存儲時間 = 尋道時間 + 等待時間
- 尋道時間 是磁頭移動到對應(yīng)磁道的時間(固定磁頭則只需要耗費選擇磁道對應(yīng)的磁頭時間)
- 等待時間 是等待讀取的數(shù)據(jù)所在的扇區(qū)轉(zhuǎn)到磁頭下方的時間趁耗,一般去轉(zhuǎn)一圈的平均值
- 磁盤數(shù)據(jù)傳輸率 -> R = TB /T苏携;R=數(shù)據(jù)傳輸率,TB=磁道上記錄的字節(jié)數(shù)对粪,T=磁盤轉(zhuǎn)一圈耗時
-
RAID 廉價磁盤冗余陣列存儲器
- 分布式存放數(shù)據(jù)右冻,CPU可以并行的快速切換提高系統(tǒng)的IO
- 8級:
- RAID 0 無冗余無校驗(存儲利用率100%)
- RAID 1 鏡像實時備份50%存儲利用率
- RAID 5 無獨立校驗盤的奇偶校驗磁盤陣列装蓬,將校驗碼分布到所有磁盤上,存儲利用率(扣除校驗碼)
- RAID 10 性能好纱扭,但是擴(kuò)展性不好牍帚,50%存儲利用率
- 光盤存儲器 CD / CD-ROM / DVD-ROM
高速緩存Cache
- 原理:局部性原理,減少CPU->主存儲的消耗乳蛾,命中率一般在 90%-95%
- Cache里面分為指令cache和數(shù)據(jù)cache暗赶,指令的讀/寫時間會比數(shù)據(jù)的讀寫時間快。
- 例子:假設(shè)一臺機(jī)器主存讀寫是100ns肃叶。有一個Cache讀寫是10ns蹂随,讀指令命中率98%,讀數(shù)命中率95%因惭。執(zhí)行程序時岳锁,1/5指令需要讀一個操作數(shù),不考慮流水線阻塞蹦魔,問指令的平均讀取時間激率?
- (2% * 100ns + 98%*10ns) + 1/5(5% * 100ns + 95% * 10ns)=14.7ns [有1/5的指令還需要讀取一個操作數(shù), 每個請求都需要讀取指令]
- Cache 地址映射: 主存和cache均分成容量相等的塊(頁)
- 直接映射: 一個主存塊只能復(fù)制到一個指定的cache 位置上,會存在主存多個塊映射到同一個cache位置上
- 全相聯(lián)映射: 在cache 淘汰掉某一頁信息勿决,可以將主存任意頁中數(shù)據(jù)進(jìn)行映射乒躺,由于主存不能通過計算直接獲取 cache的映射,需要逐一對比低缩,丟失了cache的性能嘉冒,很少使用
- 組相聯(lián)映射:結(jié)合 直接映射 和 全相聯(lián)映射,在塊分組的概念上再按照每n塊分一組的概念咆繁,縮小全地址映射的范圍
1234E8F8H是十六進(jìn)制健爬,映射的二進(jìn)制是 0001 0010 0011 0100 1110 1000 1111 1000
- 淘汰算法
- 隨機(jī)淘汰、先進(jìn)先出(FIFO first in and first out)
- 最近最少使用(LRU least recently used) [命中率最高]
- Cache 與 主存數(shù)據(jù)一致性保證:
- 寫回(先寫cache 做標(biāo)識么介,當(dāng)被替換時才寫入主存)
- 直寫(既寫主存也寫cache)
- 標(biāo)記法 有效位1時讀取cache,為0時讀取主存
- 直接存儲器存取(DMA)技術(shù) 和 輸入輸出通道技術(shù)
- 現(xiàn)代存儲層次 cache(buffer)->主存(內(nèi)存)->輔存(硬盤)
-
cache 存儲器(由 硬件組成, 比主存快, 對程序員透明)
- 組成: 存儲體(指令/數(shù)據(jù)) + 標(biāo)記(在主存中的位置)
- Cache 類型
- 指令 cache 和 數(shù)據(jù) cache
- 多層次 cache(一級cache蜕衡、二級cache壤短、三級cache)
- 虛擬存儲器
- 主存-輔存的信息傳輸單位:段、頁慨仿、段頁
-
段式管理:
- 優(yōu)勢:段與程序分界相對應(yīng)久脯;便于共享;[堆棧镰吆、隊列]這類的段可以動態(tài)調(diào)整長度
- 劣勢:起點帘撰、終點難以分配;空間不好回收万皿,造成大量冗余碎片
-
頁式管理:
- 優(yōu)勢:傳輸定長頁摧找;起點核行、終點固定,分頁方便蹬耘、分配頁方便
- 劣勢:最后一頁有浪費芝雪、每一頁都不一定是邏輯獨立的,在共享综苔,保護(hù)惩系,處理都不方便
- 段頁式管理:程序按模塊分段,段內(nèi)分頁如筛,進(jìn)入主存按照頁為信息基本傳輸單位
- 直接尋址 和 間接尋址