1.系統架構設計師-計算機組成與操作系統


一、分值分布

image

計算機組成與體系結構

image

Flynn體系結構分類

計算機系統結構的分類方法之一,1966年M.J.Flynn提出了如下定義:
指令流(Instruction Stream):機器執行的指令序列。
數據流(Data Stream):指令調用的數據序列,包括輸入數據和中間結果。
多倍性(Multiplicity):在系統最受限制的元件上同時處於同一執行階段指令或數據執行的最大可能個數。

image
image
SISD:早期的計算機都是SISD機器,如馮諾.依曼架構,如IBM PC機,早期的巨型機和許多8位的家用機等。
SIMD:我們用的單核計算機基本上都屬於SIMD機器。
MISD:只是作為理論模型出現,沒有投入到實際應用之中。
MIMD:機器可以同時執行多個指令流,這些指令流分別對不同數據流進行操作。最新的多核計算平台就屬於MIMD的范疇,例如Intel和AMD的雙核處理器等都屬於MIMD。

image

主要考點

陣列處理器(array processor)又稱為並行處理機、SIMD計算機。其核心是一個由多個處理單元構成的陣列,用單一的控制部件來控制多個處理單元對各自的數據進行相同的運算和操作。

CISC與RISC

image

層次化存儲結構

image

Cache命中率計算

image

局部性原理

image
時間局部性指的是,程序在運行時,最近剛剛被引用過的一個內存位置容易再次被引用,比如在調取一個函數的時候,前不久才調取過的本地參數容易再度被調取使用。
空間局部性指的是,最近引用過的內存位置以及其周邊的內存位置容易再次被使用。空間局部性比較常見於循環中,比如在一個數列中,如果第3個元素在上一個循環中使用,則本次循環中極有可能會使用第4個元素。

主存分類

image
ROM,只讀存儲器,(顧名思義,只是讀取調用,不能更改) 一旦儲存資料就無法再將之改變或刪除,也就是斷電之后不會丟失。
RAM,隨機存儲器,存儲單元的內容可按需隨意取出或存入, 斷電后數據就丟失。

主存的編址

編址的意思是把內存內存分成一個個塊,按字節編址的意思就是按每塊1B=8bit去分塊。
image
1.先計算有多少個內存地址,並轉換成10進制
(C7FFFH + 1) - AC000H = 1C000H = 12 * 16^3 + 1 * 16^4 = 28 * 16^3 = 7 * 2^2 * (24)3 = 7 * 2^14
在計算多少K,用冪運算計算才可以,硬算算不出來。
1K = 1024 = 2^10
7 * 2^14 / 2^10 = 7 * 2^4 = 112個。

2.內存地址編址(16bit) * 地址單元個數 = 內存容量總量 = 28 * 16K * 存儲單元位數

總結

地址單元個數 = 內存容量 / 內存編址方式(字節或字)
內存容量 = 內存編址(16bit) * 地址單元個數

例: 設有一個1MB容量的存儲器,字長32位,問:按字節編址,字編址的尋址范圍以及各自的尋址范圍大小?

1.如果按字節編址,則
1MB = 2^20B
1字節=1B=8bit
2^20B/1B = 2^20
地址范圍為0~(220)-1,也就是說需要二十根地址線才能完成對1MB空間的編碼,所以地址寄存器為20位,尋址范圍大小為220=1M

2.如果按字編址,則
1MB=2^20B
1字=32bit=4B
2^20B/4B = 2^18
地址范圍為0~218-1,也就是說我們至少要用18根地址線才能完成對1MB空間的編碼。因此按字編址的尋址范圍是218

也可以統一換成bit做運算
總容量1M = 2^20B = 2^20 * 8 bit
按字節編址
2^20 * 8 bit /8 bit
按字編址
2^20 * 8 bit /32 bit
按雙字編址
2^20 * 8 bit /32*2 bit
算出來是2^n次方,就需要n根地址線。

磁盤結構與參數

image

image
旋轉周期為33ms -> 讀取每個物理塊的時間為3ms
1.前十個為33+3,最后一個為3+3。
(33+3)10 + (3+3) = 366
2.(3+3)
11 = 66

系統配置與性能評價

性能指標

image

時鍾頻率f : 又稱主頻f,它是指CPU內部晶振的頻率,常用單位為MHz,它反映了CPU的基本工作節拍,例如3.0GHz主頻意思就是每秒晶振310001000*1000次。

時鍾周期t : t=1/f; 主頻的倒數,計算機中最小的時間單位,每次晶振所用的時間(3GHz主頻的時鍾周期就是1/3 000 000 000)。

機器周期 : m * t ; 也稱為CPU周期,一條指令的執行過程划分為若干個階段(如取指、譯碼、執行等),每一階段所需要的時間稱為機器周期,一個機器周期包含若干個(m個)時鍾周期,也是時間單位。

指令周期 :m * t * n 執行一條指令所需要的時間(取指、譯碼、執行等所有機器周期的總和),一般包含若干個(n個)機器周期,也是時間單位。

CPI :(clock per instruction)= m * n; 平均每條指令的平均時鍾周期個數。
指令周期 = CPI×時鍾周期 = n×m×時鍾周期 = n*m/主頻f, 注意指令周期單位是s或者ns

IPC:(instruction per clock) 表示每(時鍾)周期運行多少個指令.

MIPS = 每秒執行百萬條指令數 = 1/(CPI×時鍾周期×10的6次方)= 1/(指令周期×10的6次方) = 主頻/(CPI×10的6次方) = 頻率*IPC/10的6次方

MFLOPS 每秒百萬浮點運算次數。代表了CPU處理浮點運算的能力。與MIPS不能相互轉換

系統性能設計-阿姆達爾解決方案

image
image

性能評價方法

image
前三種只考慮CPU的運算能力,其中第三中考慮指令比例不同的問題。
PDR除了運算能力,還考慮數據存儲交互的問題,考慮CPU+存儲
CTP首先算出處理部件每個計算單元的有效計算率,再按不同字長加以調整,得出該計算單元的理論性能,所有組成該處理部件的計算單元的理論性能之和即為CTP。
基准程序法(即現在的跑分軟件): 把應用程序中用得最多、最頻繁的那部分核心程序作為評估計算機系統性能的標准程序,稱為基准測試程序(benchmark)。基准程序法是目前一致承認的測試系統性能的較好方法。 考慮了諸如IVO結構、操作系統、編譯程序的效率對系統性能的影響。
image

性能檢測方法

image

操作系統基本原理

進程管理

進程的狀態

image
五態模型新增了人為干預的掛起操作(例如聽歌時突然有語音,在接聽語音時人為掛起歌曲進程),運行、活躍就緒、活躍阻塞對應三態模型中的運行、就緒、等待。

前趨圖

precedence graph
image

進程的同步與互斥

進程同步是一個操作系統級別的概念,是在多道程序的環境下,存在着不同的制約關系,為了協調這種互相制約的關系,實現資源共享和進程協作,從而避免進程之間的沖突,引入了進程同步。同步的反義是異步。

進程互斥是一個進程正在訪問臨界資源,另一個要訪問該資源的進程必須等待。互斥的反義是共享。
image
消費者生產者問題
image
單緩沖區: 互斥:市場為互斥資源,只允許一個人去操作。同步:生產者放滿了市場后需要等待消費者把市場里面的商品消費掉,生產者才能繼續放入市場。

PV操作

image
信號量的值表示相應資源的使用情況。信號量S>=0時,S表示可用資源的數量。執行一次P操作意味着請求分配一個資源,因此S的值減1;當S<0時,表示已經沒有可用資源,S的絕對值表示當前等待該資源的進程數。
S大於0的確表示有臨界資源可供使用,也就是說這個時候沒有進程被阻塞在這個資源上,所以不需要喚醒。
image
S1:可生產數量信號量
S2:可消費數量信號量

PV操作與前趨圖

image

image

PV操作練習 - 非搶占式優先級調度算法

非搶占式: P操作<0時會阻塞,但是V操作喚醒后不會把CPU讓給其他線程依然繼續執行下去。
image

image

死鎖問題

進程管理是操作系統的核心,但如果設計不當,就會出現死鎖的問題。如果一個進程在等待一件不可能發生的事,則進程就死鎖了。而如果一個或多個進程產生死鎖,就會造成系統死鎖。
image

死鎖的預防與避免

image
死鎖條件:
互斥(互斥使用資源)、保持和等待(持有資源並等待剩下需要的資源)、不剝奪(不會剝奪已持有資源)、環路等待。
死鎖的預防: 打破四大條件
死鎖的避免:有序分配資源、銀行家算法

銀行家算法

image

存儲管理

頁式存儲組織

將程序分成多個大小相同的頁,只有最后一個頁會浪費少量空間,每次把需要的頁根據頁表查詢塊號(頁幀號)加載到對應的內存塊中去。

邏輯地址=頁號+頁內地址
物理地址=塊號+頁內地址
頁表:頁號 - 內存塊號(頁幀號)對應關系
image

段式存儲組織

將程序按邏輯結構(代碼結構,按函數去分段,一個函數一個段)去分成多個大小不同的段,內存利用率低,但是便於共享。
段表: 段號 - 段長 - 基址
image

段頁式存儲組織

先分段再分頁,浪費空間小,存儲共享容易。
image

快表

塊表是放在Cache中,慢表是放在內存中。
image

頁面淘汰算法

image
最優算法是在知道程序訪問頁面順序后,通過計算出什么時候淘汰什么頁面,但是事實是不知道頁面訪問順序,所以在實際應用中是沒有這種算法的,但是可以在事后作為准線用來判斷其他算法的優良。

抖動的意思是分配了更多的資源后反而效果下降的現象,比如FIFO在用3個頁面比用4個頁面缺頁率低。

FIFO抖動現象

image
用四個內存塊比用三個內存塊缺頁還多。

FIFO和LRU頁面置換算法對比

image

文件管理

索引文件結構

image
上圖中有13個索引結點(考試時默認13個結點),假設盤塊大小為4k,每個索引地址占4B,
直接索引:索引結點直接對應物理盤塊。上圖中有十個是直接索引,存儲的大小為4k*10=40k。
一級間接索引:10號盤塊有4k/4B=1024塊(n的大小),所以一級索引的存儲總和為4K * 1024。
二級間接索引:1024 * 1024 * 4K
三級間接索引:1024 * 1024 * 1024 * 4K

空閑存儲空間管理 - 位示圖法

image
位示圖法練習
image
第二空
image

設備管理

數據傳輸控制方式

image
程序控制方式:由cpu介入,沒有反饋,外設並不知道是否傳輸完成,只能由CPU去查詢是否傳輸完成。
程序中斷方式:主動性強,有中斷機制,外設完成數據的傳輸后會發一個中斷,系統就會做下一步處理。
DMA:直接存取控制方式,DMA控制器,外設和內存的數據交換由這個DMA控制器去完成。

微內核操作系統

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM